@daffodil/design 0.83.0 → 0.85.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 (251) hide show
  1. package/accordion/src/accordion-theme.scss +11 -13
  2. package/article/src/article-theme.scss +36 -38
  3. package/atoms/form/checkbox/cva/checkbox-cva.directive.d.ts +3 -0
  4. package/atoms/form/error-message/error-message.component.d.ts +4 -1
  5. package/atoms/form/error-message/error-message.module.d.ts +4 -1
  6. package/atoms/form/form-field/form-field/form-field.component.d.ts +40 -25
  7. package/atoms/form/form-field/form-field-control.d.ts +19 -4
  8. package/atoms/form/form-field/form-field-state.d.ts +7 -0
  9. package/atoms/form/form-field/form-field.d.ts +10 -0
  10. package/atoms/form/form-field/form-field.module.d.ts +6 -4
  11. package/atoms/form/form-field/public_api.d.ts +2 -1
  12. package/atoms/form/form-label/form-label.directive.d.ts +4 -1
  13. package/atoms/form/form-label/form-label.module.d.ts +4 -1
  14. package/atoms/form/hint/hint.component.d.ts +13 -0
  15. package/atoms/form/hint/public_api.d.ts +1 -0
  16. package/atoms/form/native-select/native-select.component.d.ts +5 -1
  17. package/atoms/form/radio/cva/radio-cva.directive.d.ts +3 -0
  18. package/breadcrumb/breadcrumb/breadcrumb.component.d.ts +3 -0
  19. package/breadcrumb/src/breadcrumb-theme.scss +14 -7
  20. package/button/button/button-base.directive.d.ts +6 -23
  21. package/button/button/raised/raised.component.d.ts +1 -1
  22. package/button/src/button/basic/button-theme.scss +84 -114
  23. package/button/src/button/button-base.scss +17 -4
  24. package/button/src/button/flat/flat-theme.scss +32 -68
  25. package/button/src/button/icon/icon-theme.scss +78 -106
  26. package/button/src/button/raised/raised-theme.scss +30 -32
  27. package/button/src/button/stroked/stroked-theme.scss +35 -69
  28. package/button/src/button/underline/underline-theme.scss +34 -50
  29. package/callout/src/callout-theme.scss +37 -22
  30. package/card/card/basic/basic.component.d.ts +3 -0
  31. package/card/card/raised/raised.component.d.ts +3 -0
  32. package/card/card/stroked/stroked.component.d.ts +3 -0
  33. package/card/src/card/raised/raised-theme.scss +9 -11
  34. package/card/src/card/stroked/stroked-theme.scss +32 -34
  35. package/card/src/card-base-theme.scss +42 -44
  36. package/checkbox/examples/basic-checkbox/basic-checkbox.component.d.ts +3 -0
  37. package/checkbox/examples/checkbox-set/checkbox-set.component.d.ts +3 -0
  38. package/core/article-encapsulated/article-encapsulated.directive.d.ts +3 -0
  39. package/core/colorable/colorable.d.ts +2 -2
  40. package/core/colorable/colorable.directive.d.ts +8 -0
  41. package/core/manage-container-layout/manage-container-layout.directive.d.ts +3 -0
  42. package/core/openable/openable.directive.d.ts +3 -0
  43. package/core/prefix-suffix/prefix-suffix.module.d.ts +1 -1
  44. package/core/prefix-suffix/prefix.directive.d.ts +4 -1
  45. package/core/prefix-suffix/public_api.d.ts +0 -4
  46. package/core/prefix-suffix/suffix.directive.d.ts +4 -1
  47. package/core/sizable/sizable.directive.d.ts +8 -0
  48. package/core/statusable/statusable.directive.d.ts +2 -0
  49. package/core/text-alignable/text-alignable.directive.d.ts +6 -1
  50. package/fesm2022/daffodil-design-accordion-examples.mjs +10 -10
  51. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  52. package/fesm2022/daffodil-design-accordion.mjs +15 -15
  53. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  54. package/fesm2022/daffodil-design-article-examples.mjs +31 -31
  55. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  56. package/fesm2022/daffodil-design-article.mjs +11 -11
  57. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  58. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +7 -7
  59. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +1 -1
  60. package/fesm2022/daffodil-design-breadcrumb.mjs +15 -12
  61. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  62. package/fesm2022/daffodil-design-button-examples.mjs +41 -37
  63. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  64. package/fesm2022/daffodil-design-button.mjs +46 -53
  65. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  66. package/fesm2022/daffodil-design-callout-examples.mjs +13 -13
  67. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  68. package/fesm2022/daffodil-design-callout.mjs +23 -23
  69. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  70. package/fesm2022/daffodil-design-card-examples.mjs +19 -19
  71. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  72. package/fesm2022/daffodil-design-card.mjs +44 -35
  73. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  74. package/fesm2022/daffodil-design-checkbox-examples.mjs +13 -7
  75. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  76. package/fesm2022/daffodil-design-container-examples.mjs +4 -4
  77. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  78. package/fesm2022/daffodil-design-container.mjs +8 -8
  79. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  80. package/fesm2022/daffodil-design-hero-examples.mjs +13 -13
  81. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  82. package/fesm2022/daffodil-design-hero.mjs +23 -23
  83. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  84. package/fesm2022/daffodil-design-image-examples.mjs +10 -10
  85. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  86. package/fesm2022/daffodil-design-image.mjs +9 -9
  87. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  88. package/fesm2022/daffodil-design-input-examples.mjs +72 -28
  89. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  90. package/fesm2022/daffodil-design-input.mjs +96 -0
  91. package/fesm2022/daffodil-design-input.mjs.map +1 -0
  92. package/fesm2022/daffodil-design-link-set.mjs +17 -17
  93. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  94. package/fesm2022/daffodil-design-list-examples.mjs +13 -13
  95. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  96. package/fesm2022/daffodil-design-list.mjs +12 -12
  97. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  98. package/fesm2022/daffodil-design-loading-icon-examples.mjs +4 -4
  99. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  100. package/fesm2022/daffodil-design-loading-icon.mjs +8 -8
  101. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  102. package/fesm2022/daffodil-design-media-gallery-examples.mjs +16 -16
  103. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  104. package/fesm2022/daffodil-design-media-gallery.mjs +14 -21
  105. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  106. package/fesm2022/daffodil-design-menu-examples.mjs +7 -7
  107. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  108. package/fesm2022/daffodil-design-menu.mjs +39 -26
  109. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  110. package/fesm2022/daffodil-design-modal-examples.mjs +7 -7
  111. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  112. package/fesm2022/daffodil-design-modal.mjs +61 -28
  113. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  114. package/fesm2022/daffodil-design-navbar-examples.mjs +13 -13
  115. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  116. package/fesm2022/daffodil-design-navbar.mjs +9 -9
  117. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  118. package/fesm2022/daffodil-design-notification-examples.mjs +17 -22
  119. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  120. package/fesm2022/daffodil-design-notification.mjs +51 -24
  121. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  122. package/fesm2022/daffodil-design-paginator-examples.mjs +7 -7
  123. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  124. package/fesm2022/daffodil-design-paginator.mjs +9 -9
  125. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  126. package/fesm2022/daffodil-design-progress-bar-examples.mjs +10 -10
  127. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  128. package/fesm2022/daffodil-design-progress-bar.mjs +30 -12
  129. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  130. package/fesm2022/daffodil-design-quantity-field-examples.mjs +23 -22
  131. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  132. package/fesm2022/daffodil-design-quantity-field.mjs +355 -0
  133. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -0
  134. package/fesm2022/daffodil-design-radio-examples.mjs +4 -4
  135. package/fesm2022/daffodil-design-radio-examples.mjs.map +1 -1
  136. package/fesm2022/daffodil-design-sidebar-examples.mjs +13 -13
  137. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  138. package/fesm2022/daffodil-design-sidebar.mjs +27 -27
  139. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  140. package/fesm2022/daffodil-design-switch-examples.mjs +17 -17
  141. package/fesm2022/daffodil-design-switch-examples.mjs.map +1 -1
  142. package/fesm2022/daffodil-design-switch.mjs +6 -7
  143. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  144. package/fesm2022/daffodil-design-tabs-examples.mjs +16 -16
  145. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -1
  146. package/fesm2022/daffodil-design-tabs.mjs +38 -19
  147. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  148. package/fesm2022/daffodil-design-text-snippet-examples.mjs +4 -4
  149. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -1
  150. package/fesm2022/daffodil-design-text-snippet.mjs +4 -4
  151. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
  152. package/fesm2022/daffodil-design-toast-examples.mjs +22 -16
  153. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  154. package/fesm2022/daffodil-design-toast.mjs +24 -26
  155. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  156. package/fesm2022/daffodil-design-tree-examples.mjs +7 -7
  157. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  158. package/fesm2022/daffodil-design-tree.mjs +30 -16
  159. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  160. package/fesm2022/daffodil-design-youtube-player.mjs +10 -7
  161. package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
  162. package/fesm2022/daffodil-design.mjs +531 -818
  163. package/fesm2022/daffodil-design.mjs.map +1 -1
  164. package/hero/src/hero-theme.scss +37 -22
  165. package/input/README.md +66 -0
  166. package/input/examples/examples.d.ts +2 -2
  167. package/input/examples/input-disabled/input-disabled.component.d.ts +2 -0
  168. package/input/examples/input-hint/input-hint.component.d.ts +5 -0
  169. package/input/examples/input-hint-and-error/input-hint-and-error.component.d.ts +9 -0
  170. package/input/examples/input-with-form-field/input-with-form-field.component.d.ts +2 -0
  171. package/input/index.d.ts +1 -0
  172. package/{atoms/form/input → input}/input.component.d.ts +16 -20
  173. package/input/input.module.d.ts +10 -0
  174. package/list/list/list.component.d.ts +1 -1
  175. package/list/src/list-theme.scss +20 -26
  176. package/loading-icon/src/loading-icon-theme.scss +20 -22
  177. package/media-gallery/media-gallery/media-gallery.component.d.ts +0 -4
  178. package/media-gallery/src/media-gallery-theme.scss +10 -12
  179. package/menu/helpers/create-overlay.d.ts +1 -1
  180. package/menu/menu/menu.component.d.ts +15 -0
  181. package/menu/menu-activator/menu-activator.component.d.ts +3 -0
  182. package/menu/src/menu-theme.scss +34 -16
  183. package/modal/modal/modal.component.d.ts +21 -0
  184. package/modal/modal-actions/modal-actions.component.d.ts +3 -0
  185. package/modal/modal-close/modal-close.directive.d.ts +3 -0
  186. package/modal/modal-content/modal-content.component.d.ts +3 -0
  187. package/modal/modal-title/modal-title.directive.d.ts +3 -0
  188. package/modal/src/modal-theme.scss +2 -2
  189. package/navbar/src/navbar-theme.scss +21 -18
  190. package/notification/README.md +11 -12
  191. package/notification/notification/notification.component.d.ts +17 -2
  192. package/notification/notification-actions/notification-actions.directive.d.ts +3 -0
  193. package/notification/notification-message/notification-message.directive.d.ts +3 -0
  194. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +3 -0
  195. package/notification/notification-title/notification-title.directive.d.ts +3 -0
  196. package/notification/notification.d.ts +2 -2
  197. package/notification/src/notification-theme.scss +44 -46
  198. package/package.json +1 -1
  199. package/paginator/src/paginator-theme.scss +26 -23
  200. package/progress-bar/progress-bar-label/progress-bar-label.directive.d.ts +3 -0
  201. package/progress-bar/progress-bar.component.d.ts +15 -0
  202. package/progress-bar/src/progress-bar-theme.scss +18 -20
  203. package/public_api.d.ts +1 -2
  204. package/quantity-field/README.md +63 -0
  205. package/quantity-field/index.d.ts +1 -0
  206. package/quantity-field/public_api.d.ts +2 -0
  207. package/{atoms/form/quantity-field → quantity-field}/quantity-field.component.d.ts +5 -4
  208. package/quantity-field/quantity-field.module.d.ts +11 -0
  209. package/{atoms/form/quantity-field → quantity-field}/quantity-input/quantity-input.component.d.ts +5 -2
  210. package/{atoms/form/quantity-field → quantity-field}/quantity-select/quantity-select.component.d.ts +2 -2
  211. package/scss/state/skeleton/_mixins.scss +22 -13
  212. package/scss/theme.scss +2 -2
  213. package/scss/theming/_configure-theme.scss +16 -16
  214. package/scss/theming/_get-base-color.scss +19 -0
  215. package/scss/theming/_get-palette.scss +27 -0
  216. package/scss/theming/_get-theme-mode.scss +9 -0
  217. package/scss/theming/_index.scss +3 -0
  218. package/scss/theming/_light-dark.scss +4 -4
  219. package/scss/theming/_theme-css-variables.scss +20 -20
  220. package/sidebar/src/sidebar-theme.scss +4 -5
  221. package/src/atoms/form/error-message/error-message-theme.scss +4 -2
  222. package/src/atoms/form/form-field/form-field/form-field-theme.scss +47 -24
  223. package/src/atoms/form/hint/hint-theme.scss +22 -0
  224. package/src/atoms/form/native-select/native-select-theme.scss +5 -7
  225. package/switch/src/switch-theme.scss +13 -15
  226. package/switch/switch.d.ts +2 -2
  227. package/tabs/src/tabs-theme.scss +13 -15
  228. package/tabs/tabs/tab-activator/tab-activator.component.d.ts +15 -0
  229. package/tabs/tabs/tab-label/tab-label.component.d.ts +2 -5
  230. package/tabs/tabs/tabs.component.d.ts +3 -0
  231. package/toast/examples/default-toast/default-toast.component.d.ts +3 -0
  232. package/toast/examples/toast-positions/toast-positions.component.d.ts +3 -0
  233. package/toast/src/toast-theme.scss +36 -38
  234. package/toast/toast/toast.component.d.ts +3 -5
  235. package/tree/interfaces/tree-data.d.ts +15 -0
  236. package/tree/interfaces/tree-render-mode.d.ts +2 -2
  237. package/tree/src/tree-theme.scss +20 -22
  238. package/tree/tree/tree-notifier.service.d.ts +3 -3
  239. package/tree/tree/tree.component.d.ts +13 -3
  240. package/tree/tree-item/tree-item.directive.d.ts +6 -0
  241. package/youtube-player/youtube-player.component.d.ts +3 -0
  242. package/atoms/form/input/input.module.d.ts +0 -8
  243. package/atoms/form/quantity-field/public_api.d.ts +0 -4
  244. package/atoms/form/quantity-field/quantity-field.module.d.ts +0 -13
  245. package/core/prefix-suffix/prefixable/prefixable-interface.d.ts +0 -7
  246. package/core/prefix-suffix/prefixable/prefixable.d.ts +0 -11
  247. package/core/prefix-suffix/suffixable/suffixable-interface.d.ts +0 -7
  248. package/core/prefix-suffix/suffixable/suffixable.d.ts +0 -11
  249. package/input/examples/basic-input/basic-input.component.d.ts +0 -5
  250. package/src/atoms/form/input/input-theme.scss +0 -16
  251. /package/{atoms/form/input → input}/public_api.d.ts +0 -0
@@ -1,16 +1,10 @@
1
- import * as i2 from '@angular/common';
2
- import { CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
3
1
  import * as i0 from '@angular/core';
4
- import { Component, ViewEncapsulation, HostBinding, Input, ContentChild, ChangeDetectionStrategy, NgModule, Optional, Self, HostListener, EventEmitter, ElementRef, ViewChild, Output, Directive, ContentChildren, Injectable, InjectionToken, inject, PLATFORM_ID, Inject, makeEnvironmentProviders, provideAppInitializer, isDevMode } from '@angular/core';
5
- import * as i2$1 from '@fortawesome/angular-fontawesome';
6
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
7
- import { faChevronDown } from '@fortawesome/free-solid-svg-icons';
2
+ import { HostBinding, Directive, Input, ContentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule, HostListener, Optional, Self, EventEmitter, ElementRef, Output, ViewChild, ContentChildren, Injectable, InjectionToken, inject, PLATFORM_ID, Inject, makeEnvironmentProviders, provideAppInitializer, isDevMode } from '@angular/core';
3
+ import { BehaviorSubject, of, fromEventPattern, Subject, merge, fromEvent, EMPTY, combineLatest } from 'rxjs';
8
4
  import * as i1 from '@angular/forms';
9
- import { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
10
- import { coerceNumberProperty } from '@angular/cdk/coercion';
11
- import { Subject, of, fromEventPattern, merge, fromEvent, EMPTY, combineLatest } from 'rxjs';
12
- import { takeUntil, startWith, map, catchError, filter, shareReplay } from 'rxjs/operators';
5
+ import { CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
13
6
  import { BreakpointObserver } from '@angular/cdk/layout';
7
+ import { startWith, map, catchError, filter, shareReplay } from 'rxjs/operators';
14
8
  import { DaffServerSafePersistenceServiceToken } from '@daffodil/core';
15
9
 
16
10
  class DaffErrorStateMatcher {
@@ -19,6 +13,118 @@ class DaffErrorStateMatcher {
19
13
  }
20
14
  }
21
15
 
16
+ /**
17
+ *
18
+ * Prefix can be used to place content before another piece of content in components like
19
+ * `daff-form-field`, `daff-solo-field`, and `daff-list`.
20
+ */
21
+ class DaffPrefixDirective {
22
+ constructor() {
23
+ /**
24
+ * @docs-private
25
+ */
26
+ this.class = true;
27
+ }
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 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[daffPrefix]',
35
+ }]
36
+ }], propDecorators: { class: [{
37
+ type: HostBinding,
38
+ args: ['class.daff-prefix']
39
+ }] } });
40
+
41
+ /**
42
+ *
43
+ * Prefix can be used to place content after another piece of content in components like
44
+ * `daff-form-field`, `daff-solo-field`, and `daff-list`.
45
+ */
46
+ class DaffSuffixDirective {
47
+ constructor() {
48
+ /**
49
+ * @docs-private
50
+ */
51
+ this.class = true;
52
+ }
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 }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSuffixDirective, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ selector: '[daffSuffix]',
60
+ }]
61
+ }], propDecorators: { class: [{
62
+ type: HostBinding,
63
+ args: ['class.daff-suffix']
64
+ }] } });
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
+ this.skeleton = false;
111
+ }
112
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSkeletonableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
113
+ /** @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 }); }
114
+ }
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSkeletonableDirective, decorators: [{
116
+ type: Directive,
117
+ args: [{
118
+ selector: '[daffSkeletonable]',
119
+ standalone: true,
120
+ }]
121
+ }], propDecorators: { skeleton: [{
122
+ type: Input
123
+ }, {
124
+ type: HostBinding,
125
+ args: ['class.daff-skeleton']
126
+ }] } });
127
+
22
128
  /**
23
129
  *
24
130
  * The class that a form control must **implement** in order to be
@@ -31,33 +137,75 @@ class DaffErrorStateMatcher {
31
137
  * be used for the necessary dependency injection.
32
138
  */
33
139
  class DaffFormFieldControl {
140
+ get raised() {
141
+ return this.focused;
142
+ }
143
+ ;
144
+ constructor(ngControl) {
145
+ this.ngControl = ngControl;
146
+ this._stateChanges = new BehaviorSubject({
147
+ focused: false,
148
+ filled: false,
149
+ disabled: false,
150
+ error: false,
151
+ valid: true,
152
+ });
153
+ }
154
+ get state() {
155
+ return {
156
+ focused: this.focused,
157
+ filled: !!this.value,
158
+ disabled: this.ngControl?.disabled,
159
+ error: this.ngControl?.errors && (this.ngControl?.dirty || this.ngControl?.touched),
160
+ valid: !this.ngControl?.errors && (this.ngControl?.dirty || this.ngControl?.touched),
161
+ };
162
+ }
163
+ emitState() {
164
+ this._stateChanges.next(this.state);
165
+ }
34
166
  }
35
167
  ;
36
168
 
37
169
  const DaffFormFieldMissingControlMessage = 'A DaffFormFieldComponent must contain a DaffFormFieldControl';
38
170
 
39
- // ChangeDetection is ignored because this component needs to be refactored
40
- // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
41
171
  class DaffFormFieldComponent {
42
- constructor() {
43
- /**
44
- * @docs-private
45
- */
46
- this.faChevronDown = faChevronDown;
172
+ /** @docs-private */
173
+ get isSelectField() {
174
+ return this._control.controlType === 'native-select';
175
+ }
176
+ /**
177
+ * @docs-private
178
+ */
179
+ get errorClass() {
180
+ return this.isError;
181
+ }
182
+ /**
183
+ * @docs-private
184
+ */
185
+ get disabledClass() {
186
+ return this.isDisabled;
187
+ }
188
+ /**
189
+ * @docs-private
190
+ */
191
+ get validClass() {
192
+ return this.isValid;
193
+ }
194
+ constructor(cd) {
195
+ this.cd = cd;
196
+ /** @docs-private */
47
197
  this.class = true;
48
- /**
49
- * The tracking property used to determine if the parent form has been submitted,
50
- * and thus show an error message (even if the field hasn't been touched).
51
- *
52
- * @deprecated Deprecated in version 0.78.0. Will be removed in version 1.0.0.
53
- */
54
- // eslint-disable-next-line @typescript-eslint/no-inferrable-types
55
- this.formSubmitted = false;
56
198
  /**
57
199
  * Tracking property to keep a record of whether or not the
58
200
  * form field should be marked as error.
59
201
  */
60
202
  this.isError = false;
203
+ /**
204
+ * Tracking property to keep a record of whether or not the
205
+ * form field contains any user input.
206
+ */
207
+ this.isFilled = false;
208
+ this.isDisabled = false;
61
209
  /**
62
210
  * Tracking property to keep a record of whether or not the
63
211
  * form field should be marked as valid.
@@ -65,30 +213,25 @@ class DaffFormFieldComponent {
65
213
  this.isValid = false;
66
214
  }
67
215
  /**
68
- * @docs
69
- *
70
216
  * Determines whether or not the form field should display its focused state.
71
217
  */
72
218
  get isFocused() {
73
219
  return this._control?.focused;
74
220
  }
75
221
  /**
76
- * Keeps the state of the form field consistent with its child DaffFormControl
77
- *
78
- * TODO: consider whether or not this can be refactored to some kind of
79
- * observable to remove unnecessary change detection.
80
- *
81
222
  * @docs-private
82
223
  */
83
- ngDoCheck() {
84
- if (this._control?.ngControl) {
85
- this.isError = this._control.ngControl.errors && (this._control.ngControl.touched);
86
- this.isValid = !this._control.ngControl.errors && this._control.ngControl.touched;
87
- }
224
+ get focusedClass() {
225
+ return this.isFocused;
88
226
  }
89
227
  /**
90
- * Validate whether or not the FormField is in
91
- * a "usable" state.
228
+ * @docs-private
229
+ */
230
+ get raisedClass() {
231
+ return this._control?.raised || this.isFilled;
232
+ }
233
+ /**
234
+ * Validate whether or not the FormField is in a "usable" state.
92
235
  */
93
236
  _validateFormControl() {
94
237
  if (!this._control) {
@@ -104,6 +247,13 @@ class DaffFormFieldComponent {
104
247
  */
105
248
  ngAfterContentInit() {
106
249
  this._validateFormControl();
250
+ this._control.stateChanges?.subscribe(({ focused, filled, disabled, error, valid }) => {
251
+ this.isFilled = filled;
252
+ this.isError = error;
253
+ this.isDisabled = disabled;
254
+ this.isValid = valid;
255
+ this.cd.markForCheck();
256
+ });
107
257
  }
108
258
  /**
109
259
  * Life cycle hook to verify that the form field has an acceptable
@@ -115,193 +265,239 @@ class DaffFormFieldComponent {
115
265
  ngAfterContentChecked() {
116
266
  this._validateFormControl();
117
267
  }
118
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffFormFieldComponent, isStandalone: false, selector: "daff-form-field", inputs: { formSubmitted: "formSubmitted" }, host: { properties: { "class.daff-form-field": "this.class" } }, queries: [{ propertyName: "_control", first: true, predicate: DaffFormFieldControl, descendants: true }], ngImport: i0, template: "<div class=\"daff-form-field__control\" [class.daff-error]=\"isError\" [class.daff-valid]=\"isValid\" [class.daff-focus]=\"isFocused\">\n <ng-content></ng-content>\n <div class=\"daff-form-field__icon\" *ngIf=\"_control.controlType === 'native-select'\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </div>\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n", styles: [".daff-form-field{display:block;position:relative}.daff-form-field__control{border-radius:3px;display:inline-block;font-size:1rem;height:inherit;line-height:1.5rem;padding:10px 15px;width:100%}.daff-form-field__icon{display:inline-block;pointer-events:none;position:absolute;right:15px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], encapsulation: i0.ViewEncapsulation.None }); }
268
+ /** @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 }); }
269
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: DaffFormFieldComponent, isStandalone: true, selector: "daff-form-field", 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 }], 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<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-hint\"></ng-content>\n<ng-content select=\"daff-error-message\"></ng-content>", styles: [".daff-form-field{display:block;position:relative}.daff-form-field .daff-hint,.daff-form-field .daff-error-message{margin-top:.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 input,.daff-form-field__control textarea,.daff-form-field__control select{font-size:1rem;line-height:1.5rem;padding:1rem}.daff-form-field__control .daff-form-label{position:absolute;left:1rem;top:1.25rem;pointer-events:none;transform-origin:left top;transition:transform .15s}.daff-form-field__control .daff-form-label+input,.daff-form-field__control .daff-form-label+textarea,.daff-form-field__control .daff-form-label+select{padding:1.5rem 1rem .5rem}.daff-form-field__control+.daff-hint,.daff-form-field__control+.daff-error-message{margin-top:.5rem}.daff-form-field.daff-raised .daff-form-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}.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}.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 }); }
120
270
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldComponent, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldComponent, decorators: [{
122
272
  type: Component,
123
- args: [{ selector: 'daff-form-field', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"daff-form-field__control\" [class.daff-error]=\"isError\" [class.daff-valid]=\"isValid\" [class.daff-focus]=\"isFocused\">\n <ng-content></ng-content>\n <div class=\"daff-form-field__icon\" *ngIf=\"_control.controlType === 'native-select'\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </div>\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n", styles: [".daff-form-field{display:block;position:relative}.daff-form-field__control{border-radius:3px;display:inline-block;font-size:1rem;height:inherit;line-height:1.5rem;padding:10px 15px;width:100%}.daff-form-field__icon{display:inline-block;pointer-events:none;position:absolute;right:15px}\n"] }]
124
- }], propDecorators: { class: [{
273
+ args: [{ selector: 'daff-form-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
274
+ {
275
+ directive: DaffSkeletonableDirective,
276
+ inputs: ['skeleton'],
277
+ },
278
+ ], 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<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-hint\"></ng-content>\n<ng-content select=\"daff-error-message\"></ng-content>", styles: [".daff-form-field{display:block;position:relative}.daff-form-field .daff-hint,.daff-form-field .daff-error-message{margin-top:.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 input,.daff-form-field__control textarea,.daff-form-field__control select{font-size:1rem;line-height:1.5rem;padding:1rem}.daff-form-field__control .daff-form-label{position:absolute;left:1rem;top:1.25rem;pointer-events:none;transform-origin:left top;transition:transform .15s}.daff-form-field__control .daff-form-label+input,.daff-form-field__control .daff-form-label+textarea,.daff-form-field__control .daff-form-label+select{padding:1.5rem 1rem .5rem}.daff-form-field__control+.daff-hint,.daff-form-field__control+.daff-error-message{margin-top:.5rem}.daff-form-field.daff-raised .daff-form-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}.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}.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"] }]
279
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { class: [{
125
280
  type: HostBinding,
126
281
  args: ['class.daff-form-field']
127
- }], formSubmitted: [{
128
- type: Input
282
+ }], _prefix: [{
283
+ type: ContentChild,
284
+ args: [DaffPrefixDirective]
285
+ }], _suffix: [{
286
+ type: ContentChild,
287
+ args: [DaffSuffixDirective]
129
288
  }], _control: [{
130
289
  type: ContentChild,
131
290
  args: [DaffFormFieldControl]
291
+ }], errorClass: [{
292
+ type: HostBinding,
293
+ args: ['class.daff-error']
294
+ }], disabledClass: [{
295
+ type: HostBinding,
296
+ args: ['class.daff-disabled']
297
+ }], validClass: [{
298
+ type: HostBinding,
299
+ args: ['class.daff-valid']
300
+ }], focusedClass: [{
301
+ type: HostBinding,
302
+ args: ['class.daff-focused']
303
+ }], raisedClass: [{
304
+ type: HostBinding,
305
+ args: ['class.daff-raised']
132
306
  }] } });
133
307
 
134
308
  class DaffErrorMessageComponent {
135
309
  constructor() {
310
+ /**
311
+ * @docs-private
312
+ */
136
313
  this.class = true;
137
314
  }
138
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffErrorMessageComponent, isStandalone: false, 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;margin-top:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
315
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
316
+ /** @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" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;font-size:.875rem;line-height:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
317
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageComponent, decorators: [{
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageComponent, decorators: [{
142
319
  type: Component,
143
- args: [{ selector: 'daff-error-message', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [":host{display:block;font-size:.875rem;margin-top:5px}\n"] }]
320
+ args: [{ selector: 'daff-error-message', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;font-size:.875rem;line-height:1rem}\n"] }]
144
321
  }], propDecorators: { class: [{
145
322
  type: HostBinding,
146
323
  args: ['class.daff-error-message']
147
324
  }] } });
148
325
 
326
+ /**
327
+ * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
328
+ */
149
329
  class DaffErrorMessageModule {
150
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
151
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule, declarations: [DaffErrorMessageComponent], exports: [DaffErrorMessageComponent] }); }
152
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule }); }
330
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
331
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule, imports: [DaffErrorMessageComponent], exports: [DaffErrorMessageComponent] }); }
332
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule }); }
153
333
  }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffErrorMessageModule, decorators: [{
334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffErrorMessageModule, decorators: [{
155
335
  type: NgModule,
156
336
  args: [{
157
337
  exports: [
158
338
  DaffErrorMessageComponent,
159
339
  ],
160
- declarations: [
340
+ imports: [
161
341
  DaffErrorMessageComponent,
162
342
  ],
163
343
  }]
164
344
  }] });
165
345
 
166
- class DaffFormFieldModule {
167
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
168
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, declarations: [DaffFormFieldComponent], imports: [CommonModule,
169
- FontAwesomeModule,
170
- DaffErrorMessageModule], exports: [DaffFormFieldComponent,
171
- DaffErrorMessageModule] }); }
172
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, imports: [CommonModule,
173
- FontAwesomeModule,
174
- DaffErrorMessageModule, DaffErrorMessageModule] }); }
346
+ class DaffFormLabelDirective {
347
+ constructor() {
348
+ /**
349
+ * @docs-private
350
+ */
351
+ this.class = true;
352
+ }
353
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
354
+ /** @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 }); }
175
355
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormFieldModule, decorators: [{
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelDirective, decorators: [{
357
+ type: Directive,
358
+ args: [{
359
+ selector: '[daffFormLabel]',
360
+ }]
361
+ }], propDecorators: { class: [{
362
+ type: HostBinding,
363
+ args: ['class.daff-form-label']
364
+ }] } });
365
+
366
+ /**
367
+ * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
368
+ */
369
+ class DaffFormLabelModule {
370
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
371
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule, imports: [DaffFormLabelDirective], exports: [DaffFormLabelDirective] }); }
372
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule }); }
373
+ }
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormLabelModule, decorators: [{
177
375
  type: NgModule,
178
376
  args: [{
179
- imports: [
180
- CommonModule,
181
- FontAwesomeModule,
182
- DaffErrorMessageModule,
183
- ],
184
377
  exports: [
185
- DaffFormFieldComponent,
186
- DaffErrorMessageModule,
378
+ DaffFormLabelDirective,
187
379
  ],
188
- declarations: [
189
- DaffFormFieldComponent,
380
+ imports: [
381
+ DaffFormLabelDirective,
190
382
  ],
191
383
  }]
192
384
  }] });
193
385
 
194
386
  /**
195
- * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.
387
+ * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.
196
388
  */
197
- class DaffInputComponent {
198
- /**
199
- * @docs-private
200
- */
201
- focus() {
202
- this.focused = true;
203
- }
204
- /**
205
- * @docs-private
206
- */
207
- blur() {
208
- this.focused = false;
209
- }
210
- constructor(
211
- /**
212
- * @docs-private
213
- */
214
- ngControl, _elementRef) {
215
- this.ngControl = ngControl;
216
- this._elementRef = _elementRef;
217
- this.focused = false;
218
- }
219
- onFocus() {
220
- this._elementRef.nativeElement.focus();
221
- }
222
- /** @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 }); }
223
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffInputComponent, isStandalone: false, selector: "input[daff-input]", inputs: { formSubmitted: "formSubmitted" }, host: { listeners: { "focus": "focus()", "blur": "blur()" } }, providers: [
224
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
225
- { provide: DaffFormFieldControl, useExisting: DaffInputComponent },
226
- ], 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}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
227
- }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputComponent, decorators: [{
229
- type: Component,
230
- args: [{ selector: 'input[daff-input]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
231
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
232
- { provide: DaffFormFieldControl, useExisting: DaffInputComponent },
233
- ], standalone: false, 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}\n"] }]
234
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
235
- type: Optional
236
- }, {
237
- type: Self
238
- }] }, { type: i0.ElementRef }], propDecorators: { formSubmitted: [{
239
- type: Input
240
- }], focus: [{
241
- type: HostListener,
242
- args: ['focus']
243
- }], blur: [{
244
- type: HostListener,
245
- args: ['blur']
246
- }] } });
247
-
248
- class DaffInputModule {
249
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
250
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule, declarations: [DaffInputComponent], imports: [CommonModule], exports: [DaffInputComponent] }); }
251
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule, imports: [CommonModule] }); }
389
+ class DaffFormFieldModule {
390
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
391
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, imports: [DaffFormFieldComponent,
392
+ DaffErrorMessageModule,
393
+ DaffFormLabelModule], exports: [DaffFormFieldComponent,
394
+ DaffErrorMessageModule,
395
+ DaffFormLabelModule] }); }
396
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, imports: [DaffErrorMessageModule,
397
+ DaffFormLabelModule, DaffErrorMessageModule,
398
+ DaffFormLabelModule] }); }
252
399
  }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInputModule, decorators: [{
400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFormFieldModule, decorators: [{
254
401
  type: NgModule,
255
402
  args: [{
256
403
  imports: [
257
- CommonModule,
404
+ DaffFormFieldComponent,
405
+ DaffErrorMessageModule,
406
+ DaffFormLabelModule,
258
407
  ],
259
408
  exports: [
260
- DaffInputComponent,
261
- ],
262
- declarations: [
263
- DaffInputComponent,
409
+ DaffFormFieldComponent,
410
+ DaffErrorMessageModule,
411
+ DaffFormLabelModule,
264
412
  ],
265
413
  }]
266
414
  }] });
267
415
 
268
- class DaffNativeSelectComponent {
416
+ class DaffHintComponent {
417
+ constructor() {
418
+ /**
419
+ * @docs-private
420
+ */
421
+ this.class = true;
422
+ /**
423
+ * Whether or not the hint has been validated
424
+ * */
425
+ this.validated = false;
426
+ }
427
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
428
+ /** @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 }); }
429
+ }
430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffHintComponent, decorators: [{
431
+ type: Component,
432
+ 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"] }]
433
+ }], propDecorators: { class: [{
434
+ type: HostBinding,
435
+ args: ['class.daff-hint']
436
+ }], validated: [{
437
+ type: Input
438
+ }, {
439
+ type: HostBinding,
440
+ args: ['class.validated']
441
+ }] } });
442
+
443
+ /**
444
+ * @docs-private
445
+ */
446
+ const DAFF_FORM_FIELD_COMPONENTS = [
447
+ DaffFormFieldComponent,
448
+ DaffErrorMessageComponent,
449
+ DaffFormLabelDirective,
450
+ DaffHintComponent,
451
+ DaffPrefixDirective,
452
+ DaffSuffixDirective,
453
+ ];
454
+
455
+ class DaffNativeSelectComponent extends DaffFormFieldControl {
269
456
  /**
270
457
  * @docs-private
271
458
  */
272
459
  focus() {
273
460
  this.focused = true;
461
+ this.emitState();
274
462
  }
275
463
  /**
276
464
  * @docs-private
277
465
  */
278
466
  blur() {
279
467
  this.focused = false;
468
+ this.emitState();
280
469
  }
281
470
  constructor(
282
471
  /**
283
472
  * @docs-private
284
473
  */
285
474
  ngControl, _elementRef) {
475
+ super(ngControl);
286
476
  this.ngControl = ngControl;
287
477
  this._elementRef = _elementRef;
288
478
  /**
289
479
  * @docs-private
290
480
  */
291
481
  this.controlType = 'native-select';
482
+ /**
483
+ * @docs-private
484
+ */
292
485
  this.class = true;
293
486
  this.focused = false;
294
487
  }
295
488
  onFocus() {
296
489
  this._elementRef.nativeElement.focus();
297
490
  }
298
- /** @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 }); }
299
- /** @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: [
491
+ get value() {
492
+ return this._elementRef.nativeElement.value;
493
+ }
494
+ /** @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 }); }
495
+ /** @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: [
300
496
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
301
497
  { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },
302
- ], 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 }); }
498
+ ], 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 }); }
303
499
  }
304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectComponent, decorators: [{
500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectComponent, decorators: [{
305
501
  type: Component,
306
502
  args: [{ selector: 'select[daff-native-select]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
307
503
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
@@ -325,11 +521,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
325
521
  }] } });
326
522
 
327
523
  class DaffNativeSelectModule {
328
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
329
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, declarations: [DaffNativeSelectComponent], imports: [CommonModule], exports: [DaffNativeSelectComponent] }); }
330
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, imports: [CommonModule] }); }
524
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
525
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, declarations: [DaffNativeSelectComponent], imports: [CommonModule], exports: [DaffNativeSelectComponent] }); }
526
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, imports: [CommonModule] }); }
331
527
  }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffNativeSelectModule, decorators: [{
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffNativeSelectModule, decorators: [{
333
529
  type: NgModule,
334
530
  args: [{
335
531
  imports: [
@@ -446,10 +642,10 @@ class DaffCheckboxComponent {
446
642
  this.checked = false;
447
643
  this._cdRef.markForCheck();
448
644
  }
449
- /** @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 }); }
450
- /** @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 }); }
645
+ /** @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 }); }
646
+ /** @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 }); }
451
647
  }
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
453
649
  type: Component,
454
650
  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>" }]
455
651
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { nativeCheckbox: [{
@@ -498,6 +694,9 @@ class DaffCheckboxControlValueAccessorDirective {
498
694
  /**
499
695
  * A lifecycle method called when the directive is initialized.
500
696
  */
697
+ /**
698
+ * @docs-private
699
+ */
501
700
  ngOnInit() {
502
701
  // See the note about `writeValue` usage.
503
702
  this.writeValue(this._control.value);
@@ -523,447 +722,119 @@ class DaffCheckboxControlValueAccessorDirective {
523
722
  }
524
723
  /**
525
724
  * Registers the change handler
526
- */
527
- registerOnChange(fn) {
528
- this._onChange = (val) => {
529
- fn(val);
530
- };
531
- }
532
- /**
533
- * Registers the touched handler
534
- */
535
- registerOnTouched(fn) {
536
- this._onTouched = fn;
537
- }
538
- /**
539
- * Sets the disabled state.
540
- */
541
- setDisabledState(isDisabled) {
542
- this._checkbox.disabled = isDisabled;
543
- }
544
- /**
545
- * calls the child checkbox's select function
546
- */
547
- fireSelect() {
548
- this._checkbox.select();
549
- }
550
- /**
551
- * calls the child checkbox's deselect function
552
- */
553
- fireDeselect() {
554
- this._checkbox.deselect();
555
- }
556
- /** @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 }); }
557
- /** @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 }); }
558
- }
559
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, decorators: [{
560
- type: Directive,
561
- args: [{
562
- // eslint-disable-next-line @angular-eslint/directive-selector
563
- selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',
564
- standalone: false,
565
- }]
566
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
567
- type: Optional
568
- }, {
569
- type: Self
570
- }] }, { type: DaffCheckboxComponent }], propDecorators: { value: [{
571
- type: Input
572
- }], name: [{
573
- type: Input
574
- }] } });
575
-
576
- class DaffCheckboxSetComponent {
577
- constructor() {
578
- /**
579
- * The role of the component. Set to "checkbox".
580
- *
581
- * @docs-private
582
- */
583
- this.role = 'group';
584
- this.valueList = new EventEmitter();
585
- }
586
- getValues() {
587
- const checkboxes = this.checkboxes.toArray();
588
- return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);
589
- }
590
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
591
- /** @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 }); }
592
- }
593
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
594
- type: Component,
595
- args: [{ selector: 'daff-checkbox-set', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>" }]
596
- }], propDecorators: { formArray: [{
597
- type: Input
598
- }], name: [{
599
- type: Input
600
- }], role: [{
601
- type: HostBinding,
602
- args: ['attr.role']
603
- }], checkboxes: [{
604
- type: ContentChildren,
605
- args: [DaffCheckboxComponent]
606
- }], valueList: [{
607
- type: Output
608
- }] } });
609
-
610
- class DaffCheckboxModule {
611
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
612
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, declarations: [DaffCheckboxComponent,
613
- DaffCheckboxSetComponent,
614
- DaffCheckboxControlValueAccessorDirective], imports: [CommonModule], exports: [DaffCheckboxComponent,
615
- DaffCheckboxSetComponent,
616
- DaffCheckboxControlValueAccessorDirective] }); }
617
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, providers: [
618
- DaffCheckboxSetComponent,
619
- ], imports: [CommonModule] }); }
620
- }
621
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCheckboxModule, decorators: [{
622
- type: NgModule,
623
- args: [{
624
- exports: [
625
- DaffCheckboxComponent,
626
- DaffCheckboxSetComponent,
627
- DaffCheckboxControlValueAccessorDirective,
628
- ],
629
- declarations: [
630
- DaffCheckboxComponent,
631
- DaffCheckboxSetComponent,
632
- DaffCheckboxControlValueAccessorDirective,
633
- ],
634
- imports: [
635
- CommonModule,
636
- ],
637
- providers: [
638
- DaffCheckboxSetComponent,
639
- ],
640
- }]
641
- }] });
642
-
643
- class DaffQuantityInputComponent {
644
- get focused() {
645
- return this.input?.focused;
646
- }
647
- get value() {
648
- return this.ngControl.control.value;
649
- }
650
- set value(value) {
651
- const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);
652
- this.ngControl.control.patchValue(val);
653
- this._inputControl.patchValue(val);
654
- this.changeDetectorRef.markForCheck();
655
- }
656
- get disabled() {
657
- return this.ngControl.control.disabled;
658
- }
659
- constructor(ngControl, changeDetectorRef) {
660
- this.ngControl = ngControl;
661
- this.changeDetectorRef = changeDetectorRef;
662
- /**
663
- * @docs
664
- * The minimum number for the quantity input field
665
- */
666
- this.min = 1;
667
- /**
668
- * @docs
669
- * The maximum number for the quantity input field
670
- */
671
- this.max = 10;
672
- /**
673
- * A new control for the nested native input.
674
- * We don't bind the native input directly to the inherited form control
675
- * to avoid triggering updates on the input event.
676
- * Instead, we listen for the change event and manually patch form control values.
677
- */
678
- this._inputControl = new UntypedFormControl();
679
- this._destroyed = new Subject();
680
- }
681
- ngOnInit() {
682
- this._inputControl.patchValue(this.ngControl.control.value);
683
- this.setInputDisabled();
684
- this.ngControl.statusChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {
685
- this.setInputDisabled();
686
- });
687
- }
688
- ngOnDestroy() {
689
- this._destroyed.next(true);
690
- }
691
- focus() {
692
- this.input.focus();
693
- }
694
- onFocus() {
695
- this.ngControl.control.markAsTouched();
696
- }
697
- onBlur() {
698
- if (this.value === null || this.value === undefined) {
699
- this.value = 1;
700
- this.changeDetectorRef.markForCheck();
701
- }
702
- }
703
- /**
704
- * Callback function fired when the value changes.
705
- * Used to pass the value back up to the ngControl.
706
- */
707
- onValueChange(e) {
708
- this.value = e.target.value;
709
- }
710
- setInputDisabled() {
711
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
712
- this.ngControl.disabled
713
- ? this._inputControl.disable()
714
- : this._inputControl.enable();
715
- }
716
- /** @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 }); }
717
- /** @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: "component", type: DaffInputComponent, selector: "input[daff-input]", inputs: ["formSubmitted"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
718
- }
719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityInputComponent, decorators: [{
720
- type: Component,
721
- 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" }]
722
- }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
723
- type: ViewChild,
724
- args: [DaffInputComponent]
725
- }], min: [{
726
- type: Input
727
- }], max: [{
728
- type: Input
729
- }] } });
730
-
731
- /**
732
- * Create an array of numbers from min to max, not including max.
733
- */
734
- const makeValueArray = (min, max, increment) => Array(max - min).fill(0).map((x, i) => (i * increment) + min);
735
- class DaffQuantitySelectComponent {
736
- get value() {
737
- return this._value;
738
- }
739
- set value(value) {
740
- this._value = value;
741
- this.ngControl.control.patchValue(this._value);
742
- this.changeDetectorRef.markForCheck();
743
- }
744
- constructor(ngControl, changeDetectorRef) {
745
- this.ngControl = ngControl;
746
- this.changeDetectorRef = changeDetectorRef;
747
- /**
748
- * @docs
749
- * The minimum number selectable.
750
- */
751
- this.min = 1;
752
- /**
753
- * @docs
754
- * The maximum number selectable;
755
- */
756
- this.max = 10;
757
- /**
758
- * @docs
759
- * Property used to determine whether or not the DaffQuantitySelectComponent is
760
- * used in a situation whether the `max` isn't a true max.
761
- */
762
- this.extendable = true;
763
- /**
764
- * The amount to increment between "min" and "max".
765
- */
766
- this.increment = 1;
767
- this._value = 1;
768
- }
769
- /**
770
- * Callback function fired when the value changes.
771
- * Used to pass the value back up to the ngControl.
772
- */
773
- onValueChange(e) {
774
- this.value = e.target.value;
775
- }
776
- get focused() {
777
- return this.select.focused;
778
- }
779
- focus() {
780
- this.select.focus();
781
- }
782
- onFocus() {
783
- this.ngControl.control.markAsTouched();
784
- }
785
- /**
786
- * A helper function for easily making options for the `select`.
787
- */
788
- get valueArray() {
789
- return makeValueArray(this.min, this.max, this.increment);
790
- }
791
- /** @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 }); }
792
- /** @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 }); }
793
- }
794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantitySelectComponent, decorators: [{
795
- type: Component,
796
- 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" }]
797
- }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }], propDecorators: { select: [{
798
- type: ViewChild,
799
- args: [DaffNativeSelectComponent]
800
- }], min: [{
801
- type: Input
802
- }], max: [{
803
- type: Input
804
- }], extendable: [{
805
- type: Input
806
- }] } });
807
-
808
- class DaffQuantityFieldComponent {
809
- get focused() {
810
- return !!(this.input?.focused || this.select?.focused);
811
- }
812
- get quantity() {
813
- return this._quantity;
814
- }
815
- set quantity(value) {
816
- this._quantity = coerceNumberProperty(value, 1);
817
- }
818
- /**
819
- * Returns the lesser of max and selectMax.
820
- */
821
- get _maxFloor() {
822
- return Math.min(this.max, this.selectMax);
823
- }
824
- get controlType() {
825
- // TODO: use enum
826
- return this.showInputField
827
- ? 'native-input'
828
- : 'native-select';
829
- }
830
- get showInputField() {
831
- const ret = this._inputHasBeenShown || (this.ngControl
832
- ? this.ngControl.value >= this.selectMax
833
- : this.quantity >= this.selectMax);
834
- if (ret) {
835
- this._inputHasBeenShown = true;
836
- }
837
- return ret;
838
- }
839
- get showSelectField() {
840
- return !this.showInputField;
841
- }
842
- constructor(ngControl, cd) {
843
- this.ngControl = ngControl;
844
- this.cd = cd;
845
- /**
846
- * @docs
847
- * The minimum valid value of the quantity field.
848
- * Must be greater than or equal to 1.
849
- */
850
- this.min = 1;
851
- /**
852
- * @docs
853
- * The maximum valid value of the quantity field.
854
- * Must be greater than min.
855
- */
856
- this.max = 500;
857
- /**
858
- * @docs
859
- * The range of numbers acceptable in a quantity dropdown
860
- * before it becomes an input element.
861
- */
862
- this.selectMax = 10;
863
- this.id = '';
864
- this.disabled = false;
865
- this._quantity = 1;
866
- this._inputHasBeenShown = false;
867
- if (this.ngControl != null) {
868
- this.ngControl.valueAccessor = this;
869
- }
870
- }
871
- onChange(quantity) { }
872
- ;
873
- onTouched(quantity) { }
874
- ;
875
- writeValue(quantity) {
876
- this.quantity = quantity;
877
- this.cd.markForCheck();
878
- }
725
+ */
879
726
  registerOnChange(fn) {
880
- this.onChange = fn;
727
+ this._onChange = (val) => {
728
+ fn(val);
729
+ };
881
730
  }
731
+ /**
732
+ * Registers the touched handler
733
+ */
882
734
  registerOnTouched(fn) {
883
- this.onTouched = fn;
735
+ this._onTouched = fn;
884
736
  }
737
+ /**
738
+ * Sets the disabled state.
739
+ */
885
740
  setDisabledState(isDisabled) {
886
- this.disabled = isDisabled;
741
+ this._checkbox.disabled = isDisabled;
887
742
  }
888
- focus() {
889
- if (this.select) {
890
- this.select.focus();
891
- }
892
- if (this.input) {
893
- this.input.focus();
894
- }
743
+ /**
744
+ * calls the child checkbox's select function
745
+ */
746
+ fireSelect() {
747
+ this._checkbox.select();
748
+ }
749
+ /**
750
+ * calls the child checkbox's deselect function
751
+ */
752
+ fireDeselect() {
753
+ this._checkbox.deselect();
895
754
  }
896
- /** @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 }); }
897
- /** @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: [
898
- {
899
- provide: DaffFormFieldControl,
900
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
901
- useExisting: DaffQuantityFieldComponent,
902
- },
903
- ], viewQueries: [{ propertyName: "input", first: true, predicate: DaffQuantityInputComponent, descendants: true }, { propertyName: "select", first: true, predicate: DaffQuantitySelectComponent, descendants: 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 }); }
755
+ /** @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 }); }
756
+ /** @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 }); }
904
757
  }
905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldComponent, decorators: [{
906
- type: Component,
907
- args: [{ selector: 'daff-quantity-field', providers: [
908
- {
909
- provide: DaffFormFieldControl,
910
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
911
- useExisting: DaffQuantityFieldComponent,
912
- },
913
- ], 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" }]
758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, decorators: [{
759
+ type: Directive,
760
+ args: [{
761
+ // eslint-disable-next-line @angular-eslint/directive-selector
762
+ selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',
763
+ standalone: false,
764
+ }]
914
765
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
915
766
  type: Optional
916
767
  }, {
917
768
  type: Self
918
- }] }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
919
- type: ViewChild,
920
- args: [DaffQuantityInputComponent]
921
- }], select: [{
922
- type: ViewChild,
923
- args: [DaffQuantitySelectComponent]
924
- }], min: [{
769
+ }] }, { type: DaffCheckboxComponent }], propDecorators: { value: [{
925
770
  type: Input
926
- }], max: [{
771
+ }], name: [{
927
772
  type: Input
928
- }], selectMax: [{
773
+ }] } });
774
+
775
+ class DaffCheckboxSetComponent {
776
+ constructor() {
777
+ /**
778
+ * The role of the component. Set to "checkbox".
779
+ *
780
+ * @docs-private
781
+ */
782
+ this.role = 'group';
783
+ this.valueList = new EventEmitter();
784
+ }
785
+ getValues() {
786
+ const checkboxes = this.checkboxes.toArray();
787
+ return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);
788
+ }
789
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
790
+ /** @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 }); }
791
+ }
792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
793
+ type: Component,
794
+ args: [{ selector: 'daff-checkbox-set', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>" }]
795
+ }], propDecorators: { formArray: [{
929
796
  type: Input
930
- }], id: [{
797
+ }], name: [{
931
798
  type: Input
799
+ }], role: [{
800
+ type: HostBinding,
801
+ args: ['attr.role']
802
+ }], checkboxes: [{
803
+ type: ContentChildren,
804
+ args: [DaffCheckboxComponent]
805
+ }], valueList: [{
806
+ type: Output
932
807
  }] } });
933
808
 
934
- class DaffQuantityFieldModule {
935
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
936
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, declarations: [DaffQuantityFieldComponent,
937
- DaffQuantityInputComponent,
938
- DaffQuantitySelectComponent], imports: [CommonModule,
939
- DaffNativeSelectModule,
940
- DaffInputModule,
941
- ReactiveFormsModule], exports: [DaffQuantityFieldComponent,
942
- DaffQuantityInputComponent,
943
- DaffQuantitySelectComponent] }); }
944
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, imports: [CommonModule,
945
- DaffNativeSelectModule,
946
- DaffInputModule,
947
- ReactiveFormsModule] }); }
809
+ class DaffCheckboxModule {
810
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
811
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, declarations: [DaffCheckboxComponent,
812
+ DaffCheckboxSetComponent,
813
+ DaffCheckboxControlValueAccessorDirective], imports: [CommonModule], exports: [DaffCheckboxComponent,
814
+ DaffCheckboxSetComponent,
815
+ DaffCheckboxControlValueAccessorDirective] }); }
816
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, providers: [
817
+ DaffCheckboxSetComponent,
818
+ ], imports: [CommonModule] }); }
948
819
  }
949
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffQuantityFieldModule, decorators: [{
820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCheckboxModule, decorators: [{
950
821
  type: NgModule,
951
822
  args: [{
823
+ exports: [
824
+ DaffCheckboxComponent,
825
+ DaffCheckboxSetComponent,
826
+ DaffCheckboxControlValueAccessorDirective,
827
+ ],
952
828
  declarations: [
953
- DaffQuantityFieldComponent,
954
- DaffQuantityInputComponent,
955
- DaffQuantitySelectComponent,
829
+ DaffCheckboxComponent,
830
+ DaffCheckboxSetComponent,
831
+ DaffCheckboxControlValueAccessorDirective,
956
832
  ],
957
833
  imports: [
958
834
  CommonModule,
959
- DaffNativeSelectModule,
960
- DaffInputModule,
961
- ReactiveFormsModule,
962
835
  ],
963
- exports: [
964
- DaffQuantityFieldComponent,
965
- DaffQuantityInputComponent,
966
- DaffQuantitySelectComponent,
836
+ providers: [
837
+ DaffCheckboxSetComponent,
967
838
  ],
968
839
  }]
969
840
  }] });
@@ -975,10 +846,10 @@ class DaffRadioSetComponent {
975
846
  */
976
847
  this.role = 'radiogroup';
977
848
  }
978
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
979
- /** @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 }); }
849
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
850
+ /** @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 }); }
980
851
  }
981
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
982
853
  type: Component,
983
854
  args: [{ selector: 'daff-radio-set', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>" }]
984
855
  }], ctorParameters: () => [], propDecorators: { name: [{
@@ -1081,10 +952,10 @@ class DaffRadioComponent {
1081
952
  this.select();
1082
953
  }
1083
954
  ;
1084
- /** @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 }); }
1085
- /** @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 }); }
955
+ /** @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 }); }
956
+ /** @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 }); }
1086
957
  }
1087
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioComponent, decorators: [{
958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioComponent, decorators: [{
1088
959
  type: Component,
1089
960
  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>" }]
1090
961
  }], ctorParameters: () => [{ type: DaffRadioSetComponent, decorators: [{
@@ -1160,10 +1031,10 @@ class DaffRadioRegistry {
1160
1031
  return controlPair['control'].control.parent === accessor._control.control.parent
1161
1032
  && controlPair['accessor'].name === accessor.name;
1162
1033
  }
1163
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1164
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioRegistry, providedIn: 'root' }); }
1034
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1035
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioRegistry, providedIn: 'root' }); }
1165
1036
  }
1166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioRegistry, decorators: [{
1037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioRegistry, decorators: [{
1167
1038
  type: Injectable,
1168
1039
  args: [{ providedIn: 'root' }]
1169
1040
  }] });
@@ -1180,6 +1051,9 @@ class DaffRadioControlValueAccessorDirective {
1180
1051
  this._control.valueAccessor = this;
1181
1052
  }
1182
1053
  }
1054
+ /**
1055
+ * @docs-private
1056
+ */
1183
1057
  ngOnInit() {
1184
1058
  this.writeValue(this._control.value);
1185
1059
  this._registry.add(this._control, this);
@@ -1230,10 +1104,10 @@ class DaffRadioControlValueAccessorDirective {
1230
1104
  fireDeselect() {
1231
1105
  this._radio.deselect();
1232
1106
  }
1233
- /** @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 }); }
1234
- /** @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 }); }
1107
+ /** @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 }); }
1108
+ /** @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 }); }
1235
1109
  }
1236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioControlValueAccessorDirective, decorators: [{
1110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioControlValueAccessorDirective, decorators: [{
1237
1111
  type: Directive,
1238
1112
  args: [{
1239
1113
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1251,15 +1125,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1251
1125
  }] } });
1252
1126
 
1253
1127
  class DaffRadioModule {
1254
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1255
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, declarations: [DaffRadioControlValueAccessorDirective,
1128
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1129
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, declarations: [DaffRadioControlValueAccessorDirective,
1256
1130
  DaffRadioComponent,
1257
1131
  DaffRadioSetComponent], imports: [CommonModule], exports: [DaffRadioComponent,
1258
1132
  DaffRadioSetComponent,
1259
1133
  DaffRadioControlValueAccessorDirective] }); }
1260
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, imports: [CommonModule] }); }
1134
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, imports: [CommonModule] }); }
1261
1135
  }
1262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffRadioModule, decorators: [{
1136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffRadioModule, decorators: [{
1263
1137
  type: NgModule,
1264
1138
  args: [{
1265
1139
  exports: [
@@ -1278,149 +1152,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1278
1152
  }]
1279
1153
  }] });
1280
1154
 
1281
- class DaffFormLabelDirective {
1282
- constructor() {
1283
- this.class = true;
1284
- }
1285
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1286
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffFormLabelDirective, isStandalone: false, selector: "[daffFormLabel]", host: { properties: { "class.daff-form-label": "this.class" } }, ngImport: i0 }); }
1287
- }
1288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelDirective, decorators: [{
1289
- type: Directive,
1290
- args: [{
1291
- selector: '[daffFormLabel]',
1292
- standalone: false,
1293
- }]
1294
- }], propDecorators: { class: [{
1295
- type: HostBinding,
1296
- args: ['class.daff-form-label']
1297
- }] } });
1298
-
1299
- class DaffFormLabelModule {
1300
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1301
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule, declarations: [DaffFormLabelDirective], exports: [DaffFormLabelDirective] }); }
1302
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule }); }
1303
- }
1304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFormLabelModule, decorators: [{
1305
- type: NgModule,
1306
- args: [{
1307
- exports: [
1308
- DaffFormLabelDirective,
1309
- ],
1310
- declarations: [
1311
- DaffFormLabelDirective,
1312
- ],
1313
- }]
1314
- }] });
1315
-
1316
- /**
1317
- *
1318
- * Prefix can be used to place content before another piece of content in components like
1319
- * `daff-form-field`, `daff-solo-field`, and `daff-list`.
1320
- */
1321
- class DaffPrefixDirective {
1322
- constructor() {
1323
- this.class = true;
1324
- }
1325
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1326
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffPrefixDirective, isStandalone: false, selector: "[daffPrefix]", host: { properties: { "class.daff-prefix": "this.class" } }, ngImport: i0 }); }
1327
- }
1328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixDirective, decorators: [{
1329
- type: Directive,
1330
- args: [{
1331
- selector: '[daffPrefix]',
1332
- standalone: false,
1333
- }]
1334
- }], propDecorators: { class: [{
1335
- type: HostBinding,
1336
- args: ['class.daff-prefix']
1337
- }] } });
1338
-
1339
- /**
1340
- *
1341
- * Prefix can be used to place content after another piece of content in components like
1342
- * `daff-form-field`, `daff-solo-field`, and `daff-list`.
1343
- */
1344
- class DaffSuffixDirective {
1345
- constructor() {
1346
- this.class = true;
1347
- }
1348
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1349
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: DaffSuffixDirective, isStandalone: false, selector: "[daffSuffix]", host: { properties: { "class.daff-suffix": "this.class" } }, ngImport: i0 }); }
1350
- }
1351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSuffixDirective, decorators: [{
1352
- type: Directive,
1353
- args: [{
1354
- selector: '[daffSuffix]',
1355
- standalone: false,
1356
- }]
1357
- }], propDecorators: { class: [{
1358
- type: HostBinding,
1359
- args: ['class.daff-suffix']
1360
- }] } });
1361
-
1362
1155
  class DaffPrefixSuffixModule {
1363
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1364
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule, declarations: [DaffPrefixDirective,
1156
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1157
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule, imports: [DaffPrefixDirective,
1365
1158
  DaffSuffixDirective], exports: [DaffPrefixDirective,
1366
1159
  DaffSuffixDirective] }); }
1367
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule }); }
1160
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule }); }
1368
1161
  }
1369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffPrefixSuffixModule, decorators: [{
1162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffPrefixSuffixModule, decorators: [{
1370
1163
  type: NgModule,
1371
1164
  args: [{
1372
- imports: [],
1373
- exports: [
1165
+ imports: [
1374
1166
  DaffPrefixDirective,
1375
1167
  DaffSuffixDirective,
1376
1168
  ],
1377
- declarations: [
1169
+ exports: [
1378
1170
  DaffPrefixDirective,
1379
1171
  DaffSuffixDirective,
1380
1172
  ],
1381
1173
  }]
1382
1174
  }] });
1383
1175
 
1384
- /**
1385
- * A mixin for giving a component the ability to place content after another piece of content.
1386
- */
1387
- function daffSuffixableMixin(Base) {
1388
- class SuffixableDirective extends Base {
1389
- constructor(...args) {
1390
- super(...args);
1391
- }
1392
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: SuffixableDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
1393
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: SuffixableDirective, isStandalone: true, queries: [{ propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
1394
- }
1395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: SuffixableDirective, decorators: [{
1396
- type: Directive
1397
- }], ctorParameters: () => [{ type: undefined }], propDecorators: { _suffix: [{
1398
- type: ContentChild,
1399
- args: [DaffSuffixDirective, { static: true }]
1400
- }] } });
1401
- return SuffixableDirective;
1402
- }
1403
-
1404
- /**
1405
- * A mixin for giving a component the ability to place content before another piece of content.
1406
- */
1407
- function daffPrefixableMixin(Base) {
1408
- class PrefixableDirective extends Base {
1409
- constructor(...args) {
1410
- super(...args);
1411
- }
1412
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: PrefixableDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
1413
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: PrefixableDirective, isStandalone: true, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
1414
- }
1415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: PrefixableDirective, decorators: [{
1416
- type: Directive
1417
- }], ctorParameters: () => [{ type: undefined }], propDecorators: { _prefix: [{
1418
- type: ContentChild,
1419
- args: [DaffPrefixDirective, { static: true }]
1420
- }] } });
1421
- return PrefixableDirective;
1422
- }
1423
-
1424
1176
  /**
1425
1177
  * Enumerates the available color palette options for a component.
1426
1178
  * These values can be used to apply specific color styles to components within the application.
@@ -1456,12 +1208,12 @@ var DaffPaletteEnum;
1456
1208
  */
1457
1209
  DaffPaletteEnum["ThemeContrast"] = "theme-contrast";
1458
1210
  /**
1459
- * @deprecated Deprecated in version 0.82.0. Will be removed in version 0.85.0.
1211
+ * @deprecated Deprecated in version 0.82.0. Will be removed in version 1.0.0.
1460
1212
  * Black. It's dark.
1461
1213
  */
1462
1214
  DaffPaletteEnum["Black"] = "black";
1463
1215
  /**
1464
- * @deprecated Deprecated in version 0.82.0. Will be removed in version 0.85.0.
1216
+ * @deprecated Deprecated in version 0.82.0. Will be removed in version 1.0.0.
1465
1217
  * White. It's bright.
1466
1218
  */
1467
1219
  DaffPaletteEnum["White"] = "white";
@@ -1554,25 +1306,30 @@ class DaffColorableDirective {
1554
1306
  'daff-white': this.color === DaffPaletteEnum.White,
1555
1307
  };
1556
1308
  }
1309
+ /**
1310
+ * @docs-private
1311
+ */
1557
1312
  ngOnChanges(changes) {
1558
1313
  if (!changes.color.currentValue) {
1559
1314
  this.color = this.defaultColor;
1560
1315
  }
1561
1316
  }
1317
+ /**
1318
+ * @docs-private
1319
+ */
1562
1320
  ngOnInit() {
1563
1321
  validateColor(this.color);
1564
1322
  if (!this.color) {
1565
1323
  this.color = this.defaultColor;
1566
1324
  }
1567
1325
  }
1568
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffColorableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1569
- /** @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 }); }
1326
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffColorableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1327
+ /** @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 }); }
1570
1328
  }
1571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffColorableDirective, decorators: [{
1329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffColorableDirective, decorators: [{
1572
1330
  type: Directive,
1573
1331
  args: [{
1574
1332
  selector: '[daffColorable]',
1575
- standalone: true,
1576
1333
  }]
1577
1334
  }], propDecorators: { class: [{
1578
1335
  type: HostBinding,
@@ -1603,10 +1360,10 @@ class NoopBreakpointObserver {
1603
1360
  observe(value) {
1604
1361
  return of();
1605
1362
  }
1606
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: NoopBreakpointObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1607
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: NoopBreakpointObserver, providedIn: 'root' }); }
1363
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopBreakpointObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1364
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopBreakpointObserver, providedIn: 'root' }); }
1608
1365
  }
1609
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: NoopBreakpointObserver, decorators: [{
1366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: NoopBreakpointObserver, decorators: [{
1610
1367
  type: Injectable,
1611
1368
  args: [{
1612
1369
  providedIn: 'root',
@@ -1695,10 +1452,10 @@ class DaffStatusableDirective {
1695
1452
  'daff-success': this.status === DaffStatusEnum.Success,
1696
1453
  };
1697
1454
  }
1698
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffStatusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1699
- /** @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 }); }
1455
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffStatusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1456
+ /** @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 }); }
1700
1457
  }
1701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffStatusableDirective, decorators: [{
1458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffStatusableDirective, decorators: [{
1702
1459
  type: Directive,
1703
1460
  args: [{
1704
1461
  selector: '[daffStatusable]',
@@ -1711,68 +1468,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1711
1468
  type: Input
1712
1469
  }] } });
1713
1470
 
1714
- /**
1715
- * `DaffSkeletonableDirective` allows a component to display a skeleton loading
1716
- * state by conditionally applying a CSS class. This is useful for indicating to
1717
- * users that content is loading or being processed. This directive can be used to
1718
- * apply a skeleton loading state to any component by toggling the `skeleton`
1719
- * input property. When `skeleton` is `true`, the `daff-skeleton` CSS class
1720
- * is applied, which should style the component to look like a loading placeholder.
1721
- *
1722
- * @example Implementing it as an attribute directive
1723
- *
1724
- * ```html
1725
- * <div daffSkeletonable [skeleton]="isLoading">Content</div>
1726
- * ```
1727
- *
1728
- * @example Implementing it as an Angular host directive
1729
- *
1730
- * ```ts
1731
- * @Component({
1732
- * standalone: true,
1733
- * selector: 'custom-component',
1734
- * template: 'custom-component.html',
1735
- * hostDirectives: [
1736
- * {
1737
- * directive: DaffSkeletonableDirective,
1738
- * inputs: ['skeleton'],
1739
- * },
1740
- * ],
1741
- * })
1742
- * export class CustomComponent { }
1743
- * ```
1744
- *
1745
- * ```scss
1746
- * :host {
1747
- * .daff-skeleton {
1748
- * @include state.skeleton-screen(48px, 24px);
1749
- * }
1750
- * }
1751
- * ```
1752
- *
1753
- * The directive applies the `daff-skeleton` class to the component should be defined in your styles to display the loading
1754
- * state as desired. It can be used in conjuction with the `skeleton-screen` mixin, which provides predefined loading styles.
1755
- */
1756
- class DaffSkeletonableDirective {
1757
- constructor() {
1758
- this.skeleton = false;
1759
- }
1760
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSkeletonableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1761
- /** @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 }); }
1762
- }
1763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSkeletonableDirective, decorators: [{
1764
- type: Directive,
1765
- args: [{
1766
- selector: '[daffSkeletonable]',
1767
- standalone: true,
1768
- }]
1769
- }], propDecorators: { skeleton: [{
1770
- type: Input
1771
- }, {
1772
- type: HostBinding,
1773
- args: ['class.daff-skeleton']
1774
- }] } });
1775
-
1776
1471
  var DaffTextAlignmentEnum;
1777
1472
  (function (DaffTextAlignmentEnum) {
1778
1473
  DaffTextAlignmentEnum["Left"] = "left";
@@ -1837,15 +1532,18 @@ class DaffTextAlignableDirective {
1837
1532
  'daff-right': this.textAlignment === DaffTextAlignmentEnum.Right,
1838
1533
  };
1839
1534
  }
1535
+ /**
1536
+ * @docs-private
1537
+ */
1840
1538
  ngOnChanges(changes) {
1841
1539
  if (!changes.textAlignment?.currentValue) {
1842
1540
  this.textAlignment = this.defaultAlignment;
1843
1541
  }
1844
1542
  }
1845
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTextAlignableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1846
- /** @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 }); }
1543
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTextAlignableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1544
+ /** @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 }); }
1847
1545
  }
1848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTextAlignableDirective, decorators: [{
1546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTextAlignableDirective, decorators: [{
1849
1547
  type: Directive,
1850
1548
  args: [{
1851
1549
  selector: '[daffTextAlignable]',
@@ -1906,10 +1604,10 @@ class DaffCompactableDirective {
1906
1604
  constructor() {
1907
1605
  this.compact = false;
1908
1606
  }
1909
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCompactableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1910
- /** @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 }); }
1607
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCompactableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1608
+ /** @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 }); }
1911
1609
  }
1912
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCompactableDirective, decorators: [{
1610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffCompactableDirective, decorators: [{
1913
1611
  type: Directive,
1914
1612
  args: [{
1915
1613
  selector: '[daffCompactable]',
@@ -1982,12 +1680,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1982
1680
  */
1983
1681
  class DaffManageContainerLayoutDirective {
1984
1682
  constructor() {
1683
+ /**
1684
+ * @docs-private
1685
+ */
1985
1686
  this.class = true;
1986
1687
  }
1987
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffManageContainerLayoutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1988
- /** @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 }); }
1688
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffManageContainerLayoutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1689
+ /** @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 }); }
1989
1690
  }
1990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffManageContainerLayoutDirective, decorators: [{
1691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffManageContainerLayoutDirective, decorators: [{
1991
1692
  type: Directive,
1992
1693
  args: [{
1993
1694
  selector: '[daffManageContainerLayout]',
@@ -2024,12 +1725,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
2024
1725
  */
2025
1726
  class DaffArticleEncapsulatedDirective {
2026
1727
  constructor() {
1728
+ /**
1729
+ * @docs-private
1730
+ */
2027
1731
  this.class = true;
2028
1732
  }
2029
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffArticleEncapsulatedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2030
- /** @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 }); }
1733
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffArticleEncapsulatedDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1734
+ /** @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 }); }
2031
1735
  }
2032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffArticleEncapsulatedDirective, decorators: [{
1736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffArticleEncapsulatedDirective, decorators: [{
2033
1737
  type: Directive,
2034
1738
  args: [{
2035
1739
  selector: '[daffArticleEncapsulated]',
@@ -2080,10 +1784,10 @@ class DaffOsThemeService {
2080
1784
  getThemePreference() {
2081
1785
  return this.preference$;
2082
1786
  }
2083
- /** @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 }); }
2084
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOsThemeService, providedIn: 'root' }); }
1787
+ /** @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 }); }
1788
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOsThemeService, providedIn: 'root' }); }
2085
1789
  }
2086
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOsThemeService, decorators: [{
1790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOsThemeService, decorators: [{
2087
1791
  type: Injectable,
2088
1792
  args: [{
2089
1793
  providedIn: 'root',
@@ -2137,10 +1841,10 @@ class DaffThemeStorageService {
2137
1841
  this.progressStorageEvent(DaffTheme.None);
2138
1842
  this.storage.removeItem(THEME_STORAGE_KEY);
2139
1843
  }
2140
- /** @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 }); }
2141
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeStorageService, providedIn: 'root' }); }
1844
+ /** @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 }); }
1845
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeStorageService, providedIn: 'root' }); }
2142
1846
  }
2143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeStorageService, decorators: [{
1847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeStorageService, decorators: [{
2144
1848
  type: Injectable,
2145
1849
  args: [{
2146
1850
  providedIn: 'root',
@@ -2211,10 +1915,10 @@ class DaffThemingService {
2211
1915
  ? this.lightMode()
2212
1916
  : this.darkMode();
2213
1917
  }
2214
- /** @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 }); }
2215
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemingService, providedIn: 'root' }); }
1918
+ /** @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 }); }
1919
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemingService, providedIn: 'root' }); }
2216
1920
  }
2217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemingService, decorators: [{
1921
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemingService, decorators: [{
2218
1922
  type: Injectable,
2219
1923
  args: [{
2220
1924
  providedIn: 'root',
@@ -2257,10 +1961,10 @@ class DaffThemeClassSetterService {
2257
1961
  this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);
2258
1962
  this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);
2259
1963
  }
2260
- /** @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 }); }
2261
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeClassSetterService }); }
1964
+ /** @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 }); }
1965
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeClassSetterService }); }
2262
1966
  }
2263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffThemeClassSetterService, decorators: [{
1967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffThemeClassSetterService, decorators: [{
2264
1968
  type: Injectable
2265
1969
  }], ctorParameters: () => [{ type: undefined, decorators: [{
2266
1970
  type: Inject,
@@ -2341,10 +2045,10 @@ class DaffFocusStackService {
2341
2045
  this.document.activeElement.blur();
2342
2046
  return this.document.activeElement;
2343
2047
  }
2344
- /** @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 }); }
2345
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFocusStackService, providedIn: 'root' }); }
2048
+ /** @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 }); }
2049
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFocusStackService, providedIn: 'root' }); }
2346
2050
  }
2347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffFocusStackService, decorators: [{
2051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffFocusStackService, decorators: [{
2348
2052
  type: Injectable,
2349
2053
  args: [{ providedIn: 'root' }]
2350
2054
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -2427,20 +2131,26 @@ class DaffSizableDirective {
2427
2131
  'daff-xl': this.size === DaffSizableEnum.XLarge,
2428
2132
  };
2429
2133
  }
2134
+ /**
2135
+ * @docs-private
2136
+ */
2430
2137
  ngOnChanges(changes) {
2431
2138
  if (!changes.size?.currentValue) {
2432
2139
  this.size = this.defaultSize;
2433
2140
  }
2434
2141
  }
2142
+ /**
2143
+ * @docs-private
2144
+ */
2435
2145
  ngOnInit() {
2436
2146
  if (!this.size) {
2437
2147
  this.size = this.defaultSize;
2438
2148
  }
2439
2149
  }
2440
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2441
- /** @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 }); }
2150
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2151
+ /** @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 }); }
2442
2152
  }
2443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSizableDirective, decorators: [{
2153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSizableDirective, decorators: [{
2444
2154
  type: Directive,
2445
2155
  args: [{
2446
2156
  selector: '[daffSizable]',
@@ -2546,6 +2256,9 @@ class DaffOpenableDirective {
2546
2256
  this._setOpen(state);
2547
2257
  this.toggled.emit(state);
2548
2258
  }
2259
+ /**
2260
+ * @docs-private
2261
+ */
2549
2262
  ngOnChanges(changes) {
2550
2263
  /**
2551
2264
  * Throw an error if open is set in a component that is not stateless
@@ -2557,10 +2270,10 @@ class DaffOpenableDirective {
2557
2270
  }
2558
2271
  }
2559
2272
  }
2560
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOpenableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2561
- /** @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 }); }
2273
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOpenableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2274
+ /** @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 }); }
2562
2275
  }
2563
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffOpenableDirective, decorators: [{
2276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffOpenableDirective, decorators: [{
2564
2277
  type: Directive,
2565
2278
  args: [{
2566
2279
  selector: '[daffOpenable]',
@@ -2596,10 +2309,10 @@ class DaffSelectableDirective {
2596
2309
  this.cd.markForCheck();
2597
2310
  return this;
2598
2311
  }
2599
- /** @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 }); }
2600
- /** @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 }); }
2312
+ /** @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 }); }
2313
+ /** @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 }); }
2601
2314
  }
2602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffSelectableDirective, decorators: [{
2315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffSelectableDirective, decorators: [{
2603
2316
  type: Directive,
2604
2317
  args: [{
2605
2318
  selector: '[daffSelected]',
@@ -2630,5 +2343,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
2630
2343
  * Generated bundle index. Do not edit.
2631
2344
  */
2632
2345
 
2633
- export { DAFF_THEME_INITIALIZER, DaffArticleEncapsulatedDirective, DaffBreakpoints, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffColorableDirective, DaffCompactableDirective, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFocusStackService, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule, DaffFormLabelDirective, DaffFormLabelModule, 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, daffPrefixableMixin, daffSuffixableMixin };
2346
+ 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, 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 };
2634
2347
  //# sourceMappingURL=daffodil-design.mjs.map