@daffodil/design 0.89.0 → 0.91.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 (209) hide show
  1. package/README.md +1 -0
  2. package/accordion/index.d.ts +8 -5
  3. package/article/README.md +1 -1
  4. package/article/index.d.ts +20 -0
  5. package/article/src/article-theme.scss +10 -0
  6. package/button/index.d.ts +4 -4
  7. package/button/src/button/button-base.scss +3 -3
  8. package/button/src/button/raised/raised-theme.scss +6 -16
  9. package/card/README.md +0 -8
  10. package/card/index.d.ts +7 -41
  11. package/card/src/card-base-theme.scss +2 -5
  12. package/card/src/card-base.scss +2 -2
  13. package/checkbox/README.md +0 -0
  14. package/checkbox/index.d.ts +177 -0
  15. package/fesm2022/daffodil-design-accordion.mjs +23 -14
  16. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  17. package/fesm2022/daffodil-design-article.mjs +129 -5
  18. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  19. package/fesm2022/daffodil-design-button.mjs +24 -20
  20. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  21. package/fesm2022/daffodil-design-card.mjs +16 -63
  22. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  23. package/fesm2022/daffodil-design-checkbox.mjs +317 -0
  24. package/fesm2022/daffodil-design-checkbox.mjs.map +1 -0
  25. package/fesm2022/daffodil-design-form-field.mjs +55 -162
  26. package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
  27. package/fesm2022/daffodil-design-form.mjs +62 -0
  28. package/fesm2022/daffodil-design-form.mjs.map +1 -0
  29. package/fesm2022/daffodil-design-image.mjs +12 -4
  30. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  31. package/fesm2022/daffodil-design-modal.mjs +55 -56
  32. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  33. package/fesm2022/daffodil-design-notification.mjs +14 -50
  34. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  35. package/fesm2022/daffodil-design-paginator.mjs +6 -11
  36. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  37. package/fesm2022/daffodil-design-quantity-field.mjs +3 -5
  38. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
  39. package/fesm2022/daffodil-design-radio.mjs +304 -0
  40. package/fesm2022/daffodil-design-radio.mjs.map +1 -0
  41. package/fesm2022/daffodil-design-select.mjs +2 -2
  42. package/fesm2022/daffodil-design-select.mjs.map +1 -1
  43. package/fesm2022/daffodil-design-sidebar.mjs +6 -36
  44. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  45. package/fesm2022/daffodil-design-switch.mjs +48 -105
  46. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  47. package/fesm2022/daffodil-design-tabs.mjs +22 -14
  48. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  49. package/fesm2022/daffodil-design-tag.mjs +131 -0
  50. package/fesm2022/daffodil-design-tag.mjs.map +1 -0
  51. package/fesm2022/daffodil-design-toast.mjs +56 -55
  52. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  53. package/fesm2022/daffodil-design-tree.mjs +4 -13
  54. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  55. package/fesm2022/daffodil-design.mjs +250 -774
  56. package/fesm2022/daffodil-design.mjs.map +1 -1
  57. package/form/README.md +75 -0
  58. package/form/index.d.ts +27 -0
  59. package/form-field/README.md +49 -39
  60. package/form-field/index.d.ts +58 -76
  61. package/image/README.md +27 -19
  62. package/image/index.d.ts +6 -1
  63. package/index.d.ts +180 -424
  64. package/input/README.md +32 -12
  65. package/modal/README.md +106 -16
  66. package/modal/index.d.ts +50 -21
  67. package/native-select/README.md +52 -15
  68. package/notification/index.d.ts +7 -38
  69. package/package.json +1 -1
  70. package/paginator/index.d.ts +1 -7
  71. package/radio/README.md +52 -0
  72. package/radio/index.d.ts +160 -0
  73. package/scss/core/error/error-to-string.scss +6 -6
  74. package/scss/core/map/map-get/map-get.scss +3 -3
  75. package/scss/layout/_breakpoint.scss +1 -1
  76. package/scss/theme.scss +4 -4
  77. package/scss/theming/_color-palettes.scss +21 -7
  78. package/scss/theming/_configure-theme.scss +11 -10
  79. package/scss/theming/_daff-theme.scss +5 -14
  80. package/scss/theming/_get-base-color.scss +2 -2
  81. package/scss/theming/_get-palette.scss +2 -2
  82. package/scss/theming/_get-theme-mode.scss +3 -3
  83. package/scss/theming/_index.scss +2 -1
  84. package/scss/theming/contrast/_index.scss +1 -0
  85. package/scss/theming/contrast/max-contrast/max-contrast.scss +47 -0
  86. package/scss/theming/contrast/max-contrast/max-contrast.spec.scss +57 -0
  87. package/scss/theming/contrast/text-contrast/text-contrast.scss +22 -16
  88. package/scss/theming/contrast/text-contrast/text-contrast.spec.scss +57 -0
  89. package/scss/theming/create-theme/_create-theme.scss +330 -0
  90. package/scss/theming/create-theme/_create-theme.spec.scss +122 -0
  91. package/scss/theming/create-theme/_index.scss +1 -0
  92. package/scss/theming/get-font-colors/_get-font-colors.scss +36 -0
  93. package/scss/theming/get-font-colors/_get-font-colors.spec.scss +72 -0
  94. package/scss/typography/mixins/_font-weight.scss +8 -14
  95. package/select/README.md +107 -4
  96. package/sidebar/README.md +0 -8
  97. package/sidebar/index.d.ts +3 -15
  98. package/switch/README.md +19 -27
  99. package/switch/index.d.ts +18 -48
  100. package/switch/src/switch-theme.scss +26 -18
  101. package/tabs/index.d.ts +7 -4
  102. package/tag/README.md +87 -0
  103. package/tag/index.d.ts +71 -0
  104. package/tag/src/tag-theme.scss +137 -0
  105. package/textarea/README.md +35 -5
  106. package/tree/index.d.ts +0 -6
  107. package/tree/src/tree-theme.scss +0 -4
  108. package/accordion/examples/index.d.ts +0 -20
  109. package/article/examples/index.d.ts +0 -50
  110. package/breadcrumb/examples/index.d.ts +0 -10
  111. package/button/examples/index.d.ts +0 -67
  112. package/callout/examples/index.d.ts +0 -41
  113. package/card/examples/index.d.ts +0 -62
  114. package/card/src/card/raised/raised-theme.scss +0 -28
  115. package/checkbox/examples/index.d.ts +0 -32
  116. package/container/examples/index.d.ts +0 -16
  117. package/fesm2022/daffodil-design-accordion-examples.mjs +0 -50
  118. package/fesm2022/daffodil-design-accordion-examples.mjs.map +0 -1
  119. package/fesm2022/daffodil-design-article-examples.mjs +0 -134
  120. package/fesm2022/daffodil-design-article-examples.mjs.map +0 -1
  121. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +0 -46
  122. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +0 -1
  123. package/fesm2022/daffodil-design-button-examples.mjs +0 -178
  124. package/fesm2022/daffodil-design-button-examples.mjs.map +0 -1
  125. package/fesm2022/daffodil-design-callout-examples.mjs +0 -116
  126. package/fesm2022/daffodil-design-callout-examples.mjs.map +0 -1
  127. package/fesm2022/daffodil-design-card-examples.mjs +0 -168
  128. package/fesm2022/daffodil-design-card-examples.mjs.map +0 -1
  129. package/fesm2022/daffodil-design-checkbox-examples.mjs +0 -76
  130. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +0 -1
  131. package/fesm2022/daffodil-design-container-examples.mjs +0 -41
  132. package/fesm2022/daffodil-design-container-examples.mjs.map +0 -1
  133. package/fesm2022/daffodil-design-form-field-examples.mjs +0 -96
  134. package/fesm2022/daffodil-design-form-field-examples.mjs.map +0 -1
  135. package/fesm2022/daffodil-design-hero-examples.mjs +0 -121
  136. package/fesm2022/daffodil-design-hero-examples.mjs.map +0 -1
  137. package/fesm2022/daffodil-design-image-examples.mjs +0 -58
  138. package/fesm2022/daffodil-design-image-examples.mjs.map +0 -1
  139. package/fesm2022/daffodil-design-input-examples.mjs +0 -108
  140. package/fesm2022/daffodil-design-input-examples.mjs.map +0 -1
  141. package/fesm2022/daffodil-design-list-examples.mjs +0 -77
  142. package/fesm2022/daffodil-design-list-examples.mjs.map +0 -1
  143. package/fesm2022/daffodil-design-loading-icon-examples.mjs +0 -44
  144. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +0 -1
  145. package/fesm2022/daffodil-design-media-gallery-examples.mjs +0 -104
  146. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +0 -1
  147. package/fesm2022/daffodil-design-menu-examples.mjs +0 -50
  148. package/fesm2022/daffodil-design-menu-examples.mjs.map +0 -1
  149. package/fesm2022/daffodil-design-modal-examples.mjs +0 -51
  150. package/fesm2022/daffodil-design-modal-examples.mjs.map +0 -1
  151. package/fesm2022/daffodil-design-native-select-examples.mjs +0 -71
  152. package/fesm2022/daffodil-design-native-select-examples.mjs.map +0 -1
  153. package/fesm2022/daffodil-design-navbar-examples.mjs +0 -88
  154. package/fesm2022/daffodil-design-navbar-examples.mjs.map +0 -1
  155. package/fesm2022/daffodil-design-notification-examples.mjs +0 -102
  156. package/fesm2022/daffodil-design-notification-examples.mjs.map +0 -1
  157. package/fesm2022/daffodil-design-paginator-examples.mjs +0 -59
  158. package/fesm2022/daffodil-design-paginator-examples.mjs.map +0 -1
  159. package/fesm2022/daffodil-design-progress-bar-examples.mjs +0 -57
  160. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +0 -1
  161. package/fesm2022/daffodil-design-quantity-field-examples.mjs +0 -85
  162. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +0 -1
  163. package/fesm2022/daffodil-design-radio-examples.mjs +0 -31
  164. package/fesm2022/daffodil-design-radio-examples.mjs.map +0 -1
  165. package/fesm2022/daffodil-design-select-examples.mjs +0 -117
  166. package/fesm2022/daffodil-design-select-examples.mjs.map +0 -1
  167. package/fesm2022/daffodil-design-sidebar-examples.mjs +0 -109
  168. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +0 -1
  169. package/fesm2022/daffodil-design-sticky-examples.mjs +0 -25
  170. package/fesm2022/daffodil-design-sticky-examples.mjs.map +0 -1
  171. package/fesm2022/daffodil-design-switch-examples.mjs +0 -110
  172. package/fesm2022/daffodil-design-switch-examples.mjs.map +0 -1
  173. package/fesm2022/daffodil-design-tabs-examples.mjs +0 -115
  174. package/fesm2022/daffodil-design-tabs-examples.mjs.map +0 -1
  175. package/fesm2022/daffodil-design-text-snippet-examples.mjs +0 -25
  176. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +0 -1
  177. package/fesm2022/daffodil-design-textarea-examples.mjs +0 -66
  178. package/fesm2022/daffodil-design-textarea-examples.mjs.map +0 -1
  179. package/fesm2022/daffodil-design-toast-examples.mjs +0 -147
  180. package/fesm2022/daffodil-design-toast-examples.mjs.map +0 -1
  181. package/fesm2022/daffodil-design-tree-examples.mjs +0 -104
  182. package/fesm2022/daffodil-design-tree-examples.mjs.map +0 -1
  183. package/form-field/examples/index.d.ts +0 -18
  184. package/hero/examples/index.d.ts +0 -45
  185. package/image/examples/index.d.ts +0 -10
  186. package/input/examples/index.d.ts +0 -10
  187. package/list/examples/index.d.ts +0 -29
  188. package/loading-icon/examples/index.d.ts +0 -16
  189. package/media-gallery/examples/index.d.ts +0 -38
  190. package/menu/examples/index.d.ts +0 -20
  191. package/modal/examples/index.d.ts +0 -15
  192. package/native-select/examples/index.d.ts +0 -10
  193. package/navbar/examples/index.d.ts +0 -31
  194. package/notification/examples/index.d.ts +0 -12
  195. package/paginator/examples/index.d.ts +0 -26
  196. package/progress-bar/examples/index.d.ts +0 -10
  197. package/quantity-field/examples/index.d.ts +0 -30
  198. package/radio/examples/index.d.ts +0 -13
  199. package/select/examples/index.d.ts +0 -28
  200. package/sidebar/examples/index.d.ts +0 -10
  201. package/sticky/examples/index.d.ts +0 -10
  202. package/switch/examples/index.d.ts +0 -46
  203. package/tabs/examples/index.d.ts +0 -12
  204. package/text-snippet/examples/index.d.ts +0 -10
  205. package/textarea/examples/index.d.ts +0 -10
  206. package/toast/examples/index.d.ts +0 -56
  207. package/tree/examples/index.d.ts +0 -18
  208. /package/{form-field → form}/src/error-message/error-message-theme.scss +0 -0
  209. /package/{form-field → form}/src/hint/hint-theme.scss +0 -0
@@ -0,0 +1,317 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { EventEmitter, ElementRef, HostBinding, Output, Input, ViewChild, ChangeDetectionStrategy, Component, ContentChildren, Optional, Self, Directive, NgModule } from '@angular/core';
4
+ import * as i1 from '@angular/forms';
5
+
6
+ let checkboxIdNum = 0;
7
+ class DaffCheckboxComponent {
8
+ get checked() {
9
+ return this._checked;
10
+ }
11
+ set checked(value) {
12
+ if (this._checked === value) {
13
+ return;
14
+ }
15
+ if (value === true) {
16
+ this.nativeCheckbox.nativeElement.checked = true;
17
+ this.becameChecked.emit(this._checked);
18
+ }
19
+ else {
20
+ this.nativeCheckbox.nativeElement.checked = false;
21
+ this.becameUnchecked.emit();
22
+ }
23
+ this._checked = value;
24
+ }
25
+ /**
26
+ * @docs-private
27
+ */
28
+ _onChange(val) {
29
+ if (val.target.checked) {
30
+ this.select();
31
+ }
32
+ else {
33
+ this.deselect();
34
+ }
35
+ }
36
+ ;
37
+ /**
38
+ * @docs-private
39
+ */
40
+ get focusClass() {
41
+ return this.focused === true;
42
+ }
43
+ ;
44
+ /**
45
+ * @docs-private
46
+ */
47
+ get disabledClass() {
48
+ return this.disabled === true;
49
+ }
50
+ ;
51
+ /**
52
+ * Sets focused to false.
53
+ */
54
+ onBlur() {
55
+ this.focused = false;
56
+ }
57
+ /**
58
+ * Sets focused to true.
59
+ */
60
+ onFocus() {
61
+ this.focused = true;
62
+ }
63
+ constructor(_cdRef) {
64
+ this._cdRef = _cdRef;
65
+ /**
66
+ * Boolean value to determine whether or not the checkbox is checked.
67
+ */
68
+ this._checked = false;
69
+ /**
70
+ * The id of the checkbox. Must be unique. If not entered by a user then it is generated.
71
+ */
72
+ this.id = 'daff-checkbox-' + checkboxIdNum;
73
+ /**
74
+ * The aria-label of the checkbox.
75
+ */
76
+ // eslint-disable-next-line @angular-eslint/no-input-rename
77
+ this.label = '';
78
+ /**
79
+ * Event on whether or not the selection has changed.
80
+ */
81
+ this.becameChecked = new EventEmitter();
82
+ this.becameUnchecked = new EventEmitter();
83
+ /**
84
+ * The role of the component. Set to "checkbox".
85
+ *
86
+ * @docs-private
87
+ */
88
+ this.role = 'checkbox';
89
+ /**
90
+ * Increments id number on new checkbox. Gurantees unique ID on generation.
91
+ */
92
+ checkboxIdNum++;
93
+ }
94
+ /**
95
+ * Sets checked to true.
96
+ */
97
+ select() {
98
+ this.checked = true;
99
+ this._cdRef.markForCheck();
100
+ }
101
+ /**
102
+ * Sets checked to false
103
+ */
104
+ deselect() {
105
+ this.checked = false;
106
+ this._cdRef.markForCheck();
107
+ }
108
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
109
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffCheckboxComponent, isStandalone: true, selector: "daff-checkbox", inputs: { name: "name", value: "value", checked: "checked", id: "id", label: ["aria-label", "label"], labeledBy: ["aria-labelledby", "labeledBy"] }, outputs: { becameChecked: "becameChecked", becameUnchecked: "becameUnchecked" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, viewQueries: [{ propertyName: "nativeCheckbox", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
110
+ }
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: 'daff-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>" }]
114
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { nativeCheckbox: [{
115
+ type: ViewChild,
116
+ args: ['inputElement', { static: true, read: ElementRef }]
117
+ }], name: [{
118
+ type: Input
119
+ }], value: [{
120
+ type: Input
121
+ }], checked: [{
122
+ type: Input
123
+ }], id: [{
124
+ type: Input
125
+ }], label: [{
126
+ type: Input,
127
+ args: ['aria-label']
128
+ }], labeledBy: [{
129
+ type: Input,
130
+ args: ['aria-labelledby']
131
+ }], becameChecked: [{
132
+ type: Output
133
+ }], becameUnchecked: [{
134
+ type: Output
135
+ }], role: [{
136
+ type: HostBinding,
137
+ args: ['attr.role']
138
+ }], focusClass: [{
139
+ type: HostBinding,
140
+ args: ['class.focused']
141
+ }], disabledClass: [{
142
+ type: HostBinding,
143
+ args: ['class.disabled']
144
+ }] } });
145
+
146
+ class DaffCheckboxSetComponent {
147
+ constructor() {
148
+ /**
149
+ * The role of the component. Set to "checkbox".
150
+ *
151
+ * @docs-private
152
+ */
153
+ this.role = 'group';
154
+ this.valueList = new EventEmitter();
155
+ }
156
+ getValues() {
157
+ const checkboxes = this.checkboxes.toArray();
158
+ return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);
159
+ }
160
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
161
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffCheckboxSetComponent, isStandalone: true, selector: "daff-checkbox-set", inputs: { formArray: "formArray", name: "name" }, outputs: { valueList: "valueList" }, host: { properties: { "attr.role": "this.role" } }, queries: [{ propertyName: "checkboxes", predicate: DaffCheckboxComponent }], ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
162
+ }
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
164
+ type: Component,
165
+ args: [{ selector: 'daff-checkbox-set', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }]
166
+ }], propDecorators: { formArray: [{
167
+ type: Input
168
+ }], name: [{
169
+ type: Input
170
+ }], role: [{
171
+ type: HostBinding,
172
+ args: ['attr.role']
173
+ }], checkboxes: [{
174
+ type: ContentChildren,
175
+ args: [DaffCheckboxComponent]
176
+ }], valueList: [{
177
+ type: Output
178
+ }] } });
179
+
180
+ /**
181
+ * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.
182
+ */
183
+ class DaffCheckboxControlValueAccessorDirective {
184
+ constructor(_control, _checkbox) {
185
+ this._control = _control;
186
+ this._checkbox = _checkbox;
187
+ if (this._control != null) {
188
+ this._control.valueAccessor = this;
189
+ }
190
+ }
191
+ /**
192
+ * A lifecycle method called when the directive is initialized.
193
+ */
194
+ /**
195
+ * @docs-private
196
+ */
197
+ ngOnInit() {
198
+ // See the note about `writeValue` usage.
199
+ this.writeValue(this._control.value);
200
+ // Watch for user events on the component to update the state
201
+ this._checkbox.becameChecked.subscribe(() => {
202
+ this._onChange(true);
203
+ });
204
+ this._checkbox.becameUnchecked.subscribe(() => {
205
+ this._onChange(false);
206
+ });
207
+ }
208
+ /**
209
+ * writes a new value down into the component.
210
+ */
211
+ writeValue(value) {
212
+ value = !!value;
213
+ if (value === true) {
214
+ this.fireSelect();
215
+ }
216
+ else {
217
+ this.fireDeselect();
218
+ }
219
+ }
220
+ /**
221
+ * Registers the change handler
222
+ */
223
+ registerOnChange(fn) {
224
+ this._onChange = (val) => {
225
+ fn(val);
226
+ };
227
+ }
228
+ /**
229
+ * Registers the touched handler
230
+ */
231
+ registerOnTouched(fn) {
232
+ this._onTouched = fn;
233
+ }
234
+ /**
235
+ * Sets the disabled state.
236
+ */
237
+ setDisabledState(isDisabled) {
238
+ this._checkbox.disabled = isDisabled;
239
+ }
240
+ /**
241
+ * calls the child checkbox's select function
242
+ */
243
+ fireSelect() {
244
+ this._checkbox.select();
245
+ }
246
+ /**
247
+ * calls the child checkbox's deselect function
248
+ */
249
+ fireDeselect() {
250
+ this._checkbox.deselect();
251
+ }
252
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffCheckboxComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
253
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.1", type: DaffCheckboxControlValueAccessorDirective, isStandalone: true, selector: "daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
254
+ }
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, decorators: [{
256
+ type: Directive,
257
+ args: [{
258
+ // eslint-disable-next-line @angular-eslint/directive-selector
259
+ selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',
260
+ }]
261
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
262
+ type: Optional
263
+ }, {
264
+ type: Self
265
+ }] }, { type: DaffCheckboxComponent }], propDecorators: { value: [{
266
+ type: Input
267
+ }], name: [{
268
+ type: Input
269
+ }] } });
270
+
271
+ class DaffCheckboxModule {
272
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
273
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, imports: [CommonModule,
274
+ DaffCheckboxComponent,
275
+ DaffCheckboxSetComponent,
276
+ DaffCheckboxControlValueAccessorDirective], exports: [DaffCheckboxComponent,
277
+ DaffCheckboxSetComponent,
278
+ DaffCheckboxControlValueAccessorDirective] }); }
279
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, providers: [
280
+ DaffCheckboxSetComponent,
281
+ ], imports: [CommonModule] }); }
282
+ }
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, decorators: [{
284
+ type: NgModule,
285
+ args: [{
286
+ exports: [
287
+ DaffCheckboxComponent,
288
+ DaffCheckboxSetComponent,
289
+ DaffCheckboxControlValueAccessorDirective,
290
+ ],
291
+ imports: [
292
+ CommonModule,
293
+ DaffCheckboxComponent,
294
+ DaffCheckboxSetComponent,
295
+ DaffCheckboxControlValueAccessorDirective,
296
+ ],
297
+ providers: [
298
+ DaffCheckboxSetComponent,
299
+ ],
300
+ }]
301
+ }] });
302
+
303
+ /**
304
+ * @docs-private
305
+ */
306
+ const DAFF_CHECKBOX_COMPONENTS = [
307
+ DaffCheckboxComponent,
308
+ DaffCheckboxSetComponent,
309
+ DaffCheckboxControlValueAccessorDirective,
310
+ ];
311
+
312
+ /**
313
+ * Generated bundle index. Do not edit.
314
+ */
315
+
316
+ export { DAFF_CHECKBOX_COMPONENTS, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent };
317
+ //# sourceMappingURL=daffodil-design-checkbox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daffodil-design-checkbox.mjs","sources":["../../../libs/design/checkbox/src/checkbox/checkbox.component.ts","../../../libs/design/checkbox/src/checkbox/checkbox.component.html","../../../libs/design/checkbox/src/checkbox-set/checkbox-set.component.ts","../../../libs/design/checkbox/src/checkbox-set/checkbox-set.component.html","../../../libs/design/checkbox/src/cva/checkbox-cva.directive.ts","../../../libs/design/checkbox/src/checkbox.module.ts","../../../libs/design/checkbox/src/checkbox.ts","../../../libs/design/checkbox/src/daffodil-design-checkbox.ts"],"sourcesContent":["import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n} from '@angular/core';\n\nlet checkboxIdNum = 0;\n\n@Component({\n selector: 'daff-checkbox',\n templateUrl: './checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxComponent {\n /**\n * @docs-private\n */\n @ViewChild('inputElement', { static: true, read: ElementRef }) nativeCheckbox: ElementRef<HTMLInputElement>;\n /**\n * The name of the checkbox.\n */\n @Input() name: string;\n /**\n * The value of the checkbox.\n */\n @Input() value: any;\n /**\n * Boolean value to determine whether or not the checkbox is checked.\n */\n private _checked = false;\n\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked === value) {\n return;\n }\n if (value === true) {\n this.nativeCheckbox.nativeElement.checked = true;\n this.becameChecked.emit(this._checked);\n } else {\n this.nativeCheckbox.nativeElement.checked = false;\n this.becameUnchecked.emit();\n }\n\n this._checked = value;\n }\n /**\n * The id of the checkbox. Must be unique. If not entered by a user then it is generated.\n */\n @Input() id: string = 'daff-checkbox-' + checkboxIdNum;\n\n /**\n * The aria-label of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label = '';\n\n /**\n * The aria-labeledby of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labeledBy: string;\n\n /**\n * Event on whether or not the selection has changed.\n */\n @Output() becameChecked: EventEmitter<boolean> = new EventEmitter();\n @Output() becameUnchecked: EventEmitter<void> = new EventEmitter();\n\n /**\n * Whether the checkbox is focused\n */\n focused: boolean;\n /**\n * Whether the checkbox is disabled.\n */\n disabled: boolean;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'checkbox';\n\n\n /**\n * @docs-private\n */\n _onChange(val: Event) {\n if ((<HTMLInputElement>val.target).checked) {\n this.select();\n } else {\n this.deselect();\n }\n };\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n /**\n * Sets focused to false.\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * Sets focused to true.\n */\n onFocus() {\n this.focused = true;\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {\n /**\n * Increments id number on new checkbox. Gurantees unique ID on generation.\n */\n checkboxIdNum++;\n }\n /**\n * Sets checked to true.\n */\n select() {\n this.checked = true;\n this._cdRef.markForCheck();\n }\n /**\n * Sets checked to false\n */\n deselect() {\n this.checked = false;\n this._cdRef.markForCheck();\n }\n}\n","<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { UntypedFormArray } from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'daff-checkbox-set',\n templateUrl: './checkbox-set.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxSetComponent {\n\n @Input() formArray: UntypedFormArray;\n /**\n * The name of the checkbox-set\n */\n @Input() name: string;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'group';\n\n /**\n * The list of checkboxes in the set.\n *\n * @docs-private\n */\n @ContentChildren(DaffCheckboxComponent) checkboxes: QueryList<DaffCheckboxComponent>;\n\n @Output() valueList = new EventEmitter<any[]>();\n\n getValues(): any[] {\n const checkboxes = this.checkboxes.toArray();\n return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);\n }\n}\n","<ng-content></ng-content>","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n} from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n/**\n * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',\n})\nexport class DaffCheckboxControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: (val: any) => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _checkbox: DaffCheckboxComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n\n /**\n * A lifecycle method called when the directive is initialized.\n */\n /**\n * @docs-private\n */\n ngOnInit(): void {\n // See the note about `writeValue` usage.\n this.writeValue(this._control.value);\n\n // Watch for user events on the component to update the state\n this._checkbox.becameChecked.subscribe(\n () => {\n this._onChange(true);\n },\n );\n this._checkbox.becameUnchecked.subscribe(\n () => {\n this._onChange(false);\n },\n );\n }\n\n /**\n * writes a new value down into the component.\n */\n writeValue(value: any): void {\n value = !!value;\n if (value === true) {\n this.fireSelect();\n } else {\n this.fireDeselect();\n }\n }\n\n /**\n * Registers the change handler\n */\n registerOnChange(fn: any): void {\n this._onChange = (val) => {\n fn(val);\n };\n }\n\n /**\n * Registers the touched handler\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._checkbox.disabled = isDisabled;\n }\n\n /**\n * calls the child checkbox's select function\n */\n fireSelect() {\n this._checkbox.select();\n }\n\n /**\n * calls the child checkbox's deselect function\n */\n fireDeselect() {\n this._checkbox.deselect();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCheckboxComponent } from './checkbox/checkbox.component';\nimport { DaffCheckboxSetComponent } from './checkbox-set/checkbox-set.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\n\n@NgModule({\n exports: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n imports: [\n CommonModule,\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n providers: [\n DaffCheckboxSetComponent,\n ],\n})\nexport class DaffCheckboxModule { }\n","import { DaffCheckboxComponent } from './checkbox/checkbox.component';\nimport { DaffCheckboxSetComponent } from './checkbox-set/checkbox-set.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_CHECKBOX_COMPONENTS = <const> [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.DaffCheckboxComponent"],"mappings":";;;;;AAYA,IAAI,aAAa,GAAG,CAAC;MAOR,qBAAqB,CAAA;AAkBhC,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC3B;QACF;AACA,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI;YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxC;aAAO;YACL,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK;AACjD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QAC7B;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IACvB;AAyCA;;AAEG;AACH,IAAA,SAAS,CAAC,GAAU,EAAA;AAClB,QAAA,IAAuB,GAAG,CAAC,MAAO,CAAC,OAAO,EAAE;YAC1C,IAAI,CAAC,MAAM,EAAE;QACf;aAAO;YACL,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;;AACA;;AAEG;AACH,IAAA,IAAkC,UAAU,GAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI;IAC9B;;AACA;;AAEG;AACH,IAAA,IAAmC,aAAa,GAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI;IAC/B;;AACA;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;IACtB;AACA;;AAEG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;AAEA,IAAA,WAAA,CAAoB,MAAyB,EAAA;QAAzB,IAAA,CAAA,MAAM,GAAN,MAAM;AAlG1B;;AAEG;QACK,IAAA,CAAA,QAAQ,GAAG,KAAK;AAoBxB;;AAEG;AACM,QAAA,IAAA,CAAA,EAAE,GAAW,gBAAgB,GAAG,aAAa;AAEtD;;AAEG;;QAEkB,IAAA,CAAA,KAAK,GAAG,EAAE;AAQ/B;;AAEG;AACO,QAAA,IAAA,CAAA,aAAa,GAA0B,IAAI,YAAY,EAAE;AACzD,QAAA,IAAA,CAAA,eAAe,GAAuB,IAAI,YAAY,EAAE;AAWlE;;;;AAIG;QACuB,IAAA,CAAA,IAAI,GAAG,UAAU;AAuCzC;;AAEG;AACH,QAAA,aAAa,EAAE;IACjB;AACA;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;IAC5B;AACA;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;IAC5B;iIAlIW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,YAAA,EAAA,OAAA,CAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIiB,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB7D,+YAawD,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDM3C,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+YAAA,EAAA;sFAMgB,cAAc,EAAA,CAAA;sBAA5E,SAAS;uBAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAIpD,IAAI,EAAA,CAAA;sBAAZ;gBAIQ,KAAK,EAAA,CAAA;sBAAb;gBAOG,OAAO,EAAA,CAAA;sBADV;gBAqBQ,EAAE,EAAA,CAAA;sBAAV;gBAMoB,KAAK,EAAA,CAAA;sBAAzB,KAAK;uBAAC,YAAY;gBAMO,SAAS,EAAA,CAAA;sBAAlC,KAAK;uBAAC,iBAAiB;gBAKd,aAAa,EAAA,CAAA;sBAAtB;gBACS,eAAe,EAAA,CAAA;sBAAxB;gBAgByB,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBAgBU,UAAU,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe;gBAMO,aAAa,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB;;;ME/FlB,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;AAaE;;;;AAIG;QACuB,IAAA,CAAA,IAAI,GAAG,OAAO;AAS9B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAS;AAMhD,IAAA;IAJC,SAAS,GAAA;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC5C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,KAAK,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC;IAC9I;iIA3BW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAoBlB,qBAAqB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvCxC,2BAAyB,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDmBZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAEZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2BAAA,EAAA;8BAItC,SAAS,EAAA,CAAA;sBAAjB;gBAIQ,IAAI,EAAA,CAAA;sBAAZ;gBAOyB,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBAOgB,UAAU,EAAA,CAAA;sBAAjD,eAAe;uBAAC,qBAAqB;gBAE5B,SAAS,EAAA,CAAA;sBAAlB;;;AE3BH;;AAEG;MAKU,yCAAyC,CAAA;IAcpD,WAAA,CAC6B,QAAmB,EACtC,SAAgC,EAAA;QADb,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAC3B,IAAA,CAAA,SAAS,GAAT,SAAS;AAEjB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI;QACpC;IACF;AAGA;;AAEG;AACH;;AAEG;IACH,QAAQ,GAAA;;QAEN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;QAGpC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CACpC,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACtB,QAAA,CAAC,CACF;QACD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CACtC,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACvB,QAAA,CAAC,CACF;IACH;AAEA;;AAEG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;AACf,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,UAAU,EAAE;QACnB;aAAO;YACL,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;AAEA;;AAEG;AACH,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,KAAI;YACvB,EAAE,CAAC,GAAG,CAAC;AACT,QAAA,CAAC;IACH;AAEA;;AAEG;AACH,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEA;;AAEG;AACH,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU;IACtC;AAEA;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;IACzB;AAEA;;AAEG;IACH,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC3B;iIA9FW,yCAAyC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAzC,yCAAyC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oFAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBAJrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,oFAAoF;AAC/F,iBAAA;;0BAgBI;;0BAAY;0EARN,KAAK,EAAA,CAAA;sBAAb;gBAKQ,IAAI,EAAA,CAAA;sBAAZ;;;MCVU,kBAAkB,CAAA;iIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAT3B,YAAY;YACZ,qBAAqB;YACrB,wBAAwB;AACxB,YAAA,yCAAyC,aARzC,qBAAqB;YACrB,wBAAwB;YACxB,yCAAyC,CAAA,EAAA,CAAA,CAAA;AAYhC,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,SAAA,EAJlB;YACT,wBAAwB;AACzB,SAAA,EAAA,OAAA,EAAA,CAPC,YAAY,CAAA,EAAA,CAAA,CAAA;;2FASH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,qBAAqB;wBACrB,wBAAwB;wBACxB,yCAAyC;AAC1C,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,qBAAqB;wBACrB,wBAAwB;wBACxB,yCAAyC;AAC1C,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,wBAAwB;AACzB,qBAAA;AACF,iBAAA;;;AClBD;;AAEG;AACI,MAAM,wBAAwB,GAAW;IAC9C,qBAAqB;IACrB,wBAAwB;IACxB,yCAAyC;;;ACV3C;;AAEG;;;;"}