@daffodil/design 0.92.3 → 0.93.1
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.
- package/accordion/README.md +4 -4
- package/beacon/README.md +61 -0
- package/beacon/src/beacon-theme.scss +61 -0
- package/breadcrumb/README.md +13 -35
- package/button/README.md +28 -50
- package/card/README.md +8 -22
- package/card/src/card/stroked/stroked-theme.scss +8 -1
- package/card/src/card-base-theme.scss +12 -1
- package/container/README.md +4 -26
- package/fesm2022/daffodil-design-accordion.mjs +15 -15
- package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
- package/fesm2022/daffodil-design-article.mjs +30 -30
- package/fesm2022/daffodil-design-article.mjs.map +1 -1
- package/fesm2022/daffodil-design-beacon.mjs +48 -0
- package/fesm2022/daffodil-design-beacon.mjs.map +1 -0
- package/fesm2022/daffodil-design-breadcrumb.mjs +20 -20
- package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
- package/fesm2022/daffodil-design-button.mjs +37 -49
- package/fesm2022/daffodil-design-button.mjs.map +1 -1
- package/fesm2022/daffodil-design-callout.mjs +22 -22
- package/fesm2022/daffodil-design-callout.mjs.map +1 -1
- package/fesm2022/daffodil-design-card.mjs +31 -31
- package/fesm2022/daffodil-design-card.mjs.map +1 -1
- package/fesm2022/daffodil-design-checkbox.mjs +13 -13
- package/fesm2022/daffodil-design-checkbox.mjs.map +1 -1
- package/fesm2022/daffodil-design-container.mjs +7 -7
- package/fesm2022/daffodil-design-container.mjs.map +1 -1
- package/fesm2022/daffodil-design-form-field.mjs +13 -12
- package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
- package/fesm2022/daffodil-design-form.mjs +9 -9
- package/fesm2022/daffodil-design-form.mjs.map +1 -1
- package/fesm2022/daffodil-design-hero.mjs +22 -22
- package/fesm2022/daffodil-design-hero.mjs.map +1 -1
- package/fesm2022/daffodil-design-image.mjs +8 -8
- package/fesm2022/daffodil-design-image.mjs.map +1 -1
- package/fesm2022/daffodil-design-input.mjs +12 -11
- package/fesm2022/daffodil-design-input.mjs.map +1 -1
- package/fesm2022/daffodil-design-link-set.mjs +16 -16
- package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
- package/fesm2022/daffodil-design-list.mjs +20 -17
- package/fesm2022/daffodil-design-list.mjs.map +1 -1
- package/fesm2022/daffodil-design-loading-icon.mjs +7 -7
- package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
- package/fesm2022/daffodil-design-media-gallery.mjs +13 -13
- package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
- package/fesm2022/daffodil-design-menu.mjs +20 -20
- package/fesm2022/daffodil-design-menu.mjs.map +1 -1
- package/fesm2022/daffodil-design-modal.mjs +33 -27
- package/fesm2022/daffodil-design-modal.mjs.map +1 -1
- package/fesm2022/daffodil-design-native-select.mjs +5 -3
- package/fesm2022/daffodil-design-native-select.mjs.map +1 -1
- package/fesm2022/daffodil-design-navbar.mjs +9 -9
- package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
- package/fesm2022/daffodil-design-notification.mjs +16 -16
- package/fesm2022/daffodil-design-notification.mjs.map +1 -1
- package/fesm2022/daffodil-design-paginator.mjs +8 -8
- package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
- package/fesm2022/daffodil-design-progress-bar.mjs +11 -11
- package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
- package/fesm2022/daffodil-design-quantity-field.mjs +13 -13
- package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
- package/fesm2022/daffodil-design-radio.mjs +16 -16
- package/fesm2022/daffodil-design-radio.mjs.map +1 -1
- package/fesm2022/daffodil-design-select.mjs +11 -11
- package/fesm2022/daffodil-design-select.mjs.map +1 -1
- package/fesm2022/daffodil-design-sidebar.mjs +36 -30
- package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
- package/fesm2022/daffodil-design-spinner.mjs +8 -8
- package/fesm2022/daffodil-design-spinner.mjs.map +1 -1
- package/fesm2022/daffodil-design-switch.mjs +3 -3
- package/fesm2022/daffodil-design-switch.mjs.map +1 -1
- package/fesm2022/daffodil-design-tabs.mjs +17 -25
- package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
- package/fesm2022/daffodil-design-tag.mjs +43 -35
- package/fesm2022/daffodil-design-tag.mjs.map +1 -1
- package/fesm2022/daffodil-design-testing.mjs +19 -0
- package/fesm2022/daffodil-design-testing.mjs.map +1 -0
- package/fesm2022/daffodil-design-text-snippet.mjs +3 -3
- package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
- package/fesm2022/daffodil-design-textarea.mjs +3 -3
- package/fesm2022/daffodil-design-textarea.mjs.map +1 -1
- package/fesm2022/daffodil-design-toast.mjs +22 -22
- package/fesm2022/daffodil-design-toast.mjs.map +1 -1
- package/fesm2022/daffodil-design-tree.mjs +27 -25
- package/fesm2022/daffodil-design-tree.mjs.map +1 -1
- package/fesm2022/daffodil-design-youtube-player.mjs +22 -11
- package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
- package/fesm2022/daffodil-design.mjs +126 -160
- package/fesm2022/daffodil-design.mjs.map +1 -1
- package/form/README.md +15 -6
- package/hero/README.md +14 -49
- package/image/README.md +6 -29
- package/input/README.md +8 -34
- package/list/README.md +29 -55
- package/list/src/list-theme.scss +16 -2
- package/media-gallery/README.md +36 -43
- package/menu/README.md +24 -55
- package/menu/src/menu-theme.scss +12 -2
- package/modal/README.md +15 -45
- package/native-select/README.md +8 -6
- package/navbar/README.md +18 -27
- package/notification/README.md +14 -49
- package/package.json +1 -1
- package/paginator/README.md +11 -31
- package/paginator/src/paginator-theme.scss +16 -2
- package/progress-bar/README.md +14 -41
- package/scss/global.scss +25 -2
- package/scss/theme.scss +2 -0
- package/select/README.md +5 -6
- package/select/src/select-theme.scss +10 -2
- package/sidebar/README.md +1 -1
- package/spinner/README.md +15 -9
- package/switch/README.md +17 -6
- package/tabs/README.md +39 -39
- package/tag/README.md +31 -31
- package/tag/src/tag-theme.scss +100 -3
- package/textarea/README.md +9 -7
- package/toast/README.md +55 -52
- package/tree/README.md +12 -43
- package/tree/src/tree-theme.scss +8 -4
- package/{accordion/index.d.ts → types/daffodil-design-accordion.d.ts} +1 -1
- package/types/daffodil-design-beacon.d.ts +26 -0
- package/{button/index.d.ts → types/daffodil-design-button.d.ts} +7 -8
- package/{input/index.d.ts → types/daffodil-design-input.d.ts} +4 -1
- package/{list/index.d.ts → types/daffodil-design-list.d.ts} +4 -1
- package/{menu/index.d.ts → types/daffodil-design-menu.d.ts} +3 -3
- package/{modal/index.d.ts → types/daffodil-design-modal.d.ts} +11 -5
- package/{native-select/index.d.ts → types/daffodil-design-native-select.d.ts} +3 -1
- package/{sidebar/index.d.ts → types/daffodil-design-sidebar.d.ts} +9 -3
- package/{tabs/index.d.ts → types/daffodil-design-tabs.d.ts} +0 -6
- package/types/daffodil-design-tag.d.ts +80 -0
- package/types/daffodil-design-testing.d.ts +11 -0
- package/{tree/index.d.ts → types/daffodil-design-tree.d.ts} +2 -0
- package/{youtube-player/index.d.ts → types/daffodil-design-youtube-player.d.ts} +15 -0
- package/{index.d.ts → types/daffodil-design.d.ts} +25 -67
- package/tag/index.d.ts +0 -71
- /package/{article/index.d.ts → types/daffodil-design-article.d.ts} +0 -0
- /package/{breadcrumb/index.d.ts → types/daffodil-design-breadcrumb.d.ts} +0 -0
- /package/{callout/index.d.ts → types/daffodil-design-callout.d.ts} +0 -0
- /package/{card/index.d.ts → types/daffodil-design-card.d.ts} +0 -0
- /package/{checkbox/index.d.ts → types/daffodil-design-checkbox.d.ts} +0 -0
- /package/{container/index.d.ts → types/daffodil-design-container.d.ts} +0 -0
- /package/{form-field/index.d.ts → types/daffodil-design-form-field.d.ts} +0 -0
- /package/{form/index.d.ts → types/daffodil-design-form.d.ts} +0 -0
- /package/{hero/index.d.ts → types/daffodil-design-hero.d.ts} +0 -0
- /package/{image/index.d.ts → types/daffodil-design-image.d.ts} +0 -0
- /package/{link-set/index.d.ts → types/daffodil-design-link-set.d.ts} +0 -0
- /package/{loading-icon/index.d.ts → types/daffodil-design-loading-icon.d.ts} +0 -0
- /package/{media-gallery/index.d.ts → types/daffodil-design-media-gallery.d.ts} +0 -0
- /package/{navbar/index.d.ts → types/daffodil-design-navbar.d.ts} +0 -0
- /package/{notification/index.d.ts → types/daffodil-design-notification.d.ts} +0 -0
- /package/{paginator/index.d.ts → types/daffodil-design-paginator.d.ts} +0 -0
- /package/{progress-bar/index.d.ts → types/daffodil-design-progress-bar.d.ts} +0 -0
- /package/{quantity-field/index.d.ts → types/daffodil-design-quantity-field.d.ts} +0 -0
- /package/{radio/index.d.ts → types/daffodil-design-radio.d.ts} +0 -0
- /package/{select/index.d.ts → types/daffodil-design-select.d.ts} +0 -0
- /package/{spinner/index.d.ts → types/daffodil-design-spinner.d.ts} +0 -0
- /package/{switch/index.d.ts → types/daffodil-design-switch.d.ts} +0 -0
- /package/{text-snippet/index.d.ts → types/daffodil-design-text-snippet.d.ts} +0 -0
- /package/{textarea/index.d.ts → types/daffodil-design-textarea.d.ts} +0 -0
- /package/{toast/index.d.ts → types/daffodil-design-toast.d.ts} +0 -0
|
@@ -86,10 +86,10 @@ class DaffQuantityInputComponent {
|
|
|
86
86
|
? this._inputControl.disable()
|
|
87
87
|
: this._inputControl.enable();
|
|
88
88
|
}
|
|
89
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
90
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
89
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityInputComponent, deps: [{ token: i1.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: DaffQuantityInputComponent, isStandalone: true, selector: "daff-quantity-input", inputs: { min: "min", max: "max" }, viewQueries: [{ propertyName: "input", first: true, predicate: DaffInputComponent, descendants: true }], ngImport: i0, template: "<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n", dependencies: [{ kind: "component", type: DaffInputComponent, selector: "input[daff-input]", inputs: ["disabled", "required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityInputComponent, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: 'daff-quantity-input', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
95
95
|
DaffInputComponent,
|
|
@@ -164,10 +164,10 @@ class DaffQuantitySelectComponent {
|
|
|
164
164
|
get valueArray() {
|
|
165
165
|
return makeValueArray(this.min, this.max, this.increment);
|
|
166
166
|
}
|
|
167
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
168
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
167
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantitySelectComponent, deps: [{ token: i1.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
168
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DaffQuantitySelectComponent, isStandalone: true, selector: "daff-quantity-select", inputs: { min: "min", max: "max", extendable: "extendable" }, viewQueries: [{ propertyName: "select", first: true, predicate: DaffNativeSelectComponent, descendants: true }], ngImport: i0, template: "<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n >\n @for (item of valueArray; track item) {\n <option [value]=\"item\">{{ item }}</option>\n }\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n", dependencies: [{ kind: "component", type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["disabled", "required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
169
169
|
}
|
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantitySelectComponent, decorators: [{
|
|
171
171
|
type: Component,
|
|
172
172
|
args: [{ selector: 'daff-quantity-select', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
173
173
|
DaffNativeSelectComponent,
|
|
@@ -294,15 +294,15 @@ class DaffQuantityFieldComponent extends DaffFormFieldControl {
|
|
|
294
294
|
return this.input.value;
|
|
295
295
|
}
|
|
296
296
|
}
|
|
297
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
298
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
297
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
298
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DaffQuantityFieldComponent, isStandalone: true, selector: "daff-quantity-field", inputs: { min: "min", max: "max", selectMax: "selectMax", id: "id" }, providers: [
|
|
299
299
|
{
|
|
300
300
|
provide: DaffFormFieldControl,
|
|
301
301
|
useExisting: DaffQuantityFieldComponent,
|
|
302
302
|
},
|
|
303
303
|
], viewQueries: [{ propertyName: "input", first: true, predicate: DaffQuantityInputComponent, descendants: true }, { propertyName: "select", first: true, predicate: DaffQuantitySelectComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (showSelectField) {\n <daff-quantity-select\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n </daff-quantity-select>\n}\n@if (showInputField) {\n <daff-quantity-input\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n </daff-quantity-input>\n}\n", dependencies: [{ kind: "component", type: DaffQuantityInputComponent, selector: "daff-quantity-input", inputs: ["min", "max"] }, { kind: "component", type: DaffQuantitySelectComponent, selector: "daff-quantity-select", inputs: ["min", "max", "extendable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
304
304
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityFieldComponent, decorators: [{
|
|
306
306
|
type: Component,
|
|
307
307
|
args: [{ selector: 'daff-quantity-field', providers: [
|
|
308
308
|
{
|
|
@@ -337,13 +337,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
337
337
|
* @deprecated in favor of DaffSfQuantityFieldComponent. Deprecated in version 0.92.0. Will be removed in version 0.95.0.
|
|
338
338
|
*/
|
|
339
339
|
class DaffQuantityFieldModule {
|
|
340
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
341
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
340
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
341
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityFieldModule, imports: [CommonModule,
|
|
342
342
|
DaffQuantityFieldComponent], exports: [DaffQuantityFieldComponent] }); }
|
|
343
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
343
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityFieldModule, imports: [CommonModule,
|
|
344
344
|
DaffQuantityFieldComponent] }); }
|
|
345
345
|
}
|
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffQuantityFieldModule, decorators: [{
|
|
347
347
|
type: NgModule,
|
|
348
348
|
args: [{
|
|
349
349
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-design-quantity-field.mjs","sources":["../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.ts","../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.html","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.ts","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.html","../../../libs/design/quantity-field/src/quantity-field.component.ts","../../../libs/design/quantity-field/src/quantity-field.component.html","../../../libs/design/quantity-field/src/quantity-field.module.ts","../../../libs/design/quantity-field/src/daffodil-design-quantity-field.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffInputComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new UntypedFormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport {\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '@daffodil/design/native-select';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffNativeSelectComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n >\n @for (item of valueArray; track item) {\n <option [value]=\"item\">{{ item }}</option>\n }\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffFormFieldControl } from '@daffodil/design/form-field';\n\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n/**\n * @deprecated in favor of DaffSfQuantityFieldComponent. Deprecated in version 0.92.0. Will be removed in version 0.95.0.\n */\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldComponent extends DaffFormFieldControl<number> implements ControlValueAccessor, DaffFormFieldControl<number> {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n @Input() id = '';\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n /**\n * @docs-private\n *\n * TODO: Update functionality to match other control during refactor.\n */\n disabled = false;\n\n /**\n * @docs-private\n * TODO: Update functionality to match other control during refactor.\n */\n required = false;\n\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n super(ngControl);\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n\n get value() {\n if(this.select) {\n return this.select.value;\n }\n if(this.input) {\n return this.input.value;\n }\n }\n}\n","@if (showSelectField) {\n <daff-quantity-select\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n </daff-quantity-select>\n}\n@if (showInputField) {\n <daff-quantity-input\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n </daff-quantity-input>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\n\n/**\n * @deprecated in favor of DaffSfQuantityFieldComponent. Deprecated in version 0.92.0. Will be removed in version 0.95.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffQuantityFieldComponent,\n ],\n exports: [\n DaffQuantityFieldComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-design-quantity-field.mjs","sources":["../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.ts","../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.html","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.ts","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.html","../../../libs/design/quantity-field/src/quantity-field.component.ts","../../../libs/design/quantity-field/src/quantity-field.component.html","../../../libs/design/quantity-field/src/quantity-field.module.ts","../../../libs/design/quantity-field/src/daffodil-design-quantity-field.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffInputComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new UntypedFormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport {\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '@daffodil/design/native-select';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffNativeSelectComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n >\n @for (item of valueArray; track item) {\n <option [value]=\"item\">{{ item }}</option>\n }\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffFormFieldControl } from '@daffodil/design/form-field';\n\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n/**\n * @deprecated in favor of DaffSfQuantityFieldComponent. Deprecated in version 0.92.0. Will be removed in version 0.95.0.\n */\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldComponent extends DaffFormFieldControl<number> implements ControlValueAccessor, DaffFormFieldControl<number> {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n @Input() id = '';\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n /**\n * @docs-private\n *\n * TODO: Update functionality to match other control during refactor.\n */\n disabled = false;\n\n /**\n * @docs-private\n * TODO: Update functionality to match other control during refactor.\n */\n required = false;\n\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n super(ngControl);\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n\n get value() {\n if(this.select) {\n return this.select.value;\n }\n if(this.input) {\n return this.input.value;\n }\n }\n}\n","@if (showSelectField) {\n <daff-quantity-select\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n </daff-quantity-select>\n}\n@if (showInputField) {\n <daff-quantity-input\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n </daff-quantity-input>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\n\n/**\n * @deprecated in favor of DaffSfQuantityFieldComponent. Deprecated in version 0.92.0. Will be removed in version 0.95.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffQuantityFieldComponent,\n ],\n exports: [\n DaffQuantityFieldComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ import * as i1 from '@angular/forms';
|
|
|
5
5
|
|
|
6
6
|
class DaffRadioSetComponent {
|
|
7
7
|
constructor() { }
|
|
8
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
8
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: DaffRadioSetComponent, isStandalone: true, selector: "daff-radio-set", inputs: { name: "name" }, host: { attributes: { "role": "radiogroup" } }, ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'daff-radio-set', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
14
14
|
role: 'radiogroup',
|
|
@@ -92,10 +92,10 @@ class DaffRadioComponent {
|
|
|
92
92
|
this.select();
|
|
93
93
|
}
|
|
94
94
|
;
|
|
95
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
96
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
95
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioComponent, deps: [{ token: DaffRadioSetComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: DaffRadioComponent, isStandalone: true, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { attributes: { "role": "radio" }, properties: { "class.focused": "focused", "class.disabled": "disabled" } }, ngImport: i0, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
97
97
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioComponent, decorators: [{
|
|
99
99
|
type: Component,
|
|
100
100
|
args: [{ selector: 'daff-radio', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
101
101
|
role: 'radio',
|
|
@@ -166,10 +166,10 @@ class DaffRadioRegistry {
|
|
|
166
166
|
return controlPair.control.control.parent === accessor._control.control.parent
|
|
167
167
|
&& controlPair.accessor.name === accessor.name;
|
|
168
168
|
}
|
|
169
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
170
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
169
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
170
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioRegistry, providedIn: 'root' }); }
|
|
171
171
|
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioRegistry, decorators: [{
|
|
173
173
|
type: Injectable,
|
|
174
174
|
args: [{ providedIn: 'root' }]
|
|
175
175
|
}] });
|
|
@@ -241,10 +241,10 @@ class DaffRadioControlValueAccessorDirective {
|
|
|
241
241
|
fireDeselect() {
|
|
242
242
|
this._radio.deselect();
|
|
243
243
|
}
|
|
244
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
245
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
244
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffRadioRegistry }, { token: DaffRadioComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
245
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: DaffRadioControlValueAccessorDirective, isStandalone: true, selector: "daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
|
|
246
246
|
}
|
|
247
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioControlValueAccessorDirective, decorators: [{
|
|
248
248
|
type: Directive,
|
|
249
249
|
args: [{
|
|
250
250
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -261,16 +261,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
261
261
|
}] } });
|
|
262
262
|
|
|
263
263
|
class DaffRadioModule {
|
|
264
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
265
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
264
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
265
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioModule, imports: [CommonModule,
|
|
266
266
|
DaffRadioComponent,
|
|
267
267
|
DaffRadioSetComponent,
|
|
268
268
|
DaffRadioControlValueAccessorDirective], exports: [DaffRadioComponent,
|
|
269
269
|
DaffRadioSetComponent,
|
|
270
270
|
DaffRadioControlValueAccessorDirective] }); }
|
|
271
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
271
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioModule, imports: [CommonModule] }); }
|
|
272
272
|
}
|
|
273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffRadioModule, decorators: [{
|
|
274
274
|
type: NgModule,
|
|
275
275
|
args: [{
|
|
276
276
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-design-radio.mjs","sources":["../../../libs/design/radio/src/radio-set/radio-set.component.ts","../../../libs/design/radio/src/radio-set/radio-set.component.html","../../../libs/design/radio/src/radio/radio.component.ts","../../../libs/design/radio/src/radio/radio.component.html","../../../libs/design/radio/src/registry/radio-registry.ts","../../../libs/design/radio/src/cva/radio-cva.directive.ts","../../../libs/design/radio/src/radio.module.ts","../../../libs/design/radio/src/radio.ts","../../../libs/design/radio/src/daffodil-design-radio.ts"],"sourcesContent":["import {\n Component,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radiogroup',\n },\n})\n\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n\n@Component({\n selector: 'daff-radio',\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radio',\n '[class.focused]': 'focused',\n '[class.disabled]': 'disabled',\n },\n})\n\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n this.selectionChange.emit(this.value);\n }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i].accessor === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c.accessor !== accessor) {\n c.accessor.fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair.control.control) {\n return false;\n }\n return controlPair.control.control.parent === accessor._control.control.parent\n && controlPair.accessor.name === accessor.name;\n }\n}\n","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 { DaffRadioComponent } from '../radio/radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => 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 _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n if (this._control) {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n }\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\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._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n exports: [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n})\nexport class DaffRadioModule { }\n","import { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n/**\n * @docs-private\n */\nexport const DAFF_RADIO_COMPONENTS = <const> [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-design-radio.mjs","sources":["../../../libs/design/radio/src/radio-set/radio-set.component.ts","../../../libs/design/radio/src/radio-set/radio-set.component.html","../../../libs/design/radio/src/radio/radio.component.ts","../../../libs/design/radio/src/radio/radio.component.html","../../../libs/design/radio/src/registry/radio-registry.ts","../../../libs/design/radio/src/cva/radio-cva.directive.ts","../../../libs/design/radio/src/radio.module.ts","../../../libs/design/radio/src/radio.ts","../../../libs/design/radio/src/daffodil-design-radio.ts"],"sourcesContent":["import {\n Component,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radiogroup',\n },\n})\n\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n\n@Component({\n selector: 'daff-radio',\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radio',\n '[class.focused]': 'focused',\n '[class.disabled]': 'disabled',\n },\n})\n\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n this.selectionChange.emit(this.value);\n }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i].accessor === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c.accessor !== accessor) {\n c.accessor.fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair.control.control) {\n return false;\n }\n return controlPair.control.control.parent === accessor._control.control.parent\n && controlPair.accessor.name === accessor.name;\n }\n}\n","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 { DaffRadioComponent } from '../radio/radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => 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 _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n if (this._control) {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n }\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\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._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n exports: [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n})\nexport class DaffRadioModule { }\n","import { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n/**\n * @docs-private\n */\nexport const DAFF_RADIO_COMPONENTS = <const> [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent"],"mappings":"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"}
|
|
@@ -20,10 +20,10 @@ class DaffSelectOptionDirective {
|
|
|
20
20
|
constructor(templateRef) {
|
|
21
21
|
this.templateRef = templateRef;
|
|
22
22
|
}
|
|
23
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
23
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffSelectOptionDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: DaffSelectOptionDirective, isStandalone: true, selector: "[daffSelectOption]", ngImport: i0 }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffSelectOptionDirective, decorators: [{
|
|
27
27
|
type: Directive,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: '[daffSelectOption]',
|
|
@@ -76,7 +76,7 @@ class DaffSelectComponent extends DaffFormFieldControl {
|
|
|
76
76
|
* @docs-private
|
|
77
77
|
*/
|
|
78
78
|
get isOpen() {
|
|
79
|
-
return this.openDirective.open;
|
|
79
|
+
return this.openDirective.open();
|
|
80
80
|
}
|
|
81
81
|
constructor(cd, document, ngControl, overlay, openDirective, formField) {
|
|
82
82
|
super(ngControl);
|
|
@@ -199,8 +199,8 @@ class DaffSelectComponent extends DaffFormFieldControl {
|
|
|
199
199
|
open(event) {
|
|
200
200
|
event?.preventDefault();
|
|
201
201
|
event?.stopPropagation();
|
|
202
|
-
if (!this.openDirective.open) {
|
|
203
|
-
this.openDirective.open
|
|
202
|
+
if (!this.openDirective.open()) {
|
|
203
|
+
this.openDirective.open.set(true);
|
|
204
204
|
if (this._value) {
|
|
205
205
|
this._highlighted = this.options.findIndex((v) => v === this._value);
|
|
206
206
|
}
|
|
@@ -246,8 +246,8 @@ class DaffSelectComponent extends DaffFormFieldControl {
|
|
|
246
246
|
close(event) {
|
|
247
247
|
event?.preventDefault();
|
|
248
248
|
event?.stopPropagation();
|
|
249
|
-
if (this.openDirective.open) {
|
|
250
|
-
this.openDirective.open
|
|
249
|
+
if (this.openDirective.open()) {
|
|
250
|
+
this.openDirective.open.set(false);
|
|
251
251
|
this.cd.markForCheck();
|
|
252
252
|
// do we actually have to dispose and recreate the overlay every time we want to close the dropdown?
|
|
253
253
|
this._overlay?.dispose();
|
|
@@ -299,12 +299,12 @@ class DaffSelectComponent extends DaffFormFieldControl {
|
|
|
299
299
|
this._highlighted = this._highlighted > 0 ? this._highlighted - 1 : this.options.length - 1;
|
|
300
300
|
(event?.target).children[this._highlighted].scrollIntoView();
|
|
301
301
|
}
|
|
302
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
303
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
302
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.NgControl, optional: true, self: true }, { token: i2.Overlay }, { token: i3.DaffOpenableDirective }, { token: i4.DaffFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
303
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DaffSelectComponent, isStandalone: true, selector: "daff-select", inputs: { disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], options: "options", optionsId: "optionsId" }, host: { properties: { "attr.aria-labelledby": "ariaLabelledBy" }, classAttribute: "daff-select" }, providers: [
|
|
304
304
|
{ provide: DaffFormFieldControl, useExisting: DaffSelectComponent },
|
|
305
305
|
], queries: [{ propertyName: "optionTemplate", first: true, predicate: DaffSelectOptionDirective, descendants: true }], viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["field"], descendants: true }, { propertyName: "optionsTemplatePortal", first: true, predicate: ["optionsTemplate"], descendants: true }, { propertyName: "optionsElement", first: true, predicate: ["optionsEl"], descendants: true, read: (ElementRef) }], usesInheritance: true, hostDirectives: [{ directive: i3.DaffOpenableDirective }], ngImport: i0, template: "<button #field class=\"daff-select__field\"\n type=\"button\"\n (click)=\"open($event)\"\n (focus)=\"focus()\"\n (blur)=\"blur()\"\n [disabled]=\"disabled\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"optionsId\"\n (keydown.arrowdown)=\"open($event)\"\n (keydown.arrowup)=\"open($event)\"\n (keydown.alt.arrowup)=\"open($event)\"\n (keydown.alt.arrowdown)=\"open($event)\"\n (keydown.space)=\"open($event)\"\n (keydown.enter)=\"open($event)\">\n @if (value) {\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate?.templateRef\"\n [ngTemplateOutletContext]=\"\n {\n option: value,\n isSelected: true,\n isHighlighted: true,\n }\n \"><div></div>\n </ng-container>\n }\n</button>\n<ng-template cdkPortal #optionsTemplate=\"cdkPortal\">\n <div class=\"daff-select__options\" #optionsEl\n [id]=\"optionsId\"\n tabindex=\"0\"\n role=\"listbox\"\n (blur)=\"blur()\"\n (keydown.enter)=\"selectHighlighted($event)\"\n (keydown.space)=\"selectHighlighted($event)\"\n (keydown.escape)=\"close($event)\"\n (keydown.arrowdown)=\"highlightNext($event)\"\n (keydown.arrowup)=\"highlightPrevious($event)\">\n @for (option of options; track $index; let i = $index) {\n <div class=\"daff-select__option\"\n [class.selected]=\"value === option\"\n [class.highlighted]=\"highlighted === i\"\n (click)=\"selectOption(option)\">\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate?.templateRef\"\n [ngTemplateOutletContext]=\"{\n isSelected: value === option,\n isHighlighted: highlighted === i,\n option\n }\">\n </ng-container>\n </div>\n }\n </div>\n</ng-template>\n", styles: [".daff-select{display:inline-block;width:100%}.daff-select.disabled .daff-select__field{cursor:not-allowed}.daff-select__field{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border:none;font-size:1rem;line-height:1.25rem;min-height:3.5rem;margin:0;outline:none;padding:1.5rem 0 .5rem;text-align:left;width:100%;position:relative}.daff-select__field[disabled]{cursor:not-allowed}.daff-select__field:after{content:\"\";position:absolute;top:48%;right:.125rem;display:inline-block;border-right:.125rem solid currentColor;border-bottom:.125rem solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-select.daff-open .daff-select__field:after{top:56%;transform:translateY(-50%) rotate(225deg)}.daff-select__options{width:100%}.daff-select__option{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;appearance:none;background:none;border:none;font-size:1rem;line-height:1.25rem;margin:0;padding:.5rem;text-align:left;width:100%}.daff-select__option:first-of-type{border-radius:.25rem .25rem 0 0}.daff-select__option:last-of-type{border-radius:0 0 .25rem .25rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i5.CdkPortal, selector: "[cdkPortal]", exportAs: ["cdkPortal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
306
306
|
}
|
|
307
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DaffSelectComponent, decorators: [{
|
|
308
308
|
type: Component,
|
|
309
309
|
args: [{ selector: 'daff-select', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
|
|
310
310
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-design-select.mjs","sources":["../../../libs/design/select/src/option/option.directive.ts","../../../libs/design/select/src/select/select.component.ts","../../../libs/design/select/src/select/select.component.html","../../../libs/design/select/src/select.ts","../../../libs/design/select/src/daffodil-design-select.ts"],"sourcesContent":["import {\n Directive,\n Optional,\n TemplateRef,\n} from '@angular/core';\n\n/**\n * The directive provides the template for a list of options inside the select dropdown.\n */\n@Directive({\n selector: '[daffSelectOption]',\n})\nexport class DaffSelectOptionDirective {\n constructor(@Optional() public templateRef?: TemplateRef<unknown>) {}\n}\n","import {\n Overlay,\n OverlayModule,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n PortalModule,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ChangeDetectorRef,\n OnInit,\n ElementRef,\n Inject,\n Optional,\n Self,\n ContentChild,\n ViewChild,\n OnDestroy,\n booleanAttribute,\n DOCUMENT,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n Validators,\n} from '@angular/forms';\nimport {\n Subject,\n delay,\n map,\n merge,\n of,\n takeUntil,\n tap,\n} from 'rxjs';\n\nimport { DaffOpenableDirective } from '@daffodil/design';\nimport {\n DaffFormFieldComponent,\n DaffFormFieldControl,\n} from '@daffodil/design/form-field';\n\nimport { DaffSelectOptionDirective } from '../option/option.directive';\n\nlet daffSelectOtionsId = 0;\n\n/**\n * DaffSelectComponent is a form control component that presents a list of selectable options,\n * similar to the native `<select>` element we call `<daff-native-select>`.\n *\n */\n@Component({\n selector: 'daff-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: DaffOpenableDirective,\n },\n ],\n host: {\n class: 'daff-select',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n providers: [\n\n { provide: DaffFormFieldControl, useExisting: DaffSelectComponent },\n ],\n imports: [\n NgTemplateOutlet,\n OverlayModule,\n PortalModule,\n ],\n})\nexport class DaffSelectComponent<T = unknown> extends DaffFormFieldControl<string> implements DaffFormFieldControl<string>, OnInit, OnDestroy, ControlValueAccessor {\n /** @docs-private */\n controlType = 'custom-select';\n\n /**\n * @docs-private\n */\n supportsAutoLabelling = false;\n\n private _destroyed = new Subject<boolean>();\n private _overlay: OverlayRef;\n private _value = null;\n private _highlighted = 0;\n\n /**\n * @docs-private\n */\n get focused() {\n return this.document.activeElement === this.buttonElement?.nativeElement || this.document.activeElement === this.optionsElement?.nativeElement;\n }\n\n /**\n * @docs-private\n */\n get raised() {\n return this.focused && this.isOpen;\n }\n\n /** @docs-private */\n focus() {\n (<HTMLElement>this.buttonElement?.nativeElement)?.focus();\n this.emitState();\n }\n\n /** @docs-private */\n blur() {\n this.onTouched();\n this.emitState(true);\n }\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n @Input({ transform: booleanAttribute }) disabled = false;\n\n private _required = false;\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this.ngControl?.control?.hasValidator(Validators.required) ?? this._required;\n }\n set required(value: boolean) {\n this._required = value;\n }\n\n @Input() options: T[] = [];\n\n /**\n * @docs-private\n */\n get isOpen() {\n return this.openDirective.open;\n }\n\n /**\n * @docs-private\n *\n * `aria-labelledby` for the select.\n */\n ariaLabelledBy = '';\n\n /**\n * The unique id of the select options. Defaults to an autogenerated value.\n */\n @Input() optionsId: string = 'daff-select-options' + '-' + ++daffSelectOtionsId;\n\n constructor(\n private cd: ChangeDetectorRef,\n @Inject(DOCUMENT) private document: Document,\n @Optional() @Self() public ngControl: NgControl,\n private overlay: Overlay,\n private openDirective: DaffOpenableDirective,\n @Optional() private formField: DaffFormFieldComponent,\n ) {\n super(ngControl);\n\n if(!this.formField) {\n throw new Error('DaffSelectComponent needs to be used with the DaffFormFieldComponent.');\n }\n\n this.ariaLabelledBy = this.formField.id;\n\n this.openDirective.stateless = false;\n\n this.document.addEventListener('keydown', (event) => {\n if (event.key === 'Tab' && this.isOpen) {\n event.preventDefault();\n event.stopPropagation();\n\n this.focusOptionsList();\n }\n });\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n /**\n * @docs-private\n */\n @ViewChild('field') buttonElement: ElementRef<HTMLButtonElement>;\n /**\n * @docs-private\n */\n @ViewChild('optionsTemplate') optionsTemplatePortal: TemplatePortal<unknown>;\n /**\n * @docs-private\n */\n @ViewChild('optionsEl', { read: ElementRef<HTMLDivElement> }) optionsElement: ElementRef<HTMLDivElement>;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffSelectOptionDirective) optionTemplate?: DaffSelectOptionDirective;\n\n /**\n * @docs-private\n */\n get value() {\n return this._value;\n }\n\n /**\n * @docs-private\n */\n get highlighted(): number {\n return this._highlighted;\n }\n\n set highlighted(val: number) {\n this._highlighted = val;\n this.cd.markForCheck();\n }\n\n private focusOptionsList() {\n this.optionsElement?.nativeElement.focus();\n }\n\n private focusButton() {\n this.buttonElement?.nativeElement.focus();\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy(): void {\n this._destroyed.next(true);\n this._overlay?.dispose();\n }\n\n private onChange(value: T): void {};\n private onTouched(): void {};\n\n /**\n * @docs-private\n */\n writeValue(value: T): void {\n this._value = value;\n this.cd.markForCheck();\n }\n\n /**\n * @docs-private\n */\n registerOnChange(fn: (value: T) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @docs-private\n */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * @docs-private\n */\n flushValue() {\n this.ngControl?.control?.setValue(this._value);\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.stateChanges = merge(\n this._stateChanges.asObservable(),\n this.ngControl ? this.ngControl.statusChanges : of(undefined),\n ).pipe(\n map(() => this.state),\n tap((state) => this.disabled = state.disabled),\n );\n }\n\n /**\n * Opens the options list.\n */\n open(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.openDirective.open) {\n this.openDirective.open = true;\n\n if (this._value) {\n this._highlighted = this.options.findIndex((v) => v === this._value);\n }\n\n const formFieldEl = this.formField.elementRef.nativeElement;\n const formFieldWidth = formFieldEl.getBoundingClientRect().width;\n\n this._overlay = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n width: `${formFieldWidth}px`,\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(formFieldEl)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 2,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -2,\n },\n ]),\n });\n\n this._overlay.attachments().pipe(\n takeUntil(this._destroyed),\n delay(0),\n ).subscribe(() => {\n this.focusOptionsList();\n });\n\n this._overlay.attach(this.optionsTemplatePortal);\n\n this._overlay.backdropClick().pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => this.close());\n this.cd.markForCheck();\n }\n }\n\n /**\n * Closes the options list.\n */\n close(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n\n if (this.openDirective.open) {\n this.openDirective.open = false;\n this.cd.markForCheck();\n\n // do we actually have to dispose and recreate the overlay every time we want to close the dropdown?\n this._overlay?.dispose();\n this._overlay = null;\n this.focusButton();\n }\n }\n\n /**\n * Selects the value in a particular position in the options list.\n */\n private selectValueInPosition(position: number) {\n if (position >= 0 && position < this.options.length) {\n this.writeValue(this.options[position]);\n }\n\n this.close();\n }\n\n /**\n * Selects an option.\n */\n selectOption(option: T) {\n this._value = option;\n this.onChange(this._value);\n\n this.close();\n }\n\n /**\n * Selects the option referenced by the highlighted index.\n */\n selectHighlighted(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n this.selectValueInPosition(this._highlighted);\n\n this.onChange(this._value);\n }\n\n /**\n * Highlights the next option in the list.\n */\n highlightNext(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n this._highlighted = this._highlighted < this.options.length - 1 ? this._highlighted + 1 : 0;\n (<HTMLElement>event?.target).children[this._highlighted].scrollIntoView();\n }\n\n /**\n * Highlights the previous option in the list.\n */\n highlightPrevious(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n this._highlighted = this._highlighted > 0 ? this._highlighted - 1 : this.options.length - 1;\n (<HTMLElement>event?.target).children[this._highlighted].scrollIntoView();\n }\n}\n","<button #field class=\"daff-select__field\"\n type=\"button\"\n (click)=\"open($event)\"\n (focus)=\"focus()\"\n (blur)=\"blur()\"\n [disabled]=\"disabled\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"optionsId\"\n (keydown.arrowdown)=\"open($event)\"\n (keydown.arrowup)=\"open($event)\"\n (keydown.alt.arrowup)=\"open($event)\"\n (keydown.alt.arrowdown)=\"open($event)\"\n (keydown.space)=\"open($event)\"\n (keydown.enter)=\"open($event)\">\n @if (value) {\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate?.templateRef\"\n [ngTemplateOutletContext]=\"\n {\n option: value,\n isSelected: true,\n isHighlighted: true,\n }\n \"><div></div>\n </ng-container>\n }\n</button>\n<ng-template cdkPortal #optionsTemplate=\"cdkPortal\">\n <div class=\"daff-select__options\" #optionsEl\n [id]=\"optionsId\"\n tabindex=\"0\"\n role=\"listbox\"\n (blur)=\"blur()\"\n (keydown.enter)=\"selectHighlighted($event)\"\n (keydown.space)=\"selectHighlighted($event)\"\n (keydown.escape)=\"close($event)\"\n (keydown.arrowdown)=\"highlightNext($event)\"\n (keydown.arrowup)=\"highlightPrevious($event)\">\n @for (option of options; track $index; let i = $index) {\n <div class=\"daff-select__option\"\n [class.selected]=\"value === option\"\n [class.highlighted]=\"highlighted === i\"\n (click)=\"selectOption(option)\">\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate?.templateRef\"\n [ngTemplateOutletContext]=\"{\n isSelected: value === option,\n isHighlighted: highlighted === i,\n option\n }\">\n </ng-container>\n </div>\n }\n </div>\n</ng-template>\n","import { DaffSelectOptionDirective } from './option/option.directive';\nimport { DaffSelectComponent } from './select/select.component';\n\nexport const DAFF_SELECT_COMPONENTS = <const> [\n DaffSelectComponent,\n DaffSelectOptionDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-design-select.mjs","sources":["../../../libs/design/select/src/option/option.directive.ts","../../../libs/design/select/src/select/select.component.ts","../../../libs/design/select/src/select/select.component.html","../../../libs/design/select/src/select.ts","../../../libs/design/select/src/daffodil-design-select.ts"],"sourcesContent":["import {\n Directive,\n Optional,\n TemplateRef,\n} from '@angular/core';\n\n/**\n * The directive provides the template for a list of options inside the select dropdown.\n */\n@Directive({\n selector: '[daffSelectOption]',\n})\nexport class DaffSelectOptionDirective {\n constructor(@Optional() public templateRef?: TemplateRef<unknown>) {}\n}\n","import {\n Overlay,\n OverlayModule,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n PortalModule,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ChangeDetectorRef,\n OnInit,\n ElementRef,\n Inject,\n Optional,\n Self,\n ContentChild,\n ViewChild,\n OnDestroy,\n booleanAttribute,\n DOCUMENT,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n Validators,\n} from '@angular/forms';\nimport {\n Subject,\n delay,\n map,\n merge,\n of,\n takeUntil,\n tap,\n} from 'rxjs';\n\nimport { DaffOpenableDirective } from '@daffodil/design';\nimport {\n DaffFormFieldComponent,\n DaffFormFieldControl,\n} from '@daffodil/design/form-field';\n\nimport { DaffSelectOptionDirective } from '../option/option.directive';\n\nlet daffSelectOtionsId = 0;\n\n/**\n * DaffSelectComponent is a form control component that presents a list of selectable options,\n * similar to the native `<select>` element we call `<daff-native-select>`.\n *\n */\n@Component({\n selector: 'daff-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: DaffOpenableDirective,\n },\n ],\n host: {\n class: 'daff-select',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n providers: [\n\n { provide: DaffFormFieldControl, useExisting: DaffSelectComponent },\n ],\n imports: [\n NgTemplateOutlet,\n OverlayModule,\n PortalModule,\n ],\n})\nexport class DaffSelectComponent<T = unknown> extends DaffFormFieldControl<string> implements DaffFormFieldControl<string>, OnInit, OnDestroy, ControlValueAccessor {\n /** @docs-private */\n controlType = 'custom-select';\n\n /**\n * @docs-private\n */\n supportsAutoLabelling = false;\n\n private _destroyed = new Subject<boolean>();\n private _overlay: OverlayRef;\n private _value = null;\n private _highlighted = 0;\n\n /**\n * @docs-private\n */\n get focused() {\n return this.document.activeElement === this.buttonElement?.nativeElement || this.document.activeElement === this.optionsElement?.nativeElement;\n }\n\n /**\n * @docs-private\n */\n get raised() {\n return this.focused && this.isOpen;\n }\n\n /** @docs-private */\n focus() {\n (<HTMLElement>this.buttonElement?.nativeElement)?.focus();\n this.emitState();\n }\n\n /** @docs-private */\n blur() {\n this.onTouched();\n this.emitState(true);\n }\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n @Input({ transform: booleanAttribute }) disabled = false;\n\n private _required = false;\n\n /**\n * @docs-private\n *\n * Implemented as part of DaffFormFieldControl.\n */\n @Input({ transform: booleanAttribute })\n get required(): boolean {\n return this.ngControl?.control?.hasValidator(Validators.required) ?? this._required;\n }\n set required(value: boolean) {\n this._required = value;\n }\n\n @Input() options: T[] = [];\n\n /**\n * @docs-private\n */\n get isOpen() {\n return this.openDirective.open();\n }\n\n /**\n * @docs-private\n *\n * `aria-labelledby` for the select.\n */\n ariaLabelledBy = '';\n\n /**\n * The unique id of the select options. Defaults to an autogenerated value.\n */\n @Input() optionsId: string = 'daff-select-options' + '-' + ++daffSelectOtionsId;\n\n constructor(\n private cd: ChangeDetectorRef,\n @Inject(DOCUMENT) private document: Document,\n @Optional() @Self() public ngControl: NgControl,\n private overlay: Overlay,\n private openDirective: DaffOpenableDirective,\n @Optional() private formField: DaffFormFieldComponent,\n ) {\n super(ngControl);\n\n if(!this.formField) {\n throw new Error('DaffSelectComponent needs to be used with the DaffFormFieldComponent.');\n }\n\n this.ariaLabelledBy = this.formField.id;\n\n this.openDirective.stateless = false;\n\n this.document.addEventListener('keydown', (event) => {\n if (event.key === 'Tab' && this.isOpen) {\n event.preventDefault();\n event.stopPropagation();\n\n this.focusOptionsList();\n }\n });\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n /**\n * @docs-private\n */\n @ViewChild('field') buttonElement: ElementRef<HTMLButtonElement>;\n /**\n * @docs-private\n */\n @ViewChild('optionsTemplate') optionsTemplatePortal: TemplatePortal<unknown>;\n /**\n * @docs-private\n */\n @ViewChild('optionsEl', { read: ElementRef<HTMLDivElement> }) optionsElement: ElementRef<HTMLDivElement>;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffSelectOptionDirective) optionTemplate?: DaffSelectOptionDirective;\n\n /**\n * @docs-private\n */\n get value() {\n return this._value;\n }\n\n /**\n * @docs-private\n */\n get highlighted(): number {\n return this._highlighted;\n }\n\n set highlighted(val: number) {\n this._highlighted = val;\n this.cd.markForCheck();\n }\n\n private focusOptionsList() {\n this.optionsElement?.nativeElement.focus();\n }\n\n private focusButton() {\n this.buttonElement?.nativeElement.focus();\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy(): void {\n this._destroyed.next(true);\n this._overlay?.dispose();\n }\n\n private onChange(value: T): void {};\n private onTouched(): void {};\n\n /**\n * @docs-private\n */\n writeValue(value: T): void {\n this._value = value;\n this.cd.markForCheck();\n }\n\n /**\n * @docs-private\n */\n registerOnChange(fn: (value: T) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @docs-private\n */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * @docs-private\n */\n flushValue() {\n this.ngControl?.control?.setValue(this._value);\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.stateChanges = merge(\n this._stateChanges.asObservable(),\n this.ngControl ? this.ngControl.statusChanges : of(undefined),\n ).pipe(\n map(() => this.state),\n tap((state) => this.disabled = state.disabled),\n );\n }\n\n /**\n * Opens the options list.\n */\n open(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.openDirective.open()) {\n this.openDirective.open.set(true);\n\n if (this._value) {\n this._highlighted = this.options.findIndex((v) => v === this._value);\n }\n\n const formFieldEl = this.formField.elementRef.nativeElement;\n const formFieldWidth = formFieldEl.getBoundingClientRect().width;\n\n this._overlay = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n width: `${formFieldWidth}px`,\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(formFieldEl)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 2,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -2,\n },\n ]),\n });\n\n this._overlay.attachments().pipe(\n takeUntil(this._destroyed),\n delay(0),\n ).subscribe(() => {\n this.focusOptionsList();\n });\n\n this._overlay.attach(this.optionsTemplatePortal);\n\n this._overlay.backdropClick().pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => this.close());\n this.cd.markForCheck();\n }\n }\n\n /**\n * Closes the options list.\n */\n close(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n\n if (this.openDirective.open()) {\n this.openDirective.open.set(false);\n this.cd.markForCheck();\n\n // do we actually have to dispose and recreate the overlay every time we want to close the dropdown?\n this._overlay?.dispose();\n this._overlay = null;\n this.focusButton();\n }\n }\n\n /**\n * Selects the value in a particular position in the options list.\n */\n private selectValueInPosition(position: number) {\n if (position >= 0 && position < this.options.length) {\n this.writeValue(this.options[position]);\n }\n\n this.close();\n }\n\n /**\n * Selects an option.\n */\n selectOption(option: T) {\n this._value = option;\n this.onChange(this._value);\n\n this.close();\n }\n\n /**\n * Selects the option referenced by the highlighted index.\n */\n selectHighlighted(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n this.selectValueInPosition(this._highlighted);\n\n this.onChange(this._value);\n }\n\n /**\n * Highlights the next option in the list.\n */\n highlightNext(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n this._highlighted = this._highlighted < this.options.length - 1 ? this._highlighted + 1 : 0;\n (<HTMLElement>event?.target).children[this._highlighted].scrollIntoView();\n }\n\n /**\n * Highlights the previous option in the list.\n */\n highlightPrevious(event?: KeyboardEvent | MouseEvent) {\n event?.preventDefault();\n event?.stopPropagation();\n this._highlighted = this._highlighted > 0 ? this._highlighted - 1 : this.options.length - 1;\n (<HTMLElement>event?.target).children[this._highlighted].scrollIntoView();\n }\n}\n","<button #field class=\"daff-select__field\"\n type=\"button\"\n (click)=\"open($event)\"\n (focus)=\"focus()\"\n (blur)=\"blur()\"\n [disabled]=\"disabled\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"optionsId\"\n (keydown.arrowdown)=\"open($event)\"\n (keydown.arrowup)=\"open($event)\"\n (keydown.alt.arrowup)=\"open($event)\"\n (keydown.alt.arrowdown)=\"open($event)\"\n (keydown.space)=\"open($event)\"\n (keydown.enter)=\"open($event)\">\n @if (value) {\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate?.templateRef\"\n [ngTemplateOutletContext]=\"\n {\n option: value,\n isSelected: true,\n isHighlighted: true,\n }\n \"><div></div>\n </ng-container>\n }\n</button>\n<ng-template cdkPortal #optionsTemplate=\"cdkPortal\">\n <div class=\"daff-select__options\" #optionsEl\n [id]=\"optionsId\"\n tabindex=\"0\"\n role=\"listbox\"\n (blur)=\"blur()\"\n (keydown.enter)=\"selectHighlighted($event)\"\n (keydown.space)=\"selectHighlighted($event)\"\n (keydown.escape)=\"close($event)\"\n (keydown.arrowdown)=\"highlightNext($event)\"\n (keydown.arrowup)=\"highlightPrevious($event)\">\n @for (option of options; track $index; let i = $index) {\n <div class=\"daff-select__option\"\n [class.selected]=\"value === option\"\n [class.highlighted]=\"highlighted === i\"\n (click)=\"selectOption(option)\">\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate?.templateRef\"\n [ngTemplateOutletContext]=\"{\n isSelected: value === option,\n isHighlighted: highlighted === i,\n option\n }\">\n </ng-container>\n </div>\n }\n </div>\n</ng-template>\n","import { DaffSelectOptionDirective } from './option/option.directive';\nimport { DaffSelectComponent } from './select/select.component';\n\nexport const DAFF_SELECT_COMPONENTS = <const> [\n DaffSelectComponent,\n DaffSelectOptionDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAMA;;AAEG;MAIU,yBAAyB,CAAA;AACpC,IAAA,WAAA,CAA+B,WAAkC,EAAA;QAAlC,IAAA,CAAA,WAAW,GAAX,WAAW;IAA0B;iIADzD,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA;;0BAEc;;;ACqCf,IAAI,kBAAkB,GAAG,CAAC;AAE1B;;;;AAIG;AA0BG,MAAO,mBAAiC,SAAQ,oBAA4B,CAAA;AAchF;;AAEG;AACH,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,cAAc,EAAE,aAAa;IAChJ;AAEA;;AAEG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM;IACpC;;IAGA,KAAK,GAAA;AACW,QAAA,IAAI,CAAC,aAAa,EAAE,aAAc,EAAE,KAAK,EAAE;QACzD,IAAI,CAAC,SAAS,EAAE;IAClB;;IAGA,IAAI,GAAA;QACF,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IACtB;AAWA;;;;AAIG;AACH,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS;IACrF;IACA,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;IACxB;AAIA;;AAEG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;IAClC;IAcA,WAAA,CACU,EAAqB,EACH,QAAkB,EACjB,SAAoB,EACvC,OAAgB,EAChB,aAAoC,EACxB,SAAiC,EAAA;QAErD,KAAK,CAAC,SAAS,CAAC;QAPR,IAAA,CAAA,EAAE,GAAF,EAAE;QACgB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACP,IAAA,CAAA,SAAS,GAAT,SAAS;QAC5B,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,aAAa,GAAb,aAAa;QACD,IAAA,CAAA,SAAS,GAAT,SAAS;;QAvF/B,IAAA,CAAA,WAAW,GAAG,eAAe;AAE7B;;AAEG;QACH,IAAA,CAAA,qBAAqB,GAAG,KAAK;AAErB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAW;QAEnC,IAAA,CAAA,MAAM,GAAG,IAAI;QACb,IAAA,CAAA,YAAY,GAAG,CAAC;AA4BxB;;;;AAIG;QACqC,IAAA,CAAA,QAAQ,GAAG,KAAK;QAEhD,IAAA,CAAA,SAAS,GAAG,KAAK;QAehB,IAAA,CAAA,OAAO,GAAQ,EAAE;AAS1B;;;;AAIG;QACH,IAAA,CAAA,cAAc,GAAG,EAAE;AAEnB;;AAEG;AACM,QAAA,IAAA,CAAA,SAAS,GAAW,qBAAqB,GAAG,GAAG,GAAG,EAAE,kBAAkB;AAY7E,QAAA,IAAG,CAAC,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC;QAC1F;QAEA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;AAEvC,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK;QAEpC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,KAAI;YAClD,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;gBACtC,KAAK,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,eAAe,EAAE;gBAEvB,IAAI,CAAC,gBAAgB,EAAE;YACzB;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;IACF;AAoBA;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;AAEG;AACH,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;IAEA,IAAI,WAAW,CAAC,GAAW,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG;AACvB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;IACxB;IAEQ,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,EAAE;IAC5C;IAEQ,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE;IAC3C;AAEA;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC1B;IAEQ,QAAQ,CAAC,KAAQ,EAAA,EAAS;;AAC1B,IAAA,SAAS,KAAU;;AAE3B;;AAEG;AACH,IAAA,UAAU,CAAC,KAAQ,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;IACxB;AAEA;;AAEG;AACH,IAAA,gBAAgB,CAAC,EAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA;;AAEG;AACH,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA;;AAEG;IACH,UAAU,GAAA;QACR,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD;AAEA;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CACvB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC,CAC9D,CAAC,IAAI,CACJ,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EACrB,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAC/C;IACH;AAEA;;AAEG;AACH,IAAA,IAAI,CAAC,KAAkC,EAAA;QACrC,KAAK,EAAE,cAAc,EAAE;QACvB,KAAK,EAAE,eAAe,EAAE;QAExB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAEjC,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC;YACtE;YAEA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa;YAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,KAAK;YAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClC,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,aAAa,EAAE,kCAAkC;gBACjD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACrD,gBAAA,mBAAmB,EAAE,IAAI;gBACzB,KAAK,EAAE,CAAA,EAAG,cAAc,CAAA,EAAA,CAAI;gBAC5B,gBAAgB,EAAE,IAAI,CAAC;AACpB,qBAAA,QAAQ;qBACR,mBAAmB,CAAC,WAAW;AAC/B,qBAAA,aAAa,CAAC;AACb,oBAAA;AACE,wBAAA,OAAO,EAAE,OAAO;AAChB,wBAAA,OAAO,EAAE,QAAQ;AACjB,wBAAA,QAAQ,EAAE,OAAO;AACjB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,OAAO,EAAE,CAAC;AACX,qBAAA;AACD,oBAAA;AACE,wBAAA,OAAO,EAAE,OAAO;AAChB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,QAAQ,EAAE,OAAO;AACjB,wBAAA,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,CAAC,CAAC;AACZ,qBAAA;iBACF,CAAC;AACL,aAAA,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAC9B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1B,KAAK,CAAC,CAAC,CAAC,CACT,CAAC,SAAS,CAAC,MAAK;gBACf,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,CAAC,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,CAChC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/B,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;QACxB;IACF;AAEA;;AAEG;AACH,IAAA,KAAK,CAAC,KAAkC,EAAA;QACtC,KAAK,EAAE,cAAc,EAAE;QACvB,KAAK,EAAE,eAAe,EAAE;AAExB,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;AAGtB,YAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACpB,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;AAEA;;AAEG;AACK,IAAA,qBAAqB,CAAC,QAAgB,EAAA;AAC5C,QAAA,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC;QAEA,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;AAEG;AACH,IAAA,YAAY,CAAC,MAAS,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;AAEG;AACH,IAAA,iBAAiB,CAAC,KAAkC,EAAA;QAClD,KAAK,EAAE,cAAc,EAAE;QACvB,KAAK,EAAE,eAAe,EAAE;AACxB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;AAE7C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5B;AAEA;;AAEG;AACH,IAAA,aAAa,CAAC,KAAkC,EAAA;QAC9C,KAAK,EAAE,cAAc,EAAE;QACvB,KAAK,EAAE,eAAe,EAAE;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC;AAC3F,QAAA,CAAc,KAAK,EAAE,MAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE;IAC3E;AAEA;;AAEG;AACH,IAAA,iBAAiB,CAAC,KAAkC,EAAA;QAClD,KAAK,EAAE,cAAc,EAAE;QACvB,KAAK,EAAE,eAAe,EAAE;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AAC3F,QAAA,CAAc,KAAK,EAAE,MAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE;IAC3E;AArVW,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,mDAqFpB,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AArFP,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EA6CV,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAShB,gBAAgB,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAhEzB;AAET,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,mBAAmB,EAAE;AACpE,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA0Ia,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,GALP,UAA0B,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChN5D,0xDAyDA,EAAA,MAAA,EAAA,CAAA,ovCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDoBI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAzB/B,SAAS;+BACE,aAAa,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAC/B;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,qBAAqB;AACjC,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,wBAAwB,EAAE,gBAAgB;qBAC3C,EAAA,SAAA,EACU;AAET,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,qBAAqB,EAAE;qBACpE,EAAA,OAAA,EACQ;wBACP,gBAAgB;wBAChB,aAAa;wBACb,YAAY;AACb,qBAAA,EAAA,QAAA,EAAA,0xDAAA,EAAA,MAAA,EAAA,CAAA,ovCAAA,CAAA,EAAA;;0BAuFE,MAAM;2BAAC,QAAQ;;0BACf;;0BAAY;;0BAGZ;;sBA5CF,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBASrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAQrC;;sBAmBA;;sBAqCA,SAAS;uBAAC,OAAO;;sBAIjB,SAAS;uBAAC,iBAAiB;;sBAI3B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,GAAE,UAA0B,CAAA,EAAE;;sBAK3D,YAAY;uBAAC,yBAAyB;;;AElNlC,MAAM,sBAAsB,GAAW;IAC5C,mBAAmB;IACnB,yBAAyB;;;ACL3B;;AAEG;;;;"}
|