UNPKG

@ngbracket/ngx-layout

Version:
1 lines 235 kB
{"version":3,"file":"ngbracket-ngx-layout-flex.mjs","sources":["../tmp-esm2022/flex/flex-align/flex-align.js","../tmp-esm2022/flex/flex-fill/flex-fill.js","../tmp-esm2022/flex/flex-offset/flex-offset.js","../tmp-esm2022/flex/flex-order/flex-order.js","../tmp-esm2022/flex/flex/flex.js","../tmp-esm2022/flex/layout-align/layout-align.js","../tmp-esm2022/flex/layout-gap/layout-gap.js","../tmp-esm2022/flex/layout/layout.js","../tmp-esm2022/flex/module.js","../tmp-esm2022/flex/ngbracket-ngx-layout-flex.js"],"sourcesContent":["import { Directive, ElementRef, Injectable } from '@angular/core';\nimport { BaseDirective2, MediaMarshaller, StyleBuilder, StyleUtils, } from '@ngbracket/ngx-layout/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngbracket/ngx-layout/core\";\nexport class FlexAlignStyleBuilder extends StyleBuilder {\n buildStyles(input) {\n input = input || 'stretch';\n const styles = {};\n // Cross-axis\n switch (input) {\n case 'start':\n styles['align-self'] = 'flex-start';\n break;\n case 'end':\n styles['align-self'] = 'flex-end';\n break;\n default:\n styles['align-self'] = input;\n break;\n }\n return styles;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexAlignStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexAlignStyleBuilder, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexAlignStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nconst inputs = [\n 'fxFlexAlign',\n 'fxFlexAlign.xs',\n 'fxFlexAlign.sm',\n 'fxFlexAlign.md',\n 'fxFlexAlign.lg',\n 'fxFlexAlign.xl',\n 'fxFlexAlign.lt-sm',\n 'fxFlexAlign.lt-md',\n 'fxFlexAlign.lt-lg',\n 'fxFlexAlign.lt-xl',\n 'fxFlexAlign.gt-xs',\n 'fxFlexAlign.gt-sm',\n 'fxFlexAlign.gt-md',\n 'fxFlexAlign.gt-lg',\n];\nconst selector = `\n [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md],\n [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md],\n [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm],\n [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]\n`;\n/**\n * 'flex-align' flexbox styling directive\n * Allows element-specific overrides for cross-axis alignments in a layout container\n * @see https://css-tricks.com/almanac/properties/a/align-self/\n */\nexport class FlexAlignDirective extends BaseDirective2 {\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'flex-align';\n this.inputs = inputs;\n this.styleCache = flexAlignCache;\n this.init();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexAlignDirective, deps: [{ token: i0.ElementRef }, { token: i1.StyleUtils }, { token: FlexAlignStyleBuilder }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.2\", type: FlexAlignDirective, isStandalone: true, selector: \"\\n [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md],\\n [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md],\\n [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm],\\n [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]\\n\", inputs: { fxFlexAlign: \"fxFlexAlign\", \"fxFlexAlign.xs\": \"fxFlexAlign.xs\", \"fxFlexAlign.sm\": \"fxFlexAlign.sm\", \"fxFlexAlign.md\": \"fxFlexAlign.md\", \"fxFlexAlign.lg\": \"fxFlexAlign.lg\", \"fxFlexAlign.xl\": \"fxFlexAlign.xl\", \"fxFlexAlign.lt-sm\": \"fxFlexAlign.lt-sm\", \"fxFlexAlign.lt-md\": \"fxFlexAlign.lt-md\", \"fxFlexAlign.lt-lg\": \"fxFlexAlign.lt-lg\", \"fxFlexAlign.lt-xl\": \"fxFlexAlign.lt-xl\", \"fxFlexAlign.gt-xs\": \"fxFlexAlign.gt-xs\", \"fxFlexAlign.gt-sm\": \"fxFlexAlign.gt-sm\", \"fxFlexAlign.gt-md\": \"fxFlexAlign.gt-md\", \"fxFlexAlign.gt-lg\": \"fxFlexAlign.gt-lg\" }, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexAlignDirective, decorators: [{\n type: Directive,\n args: [{ inputs, selector }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.StyleUtils }, { type: FlexAlignStyleBuilder }, { type: i1.MediaMarshaller }] });\nconst flexAlignCache = new Map();\n/**\n * @deprecated The DefaultFlexAlignDirective will be removed in version 21.\n * Use FlexAlignDirective directly instead.\n */\nexport class DefaultFlexAlignDirective extends FlexAlignDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: DefaultFlexAlignDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.2\", type: DefaultFlexAlignDirective, isStandalone: true, selector: \"\\n [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md],\\n [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md],\\n [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm],\\n [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]\\n\", inputs: { fxFlexAlign: \"fxFlexAlign\", \"fxFlexAlign.xs\": \"fxFlexAlign.xs\", \"fxFlexAlign.sm\": \"fxFlexAlign.sm\", \"fxFlexAlign.md\": \"fxFlexAlign.md\", \"fxFlexAlign.lg\": \"fxFlexAlign.lg\", \"fxFlexAlign.xl\": \"fxFlexAlign.xl\", \"fxFlexAlign.lt-sm\": \"fxFlexAlign.lt-sm\", \"fxFlexAlign.lt-md\": \"fxFlexAlign.lt-md\", \"fxFlexAlign.lt-lg\": \"fxFlexAlign.lt-lg\", \"fxFlexAlign.lt-xl\": \"fxFlexAlign.lt-xl\", \"fxFlexAlign.gt-xs\": \"fxFlexAlign.gt-xs\", \"fxFlexAlign.gt-sm\": \"fxFlexAlign.gt-sm\", \"fxFlexAlign.gt-md\": \"fxFlexAlign.gt-md\", \"fxFlexAlign.gt-lg\": \"fxFlexAlign.gt-lg\" }, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: DefaultFlexAlignDirective, decorators: [{\n type: Directive,\n args: [{ selector, inputs }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1hbGlnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYnMvZmxleC1sYXlvdXQvZmxleC9mbGV4LWFsaWduL2ZsZXgtYWxpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksRUFFWixVQUFVLEdBQ1gsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBR3BDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZO0lBQ3JELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLEtBQUssR0FBRyxLQUFLLElBQUksU0FBUyxDQUFDO1FBQzNCLE1BQU0sTUFBTSxHQUFvQixFQUFFLENBQUM7UUFFbkMsYUFBYTtRQUNiLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFDZCxLQUFLLE9BQU87Z0JBQ1YsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLFlBQVksQ0FBQztnQkFDcEMsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDO2dCQUNsQyxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDN0IsTUFBTTtRQUNWLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQW5CVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQURSLE1BQU07OzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQXVCbEMsTUFBTSxNQUFNLEdBQUc7SUFDYixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0NBQ3BCLENBQUM7QUFDRixNQUFNLFFBQVEsR0FBRzs7Ozs7Q0FLaEIsQ0FBQztBQUVGOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztJQUlwRCxZQUNFLEtBQWlCLEVBQ2pCLFVBQXNCLEVBQ3RCLFlBQW1DLEVBQ25DLE9BQXdCO1FBRXhCLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQVQvQixrQkFBYSxHQUFHLFlBQVksQ0FBQztRQUM3QixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBWWhCLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFIN0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs4R0FaVSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7O0FBa0IvQixNQUFNLGNBQWMsR0FBaUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUUvRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsa0JBQWtCO0lBRGpFOztRQUVxQixXQUFNLEdBQUcsTUFBTSxDQUFDO0tBQ3BDOzhHQUZZLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZURpcmVjdGl2ZTIsXG4gIE1lZGlhTWFyc2hhbGxlcixcbiAgU3R5bGVCdWlsZGVyLFxuICBTdHlsZURlZmluaXRpb24sXG4gIFN0eWxlVXRpbHMsXG59IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9jb3JlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGbGV4QWxpZ25TdHlsZUJ1aWxkZXIgZXh0ZW5kcyBTdHlsZUJ1aWxkZXIge1xuICBidWlsZFN0eWxlcyhpbnB1dDogc3RyaW5nKSB7XG4gICAgaW5wdXQgPSBpbnB1dCB8fCAnc3RyZXRjaCc7XG4gICAgY29uc3Qgc3R5bGVzOiBTdHlsZURlZmluaXRpb24gPSB7fTtcblxuICAgIC8vIENyb3NzLWF4aXNcbiAgICBzd2l0Y2ggKGlucHV0KSB7XG4gICAgICBjYXNlICdzdGFydCc6XG4gICAgICAgIHN0eWxlc1snYWxpZ24tc2VsZiddID0gJ2ZsZXgtc3RhcnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgIHN0eWxlc1snYWxpZ24tc2VsZiddID0gJ2ZsZXgtZW5kJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBzdHlsZXNbJ2FsaWduLXNlbGYnXSA9IGlucHV0O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG59XG5cbmNvbnN0IGlucHV0cyA9IFtcbiAgJ2Z4RmxleEFsaWduJyxcbiAgJ2Z4RmxleEFsaWduLnhzJyxcbiAgJ2Z4RmxleEFsaWduLnNtJyxcbiAgJ2Z4RmxleEFsaWduLm1kJyxcbiAgJ2Z4RmxleEFsaWduLmxnJyxcbiAgJ2Z4RmxleEFsaWduLnhsJyxcbiAgJ2Z4RmxleEFsaWduLmx0LXNtJyxcbiAgJ2Z4RmxleEFsaWduLmx0LW1kJyxcbiAgJ2Z4RmxleEFsaWduLmx0LWxnJyxcbiAgJ2Z4RmxleEFsaWduLmx0LXhsJyxcbiAgJ2Z4RmxleEFsaWduLmd0LXhzJyxcbiAgJ2Z4RmxleEFsaWduLmd0LXNtJyxcbiAgJ2Z4RmxleEFsaWduLmd0LW1kJyxcbiAgJ2Z4RmxleEFsaWduLmd0LWxnJyxcbl07XG5jb25zdCBzZWxlY3RvciA9IGBcbiAgW2Z4RmxleEFsaWduXSwgW2Z4RmxleEFsaWduLnhzXSwgW2Z4RmxleEFsaWduLnNtXSwgW2Z4RmxleEFsaWduLm1kXSxcbiAgW2Z4RmxleEFsaWduLmxnXSwgW2Z4RmxleEFsaWduLnhsXSwgW2Z4RmxleEFsaWduLmx0LXNtXSwgW2Z4RmxleEFsaWduLmx0LW1kXSxcbiAgW2Z4RmxleEFsaWduLmx0LWxnXSwgW2Z4RmxleEFsaWduLmx0LXhsXSwgW2Z4RmxleEFsaWduLmd0LXhzXSwgW2Z4RmxleEFsaWduLmd0LXNtXSxcbiAgW2Z4RmxleEFsaWduLmd0LW1kXSwgW2Z4RmxleEFsaWduLmd0LWxnXVxuYDtcblxuLyoqXG4gKiAnZmxleC1hbGlnbicgZmxleGJveCBzdHlsaW5nIGRpcmVjdGl2ZVxuICogQWxsb3dzIGVsZW1lbnQtc3BlY2lmaWMgb3ZlcnJpZGVzIGZvciBjcm9zcy1heGlzIGFsaWdubWVudHMgaW4gYSBsYXlvdXQgY29udGFpbmVyXG4gKiBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL2EvYWxpZ24tc2VsZi9cbiAqL1xuQERpcmVjdGl2ZSh7IGlucHV0cywgc2VsZWN0b3IgfSlcbmV4cG9ydCBjbGFzcyBGbGV4QWxpZ25EaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlMiB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBESVJFQ1RJVkVfS0VZID0gJ2ZsZXgtYWxpZ24nO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW5wdXRzID0gaW5wdXRzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHN0eWxlVXRpbHM6IFN0eWxlVXRpbHMsXG4gICAgc3R5bGVCdWlsZGVyOiBGbGV4QWxpZ25TdHlsZUJ1aWxkZXIsXG4gICAgbWFyc2hhbDogTWVkaWFNYXJzaGFsbGVyLFxuICApIHtcbiAgICBzdXBlcihlbFJlZiwgc3R5bGVCdWlsZGVyLCBzdHlsZVV0aWxzLCBtYXJzaGFsKTtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzdHlsZUNhY2hlID0gZmxleEFsaWduQ2FjaGU7XG59XG5cbmNvbnN0IGZsZXhBbGlnbkNhY2hlOiBNYXA8c3RyaW5nLCBTdHlsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoZSBEZWZhdWx0RmxleEFsaWduRGlyZWN0aXZlIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDIxLlxuICogVXNlIEZsZXhBbGlnbkRpcmVjdGl2ZSBkaXJlY3RseSBpbnN0ZWFkLlxuICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3IsIGlucHV0cyB9KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRGbGV4QWxpZ25EaXJlY3RpdmUgZXh0ZW5kcyBGbGV4QWxpZ25EaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW5wdXRzID0gaW5wdXRzO1xufVxuIl19","import { Directive, ElementRef, Injectable } from '@angular/core';\nimport { BaseDirective2, MediaMarshaller, StyleBuilder, StyleUtils, } from '@ngbracket/ngx-layout/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngbracket/ngx-layout/core\";\nconst FLEX_FILL_CSS = {\n margin: 0,\n width: '100%',\n height: '100%',\n 'min-width': '100%',\n 'min-height': '100%',\n};\nexport class FlexFillStyleBuilder extends StyleBuilder {\n buildStyles(_input) {\n return FLEX_FILL_CSS;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexFillStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexFillStyleBuilder, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexFillStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n/**\n * 'fxFill' flexbox styling directive\n * Maximizes width and height of element in a layout container\n *\n * NOTE: fxFill is NOT responsive API!!\n */\nexport class FlexFillDirective extends BaseDirective2 {\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.styleCache = flexFillCache;\n this.addStyles('');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexFillDirective, deps: [{ token: i0.ElementRef }, { token: i1.StyleUtils }, { token: FlexFillStyleBuilder }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.2\", type: FlexFillDirective, isStandalone: true, selector: \"[fxFill], [fxFlexFill]\", usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexFillDirective, decorators: [{\n type: Directive,\n args: [{\n selector: `[fxFill], [fxFlexFill]`,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.StyleUtils }, { type: FlexFillStyleBuilder }, { type: i1.MediaMarshaller }] });\nconst flexFillCache = new Map();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1maWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlicy9mbGV4LWxheW91dC9mbGV4L2ZsZXgtZmlsbC9mbGV4LWZpbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksRUFFWixVQUFVLEdBQ1gsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRXBDLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFQUFFLE1BQU07SUFDYixNQUFNLEVBQUUsTUFBTTtJQUNkLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxNQUFNO0NBQ3JCLENBQUM7QUFHRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsWUFBWTtJQUNwRCxXQUFXLENBQUMsTUFBYztRQUN4QixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOzhHQUhVLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7MkZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBT2xDOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFDbkQsWUFDRSxLQUFpQixFQUNqQixVQUFzQixFQUN0QixZQUFrQyxFQUNsQyxPQUF3QjtRQUV4QixLQUFLLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFJL0IsZUFBVSxHQUFHLGFBQWEsQ0FBQztRQUg1QyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7OEdBVFUsaUJBQWlCO2tHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7O0FBZUQsTUFBTSxhQUFhLEdBQWlDLElBQUksR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VEaXJlY3RpdmUyLFxuICBNZWRpYU1hcnNoYWxsZXIsXG4gIFN0eWxlQnVpbGRlcixcbiAgU3R5bGVEZWZpbml0aW9uLFxuICBTdHlsZVV0aWxzLFxufSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQvY29yZSc7XG5cbmNvbnN0IEZMRVhfRklMTF9DU1MgPSB7XG4gIG1hcmdpbjogMCxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgaGVpZ2h0OiAnMTAwJScsXG4gICdtaW4td2lkdGgnOiAnMTAwJScsXG4gICdtaW4taGVpZ2h0JzogJzEwMCUnLFxufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGbGV4RmlsbFN0eWxlQnVpbGRlciBleHRlbmRzIFN0eWxlQnVpbGRlciB7XG4gIGJ1aWxkU3R5bGVzKF9pbnB1dDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIEZMRVhfRklMTF9DU1M7XG4gIH1cbn1cblxuLyoqXG4gKiAnZnhGaWxsJyBmbGV4Ym94IHN0eWxpbmcgZGlyZWN0aXZlXG4gKiAgTWF4aW1pemVzIHdpZHRoIGFuZCBoZWlnaHQgb2YgZWxlbWVudCBpbiBhIGxheW91dCBjb250YWluZXJcbiAqXG4gKiAgTk9URTogZnhGaWxsIGlzIE5PVCByZXNwb25zaXZlIEFQSSEhXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogYFtmeEZpbGxdLCBbZnhGbGV4RmlsbF1gLFxufSlcbmV4cG9ydCBjbGFzcyBGbGV4RmlsbERpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgc3R5bGVVdGlsczogU3R5bGVVdGlscyxcbiAgICBzdHlsZUJ1aWxkZXI6IEZsZXhGaWxsU3R5bGVCdWlsZGVyLFxuICAgIG1hcnNoYWw6IE1lZGlhTWFyc2hhbGxlcixcbiAgKSB7XG4gICAgc3VwZXIoZWxSZWYsIHN0eWxlQnVpbGRlciwgc3R5bGVVdGlscywgbWFyc2hhbCk7XG4gICAgdGhpcy5hZGRTdHlsZXMoJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHN0eWxlQ2FjaGUgPSBmbGV4RmlsbENhY2hlO1xufVxuXG5jb25zdCBmbGV4RmlsbENhY2hlOiBNYXA8c3RyaW5nLCBTdHlsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuIl19","import { Directionality } from '@angular/cdk/bidi';\nimport { Directive, ElementRef, Inject, Injectable, } from '@angular/core';\nimport { isFlowHorizontal } from '@ngbracket/ngx-layout/_private-utils';\nimport { BaseDirective2, LAYOUT_CONFIG, MediaMarshaller, StyleBuilder, StyleUtils, ɵmultiply as multiply, } from '@ngbracket/ngx-layout/core';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/bidi\";\nimport * as i2 from \"@ngbracket/ngx-layout/core\";\nexport class FlexOffsetStyleBuilder extends StyleBuilder {\n constructor(_config) {\n super();\n this._config = _config;\n }\n buildStyles(offset, parent) {\n offset ||= '0';\n offset = multiply(offset, this._config.multiplier);\n const isPercent = String(offset).indexOf('%') > -1;\n const isPx = String(offset).indexOf('px') > -1;\n if (!isPx && !isPercent && !isNaN(+offset)) {\n offset = `${offset}%`;\n }\n const horizontalLayoutKey = parent.isRtl ? 'margin-right' : 'margin-left';\n const styles = isFlowHorizontal(parent.layout)\n ? { [horizontalLayoutKey]: offset }\n : { 'margin-top': offset };\n return styles;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOffsetStyleBuilder, deps: [{ token: LAYOUT_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOffsetStyleBuilder, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOffsetStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: [LAYOUT_CONFIG]\n }] }] });\nconst inputs = [\n 'fxFlexOffset',\n 'fxFlexOffset.xs',\n 'fxFlexOffset.sm',\n 'fxFlexOffset.md',\n 'fxFlexOffset.lg',\n 'fxFlexOffset.xl',\n 'fxFlexOffset.lt-sm',\n 'fxFlexOffset.lt-md',\n 'fxFlexOffset.lt-lg',\n 'fxFlexOffset.lt-xl',\n 'fxFlexOffset.gt-xs',\n 'fxFlexOffset.gt-sm',\n 'fxFlexOffset.gt-md',\n 'fxFlexOffset.gt-lg',\n];\nconst selector = `\n [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md],\n [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md],\n [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm],\n [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]\n`;\n/**\n * 'flex-offset' flexbox styling directive\n * Configures the 'margin-left' of the element in a layout container\n */\nexport class FlexOffsetDirective extends BaseDirective2 {\n constructor(elRef, directionality, styleBuilder, marshal, styler) {\n super(elRef, styleBuilder, styler, marshal);\n this.directionality = directionality;\n this.DIRECTIVE_KEY = 'flex-offset';\n this.inputs = inputs;\n this.init([this.directionality.change]);\n // Parent DOM `layout-gap` with affect the nested child with `flex-offset`\n if (this.parentElement) {\n this.marshal\n .trackValue(this.parentElement, 'layout-gap')\n .pipe(takeUntil(this.destroySubject))\n .subscribe(this.triggerUpdate.bind(this));\n }\n }\n // *********************************************\n // Protected methods\n // *********************************************\n /**\n * Using the current fxFlexOffset value, update the inline CSS\n * NOTE: this will assign `margin-left` if the parent flex-direction == 'row',\n * otherwise `margin-top` is used for the offset.\n */\n updateWithValue(value = '') {\n // The flex-direction of this element's flex container. Defaults to 'row'.\n const layout = this.getFlexFlowDirection(this.parentElement, true);\n const isRtl = this.directionality.value === 'rtl';\n if (layout === 'row' && isRtl) {\n this.styleCache = flexOffsetCacheRowRtl;\n }\n else if (layout === 'row' && !isRtl) {\n this.styleCache = flexOffsetCacheRowLtr;\n }\n else if (layout === 'column' && isRtl) {\n this.styleCache = flexOffsetCacheColumnRtl;\n }\n else if (layout === 'column' && !isRtl) {\n this.styleCache = flexOffsetCacheColumnLtr;\n }\n this.addStyles(value + '', { layout, isRtl });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOffsetDirective, deps: [{ token: i0.ElementRef }, { token: i1.Directionality }, { token: FlexOffsetStyleBuilder }, { token: i2.MediaMarshaller }, { token: i2.StyleUtils }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.2\", type: FlexOffsetDirective, isStandalone: true, selector: \"\\n [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md],\\n [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md],\\n [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm],\\n [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]\\n\", inputs: { fxFlexOffset: \"fxFlexOffset\", \"fxFlexOffset.xs\": \"fxFlexOffset.xs\", \"fxFlexOffset.sm\": \"fxFlexOffset.sm\", \"fxFlexOffset.md\": \"fxFlexOffset.md\", \"fxFlexOffset.lg\": \"fxFlexOffset.lg\", \"fxFlexOffset.xl\": \"fxFlexOffset.xl\", \"fxFlexOffset.lt-sm\": \"fxFlexOffset.lt-sm\", \"fxFlexOffset.lt-md\": \"fxFlexOffset.lt-md\", \"fxFlexOffset.lt-lg\": \"fxFlexOffset.lt-lg\", \"fxFlexOffset.lt-xl\": \"fxFlexOffset.lt-xl\", \"fxFlexOffset.gt-xs\": \"fxFlexOffset.gt-xs\", \"fxFlexOffset.gt-sm\": \"fxFlexOffset.gt-sm\", \"fxFlexOffset.gt-md\": \"fxFlexOffset.gt-md\", \"fxFlexOffset.gt-lg\": \"fxFlexOffset.gt-lg\" }, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOffsetDirective, decorators: [{\n type: Directive,\n args: [{ inputs, selector }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Directionality }, { type: FlexOffsetStyleBuilder }, { type: i2.MediaMarshaller }, { type: i2.StyleUtils }] });\n/**\n * @deprecated The DefaultFlexOffsetDirective will be removed in version 21.\n * Use FlexOffsetDirective directly instead.\n */\nexport class DefaultFlexOffsetDirective extends FlexOffsetDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: DefaultFlexOffsetDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.2\", type: DefaultFlexOffsetDirective, isStandalone: true, selector: \"\\n [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md],\\n [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md],\\n [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm],\\n [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]\\n\", inputs: { fxFlexOffset: \"fxFlexOffset\", \"fxFlexOffset.xs\": \"fxFlexOffset.xs\", \"fxFlexOffset.sm\": \"fxFlexOffset.sm\", \"fxFlexOffset.md\": \"fxFlexOffset.md\", \"fxFlexOffset.lg\": \"fxFlexOffset.lg\", \"fxFlexOffset.xl\": \"fxFlexOffset.xl\", \"fxFlexOffset.lt-sm\": \"fxFlexOffset.lt-sm\", \"fxFlexOffset.lt-md\": \"fxFlexOffset.lt-md\", \"fxFlexOffset.lt-lg\": \"fxFlexOffset.lt-lg\", \"fxFlexOffset.lt-xl\": \"fxFlexOffset.lt-xl\", \"fxFlexOffset.gt-xs\": \"fxFlexOffset.gt-xs\", \"fxFlexOffset.gt-sm\": \"fxFlexOffset.gt-sm\", \"fxFlexOffset.gt-md\": \"fxFlexOffset.gt-md\", \"fxFlexOffset.gt-lg\": \"fxFlexOffset.gt-lg\" }, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: DefaultFlexOffsetDirective, decorators: [{\n type: Directive,\n args: [{ selector, inputs }]\n }] });\nconst flexOffsetCacheRowRtl = new Map();\nconst flexOffsetCacheColumnRtl = new Map();\nconst flexOffsetCacheRowLtr = new Map();\nconst flexOffsetCacheColumnLtr = new Map();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1vZmZzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWJzL2ZsZXgtbGF5b3V0L2ZsZXgvZmxleC1vZmZzZXQvZmxleC1vZmZzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixVQUFVLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBRWIsZUFBZSxFQUNmLFlBQVksRUFFWixVQUFVLEVBQ1YsU0FBUyxJQUFJLFFBQVEsR0FDdEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRM0MsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFlBQVk7SUFDdEQsWUFBMkMsT0FBNEI7UUFDckUsS0FBSyxFQUFFLENBQUM7UUFEaUMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7SUFFdkUsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsTUFBd0I7UUFDbEQsTUFBTSxLQUFLLEdBQUcsQ0FBQztRQUNmLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJ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QUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQztRQUM3QyxDQUFDO2FBQU0sSUFBSSxNQUFNLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0E3Q1UsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFOztBQWlEL0I7OztHQUdHO0FBRUgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQURuRTs7UUFFcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQztLQUNwQzs4R0FGWSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFEdEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7O0FBSy9CLE1BQU0scUJBQXFCLEdBQWlDLElBQUksR0FBRyxFQUFFLENBQUM7QUFDdEUsTUFBTSx3QkFBd0IsR0FBaUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUN6RSxNQUFNLHFCQUFxQixHQUFpQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQWlDLElBQUksR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNGbG93SG9yaXpvbnRhbCB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9fcHJpdmF0ZS11dGlscyc7XG5pbXBvcnQge1xuICBCYXNlRGlyZWN0aXZlMixcbiAgTEFZT1VUX0NPTkZJRyxcbiAgTGF5b3V0Q29uZmlnT3B0aW9ucyxcbiAgTWVkaWFNYXJzaGFsbGVyLFxuICBTdHlsZUJ1aWxkZXIsXG4gIFN0eWxlRGVmaW5pdGlvbixcbiAgU3R5bGVVdGlscyxcbiAgybVtdWx0aXBseSBhcyBtdWx0aXBseSxcbn0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsZXhPZmZzZXRQYXJlbnQge1xuICBsYXlvdXQ6IHN0cmluZztcbiAgaXNSdGw6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmxleE9mZnNldFN0eWxlQnVpbGRlciBleHRlbmRzIFN0eWxlQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTEFZT1VUX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBMYXlvdXRDb25maWdPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGJ1aWxkU3R5bGVzKG9mZnNldDogc3RyaW5nLCBwYXJlbnQ6IEZsZXhPZmZzZXRQYXJlbnQpIHtcbiAgICBvZmZzZXQgfHw9ICcwJztcbiAgICBvZmZzZXQgPSBtdWx0aXBseShvZmZzZXQsIHRoaXMuX2NvbmZpZy5tdWx0aXBsaWVyKTtcbiAgICBjb25zdCBpc1BlcmNlbnQgPSBTdHJpbmcob2Zmc2V0KS5pbmRleE9mKCclJykgPiAtMTtcbiAgICBjb25zdCBpc1B4ID0gU3RyaW5nKG9mZnNldCkuaW5kZXhPZigncHgnKSA+IC0xO1xuICAgIGlmICghaXNQeCAmJiAhaXNQZXJjZW50ICYmICFpc05hTigrb2Zmc2V0KSkge1xuICAgICAgb2Zmc2V0ID0gYCR7b2Zmc2V0fSVgO1xuICAgIH1cbiAgICBjb25zdCBob3Jpem9udGFsTGF5b3V0S2V5ID0gcGFyZW50LmlzUnRsID8gJ21hcmdpbi1yaWdodCcgOiAnbWFyZ2luLWxlZnQnO1xuICAgIGNvbnN0IHN0eWxlczogU3R5bGVEZWZpbml0aW9uID0gaXNGbG93SG9yaXpvbnRhbChwYXJlbnQubGF5b3V0KVxuICAgICAgPyB7IFtob3Jpem9udGFsTGF5b3V0S2V5XTogb2Zmc2V0IH1cbiAgICAgIDogeyAnbWFyZ2luLXRvcCc6IG9mZnNldCB9O1xuXG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxufVxuXG5jb25zdCBpbnB1dHMgPSBbXG4gICdmeEZsZXhPZmZzZXQnLFxuICAnZnhGbGV4T2Zmc2V0LnhzJyxcbiAgJ2Z4RmxleE9mZnNldC5zbScsXG4gICdmeEZsZXhPZmZzZXQubWQnLFxuICAnZnhGbGV4T2Zmc2V0LmxnJyxcbiAgJ2Z4RmxleE9mZnNldC54bCcsXG4gICdmeEZsZXhPZmZzZXQubHQtc20nLFxuICAnZnhGbGV4T2Zmc2V0Lmx0LW1kJyxcbiAgJ2Z4RmxleE9mZnNldC5sdC1sZycsXG4gICdmeEZsZXhPZmZzZXQubHQteGwnLFxuICAnZnhGbGV4T2Zmc2V0Lmd0LXhzJyxcbiAgJ2Z4RmxleE9mZnNldC5ndC1zbScsXG4gICdmeEZsZXhPZmZzZXQuZ3QtbWQnLFxuICAnZnhGbGV4T2Zmc2V0Lmd0LWxnJyxcbl07XG5jb25zdCBzZWxlY3RvciA9IGBcbiAgW2Z4RmxleE9mZnNldF0sIFtmeEZsZXhPZmZzZXQueHNdLCBbZnhGbGV4T2Zmc2V0LnNtXSwgW2Z4RmxleE9mZnNldC5tZF0sXG4gIFtmeEZsZXhPZmZzZXQubGddLCBbZnhGbGV4T2Zmc2V0LnhsXSwgW2Z4RmxleE9mZnNldC5sdC1zbV0sIFtmeEZsZXhPZmZzZXQubHQtbWRdLFxuICBbZnhGbGV4T2Zmc2V0Lmx0LWxnXSwgW2Z4RmxleE9mZnNldC5sdC14bF0sIFtmeEZsZXhPZmZzZXQuZ3QteHNdLCBbZnhGbGV4T2Zmc2V0Lmd0LXNtXSxcbiAgW2Z4RmxleE9mZnNldC5ndC1tZF0sIFtmeEZsZXhPZmZzZXQuZ3QtbGddXG5gO1xuXG4vKipcbiAqICdmbGV4LW9mZnNldCcgZmxleGJveCBzdHlsaW5nIGRpcmVjdGl2ZVxuICogQ29uZmlndXJlcyB0aGUgJ21hcmdpbi1sZWZ0JyBvZiB0aGUgZWxlbWVudCBpbiBhIGxheW91dCBjb250YWluZXJcbiAqL1xuQERpcmVjdGl2ZSh7IGlucHV0cywgc2VsZWN0b3IgfSlcbmV4cG9ydCBjbGFzcyBGbGV4T2Zmc2V0RGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZTIgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgRElSRUNUSVZFX0tFWSA9ICdmbGV4LW9mZnNldCc7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBpbnB1dHMgPSBpbnB1dHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIGRpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eSxcbiAgICBzdHlsZUJ1aWxkZXI6IEZsZXhPZmZzZXRTdHlsZUJ1aWxkZXIsXG4gICAgbWFyc2hhbDogTWVkaWFNYXJzaGFsbGVyLFxuICAgIHN0eWxlcjogU3R5bGVVdGlscyxcbiAgKSB7XG4gICAgc3VwZXIoZWxSZWYsIHN0eWxlQnVpbGRlciwgc3R5bGVyLCBtYXJzaGFsKTtcbiAgICB0aGlzLmluaXQoW3RoaXMuZGlyZWN0aW9uYWxpdHkuY2hhbmdlXSk7XG4gICAgLy8gUGFyZW50IERPTSBgbGF5b3V0LWdhcGAgd2l0aCBhZmZlY3QgdGhlIG5lc3RlZCBjaGlsZCB3aXRoIGBmbGV4LW9mZnNldGBcbiAgICBpZiAodGhpcy5wYXJlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLm1hcnNoYWxcbiAgICAgICAgLnRyYWNrVmFsdWUodGhpcy5wYXJlbnRFbGVtZW50LCAnbGF5b3V0LWdhcCcpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lTdWJqZWN0KSlcbiAgICAgICAgLnN1YnNjcmliZSh0aGlzLnRyaWdnZXJVcGRhdGUuYmluZCh0aGlzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vIFByb3RlY3RlZCBtZXRob2RzXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4gIC8qKlxuICAgKiBVc2luZyB0aGUgY3VycmVudCBmeEZsZXhPZmZzZXQgdmFsdWUsIHVwZGF0ZSB0aGUgaW5saW5lIENTU1xuICAgKiBOT1RFOiB0aGlzIHdpbGwgYXNzaWduIGBtYXJnaW4tbGVmdGAgaWYgdGhlIHBhcmVudCBmbGV4LWRpcmVjdGlvbiA9PSAncm93JyxcbiAgICogICAgICAgb3RoZXJ3aXNlIGBtYXJnaW4tdG9wYCBpcyB1c2VkIGZvciB0aGUgb2Zmc2V0LlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZVdpdGhWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gJycpOiB2b2lkIHtcbiAgICAvLyBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhpcyBlbGVtZW50J3MgZmxleCBjb250YWluZXIuIERlZmF1bHRzIHRvICdyb3cnLlxuICAgIGNvbnN0IGxheW91dCA9IHRoaXMuZ2V0RmxleEZsb3dEaXJlY3Rpb24odGhpcy5wYXJlbnRFbGVtZW50ISwgdHJ1ZSk7XG4gICAgY29uc3QgaXNSdGwgPSB0aGlzLmRpcmVjdGlvbmFsaXR5LnZhbHVlID09PSAncnRsJztcbiAgICBpZiAobGF5b3V0ID09PSAncm93JyAmJiBpc1J0bCkge1xuICAgICAgdGhpcy5zdHlsZUNhY2hlID0gZmxleE9mZnNldENhY2hlUm93UnRsO1xuICAgIH0gZWxzZSBpZiAobGF5b3V0ID09PSAncm93JyAmJiAhaXNSdGwpIHtcbiAgICAgIHRoaXMuc3R5bGVDYWNoZSA9IGZsZXhPZmZzZXRDYWNoZVJvd0x0cjtcbiAgICB9IGVsc2UgaWYgKGxheW91dCA9PT0gJ2NvbHVtbicgJiYgaXNSdGwpIHtcbiAgICAgIHRoaXMuc3R5bGVDYWNoZSA9IGZsZXhPZmZzZXRDYWNoZUNvbHVtblJ0bDtcbiAgICB9IGVsc2UgaWYgKGxheW91dCA9PT0gJ2NvbHVtbicgJiYgIWlzUnRsKSB7XG4gICAgICB0aGlzLnN0eWxlQ2FjaGUgPSBmbGV4T2Zmc2V0Q2FjaGVDb2x1bW5MdHI7XG4gICAgfVxuICAgIHRoaXMuYWRkU3R5bGVzKHZhbHVlICsgJycsIHsgbGF5b3V0LCBpc1J0bCB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoZSBEZWZhdWx0RmxleE9mZnNldERpcmVjdGl2ZSB3aWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiAyMS5cbiAqIFVzZSBGbGV4T2Zmc2V0RGlyZWN0aXZlIGRpcmVjdGx5IGluc3RlYWQuXG4gKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvciwgaW5wdXRzIH0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdEZsZXhPZmZzZXREaXJlY3RpdmUgZXh0ZW5kcyBGbGV4T2Zmc2V0RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlucHV0cyA9IGlucHV0cztcbn1cblxuY29uc3QgZmxleE9mZnNldENhY2hlUm93UnRsOiBNYXA8c3RyaW5nLCBTdHlsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuY29uc3QgZmxleE9mZnNldENhY2hlQ29sdW1uUnRsOiBNYXA8c3RyaW5nLCBTdHlsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuY29uc3QgZmxleE9mZnNldENhY2hlUm93THRyOiBNYXA8c3RyaW5nLCBTdHlsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuY29uc3QgZmxleE9mZnNldENhY2hlQ29sdW1uTHRyOiBNYXA8c3RyaW5nLCBTdHlsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuIl19","import { Directive, ElementRef, Injectable } from '@angular/core';\nimport { BaseDirective2, MediaMarshaller, StyleBuilder, StyleUtils, } from '@ngbracket/ngx-layout/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngbracket/ngx-layout/core\";\nexport class FlexOrderStyleBuilder extends StyleBuilder {\n buildStyles(value) {\n return { order: (value && parseInt(value, 10)) || '' };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOrderStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOrderStyleBuilder, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOrderStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nconst inputs = [\n 'fxFlexOrder',\n 'fxFlexOrder.xs',\n 'fxFlexOrder.sm',\n 'fxFlexOrder.md',\n 'fxFlexOrder.lg',\n 'fxFlexOrder.xl',\n 'fxFlexOrder.lt-sm',\n 'fxFlexOrder.lt-md',\n 'fxFlexOrder.lt-lg',\n 'fxFlexOrder.lt-xl',\n 'fxFlexOrder.gt-xs',\n 'fxFlexOrder.gt-sm',\n 'fxFlexOrder.gt-md',\n 'fxFlexOrder.gt-lg',\n];\nconst selector = `\n [fxFlexOrder], [fxFlexOrder.xs], [fxFlexOrder.sm], [fxFlexOrder.md],\n [fxFlexOrder.lg], [fxFlexOrder.xl], [fxFlexOrder.lt-sm], [fxFlexOrder.lt-md],\n [fxFlexOrder.lt-lg], [fxFlexOrder.lt-xl], [fxFlexOrder.gt-xs], [fxFlexOrder.gt-sm],\n [fxFlexOrder.gt-md], [fxFlexOrder.gt-lg]\n`;\n/**\n * 'flex-order' flexbox styling directive\n * Configures the positional ordering of the element in a sorted layout container\n * @see https://css-tricks.com/almanac/properties/o/order/\n */\nexport class FlexOrderDirective extends BaseDirective2 {\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'flex-order';\n this.inputs = inputs;\n this.styleCache = flexOrderCache;\n this.init();\n }\n updateWithValue(input) {\n super.updateWithValue(input);\n if (this.parentElement) {\n this.marshal.triggerUpdate(this.parentElement, 'layout-gap');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOrderDirective, deps: [{ token: i0.ElementRef }, { token: i1.StyleUtils }, { token: FlexOrderStyleBuilder }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.2\", type: FlexOrderDirective, isStandalone: true, selector: \"\\n [fxFlexOrder], [fxFlexOrder.xs], [fxFlexOrder.sm], [fxFlexOrder.md],\\n [fxFlexOrder.lg], [fxFlexOrder.xl], [fxFlexOrder.lt-sm], [fxFlexOrder.lt-md],\\n [fxFlexOrder.lt-lg], [fxFlexOrder.lt-xl], [fxFlexOrder.gt-xs], [fxFlexOrder.gt-sm],\\n [fxFlexOrder.gt-md], [fxFlexOrder.gt-lg]\\n\", inputs: { fxFlexOrder: \"fxFlexOrder\", \"fxFlexOrder.xs\": \"fxFlexOrder.xs\", \"fxFlexOrder.sm\": \"fxFlexOrder.sm\", \"fxFlexOrder.md\": \"fxFlexOrder.md\", \"fxFlexOrder.lg\": \"fxFlexOrder.lg\", \"fxFlexOrder.xl\": \"fxFlexOrder.xl\", \"fxFlexOrder.lt-sm\": \"fxFlexOrder.lt-sm\", \"fxFlexOrder.lt-md\": \"fxFlexOrder.lt-md\", \"fxFlexOrder.lt-lg\": \"fxFlexOrder.lt-lg\", \"fxFlexOrder.lt-xl\": \"fxFlexOrder.lt-xl\", \"fxFlexOrder.gt-xs\": \"fxFlexOrder.gt-xs\", \"fxFlexOrder.gt-sm\": \"fxFlexOrder.gt-sm\", \"fxFlexOrder.gt-md\": \"fxFlexOrder.gt-md\", \"fxFlexOrder.gt-lg\": \"fxFlexOrder.gt-lg\" }, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: FlexOrderDirective, decorators: [{\n type: Directive,\n args: [{ inputs, selector }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.StyleUtils }, { type: FlexOrderStyleBuilder }, { type: i1.MediaMarshaller }] });\nconst flexOrderCache = new Map();\n/**\n * @deprecated The DefaultFlexOrderDirective will be removed in version 21.\n * Use FlexOrderDirective directly instead.\n */\nexport class DefaultFlexOrderDirective extends FlexOrderDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: DefaultFlexOrderDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.2\", type: DefaultFlexOrderDirective, isStandalone: true, selector: \"\\n [fxFlexOrder], [fxFlexOrder.xs], [fxFlexOrder.sm], [fxFlexOrder.md],\\n [fxFlexOrder.lg], [fxFlexOrder.xl], [fxFlexOrder.lt-sm], [fxFlexOrder.lt-md],\\n [fxFlexOrder.lt-lg], [fxFlexOrder.lt-xl], [fxFlexOrder.gt-xs], [fxFlexOrder.gt-sm],\\n [fxFlexOrder.gt-md], [fxFlexOrder.gt-lg]\\n\", inputs: { fxFlexOrder: \"fxFlexOrder\", \"fxFlexOrder.xs\": \"fxFlexOrder.xs\", \"fxFlexOrder.sm\": \"fxFlexOrder.sm\", \"fxFlexOrder.md\": \"fxFlexOrder.md\", \"fxFlexOrder.lg\": \"fxFlexOrder.lg\", \"fxFlexOrder.xl\": \"fxFlexOrder.xl\", \"fxFlexOrder.lt-sm\": \"fxFlexOrder.lt-sm\", \"fxFlexOrder.lt-md\": \"fxFlexOrder.lt-md\", \"fxFlexOrder.lt-lg\": \"fxFlexOrder.lt-lg\", \"fxFlexOrder.lt-xl\": \"fxFlexOrder.lt-xl\", \"fxFlexOrder.gt-xs\": \"fxFlexOrder.gt-xs\", \"fxFlexOrder.gt-sm\": \"fxFlexOrder.gt-sm\", \"fxFlexOrder.gt-md\": \"fxFlexOrder.gt-md\", \"fxFlexOrder.gt-lg\": \"fxFlexOrder.gt-lg\" }, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.2\", ngImport: i0, type: DefaultFlexOrderDirective, decorators: [{\n type: Directive,\n args: [{ selector, inputs }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleC1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYnMvZmxleC1sYXlvdXQvZmxleC9mbGV4LW9yZGVyL2ZsZXgtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksRUFFWixVQUFVLEdBQ1gsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBR3BDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZO0lBQ3JELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ3pELENBQUM7OEdBSFUscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FEUixNQUFNOzsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFPbEMsTUFBTSxNQUFNLEdBQUc7SUFDYixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0NBQ3BCLENBQUM7QUFDRixNQUFNLFFBQVEsR0FBRzs7Ozs7Q0FLaEIsQ0FBQztBQUVGOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztJQUlwRCxZQUNFLEtBQWlCLEVBQ2pCLFVBQXNCLEVBQ3RCLFlBQW1DLEVBQ25DLE9BQXdCO1FBRXhCLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQVQvQixrQkFBYSxHQUFHLFlBQVksQ0FBQztRQUM3QixXQUFNLEdBQUcsTUFBTSxDQUFDO1FBWWhCLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFIN0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUlRLGVBQWUsQ0FBQyxLQUFhO1FBQ3BDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQzs4R0F0QlUsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFNBQVM7bUJBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFOztBQTBCL0IsTUFBTSxjQUFjLEdBQWlDLElBQUksR0FBRyxFQUFFLENBQUM7QUFDL0Q7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtCQUFrQjtJQURqRTs7UUFFcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQztLQUNwQzs4R0FGWSx5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzZURpcmVjdGl2ZTIsXG4gIE1lZGlhTWFyc2hhbGxlcixcbiAgU3R5bGVCdWlsZGVyLFxuICBTdHlsZURlZmluaXRpb24sXG4gIFN0eWxlVXRpbHMsXG59IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dC9jb3JlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGbGV4T3JkZXJTdHlsZUJ1aWxkZXIgZXh0ZW5kcyBTdHlsZUJ1aWxkZXIge1xuICBidWlsZFN0eWxlcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgb3JkZXI6ICh2YWx1ZSAmJiBwYXJzZUludCh2YWx1ZSwgMTApKSB8fCAnJyB9O1xuICB9XG59XG5cbmNvbnN0IGlucHV0cyA9IFtcbiAgJ2Z4RmxleE9yZGVyJyxcbiAgJ2Z4RmxleE9yZGVyLnhzJyxcbiAgJ2Z4RmxleE9yZGVyLnNtJyxcbiAgJ2Z4RmxleE9yZGVyLm1kJyxcbiAgJ2Z4RmxleE9yZGVyLmxnJyxcbiAgJ2Z4RmxleE9yZGVyLnhsJyxcbiAgJ2Z4RmxleE9yZGVyLmx0LXNtJyxcbiAgJ2Z4RmxleE9yZGVyLmx0LW1kJyxcbiAgJ2Z4RmxleE9yZGVyLmx0LWxnJyxcbiAgJ2Z4RmxleE9yZGVyLmx0LXhsJyxcbiAgJ2Z4RmxleE9yZGVyLmd0LXhzJyxcbiAgJ2Z4RmxleE9yZGVyLmd0LXNtJyxcbiAgJ2Z4RmxleE9yZGVyLmd0LW1kJyxcbiAgJ2Z4RmxleE9yZGVyLmd0LWxnJyxcbl07XG5jb25zdCBzZWxlY3RvciA9IGBcbiAgW2Z4RmxleE9yZGVyXSwgW2Z4RmxleE9yZGVyLnhzXSwgW2Z4RmxleE9yZGVyLnNtXSwgW2Z4RmxleE9yZGVyLm1kXSxcbiAgW2Z4RmxleE9yZGVyLmxnXSwgW2Z4RmxleE9yZGVyLnhsXSwgW2Z4RmxleE9yZGVyLmx0LXNtXSwgW2Z4RmxleE9yZGVyLmx0LW1kXSxcbiAgW2Z4RmxleE9yZGVyLmx0LWxnXSwgW2Z4RmxleE9yZGVyLmx0LXhsXSwgW2Z4RmxleE9yZGVyLmd0LXhzXSwgW2Z4RmxleE9yZGVyLmd0LXNtXSxcbiAgW2Z4RmxleE9yZGVyLmd0LW1kXSwgW2Z4RmxleE9yZGVyLmd0LWxnXVxuYDtcblxuLyoqXG4gKiAnZmxleC1vcmRlcicgZmxleGJveCBzdHlsaW5nIGRpcmVjdGl2ZVxuICogQ29uZmlndXJlcyB0aGUgcG9zaXRpb25hbCBvcmRlcmluZyBvZiB0aGUgZWxlbWVudCBpbiBhIHNvcnRlZCBsYXlvdXQgY29udGFpbmVyXG4gKiBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL28vb3JkZXIvXG4gKi9cbkBEaXJlY3RpdmUoeyBpbnB1dHMsIHNlbGVjdG9yIH0pXG5leHBvcnQgY2xhc3MgRmxleE9yZGVyRGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZTIgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgRElSRUNUSVZFX0tFWSA9ICdmbGV4LW9yZGVyJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlucHV0cyA9IGlucHV0cztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBzdHlsZVV0aWxzOiBTdHlsZVV0aWxzLFxuICAgIHN0eWxlQnVpbGRlcjogRmxleE9yZGVyU3R5bGVCdWlsZGVyLFxuICAgIG1hcnNoYWw6IE1lZGlhTWFyc2hhbGxlcixcbiAgKSB7XG4gICAgc3VwZXIoZWxSZWYsIHN0eWxlQnVpbGRlciwgc3R5bGVVdGlscywgbWFyc2hhbCk7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc3R5bGVDYWNoZSA9IGZsZXhPcmRlckNhY2hlO1xuXG4gIG92ZXJyaWRlIHVwZGF0ZVdpdGhWYWx1ZShpbnB1dDogc3RyaW5nKSB7XG4gICAgc3VwZXIudXBkYXRlV2l0aFZhbHVlKGlucHV0KTtcblxuICAgIGlmICh0aGlzLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMubWFyc2hhbC50cmlnZ2VyVXBkYXRlKHRoaXMucGFyZW50RWxlbWVudCwgJ2xheW91dC1nYXAnKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgZmxleE9yZGVyQ2FjaGU6IE1hcDxzdHJpbmcsIFN0eWxlRGVmaW5pdGlvbj4gPSBuZXcgTWFwKCk7XG4vKipcbiAqIEBkZXByZWNhdGVkIFRoZSBEZWZhdWx0RmxleE9yZGVyRGlyZWN0aXZlIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDIxLlxuICogVXNlIEZsZXhPcmRlckRpcmVjdGl2ZSBkaXJlY3RseSBpbnN0ZWFkLlxuICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3IsIGlucHV0cyB9KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRGbGV4T3JkZXJEaXJlY3RpdmUgZXh0ZW5kcyBGbGV4T3JkZXJEaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW5wdXRzID0gaW5wdXRzO1xufVxuIl19","import { Directive, ElementRef, Inject, Injectable, Input, } from '@angular/core';\nimport { BaseDirective2, LAYOUT_CONFIG, MediaMarshaller, StyleBuilder, StyleUtils, validateBasis, } from '@ngbracket/ngx-layout/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { extendObject, isFlowHorizontal, } from '@ngbracket/ngx-layout/_private-utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngbracket/ngx-layout/core\";\nexport class FlexStyleBuilder extends StyleBuilder {\n constructor(layoutConfig) {\n super();\n this.layoutConfig = layoutConfig;\n }\n buildStyles(input, parent) {\n let [grow, shrink, ...basisParts] = input.split(' ');\n let basis = basisParts.join(' ');\n // The flex-direction of this element's flex container. Defaults to 'row'.\n const direction = parent.direction.indexOf('column') > -1 ? 'column' : 'row';\n const max = isFlowHorizontal(direction) ? 'max-width' : 'max-height';\n const min = isFlowHorizontal(direction) ? 'min-width' : 'min-height';\n const hasCalc = String(basis).indexOf('calc') > -1;\n const usingCalc = hasCalc || basis === 'auto';\n const isPercent = String(basis).indexOf('%') > -1 && !hasCalc;\n const hasUnits = String(basis).indexOf('px') > -1 ||\n String(basis).indexOf('rem') > -1 ||\n String(basis).indexOf('em') > -1 ||\n String(basis).indexOf('vw') > -1 ||\n String(basis).indexOf('vh') > -1;\n let isValue = hasCalc || hasUnits;\n grow = grow == '0' ? 0 : grow;\n shrink = shrink == '0' ? 0 : shrink;\n // make box inflexible when shrink and grow are both zero\n // should not set a min when the grow is zero\n // should not set a max wh