@skyux/forms 5.6.2 → 6.0.0-beta.0

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 (169) hide show
  1. package/documentation.json +630 -630
  2. package/esm2020/index.mjs +43 -0
  3. package/esm2020/lib/modules/character-counter/character-counter-indicator.component.mjs +32 -0
  4. package/esm2020/lib/modules/character-counter/character-counter.directive.mjs +84 -0
  5. package/esm2020/lib/modules/character-counter/character-counter.module.mjs +46 -0
  6. package/esm2020/lib/modules/checkbox/checkbox-change.mjs +6 -0
  7. package/esm2020/lib/modules/checkbox/checkbox-label.component.mjs +14 -0
  8. package/esm2020/lib/modules/checkbox/checkbox-required-validator.directive.mjs +32 -0
  9. package/esm2020/lib/modules/checkbox/checkbox.component.mjs +237 -0
  10. package/esm2020/lib/modules/checkbox/checkbox.module.mjs +34 -0
  11. package/esm2020/lib/modules/file-attachment/file-attachment-label.component.mjs +14 -0
  12. package/esm2020/lib/modules/file-attachment/file-attachment.component.mjs +325 -0
  13. package/esm2020/lib/modules/file-attachment/file-attachment.service.mjs +94 -0
  14. package/esm2020/lib/modules/file-attachment/file-attachments.module.mjs +68 -0
  15. package/esm2020/lib/modules/file-attachment/file-drop.component.mjs +217 -0
  16. package/esm2020/lib/modules/file-attachment/file-item-error-type.mjs +2 -0
  17. package/esm2020/lib/modules/file-attachment/file-item.component.mjs +112 -0
  18. package/esm2020/lib/modules/file-attachment/file-item.mjs +2 -0
  19. package/esm2020/lib/modules/file-attachment/file-item.service.mjs +72 -0
  20. package/esm2020/lib/modules/file-attachment/file-link.mjs +2 -0
  21. package/esm2020/lib/modules/file-attachment/file-size.pipe.mjs +60 -0
  22. package/esm2020/lib/modules/file-attachment/types/file-attachment-change.mjs +2 -0
  23. package/esm2020/lib/modules/file-attachment/types/file-attachment-click.mjs +2 -0
  24. package/esm2020/lib/modules/file-attachment/types/file-drop-change.mjs +2 -0
  25. package/esm2020/lib/modules/input-box/input-box-adapter.service.mjs +35 -0
  26. package/esm2020/lib/modules/input-box/input-box-host.service.mjs +19 -0
  27. package/esm2020/lib/modules/input-box/input-box-populate-args.mjs +2 -0
  28. package/esm2020/lib/modules/input-box/input-box.component.mjs +89 -0
  29. package/esm2020/lib/modules/input-box/input-box.module.mjs +19 -0
  30. package/esm2020/lib/modules/radio/radio-group.component.mjs +220 -0
  31. package/esm2020/lib/modules/radio/radio-label.component.mjs +23 -0
  32. package/esm2020/lib/modules/radio/radio.component.mjs +256 -0
  33. package/esm2020/lib/modules/radio/radio.module.mjs +28 -0
  34. package/esm2020/lib/modules/radio/types/radio-change.mjs +2 -0
  35. package/esm2020/lib/modules/selection-box/selection-box-adapter.service.mjs +124 -0
  36. package/esm2020/lib/modules/selection-box/selection-box-description.component.mjs +14 -0
  37. package/esm2020/lib/modules/selection-box/selection-box-grid.component.mjs +126 -0
  38. package/esm2020/lib/modules/selection-box/selection-box-header.component.mjs +14 -0
  39. package/esm2020/lib/modules/selection-box/selection-box.component.mjs +101 -0
  40. package/esm2020/lib/modules/selection-box/selection-box.module.mjs +40 -0
  41. package/esm2020/lib/modules/selection-box/types/selection-box-grid-align-items-type.mjs +2 -0
  42. package/esm2020/lib/modules/selection-box/types/selection-box-grid-align-items.mjs +2 -0
  43. package/esm2020/lib/modules/shared/forms-utility.mjs +26 -0
  44. package/esm2020/lib/modules/shared/sky-forms-resources.module.mjs +89 -0
  45. package/esm2020/lib/modules/toggle-switch/toggle-switch-label.component.mjs +14 -0
  46. package/esm2020/lib/modules/toggle-switch/toggle-switch.component.mjs +153 -0
  47. package/esm2020/lib/modules/toggle-switch/toggle-switch.module.mjs +20 -0
  48. package/esm2020/lib/modules/toggle-switch/types/toggle-switch-change.mjs +2 -0
  49. package/esm2020/skyux-forms.mjs +5 -0
  50. package/esm2020/testing/checkbox-fixture.mjs +88 -0
  51. package/esm2020/testing/public-api.mjs +2 -0
  52. package/esm2020/testing/skyux-forms-testing.mjs +5 -0
  53. package/fesm2015/{skyux-forms-testing.js → skyux-forms-testing.mjs} +1 -1
  54. package/fesm2015/skyux-forms-testing.mjs.map +1 -0
  55. package/fesm2015/skyux-forms.mjs +2691 -0
  56. package/fesm2015/skyux-forms.mjs.map +1 -0
  57. package/{esm2015/testing/checkbox-fixture.js → fesm2020/skyux-forms-testing.mjs} +9 -2
  58. package/fesm2020/skyux-forms-testing.mjs.map +1 -0
  59. package/fesm2020/skyux-forms.mjs +2685 -0
  60. package/fesm2020/skyux-forms.mjs.map +1 -0
  61. package/lib/modules/shared/sky-forms-resources.module.d.ts +1 -1
  62. package/package.json +36 -15
  63. package/testing/package.json +5 -5
  64. package/bundles/skyux-forms-testing.umd.js +0 -123
  65. package/bundles/skyux-forms.umd.js +0 -3422
  66. package/esm2015/index.js +0 -43
  67. package/esm2015/index.js.map +0 -1
  68. package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js +0 -37
  69. package/esm2015/lib/modules/character-counter/character-counter-indicator.component.js.map +0 -1
  70. package/esm2015/lib/modules/character-counter/character-counter.directive.js +0 -84
  71. package/esm2015/lib/modules/character-counter/character-counter.directive.js.map +0 -1
  72. package/esm2015/lib/modules/character-counter/character-counter.module.js +0 -46
  73. package/esm2015/lib/modules/character-counter/character-counter.module.js.map +0 -1
  74. package/esm2015/lib/modules/checkbox/checkbox-change.js +0 -6
  75. package/esm2015/lib/modules/checkbox/checkbox-change.js.map +0 -1
  76. package/esm2015/lib/modules/checkbox/checkbox-label.component.js +0 -17
  77. package/esm2015/lib/modules/checkbox/checkbox-label.component.js.map +0 -1
  78. package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js +0 -32
  79. package/esm2015/lib/modules/checkbox/checkbox-required-validator.directive.js.map +0 -1
  80. package/esm2015/lib/modules/checkbox/checkbox.component.js +0 -241
  81. package/esm2015/lib/modules/checkbox/checkbox.component.js.map +0 -1
  82. package/esm2015/lib/modules/checkbox/checkbox.module.js +0 -34
  83. package/esm2015/lib/modules/checkbox/checkbox.module.js.map +0 -1
  84. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js +0 -19
  85. package/esm2015/lib/modules/file-attachment/file-attachment-label.component.js.map +0 -1
  86. package/esm2015/lib/modules/file-attachment/file-attachment.component.js +0 -331
  87. package/esm2015/lib/modules/file-attachment/file-attachment.component.js.map +0 -1
  88. package/esm2015/lib/modules/file-attachment/file-attachment.service.js +0 -94
  89. package/esm2015/lib/modules/file-attachment/file-attachment.service.js.map +0 -1
  90. package/esm2015/lib/modules/file-attachment/file-attachments.module.js +0 -68
  91. package/esm2015/lib/modules/file-attachment/file-attachments.module.js.map +0 -1
  92. package/esm2015/lib/modules/file-attachment/file-drop.component.js +0 -222
  93. package/esm2015/lib/modules/file-attachment/file-drop.component.js.map +0 -1
  94. package/esm2015/lib/modules/file-attachment/file-item-error-type.js +0 -2
  95. package/esm2015/lib/modules/file-attachment/file-item-error-type.js.map +0 -1
  96. package/esm2015/lib/modules/file-attachment/file-item.component.js +0 -116
  97. package/esm2015/lib/modules/file-attachment/file-item.component.js.map +0 -1
  98. package/esm2015/lib/modules/file-attachment/file-item.js +0 -2
  99. package/esm2015/lib/modules/file-attachment/file-item.js.map +0 -1
  100. package/esm2015/lib/modules/file-attachment/file-item.service.js +0 -72
  101. package/esm2015/lib/modules/file-attachment/file-item.service.js.map +0 -1
  102. package/esm2015/lib/modules/file-attachment/file-link.js +0 -2
  103. package/esm2015/lib/modules/file-attachment/file-link.js.map +0 -1
  104. package/esm2015/lib/modules/file-attachment/file-size.pipe.js +0 -60
  105. package/esm2015/lib/modules/file-attachment/file-size.pipe.js.map +0 -1
  106. package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js +0 -2
  107. package/esm2015/lib/modules/file-attachment/types/file-attachment-change.js.map +0 -1
  108. package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js +0 -2
  109. package/esm2015/lib/modules/file-attachment/types/file-attachment-click.js.map +0 -1
  110. package/esm2015/lib/modules/file-attachment/types/file-drop-change.js +0 -2
  111. package/esm2015/lib/modules/file-attachment/types/file-drop-change.js.map +0 -1
  112. package/esm2015/lib/modules/input-box/input-box-adapter.service.js +0 -35
  113. package/esm2015/lib/modules/input-box/input-box-adapter.service.js.map +0 -1
  114. package/esm2015/lib/modules/input-box/input-box-host.service.js +0 -19
  115. package/esm2015/lib/modules/input-box/input-box-host.service.js.map +0 -1
  116. package/esm2015/lib/modules/input-box/input-box-populate-args.js +0 -2
  117. package/esm2015/lib/modules/input-box/input-box-populate-args.js.map +0 -1
  118. package/esm2015/lib/modules/input-box/input-box.component.js +0 -97
  119. package/esm2015/lib/modules/input-box/input-box.component.js.map +0 -1
  120. package/esm2015/lib/modules/input-box/input-box.module.js +0 -19
  121. package/esm2015/lib/modules/input-box/input-box.module.js.map +0 -1
  122. package/esm2015/lib/modules/radio/radio-group.component.js +0 -223
  123. package/esm2015/lib/modules/radio/radio-group.component.js.map +0 -1
  124. package/esm2015/lib/modules/radio/radio-label.component.js +0 -26
  125. package/esm2015/lib/modules/radio/radio-label.component.js.map +0 -1
  126. package/esm2015/lib/modules/radio/radio.component.js +0 -262
  127. package/esm2015/lib/modules/radio/radio.component.js.map +0 -1
  128. package/esm2015/lib/modules/radio/radio.module.js +0 -28
  129. package/esm2015/lib/modules/radio/radio.module.js.map +0 -1
  130. package/esm2015/lib/modules/radio/types/radio-change.js +0 -2
  131. package/esm2015/lib/modules/radio/types/radio-change.js.map +0 -1
  132. package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js +0 -124
  133. package/esm2015/lib/modules/selection-box/selection-box-adapter.service.js.map +0 -1
  134. package/esm2015/lib/modules/selection-box/selection-box-description.component.js +0 -17
  135. package/esm2015/lib/modules/selection-box/selection-box-description.component.js.map +0 -1
  136. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js +0 -132
  137. package/esm2015/lib/modules/selection-box/selection-box-grid.component.js.map +0 -1
  138. package/esm2015/lib/modules/selection-box/selection-box-header.component.js +0 -17
  139. package/esm2015/lib/modules/selection-box/selection-box-header.component.js.map +0 -1
  140. package/esm2015/lib/modules/selection-box/selection-box.component.js +0 -107
  141. package/esm2015/lib/modules/selection-box/selection-box.component.js.map +0 -1
  142. package/esm2015/lib/modules/selection-box/selection-box.module.js +0 -40
  143. package/esm2015/lib/modules/selection-box/selection-box.module.js.map +0 -1
  144. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js +0 -2
  145. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items-type.js.map +0 -1
  146. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js +0 -2
  147. package/esm2015/lib/modules/selection-box/types/selection-box-grid-align-items.js.map +0 -1
  148. package/esm2015/lib/modules/shared/forms-utility.js +0 -26
  149. package/esm2015/lib/modules/shared/forms-utility.js.map +0 -1
  150. package/esm2015/lib/modules/shared/sky-forms-resources.module.js +0 -89
  151. package/esm2015/lib/modules/shared/sky-forms-resources.module.js.map +0 -1
  152. package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js +0 -18
  153. package/esm2015/lib/modules/toggle-switch/toggle-switch-label.component.js.map +0 -1
  154. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js +0 -159
  155. package/esm2015/lib/modules/toggle-switch/toggle-switch.component.js.map +0 -1
  156. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js +0 -20
  157. package/esm2015/lib/modules/toggle-switch/toggle-switch.module.js.map +0 -1
  158. package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js +0 -2
  159. package/esm2015/lib/modules/toggle-switch/types/toggle-switch-change.js.map +0 -1
  160. package/esm2015/skyux-forms.js +0 -5
  161. package/esm2015/skyux-forms.js.map +0 -1
  162. package/esm2015/testing/checkbox-fixture.js.map +0 -1
  163. package/esm2015/testing/public-api.js +0 -2
  164. package/esm2015/testing/public-api.js.map +0 -1
  165. package/esm2015/testing/skyux-forms-testing.js +0 -5
  166. package/esm2015/testing/skyux-forms-testing.js.map +0 -1
  167. package/fesm2015/skyux-forms-testing.js.map +0 -1
  168. package/fesm2015/skyux-forms.js +0 -2765
  169. package/fesm2015/skyux-forms.js.map +0 -1
@@ -0,0 +1,124 @@
1
+ import { Injectable, RendererFactory2, } from '@angular/core';
2
+ import { SkyCoreAdapterService, SkyMediaBreakpoints } from '@skyux/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@skyux/core";
5
+ const RESPONSIVE_CLASS_XS = 'sky-selection-box-container-xs';
6
+ const RESPONSIVE_CLASS_SM = 'sky-selection-box-container-sm';
7
+ const RESPONSIVE_CLASS_MD = 'sky-selection-box-container-md';
8
+ const RESPONSIVE_CLASS_LG = 'sky-selection-box-container-lg';
9
+ const BREAKPOINT_XS_MAX_PIXELS = 767;
10
+ const BREAKPOINT_SM_MIN_PIXELS = 768;
11
+ const BREAKPOINT_SM_MAX_PIXELS = 991;
12
+ const BREAKPOINT_MD_MIN_PIXELS = 992;
13
+ const BREAKPOINT_MD_MAX_PIXELS = 1439;
14
+ /**
15
+ * @internal
16
+ */
17
+ export class SkySelectionBoxAdapterService {
18
+ constructor(coreAdapterService, rendererFactory) {
19
+ this.coreAdapterService = coreAdapterService;
20
+ this.renderer = rendererFactory.createRenderer(undefined, undefined);
21
+ }
22
+ /**
23
+ * Sets focus on the specified element.
24
+ */
25
+ focus(el) {
26
+ el.nativeElement.focus();
27
+ }
28
+ /**
29
+ * Returns a child element with the `.sky-switch` class.
30
+ * Useful for getting SKY UX-themed radio buttons or checkboxes.
31
+ */
32
+ getControl(el) {
33
+ return el.nativeElement.querySelector('.sky-switch');
34
+ }
35
+ /**
36
+ * Returns a breakpoint based on the width.
37
+ * @param width Width of the element in pixels.
38
+ */
39
+ getBreakpointForWidth(width) {
40
+ if (width <= BREAKPOINT_XS_MAX_PIXELS) {
41
+ return SkyMediaBreakpoints.xs;
42
+ }
43
+ else if (width >= BREAKPOINT_SM_MIN_PIXELS &&
44
+ width <= BREAKPOINT_SM_MAX_PIXELS) {
45
+ return SkyMediaBreakpoints.sm;
46
+ }
47
+ else if (width >= BREAKPOINT_MD_MIN_PIXELS &&
48
+ width <= BREAKPOINT_MD_MAX_PIXELS) {
49
+ return SkyMediaBreakpoints.md;
50
+ }
51
+ else {
52
+ return SkyMediaBreakpoints.lg;
53
+ }
54
+ }
55
+ /**
56
+ * Returns the width of the `parentNode` of the provided `element`.
57
+ */
58
+ getParentWidth(element) {
59
+ return element.nativeElement.parentNode.getBoundingClientRect().width;
60
+ }
61
+ /**
62
+ * Returns `true` if the `childEl` is a descendant of the `parentEl`.
63
+ */
64
+ isDescendant(parentEl, childEl) {
65
+ return parentEl.nativeElement.contains(childEl);
66
+ }
67
+ /**
68
+ * Sets the `tabIndex` of all focusable children of the `element` to the provided `tabIndex`.
69
+ */
70
+ setChildrenTabIndex(element, tabIndex) {
71
+ const el = element.nativeElement;
72
+ const focusableElems = this.coreAdapterService.getFocusableChildren(el, {
73
+ ignoreVisibility: true,
74
+ });
75
+ let index = focusableElems.length;
76
+ while (index--) {
77
+ focusableElems[index].tabIndex = tabIndex;
78
+ }
79
+ }
80
+ /**
81
+ * Adds a responsive CSS class on the provided element based on its current width.
82
+ */
83
+ setResponsiveClass(element, breakpoint) {
84
+ const nativeEl = element.nativeElement;
85
+ this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_XS);
86
+ this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_SM);
87
+ this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_MD);
88
+ this.renderer.removeClass(nativeEl, RESPONSIVE_CLASS_LG);
89
+ let newClass;
90
+ // tslint:disable-next-line: switch-default
91
+ switch (breakpoint) {
92
+ case SkyMediaBreakpoints.xs: {
93
+ newClass = RESPONSIVE_CLASS_XS;
94
+ break;
95
+ }
96
+ case SkyMediaBreakpoints.sm: {
97
+ newClass = RESPONSIVE_CLASS_SM;
98
+ break;
99
+ }
100
+ case SkyMediaBreakpoints.md: {
101
+ newClass = RESPONSIVE_CLASS_MD;
102
+ break;
103
+ }
104
+ case SkyMediaBreakpoints.lg: {
105
+ newClass = RESPONSIVE_CLASS_LG;
106
+ break;
107
+ }
108
+ }
109
+ this.renderer.addClass(nativeEl, newClass);
110
+ }
111
+ /**
112
+ * Sets the `tabIndex` of the `element` to the provided `tabIndex`.
113
+ */
114
+ setTabIndex(element, tabIndex) {
115
+ const el = element.nativeElement;
116
+ el.tabIndex = tabIndex;
117
+ }
118
+ }
119
+ SkySelectionBoxAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxAdapterService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
120
+ SkySelectionBoxAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxAdapterService });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxAdapterService, decorators: [{
122
+ type: Injectable
123
+ }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i0.RendererFactory2 }]; } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFFVixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFFekUsTUFBTSxtQkFBbUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM3RCxNQUFNLG1CQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQzdELE1BQU0sbUJBQW1CLEdBQUcsZ0NBQWdDLENBQUM7QUFDN0QsTUFBTSxtQkFBbUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUU3RCxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztBQUNyQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztBQUNyQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztBQUNyQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztBQUNyQyxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQztBQUV0Qzs7R0FFRztBQUVILE1BQU0sT0FBTyw2QkFBNkI7SUFHeEMsWUFDVSxrQkFBeUMsRUFDakQsZUFBaUM7UUFEekIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtRQUdqRCxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxFQUFjO1FBQ3pCLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7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QUNJLFdBQVcsQ0FBQyxPQUFtQixFQUFFLFFBQWdCO1FBQ3RELE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDakMsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDekIsQ0FBQzs7MEhBeEhVLDZCQUE2Qjs4SEFBN0IsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLCBTa3lNZWRpYUJyZWFrcG9pbnRzIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5jb25zdCBSRVNQT05TSVZFX0NMQVNTX1hTID0gJ3NreS1zZWxlY3Rpb24tYm94LWNvbnRhaW5lci14cyc7XG5jb25zdCBSRVNQT05TSVZFX0NMQVNTX1NNID0gJ3NreS1zZWxlY3Rpb24tYm94LWNvbnRhaW5lci1zbSc7XG5jb25zdCBSRVNQT05TSVZFX0NMQVNTX01EID0gJ3NreS1zZWxlY3Rpb24tYm94LWNvbnRhaW5lci1tZCc7XG5jb25zdCBSRVNQT05TSVZFX0NMQVNTX0xHID0gJ3NreS1zZWxlY3Rpb24tYm94LWNvbnRhaW5lci1sZyc7XG5cbmNvbnN0IEJSRUFLUE9JTlRfWFNfTUFYX1BJWEVMUyA9IDc2NztcbmNvbnN0IEJSRUFLUE9JTlRfU01fTUlOX1BJWEVMUyA9IDc2ODtcbmNvbnN0IEJSRUFLUE9JTlRfU01fTUFYX1BJWEVMUyA9IDk5MTtcbmNvbnN0IEJSRUFLUE9JTlRfTURfTUlOX1BJWEVMUyA9IDk5MjtcbmNvbnN0IEJSRUFLUE9JTlRfTURfTUFYX1BJWEVMUyA9IDE0Mzk7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyU2VydmljZTogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxuICApIHtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGZvY3VzIG9uIHRoZSBzcGVjaWZpZWQgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBmb2N1cyhlbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgY2hpbGQgZWxlbWVudCB3aXRoIHRoZSBgLnNreS1zd2l0Y2hgIGNsYXNzLlxuICAgKiBVc2VmdWwgZm9yIGdldHRpbmcgU0tZIFVYLXRoZW1lZCByYWRpbyBidXR0b25zIG9yIGNoZWNrYm94ZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29udHJvbChlbDogRWxlbWVudFJlZik6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXN3aXRjaCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBicmVha3BvaW50IGJhc2VkIG9uIHRoZSB3aWR0aC5cbiAgICogQHBhcmFtIHdpZHRoIFdpZHRoIG9mIHRoZSBlbGVtZW50IGluIHBpeGVscy5cbiAgICovXG4gIHB1YmxpYyBnZXRCcmVha3BvaW50Rm9yV2lkdGgod2lkdGg6IG51bWJlcik6IFNreU1lZGlhQnJlYWtwb2ludHMge1xuICAgIGlmICh3aWR0aCA8PSBCUkVBS1BPSU5UX1hTX01BWF9QSVhFTFMpIHtcbiAgICAgIHJldHVybiBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB3aWR0aCA+PSBCUkVBS1BPSU5UX1NNX01JTl9QSVhFTFMgJiZcbiAgICAgIHdpZHRoIDw9IEJSRUFLUE9JTlRfU01fTUFYX1BJWEVMU1xuICAgICkge1xuICAgICAgcmV0dXJuIFNreU1lZGlhQnJlYWtwb2ludHMuc207XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHdpZHRoID49IEJSRUFLUE9JTlRfTURfTUlOX1BJWEVMUyAmJlxuICAgICAgd2lkdGggPD0gQlJFQUtQT0lOVF9NRF9NQVhfUElYRUxTXG4gICAgKSB7XG4gICAgICByZXR1cm4gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFNreU1lZGlhQnJlYWtwb2ludHMubGc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHdpZHRoIG9mIHRoZSBgcGFyZW50Tm9kZWAgb2YgdGhlIHByb3ZpZGVkIGBlbGVtZW50YC5cbiAgICovXG4gIHB1YmxpYyBnZXRQYXJlbnRXaWR0aChlbGVtZW50OiBFbGVtZW50UmVmKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGBjaGlsZEVsYCBpcyBhIGRlc2NlbmRhbnQgb2YgdGhlIGBwYXJlbnRFbGAuXG4gICAqL1xuICBwdWJsaWMgaXNEZXNjZW5kYW50KHBhcmVudEVsOiBFbGVtZW50UmVmLCBjaGlsZEVsOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwYXJlbnRFbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNoaWxkRWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGB0YWJJbmRleGAgb2YgYWxsIGZvY3VzYWJsZSBjaGlsZHJlbiBvZiB0aGUgYGVsZW1lbnRgIHRvIHRoZSBwcm92aWRlZCBgdGFiSW5kZXhgLlxuICAgKi9cbiAgcHVibGljIHNldENoaWxkcmVuVGFiSW5kZXgoZWxlbWVudDogRWxlbWVudFJlZiwgdGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1zID0gdGhpcy5jb3JlQWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWwsIHtcbiAgICAgIGlnbm9yZVZpc2liaWxpdHk6IHRydWUsXG4gICAgfSk7XG4gICAgbGV0IGluZGV4ID0gZm9jdXNhYmxlRWxlbXMubGVuZ3RoO1xuICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICBmb2N1c2FibGVFbGVtc1tpbmRleF0udGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHJlc3BvbnNpdmUgQ1NTIGNsYXNzIG9uIHRoZSBwcm92aWRlZCBlbGVtZW50IGJhc2VkIG9uIGl0cyBjdXJyZW50IHdpZHRoLlxuICAgKi9cbiAgcHVibGljIHNldFJlc3BvbnNpdmVDbGFzcyhcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIGJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHNcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgbmF0aXZlRWw6IEhUTUxFbGVtZW50ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgUkVTUE9OU0lWRV9DTEFTU19YUyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgUkVTUE9OU0lWRV9DTEFTU19TTSk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgUkVTUE9OU0lWRV9DTEFTU19NRCk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgUkVTUE9OU0lWRV9DTEFTU19MRyk7XG5cbiAgICBsZXQgbmV3Q2xhc3M6IHN0cmluZztcblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogc3dpdGNoLWRlZmF1bHRcbiAgICBzd2l0Y2ggKGJyZWFrcG9pbnQpIHtcbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy54czoge1xuICAgICAgICBuZXdDbGFzcyA9IFJFU1BPTlNJVkVfQ0xBU1NfWFM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtOiB7XG4gICAgICAgIG5ld0NsYXNzID0gUkVTUE9OU0lWRV9DTEFTU19TTTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFNreU1lZGlhQnJlYWtwb2ludHMubWQ6IHtcbiAgICAgICAgbmV3Q2xhc3MgPSBSRVNQT05TSVZFX0NMQVNTX01EO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5sZzoge1xuICAgICAgICBuZXdDbGFzcyA9IFJFU1BPTlNJVkVfQ0xBU1NfTEc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobmF0aXZlRWwsIG5ld0NsYXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBgdGFiSW5kZXhgIG9mIHRoZSBgZWxlbWVudGAgdG8gdGhlIHByb3ZpZGVkIGB0YWJJbmRleGAuXG4gICAqL1xuICBwdWJsaWMgc2V0VGFiSW5kZXgoZWxlbWVudDogRWxlbWVudFJlZiwgdGFiSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGVsLnRhYkluZGV4ID0gdGFiSW5kZXg7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Specifies the description to display in a selection box.
5
+ */
6
+ export class SkySelectionBoxDescriptionComponent {
7
+ }
8
+ SkySelectionBoxDescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ SkySelectionBoxDescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkySelectionBoxDescriptionComponent, selector: "sky-selection-box-description", ngImport: i0, template: "<ng-content></ng-content>\n" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxDescriptionComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'sky-selection-box-description', template: "<ng-content></ng-content>\n" }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7R0FFRztBQUtILE1BQU0sT0FBTyxtQ0FBbUM7O2dJQUFuQyxtQ0FBbUM7b0hBQW5DLG1DQUFtQyxxRUNUaEQsNkJBQ0E7MkZEUWEsbUNBQW1DO2tCQUovQyxTQUFTOytCQUNFLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgZGVzY3JpcHRpb24gdG8gZGlzcGxheSBpbiBhIHNlbGVjdGlvbiBib3guXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zZWxlY3Rpb24tYm94LWRlc2NyaXB0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkNvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,126 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, HostListener, Input, NgZone, QueryList, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { MutationObserverService, SkyCoreAdapterService, } from '@skyux/core';
3
+ import { SkyThemeService } from '@skyux/theme';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import { SkySelectionBoxAdapterService } from './selection-box-adapter.service';
7
+ import { SkySelectionBoxComponent } from './selection-box.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@skyux/theme";
10
+ import * as i2 from "@skyux/core";
11
+ import * as i3 from "./selection-box-adapter.service";
12
+ import * as i4 from "@angular/common";
13
+ const SKY_SELECTION_BOX_CLASS_NAME = '.sky-selection-box';
14
+ /**
15
+ * Creates a grid layout for an array of selection boxes.
16
+ */
17
+ export class SkySelectionBoxGridComponent {
18
+ constructor(themeSvc, coreAdapterService, selectionBoxAdapter, hostElRef, mutationObserverSvc, ngZone) {
19
+ this.themeSvc = themeSvc;
20
+ this.coreAdapterService = coreAdapterService;
21
+ this.selectionBoxAdapter = selectionBoxAdapter;
22
+ this.hostElRef = hostElRef;
23
+ this.mutationObserverSvc = mutationObserverSvc;
24
+ this.ngZone = ngZone;
25
+ this.ngUnsubscribe = new Subject();
26
+ }
27
+ /**
28
+ * @internal
29
+ * Specifies how to display the selection boxes in the grid.
30
+ * @default 'center'
31
+ */
32
+ set alignItems(value) {
33
+ this._alignItems = value;
34
+ }
35
+ get alignItems() {
36
+ return this._alignItems || 'center';
37
+ }
38
+ set currentBreakpoint(value) {
39
+ if (value !== this._currentBreakpoint) {
40
+ this._currentBreakpoint = value;
41
+ this.selectionBoxAdapter.setResponsiveClass(this.elementRef, value);
42
+ this.updateChildrenHeights();
43
+ }
44
+ }
45
+ ngOnInit() {
46
+ /* istanbul ignore else */
47
+ if (this.themeSvc) {
48
+ this.themeSvc.settingsChange
49
+ .pipe(takeUntil(this.ngUnsubscribe))
50
+ .subscribe(() => {
51
+ this.updateBreakpointClass();
52
+ this.updateChildrenHeights();
53
+ });
54
+ }
55
+ }
56
+ ngAfterViewInit() {
57
+ this.updateBreakpointClass();
58
+ this.updateChildrenHeights();
59
+ this.initMutationObserver();
60
+ }
61
+ ngOnDestroy() {
62
+ this.ngUnsubscribe.next();
63
+ this.ngUnsubscribe.complete();
64
+ this.destroyMutationObserver();
65
+ }
66
+ onWindowResize() {
67
+ this.updateBreakpointClass();
68
+ }
69
+ initMutationObserver() {
70
+ /* istanbul ignore else */
71
+ if (!this.mutationObserver) {
72
+ const el = this.elementRef.nativeElement;
73
+ // MutationObserver is patched by Zone.js and therefore becomes part of the
74
+ // Angular change detection cycle, but this can lead to infinite loops in some
75
+ // scenarios. This will keep MutationObserver from triggering change detection.
76
+ this.ngZone.runOutsideAngular(() => {
77
+ this.mutationObserver = this.mutationObserverSvc.create(() => {
78
+ this.updateChildrenHeights();
79
+ });
80
+ this.mutationObserver.observe(el, {
81
+ characterData: true,
82
+ subtree: true,
83
+ });
84
+ });
85
+ }
86
+ }
87
+ destroyMutationObserver() {
88
+ /* istanbul ignore else */
89
+ if (this.mutationObserver) {
90
+ this.mutationObserver.disconnect();
91
+ this.mutationObserver = undefined;
92
+ }
93
+ }
94
+ updateBreakpointClass() {
95
+ const parentWidth = this.selectionBoxAdapter.getParentWidth(this.hostElRef);
96
+ this.currentBreakpoint =
97
+ this.selectionBoxAdapter.getBreakpointForWidth(parentWidth);
98
+ }
99
+ updateChildrenHeights() {
100
+ this.coreAdapterService.resetHeight(this.elementRef, SKY_SELECTION_BOX_CLASS_NAME);
101
+ this.coreAdapterService.syncMaxHeight(this.elementRef, SKY_SELECTION_BOX_CLASS_NAME);
102
+ }
103
+ }
104
+ SkySelectionBoxGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxGridComponent, deps: [{ token: i1.SkyThemeService }, { token: i2.SkyCoreAdapterService }, { token: i3.SkySelectionBoxAdapterService }, { token: i0.ElementRef }, { token: i2.MutationObserverService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
105
+ SkySelectionBoxGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkySelectionBoxGridComponent, selector: "sky-selection-box-grid", inputs: { alignItems: "alignItems" }, host: { listeners: { "window:resize": "onWindowResize()" } }, queries: [{ propertyName: "selectionBoxes", predicate: SkySelectionBoxComponent, read: SkySelectionBoxComponent }], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-selection-box-grid\"\n [ngClass]=\"'sky-selection-box-grid-align-' + alignItems\"\n #container\n>\n <ng-content select=\"sky-selection-box\"></ng-content>\n</div>\n", styles: [":host{display:block}.sky-selection-box-grid{display:flex;flex-flow:row wrap;padding:0 7.5px;margin:0 auto}.sky-selection-box-grid.sky-selection-box-grid-align-center{justify-content:center}.sky-selection-box-grid.sky-selection-box-grid-align-left{justify-content:flex-start}.sky-selection-box-grid>sky-selection-box{margin:0 7.5px 15px;height:100%}.sky-selection-box-grid.sky-selection-box-container-xs{max-width:374px}.sky-selection-box-grid.sky-selection-box-container-xs>sky-selection-box{flex:0 1 344px}.sky-selection-box-grid.sky-selection-box-container-xs .sky-selection-box{padding:15px}.sky-selection-box-grid.sky-selection-box-container-xs .sky-selection-box .sky-selection-box-icon{display:none}.sky-selection-box-grid.sky-selection-box-container-xs .sky-selection-box .sky-selection-box-header{font-size:20px;font-weight:400}.sky-selection-box-grid.sky-selection-box-container-sm{max-width:733px}.sky-selection-box-grid.sky-selection-box-container-sm>sky-selection-box{flex:0 1 344px}.sky-selection-box-grid.sky-selection-box-container-sm .sky-selection-box{padding:15px}.sky-selection-box-grid.sky-selection-box-container-sm .sky-selection-box .sky-selection-box-icon{display:none}.sky-selection-box-grid.sky-selection-box-container-sm .sky-selection-box .sky-selection-box-header{font-size:20px;font-weight:400}.sky-selection-box-grid.sky-selection-box-container-md{max-width:937px}.sky-selection-box-grid.sky-selection-box-container-md>sky-selection-box{flex:0 1 446px}.sky-selection-box-grid.sky-selection-box-container-lg{max-width:1398px}.sky-selection-box-grid.sky-selection-box-container-lg>sky-selection-box{flex:0 1 446px}\n"], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxGridComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ selector: 'sky-selection-box-grid', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-selection-box-grid\"\n [ngClass]=\"'sky-selection-box-grid-align-' + alignItems\"\n #container\n>\n <ng-content select=\"sky-selection-box\"></ng-content>\n</div>\n", styles: [":host{display:block}.sky-selection-box-grid{display:flex;flex-flow:row wrap;padding:0 7.5px;margin:0 auto}.sky-selection-box-grid.sky-selection-box-grid-align-center{justify-content:center}.sky-selection-box-grid.sky-selection-box-grid-align-left{justify-content:flex-start}.sky-selection-box-grid>sky-selection-box{margin:0 7.5px 15px;height:100%}.sky-selection-box-grid.sky-selection-box-container-xs{max-width:374px}.sky-selection-box-grid.sky-selection-box-container-xs>sky-selection-box{flex:0 1 344px}.sky-selection-box-grid.sky-selection-box-container-xs .sky-selection-box{padding:15px}.sky-selection-box-grid.sky-selection-box-container-xs .sky-selection-box .sky-selection-box-icon{display:none}.sky-selection-box-grid.sky-selection-box-container-xs .sky-selection-box .sky-selection-box-header{font-size:20px;font-weight:400}.sky-selection-box-grid.sky-selection-box-container-sm{max-width:733px}.sky-selection-box-grid.sky-selection-box-container-sm>sky-selection-box{flex:0 1 344px}.sky-selection-box-grid.sky-selection-box-container-sm .sky-selection-box{padding:15px}.sky-selection-box-grid.sky-selection-box-container-sm .sky-selection-box .sky-selection-box-icon{display:none}.sky-selection-box-grid.sky-selection-box-container-sm .sky-selection-box .sky-selection-box-header{font-size:20px;font-weight:400}.sky-selection-box-grid.sky-selection-box-container-md{max-width:937px}.sky-selection-box-grid.sky-selection-box-container-md>sky-selection-box{flex:0 1 446px}.sky-selection-box-grid.sky-selection-box-container-lg{max-width:1398px}.sky-selection-box-grid.sky-selection-box-container-lg>sky-selection-box{flex:0 1 446px}\n"] }]
109
+ }], ctorParameters: function () { return [{ type: i1.SkyThemeService }, { type: i2.SkyCoreAdapterService }, { type: i3.SkySelectionBoxAdapterService }, { type: i0.ElementRef }, { type: i2.MutationObserverService }, { type: i0.NgZone }]; }, propDecorators: { alignItems: [{
110
+ type: Input
111
+ }], selectionBoxes: [{
112
+ type: ContentChildren,
113
+ args: [SkySelectionBoxComponent, {
114
+ read: SkySelectionBoxComponent,
115
+ }]
116
+ }], elementRef: [{
117
+ type: ViewChild,
118
+ args: ['container', {
119
+ read: ElementRef,
120
+ static: true,
121
+ }]
122
+ }], onWindowResize: [{
123
+ type: HostListener,
124
+ args: ['window:resize']
125
+ }] } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIscUJBQXFCLEdBRXRCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQUdyRSxNQUFNLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDO0FBRTFEOztHQUVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQTRDdkMsWUFDVSxRQUF5QixFQUN6QixrQkFBeUMsRUFDekMsbUJBQWtELEVBQ2xELFNBQXFCLEVBQ3JCLG1CQUE0QyxFQUM1QyxNQUFjO1FBTGQsYUFBUSxH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O0lBRU8scUJBQXFCO1FBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FDakMsSUFBSSxDQUFDLFVBQVUsRUFDZiw0QkFBNEIsQ0FDN0IsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQ25DLElBQUksQ0FBQyxVQUFVLEVBQ2YsNEJBQTRCLENBQzdCLENBQUM7SUFDSixDQUFDOzt5SEEvSFUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsaU1BaUJ0Qix3QkFBd0IsUUFDakMsd0JBQXdCLGlIQWF4QixVQUFVLDJDQ3hFcEIsNkxBT0E7MkZEa0NhLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7MFFBVzFCLFVBQVU7c0JBRHBCLEtBQUs7Z0JBWUMsY0FBYztzQkFIcEIsZUFBZTt1QkFBQyx3QkFBd0IsRUFBRTt3QkFDekMsSUFBSSxFQUFFLHdCQUF3QjtxQkFDL0I7Z0JBZU8sVUFBVTtzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkE4Q00sY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5TWVkaWFCcmVha3BvaW50cyxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vc2VsZWN0aW9uLWJveC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uQm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hHcmlkQWxpZ25JdGVtc1R5cGUgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1ib3gtZ3JpZC1hbGlnbi1pdGVtcy10eXBlJztcblxuY29uc3QgU0tZX1NFTEVDVElPTl9CT1hfQ0xBU1NfTkFNRSA9ICcuc2t5LXNlbGVjdGlvbi1ib3gnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBncmlkIGxheW91dCBmb3IgYW4gYXJyYXkgb2Ygc2VsZWN0aW9uIGJveGVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VsZWN0aW9uLWJveC1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1ib3gtZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1ib3gtZ3JpZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VsZWN0aW9uQm94R3JpZENvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogU3BlY2lmaWVzIGhvdyB0byBkaXNwbGF5IHRoZSBzZWxlY3Rpb24gYm94ZXMgaW4gdGhlIGdyaWQuXG4gICAqIEBkZWZhdWx0ICdjZW50ZXInXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFsaWduSXRlbXModmFsdWU6IFNreVNlbGVjdGlvbkJveEdyaWRBbGlnbkl0ZW1zVHlwZSkge1xuICAgIHRoaXMuX2FsaWduSXRlbXMgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxpZ25JdGVtcygpOiBTa3lTZWxlY3Rpb25Cb3hHcmlkQWxpZ25JdGVtc1R5cGUge1xuICAgIHJldHVybiB0aGlzLl9hbGlnbkl0ZW1zIHx8ICdjZW50ZXInO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lTZWxlY3Rpb25Cb3hDb21wb25lbnQsIHtcbiAgICByZWFkOiBTa3lTZWxlY3Rpb25Cb3hDb21wb25lbnQsXG4gIH0pXG4gIHB1YmxpYyBzZWxlY3Rpb25Cb3hlczogUXVlcnlMaXN0PFNreVNlbGVjdGlvbkJveENvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBzZXQgY3VycmVudEJyZWFrcG9pbnQodmFsdWU6IFNreU1lZGlhQnJlYWtwb2ludHMpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX2N1cnJlbnRCcmVha3BvaW50KSB7XG4gICAgICB0aGlzLl9jdXJyZW50QnJlYWtwb2ludCA9IHZhbHVlO1xuICAgICAgdGhpcy5zZWxlY3Rpb25Cb3hBZGFwdGVyLnNldFJlc3BvbnNpdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYsIHZhbHVlKTtcbiAgICAgIHRoaXMudXBkYXRlQ2hpbGRyZW5IZWlnaHRzKCk7XG4gICAgfVxuICB9XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8YW55PjtcblxuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIF9hbGlnbkl0ZW1zOiBTa3lTZWxlY3Rpb25Cb3hHcmlkQWxpZ25JdGVtc1R5cGU7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25Cb3hBZGFwdGVyOiBTa3lTZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGhvc3RFbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXJTdmM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnRoZW1lU3ZjKSB7XG4gICAgICB0aGlzLnRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnRDbGFzcygpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2hpbGRyZW5IZWlnaHRzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVCcmVha3BvaW50Q2xhc3MoKTtcbiAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuSGVpZ2h0cygpO1xuICAgIHRoaXMuaW5pdE11dGF0aW9uT2JzZXJ2ZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5kZXN0cm95TXV0YXRpb25PYnNlcnZlcigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHB1YmxpYyBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnRDbGFzcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0TXV0YXRpb25PYnNlcnZlcigpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIGlzIHBhdGNoZWQgYnkgWm9uZS5qcyBhbmQgdGhlcmVmb3JlIGJlY29tZXMgcGFydCBvZiB0aGVcbiAgICAgIC8vIEFuZ3VsYXIgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSwgYnV0IHRoaXMgY2FuIGxlYWQgdG8gaW5maW5pdGUgbG9vcHMgaW4gc29tZVxuICAgICAgLy8gc2NlbmFyaW9zLiBUaGlzIHdpbGwga2VlcCBNdXRhdGlvbk9ic2VydmVyIGZyb20gdHJpZ2dlcmluZyBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSB0aGlzLm11dGF0aW9uT2JzZXJ2ZXJTdmMuY3JlYXRlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuSGVpZ2h0cygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShlbCwge1xuICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lNdXRhdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMubXV0YXRpb25PYnNlcnZlcikge1xuICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJyZWFrcG9pbnRDbGFzcygpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnRXaWR0aCA9IHRoaXMuc2VsZWN0aW9uQm94QWRhcHRlci5nZXRQYXJlbnRXaWR0aCh0aGlzLmhvc3RFbFJlZik7XG4gICAgdGhpcy5jdXJyZW50QnJlYWtwb2ludCA9XG4gICAgICB0aGlzLnNlbGVjdGlvbkJveEFkYXB0ZXIuZ2V0QnJlYWtwb2ludEZvcldpZHRoKHBhcmVudFdpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2hpbGRyZW5IZWlnaHRzKCk6IHZvaWQge1xuICAgIHRoaXMuY29yZUFkYXB0ZXJTZXJ2aWNlLnJlc2V0SGVpZ2h0KFxuICAgICAgdGhpcy5lbGVtZW50UmVmLFxuICAgICAgU0tZX1NFTEVDVElPTl9CT1hfQ0xBU1NfTkFNRVxuICAgICk7XG4gICAgdGhpcy5jb3JlQWRhcHRlclNlcnZpY2Uuc3luY01heEhlaWdodChcbiAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgIFNLWV9TRUxFQ1RJT05fQk9YX0NMQVNTX05BTUVcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXNlbGVjdGlvbi1ib3gtZ3JpZFwiXG4gIFtuZ0NsYXNzXT1cIidza3ktc2VsZWN0aW9uLWJveC1ncmlkLWFsaWduLScgKyBhbGlnbkl0ZW1zXCJcbiAgI2NvbnRhaW5lclxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktc2VsZWN0aW9uLWJveFwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Specifies the header to display in a selection box.
5
+ */
6
+ export class SkySelectionBoxHeaderComponent {
7
+ }
8
+ SkySelectionBoxHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ SkySelectionBoxHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkySelectionBoxHeaderComponent, selector: "sky-selection-box-header", ngImport: i0, template: "<ng-content></ng-content>\n" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxHeaderComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'sky-selection-box-header', template: "<ng-content></ng-content>\n" }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7R0FFRztBQUtILE1BQU0sT0FBTyw4QkFBOEI7OzJIQUE5Qiw4QkFBOEI7K0dBQTlCLDhCQUE4QixnRUNUM0MsNkJBQ0E7MkZEUWEsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNFLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgaGVhZGVyIHRvIGRpc3BsYXkgaW4gYSBzZWxlY3Rpb24gYm94LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VsZWN0aW9uLWJveC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0aW9uLWJveC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hIZWFkZXJDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -0,0 +1,101 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { SkySelectionBoxAdapterService } from './selection-box-adapter.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./selection-box-adapter.service";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@skyux/theme";
9
+ /**
10
+ * Creates a button to present users with a choice or question before proceeding with a one-time process.
11
+ */
12
+ export class SkySelectionBoxComponent {
13
+ constructor(changeDetector, selectionBoxAdapterService) {
14
+ this.changeDetector = changeDetector;
15
+ this.selectionBoxAdapterService = selectionBoxAdapterService;
16
+ this.ngUnsubscribe = new Subject();
17
+ }
18
+ set checked(value) {
19
+ this._checked = value;
20
+ this.changeDetector.markForCheck();
21
+ }
22
+ get checked() {
23
+ return this._checked;
24
+ }
25
+ set disabled(value) {
26
+ this.selectionBoxAdapterService.setTabIndex(this.selectionBoxEl, value ? -1 : 0);
27
+ this._disabled = value;
28
+ this.changeDetector.markForCheck();
29
+ }
30
+ get disabled() {
31
+ return this._disabled || false;
32
+ }
33
+ ngAfterViewInit() {
34
+ // Wait for consumer form controls to initialize before setting selected/disabled states.
35
+ setTimeout(() => {
36
+ this.selectionBoxAdapterService.setChildrenTabIndex(this.selectionBoxEl, -1);
37
+ this.updateCheckedOnControlChange();
38
+ this.updateDisabledState();
39
+ });
40
+ }
41
+ ngOnDestroy() {
42
+ this.ngUnsubscribe.next();
43
+ this.ngUnsubscribe.complete();
44
+ }
45
+ /**
46
+ * Since we are programatically firing a click on the control,
47
+ * make sure user is not clicking on the control before firing click logic.
48
+ */
49
+ onClick(event) {
50
+ const isControlClick = this.selectionBoxAdapterService.isDescendant(this.controlEl, event.target);
51
+ if (!isControlClick) {
52
+ this.selectControl();
53
+ }
54
+ }
55
+ onKeydown(event) {
56
+ /* istanbul ignore else */
57
+ if (event.key === ' ') {
58
+ this.selectControl();
59
+ event.preventDefault();
60
+ }
61
+ }
62
+ selectControl() {
63
+ this.selectionBoxAdapterService.getControl(this.controlEl).click();
64
+ this.selectionBoxAdapterService.focus(this.selectionBoxEl);
65
+ }
66
+ updateCheckedOnControlChange() {
67
+ this.control.checkedChange
68
+ .pipe(takeUntil(this.ngUnsubscribe))
69
+ .subscribe((value) => {
70
+ this.checked = value;
71
+ });
72
+ }
73
+ updateDisabledState() {
74
+ this.control.disabledChange
75
+ .pipe(takeUntil(this.ngUnsubscribe))
76
+ .subscribe((value) => {
77
+ this.disabled = value;
78
+ });
79
+ }
80
+ }
81
+ SkySelectionBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkySelectionBoxAdapterService }], target: i0.ɵɵFactoryTarget.Component });
82
+ SkySelectionBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SkySelectionBoxComponent, selector: "sky-selection-box", inputs: { control: "control" }, viewQueries: [{ propertyName: "controlEl", first: true, predicate: ["control"], descendants: true, read: ElementRef }, { propertyName: "selectionBoxEl", first: true, predicate: ["selectionBox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-selection-box sky-rounded-corners sky-btn sky-btn-default\"\n role=\"button\"\n tabindex=\"0\"\n [attr.disabled]=\"disabled ? true : null\"\n [ngClass]=\"{\n 'sky-selection-box-selected': checked,\n 'sky-selection-box-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-box sky-elevation-1': 'modern'\n }\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeydown($event)\"\n #selectionBox\n>\n <div\n class=\"sky-selection-box-icon\"\n [ngStyle]=\"{\n display: !icon.innerHTML.trim() ? 'none' : ''\n }\"\n #icon\n >\n <ng-content select=\"sky-icon\"> </ng-content>\n </div>\n\n <div class=\"sky-selection-box-content\">\n <div\n class=\"sky-selection-box-header\"\n [ngClass]=\"{\n 'sky-font-heading-2': icon.innerHTML.trim(),\n 'sky-font-heading-3': !icon.innerHTML.trim()\n }\"\n >\n <ng-content select=\"sky-selection-box-header\"></ng-content>\n </div>\n <div\n class=\"sky-selection-box-description\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n <ng-content select=\"sky-selection-box-description\"> </ng-content>\n </div>\n </div>\n\n <div class=\"sky-selection-box-control\" #control>\n <ng-content select=\"sky-radio\"> </ng-content>\n <ng-content select=\"sky-checkbox\"> </ng-content>\n </div>\n</div>\n", styles: [".sky-selection-box{display:flex;flex-flow:row nowrap;padding:15px;text-align:left}.sky-selection-box:hover{background:#ffffff;box-shadow:0 0 5px #0000004d,inset 0 0 0 1px #00b4f1}.sky-selection-box:hover .sky-switch-control{border:solid 1px #00b4f1}.sky-selection-box:focus .sky-switch-control{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}.sky-selection-box.sky-selection-box-selected{background:#f1eef6}.sky-selection-box.sky-selection-box-disabled{background:#eeeeef}.sky-selection-box.sky-selection-box-disabled .sky-selection-box-icon{color:#686c73}.sky-selection-box .sky-selection-box-icon{color:#0974a1;margin:0 10px 0 0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.sky-selection-box .sky-selection-box-icon .sky-icon{font-size:24px!important}.sky-selection-box .sky-selection-box-content{flex:1 1 auto;margin:0 10px 0 0;white-space:initial}.sky-selection-box .sky-selection-box-header{padding-top:3px}.sky-selection-box .sky-selection-box-control{flex:0 0 auto;padding-top:5px}:host-context(.sky-theme-modern) .sky-selection-box{padding:30px}:host-context(.sky-theme-modern) .sky-selection-box:hover{box-shadow:0 1px 3px #0000004d,inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-selection-box:hover .sky-switch-control{border:solid 1px #1870B8}:host-context(.sky-theme-modern) .sky-selection-box:focus .sky-switch-input:not(:disabled):checked+.sky-switch-control{border:none}:host-context(.sky-theme-modern) .sky-selection-box:focus .sky-switch-control{outline:none;border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-selection-box.sky-selection-box-selected,:host-context(.sky-theme-modern) .sky-selection-box:focus.sky-selection-box-selected{background:#e8f8ff;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d,inset 6px 0 #0974a1}:host-context(.sky-theme-modern) .sky-selection-box.sky-selection-box-disabled .sky-selection-box-icon{background:#d2d2d2;color:#686c73}:host-context(.sky-theme-modern) .sky-selection-box .sky-selection-box-icon{color:#0974a1;background:#e8f8ff;margin:0 15px 0 0;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}:host-context(.sky-theme-modern) .sky-selection-box .sky-selection-box-content{margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-selection-box .sky-selection-box-description{margin:3px 0 0}.sky-theme-modern .sky-selection-box{padding:30px}.sky-theme-modern .sky-selection-box:hover{box-shadow:0 1px 3px #0000004d,inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-selection-box:hover .sky-switch-control{border:solid 1px #1870B8}.sky-theme-modern .sky-selection-box:focus .sky-switch-input:not(:disabled):checked+.sky-switch-control{border:none}.sky-theme-modern .sky-selection-box:focus .sky-switch-control{outline:none;border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-selection-box.sky-selection-box-selected,.sky-theme-modern .sky-selection-box:focus.sky-selection-box-selected{background:#e8f8ff;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d,inset 6px 0 #0974a1}.sky-theme-modern .sky-selection-box.sky-selection-box-disabled .sky-selection-box-icon{background:#d2d2d2;color:#686c73}.sky-theme-modern .sky-selection-box .sky-selection-box-icon{color:#0974a1;background:#e8f8ff;margin:0 15px 0 0;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.sky-theme-modern .sky-selection-box .sky-selection-box-content{margin:0 30px 0 0}.sky-theme-modern .sky-selection-box .sky-selection-box-description{margin:3px 0 0}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'sky-selection-box', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-selection-box sky-rounded-corners sky-btn sky-btn-default\"\n role=\"button\"\n tabindex=\"0\"\n [attr.disabled]=\"disabled ? true : null\"\n [ngClass]=\"{\n 'sky-selection-box-selected': checked,\n 'sky-selection-box-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-box sky-elevation-1': 'modern'\n }\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeydown($event)\"\n #selectionBox\n>\n <div\n class=\"sky-selection-box-icon\"\n [ngStyle]=\"{\n display: !icon.innerHTML.trim() ? 'none' : ''\n }\"\n #icon\n >\n <ng-content select=\"sky-icon\"> </ng-content>\n </div>\n\n <div class=\"sky-selection-box-content\">\n <div\n class=\"sky-selection-box-header\"\n [ngClass]=\"{\n 'sky-font-heading-2': icon.innerHTML.trim(),\n 'sky-font-heading-3': !icon.innerHTML.trim()\n }\"\n >\n <ng-content select=\"sky-selection-box-header\"></ng-content>\n </div>\n <div\n class=\"sky-selection-box-description\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n <ng-content select=\"sky-selection-box-description\"> </ng-content>\n </div>\n </div>\n\n <div class=\"sky-selection-box-control\" #control>\n <ng-content select=\"sky-radio\"> </ng-content>\n <ng-content select=\"sky-checkbox\"> </ng-content>\n </div>\n</div>\n", styles: [".sky-selection-box{display:flex;flex-flow:row nowrap;padding:15px;text-align:left}.sky-selection-box:hover{background:#ffffff;box-shadow:0 0 5px #0000004d,inset 0 0 0 1px #00b4f1}.sky-selection-box:hover .sky-switch-control{border:solid 1px #00b4f1}.sky-selection-box:focus .sky-switch-control{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px}.sky-selection-box.sky-selection-box-selected{background:#f1eef6}.sky-selection-box.sky-selection-box-disabled{background:#eeeeef}.sky-selection-box.sky-selection-box-disabled .sky-selection-box-icon{color:#686c73}.sky-selection-box .sky-selection-box-icon{color:#0974a1;margin:0 10px 0 0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.sky-selection-box .sky-selection-box-icon .sky-icon{font-size:24px!important}.sky-selection-box .sky-selection-box-content{flex:1 1 auto;margin:0 10px 0 0;white-space:initial}.sky-selection-box .sky-selection-box-header{padding-top:3px}.sky-selection-box .sky-selection-box-control{flex:0 0 auto;padding-top:5px}:host-context(.sky-theme-modern) .sky-selection-box{padding:30px}:host-context(.sky-theme-modern) .sky-selection-box:hover{box-shadow:0 1px 3px #0000004d,inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-selection-box:hover .sky-switch-control{border:solid 1px #1870B8}:host-context(.sky-theme-modern) .sky-selection-box:focus .sky-switch-input:not(:disabled):checked+.sky-switch-control{border:none}:host-context(.sky-theme-modern) .sky-selection-box:focus .sky-switch-control{outline:none;border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-selection-box.sky-selection-box-selected,:host-context(.sky-theme-modern) .sky-selection-box:focus.sky-selection-box-selected{background:#e8f8ff;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d,inset 6px 0 #0974a1}:host-context(.sky-theme-modern) .sky-selection-box.sky-selection-box-disabled .sky-selection-box-icon{background:#d2d2d2;color:#686c73}:host-context(.sky-theme-modern) .sky-selection-box .sky-selection-box-icon{color:#0974a1;background:#e8f8ff;margin:0 15px 0 0;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}:host-context(.sky-theme-modern) .sky-selection-box .sky-selection-box-content{margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-selection-box .sky-selection-box-description{margin:3px 0 0}.sky-theme-modern .sky-selection-box{padding:30px}.sky-theme-modern .sky-selection-box:hover{box-shadow:0 1px 3px #0000004d,inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-selection-box:hover .sky-switch-control{border:solid 1px #1870B8}.sky-theme-modern .sky-selection-box:focus .sky-switch-input:not(:disabled):checked+.sky-switch-control{border:none}.sky-theme-modern .sky-selection-box:focus .sky-switch-control{outline:none;border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-selection-box.sky-selection-box-selected,.sky-theme-modern .sky-selection-box:focus.sky-selection-box-selected{background:#e8f8ff;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d,inset 6px 0 #0974a1}.sky-theme-modern .sky-selection-box.sky-selection-box-disabled .sky-selection-box-icon{background:#d2d2d2;color:#686c73}.sky-theme-modern .sky-selection-box .sky-selection-box-icon{color:#0974a1;background:#e8f8ff;margin:0 15px 0 0;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.sky-theme-modern .sky-selection-box .sky-selection-box-content{margin:0 30px 0 0}.sky-theme-modern .sky-selection-box .sky-selection-box-description{margin:3px 0 0}\n"] }]
86
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkySelectionBoxAdapterService }]; }, propDecorators: { control: [{
87
+ type: Input
88
+ }], controlEl: [{
89
+ type: ViewChild,
90
+ args: ['control', {
91
+ read: ElementRef,
92
+ static: false,
93
+ }]
94
+ }], selectionBoxEl: [{
95
+ type: ViewChild,
96
+ args: ['selectionBox', {
97
+ read: ElementRef,
98
+ static: false,
99
+ }]
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQUVoRjs7R0FFRztBQVFILE1BQU0sT0FBTyx3QkFBd0I7SUFnRG5DLFlBQ1UsY0FBaUMsRUFDakMsMEJBQXlEO1FBRHpELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQStCO1FBUjNELGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVN6QyxDQUFDO0lBM0NKLElBQVcsT0FBTyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUN6QyxJQUFJLENBQUMsY0FBYyxFQUNuQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUF5Qk0sZUFBZTtRQUNwQix5RkFBeUY7UUFDekYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxtQkFBbUIsQ0FDakQsSUFBSSxDQUFDLGNBQWMsRUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPLENBQUMsS0FBVTtRQUN2QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUNqRSxJQUFJLENBQUMsU0FBUyxFQUNkLEtBQUssQ0FBQyxNQUFNLENBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFvQjtRQUNuQywwQkFBMEI7UUFDMUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVPLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7YUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYzthQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQS9HVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwwS0ErQjNCLFVBQVUseUdBTVYsVUFBVSw2QkNuRXBCLHM3Q0FxREE7MkZEdkJhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtvSkFROUIsT0FBTztzQkFEYixLQUFLO2dCQTZCRSxTQUFTO3NCQUpoQixTQUFTO3VCQUFDLFNBQVMsRUFBRTt3QkFDcEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxLQUFLO3FCQUNkO2dCQU9PLGNBQWM7c0JBSnJCLFNBQVM7dUJBQUMsY0FBYyxFQUFFO3dCQUN6QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vc2VsZWN0aW9uLWJveC1hZGFwdGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBidXR0b24gdG8gcHJlc2VudCB1c2VycyB3aXRoIGEgY2hvaWNlIG9yIHF1ZXN0aW9uIGJlZm9yZSBwcm9jZWVkaW5nIHdpdGggYSBvbmUtdGltZSBwcm9jZXNzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VsZWN0aW9uLWJveCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VsZWN0aW9uQm94Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgcmFkaW8gYnV0dG9uIG9yIGNoZWNrYm94IHRvIGRpc3BsYXkgaW4gdGhlIHNlbGVjdGlvbiBib3guXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGNvbnRyb2w6IFNreUNoZWNrYm94Q29tcG9uZW50IHwgU2t5UmFkaW9Db21wb25lbnQ7XG5cbiAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZS5zZXRUYWJJbmRleChcbiAgICAgIHRoaXMuc2VsZWN0aW9uQm94RWwsXG4gICAgICB2YWx1ZSA/IC0xIDogMFxuICAgICk7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgZmFsc2U7XG4gIH1cblxuICBAVmlld0NoaWxkKCdjb250cm9sJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHJpdmF0ZSBjb250cm9sRWw6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0aW9uQm94Jywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHJpdmF0ZSBzZWxlY3Rpb25Cb3hFbDogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2NoZWNrZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZTogU2t5U2VsZWN0aW9uQm94QWRhcHRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCBmb3IgY29uc3VtZXIgZm9ybSBjb250cm9scyB0byBpbml0aWFsaXplIGJlZm9yZSBzZXR0aW5nIHNlbGVjdGVkL2Rpc2FibGVkIHN0YXRlcy5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQm94QWRhcHRlclNlcnZpY2Uuc2V0Q2hpbGRyZW5UYWJJbmRleChcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Cb3hFbCxcbiAgICAgICAgLTFcbiAgICAgICk7XG4gICAgICB0aGlzLnVwZGF0ZUNoZWNrZWRPbkNvbnRyb2xDaGFuZ2UoKTtcbiAgICAgIHRoaXMudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2luY2Ugd2UgYXJlIHByb2dyYW1hdGljYWxseSBmaXJpbmcgYSBjbGljayBvbiB0aGUgY29udHJvbCxcbiAgICogbWFrZSBzdXJlIHVzZXIgaXMgbm90IGNsaWNraW5nIG9uIHRoZSBjb250cm9sIGJlZm9yZSBmaXJpbmcgY2xpY2sgbG9naWMuXG4gICAqL1xuICBwdWJsaWMgb25DbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgaXNDb250cm9sQ2xpY2sgPSB0aGlzLnNlbGVjdGlvbkJveEFkYXB0ZXJTZXJ2aWNlLmlzRGVzY2VuZGFudChcbiAgICAgIHRoaXMuY29udHJvbEVsLFxuICAgICAgZXZlbnQudGFyZ2V0XG4gICAgKTtcbiAgICBpZiAoIWlzQ29udHJvbENsaWNrKSB7XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2woKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIHRoaXMuc2VsZWN0Q29udHJvbCgpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENvbnRyb2woKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZS5nZXRDb250cm9sKHRoaXMuY29udHJvbEVsKS5jbGljaygpO1xuICAgIHRoaXMuc2VsZWN0aW9uQm94QWRhcHRlclNlcnZpY2UuZm9jdXModGhpcy5zZWxlY3Rpb25Cb3hFbCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNoZWNrZWRPbkNvbnRyb2xDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sLmNoZWNrZWRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wuZGlzYWJsZWRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktc2VsZWN0aW9uLWJveCBza3ktcm91bmRlZC1jb3JuZXJzIHNreS1idG4gc2t5LWJ0bi1kZWZhdWx0XCJcbiAgcm9sZT1cImJ1dHRvblwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gdHJ1ZSA6IG51bGxcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS1zZWxlY3Rpb24tYm94LXNlbGVjdGVkJzogY2hlY2tlZCxcbiAgICAnc2t5LXNlbGVjdGlvbi1ib3gtZGlzYWJsZWQnOiBkaXNhYmxlZFxuICB9XCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICdza3ktYm94IHNreS1lbGV2YXRpb24tMSc6ICdtb2Rlcm4nXG4gIH1cIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAjc2VsZWN0aW9uQm94XG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1zZWxlY3Rpb24tYm94LWljb25cIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgIGRpc3BsYXk6ICFpY29uLmlubmVySFRNTC50cmltKCkgPyAnbm9uZScgOiAnJ1xuICAgIH1cIlxuICAgICNpY29uXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktaWNvblwiPiA8L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJza3ktc2VsZWN0aW9uLWJveC1jb250ZW50XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktc2VsZWN0aW9uLWJveC1oZWFkZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWZvbnQtaGVhZGluZy0yJzogaWNvbi5pbm5lckhUTUwudHJpbSgpLFxuICAgICAgICAnc2t5LWZvbnQtaGVhZGluZy0zJzogIWljb24uaW5uZXJIVE1MLnRyaW0oKVxuICAgICAgfVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LXNlbGVjdGlvbi1ib3gtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LXNlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb25cIlxuICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWZvbnQtZGVlbXBoYXNpemVkJzogJ21vZGVybicsXG4gICAgICAgICdza3ktZGVlbXBoYXNpemVkJzogJ2RlZmF1bHQnXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktc2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvblwiPiA8L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJza3ktc2VsZWN0aW9uLWJveC1jb250cm9sXCIgI2NvbnRyb2w+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LXJhZGlvXCI+IDwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktY2hlY2tib3hcIj4gPC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,40 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SkyThemeModule } from '@skyux/theme';
4
+ import { SkySelectionBoxAdapterService } from './selection-box-adapter.service';
5
+ import { SkySelectionBoxDescriptionComponent } from './selection-box-description.component';
6
+ import { SkySelectionBoxGridComponent } from './selection-box-grid.component';
7
+ import { SkySelectionBoxHeaderComponent } from './selection-box-header.component';
8
+ import { SkySelectionBoxComponent } from './selection-box.component';
9
+ import * as i0 from "@angular/core";
10
+ export class SkySelectionBoxModule {
11
+ }
12
+ SkySelectionBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ SkySelectionBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxModule, declarations: [SkySelectionBoxGridComponent,
14
+ SkySelectionBoxComponent,
15
+ SkySelectionBoxDescriptionComponent,
16
+ SkySelectionBoxHeaderComponent], imports: [CommonModule, SkyThemeModule], exports: [SkySelectionBoxGridComponent,
17
+ SkySelectionBoxComponent,
18
+ SkySelectionBoxDescriptionComponent,
19
+ SkySelectionBoxHeaderComponent] });
20
+ SkySelectionBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxModule, providers: [SkySelectionBoxAdapterService], imports: [[CommonModule, SkyThemeModule]] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkySelectionBoxModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [
25
+ SkySelectionBoxGridComponent,
26
+ SkySelectionBoxComponent,
27
+ SkySelectionBoxDescriptionComponent,
28
+ SkySelectionBoxHeaderComponent,
29
+ ],
30
+ imports: [CommonModule, SkyThemeModule],
31
+ exports: [
32
+ SkySelectionBoxGridComponent,
33
+ SkySelectionBoxComponent,
34
+ SkySelectionBoxDescriptionComponent,
35
+ SkySelectionBoxHeaderComponent,
36
+ ],
37
+ providers: [SkySelectionBoxAdapterService],
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFrQnJFLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixpQkFkOUIsNEJBQTRCO1FBQzVCLHdCQUF3QjtRQUN4QixtQ0FBbUM7UUFDbkMsOEJBQThCLGFBRXRCLFlBQVksRUFBRSxjQUFjLGFBRXBDLDRCQUE0QjtRQUM1Qix3QkFBd0I7UUFDeEIsbUNBQW1DO1FBQ25DLDhCQUE4QjttSEFJckIscUJBQXFCLGFBRnJCLENBQUMsNkJBQTZCLENBQUMsWUFQakMsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDOzJGQVM1QixxQkFBcUI7a0JBaEJqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsbUNBQW1DO3dCQUNuQyw4QkFBOEI7cUJBQy9CO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIsbUNBQW1DO3dCQUNuQyw4QkFBOEI7cUJBQy9CO29CQUNELFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vc2VsZWN0aW9uLWJveC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uQm94RGVzY3JpcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVNlbGVjdGlvbkJveEdyaWRDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1ib3gtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uQm94SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uQm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVNlbGVjdGlvbkJveEdyaWRDb21wb25lbnQsXG4gICAgU2t5U2VsZWN0aW9uQm94Q29tcG9uZW50LFxuICAgIFNreVNlbGVjdGlvbkJveERlc2NyaXB0aW9uQ29tcG9uZW50LFxuICAgIFNreVNlbGVjdGlvbkJveEhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5VGhlbWVNb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5U2VsZWN0aW9uQm94R3JpZENvbXBvbmVudCxcbiAgICBTa3lTZWxlY3Rpb25Cb3hDb21wb25lbnQsXG4gICAgU2t5U2VsZWN0aW9uQm94RGVzY3JpcHRpb25Db21wb25lbnQsXG4gICAgU2t5U2VsZWN0aW9uQm94SGVhZGVyQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtTa3lTZWxlY3Rpb25Cb3hBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlbGVjdGlvbkJveE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1ncmlkLWFsaWduLWl0ZW1zLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvdHlwZXMvc2VsZWN0aW9uLWJveC1ncmlkLWFsaWduLWl0ZW1zLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCB0eXBlIFNreVNlbGVjdGlvbkJveEdyaWRBbGlnbkl0ZW1zVHlwZSA9ICdjZW50ZXInIHwgJ2xlZnQnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1ncmlkLWFsaWduLWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3R5cGVzL3NlbGVjdGlvbi1ib3gtZ3JpZC1hbGlnbi1pdGVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkIFVzZSBgU2t5U2VsZWN0aW9uQm94R3JpZEFsaWduSXRlbXNUeXBlYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY29uc3QgZW51bSBTa3lTZWxlY3Rpb25Cb3hHcmlkQWxpZ25JdGVtcyB7XG4gIC8qKlxuICAgKiBDZW50ZXItYWxpZ25zIHRoZSBzZWxlY3Rpb24gYm94ZXMuXG4gICAqL1xuICBDZW50ZXIgPSAnY2VudGVyJyxcblxuICAvKipcbiAgICogTGVmdC1hbGlnbnMgdGhlIHNlbGVjdGlvbiBib3hlcy5cbiAgICovXG4gIExlZnQgPSAnbGVmdCcsXG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ // Need to add the following to classes which contain static methods.
2
+ // See: https://github.com/ng-packagr/ng-packagr/issues/641
3
+ // @dynamic
4
+ export class SkyFormsUtility {
5
+ /** Coerces a data-bound value (typically a string) to a boolean. */
6
+ static coerceBooleanProperty(value) {
7
+ return value !== undefined && `${value}` !== 'false';
8
+ }
9
+ /**
10
+ * Gets the required state of the checkbox.
11
+ * Currently, Angular doesn't offer a way to get this easily, so we have to create an empty
12
+ * control using the current validator to see if it throws a `required` validation error.
13
+ * https://github.com/angular/angular/issues/13461#issuecomment-340368046
14
+ */
15
+ static hasRequiredValidation(ngControl) {
16
+ const abstractControl = ngControl.control;
17
+ if (abstractControl && abstractControl.validator) {
18
+ const validator = abstractControl.validator({});
19
+ if (validator && validator.required) {
20
+ return true;
21
+ }
22
+ }
23
+ return false;
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL2Zvcm1zLXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEscUVBQXFFO0FBQ3JFLDJEQUEyRDtBQUMzRCxXQUFXO0FBQ1gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsb0VBQW9FO0lBQzdELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFVO1FBQzVDLE9BQU8sS0FBSyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssRUFBRSxLQUFLLE9BQU8sQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMscUJBQXFCLENBQUMsU0FBb0I7UUFDdEQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLE9BQTBCLENBQUM7UUFDN0QsSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRTtZQUNoRCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQXFCLENBQUMsQ0FBQztZQUNuRSxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFO2dCQUNuQyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIFNreUZvcm1zVXRpbGl0eSB7XG4gIC8qKiBDb2VyY2VzIGEgZGF0YS1ib3VuZCB2YWx1ZSAodHlwaWNhbGx5IGEgc3RyaW5nKSB0byBhIGJvb2xlYW4uICovXG4gIHB1YmxpYyBzdGF0aWMgY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJlcXVpcmVkIHN0YXRlIG9mIHRoZSBjaGVja2JveC5cbiAgICogQ3VycmVudGx5LCBBbmd1bGFyIGRvZXNuJ3Qgb2ZmZXIgYSB3YXkgdG8gZ2V0IHRoaXMgZWFzaWx5LCBzbyB3ZSBoYXZlIHRvIGNyZWF0ZSBhbiBlbXB0eVxuICAgKiBjb250cm9sIHVzaW5nIHRoZSBjdXJyZW50IHZhbGlkYXRvciB0byBzZWUgaWYgaXQgdGhyb3dzIGEgYHJlcXVpcmVkYCB2YWxpZGF0aW9uIGVycm9yLlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzQ2MSNpc3N1ZWNvbW1lbnQtMzQwMzY4MDQ2XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhhc1JlcXVpcmVkVmFsaWRhdGlvbihuZ0NvbnRyb2w6IE5nQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGFic3RyYWN0Q29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIEFic3RyYWN0Q29udHJvbDtcbiAgICBpZiAoYWJzdHJhY3RDb250cm9sICYmIGFic3RyYWN0Q29udHJvbC52YWxpZGF0b3IpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IGFic3RyYWN0Q29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcbiAgICAgIGlmICh2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==