@dugararchit/flex-layout 13.0.0-dugararchit

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +7 -0
  2. package/_private-utils/angular-flex-layout-_private-utils.d.ts +5 -0
  3. package/_private-utils/auto-prefixer.d.ts +24 -0
  4. package/_private-utils/index.d.ts +10 -0
  5. package/_private-utils/layout-validator.d.ts +32 -0
  6. package/_private-utils/object-extend.d.ts +15 -0
  7. package/_private-utils/package.json +10 -0
  8. package/_private-utils/testing/angular-flex-layout-_private-utils-testing.d.ts +5 -0
  9. package/_private-utils/testing/custom-matchers.d.ts +65 -0
  10. package/_private-utils/testing/dom-tools.d.ts +47 -0
  11. package/_private-utils/testing/helpers.d.ts +24 -0
  12. package/_private-utils/testing/index.d.ts +10 -0
  13. package/_private-utils/testing/package.json +10 -0
  14. package/angular-flex-layout-13.0.0-beta.38.tgz +0 -0
  15. package/angular-flex-layout.d.ts +5 -0
  16. package/core/README.md +25 -0
  17. package/core/add-alias.d.ts +14 -0
  18. package/core/angular-flex-layout-core.d.ts +5 -0
  19. package/core/base/base2.d.ts +60 -0
  20. package/core/base/index.d.ts +8 -0
  21. package/core/basis-validator/basis-validator.d.ts +13 -0
  22. package/core/breakpoints/break-point-registry.d.ts +42 -0
  23. package/core/breakpoints/break-point.d.ts +14 -0
  24. package/core/breakpoints/break-points-token.d.ts +14 -0
  25. package/core/breakpoints/breakpoint-tools.d.ts +19 -0
  26. package/core/breakpoints/data/break-points.d.ts +12 -0
  27. package/core/breakpoints/data/orientation-break-points.d.ts +23 -0
  28. package/core/breakpoints/index.d.ts +12 -0
  29. package/core/browser-provider.d.ts +24 -0
  30. package/core/match-media/index.d.ts +9 -0
  31. package/core/match-media/match-media.d.ts +59 -0
  32. package/core/match-media/mock/mock-match-media.d.ts +92 -0
  33. package/core/media-change.d.ts +30 -0
  34. package/core/media-marshaller/media-marshaller.d.ts +123 -0
  35. package/core/media-marshaller/print-hook.d.ts +95 -0
  36. package/core/media-observer/index.d.ts +8 -0
  37. package/core/media-observer/media-observer.d.ts +115 -0
  38. package/core/media-trigger/index.d.ts +8 -0
  39. package/core/media-trigger/media-trigger.d.ts +73 -0
  40. package/core/module.d.ts +11 -0
  41. package/core/multiply/multiplier.d.ts +5 -0
  42. package/core/package.json +10 -0
  43. package/core/public-api.d.ts +25 -0
  44. package/core/sass/_layout-bp.scss +76 -0
  45. package/core/style-builder/style-builder.d.ts +21 -0
  46. package/core/style-utils/style-utils.d.ts +53 -0
  47. package/core/stylesheet-map/index.d.ts +8 -0
  48. package/core/stylesheet-map/stylesheet-map.d.ts +24 -0
  49. package/core/tokens/breakpoint-token.d.ts +10 -0
  50. package/core/tokens/index.d.ts +10 -0
  51. package/core/tokens/library-config.d.ts +26 -0
  52. package/core/tokens/server-token.d.ts +15 -0
  53. package/core/utils/array.d.ts +9 -0
  54. package/core/utils/index.d.ts +9 -0
  55. package/core/utils/sort.d.ts +15 -0
  56. package/esm2020/_private-utils/angular-flex-layout-_private-utils.mjs +5 -0
  57. package/esm2020/_private-utils/auto-prefixer.mjs +65 -0
  58. package/esm2020/_private-utils/index.mjs +11 -0
  59. package/esm2020/_private-utils/layout-validator.mjs +83 -0
  60. package/esm2020/_private-utils/object-extend.mjs +30 -0
  61. package/esm2020/_private-utils/testing/angular-flex-layout-_private-utils-testing.mjs +5 -0
  62. package/esm2020/_private-utils/testing/custom-matchers.mjs +201 -0
  63. package/esm2020/_private-utils/testing/dom-tools.mjs +101 -0
  64. package/esm2020/_private-utils/testing/helpers.mjs +43 -0
  65. package/esm2020/_private-utils/testing/index.mjs +11 -0
  66. package/esm2020/angular-flex-layout.mjs +5 -0
  67. package/esm2020/core/add-alias.mjs +23 -0
  68. package/esm2020/core/angular-flex-layout-core.mjs +5 -0
  69. package/esm2020/core/base/base2.mjs +131 -0
  70. package/esm2020/core/base/index.mjs +9 -0
  71. package/esm2020/core/basis-validator/basis-validator.mjs +48 -0
  72. package/esm2020/core/breakpoints/break-point-registry.mjs +76 -0
  73. package/esm2020/core/breakpoints/break-point.mjs +2 -0
  74. package/esm2020/core/breakpoints/break-points-token.mjs +30 -0
  75. package/esm2020/core/breakpoints/breakpoint-tools.mjs +53 -0
  76. package/esm2020/core/breakpoints/data/break-points.mjs +78 -0
  77. package/esm2020/core/breakpoints/data/orientation-break-points.mjs +40 -0
  78. package/esm2020/core/breakpoints/index.mjs +13 -0
  79. package/esm2020/core/browser-provider.mjs +41 -0
  80. package/esm2020/core/match-media/index.mjs +10 -0
  81. package/esm2020/core/match-media/match-media.mjs +186 -0
  82. package/esm2020/core/match-media/mock/mock-match-media.mjs +224 -0
  83. package/esm2020/core/media-change.mjs +25 -0
  84. package/esm2020/core/media-marshaller/media-marshaller.mjs +317 -0
  85. package/esm2020/core/media-marshaller/print-hook.mjs +265 -0
  86. package/esm2020/core/media-observer/index.mjs +9 -0
  87. package/esm2020/core/media-observer/media-observer.mjs +195 -0
  88. package/esm2020/core/media-trigger/index.mjs +9 -0
  89. package/esm2020/core/media-trigger/media-trigger.mjs +188 -0
  90. package/esm2020/core/module.mjs +27 -0
  91. package/esm2020/core/multiply/multiplier.mjs +16 -0
  92. package/esm2020/core/public-api.mjs +26 -0
  93. package/esm2020/core/style-builder/style-builder.mjs +15 -0
  94. package/esm2020/core/style-utils/style-utils.mjs +174 -0
  95. package/esm2020/core/stylesheet-map/index.mjs +9 -0
  96. package/esm2020/core/stylesheet-map/stylesheet-map.mjs +59 -0
  97. package/esm2020/core/tokens/breakpoint-token.mjs +13 -0
  98. package/esm2020/core/tokens/index.mjs +11 -0
  99. package/esm2020/core/tokens/library-config.mjs +30 -0
  100. package/esm2020/core/tokens/server-token.mjs +19 -0
  101. package/esm2020/core/utils/array.mjs +12 -0
  102. package/esm2020/core/utils/index.mjs +10 -0
  103. package/esm2020/core/utils/sort.mjs +20 -0
  104. package/esm2020/extended/angular-flex-layout-extended.mjs +5 -0
  105. package/esm2020/extended/class/class.mjs +88 -0
  106. package/esm2020/extended/img-src/img-src.mjs +106 -0
  107. package/esm2020/extended/module.mjs +45 -0
  108. package/esm2020/extended/public-api.mjs +13 -0
  109. package/esm2020/extended/show-hide/show-hide.mjs +176 -0
  110. package/esm2020/extended/style/style-transforms.mjs +76 -0
  111. package/esm2020/extended/style/style.mjs +130 -0
  112. package/esm2020/flex/angular-flex-layout-flex.mjs +5 -0
  113. package/esm2020/flex/flex/flex.mjs +291 -0
  114. package/esm2020/flex/flex-align/flex-align.mjs +80 -0
  115. package/esm2020/flex/flex-fill/flex-fill.mjs +50 -0
  116. package/esm2020/flex/flex-offset/flex-offset.mjs +121 -0
  117. package/esm2020/flex/flex-order/flex-order.mjs +66 -0
  118. package/esm2020/flex/layout/layout.mjs +86 -0
  119. package/esm2020/flex/layout-align/layout-align.mjs +194 -0
  120. package/esm2020/flex/layout-gap/layout-gap.mjs +282 -0
  121. package/esm2020/flex/module.mjs +62 -0
  122. package/esm2020/flex/public-api.mjs +17 -0
  123. package/esm2020/grid/align-columns/align-columns.mjs +137 -0
  124. package/esm2020/grid/align-rows/align-rows.mjs +119 -0
  125. package/esm2020/grid/angular-flex-layout-grid.mjs +5 -0
  126. package/esm2020/grid/area/area.mjs +67 -0
  127. package/esm2020/grid/areas/areas.mjs +86 -0
  128. package/esm2020/grid/auto/auto.mjs +89 -0
  129. package/esm2020/grid/column/column.mjs +67 -0
  130. package/esm2020/grid/columns/columns.mjs +96 -0
  131. package/esm2020/grid/gap/gap.mjs +85 -0
  132. package/esm2020/grid/grid-align/grid-align.mjs +111 -0
  133. package/esm2020/grid/module.mjs +73 -0
  134. package/esm2020/grid/public-api.mjs +20 -0
  135. package/esm2020/grid/row/row.mjs +67 -0
  136. package/esm2020/grid/rows/rows.mjs +96 -0
  137. package/esm2020/module.mjs +64 -0
  138. package/esm2020/public-api.mjs +20 -0
  139. package/esm2020/server/angular-flex-layout-server.mjs +5 -0
  140. package/esm2020/server/module.mjs +22 -0
  141. package/esm2020/server/public-api.mjs +10 -0
  142. package/esm2020/server/server-match-media.mjs +151 -0
  143. package/esm2020/server/server-provider.mjs +140 -0
  144. package/esm2020/version.mjs +11 -0
  145. package/extended/README.md +18 -0
  146. package/extended/angular-flex-layout-extended.d.ts +5 -0
  147. package/extended/class/class.d.ts +38 -0
  148. package/extended/img-src/img-src.d.ts +51 -0
  149. package/extended/module.d.ts +16 -0
  150. package/extended/package.json +10 -0
  151. package/extended/public-api.d.ts +12 -0
  152. package/extended/show-hide/show-hide.d.ts +61 -0
  153. package/extended/style/style-transforms.d.ts +36 -0
  154. package/extended/style/style.d.ts +45 -0
  155. package/fesm2015/angular-flex-layout-_private-utils-testing.mjs +357 -0
  156. package/fesm2015/angular-flex-layout-_private-utils-testing.mjs.map +1 -0
  157. package/fesm2015/angular-flex-layout-_private-utils.mjs +193 -0
  158. package/fesm2015/angular-flex-layout-_private-utils.mjs.map +1 -0
  159. package/fesm2015/angular-flex-layout-core.mjs +2331 -0
  160. package/fesm2015/angular-flex-layout-core.mjs.map +1 -0
  161. package/fesm2015/angular-flex-layout-extended.mjs +621 -0
  162. package/fesm2015/angular-flex-layout-extended.mjs.map +1 -0
  163. package/fesm2015/angular-flex-layout-flex.mjs +1206 -0
  164. package/fesm2015/angular-flex-layout-flex.mjs.map +1 -0
  165. package/fesm2015/angular-flex-layout-grid.mjs +1047 -0
  166. package/fesm2015/angular-flex-layout-grid.mjs.map +1 -0
  167. package/fesm2015/angular-flex-layout-server.mjs +324 -0
  168. package/fesm2015/angular-flex-layout-server.mjs.map +1 -0
  169. package/fesm2015/angular-flex-layout.mjs +94 -0
  170. package/fesm2015/angular-flex-layout.mjs.map +1 -0
  171. package/fesm2020/angular-flex-layout-_private-utils-testing.mjs +357 -0
  172. package/fesm2020/angular-flex-layout-_private-utils-testing.mjs.map +1 -0
  173. package/fesm2020/angular-flex-layout-_private-utils.mjs +192 -0
  174. package/fesm2020/angular-flex-layout-_private-utils.mjs.map +1 -0
  175. package/fesm2020/angular-flex-layout-core.mjs +2304 -0
  176. package/fesm2020/angular-flex-layout-core.mjs.map +1 -0
  177. package/fesm2020/angular-flex-layout-extended.mjs +612 -0
  178. package/fesm2020/angular-flex-layout-extended.mjs.map +1 -0
  179. package/fesm2020/angular-flex-layout-flex.mjs +1198 -0
  180. package/fesm2020/angular-flex-layout-flex.mjs.map +1 -0
  181. package/fesm2020/angular-flex-layout-grid.mjs +1047 -0
  182. package/fesm2020/angular-flex-layout-grid.mjs.map +1 -0
  183. package/fesm2020/angular-flex-layout-server.mjs +322 -0
  184. package/fesm2020/angular-flex-layout-server.mjs.map +1 -0
  185. package/fesm2020/angular-flex-layout.mjs +92 -0
  186. package/fesm2020/angular-flex-layout.mjs.map +1 -0
  187. package/flex/README.md +19 -0
  188. package/flex/angular-flex-layout-flex.d.ts +5 -0
  189. package/flex/flex/flex.d.ts +59 -0
  190. package/flex/flex-align/flex-align.d.ts +32 -0
  191. package/flex/flex-fill/flex-fill.d.ts +33 -0
  192. package/flex/flex-offset/flex-offset.d.ts +44 -0
  193. package/flex/flex-order/flex-order.d.ts +34 -0
  194. package/flex/layout/layout.d.ts +43 -0
  195. package/flex/layout-align/layout-align.d.ts +49 -0
  196. package/flex/layout-gap/layout-gap.d.ts +65 -0
  197. package/flex/module.d.ts +21 -0
  198. package/flex/package.json +10 -0
  199. package/flex/public-api.d.ts +16 -0
  200. package/grid/README.md +19 -0
  201. package/grid/align-columns/align-columns.d.ts +39 -0
  202. package/grid/align-rows/align-rows.d.ts +39 -0
  203. package/grid/angular-flex-layout-grid.d.ts +5 -0
  204. package/grid/area/area.d.ts +34 -0
  205. package/grid/areas/areas.d.ts +41 -0
  206. package/grid/auto/auto.d.ts +41 -0
  207. package/grid/column/column.d.ts +34 -0
  208. package/grid/columns/columns.d.ts +43 -0
  209. package/grid/gap/gap.d.ts +42 -0
  210. package/grid/grid-align/grid-align.d.ts +37 -0
  211. package/grid/module.d.ts +23 -0
  212. package/grid/package.json +10 -0
  213. package/grid/public-api.d.ts +19 -0
  214. package/grid/row/row.d.ts +34 -0
  215. package/grid/rows/rows.d.ts +43 -0
  216. package/module.d.ts +30 -0
  217. package/package.json +100 -0
  218. package/public-api.d.ts +18 -0
  219. package/server/README.md +23 -0
  220. package/server/angular-flex-layout-server.d.ts +5 -0
  221. package/server/module.d.ts +6 -0
  222. package/server/package.json +10 -0
  223. package/server/public-api.d.ts +9 -0
  224. package/server/server-match-media.d.ts +61 -0
  225. package/server/server-provider.d.ts +44 -0
  226. package/version.d.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-flex-layout-grid.mjs","sources":["../../../../projects/libs/flex-layout/grid/grid-align/grid-align.ts","../../../../projects/libs/flex-layout/grid/align-columns/align-columns.ts","../../../../projects/libs/flex-layout/grid/align-rows/align-rows.ts","../../../../projects/libs/flex-layout/grid/area/area.ts","../../../../projects/libs/flex-layout/grid/areas/areas.ts","../../../../projects/libs/flex-layout/grid/auto/auto.ts","../../../../projects/libs/flex-layout/grid/column/column.ts","../../../../projects/libs/flex-layout/grid/columns/columns.ts","../../../../projects/libs/flex-layout/grid/gap/gap.ts","../../../../projects/libs/flex-layout/grid/row/row.ts","../../../../projects/libs/flex-layout/grid/rows/rows.ts","../../../../projects/libs/flex-layout/grid/module.ts","../../../../projects/libs/flex-layout/grid/public-api.ts","../../../../projects/libs/flex-layout/grid/angular-flex-layout-grid.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 {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","/**\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, 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} 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 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, 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} 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 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, 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, 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 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 {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 */\n\nexport * from './module';\n\nexport * from './align-columns/align-columns';\nexport * from './align-rows/align-rows';\nexport * from './area/area';\nexport * from './areas/areas';\nexport * from './auto/auto';\nexport * from './column/column';\nexport * from './columns/columns';\nexport * from './gap/gap';\nexport * from './grid-align/grid-align';\nexport * from './row/row';\nexport * from './rows/rows';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["buildCss","inputs","selector","DEFAULT_MAIN","DEFAULT_CROSS","DEFAULT_VALUE","AUTO_SPECIFIER"],"mappings":"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"}
@@ -0,0 +1,322 @@
1
+ import * as i0 from '@angular/core';
2
+ import { PLATFORM_ID, Injectable, Inject, NgModule } from '@angular/core';
3
+ import { DOCUMENT } from '@angular/common';
4
+ import { BEFORE_APP_SERIALIZED } from '@angular/platform-server';
5
+ import { ɵMatchMedia, BREAKPOINTS, LAYOUT_CONFIG, sortAscendingPriority, CLASS_NAME, StylesheetMap, MediaMarshaller, SERVER_TOKEN } from '@angular/flex-layout/core';
6
+
7
+ /**
8
+ * @license
9
+ * Copyright Google LLC All Rights Reserved.
10
+ *
11
+ * Use of this source code is governed by an MIT-style license that can be
12
+ * found in the LICENSE file at https://angular.io/license
13
+ */
14
+ /**
15
+ * Special server-only class to simulate a MediaQueryList and
16
+ * - supports manual activation to simulate mediaQuery matching
17
+ * - manages listeners
18
+ */
19
+ class ServerMediaQueryList {
20
+ constructor(_mediaQuery, _isActive = false) {
21
+ this._mediaQuery = _mediaQuery;
22
+ this._isActive = _isActive;
23
+ this._listeners = [];
24
+ this.onchange = null;
25
+ }
26
+ get matches() {
27
+ return this._isActive;
28
+ }
29
+ get media() {
30
+ return this._mediaQuery;
31
+ }
32
+ /**
33
+ * Destroy the current list by deactivating the
34
+ * listeners and clearing the internal list
35
+ */
36
+ destroy() {
37
+ this.deactivate();
38
+ this._listeners = [];
39
+ }
40
+ /** Notify all listeners that 'matches === TRUE' */
41
+ activate() {
42
+ if (!this._isActive) {
43
+ this._isActive = true;
44
+ this._listeners.forEach((callback) => {
45
+ const cb = callback;
46
+ cb.call(this, { matches: this.matches, media: this.media });
47
+ });
48
+ }
49
+ return this;
50
+ }
51
+ /** Notify all listeners that 'matches === false' */
52
+ deactivate() {
53
+ if (this._isActive) {
54
+ this._isActive = false;
55
+ this._listeners.forEach((callback) => {
56
+ const cb = callback;
57
+ cb.call(this, { matches: this.matches, media: this.media });
58
+ });
59
+ }
60
+ return this;
61
+ }
62
+ /** Add a listener to our internal list to activate later */
63
+ addListener(listener) {
64
+ if (this._listeners.indexOf(listener) === -1) {
65
+ this._listeners.push(listener);
66
+ }
67
+ if (this._isActive) {
68
+ const cb = listener;
69
+ cb.call(this, { matches: this.matches, media: this.media });
70
+ }
71
+ }
72
+ /** Don't need to remove listeners in the server environment */
73
+ removeListener() {
74
+ }
75
+ addEventListener() {
76
+ }
77
+ removeEventListener() {
78
+ }
79
+ dispatchEvent(_) {
80
+ return false;
81
+ }
82
+ }
83
+ /**
84
+ * Special server-only implementation of MatchMedia that uses the above
85
+ * ServerMediaQueryList as its internal representation
86
+ *
87
+ * Also contains methods to activate and deactivate breakpoints
88
+ */
89
+ class ServerMatchMedia extends ɵMatchMedia {
90
+ constructor(_zone, _platformId, _document, breakpoints, layoutConfig) {
91
+ super(_zone, _platformId, _document);
92
+ this._zone = _zone;
93
+ this._platformId = _platformId;
94
+ this._document = _document;
95
+ this.breakpoints = breakpoints;
96
+ this.layoutConfig = layoutConfig;
97
+ this._activeBreakpoints = [];
98
+ const serverBps = layoutConfig.ssrObserveBreakpoints;
99
+ if (serverBps) {
100
+ this._activeBreakpoints = serverBps
101
+ .reduce((acc, serverBp) => {
102
+ const foundBp = breakpoints.find(bp => serverBp === bp.alias);
103
+ if (!foundBp) {
104
+ console.warn(`FlexLayoutServerModule: unknown breakpoint alias "${serverBp}"`);
105
+ }
106
+ else {
107
+ acc.push(foundBp);
108
+ }
109
+ return acc;
110
+ }, []);
111
+ }
112
+ }
113
+ /** Activate the specified breakpoint if we're on the server, no-op otherwise */
114
+ activateBreakpoint(bp) {
115
+ const lookupBreakpoint = this.registry.get(bp.mediaQuery);
116
+ if (lookupBreakpoint) {
117
+ lookupBreakpoint.activate();
118
+ }
119
+ }
120
+ /** Deactivate the specified breakpoint if we're on the server, no-op otherwise */
121
+ deactivateBreakpoint(bp) {
122
+ const lookupBreakpoint = this.registry.get(bp.mediaQuery);
123
+ if (lookupBreakpoint) {
124
+ lookupBreakpoint.deactivate();
125
+ }
126
+ }
127
+ /**
128
+ * Call window.matchMedia() to build a MediaQueryList; which
129
+ * supports 0..n listeners for activation/deactivation
130
+ */
131
+ buildMQL(query) {
132
+ const isActive = this._activeBreakpoints.some(ab => ab.mediaQuery === query);
133
+ return new ServerMediaQueryList(query, isActive);
134
+ }
135
+ }
136
+ ServerMatchMedia.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ServerMatchMedia, deps: [{ token: i0.NgZone }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: BREAKPOINTS }, { token: LAYOUT_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
137
+ ServerMatchMedia.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ServerMatchMedia });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ServerMatchMedia, decorators: [{
139
+ type: Injectable
140
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: Object, decorators: [{
141
+ type: Inject,
142
+ args: [PLATFORM_ID]
143
+ }] }, { type: undefined, decorators: [{
144
+ type: Inject,
145
+ args: [DOCUMENT]
146
+ }] }, { type: undefined, decorators: [{
147
+ type: Inject,
148
+ args: [BREAKPOINTS]
149
+ }] }, { type: undefined, decorators: [{
150
+ type: Inject,
151
+ args: [LAYOUT_CONFIG]
152
+ }] }]; } });
153
+
154
+ /**
155
+ * @license
156
+ * Copyright Google LLC All Rights Reserved.
157
+ *
158
+ * Use of this source code is governed by an MIT-style license that can be
159
+ * found in the LICENSE file at https://angular.io/license
160
+ */
161
+ /**
162
+ * Activate all the registered breakpoints in sequence, and then
163
+ * retrieve the associated stylings from the virtual stylesheet
164
+ * @param serverSheet the virtual stylesheet that stores styles for each
165
+ * element
166
+ * @param mediaController the MatchMedia service to activate/deactivate breakpoints
167
+ * @param breakpoints the registered breakpoints to activate/deactivate
168
+ * @param mediaMarshaller the MediaMarshaller service to disable fallback styles dynamically
169
+ */
170
+ function generateStaticFlexLayoutStyles(serverSheet, mediaController, breakpoints, mediaMarshaller) {
171
+ // Store the custom classes in the following map, that way only
172
+ // one class gets allocated per HTMLElement, and each class can
173
+ // be referenced in the static media queries
174
+ const classMap = new Map();
175
+ // Get the initial stylings for all the directives,
176
+ // and initialize the fallback block of stylings.
177
+ const defaultStyles = new Map(serverSheet.stylesheet);
178
+ // Reset the class counter, otherwise class numbers will
179
+ // increase with each server render.
180
+ nextId = 0;
181
+ let styleText = generateCss(defaultStyles, 'all', classMap);
182
+ mediaMarshaller.useFallbacks = false;
183
+ [...breakpoints].sort(sortAscendingPriority).forEach((bp) => {
184
+ serverSheet.clearStyles();
185
+ mediaController.activateBreakpoint(bp);
186
+ const stylesheet = new Map(serverSheet.stylesheet);
187
+ if (stylesheet.size > 0) {
188
+ styleText += generateCss(stylesheet, bp.mediaQuery, classMap);
189
+ }
190
+ mediaController.deactivateBreakpoint(bp);
191
+ });
192
+ return styleText;
193
+ }
194
+ /**
195
+ * Create a style tag populated with the dynamic stylings from Flex
196
+ * components and attach it to the head of the DOM
197
+ */
198
+ function FLEX_SSR_SERIALIZER_FACTORY(serverSheet, mediaController, _document, breakpoints, mediaMarshaller) {
199
+ return () => {
200
+ // This is the style tag that gets inserted into the head of the DOM,
201
+ // populated with the manual media queries
202
+ const styleTag = _document.createElement('style');
203
+ const styleText = generateStaticFlexLayoutStyles(serverSheet, mediaController, breakpoints, mediaMarshaller);
204
+ styleTag.classList.add(`${CLASS_NAME}ssr`);
205
+ styleTag.textContent = styleText;
206
+ _document.head.appendChild(styleTag);
207
+ };
208
+ }
209
+ /**
210
+ * Provider to set static styles on the server
211
+ */
212
+ const SERVER_PROVIDERS = [
213
+ {
214
+ provide: BEFORE_APP_SERIALIZED,
215
+ useFactory: FLEX_SSR_SERIALIZER_FACTORY,
216
+ deps: [
217
+ StylesheetMap,
218
+ ɵMatchMedia,
219
+ DOCUMENT,
220
+ BREAKPOINTS,
221
+ MediaMarshaller,
222
+ ],
223
+ multi: true,
224
+ },
225
+ {
226
+ provide: SERVER_TOKEN,
227
+ useValue: true
228
+ },
229
+ {
230
+ provide: ɵMatchMedia,
231
+ useClass: ServerMatchMedia
232
+ }
233
+ ];
234
+ let nextId = 0;
235
+ const IS_DEBUG_MODE = false;
236
+ /**
237
+ * create @media queries based on a virtual stylesheet
238
+ * * Adds a unique class to each element and stores it
239
+ * in a shared classMap for later reuse
240
+ * @param stylesheet the virtual stylesheet that stores styles for each
241
+ * element
242
+ * @param mediaQuery the given @media CSS selector for the current breakpoint
243
+ * @param classMap the map of HTML elements to class names to avoid duplications
244
+ */
245
+ function generateCss(stylesheet, mediaQuery, classMap) {
246
+ let css = '';
247
+ stylesheet.forEach((styles, el) => {
248
+ let keyVals = '';
249
+ let className = getClassName(el, classMap);
250
+ styles.forEach((v, k) => {
251
+ keyVals += v ? format(`${k}:${v};`) : '';
252
+ });
253
+ if (keyVals) {
254
+ // Build list of CSS styles; each with a className
255
+ css += format(`.${className} {`, keyVals, '}');
256
+ }
257
+ });
258
+ // Group 1 or more styles (each with className) in a specific mediaQuery
259
+ return format(`@media ${mediaQuery} {`, css, '}');
260
+ }
261
+ /**
262
+ * For debugging purposes, prefix css segment with linefeed(s) for easy
263
+ * debugging purposes.
264
+ */
265
+ function format(...list) {
266
+ let result = '';
267
+ list.forEach((css, i) => {
268
+ result += IS_DEBUG_MODE ? formatSegment(css, i !== 0) : css;
269
+ });
270
+ return result;
271
+ }
272
+ function formatSegment(css, asPrefix = true) {
273
+ return asPrefix ? `\n${css}` : `${css}\n`;
274
+ }
275
+ /**
276
+ * Get className associated with CSS styling
277
+ * If not found, generate global className and set
278
+ * association.
279
+ */
280
+ function getClassName(element, classMap) {
281
+ let className = classMap.get(element);
282
+ if (!className) {
283
+ className = `${CLASS_NAME}${nextId++}`;
284
+ classMap.set(element, className);
285
+ }
286
+ element.classList.add(className);
287
+ return className;
288
+ }
289
+
290
+ /**
291
+ * @license
292
+ * Copyright Google LLC All Rights Reserved.
293
+ *
294
+ * Use of this source code is governed by an MIT-style license that can be
295
+ * found in the LICENSE file at https://angular.io/license
296
+ */
297
+ class FlexLayoutServerModule {
298
+ }
299
+ FlexLayoutServerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutServerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
300
+ FlexLayoutServerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutServerModule });
301
+ FlexLayoutServerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutServerModule, providers: [SERVER_PROVIDERS] });
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutServerModule, decorators: [{
303
+ type: NgModule,
304
+ args: [{
305
+ providers: [SERVER_PROVIDERS]
306
+ }]
307
+ }] });
308
+
309
+ /**
310
+ * @license
311
+ * Copyright Google LLC All Rights Reserved.
312
+ *
313
+ * Use of this source code is governed by an MIT-style license that can be
314
+ * found in the LICENSE file at https://angular.io/license
315
+ */
316
+
317
+ /**
318
+ * Generated bundle index. Do not edit.
319
+ */
320
+
321
+ export { FLEX_SSR_SERIALIZER_FACTORY, FlexLayoutServerModule, SERVER_PROVIDERS, generateStaticFlexLayoutStyles };
322
+ //# sourceMappingURL=angular-flex-layout-server.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-flex-layout-server.mjs","sources":["../../../../projects/libs/flex-layout/server/server-match-media.ts","../../../../projects/libs/flex-layout/server/server-provider.ts","../../../../projects/libs/flex-layout/server/module.ts","../../../../projects/libs/flex-layout/server/public-api.ts","../../../../projects/libs/flex-layout/server/angular-flex-layout-server.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 {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, NgZone, PLATFORM_ID} from '@angular/core';\nimport {\n BreakPoint,\n ɵMatchMedia as MatchMedia,\n BREAKPOINTS,\n LAYOUT_CONFIG,\n LayoutConfigOptions\n} from '@angular/flex-layout/core';\n\n/**\n * Special server-only class to simulate a MediaQueryList and\n * - supports manual activation to simulate mediaQuery matching\n * - manages listeners\n */\nexport class ServerMediaQueryList implements MediaQueryList {\n private _listeners: MediaQueryListListener[] = [];\n\n get matches(): boolean {\n return this._isActive;\n }\n\n get media(): string {\n return this._mediaQuery;\n }\n\n constructor(private _mediaQuery: string, private _isActive = false) {}\n\n /**\n * Destroy the current list by deactivating the\n * listeners and clearing the internal list\n */\n destroy() {\n this.deactivate();\n this._listeners = [];\n }\n\n /** Notify all listeners that 'matches === TRUE' */\n activate(): ServerMediaQueryList {\n if (!this._isActive) {\n this._isActive = true;\n this._listeners.forEach((callback) => {\n const cb: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) = callback!;\n cb.call(this, {matches: this.matches, media: this.media} as MediaQueryListEvent);\n });\n }\n return this;\n }\n\n /** Notify all listeners that 'matches === false' */\n deactivate(): ServerMediaQueryList {\n if (this._isActive) {\n this._isActive = false;\n this._listeners.forEach((callback) => {\n const cb: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) = callback!;\n cb.call(this, {matches: this.matches, media: this.media} as MediaQueryListEvent);\n });\n }\n return this;\n }\n\n /** Add a listener to our internal list to activate later */\n addListener(listener: MediaQueryListListener) {\n if (this._listeners.indexOf(listener) === -1) {\n this._listeners.push(listener);\n }\n if (this._isActive) {\n const cb: ((this: MediaQueryList, ev: MediaQueryListEvent) => any) = listener!;\n cb.call(this, {matches: this.matches, media: this.media} as MediaQueryListEvent);\n }\n }\n\n /** Don't need to remove listeners in the server environment */\n removeListener() {\n }\n\n addEventListener() {\n }\n\n removeEventListener() {\n }\n\n dispatchEvent(_: Event): boolean {\n return false;\n }\n\n onchange: MediaQueryListListener = null;\n}\n\n/**\n * Special server-only implementation of MatchMedia that uses the above\n * ServerMediaQueryList as its internal representation\n *\n * Also contains methods to activate and deactivate breakpoints\n */\n@Injectable()\nexport class ServerMatchMedia extends MatchMedia {\n private _activeBreakpoints: BreakPoint[] = [];\n\n constructor(protected _zone: NgZone,\n @Inject(PLATFORM_ID) protected _platformId: Object,\n @Inject(DOCUMENT) protected _document: any,\n @Inject(BREAKPOINTS) protected breakpoints: BreakPoint[],\n @Inject(LAYOUT_CONFIG) protected layoutConfig: LayoutConfigOptions) {\n super(_zone, _platformId, _document);\n\n const serverBps = layoutConfig.ssrObserveBreakpoints;\n if (serverBps) {\n this._activeBreakpoints = serverBps\n .reduce((acc: BreakPoint[], serverBp: string) => {\n const foundBp = breakpoints.find(bp => serverBp === bp.alias);\n if (!foundBp) {\n console.warn(`FlexLayoutServerModule: unknown breakpoint alias \"${serverBp}\"`);\n } else {\n acc.push(foundBp);\n }\n return acc;\n }, []);\n }\n }\n\n /** Activate the specified breakpoint if we're on the server, no-op otherwise */\n activateBreakpoint(bp: BreakPoint) {\n const lookupBreakpoint = this.registry.get(bp.mediaQuery) as ServerMediaQueryList;\n if (lookupBreakpoint) {\n lookupBreakpoint.activate();\n }\n }\n\n /** Deactivate the specified breakpoint if we're on the server, no-op otherwise */\n deactivateBreakpoint(bp: BreakPoint) {\n const lookupBreakpoint = this.registry.get(bp.mediaQuery) as ServerMediaQueryList;\n if (lookupBreakpoint) {\n lookupBreakpoint.deactivate();\n }\n }\n\n /**\n * Call window.matchMedia() to build a MediaQueryList; which\n * supports 0..n listeners for activation/deactivation\n */\n protected buildMQL(query: string): ServerMediaQueryList {\n const isActive = this._activeBreakpoints.some(ab => ab.mediaQuery === query);\n\n return new ServerMediaQueryList(query, isActive);\n }\n}\n\ntype MediaQueryListListener = ((this: MediaQueryList, ev: MediaQueryListEvent) => any) | null;\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 {DOCUMENT} from '@angular/common';\nimport {BEFORE_APP_SERIALIZED} from '@angular/platform-server';\nimport {\n BREAKPOINTS,\n CLASS_NAME,\n SERVER_TOKEN,\n BreakPoint,\n ɵMatchMedia as MatchMedia,\n StylesheetMap,\n sortAscendingPriority,\n MediaMarshaller,\n} from '@angular/flex-layout/core';\n\nimport {ServerMatchMedia} from './server-match-media';\n\n/**\n * Activate all the registered breakpoints in sequence, and then\n * retrieve the associated stylings from the virtual stylesheet\n * @param serverSheet the virtual stylesheet that stores styles for each\n * element\n * @param mediaController the MatchMedia service to activate/deactivate breakpoints\n * @param breakpoints the registered breakpoints to activate/deactivate\n * @param mediaMarshaller the MediaMarshaller service to disable fallback styles dynamically\n */\nexport function generateStaticFlexLayoutStyles(serverSheet: StylesheetMap,\n mediaController: ServerMatchMedia,\n breakpoints: BreakPoint[],\n mediaMarshaller: MediaMarshaller) {\n // Store the custom classes in the following map, that way only\n // one class gets allocated per HTMLElement, and each class can\n // be referenced in the static media queries\n const classMap = new Map<HTMLElement, string>();\n\n // Get the initial stylings for all the directives,\n // and initialize the fallback block of stylings.\n const defaultStyles = new Map(serverSheet.stylesheet);\n // Reset the class counter, otherwise class numbers will\n // increase with each server render.\n nextId = 0;\n let styleText = generateCss(defaultStyles, 'all', classMap);\n mediaMarshaller.useFallbacks = false;\n\n [...breakpoints].sort(sortAscendingPriority).forEach((bp) => {\n serverSheet.clearStyles();\n mediaController.activateBreakpoint(bp);\n const stylesheet = new Map(serverSheet.stylesheet);\n if (stylesheet.size > 0) {\n styleText += generateCss(stylesheet, bp.mediaQuery, classMap);\n }\n mediaController.deactivateBreakpoint(bp);\n });\n\n return styleText;\n}\n\n/**\n * Create a style tag populated with the dynamic stylings from Flex\n * components and attach it to the head of the DOM\n */\nexport function FLEX_SSR_SERIALIZER_FACTORY(serverSheet: StylesheetMap,\n mediaController: ServerMatchMedia,\n _document: Document,\n breakpoints: BreakPoint[],\n mediaMarshaller: MediaMarshaller) {\n return () => {\n // This is the style tag that gets inserted into the head of the DOM,\n // populated with the manual media queries\n const styleTag = _document.createElement('style');\n const styleText = generateStaticFlexLayoutStyles(\n serverSheet, mediaController, breakpoints, mediaMarshaller);\n styleTag.classList.add(`${CLASS_NAME}ssr`);\n styleTag.textContent = styleText;\n _document.head!.appendChild(styleTag);\n };\n}\n\n/**\n * Provider to set static styles on the server\n */\nexport const SERVER_PROVIDERS = [\n {\n provide: BEFORE_APP_SERIALIZED,\n useFactory: FLEX_SSR_SERIALIZER_FACTORY,\n deps: [\n StylesheetMap,\n MatchMedia,\n DOCUMENT,\n BREAKPOINTS,\n MediaMarshaller,\n ],\n multi: true,\n },\n {\n provide: SERVER_TOKEN,\n useValue: true\n },\n {\n provide: MatchMedia,\n useClass: ServerMatchMedia\n }\n];\n\n\nlet nextId = 0;\nconst IS_DEBUG_MODE = false;\n\nexport type StyleSheet = Map<HTMLElement, Map<string, string|number>>;\nexport type ClassMap = Map<HTMLElement, string>;\n\n/**\n * create @media queries based on a virtual stylesheet\n * * Adds a unique class to each element and stores it\n * in a shared classMap for later reuse\n * @param stylesheet the virtual stylesheet that stores styles for each\n * element\n * @param mediaQuery the given @media CSS selector for the current breakpoint\n * @param classMap the map of HTML elements to class names to avoid duplications\n */\nfunction generateCss(stylesheet: StyleSheet, mediaQuery: string, classMap: ClassMap) {\n let css = '';\n stylesheet.forEach((styles, el) => {\n let keyVals = '';\n let className = getClassName(el, classMap);\n\n styles.forEach((v, k) => {\n keyVals += v ? format(`${k}:${v};`) : '';\n });\n\n if (keyVals) {\n // Build list of CSS styles; each with a className\n css += format(`.${className} {`, keyVals, '}');\n }\n });\n\n // Group 1 or more styles (each with className) in a specific mediaQuery\n return format(`@media ${mediaQuery} {`, css, '}');\n}\n\n/**\n * For debugging purposes, prefix css segment with linefeed(s) for easy\n * debugging purposes.\n */\nfunction format(...list: string[]): string {\n let result = '';\n list.forEach((css, i) => {\n result += IS_DEBUG_MODE ? formatSegment(css, i !== 0) : css;\n });\n return result;\n}\n\nfunction formatSegment(css: string, asPrefix: boolean = true): string {\n return asPrefix ? `\\n${css}` : `${css}\\n`;\n}\n\n/**\n * Get className associated with CSS styling\n * If not found, generate global className and set\n * association.\n */\nfunction getClassName(element: HTMLElement, classMap: Map<HTMLElement, string>) {\n let className = classMap.get(element);\n if (!className) {\n className = `${CLASS_NAME}${nextId++}`;\n classMap.set(element, className);\n }\n element.classList.add(className);\n\n return className;\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';\n\nimport {SERVER_PROVIDERS} from './server-provider';\n\n@NgModule({\n providers: [SERVER_PROVIDERS]\n})\nexport class FlexLayoutServerModule {}\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 */\n\nexport * from './module';\nexport * from './server-provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MatchMedia"],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Version, PLATFORM_ID, NgModule, Inject } from '@angular/core';
3
+ import { LAYOUT_CONFIG, DEFAULT_CONFIG, BREAKPOINT, SERVER_TOKEN } from '@angular/flex-layout/core';
4
+ export * from '@angular/flex-layout/core';
5
+ import { ExtendedModule } from '@angular/flex-layout/extended';
6
+ export * from '@angular/flex-layout/extended';
7
+ import { FlexModule } from '@angular/flex-layout/flex';
8
+ export * from '@angular/flex-layout/flex';
9
+ import { GridModule } from '@angular/flex-layout/grid';
10
+ export * from '@angular/flex-layout/grid';
11
+ import { isPlatformServer } from '@angular/common';
12
+
13
+ /**
14
+ * @license
15
+ * Copyright Google LLC All Rights Reserved.
16
+ *
17
+ * Use of this source code is governed by an MIT-style license that can be
18
+ * found in the LICENSE file at https://angular.io/license
19
+ */
20
+ /** Current version of Angular Flex-Layout. */
21
+ const VERSION = new Version('13.0.0-beta.38');
22
+
23
+ /**
24
+ * @license
25
+ * Copyright Google LLC All Rights Reserved.
26
+ *
27
+ * Use of this source code is governed by an MIT-style license that can be
28
+ * found in the LICENSE file at https://angular.io/license
29
+ */
30
+ /**
31
+ * FlexLayoutModule -- the main import for all utilities in the Angular Layout library
32
+ * * Will automatically provide Flex, Grid, and Extended modules for use in the application
33
+ * * Can be configured using the static withConfig method, options viewable on the Wiki's
34
+ * Configuration page
35
+ */
36
+ class FlexLayoutModule {
37
+ constructor(serverModuleLoaded, platformId) {
38
+ if (isPlatformServer(platformId) && !serverModuleLoaded) {
39
+ console.warn('Warning: Flex Layout loaded on the server without FlexLayoutServerModule');
40
+ }
41
+ }
42
+ /**
43
+ * Initialize the FlexLayoutModule with a set of config options,
44
+ * which sets the corresponding tokens accordingly
45
+ */
46
+ static withConfig(configOptions,
47
+ // tslint:disable-next-line:max-line-length
48
+ breakpoints = []) {
49
+ return {
50
+ ngModule: FlexLayoutModule,
51
+ providers: configOptions.serverLoaded ?
52
+ [
53
+ { provide: LAYOUT_CONFIG, useValue: { ...DEFAULT_CONFIG, ...configOptions } },
54
+ { provide: BREAKPOINT, useValue: breakpoints, multi: true },
55
+ { provide: SERVER_TOKEN, useValue: true },
56
+ ] : [
57
+ { provide: LAYOUT_CONFIG, useValue: { ...DEFAULT_CONFIG, ...configOptions } },
58
+ { provide: BREAKPOINT, useValue: breakpoints, multi: true },
59
+ ]
60
+ };
61
+ }
62
+ }
63
+ FlexLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutModule, deps: [{ token: SERVER_TOKEN }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule });
64
+ FlexLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutModule, imports: [FlexModule, ExtendedModule, GridModule], exports: [FlexModule, ExtendedModule, GridModule] });
65
+ FlexLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutModule, imports: [[FlexModule, ExtendedModule, GridModule], FlexModule, ExtendedModule, GridModule] });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FlexLayoutModule, decorators: [{
67
+ type: NgModule,
68
+ args: [{
69
+ imports: [FlexModule, ExtendedModule, GridModule],
70
+ exports: [FlexModule, ExtendedModule, GridModule]
71
+ }]
72
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
73
+ type: Inject,
74
+ args: [SERVER_TOKEN]
75
+ }] }, { type: Object, decorators: [{
76
+ type: Inject,
77
+ args: [PLATFORM_ID]
78
+ }] }]; } });
79
+
80
+ /**
81
+ * @license
82
+ * Copyright Google LLC All Rights Reserved.
83
+ *
84
+ * Use of this source code is governed by an MIT-style license that can be
85
+ * found in the LICENSE file at https://angular.io/license
86
+ */
87
+
88
+ /**
89
+ * Generated bundle index. Do not edit.
90
+ */
91
+
92
+ export { FlexLayoutModule, VERSION };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-flex-layout.mjs","sources":["../../../../projects/libs/flex-layout/version.ts","../../../../projects/libs/flex-layout/module.ts","../../../../projects/libs/flex-layout/public-api.ts","../../../../projects/libs/flex-layout/angular-flex-layout.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 */\n\nimport {Version} from '@angular/core';\n\n/** Current version of Angular Flex-Layout. */\nexport const VERSION = new Version('13.0.0-beta.38');\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 {Inject, ModuleWithProviders, NgModule, PLATFORM_ID} from '@angular/core';\nimport {isPlatformServer} from '@angular/common';\n\nimport {\n SERVER_TOKEN,\n LayoutConfigOptions,\n LAYOUT_CONFIG,\n DEFAULT_CONFIG,\n BreakPoint,\n BREAKPOINT,\n} from '@angular/flex-layout/core';\nimport {ExtendedModule} from '@angular/flex-layout/extended';\nimport {FlexModule} from '@angular/flex-layout/flex';\nimport {GridModule} from '@angular/flex-layout/grid';\n\n/**\n * FlexLayoutModule -- the main import for all utilities in the Angular Layout library\n * * Will automatically provide Flex, Grid, and Extended modules for use in the application\n * * Can be configured using the static withConfig method, options viewable on the Wiki's\n * Configuration page\n */\n@NgModule({\n imports: [FlexModule, ExtendedModule, GridModule],\n exports: [FlexModule, ExtendedModule, GridModule]\n})\nexport class FlexLayoutModule {\n\n /**\n * Initialize the FlexLayoutModule with a set of config options,\n * which sets the corresponding tokens accordingly\n */\n static withConfig(configOptions: LayoutConfigOptions,\n // tslint:disable-next-line:max-line-length\n breakpoints: BreakPoint|BreakPoint[] = []): ModuleWithProviders<FlexLayoutModule> {\n return {\n ngModule: FlexLayoutModule,\n providers: configOptions.serverLoaded ?\n [\n {provide: LAYOUT_CONFIG, useValue: {...DEFAULT_CONFIG, ...configOptions}},\n {provide: BREAKPOINT, useValue: breakpoints, multi: true},\n {provide: SERVER_TOKEN, useValue: true},\n ] : [\n {provide: LAYOUT_CONFIG, useValue: {...DEFAULT_CONFIG, ...configOptions}},\n {provide: BREAKPOINT, useValue: breakpoints, multi: true},\n ]\n };\n }\n\n constructor(@Inject(SERVER_TOKEN) serverModuleLoaded: boolean,\n @Inject(PLATFORM_ID) platformId: Object) {\n if (isPlatformServer(platformId) && !serverModuleLoaded) {\n console.warn('Warning: Flex Layout loaded on the server without FlexLayoutServerModule');\n }\n }\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 */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of Angular Flex-Layout.\n */\nexport * from './version';\n\nexport * from '@angular/flex-layout/core';\nexport * from '@angular/flex-layout/extended';\nexport * from '@angular/flex-layout/flex';\nexport * from '@angular/flex-layout/grid';\n\n// Flex-Layout Module\nexport * from './module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;AAUA;MACa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB;;ACXtD;;;;;;;AAsBA;;;;;;MAUa,gBAAgB;IAuB3B,YAAkC,kBAA2B,EAC5B,UAAkB;QACjD,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACvD,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;SAC1F;KACF;;;;;IAtBD,OAAO,UAAU,CAAC,aAAkC;;IAElC,cAAuC,EAAE;QACzD,OAAO;YACL,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,aAAa,CAAC,YAAY;gBACnC;oBACE,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAC,GAAG,cAAc,EAAE,GAAG,aAAa,EAAC,EAAC;oBACzE,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAC;oBACzD,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC;iBACxC,GAAG;gBACF,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAC,GAAG,cAAc,EAAE,GAAG,aAAa,EAAC,EAAC;gBACzE,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAC;aAC1D;SACJ,CAAC;KACH;;6GArBU,gBAAgB,kBAuBP,YAAY,aACZ,WAAW;8GAxBpB,gBAAgB,YAHjB,UAAU,EAAE,cAAc,EAAE,UAAU,aACtC,UAAU,EAAE,cAAc,EAAE,UAAU;8GAErC,gBAAgB,YAHlB,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,EACvC,UAAU,EAAE,cAAc,EAAE,UAAU;2FAErC,gBAAgB;kBAJ5B,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC;oBACjD,OAAO,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC;iBAClD;;0BAwBc,MAAM;2BAAC,YAAY;8BACa,MAAM;0BAAtC,MAAM;2BAAC,WAAW;;;ACxDjC;;;;;;;;ACAA;;;;;;"}
package/flex/README.md ADDED
@@ -0,0 +1,19 @@
1
+ The `flex` entrypoint contains all of the flexbox APIs provided by the
2
+ Layout library. This includes directives for flexbox containers like
3
+ `fxLayout` (a.k.a. `FlexLayoutDirective`) and children like `fxFlex`
4
+ (a.k.a. `FlexDirective`). The main export from this entrypoint is the
5
+ `FlexModule` that encapsulates these directives, and can be
6
+ imported separately to take advantage of tree shaking.
7
+
8
+ ```typescript
9
+ import {NgModule} from '@angular/core';
10
+ import {FlexModule} from '@angular/flex-layout/flex';
11
+
12
+ @NgModule(({
13
+ imports: [
14
+ ... other imports here
15
+ FlexModule,
16
+ ]
17
+ }))
18
+ export class AppModule {}
19
+ ```
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@angular/flex-layout/flex" />
5
+ export * from './public-api';