@daffodil/design 0.60.0 → 0.62.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 (258) hide show
  1. package/accordion/examples/package.json +1 -1
  2. package/article/examples/package.json +1 -1
  3. package/atoms/button/button.component.d.ts +18 -2
  4. package/atoms/button/button.module.d.ts +2 -1
  5. package/atoms/form/error-message/error-message.component.d.ts +1 -0
  6. package/atoms/form/form-label/form-label.directive.d.ts +6 -0
  7. package/atoms/form/form-label/form-label.module.d.ts +7 -0
  8. package/atoms/form/form-label/public_api.d.ts +2 -0
  9. package/atoms/form/{select/select/select.component.d.ts → native-select/native-select.component.d.ts} +1 -1
  10. package/atoms/form/{select/select.module.d.ts → native-select/native-select.module.d.ts} +1 -1
  11. package/atoms/form/native-select/public_api.d.ts +2 -0
  12. package/atoms/form/quantity-field/quantity-field.module.d.ts +1 -1
  13. package/atoms/form/quantity-field/quantity-select/quantity-select.component.d.ts +1 -1
  14. package/atoms/loading-icon/loading-icon.component.d.ts +3 -3
  15. package/button/examples/examples.d.ts +4 -0
  16. package/button/examples/flat-button/flat-button.component.d.ts +7 -0
  17. package/button/examples/flat-button/flat-button.module.d.ts +9 -0
  18. package/button/examples/package.json +1 -1
  19. package/button/examples/public_api.d.ts +10 -9
  20. package/callout/examples/package.json +1 -1
  21. package/card/examples/package.json +1 -1
  22. package/checkbox/examples/package.json +1 -1
  23. package/container/examples/package.json +1 -1
  24. package/core/animation/animation-state-with-params.d.ts +8 -0
  25. package/core/public_api.d.ts +3 -2
  26. package/core/statusable/public_api.d.ts +2 -0
  27. package/esm2020/atoms/button/button.component.mjs +62 -5
  28. package/esm2020/atoms/button/button.module.mjs +6 -2
  29. package/esm2020/atoms/form/error-message/error-message.component.mjs +10 -4
  30. package/esm2020/atoms/form/form-label/form-label.directive.mjs +19 -0
  31. package/esm2020/atoms/form/form-label/form-label.module.mjs +20 -0
  32. package/esm2020/atoms/form/form-label/public_api.mjs +3 -0
  33. package/esm2020/atoms/form/native-select/native-select.component.mjs +64 -0
  34. package/esm2020/atoms/form/{select/select.module.mjs → native-select/native-select.module.mjs} +2 -2
  35. package/esm2020/atoms/form/native-select/public_api.mjs +3 -0
  36. package/esm2020/atoms/form/quantity-field/quantity-field.module.mjs +2 -2
  37. package/esm2020/atoms/form/quantity-field/quantity-select/quantity-select.component.mjs +3 -3
  38. package/esm2020/atoms/image/image.component.mjs +2 -2
  39. package/esm2020/atoms/loading-icon/loading-icon.component.mjs +4 -5
  40. package/esm2020/button/examples/basic-button/basic-button.component.mjs +7 -6
  41. package/esm2020/button/examples/examples.mjs +19 -0
  42. package/esm2020/button/examples/flat-button/flat-button.component.mjs +24 -0
  43. package/esm2020/button/examples/flat-button/flat-button.module.mjs +30 -0
  44. package/esm2020/button/examples/icon-button/icon-button.component.mjs +6 -5
  45. package/esm2020/button/examples/public_api.mjs +11 -18
  46. package/esm2020/button/examples/raised-button/raised-button.component.mjs +7 -6
  47. package/esm2020/button/examples/sizeable-button/sizeable-button.component.mjs +3 -7
  48. package/esm2020/button/examples/statusable-button/statusable-button.component.mjs +3 -11
  49. package/esm2020/button/examples/stroked-button/stroked-button.component.mjs +7 -6
  50. package/esm2020/button/examples/underline-button/underline-button.component.mjs +7 -6
  51. package/esm2020/button/examples/underline-button/underline-button.module.mjs +1 -1
  52. package/esm2020/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +1 -1
  53. package/esm2020/callout/examples/callout-theming/callout-theming.component.mjs +1 -1
  54. package/esm2020/callout/examples/callout-with-grid/callout-with-grid.component.mjs +1 -1
  55. package/esm2020/callout/examples/compact-callout/compact-callout.component.mjs +1 -1
  56. package/esm2020/card/examples/basic-card/basic-card.component.mjs +1 -1
  57. package/esm2020/card/examples/card-orientation/card-orientation.component.mjs +1 -1
  58. package/esm2020/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +1 -1
  59. package/esm2020/checkbox/examples/checkbox-set/checkbox-set.component.mjs +1 -1
  60. package/esm2020/core/animation/animation-state-with-params.mjs +2 -0
  61. package/esm2020/core/public_api.mjs +4 -3
  62. package/esm2020/core/statusable/public_api.mjs +3 -0
  63. package/esm2020/hero/examples/compact-hero/compact-hero.component.mjs +1 -1
  64. package/esm2020/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +1 -1
  65. package/esm2020/hero/examples/hero-theming/hero-theming.component.mjs +1 -1
  66. package/esm2020/hero/examples/hero-with-grid/hero-with-grid.component.mjs +1 -1
  67. package/esm2020/menu/examples/basic-menu/basic-menu.component.mjs +1 -1
  68. package/esm2020/modal/examples/basic-modal/basic-modal.component.mjs +1 -1
  69. package/esm2020/modal/examples/basic-modal/modal-content.component.mjs +1 -1
  70. package/esm2020/molecules/backdrop/animation/backdrop-animation-state.mjs +2 -0
  71. package/esm2020/molecules/backdrop/animation/backdrop-animation.mjs +6 -2
  72. package/esm2020/molecules/backdrop/backdrop/backdrop.component.mjs +40 -5
  73. package/esm2020/molecules/media-gallery/media-gallery.component.mjs +2 -2
  74. package/esm2020/molecules/qty-dropdown/qty-dropdown.component.mjs +1 -1
  75. package/esm2020/molecules/qty-dropdown/qty-dropdown.module.mjs +2 -2
  76. package/esm2020/molecules/sidebar/animation/sidebar-animation-state.mjs +2 -2
  77. package/esm2020/molecules/sidebar/animation/sidebar-animation-width.mjs +2 -0
  78. package/esm2020/molecules/sidebar/animation/sidebar-animation.mjs +21 -4
  79. package/esm2020/molecules/sidebar/animation/sidebar-viewport-animation-state.mjs +3 -0
  80. package/esm2020/molecules/sidebar/helper/sidebar-mode.mjs +1 -1
  81. package/esm2020/molecules/sidebar/helper/sidebar-side.mjs +2 -0
  82. package/esm2020/molecules/sidebar/public_api.mjs +1 -2
  83. package/esm2020/molecules/sidebar/sidebar/sidebar.component.mjs +62 -10
  84. package/esm2020/molecules/sidebar/sidebar-viewport/backdrop-interactable.mjs +5 -0
  85. package/esm2020/molecules/sidebar/sidebar-viewport/content-pad.mjs +17 -0
  86. package/esm2020/molecules/sidebar/sidebar-viewport/content-shift.mjs +21 -0
  87. package/esm2020/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +83 -81
  88. package/esm2020/navbar/examples/basic-navbar/basic-navbar.component.mjs +1 -1
  89. package/esm2020/navbar/examples/contained-navbar/contained-navbar.component.mjs +1 -1
  90. package/esm2020/navbar/examples/navbar-theming/navbar-theming.component.mjs +1 -1
  91. package/esm2020/navbar/examples/raised-navbar/raised-navbar.component.mjs +1 -1
  92. package/esm2020/public_api.mjs +3 -2
  93. package/esm2020/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +12 -0
  94. package/esm2020/sidebar/examples/basic-sidebar/basic-sidebar.module.mjs +29 -0
  95. package/esm2020/sidebar/examples/daffodil-design-sidebar-examples.mjs +5 -0
  96. package/esm2020/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.component.mjs +21 -0
  97. package/esm2020/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.module.mjs +32 -0
  98. package/esm2020/sidebar/examples/index.mjs +2 -0
  99. package/esm2020/sidebar/examples/public_api.mjs +18 -0
  100. package/esm2020/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.component.mjs +12 -0
  101. package/esm2020/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.module.mjs +29 -0
  102. package/esm2020/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.component.mjs +12 -0
  103. package/esm2020/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.module.mjs +29 -0
  104. package/esm2020/sidebar/examples/under-sidebar/under-sidebar.component.mjs +26 -0
  105. package/esm2020/sidebar/examples/under-sidebar/under-sidebar.module.mjs +32 -0
  106. package/esm2020/tree/daffodil-design-tree.mjs +5 -0
  107. package/esm2020/tree/examples/basic-tree/basic-tree.component.mjs +39 -0
  108. package/esm2020/tree/examples/basic-tree/basic-tree.module.mjs +34 -0
  109. package/esm2020/tree/examples/daffodil-design-tree-examples.mjs +5 -0
  110. package/esm2020/tree/examples/index.mjs +2 -0
  111. package/esm2020/tree/examples/public_api.mjs +7 -0
  112. package/esm2020/tree/index.mjs +2 -0
  113. package/esm2020/tree/interfaces/recursive-key.mjs +2 -0
  114. package/esm2020/tree/interfaces/tree-data.mjs +2 -0
  115. package/esm2020/tree/interfaces/tree-ui.mjs +2 -0
  116. package/esm2020/tree/public_api.mjs +5 -0
  117. package/esm2020/tree/tree/tree-notifier.service.mjs +45 -0
  118. package/esm2020/tree/tree/tree.component.mjs +106 -0
  119. package/esm2020/tree/tree-item/tree-item.directive.mjs +154 -0
  120. package/esm2020/tree/tree.module.mjs +31 -0
  121. package/esm2020/tree/utils/flatten-tree.mjs +47 -0
  122. package/esm2020/tree/utils/hydrate-tree.mjs +31 -0
  123. package/esm2020/tree/utils/transform-in-place.mjs +23 -0
  124. package/esm2020/tree/utils/traverse-tree.mjs +21 -0
  125. package/fesm2015/daffodil-design-button-examples.mjs +160 -122
  126. package/fesm2015/daffodil-design-button-examples.mjs.map +1 -1
  127. package/fesm2015/daffodil-design-callout-examples.mjs +4 -4
  128. package/fesm2015/daffodil-design-callout-examples.mjs.map +1 -1
  129. package/fesm2015/daffodil-design-card-examples.mjs +2 -2
  130. package/fesm2015/daffodil-design-card-examples.mjs.map +1 -1
  131. package/fesm2015/daffodil-design-checkbox-examples.mjs +2 -2
  132. package/fesm2015/daffodil-design-checkbox-examples.mjs.map +1 -1
  133. package/fesm2015/daffodil-design-hero-examples.mjs +4 -4
  134. package/fesm2015/daffodil-design-hero-examples.mjs.map +1 -1
  135. package/fesm2015/daffodil-design-menu-examples.mjs +1 -1
  136. package/fesm2015/daffodil-design-menu-examples.mjs.map +1 -1
  137. package/fesm2015/daffodil-design-modal-examples.mjs +2 -2
  138. package/fesm2015/daffodil-design-modal-examples.mjs.map +1 -1
  139. package/fesm2015/daffodil-design-navbar-examples.mjs +4 -4
  140. package/fesm2015/daffodil-design-navbar-examples.mjs.map +1 -1
  141. package/fesm2015/daffodil-design-sidebar-examples.mjs +218 -0
  142. package/fesm2015/daffodil-design-sidebar-examples.mjs.map +1 -0
  143. package/fesm2015/daffodil-design-tree-examples.mjs +81 -0
  144. package/fesm2015/daffodil-design-tree-examples.mjs.map +1 -0
  145. package/fesm2015/daffodil-design-tree.mjs +443 -0
  146. package/fesm2015/daffodil-design-tree.mjs.map +1 -0
  147. package/fesm2015/daffodil-design.mjs +440 -191
  148. package/fesm2015/daffodil-design.mjs.map +1 -1
  149. package/fesm2020/daffodil-design-button-examples.mjs +160 -122
  150. package/fesm2020/daffodil-design-button-examples.mjs.map +1 -1
  151. package/fesm2020/daffodil-design-callout-examples.mjs +4 -4
  152. package/fesm2020/daffodil-design-callout-examples.mjs.map +1 -1
  153. package/fesm2020/daffodil-design-card-examples.mjs +2 -2
  154. package/fesm2020/daffodil-design-card-examples.mjs.map +1 -1
  155. package/fesm2020/daffodil-design-checkbox-examples.mjs +2 -2
  156. package/fesm2020/daffodil-design-checkbox-examples.mjs.map +1 -1
  157. package/fesm2020/daffodil-design-hero-examples.mjs +4 -4
  158. package/fesm2020/daffodil-design-hero-examples.mjs.map +1 -1
  159. package/fesm2020/daffodil-design-menu-examples.mjs +1 -1
  160. package/fesm2020/daffodil-design-menu-examples.mjs.map +1 -1
  161. package/fesm2020/daffodil-design-modal-examples.mjs +2 -2
  162. package/fesm2020/daffodil-design-modal-examples.mjs.map +1 -1
  163. package/fesm2020/daffodil-design-navbar-examples.mjs +4 -4
  164. package/fesm2020/daffodil-design-navbar-examples.mjs.map +1 -1
  165. package/fesm2020/daffodil-design-sidebar-examples.mjs +218 -0
  166. package/fesm2020/daffodil-design-sidebar-examples.mjs.map +1 -0
  167. package/fesm2020/daffodil-design-tree-examples.mjs +81 -0
  168. package/fesm2020/daffodil-design-tree-examples.mjs.map +1 -0
  169. package/fesm2020/daffodil-design-tree.mjs +448 -0
  170. package/fesm2020/daffodil-design-tree.mjs.map +1 -0
  171. package/fesm2020/daffodil-design.mjs +440 -191
  172. package/fesm2020/daffodil-design.mjs.map +1 -1
  173. package/hero/examples/package.json +1 -1
  174. package/image/examples/package.json +1 -1
  175. package/input/examples/package.json +1 -1
  176. package/list/examples/package.json +1 -1
  177. package/loading-icon/examples/package.json +1 -1
  178. package/media-gallery/examples/package.json +1 -1
  179. package/menu/examples/package.json +1 -1
  180. package/modal/examples/package.json +1 -1
  181. package/molecules/backdrop/animation/backdrop-animation-state.d.ts +2 -0
  182. package/molecules/backdrop/backdrop/backdrop.component.d.ts +17 -3
  183. package/molecules/qty-dropdown/qty-dropdown.module.d.ts +1 -1
  184. package/molecules/sidebar/animation/sidebar-animation-state.d.ts +2 -1
  185. package/molecules/sidebar/animation/sidebar-animation-width.d.ts +2 -0
  186. package/molecules/sidebar/animation/sidebar-animation.d.ts +3 -1
  187. package/molecules/sidebar/animation/sidebar-viewport-animation-state.d.ts +6 -0
  188. package/molecules/sidebar/helper/sidebar-mode.d.ts +27 -1
  189. package/molecules/sidebar/helper/sidebar-side.d.ts +12 -0
  190. package/molecules/sidebar/public_api.d.ts +2 -1
  191. package/molecules/sidebar/sidebar/sidebar.component.d.ts +37 -5
  192. package/molecules/sidebar/sidebar-viewport/backdrop-interactable.d.ts +6 -0
  193. package/molecules/sidebar/sidebar-viewport/content-pad.d.ts +7 -0
  194. package/molecules/sidebar/sidebar-viewport/content-shift.d.ts +8 -0
  195. package/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +47 -44
  196. package/navbar/examples/package.json +1 -1
  197. package/package.json +1 -1
  198. package/paginator/examples/package.json +1 -1
  199. package/public_api.d.ts +2 -1
  200. package/quantity-field/examples/package.json +1 -1
  201. package/radio/examples/package.json +1 -1
  202. package/scss/global.scss +1 -0
  203. package/scss/state/skeleton/_mixins.scss +1 -0
  204. package/scss/theme.scss +4 -2
  205. package/scss/theming/_color-palettes.scss +5 -5
  206. package/sidebar/examples/basic-sidebar/basic-sidebar.component.d.ts +5 -0
  207. package/sidebar/examples/basic-sidebar/basic-sidebar.module.d.ts +8 -0
  208. package/sidebar/examples/daffodil-design-sidebar-examples.d.ts +5 -0
  209. package/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.component.d.ts +8 -0
  210. package/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.module.d.ts +8 -0
  211. package/sidebar/examples/index.d.ts +1 -0
  212. package/sidebar/examples/package.json +1 -0
  213. package/sidebar/examples/public_api.d.ts +2 -0
  214. package/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.component.d.ts +5 -0
  215. package/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.module.d.ts +8 -0
  216. package/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.component.d.ts +5 -0
  217. package/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.module.d.ts +8 -0
  218. package/sidebar/examples/under-sidebar/under-sidebar.component.d.ts +10 -0
  219. package/sidebar/examples/under-sidebar/under-sidebar.module.d.ts +8 -0
  220. package/src/atoms/button/button-theme-variants/button.scss +9 -18
  221. package/src/atoms/button/button-theme-variants/flat.scss +25 -0
  222. package/src/atoms/button/button-theme-variants/raised.scss +6 -26
  223. package/src/atoms/button/button-theme-variants/stroked.scss +12 -20
  224. package/src/atoms/button/button-theme.scss +121 -117
  225. package/src/atoms/form/{select → native-select}/README.md +1 -1
  226. package/src/atoms/form/{select/select/select-theme.scss → native-select/native-select-theme.scss} +3 -3
  227. package/src/atoms/loading-icon/loading-icon-theme.scss +4 -0
  228. package/src/molecules/sidebar/README.md +10 -0
  229. package/src/molecules/sidebar/helper/_variables.scss +7 -0
  230. package/src/molecules/sidebar/sidebar/sidebar-theme.scss +3 -3
  231. package/src/molecules/sidebar/sidebar-viewport/sidebar-viewport-theme.scss +5 -0
  232. package/tree/README.md +38 -0
  233. package/tree/daffodil-design-tree.d.ts +5 -0
  234. package/tree/examples/basic-tree/basic-tree.component.d.ts +7 -0
  235. package/tree/examples/basic-tree/basic-tree.module.d.ts +10 -0
  236. package/tree/examples/daffodil-design-tree-examples.d.ts +5 -0
  237. package/tree/examples/index.d.ts +1 -0
  238. package/tree/examples/package.json +1 -0
  239. package/tree/examples/public_api.d.ts +4 -0
  240. package/tree/index.d.ts +1 -0
  241. package/tree/interfaces/recursive-key.d.ts +3 -0
  242. package/tree/interfaces/tree-data.d.ts +13 -0
  243. package/tree/interfaces/tree-ui.d.ts +11 -0
  244. package/tree/package.json +1 -0
  245. package/tree/public_api.d.ts +6 -0
  246. package/tree/src/tree-theme.scss +38 -0
  247. package/tree/tree/tree-notifier.service.d.ts +32 -0
  248. package/tree/tree/tree.component.d.ts +75 -0
  249. package/tree/tree-item/tree-item.directive.d.ts +102 -0
  250. package/tree/tree.module.d.ts +9 -0
  251. package/tree/utils/flatten-tree.d.ts +19 -0
  252. package/tree/utils/hydrate-tree.d.ts +8 -0
  253. package/tree/utils/transform-in-place.d.ts +15 -0
  254. package/tree/utils/traverse-tree.d.ts +5 -0
  255. package/atoms/form/select/public_api.d.ts +0 -2
  256. package/esm2020/atoms/form/select/public_api.mjs +0 -3
  257. package/esm2020/atoms/form/select/select/select.component.mjs +0 -64
  258. package/src/atoms/button/button-theme-variants/focus.scss +0 -6
@@ -1,6 +1,7 @@
1
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
1
2
  import * as i0 from '@angular/core';
2
- import { Input, Directive, HostBinding, NgModule, ContentChild, Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, Injectable, TemplateRef, ViewContainerRef, Inject, ViewChild, EventEmitter, Output, HostListener, Optional, Self, ElementRef, ContentChildren, SkipSelf, Type, APP_INITIALIZER } from '@angular/core';
3
- import * as i3 from '@angular/common';
3
+ import { Input, Directive, HostBinding, NgModule, ContentChild, Component, ChangeDetectionStrategy, ViewEncapsulation, InjectionToken, Injectable, TemplateRef, ViewContainerRef, Inject, ViewChild, EventEmitter, Output, HostListener, Optional, Self, ElementRef, ContentChildren, SkipSelf, Type, APP_INITIALIZER } from '@angular/core';
4
+ import * as i2 from '@angular/common';
4
5
  import { CommonModule, DOCUMENT } from '@angular/common';
5
6
  import * as i1 from '@fortawesome/angular-fontawesome';
6
7
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
@@ -10,7 +11,6 @@ import { takeUntil, filter as filter$1, startWith, map as map$1, catchError, sha
10
11
  import * as i1$1 from '@angular/platform-browser';
11
12
  import * as i1$2 from '@angular/forms';
12
13
  import { FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
13
- import { coerceNumberProperty } from '@angular/cdk/coercion';
14
14
  import { trigger, state, style, transition, animate } from '@angular/animations';
15
15
  import { __awaiter } from 'tslib';
16
16
  import * as i1$5 from '@angular/cdk/portal';
@@ -256,6 +256,55 @@ function daffStatusMixin(Base, defaultStatus) {
256
256
  return DaffStatusMixinClass;
257
257
  }
258
258
 
259
+ /**
260
+ * An _elementRef and an instance of renderer2 are needed for the Colorable mixin
261
+ */
262
+ class DaffLoadingIconBase {
263
+ constructor(_elementRef, _renderer) {
264
+ this._elementRef = _elementRef;
265
+ this._renderer = _renderer;
266
+ }
267
+ }
268
+ const _daffLoadingIconBase = daffColorMixin(DaffLoadingIconBase);
269
+ /**
270
+ * @inheritdoc
271
+ */
272
+ class DaffLoadingIconComponent extends _daffLoadingIconBase {
273
+ constructor(elementRef, renderer) {
274
+ super(elementRef, renderer);
275
+ this.elementRef = elementRef;
276
+ this.renderer = renderer;
277
+ /**
278
+ * The (pixel) diameter of the animation
279
+ */
280
+ this.diameter = 60;
281
+ /**
282
+ * @docs-private
283
+ */
284
+ this.class = true;
285
+ }
286
+ /**
287
+ * @docs-private
288
+ */
289
+ get maxWidth() {
290
+ return this.diameter + 'px';
291
+ }
292
+ }
293
+ /** @nocollapse */ DaffLoadingIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
294
+ /** @nocollapse */ DaffLoadingIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffLoadingIconComponent, selector: "daff-loading-icon", inputs: { color: "color", diameter: "diameter" }, host: { properties: { "class.daff-loading-icon": "this.class", "style.max-width": "this.maxWidth" } }, usesInheritance: true, ngImport: i0, template: "<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle cx=\"50%\" cy=\"50%\" r=\"46\"></circle>\n</svg>", styles: [":host{display:flex;width:100%}circle{animation:rotation linear,circle-animation linear;animation-duration:1s;animation-iteration-count:infinite;fill:transparent;stroke-dasharray:101.1592834456 400;stroke-linecap:round;stroke-width:5px;transform-origin:center}@keyframes circle-animation{0%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:101.1592834456}50%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:28.902652413}75%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:0}to{stroke-dasharray:0 400;stroke-dashoffset:-101.1592834456}}@keyframes rotation{0%{transform:rotate(-90deg)}50%{transform:rotate(0)}50.5%{transform:rotate(0)}75%{transform:rotate(90deg)}75.5%{transform:rotate(90deg)}99%{transform:rotate(144deg)}to{transform:rotate(144deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconComponent, decorators: [{
296
+ type: Component,
297
+ args: [{ selector: 'daff-loading-icon', inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle cx=\"50%\" cy=\"50%\" r=\"46\"></circle>\n</svg>", styles: [":host{display:flex;width:100%}circle{animation:rotation linear,circle-animation linear;animation-duration:1s;animation-iteration-count:infinite;fill:transparent;stroke-dasharray:101.1592834456 400;stroke-linecap:round;stroke-width:5px;transform-origin:center}@keyframes circle-animation{0%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:101.1592834456}50%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:28.902652413}75%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:0}to{stroke-dasharray:0 400;stroke-dashoffset:-101.1592834456}}@keyframes rotation{0%{transform:rotate(-90deg)}50%{transform:rotate(0)}50.5%{transform:rotate(0)}75%{transform:rotate(90deg)}75.5%{transform:rotate(90deg)}99%{transform:rotate(144deg)}to{transform:rotate(144deg)}}\n"] }]
298
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { diameter: [{
299
+ type: Input
300
+ }], class: [{
301
+ type: HostBinding,
302
+ args: ['class.daff-loading-icon']
303
+ }], maxWidth: [{
304
+ type: HostBinding,
305
+ args: ['style.max-width']
306
+ }] } });
307
+
259
308
  /**
260
309
  * List of classes to add to DaffButtonComponent instances based on host attributes to style as different variants.
261
310
  */
@@ -263,6 +312,7 @@ const BUTTON_HOST_ATTRIBUTES = [
263
312
  'daff-button',
264
313
  'daff-stroked-button',
265
314
  'daff-raised-button',
315
+ 'daff-flat-button',
266
316
  'daff-icon-button',
267
317
  'daff-underline-button',
268
318
  ];
@@ -281,6 +331,7 @@ var DaffButtonTypeEnum;
281
331
  DaffButtonTypeEnum["Default"] = "daff-button";
282
332
  DaffButtonTypeEnum["Stroked"] = "daff-stroked-button";
283
333
  DaffButtonTypeEnum["Raised"] = "daff-raised-button";
334
+ DaffButtonTypeEnum["Flat"] = "daff-flat-button";
284
335
  DaffButtonTypeEnum["Icon"] = "daff-icon-button";
285
336
  DaffButtonTypeEnum["Underline"] = "daff-underline-button";
286
337
  })(DaffButtonTypeEnum || (DaffButtonTypeEnum = {}));
@@ -292,6 +343,9 @@ class DaffButtonComponent extends _daffButtonBase {
292
343
  super(elementRef, renderer);
293
344
  this.elementRef = elementRef;
294
345
  this.renderer = renderer;
346
+ this.loading = false;
347
+ this.tabindex = 0;
348
+ this._disabled = false;
295
349
  for (const attr of BUTTON_HOST_ATTRIBUTES) {
296
350
  if (this._hasHostAttributes(attr)) {
297
351
  elementRef.nativeElement.classList.add(attr);
@@ -326,6 +380,12 @@ class DaffButtonComponent extends _daffButtonBase {
326
380
  get raised() {
327
381
  return this.buttonType === DaffButtonTypeEnum.Raised;
328
382
  }
383
+ /**
384
+ * @docs-private
385
+ */
386
+ get flat() {
387
+ return this.buttonType === DaffButtonTypeEnum.Flat;
388
+ }
329
389
  /**
330
390
  * @docs-private
331
391
  */
@@ -338,6 +398,27 @@ class DaffButtonComponent extends _daffButtonBase {
338
398
  get underline() {
339
399
  return this.buttonType === DaffButtonTypeEnum.Underline;
340
400
  }
401
+ get disabledClass() {
402
+ return this.disabled;
403
+ }
404
+ /**
405
+ * The disabled state of the button.
406
+ */
407
+ get disabled() {
408
+ return this._disabled || this.loading;
409
+ }
410
+ set disabled(value) {
411
+ this._disabled = coerceBooleanProperty(value);
412
+ }
413
+ get disabledAttribute() {
414
+ return this.disabled ? true : null;
415
+ }
416
+ get ariaDisabled() {
417
+ return this.disabled ? true : null;
418
+ }
419
+ get disabledTabIndex() {
420
+ return this.disabled ? -1 : this.tabindex;
421
+ }
341
422
  _getHostElement() {
342
423
  return this.elementRef.nativeElement;
343
424
  }
@@ -349,20 +430,22 @@ class DaffButtonComponent extends _daffButtonBase {
349
430
  }
350
431
  }
351
432
  /** @nocollapse */ DaffButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
352
- /** @nocollapse */ DaffButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffButtonComponent, selector: "button[daff-button],button[daff-stroked-button],button[daff-raised-button],button[daff-icon-button],button[daff-underline-button],a[daff-button],a[daff-stroked-button],a[daff-raised-button],a[daff-icon-button],a[daff-underline-button]", inputs: { color: "color", size: "size", status: "status" }, host: { properties: { "class.daff-button": "this.button", "class.daff-stroked-button": "this.stroked", "class.daff-raised-button": "this.raised", "class.daff-icon-button": "this.icon", "class.daff-underline-button": "this.underline" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span><ng-content></ng-content></span>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [".daff-button,.daff-raised-button,.daff-stroked-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-block;-webkit-appearance:none;appearance:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;transition:background-color .3s,border-color .3s,box-shadow .3s,color .3s,transform .3s;will-change:background-color,border-color,box-shadow,color;min-width:96px}.daff-button[disabled],.daff-raised-button[disabled],.daff-stroked-button[disabled]{cursor:not-allowed}.daff-button .daff-prefix,.daff-button .daff-suffix,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix{vertical-align:middle}.daff-button .daff-prefix,.daff-raised-button .daff-prefix,.daff-stroked-button .daff-prefix{margin-right:8px}.daff-button .daff-suffix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-suffix{margin-left:8px}.daff-button.daff-sm,.daff-raised-button.daff-sm,.daff-stroked-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md,.daff-raised-button.daff-md,.daff-stroked-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg,.daff-raised-button.daff-lg,.daff-stroked-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}.daff-icon-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-block;-webkit-appearance:none;appearance:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled]{cursor:not-allowed}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}.daff-underline-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-block;-webkit-appearance:none;appearance:none;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{vertical-align:middle}.daff-underline-button .daff-prefix{margin-right:8px}.daff-underline-button .daff-suffix{margin-left:8px}.daff-underline-button[disabled]{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after{animation:none}.daff-underline-button:focus{border-radius:4px}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
433
+ /** @nocollapse */ DaffButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffButtonComponent, selector: "button[daff-button],button[daff-stroked-button],button[daff-raised-button],button[daff-flat-button],button[daff-icon-button],button[daff-underline-button],a[daff-button],a[daff-stroked-button],a[daff-raised-button],a[daff-flat-button],a[daff-icon-button],a[daff-underline-button]", inputs: { color: "color", size: "size", status: "status", loading: "loading", tabindex: "tabindex", disabled: "disabled" }, host: { properties: { "class.daff-button": "this.button", "class.daff-stroked-button": "this.stroked", "class.daff-raised-button": "this.raised", "class.daff-flat-button": "this.flat", "class.daff-icon-button": "this.icon", "class.daff-underline-button": "this.underline", "class.daff-button--disabled": "this.disabledClass", "attr.disabled": "this.disabledAttribute", "attr.aria-disabled": "this.ariaDisabled", "attr.tabindex": "this.disabledTabIndex" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span class=\"daff-button__content\" *ngIf=\"!loading\"><ng-content></ng-content></span>\n<daff-loading-icon *ngIf=\"loading\" [diameter]=\"24\"></daff-loading-icon>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [".daff-button,.daff-raised-button,.daff-stroked-button,.daff-flat-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;-webkit-appearance:none;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-button[disabled],.daff-button.daff-button--disabled,.daff-raised-button[disabled],.daff-raised-button.daff-button--disabled,.daff-stroked-button[disabled],.daff-stroked-button.daff-button--disabled,.daff-flat-button[disabled],.daff-flat-button.daff-button--disabled{cursor:not-allowed}.daff-button[disabled]:hover:after,.daff-button.daff-button--disabled:hover:after,.daff-raised-button[disabled]:hover:after,.daff-raised-button.daff-button--disabled:hover:after,.daff-stroked-button[disabled]:hover:after,.daff-stroked-button.daff-button--disabled:hover:after,.daff-flat-button[disabled]:hover:after,.daff-flat-button.daff-button--disabled:hover:after{opacity:0}.daff-button .daff-button__content,.daff-button .daff-prefix,.daff-button .daff-suffix,.daff-raised-button .daff-button__content,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-button__content,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix,.daff-flat-button .daff-button__content,.daff-flat-button .daff-prefix,.daff-flat-button .daff-suffix{z-index:2}.daff-button.daff-sm,.daff-raised-button.daff-sm,.daff-stroked-button.daff-sm,.daff-flat-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md,.daff-raised-button.daff-md,.daff-stroked-button.daff-md,.daff-flat-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg,.daff-raised-button.daff-lg,.daff-stroked-button.daff-lg,.daff-flat-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}.daff-button:after,.daff-flat-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-button:hover:after,.daff-button:active:after,.daff-flat-button:hover:after,.daff-flat-button:active:after{opacity:1}.daff-raised-button:after{content:\"\";border-radius:0;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-raised-button:hover:after,.daff-raised-button:active:after{opacity:1}.daff-stroked-button:after{content:\"\";border-radius:3px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-stroked-button:hover:after,.daff-stroked-button:active:after{opacity:1}.daff-flat-button{background:none;border:none}.daff-icon-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;-webkit-appearance:none;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled],.daff-icon-button.daff-button--disabled{cursor:not-allowed}.daff-icon-button[disabled]:hover:after,.daff-icon-button.daff-button--disabled:hover:after{opacity:0}.daff-icon-button .daff-button__content,.daff-icon-button .daff-prefix,.daff-icon-button .daff-suffix{z-index:2}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}.daff-underline-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;-webkit-appearance:none;appearance:none;border:none;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button[disabled]:hover:after,.daff-underline-button.daff-button--disabled:hover:after{opacity:0}.daff-underline-button .daff-button__content,.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{z-index:2}.daff-underline-button[disabled],.daff-underline-button.daff-button--disabled{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after,.daff-underline-button.daff-button--disabled:hover:after,.daff-underline-button.daff-button--disabled:active:after{animation:none}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"], components: [{ type: DaffLoadingIconComponent, selector: "daff-loading-icon", inputs: ["color", "diameter"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
353
434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffButtonComponent, decorators: [{
354
435
  type: Component,
355
436
  args: [{ selector: '' +
356
437
  'button[daff-button]' + ',' +
357
438
  'button[daff-stroked-button]' + ',' +
358
439
  'button[daff-raised-button]' + ',' +
440
+ 'button[daff-flat-button]' + ',' +
359
441
  'button[daff-icon-button]' + ',' +
360
442
  'button[daff-underline-button]' + ',' +
361
443
  'a[daff-button]' + ',' +
362
444
  'a[daff-stroked-button]' + ',' +
363
445
  'a[daff-raised-button]' + ',' +
446
+ 'a[daff-flat-button]' + ',' +
364
447
  'a[daff-icon-button]' + ',' +
365
- 'a[daff-underline-button]', inputs: ['color', 'size', 'status'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span><ng-content></ng-content></span>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [".daff-button,.daff-raised-button,.daff-stroked-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-block;-webkit-appearance:none;appearance:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;transition:background-color .3s,border-color .3s,box-shadow .3s,color .3s,transform .3s;will-change:background-color,border-color,box-shadow,color;min-width:96px}.daff-button[disabled],.daff-raised-button[disabled],.daff-stroked-button[disabled]{cursor:not-allowed}.daff-button .daff-prefix,.daff-button .daff-suffix,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix{vertical-align:middle}.daff-button .daff-prefix,.daff-raised-button .daff-prefix,.daff-stroked-button .daff-prefix{margin-right:8px}.daff-button .daff-suffix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-suffix{margin-left:8px}.daff-button.daff-sm,.daff-raised-button.daff-sm,.daff-stroked-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md,.daff-raised-button.daff-md,.daff-stroked-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg,.daff-raised-button.daff-lg,.daff-stroked-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}.daff-icon-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-block;-webkit-appearance:none;appearance:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled]{cursor:not-allowed}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}.daff-underline-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-block;-webkit-appearance:none;appearance:none;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{vertical-align:middle}.daff-underline-button .daff-prefix{margin-right:8px}.daff-underline-button .daff-suffix{margin-left:8px}.daff-underline-button[disabled]{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after{animation:none}.daff-underline-button:focus{border-radius:4px}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"] }]
448
+ 'a[daff-underline-button]', inputs: ['color', 'size', 'status'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span class=\"daff-button__content\" *ngIf=\"!loading\"><ng-content></ng-content></span>\n<daff-loading-icon *ngIf=\"loading\" [diameter]=\"24\"></daff-loading-icon>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", styles: [".daff-button,.daff-raised-button,.daff-stroked-button,.daff-flat-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;-webkit-appearance:none;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;min-width:96px}.daff-button[disabled],.daff-button.daff-button--disabled,.daff-raised-button[disabled],.daff-raised-button.daff-button--disabled,.daff-stroked-button[disabled],.daff-stroked-button.daff-button--disabled,.daff-flat-button[disabled],.daff-flat-button.daff-button--disabled{cursor:not-allowed}.daff-button[disabled]:hover:after,.daff-button.daff-button--disabled:hover:after,.daff-raised-button[disabled]:hover:after,.daff-raised-button.daff-button--disabled:hover:after,.daff-stroked-button[disabled]:hover:after,.daff-stroked-button.daff-button--disabled:hover:after,.daff-flat-button[disabled]:hover:after,.daff-flat-button.daff-button--disabled:hover:after{opacity:0}.daff-button .daff-button__content,.daff-button .daff-prefix,.daff-button .daff-suffix,.daff-raised-button .daff-button__content,.daff-raised-button .daff-prefix,.daff-raised-button .daff-suffix,.daff-stroked-button .daff-button__content,.daff-stroked-button .daff-prefix,.daff-stroked-button .daff-suffix,.daff-flat-button .daff-button__content,.daff-flat-button .daff-prefix,.daff-flat-button .daff-suffix{z-index:2}.daff-button.daff-sm,.daff-raised-button.daff-sm,.daff-stroked-button.daff-sm,.daff-flat-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;padding:0 1rem}.daff-button.daff-md,.daff-raised-button.daff-md,.daff-stroked-button.daff-md,.daff-flat-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;padding:0 1.5rem}.daff-button.daff-lg,.daff-raised-button.daff-lg,.daff-stroked-button.daff-lg,.daff-flat-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;padding:0 1.5rem}.daff-button:after,.daff-flat-button:after{content:\"\";border-radius:4px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-button:hover:after,.daff-button:active:after,.daff-flat-button:hover:after,.daff-flat-button:active:after{opacity:1}.daff-raised-button:after{content:\"\";border-radius:0;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-raised-button:hover:after,.daff-raised-button:active:after{opacity:1}.daff-stroked-button:after{content:\"\";border-radius:3px;position:absolute;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-stroked-button:hover:after,.daff-stroked-button:active:after{opacity:1}.daff-flat-button{background:none;border:none}.daff-icon-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;-webkit-appearance:none;appearance:none;border:none;border-radius:4px;position:relative;text-align:center;text-decoration:none;background:none;border:0;padding:0}.daff-icon-button[disabled],.daff-icon-button.daff-button--disabled{cursor:not-allowed}.daff-icon-button[disabled]:hover:after,.daff-icon-button.daff-button--disabled:hover:after{opacity:0}.daff-icon-button .daff-button__content,.daff-icon-button .daff-prefix,.daff-icon-button .daff-suffix{z-index:2}.daff-icon-button.daff-sm{font-size:.875rem;line-height:2rem;height:2rem;width:2rem}.daff-icon-button.daff-md{font-size:1rem;line-height:3rem;height:3rem;width:3rem}.daff-icon-button.daff-lg{font-size:1.25rem;line-height:3.5rem;height:3.5rem;width:3.5rem}.daff-underline-button{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;-webkit-appearance:none;appearance:none;border:none;position:relative;text-align:center;background:transparent;border:0;border-radius:0;line-height:1.25rem;overflow:hidden;text-decoration:none;vertical-align:middle}.daff-underline-button[disabled]:hover:after,.daff-underline-button.daff-button--disabled:hover:after{opacity:0}.daff-underline-button .daff-button__content,.daff-underline-button .daff-prefix,.daff-underline-button .daff-suffix{z-index:2}.daff-underline-button[disabled],.daff-underline-button.daff-button--disabled{cursor:not-allowed}.daff-underline-button[disabled]:hover:after,.daff-underline-button[disabled]:active:after,.daff-underline-button.daff-button--disabled:hover:after,.daff-underline-button.daff-button--disabled:active:after{animation:none}.daff-underline-button:after{bottom:0;content:\"\";height:2px;left:0;opacity:1;position:absolute;width:100%}.daff-underline-button:hover:after{animation:none}@media (min-width: 1024px){.daff-underline-button:hover:after{animation:underline-button-hover .7s ease}}.daff-underline-button.daff-sm{font-size:.875rem;height:1.25rem;padding:0}.daff-underline-button.daff-md{font-size:1rem;height:1.5rem;padding:0 0 4px}.daff-underline-button.daff-lg{font-size:1.25rem;height:1.75rem;padding:0 0 8px}@keyframes underline-button-hover{0%{transform:translate(0)}50%{transform:translate(100%)}51%{transform:translate(-100%)}to{transform:translate(0)}}\n"] }]
366
449
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { button: [{
367
450
  type: HostBinding,
368
451
  args: ['class.daff-button']
@@ -372,23 +455,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
372
455
  }], raised: [{
373
456
  type: HostBinding,
374
457
  args: ['class.daff-raised-button']
458
+ }], flat: [{
459
+ type: HostBinding,
460
+ args: ['class.daff-flat-button']
375
461
  }], icon: [{
376
462
  type: HostBinding,
377
463
  args: ['class.daff-icon-button']
378
464
  }], underline: [{
379
465
  type: HostBinding,
380
466
  args: ['class.daff-underline-button']
467
+ }], disabledClass: [{
468
+ type: HostBinding,
469
+ args: ['class.daff-button--disabled']
470
+ }], loading: [{
471
+ type: Input
472
+ }], tabindex: [{
473
+ type: Input
474
+ }], disabled: [{
475
+ type: Input
476
+ }], disabledAttribute: [{
477
+ type: HostBinding,
478
+ args: ['attr.disabled']
479
+ }], ariaDisabled: [{
480
+ type: HostBinding,
481
+ args: ['attr.aria-disabled']
482
+ }], disabledTabIndex: [{
483
+ type: HostBinding,
484
+ args: ['attr.tabindex']
381
485
  }] } });
382
486
 
487
+ class DaffLoadingIconModule {
488
+ }
489
+ /** @nocollapse */ DaffLoadingIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
490
+ /** @nocollapse */ DaffLoadingIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, declarations: [DaffLoadingIconComponent], imports: [CommonModule], exports: [DaffLoadingIconComponent] });
491
+ /** @nocollapse */ DaffLoadingIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, imports: [[
492
+ CommonModule,
493
+ ]] });
494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, decorators: [{
495
+ type: NgModule,
496
+ args: [{
497
+ imports: [
498
+ CommonModule,
499
+ ],
500
+ declarations: [
501
+ DaffLoadingIconComponent,
502
+ ],
503
+ exports: [
504
+ DaffLoadingIconComponent,
505
+ ],
506
+ }]
507
+ }] });
508
+
383
509
  class DaffButtonModule {
384
510
  }
385
511
  /** @nocollapse */ DaffButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
386
512
  /** @nocollapse */ DaffButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffButtonModule, declarations: [DaffButtonComponent], imports: [CommonModule,
387
- DaffPrefixSuffixModule], exports: [DaffButtonComponent,
513
+ DaffPrefixSuffixModule,
514
+ DaffLoadingIconModule], exports: [DaffButtonComponent,
388
515
  DaffPrefixSuffixModule] });
389
516
  /** @nocollapse */ DaffButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffButtonModule, imports: [[
390
517
  CommonModule,
391
518
  DaffPrefixSuffixModule,
519
+ DaffLoadingIconModule,
392
520
  ], DaffPrefixSuffixModule] });
393
521
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffButtonModule, decorators: [{
394
522
  type: NgModule,
@@ -396,6 +524,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
396
524
  imports: [
397
525
  CommonModule,
398
526
  DaffPrefixSuffixModule,
527
+ DaffLoadingIconModule,
399
528
  ],
400
529
  declarations: [
401
530
  DaffButtonComponent,
@@ -414,13 +543,19 @@ class DaffErrorStateMatcher {
414
543
  }
415
544
 
416
545
  class DaffErrorMessageComponent {
546
+ constructor() {
547
+ this.class = true;
548
+ }
417
549
  }
418
550
  /** @nocollapse */ DaffErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
419
- /** @nocollapse */ DaffErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffErrorMessageComponent, selector: "daff-error-message", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;font-size:.875rem;margin-top:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
551
+ /** @nocollapse */ DaffErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffErrorMessageComponent, 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 });
420
552
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffErrorMessageComponent, decorators: [{
421
553
  type: Component,
422
554
  args: [{ selector: 'daff-error-message', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;font-size:.875rem;margin-top:5px}\n"] }]
423
- }] });
555
+ }], propDecorators: { class: [{
556
+ type: HostBinding,
557
+ args: ['class.daff-error-message']
558
+ }] } });
424
559
 
425
560
  class DaffErrorMessageModule {
426
561
  }
@@ -539,7 +674,7 @@ class DaffFormFieldComponent {
539
674
  }
540
675
  }
541
676
  /** @nocollapse */ DaffFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
542
- /** @nocollapse */ DaffFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffFormFieldComponent, 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"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
677
+ /** @nocollapse */ DaffFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffFormFieldComponent, 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"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
543
678
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormFieldComponent, decorators: [{
544
679
  type: Component,
545
680
  args: [{ selector: 'daff-form-field', encapsulation: ViewEncapsulation.None, 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"] }]
@@ -805,13 +940,13 @@ class DaffMediaGalleryComponent extends _daffMediaGalleryBase {
805
940
  /** @nocollapse */ DaffMediaGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffMediaGalleryComponent, selector: "daff-media-gallery", inputs: { skeleton: "skeleton", name: "name" }, host: { properties: { "class.daff-media-gallery": "this.class" } }, providers: [
806
941
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
807
942
  { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },
808
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"], components: [{ type: DaffMediaRendererComponent, selector: "daff-media-renderer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
943
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"], components: [{ type: DaffMediaRendererComponent, selector: "daff-media-renderer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
809
944
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMediaGalleryComponent, decorators: [{
810
945
  type: Component,
811
946
  args: [{ selector: 'daff-media-gallery', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
812
947
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
813
948
  { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },
814
- ], inputs: ['skeleton'], template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"] }]
949
+ ], inputs: ['skeleton'], template: "<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>", styles: [":host(.daff-media-gallery){display:flex;flex-direction:column}@media (min-width: 1024px){:host(.daff-media-gallery){flex-direction:row}}:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{cursor:pointer;-webkit-user-select:none;display:inline-block;height:64px;width:64px;margin:0 2px;max-width:100%;overflow:hidden;user-select:none}@media (min-width: 480px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{height:72px;width:72px}}@media (min-width: 1024px){:host(.daff-media-gallery) ::ng-deep .daff-thumbnail{display:block;margin:0 0 4px;height:80px;width:80px}}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:72px;width:72px;position:absolute;top:0;left:0}@media (min-width: 1024px){:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton ::ng-deep .daff-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:80px;width:80px;position:absolute;top:0;left:0}}:host(.daff-media-gallery).daff-skeleton ::ng-deep img{opacity:0}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail{display:flex;position:relative}:host(.daff-media-gallery).daff-skeleton .daff-media-gallery__selected-thumbnail:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}.daff-media-gallery__thumbnails{margin:0 -2px;max-height:100%;order:2}@media (min-width: 1024px){.daff-media-gallery__thumbnails{margin:0 8px 0 0;order:1}}.daff-media-gallery__selected-thumbnail{display:block;flex-grow:1;order:1;position:relative}@media (min-width: 1024px){.daff-media-gallery__selected-thumbnail{order:2}}\n"] }]
815
950
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DaffMediaGalleryRegistry }]; }, propDecorators: { class: [{
816
951
  type: HostBinding,
817
952
  args: ['class.daff-media-gallery']
@@ -1031,7 +1166,7 @@ class DaffImageComponent extends _daffImageBase {
1031
1166
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
1032
1167
  provide: daffThumbnailCompatToken, useExisting: DaffImageComponent,
1033
1168
  },
1034
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"daff-image__wrapper\" [style.paddingTop]=\"_paddingTop\">\n\t<img [src]=\"src\" [alt]=\"alt\" (load)=\"load.emit\" loading=\"lazy\"/>\n</div>", styles: [":host{display:inline-block;border-radius:inherit;position:relative;width:100%}:host.daff-skeleton{display:flex}:host.daff-skeleton:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}:host.daff-skeleton img{opacity:0}:host img{position:absolute;left:0;right:0;top:0;bottom:0;height:auto;margin:auto;max-width:100%}.daff-image__wrapper{border-radius:inherit;height:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1169
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"daff-image__wrapper\" [style.paddingTop]=\"_paddingTop\">\n\t<img [src]=\"src\" [alt]=\"alt\" (load)=\"load.emit\" loading=\"lazy\"/>\n</div>", styles: [":host{display:inline-block;border-radius:inherit;position:relative;width:100%}:host.daff-skeleton{display:flex;position:relative}:host.daff-skeleton:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}:host.daff-skeleton img{opacity:0}:host img{position:absolute;left:0;right:0;top:0;bottom:0;height:auto;margin:auto;max-width:100%}.daff-image__wrapper{border-radius:inherit;height:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1035
1170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffImageComponent, decorators: [{
1036
1171
  type: Component,
1037
1172
  args: [{ selector: 'daff-image', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -1039,7 +1174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1039
1174
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
1040
1175
  provide: daffThumbnailCompatToken, useExisting: DaffImageComponent,
1041
1176
  },
1042
- ], inputs: ['skeleton'], template: "<div class=\"daff-image__wrapper\" [style.paddingTop]=\"_paddingTop\">\n\t<img [src]=\"src\" [alt]=\"alt\" (load)=\"load.emit\" loading=\"lazy\"/>\n</div>", styles: [":host{display:inline-block;border-radius:inherit;position:relative;width:100%}:host.daff-skeleton{display:flex}:host.daff-skeleton:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}:host.daff-skeleton img{opacity:0}:host img{position:absolute;left:0;right:0;top:0;bottom:0;height:auto;margin:auto;max-width:100%}.daff-image__wrapper{border-radius:inherit;height:0}\n"] }]
1177
+ ], inputs: ['skeleton'], template: "<div class=\"daff-image__wrapper\" [style.paddingTop]=\"_paddingTop\">\n\t<img [src]=\"src\" [alt]=\"alt\" (load)=\"load.emit\" loading=\"lazy\"/>\n</div>", styles: [":host{display:inline-block;border-radius:inherit;position:relative;width:100%}:host.daff-skeleton{display:flex;position:relative}:host.daff-skeleton:before{animation-name:loading;animation-duration:1.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;content:\"\";height:100%;width:100%;position:absolute;top:0;left:0}:host.daff-skeleton img{opacity:0}:host img{position:absolute;left:0;right:0;top:0;bottom:0;height:auto;margin:auto;max-width:100%}.daff-image__wrapper{border-radius:inherit;height:0}\n"] }]
1043
1178
  }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { src: [{
1044
1179
  type: Input
1045
1180
  }], alt: [{
@@ -1691,7 +1826,7 @@ class DaffQuantitySelectComponent {
1691
1826
  }
1692
1827
  }
1693
1828
  /** @nocollapse */ DaffQuantitySelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffQuantitySelectComponent, deps: [{ token: i1$2.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1694
- /** @nocollapse */ DaffQuantitySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffQuantitySelectComponent, 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", components: [{ type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["formSubmitted"] }], directives: [{ type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1829
+ /** @nocollapse */ DaffQuantitySelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffQuantitySelectComponent, 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", components: [{ type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["formSubmitted"] }], directives: [{ type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1695
1830
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffQuantitySelectComponent, decorators: [{
1696
1831
  type: Component,
1697
1832
  args: [{ selector: 'daff-quantity-select', changeDetection: ChangeDetectionStrategy.OnPush, 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" }]
@@ -1802,7 +1937,7 @@ class DaffQuantityFieldComponent {
1802
1937
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
1803
1938
  useExisting: DaffQuantityFieldComponent,
1804
1939
  },
1805
- ], 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\" [max]=\"_maxFloor\" [extendable]=\"max > selectMax\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\" [max]=\"max\">\n</daff-quantity-input>\n", components: [{ type: DaffQuantitySelectComponent, selector: "daff-quantity-select", inputs: ["min", "max", "extendable"] }, { type: DaffQuantityInputComponent, selector: "daff-quantity-input", inputs: ["min", "max"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1940
+ ], 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\" [max]=\"_maxFloor\" [extendable]=\"max > selectMax\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\" [max]=\"max\">\n</daff-quantity-input>\n", components: [{ type: DaffQuantitySelectComponent, selector: "daff-quantity-select", inputs: ["min", "max", "extendable"] }, { type: DaffQuantityInputComponent, selector: "daff-quantity-input", inputs: ["min", "max"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1806
1941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffQuantityFieldComponent, decorators: [{
1807
1942
  type: Component,
1808
1943
  args: [{ selector: 'daff-quantity-field', providers: [
@@ -1927,78 +2062,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1927
2062
  }]
1928
2063
  }] });
1929
2064
 
1930
- /**
1931
- * An _elementRef and an instance of renderer2 are needed for the Colorable mixin
1932
- */
1933
- class DaffLoadingIconBase {
1934
- constructor(_elementRef, _renderer) {
1935
- this._elementRef = _elementRef;
1936
- this._renderer = _renderer;
1937
- }
1938
- }
1939
- const _daffLoadingIconBase = daffColorMixin(DaffLoadingIconBase, 'primary');
1940
- /**
1941
- * @inheritdoc
1942
- */
1943
- class DaffLoadingIconComponent extends _daffLoadingIconBase {
1944
- constructor(elementRef, renderer) {
1945
- super(elementRef, renderer);
1946
- this.elementRef = elementRef;
1947
- this.renderer = renderer;
1948
- /**
1949
- * The (pixel) diameter of the animation
1950
- */
1951
- // eslint-disable-next-line @typescript-eslint/no-inferrable-types
1952
- this.diameter = 60;
1953
- /**
1954
- * @docs-private
1955
- */
1956
- this.class = true;
1957
- }
1958
- /**
1959
- * @docs-private
1960
- */
1961
- get maxWidth() {
1962
- return this.diameter + 'px';
1963
- }
1964
- }
1965
- /** @nocollapse */ DaffLoadingIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1966
- /** @nocollapse */ DaffLoadingIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffLoadingIconComponent, selector: "daff-loading-icon", inputs: { color: "color", diameter: "diameter" }, host: { properties: { "class.daff-loading-icon": "this.class", "style.max-width": "this.maxWidth" } }, usesInheritance: true, ngImport: i0, template: "<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle cx=\"50%\" cy=\"50%\" r=\"46\"></circle>\n</svg>", styles: [":host{display:block}circle{animation:rotation linear,circle-animation linear;animation-duration:1s;animation-iteration-count:infinite;fill:transparent;stroke-dasharray:101.1592834456 400;stroke-linecap:round;stroke-width:5px;transform-origin:center}@keyframes circle-animation{0%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:101.1592834456}50%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:28.902652413}75%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:0}to{stroke-dasharray:0 400;stroke-dashoffset:-101.1592834456}}@keyframes rotation{0%{transform:rotate(-90deg)}50%{transform:rotate(0)}50.5%{transform:rotate(0)}75%{transform:rotate(90deg)}75.5%{transform:rotate(90deg)}99%{transform:rotate(144deg)}to{transform:rotate(144deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconComponent, decorators: [{
1968
- type: Component,
1969
- args: [{ selector: 'daff-loading-icon', inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle cx=\"50%\" cy=\"50%\" r=\"46\"></circle>\n</svg>", styles: [":host{display:block}circle{animation:rotation linear,circle-animation linear;animation-duration:1s;animation-iteration-count:infinite;fill:transparent;stroke-dasharray:101.1592834456 400;stroke-linecap:round;stroke-width:5px;transform-origin:center}@keyframes circle-animation{0%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:101.1592834456}50%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:28.902652413}75%{stroke-dasharray:101.1592834456 400;stroke-dashoffset:0}to{stroke-dasharray:0 400;stroke-dashoffset:-101.1592834456}}@keyframes rotation{0%{transform:rotate(-90deg)}50%{transform:rotate(0)}50.5%{transform:rotate(0)}75%{transform:rotate(90deg)}75.5%{transform:rotate(90deg)}99%{transform:rotate(144deg)}to{transform:rotate(144deg)}}\n"] }]
1970
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { diameter: [{
1971
- type: Input
1972
- }], class: [{
1973
- type: HostBinding,
1974
- args: ['class.daff-loading-icon']
1975
- }], maxWidth: [{
1976
- type: HostBinding,
1977
- args: ['style.max-width']
1978
- }] } });
1979
-
1980
- class DaffLoadingIconModule {
1981
- }
1982
- /** @nocollapse */ DaffLoadingIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1983
- /** @nocollapse */ DaffLoadingIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, declarations: [DaffLoadingIconComponent], imports: [CommonModule], exports: [DaffLoadingIconComponent] });
1984
- /** @nocollapse */ DaffLoadingIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, imports: [[
1985
- CommonModule,
1986
- ]] });
1987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffLoadingIconModule, decorators: [{
1988
- type: NgModule,
1989
- args: [{
1990
- imports: [
1991
- CommonModule,
1992
- ],
1993
- declarations: [
1994
- DaffLoadingIconComponent,
1995
- ],
1996
- exports: [
1997
- DaffLoadingIconComponent,
1998
- ],
1999
- }]
2000
- }] });
2001
-
2002
2065
  const daffProgressIndicatorAnimation = {
2003
2066
  fill: trigger('fill', [
2004
2067
  state('*', style({ width: '{{ percentage }}%' }), { params: { percentage: 0 } }),
@@ -2416,6 +2479,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
2416
2479
  }]
2417
2480
  }] });
2418
2481
 
2482
+ class DaffFormLabelDirective {
2483
+ constructor() {
2484
+ this.class = true;
2485
+ }
2486
+ }
2487
+ /** @nocollapse */ DaffFormLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2488
+ /** @nocollapse */ DaffFormLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: DaffFormLabelDirective, selector: "[daffFormLabel]", host: { properties: { "class.daff-form-label": "this.class" } }, ngImport: i0 });
2489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormLabelDirective, decorators: [{
2490
+ type: Directive,
2491
+ args: [{
2492
+ selector: '[daffFormLabel]',
2493
+ }]
2494
+ }], propDecorators: { class: [{
2495
+ type: HostBinding,
2496
+ args: ['class.daff-form-label']
2497
+ }] } });
2498
+
2499
+ class DaffFormLabelModule {
2500
+ }
2501
+ /** @nocollapse */ DaffFormLabelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2502
+ /** @nocollapse */ DaffFormLabelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormLabelModule, declarations: [DaffFormLabelDirective], exports: [DaffFormLabelDirective] });
2503
+ /** @nocollapse */ DaffFormLabelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormLabelModule });
2504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffFormLabelModule, decorators: [{
2505
+ type: NgModule,
2506
+ args: [{
2507
+ exports: [
2508
+ DaffFormLabelDirective,
2509
+ ],
2510
+ declarations: [
2511
+ DaffFormLabelDirective,
2512
+ ],
2513
+ }]
2514
+ }] });
2515
+
2419
2516
  class DaffAccordionItemContentDirective {
2420
2517
  constructor() {
2421
2518
  /**
@@ -2473,7 +2570,7 @@ const daffAccordionAnimations = {
2473
2570
  ]),
2474
2571
  };
2475
2572
 
2476
- const getAnimationState$2 = (open) => {
2573
+ const getAnimationState$3 = (open) => {
2477
2574
  if (open) {
2478
2575
  return 'open';
2479
2576
  }
@@ -2506,11 +2603,11 @@ class DaffAccordionItemComponent {
2506
2603
  */
2507
2604
  ngOnInit() {
2508
2605
  this._open = this.initiallyActive ? this.initiallyActive : this._open;
2509
- this._animationState = getAnimationState$2(this._open);
2606
+ this._animationState = getAnimationState$3(this._open);
2510
2607
  }
2511
2608
  toggleActive() {
2512
2609
  this._open = !this._open;
2513
- this._animationState = getAnimationState$2(this._open);
2610
+ this._animationState = getAnimationState$3(this._open);
2514
2611
  }
2515
2612
  }
2516
2613
  /** @nocollapse */ DaffAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -2591,15 +2688,15 @@ class DaffNavAccordionItemComponent {
2591
2688
  this._level = this.navAccordionItemParent._level + 1;
2592
2689
  }
2593
2690
  this._open = this.initiallyActive ? this.initiallyActive : this._open;
2594
- this._animationState = getAnimationState$2(this._open);
2691
+ this._animationState = getAnimationState$3(this._open);
2595
2692
  }
2596
2693
  toggleActive() {
2597
2694
  this._open = !this._open;
2598
- this._animationState = getAnimationState$2(this._open);
2695
+ this._animationState = getAnimationState$3(this._open);
2599
2696
  }
2600
2697
  }
2601
2698
  /** @nocollapse */ DaffNavAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffNavAccordionItemComponent, deps: [{ token: DaffAccordionComponent }, { token: DaffNavAccordionItemComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
2602
- /** @nocollapse */ DaffNavAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffNavAccordionItemComponent, selector: "daff-nav-accordion-item", inputs: { initiallyActive: "initiallyActive" }, host: { properties: { "class": "this.classes" } }, queries: [{ propertyName: "_navAccordionItemChild", predicate: DaffNavAccordionItemComponent, descendants: true }], ngImport: i0, template: "<div class=\"daff-nav-accordion-item__header\" (click)=\"toggleActive()\">\n <ng-content select=\"[daffAccordionItemTitle]\"></ng-content>\n <span [hidden]=\"_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </span>\n <span [hidden]=\"!_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronUp\"></fa-icon>\n </span>\n</div>\n<div [@openAccordion]=\"_animationState\">\n <ng-content></ng-content>\n</div>\n", styles: [":host(.daff-nav-accordion-item--level-1) .daff-nav-accordion-item__header{padding-left:15px}:host(.daff-nav-accordion-item--level-2) .daff-nav-accordion-item__header{padding-left:30px}:host(.daff-nav-accordion-item--level-3) .daff-nav-accordion-item__header{padding-left:45px}:host{display:block;padding-top:6px}.daff-nav-accordion-item__header{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:6px}.daff-nav-accordion-item__header .daff-suffix{margin:0 10px}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DaffSuffixDirective, selector: "[daffSuffix]" }], animations: [
2699
+ /** @nocollapse */ DaffNavAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffNavAccordionItemComponent, selector: "daff-nav-accordion-item", inputs: { initiallyActive: "initiallyActive" }, host: { properties: { "class": "this.classes" } }, queries: [{ propertyName: "_navAccordionItemChild", predicate: DaffNavAccordionItemComponent, descendants: true }], ngImport: i0, template: "<div class=\"daff-nav-accordion-item__header\" (click)=\"toggleActive()\">\n <ng-content select=\"[daffAccordionItemTitle]\"></ng-content>\n <span [hidden]=\"_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </span>\n <span [hidden]=\"!_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronUp\"></fa-icon>\n </span>\n</div>\n<div [@openAccordion]=\"_animationState\">\n <ng-content></ng-content>\n</div>\n", styles: [":host(.daff-nav-accordion-item--level-1) .daff-nav-accordion-item__header{padding-left:15px}:host(.daff-nav-accordion-item--level-2) .daff-nav-accordion-item__header{padding-left:30px}:host(.daff-nav-accordion-item--level-3) .daff-nav-accordion-item__header{padding-left:45px}:host{display:block;padding-top:6px}.daff-nav-accordion-item__header{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:6px}.daff-nav-accordion-item__header .daff-suffix{margin:0 10px}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DaffSuffixDirective, selector: "[daffSuffix]" }], animations: [
2603
2700
  daffAccordionAnimations.openAccordion,
2604
2701
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2605
2702
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffNavAccordionItemComponent, decorators: [{
@@ -2794,6 +2891,10 @@ const backdropTransitionOut = 'cubic-bezier(0.4, 0.0, 1, 1)';
2794
2891
  const backdropTransitionIn = 'cubic-bezier(0.0, 0.0, 0.2, 1)';
2795
2892
  const daffBackdropAnimations = {
2796
2893
  fadeBackdrop: trigger('fadeBackdrop', [
2894
+ state('interactable', style({ opacity: 1 })),
2895
+ state('non-interactable', style({ opacity: 0 })),
2896
+ transition('interactable => non-interactable', animate(animationDuration + ' ' + backdropTransitionOut)),
2897
+ transition('non-interactable => interactable', animate(animationDuration + ' ' + backdropTransitionIn)),
2797
2898
  transition(':enter', [
2798
2899
  style({ opacity: 0 }),
2799
2900
  animate(animationDuration + ' ' + backdropTransitionIn, style({ opacity: 1 })),
@@ -2804,6 +2905,8 @@ const daffBackdropAnimations = {
2804
2905
  ]),
2805
2906
  };
2806
2907
 
2908
+ const getAnimationState$2 = (interactable) => interactable ? 'interactable' : 'non-interactable';
2909
+
2807
2910
  class DaffBackdropComponent {
2808
2911
  constructor() {
2809
2912
  /**
@@ -2811,6 +2914,10 @@ class DaffBackdropComponent {
2811
2914
  */
2812
2915
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
2813
2916
  this.transparent = false;
2917
+ /**
2918
+ * Determines whether or not the backdrop is interactable.
2919
+ */
2920
+ this.interactable = true;
2814
2921
  /**
2815
2922
  * Boolean property that determines whether or not the
2816
2923
  * backdrop should fill up its containing window.
@@ -2821,34 +2928,64 @@ class DaffBackdropComponent {
2821
2928
  * Output event triggered when the backdrop is clicked.
2822
2929
  */
2823
2930
  this.backdropClicked = new EventEmitter();
2931
+ this.interactableClass = true;
2932
+ }
2933
+ ngOnInit() {
2934
+ this.interactableClass = this.interactable;
2824
2935
  }
2825
2936
  /**
2826
2937
  * Animation hook for that controls the backdrops
2827
2938
  * entrance and fade animations.
2828
2939
  */
2940
+ get fadeBackdropTrigger() {
2941
+ return getAnimationState$2(this.interactable);
2942
+ }
2943
+ animationDone(e) {
2944
+ this.interactableClass = !(e.toState === ':leave' || e.toState === 'non-interactable');
2945
+ }
2946
+ animationStart(e) {
2947
+ if (e.toState === ':enter' || e.toState === 'interactable') {
2948
+ this.interactableClass = true;
2949
+ }
2950
+ }
2951
+ /**
2952
+ * @deprecated
2953
+ * Backdrop event that triggers when the backdrop element is clicked.
2954
+ */
2829
2955
  onBackdropClicked() {
2830
2956
  this.backdropClicked.emit();
2831
2957
  }
2832
2958
  }
2833
2959
  /** @nocollapse */ DaffBackdropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2834
- /** @nocollapse */ DaffBackdropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffBackdropComponent, selector: "daff-backdrop", inputs: { transparent: "transparent", fullscreen: "fullscreen" }, outputs: { backdropClicked: "backdropClicked" }, host: { listeners: { "click": "onBackdropClicked()" }, properties: { "@fadeBackdrop": "this.onBackdropClicked" } }, ngImport: i0, template: "<div class=\"daff-backdrop\" [class.daff-backdrop--fullscreen]=\"fullscreen\" [class.daff-backdrop--transparent]=\"transparent\"></div>\n", styles: [":host{cursor:pointer;-webkit-user-select:none;user-select:none;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.daff-backdrop{background:rgba(0,0,0,.3);height:100%;width:100%}.daff-backdrop--transparent{background:none}.daff-backdrop:focus,.daff-backdrop:active,.daff-backdrop:visited{outline:0}.daff-backdrop--fullscreen{position:absolute}\n"], animations: [
2960
+ /** @nocollapse */ DaffBackdropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffBackdropComponent, selector: "daff-backdrop", inputs: { transparent: "transparent", interactable: "interactable", fullscreen: "fullscreen" }, outputs: { backdropClicked: "backdropClicked" }, host: { listeners: { "@fadeBackdrop.done": "animationDone($event)", "@fadeBackdrop.start": "animationStart($event)", "click": "onBackdropClicked()" }, properties: { "class.interactable": "this.interactableClass", "@fadeBackdrop": "this.fadeBackdropTrigger" } }, ngImport: i0, template: "<div class=\"daff-backdrop\" [class.daff-backdrop--fullscreen]=\"fullscreen\" [class.daff-backdrop--transparent]=\"transparent\"></div>\n", styles: [":host{display:block;-webkit-tap-highlight-color:rgba(0,0,0,0);visibility:hidden;pointer-events:none}:host.interactable{visibility:visible;pointer-events:all;cursor:pointer;-webkit-user-select:none;user-select:none}.daff-backdrop{background:rgba(0,0,0,.3);height:100%;width:100%}.daff-backdrop--transparent{background:none}.daff-backdrop:focus,.daff-backdrop:active,.daff-backdrop:visited{outline:0}.daff-backdrop--fullscreen{position:absolute}\n"], animations: [
2835
2961
  daffBackdropAnimations.fadeBackdrop,
2836
2962
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2837
2963
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffBackdropComponent, decorators: [{
2838
2964
  type: Component,
2839
2965
  args: [{ selector: 'daff-backdrop', animations: [
2840
2966
  daffBackdropAnimations.fadeBackdrop,
2841
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"daff-backdrop\" [class.daff-backdrop--fullscreen]=\"fullscreen\" [class.daff-backdrop--transparent]=\"transparent\"></div>\n", styles: [":host{cursor:pointer;-webkit-user-select:none;user-select:none;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.daff-backdrop{background:rgba(0,0,0,.3);height:100%;width:100%}.daff-backdrop--transparent{background:none}.daff-backdrop:focus,.daff-backdrop:active,.daff-backdrop:visited{outline:0}.daff-backdrop--fullscreen{position:absolute}\n"] }]
2967
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"daff-backdrop\" [class.daff-backdrop--fullscreen]=\"fullscreen\" [class.daff-backdrop--transparent]=\"transparent\"></div>\n", styles: [":host{display:block;-webkit-tap-highlight-color:rgba(0,0,0,0);visibility:hidden;pointer-events:none}:host.interactable{visibility:visible;pointer-events:all;cursor:pointer;-webkit-user-select:none;user-select:none}.daff-backdrop{background:rgba(0,0,0,.3);height:100%;width:100%}.daff-backdrop--transparent{background:none}.daff-backdrop:focus,.daff-backdrop:active,.daff-backdrop:visited{outline:0}.daff-backdrop--fullscreen{position:absolute}\n"] }]
2842
2968
  }], propDecorators: { transparent: [{
2843
2969
  type: Input
2970
+ }], interactable: [{
2971
+ type: Input
2844
2972
  }], fullscreen: [{
2845
2973
  type: Input
2846
2974
  }], backdropClicked: [{
2847
2975
  type: Output
2848
- }], onBackdropClicked: [{
2976
+ }], interactableClass: [{
2977
+ type: HostBinding,
2978
+ args: ['class.interactable']
2979
+ }], fadeBackdropTrigger: [{
2849
2980
  type: HostBinding,
2850
2981
  args: ['@fadeBackdrop']
2851
- }, {
2982
+ }], animationDone: [{
2983
+ type: HostListener,
2984
+ args: ['@fadeBackdrop.done', ['$event']]
2985
+ }], animationStart: [{
2986
+ type: HostListener,
2987
+ args: ['@fadeBackdrop.start', ['$event']]
2988
+ }], onBackdropClicked: [{
2852
2989
  type: HostListener,
2853
2990
  args: ['click']
2854
2991
  }] } });
@@ -3181,7 +3318,7 @@ class DaffListItemComponent {
3181
3318
  }
3182
3319
  }
3183
3320
  /** @nocollapse */ DaffListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffListItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3184
- /** @nocollapse */ DaffListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffListItemComponent, selector: "daff-list-item,a[daff-list-item]", host: { properties: { "class.daff-list-item": "this.class", "attr.role": "this.role" } }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3321
+ /** @nocollapse */ DaffListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffListItemComponent, selector: "daff-list-item,a[daff-list-item]", host: { properties: { "class.daff-list-item": "this.class", "attr.role": "this.role" } }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3185
3322
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffListItemComponent, decorators: [{
3186
3323
  type: Component,
3187
3324
  args: [{ selector: 'daff-list-item' + ',' +
@@ -3492,7 +3629,7 @@ class DaffMenuItemComponent {
3492
3629
  }
3493
3630
  }
3494
3631
  /** @nocollapse */ DaffMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3495
- /** @nocollapse */ DaffMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffMenuItemComponent, selector: "a[daff-menu-item],button[daff-menu-item]", host: { properties: { "class.daff-menu-item": "this.class", "attr.role": "this.role" } }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-menu-item__content\">\n <ng-content></ng-content>\n</div>", styles: [":host{cursor:pointer;-webkit-user-select:none;user-select:none;display:block;border:none;border-radius:4px;margin:0;padding:12px 16px;text-decoration:none;width:100%}.daff-menu-item__content{display:flex;gap:8px;font-size:1rem;line-height:1.25rem;text-align:left}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3632
+ /** @nocollapse */ DaffMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffMenuItemComponent, selector: "a[daff-menu-item],button[daff-menu-item]", host: { properties: { "class.daff-menu-item": "this.class", "attr.role": "this.role" } }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-menu-item__content\">\n <ng-content></ng-content>\n</div>", styles: [":host{cursor:pointer;-webkit-user-select:none;user-select:none;display:block;border:none;border-radius:4px;margin:0;padding:12px 16px;text-decoration:none;width:100%}.daff-menu-item__content{display:flex;gap:8px;font-size:1rem;line-height:1.25rem;text-align:left}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3496
3633
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffMenuItemComponent, decorators: [{
3497
3634
  type: Component,
3498
3635
  args: [{ selector: 'a[daff-menu-item]' + ',' +
@@ -4062,7 +4199,7 @@ class DaffPaginatorComponent extends _daffPaginatorBase {
4062
4199
  }
4063
4200
  }
4064
4201
  /** @nocollapse */ DaffPaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffPaginatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
4065
- /** @nocollapse */ DaffPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffPaginatorComponent, selector: "daff-paginator", inputs: { color: "color", numberOfPages: "numberOfPages", currentPage: "currentPage" }, outputs: { notifyPageChange: "notifyPageChange" }, host: { properties: { "class.daff-paginator": "this.class", "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button type=\"button\" class=\"daff-paginator__previous\"\n [disabled]=\"_disablePrev()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPrevPageChange()\">\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon> Previous\n</button>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(1)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page 1 of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(1)\">\n 1\n</button>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showFirstEllipsis()\">...</span>\n\n<ng-container *ngFor=\"let pageNumber of _numberOfPagesArray\">\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(pageNumber)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page {{pageNumber}} of {{_paginatorId}} Paginator\"\n aria-current=\"_isSelected(pageNumber)\"\n *ngIf=\"_showNumber(pageNumber)\"\n (click)=\"_onNotifyPageChange(pageNumber)\">\n {{ pageNumber }}\n </button>\n</ng-container>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showLastEllipsis()\">...</span>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n tabindex=\"0\"\n attr.aria-label=\"Go To Page {{numberOfPages}} of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(numberOfPages)\"\n *ngIf=\"!(numberOfPages < 2)\">\n {{ numberOfPages }}\n</button>\n\n<button class=\"daff-paginator__next\"\n [disabled]=\"_disableNext()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyNextPageChange()\">\n Next <fa-icon [icon]=\"faChevronRight\"></fa-icon>\n</button>\n", styles: [":host{display:flex}.daff-paginator__previous,.daff-paginator__next{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:3px;display:flex;line-height:1em;padding:5px 10px}.daff-paginator__previous fa-icon{margin-right:10px}.daff-paginator__next fa-icon{margin-left:10px}.daff-paginator__ellipsis{padding:5px 10px}.daff-paginator__page-link{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:3px;display:inline-block;margin:0 5px;padding:5px 10px;transition:background-color .15s ease}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4202
+ /** @nocollapse */ DaffPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffPaginatorComponent, selector: "daff-paginator", inputs: { color: "color", numberOfPages: "numberOfPages", currentPage: "currentPage" }, outputs: { notifyPageChange: "notifyPageChange" }, host: { properties: { "class.daff-paginator": "this.class", "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button type=\"button\" class=\"daff-paginator__previous\"\n [disabled]=\"_disablePrev()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPrevPageChange()\">\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon> Previous\n</button>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(1)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page 1 of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(1)\">\n 1\n</button>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showFirstEllipsis()\">...</span>\n\n<ng-container *ngFor=\"let pageNumber of _numberOfPagesArray\">\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(pageNumber)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page {{pageNumber}} of {{_paginatorId}} Paginator\"\n aria-current=\"_isSelected(pageNumber)\"\n *ngIf=\"_showNumber(pageNumber)\"\n (click)=\"_onNotifyPageChange(pageNumber)\">\n {{ pageNumber }}\n </button>\n</ng-container>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showLastEllipsis()\">...</span>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n tabindex=\"0\"\n attr.aria-label=\"Go To Page {{numberOfPages}} of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(numberOfPages)\"\n *ngIf=\"!(numberOfPages < 2)\">\n {{ numberOfPages }}\n</button>\n\n<button class=\"daff-paginator__next\"\n [disabled]=\"_disableNext()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyNextPageChange()\">\n Next <fa-icon [icon]=\"faChevronRight\"></fa-icon>\n</button>\n", styles: [":host{display:flex}.daff-paginator__previous,.daff-paginator__next{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:3px;display:flex;line-height:1em;padding:5px 10px}.daff-paginator__previous fa-icon{margin-right:10px}.daff-paginator__next fa-icon{margin-left:10px}.daff-paginator__ellipsis{padding:5px 10px}.daff-paginator__page-link{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:3px;display:inline-block;margin:0 5px;padding:5px 10px;transition:background-color .15s ease}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4066
4203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffPaginatorComponent, decorators: [{
4067
4204
  type: Component,
4068
4205
  args: [{ selector: 'daff-paginator', inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" class=\"daff-paginator__previous\"\n [disabled]=\"_disablePrev()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPrevPageChange()\">\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon> Previous\n</button>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(1)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page 1 of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(1)\">\n 1\n</button>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showFirstEllipsis()\">...</span>\n\n<ng-container *ngFor=\"let pageNumber of _numberOfPagesArray\">\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(pageNumber)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page {{pageNumber}} of {{_paginatorId}} Paginator\"\n aria-current=\"_isSelected(pageNumber)\"\n *ngIf=\"_showNumber(pageNumber)\"\n (click)=\"_onNotifyPageChange(pageNumber)\">\n {{ pageNumber }}\n </button>\n</ng-container>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showLastEllipsis()\">...</span>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n tabindex=\"0\"\n attr.aria-label=\"Go To Page {{numberOfPages}} of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(numberOfPages)\"\n *ngIf=\"!(numberOfPages < 2)\">\n {{ numberOfPages }}\n</button>\n\n<button class=\"daff-paginator__next\"\n [disabled]=\"_disableNext()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyNextPageChange()\">\n Next <fa-icon [icon]=\"faChevronRight\"></fa-icon>\n</button>\n", styles: [":host{display:flex}.daff-paginator__previous,.daff-paginator__next{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:3px;display:flex;line-height:1em;padding:5px 10px}.daff-paginator__previous fa-icon{margin-right:10px}.daff-paginator__next fa-icon{margin-left:10px}.daff-paginator__ellipsis{padding:5px 10px}.daff-paginator__page-link{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;appearance:none;background-color:transparent;border:0;border-radius:3px;display:inline-block;margin:0 5px;padding:5px 10px;transition:background-color .15s ease}\n"] }]
@@ -4204,7 +4341,7 @@ class DaffQtyDropdownComponent {
4204
4341
  }
4205
4342
  }
4206
4343
  /** @nocollapse */ DaffQtyDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffQtyDropdownComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
4207
- /** @nocollapse */ DaffQtyDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffQtyDropdownComponent, selector: "daff-qty-dropdown", inputs: { qty: "qty", id: "id" }, outputs: { qtyChanged: "qtyChanged" }, ngImport: i0, template: "<daff-form-field class=\"daff-qty-dropdown\">\n <select daff-native-select *ngIf=\"!showQtyInputField\" id=\"select_{{id}}\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\">\n <option *ngFor=\"let item of dropdownItemCounter\" [value]=\"item+1\">{{ item+1 }}</option>\n <option value=\"10\">10+</option>\n </select>\n <input daff-input id=\"input_{{id}}\" class=\"daff-qty-dropdown__input\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\" *ngIf=\"showQtyInputField\">\n</daff-form-field>", styles: [".daff-qty-dropdown__input{width:50px}\n"], components: [{ type: DaffFormFieldComponent, selector: "daff-form-field", inputs: ["formSubmitted"] }, { type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["formSubmitted"] }, { type: DaffInputComponent, selector: "input[daff-input]", inputs: ["formSubmitted"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }] });
4344
+ /** @nocollapse */ DaffQtyDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffQtyDropdownComponent, selector: "daff-qty-dropdown", inputs: { qty: "qty", id: "id" }, outputs: { qtyChanged: "qtyChanged" }, ngImport: i0, template: "<daff-form-field class=\"daff-qty-dropdown\">\n <select daff-native-select *ngIf=\"!showQtyInputField\" id=\"select_{{id}}\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\">\n <option *ngFor=\"let item of dropdownItemCounter\" [value]=\"item+1\">{{ item+1 }}</option>\n <option value=\"10\">10+</option>\n </select>\n <input daff-input id=\"input_{{id}}\" class=\"daff-qty-dropdown__input\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\" *ngIf=\"showQtyInputField\">\n</daff-form-field>", styles: [".daff-qty-dropdown__input{width:50px}\n"], components: [{ type: DaffFormFieldComponent, selector: "daff-form-field", inputs: ["formSubmitted"] }, { type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["formSubmitted"] }, { type: DaffInputComponent, selector: "input[daff-input]", inputs: ["formSubmitted"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }] });
4208
4345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffQtyDropdownComponent, decorators: [{
4209
4346
  type: Component,
4210
4347
  args: [{ selector: 'daff-qty-dropdown', template: "<daff-form-field class=\"daff-qty-dropdown\">\n <select daff-native-select *ngIf=\"!showQtyInputField\" id=\"select_{{id}}\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\">\n <option *ngFor=\"let item of dropdownItemCounter\" [value]=\"item+1\">{{ item+1 }}</option>\n <option value=\"10\">10+</option>\n </select>\n <input daff-input id=\"input_{{id}}\" class=\"daff-qty-dropdown__input\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\" *ngIf=\"showQtyInputField\">\n</daff-form-field>", styles: [".daff-qty-dropdown__input{width:50px}\n"] }]
@@ -4250,8 +4387,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
4250
4387
  }]
4251
4388
  }] });
4252
4389
 
4253
- const duration = '350ms';
4254
- const sidebarAnimateRemainTransition = 'cubic-bezier(0.4, 0.0, 0.2, 1)';
4390
+ const duration = '200ms';
4255
4391
  const sidebarAnimateInTransition = 'cubic-bezier(0.0, 0.0, 0.2, 1)';
4256
4392
  const sidebarAnimateOutTransition = 'cubic-bezier(0.4, 0.0, 1, 1)';
4257
4393
  const daffSidebarAnimations = {
@@ -4260,15 +4396,32 @@ const daffSidebarAnimations = {
4260
4396
  // 1. 3d transforms causes text to appear blurry on IE and Edge.
4261
4397
  state('open', style({
4262
4398
  transform: 'none',
4263
- visibility: 'visible',
4264
4399
  })),
4400
+ state('closed', style({
4401
+ transform: 'translateX({{width}})',
4402
+ }), { params: { width: '-240px' } }),
4265
4403
  transition('open => closed', animate(duration + ' ' + sidebarAnimateOutTransition)),
4266
4404
  transition('closed => open', animate(duration + ' ' + sidebarAnimateInTransition)),
4267
4405
  ]),
4268
4406
  transformContent: trigger('transformContent', [
4407
+ // We remove the `transform` here completely, rather than setting it to zero, because:
4408
+ // 1. 3d transforms causes text to appear blurry on IE and Edge.
4269
4409
  state('closed', style({
4270
4410
  transform: 'none',
4271
4411
  })),
4412
+ state('open', style({
4413
+ transform: 'translateX({{shift}})',
4414
+ }), { params: { shift: '-240px' } }),
4415
+ transition('open => closed', animate(duration + ' ' + sidebarAnimateInTransition)),
4416
+ transition('closed => open', animate(duration + ' ' + sidebarAnimateOutTransition)),
4417
+ ]),
4418
+ backdropTrigger: trigger('backdropTrigger', [
4419
+ state('open', style({
4420
+ opacity: 1,
4421
+ })),
4422
+ state('closed', style({
4423
+ opacity: 0,
4424
+ })),
4272
4425
  transition('open => closed', animate(duration + ' ' + sidebarAnimateOutTransition)),
4273
4426
  transition('closed => open', animate(duration + ' ' + sidebarAnimateInTransition)),
4274
4427
  ]),
@@ -4277,11 +4430,12 @@ var DaffSidebarAnimationStates;
4277
4430
  (function (DaffSidebarAnimationStates) {
4278
4431
  DaffSidebarAnimationStates["OPEN"] = "open";
4279
4432
  DaffSidebarAnimationStates["CLOSED"] = "closed";
4433
+ DaffSidebarAnimationStates["NONE"] = "none";
4280
4434
  })(DaffSidebarAnimationStates || (DaffSidebarAnimationStates = {}));
4281
4435
 
4282
4436
  const getAnimationState = (open, enabled = true) => {
4283
4437
  if (!enabled) {
4284
- return 'open';
4438
+ return 'none';
4285
4439
  }
4286
4440
  if (open && enabled) {
4287
4441
  return 'open';
@@ -4291,21 +4445,33 @@ const getAnimationState = (open, enabled = true) => {
4291
4445
  }
4292
4446
  };
4293
4447
 
4448
+ const getSidebarAnimationWidth = (side, width) => side === 'left' ? -1 * width + 'px' : width + 'px';
4449
+
4294
4450
  /**
4295
- * DaffSidebar is heavily based upon the work done by the @angular/material2
4451
+ * DaffSidebarComponent is heavily based upon the work done by the @angular/components
4296
4452
  * team on `mat-drawer` and `mat-sidenav`. `daff-sidebar` is intended to be
4297
- * a simplified version (with a different design) of `mat-drawer` which
4298
- * follows a stricter "dumb" component pattern than `mat-drawer`
4453
+ * a simplified version (with a different design) of `mat-drawer`.
4299
4454
  */
4300
4455
  class DaffSidebarComponent {
4301
4456
  constructor(_elementRef, _ngZone) {
4302
4457
  this._elementRef = _elementRef;
4303
4458
  this._ngZone = _ngZone;
4304
- this.class = true;
4305
4459
  /**
4306
4460
  * Event fired when `ESC` key is pressed when the sidebar has focus
4307
4461
  */
4308
4462
  this.escapePressed = new EventEmitter();
4463
+ /**
4464
+ * What side of the viewport to show the sidebar on.
4465
+ */
4466
+ this.side = 'left';
4467
+ /**
4468
+ * The mode of the sidebar.
4469
+ */
4470
+ this.mode = 'side';
4471
+ /**
4472
+ * Whether or not the sidebar is open.
4473
+ */
4474
+ this.open = false;
4309
4475
  /**
4310
4476
  * Listen to `keydown` events outside the zone so that change detection is not run every
4311
4477
  * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed.
@@ -4318,128 +4484,211 @@ class DaffSidebarComponent {
4318
4484
  }));
4319
4485
  });
4320
4486
  }
4487
+ /**
4488
+ * The CSS classes set.
4489
+ */
4490
+ get classes() {
4491
+ return {
4492
+ 'daff-sidebar': true,
4493
+ [this.side]: true,
4494
+ [this.mode]: true,
4495
+ };
4496
+ }
4497
+ ;
4498
+ /**
4499
+ * The animation state of the sidebar.
4500
+ */
4501
+ get transformSidebar() {
4502
+ return {
4503
+ value: getAnimationState(this.open, this.mode === 'over' || this.mode === 'side-fixed'),
4504
+ params: { width: getSidebarAnimationWidth(this.side, this.width) },
4505
+ };
4506
+ }
4507
+ /**
4508
+ * The width of the sidebar.
4509
+ */
4510
+ get width() {
4511
+ return this._elementRef.nativeElement.offsetWidth;
4512
+ }
4321
4513
  }
4322
4514
  /** @nocollapse */ DaffSidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffSidebarComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
4323
- /** @nocollapse */ DaffSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffSidebarComponent, selector: "daff-sidebar", outputs: { escapePressed: "escapePressed" }, host: { properties: { "class.daff-sidebar": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}.daff-sidebar{display:block;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4515
+ /** @nocollapse */ DaffSidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffSidebarComponent, selector: "daff-sidebar", inputs: { side: "side", mode: "mode", open: "open" }, outputs: { escapePressed: "escapePressed" }, host: { properties: { "class": "this.classes", "@transformSidebar": "this.transformSidebar" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;width:240px;flex-shrink:0;overflow:auto}:host.side-fixed{position:fixed;top:var(--daff-sidebar-side-fixed-top-shift);bottom:0;z-index:4;height:calc(100dvh - var(--daff-sidebar-side-fixed-top-shift))}:host.side-fixed.left{left:0}:host.side-fixed.right{right:0}:host.over,:host.under{position:absolute;top:0;bottom:0}:host.over.left,:host.under.left{left:0}:host.over.right,:host.under.right{right:0}:host.over{z-index:5}:host.under{z-index:2}:host-context(daff-sidebar-viewport daff-sidebar-viewport >).side-fixed{position:sticky}\n"], animations: [
4516
+ daffSidebarAnimations.transformSidebar,
4517
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4324
4518
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffSidebarComponent, decorators: [{
4325
4519
  type: Component,
4326
- args: [{ selector: 'daff-sidebar', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}.daff-sidebar{display:block;height:100%}\n"] }]
4327
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { class: [{
4520
+ args: [{ selector: 'daff-sidebar', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
4521
+ daffSidebarAnimations.transformSidebar,
4522
+ ], styles: [":host{display:block;width:240px;flex-shrink:0;overflow:auto}:host.side-fixed{position:fixed;top:var(--daff-sidebar-side-fixed-top-shift);bottom:0;z-index:4;height:calc(100dvh - var(--daff-sidebar-side-fixed-top-shift))}:host.side-fixed.left{left:0}:host.side-fixed.right{right:0}:host.over,:host.under{position:absolute;top:0;bottom:0}:host.over.left,:host.under.left{left:0}:host.over.right,:host.under.right{right:0}:host.over{z-index:5}:host.under{z-index:2}:host-context(daff-sidebar-viewport daff-sidebar-viewport >).side-fixed{position:sticky}\n"] }]
4523
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { classes: [{
4524
+ type: HostBinding,
4525
+ args: ['class']
4526
+ }], transformSidebar: [{
4328
4527
  type: HostBinding,
4329
- args: ['class.daff-sidebar']
4528
+ args: ['@transformSidebar']
4330
4529
  }], escapePressed: [{
4331
4530
  type: Output
4531
+ }], side: [{
4532
+ type: Input
4533
+ }], mode: [{
4534
+ type: Input
4535
+ }], open: [{
4536
+ type: Input
4332
4537
  }] } });
4333
4538
 
4539
+ /**
4540
+ * Determines, given a list of sidebars, whether or not the backdrop is interactable (typically clickable).
4541
+ */
4542
+ const sidebarViewportBackdropInteractable = (sidebars) => sidebars.reduce((acc, sidebar) => ((sidebar.mode === 'over' || sidebar.mode === 'under') && sidebar.open) || acc, false);
4543
+
4544
+ /**
4545
+ * Given a list of sidebars, compute the associated content shift.
4546
+ */
4547
+ const sidebarViewportContentPadding = (sidebars, side) => sidebars.reduce((acc, sidebar) => {
4548
+ if (!(sidebar.mode === "side-fixed" /* SideFixed */ && sidebar.open)) {
4549
+ return acc;
4550
+ }
4551
+ if (sidebar.side === side) {
4552
+ return sidebar.width;
4553
+ }
4554
+ else {
4555
+ // This component is "stateless", its possible to have two open "under" sidebars.
4556
+ // As such, we defer to "left" being open by default.
4557
+ return acc;
4558
+ }
4559
+ }, 0);
4560
+
4561
+ const isViewportContentShifted = (mode, open) => (mode === 'under' && open);
4562
+ /**
4563
+ * Given a list of sidebars, compute the associated content shift.
4564
+ */
4565
+ const sidebarViewportContentShift = (sidebars) => sidebars.reduce((acc, sidebar) => {
4566
+ if (!isViewportContentShifted(sidebar.mode, sidebar.open)) {
4567
+ return acc;
4568
+ }
4569
+ if (sidebar.side === 'left') {
4570
+ return sidebar.width;
4571
+ }
4572
+ else if (sidebar.side === 'right' && acc === 0) {
4573
+ return -1 * sidebar.width;
4574
+ }
4575
+ else {
4576
+ // This component is "stateless", its possible to have two open "under" sidebars.
4577
+ // As such, we defer to "left" being open by default.
4578
+ return acc;
4579
+ }
4580
+ }, 0);
4581
+
4582
+ /**
4583
+ * The DaffSidebarViewport is the "holder" of sidebars throughout an entire application.
4584
+ * It's generally only used once, like
4585
+ *
4586
+ * ```html
4587
+ * <daff-sidebar-viewport>
4588
+ * <daff-sidebar></daff-sidebar>
4589
+ * <p>Some Content</p>
4590
+ * </daff-sidebar-viewport>
4591
+ * ```
4592
+ *
4593
+ * Importantly, its possible for there to be multiple sidebars of many modes
4594
+ * at the same time. @see {@link DaffSidebarMode }
4595
+ *
4596
+ * Since this is a functional component, it's possible to have multiple "open" sidebars
4597
+ * within at the same time. As a result, this component attempts to
4598
+ * gracefully handle these situations. However, importantly, this sidebar
4599
+ * has a constraint, there's only allowed to be one sidebar,
4600
+ * of each mode, on each side, at any given time. If this is violated,
4601
+ * this component will throw an exception.
4602
+ */
4334
4603
  class DaffSidebarViewportComponent {
4335
- constructor(ref) {
4336
- this.ref = ref;
4604
+ constructor(cdRef) {
4605
+ this.cdRef = cdRef;
4337
4606
  /**
4338
- * Internal tracking variable for the state of sidebar viewport.
4339
- *
4340
- * @docs-private
4607
+ * The number of pixels that the main content of the page should be shifted to
4608
+ * right when there are child sidebars.
4341
4609
  */
4342
- this._opened = false;
4610
+ this._shift = '0px';
4343
4611
  /**
4344
- * @docs-private
4612
+ * The left padding on the content when left side-fixed sidebars are open.
4345
4613
  */
4346
- this._mode = 'side';
4614
+ this._contentPadLeft = 0;
4347
4615
  /**
4348
- * Input state for whether or not the backdrop is
4349
- * "visible" to the human eye
4616
+ * The right padding on the content when right side-fixed sidebars are open.
4350
4617
  */
4351
- // eslint-disable-next-line @typescript-eslint/no-inferrable-types
4352
- this.backdropIsVisible = true;
4618
+ this._contentPadRight = 0;
4619
+ /**
4620
+ * Whether or not the backdrop is interactable
4621
+ */
4622
+ this._backdropInteractable = false;
4623
+ /**
4624
+ * The animation state
4625
+ */
4626
+ this._animationState = { value: 'closed', params: { shift: '0px' } };
4353
4627
  /**
4354
4628
  * Event fired when the backdrop is clicked
4355
4629
  * This is often used to close the sidebar
4356
4630
  */
4357
4631
  this.backdropClicked = new EventEmitter();
4358
4632
  }
4359
- /**
4360
- * The mode to put the sidebar in
4361
- */
4362
- get mode() {
4363
- return this._mode;
4364
- }
4365
- set mode(value) {
4366
- this._mode = value;
4367
- this._animationState = getAnimationState(this.opened, this.animationsEnabled);
4368
- }
4369
- /**
4370
- * Property for the "opened" state of the sidebar
4371
- */
4372
- get opened() {
4373
- return this._opened;
4374
- }
4375
- set opened(value) {
4376
- this._opened = value;
4377
- this._animationState = getAnimationState(value, this.animationsEnabled);
4378
- }
4379
- /**
4380
- * @docs-private
4381
- */
4382
- get animationsEnabled() {
4383
- return (this.mode === 'over' || this.mode === 'push') ? true : false;
4384
- }
4385
- /**
4386
- * @docs-private
4387
- */
4388
- ngOnInit() {
4389
- this._animationState = getAnimationState(this.opened, this.animationsEnabled);
4633
+ ngAfterContentChecked() {
4634
+ const nextShift = sidebarViewportContentShift(this.sidebars) + 'px';
4635
+ if (this._shift !== nextShift) {
4636
+ this._shift = nextShift;
4637
+ this.updateAnimationState();
4638
+ this.cdRef.markForCheck();
4639
+ }
4640
+ const nextBackdropInteractable = sidebarViewportBackdropInteractable(this.sidebars);
4641
+ if (this._backdropInteractable !== nextBackdropInteractable) {
4642
+ this._backdropInteractable = nextBackdropInteractable;
4643
+ this.updateAnimationState();
4644
+ this.cdRef.markForCheck();
4645
+ }
4646
+ ;
4647
+ const nextLeftPadding = sidebarViewportContentPadding(this.sidebars, 'left');
4648
+ if (this._contentPadLeft !== nextLeftPadding) {
4649
+ this._contentPadLeft = nextLeftPadding;
4650
+ this.updateAnimationState();
4651
+ this.cdRef.markForCheck();
4652
+ }
4653
+ const nextRightPadding = sidebarViewportContentPadding(this.sidebars, 'right');
4654
+ if (this._contentPadRight !== nextRightPadding) {
4655
+ this._contentPadRight = nextRightPadding;
4656
+ this.updateAnimationState();
4657
+ this.cdRef.markForCheck();
4658
+ }
4390
4659
  }
4391
4660
  /**
4392
4661
  * @docs-private
4662
+ *
4663
+ * Updates the animation state of the viewport depending upon the state
4664
+ * of all sidebars within the viewport.
4393
4665
  */
4394
- ngAfterViewInit() {
4395
- if (this.sidebar) {
4396
- this.sidebar.escapePressed.subscribe(() => {
4397
- this.onEscape();
4398
- });
4399
- }
4666
+ updateAnimationState() {
4667
+ this._animationState = {
4668
+ value: getAnimationState(this.sidebars.reduce((acc, sidebar) => acc || isViewportContentShifted(sidebar.mode, sidebar.open), false)),
4669
+ params: { shift: this._shift },
4670
+ };
4400
4671
  }
4401
4672
  /**
4402
4673
  * @docs-private
4674
+ * The called when the backdrop of the viewport is clicked upon.
4403
4675
  */
4404
4676
  _backdropClicked() {
4405
4677
  this.backdropClicked.emit();
4406
4678
  }
4407
- /**
4408
- * @docs-private
4409
- */
4410
- get hasBackdrop() {
4411
- return (this.mode === 'over' || this.mode === 'push');
4412
- }
4413
- /**
4414
- * @docs-private
4415
- */
4416
- onEscape() {
4417
- if (this.hasBackdrop) {
4418
- this.opened = false;
4419
- this.ref.markForCheck();
4420
- }
4421
- }
4422
4679
  }
4423
4680
  /** @nocollapse */ DaffSidebarViewportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffSidebarViewportComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4424
- /** @nocollapse */ DaffSidebarViewportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffSidebarViewportComponent, selector: "daff-sidebar-viewport", inputs: { mode: "mode", backdropIsVisible: "backdropIsVisible", opened: "opened" }, outputs: { backdropClicked: "backdropClicked" }, queries: [{ propertyName: "sidebar", first: true, predicate: DaffSidebarComponent, descendants: true }], ngImport: i0, template: "<div class=\"daff-sidebar-viewport {{ mode }}\">\n <div class=\"daff-sidebar-viewport__sidebar\" [@transformSidebar]=\"_animationState\" [cdkTrapFocus]=\"opened && (mode === 'over' || mode === 'push')\">\n <ng-content select=\"daff-sidebar\" (escapePressed)=\"onEscape($event)\"></ng-content>\n </div>\n\n <daff-backdrop \n class=\"daff-sidebar-viewport__backdrop\" \n *ngIf=\"hasBackdrop && _opened\"\n [transparent]=\"!backdropIsVisible\" \n (backdropClicked)=\"_backdropClicked()\"></daff-backdrop>\n\n <div class=\"daff-sidebar-viewport__content\" [@transformContent]=\"_animationState\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".daff-sidebar-viewport{display:flex;min-height:100%;position:relative;width:100%;z-index:1}.daff-sidebar-viewport__content{flex:0 1 auto;width:100%;will-change:transform;z-index:2}.daff-sidebar-viewport__sidebar{flex-shrink:0;width:250px;will-change:transform,visibility;z-index:4}.daff-sidebar-viewport__backdrop{cursor:pointer;height:100%;position:absolute;width:100%;z-index:3}.daff-sidebar-viewport.push>.daff-sidebar-viewport__sidebar{bottom:0;height:100%;left:0;position:absolute;top:0;transform:translate(-250px);visibility:hidden}.daff-sidebar-viewport.push>.daff-sidebar-viewport__content{transform:translate(250px)}.daff-sidebar-viewport.over>.daff-sidebar-viewport__sidebar{bottom:0;height:100%;left:0;position:absolute;top:0;transform:translate(-250px);visibility:hidden}\n"], components: [{ type: DaffBackdropComponent, selector: "daff-backdrop", inputs: ["transparent", "fullscreen"], outputs: ["backdropClicked"] }], directives: [{ type: i1$4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
4425
- daffSidebarAnimations.transformSidebar,
4681
+ /** @nocollapse */ DaffSidebarViewportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffSidebarViewportComponent, selector: "daff-sidebar-viewport", outputs: { backdropClicked: "backdropClicked" }, queries: [{ propertyName: "sidebars", predicate: DaffSidebarComponent }], ngImport: i0, template: "<ng-content select=\"daff-sidebar:not([side=right])\"></ng-content>\n\n<daff-backdrop\n [@transformContent]=\"_animationState\"\n class=\"daff-sidebar-viewport__backdrop\"\n [interactable]=\"_backdropInteractable\"\n (backdropClicked)=\"_backdropClicked()\"></daff-backdrop>\n\n<div class=\"daff-sidebar-viewport__content\" [@transformContent]=\"_animationState\">\n <ng-content select=\"[daff-sidebar-viewport-nav]\"></ng-content>\n <div class=\"daff-sidebar-viewport__inner\" [style.padding-left.px]=\"_contentPadLeft\" [style.padding-right.px]=\"_contentPadRight\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-content select=\"daff-sidebar[side=right]\"></ng-content>", styles: [":host{overflow:hidden;display:flex;min-height:100%;position:relative;width:100%;z-index:1;height:100vh;height:100dvh}.daff-sidebar-viewport__content{flex:0 1 auto;width:100%;will-change:transform;z-index:3;overflow-y:auto;height:100%}.daff-sidebar-viewport__sidebar{flex-shrink:0}.daff-sidebar-viewport__backdrop{height:100%;position:absolute;width:100%;z-index:4}:host-context(daff-sidebar-viewport daff-sidebar-viewport) .daff-sidebar-viewport__inner{padding-left:0!important;padding-right:0!important}\n"], components: [{ type: DaffBackdropComponent, selector: "daff-backdrop", inputs: ["transparent", "interactable", "fullscreen"], outputs: ["backdropClicked"] }], animations: [
4426
4682
  daffSidebarAnimations.transformContent,
4427
4683
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4428
4684
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffSidebarViewportComponent, decorators: [{
4429
4685
  type: Component,
4430
4686
  args: [{ selector: 'daff-sidebar-viewport', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
4431
- daffSidebarAnimations.transformSidebar,
4432
4687
  daffSidebarAnimations.transformContent,
4433
- ], template: "<div class=\"daff-sidebar-viewport {{ mode }}\">\n <div class=\"daff-sidebar-viewport__sidebar\" [@transformSidebar]=\"_animationState\" [cdkTrapFocus]=\"opened && (mode === 'over' || mode === 'push')\">\n <ng-content select=\"daff-sidebar\" (escapePressed)=\"onEscape($event)\"></ng-content>\n </div>\n\n <daff-backdrop \n class=\"daff-sidebar-viewport__backdrop\" \n *ngIf=\"hasBackdrop && _opened\"\n [transparent]=\"!backdropIsVisible\" \n (backdropClicked)=\"_backdropClicked()\"></daff-backdrop>\n\n <div class=\"daff-sidebar-viewport__content\" [@transformContent]=\"_animationState\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".daff-sidebar-viewport{display:flex;min-height:100%;position:relative;width:100%;z-index:1}.daff-sidebar-viewport__content{flex:0 1 auto;width:100%;will-change:transform;z-index:2}.daff-sidebar-viewport__sidebar{flex-shrink:0;width:250px;will-change:transform,visibility;z-index:4}.daff-sidebar-viewport__backdrop{cursor:pointer;height:100%;position:absolute;width:100%;z-index:3}.daff-sidebar-viewport.push>.daff-sidebar-viewport__sidebar{bottom:0;height:100%;left:0;position:absolute;top:0;transform:translate(-250px);visibility:hidden}.daff-sidebar-viewport.push>.daff-sidebar-viewport__content{transform:translate(250px)}.daff-sidebar-viewport.over>.daff-sidebar-viewport__sidebar{bottom:0;height:100%;left:0;position:absolute;top:0;transform:translate(-250px);visibility:hidden}\n"] }]
4434
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { sidebar: [{
4435
- type: ContentChild,
4436
- args: [DaffSidebarComponent]
4437
- }], mode: [{
4438
- type: Input
4439
- }], backdropIsVisible: [{
4440
- type: Input
4441
- }], opened: [{
4442
- type: Input
4688
+ ], template: "<ng-content select=\"daff-sidebar:not([side=right])\"></ng-content>\n\n<daff-backdrop\n [@transformContent]=\"_animationState\"\n class=\"daff-sidebar-viewport__backdrop\"\n [interactable]=\"_backdropInteractable\"\n (backdropClicked)=\"_backdropClicked()\"></daff-backdrop>\n\n<div class=\"daff-sidebar-viewport__content\" [@transformContent]=\"_animationState\">\n <ng-content select=\"[daff-sidebar-viewport-nav]\"></ng-content>\n <div class=\"daff-sidebar-viewport__inner\" [style.padding-left.px]=\"_contentPadLeft\" [style.padding-right.px]=\"_contentPadRight\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-content select=\"daff-sidebar[side=right]\"></ng-content>", styles: [":host{overflow:hidden;display:flex;min-height:100%;position:relative;width:100%;z-index:1;height:100vh;height:100dvh}.daff-sidebar-viewport__content{flex:0 1 auto;width:100%;will-change:transform;z-index:3;overflow-y:auto;height:100%}.daff-sidebar-viewport__sidebar{flex-shrink:0}.daff-sidebar-viewport__backdrop{height:100%;position:absolute;width:100%;z-index:4}:host-context(daff-sidebar-viewport daff-sidebar-viewport) .daff-sidebar-viewport__inner{padding-left:0!important;padding-right:0!important}\n"] }]
4689
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { sidebars: [{
4690
+ type: ContentChildren,
4691
+ args: [DaffSidebarComponent, { descendants: false }]
4443
4692
  }], backdropClicked: [{
4444
4693
  type: Output
4445
4694
  }] } });
@@ -5673,5 +5922,5 @@ const DAFF_THEME_INITIALIZER = [
5673
5922
  * Generated bundle index. Do not edit.
5674
5923
  */
5675
5924
 
5676
- export { DAFF_THEME_INITIALIZER, DaffAccordionComponent, DaffAccordionItemComponent, DaffAccordionItemContentDirective, DaffAccordionItemTitleDirective, DaffAccordionModule, DaffArticleComponent, DaffArticleLeadDirective, DaffArticleMetaDirective, DaffArticleModule, DaffArticleTitleDirective, DaffBackdropComponent, DaffBackdropModule, DaffBreakpoints, DaffButtonComponent, DaffButtonModule, DaffButtonSetComponent, DaffButtonSetModule, DaffCalloutBodyDirective, DaffCalloutComponent, DaffCalloutIconDirective, DaffCalloutLayoutEnum, DaffCalloutModule, DaffCalloutSizeEnum, DaffCalloutSubtitleDirective, DaffCalloutTaglineDirective, DaffCalloutTitleDirective, DaffCardActionsDirective, DaffCardComponent, DaffCardContentDirective, DaffCardIconDirective, DaffCardImageDirective, DaffCardModule, DaffCardOrientationEnum, DaffCardTaglineDirective, DaffCardTitleDirective, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffContainerComponent, DaffContainerModule, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFeatureComponent, DaffFeatureIconDirective, DaffFeatureModeEnum, DaffFeatureModule, DaffFeatureSubheaderDirective, DaffFeatureSubtitleDirective, DaffFeatureTitleDirective, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule, DaffGalleryImageComponent, DaffHeroBodyDirective, DaffHeroComponent, DaffHeroIconDirective, DaffHeroLayoutEnum, DaffHeroModule, DaffHeroSizeEnum, DaffHeroSubtitleDirective, DaffHeroTaglineDirective, DaffHeroTitleDirective, DaffImageComponent, DaffImageGalleryComponent, DaffImageGalleryModule, DaffImageListComponent, DaffImageListModule, DaffImageModule, DaffInputComponent, DaffInputModule, DaffLinkSetComponent, DaffLinkSetHeadingDirective, DaffLinkSetItemComponent, DaffLinkSetModule, DaffLinkSetSubheadingDirective, DaffListComponent, DaffListItemComponent, DaffListModeEnum, DaffListModule, DaffListSubheaderDirective, DaffLoadingIconComponent, DaffLoadingIconModule, DaffMediaGalleryComponent, DaffMediaGalleryModule, DaffMenuActivatorDirective, DaffMenuComponent, DaffMenuItemComponent, DaffMenuModule, DaffMenuService, DaffModalActionsComponent, DaffModalComponent, DaffModalContentComponent, DaffModalHeaderComponent, DaffModalModule, DaffModalService, DaffModalTitleDirective, DaffNativeSelectComponent, DaffNativeSelectModule, DaffNavAccordionItemComponent, DaffNavbarComponent, DaffNavbarModule, DaffPaginatorComponent, DaffPaginatorModule, DaffPrefixDirective, DaffPrefixSuffixModule, DaffProgressIndicatorComponent, DaffProgressIndicatorModule, DaffQtyDropdownComponent, DaffQtyDropdownModule, DaffQuantityFieldComponent, DaffQuantityFieldModule, DaffQuantityInputComponent, DaffQuantitySelectComponent, DaffRadioComponent, DaffRadioControlValueAccessorDirective, DaffRadioModule, DaffRadioSetComponent, DaffSidebarComponent, DaffSidebarModule, DaffSidebarViewportComponent, DaffStatusEnum, DaffSuffixDirective, DaffTextAlignmentEnum, DaffTheme, DaffThemingService, DaffThumbnailDirective, daffArticleEncapsulatedMixin, daffCompactableMixin, daffFocusableElementsSelector, daffManageContainerLayoutMixin, daffMenuCreateOverlay, daffPrefixableMixin, daffSuffixableMixin, daffThumbnailCompatToken };
5925
+ export { DAFF_THEME_INITIALIZER, DaffAccordionComponent, DaffAccordionItemComponent, DaffAccordionItemContentDirective, DaffAccordionItemTitleDirective, DaffAccordionModule, DaffArticleComponent, DaffArticleLeadDirective, DaffArticleMetaDirective, DaffArticleModule, DaffArticleTitleDirective, DaffBackdropComponent, DaffBackdropModule, DaffBreakpoints, DaffButtonComponent, DaffButtonModule, DaffButtonSetComponent, DaffButtonSetModule, DaffCalloutBodyDirective, DaffCalloutComponent, DaffCalloutIconDirective, DaffCalloutLayoutEnum, DaffCalloutModule, DaffCalloutSizeEnum, DaffCalloutSubtitleDirective, DaffCalloutTaglineDirective, DaffCalloutTitleDirective, DaffCardActionsDirective, DaffCardComponent, DaffCardContentDirective, DaffCardIconDirective, DaffCardImageDirective, DaffCardModule, DaffCardOrientationEnum, DaffCardTaglineDirective, DaffCardTitleDirective, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffContainerComponent, DaffContainerModule, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFeatureComponent, DaffFeatureIconDirective, DaffFeatureModeEnum, DaffFeatureModule, DaffFeatureSubheaderDirective, DaffFeatureSubtitleDirective, DaffFeatureTitleDirective, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule, DaffFormLabelDirective, DaffFormLabelModule, DaffGalleryImageComponent, DaffHeroBodyDirective, DaffHeroComponent, DaffHeroIconDirective, DaffHeroLayoutEnum, DaffHeroModule, DaffHeroSizeEnum, DaffHeroSubtitleDirective, DaffHeroTaglineDirective, DaffHeroTitleDirective, DaffImageComponent, DaffImageGalleryComponent, DaffImageGalleryModule, DaffImageListComponent, DaffImageListModule, DaffImageModule, DaffInputComponent, DaffInputModule, DaffLinkSetComponent, DaffLinkSetHeadingDirective, DaffLinkSetItemComponent, DaffLinkSetModule, DaffLinkSetSubheadingDirective, DaffListComponent, DaffListItemComponent, DaffListModeEnum, DaffListModule, DaffListSubheaderDirective, DaffLoadingIconComponent, DaffLoadingIconModule, DaffMediaGalleryComponent, DaffMediaGalleryModule, DaffMenuActivatorDirective, DaffMenuComponent, DaffMenuItemComponent, DaffMenuModule, DaffMenuService, DaffModalActionsComponent, DaffModalComponent, DaffModalContentComponent, DaffModalHeaderComponent, DaffModalModule, DaffModalService, DaffModalTitleDirective, DaffNativeSelectComponent, DaffNativeSelectModule, DaffNavAccordionItemComponent, DaffNavbarComponent, DaffNavbarModule, DaffPaginatorComponent, DaffPaginatorModule, DaffPrefixDirective, DaffPrefixSuffixModule, DaffProgressIndicatorComponent, DaffProgressIndicatorModule, DaffQtyDropdownComponent, DaffQtyDropdownModule, DaffQuantityFieldComponent, DaffQuantityFieldModule, DaffQuantityInputComponent, DaffQuantitySelectComponent, DaffRadioComponent, DaffRadioControlValueAccessorDirective, DaffRadioModule, DaffRadioSetComponent, DaffSidebarComponent, DaffSidebarModule, DaffSidebarViewportComponent, DaffStatusEnum, DaffSuffixDirective, DaffTextAlignmentEnum, DaffTheme, DaffThemingService, DaffThumbnailDirective, daffArticleEncapsulatedMixin, daffColorMixin, daffCompactableMixin, daffFocusableElementsSelector, daffManageContainerLayoutMixin, daffMenuCreateOverlay, daffPrefixableMixin, daffStatusMixin, daffSuffixableMixin, daffThumbnailCompatToken };
5677
5926
  //# sourceMappingURL=daffodil-design.mjs.map