@daffodil/design 0.90.0 → 0.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +8 -5
- package/article/README.md +1 -1
- package/article/index.d.ts +20 -0
- package/article/src/article-theme.scss +10 -0
- package/button/index.d.ts +4 -4
- package/button/src/button/button-base.scss +3 -3
- package/button/src/button/raised/raised-theme.scss +2 -2
- package/card/README.md +0 -8
- package/card/index.d.ts +7 -41
- package/card/src/card-base-theme.scss +2 -5
- package/card/src/card-base.scss +2 -2
- package/checkbox/README.md +0 -0
- package/checkbox/index.d.ts +177 -0
- package/fesm2022/daffodil-design-accordion.mjs +23 -14
- package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
- package/fesm2022/daffodil-design-article.mjs +129 -5
- package/fesm2022/daffodil-design-article.mjs.map +1 -1
- package/fesm2022/daffodil-design-button.mjs +24 -20
- package/fesm2022/daffodil-design-button.mjs.map +1 -1
- package/fesm2022/daffodil-design-card.mjs +16 -63
- package/fesm2022/daffodil-design-card.mjs.map +1 -1
- package/fesm2022/daffodil-design-checkbox.mjs +317 -0
- package/fesm2022/daffodil-design-checkbox.mjs.map +1 -0
- package/fesm2022/daffodil-design-form-field.mjs +35 -65
- package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
- package/fesm2022/daffodil-design-form.mjs +62 -0
- package/fesm2022/daffodil-design-form.mjs.map +1 -0
- package/fesm2022/daffodil-design-image.mjs +12 -4
- package/fesm2022/daffodil-design-image.mjs.map +1 -1
- package/fesm2022/daffodil-design-modal.mjs +55 -56
- package/fesm2022/daffodil-design-modal.mjs.map +1 -1
- package/fesm2022/daffodil-design-notification.mjs +14 -50
- package/fesm2022/daffodil-design-notification.mjs.map +1 -1
- package/fesm2022/daffodil-design-paginator.mjs +6 -11
- package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
- package/fesm2022/daffodil-design-quantity-field.mjs +3 -5
- package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
- package/fesm2022/daffodil-design-radio.mjs +13 -42
- package/fesm2022/daffodil-design-radio.mjs.map +1 -1
- package/fesm2022/daffodil-design-sidebar.mjs +6 -36
- package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
- package/fesm2022/daffodil-design-switch.mjs +48 -105
- package/fesm2022/daffodil-design-switch.mjs.map +1 -1
- package/fesm2022/daffodil-design-tabs.mjs +22 -14
- package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
- package/fesm2022/daffodil-design-toast.mjs +56 -55
- package/fesm2022/daffodil-design-toast.mjs.map +1 -1
- package/fesm2022/daffodil-design-tree.mjs +4 -13
- package/fesm2022/daffodil-design-tree.mjs.map +1 -1
- package/fesm2022/daffodil-design.mjs +250 -461
- package/fesm2022/daffodil-design.mjs.map +1 -1
- package/form/README.md +75 -0
- package/form/index.d.ts +27 -0
- package/form-field/README.md +49 -39
- package/form-field/index.d.ts +56 -36
- package/image/README.md +27 -19
- package/image/index.d.ts +6 -1
- package/index.d.ts +180 -259
- package/input/README.md +32 -12
- package/modal/README.md +106 -16
- package/modal/index.d.ts +50 -21
- package/native-select/README.md +52 -15
- package/notification/index.d.ts +7 -38
- package/package.json +1 -1
- package/paginator/index.d.ts +1 -7
- package/radio/index.d.ts +0 -16
- package/scss/layout/_breakpoint.scss +1 -1
- package/scss/theme.scss +2 -4
- package/scss/theming/_color-palettes.scss +21 -7
- package/scss/theming/_configure-theme.scss +11 -10
- package/scss/theming/_daff-theme.scss +5 -14
- package/scss/theming/_get-base-color.scss +2 -2
- package/scss/theming/_get-palette.scss +2 -2
- package/scss/theming/_get-theme-mode.scss +3 -3
- package/scss/theming/_index.scss +2 -1
- package/scss/theming/contrast/max-contrast/max-contrast.scss +3 -3
- package/scss/theming/contrast/text-contrast/text-contrast.scss +22 -16
- package/scss/theming/contrast/text-contrast/text-contrast.spec.scss +57 -0
- package/scss/theming/create-theme/_create-theme.scss +330 -0
- package/scss/theming/create-theme/_create-theme.spec.scss +122 -0
- package/scss/theming/create-theme/_index.scss +1 -0
- package/scss/theming/get-font-colors/_get-font-colors.scss +36 -0
- package/scss/theming/get-font-colors/_get-font-colors.spec.scss +72 -0
- package/scss/typography/mixins/_font-weight.scss +8 -14
- package/select/README.md +107 -4
- package/sidebar/README.md +0 -8
- package/sidebar/index.d.ts +3 -15
- package/switch/README.md +19 -27
- package/switch/index.d.ts +18 -48
- package/switch/src/switch-theme.scss +26 -18
- package/tabs/index.d.ts +7 -4
- package/tag/src/tag-theme.scss +11 -9
- package/textarea/README.md +35 -5
- package/tree/index.d.ts +0 -6
- package/tree/src/tree-theme.scss +0 -4
- package/accordion/examples/index.d.ts +0 -20
- package/article/examples/index.d.ts +0 -50
- package/breadcrumb/examples/index.d.ts +0 -10
- package/button/examples/index.d.ts +0 -67
- package/callout/examples/index.d.ts +0 -41
- package/card/examples/index.d.ts +0 -62
- package/card/src/card/raised/raised-theme.scss +0 -28
- package/checkbox/examples/index.d.ts +0 -32
- package/container/examples/index.d.ts +0 -16
- package/fesm2022/daffodil-design-accordion-examples.mjs +0 -50
- package/fesm2022/daffodil-design-accordion-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-article-examples.mjs +0 -134
- package/fesm2022/daffodil-design-article-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-breadcrumb-examples.mjs +0 -46
- package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-button-examples.mjs +0 -178
- package/fesm2022/daffodil-design-button-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-callout-examples.mjs +0 -116
- package/fesm2022/daffodil-design-callout-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-card-examples.mjs +0 -168
- package/fesm2022/daffodil-design-card-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-checkbox-examples.mjs +0 -76
- package/fesm2022/daffodil-design-checkbox-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-container-examples.mjs +0 -41
- package/fesm2022/daffodil-design-container-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-form-field-examples.mjs +0 -96
- package/fesm2022/daffodil-design-form-field-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-hero-examples.mjs +0 -121
- package/fesm2022/daffodil-design-hero-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-image-examples.mjs +0 -58
- package/fesm2022/daffodil-design-image-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-input-examples.mjs +0 -108
- package/fesm2022/daffodil-design-input-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-list-examples.mjs +0 -77
- package/fesm2022/daffodil-design-list-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-loading-icon-examples.mjs +0 -44
- package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-media-gallery-examples.mjs +0 -104
- package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-menu-examples.mjs +0 -50
- package/fesm2022/daffodil-design-menu-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-modal-examples.mjs +0 -51
- package/fesm2022/daffodil-design-modal-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-native-select-examples.mjs +0 -71
- package/fesm2022/daffodil-design-native-select-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-navbar-examples.mjs +0 -88
- package/fesm2022/daffodil-design-navbar-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-notification-examples.mjs +0 -102
- package/fesm2022/daffodil-design-notification-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-paginator-examples.mjs +0 -59
- package/fesm2022/daffodil-design-paginator-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-progress-bar-examples.mjs +0 -57
- package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-quantity-field-examples.mjs +0 -85
- package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-radio-examples.mjs +0 -34
- package/fesm2022/daffodil-design-radio-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-select-examples.mjs +0 -117
- package/fesm2022/daffodil-design-select-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-sidebar-examples.mjs +0 -109
- package/fesm2022/daffodil-design-sidebar-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-sticky-examples.mjs +0 -25
- package/fesm2022/daffodil-design-sticky-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-switch-examples.mjs +0 -110
- package/fesm2022/daffodil-design-switch-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-tabs-examples.mjs +0 -115
- package/fesm2022/daffodil-design-tabs-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-tag-examples.mjs +0 -125
- package/fesm2022/daffodil-design-tag-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-text-snippet-examples.mjs +0 -25
- package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-textarea-examples.mjs +0 -66
- package/fesm2022/daffodil-design-textarea-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-toast-examples.mjs +0 -147
- package/fesm2022/daffodil-design-toast-examples.mjs.map +0 -1
- package/fesm2022/daffodil-design-tree-examples.mjs +0 -104
- package/fesm2022/daffodil-design-tree-examples.mjs.map +0 -1
- package/form-field/examples/index.d.ts +0 -18
- package/hero/examples/index.d.ts +0 -45
- package/image/examples/index.d.ts +0 -10
- package/input/examples/index.d.ts +0 -10
- package/list/examples/index.d.ts +0 -29
- package/loading-icon/examples/index.d.ts +0 -16
- package/media-gallery/examples/index.d.ts +0 -38
- package/menu/examples/index.d.ts +0 -20
- package/modal/examples/index.d.ts +0 -15
- package/native-select/examples/index.d.ts +0 -10
- package/navbar/examples/index.d.ts +0 -31
- package/notification/examples/index.d.ts +0 -12
- package/paginator/examples/index.d.ts +0 -26
- package/progress-bar/examples/index.d.ts +0 -10
- package/quantity-field/examples/index.d.ts +0 -30
- package/radio/examples/index.d.ts +0 -13
- package/select/examples/index.d.ts +0 -28
- package/sidebar/examples/index.d.ts +0 -10
- package/sticky/examples/index.d.ts +0 -10
- package/switch/examples/index.d.ts +0 -46
- package/tabs/examples/index.d.ts +0 -12
- package/tag/examples/index.d.ts +0 -50
- package/text-snippet/examples/index.d.ts +0 -10
- package/textarea/examples/index.d.ts +0 -10
- package/toast/examples/index.d.ts +0 -56
- package/tree/examples/index.d.ts +0 -18
- /package/{form-field → form}/src/error-message/error-message-theme.scss +0 -0
- /package/{form-field → form}/src/hint/hint-theme.scss +0 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { EventEmitter, ElementRef, HostBinding, Output, Input, ViewChild, ChangeDetectionStrategy, Component, ContentChildren, Optional, Self, Directive, NgModule } from '@angular/core';
|
|
4
|
+
import * as i1 from '@angular/forms';
|
|
5
|
+
|
|
6
|
+
let checkboxIdNum = 0;
|
|
7
|
+
class DaffCheckboxComponent {
|
|
8
|
+
get checked() {
|
|
9
|
+
return this._checked;
|
|
10
|
+
}
|
|
11
|
+
set checked(value) {
|
|
12
|
+
if (this._checked === value) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (value === true) {
|
|
16
|
+
this.nativeCheckbox.nativeElement.checked = true;
|
|
17
|
+
this.becameChecked.emit(this._checked);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.nativeCheckbox.nativeElement.checked = false;
|
|
21
|
+
this.becameUnchecked.emit();
|
|
22
|
+
}
|
|
23
|
+
this._checked = value;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @docs-private
|
|
27
|
+
*/
|
|
28
|
+
_onChange(val) {
|
|
29
|
+
if (val.target.checked) {
|
|
30
|
+
this.select();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.deselect();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
;
|
|
37
|
+
/**
|
|
38
|
+
* @docs-private
|
|
39
|
+
*/
|
|
40
|
+
get focusClass() {
|
|
41
|
+
return this.focused === true;
|
|
42
|
+
}
|
|
43
|
+
;
|
|
44
|
+
/**
|
|
45
|
+
* @docs-private
|
|
46
|
+
*/
|
|
47
|
+
get disabledClass() {
|
|
48
|
+
return this.disabled === true;
|
|
49
|
+
}
|
|
50
|
+
;
|
|
51
|
+
/**
|
|
52
|
+
* Sets focused to false.
|
|
53
|
+
*/
|
|
54
|
+
onBlur() {
|
|
55
|
+
this.focused = false;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Sets focused to true.
|
|
59
|
+
*/
|
|
60
|
+
onFocus() {
|
|
61
|
+
this.focused = true;
|
|
62
|
+
}
|
|
63
|
+
constructor(_cdRef) {
|
|
64
|
+
this._cdRef = _cdRef;
|
|
65
|
+
/**
|
|
66
|
+
* Boolean value to determine whether or not the checkbox is checked.
|
|
67
|
+
*/
|
|
68
|
+
this._checked = false;
|
|
69
|
+
/**
|
|
70
|
+
* The id of the checkbox. Must be unique. If not entered by a user then it is generated.
|
|
71
|
+
*/
|
|
72
|
+
this.id = 'daff-checkbox-' + checkboxIdNum;
|
|
73
|
+
/**
|
|
74
|
+
* The aria-label of the checkbox.
|
|
75
|
+
*/
|
|
76
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
77
|
+
this.label = '';
|
|
78
|
+
/**
|
|
79
|
+
* Event on whether or not the selection has changed.
|
|
80
|
+
*/
|
|
81
|
+
this.becameChecked = new EventEmitter();
|
|
82
|
+
this.becameUnchecked = new EventEmitter();
|
|
83
|
+
/**
|
|
84
|
+
* The role of the component. Set to "checkbox".
|
|
85
|
+
*
|
|
86
|
+
* @docs-private
|
|
87
|
+
*/
|
|
88
|
+
this.role = 'checkbox';
|
|
89
|
+
/**
|
|
90
|
+
* Increments id number on new checkbox. Gurantees unique ID on generation.
|
|
91
|
+
*/
|
|
92
|
+
checkboxIdNum++;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Sets checked to true.
|
|
96
|
+
*/
|
|
97
|
+
select() {
|
|
98
|
+
this.checked = true;
|
|
99
|
+
this._cdRef.markForCheck();
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Sets checked to false
|
|
103
|
+
*/
|
|
104
|
+
deselect() {
|
|
105
|
+
this.checked = false;
|
|
106
|
+
this._cdRef.markForCheck();
|
|
107
|
+
}
|
|
108
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffCheckboxComponent, isStandalone: true, selector: "daff-checkbox", inputs: { name: "name", value: "value", checked: "checked", id: "id", label: ["aria-label", "label"], labeledBy: ["aria-labelledby", "labeledBy"] }, outputs: { becameChecked: "becameChecked", becameUnchecked: "becameUnchecked" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, viewQueries: [{ propertyName: "nativeCheckbox", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
110
|
+
}
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
|
|
112
|
+
type: Component,
|
|
113
|
+
args: [{ selector: 'daff-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>" }]
|
|
114
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { nativeCheckbox: [{
|
|
115
|
+
type: ViewChild,
|
|
116
|
+
args: ['inputElement', { static: true, read: ElementRef }]
|
|
117
|
+
}], name: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], value: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], checked: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], id: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], label: [{
|
|
126
|
+
type: Input,
|
|
127
|
+
args: ['aria-label']
|
|
128
|
+
}], labeledBy: [{
|
|
129
|
+
type: Input,
|
|
130
|
+
args: ['aria-labelledby']
|
|
131
|
+
}], becameChecked: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}], becameUnchecked: [{
|
|
134
|
+
type: Output
|
|
135
|
+
}], role: [{
|
|
136
|
+
type: HostBinding,
|
|
137
|
+
args: ['attr.role']
|
|
138
|
+
}], focusClass: [{
|
|
139
|
+
type: HostBinding,
|
|
140
|
+
args: ['class.focused']
|
|
141
|
+
}], disabledClass: [{
|
|
142
|
+
type: HostBinding,
|
|
143
|
+
args: ['class.disabled']
|
|
144
|
+
}] } });
|
|
145
|
+
|
|
146
|
+
class DaffCheckboxSetComponent {
|
|
147
|
+
constructor() {
|
|
148
|
+
/**
|
|
149
|
+
* The role of the component. Set to "checkbox".
|
|
150
|
+
*
|
|
151
|
+
* @docs-private
|
|
152
|
+
*/
|
|
153
|
+
this.role = 'group';
|
|
154
|
+
this.valueList = new EventEmitter();
|
|
155
|
+
}
|
|
156
|
+
getValues() {
|
|
157
|
+
const checkboxes = this.checkboxes.toArray();
|
|
158
|
+
return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);
|
|
159
|
+
}
|
|
160
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffCheckboxSetComponent, isStandalone: true, selector: "daff-checkbox-set", inputs: { formArray: "formArray", name: "name" }, outputs: { valueList: "valueList" }, host: { properties: { "attr.role": "this.role" } }, queries: [{ propertyName: "checkboxes", predicate: DaffCheckboxComponent }], ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
162
|
+
}
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
|
|
164
|
+
type: Component,
|
|
165
|
+
args: [{ selector: 'daff-checkbox-set', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }]
|
|
166
|
+
}], propDecorators: { formArray: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], name: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], role: [{
|
|
171
|
+
type: HostBinding,
|
|
172
|
+
args: ['attr.role']
|
|
173
|
+
}], checkboxes: [{
|
|
174
|
+
type: ContentChildren,
|
|
175
|
+
args: [DaffCheckboxComponent]
|
|
176
|
+
}], valueList: [{
|
|
177
|
+
type: Output
|
|
178
|
+
}] } });
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* A directive for binding the DaffCheckboxComponent and the Control Value Accessor.
|
|
182
|
+
*/
|
|
183
|
+
class DaffCheckboxControlValueAccessorDirective {
|
|
184
|
+
constructor(_control, _checkbox) {
|
|
185
|
+
this._control = _control;
|
|
186
|
+
this._checkbox = _checkbox;
|
|
187
|
+
if (this._control != null) {
|
|
188
|
+
this._control.valueAccessor = this;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* A lifecycle method called when the directive is initialized.
|
|
193
|
+
*/
|
|
194
|
+
/**
|
|
195
|
+
* @docs-private
|
|
196
|
+
*/
|
|
197
|
+
ngOnInit() {
|
|
198
|
+
// See the note about `writeValue` usage.
|
|
199
|
+
this.writeValue(this._control.value);
|
|
200
|
+
// Watch for user events on the component to update the state
|
|
201
|
+
this._checkbox.becameChecked.subscribe(() => {
|
|
202
|
+
this._onChange(true);
|
|
203
|
+
});
|
|
204
|
+
this._checkbox.becameUnchecked.subscribe(() => {
|
|
205
|
+
this._onChange(false);
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* writes a new value down into the component.
|
|
210
|
+
*/
|
|
211
|
+
writeValue(value) {
|
|
212
|
+
value = !!value;
|
|
213
|
+
if (value === true) {
|
|
214
|
+
this.fireSelect();
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
this.fireDeselect();
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Registers the change handler
|
|
222
|
+
*/
|
|
223
|
+
registerOnChange(fn) {
|
|
224
|
+
this._onChange = (val) => {
|
|
225
|
+
fn(val);
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Registers the touched handler
|
|
230
|
+
*/
|
|
231
|
+
registerOnTouched(fn) {
|
|
232
|
+
this._onTouched = fn;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Sets the disabled state.
|
|
236
|
+
*/
|
|
237
|
+
setDisabledState(isDisabled) {
|
|
238
|
+
this._checkbox.disabled = isDisabled;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* calls the child checkbox's select function
|
|
242
|
+
*/
|
|
243
|
+
fireSelect() {
|
|
244
|
+
this._checkbox.select();
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* calls the child checkbox's deselect function
|
|
248
|
+
*/
|
|
249
|
+
fireDeselect() {
|
|
250
|
+
this._checkbox.deselect();
|
|
251
|
+
}
|
|
252
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffCheckboxComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
253
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.1", type: DaffCheckboxControlValueAccessorDirective, isStandalone: true, selector: "daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
|
|
254
|
+
}
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, decorators: [{
|
|
256
|
+
type: Directive,
|
|
257
|
+
args: [{
|
|
258
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
259
|
+
selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',
|
|
260
|
+
}]
|
|
261
|
+
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
262
|
+
type: Optional
|
|
263
|
+
}, {
|
|
264
|
+
type: Self
|
|
265
|
+
}] }, { type: DaffCheckboxComponent }], propDecorators: { value: [{
|
|
266
|
+
type: Input
|
|
267
|
+
}], name: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}] } });
|
|
270
|
+
|
|
271
|
+
class DaffCheckboxModule {
|
|
272
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
273
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, imports: [CommonModule,
|
|
274
|
+
DaffCheckboxComponent,
|
|
275
|
+
DaffCheckboxSetComponent,
|
|
276
|
+
DaffCheckboxControlValueAccessorDirective], exports: [DaffCheckboxComponent,
|
|
277
|
+
DaffCheckboxSetComponent,
|
|
278
|
+
DaffCheckboxControlValueAccessorDirective] }); }
|
|
279
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, providers: [
|
|
280
|
+
DaffCheckboxSetComponent,
|
|
281
|
+
], imports: [CommonModule] }); }
|
|
282
|
+
}
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffCheckboxModule, decorators: [{
|
|
284
|
+
type: NgModule,
|
|
285
|
+
args: [{
|
|
286
|
+
exports: [
|
|
287
|
+
DaffCheckboxComponent,
|
|
288
|
+
DaffCheckboxSetComponent,
|
|
289
|
+
DaffCheckboxControlValueAccessorDirective,
|
|
290
|
+
],
|
|
291
|
+
imports: [
|
|
292
|
+
CommonModule,
|
|
293
|
+
DaffCheckboxComponent,
|
|
294
|
+
DaffCheckboxSetComponent,
|
|
295
|
+
DaffCheckboxControlValueAccessorDirective,
|
|
296
|
+
],
|
|
297
|
+
providers: [
|
|
298
|
+
DaffCheckboxSetComponent,
|
|
299
|
+
],
|
|
300
|
+
}]
|
|
301
|
+
}] });
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* @docs-private
|
|
305
|
+
*/
|
|
306
|
+
const DAFF_CHECKBOX_COMPONENTS = [
|
|
307
|
+
DaffCheckboxComponent,
|
|
308
|
+
DaffCheckboxSetComponent,
|
|
309
|
+
DaffCheckboxControlValueAccessorDirective,
|
|
310
|
+
];
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Generated bundle index. Do not edit.
|
|
314
|
+
*/
|
|
315
|
+
|
|
316
|
+
export { DAFF_CHECKBOX_COMPONENTS, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent };
|
|
317
|
+
//# sourceMappingURL=daffodil-design-checkbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daffodil-design-checkbox.mjs","sources":["../../../libs/design/checkbox/src/checkbox/checkbox.component.ts","../../../libs/design/checkbox/src/checkbox/checkbox.component.html","../../../libs/design/checkbox/src/checkbox-set/checkbox-set.component.ts","../../../libs/design/checkbox/src/checkbox-set/checkbox-set.component.html","../../../libs/design/checkbox/src/cva/checkbox-cva.directive.ts","../../../libs/design/checkbox/src/checkbox.module.ts","../../../libs/design/checkbox/src/checkbox.ts","../../../libs/design/checkbox/src/daffodil-design-checkbox.ts"],"sourcesContent":["import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n} from '@angular/core';\n\nlet checkboxIdNum = 0;\n\n@Component({\n selector: 'daff-checkbox',\n templateUrl: './checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxComponent {\n /**\n * @docs-private\n */\n @ViewChild('inputElement', { static: true, read: ElementRef }) nativeCheckbox: ElementRef<HTMLInputElement>;\n /**\n * The name of the checkbox.\n */\n @Input() name: string;\n /**\n * The value of the checkbox.\n */\n @Input() value: any;\n /**\n * Boolean value to determine whether or not the checkbox is checked.\n */\n private _checked = false;\n\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked === value) {\n return;\n }\n if (value === true) {\n this.nativeCheckbox.nativeElement.checked = true;\n this.becameChecked.emit(this._checked);\n } else {\n this.nativeCheckbox.nativeElement.checked = false;\n this.becameUnchecked.emit();\n }\n\n this._checked = value;\n }\n /**\n * The id of the checkbox. Must be unique. If not entered by a user then it is generated.\n */\n @Input() id: string = 'daff-checkbox-' + checkboxIdNum;\n\n /**\n * The aria-label of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label = '';\n\n /**\n * The aria-labeledby of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labeledBy: string;\n\n /**\n * Event on whether or not the selection has changed.\n */\n @Output() becameChecked: EventEmitter<boolean> = new EventEmitter();\n @Output() becameUnchecked: EventEmitter<void> = new EventEmitter();\n\n /**\n * Whether the checkbox is focused\n */\n focused: boolean;\n /**\n * Whether the checkbox is disabled.\n */\n disabled: boolean;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'checkbox';\n\n\n /**\n * @docs-private\n */\n _onChange(val: Event) {\n if ((<HTMLInputElement>val.target).checked) {\n this.select();\n } else {\n this.deselect();\n }\n };\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n /**\n * Sets focused to false.\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * Sets focused to true.\n */\n onFocus() {\n this.focused = true;\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {\n /**\n * Increments id number on new checkbox. Gurantees unique ID on generation.\n */\n checkboxIdNum++;\n }\n /**\n * Sets checked to true.\n */\n select() {\n this.checked = true;\n this._cdRef.markForCheck();\n }\n /**\n * Sets checked to false\n */\n deselect() {\n this.checked = false;\n this._cdRef.markForCheck();\n }\n}\n","<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { UntypedFormArray } from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'daff-checkbox-set',\n templateUrl: './checkbox-set.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxSetComponent {\n\n @Input() formArray: UntypedFormArray;\n /**\n * The name of the checkbox-set\n */\n @Input() name: string;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'group';\n\n /**\n * The list of checkboxes in the set.\n *\n * @docs-private\n */\n @ContentChildren(DaffCheckboxComponent) checkboxes: QueryList<DaffCheckboxComponent>;\n\n @Output() valueList = new EventEmitter<any[]>();\n\n getValues(): any[] {\n const checkboxes = this.checkboxes.toArray();\n return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);\n }\n}\n","<ng-content></ng-content>","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n} from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n/**\n * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',\n})\nexport class DaffCheckboxControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: (val: any) => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _checkbox: DaffCheckboxComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n\n /**\n * A lifecycle method called when the directive is initialized.\n */\n /**\n * @docs-private\n */\n ngOnInit(): void {\n // See the note about `writeValue` usage.\n this.writeValue(this._control.value);\n\n // Watch for user events on the component to update the state\n this._checkbox.becameChecked.subscribe(\n () => {\n this._onChange(true);\n },\n );\n this._checkbox.becameUnchecked.subscribe(\n () => {\n this._onChange(false);\n },\n );\n }\n\n /**\n * writes a new value down into the component.\n */\n writeValue(value: any): void {\n value = !!value;\n if (value === true) {\n this.fireSelect();\n } else {\n this.fireDeselect();\n }\n }\n\n /**\n * Registers the change handler\n */\n registerOnChange(fn: any): void {\n this._onChange = (val) => {\n fn(val);\n };\n }\n\n /**\n * Registers the touched handler\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._checkbox.disabled = isDisabled;\n }\n\n /**\n * calls the child checkbox's select function\n */\n fireSelect() {\n this._checkbox.select();\n }\n\n /**\n * calls the child checkbox's deselect function\n */\n fireDeselect() {\n this._checkbox.deselect();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCheckboxComponent } from './checkbox/checkbox.component';\nimport { DaffCheckboxSetComponent } from './checkbox-set/checkbox-set.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\n\n@NgModule({\n exports: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n imports: [\n CommonModule,\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n providers: [\n DaffCheckboxSetComponent,\n ],\n})\nexport class DaffCheckboxModule { }\n","import { DaffCheckboxComponent } from './checkbox/checkbox.component';\nimport { DaffCheckboxSetComponent } from './checkbox-set/checkbox-set.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_CHECKBOX_COMPONENTS = <const> [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.DaffCheckboxComponent"],"mappings":"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"}
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { HostBinding, Directive, isDevMode, Input, ContentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@daffodil/design';
|
|
4
4
|
import { DaffPrefixDirective, DaffSuffixDirective, DaffFormLabelDirective, DaffSkeletonableDirective, DaffFormLabelModule } from '@daffodil/design';
|
|
5
|
+
import { DaffFormFieldLabelDirective, DaffHintComponent, DaffErrorMessageComponent } from '@daffodil/design/form';
|
|
5
6
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
7
|
import { BehaviorSubject } from 'rxjs';
|
|
7
8
|
|
|
8
|
-
class DaffErrorMessageComponent {
|
|
9
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffErrorMessageComponent, isStandalone: true, selector: "daff-error-message", host: { attributes: { "aria-live": "polite" }, classAttribute: "daff-error-message" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;font-size:.875rem;line-height:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffErrorMessageComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'daff-error-message', template: '<ng-content></ng-content>', host: {
|
|
15
|
-
class: 'daff-error-message',
|
|
16
|
-
'aria-live': 'polite',
|
|
17
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;font-size:.875rem;line-height:1rem}\n"] }]
|
|
18
|
-
}] });
|
|
19
|
-
|
|
20
9
|
class DaffFormFieldActionDirective {
|
|
21
10
|
constructor() {
|
|
22
11
|
/**
|
|
@@ -38,23 +27,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
38
27
|
}] } });
|
|
39
28
|
|
|
40
29
|
/**
|
|
30
|
+
* An abstract class that form controls must implement to be used with the DaffFormFieldComponent.
|
|
41
31
|
*
|
|
42
|
-
*
|
|
43
|
-
* used
|
|
32
|
+
* > **Note**
|
|
33
|
+
* > This is an abstract class instead of an interface to support Angular's dependency injection. Interfaces are erased during TypeScript compilation and cannot be used as DI tokens.
|
|
44
34
|
*
|
|
45
|
-
*
|
|
46
|
-
* We do this so that the Angular DI container can match the class token. A typical
|
|
47
|
-
* interface would be "more accurate" here, but since interfaces don't exist
|
|
48
|
-
* in javascript, they get thrown out by the typescript compiler and cannot
|
|
49
|
-
* be used for the necessary dependency injection.
|
|
35
|
+
* > By using an abstract class, the Angular DI container can match the class token for injection.
|
|
50
36
|
*/
|
|
51
37
|
class DaffFormFieldControl {
|
|
38
|
+
/**
|
|
39
|
+
* Whether the label should be in the raised position.
|
|
40
|
+
* By default, matches the focused state.
|
|
41
|
+
*/
|
|
52
42
|
get raised() {
|
|
53
43
|
return this.focused;
|
|
54
44
|
}
|
|
55
45
|
;
|
|
56
46
|
constructor(ngControl) {
|
|
57
47
|
this.ngControl = ngControl;
|
|
48
|
+
/**
|
|
49
|
+
* Whether the control supports automatic label behavior.
|
|
50
|
+
* When `true`, the form field will associate the label with the control using `for` and `id` attributes.
|
|
51
|
+
*
|
|
52
|
+
* Defaults to `true`.
|
|
53
|
+
*/
|
|
58
54
|
this.supportsAutoLabelling = true;
|
|
59
55
|
this._stateChanges = new BehaviorSubject({
|
|
60
56
|
focused: false,
|
|
@@ -64,6 +60,10 @@ class DaffFormFieldControl {
|
|
|
64
60
|
valid: true,
|
|
65
61
|
});
|
|
66
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Computes the current state of the form field control.
|
|
65
|
+
* Combines control properties and form validation state.
|
|
66
|
+
*/
|
|
67
67
|
get state() {
|
|
68
68
|
return {
|
|
69
69
|
focused: this.focused,
|
|
@@ -73,6 +73,9 @@ class DaffFormFieldControl {
|
|
|
73
73
|
valid: !this.ngControl?.errors && this.ngControl?.dirty,
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Emits the current state.
|
|
78
|
+
*/
|
|
76
79
|
emitState(deferred = false) {
|
|
77
80
|
if (deferred) {
|
|
78
81
|
Promise.resolve().then(() => {
|
|
@@ -85,45 +88,6 @@ class DaffFormFieldControl {
|
|
|
85
88
|
}
|
|
86
89
|
;
|
|
87
90
|
|
|
88
|
-
class DaffHintComponent {
|
|
89
|
-
constructor() {
|
|
90
|
-
/**
|
|
91
|
-
* @docs-private
|
|
92
|
-
*/
|
|
93
|
-
this.class = true;
|
|
94
|
-
/**
|
|
95
|
-
* Displays a validated hint UI.
|
|
96
|
-
* */
|
|
97
|
-
this.validated = false;
|
|
98
|
-
}
|
|
99
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffHintComponent, isStandalone: true, selector: "daff-hint", inputs: { validated: "validated" }, host: { properties: { "class.daff-hint": "this.class", "class.validated": "this.validated" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:flex;gap:.25rem;font-size:.875rem;line-height:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
101
|
-
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffHintComponent, decorators: [{
|
|
103
|
-
type: Component,
|
|
104
|
-
args: [{ selector: 'daff-hint', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:flex;gap:.25rem;font-size:.875rem;line-height:1rem}\n"] }]
|
|
105
|
-
}], propDecorators: { class: [{
|
|
106
|
-
type: HostBinding,
|
|
107
|
-
args: ['class.daff-hint']
|
|
108
|
-
}], validated: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}, {
|
|
111
|
-
type: HostBinding,
|
|
112
|
-
args: ['class.validated']
|
|
113
|
-
}] } });
|
|
114
|
-
|
|
115
|
-
class DaffFormFieldLabelDirective {
|
|
116
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffFormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
117
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.1", type: DaffFormFieldLabelDirective, isStandalone: true, selector: "daff-form-label", ngImport: i0 }); }
|
|
118
|
-
}
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffFormFieldLabelDirective, decorators: [{
|
|
120
|
-
type: Directive,
|
|
121
|
-
args: [{
|
|
122
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
123
|
-
selector: 'daff-form-label',
|
|
124
|
-
}]
|
|
125
|
-
}] });
|
|
126
|
-
|
|
127
91
|
let daffFormFieldId = 0;
|
|
128
92
|
var DaffFormFieldApperanaceEnum;
|
|
129
93
|
(function (DaffFormFieldApperanaceEnum) {
|
|
@@ -199,7 +163,7 @@ class DaffFormFieldComponent {
|
|
|
199
163
|
return this._control?.raised || this.isFilled;
|
|
200
164
|
}
|
|
201
165
|
/**
|
|
202
|
-
* The appearance style of a form field, whether the label is fluid or fixed
|
|
166
|
+
* The appearance style of a form field, whether the label is `fluid` or `fixed`.
|
|
203
167
|
*/
|
|
204
168
|
get appearance() {
|
|
205
169
|
return this._appearance;
|
|
@@ -360,11 +324,15 @@ class DaffFormFieldModule {
|
|
|
360
324
|
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: DaffFormFieldModule, imports: [DaffFormFieldComponent,
|
|
361
325
|
DaffErrorMessageComponent,
|
|
362
326
|
DaffHintComponent,
|
|
327
|
+
DaffFormFieldLabelDirective,
|
|
363
328
|
DaffFormLabelModule], exports: [DaffFormFieldComponent,
|
|
364
329
|
DaffErrorMessageComponent,
|
|
365
330
|
DaffHintComponent,
|
|
331
|
+
DaffFormFieldLabelDirective,
|
|
366
332
|
DaffFormLabelModule] }); }
|
|
367
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffFormFieldModule, imports: [
|
|
333
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffFormFieldModule, imports: [DaffErrorMessageComponent,
|
|
334
|
+
DaffHintComponent,
|
|
335
|
+
DaffFormLabelModule, DaffFormLabelModule] }); }
|
|
368
336
|
}
|
|
369
337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffFormFieldModule, decorators: [{
|
|
370
338
|
type: NgModule,
|
|
@@ -373,12 +341,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
373
341
|
DaffFormFieldComponent,
|
|
374
342
|
DaffErrorMessageComponent,
|
|
375
343
|
DaffHintComponent,
|
|
344
|
+
DaffFormFieldLabelDirective,
|
|
376
345
|
DaffFormLabelModule,
|
|
377
346
|
],
|
|
378
347
|
exports: [
|
|
379
348
|
DaffFormFieldComponent,
|
|
380
349
|
DaffErrorMessageComponent,
|
|
381
350
|
DaffHintComponent,
|
|
351
|
+
DaffFormFieldLabelDirective,
|
|
382
352
|
DaffFormLabelModule,
|
|
383
353
|
],
|
|
384
354
|
}]
|
|
@@ -389,18 +359,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
389
359
|
*/
|
|
390
360
|
const DAFF_FORM_FIELD_COMPONENTS = [
|
|
391
361
|
DaffFormFieldComponent,
|
|
392
|
-
DaffErrorMessageComponent,
|
|
393
362
|
DaffFormLabelDirective,
|
|
394
|
-
DaffHintComponent,
|
|
395
363
|
DaffPrefixDirective,
|
|
396
364
|
DaffSuffixDirective,
|
|
397
|
-
DaffFormFieldLabelDirective,
|
|
398
365
|
DaffFormFieldActionDirective,
|
|
366
|
+
DaffHintComponent,
|
|
367
|
+
DaffFormFieldLabelDirective,
|
|
368
|
+
DaffErrorMessageComponent,
|
|
399
369
|
];
|
|
400
370
|
|
|
401
371
|
/**
|
|
402
372
|
* Generated bundle index. Do not edit.
|
|
403
373
|
*/
|
|
404
374
|
|
|
405
|
-
export { DAFF_FORM_FIELD_COMPONENTS,
|
|
375
|
+
export { DAFF_FORM_FIELD_COMPONENTS, DaffFormFieldActionDirective, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule };
|
|
406
376
|
//# sourceMappingURL=daffodil-design-form-field.mjs.map
|