blob: 487eb1ccfc1aab021774a09876331df0d1d87be1 [file] [log] [blame]
{"version":3,"file":"grid.es5.js","sources":["../../../src/lib/grid/module.ts","../../../src/lib/grid/rows/rows.ts","../../../src/lib/grid/row/row.ts","../../../src/lib/grid/gap/gap.ts","../../../src/lib/grid/columns/columns.ts","../../../src/lib/grid/column/column.ts","../../../src/lib/grid/auto/auto.ts","../../../src/lib/grid/areas/areas.ts","../../../src/lib/grid/area/area.ts","../../../src/lib/grid/align-rows/align-rows.ts","../../../src/lib/grid/align-columns/align-columns.ts","../../../src/lib/grid/grid-align/grid-align.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {CoreModule} from '@angular/flex-layout/core';\n\nimport {DefaultGridAlignDirective} from './grid-align/grid-align';\nimport {DefaultGridAlignColumnsDirective} from './align-columns/align-columns';\nimport {DefaultGridAlignRowsDirective} from './align-rows/align-rows';\nimport {DefaultGridAreaDirective} from './area/area';\nimport {DefaultGridAreasDirective} from './areas/areas';\nimport {DefaultGridAutoDirective} from './auto/auto';\nimport {DefaultGridColumnDirective} from './column/column';\nimport {DefaultGridColumnsDirective} from './columns/columns';\nimport {DefaultGridGapDirective} from './gap/gap';\nimport {DefaultGridRowDirective} from './row/row';\nimport {DefaultGridRowsDirective} from './rows/rows';\n\n\nconst ALL_DIRECTIVES = [\n DefaultGridAlignDirective,\n DefaultGridAlignColumnsDirective,\n DefaultGridAlignRowsDirective,\n DefaultGridAreaDirective,\n DefaultGridAreasDirective,\n DefaultGridAutoDirective,\n DefaultGridColumnDirective,\n DefaultGridColumnsDirective,\n DefaultGridGapDirective,\n DefaultGridRowDirective,\n DefaultGridRowsDirective,\n];\n\n/**\n * *****************************************************************\n * Define module for the CSS Grid API\n * *****************************************************************\n */\n\n@NgModule({\n imports: [CoreModule],\n declarations: [...ALL_DIRECTIVES],\n exports: [...ALL_DIRECTIVES]\n})\nexport class GridModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Input, Injectable} from '@angular/core';\nimport {\n MediaMarshaller,\n BaseDirective2,\n StyleBuilder,\n StyleDefinition,\n StyleUtils,\n} from '@angular/flex-layout/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst DEFAULT_VALUE = 'none';\nconst AUTO_SPECIFIER = '!';\n\nexport interface GridRowsParent {\n inline: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GridRowsStyleBuilder extends StyleBuilder {\n buildStyles(input: string, parent: GridRowsParent) {\n input = input || DEFAULT_VALUE;\n let auto = false;\n if (input.endsWith(AUTO_SPECIFIER)) {\n input = input.substring(0, input.indexOf(AUTO_SPECIFIER));\n auto = true;\n }\n\n const css = {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-rows': '',\n 'grid-template-rows': '',\n };\n const key = (auto ? 'grid-auto-rows' : 'grid-template-rows');\n css[key] = input;\n\n return css;\n }\n}\n\n@Directive()\nexport class GridRowsDirective extends BaseDirective2 {\n protected DIRECTIVE_KEY = 'grid-rows';\n\n @Input('gdInline')\n get inline(): boolean { return this._inline; }\n set inline(val: boolean) { this._inline = coerceBooleanProperty(val); }\n protected _inline = false;\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridRowsStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n // *********************************************\n // Protected methods\n // *********************************************\n\n protected updateWithValue(value: string) {\n this.styleCache = this.inline ? rowsInlineCache : rowsCache;\n this.addStyles(value, {inline: this.inline});\n }\n}\n\nconst rowsCache: Map<string, StyleDefinition> = new Map();\nconst rowsInlineCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdRows',\n 'gdRows.xs', 'gdRows.sm', 'gdRows.md', 'gdRows.lg', 'gdRows.xl',\n 'gdRows.lt-sm', 'gdRows.lt-md', 'gdRows.lt-lg', 'gdRows.lt-xl',\n 'gdRows.gt-xs', 'gdRows.gt-sm', 'gdRows.gt-md', 'gdRows.gt-lg'\n];\n\nconst selector = `\n [gdRows],\n [gdRows.xs], [gdRows.sm], [gdRows.md], [gdRows.lg], [gdRows.xl],\n [gdRows.lt-sm], [gdRows.lt-md], [gdRows.lt-lg], [gdRows.lt-xl],\n [gdRows.gt-xs], [gdRows.gt-sm], [gdRows.gt-md], [gdRows.gt-lg]\n`;\n\n/**\n * 'grid-template-rows' CSS Grid styling directive\n * Configures the sizing for the rows in the grid\n * Syntax: <column value> [auto]\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-13\n */\n@Directive({selector, inputs})\nexport class DefaultGridRowsDirective extends GridRowsDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Injectable} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n MediaMarshaller,\n StyleBuilder,\n StyleDefinition,\n} from '@angular/flex-layout/core';\n\nconst DEFAULT_VALUE = 'auto';\n\n@Injectable({providedIn: 'root'})\nexport class GridRowStyleBuilder extends StyleBuilder {\n buildStyles(input: string) {\n return {'grid-row': input || DEFAULT_VALUE};\n }\n}\n\n@Directive()\nexport class GridRowDirective extends BaseDirective2 {\n protected DIRECTIVE_KEY = 'grid-row';\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridRowStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n protected styleCache = rowCache;\n}\n\nconst rowCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdRow',\n 'gdRow.xs', 'gdRow.sm', 'gdRow.md', 'gdRow.lg', 'gdRow.xl',\n 'gdRow.lt-sm', 'gdRow.lt-md', 'gdRow.lt-lg', 'gdRow.lt-xl',\n 'gdRow.gt-xs', 'gdRow.gt-sm', 'gdRow.gt-md', 'gdRow.gt-lg'\n];\n\nconst selector = `\n [gdRow],\n [gdRow.xs], [gdRow.sm], [gdRow.md], [gdRow.lg], [gdRow.xl],\n [gdRow.lt-sm], [gdRow.lt-md], [gdRow.lt-lg], [gdRow.lt-xl],\n [gdRow.gt-xs], [gdRow.gt-sm], [gdRow.gt-md], [gdRow.gt-lg]\n`;\n\n/**\n * 'grid-row' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-26\n */\n@Directive({selector, inputs})\nexport class DefaultGridRowDirective extends GridRowDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Input, Injectable} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n MediaMarshaller,\n StyleBuilder,\n StyleDefinition,\n} from '@angular/flex-layout/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst DEFAULT_VALUE = '0';\n\nexport interface GridGapParent {\n inline: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GridGapStyleBuilder extends StyleBuilder {\n buildStyles(input: string, parent: GridGapParent) {\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-gap': input || DEFAULT_VALUE\n };\n }\n}\n\n@Directive()\nexport class GridGapDirective extends BaseDirective2 {\n protected DIRECTIVE_KEY = 'grid-gap';\n\n @Input('gdInline')\n get inline(): boolean { return this._inline; }\n set inline(val: boolean) { this._inline = coerceBooleanProperty(val); }\n protected _inline = false;\n\n constructor(elRef: ElementRef,\n styleUtils: StyleUtils,\n styleBuilder: GridGapStyleBuilder,\n marshal: MediaMarshaller) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.init();\n }\n\n // *********************************************\n // Protected methods\n // *********************************************\n\n protected updateWithValue(value: string) {\n this.styleCache = this.inline ? gapInlineCache : gapCache;\n this.addStyles(value, {inline: this.inline});\n }\n}\n\nconst gapCache: Map<string, StyleDefinition> = new Map();\nconst gapInlineCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdGap',\n 'gdGap.xs', 'gdGap.sm', 'gdGap.md', 'gdGap.lg', 'gdGap.xl',\n 'gdGap.lt-sm', 'gdGap.lt-md', 'gdGap.lt-lg', 'gdGap.lt-xl',\n 'gdGap.gt-xs', 'gdGap.gt-sm', 'gdGap.gt-md', 'gdGap.gt-lg'\n];\n\nconst selector = `\n [gdGap],\n [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl],\n [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl],\n [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]\n`;\n\n/**\n * 'grid-gap' CSS Grid styling directive\n * Configures the gap between items in the grid\n * Syntax: <row gap> [<column-gap>]\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-17\n */\n@Directive({selector, inputs})\nexport class DefaultGridGapDirective extends GridGapDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Input, Injectable} from '@angular/core';\nimport {\n MediaMarshaller,\n BaseDirective2,\n StyleBuilder,\n StyleDefinition,\n StyleUtils,\n} from '@angular/flex-layout/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst DEFAULT_VALUE = 'none';\nconst AUTO_SPECIFIER = '!';\n\nexport interface GridColumnsParent {\n inline: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GridColumnsStyleBuilder extends StyleBuilder {\n buildStyles(input: string, parent: GridColumnsParent) {\n input = input || DEFAULT_VALUE;\n let auto = false;\n if (input.endsWith(AUTO_SPECIFIER)) {\n input = input.substring(0, input.indexOf(AUTO_SPECIFIER));\n auto = true;\n }\n\n const css = {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-columns': '',\n 'grid-template-columns': '',\n };\n const key = (auto ? 'grid-auto-columns' : 'grid-template-columns');\n css[key] = input;\n\n return css;\n }\n}\n\n@Directive()\nexport class GridColumnsDirective extends BaseDirective2 {\n protected DIRECTIVE_KEY = 'grid-columns';\n\n @Input('gdInline')\n get inline(): boolean { return this._inline; }\n set inline(val: boolean) { this._inline = coerceBooleanProperty(val); }\n protected _inline = false;\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridColumnsStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n // *********************************************\n // Protected methods\n // *********************************************\n\n protected updateWithValue(value: string) {\n this.styleCache = this.inline ? columnsInlineCache : columnsCache;\n this.addStyles(value, {inline: this.inline});\n }\n}\n\nconst columnsCache: Map<string, StyleDefinition> = new Map();\nconst columnsInlineCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdColumns',\n 'gdColumns.xs', 'gdColumns.sm', 'gdColumns.md', 'gdColumns.lg', 'gdColumns.xl',\n 'gdColumns.lt-sm', 'gdColumns.lt-md', 'gdColumns.lt-lg', 'gdColumns.lt-xl',\n 'gdColumns.gt-xs', 'gdColumns.gt-sm', 'gdColumns.gt-md', 'gdColumns.gt-lg'\n];\n\nconst selector = `\n [gdColumns],\n [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl],\n [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl],\n [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]\n`;\n\n/**\n * 'grid-template-columns' CSS Grid styling directive\n * Configures the sizing for the columns in the grid\n * Syntax: <column value> [auto]\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-13\n */\n@Directive({selector, inputs})\nexport class DefaultGridColumnsDirective extends GridColumnsDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Injectable} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n MediaMarshaller,\n StyleBuilder,\n StyleDefinition,\n} from '@angular/flex-layout/core';\n\nconst DEFAULT_VALUE = 'auto';\n\n@Injectable({providedIn: 'root'})\nexport class GridColumnStyleBuilder extends StyleBuilder {\n buildStyles(input: string) {\n return {'grid-column': input || DEFAULT_VALUE};\n }\n}\n\n@Directive()\nexport class GridColumnDirective extends BaseDirective2 {\n protected DIRECTIVE_KEY = 'grid-column';\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridColumnStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n protected styleCache = columnCache;\n}\n\nconst columnCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdColumn',\n 'gdColumn.xs', 'gdColumn.sm', 'gdColumn.md', 'gdColumn.lg', 'gdColumn.xl',\n 'gdColumn.lt-sm', 'gdColumn.lt-md', 'gdColumn.lt-lg', 'gdColumn.lt-xl',\n 'gdColumn.gt-xs', 'gdColumn.gt-sm', 'gdColumn.gt-md', 'gdColumn.gt-lg'\n];\n\nconst selector = `\n [gdColumn],\n [gdColumn.xs], [gdColumn.sm], [gdColumn.md], [gdColumn.lg], [gdColumn.xl],\n [gdColumn.lt-sm], [gdColumn.lt-md], [gdColumn.lt-lg], [gdColumn.lt-xl],\n [gdColumn.gt-xs], [gdColumn.gt-sm], [gdColumn.gt-md], [gdColumn.gt-lg]\n`;\n\n/**\n * 'grid-column' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-26\n */\n@Directive({selector, inputs})\nexport class DefaultGridColumnDirective extends GridColumnDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Input, Injectable} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n StyleBuilder,\n MediaMarshaller,\n StyleDefinition,\n} from '@angular/flex-layout/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst DEFAULT_VALUE = 'initial';\n\nexport interface GridAutoParent {\n inline: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GridAutoStyleBuilder extends StyleBuilder {\n buildStyles(input: string, parent: GridAutoParent) {\n let [direction, dense] = (input || DEFAULT_VALUE).split(' ');\n if (direction !== 'column' && direction !== 'row' && direction !== 'dense') {\n direction = 'row';\n }\n\n dense = (dense === 'dense' && direction !== 'dense') ? ' dense' : '';\n\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-flow': direction + dense\n };\n }\n}\n\n@Directive()\nexport class GridAutoDirective extends BaseDirective2 {\n @Input('gdInline')\n get inline(): boolean { return this._inline; }\n set inline(val: boolean) { this._inline = coerceBooleanProperty(val); }\n protected _inline = false;\n\n protected DIRECTIVE_KEY = 'grid-auto';\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridAutoStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n // *********************************************\n // Protected methods\n // *********************************************\n\n protected updateWithValue(value: string) {\n this.styleCache = this.inline ? autoInlineCache : autoCache;\n this.addStyles(value, {inline: this.inline});\n }\n}\n\nconst autoCache: Map<string, StyleDefinition> = new Map();\nconst autoInlineCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdAuto',\n 'gdAuto.xs', 'gdAuto.sm', 'gdAuto.md', 'gdAuto.lg', 'gdAuto.xl',\n 'gdAuto.lt-sm', 'gdAuto.lt-md', 'gdAuto.lt-lg', 'gdAuto.lt-xl',\n 'gdAuto.gt-xs', 'gdAuto.gt-sm', 'gdAuto.gt-md', 'gdAuto.gt-lg'\n];\nconst selector = `\n [gdAuto],\n [gdAuto.xs], [gdAuto.sm], [gdAuto.md], [gdAuto.lg], [gdAuto.xl],\n [gdAuto.lt-sm], [gdAuto.lt-md], [gdAuto.lt-lg], [gdAuto.lt-xl],\n [gdAuto.gt-xs], [gdAuto.gt-sm], [gdAuto.gt-md], [gdAuto.gt-lg]\n`;\n\n/**\n * 'grid-auto-flow' CSS Grid styling directive\n * Configures the auto placement algorithm for the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-23\n */\n@Directive({selector, inputs})\nexport class DefaultGridAutoDirective extends GridAutoDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Injectable, Input} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n StyleBuilder,\n MediaMarshaller,\n StyleDefinition,\n} from '@angular/flex-layout/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst DEFAULT_VALUE = 'none';\nconst DELIMETER = '|';\n\nexport interface GridAreasParent {\n inline: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GridAreasStyleBuiler extends StyleBuilder {\n buildStyles(input: string, parent: GridAreasParent) {\n const areas = (input || DEFAULT_VALUE).split(DELIMETER).map(v => `\"${v.trim()}\"`);\n\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-template-areas': areas.join(' ')\n };\n }\n}\n\n@Directive()\nexport class GridAreasDirective extends BaseDirective2 {\n\n protected DIRECTIVE_KEY = 'grid-areas';\n\n @Input('gdInline')\n get inline(): boolean { return this._inline; }\n set inline(val: boolean) { this._inline = coerceBooleanProperty(val); }\n protected _inline = false;\n\n constructor(elRef: ElementRef,\n styleUtils: StyleUtils,\n styleBuilder: GridAreasStyleBuiler,\n marshal: MediaMarshaller) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.init();\n }\n\n // *********************************************\n // Protected methods\n // *********************************************\n\n protected updateWithValue(value: string) {\n this.styleCache = this.inline ? areasInlineCache : areasCache;\n this.addStyles(value, {inline: this.inline});\n }\n}\n\nconst areasCache: Map<string, StyleDefinition> = new Map();\nconst areasInlineCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdAreas',\n 'gdAreas.xs', 'gdAreas.sm', 'gdAreas.md', 'gdAreas.lg', 'gdAreas.xl',\n 'gdAreas.lt-sm', 'gdAreas.lt-md', 'gdAreas.lt-lg', 'gdAreas.lt-xl',\n 'gdAreas.gt-xs', 'gdAreas.gt-sm', 'gdAreas.gt-md', 'gdAreas.gt-lg'\n];\n\nconst selector = `\n [gdAreas],\n [gdAreas.xs], [gdAreas.sm], [gdAreas.md], [gdAreas.lg], [gdAreas.xl],\n [gdAreas.lt-sm], [gdAreas.lt-md], [gdAreas.lt-lg], [gdAreas.lt-xl],\n [gdAreas.gt-xs], [gdAreas.gt-sm], [gdAreas.gt-md], [gdAreas.gt-lg]\n`;\n\n/**\n * 'grid-template-areas' CSS Grid styling directive\n * Configures the names of elements within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-14\n */\n@Directive({selector, inputs})\nexport class DefaultGridAreasDirective extends GridAreasDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Injectable} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n MediaMarshaller,\n StyleBuilder,\n StyleDefinition,\n} from '@angular/flex-layout/core';\n\nconst DEFAULT_VALUE = 'auto';\n\n@Injectable({providedIn: 'root'})\nexport class GridAreaStyleBuilder extends StyleBuilder {\n buildStyles(input: string) {\n return {'grid-area': input || DEFAULT_VALUE};\n }\n}\n\n@Directive()\nexport class GridAreaDirective extends BaseDirective2 {\n\n protected DIRECTIVE_KEY = 'grid-area';\n\n constructor(elRef: ElementRef,\n styleUtils: StyleUtils,\n styleBuilder: GridAreaStyleBuilder,\n marshal: MediaMarshaller) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.init();\n }\n\n protected styleCache = gridAreaCache;\n}\n\nconst gridAreaCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdArea',\n 'gdArea.xs', 'gdArea.sm', 'gdArea.md', 'gdArea.lg', 'gdArea.xl',\n 'gdArea.lt-sm', 'gdArea.lt-md', 'gdArea.lt-lg', 'gdArea.lt-xl',\n 'gdArea.gt-xs', 'gdArea.gt-sm', 'gdArea.gt-md', 'gdArea.gt-lg'\n];\nconst selector = `\n [gdArea],\n [gdArea.xs], [gdArea.sm], [gdArea.md], [gdArea.lg], [gdArea.xl],\n [gdArea.lt-sm], [gdArea.lt-md], [gdArea.lt-lg], [gdArea.lt-xl],\n [gdArea.gt-xs], [gdArea.gt-sm], [gdArea.gt-md], [gdArea.gt-lg]\n`;\n\n/**\n * 'grid-area' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-27\n */\n@Directive({selector, inputs})\nexport class DefaultGridAreaDirective extends GridAreaDirective {\n protected inputs = inputs;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Injectable, Input} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n StyleBuilder,\n StyleDefinition,\n MediaMarshaller,\n} from '@angular/flex-layout/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst DEFAULT_MAIN = 'start';\nconst DEFAULT_CROSS = 'stretch';\n\nexport interface GridAlignRowsParent {\n inline: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GridAlignRowsStyleBuilder extends StyleBuilder {\n buildStyles(input: string, parent: GridAlignRowsParent) {\n return buildCss(input || `${DEFAULT_MAIN} ${DEFAULT_CROSS}`, parent.inline);\n }\n}\n\n@Directive()\nexport class GridAlignRowsDirective extends BaseDirective2 {\n\n protected DIRECTIVE_KEY = 'grid-align-rows';\n\n @Input('gdInline')\n get inline(): boolean { return this._inline; }\n set inline(val: boolean) { this._inline = coerceBooleanProperty(val); }\n protected _inline = false;\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridAlignRowsStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n // *********************************************\n // Protected methods\n // *********************************************\n\n protected updateWithValue(value: string) {\n this.styleCache = this.inline ? alignRowsInlineCache : alignRowsCache;\n this.addStyles(value, {inline: this.inline});\n }\n}\n\nconst alignRowsCache: Map<string, StyleDefinition> = new Map();\nconst alignRowsInlineCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdAlignRows',\n 'gdAlignRows.xs', 'gdAlignRows.sm', 'gdAlignRows.md',\n 'gdAlignRows.lg', 'gdAlignRows.xl', 'gdAlignRows.lt-sm',\n 'gdAlignRows.lt-md', 'gdAlignRows.lt-lg', 'gdAlignRows.lt-xl',\n 'gdAlignRows.gt-xs', 'gdAlignRows.gt-sm', 'gdAlignRows.gt-md',\n 'gdAlignRows.gt-lg'\n];\nconst selector = `\n [gdAlignRows],\n [gdAlignRows.xs], [gdAlignRows.sm], [gdAlignRows.md],\n [gdAlignRows.lg], [gdAlignRows.xl], [gdAlignRows.lt-sm],\n [gdAlignRows.lt-md], [gdAlignRows.lt-lg], [gdAlignRows.lt-xl],\n [gdAlignRows.gt-xs], [gdAlignRows.gt-sm], [gdAlignRows.gt-md],\n [gdAlignRows.gt-lg]\n`;\n\n/**\n * 'row alignment' CSS Grid styling directive\n * Configures the alignment in the row direction\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-18\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-20\n */\n@Directive({selector, inputs})\nexport class DefaultGridAlignRowsDirective extends GridAlignRowsDirective {\n protected inputs = inputs;\n}\n\nfunction buildCss(align: string, inline: boolean): StyleDefinition {\n const css: {[key: string]: string} = {}, [mainAxis, crossAxis] = align.split(' ');\n\n // Main axis\n switch (mainAxis) {\n case 'center':\n case 'space-around':\n case 'space-between':\n case 'space-evenly':\n case 'end':\n case 'start':\n case 'stretch':\n css['justify-content'] = mainAxis;\n break;\n default:\n css['justify-content'] = DEFAULT_MAIN; // default main axis\n break;\n }\n\n // Cross-axis\n switch (crossAxis) {\n case 'start':\n case 'center':\n case 'end':\n case 'stretch':\n css['justify-items'] = crossAxis;\n break;\n default : // 'stretch'\n css['justify-items'] = DEFAULT_CROSS; // default cross axis\n break;\n }\n\n css['display'] = inline ? 'inline-grid' : 'grid';\n\n return css;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Injectable, Input} from '@angular/core';\nimport {\n BaseDirective2,\n StyleUtils,\n StyleBuilder,\n StyleDefinition,\n MediaMarshaller,\n} from '@angular/flex-layout/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\nconst DEFAULT_MAIN = 'start';\nconst DEFAULT_CROSS = 'stretch';\n\nexport interface GridAlignColumnsParent {\n inline: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GridAlignColumnsStyleBuilder extends StyleBuilder {\n buildStyles(input: string, parent: GridAlignColumnsParent) {\n return buildCss(input || `${DEFAULT_MAIN} ${DEFAULT_CROSS}`, parent.inline);\n }\n}\n\n@Directive()\nexport class GridAlignColumnsDirective extends BaseDirective2 {\n\n protected DIRECTIVE_KEY = 'grid-align-columns';\n\n @Input('gdInline')\n get inline(): boolean { return this._inline; }\n set inline(val: boolean) { this._inline = coerceBooleanProperty(val); }\n protected _inline = false;\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridAlignColumnsStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n // *********************************************\n // Protected methods\n // *********************************************\n\n protected updateWithValue(value: string) {\n this.styleCache = this.inline ? alignColumnsInlineCache : alignColumnsCache;\n this.addStyles(value, {inline: this.inline});\n }\n}\n\nconst alignColumnsCache: Map<string, StyleDefinition> = new Map();\nconst alignColumnsInlineCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdAlignColumns',\n 'gdAlignColumns.xs', 'gdAlignColumns.sm', 'gdAlignColumns.md',\n 'gdAlignColumns.lg', 'gdAlignColumns.xl', 'gdAlignColumns.lt-sm',\n 'gdAlignColumns.lt-md', 'gdAlignColumns.lt-lg', 'gdAlignColumns.lt-xl',\n 'gdAlignColumns.gt-xs', 'gdAlignColumns.gt-sm', 'gdAlignColumns.gt-md',\n 'gdAlignColumns.gt-lg'\n];\nconst selector = `\n [gdAlignColumns],\n [gdAlignColumns.xs], [gdAlignColumns.sm], [gdAlignColumns.md],\n [gdAlignColumns.lg], [gdAlignColumns.xl], [gdAlignColumns.lt-sm],\n [gdAlignColumns.lt-md], [gdAlignColumns.lt-lg], [gdAlignColumns.lt-xl],\n [gdAlignColumns.gt-xs], [gdAlignColumns.gt-sm], [gdAlignColumns.gt-md],\n [gdAlignColumns.gt-lg]\n`;\n\n/**\n * 'column alignment' CSS Grid styling directive\n * Configures the alignment in the column direction\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-19\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-21\n */\n@Directive({selector, inputs})\nexport class DefaultGridAlignColumnsDirective extends GridAlignColumnsDirective {\n protected inputs = inputs;\n}\n\nfunction buildCss(align: string, inline: boolean): StyleDefinition {\n const css: {[key: string]: string} = {}, [mainAxis, crossAxis] = align.split(' ');\n\n // Main axis\n switch (mainAxis) {\n case 'center':\n css['align-content'] = 'center';\n break;\n case 'space-around':\n css['align-content'] = 'space-around';\n break;\n case 'space-between':\n css['align-content'] = 'space-between';\n break;\n case 'space-evenly':\n css['align-content'] = 'space-evenly';\n break;\n case 'end':\n css['align-content'] = 'end';\n break;\n case 'start':\n css['align-content'] = 'start';\n break;\n case 'stretch':\n css['align-content'] = 'stretch';\n break;\n default:\n css['align-content'] = DEFAULT_MAIN; // default main axis\n break;\n }\n\n // Cross-axis\n switch (crossAxis) {\n case 'start':\n css['align-items'] = 'start';\n break;\n case 'center':\n css['align-items'] = 'center';\n break;\n case 'end':\n css['align-items'] = 'end';\n break;\n case 'stretch':\n css['align-items'] = 'stretch';\n break;\n default : // 'stretch'\n css['align-items'] = DEFAULT_CROSS; // default cross axis\n break;\n }\n\n css['display'] = inline ? 'inline-grid' : 'grid';\n\n return css;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, ElementRef, Injectable} from '@angular/core';\nimport {\n MediaMarshaller,\n BaseDirective2,\n StyleBuilder,\n StyleDefinition,\n StyleUtils,\n} from '@angular/flex-layout/core';\n\nconst ROW_DEFAULT = 'stretch';\nconst COL_DEFAULT = 'stretch';\n\n@Injectable({providedIn: 'root'})\nexport class GridAlignStyleBuilder extends StyleBuilder {\n buildStyles(input: string) {\n return buildCss(input || ROW_DEFAULT);\n }\n}\n\n@Directive()\nexport class GridAlignDirective extends BaseDirective2 {\n\n protected DIRECTIVE_KEY = 'grid-align';\n\n constructor(elementRef: ElementRef,\n styleBuilder: GridAlignStyleBuilder,\n styler: StyleUtils,\n marshal: MediaMarshaller) {\n super(elementRef, styleBuilder, styler, marshal);\n this.init();\n }\n\n protected styleCache = alignCache;\n}\n\nconst alignCache: Map<string, StyleDefinition> = new Map();\n\nconst inputs = [\n 'gdGridAlign',\n 'gdGridAlign.xs', 'gdGridAlign.sm', 'gdGridAlign.md', 'gdGridAlign.lg', 'gdGridAlign.xl',\n 'gdGridAlign.lt-sm', 'gdGridAlign.lt-md', 'gdGridAlign.lt-lg', 'gdGridAlign.lt-xl',\n 'gdGridAlign.gt-xs', 'gdGridAlign.gt-sm', 'gdGridAlign.gt-md', 'gdGridAlign.gt-lg'\n];\n\nconst selector = `\n [gdGridAlign],\n [gdGridAlign.xs], [gdGridAlign.sm], [gdGridAlign.md], [gdGridAlign.lg],[gdGridAlign.xl],\n [gdGridAlign.lt-sm], [gdGridAlign.lt-md], [gdGridAlign.lt-lg], [gdGridAlign.lt-xl],\n [gdGridAlign.gt-xs], [gdGridAlign.gt-sm], [gdGridAlign.gt-md], [gdGridAlign.gt-lg]\n`;\n\n/**\n * 'align' CSS Grid styling directive for grid children\n * Defines positioning of child elements along row and column axis in a grid container\n * Optional values: {row-axis} values or {row-axis column-axis} value pairs\n *\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-self\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-self\n */\n@Directive({selector, inputs})\nexport class DefaultGridAlignDirective extends GridAlignDirective {\n protected inputs = inputs;\n}\n\nfunction buildCss(align: string = '') {\n const css: {[key: string]: string} = {}, [rowAxis, columnAxis] = align.split(' ');\n\n // Row axis\n switch (rowAxis) {\n case 'end':\n css['justify-self'] = 'end';\n break;\n case 'center':\n css['justify-self'] = 'center';\n break;\n case 'stretch':\n css['justify-self'] = 'stretch';\n break;\n case 'start':\n css['justify-self'] = 'start';\n break;\n default:\n css['justify-self'] = ROW_DEFAULT; // default row axis\n break;\n }\n\n // Column axis\n switch (columnAxis) {\n case 'end':\n css['align-self'] = 'end';\n break;\n case 'center':\n css['align-self'] = 'center';\n break;\n case 'stretch':\n css['align-self'] = 'stretch';\n break;\n case 'start':\n css['align-self'] = 'start';\n break;\n default:\n css['align-self'] = COL_DEFAULT; // default column axis\n break;\n }\n\n return css;\n}\n"],"names":["selector","inputs","AUTO_SPECIFIER","DEFAULT_VALUE","DEFAULT_CROSS","DEFAULT_MAIN","buildCss"],"mappings":"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"}