@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,76 @@
1
+ @charset "UTF-8";
2
+
3
+ // Non-overlapping Material Design breakpoints
4
+ // @type map
5
+ $breakpoints: (
6
+ xs: (
7
+ begin: 0,
8
+ end: 599.9px
9
+ ),
10
+ sm: (
11
+ begin: 600px,
12
+ end: 959.9px
13
+ ),
14
+ md: (
15
+ begin: 960px,
16
+ end: 1279.9px
17
+ ),
18
+ lg: (
19
+ begin: 1280px,
20
+ end: 1919.9px
21
+ ),
22
+ xl: (
23
+ begin: 1920px,
24
+ end: 4999.99px
25
+ ),
26
+ ) !default;
27
+
28
+ // Overlapping breakpoints that are greater than defined
29
+ // Material Design breakpoints
30
+ // @type map
31
+ $overlapping-gt: (
32
+ gt-xs: 600px,
33
+ gt-sm: 960px,
34
+ gt-md: 1280px,
35
+ gt-lg: 1920px,
36
+ ) !default;
37
+
38
+ // Overlapping breakpoints that are less than defined
39
+ // Material Design breakpoints
40
+ // @type map
41
+ $overlapping-lt: (
42
+ lt-sm: 599.9px,
43
+ lt-md: 959.9px,
44
+ lt-lg: 1279.9px,
45
+ lt-xl: 1919.9px,
46
+ ) !default;
47
+
48
+
49
+ // Media Query Mixin, takes a breakpoint and returns a wrapping
50
+ // media query statement
51
+ // e.g.
52
+ //
53
+ // @include layout-bp(xs) {
54
+ // background-color: red;
55
+ // }
56
+ //
57
+ // becomes
58
+ //
59
+ // @media (min-width: 0px) and (max-width: 599px) {
60
+ // background-color: red;
61
+ // }
62
+ @mixin layout-bp($bp) {
63
+ @if map-has-key($breakpoints, $bp) {
64
+ $min: map-get(map-get($breakpoints, $bp), begin);
65
+ $max: map-get(map-get($breakpoints, $bp), end);
66
+ @media (min-width: $min) and (max-width: $max) { @content; }
67
+ }
68
+ @else if map-has-key($overlapping-gt, $bp) {
69
+ $min: map-get($overlapping-gt, $bp);
70
+ @media (min-width: $min) { @content; }
71
+ }
72
+ @else if map-has-key($overlapping-lt, $bp) {
73
+ $max: map-get($overlapping-lt, $bp);
74
+ @media (max-width: $max) { @content; }
75
+ }
76
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { StyleDefinition } from '../style-utils/style-utils';
9
+ /** A class that encapsulates CSS style generation for common directives */
10
+ export declare abstract class StyleBuilder {
11
+ /** Whether to cache the generated output styles */
12
+ shouldCache: boolean;
13
+ /** Build the styles given an input string and configuration object from a host */
14
+ abstract buildStyles(input: string, parent?: Object): StyleDefinition;
15
+ /**
16
+ * Run a side effect computation given the input string and the computed styles
17
+ * from the build task and the host configuration object
18
+ * NOTE: This should be a no-op unless an algorithm is provided in a subclass
19
+ */
20
+ sideEffect(_input: string, _styles: StyleDefinition, _parent?: Object): void;
21
+ }
@@ -0,0 +1,53 @@
1
+ import { StylesheetMap } from '../stylesheet-map/stylesheet-map';
2
+ import { LayoutConfigOptions } from '../tokens/library-config';
3
+ import * as i0 from "@angular/core";
4
+ export declare class StyleUtils {
5
+ private _serverStylesheet;
6
+ private _serverModuleLoaded;
7
+ private _platformId;
8
+ private layoutConfig;
9
+ constructor(_serverStylesheet: StylesheetMap, _serverModuleLoaded: boolean, _platformId: Object, layoutConfig: LayoutConfigOptions);
10
+ /**
11
+ * Applies styles given via string pair or object map to the directive element
12
+ */
13
+ applyStyleToElement(element: HTMLElement, style: StyleDefinition | string, value?: string | number | null): void;
14
+ /**
15
+ * Applies styles given via string pair or object map to the directive's element
16
+ */
17
+ applyStyleToElements(style: StyleDefinition, elements?: HTMLElement[]): void;
18
+ /**
19
+ * Determine the DOM element's Flexbox flow (flex-direction)
20
+ *
21
+ * Check inline style first then check computed (stylesheet) style
22
+ */
23
+ getFlowDirection(target: HTMLElement): [string, string];
24
+ hasWrap(target: HTMLElement): boolean;
25
+ /**
26
+ * Find the DOM element's raw attribute value (if any)
27
+ */
28
+ lookupAttributeValue(element: HTMLElement, attribute: string): string;
29
+ /**
30
+ * Find the DOM element's inline style value (if any)
31
+ */
32
+ lookupInlineStyle(element: HTMLElement, styleName: string): string;
33
+ /**
34
+ * Determine the inline or inherited CSS style
35
+ * NOTE: platform-server has no implementation for getComputedStyle
36
+ */
37
+ lookupStyle(element: HTMLElement, styleName: string, inlineOnly?: boolean): string;
38
+ /**
39
+ * Applies the styles to the element. The styles object map may contain an array of values
40
+ * Each value will be added as element style
41
+ * Keys are sorted to add prefixed styles (like -webkit-x) first, before the standard ones
42
+ */
43
+ private _applyMultiValueStyleToElement;
44
+ static ɵfac: i0.ɵɵFactoryDeclaration<StyleUtils, never>;
45
+ static ɵprov: i0.ɵɵInjectableDeclaration<StyleUtils>;
46
+ }
47
+ /**
48
+ * Definition of a css style. Either a property name (e.g. "flex-basis") or an object
49
+ * map of property name and value (e.g. {display: 'none', flex-order: 5})
50
+ */
51
+ export declare type StyleDefinition = {
52
+ [property: string]: string | number | null;
53
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ export * from './stylesheet-map';
@@ -0,0 +1,24 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Utility to emulate a CSS stylesheet
4
+ *
5
+ * This utility class stores all of the styles for a given HTML element
6
+ * as a readonly `stylesheet` map.
7
+ */
8
+ export declare class StylesheetMap {
9
+ readonly stylesheet: Map<HTMLElement, Map<string, string | number>>;
10
+ /**
11
+ * Add an individual style to an HTML element
12
+ */
13
+ addStyleToElement(element: HTMLElement, style: string, value: string | number): void;
14
+ /**
15
+ * Clear the virtual stylesheet
16
+ */
17
+ clearStyles(): void;
18
+ /**
19
+ * Retrieve a given style for an HTML element
20
+ */
21
+ getStyleForElement(el: HTMLElement, styleName: string): string;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<StylesheetMap, never>;
23
+ static ɵprov: i0.ɵɵInjectableDeclaration<StylesheetMap>;
24
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { InjectionToken } from '@angular/core';
9
+ import { BreakPoint } from '../breakpoints/break-point';
10
+ export declare const BREAKPOINT: InjectionToken<BreakPoint | BreakPoint[] | null>;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ export * from './library-config';
9
+ export * from './server-token';
10
+ export * from './breakpoint-token';
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { InjectionToken } from '@angular/core';
9
+ import { Multiplier } from '../multiply/multiplier';
10
+ /** a set of configuration options for FlexLayoutModule */
11
+ export interface LayoutConfigOptions {
12
+ addFlexToParent?: boolean;
13
+ addOrientationBps?: boolean;
14
+ disableDefaultBps?: boolean;
15
+ disableVendorPrefixes?: boolean;
16
+ serverLoaded?: boolean;
17
+ useColumnBasisZero?: boolean;
18
+ printWithBreakpoints?: string[];
19
+ mediaTriggerAutoRestore?: boolean;
20
+ ssrObserveBreakpoints?: string[];
21
+ multiplier?: Multiplier;
22
+ defaultUnit?: string;
23
+ detectLayoutDisplay?: boolean;
24
+ }
25
+ export declare const DEFAULT_CONFIG: Required<LayoutConfigOptions>;
26
+ export declare const LAYOUT_CONFIG: InjectionToken<LayoutConfigOptions>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { InjectionToken } from '@angular/core';
9
+ /**
10
+ * Token that is provided to tell whether the FlexLayoutServerModule
11
+ * has been included in the bundle
12
+ *
13
+ * NOTE: This can be manually provided to disable styles when using SSR
14
+ */
15
+ export declare const SERVER_TOKEN: InjectionToken<boolean>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ /** Wraps the provided value in an array, unless the provided value is an array. */
9
+ export declare function coerceArray<T>(value: T | T[]): T[];
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ export * from './sort';
9
+ export * from './array';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ interface WithPriority {
9
+ priority?: number;
10
+ }
11
+ /** HOF to sort the breakpoints by descending priority */
12
+ export declare function sortDescendingPriority<T extends WithPriority>(a: T | null, b: T | null): number;
13
+ /** HOF to sort the breakpoints by ascending priority */
14
+ export declare function sortAscendingPriority<T extends WithPriority>(a: T, b: T): number;
15
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1mbGV4LWxheW91dC1fcHJpdmF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYnMvZmxleC1sYXlvdXQvX3ByaXZhdGUtdXRpbHMvYW5ndWxhci1mbGV4LWxheW91dC1fcHJpdmF0ZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ /**
9
+ * Applies CSS prefixes to appropriate style keys.
10
+ *
11
+ * Note: `-ms-`, `-moz` and `-webkit-box` are no longer supported. e.g.
12
+ * {
13
+ * display: -webkit-flex; NEW - Safari 6.1+. iOS 7.1+, BB10
14
+ * display: flex; NEW, Spec - Firefox, Chrome, Opera
15
+ * // display: -webkit-box; OLD - iOS 6-, Safari 3.1-6, BB7
16
+ * // display: -ms-flexbox; TWEENER - IE 10
17
+ * // display: -moz-flexbox; OLD - Firefox
18
+ * }
19
+ */
20
+ export function applyCssPrefixes(target) {
21
+ for (let key in target) {
22
+ let value = target[key] || '';
23
+ switch (key) {
24
+ case 'display':
25
+ if (value === 'flex') {
26
+ target['display'] = [
27
+ '-webkit-flex',
28
+ 'flex'
29
+ ];
30
+ }
31
+ else if (value === 'inline-flex') {
32
+ target['display'] = [
33
+ '-webkit-inline-flex',
34
+ 'inline-flex'
35
+ ];
36
+ }
37
+ else {
38
+ target['display'] = value;
39
+ }
40
+ break;
41
+ case 'align-items':
42
+ case 'align-self':
43
+ case 'align-content':
44
+ case 'flex':
45
+ case 'flex-basis':
46
+ case 'flex-flow':
47
+ case 'flex-grow':
48
+ case 'flex-shrink':
49
+ case 'flex-wrap':
50
+ case 'justify-content':
51
+ target['-webkit-' + key] = value;
52
+ break;
53
+ case 'flex-direction':
54
+ value = value || 'row';
55
+ target['-webkit-flex-direction'] = value;
56
+ target['flex-direction'] = value;
57
+ break;
58
+ case 'order':
59
+ target['order'] = target['-webkit-' + key] = isNaN(+value) ? '0' : value;
60
+ break;
61
+ }
62
+ }
63
+ return target;
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wcmVmaXhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYnMvZmxleC1sYXlvdXQvX3ByaXZhdGUtdXRpbHMvYXV0by1wcmVmaXhlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFtQztJQUNsRSxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtRQUN0QixJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTlCLFFBQVEsR0FBRyxFQUFFO1lBQ1gsS0FBSyxTQUFTO2dCQUNaLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtvQkFDcEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHO3dCQUNsQixjQUFjO3dCQUNkLE1BQU07cUJBQ1AsQ0FBQztpQkFDSDtxQkFBTSxJQUFJLEtBQUssS0FBSyxhQUFhLEVBQUU7b0JBQ2xDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRzt3QkFDbEIscUJBQXFCO3dCQUNyQixhQUFhO3FCQUNkLENBQUM7aUJBQ0g7cUJBQU07b0JBQ0wsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztpQkFDM0I7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssYUFBYSxDQUFDO1lBQ25CLEtBQUssWUFBWSxDQUFDO1lBQ2xCLEtBQUssZUFBZSxDQUFDO1lBQ3JCLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxZQUFZLENBQUM7WUFDbEIsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxhQUFhLENBQUM7WUFDbkIsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxpQkFBaUI7Z0JBQ3BCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUNqQyxNQUFNO1lBRVIsS0FBSyxnQkFBZ0I7Z0JBQ25CLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDO2dCQUN2QixNQUFNLENBQUMsd0JBQXdCLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDakMsTUFBTTtZQUVSLEtBQUssT0FBTztnQkFDVixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pFLE1BQU07U0FDVDtLQUNGO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuLyoqXG4gKiBBcHBsaWVzIENTUyBwcmVmaXhlcyB0byBhcHByb3ByaWF0ZSBzdHlsZSBrZXlzLlxuICpcbiAqIE5vdGU6IGAtbXMtYCwgYC1tb3pgIGFuZCBgLXdlYmtpdC1ib3hgIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLiBlLmcuXG4gKiAgICB7XG4gKiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsgICAgIE5FVyAtIFNhZmFyaSA2LjErLiBpT1MgNy4xKywgQkIxMFxuICogICAgICBkaXNwbGF5OiBmbGV4OyAgICAgICAgICAgICBORVcsIFNwZWMgLSBGaXJlZm94LCBDaHJvbWUsIE9wZXJhXG4gKiAgICAgIC8vIGRpc3BsYXk6IC13ZWJraXQtYm94OyAgIE9MRCAtIGlPUyA2LSwgU2FmYXJpIDMuMS02LCBCQjdcbiAqICAgICAgLy8gZGlzcGxheTogLW1zLWZsZXhib3g7ICAgVFdFRU5FUiAtIElFIDEwXG4gKiAgICAgIC8vIGRpc3BsYXk6IC1tb3otZmxleGJveDsgIE9MRCAtIEZpcmVmb3hcbiAqICAgIH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5Q3NzUHJlZml4ZXModGFyZ2V0OiB7W2tleTogc3RyaW5nXTogYW55IHwgbnVsbH0pIHtcbiAgZm9yIChsZXQga2V5IGluIHRhcmdldCkge1xuICAgIGxldCB2YWx1ZSA9IHRhcmdldFtrZXldIHx8ICcnO1xuXG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgJ2Rpc3BsYXknOlxuICAgICAgICBpZiAodmFsdWUgPT09ICdmbGV4Jykge1xuICAgICAgICAgIHRhcmdldFsnZGlzcGxheSddID0gW1xuICAgICAgICAgICAgJy13ZWJraXQtZmxleCcsXG4gICAgICAgICAgICAnZmxleCdcbiAgICAgICAgICBdO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnaW5saW5lLWZsZXgnKSB7XG4gICAgICAgICAgdGFyZ2V0WydkaXNwbGF5J10gPSBbXG4gICAgICAgICAgICAnLXdlYmtpdC1pbmxpbmUtZmxleCcsXG4gICAgICAgICAgICAnaW5saW5lLWZsZXgnXG4gICAgICAgICAgXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXRbJ2Rpc3BsYXknXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdhbGlnbi1pdGVtcyc6XG4gICAgICBjYXNlICdhbGlnbi1zZWxmJzpcbiAgICAgIGNhc2UgJ2FsaWduLWNvbnRlbnQnOlxuICAgICAgY2FzZSAnZmxleCc6XG4gICAgICBjYXNlICdmbGV4LWJhc2lzJzpcbiAgICAgIGNhc2UgJ2ZsZXgtZmxvdyc6XG4gICAgICBjYXNlICdmbGV4LWdyb3cnOlxuICAgICAgY2FzZSAnZmxleC1zaHJpbmsnOlxuICAgICAgY2FzZSAnZmxleC13cmFwJzpcbiAgICAgIGNhc2UgJ2p1c3RpZnktY29udGVudCc6XG4gICAgICAgIHRhcmdldFsnLXdlYmtpdC0nICsga2V5XSA9IHZhbHVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnZmxleC1kaXJlY3Rpb24nOlxuICAgICAgICB2YWx1ZSA9IHZhbHVlIHx8ICdyb3cnO1xuICAgICAgICB0YXJnZXRbJy13ZWJraXQtZmxleC1kaXJlY3Rpb24nXSA9IHZhbHVlO1xuICAgICAgICB0YXJnZXRbJ2ZsZXgtZGlyZWN0aW9uJ10gPSB2YWx1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ29yZGVyJzpcbiAgICAgICAgdGFyZ2V0WydvcmRlciddID0gdGFyZ2V0Wyctd2Via2l0LScgKyBrZXldID0gaXNOYU4oK3ZhbHVlKSA/ICcwJyA6IHZhbHVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRhcmdldDtcbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ export * from './auto-prefixer';
9
+ export * from './layout-validator';
10
+ export * from './object-extend';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWJzL2ZsZXgtbGF5b3V0L19wcml2YXRlLXV0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vYXV0by1wcmVmaXhlcic7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dC12YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtZXh0ZW5kJztcbiJdfQ==
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ export const INLINE = 'inline';
9
+ export const LAYOUT_VALUES = ['row', 'column', 'row-reverse', 'column-reverse'];
10
+ /**
11
+ * Validate the direction|'direction wrap' value and then update the host's inline flexbox styles
12
+ */
13
+ export function buildLayoutCSS(value) {
14
+ let [direction, wrap, isInline] = validateValue(value);
15
+ return buildCSS(direction, wrap, isInline);
16
+ }
17
+ /**
18
+ * Validate the value to be one of the acceptable value options
19
+ * Use default fallback of 'row'
20
+ */
21
+ export function validateValue(value) {
22
+ value = value?.toLowerCase() ?? '';
23
+ let [direction, wrap, inline] = value.split(' ');
24
+ // First value must be the `flex-direction`
25
+ if (!LAYOUT_VALUES.find(x => x === direction)) {
26
+ direction = LAYOUT_VALUES[0];
27
+ }
28
+ if (wrap === INLINE) {
29
+ wrap = (inline !== INLINE) ? inline : '';
30
+ inline = INLINE;
31
+ }
32
+ return [direction, validateWrapValue(wrap), !!inline];
33
+ }
34
+ /**
35
+ * Determine if the validated, flex-direction value specifies
36
+ * a horizontal/row flow.
37
+ */
38
+ export function isFlowHorizontal(value) {
39
+ let [flow,] = validateValue(value);
40
+ return flow.indexOf('row') > -1;
41
+ }
42
+ /**
43
+ * Convert layout-wrap='<value>' to expected flex-wrap style
44
+ */
45
+ export function validateWrapValue(value) {
46
+ if (!!value) {
47
+ switch (value.toLowerCase()) {
48
+ case 'reverse':
49
+ case 'wrap-reverse':
50
+ case 'reverse-wrap':
51
+ value = 'wrap-reverse';
52
+ break;
53
+ case 'no':
54
+ case 'none':
55
+ case 'nowrap':
56
+ value = 'nowrap';
57
+ break;
58
+ // All other values fallback to 'wrap'
59
+ default:
60
+ value = 'wrap';
61
+ break;
62
+ }
63
+ }
64
+ return value;
65
+ }
66
+ /**
67
+ * Build the CSS that should be assigned to the element instance
68
+ * BUG:
69
+ * 1) min-height on a column flex container won’t apply to its flex item children in IE 10-11.
70
+ * Use height instead if possible; height : <xxx>vh;
71
+ *
72
+ * This way any padding or border specified on the child elements are
73
+ * laid out and drawn inside that element's specified width and height.
74
+ */
75
+ function buildCSS(direction, wrap = null, inline = false) {
76
+ return {
77
+ display: inline ? 'inline-flex' : 'flex',
78
+ 'box-sizing': 'border-box',
79
+ 'flex-direction': direction,
80
+ 'flex-wrap': wrap || null,
81
+ };
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYnMvZmxleC1sYXlvdXQvX3ByaXZhdGUtdXRpbHMvbGF5b3V0LXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWE7SUFDMUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7SUFHSTtBQUNKLE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYTtJQUN6QyxLQUFLLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNuQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpELDJDQUEyQztJQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRTtRQUM3QyxTQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzlCO0lBRUQsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1FBQ25CLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekMsTUFBTSxHQUFHLE1BQU0sQ0FBQztLQUNqQjtJQUVELE9BQU8sQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFHLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBYTtJQUM3QyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7UUFDWCxRQUFRLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMzQixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssY0FBYyxDQUFDO1lBQ3BCLEtBQUssY0FBYztnQkFDakIsS0FBSyxHQUFHLGNBQWMsQ0FBQztnQkFDdkIsTUFBTTtZQUVSLEtBQUssSUFBSSxDQUFDO1lBQ1YsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLFFBQVE7Z0JBQ1gsS0FBSyxHQUFHLFFBQVEsQ0FBQztnQkFDakIsTUFBTTtZQUVSLHNDQUFzQztZQUN0QztnQkFDRSxLQUFLLEdBQUcsTUFBTSxDQUFDO2dCQUNmLE1BQU07U0FDVDtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLFFBQVEsQ0FBQyxTQUFpQixFQUFFLE9BQXNCLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSztJQUM3RSxPQUFPO1FBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNO1FBQ3hDLFlBQVksRUFBRSxZQUFZO1FBQzFCLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsV0FBVyxFQUFFLElBQUksSUFBSSxJQUFJO0tBQzFCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5leHBvcnQgY29uc3QgSU5MSU5FID0gJ2lubGluZSc7XG5leHBvcnQgY29uc3QgTEFZT1VUX1ZBTFVFUyA9IFsncm93JywgJ2NvbHVtbicsICdyb3ctcmV2ZXJzZScsICdjb2x1bW4tcmV2ZXJzZSddO1xuXG4vKipcbiAqIFZhbGlkYXRlIHRoZSBkaXJlY3Rpb258J2RpcmVjdGlvbiB3cmFwJyB2YWx1ZSBhbmQgdGhlbiB1cGRhdGUgdGhlIGhvc3QncyBpbmxpbmUgZmxleGJveCBzdHlsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTGF5b3V0Q1NTKHZhbHVlOiBzdHJpbmcpIHtcbiAgbGV0IFtkaXJlY3Rpb24sIHdyYXAsIGlzSW5saW5lXSA9IHZhbGlkYXRlVmFsdWUodmFsdWUpO1xuICByZXR1cm4gYnVpbGRDU1MoZGlyZWN0aW9uLCB3cmFwLCBpc0lubGluZSk7XG59XG5cbi8qKlxuICAqIFZhbGlkYXRlIHRoZSB2YWx1ZSB0byBiZSBvbmUgb2YgdGhlIGFjY2VwdGFibGUgdmFsdWUgb3B0aW9uc1xuICAqIFVzZSBkZWZhdWx0IGZhbGxiYWNrIG9mICdyb3cnXG4gICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nLCBib29sZWFuXSB7XG4gIHZhbHVlID0gdmFsdWU/LnRvTG93ZXJDYXNlKCkgPz8gJyc7XG4gIGxldCBbZGlyZWN0aW9uLCB3cmFwLCBpbmxpbmVdID0gdmFsdWUuc3BsaXQoJyAnKTtcblxuICAvLyBGaXJzdCB2YWx1ZSBtdXN0IGJlIHRoZSBgZmxleC1kaXJlY3Rpb25gXG4gIGlmICghTEFZT1VUX1ZBTFVFUy5maW5kKHggPT4geCA9PT0gZGlyZWN0aW9uKSkge1xuICAgIGRpcmVjdGlvbiA9IExBWU9VVF9WQUxVRVNbMF07XG4gIH1cblxuICBpZiAod3JhcCA9PT0gSU5MSU5FKSB7XG4gICAgd3JhcCA9IChpbmxpbmUgIT09IElOTElORSkgPyBpbmxpbmUgOiAnJztcbiAgICBpbmxpbmUgPSBJTkxJTkU7XG4gIH1cblxuICByZXR1cm4gW2RpcmVjdGlvbiwgdmFsaWRhdGVXcmFwVmFsdWUod3JhcCksICEhaW5saW5lXTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhlIHZhbGlkYXRlZCwgZmxleC1kaXJlY3Rpb24gdmFsdWUgc3BlY2lmaWVzXG4gKiBhIGhvcml6b250YWwvcm93IGZsb3cuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Zsb3dIb3Jpem9udGFsKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgbGV0IFtmbG93LCBdID0gdmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG4gIHJldHVybiBmbG93LmluZGV4T2YoJ3JvdycpID4gLTE7XG59XG5cbi8qKlxuICogQ29udmVydCBsYXlvdXQtd3JhcD0nPHZhbHVlPicgdG8gZXhwZWN0ZWQgZmxleC13cmFwIHN0eWxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVdyYXBWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gIGlmICghIXZhbHVlKSB7XG4gICAgc3dpdGNoICh2YWx1ZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdyZXZlcnNlJzpcbiAgICAgIGNhc2UgJ3dyYXAtcmV2ZXJzZSc6XG4gICAgICBjYXNlICdyZXZlcnNlLXdyYXAnOlxuICAgICAgICB2YWx1ZSA9ICd3cmFwLXJldmVyc2UnO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnbm8nOlxuICAgICAgY2FzZSAnbm9uZSc6XG4gICAgICBjYXNlICdub3dyYXAnOlxuICAgICAgICB2YWx1ZSA9ICdub3dyYXAnO1xuICAgICAgICBicmVhaztcblxuICAgICAgLy8gQWxsIG90aGVyIHZhbHVlcyBmYWxsYmFjayB0byAnd3JhcCdcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHZhbHVlID0gJ3dyYXAnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBDU1MgdGhhdCBzaG91bGQgYmUgYXNzaWduZWQgdG8gdGhlIGVsZW1lbnQgaW5zdGFuY2VcbiAqIEJVRzpcbiAqICAgMSkgbWluLWhlaWdodCBvbiBhIGNvbHVtbiBmbGV4IGNvbnRhaW5lciB3b27igJl0IGFwcGx5IHRvIGl0cyBmbGV4IGl0ZW0gY2hpbGRyZW4gaW4gSUUgMTAtMTEuXG4gKiAgICAgIFVzZSBoZWlnaHQgaW5zdGVhZCBpZiBwb3NzaWJsZTsgaGVpZ2h0IDogPHh4eD52aDtcbiAqXG4gKiAgVGhpcyB3YXkgYW55IHBhZGRpbmcgb3IgYm9yZGVyIHNwZWNpZmllZCBvbiB0aGUgY2hpbGQgZWxlbWVudHMgYXJlXG4gKiAgbGFpZCBvdXQgYW5kIGRyYXduIGluc2lkZSB0aGF0IGVsZW1lbnQncyBzcGVjaWZpZWQgd2lkdGggYW5kIGhlaWdodC5cbiAqL1xuZnVuY3Rpb24gYnVpbGRDU1MoZGlyZWN0aW9uOiBzdHJpbmcsIHdyYXA6IHN0cmluZyB8IG51bGwgPSBudWxsLCBpbmxpbmUgPSBmYWxzZSkge1xuICByZXR1cm4ge1xuICAgIGRpc3BsYXk6IGlubGluZSA/ICdpbmxpbmUtZmxleCcgOiAnZmxleCcsXG4gICAgJ2JveC1zaXppbmcnOiAnYm9yZGVyLWJveCcsXG4gICAgJ2ZsZXgtZGlyZWN0aW9uJzogZGlyZWN0aW9uLFxuICAgICdmbGV4LXdyYXAnOiB3cmFwIHx8IG51bGwsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ /**
9
+ * Extends an object with the *enumerable* and *own* properties of one or more source objects,
10
+ * similar to Object.assign.
11
+ *
12
+ * @param dest The object which will have properties copied to it.
13
+ * @param sources The source objects from which properties will be copied.
14
+ */
15
+ export function extendObject(dest, ...sources) {
16
+ if (dest == null) {
17
+ throw TypeError('Cannot convert undefined or null to object');
18
+ }
19
+ for (let source of sources) {
20
+ if (source != null) {
21
+ for (let key in source) {
22
+ if (source.hasOwnProperty(key)) {
23
+ dest[key] = source[key];
24
+ }
25
+ }
26
+ }
27
+ }
28
+ return dest;
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWV4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYnMvZmxleC1sYXlvdXQvX3ByaXZhdGUtdXRpbHMvb2JqZWN0LWV4dGVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVMsRUFBRSxHQUFHLE9BQWM7SUFDdkQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1FBQ2hCLE1BQU0sU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7S0FDL0Q7SUFFRCxLQUFLLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRTtRQUMxQixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDbEIsS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUU7Z0JBQ3RCLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7YUFDRjtTQUNGO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbi8qKlxuICogRXh0ZW5kcyBhbiBvYmplY3Qgd2l0aCB0aGUgKmVudW1lcmFibGUqIGFuZCAqb3duKiBwcm9wZXJ0aWVzIG9mIG9uZSBvciBtb3JlIHNvdXJjZSBvYmplY3RzLFxuICogc2ltaWxhciB0byBPYmplY3QuYXNzaWduLlxuICpcbiAqIEBwYXJhbSBkZXN0IFRoZSBvYmplY3Qgd2hpY2ggd2lsbCBoYXZlIHByb3BlcnRpZXMgY29waWVkIHRvIGl0LlxuICogQHBhcmFtIHNvdXJjZXMgVGhlIHNvdXJjZSBvYmplY3RzIGZyb20gd2hpY2ggcHJvcGVydGllcyB3aWxsIGJlIGNvcGllZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZE9iamVjdChkZXN0OiBhbnksIC4uLnNvdXJjZXM6IGFueVtdKTogYW55IHtcbiAgaWYgKGRlc3QgPT0gbnVsbCkge1xuICAgIHRocm93IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Jyk7XG4gIH1cblxuICBmb3IgKGxldCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgIGlmIChzb3VyY2UgIT0gbnVsbCkge1xuICAgICAgZm9yIChsZXQga2V5IGluIHNvdXJjZSkge1xuICAgICAgICBpZiAoc291cmNlLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICBkZXN0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXN0O1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1mbGV4LWxheW91dC1fcHJpdmF0ZS11dGlscy10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlicy9mbGV4LWxheW91dC9fcHJpdmF0ZS11dGlscy90ZXN0aW5nL2FuZ3VsYXItZmxleC1sYXlvdXQtX3ByaXZhdGUtdXRpbHMtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==