blob: 058c98c35e88a78f60745bf5d1ae6701203eb385 [file] [log] [blame]
{"version":3,"file":"flex-layout-grid.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/grid/grid-align/grid-align.ts","../../src/lib/grid/align-columns/align-columns.ts","../../src/lib/grid/align-rows/align-rows.ts","../../src/lib/grid/area/area.ts","../../src/lib/grid/areas/areas.ts","../../src/lib/grid/auto/auto.ts","../../src/lib/grid/column/column.ts","../../src/lib/grid/columns/columns.ts","../../src/lib/grid/gap/gap.ts","../../src/lib/grid/row/row.ts","../../src/lib/grid/rows/rows.ts","../../src/lib/grid/module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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, Optional} 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\nexport class GridAlignDirective extends BaseDirective2 {\n\n protected DIRECTIVE_KEY = 'grid-align';\n\n constructor(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridAlignStyleBuilder,\n protected styler: StyleUtils,\n protected 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","/**\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, Optional} 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\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(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridAlignColumnsStyleBuilder,\n protected styler: StyleUtils,\n protected 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, Input, Optional} 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\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(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridAlignRowsStyleBuilder,\n protected styler: StyleUtils,\n protected 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, Optional} 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\nexport class GridAreaDirective extends BaseDirective2 {\n\n protected DIRECTIVE_KEY = 'grid-area';\n\n constructor(protected elRef: ElementRef,\n protected styleUtils: StyleUtils,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridAreaStyleBuilder,\n protected 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, Optional} 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\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(protected elRef: ElementRef,\n protected styleUtils: StyleUtils,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridAreasStyleBuiler,\n protected 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, Input, Optional, 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\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(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridAutoStyleBuilder,\n protected styler: StyleUtils,\n protected 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, Optional, 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\nexport class GridColumnDirective extends BaseDirective2 {\n protected DIRECTIVE_KEY = 'grid-column';\n\n constructor(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridColumnStyleBuilder,\n protected styler: StyleUtils,\n protected 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, Optional} 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\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(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridColumnsStyleBuilder,\n protected styler: StyleUtils,\n protected 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, Input, Optional, 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\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(protected elRef: ElementRef,\n protected styleUtils: StyleUtils,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridGapStyleBuilder,\n protected 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, Optional, 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\nexport class GridRowDirective extends BaseDirective2 {\n protected DIRECTIVE_KEY = 'grid-row';\n\n constructor(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridRowStyleBuilder,\n protected styler: StyleUtils,\n protected 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, Optional} 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\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(protected elementRef: ElementRef,\n // NOTE: not actually optional, but we need to force DI without a\n // constructor call\n @Optional() protected styleBuilder: GridRowsStyleBuilder,\n protected styler: StyleUtils,\n protected 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 {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"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","buildCss","align","css","_a","split","rowAxis","columnAxis","ROW_DEFAULT","COL_DEFAULT","inline","mainAxis","crossAxis","DEFAULT_MAIN","DEFAULT_CROSS","setPrototypeOf","__proto__","Array","p","hasOwnProperty","GridAlignStyleBuilder","_super","tslib_1.__extends","buildStyles","input","type","Injectable","args","providedIn","StyleBuilder","GridAlignDirective","elementRef","styleBuilder","styler","marshal","_this","call","DIRECTIVE_KEY","styleCache","alignCache","init","ElementRef","decorators","Optional","StyleUtils","MediaMarshaller","BaseDirective2","Map","inputs","DefaultGridAlignDirective","apply","arguments","Directive","selector","GridAlignColumnsStyleBuilder","parent","GridAlignColumnsDirective","_inline","defineProperty","val","coerceBooleanProperty","updateWithValue","value","alignColumnsInlineCache","alignColumnsCache","addStyles","Input","DefaultGridAlignColumnsDirective","GridAlignRowsStyleBuilder","GridAlignRowsDirective","alignRowsInlineCache","alignRowsCache","DefaultGridAlignRowsDirective","GridAreaStyleBuilder","grid-area","GridAreaDirective","elRef","styleUtils","gridAreaCache","DefaultGridAreaDirective","GridAreasStyleBuiler","areas","map","v","trim","display","grid-template-areas","join","GridAreasDirective","areasInlineCache","areasCache","DefaultGridAreasDirective","GridAutoStyleBuilder","direction","dense","grid-auto-flow","GridAutoDirective","autoInlineCache","autoCache","DefaultGridAutoDirective","GridColumnStyleBuilder","grid-column","GridColumnDirective","columnCache","DefaultGridColumnDirective","GridColumnsStyleBuilder","auto","endsWith","substring","indexOf","grid-auto-columns","grid-template-columns","GridColumnsDirective","columnsInlineCache","columnsCache","DefaultGridColumnsDirective","GridGapStyleBuilder","grid-gap","GridGapDirective","gapInlineCache","gapCache","DefaultGridGapDirective","GridRowStyleBuilder","grid-row","GridRowDirective","rowCache","DefaultGridRowDirective","GridRowsStyleBuilder","grid-auto-rows","grid-template-rows","GridRowsDirective","rowsInlineCache","rowsCache","DefaultGridRowsDirective","ALL_DIRECTIVES","GridModule","NgModule","imports","CoreModule","declarations","slice","exports"],"mappings":"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"}