{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/containers/linear-layout/src/linear-layout.props.ts","../../../../../projects/components/widgets/containers/linear-layout/src/linear-layout.directive.ts","../../../../../projects/components/widgets/containers/linear-layout/src/linear-layout-item/linear-layout-item.props.ts","../../../../../projects/components/widgets/containers/linear-layout/src/linear-layout-item/linear-layout-item.directive.ts","../../../../../projects/components/widgets/containers/linear-layout/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n    register(\n        'wm-linearlayout',\n        new Map(\n            [\n                ['class', PROP_STRING],\n                ['direction', PROP_STRING],\n                ['horizontalalign', PROP_STRING],\n                ['name', PROP_STRING],\n                ['show', {value: true, ...PROP_BOOLEAN}],\n                ['spacing', PROP_STRING],\n                ['verticalalign', PROP_STRING],\n            ]\n        )\n    );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler, BaseContainerComponent } from '@wm/components/base';\n\nimport { registerProps } from './linear-layout.props';\n\nconst DEFAULT_CLS = 'app-linear-layout clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n    widgetType: 'wm-linearlayout',\n    hostClass: DEFAULT_CLS\n};\nconst hAlignValues = {\n    'left': 'flex-start',\n    'right': 'flex-end',\n    'center': 'center',\n},\nvAlignValues = {\n    'top': 'flex-start',\n    'bottom': 'flex-end',\n    'center': 'center',\n};\n\n@Directive({\n  standalone: true,\n    selector: '[wmLinearLayout]',\n    providers: [\n        provideAsWidgetRef(LinearLayoutDirective)\n    ]\n})\nexport class LinearLayoutDirective extends BaseContainerComponent {\n    static initializeProps = registerProps();\n\n    public direction;\n    public horizontalalign: string;\n    public verticalalign: string;\n\n    constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n        super(inj, WIDGET_CONFIG, explicitContext);\n\n        styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n    }\n\n    private removeClass($el, prefix) {\n        $el.removeClass((i, className) => {\n            return className.split(' ')\n            .filter(s => s.startsWith(prefix))\n            .join(' ');\n        });\n    }\n\n    private changeDirection($el, v) {\n        this.removeClass($el, 'app-linear-layout-direction');\n        $el.addClass('app-linear-layout-direction-' + v);\n        if (v === 'row' || v === 'row-reverse') {\n            $el.css('justify-content', hAlignValues[this.horizontalalign]);\n        } else if (v === 'column' || v === 'column-reverse') {\n            $el.css('justify-content', vAlignValues[this.verticalalign]);\n        }\n        $el.css('flex-direction', v);\n    }\n\n    protected onStyleChange(key: string, nv: any, ov?: any) {\n        if (key === 'horizontalalign') {\n            if (this.direction === 'row' || this.direction === 'row-reverse') {\n                this.$element.css('justify-content', hAlignValues[nv]);\n            } else {\n                this.$element.css('align-items', hAlignValues[nv]);\n            }\n        } else if (key === 'verticalalign') {\n            if (this.direction === 'column' || this.direction === 'column-reverse') {\n                this.$element.css('justify-content', vAlignValues[nv]);\n            } else {\n                this.$element.css('align-items', vAlignValues[nv]);\n            }\n        }\n        super.onStyleChange(key, nv, ov);\n    }\n\n    onPropertyChange(key: string, nv: any, ov?: any) {\n        switch (key) {\n            case 'direction':\n                this.changeDirection(this.$element, nv);\n            break;\n            case 'horizontalalign':\n                this.$element.css('justify-content', hAlignValues[nv]);\n            break;\n            case 'verticalalign':\n                this.$element.css('justify-content', vAlignValues[nv]);\n            break;\n            case 'spacing':\n                this.removeClass(this.$element, 'app-linear-layout-spacing');\n                this.$element.addClass('app-linear-layout-spacing-' + nv);\n            break;\n        }\n        super.onPropertyChange(key, nv, ov);\n    }\n}\n","import { PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n    register(\n        'wm-linearlayoutitem',\n        new Map(\n            [\n                ['class', PROP_STRING],\n                ['flexgrow', PROP_NUMBER],\n                ['name', PROP_STRING],\n                ['show', {value: true, ...PROP_BOOLEAN}]\n            ]\n        )\n    );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './linear-layout-item.props';\n\nconst DEFAULT_CLS = 'app-linear-layout-item clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n    widgetType: 'wm-linearlayoutitem',\n    hostClass: DEFAULT_CLS\n};\n\n@Directive({\n  standalone: true,\n    selector: '[wmLinearLayoutItem]',\n    providers: [\n        provideAsWidgetRef(LinearLayoutItemDirective)\n    ]\n})\nexport class LinearLayoutItemDirective extends StylableComponent {\n    static initializeProps = registerProps();\n    constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n        super(inj, WIDGET_CONFIG, explicitContext);\n\n        styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n    }\n\n    onPropertyChange(key: string, nv: any, ov?: any) {\n        switch (key) {\n            case 'flexgrow':\n                this.$element.css('flex-grow', nv);\n            break;\n        }\n        super.onPropertyChange(key, nv, ov);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":";;;;AAEO,MAAMA,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,iBAAiB,EACjB,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,iBAAiB,EAAE,WAAW,CAAC;QAChC,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,eAAe,EAAE,WAAW,CAAC;AACjC,KAAA,CACJ,CACJ;AACL,CAAC;;ACXD,MAAMC,aAAW,GAAG,4BAA4B;AAChD,MAAMC,eAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,SAAS,EAAED;CACd;AACD,MAAM,YAAY,GAAG;AACjB,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,QAAQ,EAAE,QAAQ;AACrB,CAAA,EACD,YAAY,GAAG;AACX,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,QAAQ,EAAE,QAAQ;CACrB;AASK,MAAO,qBAAsB,SAAQ,sBAAsB,CAAA;AACtD,IAAA,SAAA,IAAA,CAAA,eAAe,GAAGD,eAAa,EAAhB,CAAmB;IAMzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAEE,eAAa,EAAE,eAAe,CAAC;QAE1C,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IACjE;IAEQ,WAAW,CAAC,GAAG,EAAE,MAAM,EAAA;QAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,KAAI;AAC7B,YAAA,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG;iBACzB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;iBAChC,IAAI,CAAC,GAAG,CAAC;AACd,QAAA,CAAC,CAAC;IACN;IAEQ,eAAe,CAAC,GAAG,EAAE,CAAC,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,6BAA6B,CAAC;AACpD,QAAA,GAAG,CAAC,QAAQ,CAAC,8BAA8B,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,aAAa,EAAE;AACpC,YAAA,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClE;aAAO,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,gBAAgB,EAAE;AACjD,YAAA,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE;AACA,QAAA,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChC;AAEU,IAAA,aAAa,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;AAClD,QAAA,IAAI,GAAG,KAAK,iBAAiB,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,EAAE;AAC9D,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1D;iBAAO;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YACtD;QACJ;AAAO,aAAA,IAAI,GAAG,KAAK,eAAe,EAAE;AAChC,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,gBAAgB,EAAE;AACpE,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1D;iBAAO;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YACtD;QACJ;QACA,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACpC;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;QAC3C,QAAQ,GAAG;AACP,YAAA,KAAK,WAAW;gBACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC3C;AACA,YAAA,KAAK,iBAAiB;AAClB,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC1D;AACA,YAAA,KAAK,eAAe;AAChB,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC1D;AACA,YAAA,KAAK,SAAS;gBACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,4BAA4B,GAAG,EAAE,CAAC;gBAC7D;;QAEJ,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACvC;AAlES,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,0CAOK,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAP5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAJnB;YACP,kBAAkB,CAAC,qBAAqB;AAC3C,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE;AACP,wBAAA,kBAAkB,CAAA,qBAAA;AACrB;AACJ,iBAAA;;0BAQ+B,MAAM;2BAAC,kBAAkB;;0BAAG;;;AClCrD,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,qBAAqB,EACrB,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC;AAC1C,KAAA,CACJ,CACJ;AACL,CAAC;;ACRD,MAAM,WAAW,GAAG,iCAAiC;AACrD,MAAM,aAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,SAAS,EAAE;CACd;AASK,MAAO,yBAA0B,SAAQ,iBAAiB,CAAA;AACrD,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;IACzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;QAE1C,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IACjE;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;QAC3C,QAAQ,GAAG;AACP,YAAA,KAAK,UAAU;gBACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtC;;QAEJ,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACvC;AAfS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,0CAEC,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAF5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAJvB;YACP,kBAAkB,CAAC,yBAAyB;AAC/C,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE;AACP,wBAAA,kBAAkB,CAAA,yBAAA;AACrB;AACJ,iBAAA;;0BAG+B,MAAM;2BAAC,kBAAkB;;0BAAG;;;ACrB5D;;AAEG;;;;"}