@daffodil/design 0.84.0 → 0.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/accordion/src/accordion-theme.scss +11 -13
  2. package/article/src/article-theme.scss +36 -38
  3. package/atoms/form/error-message/error-message.component.d.ts +6 -0
  4. package/atoms/form/form-field/form-field/form-field.component.d.ts +104 -13
  5. package/atoms/form/form-field/form-field-control.d.ts +3 -0
  6. package/atoms/form/form-field/form-field.d.ts +2 -1
  7. package/atoms/form/form-field/label/label.directive.d.ts +5 -0
  8. package/atoms/form/form-field/public_api.d.ts +1 -0
  9. package/atoms/form/form-label/form-label.directive.d.ts +3 -0
  10. package/atoms/form/hint/hint.component.d.ts +5 -1
  11. package/breadcrumb/src/breadcrumb-theme.scss +9 -11
  12. package/button/README.md +3 -3
  13. package/button/button/button-base.directive.d.ts +1 -2
  14. package/button/button/raised/raised.component.d.ts +1 -1
  15. package/button/src/button/basic/button-theme.scss +80 -82
  16. package/button/src/button/button-base.scss +0 -18
  17. package/button/src/button/flat/flat-theme.scss +28 -30
  18. package/button/src/button/icon/icon-theme.scss +74 -76
  19. package/button/src/button/raised/raised-theme.scss +28 -30
  20. package/button/src/button/stroked/stroked-theme.scss +31 -33
  21. package/button/src/button/underline/underline-theme.scss +30 -32
  22. package/callout/src/callout-theme.scss +21 -23
  23. package/card/src/card/raised/raised-theme.scss +9 -11
  24. package/card/src/card/stroked/stroked-theme.scss +32 -34
  25. package/card/src/card-base-theme.scss +42 -44
  26. package/core/colorable/colorable.d.ts +2 -2
  27. package/core/compactable/compactable.directive.d.ts +3 -0
  28. package/core/openable/openable.directive.d.ts +1 -1
  29. package/core/selectable/selectable.directive.d.ts +3 -1
  30. package/core/sizable/sizable.directive.d.ts +2 -2
  31. package/core/skeletonable/public_api.d.ts +0 -1
  32. package/core/skeletonable/skeletonable.directive.d.ts +3 -0
  33. package/core/text-alignable/text-alignable.directive.d.ts +9 -5
  34. package/fesm2022/daffodil-design-accordion-examples.mjs +10 -10
  35. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  36. package/fesm2022/daffodil-design-accordion.mjs +15 -15
  37. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  38. package/fesm2022/daffodil-design-article-examples.mjs +31 -31
  39. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  40. package/fesm2022/daffodil-design-article.mjs +12 -12
  41. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  42. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +7 -7
  43. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +1 -1
  44. package/fesm2022/daffodil-design-breadcrumb.mjs +12 -12
  45. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  46. package/fesm2022/daffodil-design-button-examples.mjs +34 -34
  47. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  48. package/fesm2022/daffodil-design-button.mjs +37 -61
  49. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  50. package/fesm2022/daffodil-design-callout-examples.mjs +13 -13
  51. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  52. package/fesm2022/daffodil-design-callout.mjs +23 -23
  53. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  54. package/fesm2022/daffodil-design-card-examples.mjs +19 -19
  55. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  56. package/fesm2022/daffodil-design-card.mjs +35 -35
  57. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  58. package/fesm2022/daffodil-design-checkbox-examples.mjs +7 -7
  59. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  60. package/fesm2022/daffodil-design-container-examples.mjs +4 -4
  61. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  62. package/fesm2022/daffodil-design-container.mjs +8 -8
  63. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  64. package/fesm2022/daffodil-design-hero-examples.mjs +13 -13
  65. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  66. package/fesm2022/daffodil-design-hero.mjs +23 -23
  67. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  68. package/fesm2022/daffodil-design-image-examples.mjs +10 -10
  69. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  70. package/fesm2022/daffodil-design-image.mjs +9 -9
  71. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  72. package/fesm2022/daffodil-design-input-examples.mjs +42 -21
  73. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  74. package/fesm2022/daffodil-design-input.mjs +139 -0
  75. package/fesm2022/daffodil-design-input.mjs.map +1 -0
  76. package/fesm2022/daffodil-design-link-set.mjs +17 -17
  77. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  78. package/fesm2022/daffodil-design-list-examples.mjs +13 -13
  79. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  80. package/fesm2022/daffodil-design-list.mjs +12 -12
  81. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  82. package/fesm2022/daffodil-design-loading-icon-examples.mjs +4 -4
  83. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  84. package/fesm2022/daffodil-design-loading-icon.mjs +8 -8
  85. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  86. package/fesm2022/daffodil-design-media-gallery-examples.mjs +16 -16
  87. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  88. package/fesm2022/daffodil-design-media-gallery.mjs +14 -21
  89. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  90. package/fesm2022/daffodil-design-menu-examples.mjs +7 -7
  91. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  92. package/fesm2022/daffodil-design-menu.mjs +17 -17
  93. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  94. package/fesm2022/daffodil-design-modal-examples.mjs +7 -7
  95. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  96. package/fesm2022/daffodil-design-modal.mjs +28 -28
  97. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  98. package/fesm2022/daffodil-design-navbar-examples.mjs +13 -13
  99. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  100. package/fesm2022/daffodil-design-navbar.mjs +8 -8
  101. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  102. package/fesm2022/daffodil-design-notification-examples.mjs +16 -16
  103. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  104. package/fesm2022/daffodil-design-notification.mjs +20 -20
  105. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  106. package/fesm2022/daffodil-design-paginator-examples.mjs +7 -7
  107. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  108. package/fesm2022/daffodil-design-paginator.mjs +8 -8
  109. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  110. package/fesm2022/daffodil-design-progress-bar-examples.mjs +10 -10
  111. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  112. package/fesm2022/daffodil-design-progress-bar.mjs +12 -12
  113. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  114. package/fesm2022/daffodil-design-quantity-field-examples.mjs +19 -18
  115. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  116. package/fesm2022/daffodil-design-quantity-field.mjs +355 -0
  117. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -0
  118. package/fesm2022/daffodil-design-radio-examples.mjs +4 -4
  119. package/fesm2022/daffodil-design-radio-examples.mjs.map +1 -1
  120. package/fesm2022/daffodil-design-sidebar-examples.mjs +13 -13
  121. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  122. package/fesm2022/daffodil-design-sidebar.mjs +27 -27
  123. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  124. package/fesm2022/daffodil-design-switch-examples.mjs +16 -16
  125. package/fesm2022/daffodil-design-switch-examples.mjs.map +1 -1
  126. package/fesm2022/daffodil-design-switch.mjs +4 -4
  127. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  128. package/fesm2022/daffodil-design-tabs-examples.mjs +16 -16
  129. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -1
  130. package/fesm2022/daffodil-design-tabs.mjs +16 -16
  131. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  132. package/fesm2022/daffodil-design-text-snippet-examples.mjs +4 -4
  133. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -1
  134. package/fesm2022/daffodil-design-text-snippet.mjs +4 -4
  135. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
  136. package/fesm2022/daffodil-design-toast-examples.mjs +13 -72
  137. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  138. package/fesm2022/daffodil-design-toast.mjs +73 -61
  139. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  140. package/fesm2022/daffodil-design-tree-examples.mjs +7 -7
  141. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  142. package/fesm2022/daffodil-design-tree.mjs +11 -11
  143. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  144. package/fesm2022/daffodil-design-youtube-player.mjs +7 -7
  145. package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
  146. package/fesm2022/daffodil-design.mjs +477 -711
  147. package/fesm2022/daffodil-design.mjs.map +1 -1
  148. package/hero/src/hero-theme.scss +21 -23
  149. package/input/README.md +66 -0
  150. package/input/examples/input-hint-and-error/input-hint-and-error.component.d.ts +9 -0
  151. package/input/index.d.ts +1 -0
  152. package/{atoms/form/input → input}/input.component.d.ts +21 -5
  153. package/list/src/list-theme.scss +9 -11
  154. package/loading-icon/src/loading-icon-theme.scss +20 -22
  155. package/media-gallery/media-gallery/media-gallery.component.d.ts +0 -4
  156. package/media-gallery/src/media-gallery-theme.scss +10 -12
  157. package/menu/helpers/create-overlay.d.ts +1 -1
  158. package/menu/src/menu-theme.scss +10 -11
  159. package/modal/src/modal-theme.scss +2 -2
  160. package/navbar/src/navbar-theme.scss +18 -20
  161. package/notification/src/notification-theme.scss +44 -46
  162. package/package.json +1 -1
  163. package/paginator/src/paginator-theme.scss +9 -11
  164. package/progress-bar/src/progress-bar-theme.scss +18 -20
  165. package/public_api.d.ts +0 -2
  166. package/quantity-field/README.md +63 -0
  167. package/quantity-field/index.d.ts +1 -0
  168. package/quantity-field/public_api.d.ts +2 -0
  169. package/{atoms/form/quantity-field → quantity-field}/quantity-field.component.d.ts +3 -3
  170. package/quantity-field/quantity-field.module.d.ts +11 -0
  171. package/{atoms/form/quantity-field → quantity-field}/quantity-input/quantity-input.component.d.ts +2 -2
  172. package/{atoms/form/quantity-field → quantity-field}/quantity-select/quantity-select.component.d.ts +2 -2
  173. package/scss/state/skeleton/_mixins.scss +12 -10
  174. package/scss/theme.scss +0 -2
  175. package/scss/theming/_configure-theme.scss +16 -16
  176. package/scss/theming/_get-base-color.scss +19 -0
  177. package/scss/theming/_get-palette.scss +27 -0
  178. package/scss/theming/_get-theme-mode.scss +9 -0
  179. package/scss/theming/_index.scss +3 -0
  180. package/scss/theming/_light-dark.scss +4 -4
  181. package/scss/theming/_theme-css-variables.scss +20 -20
  182. package/scss/theming/contrast/luminance/luminance.scss +3 -3
  183. package/sidebar/src/sidebar-theme.scss +4 -5
  184. package/src/atoms/form/error-message/error-message-theme.scss +3 -4
  185. package/src/atoms/form/form-field/form-field/form-field-theme.scss +47 -31
  186. package/src/atoms/form/hint/hint-theme.scss +13 -8
  187. package/src/atoms/form/native-select/native-select-theme.scss +5 -7
  188. package/switch/src/switch-theme.scss +13 -15
  189. package/tabs/src/tabs-theme.scss +13 -15
  190. package/toast/README.md +21 -1
  191. package/toast/examples/public_api.d.ts +1 -2
  192. package/toast/helpers/toast-position.d.ts +8 -0
  193. package/toast/interfaces/toast-options.d.ts +19 -0
  194. package/toast/interfaces/toast.d.ts +1 -1
  195. package/toast/public_api.d.ts +2 -2
  196. package/toast/service/position-strategy.d.ts +1 -1
  197. package/toast/service/position.service.d.ts +1 -1
  198. package/toast/service/toast.service.d.ts +1 -1
  199. package/toast/src/toast-theme.scss +36 -38
  200. package/toast/toast/toast-provider.d.ts +16 -4
  201. package/toast/toast/toast-template.component.d.ts +1 -1
  202. package/tree/src/tree-theme.scss +20 -22
  203. package/atoms/form/quantity-field/public_api.d.ts +0 -4
  204. package/atoms/form/quantity-field/quantity-field.module.d.ts +0 -13
  205. package/core/skeletonable/skeletonable.d.ts +0 -6
  206. package/src/atoms/form/input/input-theme.scss +0 -12
  207. package/toast/examples/toast-positions/toast-positions.component.d.ts +0 -20
  208. package/toast/options/daff-toast-options.d.ts +0 -14
  209. /package/{atoms/form/input → input}/input.module.d.ts +0 -0
  210. /package/{atoms/form/input → input}/public_api.d.ts +0 -0
@@ -1,13 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, HostBinding, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChild, NgModule, Optional, Self, HostListener, Input, EventEmitter, ElementRef, ViewChild, Output, ContentChildren, Injectable, InjectionToken, inject, PLATFORM_ID, Inject, makeEnvironmentProviders, provideAppInitializer, isDevMode } from '@angular/core';
3
- import { BehaviorSubject, merge, of, map, Subject, fromEventPattern, fromEvent, EMPTY, combineLatest } from 'rxjs';
2
+ import { HostBinding, Directive, Input, ChangeDetectionStrategy, Component, isDevMode, ContentChild, ViewEncapsulation, NgModule, HostListener, Optional, Self, EventEmitter, ElementRef, Output, ViewChild, ContentChildren, Injectable, InjectionToken, inject, PLATFORM_ID, Inject, makeEnvironmentProviders, provideAppInitializer } from '@angular/core';
3
+ import { BehaviorSubject, of, fromEventPattern, Subject, merge, fromEvent, EMPTY, combineLatest } from 'rxjs';
4
4
  import * as i1 from '@angular/forms';
5
- import { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
6
- import * as i2 from '@angular/common';
7
5
  import { CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
8
- import { coerceNumberProperty } from '@angular/cdk/coercion';
9
- import { takeUntil, startWith, map as map$1, catchError, filter, shareReplay } from 'rxjs/operators';
10
6
  import { BreakpointObserver } from '@angular/cdk/layout';
7
+ import { startWith, map, catchError, filter, shareReplay } from 'rxjs/operators';
11
8
  import { DaffServerSafePersistenceServiceToken } from '@daffodil/core';
12
9
 
13
10
  class DaffErrorStateMatcher {
@@ -28,10 +25,10 @@ class DaffPrefixDirective {
28
25
  */
29
26
  this.class = true;
30
27
  }
31
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffPrefixDirective, isStandalone: true, selector: "[daffPrefix]", host: { properties: { "class.daff-prefix": "this.class" } }, ngImport: i0 }); }
28
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffPrefixDirective, isStandalone: true, selector: "[daffPrefix]", host: { properties: { "class.daff-prefix": "this.class" } }, ngImport: i0 }); }
33
30
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixDirective, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixDirective, decorators: [{
35
32
  type: Directive,
36
33
  args: [{
37
34
  selector: '[daffPrefix]',
@@ -53,10 +50,10 @@ class DaffSuffixDirective {
53
50
  */
54
51
  this.class = true;
55
52
  }
56
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffSuffixDirective, isStandalone: true, selector: "[daffSuffix]", host: { properties: { "class.daff-suffix": "this.class" } }, ngImport: i0 }); }
53
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
54
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffSuffixDirective, isStandalone: true, selector: "[daffSuffix]", host: { properties: { "class.daff-suffix": "this.class" } }, ngImport: i0 }); }
58
55
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSuffixDirective, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSuffixDirective, decorators: [{
60
57
  type: Directive,
61
58
  args: [{
62
59
  selector: '[daffSuffix]',
@@ -66,6 +63,147 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
66
63
  args: ['class.daff-suffix']
67
64
  }] } });
68
65
 
66
+ /**
67
+ * `DaffSkeletonableDirective` allows a component to display a skeleton loading
68
+ * state by conditionally applying a CSS class. This is useful for indicating to
69
+ * users that content is loading or being processed. This directive can be used to
70
+ * apply a skeleton loading state to any component by toggling the `skeleton`
71
+ * input property. When `skeleton` is `true`, the `daff-skeleton` CSS class
72
+ * is applied, which should style the component to look like a loading placeholder.
73
+ *
74
+ * @example Implementing it as an attribute directive
75
+ *
76
+ * ```html
77
+ * <div daffSkeletonable [skeleton]="isLoading">Content</div>
78
+ * ```
79
+ *
80
+ * @example Implementing it as an Angular host directive
81
+ *
82
+ * ```ts
83
+ * @Component({
84
+ * standalone: true,
85
+ * selector: 'custom-component',
86
+ * template: 'custom-component.html',
87
+ * hostDirectives: [
88
+ * {
89
+ * directive: DaffSkeletonableDirective,
90
+ * inputs: ['skeleton'],
91
+ * },
92
+ * ],
93
+ * })
94
+ * export class CustomComponent { }
95
+ * ```
96
+ *
97
+ * ```scss
98
+ * :host {
99
+ * .daff-skeleton {
100
+ * @include state.skeleton-screen(48px, 24px);
101
+ * }
102
+ * }
103
+ * ```
104
+ *
105
+ * The directive applies the `daff-skeleton` class to the component should be defined in your styles to display the loading
106
+ * state as desired. It can be used in conjuction with the `skeleton-screen` mixin, which provides predefined loading styles.
107
+ */
108
+ class DaffSkeletonableDirective {
109
+ constructor() {
110
+ /**
111
+ * Controls whether the component displays a skeleton loading state.
112
+ */
113
+ this.skeleton = false;
114
+ }
115
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSkeletonableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
116
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffSkeletonableDirective, isStandalone: true, selector: "[daffSkeletonable]", inputs: { skeleton: "skeleton" }, host: { properties: { "class.daff-skeleton": "this.skeleton" } }, ngImport: i0 }); }
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSkeletonableDirective, decorators: [{
119
+ type: Directive,
120
+ args: [{
121
+ selector: '[daffSkeletonable]',
122
+ }]
123
+ }], propDecorators: { skeleton: [{
124
+ type: Input
125
+ }, {
126
+ type: HostBinding,
127
+ args: ['class.daff-skeleton']
128
+ }] } });
129
+
130
+ class DaffErrorMessageComponent {
131
+ constructor() {
132
+ /**
133
+ * @docs-private
134
+ */
135
+ this.class = true;
136
+ /**
137
+ * @docs-private
138
+ *
139
+ * Sets the aria-live of an error message to polite.
140
+ */
141
+ this.ariaLive = 'polite';
142
+ }
143
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
144
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffErrorMessageComponent, isStandalone: true, selector: "daff-error-message", host: { properties: { "class.daff-error-message": "this.class", "attr.aria-live": "this.ariaLive" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;font-size:.875rem;line-height:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
+ }
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageComponent, decorators: [{
147
+ type: Component,
148
+ args: [{ selector: 'daff-error-message', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;font-size:.875rem;line-height:1rem}\n"] }]
149
+ }], propDecorators: { class: [{
150
+ type: HostBinding,
151
+ args: ['class.daff-error-message']
152
+ }], ariaLive: [{
153
+ type: HostBinding,
154
+ args: ['attr.aria-live']
155
+ }] } });
156
+
157
+ /**
158
+ * @deprecated in favor of the {@link DaffFormFieldLabelDirective}. It will be removed in v1.0.0. Deprecated in version 0.86.0. Will be removed in version 0.89.0.
159
+ */
160
+ class DaffFormLabelDirective {
161
+ constructor() {
162
+ /**
163
+ * @docs-private
164
+ */
165
+ this.class = true;
166
+ }
167
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
168
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffFormLabelDirective, isStandalone: true, selector: "[daffFormLabel]", host: { properties: { "class.daff-form-label": "this.class" } }, ngImport: i0 }); }
169
+ }
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelDirective, decorators: [{
171
+ type: Directive,
172
+ args: [{
173
+ selector: '[daffFormLabel]',
174
+ }]
175
+ }], propDecorators: { class: [{
176
+ type: HostBinding,
177
+ args: ['class.daff-form-label']
178
+ }] } });
179
+
180
+ class DaffHintComponent {
181
+ constructor() {
182
+ /**
183
+ * @docs-private
184
+ */
185
+ this.class = true;
186
+ /**
187
+ * Displays a validated hint UI.
188
+ * */
189
+ this.validated = false;
190
+ }
191
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
192
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", 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 }); }
193
+ }
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffHintComponent, decorators: [{
195
+ type: Component,
196
+ 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"] }]
197
+ }], propDecorators: { class: [{
198
+ type: HostBinding,
199
+ args: ['class.daff-hint']
200
+ }], validated: [{
201
+ type: Input
202
+ }, {
203
+ type: HostBinding,
204
+ args: ['class.validated']
205
+ }] } });
206
+
69
207
  /**
70
208
  *
71
209
  * The class that a form control must **implement** in order to be
@@ -78,8 +216,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
78
216
  * be used for the necessary dependency injection.
79
217
  */
80
218
  class DaffFormFieldControl {
219
+ get raised() {
220
+ return this.focused;
221
+ }
222
+ ;
81
223
  constructor(ngControl) {
82
224
  this.ngControl = ngControl;
225
+ this.supportsAutoLabelling = true;
83
226
  this._stateChanges = new BehaviorSubject({
84
227
  focused: false,
85
228
  filled: false,
@@ -105,6 +248,19 @@ class DaffFormFieldControl {
105
248
 
106
249
  const DaffFormFieldMissingControlMessage = 'A DaffFormFieldComponent must contain a DaffFormFieldControl';
107
250
 
251
+ class DaffFormFieldLabelDirective {
252
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
253
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffFormFieldLabelDirective, isStandalone: true, selector: "daff-form-label", ngImport: i0 }); }
254
+ }
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldLabelDirective, decorators: [{
256
+ type: Directive,
257
+ args: [{
258
+ // eslint-disable-next-line @angular-eslint/directive-selector
259
+ selector: 'daff-form-label',
260
+ }]
261
+ }] });
262
+
263
+ let daffFormFieldId = 0;
108
264
  class DaffFormFieldComponent {
109
265
  /** @docs-private */
110
266
  get isSelectField() {
@@ -115,30 +271,128 @@ class DaffFormFieldComponent {
115
271
  /** @docs-private */
116
272
  this.class = true;
117
273
  /**
274
+ * @docs-private
275
+ *
118
276
  * Tracking property to keep a record of whether or not the
119
277
  * form field should be marked as error.
120
278
  */
121
279
  this.isError = false;
122
280
  /**
281
+ * @docs-private
282
+ *
123
283
  * Tracking property to keep a record of whether or not the
124
284
  * form field contains any user input.
125
285
  */
126
286
  this.isFilled = false;
287
+ /**
288
+ * @docs-private
289
+ *
290
+ * Tracking property to keep a record of whether or not the
291
+ * form field should be marked as disabled.
292
+ */
127
293
  this.isDisabled = false;
128
294
  /**
295
+ * @docs-private
296
+ *
129
297
  * Tracking property to keep a record of whether or not the
130
298
  * form field should be marked as valid.
131
299
  */
132
300
  this.isValid = false;
301
+ /**
302
+ * The unique id of the form field. Defaults to an autogenerated value. When using this,
303
+ * it's your responsibility to ensure that the id for each form field is unique.
304
+ *
305
+ * It gets assigned to the `for` attribute on the `<label>` inside of the form field.
306
+ */
307
+ this.id = 'daff-form-field-' + ++daffFormFieldId;
308
+ /**
309
+ * @docs-private
310
+ */
311
+ this.hintId = this.id + '-hint';
312
+ /**
313
+ * @docs-private
314
+ */
315
+ this.errorMessageId = this.id + '-error';
316
+ }
317
+ /**
318
+ * @docs-private
319
+ */
320
+ get errorClass() {
321
+ return this.isError;
322
+ }
323
+ /**
324
+ * @docs-private
325
+ */
326
+ get disabledClass() {
327
+ return this.isDisabled;
328
+ }
329
+ /**
330
+ * @docs-private
331
+ */
332
+ get validClass() {
333
+ return this.isValid;
133
334
  }
134
335
  /**
336
+ * @docs-private
337
+ *
135
338
  * Determines whether or not the form field should display its focused state.
136
339
  */
137
340
  get isFocused() {
138
341
  return this._control?.focused;
139
342
  }
140
343
  /**
141
- * Validate whether or not the FormField is in a "usable" state.
344
+ * @docs-private
345
+ */
346
+ get focusedClass() {
347
+ return this.isFocused;
348
+ }
349
+ /**
350
+ * @docs-private
351
+ */
352
+ get raisedClass() {
353
+ return this._control?.raised || this.isFilled;
354
+ }
355
+ /**
356
+ * @docs-private
357
+ */
358
+ hasHint() {
359
+ return this._hint ? true : false;
360
+ }
361
+ /**
362
+ * @docs-private
363
+ */
364
+ hasErrorMessage() {
365
+ return this._error ? true : false;
366
+ }
367
+ /**
368
+ * @docs-private
369
+ */
370
+ get autoLabelId() {
371
+ return this._control.supportsAutoLabelling ? this.id : null;
372
+ }
373
+ /**
374
+ * @docs-private
375
+ */
376
+ get customId() {
377
+ return this._control.supportsAutoLabelling ? null : this.id;
378
+ }
379
+ /**
380
+ * @docs-private
381
+ *
382
+ * Displays a console warning if the `DaffFormFieldLabelDirective` is not used on controls (native HTML control elements) that support auto-labelling.
383
+ */
384
+ ngAfterViewInit() {
385
+ if (isDevMode()) {
386
+ if (!this._formFieldLabelDirective && this._control.supportsAutoLabelling && !(this._control.id)) {
387
+ console.warn(`Accessibility Warning: The form field with id "${this.id}" uses a control that supports auto-labelling, but no <daff-form-label> component was found.\n\n` +
388
+ `1. Add a <daff-form-label> component (recommended)\n` +
389
+ `2. OR manually set an 'id' on your input and matching 'for' attribute on your <label>.\n\n` +
390
+ `Why this matters: Proper labelling ensures assistive technologies can identify form fields correctly.`);
391
+ }
392
+ }
393
+ }
394
+ /**
395
+ * Validates whether or not the form field is in a "usable" state.
142
396
  */
143
397
  _validateFormControl() {
144
398
  if (!this._control) {
@@ -146,11 +400,11 @@ class DaffFormFieldComponent {
146
400
  }
147
401
  }
148
402
  /**
149
- * Life cycle hook to verify that the form field has an acceptable
403
+ * @docs-private
404
+ *
405
+ * Lifecycle hook to verify that the form field has an acceptable
150
406
  * child control instance. Mostly useful for development-time
151
407
  * validation of usage.
152
- *
153
- * @docs-private
154
408
  */
155
409
  ngAfterContentInit() {
156
410
  this._validateFormControl();
@@ -163,21 +417,26 @@ class DaffFormFieldComponent {
163
417
  });
164
418
  }
165
419
  /**
166
- * Life cycle hook to verify that the form field has an acceptable
420
+ * @docs-private
421
+ *
422
+ * Lifecycle hook to verify that the form field has an acceptable
167
423
  * child control instance. Mostly useful for development-time
168
424
  * validation of usage.
169
- *
170
- * @docs-private
171
425
  */
172
426
  ngAfterContentChecked() {
173
427
  this._validateFormControl();
174
428
  }
175
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
176
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: DaffFormFieldComponent, isStandalone: true, selector: "daff-form-field", host: { properties: { "class.daff-form-field": "this.class" } }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }, { propertyName: "_control", first: true, predicate: DaffFormFieldControl, descendants: true }], ngImport: i0, template: "<div\n\tclass=\"daff-form-field__control\"\n\t[class.daff-focused]=\"isFocused\"\n\t[class.daff-error]=\"isError\"\n\t[class.daff-valid]=\"isValid\"\n\t[class.daff-filled]=\"isFilled\"\n\t[class.daff-disabled]=\"isDisabled\">\n\t@if (_prefix) {\n\t\t<ng-content select=\"[daffPrefix]\"></ng-content>\n\t}\n\t<div class=\"daff-form-field__form-wrapper\">\n\t\t<ng-content select=\"label[daffFormLabel]\"></ng-content>\n\t\t<ng-content></ng-content>\n\t\t@if (isSelectField) {\n\t\t\t<div class=\"daff-form-field__icon\"></div>\n\t\t}\n\t</div>\n @if (_suffix) {\n\t\t<ng-content select=\"[daffSuffix]\"></ng-content>\n\t}\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n<ng-content select=\"daff-hint\"></ng-content>", styles: [".daff-form-field{display:block;position:relative}.daff-form-field__control{display:flex;align-items:center;border-radius:.25rem;box-sizing:border-box;font-size:1rem;height:3.5rem;line-height:1rem;position:relative;width:100%}.daff-form-field__control * ::-webkit-input-placeholder{opacity:0}.daff-form-field__control .daff-form-label{position:absolute;left:1rem;top:1.25rem;pointer-events:none;transition:all .2s ease}.daff-form-field__control.daff-focused .daff-form-label,.daff-form-field__control.daff-filled .daff-form-label{font-size:.75rem;top:.375rem}.daff-form-field__control.daff-focused * ::-webkit-input-placeholder,.daff-form-field__control.daff-filled * ::-webkit-input-placeholder{opacity:1}.daff-form-field__control.daff-disabled{cursor:not-allowed;opacity:.5}.daff-form-field__icon{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-form-field__form-wrapper{flex-grow:1;padding:1.5rem 1rem .5rem;position:relative}.daff-form-field .daff-hint,.daff-form-field .daff-error-message{margin-top:.25rem}.daff-form-field .daff-prefix{padding-left:1rem}.daff-form-field .daff-suffix{padding-right:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
429
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
430
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: DaffFormFieldComponent, isStandalone: true, selector: "daff-form-field", inputs: { id: "id" }, host: { properties: { "class.daff-form-field": "this.class", "class.daff-error": "this.errorClass", "class.daff-disabled": "this.disabledClass", "class.daff-valid": "this.validClass", "class.daff-focused": "this.focusedClass", "class.daff-raised": "this.raisedClass" } }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }, { propertyName: "_control", first: true, predicate: DaffFormFieldControl, descendants: true }, { propertyName: "_formLabelDirective", first: true, predicate: DaffFormLabelDirective, descendants: true }, { propertyName: "_formFieldLabelDirective", first: true, predicate: DaffFormFieldLabelDirective, descendants: true }, { propertyName: "_hint", first: true, predicate: DaffHintComponent, descendants: true }, { propertyName: "_error", first: true, predicate: DaffErrorMessageComponent, descendants: true }], hostDirectives: [{ directive: DaffSkeletonableDirective, inputs: ["skeleton", "skeleton"] }], ngImport: i0, template: "<div class=\"daff-form-field__control\">\n\t@if (_prefix) {\n\t\t<ng-content select=\"[daffPrefix]\"></ng-content>\n\t}\n\t<div class=\"daff-form-field__form-wrapper\">\n\t\t@if (_formLabelDirective) {\n\t\t\t<ng-content select=\"label[daffFormLabel]\"></ng-content>\n\t\t} @else if(_formFieldLabelDirective) {\n\t\t\t<label class=\"daff-form-field__label\"\n\t\t\t\t[attr.for]=\"autoLabelId\"\n\t\t\t\t[attr.id]=\"customId\">\n\t\t\t\t<ng-content select=\"daff-form-label\"></ng-content>\n\t\t\t</label>\n\t\t} @else {\n\t\t\t<ng-content select=\"label\"></ng-content>\n\t\t}\n\t\t<ng-content></ng-content>\n\t\t@if (isSelectField) {\n\t\t\t<div class=\"daff-form-field__icon\"></div>\n\t\t}\n\t</div>\n @if (_suffix) {\n\t\t<ng-content select=\"[daffSuffix]\"></ng-content>\n\t}\n</div>\n@if (hasHint()) {\n\t<div\n\t\tclass=\"daff-form-field__hint-wrapper\"\n\t\t[id]=\"hintId\">\n\t\t<ng-content select=\"daff-hint\"></ng-content>\n\t</div>\n}\n@if (hasErrorMessage()) {\n\t<div\n\t\tclass=\"daff-form-field__error-wrapper\"\n\t\t[id]=\"errorMessageId\">\n\t\t<ng-content select=\"daff-error-message\"></ng-content>\n\t</div>\n}", styles: [".daff-form-field{display:flex;flex-direction:column;gap:.25rem;position:relative}.daff-form-field__hint-wrapper,.daff-form-field__error-wrapper{display:flex;flex-direction:column;gap:.25rem}.daff-form-field__control{display:flex;align-items:center;border-radius:.25rem;font-size:1rem;line-height:1rem;position:relative;width:100%}.daff-form-field__control * ::-webkit-input-placeholder{opacity:0}.daff-form-field__control+.daff-hint,.daff-form-field__control+.daff-error-message{margin-top:.5rem}.daff-form-field input,.daff-form-field textarea,.daff-form-field select{font-size:1rem;line-height:1.5rem;padding:1rem}.daff-form-field label,.daff-form-field .daff-form-label,.daff-form-field__label{position:absolute;left:1rem;top:1.25rem;pointer-events:none;transform-origin:left top;transition:transform .15s}.daff-form-field label+input,.daff-form-field label+textarea,.daff-form-field label+select,.daff-form-field .daff-form-label+input,.daff-form-field .daff-form-label+textarea,.daff-form-field .daff-form-label+select,.daff-form-field__label+input,.daff-form-field__label+textarea,.daff-form-field__label+select{padding:1.5rem 1rem .5rem}.daff-form-field.daff-raised label,.daff-form-field.daff-raised .daff-form-label,.daff-form-field.daff-raised .daff-form-field__label{transform:translateY(-75%) scale(.75)}.daff-form-field.daff-raised * ::-webkit-input-placeholder{opacity:1}.daff-form-field.daff-disabled{cursor:not-allowed;opacity:.5}.daff-form-field__icon{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-form-field__form-wrapper{flex-grow:1;position:relative;overflow:hidden}.daff-form-field .daff-prefix{padding-left:1rem}.daff-form-field .daff-suffix{padding-right:1rem}.daff-form-field.daff-skeleton{display:flex;position:relative;height:3.5rem;width:100%;border-radius:.25rem}.daff-form-field.daff-skeleton:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:3.5rem;width:100%;position:absolute;top:0;left:0}@keyframes loading{0%{opacity:.5}to{opacity:1}}.daff-form-field.daff-skeleton>*{visibility:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
177
431
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldComponent, decorators: [{
432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldComponent, decorators: [{
179
433
  type: Component,
180
- args: [{ selector: 'daff-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n\tclass=\"daff-form-field__control\"\n\t[class.daff-focused]=\"isFocused\"\n\t[class.daff-error]=\"isError\"\n\t[class.daff-valid]=\"isValid\"\n\t[class.daff-filled]=\"isFilled\"\n\t[class.daff-disabled]=\"isDisabled\">\n\t@if (_prefix) {\n\t\t<ng-content select=\"[daffPrefix]\"></ng-content>\n\t}\n\t<div class=\"daff-form-field__form-wrapper\">\n\t\t<ng-content select=\"label[daffFormLabel]\"></ng-content>\n\t\t<ng-content></ng-content>\n\t\t@if (isSelectField) {\n\t\t\t<div class=\"daff-form-field__icon\"></div>\n\t\t}\n\t</div>\n @if (_suffix) {\n\t\t<ng-content select=\"[daffSuffix]\"></ng-content>\n\t}\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n<ng-content select=\"daff-hint\"></ng-content>", styles: [".daff-form-field{display:block;position:relative}.daff-form-field__control{display:flex;align-items:center;border-radius:.25rem;box-sizing:border-box;font-size:1rem;height:3.5rem;line-height:1rem;position:relative;width:100%}.daff-form-field__control * ::-webkit-input-placeholder{opacity:0}.daff-form-field__control .daff-form-label{position:absolute;left:1rem;top:1.25rem;pointer-events:none;transition:all .2s ease}.daff-form-field__control.daff-focused .daff-form-label,.daff-form-field__control.daff-filled .daff-form-label{font-size:.75rem;top:.375rem}.daff-form-field__control.daff-focused * ::-webkit-input-placeholder,.daff-form-field__control.daff-filled * ::-webkit-input-placeholder{opacity:1}.daff-form-field__control.daff-disabled{cursor:not-allowed;opacity:.5}.daff-form-field__icon{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-form-field__form-wrapper{flex-grow:1;padding:1.5rem 1rem .5rem;position:relative}.daff-form-field .daff-hint,.daff-form-field .daff-error-message{margin-top:.25rem}.daff-form-field .daff-prefix{padding-left:1rem}.daff-form-field .daff-suffix{padding-right:1rem}\n"] }]
434
+ args: [{ selector: 'daff-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
435
+ {
436
+ directive: DaffSkeletonableDirective,
437
+ inputs: ['skeleton'],
438
+ },
439
+ ], template: "<div class=\"daff-form-field__control\">\n\t@if (_prefix) {\n\t\t<ng-content select=\"[daffPrefix]\"></ng-content>\n\t}\n\t<div class=\"daff-form-field__form-wrapper\">\n\t\t@if (_formLabelDirective) {\n\t\t\t<ng-content select=\"label[daffFormLabel]\"></ng-content>\n\t\t} @else if(_formFieldLabelDirective) {\n\t\t\t<label class=\"daff-form-field__label\"\n\t\t\t\t[attr.for]=\"autoLabelId\"\n\t\t\t\t[attr.id]=\"customId\">\n\t\t\t\t<ng-content select=\"daff-form-label\"></ng-content>\n\t\t\t</label>\n\t\t} @else {\n\t\t\t<ng-content select=\"label\"></ng-content>\n\t\t}\n\t\t<ng-content></ng-content>\n\t\t@if (isSelectField) {\n\t\t\t<div class=\"daff-form-field__icon\"></div>\n\t\t}\n\t</div>\n @if (_suffix) {\n\t\t<ng-content select=\"[daffSuffix]\"></ng-content>\n\t}\n</div>\n@if (hasHint()) {\n\t<div\n\t\tclass=\"daff-form-field__hint-wrapper\"\n\t\t[id]=\"hintId\">\n\t\t<ng-content select=\"daff-hint\"></ng-content>\n\t</div>\n}\n@if (hasErrorMessage()) {\n\t<div\n\t\tclass=\"daff-form-field__error-wrapper\"\n\t\t[id]=\"errorMessageId\">\n\t\t<ng-content select=\"daff-error-message\"></ng-content>\n\t</div>\n}", styles: [".daff-form-field{display:flex;flex-direction:column;gap:.25rem;position:relative}.daff-form-field__hint-wrapper,.daff-form-field__error-wrapper{display:flex;flex-direction:column;gap:.25rem}.daff-form-field__control{display:flex;align-items:center;border-radius:.25rem;font-size:1rem;line-height:1rem;position:relative;width:100%}.daff-form-field__control * ::-webkit-input-placeholder{opacity:0}.daff-form-field__control+.daff-hint,.daff-form-field__control+.daff-error-message{margin-top:.5rem}.daff-form-field input,.daff-form-field textarea,.daff-form-field select{font-size:1rem;line-height:1.5rem;padding:1rem}.daff-form-field label,.daff-form-field .daff-form-label,.daff-form-field__label{position:absolute;left:1rem;top:1.25rem;pointer-events:none;transform-origin:left top;transition:transform .15s}.daff-form-field label+input,.daff-form-field label+textarea,.daff-form-field label+select,.daff-form-field .daff-form-label+input,.daff-form-field .daff-form-label+textarea,.daff-form-field .daff-form-label+select,.daff-form-field__label+input,.daff-form-field__label+textarea,.daff-form-field__label+select{padding:1.5rem 1rem .5rem}.daff-form-field.daff-raised label,.daff-form-field.daff-raised .daff-form-label,.daff-form-field.daff-raised .daff-form-field__label{transform:translateY(-75%) scale(.75)}.daff-form-field.daff-raised * ::-webkit-input-placeholder{opacity:1}.daff-form-field.daff-disabled{cursor:not-allowed;opacity:.5}.daff-form-field__icon{content:\"\";position:absolute;top:48%;right:1rem;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:.5rem;height:.5rem;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-form-field__form-wrapper{flex-grow:1;position:relative;overflow:hidden}.daff-form-field .daff-prefix{padding-left:1rem}.daff-form-field .daff-suffix{padding-right:1rem}.daff-form-field.daff-skeleton{display:flex;position:relative;height:3.5rem;width:100%;border-radius:.25rem}.daff-form-field.daff-skeleton:before{animation-name:loading;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:3.5rem;width:100%;position:absolute;top:0;left:0}@keyframes loading{0%{opacity:.5}to{opacity:1}}.daff-form-field.daff-skeleton>*{visibility:hidden}\n"] }]
181
440
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { class: [{
182
441
  type: HostBinding,
183
442
  args: ['class.daff-form-field']
@@ -190,35 +449,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
190
449
  }], _control: [{
191
450
  type: ContentChild,
192
451
  args: [DaffFormFieldControl]
193
- }] } });
194
-
195
- class DaffErrorMessageComponent {
196
- constructor() {
197
- /**
198
- * @docs-private
199
- */
200
- this.class = true;
201
- }
202
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
203
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffErrorMessageComponent, isStandalone: true, selector: "daff-error-message", host: { properties: { "class.daff-error-message": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;font-size:.875rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
204
- }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageComponent, decorators: [{
206
- type: Component,
207
- args: [{ selector: 'daff-error-message', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;font-size:.875rem}\n"] }]
208
- }], propDecorators: { class: [{
452
+ }], _formLabelDirective: [{
453
+ type: ContentChild,
454
+ args: [DaffFormLabelDirective]
455
+ }], _formFieldLabelDirective: [{
456
+ type: ContentChild,
457
+ args: [DaffFormFieldLabelDirective]
458
+ }], _hint: [{
459
+ type: ContentChild,
460
+ args: [DaffHintComponent]
461
+ }], _error: [{
462
+ type: ContentChild,
463
+ args: [DaffErrorMessageComponent]
464
+ }], errorClass: [{
209
465
  type: HostBinding,
210
- args: ['class.daff-error-message']
466
+ args: ['class.daff-error']
467
+ }], disabledClass: [{
468
+ type: HostBinding,
469
+ args: ['class.daff-disabled']
470
+ }], validClass: [{
471
+ type: HostBinding,
472
+ args: ['class.daff-valid']
473
+ }], focusedClass: [{
474
+ type: HostBinding,
475
+ args: ['class.daff-focused']
476
+ }], raisedClass: [{
477
+ type: HostBinding,
478
+ args: ['class.daff-raised']
479
+ }], id: [{
480
+ type: Input
211
481
  }] } });
212
482
 
213
483
  /**
214
484
  * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
215
485
  */
216
486
  class DaffErrorMessageModule {
217
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
218
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule, imports: [DaffErrorMessageComponent], exports: [DaffErrorMessageComponent] }); }
219
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule }); }
487
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
488
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule, imports: [DaffErrorMessageComponent], exports: [DaffErrorMessageComponent] }); }
489
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule }); }
220
490
  }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule, decorators: [{
491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule, decorators: [{
222
492
  type: NgModule,
223
493
  args: [{
224
494
  exports: [
@@ -230,190 +500,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
230
500
  }]
231
501
  }] });
232
502
 
233
- class DaffFormLabelDirective {
234
- constructor() {
235
- /**
236
- * @docs-private
237
- */
238
- this.class = true;
239
- }
240
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
241
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffFormLabelDirective, isStandalone: true, selector: "[daffFormLabel]", host: { properties: { "class.daff-form-label": "this.class" } }, ngImport: i0 }); }
242
- }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelDirective, decorators: [{
244
- type: Directive,
245
- args: [{
246
- selector: '[daffFormLabel]',
247
- }]
248
- }], propDecorators: { class: [{
249
- type: HostBinding,
250
- args: ['class.daff-form-label']
251
- }] } });
252
-
253
- /**
254
- * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
255
- */
256
- class DaffFormLabelModule {
257
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
258
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule, imports: [DaffFormLabelDirective], exports: [DaffFormLabelDirective] }); }
259
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule }); }
260
- }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule, decorators: [{
262
- type: NgModule,
263
- args: [{
264
- exports: [
265
- DaffFormLabelDirective,
266
- ],
267
- imports: [
268
- DaffFormLabelDirective,
269
- ],
270
- }]
271
- }] });
272
-
273
- /**
274
- * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
275
- */
276
- class DaffFormFieldModule {
277
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
278
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, imports: [DaffFormFieldComponent,
279
- DaffErrorMessageModule,
280
- DaffFormLabelModule], exports: [DaffFormFieldComponent,
281
- DaffErrorMessageModule,
282
- DaffFormLabelModule] }); }
283
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, imports: [DaffErrorMessageModule,
284
- DaffFormLabelModule, DaffErrorMessageModule,
285
- DaffFormLabelModule] }); }
286
- }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, decorators: [{
288
- type: NgModule,
289
- args: [{
290
- imports: [
291
- DaffFormFieldComponent,
292
- DaffErrorMessageModule,
293
- DaffFormLabelModule,
294
- ],
295
- exports: [
296
- DaffFormFieldComponent,
297
- DaffErrorMessageModule,
298
- DaffFormLabelModule,
299
- ],
300
- }]
301
- }] });
302
-
303
- class DaffHintComponent {
304
- constructor() {
305
- /**
306
- * @docs-private
307
- */
308
- this.class = true;
309
- }
310
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
311
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffHintComponent, isStandalone: true, selector: "daff-hint", host: { properties: { "class.daff-hint": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;font-size:.875rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
312
- }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffHintComponent, decorators: [{
314
- type: Component,
315
- args: [{ selector: 'daff-hint', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:block;font-size:.875rem}\n"] }]
316
- }], propDecorators: { class: [{
317
- type: HostBinding,
318
- args: ['class.daff-hint']
319
- }] } });
320
-
321
- /**
322
- * @docs-private
323
- */
324
- const DAFF_FORM_FIELD_COMPONENTS = [
325
- DaffFormFieldComponent,
326
- DaffErrorMessageComponent,
327
- DaffFormLabelDirective,
328
- DaffHintComponent,
329
- DaffPrefixDirective,
330
- DaffSuffixDirective,
331
- ];
332
-
333
- /**
334
- * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.
335
- */
336
- class DaffInputComponent extends DaffFormFieldControl {
337
- /** @docs-private */
338
- focus() {
339
- this.focused = true;
340
- this.emitState();
341
- }
342
- /** @docs-private */
343
- blur() {
344
- this.focused = false;
345
- this.emitState();
346
- }
347
- constructor(
348
- /** @docs-private */
349
- ngControl, _elementRef) {
350
- super(ngControl);
351
- this.ngControl = ngControl;
352
- this._elementRef = _elementRef;
353
- /** @docs-private */
354
- this.class = true;
355
- /** @docs-private */
356
- this.controlType = 'native-input';
357
- this.focused = false;
358
- }
359
- /** @docs-private */
360
- ngOnInit() {
361
- this.stateChanges = merge(this._stateChanges.asObservable(), this.ngControl ? this.ngControl.statusChanges : of(undefined)).pipe(map(() => this.state));
362
- }
363
- /** @docs-private */
364
- onFocus() {
365
- this._elementRef.nativeElement.focus();
366
- }
367
- get value() {
368
- return this._elementRef.nativeElement.value;
369
- }
370
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
371
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffInputComponent, isStandalone: true, selector: "input[daff-input]", host: { listeners: { "focus": "focus()", "blur": "blur()" }, properties: { "class.daff-input": "this.class" } }, providers: [
372
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
373
- { provide: DaffFormFieldControl, useExisting: DaffInputComponent },
374
- ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{border:none;border-radius:4px;box-shadow:none;font-size:1rem;line-height:1.5rem;margin:0;padding:0;width:100%;box-sizing:border-box}:host:focus{border:none;box-shadow:none;outline:none}:host:disabled{cursor:not-allowed}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
375
- }
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputComponent, decorators: [{
377
- type: Component,
378
- args: [{ selector: 'input[daff-input]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
379
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
380
- { provide: DaffFormFieldControl, useExisting: DaffInputComponent },
381
- ], styles: [":host{border:none;border-radius:4px;box-shadow:none;font-size:1rem;line-height:1.5rem;margin:0;padding:0;width:100%;box-sizing:border-box}:host:focus{border:none;box-shadow:none;outline:none}:host:disabled{cursor:not-allowed}\n"] }]
382
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
383
- type: Optional
384
- }, {
385
- type: Self
386
- }] }, { type: i0.ElementRef }], propDecorators: { class: [{
387
- type: HostBinding,
388
- args: ['class.daff-input']
389
- }], focus: [{
390
- type: HostListener,
391
- args: ['focus']
392
- }], blur: [{
393
- type: HostListener,
394
- args: ['blur']
395
- }] } });
396
-
397
503
  /**
398
504
  * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
399
505
  */
400
- class DaffInputModule {
401
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
402
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule, imports: [DaffInputComponent], exports: [DaffInputComponent] }); }
403
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule }); }
506
+ class DaffFormLabelModule {
507
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
508
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule, imports: [DaffFormLabelDirective], exports: [DaffFormLabelDirective] }); }
509
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule }); }
510
+ }
511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule, decorators: [{
512
+ type: NgModule,
513
+ args: [{
514
+ exports: [
515
+ DaffFormLabelDirective,
516
+ ],
517
+ imports: [
518
+ DaffFormLabelDirective,
519
+ ],
520
+ }]
521
+ }] });
522
+
523
+ /**
524
+ * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
525
+ */
526
+ class DaffFormFieldModule {
527
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
528
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, imports: [DaffFormFieldComponent,
529
+ DaffErrorMessageModule,
530
+ DaffFormLabelModule], exports: [DaffFormFieldComponent,
531
+ DaffErrorMessageModule,
532
+ DaffFormLabelModule] }); }
533
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, imports: [DaffErrorMessageModule,
534
+ DaffFormLabelModule, DaffErrorMessageModule,
535
+ DaffFormLabelModule] }); }
404
536
  }
405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule, decorators: [{
537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, decorators: [{
406
538
  type: NgModule,
407
539
  args: [{
408
540
  imports: [
409
- DaffInputComponent,
541
+ DaffFormFieldComponent,
542
+ DaffErrorMessageModule,
543
+ DaffFormLabelModule,
410
544
  ],
411
545
  exports: [
412
- DaffInputComponent,
546
+ DaffFormFieldComponent,
547
+ DaffErrorMessageModule,
548
+ DaffFormLabelModule,
413
549
  ],
414
550
  }]
415
551
  }] });
416
552
 
553
+ /**
554
+ * @docs-private
555
+ */
556
+ const DAFF_FORM_FIELD_COMPONENTS = [
557
+ DaffFormFieldComponent,
558
+ DaffErrorMessageComponent,
559
+ DaffFormLabelDirective,
560
+ DaffHintComponent,
561
+ DaffPrefixDirective,
562
+ DaffSuffixDirective,
563
+ DaffFormFieldLabelDirective,
564
+ ];
565
+
417
566
  class DaffNativeSelectComponent extends DaffFormFieldControl {
418
567
  /**
419
568
  * @docs-private
@@ -453,13 +602,13 @@ class DaffNativeSelectComponent extends DaffFormFieldControl {
453
602
  get value() {
454
603
  return this._elementRef.nativeElement.value;
455
604
  }
456
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
457
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffNativeSelectComponent, isStandalone: false, selector: "select[daff-native-select]", inputs: { formSubmitted: "formSubmitted" }, host: { listeners: { "focus": "focus()", "blur": "blur()" }, properties: { "class.daff-native-select": "this.class" } }, providers: [
605
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
606
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffNativeSelectComponent, isStandalone: false, selector: "select[daff-native-select]", inputs: { formSubmitted: "formSubmitted" }, host: { listeners: { "focus": "focus()", "blur": "blur()" }, properties: { "class.daff-native-select": "this.class" } }, providers: [
458
607
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
459
608
  { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },
460
609
  ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".daff-native-select{appearance:none;background:transparent;background-clip:padding-box;border:0;box-shadow:none;font-size:1rem;line-height:1.5rem;margin:0;min-width:45px;width:100%}.daff-native-select:focus{border:0;box-shadow:none;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
461
610
  }
462
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectComponent, decorators: [{
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectComponent, decorators: [{
463
612
  type: Component,
464
613
  args: [{ selector: 'select[daff-native-select]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
465
614
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
@@ -483,11 +632,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
483
632
  }] } });
484
633
 
485
634
  class DaffNativeSelectModule {
486
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
487
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, declarations: [DaffNativeSelectComponent], imports: [CommonModule], exports: [DaffNativeSelectComponent] }); }
488
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, imports: [CommonModule] }); }
635
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
636
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, declarations: [DaffNativeSelectComponent], imports: [CommonModule], exports: [DaffNativeSelectComponent] }); }
637
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, imports: [CommonModule] }); }
489
638
  }
490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, decorators: [{
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, decorators: [{
491
640
  type: NgModule,
492
641
  args: [{
493
642
  imports: [
@@ -604,10 +753,10 @@ class DaffCheckboxComponent {
604
753
  this.checked = false;
605
754
  this._cdRef.markForCheck();
606
755
  }
607
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
608
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffCheckboxComponent, isStandalone: false, 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 }); }
756
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
757
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffCheckboxComponent, isStandalone: false, 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 }); }
609
758
  }
610
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
611
760
  type: Component,
612
761
  args: [{ selector: 'daff-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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>" }]
613
762
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { nativeCheckbox: [{
@@ -714,10 +863,10 @@ class DaffCheckboxControlValueAccessorDirective {
714
863
  fireDeselect() {
715
864
  this._checkbox.deselect();
716
865
  }
717
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffCheckboxComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
718
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffCheckboxControlValueAccessorDirective, isStandalone: false, selector: "daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
866
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffCheckboxComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
867
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffCheckboxControlValueAccessorDirective, isStandalone: false, selector: "daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
719
868
  }
720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, decorators: [{
869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, decorators: [{
721
870
  type: Directive,
722
871
  args: [{
723
872
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -748,10 +897,10 @@ class DaffCheckboxSetComponent {
748
897
  const checkboxes = this.checkboxes.toArray();
749
898
  return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);
750
899
  }
751
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
752
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffCheckboxSetComponent, isStandalone: false, 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 }); }
900
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
901
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffCheckboxSetComponent, isStandalone: false, 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 }); }
753
902
  }
754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
755
904
  type: Component,
756
905
  args: [{ selector: 'daff-checkbox-set', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>" }]
757
906
  }], propDecorators: { formArray: [{
@@ -769,17 +918,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
769
918
  }] } });
770
919
 
771
920
  class DaffCheckboxModule {
772
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
773
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, declarations: [DaffCheckboxComponent,
921
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
922
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, declarations: [DaffCheckboxComponent,
774
923
  DaffCheckboxSetComponent,
775
924
  DaffCheckboxControlValueAccessorDirective], imports: [CommonModule], exports: [DaffCheckboxComponent,
776
925
  DaffCheckboxSetComponent,
777
926
  DaffCheckboxControlValueAccessorDirective] }); }
778
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, providers: [
927
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, providers: [
779
928
  DaffCheckboxSetComponent,
780
929
  ], imports: [CommonModule] }); }
781
930
  }
782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, decorators: [{
931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, decorators: [{
783
932
  type: NgModule,
784
933
  args: [{
785
934
  exports: [
@@ -801,346 +950,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
801
950
  }]
802
951
  }] });
803
952
 
804
- class DaffQuantityInputComponent {
805
- get focused() {
806
- return this.input?.focused;
807
- }
808
- get value() {
809
- return this.ngControl.control.value;
810
- }
811
- set value(value) {
812
- const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);
813
- this.ngControl.control.patchValue(val);
814
- this._inputControl.patchValue(val);
815
- this.changeDetectorRef.markForCheck();
816
- }
817
- get disabled() {
818
- return this.ngControl.control.disabled;
819
- }
820
- constructor(ngControl, changeDetectorRef) {
821
- this.ngControl = ngControl;
822
- this.changeDetectorRef = changeDetectorRef;
823
- /**
824
- * @docs
825
- * The minimum number for the quantity input field
826
- */
827
- this.min = 1;
828
- /**
829
- * @docs
830
- * The maximum number for the quantity input field
831
- */
832
- this.max = 10;
833
- /**
834
- * A new control for the nested native input.
835
- * We don't bind the native input directly to the inherited form control
836
- * to avoid triggering updates on the input event.
837
- * Instead, we listen for the change event and manually patch form control values.
838
- */
839
- this._inputControl = new UntypedFormControl();
840
- this._destroyed = new Subject();
841
- }
842
- /**
843
- * @docs-private
844
- */
845
- ngOnInit() {
846
- this._inputControl.patchValue(this.ngControl.control.value);
847
- this.setInputDisabled();
848
- this.ngControl.statusChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {
849
- this.setInputDisabled();
850
- });
851
- }
852
- ngOnDestroy() {
853
- this._destroyed.next(true);
854
- }
855
- focus() {
856
- this.input.focus();
857
- }
858
- onFocus() {
859
- this.ngControl.control.markAsTouched();
860
- }
861
- onBlur() {
862
- if (this.value === null || this.value === undefined) {
863
- this.value = 1;
864
- this.changeDetectorRef.markForCheck();
865
- }
866
- }
867
- /**
868
- * Callback function fired when the value changes.
869
- * Used to pass the value back up to the ngControl.
870
- */
871
- onValueChange(e) {
872
- this.value = e.target.value;
873
- }
874
- setInputDisabled() {
875
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
876
- this.ngControl.disabled
877
- ? this._inputControl.disable()
878
- : this._inputControl.enable();
879
- }
880
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityInputComponent, deps: [{ token: i1.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
881
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffQuantityInputComponent, isStandalone: false, 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: "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"] }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
882
- }
883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityInputComponent, decorators: [{
884
- type: Component,
885
- args: [{ selector: 'daff-quantity-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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" }]
886
- }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
887
- type: ViewChild,
888
- args: [DaffInputComponent]
889
- }], min: [{
890
- type: Input
891
- }], max: [{
892
- type: Input
893
- }] } });
894
-
895
- /**
896
- * Create an array of numbers from min to max, not including max.
897
- */
898
- const makeValueArray = (min, max, increment) => Array(max - min).fill(0).map((x, i) => (i * increment) + min);
899
- class DaffQuantitySelectComponent {
900
- get value() {
901
- return this._value;
902
- }
903
- set value(value) {
904
- this._value = value;
905
- this.ngControl.control.patchValue(this._value);
906
- this.changeDetectorRef.markForCheck();
907
- }
908
- constructor(ngControl, changeDetectorRef) {
909
- this.ngControl = ngControl;
910
- this.changeDetectorRef = changeDetectorRef;
911
- /**
912
- * @docs
913
- * The minimum number selectable.
914
- */
915
- this.min = 1;
916
- /**
917
- * @docs
918
- * The maximum number selectable;
919
- */
920
- this.max = 10;
921
- /**
922
- * @docs
923
- * Property used to determine whether or not the DaffQuantitySelectComponent is
924
- * used in a situation whether the `max` isn't a true max.
925
- */
926
- this.extendable = true;
927
- /**
928
- * The amount to increment between "min" and "max".
929
- */
930
- this.increment = 1;
931
- this._value = 1;
932
- }
933
- /**
934
- * Callback function fired when the value changes.
935
- * Used to pass the value back up to the ngControl.
936
- */
937
- onValueChange(e) {
938
- this.value = e.target.value;
939
- }
940
- get focused() {
941
- return this.select.focused;
942
- }
943
- focus() {
944
- this.select.focus();
945
- }
946
- onFocus() {
947
- this.ngControl.control.markAsTouched();
948
- }
949
- /**
950
- * A helper function for easily making options for the `select`.
951
- */
952
- get valueArray() {
953
- return makeValueArray(this.min, this.max, this.increment);
954
- }
955
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantitySelectComponent, deps: [{ token: i1.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
956
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffQuantitySelectComponent, isStandalone: false, 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 <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n <option [value]=\"max\" *ngIf=\"extendable\">{{ max }}+</option>\n <option [value]=\"max\" *ngIf=\"!extendable\">{{ max }}</option>\n</select>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["formSubmitted"] }, { 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 }); }
957
- }
958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantitySelectComponent, decorators: [{
959
- type: Component,
960
- args: [{ selector: 'daff-quantity-select', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n <option [value]=\"max\" *ngIf=\"extendable\">{{ max }}+</option>\n <option [value]=\"max\" *ngIf=\"!extendable\">{{ max }}</option>\n</select>\n" }]
961
- }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }], propDecorators: { select: [{
962
- type: ViewChild,
963
- args: [DaffNativeSelectComponent]
964
- }], min: [{
965
- type: Input
966
- }], max: [{
967
- type: Input
968
- }], extendable: [{
969
- type: Input
970
- }] } });
971
-
972
- class DaffQuantityFieldComponent extends DaffFormFieldControl {
973
- get focused() {
974
- return !!(this.input?.focused || this.select?.focused);
975
- }
976
- get quantity() {
977
- return this._quantity;
978
- }
979
- set quantity(value) {
980
- this._quantity = coerceNumberProperty(value, 1);
981
- }
982
- /**
983
- * Returns the lesser of max and selectMax.
984
- */
985
- get _maxFloor() {
986
- return Math.min(this.max, this.selectMax);
987
- }
988
- get controlType() {
989
- // TODO: use enum
990
- return this.showInputField
991
- ? 'native-input'
992
- : 'native-select';
993
- }
994
- get showInputField() {
995
- const ret = this._inputHasBeenShown || (this.ngControl
996
- ? this.ngControl.value >= this.selectMax
997
- : this.quantity >= this.selectMax);
998
- if (ret) {
999
- this._inputHasBeenShown = true;
1000
- }
1001
- return ret;
1002
- }
1003
- get showSelectField() {
1004
- return !this.showInputField;
1005
- }
1006
- constructor(ngControl, cd) {
1007
- super(ngControl);
1008
- this.ngControl = ngControl;
1009
- this.cd = cd;
1010
- /**
1011
- * @docs
1012
- * The minimum valid value of the quantity field.
1013
- * Must be greater than or equal to 1.
1014
- */
1015
- this.min = 1;
1016
- /**
1017
- * @docs
1018
- * The maximum valid value of the quantity field.
1019
- * Must be greater than min.
1020
- */
1021
- this.max = 500;
1022
- /**
1023
- * @docs
1024
- * The range of numbers acceptable in a quantity dropdown
1025
- * before it becomes an input element.
1026
- */
1027
- this.selectMax = 10;
1028
- this.id = '';
1029
- this.disabled = false;
1030
- this._quantity = 1;
1031
- this._inputHasBeenShown = false;
1032
- if (this.ngControl != null) {
1033
- this.ngControl.valueAccessor = this;
1034
- }
1035
- }
1036
- onChange(quantity) { }
1037
- ;
1038
- onTouched(quantity) { }
1039
- ;
1040
- writeValue(quantity) {
1041
- this.quantity = quantity;
1042
- this.cd.markForCheck();
1043
- }
1044
- registerOnChange(fn) {
1045
- this.onChange = fn;
1046
- }
1047
- registerOnTouched(fn) {
1048
- this.onTouched = fn;
1049
- }
1050
- setDisabledState(isDisabled) {
1051
- this.disabled = isDisabled;
1052
- }
1053
- focus() {
1054
- if (this.select) {
1055
- this.select.focus();
1056
- }
1057
- if (this.input) {
1058
- this.input.focus();
1059
- }
1060
- }
1061
- get value() {
1062
- if (this.select) {
1063
- return this.select.value;
1064
- }
1065
- if (this.input) {
1066
- return this.input.value;
1067
- }
1068
- }
1069
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1070
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffQuantityFieldComponent, isStandalone: false, selector: "daff-quantity-field", inputs: { min: "min", max: "max", selectMax: "selectMax", id: "id" }, providers: [
1071
- {
1072
- provide: DaffFormFieldControl,
1073
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
1074
- useExisting: DaffQuantityFieldComponent,
1075
- },
1076
- ], viewQueries: [{ propertyName: "input", first: true, predicate: DaffQuantityInputComponent, descendants: true }, { propertyName: "select", first: true, predicate: DaffQuantitySelectComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<daff-quantity-select\n *ngIf=\"showSelectField\"\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n</daff-quantity-input>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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 }); }
1077
- }
1078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldComponent, decorators: [{
1079
- type: Component,
1080
- args: [{ selector: 'daff-quantity-field', providers: [
1081
- {
1082
- provide: DaffFormFieldControl,
1083
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
1084
- useExisting: DaffQuantityFieldComponent,
1085
- },
1086
- ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<daff-quantity-select\n *ngIf=\"showSelectField\"\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n</daff-quantity-input>\n" }]
1087
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
1088
- type: Optional
1089
- }, {
1090
- type: Self
1091
- }] }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
1092
- type: ViewChild,
1093
- args: [DaffQuantityInputComponent]
1094
- }], select: [{
1095
- type: ViewChild,
1096
- args: [DaffQuantitySelectComponent]
1097
- }], min: [{
1098
- type: Input
1099
- }], max: [{
1100
- type: Input
1101
- }], selectMax: [{
1102
- type: Input
1103
- }], id: [{
1104
- type: Input
1105
- }] } });
1106
-
1107
- class DaffQuantityFieldModule {
1108
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1109
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, declarations: [DaffQuantityFieldComponent,
1110
- DaffQuantityInputComponent,
1111
- DaffQuantitySelectComponent], imports: [CommonModule,
1112
- DaffNativeSelectModule,
1113
- ReactiveFormsModule,
1114
- DaffInputModule], exports: [DaffQuantityFieldComponent,
1115
- DaffQuantityInputComponent,
1116
- DaffQuantitySelectComponent] }); }
1117
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, imports: [CommonModule,
1118
- DaffNativeSelectModule,
1119
- ReactiveFormsModule,
1120
- DaffInputModule] }); }
1121
- }
1122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, decorators: [{
1123
- type: NgModule,
1124
- args: [{
1125
- declarations: [
1126
- DaffQuantityFieldComponent,
1127
- DaffQuantityInputComponent,
1128
- DaffQuantitySelectComponent,
1129
- ],
1130
- imports: [
1131
- CommonModule,
1132
- DaffNativeSelectModule,
1133
- ReactiveFormsModule,
1134
- DaffInputModule,
1135
- ],
1136
- exports: [
1137
- DaffQuantityFieldComponent,
1138
- DaffQuantityInputComponent,
1139
- DaffQuantitySelectComponent,
1140
- ],
1141
- }]
1142
- }] });
1143
-
1144
953
  class DaffRadioSetComponent {
1145
954
  constructor() {
1146
955
  /**
@@ -1148,10 +957,10 @@ class DaffRadioSetComponent {
1148
957
  */
1149
958
  this.role = 'radiogroup';
1150
959
  }
1151
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1152
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffRadioSetComponent, isStandalone: false, selector: "daff-radio-set", inputs: { name: "name" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
960
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
961
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffRadioSetComponent, isStandalone: false, selector: "daff-radio-set", inputs: { name: "name" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1153
962
  }
1154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
963
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
1155
964
  type: Component,
1156
965
  args: [{ selector: 'daff-radio-set', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>" }]
1157
966
  }], ctorParameters: () => [], propDecorators: { name: [{
@@ -1254,10 +1063,10 @@ class DaffRadioComponent {
1254
1063
  this.select();
1255
1064
  }
1256
1065
  ;
1257
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioComponent, deps: [{ token: DaffRadioSetComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1258
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffRadioComponent, isStandalone: false, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, 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 }); }
1066
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioComponent, deps: [{ token: DaffRadioSetComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1067
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffRadioComponent, isStandalone: false, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, 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 }); }
1259
1068
  }
1260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioComponent, decorators: [{
1069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioComponent, decorators: [{
1261
1070
  type: Component,
1262
1071
  args: [{ selector: 'daff-radio', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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>" }]
1263
1072
  }], ctorParameters: () => [{ type: DaffRadioSetComponent, decorators: [{
@@ -1333,10 +1142,10 @@ class DaffRadioRegistry {
1333
1142
  return controlPair['control'].control.parent === accessor._control.control.parent
1334
1143
  && controlPair['accessor'].name === accessor.name;
1335
1144
  }
1336
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1337
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioRegistry, providedIn: 'root' }); }
1145
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1146
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioRegistry, providedIn: 'root' }); }
1338
1147
  }
1339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioRegistry, decorators: [{
1148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioRegistry, decorators: [{
1340
1149
  type: Injectable,
1341
1150
  args: [{ providedIn: 'root' }]
1342
1151
  }] });
@@ -1406,10 +1215,10 @@ class DaffRadioControlValueAccessorDirective {
1406
1215
  fireDeselect() {
1407
1216
  this._radio.deselect();
1408
1217
  }
1409
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffRadioRegistry }, { token: DaffRadioComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
1410
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffRadioControlValueAccessorDirective, isStandalone: false, selector: "daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
1218
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffRadioRegistry }, { token: DaffRadioComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
1219
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffRadioControlValueAccessorDirective, isStandalone: false, selector: "daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
1411
1220
  }
1412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioControlValueAccessorDirective, decorators: [{
1221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioControlValueAccessorDirective, decorators: [{
1413
1222
  type: Directive,
1414
1223
  args: [{
1415
1224
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1427,15 +1236,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1427
1236
  }] } });
1428
1237
 
1429
1238
  class DaffRadioModule {
1430
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1431
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, declarations: [DaffRadioControlValueAccessorDirective,
1239
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1240
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, declarations: [DaffRadioControlValueAccessorDirective,
1432
1241
  DaffRadioComponent,
1433
1242
  DaffRadioSetComponent], imports: [CommonModule], exports: [DaffRadioComponent,
1434
1243
  DaffRadioSetComponent,
1435
1244
  DaffRadioControlValueAccessorDirective] }); }
1436
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, imports: [CommonModule] }); }
1245
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, imports: [CommonModule] }); }
1437
1246
  }
1438
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, decorators: [{
1247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, decorators: [{
1439
1248
  type: NgModule,
1440
1249
  args: [{
1441
1250
  exports: [
@@ -1455,13 +1264,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1455
1264
  }] });
1456
1265
 
1457
1266
  class DaffPrefixSuffixModule {
1458
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1459
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule, imports: [DaffPrefixDirective,
1267
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1268
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule, imports: [DaffPrefixDirective,
1460
1269
  DaffSuffixDirective], exports: [DaffPrefixDirective,
1461
1270
  DaffSuffixDirective] }); }
1462
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule }); }
1271
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule }); }
1463
1272
  }
1464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule, decorators: [{
1273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule, decorators: [{
1465
1274
  type: NgModule,
1466
1275
  args: [{
1467
1276
  imports: [
@@ -1510,12 +1319,12 @@ var DaffPaletteEnum;
1510
1319
  */
1511
1320
  DaffPaletteEnum["ThemeContrast"] = "theme-contrast";
1512
1321
  /**
1513
- * @deprecated Deprecated in version 0.82.0. Will be removed in version 0.85.0.
1322
+ * @deprecated Deprecated in version 0.82.0. Will be removed in version 1.0.0.
1514
1323
  * Black. It's dark.
1515
1324
  */
1516
1325
  DaffPaletteEnum["Black"] = "black";
1517
1326
  /**
1518
- * @deprecated Deprecated in version 0.82.0. Will be removed in version 0.85.0.
1327
+ * @deprecated Deprecated in version 0.82.0. Will be removed in version 1.0.0.
1519
1328
  * White. It's bright.
1520
1329
  */
1521
1330
  DaffPaletteEnum["White"] = "white";
@@ -1625,10 +1434,10 @@ class DaffColorableDirective {
1625
1434
  this.color = this.defaultColor;
1626
1435
  }
1627
1436
  }
1628
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffColorableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1629
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffColorableDirective, isStandalone: true, selector: "[daffColorable]", inputs: { color: "color" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0 }); }
1437
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffColorableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1438
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffColorableDirective, isStandalone: true, selector: "[daffColorable]", inputs: { color: "color" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0 }); }
1630
1439
  }
1631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffColorableDirective, decorators: [{
1440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffColorableDirective, decorators: [{
1632
1441
  type: Directive,
1633
1442
  args: [{
1634
1443
  selector: '[daffColorable]',
@@ -1662,10 +1471,10 @@ class NoopBreakpointObserver {
1662
1471
  observe(value) {
1663
1472
  return of();
1664
1473
  }
1665
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: NoopBreakpointObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1666
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: NoopBreakpointObserver, providedIn: 'root' }); }
1474
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopBreakpointObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1475
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopBreakpointObserver, providedIn: 'root' }); }
1667
1476
  }
1668
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: NoopBreakpointObserver, decorators: [{
1477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopBreakpointObserver, decorators: [{
1669
1478
  type: Injectable,
1670
1479
  args: [{
1671
1480
  providedIn: 'root',
@@ -1754,10 +1563,10 @@ class DaffStatusableDirective {
1754
1563
  'daff-success': this.status === DaffStatusEnum.Success,
1755
1564
  };
1756
1565
  }
1757
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffStatusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1758
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffStatusableDirective, isStandalone: true, selector: "[daffStatusable]", inputs: { status: "status" }, host: { properties: { "class": "this.class" } }, ngImport: i0 }); }
1566
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffStatusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1567
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffStatusableDirective, isStandalone: true, selector: "[daffStatusable]", inputs: { status: "status" }, host: { properties: { "class": "this.class" } }, ngImport: i0 }); }
1759
1568
  }
1760
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffStatusableDirective, decorators: [{
1569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffStatusableDirective, decorators: [{
1761
1570
  type: Directive,
1762
1571
  args: [{
1763
1572
  selector: '[daffStatusable]',
@@ -1770,68 +1579,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1770
1579
  type: Input
1771
1580
  }] } });
1772
1581
 
1773
- /**
1774
- * `DaffSkeletonableDirective` allows a component to display a skeleton loading
1775
- * state by conditionally applying a CSS class. This is useful for indicating to
1776
- * users that content is loading or being processed. This directive can be used to
1777
- * apply a skeleton loading state to any component by toggling the `skeleton`
1778
- * input property. When `skeleton` is `true`, the `daff-skeleton` CSS class
1779
- * is applied, which should style the component to look like a loading placeholder.
1780
- *
1781
- * @example Implementing it as an attribute directive
1782
- *
1783
- * ```html
1784
- * <div daffSkeletonable [skeleton]="isLoading">Content</div>
1785
- * ```
1786
- *
1787
- * @example Implementing it as an Angular host directive
1788
- *
1789
- * ```ts
1790
- * @Component({
1791
- * standalone: true,
1792
- * selector: 'custom-component',
1793
- * template: 'custom-component.html',
1794
- * hostDirectives: [
1795
- * {
1796
- * directive: DaffSkeletonableDirective,
1797
- * inputs: ['skeleton'],
1798
- * },
1799
- * ],
1800
- * })
1801
- * export class CustomComponent { }
1802
- * ```
1803
- *
1804
- * ```scss
1805
- * :host {
1806
- * .daff-skeleton {
1807
- * @include state.skeleton-screen(48px, 24px);
1808
- * }
1809
- * }
1810
- * ```
1811
- *
1812
- * The directive applies the `daff-skeleton` class to the component should be defined in your styles to display the loading
1813
- * state as desired. It can be used in conjuction with the `skeleton-screen` mixin, which provides predefined loading styles.
1814
- */
1815
- class DaffSkeletonableDirective {
1816
- constructor() {
1817
- this.skeleton = false;
1818
- }
1819
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSkeletonableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1820
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffSkeletonableDirective, isStandalone: true, selector: "[daffSkeletonable]", inputs: { skeleton: "skeleton" }, host: { properties: { "class.daff-skeleton": "this.skeleton" } }, ngImport: i0 }); }
1821
- }
1822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSkeletonableDirective, decorators: [{
1823
- type: Directive,
1824
- args: [{
1825
- selector: '[daffSkeletonable]',
1826
- standalone: true,
1827
- }]
1828
- }], propDecorators: { skeleton: [{
1829
- type: Input
1830
- }, {
1831
- type: HostBinding,
1832
- args: ['class.daff-skeleton']
1833
- }] } });
1834
-
1835
1582
  var DaffTextAlignmentEnum;
1836
1583
  (function (DaffTextAlignmentEnum) {
1837
1584
  DaffTextAlignmentEnum["Left"] = "left";
@@ -1839,6 +1586,12 @@ var DaffTextAlignmentEnum;
1839
1586
  DaffTextAlignmentEnum["Right"] = "right";
1840
1587
  })(DaffTextAlignmentEnum || (DaffTextAlignmentEnum = {}));
1841
1588
 
1589
+ const textAlignmentValues = (textAlignment) => Object.values(DaffTextAlignmentEnum).includes(textAlignment);
1590
+ const validateTextAlignment = (textAlignment) => {
1591
+ if (textAlignment !== undefined && !textAlignmentValues(textAlignment)) {
1592
+ console.warn(`'${textAlignment}' is not a valid value of the textAlignment property. The available values are: left, center, or right.`);
1593
+ }
1594
+ };
1842
1595
  /**
1843
1596
  * `DaffTextAlignableDirective` allows for dynamic text alignment of a component by
1844
1597
  * setting CSS classes based on the specified text alignment. This directive is
@@ -1904,14 +1657,22 @@ class DaffTextAlignableDirective {
1904
1657
  this.textAlignment = this.defaultAlignment;
1905
1658
  }
1906
1659
  }
1907
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTextAlignableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1908
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffTextAlignableDirective, isStandalone: true, selector: "[daffTextAlignable]", inputs: { textAlignment: "textAlignment" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0 }); }
1660
+ /**
1661
+ * @docs-private
1662
+ */
1663
+ ngOnInit() {
1664
+ validateTextAlignment(this.textAlignment);
1665
+ if (!this.textAlignment) {
1666
+ this.textAlignment = this.defaultAlignment;
1667
+ }
1668
+ }
1669
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTextAlignableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1670
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffTextAlignableDirective, isStandalone: true, selector: "[daffTextAlignable]", inputs: { textAlignment: "textAlignment" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0 }); }
1909
1671
  }
1910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTextAlignableDirective, decorators: [{
1672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTextAlignableDirective, decorators: [{
1911
1673
  type: Directive,
1912
1674
  args: [{
1913
1675
  selector: '[daffTextAlignable]',
1914
- standalone: true,
1915
1676
  }]
1916
1677
  }], propDecorators: { class: [{
1917
1678
  type: HostBinding,
@@ -1966,12 +1727,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1966
1727
  */
1967
1728
  class DaffCompactableDirective {
1968
1729
  constructor() {
1730
+ /**
1731
+ * Controls whether the component is compact.
1732
+ */
1969
1733
  this.compact = false;
1970
1734
  }
1971
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCompactableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1972
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffCompactableDirective, isStandalone: true, selector: "[daffCompactable]", inputs: { compact: "compact" }, host: { properties: { "class.daff-compact": "this.compact" } }, ngImport: i0 }); }
1735
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCompactableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1736
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffCompactableDirective, isStandalone: true, selector: "[daffCompactable]", inputs: { compact: "compact" }, host: { properties: { "class.daff-compact": "this.compact" } }, ngImport: i0 }); }
1973
1737
  }
1974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCompactableDirective, decorators: [{
1738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCompactableDirective, decorators: [{
1975
1739
  type: Directive,
1976
1740
  args: [{
1977
1741
  selector: '[daffCompactable]',
@@ -2049,10 +1813,10 @@ class DaffManageContainerLayoutDirective {
2049
1813
  */
2050
1814
  this.class = true;
2051
1815
  }
2052
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffManageContainerLayoutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2053
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffManageContainerLayoutDirective, isStandalone: true, selector: "[daffManageContainerLayout]", host: { properties: { "class.daff-manage-container-layout": "this.class" } }, ngImport: i0 }); }
1816
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffManageContainerLayoutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1817
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffManageContainerLayoutDirective, isStandalone: true, selector: "[daffManageContainerLayout]", host: { properties: { "class.daff-manage-container-layout": "this.class" } }, ngImport: i0 }); }
2054
1818
  }
2055
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffManageContainerLayoutDirective, decorators: [{
1819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffManageContainerLayoutDirective, decorators: [{
2056
1820
  type: Directive,
2057
1821
  args: [{
2058
1822
  selector: '[daffManageContainerLayout]',
@@ -2094,10 +1858,10 @@ class DaffArticleEncapsulatedDirective {
2094
1858
  */
2095
1859
  this.class = true;
2096
1860
  }
2097
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffArticleEncapsulatedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2098
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffArticleEncapsulatedDirective, isStandalone: true, selector: "[daffArticleEncapsulated]", host: { properties: { "class.daff-ae": "this.class" } }, ngImport: i0 }); }
1861
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffArticleEncapsulatedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1862
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffArticleEncapsulatedDirective, isStandalone: true, selector: "[daffArticleEncapsulated]", host: { properties: { "class.daff-ae": "this.class" } }, ngImport: i0 }); }
2099
1863
  }
2100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffArticleEncapsulatedDirective, decorators: [{
1864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffArticleEncapsulatedDirective, decorators: [{
2101
1865
  type: Directive,
2102
1866
  args: [{
2103
1867
  selector: '[daffArticleEncapsulated]',
@@ -2139,7 +1903,7 @@ class DaffOsThemeService {
2139
1903
  this.doc = _doc;
2140
1904
  this.preference$ = this.doc.defaultView?.matchMedia
2141
1905
  ? fromEventPattern(addHandlerFactory(this.doc.defaultView), removeHandlerFactory(this.doc.defaultView))
2142
- .pipe(startWith(this.doc.defaultView?.matchMedia(mediaQueryDarkPreference)), map$1((e) => e.matches), map$1((prefersDark) => prefersDark ? DaffTheme.Dark : DaffTheme.Light))
1906
+ .pipe(startWith(this.doc.defaultView?.matchMedia(mediaQueryDarkPreference)), map((e) => e.matches), map((prefersDark) => prefersDark ? DaffTheme.Dark : DaffTheme.Light))
2143
1907
  : of(DaffTheme.None);
2144
1908
  }
2145
1909
  /**
@@ -2148,10 +1912,10 @@ class DaffOsThemeService {
2148
1912
  getThemePreference() {
2149
1913
  return this.preference$;
2150
1914
  }
2151
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOsThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2152
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOsThemeService, providedIn: 'root' }); }
1915
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOsThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1916
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOsThemeService, providedIn: 'root' }); }
2153
1917
  }
2154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOsThemeService, decorators: [{
1918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOsThemeService, decorators: [{
2155
1919
  type: Injectable,
2156
1920
  args: [{
2157
1921
  providedIn: 'root',
@@ -2182,7 +1946,7 @@ class DaffThemeStorageService {
2182
1946
  this.doc = _doc;
2183
1947
  this.theme$ = merge(this.storage$, this.doc.defaultView
2184
1948
  ? fromEvent(this.doc.defaultView, 'storage').pipe(startWith(storageEventBuilder(this.storage.getItem(THEME_STORAGE_KEY))), catchError((e) => EMPTY))
2185
- : of(storageEventBuilder(this.storage.getItem(THEME_STORAGE_KEY)))).pipe(filter((e) => e.key === THEME_STORAGE_KEY), map$1((e) => coerceValue(e.newValue)), shareReplay(1));
1949
+ : of(storageEventBuilder(this.storage.getItem(THEME_STORAGE_KEY)))).pipe(filter((e) => e.key === THEME_STORAGE_KEY), map((e) => coerceValue(e.newValue)), shareReplay(1));
2186
1950
  }
2187
1951
  /**
2188
1952
  * Given that Safari doesn't respect in-tab storage events, we have to manually
@@ -2205,10 +1969,10 @@ class DaffThemeStorageService {
2205
1969
  this.progressStorageEvent(DaffTheme.None);
2206
1970
  this.storage.removeItem(THEME_STORAGE_KEY);
2207
1971
  }
2208
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeStorageService, deps: [{ token: DaffServerSafePersistenceServiceToken }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2209
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeStorageService, providedIn: 'root' }); }
1972
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeStorageService, deps: [{ token: DaffServerSafePersistenceServiceToken }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1973
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeStorageService, providedIn: 'root' }); }
2210
1974
  }
2211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeStorageService, decorators: [{
1975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeStorageService, decorators: [{
2212
1976
  type: Injectable,
2213
1977
  args: [{
2214
1978
  providedIn: 'root',
@@ -2248,7 +2012,7 @@ class DaffThemingService {
2248
2012
  this.theme$ = combineLatest([
2249
2013
  this.osTheme.getThemePreference(),
2250
2014
  this.themeStorage.getThemeAsObservable(),
2251
- ]).pipe(map$1(([osPreference, storedPreference]) => daffComputeThemeSetting(osPreference, storedPreference)));
2015
+ ]).pipe(map(([osPreference, storedPreference]) => daffComputeThemeSetting(osPreference, storedPreference)));
2252
2016
  this.theme$.subscribe((theme) => {
2253
2017
  this.theme = theme;
2254
2018
  });
@@ -2279,10 +2043,10 @@ class DaffThemingService {
2279
2043
  ? this.lightMode()
2280
2044
  : this.darkMode();
2281
2045
  }
2282
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemingService, deps: [{ token: DaffOsThemeService }, { token: DaffThemeStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2283
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemingService, providedIn: 'root' }); }
2046
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemingService, deps: [{ token: DaffOsThemeService }, { token: DaffThemeStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2047
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemingService, providedIn: 'root' }); }
2284
2048
  }
2285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemingService, decorators: [{
2049
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemingService, decorators: [{
2286
2050
  type: Injectable,
2287
2051
  args: [{
2288
2052
  providedIn: 'root',
@@ -2325,10 +2089,10 @@ class DaffThemeClassSetterService {
2325
2089
  this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);
2326
2090
  this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);
2327
2091
  }
2328
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeClassSetterService, deps: [{ token: DOCUMENT }, { token: i0.RendererFactory2 }, { token: DaffThemingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2329
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeClassSetterService }); }
2092
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeClassSetterService, deps: [{ token: DOCUMENT }, { token: i0.RendererFactory2 }, { token: DaffThemingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2093
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeClassSetterService }); }
2330
2094
  }
2331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeClassSetterService, decorators: [{
2095
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeClassSetterService, decorators: [{
2332
2096
  type: Injectable
2333
2097
  }], ctorParameters: () => [{ type: undefined, decorators: [{
2334
2098
  type: Inject,
@@ -2409,10 +2173,10 @@ class DaffFocusStackService {
2409
2173
  this.document.activeElement.blur();
2410
2174
  return this.document.activeElement;
2411
2175
  }
2412
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFocusStackService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2413
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFocusStackService, providedIn: 'root' }); }
2176
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFocusStackService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2177
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFocusStackService, providedIn: 'root' }); }
2414
2178
  }
2415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFocusStackService, decorators: [{
2179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFocusStackService, decorators: [{
2416
2180
  type: Injectable,
2417
2181
  args: [{ providedIn: 'root' }]
2418
2182
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -2511,10 +2275,10 @@ class DaffSizableDirective {
2511
2275
  this.size = this.defaultSize;
2512
2276
  }
2513
2277
  }
2514
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2515
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffSizableDirective, isStandalone: true, selector: "[daffSizable]", inputs: { size: "size" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0 }); }
2278
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2279
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffSizableDirective, isStandalone: true, selector: "[daffSizable]", inputs: { size: "size" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0 }); }
2516
2280
  }
2517
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSizableDirective, decorators: [{
2281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSizableDirective, decorators: [{
2518
2282
  type: Directive,
2519
2283
  args: [{
2520
2284
  selector: '[daffSizable]',
@@ -2576,7 +2340,7 @@ const DaffOpenableStateError = '`open` cannot be set as an input property on the
2576
2340
  */
2577
2341
  class DaffOpenableDirective {
2578
2342
  constructor() {
2579
- /** Whether or not a component implementing the directive is open */
2343
+ /** Controls whether the component is open. */
2580
2344
  this.open = false;
2581
2345
  /** Whether or not a component should handle state
2582
2346
  *
@@ -2634,10 +2398,10 @@ class DaffOpenableDirective {
2634
2398
  }
2635
2399
  }
2636
2400
  }
2637
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOpenableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2638
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffOpenableDirective, isStandalone: true, selector: "[daffOpenable]", inputs: { open: "open" }, outputs: { toggled: "toggled" }, host: { properties: { "class.daff-open": "this.open" } }, usesOnChanges: true, ngImport: i0 }); }
2401
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOpenableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2402
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffOpenableDirective, isStandalone: true, selector: "[daffOpenable]", inputs: { open: "open" }, outputs: { toggled: "toggled" }, host: { properties: { "class.daff-open": "this.open" } }, usesOnChanges: true, ngImport: i0 }); }
2639
2403
  }
2640
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOpenableDirective, decorators: [{
2404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOpenableDirective, decorators: [{
2641
2405
  type: Directive,
2642
2406
  args: [{
2643
2407
  selector: '[daffOpenable]',
@@ -2655,7 +2419,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
2655
2419
  class DaffSelectableDirective {
2656
2420
  constructor(cd) {
2657
2421
  this.cd = cd;
2658
- /** Whether or not a component implementing the directive is selected */
2422
+ /**
2423
+ * Controls whether the component is selected.
2424
+ */
2659
2425
  this.selected = false;
2660
2426
  /**
2661
2427
  * An event that fires after the media element becomes selected.
@@ -2673,10 +2439,10 @@ class DaffSelectableDirective {
2673
2439
  this.cd.markForCheck();
2674
2440
  return this;
2675
2441
  }
2676
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSelectableDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2677
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffSelectableDirective, isStandalone: true, selector: "[daffSelected]", inputs: { selected: "selected" }, outputs: { becameSelected: "becameSelected" }, host: { properties: { "class.daff-selected": "this.selected" } }, ngImport: i0 }); }
2442
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSelectableDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2443
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: DaffSelectableDirective, isStandalone: true, selector: "[daffSelected]", inputs: { selected: "selected" }, outputs: { becameSelected: "becameSelected" }, host: { properties: { "class.daff-selected": "this.selected" } }, ngImport: i0 }); }
2678
2444
  }
2679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSelectableDirective, decorators: [{
2445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSelectableDirective, decorators: [{
2680
2446
  type: Directive,
2681
2447
  args: [{
2682
2448
  selector: '[daffSelected]',
@@ -2707,5 +2473,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
2707
2473
  * Generated bundle index. Do not edit.
2708
2474
  */
2709
2475
 
2710
- export { DAFF_FORM_FIELD_COMPONENTS, DAFF_THEME_INITIALIZER, DaffArticleEncapsulatedDirective, DaffBreakpoints, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffColorableDirective, DaffCompactableDirective, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFocusStackService, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule, DaffFormLabelDirective, DaffFormLabelModule, DaffHintComponent, DaffInputComponent, DaffInputModule, DaffManageContainerLayoutDirective, DaffNativeSelectComponent, DaffNativeSelectModule, DaffOpenableDirective, DaffPrefixDirective, DaffPrefixSuffixModule, DaffQuantityFieldComponent, DaffQuantityFieldModule, DaffQuantityInputComponent, DaffQuantitySelectComponent, DaffRadioComponent, DaffRadioControlValueAccessorDirective, DaffRadioModule, DaffRadioSetComponent, DaffSelectableDirective, DaffSizableDirective, DaffSizableEnum, DaffSkeletonableDirective, DaffStatusEnum, DaffStatusableDirective, DaffSuffixDirective, DaffTextAlignableDirective, DaffTextAlignmentEnum, DaffTheme, DaffThemingService, NoopBreakpointObserver, SERVER_SAFE_BREAKPOINT_OBSERVER, daffFocusableElementsSelector };
2476
+ export { DAFF_FORM_FIELD_COMPONENTS, DAFF_THEME_INITIALIZER, DaffArticleEncapsulatedDirective, DaffBreakpoints, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffColorableDirective, DaffCompactableDirective, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFocusStackService, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldLabelDirective, DaffFormFieldModule, DaffFormLabelDirective, DaffFormLabelModule, DaffHintComponent, DaffManageContainerLayoutDirective, DaffNativeSelectComponent, DaffNativeSelectModule, DaffOpenableDirective, DaffPrefixDirective, DaffPrefixSuffixModule, DaffRadioComponent, DaffRadioControlValueAccessorDirective, DaffRadioModule, DaffRadioSetComponent, DaffSelectableDirective, DaffSizableDirective, DaffSizableEnum, DaffSkeletonableDirective, DaffStatusEnum, DaffStatusableDirective, DaffSuffixDirective, DaffTextAlignableDirective, DaffTextAlignmentEnum, DaffTheme, DaffThemingService, NoopBreakpointObserver, SERVER_SAFE_BREAKPOINT_OBSERVER, daffFocusableElementsSelector };
2711
2477
  //# sourceMappingURL=daffodil-design.mjs.map