@daffodil/design 0.66.0 → 0.67.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1411) hide show
  1. package/accordion/README.md +21 -0
  2. package/accordion/accordion/accordion/accordion.component.d.ts +22 -0
  3. package/accordion/accordion/accordion-item/accordion-item.component.d.ts +32 -0
  4. package/accordion/accordion.module.d.ts +13 -0
  5. package/accordion/examples/accordion-examples.module.d.ts +9 -0
  6. package/accordion/examples/examples.d.ts +2 -0
  7. package/accordion/examples/public_api.d.ts +3 -6
  8. package/accordion/index.d.ts +1 -0
  9. package/accordion/public_api.d.ts +5 -0
  10. package/accordion/src/accordion-theme.scss +12 -0
  11. package/article/README.md +49 -0
  12. package/article/examples/article-examples.module.d.ts +1 -1
  13. package/article/index.d.ts +1 -0
  14. package/article/src/article-theme.scss +78 -0
  15. package/atoms/form/checkbox/checkbox.component.d.ts +1 -1
  16. package/atoms/form/checkbox/cva/checkbox-cva.directive.d.ts +1 -1
  17. package/atoms/form/checkbox-set/checkbox-set.component.d.ts +1 -1
  18. package/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
  19. package/atoms/form/input/input.component.d.ts +1 -1
  20. package/atoms/form/native-select/native-select.component.d.ts +1 -1
  21. package/atoms/form/quantity-field/quantity-field.component.d.ts +1 -1
  22. package/atoms/form/quantity-field/quantity-input/quantity-input.component.d.ts +1 -1
  23. package/atoms/form/quantity-field/quantity-select/quantity-select.component.d.ts +1 -1
  24. package/atoms/form/radio/cva/radio-cva.directive.d.ts +1 -1
  25. package/atoms/form/radio/radio.component.d.ts +1 -1
  26. package/atoms/form/radio-set/radio-set.component.d.ts +1 -1
  27. package/atoms/progress-indicator/progress-indicator.component.d.ts +1 -1
  28. package/button/README.md +58 -0
  29. package/button/button/button.component.d.ts +90 -0
  30. package/button/button.module.d.ts +10 -0
  31. package/button/examples/basic-button/basic-button.module.d.ts +1 -1
  32. package/button/examples/flat-button/flat-button.module.d.ts +1 -1
  33. package/button/examples/icon-button/icon-button.module.d.ts +1 -1
  34. package/button/examples/raised-button/raised-button.module.d.ts +1 -1
  35. package/button/examples/sizeable-button/sizeable-button.module.d.ts +1 -1
  36. package/button/examples/statusable-button/statusable-button.module.d.ts +1 -1
  37. package/button/examples/stroked-button/stroked-button.module.d.ts +1 -1
  38. package/button/examples/underline-button/underline-button.module.d.ts +1 -1
  39. package/button/index.d.ts +1 -0
  40. package/button/public_api.d.ts +2 -0
  41. package/button/src/button-theme-variants/button.scss +26 -0
  42. package/button/src/button-theme-variants/flat.scss +25 -0
  43. package/button/src/button-theme-variants/raised.scss +36 -0
  44. package/button/src/button-theme-variants/stroked.scss +28 -0
  45. package/button/src/button-theme.scss +574 -0
  46. package/callout/README.md +54 -0
  47. package/callout/callout/callout.component.d.ts +78 -0
  48. package/callout/examples/callout-text-alignment/callout-text-alignment.module.d.ts +5 -3
  49. package/callout/examples/callout-theming/callout-theming.module.d.ts +4 -3
  50. package/callout/examples/callout-with-grid/callout-with-grid.module.d.ts +5 -3
  51. package/callout/examples/compact-callout/compact-callout.module.d.ts +5 -3
  52. package/callout/index.d.ts +1 -0
  53. package/callout/src/callout-theme.scss +59 -0
  54. package/card/README.md +60 -0
  55. package/card/card/card.component.d.ts +66 -0
  56. package/card/examples/basic-card/basic-card.module.d.ts +5 -3
  57. package/card/examples/card-orientation/card-orientation.module.d.ts +5 -3
  58. package/card/examples/card-theming/card-theming.module.d.ts +3 -2
  59. package/card/examples/linkable-card/linkable-card.module.d.ts +4 -2
  60. package/card/examples/raised-card/raised-card.module.d.ts +4 -2
  61. package/card/examples/stroked-card/stroked-card.module.d.ts +4 -2
  62. package/card/index.d.ts +1 -0
  63. package/card/src/card-theme-variants/basic-card.scss +6 -0
  64. package/card/src/card-theme-variants/linkable-card.scss +16 -0
  65. package/card/src/card-theme.scss +170 -0
  66. package/checkbox/examples/basic-checkbox/basic-checkbox.module.d.ts +3 -2
  67. package/checkbox/examples/checkbox-set/checkbox-set.module.d.ts +3 -2
  68. package/container/README.md +18 -0
  69. package/container/container/container.component.d.ts +32 -0
  70. package/container/container.module.d.ts +8 -0
  71. package/container/examples/container-sizes/container-sizes.module.d.ts +1 -1
  72. package/container/index.d.ts +1 -0
  73. package/container/public_api.d.ts +2 -0
  74. package/core/colorable/colorable.d.ts +1 -1
  75. package/core/constructor/constructor.d.ts +1 -1
  76. package/core/public_api.d.ts +3 -2
  77. package/core/sizable/public_api.d.ts +2 -0
  78. package/core/sizable/sizable-mixin.d.ts +15 -0
  79. package/core/sizable/sizable.d.ts +23 -0
  80. package/core/statusable/statusable.d.ts +1 -1
  81. package/core/text-alignable/public_api.d.ts +2 -0
  82. package/core/text-alignable/text-alignable.d.ts +4 -1
  83. package/core/theming/services/storage/theme-storage.service.d.ts +1 -1
  84. package/esm2022/accordion/accordion/accordion/accordion.component.mjs +27 -0
  85. package/esm2022/accordion/accordion/accordion-item/accordion-item.component.mjs +54 -0
  86. package/esm2022/accordion/accordion/accordion-item-content/accordion-item-content.directive.mjs +22 -0
  87. package/esm2022/accordion/accordion/accordion-item-title/accordion-item-title.directive.mjs +22 -0
  88. package/esm2022/accordion/accordion/animation/accordion-animation-state.mjs +9 -0
  89. package/esm2022/accordion/accordion/animation/accordion-animation.mjs +18 -0
  90. package/esm2022/accordion/accordion.module.mjs +47 -0
  91. package/esm2022/accordion/daffodil-design-accordion.mjs +5 -0
  92. package/esm2022/accordion/examples/accordion-examples.module.mjs +26 -0
  93. package/esm2022/accordion/examples/basic-accordion/basic-accordion.component.mjs +12 -0
  94. package/esm2022/accordion/examples/examples.mjs +5 -0
  95. package/esm2022/accordion/examples/public_api.mjs +4 -0
  96. package/esm2022/accordion/index.mjs +2 -0
  97. package/esm2022/accordion/public_api.mjs +6 -0
  98. package/esm2022/article/article/article.component.mjs +30 -0
  99. package/esm2022/article/article-lead/article-lead.directive.mjs +22 -0
  100. package/esm2022/article/article-meta/article-meta.directive.mjs +22 -0
  101. package/esm2022/article/article-title/article-title.directive.mjs +22 -0
  102. package/esm2022/article/article.module.mjs +39 -0
  103. package/esm2022/article/daffodil-design-article.mjs +5 -0
  104. package/esm2022/article/examples/article-blockquote/article-blockquote.component.mjs +12 -0
  105. package/esm2022/article/examples/article-code-block/article-code-block.component.mjs +12 -0
  106. package/esm2022/article/examples/article-code-inline/article-code-inline.component.mjs +12 -0
  107. package/esm2022/article/examples/article-examples.module.mjs +36 -0
  108. package/esm2022/article/examples/article-headings/article-headings.component.mjs +12 -0
  109. package/esm2022/article/examples/article-hr/article-hr.component.mjs +12 -0
  110. package/esm2022/article/examples/article-lead/article-lead.component.mjs +12 -0
  111. package/esm2022/article/examples/article-link/article-link.component.mjs +12 -0
  112. package/esm2022/article/examples/article-meta/article-meta.component.mjs +12 -0
  113. package/esm2022/article/examples/article-ol/article-ol.component.mjs +12 -0
  114. package/esm2022/article/examples/article-table/article-table.component.mjs +12 -0
  115. package/esm2022/article/examples/article-ul/article-ul.component.mjs +12 -0
  116. package/esm2022/article/index.mjs +2 -0
  117. package/esm2022/article/public_api.mjs +6 -0
  118. package/esm2022/atoms/form/checkbox/checkbox.component.mjs +142 -0
  119. package/esm2022/atoms/form/checkbox/checkbox.module.mjs +39 -0
  120. package/esm2022/atoms/form/checkbox/cva/checkbox-cva.directive.mjs +94 -0
  121. package/esm2022/atoms/form/checkbox-set/checkbox-set.component.mjs +38 -0
  122. package/esm2022/atoms/form/error-message/error-message.component.mjs +17 -0
  123. package/esm2022/atoms/form/error-message/error-message.module.mjs +20 -0
  124. package/esm2022/atoms/form/form-field/form-field/form-field.component.mjs +102 -0
  125. package/esm2022/atoms/form/form-field/form-field.module.mjs +34 -0
  126. package/esm2022/atoms/form/form-label/form-label.directive.mjs +19 -0
  127. package/esm2022/atoms/form/form-label/form-label.module.mjs +20 -0
  128. package/esm2022/atoms/form/input/input.component.mjs +59 -0
  129. package/esm2022/atoms/form/input/input.module.mjs +24 -0
  130. package/esm2022/atoms/form/native-select/native-select.component.mjs +64 -0
  131. package/esm2022/atoms/form/native-select/native-select.module.mjs +24 -0
  132. package/esm2022/atoms/form/quantity-field/quantity-field.component.mjs +134 -0
  133. package/esm2022/atoms/form/quantity-field/quantity-field.module.mjs +46 -0
  134. package/esm2022/atoms/form/quantity-field/quantity-input/quantity-input.component.mjs +97 -0
  135. package/esm2022/atoms/form/quantity-field/quantity-select/quantity-select.component.mjs +84 -0
  136. package/esm2022/atoms/form/radio/cva/radio-cva.directive.mjs +89 -0
  137. package/esm2022/atoms/form/radio/radio.component.mjs +132 -0
  138. package/esm2022/atoms/form/radio/radio.module.mjs +34 -0
  139. package/esm2022/atoms/form/radio/registry/radio-registry.mjs +54 -0
  140. package/esm2022/atoms/form/radio-set/radio-set.component.mjs +22 -0
  141. package/esm2022/atoms/progress-indicator/progress-indicator.component.mjs +81 -0
  142. package/esm2022/atoms/progress-indicator/progress-indicator.module.mjs +20 -0
  143. package/esm2022/button/button/button.component.mjs +185 -0
  144. package/esm2022/button/button.module.mjs +34 -0
  145. package/esm2022/button/daffodil-design-button.mjs +5 -0
  146. package/esm2022/button/examples/basic-button/basic-button.component.mjs +19 -0
  147. package/esm2022/button/examples/basic-button/basic-button.module.mjs +28 -0
  148. package/esm2022/button/examples/flat-button/flat-button.component.mjs +19 -0
  149. package/esm2022/button/examples/flat-button/flat-button.module.mjs +28 -0
  150. package/esm2022/button/examples/icon-button/icon-button.component.mjs +17 -0
  151. package/esm2022/button/examples/icon-button/icon-button.module.mjs +28 -0
  152. package/esm2022/button/examples/raised-button/raised-button.component.mjs +19 -0
  153. package/esm2022/button/examples/raised-button/raised-button.module.mjs +28 -0
  154. package/esm2022/button/examples/sizeable-button/sizeable-button.component.mjs +17 -0
  155. package/esm2022/button/examples/sizeable-button/sizeable-button.module.mjs +28 -0
  156. package/esm2022/button/examples/statusable-button/statusable-button.component.mjs +19 -0
  157. package/esm2022/button/examples/statusable-button/statusable-button.module.mjs +28 -0
  158. package/esm2022/button/examples/stroked-button/stroked-button.component.mjs +19 -0
  159. package/esm2022/button/examples/stroked-button/stroked-button.module.mjs +28 -0
  160. package/esm2022/button/examples/underline-button/underline-button.component.mjs +19 -0
  161. package/esm2022/button/examples/underline-button/underline-button.module.mjs +28 -0
  162. package/esm2022/button/index.mjs +2 -0
  163. package/esm2022/button/public_api.mjs +3 -0
  164. package/esm2022/callout/callout/callout.component.mjs +67 -0
  165. package/esm2022/callout/callout-body/callout-body.directive.mjs +22 -0
  166. package/esm2022/callout/callout-icon/callout-icon.directive.mjs +22 -0
  167. package/esm2022/callout/callout-subtitle/callout-subtitle.directive.mjs +22 -0
  168. package/esm2022/callout/callout-tagline/callout-tagline.directive.mjs +22 -0
  169. package/esm2022/callout/callout-title/callout-title.directive.mjs +22 -0
  170. package/esm2022/callout/callout.module.mjs +49 -0
  171. package/esm2022/callout/daffodil-design-callout.mjs +5 -0
  172. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +29 -0
  173. package/esm2022/callout/examples/callout-text-alignment/callout-text-alignment.module.mjs +41 -0
  174. package/esm2022/callout/examples/callout-theming/callout-theming.component.mjs +32 -0
  175. package/esm2022/callout/examples/callout-theming/callout-theming.module.mjs +37 -0
  176. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.component.mjs +19 -0
  177. package/esm2022/callout/examples/callout-with-grid/callout-with-grid.module.mjs +41 -0
  178. package/esm2022/callout/examples/compact-callout/compact-callout.component.mjs +19 -0
  179. package/esm2022/callout/examples/compact-callout/compact-callout.module.mjs +37 -0
  180. package/esm2022/callout/index.mjs +2 -0
  181. package/esm2022/callout/public_api.mjs +8 -0
  182. package/esm2022/card/card/card.component.mjs +112 -0
  183. package/esm2022/card/card-actions/card-actions.directive.mjs +22 -0
  184. package/esm2022/card/card-content/card-content.directive.mjs +22 -0
  185. package/esm2022/card/card-icon/card-icon.directive.mjs +22 -0
  186. package/esm2022/card/card-image/card-image.directive.mjs +22 -0
  187. package/esm2022/card/card-tagline/card-tagline.directive.mjs +22 -0
  188. package/esm2022/card/card-title/card-title.directive.mjs +22 -0
  189. package/esm2022/card/card.module.mjs +54 -0
  190. package/esm2022/card/daffodil-design-card.mjs +5 -0
  191. package/esm2022/card/examples/basic-card/basic-card.component.mjs +19 -0
  192. package/esm2022/card/examples/basic-card/basic-card.module.mjs +40 -0
  193. package/esm2022/card/examples/card-orientation/card-orientation.component.mjs +28 -0
  194. package/esm2022/card/examples/card-orientation/card-orientation.module.mjs +44 -0
  195. package/esm2022/card/examples/card-theming/card-theming.component.mjs +28 -0
  196. package/esm2022/card/examples/card-theming/card-theming.module.mjs +36 -0
  197. package/esm2022/card/examples/linkable-card/linkable-card.component.mjs +31 -0
  198. package/esm2022/card/examples/linkable-card/linkable-card.module.mjs +44 -0
  199. package/esm2022/card/examples/raised-card/raised-card.component.mjs +29 -0
  200. package/esm2022/card/examples/raised-card/raised-card.module.mjs +40 -0
  201. package/esm2022/card/examples/stroked-card/stroked-card.component.mjs +29 -0
  202. package/esm2022/card/examples/stroked-card/stroked-card.module.mjs +44 -0
  203. package/esm2022/card/index.mjs +2 -0
  204. package/esm2022/card/public_api.mjs +9 -0
  205. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +27 -0
  206. package/esm2022/checkbox/examples/basic-checkbox/basic-checkbox.module.mjs +33 -0
  207. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.component.mjs +29 -0
  208. package/esm2022/checkbox/examples/checkbox-set/checkbox-set.module.mjs +33 -0
  209. package/esm2022/container/container/container.component.mjs +37 -0
  210. package/esm2022/container/container.module.mjs +24 -0
  211. package/esm2022/container/daffodil-design-container.mjs +5 -0
  212. package/esm2022/container/examples/container-sizes/container-sizes.component.mjs +25 -0
  213. package/esm2022/container/examples/container-sizes/container-sizes.module.mjs +32 -0
  214. package/esm2022/container/index.mjs +2 -0
  215. package/esm2022/container/public_api.mjs +3 -0
  216. package/esm2022/core/colorable/colorable-mixin.mjs +42 -0
  217. package/esm2022/core/compactable/compactable-mixin.mjs +26 -0
  218. package/esm2022/core/focus/stack.service.mjs +71 -0
  219. package/esm2022/core/prefix-suffix/prefix-suffix.module.mjs +26 -0
  220. package/esm2022/core/prefix-suffix/prefix.directive.mjs +24 -0
  221. package/esm2022/core/prefix-suffix/prefixable/prefixable.mjs +23 -0
  222. package/esm2022/core/prefix-suffix/suffix.directive.mjs +24 -0
  223. package/esm2022/core/prefix-suffix/suffixable/suffixable.mjs +23 -0
  224. package/esm2022/core/public_api.mjs +18 -0
  225. package/esm2022/core/sizable/public_api.mjs +3 -0
  226. package/esm2022/core/sizable/sizable-mixin.mjs +31 -0
  227. package/esm2022/core/sizable/sizable.mjs +13 -0
  228. package/esm2022/core/skeletonable/skeletonable-mixin.mjs +26 -0
  229. package/esm2022/core/statusable/statusable-mixin.mjs +32 -0
  230. package/esm2022/core/text-alignable/public_api.mjs +3 -0
  231. package/esm2022/core/text-alignable/text-alignable-mixin.mjs +35 -0
  232. package/esm2022/core/text-alignable/text-alignable.mjs +7 -0
  233. package/esm2022/core/theming/services/class-setter/theme-class-setter.service.mjs +52 -0
  234. package/esm2022/core/theming/services/os-theme/ostheme.service.mjs +49 -0
  235. package/esm2022/core/theming/services/storage/theme-storage.service.mjs +67 -0
  236. package/esm2022/core/theming/services/theming.service.mjs +61 -0
  237. package/esm2022/hero/daffodil-design-hero.mjs +5 -0
  238. package/esm2022/hero/examples/compact-hero/compact-hero.component.mjs +18 -0
  239. package/esm2022/hero/examples/compact-hero/compact-hero.module.mjs +40 -0
  240. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +29 -0
  241. package/esm2022/hero/examples/hero-text-alignment/hero-text-alignment.module.mjs +41 -0
  242. package/esm2022/hero/examples/hero-theming/hero-theming.component.mjs +22 -0
  243. package/esm2022/hero/examples/hero-theming/hero-theming.module.mjs +40 -0
  244. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.component.mjs +19 -0
  245. package/esm2022/hero/examples/hero-with-grid/hero-with-grid.module.mjs +41 -0
  246. package/esm2022/hero/hero/hero.component.mjs +68 -0
  247. package/esm2022/hero/hero-body/hero-body.directive.mjs +22 -0
  248. package/esm2022/hero/hero-icon/hero-icon.directive.mjs +22 -0
  249. package/esm2022/hero/hero-subtitle/hero-subtitle.directive.mjs +22 -0
  250. package/esm2022/hero/hero-tagline/hero-tagline.directive.mjs +22 -0
  251. package/esm2022/hero/hero-title/hero-title.directive.mjs +22 -0
  252. package/esm2022/hero/hero.module.mjs +49 -0
  253. package/esm2022/hero/index.mjs +2 -0
  254. package/esm2022/hero/public_api.mjs +8 -0
  255. package/esm2022/image/daffodil-design-image.mjs +5 -0
  256. package/esm2022/image/examples/basic-image/basic-image.component.mjs +12 -0
  257. package/esm2022/image/examples/basic-image/basic-image.module.mjs +24 -0
  258. package/esm2022/image/examples/load-image/load-image.component.mjs +19 -0
  259. package/esm2022/image/examples/load-image/load-image.module.mjs +28 -0
  260. package/esm2022/image/examples/skeleton-image/skeleton-image.component.mjs +12 -0
  261. package/esm2022/image/examples/skeleton-image/skeleton-image.module.mjs +24 -0
  262. package/esm2022/image/image/image.component.mjs +125 -0
  263. package/esm2022/image/image.module.mjs +24 -0
  264. package/esm2022/image/index.mjs +2 -0
  265. package/esm2022/image/public_api.mjs +3 -0
  266. package/esm2022/input/examples/basic-input/basic-input.component.mjs +12 -0
  267. package/esm2022/input/examples/basic-input/basic-input.module.mjs +24 -0
  268. package/esm2022/input/examples/input-disabled/input-disabled.component.mjs +12 -0
  269. package/esm2022/input/examples/input-disabled/input-disabled.module.mjs +24 -0
  270. package/esm2022/input/examples/input-error/input-error.component.mjs +20 -0
  271. package/esm2022/input/examples/input-error/input-error.module.mjs +28 -0
  272. package/esm2022/input/examples/input-with-form-field/input-with-form-field.component.mjs +12 -0
  273. package/esm2022/input/examples/input-with-form-field/input-with-form-field.module.mjs +24 -0
  274. package/esm2022/link-set/daffodil-design-link-set.mjs +5 -0
  275. package/esm2022/link-set/index.mjs +2 -0
  276. package/esm2022/link-set/link-set/link-set.component.mjs +37 -0
  277. package/esm2022/link-set/link-set-heading/link-set-heading.directive.mjs +25 -0
  278. package/esm2022/link-set/link-set-item/link-set-item.component.mjs +26 -0
  279. package/esm2022/link-set/link-set-subheading/link-set-subheading.directive.mjs +25 -0
  280. package/esm2022/link-set/link-set.module.mjs +39 -0
  281. package/esm2022/link-set/public_api.mjs +6 -0
  282. package/esm2022/list/daffodil-design-list.mjs +5 -0
  283. package/esm2022/list/examples/basic-list/basic-list.component.mjs +12 -0
  284. package/esm2022/list/examples/basic-list/basic-list.module.mjs +28 -0
  285. package/esm2022/list/examples/icon-list/icon-list.component.mjs +18 -0
  286. package/esm2022/list/examples/icon-list/icon-list.module.mjs +32 -0
  287. package/esm2022/list/examples/list-examples.module.mjs +33 -0
  288. package/esm2022/list/examples/multiline-list/multiline-list.component.mjs +12 -0
  289. package/esm2022/list/examples/multiline-list/multiline-list.module.mjs +32 -0
  290. package/esm2022/list/examples/nav-list/nav-list.component.mjs +18 -0
  291. package/esm2022/list/examples/nav-list/nav-list.module.mjs +32 -0
  292. package/esm2022/list/index.mjs +2 -0
  293. package/esm2022/list/list/list.component.mjs +110 -0
  294. package/esm2022/list/list-item/list-item.component.mjs +49 -0
  295. package/esm2022/list/list-subheader/list-subheader.directive.mjs +25 -0
  296. package/esm2022/list/list.module.mjs +40 -0
  297. package/esm2022/list/public_api.mjs +5 -0
  298. package/esm2022/loading-icon/daffodil-design-loading-icon.mjs +5 -0
  299. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +20 -0
  300. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.module.mjs +32 -0
  301. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +12 -0
  302. package/esm2022/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.module.mjs +24 -0
  303. package/esm2022/loading-icon/index.mjs +2 -0
  304. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +52 -0
  305. package/esm2022/loading-icon/loading-icon.module.mjs +24 -0
  306. package/esm2022/loading-icon/public_api.mjs +3 -0
  307. package/esm2022/media-gallery/daffodil-design-media-gallery.mjs +5 -0
  308. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +13 -0
  309. package/esm2022/media-gallery/examples/basic-media-gallery/basic-media-gallery.module.mjs +29 -0
  310. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +13 -0
  311. package/esm2022/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.module.mjs +29 -0
  312. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +13 -0
  313. package/esm2022/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.module.mjs +29 -0
  314. package/esm2022/media-gallery/helpers/media-gallery-registration.interface.mjs +2 -0
  315. package/esm2022/media-gallery/helpers/media-gallery-token.mjs +3 -0
  316. package/esm2022/media-gallery/index.mjs +2 -0
  317. package/esm2022/media-gallery/media-gallery/media-gallery.component.mjs +59 -0
  318. package/esm2022/media-gallery/media-gallery.module.mjs +32 -0
  319. package/esm2022/media-gallery/media-renderer/media-renderer.component.mjs +80 -0
  320. package/esm2022/media-gallery/public_api.mjs +5 -0
  321. package/esm2022/media-gallery/registry/media-gallery.registry.mjs +97 -0
  322. package/esm2022/media-gallery/thumbnail/thumbnail-compat.token.mjs +6 -0
  323. package/esm2022/media-gallery/thumbnail/thumbnail-registration.interface.mjs +2 -0
  324. package/esm2022/media-gallery/thumbnail/thumbnail.directive.mjs +88 -0
  325. package/esm2022/menu/daffodil-design-menu.mjs +5 -0
  326. package/esm2022/menu/examples/basic-menu/basic-menu.component.mjs +17 -0
  327. package/esm2022/menu/examples/basic-menu/basic-menu.module.mjs +35 -0
  328. package/esm2022/menu/examples/basic-menu/menu-content/menu-content.component.mjs +19 -0
  329. package/esm2022/menu/helpers/create-overlay.mjs +29 -0
  330. package/esm2022/menu/helpers/public_api.mjs +2 -0
  331. package/esm2022/menu/index.mjs +2 -0
  332. package/esm2022/menu/menu/menu.component.mjs +63 -0
  333. package/esm2022/menu/menu-activator/menu-activator.component.mjs +48 -0
  334. package/esm2022/menu/menu-item/menu-item.component.mjs +35 -0
  335. package/esm2022/menu/menu.module.mjs +44 -0
  336. package/esm2022/menu/public_api.mjs +7 -0
  337. package/esm2022/menu/services/menu.service.mjs +52 -0
  338. package/esm2022/modal/animations/modal-animation-state.mjs +2 -0
  339. package/esm2022/modal/animations/modal-animation.mjs +9 -0
  340. package/esm2022/modal/daffodil-design-modal.mjs +5 -0
  341. package/esm2022/modal/examples/basic-modal/basic-modal.component.mjs +21 -0
  342. package/esm2022/modal/examples/basic-modal/basic-modal.module.mjs +31 -0
  343. package/esm2022/modal/examples/basic-modal/modal-content.component.mjs +13 -0
  344. package/esm2022/modal/index.mjs +2 -0
  345. package/esm2022/modal/modal/modal-config.mjs +2 -0
  346. package/esm2022/modal/modal/modal.component.mjs +93 -0
  347. package/esm2022/modal/modal/modal.mjs +2 -0
  348. package/esm2022/modal/modal-actions/modal-actions.component.mjs +11 -0
  349. package/esm2022/modal/modal-content/modal-content.component.mjs +11 -0
  350. package/esm2022/modal/modal-header/modal-header.component.mjs +20 -0
  351. package/esm2022/modal/modal-title/modal-title.directive.mjs +22 -0
  352. package/esm2022/modal/modal.module.mjs +50 -0
  353. package/esm2022/modal/public_api.mjs +8 -0
  354. package/esm2022/modal/service/modal.service.mjs +70 -0
  355. package/esm2022/molecules/backdrop/backdrop/backdrop.component.mjs +87 -0
  356. package/esm2022/molecules/backdrop/backdrop.module.mjs +24 -0
  357. package/esm2022/molecules/button-set/button-set.component.mjs +23 -0
  358. package/esm2022/molecules/button-set/button-set.module.mjs +20 -0
  359. package/esm2022/molecules/feature/feature/feature.component.mjs +49 -0
  360. package/esm2022/molecules/feature/feature-icon/feature-icon.directive.mjs +22 -0
  361. package/esm2022/molecules/feature/feature-subheader/feature-subheader.directive.mjs +22 -0
  362. package/esm2022/molecules/feature/feature-subtitle/feature-subtitle.directive.mjs +22 -0
  363. package/esm2022/molecules/feature/feature-title/feature-title.directive.mjs +22 -0
  364. package/esm2022/molecules/feature/feature.module.mjs +44 -0
  365. package/esm2022/molecules/image-gallery/gallery-image/gallery-image.component.mjs +25 -0
  366. package/esm2022/molecules/image-gallery/image-gallery/image-gallery.component.mjs +15 -0
  367. package/esm2022/molecules/image-gallery/image-gallery.module.mjs +33 -0
  368. package/esm2022/molecules/image-list/image-list.component.mjs +20 -0
  369. package/esm2022/molecules/image-list/image-list.module.mjs +24 -0
  370. package/esm2022/molecules/qty-dropdown/qty-dropdown.component.mjs +113 -0
  371. package/esm2022/molecules/qty-dropdown/qty-dropdown.module.mjs +40 -0
  372. package/esm2022/navbar/daffodil-design-navbar.mjs +5 -0
  373. package/esm2022/navbar/examples/basic-navbar/basic-navbar.component.mjs +13 -0
  374. package/esm2022/navbar/examples/basic-navbar/basic-navbar.module.mjs +33 -0
  375. package/esm2022/navbar/examples/contained-navbar/contained-navbar.component.mjs +14 -0
  376. package/esm2022/navbar/examples/contained-navbar/contained-navbar.module.mjs +33 -0
  377. package/esm2022/navbar/examples/navbar-theming/navbar-theming.component.mjs +29 -0
  378. package/esm2022/navbar/examples/navbar-theming/navbar-theming.module.mjs +33 -0
  379. package/esm2022/navbar/examples/raised-navbar/raised-navbar.component.mjs +13 -0
  380. package/esm2022/navbar/examples/raised-navbar/raised-navbar.module.mjs +29 -0
  381. package/esm2022/navbar/index.mjs +2 -0
  382. package/esm2022/navbar/navbar/navbar.component.mjs +50 -0
  383. package/esm2022/navbar/navbar.module.mjs +20 -0
  384. package/esm2022/navbar/public_api.mjs +3 -0
  385. package/esm2022/notification/examples/default-notification/default-notification.component.mjs +19 -0
  386. package/esm2022/notification/examples/default-notification/default-notification.module.mjs +36 -0
  387. package/esm2022/notification/examples/dismissable-notification/dismissable-notification.component.mjs +18 -0
  388. package/esm2022/notification/examples/dismissable-notification/dismissable-notification.module.mjs +36 -0
  389. package/esm2022/notification/examples/notification-orientations/notification-orientations.component.mjs +24 -0
  390. package/esm2022/notification/examples/notification-orientations/notification-orientations.module.mjs +40 -0
  391. package/esm2022/notification/examples/notification-status/notification-status.component.mjs +25 -0
  392. package/esm2022/notification/examples/notification-status/notification-status.module.mjs +40 -0
  393. package/esm2022/notification/notification/notification.component.mjs +95 -0
  394. package/esm2022/notification/notification-actions/notification-actions.directive.mjs +19 -0
  395. package/esm2022/notification/notification-message/notification-message.directive.mjs +19 -0
  396. package/esm2022/notification/notification-subtitle/notification-subtitle.directive.mjs +19 -0
  397. package/esm2022/notification/notification-title/notification-title.directive.mjs +19 -0
  398. package/esm2022/notification/notification.module.mjs +54 -0
  399. package/esm2022/paginator/daffodil-design-paginator.mjs +5 -0
  400. package/esm2022/paginator/examples/basic-paginator/basic-paginator.component.mjs +19 -0
  401. package/esm2022/paginator/examples/link-paginator/link-paginator.component.mjs +26 -0
  402. package/esm2022/paginator/examples/paginator-examples.module.mjs +27 -0
  403. package/esm2022/paginator/paginator/paginator.component.mjs +182 -0
  404. package/esm2022/paginator/paginator.module.mjs +32 -0
  405. package/esm2022/paginator/public_api.mjs +3 -0
  406. package/esm2022/paginator/utils/paginator-errors.mjs +3 -0
  407. package/esm2022/public_api.mjs +26 -0
  408. package/esm2022/quantity-field/examples/basic-quantity-field/basic-quantity-field.component.mjs +17 -0
  409. package/esm2022/quantity-field/examples/basic-quantity-field/basic-quantity-field.module.mjs +35 -0
  410. package/esm2022/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.component.mjs +17 -0
  411. package/esm2022/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.module.mjs +35 -0
  412. package/esm2022/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.component.mjs +17 -0
  413. package/esm2022/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.module.mjs +35 -0
  414. package/esm2022/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.component.mjs +17 -0
  415. package/esm2022/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.module.mjs +35 -0
  416. package/esm2022/radio/examples/basic-radio/basic-radio.component.mjs +19 -0
  417. package/esm2022/radio/examples/basic-radio/basic-radio.module.mjs +29 -0
  418. package/esm2022/sidebar/animation/sidebar-animation-state.mjs +24 -0
  419. package/esm2022/sidebar/animation/sidebar-animation-width.mjs +2 -0
  420. package/esm2022/sidebar/animation/sidebar-animation.mjs +51 -0
  421. package/esm2022/sidebar/animation/sidebar-viewport-animation-state.mjs +4 -0
  422. package/esm2022/sidebar/daffodil-design-sidebar.mjs +5 -0
  423. package/esm2022/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +12 -0
  424. package/esm2022/sidebar/examples/basic-sidebar/basic-sidebar.module.mjs +32 -0
  425. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.mjs +29 -0
  426. package/esm2022/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.module.mjs +44 -0
  427. package/esm2022/sidebar/examples/public_api.mjs +15 -0
  428. package/esm2022/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.component.mjs +13 -0
  429. package/esm2022/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.module.mjs +32 -0
  430. package/esm2022/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.component.mjs +12 -0
  431. package/esm2022/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.module.mjs +28 -0
  432. package/esm2022/sidebar/helper/sidebar-mode.mjs +2 -0
  433. package/esm2022/sidebar/helper/sidebar-side.mjs +2 -0
  434. package/esm2022/sidebar/index.mjs +2 -0
  435. package/esm2022/sidebar/public_api.mjs +8 -0
  436. package/esm2022/sidebar/sidebar/is-opening.mjs +13 -0
  437. package/esm2022/sidebar/sidebar/sidebar.component.mjs +158 -0
  438. package/esm2022/sidebar/sidebar-footer/sidebar-footer.component.mjs +17 -0
  439. package/esm2022/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.mjs +22 -0
  440. package/esm2022/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.mjs +22 -0
  441. package/esm2022/sidebar/sidebar-header/sidebar-header.component.mjs +17 -0
  442. package/esm2022/sidebar/sidebar-viewport/helper/has-parent-viewport.mjs +16 -0
  443. package/esm2022/sidebar/sidebar-viewport/nav-placement.mjs +10 -0
  444. package/esm2022/sidebar/sidebar-viewport/scroll-token/scroll.token.mjs +39 -0
  445. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +206 -0
  446. package/esm2022/sidebar/sidebar-viewport/utils/backdrop-interactable.mjs +5 -0
  447. package/esm2022/sidebar/sidebar-viewport/utils/content-pad.mjs +17 -0
  448. package/esm2022/sidebar/sidebar-viewport/utils/content-shift.mjs +21 -0
  449. package/esm2022/sidebar/sidebar.module.mjs +57 -0
  450. package/esm2022/tree/examples/basic-tree/basic-tree.component.mjs +39 -0
  451. package/esm2022/tree/examples/basic-tree/basic-tree.module.mjs +32 -0
  452. package/esm2022/tree/tree/tree-notifier.service.mjs +45 -0
  453. package/esm2022/tree/tree/tree.component.mjs +106 -0
  454. package/esm2022/tree/tree-item/tree-item.directive.mjs +154 -0
  455. package/esm2022/tree/tree.module.mjs +29 -0
  456. package/examples/examples.d.ts +1 -1
  457. package/fesm2022/daffodil-design-accordion-examples.mjs +45 -0
  458. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -0
  459. package/fesm2022/daffodil-design-accordion.mjs +191 -0
  460. package/fesm2022/daffodil-design-accordion.mjs.map +1 -0
  461. package/fesm2022/daffodil-design-article-examples.mjs +145 -0
  462. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -0
  463. package/fesm2022/daffodil-design-article.mjs +130 -0
  464. package/fesm2022/daffodil-design-article.mjs.map +1 -0
  465. package/fesm2022/daffodil-design-button-examples.mjs +313 -0
  466. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -0
  467. package/fesm2022/daffodil-design-button.mjs +222 -0
  468. package/fesm2022/daffodil-design-button.mjs.map +1 -0
  469. package/fesm2022/daffodil-design-callout-examples.mjs +217 -0
  470. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -0
  471. package/fesm2022/daffodil-design-callout.mjs +215 -0
  472. package/fesm2022/daffodil-design-callout.mjs.map +1 -0
  473. package/fesm2022/daffodil-design-card-examples.mjs +350 -0
  474. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -0
  475. package/fesm2022/daffodil-design-card.mjs +284 -0
  476. package/fesm2022/daffodil-design-card.mjs.map +1 -0
  477. package/fesm2022/daffodil-design-checkbox-examples.mjs +121 -0
  478. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -0
  479. package/fesm2022/daffodil-design-container-examples.mjs +64 -0
  480. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -0
  481. package/fesm2022/daffodil-design-container.mjs +65 -0
  482. package/fesm2022/daffodil-design-container.mjs.map +1 -0
  483. package/fesm2022/daffodil-design-hero-examples.mjs +214 -0
  484. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -0
  485. package/fesm2022/daffodil-design-hero.mjs +216 -0
  486. package/fesm2022/daffodil-design-hero.mjs.map +1 -0
  487. package/fesm2022/daffodil-design-image-examples.mjs +115 -0
  488. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -0
  489. package/fesm2022/daffodil-design-image.mjs +152 -0
  490. package/fesm2022/daffodil-design-image.mjs.map +1 -0
  491. package/fesm2022/daffodil-design-input-examples.mjs +145 -0
  492. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -0
  493. package/fesm2022/daffodil-design-link-set.mjs +147 -0
  494. package/fesm2022/daffodil-design-link-set.mjs.map +1 -0
  495. package/fesm2022/daffodil-design-list-examples.mjs +192 -0
  496. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -0
  497. package/fesm2022/daffodil-design-list.mjs +220 -0
  498. package/fesm2022/daffodil-design-list.mjs.map +1 -0
  499. package/fesm2022/daffodil-design-loading-icon-examples.mjs +89 -0
  500. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -0
  501. package/fesm2022/daffodil-design-loading-icon.mjs +80 -0
  502. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -0
  503. package/fesm2022/daffodil-design-media-gallery-examples.mjs +118 -0
  504. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -0
  505. package/fesm2022/daffodil-design-media-gallery.mjs +347 -0
  506. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -0
  507. package/fesm2022/daffodil-design-menu-examples.mjs +74 -0
  508. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -0
  509. package/fesm2022/daffodil-design-menu.mjs +256 -0
  510. package/fesm2022/daffodil-design-menu.mjs.map +1 -0
  511. package/fesm2022/daffodil-design-modal-examples.mjs +66 -0
  512. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -0
  513. package/fesm2022/daffodil-design-modal.mjs +270 -0
  514. package/fesm2022/daffodil-design-modal.mjs.map +1 -0
  515. package/fesm2022/daffodil-design-navbar-examples.mjs +176 -0
  516. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -0
  517. package/fesm2022/daffodil-design-navbar.mjs +74 -0
  518. package/fesm2022/daffodil-design-navbar.mjs.map +1 -0
  519. package/fesm2022/daffodil-design-notification-examples.mjs +204 -0
  520. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -0
  521. package/fesm2022/daffodil-design-notification.mjs +216 -0
  522. package/fesm2022/daffodil-design-notification.mjs.map +1 -0
  523. package/fesm2022/daffodil-design-paginator-examples.mjs +75 -0
  524. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -0
  525. package/fesm2022/daffodil-design-paginator.mjs +220 -0
  526. package/fesm2022/daffodil-design-paginator.mjs.map +1 -0
  527. package/fesm2022/daffodil-design-quantity-field-examples.mjs +185 -0
  528. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -0
  529. package/fesm2022/daffodil-design-radio-examples.mjs +58 -0
  530. package/fesm2022/daffodil-design-radio-examples.mjs.map +1 -0
  531. package/fesm2022/daffodil-design-sidebar-examples.mjs +187 -0
  532. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -0
  533. package/fesm2022/daffodil-design-sidebar.mjs +670 -0
  534. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -0
  535. package/fesm2022/daffodil-design-tree-examples.mjs +79 -0
  536. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -0
  537. package/fesm2022/daffodil-design-tree.mjs +446 -0
  538. package/fesm2022/daffodil-design-tree.mjs.map +1 -0
  539. package/fesm2022/daffodil-design.mjs +2675 -0
  540. package/fesm2022/daffodil-design.mjs.map +1 -0
  541. package/hero/README.md +54 -0
  542. package/hero/examples/compact-hero/compact-hero.module.d.ts +4 -3
  543. package/hero/examples/hero-text-alignment/hero-text-alignment.module.d.ts +5 -3
  544. package/hero/examples/hero-theming/hero-theming.module.d.ts +4 -3
  545. package/hero/examples/hero-with-grid/hero-with-grid.module.d.ts +5 -3
  546. package/hero/hero/hero.component.d.ts +79 -0
  547. package/hero/index.d.ts +1 -0
  548. package/hero/src/hero-theme.scss +59 -0
  549. package/image/README.md +31 -0
  550. package/image/examples/basic-image/basic-image.module.d.ts +1 -1
  551. package/image/examples/load-image/load-image.module.d.ts +1 -1
  552. package/image/examples/skeleton-image/skeleton-image.module.d.ts +1 -1
  553. package/image/image/image.component.d.ts +52 -0
  554. package/image/image.module.d.ts +8 -0
  555. package/image/index.d.ts +1 -0
  556. package/image/public_api.d.ts +2 -0
  557. package/link-set/README.md +44 -0
  558. package/link-set/index.d.ts +1 -0
  559. package/link-set/link-set/link-set.component.d.ts +32 -0
  560. package/list/README.md +69 -0
  561. package/list/examples/basic-list/basic-list.module.d.ts +1 -1
  562. package/list/examples/icon-list/icon-list.module.d.ts +1 -1
  563. package/list/examples/multiline-list/multiline-list.module.d.ts +1 -1
  564. package/list/examples/nav-list/nav-list.module.d.ts +1 -1
  565. package/list/index.d.ts +1 -0
  566. package/list/list/list.component.d.ts +71 -0
  567. package/list/list-item/list-item.component.d.ts +30 -0
  568. package/list/list.module.d.ts +11 -0
  569. package/list/src/list-theme.scss +71 -0
  570. package/loading-icon/README.md +7 -0
  571. package/loading-icon/examples/loading-icon-color/loading-icon-color.module.d.ts +4 -3
  572. package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.module.d.ts +1 -1
  573. package/loading-icon/index.d.ts +1 -0
  574. package/loading-icon/loading-icon/loading-icon.component.d.ts +40 -0
  575. package/loading-icon/loading-icon.module.d.ts +8 -0
  576. package/loading-icon/public_api.d.ts +2 -0
  577. package/loading-icon/src/loading-icon-theme.scss +61 -0
  578. package/media-gallery/README.md +19 -0
  579. package/media-gallery/examples/basic-media-gallery/basic-media-gallery.module.d.ts +3 -2
  580. package/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.module.d.ts +3 -2
  581. package/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.module.d.ts +3 -2
  582. package/media-gallery/index.d.ts +1 -0
  583. package/media-gallery/media-gallery/media-gallery.component.d.ts +41 -0
  584. package/media-gallery/media-gallery.module.d.ts +10 -0
  585. package/media-gallery/media-renderer/media-renderer.component.d.ts +29 -0
  586. package/media-gallery/public_api.d.ts +4 -0
  587. package/media-gallery/registry/media-gallery.registry.d.ts +34 -0
  588. package/media-gallery/src/media-gallery-theme.scss +27 -0
  589. package/media-gallery/thumbnail/thumbnail-registration.interface.d.ts +9 -0
  590. package/media-gallery/thumbnail/thumbnail.directive.d.ts +44 -0
  591. package/menu/README.md +7 -0
  592. package/menu/examples/basic-menu/basic-menu.module.d.ts +4 -3
  593. package/menu/index.d.ts +1 -0
  594. package/menu/menu/menu.component.d.ts +19 -0
  595. package/menu/menu-activator/menu-activator.component.d.ts +18 -0
  596. package/menu/menu-item/menu-item.component.d.ts +20 -0
  597. package/menu/public_api.d.ts +6 -0
  598. package/menu/services/menu.service.d.ts +24 -0
  599. package/menu/src/menu-theme.scss +25 -0
  600. package/modal/README.md +47 -0
  601. package/modal/animations/modal-animation-state.d.ts +1 -0
  602. package/modal/examples/basic-modal/basic-modal.component.d.ts +1 -1
  603. package/modal/examples/basic-modal/basic-modal.module.d.ts +3 -2
  604. package/modal/index.d.ts +1 -0
  605. package/modal/modal/modal.component.d.ts +52 -0
  606. package/modal/modal/modal.d.ts +13 -0
  607. package/modal/public_api.d.ts +8 -0
  608. package/modal/service/modal.service.d.ts +19 -0
  609. package/modal/src/modal-theme.scss +9 -0
  610. package/molecules/backdrop/animation/backdrop-animation-state.d.ts +1 -1
  611. package/molecules/backdrop/backdrop/backdrop.component.d.ts +1 -1
  612. package/molecules/feature/feature/feature.component.d.ts +2 -2
  613. package/molecules/image-gallery/gallery-image/gallery-image.component.d.ts +1 -1
  614. package/molecules/qty-dropdown/qty-dropdown.component.d.ts +1 -1
  615. package/navbar/README.md +41 -0
  616. package/navbar/examples/basic-navbar/basic-navbar.module.d.ts +4 -2
  617. package/navbar/examples/contained-navbar/contained-navbar.module.d.ts +4 -2
  618. package/navbar/examples/navbar-theming/navbar-theming.module.d.ts +3 -2
  619. package/navbar/examples/raised-navbar/raised-navbar.module.d.ts +3 -2
  620. package/navbar/index.d.ts +1 -0
  621. package/navbar/navbar/navbar.component.d.ts +40 -0
  622. package/navbar/navbar.module.d.ts +7 -0
  623. package/navbar/public_api.d.ts +2 -0
  624. package/navbar/src/navbar-theme.scss +57 -0
  625. package/notification/examples/default-notification/default-notification.module.d.ts +1 -1
  626. package/notification/examples/dismissable-notification/dismissable-notification.module.d.ts +1 -1
  627. package/notification/examples/notification-orientations/notification-orientations.module.d.ts +1 -1
  628. package/notification/examples/notification-status/notification-status.module.d.ts +1 -1
  629. package/notification/notification/notification.component.d.ts +2 -2
  630. package/notification/src/notification-theme.scss +4 -4
  631. package/package.json +1 -1
  632. package/paginator/README.md +11 -0
  633. package/paginator/examples/paginator-examples.module.d.ts +1 -1
  634. package/paginator/index.d.ts +5 -0
  635. package/paginator/paginator/paginator.component.d.ts +145 -0
  636. package/paginator/paginator.module.d.ts +10 -0
  637. package/paginator/public_api.d.ts +2 -0
  638. package/paginator/src/paginator-theme.scss +90 -0
  639. package/public_api.d.ts +0 -17
  640. package/radio/examples/basic-radio/basic-radio.component.d.ts +1 -3
  641. package/scss/state/skeleton/_mixins.scss +2 -2
  642. package/scss/theme.scss +15 -17
  643. package/scss/theming/_color-palettes.scss +1 -1
  644. package/scss/theming/_configure-theme.scss +12 -12
  645. package/scss/theming/_theme-css-variables.scss +2 -2
  646. package/scss/theming/contrast/text-contrast/text-contrast.scss +1 -1
  647. package/sidebar/README.md +135 -0
  648. package/sidebar/animation/sidebar-animation-state.d.ts +3 -0
  649. package/sidebar/animation/sidebar-animation.d.ts +15 -0
  650. package/sidebar/animation/sidebar-viewport-animation-state.d.ts +8 -0
  651. package/sidebar/examples/basic-sidebar/basic-sidebar.module.d.ts +4 -2
  652. package/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.component.d.ts +12 -0
  653. package/sidebar/examples/over-and-under-sidebars/over-and-under-sidebars.module.d.ts +13 -0
  654. package/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.component.d.ts +5 -0
  655. package/sidebar/examples/side-fixed-sidebar/side-fixed-sidebar.module.d.ts +10 -0
  656. package/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.component.d.ts +5 -0
  657. package/sidebar/examples/sidebar-with-sticky-content/sidebar-with-sticky-content.module.d.ts +9 -0
  658. package/sidebar/helper/sidebar-mode.d.ts +27 -0
  659. package/sidebar/helper/sidebar-side.d.ts +12 -0
  660. package/sidebar/index.d.ts +1 -0
  661. package/sidebar/public_api.d.ts +9 -0
  662. package/sidebar/sidebar/is-opening.d.ts +5 -0
  663. package/sidebar/sidebar/sidebar.component.d.ts +73 -0
  664. package/sidebar/sidebar-footer/sidebar-footer.component.d.ts +6 -0
  665. package/sidebar/sidebar-header/sidebar-header-action/sidebar-header-action.directive.d.ts +9 -0
  666. package/sidebar/sidebar-header/sidebar-header-title/sidebar-header-title.directive.d.ts +9 -0
  667. package/sidebar/sidebar-header/sidebar-header.component.d.ts +6 -0
  668. package/sidebar/sidebar-viewport/helper/has-parent-viewport.d.ts +6 -0
  669. package/sidebar/sidebar-viewport/nav-placement.d.ts +13 -0
  670. package/sidebar/sidebar-viewport/scroll-token/scroll.token.d.ts +23 -0
  671. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +100 -0
  672. package/sidebar/sidebar-viewport/utils/backdrop-interactable.d.ts +6 -0
  673. package/sidebar/sidebar-viewport/utils/content-pad.d.ts +7 -0
  674. package/sidebar/sidebar-viewport/utils/content-shift.d.ts +8 -0
  675. package/sidebar/sidebar.module.d.ts +15 -0
  676. package/sidebar/src/helper/_variables.scss +8 -0
  677. package/sidebar/src/sidebar-theme.scss +22 -0
  678. package/src/atoms/form/form-field/form-field/form-field-theme.scss +3 -3
  679. package/src/atoms/form/native-select/native-select-theme.scss +2 -2
  680. package/tree/interfaces/recursive-key.d.ts +1 -1
  681. package/tree/src/tree-theme.scss +4 -4
  682. package/tree/tree/tree.component.d.ts +1 -1
  683. package/tree/tree-item/tree-item.directive.d.ts +1 -1
  684. package/accordion/examples/basic-accordion/basic-accordion.module.d.ts +0 -8
  685. package/accordion/examples/nav-accordion/nav-accordion.component.d.ts +0 -5
  686. package/accordion/examples/nav-accordion/nav-accordion.module.d.ts +0 -8
  687. package/atoms/button/button.component.d.ts +0 -105
  688. package/atoms/button/button.module.d.ts +0 -10
  689. package/atoms/button/public_api.d.ts +0 -2
  690. package/atoms/container/container.component.d.ts +0 -34
  691. package/atoms/container/container.module.d.ts +0 -8
  692. package/atoms/container/public_api.d.ts +0 -2
  693. package/atoms/image/image.component.d.ts +0 -54
  694. package/atoms/image/image.module.d.ts +0 -8
  695. package/atoms/image/public_api.d.ts +0 -2
  696. package/atoms/loading-icon/loading-icon.component.d.ts +0 -42
  697. package/atoms/loading-icon/loading-icon.module.d.ts +0 -8
  698. package/atoms/loading-icon/public_api.d.ts +0 -2
  699. package/core/sizeable/sizeable-mixin.d.ts +0 -15
  700. package/core/sizeable/sizeable.d.ts +0 -16
  701. package/esm2020/accordion/examples/basic-accordion/basic-accordion.component.mjs +0 -12
  702. package/esm2020/accordion/examples/basic-accordion/basic-accordion.module.mjs +0 -24
  703. package/esm2020/accordion/examples/nav-accordion/nav-accordion.component.mjs +0 -12
  704. package/esm2020/accordion/examples/nav-accordion/nav-accordion.module.mjs +0 -24
  705. package/esm2020/accordion/examples/public_api.mjs +0 -10
  706. package/esm2020/article/examples/article-blockquote/article-blockquote.component.mjs +0 -12
  707. package/esm2020/article/examples/article-code-block/article-code-block.component.mjs +0 -12
  708. package/esm2020/article/examples/article-code-inline/article-code-inline.component.mjs +0 -12
  709. package/esm2020/article/examples/article-examples.module.mjs +0 -36
  710. package/esm2020/article/examples/article-headings/article-headings.component.mjs +0 -12
  711. package/esm2020/article/examples/article-hr/article-hr.component.mjs +0 -12
  712. package/esm2020/article/examples/article-lead/article-lead.component.mjs +0 -12
  713. package/esm2020/article/examples/article-link/article-link.component.mjs +0 -12
  714. package/esm2020/article/examples/article-meta/article-meta.component.mjs +0 -12
  715. package/esm2020/article/examples/article-ol/article-ol.component.mjs +0 -12
  716. package/esm2020/article/examples/article-table/article-table.component.mjs +0 -12
  717. package/esm2020/article/examples/article-ul/article-ul.component.mjs +0 -12
  718. package/esm2020/atoms/button/button.component.mjs +0 -189
  719. package/esm2020/atoms/button/button.module.mjs +0 -34
  720. package/esm2020/atoms/button/public_api.mjs +0 -3
  721. package/esm2020/atoms/container/container.component.mjs +0 -37
  722. package/esm2020/atoms/container/container.module.mjs +0 -24
  723. package/esm2020/atoms/container/public_api.mjs +0 -3
  724. package/esm2020/atoms/form/checkbox/checkbox.component.mjs +0 -142
  725. package/esm2020/atoms/form/checkbox/checkbox.module.mjs +0 -39
  726. package/esm2020/atoms/form/checkbox/cva/checkbox-cva.directive.mjs +0 -94
  727. package/esm2020/atoms/form/checkbox-set/checkbox-set.component.mjs +0 -38
  728. package/esm2020/atoms/form/error-message/error-message.component.mjs +0 -17
  729. package/esm2020/atoms/form/error-message/error-message.module.mjs +0 -20
  730. package/esm2020/atoms/form/form-field/form-field/form-field.component.mjs +0 -102
  731. package/esm2020/atoms/form/form-field/form-field.module.mjs +0 -34
  732. package/esm2020/atoms/form/form-label/form-label.directive.mjs +0 -19
  733. package/esm2020/atoms/form/form-label/form-label.module.mjs +0 -20
  734. package/esm2020/atoms/form/input/input.component.mjs +0 -59
  735. package/esm2020/atoms/form/input/input.module.mjs +0 -24
  736. package/esm2020/atoms/form/native-select/native-select.component.mjs +0 -64
  737. package/esm2020/atoms/form/native-select/native-select.module.mjs +0 -24
  738. package/esm2020/atoms/form/quantity-field/quantity-field.component.mjs +0 -134
  739. package/esm2020/atoms/form/quantity-field/quantity-field.module.mjs +0 -46
  740. package/esm2020/atoms/form/quantity-field/quantity-input/quantity-input.component.mjs +0 -97
  741. package/esm2020/atoms/form/quantity-field/quantity-select/quantity-select.component.mjs +0 -84
  742. package/esm2020/atoms/form/radio/cva/radio-cva.directive.mjs +0 -89
  743. package/esm2020/atoms/form/radio/radio.component.mjs +0 -132
  744. package/esm2020/atoms/form/radio/radio.module.mjs +0 -34
  745. package/esm2020/atoms/form/radio/registry/radio-registry.mjs +0 -54
  746. package/esm2020/atoms/form/radio-set/radio-set.component.mjs +0 -22
  747. package/esm2020/atoms/image/image.component.mjs +0 -125
  748. package/esm2020/atoms/image/image.module.mjs +0 -24
  749. package/esm2020/atoms/image/public_api.mjs +0 -3
  750. package/esm2020/atoms/loading-icon/loading-icon.component.mjs +0 -52
  751. package/esm2020/atoms/loading-icon/loading-icon.module.mjs +0 -24
  752. package/esm2020/atoms/loading-icon/public_api.mjs +0 -3
  753. package/esm2020/atoms/progress-indicator/progress-indicator.component.mjs +0 -81
  754. package/esm2020/atoms/progress-indicator/progress-indicator.module.mjs +0 -20
  755. package/esm2020/button/examples/basic-button/basic-button.component.mjs +0 -18
  756. package/esm2020/button/examples/basic-button/basic-button.module.mjs +0 -28
  757. package/esm2020/button/examples/flat-button/flat-button.component.mjs +0 -18
  758. package/esm2020/button/examples/flat-button/flat-button.module.mjs +0 -28
  759. package/esm2020/button/examples/icon-button/icon-button.component.mjs +0 -17
  760. package/esm2020/button/examples/icon-button/icon-button.module.mjs +0 -28
  761. package/esm2020/button/examples/raised-button/raised-button.component.mjs +0 -18
  762. package/esm2020/button/examples/raised-button/raised-button.module.mjs +0 -28
  763. package/esm2020/button/examples/sizeable-button/sizeable-button.component.mjs +0 -17
  764. package/esm2020/button/examples/sizeable-button/sizeable-button.module.mjs +0 -28
  765. package/esm2020/button/examples/statusable-button/statusable-button.component.mjs +0 -19
  766. package/esm2020/button/examples/statusable-button/statusable-button.module.mjs +0 -28
  767. package/esm2020/button/examples/stroked-button/stroked-button.component.mjs +0 -18
  768. package/esm2020/button/examples/stroked-button/stroked-button.module.mjs +0 -28
  769. package/esm2020/button/examples/underline-button/underline-button.component.mjs +0 -18
  770. package/esm2020/button/examples/underline-button/underline-button.module.mjs +0 -28
  771. package/esm2020/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +0 -27
  772. package/esm2020/callout/examples/callout-text-alignment/callout-text-alignment.module.mjs +0 -39
  773. package/esm2020/callout/examples/callout-theming/callout-theming.component.mjs +0 -31
  774. package/esm2020/callout/examples/callout-theming/callout-theming.module.mjs +0 -36
  775. package/esm2020/callout/examples/callout-with-grid/callout-with-grid.component.mjs +0 -17
  776. package/esm2020/callout/examples/callout-with-grid/callout-with-grid.module.mjs +0 -39
  777. package/esm2020/callout/examples/compact-callout/compact-callout.component.mjs +0 -17
  778. package/esm2020/callout/examples/compact-callout/compact-callout.module.mjs +0 -35
  779. package/esm2020/card/examples/basic-card/basic-card.component.mjs +0 -17
  780. package/esm2020/card/examples/basic-card/basic-card.module.mjs +0 -38
  781. package/esm2020/card/examples/card-orientation/card-orientation.component.mjs +0 -26
  782. package/esm2020/card/examples/card-orientation/card-orientation.module.mjs +0 -42
  783. package/esm2020/card/examples/card-theming/card-theming.component.mjs +0 -28
  784. package/esm2020/card/examples/card-theming/card-theming.module.mjs +0 -35
  785. package/esm2020/card/examples/linkable-card/linkable-card.component.mjs +0 -30
  786. package/esm2020/card/examples/linkable-card/linkable-card.module.mjs +0 -42
  787. package/esm2020/card/examples/raised-card/raised-card.component.mjs +0 -28
  788. package/esm2020/card/examples/raised-card/raised-card.module.mjs +0 -38
  789. package/esm2020/card/examples/stroked-card/stroked-card.component.mjs +0 -28
  790. package/esm2020/card/examples/stroked-card/stroked-card.module.mjs +0 -42
  791. package/esm2020/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +0 -26
  792. package/esm2020/checkbox/examples/basic-checkbox/basic-checkbox.module.mjs +0 -32
  793. package/esm2020/checkbox/examples/checkbox-set/checkbox-set.component.mjs +0 -28
  794. package/esm2020/checkbox/examples/checkbox-set/checkbox-set.module.mjs +0 -32
  795. package/esm2020/container/examples/container-sizes/container-sizes.component.mjs +0 -25
  796. package/esm2020/container/examples/container-sizes/container-sizes.module.mjs +0 -32
  797. package/esm2020/core/colorable/colorable-mixin.mjs +0 -42
  798. package/esm2020/core/compactable/compactable-mixin.mjs +0 -26
  799. package/esm2020/core/focus/stack.service.mjs +0 -71
  800. package/esm2020/core/prefix-suffix/prefix-suffix.module.mjs +0 -26
  801. package/esm2020/core/prefix-suffix/prefix.directive.mjs +0 -24
  802. package/esm2020/core/prefix-suffix/prefixable/prefixable.mjs +0 -23
  803. package/esm2020/core/prefix-suffix/suffix.directive.mjs +0 -24
  804. package/esm2020/core/prefix-suffix/suffixable/suffixable.mjs +0 -23
  805. package/esm2020/core/public_api.mjs +0 -17
  806. package/esm2020/core/sizeable/sizeable-mixin.mjs +0 -31
  807. package/esm2020/core/sizeable/sizeable.mjs +0 -9
  808. package/esm2020/core/skeletonable/skeletonable-mixin.mjs +0 -26
  809. package/esm2020/core/statusable/statusable-mixin.mjs +0 -32
  810. package/esm2020/core/text-alignable/text-alignable-mixin.mjs +0 -35
  811. package/esm2020/core/text-alignable/text-alignable.mjs +0 -7
  812. package/esm2020/core/theming/services/class-setter/theme-class-setter.service.mjs +0 -52
  813. package/esm2020/core/theming/services/os-theme/ostheme.service.mjs +0 -49
  814. package/esm2020/core/theming/services/storage/theme-storage.service.mjs +0 -67
  815. package/esm2020/core/theming/services/theming.service.mjs +0 -61
  816. package/esm2020/hero/examples/compact-hero/compact-hero.component.mjs +0 -17
  817. package/esm2020/hero/examples/compact-hero/compact-hero.module.mjs +0 -39
  818. package/esm2020/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +0 -27
  819. package/esm2020/hero/examples/hero-text-alignment/hero-text-alignment.module.mjs +0 -39
  820. package/esm2020/hero/examples/hero-theming/hero-theming.component.mjs +0 -21
  821. package/esm2020/hero/examples/hero-theming/hero-theming.module.mjs +0 -39
  822. package/esm2020/hero/examples/hero-with-grid/hero-with-grid.component.mjs +0 -17
  823. package/esm2020/hero/examples/hero-with-grid/hero-with-grid.module.mjs +0 -39
  824. package/esm2020/image/examples/basic-image/basic-image.component.mjs +0 -12
  825. package/esm2020/image/examples/basic-image/basic-image.module.mjs +0 -24
  826. package/esm2020/image/examples/load-image/load-image.component.mjs +0 -19
  827. package/esm2020/image/examples/load-image/load-image.module.mjs +0 -28
  828. package/esm2020/image/examples/skeleton-image/skeleton-image.component.mjs +0 -12
  829. package/esm2020/image/examples/skeleton-image/skeleton-image.module.mjs +0 -24
  830. package/esm2020/input/examples/basic-input/basic-input.component.mjs +0 -12
  831. package/esm2020/input/examples/basic-input/basic-input.module.mjs +0 -24
  832. package/esm2020/input/examples/input-disabled/input-disabled.component.mjs +0 -12
  833. package/esm2020/input/examples/input-disabled/input-disabled.module.mjs +0 -24
  834. package/esm2020/input/examples/input-error/input-error.component.mjs +0 -20
  835. package/esm2020/input/examples/input-error/input-error.module.mjs +0 -28
  836. package/esm2020/input/examples/input-with-form-field/input-with-form-field.component.mjs +0 -12
  837. package/esm2020/input/examples/input-with-form-field/input-with-form-field.module.mjs +0 -24
  838. package/esm2020/list/examples/basic-list/basic-list.component.mjs +0 -12
  839. package/esm2020/list/examples/basic-list/basic-list.module.mjs +0 -28
  840. package/esm2020/list/examples/icon-list/icon-list.component.mjs +0 -17
  841. package/esm2020/list/examples/icon-list/icon-list.module.mjs +0 -32
  842. package/esm2020/list/examples/list-examples.module.mjs +0 -33
  843. package/esm2020/list/examples/multiline-list/multiline-list.component.mjs +0 -12
  844. package/esm2020/list/examples/multiline-list/multiline-list.module.mjs +0 -32
  845. package/esm2020/list/examples/nav-list/nav-list.component.mjs +0 -17
  846. package/esm2020/list/examples/nav-list/nav-list.module.mjs +0 -32
  847. package/esm2020/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +0 -19
  848. package/esm2020/loading-icon/examples/loading-icon-color/loading-icon-color.module.mjs +0 -31
  849. package/esm2020/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +0 -12
  850. package/esm2020/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.module.mjs +0 -24
  851. package/esm2020/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +0 -12
  852. package/esm2020/media-gallery/examples/basic-media-gallery/basic-media-gallery.module.mjs +0 -28
  853. package/esm2020/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +0 -12
  854. package/esm2020/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.module.mjs +0 -28
  855. package/esm2020/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +0 -12
  856. package/esm2020/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.module.mjs +0 -28
  857. package/esm2020/menu/examples/basic-menu/basic-menu.component.mjs +0 -16
  858. package/esm2020/menu/examples/basic-menu/basic-menu.module.mjs +0 -34
  859. package/esm2020/menu/examples/basic-menu/menu-content/menu-content.component.mjs +0 -19
  860. package/esm2020/modal/examples/basic-modal/basic-modal.component.mjs +0 -20
  861. package/esm2020/modal/examples/basic-modal/basic-modal.module.mjs +0 -30
  862. package/esm2020/modal/examples/basic-modal/modal-content.component.mjs +0 -12
  863. package/esm2020/molecules/accordion/accordion/accordion.component.mjs +0 -27
  864. package/esm2020/molecules/accordion/accordion-item/accordion-item.component.mjs +0 -54
  865. package/esm2020/molecules/accordion/accordion-item-content/accordion-item-content.directive.mjs +0 -22
  866. package/esm2020/molecules/accordion/accordion-item-title/accordion-item-title.directive.mjs +0 -22
  867. package/esm2020/molecules/accordion/accordion.module.mjs +0 -52
  868. package/esm2020/molecules/accordion/animation/accordion-animation-state.mjs +0 -9
  869. package/esm2020/molecules/accordion/animation/accordion-animation.mjs +0 -18
  870. package/esm2020/molecules/accordion/nav-accordion-item/nav-accordion-item.component.mjs +0 -81
  871. package/esm2020/molecules/accordion/public_api.mjs +0 -7
  872. package/esm2020/molecules/article/article/article.component.mjs +0 -30
  873. package/esm2020/molecules/article/article-lead/article-lead.directive.mjs +0 -22
  874. package/esm2020/molecules/article/article-meta/article-meta.directive.mjs +0 -22
  875. package/esm2020/molecules/article/article-title/article-title.directive.mjs +0 -22
  876. package/esm2020/molecules/article/article.module.mjs +0 -39
  877. package/esm2020/molecules/article/public_api.mjs +0 -6
  878. package/esm2020/molecules/backdrop/backdrop/backdrop.component.mjs +0 -87
  879. package/esm2020/molecules/backdrop/backdrop.module.mjs +0 -24
  880. package/esm2020/molecules/button-set/button-set.component.mjs +0 -23
  881. package/esm2020/molecules/button-set/button-set.module.mjs +0 -20
  882. package/esm2020/molecules/callout/callout/callout.component.mjs +0 -71
  883. package/esm2020/molecules/callout/callout-body/callout-body.directive.mjs +0 -22
  884. package/esm2020/molecules/callout/callout-icon/callout-icon.directive.mjs +0 -22
  885. package/esm2020/molecules/callout/callout-subtitle/callout-subtitle.directive.mjs +0 -22
  886. package/esm2020/molecules/callout/callout-tagline/callout-tagline.directive.mjs +0 -22
  887. package/esm2020/molecules/callout/callout-title/callout-title.directive.mjs +0 -22
  888. package/esm2020/molecules/callout/callout.module.mjs +0 -49
  889. package/esm2020/molecules/callout/public_api.mjs +0 -8
  890. package/esm2020/molecules/card/card/card.component.mjs +0 -113
  891. package/esm2020/molecules/card/card-actions/card-actions.directive.mjs +0 -22
  892. package/esm2020/molecules/card/card-content/card-content.directive.mjs +0 -22
  893. package/esm2020/molecules/card/card-icon/card-icon.directive.mjs +0 -22
  894. package/esm2020/molecules/card/card-image/card-image.directive.mjs +0 -22
  895. package/esm2020/molecules/card/card-tagline/card-tagline.directive.mjs +0 -22
  896. package/esm2020/molecules/card/card-title/card-title.directive.mjs +0 -22
  897. package/esm2020/molecules/card/card.module.mjs +0 -54
  898. package/esm2020/molecules/card/public_api.mjs +0 -9
  899. package/esm2020/molecules/feature/feature/feature.component.mjs +0 -49
  900. package/esm2020/molecules/feature/feature-icon/feature-icon.directive.mjs +0 -22
  901. package/esm2020/molecules/feature/feature-subheader/feature-subheader.directive.mjs +0 -22
  902. package/esm2020/molecules/feature/feature-subtitle/feature-subtitle.directive.mjs +0 -22
  903. package/esm2020/molecules/feature/feature-title/feature-title.directive.mjs +0 -22
  904. package/esm2020/molecules/feature/feature.module.mjs +0 -44
  905. package/esm2020/molecules/hero/hero/hero.component.mjs +0 -72
  906. package/esm2020/molecules/hero/hero-body/hero-body.directive.mjs +0 -22
  907. package/esm2020/molecules/hero/hero-icon/hero-icon.directive.mjs +0 -22
  908. package/esm2020/molecules/hero/hero-subtitle/hero-subtitle.directive.mjs +0 -22
  909. package/esm2020/molecules/hero/hero-tagline/hero-tagline.directive.mjs +0 -22
  910. package/esm2020/molecules/hero/hero-title/hero-title.directive.mjs +0 -22
  911. package/esm2020/molecules/hero/hero.module.mjs +0 -49
  912. package/esm2020/molecules/hero/public_api.mjs +0 -8
  913. package/esm2020/molecules/image-gallery/gallery-image/gallery-image.component.mjs +0 -25
  914. package/esm2020/molecules/image-gallery/image-gallery/image-gallery.component.mjs +0 -15
  915. package/esm2020/molecules/image-gallery/image-gallery.module.mjs +0 -33
  916. package/esm2020/molecules/image-list/image-list.component.mjs +0 -20
  917. package/esm2020/molecules/image-list/image-list.module.mjs +0 -24
  918. package/esm2020/molecules/link-set/link-set/link-set.component.mjs +0 -37
  919. package/esm2020/molecules/link-set/link-set-heading/link-set-heading.directive.mjs +0 -25
  920. package/esm2020/molecules/link-set/link-set-item/link-set-item.component.mjs +0 -26
  921. package/esm2020/molecules/link-set/link-set-subheading/link-set-subheading.directive.mjs +0 -25
  922. package/esm2020/molecules/link-set/link-set.module.mjs +0 -39
  923. package/esm2020/molecules/link-set/public_api.mjs +0 -6
  924. package/esm2020/molecules/list/list/list.component.mjs +0 -110
  925. package/esm2020/molecules/list/list-item/list-item.component.mjs +0 -49
  926. package/esm2020/molecules/list/list-subheader/list-subheader.directive.mjs +0 -25
  927. package/esm2020/molecules/list/list.module.mjs +0 -40
  928. package/esm2020/molecules/list/public_api.mjs +0 -5
  929. package/esm2020/molecules/media-gallery/media-gallery-registration.interface.mjs +0 -2
  930. package/esm2020/molecules/media-gallery/media-gallery-token.mjs +0 -3
  931. package/esm2020/molecules/media-gallery/media-gallery.component.mjs +0 -60
  932. package/esm2020/molecules/media-gallery/media-gallery.module.mjs +0 -32
  933. package/esm2020/molecules/media-gallery/media-renderer/media-renderer.component.mjs +0 -76
  934. package/esm2020/molecules/media-gallery/public_api.mjs +0 -5
  935. package/esm2020/molecules/media-gallery/registry/media-gallery.registry.mjs +0 -97
  936. package/esm2020/molecules/media-gallery/thumbnail/thumbnail-compat.token.mjs +0 -6
  937. package/esm2020/molecules/media-gallery/thumbnail/thumbnail-registration.interface.mjs +0 -2
  938. package/esm2020/molecules/media-gallery/thumbnail/thumbnail.directive.mjs +0 -88
  939. package/esm2020/molecules/menu/helpers/create-overlay.mjs +0 -29
  940. package/esm2020/molecules/menu/helpers/public_api.mjs +0 -2
  941. package/esm2020/molecules/menu/menu/menu.component.mjs +0 -63
  942. package/esm2020/molecules/menu/menu-activator/menu-activator.component.mjs +0 -48
  943. package/esm2020/molecules/menu/menu-item/menu-item.component.mjs +0 -35
  944. package/esm2020/molecules/menu/menu.module.mjs +0 -44
  945. package/esm2020/molecules/menu/public_api.mjs +0 -7
  946. package/esm2020/molecules/menu/service/menu.service.mjs +0 -52
  947. package/esm2020/molecules/modal/animations/modal-animation-state.mjs +0 -2
  948. package/esm2020/molecules/modal/animations/modal-animation.mjs +0 -9
  949. package/esm2020/molecules/modal/modal/modal-config.mjs +0 -2
  950. package/esm2020/molecules/modal/modal/modal.component.mjs +0 -93
  951. package/esm2020/molecules/modal/modal-actions/modal-actions.component.mjs +0 -11
  952. package/esm2020/molecules/modal/modal-content/modal-content.component.mjs +0 -11
  953. package/esm2020/molecules/modal/modal-header/modal-header.component.mjs +0 -20
  954. package/esm2020/molecules/modal/modal-title/modal-title.directive.mjs +0 -22
  955. package/esm2020/molecules/modal/modal.mjs +0 -2
  956. package/esm2020/molecules/modal/modal.module.mjs +0 -50
  957. package/esm2020/molecules/modal/public_api.mjs +0 -8
  958. package/esm2020/molecules/modal/service/modal.service.mjs +0 -70
  959. package/esm2020/molecules/navbar/navbar.component.mjs +0 -51
  960. package/esm2020/molecules/navbar/navbar.module.mjs +0 -20
  961. package/esm2020/molecules/navbar/public_api.mjs +0 -3
  962. package/esm2020/molecules/paginator/paginator-errors.mjs +0 -3
  963. package/esm2020/molecules/paginator/paginator.component.mjs +0 -182
  964. package/esm2020/molecules/paginator/paginator.module.mjs +0 -36
  965. package/esm2020/molecules/paginator/public_api.mjs +0 -3
  966. package/esm2020/molecules/qty-dropdown/qty-dropdown.component.mjs +0 -115
  967. package/esm2020/molecules/qty-dropdown/qty-dropdown.module.mjs +0 -40
  968. package/esm2020/molecules/sidebar/animation/sidebar-animation-state.mjs +0 -12
  969. package/esm2020/molecules/sidebar/animation/sidebar-animation-width.mjs +0 -2
  970. package/esm2020/molecules/sidebar/animation/sidebar-animation.mjs +0 -47
  971. package/esm2020/molecules/sidebar/animation/sidebar-viewport-animation-state.mjs +0 -3
  972. package/esm2020/molecules/sidebar/helper/sidebar-mode.mjs +0 -2
  973. package/esm2020/molecules/sidebar/helper/sidebar-side.mjs +0 -2
  974. package/esm2020/molecules/sidebar/public_api.mjs +0 -4
  975. package/esm2020/molecules/sidebar/sidebar/sidebar.component.mjs +0 -96
  976. package/esm2020/molecules/sidebar/sidebar-viewport/backdrop-interactable.mjs +0 -5
  977. package/esm2020/molecules/sidebar/sidebar-viewport/content-pad.mjs +0 -17
  978. package/esm2020/molecules/sidebar/sidebar-viewport/content-shift.mjs +0 -21
  979. package/esm2020/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +0 -123
  980. package/esm2020/molecules/sidebar/sidebar.module.mjs +0 -37
  981. package/esm2020/navbar/examples/basic-navbar/basic-navbar.component.mjs +0 -12
  982. package/esm2020/navbar/examples/basic-navbar/basic-navbar.module.mjs +0 -31
  983. package/esm2020/navbar/examples/contained-navbar/contained-navbar.component.mjs +0 -12
  984. package/esm2020/navbar/examples/contained-navbar/contained-navbar.module.mjs +0 -31
  985. package/esm2020/navbar/examples/navbar-theming/navbar-theming.component.mjs +0 -28
  986. package/esm2020/navbar/examples/navbar-theming/navbar-theming.module.mjs +0 -32
  987. package/esm2020/navbar/examples/raised-navbar/raised-navbar.component.mjs +0 -12
  988. package/esm2020/navbar/examples/raised-navbar/raised-navbar.module.mjs +0 -28
  989. package/esm2020/notification/examples/default-notification/default-notification.component.mjs +0 -18
  990. package/esm2020/notification/examples/default-notification/default-notification.module.mjs +0 -36
  991. package/esm2020/notification/examples/dismissable-notification/dismissable-notification.component.mjs +0 -18
  992. package/esm2020/notification/examples/dismissable-notification/dismissable-notification.module.mjs +0 -36
  993. package/esm2020/notification/examples/notification-orientations/notification-orientations.component.mjs +0 -23
  994. package/esm2020/notification/examples/notification-orientations/notification-orientations.module.mjs +0 -40
  995. package/esm2020/notification/examples/notification-status/notification-status.component.mjs +0 -24
  996. package/esm2020/notification/examples/notification-status/notification-status.module.mjs +0 -40
  997. package/esm2020/notification/notification/notification.component.mjs +0 -95
  998. package/esm2020/notification/notification-actions/notification-actions.directive.mjs +0 -19
  999. package/esm2020/notification/notification-message/notification-message.directive.mjs +0 -19
  1000. package/esm2020/notification/notification-subtitle/notification-subtitle.directive.mjs +0 -19
  1001. package/esm2020/notification/notification-title/notification-title.directive.mjs +0 -19
  1002. package/esm2020/notification/notification.module.mjs +0 -54
  1003. package/esm2020/paginator/examples/basic-paginator/basic-paginator.component.mjs +0 -19
  1004. package/esm2020/paginator/examples/link-paginator/link-paginator.component.mjs +0 -26
  1005. package/esm2020/paginator/examples/paginator-examples.module.mjs +0 -27
  1006. package/esm2020/public_api.mjs +0 -43
  1007. package/esm2020/quantity-field/examples/basic-quantity-field/basic-quantity-field.component.mjs +0 -17
  1008. package/esm2020/quantity-field/examples/basic-quantity-field/basic-quantity-field.module.mjs +0 -35
  1009. package/esm2020/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.component.mjs +0 -17
  1010. package/esm2020/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.module.mjs +0 -35
  1011. package/esm2020/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.component.mjs +0 -17
  1012. package/esm2020/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.module.mjs +0 -35
  1013. package/esm2020/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.component.mjs +0 -17
  1014. package/esm2020/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.module.mjs +0 -35
  1015. package/esm2020/radio/examples/basic-radio/basic-radio.component.mjs +0 -21
  1016. package/esm2020/radio/examples/basic-radio/basic-radio.module.mjs +0 -29
  1017. package/esm2020/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +0 -12
  1018. package/esm2020/sidebar/examples/basic-sidebar/basic-sidebar.module.mjs +0 -27
  1019. package/esm2020/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.component.mjs +0 -21
  1020. package/esm2020/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.module.mjs +0 -30
  1021. package/esm2020/sidebar/examples/public_api.mjs +0 -18
  1022. package/esm2020/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.component.mjs +0 -12
  1023. package/esm2020/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.module.mjs +0 -27
  1024. package/esm2020/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.component.mjs +0 -12
  1025. package/esm2020/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.module.mjs +0 -27
  1026. package/esm2020/sidebar/examples/under-sidebar/under-sidebar.component.mjs +0 -26
  1027. package/esm2020/sidebar/examples/under-sidebar/under-sidebar.module.mjs +0 -30
  1028. package/esm2020/tree/examples/basic-tree/basic-tree.component.mjs +0 -39
  1029. package/esm2020/tree/examples/basic-tree/basic-tree.module.mjs +0 -32
  1030. package/esm2020/tree/tree/tree-notifier.service.mjs +0 -45
  1031. package/esm2020/tree/tree/tree.component.mjs +0 -106
  1032. package/esm2020/tree/tree-item/tree-item.directive.mjs +0 -154
  1033. package/esm2020/tree/tree.module.mjs +0 -29
  1034. package/fesm2015/daffodil-design-accordion-examples.mjs +0 -74
  1035. package/fesm2015/daffodil-design-accordion-examples.mjs.map +0 -1
  1036. package/fesm2015/daffodil-design-article-examples.mjs +0 -145
  1037. package/fesm2015/daffodil-design-article-examples.mjs.map +0 -1
  1038. package/fesm2015/daffodil-design-button-examples.mjs +0 -312
  1039. package/fesm2015/daffodil-design-button-examples.mjs.map +0 -1
  1040. package/fesm2015/daffodil-design-callout-examples.mjs +0 -213
  1041. package/fesm2015/daffodil-design-callout-examples.mjs.map +0 -1
  1042. package/fesm2015/daffodil-design-card-examples.mjs +0 -346
  1043. package/fesm2015/daffodil-design-card-examples.mjs.map +0 -1
  1044. package/fesm2015/daffodil-design-checkbox-examples.mjs +0 -119
  1045. package/fesm2015/daffodil-design-checkbox-examples.mjs.map +0 -1
  1046. package/fesm2015/daffodil-design-container-examples.mjs +0 -64
  1047. package/fesm2015/daffodil-design-container-examples.mjs.map +0 -1
  1048. package/fesm2015/daffodil-design-hero-examples.mjs +0 -210
  1049. package/fesm2015/daffodil-design-hero-examples.mjs.map +0 -1
  1050. package/fesm2015/daffodil-design-image-examples.mjs +0 -115
  1051. package/fesm2015/daffodil-design-image-examples.mjs.map +0 -1
  1052. package/fesm2015/daffodil-design-input-examples.mjs +0 -145
  1053. package/fesm2015/daffodil-design-input-examples.mjs.map +0 -1
  1054. package/fesm2015/daffodil-design-list-examples.mjs +0 -191
  1055. package/fesm2015/daffodil-design-list-examples.mjs.map +0 -1
  1056. package/fesm2015/daffodil-design-loading-icon-examples.mjs +0 -87
  1057. package/fesm2015/daffodil-design-loading-icon-examples.mjs.map +0 -1
  1058. package/fesm2015/daffodil-design-media-gallery-examples.mjs +0 -116
  1059. package/fesm2015/daffodil-design-media-gallery-examples.mjs.map +0 -1
  1060. package/fesm2015/daffodil-design-menu-examples.mjs +0 -72
  1061. package/fesm2015/daffodil-design-menu-examples.mjs.map +0 -1
  1062. package/fesm2015/daffodil-design-modal-examples.mjs +0 -64
  1063. package/fesm2015/daffodil-design-modal-examples.mjs.map +0 -1
  1064. package/fesm2015/daffodil-design-navbar-examples.mjs +0 -172
  1065. package/fesm2015/daffodil-design-navbar-examples.mjs.map +0 -1
  1066. package/fesm2015/daffodil-design-notification-examples.mjs +0 -203
  1067. package/fesm2015/daffodil-design-notification-examples.mjs.map +0 -1
  1068. package/fesm2015/daffodil-design-notification.mjs +0 -216
  1069. package/fesm2015/daffodil-design-notification.mjs.map +0 -1
  1070. package/fesm2015/daffodil-design-paginator-examples.mjs +0 -75
  1071. package/fesm2015/daffodil-design-paginator-examples.mjs.map +0 -1
  1072. package/fesm2015/daffodil-design-quantity-field-examples.mjs +0 -185
  1073. package/fesm2015/daffodil-design-quantity-field-examples.mjs.map +0 -1
  1074. package/fesm2015/daffodil-design-radio-examples.mjs +0 -60
  1075. package/fesm2015/daffodil-design-radio-examples.mjs.map +0 -1
  1076. package/fesm2015/daffodil-design-sidebar-examples.mjs +0 -208
  1077. package/fesm2015/daffodil-design-sidebar-examples.mjs.map +0 -1
  1078. package/fesm2015/daffodil-design-tree-examples.mjs +0 -79
  1079. package/fesm2015/daffodil-design-tree-examples.mjs.map +0 -1
  1080. package/fesm2015/daffodil-design-tree.mjs +0 -441
  1081. package/fesm2015/daffodil-design-tree.mjs.map +0 -1
  1082. package/fesm2015/daffodil-design.mjs +0 -5979
  1083. package/fesm2015/daffodil-design.mjs.map +0 -1
  1084. package/fesm2020/daffodil-design-accordion-examples.mjs +0 -74
  1085. package/fesm2020/daffodil-design-accordion-examples.mjs.map +0 -1
  1086. package/fesm2020/daffodil-design-article-examples.mjs +0 -145
  1087. package/fesm2020/daffodil-design-article-examples.mjs.map +0 -1
  1088. package/fesm2020/daffodil-design-button-examples.mjs +0 -312
  1089. package/fesm2020/daffodil-design-button-examples.mjs.map +0 -1
  1090. package/fesm2020/daffodil-design-callout-examples.mjs +0 -213
  1091. package/fesm2020/daffodil-design-callout-examples.mjs.map +0 -1
  1092. package/fesm2020/daffodil-design-card-examples.mjs +0 -346
  1093. package/fesm2020/daffodil-design-card-examples.mjs.map +0 -1
  1094. package/fesm2020/daffodil-design-checkbox-examples.mjs +0 -119
  1095. package/fesm2020/daffodil-design-checkbox-examples.mjs.map +0 -1
  1096. package/fesm2020/daffodil-design-container-examples.mjs +0 -64
  1097. package/fesm2020/daffodil-design-container-examples.mjs.map +0 -1
  1098. package/fesm2020/daffodil-design-hero-examples.mjs +0 -210
  1099. package/fesm2020/daffodil-design-hero-examples.mjs.map +0 -1
  1100. package/fesm2020/daffodil-design-image-examples.mjs +0 -115
  1101. package/fesm2020/daffodil-design-image-examples.mjs.map +0 -1
  1102. package/fesm2020/daffodil-design-input-examples.mjs +0 -145
  1103. package/fesm2020/daffodil-design-input-examples.mjs.map +0 -1
  1104. package/fesm2020/daffodil-design-list-examples.mjs +0 -191
  1105. package/fesm2020/daffodil-design-list-examples.mjs.map +0 -1
  1106. package/fesm2020/daffodil-design-loading-icon-examples.mjs +0 -87
  1107. package/fesm2020/daffodil-design-loading-icon-examples.mjs.map +0 -1
  1108. package/fesm2020/daffodil-design-media-gallery-examples.mjs +0 -116
  1109. package/fesm2020/daffodil-design-media-gallery-examples.mjs.map +0 -1
  1110. package/fesm2020/daffodil-design-menu-examples.mjs +0 -72
  1111. package/fesm2020/daffodil-design-menu-examples.mjs.map +0 -1
  1112. package/fesm2020/daffodil-design-modal-examples.mjs +0 -64
  1113. package/fesm2020/daffodil-design-modal-examples.mjs.map +0 -1
  1114. package/fesm2020/daffodil-design-navbar-examples.mjs +0 -172
  1115. package/fesm2020/daffodil-design-navbar-examples.mjs.map +0 -1
  1116. package/fesm2020/daffodil-design-notification-examples.mjs +0 -203
  1117. package/fesm2020/daffodil-design-notification-examples.mjs.map +0 -1
  1118. package/fesm2020/daffodil-design-notification.mjs +0 -216
  1119. package/fesm2020/daffodil-design-notification.mjs.map +0 -1
  1120. package/fesm2020/daffodil-design-paginator-examples.mjs +0 -75
  1121. package/fesm2020/daffodil-design-paginator-examples.mjs.map +0 -1
  1122. package/fesm2020/daffodil-design-quantity-field-examples.mjs +0 -185
  1123. package/fesm2020/daffodil-design-quantity-field-examples.mjs.map +0 -1
  1124. package/fesm2020/daffodil-design-radio-examples.mjs +0 -60
  1125. package/fesm2020/daffodil-design-radio-examples.mjs.map +0 -1
  1126. package/fesm2020/daffodil-design-sidebar-examples.mjs +0 -208
  1127. package/fesm2020/daffodil-design-sidebar-examples.mjs.map +0 -1
  1128. package/fesm2020/daffodil-design-tree-examples.mjs +0 -79
  1129. package/fesm2020/daffodil-design-tree-examples.mjs.map +0 -1
  1130. package/fesm2020/daffodil-design-tree.mjs +0 -446
  1131. package/fesm2020/daffodil-design-tree.mjs.map +0 -1
  1132. package/fesm2020/daffodil-design.mjs +0 -5966
  1133. package/fesm2020/daffodil-design.mjs.map +0 -1
  1134. package/molecules/accordion/accordion/accordion.component.d.ts +0 -24
  1135. package/molecules/accordion/accordion-item/accordion-item.component.d.ts +0 -32
  1136. package/molecules/accordion/accordion.module.d.ts +0 -14
  1137. package/molecules/accordion/nav-accordion-item/nav-accordion-item.component.d.ts +0 -44
  1138. package/molecules/accordion/public_api.d.ts +0 -6
  1139. package/molecules/callout/callout/callout.component.d.ts +0 -90
  1140. package/molecules/card/card/card.component.d.ts +0 -70
  1141. package/molecules/hero/hero/hero.component.d.ts +0 -91
  1142. package/molecules/link-set/link-set/link-set.component.d.ts +0 -31
  1143. package/molecules/list/list/list.component.d.ts +0 -73
  1144. package/molecules/list/list-item/list-item.component.d.ts +0 -30
  1145. package/molecules/list/list.module.d.ts +0 -11
  1146. package/molecules/media-gallery/media-gallery.component.d.ts +0 -45
  1147. package/molecules/media-gallery/media-gallery.module.d.ts +0 -10
  1148. package/molecules/media-gallery/media-renderer/media-renderer.component.d.ts +0 -29
  1149. package/molecules/media-gallery/public_api.d.ts +0 -4
  1150. package/molecules/media-gallery/registry/media-gallery.registry.d.ts +0 -34
  1151. package/molecules/media-gallery/thumbnail/thumbnail-registration.interface.d.ts +0 -9
  1152. package/molecules/media-gallery/thumbnail/thumbnail.directive.d.ts +0 -44
  1153. package/molecules/menu/menu/menu.component.d.ts +0 -19
  1154. package/molecules/menu/menu-activator/menu-activator.component.d.ts +0 -18
  1155. package/molecules/menu/menu-item/menu-item.component.d.ts +0 -20
  1156. package/molecules/menu/public_api.d.ts +0 -6
  1157. package/molecules/menu/service/menu.service.d.ts +0 -24
  1158. package/molecules/modal/animations/modal-animation-state.d.ts +0 -1
  1159. package/molecules/modal/modal/modal.component.d.ts +0 -52
  1160. package/molecules/modal/modal.d.ts +0 -13
  1161. package/molecules/modal/public_api.d.ts +0 -8
  1162. package/molecules/modal/service/modal.service.d.ts +0 -19
  1163. package/molecules/navbar/navbar.component.d.ts +0 -44
  1164. package/molecules/navbar/navbar.module.d.ts +0 -7
  1165. package/molecules/navbar/public_api.d.ts +0 -2
  1166. package/molecules/paginator/paginator.component.d.ts +0 -147
  1167. package/molecules/paginator/paginator.module.d.ts +0 -11
  1168. package/molecules/paginator/public_api.d.ts +0 -2
  1169. package/molecules/sidebar/animation/sidebar-animation-state.d.ts +0 -2
  1170. package/molecules/sidebar/animation/sidebar-animation.d.ts +0 -11
  1171. package/molecules/sidebar/animation/sidebar-viewport-animation-state.d.ts +0 -6
  1172. package/molecules/sidebar/helper/sidebar-mode.d.ts +0 -27
  1173. package/molecules/sidebar/helper/sidebar-side.d.ts +0 -12
  1174. package/molecules/sidebar/public_api.d.ts +0 -5
  1175. package/molecules/sidebar/sidebar/sidebar.component.d.ts +0 -52
  1176. package/molecules/sidebar/sidebar-viewport/backdrop-interactable.d.ts +0 -6
  1177. package/molecules/sidebar/sidebar-viewport/content-pad.d.ts +0 -7
  1178. package/molecules/sidebar/sidebar-viewport/content-shift.d.ts +0 -8
  1179. package/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +0 -75
  1180. package/molecules/sidebar/sidebar.module.d.ts +0 -11
  1181. package/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.component.d.ts +0 -8
  1182. package/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.module.d.ts +0 -8
  1183. package/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.component.d.ts +0 -5
  1184. package/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.module.d.ts +0 -8
  1185. package/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.component.d.ts +0 -5
  1186. package/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.module.d.ts +0 -8
  1187. package/sidebar/examples/under-sidebar/under-sidebar.component.d.ts +0 -10
  1188. package/sidebar/examples/under-sidebar/under-sidebar.module.d.ts +0 -8
  1189. package/src/atoms/button/button-theme-variants/button.scss +0 -26
  1190. package/src/atoms/button/button-theme-variants/flat.scss +0 -25
  1191. package/src/atoms/button/button-theme-variants/raised.scss +0 -36
  1192. package/src/atoms/button/button-theme-variants/stroked.scss +0 -28
  1193. package/src/atoms/button/button-theme.scss +0 -574
  1194. package/src/atoms/loading-icon/loading-icon-theme.scss +0 -61
  1195. package/src/molecules/accordion/accordion-item/accordion-item-theme.scss +0 -12
  1196. package/src/molecules/article/article/article-theme.scss +0 -78
  1197. package/src/molecules/callout/callout-theme.scss +0 -59
  1198. package/src/molecules/card/card/card-theme-variants/basic-card.scss +0 -6
  1199. package/src/molecules/card/card/card-theme-variants/linkable-card.scss +0 -16
  1200. package/src/molecules/card/card/card-theme.scss +0 -170
  1201. package/src/molecules/hero/hero-theme.scss +0 -59
  1202. package/src/molecules/list/list/list-theme.scss +0 -71
  1203. package/src/molecules/media-gallery/media-gallery-theme.scss +0 -27
  1204. package/src/molecules/menu/menu-theme.scss +0 -25
  1205. package/src/molecules/modal/modal-theme.scss +0 -9
  1206. package/src/molecules/navbar/navbar-theme.scss +0 -57
  1207. package/src/molecules/paginator/paginator-theme.scss +0 -90
  1208. package/src/molecules/sidebar/helper/_variables.scss +0 -7
  1209. package/src/molecules/sidebar/sidebar/sidebar-theme.scss +0 -13
  1210. package/src/molecules/sidebar/sidebar-viewport/sidebar-viewport-theme.scss +0 -16
  1211. /package/{molecules → accordion}/accordion/accordion-item-content/accordion-item-content.directive.d.ts +0 -0
  1212. /package/{molecules → accordion}/accordion/accordion-item-title/accordion-item-title.directive.d.ts +0 -0
  1213. /package/{molecules → accordion}/accordion/animation/accordion-animation-state.d.ts +0 -0
  1214. /package/{molecules → accordion}/accordion/animation/accordion-animation.d.ts +0 -0
  1215. /package/{molecules/article → article}/article/article.component.d.ts +0 -0
  1216. /package/{molecules/article → article}/article-lead/article-lead.directive.d.ts +0 -0
  1217. /package/{molecules/article → article}/article-meta/article-meta.directive.d.ts +0 -0
  1218. /package/{molecules/article → article}/article-title/article-title.directive.d.ts +0 -0
  1219. /package/{molecules/article → article}/article.module.d.ts +0 -0
  1220. /package/{molecules/article → article}/public_api.d.ts +0 -0
  1221. /package/{src/molecules/article → article/src}/article/_stops-article-cascade.scss +0 -0
  1222. /package/{src/atoms/button → button/src}/button-theme-variants/icon.scss +0 -0
  1223. /package/{src/atoms/button → button/src}/button-theme-variants/underline.scss +0 -0
  1224. /package/{molecules/callout → callout}/callout-body/callout-body.directive.d.ts +0 -0
  1225. /package/{molecules/callout → callout}/callout-icon/callout-icon.directive.d.ts +0 -0
  1226. /package/{molecules/callout → callout}/callout-subtitle/callout-subtitle.directive.d.ts +0 -0
  1227. /package/{molecules/callout → callout}/callout-tagline/callout-tagline.directive.d.ts +0 -0
  1228. /package/{molecules/callout → callout}/callout-title/callout-title.directive.d.ts +0 -0
  1229. /package/{molecules/callout → callout}/callout.module.d.ts +0 -0
  1230. /package/{molecules/callout → callout}/public_api.d.ts +0 -0
  1231. /package/{molecules/card → card}/card-actions/card-actions.directive.d.ts +0 -0
  1232. /package/{molecules/card → card}/card-content/card-content.directive.d.ts +0 -0
  1233. /package/{molecules/card → card}/card-icon/card-icon.directive.d.ts +0 -0
  1234. /package/{molecules/card → card}/card-image/card-image.directive.d.ts +0 -0
  1235. /package/{molecules/card → card}/card-tagline/card-tagline.directive.d.ts +0 -0
  1236. /package/{molecules/card → card}/card-title/card-title.directive.d.ts +0 -0
  1237. /package/{molecules/card → card}/card.module.d.ts +0 -0
  1238. /package/{molecules/card → card}/public_api.d.ts +0 -0
  1239. /package/{src/molecules/card/card → card/src}/card-theme-variants/stroked-card.scss +0 -0
  1240. /package/{esm2020 → esm2022}/accordion/examples/daffodil-design-accordion-examples.mjs +0 -0
  1241. /package/{esm2020 → esm2022}/accordion/examples/index.mjs +0 -0
  1242. /package/{esm2020 → esm2022}/article/examples/daffodil-design-article-examples.mjs +0 -0
  1243. /package/{esm2020 → esm2022}/article/examples/examples.mjs +0 -0
  1244. /package/{esm2020 → esm2022}/article/examples/index.mjs +0 -0
  1245. /package/{esm2020 → esm2022}/article/examples/public_api.mjs +0 -0
  1246. /package/{esm2020 → esm2022}/atoms/form/checkbox/public_api.mjs +0 -0
  1247. /package/{esm2020 → esm2022}/atoms/form/core/error-state-matcher/error-state-matcher.mjs +0 -0
  1248. /package/{esm2020 → esm2022}/atoms/form/core/public_api.mjs +0 -0
  1249. /package/{esm2020 → esm2022}/atoms/form/error-message/public_api.mjs +0 -0
  1250. /package/{esm2020 → esm2022}/atoms/form/form-field/form-field-control.mjs +0 -0
  1251. /package/{esm2020 → esm2022}/atoms/form/form-field/form-field-errors.mjs +0 -0
  1252. /package/{esm2020 → esm2022}/atoms/form/form-field/public_api.mjs +0 -0
  1253. /package/{esm2020 → esm2022}/atoms/form/form-label/public_api.mjs +0 -0
  1254. /package/{esm2020 → esm2022}/atoms/form/input/public_api.mjs +0 -0
  1255. /package/{esm2020 → esm2022}/atoms/form/native-select/public_api.mjs +0 -0
  1256. /package/{esm2020 → esm2022}/atoms/form/quantity-field/public_api.mjs +0 -0
  1257. /package/{esm2020 → esm2022}/atoms/form/radio/public_api.mjs +0 -0
  1258. /package/{esm2020 → esm2022}/atoms/progress-indicator/animation/progress-indicator-animation.mjs +0 -0
  1259. /package/{esm2020 → esm2022}/atoms/progress-indicator/public_api.mjs +0 -0
  1260. /package/{esm2020 → esm2022}/button/examples/daffodil-design-button-examples.mjs +0 -0
  1261. /package/{esm2020 → esm2022}/button/examples/examples.mjs +0 -0
  1262. /package/{esm2020 → esm2022}/button/examples/index.mjs +0 -0
  1263. /package/{esm2020 → esm2022}/button/examples/public_api.mjs +0 -0
  1264. /package/{esm2020 → esm2022}/callout/examples/daffodil-design-callout-examples.mjs +0 -0
  1265. /package/{esm2020 → esm2022}/callout/examples/examples.mjs +0 -0
  1266. /package/{esm2020 → esm2022}/callout/examples/index.mjs +0 -0
  1267. /package/{esm2020 → esm2022}/callout/examples/public_api.mjs +0 -0
  1268. /package/{esm2020 → esm2022}/card/examples/daffodil-design-card-examples.mjs +0 -0
  1269. /package/{esm2020 → esm2022}/card/examples/index.mjs +0 -0
  1270. /package/{esm2020 → esm2022}/card/examples/public_api.mjs +0 -0
  1271. /package/{esm2020 → esm2022}/checkbox/examples/daffodil-design-checkbox-examples.mjs +0 -0
  1272. /package/{esm2020 → esm2022}/checkbox/examples/examples.mjs +0 -0
  1273. /package/{esm2020 → esm2022}/checkbox/examples/index.mjs +0 -0
  1274. /package/{esm2020 → esm2022}/checkbox/examples/public_api.mjs +0 -0
  1275. /package/{esm2020 → esm2022}/container/examples/daffodil-design-container-examples.mjs +0 -0
  1276. /package/{esm2020 → esm2022}/container/examples/examples.mjs +0 -0
  1277. /package/{esm2020 → esm2022}/container/examples/index.mjs +0 -0
  1278. /package/{esm2020 → esm2022}/container/examples/public_api.mjs +0 -0
  1279. /package/{esm2020 → esm2022}/core/animation/animation-state-with-params.mjs +0 -0
  1280. /package/{esm2020 → esm2022}/core/article-encapsulated/article-encapsulated-mixin.mjs +0 -0
  1281. /package/{esm2020 → esm2022}/core/article-encapsulated/public_api.mjs +0 -0
  1282. /package/{esm2020 → esm2022}/core/breakpoints/breakpoints.mjs +0 -0
  1283. /package/{esm2020 → esm2022}/core/colorable/color-in-palette.mjs +0 -0
  1284. /package/{esm2020 → esm2022}/core/colorable/colorable-enum.mjs +0 -0
  1285. /package/{esm2020 → esm2022}/core/colorable/colorable.mjs +0 -0
  1286. /package/{esm2020 → esm2022}/core/colorable/public_api.mjs +0 -0
  1287. /package/{esm2020 → esm2022}/core/compactable/compactable.mjs +0 -0
  1288. /package/{esm2020 → esm2022}/core/compactable/public_api.mjs +0 -0
  1289. /package/{esm2020 → esm2022}/core/constructor/constructor.mjs +0 -0
  1290. /package/{esm2020 → esm2022}/core/focus/focusable-elements.mjs +0 -0
  1291. /package/{esm2020 → esm2022}/core/focus/public_api.mjs +0 -0
  1292. /package/{esm2020 → esm2022}/core/lazy/lazy-component.mjs +0 -0
  1293. /package/{esm2020 → esm2022}/core/lazy/public_api.mjs +0 -0
  1294. /package/{esm2020 → esm2022}/core/manage-container-layout/manage-container-layout-mixin.mjs +0 -0
  1295. /package/{esm2020 → esm2022}/core/manage-container-layout/public_api.mjs +0 -0
  1296. /package/{esm2020 → esm2022}/core/mutable/mutable.mjs +0 -0
  1297. /package/{esm2020 → esm2022}/core/prefix-suffix/prefixable/prefixable-interface.mjs +0 -0
  1298. /package/{esm2020 → esm2022}/core/prefix-suffix/public_api.mjs +0 -0
  1299. /package/{esm2020 → esm2022}/core/prefix-suffix/suffixable/suffixable-interface.mjs +0 -0
  1300. /package/{esm2020 → esm2022}/core/skeletonable/public_api.mjs +0 -0
  1301. /package/{esm2020 → esm2022}/core/skeletonable/skeletonable.mjs +0 -0
  1302. /package/{esm2020 → esm2022}/core/statusable/public_api.mjs +0 -0
  1303. /package/{esm2020 → esm2022}/core/statusable/statusable.mjs +0 -0
  1304. /package/{esm2020 → esm2022}/core/theming/functions/computer.mjs +0 -0
  1305. /package/{esm2020 → esm2022}/core/theming/initializer.mjs +0 -0
  1306. /package/{esm2020 → esm2022}/core/theming/public_api.mjs +0 -0
  1307. /package/{esm2020 → esm2022}/core/theming/types/theme.mjs +0 -0
  1308. /package/{esm2020 → esm2022}/daffodil-design.mjs +0 -0
  1309. /package/{esm2020 → esm2022}/examples/examples.mjs +0 -0
  1310. /package/{esm2020 → esm2022}/examples/public_api.mjs +0 -0
  1311. /package/{esm2020 → esm2022}/hero/examples/daffodil-design-hero-examples.mjs +0 -0
  1312. /package/{esm2020 → esm2022}/hero/examples/examples.mjs +0 -0
  1313. /package/{esm2020 → esm2022}/hero/examples/index.mjs +0 -0
  1314. /package/{esm2020 → esm2022}/hero/examples/public_api.mjs +0 -0
  1315. /package/{esm2020 → esm2022}/image/examples/daffodil-design-image-examples.mjs +0 -0
  1316. /package/{esm2020 → esm2022}/image/examples/index.mjs +0 -0
  1317. /package/{esm2020 → esm2022}/image/examples/public_api.mjs +0 -0
  1318. /package/{esm2020 → esm2022}/input/examples/daffodil-design-input-examples.mjs +0 -0
  1319. /package/{esm2020 → esm2022}/input/examples/examples.mjs +0 -0
  1320. /package/{esm2020 → esm2022}/input/examples/index.mjs +0 -0
  1321. /package/{esm2020 → esm2022}/input/examples/public_api.mjs +0 -0
  1322. /package/{esm2020 → esm2022}/list/examples/daffodil-design-list-examples.mjs +0 -0
  1323. /package/{esm2020 → esm2022}/list/examples/examples.mjs +0 -0
  1324. /package/{esm2020 → esm2022}/list/examples/index.mjs +0 -0
  1325. /package/{esm2020 → esm2022}/list/examples/public_api.mjs +0 -0
  1326. /package/{esm2020 → esm2022}/loading-icon/examples/daffodil-design-loading-icon-examples.mjs +0 -0
  1327. /package/{esm2020 → esm2022}/loading-icon/examples/examples.mjs +0 -0
  1328. /package/{esm2020 → esm2022}/loading-icon/examples/index.mjs +0 -0
  1329. /package/{esm2020 → esm2022}/loading-icon/examples/public_api.mjs +0 -0
  1330. /package/{esm2020 → esm2022}/media-gallery/examples/daffodil-design-media-gallery-examples.mjs +0 -0
  1331. /package/{esm2020 → esm2022}/media-gallery/examples/examples.mjs +0 -0
  1332. /package/{esm2020 → esm2022}/media-gallery/examples/index.mjs +0 -0
  1333. /package/{esm2020 → esm2022}/media-gallery/examples/public_api.mjs +0 -0
  1334. /package/{esm2020 → esm2022}/menu/examples/daffodil-design-menu-examples.mjs +0 -0
  1335. /package/{esm2020 → esm2022}/menu/examples/index.mjs +0 -0
  1336. /package/{esm2020 → esm2022}/menu/examples/public_api.mjs +0 -0
  1337. /package/{esm2020 → esm2022}/modal/examples/daffodil-design-modal-examples.mjs +0 -0
  1338. /package/{esm2020 → esm2022}/modal/examples/index.mjs +0 -0
  1339. /package/{esm2020 → esm2022}/modal/examples/public_api.mjs +0 -0
  1340. /package/{esm2020 → esm2022}/molecules/backdrop/animation/backdrop-animation-state.mjs +0 -0
  1341. /package/{esm2020 → esm2022}/molecules/backdrop/animation/backdrop-animation.mjs +0 -0
  1342. /package/{esm2020 → esm2022}/molecules/backdrop/public_api.mjs +0 -0
  1343. /package/{esm2020 → esm2022}/molecules/button-set/public_api.mjs +0 -0
  1344. /package/{esm2020 → esm2022}/molecules/feature/public_api.mjs +0 -0
  1345. /package/{esm2020 → esm2022}/molecules/image-gallery/public_api.mjs +0 -0
  1346. /package/{esm2020 → esm2022}/molecules/image-list/public_api.mjs +0 -0
  1347. /package/{esm2020 → esm2022}/molecules/qty-dropdown/public_api.mjs +0 -0
  1348. /package/{esm2020 → esm2022}/navbar/examples/daffodil-design-navbar-examples.mjs +0 -0
  1349. /package/{esm2020 → esm2022}/navbar/examples/examples.mjs +0 -0
  1350. /package/{esm2020 → esm2022}/navbar/examples/index.mjs +0 -0
  1351. /package/{esm2020 → esm2022}/navbar/examples/public_api.mjs +0 -0
  1352. /package/{esm2020 → esm2022}/notification/daffodil-design-notification.mjs +0 -0
  1353. /package/{esm2020 → esm2022}/notification/examples/daffodil-design-notification-examples.mjs +0 -0
  1354. /package/{esm2020 → esm2022}/notification/examples/index.mjs +0 -0
  1355. /package/{esm2020 → esm2022}/notification/examples/public_api.mjs +0 -0
  1356. /package/{esm2020 → esm2022}/notification/public_api.mjs +0 -0
  1357. /package/{esm2020 → esm2022}/paginator/examples/daffodil-design-paginator-examples.mjs +0 -0
  1358. /package/{esm2020 → esm2022}/paginator/examples/examples.mjs +0 -0
  1359. /package/{esm2020 → esm2022}/paginator/examples/index.mjs +0 -0
  1360. /package/{esm2020 → esm2022}/paginator/examples/public_api.mjs +0 -0
  1361. /package/{esm2020 → esm2022}/quantity-field/examples/daffodil-design-quantity-field-examples.mjs +0 -0
  1362. /package/{esm2020 → esm2022}/quantity-field/examples/index.mjs +0 -0
  1363. /package/{esm2020 → esm2022}/quantity-field/examples/public_api.mjs +0 -0
  1364. /package/{esm2020 → esm2022}/radio/examples/daffodil-design-radio-examples.mjs +0 -0
  1365. /package/{esm2020 → esm2022}/radio/examples/examples.mjs +0 -0
  1366. /package/{esm2020 → esm2022}/radio/examples/index.mjs +0 -0
  1367. /package/{esm2020 → esm2022}/radio/examples/public_api.mjs +0 -0
  1368. /package/{esm2020 → esm2022}/sidebar/examples/daffodil-design-sidebar-examples.mjs +0 -0
  1369. /package/{esm2020 → esm2022}/sidebar/examples/index.mjs +0 -0
  1370. /package/{esm2020 → esm2022}/tree/daffodil-design-tree.mjs +0 -0
  1371. /package/{esm2020 → esm2022}/tree/examples/daffodil-design-tree-examples.mjs +0 -0
  1372. /package/{esm2020 → esm2022}/tree/examples/index.mjs +0 -0
  1373. /package/{esm2020 → esm2022}/tree/examples/public_api.mjs +0 -0
  1374. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  1375. /package/{esm2020 → esm2022}/tree/interfaces/recursive-key.mjs +0 -0
  1376. /package/{esm2020 → esm2022}/tree/interfaces/tree-data.mjs +0 -0
  1377. /package/{esm2020 → esm2022}/tree/interfaces/tree-ui.mjs +0 -0
  1378. /package/{esm2020 → esm2022}/tree/public_api.mjs +0 -0
  1379. /package/{esm2020 → esm2022}/tree/utils/flatten-tree.mjs +0 -0
  1380. /package/{esm2020 → esm2022}/tree/utils/hydrate-tree.mjs +0 -0
  1381. /package/{esm2020 → esm2022}/tree/utils/transform-in-place.mjs +0 -0
  1382. /package/{esm2020 → esm2022}/tree/utils/traverse-tree.mjs +0 -0
  1383. /package/{molecules/hero → hero}/hero-body/hero-body.directive.d.ts +0 -0
  1384. /package/{molecules/hero → hero}/hero-icon/hero-icon.directive.d.ts +0 -0
  1385. /package/{molecules/hero → hero}/hero-subtitle/hero-subtitle.directive.d.ts +0 -0
  1386. /package/{molecules/hero → hero}/hero-tagline/hero-tagline.directive.d.ts +0 -0
  1387. /package/{molecules/hero → hero}/hero-title/hero-title.directive.d.ts +0 -0
  1388. /package/{molecules/hero → hero}/hero.module.d.ts +0 -0
  1389. /package/{molecules/hero → hero}/public_api.d.ts +0 -0
  1390. /package/{molecules/link-set → link-set}/link-set-heading/link-set-heading.directive.d.ts +0 -0
  1391. /package/{molecules/link-set → link-set}/link-set-item/link-set-item.component.d.ts +0 -0
  1392. /package/{molecules/link-set → link-set}/link-set-subheading/link-set-subheading.directive.d.ts +0 -0
  1393. /package/{molecules/link-set → link-set}/link-set.module.d.ts +0 -0
  1394. /package/{molecules/link-set → link-set}/public_api.d.ts +0 -0
  1395. /package/{molecules/list → list}/list-subheader/list-subheader.directive.d.ts +0 -0
  1396. /package/{molecules/list → list}/public_api.d.ts +0 -0
  1397. /package/{molecules/media-gallery → media-gallery/helpers}/media-gallery-registration.interface.d.ts +0 -0
  1398. /package/{molecules/media-gallery → media-gallery/helpers}/media-gallery-token.d.ts +0 -0
  1399. /package/{molecules/media-gallery → media-gallery}/thumbnail/thumbnail-compat.token.d.ts +0 -0
  1400. /package/{molecules/menu → menu}/helpers/create-overlay.d.ts +0 -0
  1401. /package/{molecules/menu → menu}/helpers/public_api.d.ts +0 -0
  1402. /package/{molecules/menu → menu}/menu.module.d.ts +0 -0
  1403. /package/{molecules/modal → modal}/animations/modal-animation.d.ts +0 -0
  1404. /package/{molecules/modal → modal}/modal/modal-config.d.ts +0 -0
  1405. /package/{molecules/modal → modal}/modal-actions/modal-actions.component.d.ts +0 -0
  1406. /package/{molecules/modal → modal}/modal-content/modal-content.component.d.ts +0 -0
  1407. /package/{molecules/modal → modal}/modal-header/modal-header.component.d.ts +0 -0
  1408. /package/{molecules/modal → modal}/modal-title/modal-title.directive.d.ts +0 -0
  1409. /package/{molecules/modal → modal}/modal.module.d.ts +0 -0
  1410. /package/{molecules/paginator → paginator/utils}/paginator-errors.d.ts +0 -0
  1411. /package/{molecules/sidebar → sidebar}/animation/sidebar-animation-width.d.ts +0 -0
@@ -0,0 +1,2675 @@
1
+ import * as i2 from '@angular/common';
2
+ import { CommonModule, DOCUMENT } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Component, ViewEncapsulation, HostBinding, Input, ContentChild, ChangeDetectionStrategy, NgModule, Optional, Self, HostListener, EventEmitter, ElementRef, ViewChild, Output, Directive, ContentChildren, Injectable, Inject, APP_INITIALIZER } from '@angular/core';
5
+ import * as i2$1 from '@fortawesome/angular-fontawesome';
6
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
7
+ import { faChevronDown } from '@fortawesome/free-solid-svg-icons';
8
+ import * as i1 from '@angular/forms';
9
+ import { UntypedFormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
10
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
11
+ import { Subject, fromEventPattern, of, merge, fromEvent, EMPTY, combineLatest } from 'rxjs';
12
+ import { takeUntil, startWith, map, catchError, filter, shareReplay } from 'rxjs/operators';
13
+ import { trigger, state, style, transition, animate } from '@angular/animations';
14
+ import { DaffServerSafePersistenceServiceToken } from '@daffodil/core';
15
+
16
+ class DaffErrorStateMatcher {
17
+ isErrorState(control, formSubmitted) {
18
+ return control.errors && (control.touched || formSubmitted);
19
+ }
20
+ }
21
+
22
+ /**
23
+ *
24
+ * The class that a form control must **implement** in order to be
25
+ * used with the DaffFormFieldComponent.
26
+ *
27
+ * You may ask: "Why are you implementing an abstract class, not extending it?"
28
+ * We do this so that the Angular DI container can match the class token. A typical
29
+ * interface would be "more accurate" here, but since interfaces don't exist
30
+ * in javascript, they get thrown out by the typescript compiler and cannot
31
+ * be used for the necessary dependency injection.
32
+ */
33
+ class DaffFormFieldControl {
34
+ }
35
+ ;
36
+
37
+ const DaffFormFieldMissingControlMessage = 'A DaffFormFieldComponent must contain a DaffFormFieldControl';
38
+
39
+ // ChangeDetection is ignored because this component needs to be refactored
40
+ // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
41
+ class DaffFormFieldComponent {
42
+ constructor() {
43
+ /**
44
+ * @docs-private
45
+ */
46
+ this.faChevronDown = faChevronDown;
47
+ this.class = true;
48
+ /**
49
+ * The tracking property used to determine if the parent form has been submitted,
50
+ * and thus show an error message (even if the field hasn't been touched).
51
+ *
52
+ * @deprecated
53
+ */
54
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
55
+ this.formSubmitted = false;
56
+ /**
57
+ * Tracking property to keep a record of whether or not the
58
+ * form field should be marked as error.
59
+ */
60
+ this.isError = false;
61
+ /**
62
+ * Tracking property to keep a record of whether or not the
63
+ * form field should be marked as valid.
64
+ */
65
+ this.isValid = false;
66
+ }
67
+ /**
68
+ * @docs
69
+ *
70
+ * Determines whether or not the form field should display its focused state.
71
+ */
72
+ get isFocused() {
73
+ return this._control?.focused;
74
+ }
75
+ /**
76
+ * Keeps the state of the form field consistent with its child DaffFormControl
77
+ *
78
+ * TODO: consider whether or not this can be refactored to some kind of
79
+ * observable to remove unnecessary change detection.
80
+ *
81
+ * @docs-private
82
+ */
83
+ ngDoCheck() {
84
+ if (this._control?.ngControl) {
85
+ this.isError = this._control.ngControl.errors && (this._control.ngControl.touched);
86
+ this.isValid = !this._control.ngControl.errors && this._control.ngControl.touched;
87
+ }
88
+ }
89
+ /**
90
+ * Validate whether or not the FormField is in
91
+ * a "usable" state.
92
+ */
93
+ _validateFormControl() {
94
+ if (!this._control) {
95
+ throw new Error(DaffFormFieldMissingControlMessage);
96
+ }
97
+ }
98
+ /**
99
+ * Life cycle hook to verify that the form field has an acceptable
100
+ * child control instance. Mostly useful for development-time
101
+ * validation of usage.
102
+ *
103
+ * @docs-private
104
+ */
105
+ ngAfterContentInit() {
106
+ this._validateFormControl();
107
+ }
108
+ /**
109
+ * Life cycle hook to verify that the form field has an acceptable
110
+ * child control instance. Mostly useful for development-time
111
+ * validation of usage.
112
+ *
113
+ * @docs-private
114
+ */
115
+ ngAfterContentChecked() {
116
+ this._validateFormControl();
117
+ }
118
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", 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"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], encapsulation: i0.ViewEncapsulation.None }); }
120
+ }
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormFieldComponent, decorators: [{
122
+ type: Component,
123
+ 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"] }]
124
+ }], propDecorators: { class: [{
125
+ type: HostBinding,
126
+ args: ['class.daff-form-field']
127
+ }], formSubmitted: [{
128
+ type: Input
129
+ }], _control: [{
130
+ type: ContentChild,
131
+ args: [DaffFormFieldControl]
132
+ }] } });
133
+
134
+ class DaffErrorMessageComponent {
135
+ constructor() {
136
+ this.class = true;
137
+ }
138
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
139
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", 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 }); }
140
+ }
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffErrorMessageComponent, decorators: [{
142
+ type: Component,
143
+ args: [{ selector: 'daff-error-message', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;font-size:.875rem;margin-top:5px}\n"] }]
144
+ }], propDecorators: { class: [{
145
+ type: HostBinding,
146
+ args: ['class.daff-error-message']
147
+ }] } });
148
+
149
+ class DaffErrorMessageModule {
150
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffErrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
151
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffErrorMessageModule, declarations: [DaffErrorMessageComponent], exports: [DaffErrorMessageComponent] }); }
152
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffErrorMessageModule }); }
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffErrorMessageModule, decorators: [{
155
+ type: NgModule,
156
+ args: [{
157
+ exports: [
158
+ DaffErrorMessageComponent,
159
+ ],
160
+ declarations: [
161
+ DaffErrorMessageComponent,
162
+ ],
163
+ }]
164
+ }] });
165
+
166
+ class DaffFormFieldModule {
167
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
168
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffFormFieldModule, declarations: [DaffFormFieldComponent], imports: [CommonModule,
169
+ FontAwesomeModule,
170
+ DaffErrorMessageModule], exports: [DaffFormFieldComponent,
171
+ DaffErrorMessageModule] }); }
172
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormFieldModule, imports: [CommonModule,
173
+ FontAwesomeModule,
174
+ DaffErrorMessageModule, DaffErrorMessageModule] }); }
175
+ }
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormFieldModule, decorators: [{
177
+ type: NgModule,
178
+ args: [{
179
+ imports: [
180
+ CommonModule,
181
+ FontAwesomeModule,
182
+ DaffErrorMessageModule,
183
+ ],
184
+ exports: [
185
+ DaffFormFieldComponent,
186
+ DaffErrorMessageModule,
187
+ ],
188
+ declarations: [
189
+ DaffFormFieldComponent,
190
+ ],
191
+ }]
192
+ }] });
193
+
194
+ /**
195
+ * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.
196
+ */
197
+ class DaffInputComponent {
198
+ /**
199
+ * @docs-private
200
+ */
201
+ focus() {
202
+ this.focused = true;
203
+ }
204
+ /**
205
+ * @docs-private
206
+ */
207
+ blur() {
208
+ this.focused = false;
209
+ }
210
+ constructor(
211
+ /**
212
+ * @docs-private
213
+ */
214
+ ngControl, _elementRef) {
215
+ this.ngControl = ngControl;
216
+ this._elementRef = _elementRef;
217
+ this.focused = false;
218
+ }
219
+ onFocus() {
220
+ this._elementRef.nativeElement.focus();
221
+ }
222
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
223
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffInputComponent, selector: "input[daff-input]", inputs: { formSubmitted: "formSubmitted" }, host: { listeners: { "focus": "focus()", "blur": "blur()" } }, providers: [
224
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
225
+ { provide: DaffFormFieldControl, useExisting: DaffInputComponent },
226
+ ], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{border:none;border-radius:4px;box-shadow:none;font-size:1rem;line-height:1.5rem;margin:0;padding:0;width:100%;box-sizing:border-box}:host:focus{border:none;box-shadow:none;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
227
+ }
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffInputComponent, decorators: [{
229
+ type: Component,
230
+ args: [{ selector: 'input[daff-input]', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
231
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
232
+ { provide: DaffFormFieldControl, useExisting: DaffInputComponent },
233
+ ], styles: [":host{border:none;border-radius:4px;box-shadow:none;font-size:1rem;line-height:1.5rem;margin:0;padding:0;width:100%;box-sizing:border-box}:host:focus{border:none;box-shadow:none;outline:none}\n"] }]
234
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
235
+ type: Optional
236
+ }, {
237
+ type: Self
238
+ }] }, { type: i0.ElementRef }], propDecorators: { formSubmitted: [{
239
+ type: Input
240
+ }], focus: [{
241
+ type: HostListener,
242
+ args: ['focus']
243
+ }], blur: [{
244
+ type: HostListener,
245
+ args: ['blur']
246
+ }] } });
247
+
248
+ class DaffInputModule {
249
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
250
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffInputModule, declarations: [DaffInputComponent], imports: [CommonModule], exports: [DaffInputComponent] }); }
251
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffInputModule, imports: [CommonModule] }); }
252
+ }
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffInputModule, decorators: [{
254
+ type: NgModule,
255
+ args: [{
256
+ imports: [
257
+ CommonModule,
258
+ ],
259
+ exports: [
260
+ DaffInputComponent,
261
+ ],
262
+ declarations: [
263
+ DaffInputComponent,
264
+ ],
265
+ }]
266
+ }] });
267
+
268
+ class DaffNativeSelectComponent {
269
+ /**
270
+ * @docs-private
271
+ */
272
+ focus() {
273
+ this.focused = true;
274
+ }
275
+ /**
276
+ * @docs-private
277
+ */
278
+ blur() {
279
+ this.focused = false;
280
+ }
281
+ constructor(
282
+ /**
283
+ * @docs-private
284
+ */
285
+ ngControl, _elementRef) {
286
+ this.ngControl = ngControl;
287
+ this._elementRef = _elementRef;
288
+ /**
289
+ * @docs-private
290
+ */
291
+ this.controlType = 'native-select';
292
+ this.class = true;
293
+ this.focused = false;
294
+ }
295
+ onFocus() {
296
+ this._elementRef.nativeElement.focus();
297
+ }
298
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffNativeSelectComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
299
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: { formSubmitted: "formSubmitted" }, host: { listeners: { "focus": "focus()", "blur": "blur()" }, properties: { "class.daff-native-select": "this.class" } }, providers: [
300
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
301
+ { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },
302
+ ], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".daff-native-select{appearance:none;background:transparent;background-clip:padding-box;border:0;box-shadow:none;font-size:1rem;line-height:1.5rem;margin:0;min-width:45px;width:100%}.daff-native-select:focus{border:0;box-shadow:none;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
303
+ }
304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffNativeSelectComponent, decorators: [{
305
+ type: Component,
306
+ args: [{ selector: 'select[daff-native-select]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
307
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
308
+ { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },
309
+ ], styles: [".daff-native-select{appearance:none;background:transparent;background-clip:padding-box;border:0;box-shadow:none;font-size:1rem;line-height:1.5rem;margin:0;min-width:45px;width:100%}.daff-native-select:focus{border:0;box-shadow:none;outline:none}\n"] }]
310
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
311
+ type: Optional
312
+ }, {
313
+ type: Self
314
+ }] }, { type: i0.ElementRef }], propDecorators: { class: [{
315
+ type: HostBinding,
316
+ args: ['class.daff-native-select']
317
+ }], formSubmitted: [{
318
+ type: Input
319
+ }], focus: [{
320
+ type: HostListener,
321
+ args: ['focus']
322
+ }], blur: [{
323
+ type: HostListener,
324
+ args: ['blur']
325
+ }] } });
326
+
327
+ class DaffNativeSelectModule {
328
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
329
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffNativeSelectModule, declarations: [DaffNativeSelectComponent], imports: [CommonModule], exports: [DaffNativeSelectComponent] }); }
330
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffNativeSelectModule, imports: [CommonModule] }); }
331
+ }
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffNativeSelectModule, decorators: [{
333
+ type: NgModule,
334
+ args: [{
335
+ imports: [
336
+ CommonModule,
337
+ ],
338
+ exports: [
339
+ DaffNativeSelectComponent,
340
+ ],
341
+ declarations: [
342
+ DaffNativeSelectComponent,
343
+ ],
344
+ }]
345
+ }] });
346
+
347
+ let checkboxIdNum = 0;
348
+ class DaffCheckboxComponent {
349
+ get checked() {
350
+ return this._checked;
351
+ }
352
+ set checked(value) {
353
+ if (this._checked === value) {
354
+ return;
355
+ }
356
+ if (value === true) {
357
+ this.nativeCheckbox.nativeElement.checked = true;
358
+ this.becameChecked.emit(this._checked);
359
+ }
360
+ else {
361
+ this.nativeCheckbox.nativeElement.checked = false;
362
+ this.becameUnchecked.emit();
363
+ }
364
+ this._checked = value;
365
+ }
366
+ /**
367
+ * @docs-private
368
+ */
369
+ _onChange(val) {
370
+ if (val.target.checked) {
371
+ this.select();
372
+ }
373
+ else {
374
+ this.deselect();
375
+ }
376
+ }
377
+ ;
378
+ /**
379
+ * @docs-private
380
+ */
381
+ get focusClass() {
382
+ return this.focused === true;
383
+ }
384
+ ;
385
+ /**
386
+ * @docs-private
387
+ */
388
+ get disabledClass() {
389
+ return this.disabled === true;
390
+ }
391
+ ;
392
+ /**
393
+ * Sets focused to false.
394
+ */
395
+ onBlur() {
396
+ this.focused = false;
397
+ }
398
+ /**
399
+ * Sets focused to true.
400
+ */
401
+ onFocus() {
402
+ this.focused = true;
403
+ }
404
+ constructor(_cdRef) {
405
+ this._cdRef = _cdRef;
406
+ /**
407
+ * Boolean value to determine whether or not the checkbox is checked.
408
+ */
409
+ this._checked = false;
410
+ /**
411
+ * The id of the checkbox. Must be unique. If not entered by a user then it is generated.
412
+ */
413
+ this.id = 'daff-checkbox-' + checkboxIdNum;
414
+ /**
415
+ * The aria-label of the checkbox.
416
+ */
417
+ // eslint-disable-next-line @angular-eslint/no-input-rename
418
+ this.label = '';
419
+ /**
420
+ * Event on whether or not the selection has changed.
421
+ */
422
+ this.becameChecked = new EventEmitter();
423
+ this.becameUnchecked = new EventEmitter();
424
+ /**
425
+ * The role of the component. Set to "checkbox".
426
+ *
427
+ * @docs-private
428
+ */
429
+ this.role = 'checkbox';
430
+ /**
431
+ * Increments id number on new checkbox. Gurantees unique ID on generation.
432
+ */
433
+ checkboxIdNum++;
434
+ }
435
+ /**
436
+ * Sets checked to true.
437
+ */
438
+ select() {
439
+ this.checked = true;
440
+ this._cdRef.markForCheck();
441
+ }
442
+ /**
443
+ * Sets checked to false
444
+ */
445
+ deselect() {
446
+ this.checked = false;
447
+ this._cdRef.markForCheck();
448
+ }
449
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
450
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffCheckboxComponent, selector: "daff-checkbox", inputs: { name: "name", value: "value", checked: "checked", id: "id", label: ["aria-label", "label"], labeledBy: ["aria-labelledby", "labeledBy"] }, outputs: { becameChecked: "becameChecked", becameUnchecked: "becameUnchecked" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, viewQueries: [{ propertyName: "nativeCheckbox", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
451
+ }
452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxComponent, decorators: [{
453
+ type: Component,
454
+ args: [{ selector: 'daff-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>" }]
455
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { nativeCheckbox: [{
456
+ type: ViewChild,
457
+ args: ['inputElement', { static: true, read: ElementRef }]
458
+ }], name: [{
459
+ type: Input
460
+ }], value: [{
461
+ type: Input
462
+ }], checked: [{
463
+ type: Input
464
+ }], id: [{
465
+ type: Input
466
+ }], label: [{
467
+ type: Input,
468
+ args: ['aria-label']
469
+ }], labeledBy: [{
470
+ type: Input,
471
+ args: ['aria-labelledby']
472
+ }], becameChecked: [{
473
+ type: Output
474
+ }], becameUnchecked: [{
475
+ type: Output
476
+ }], role: [{
477
+ type: HostBinding,
478
+ args: ['attr.role']
479
+ }], focusClass: [{
480
+ type: HostBinding,
481
+ args: ['class.focused']
482
+ }], disabledClass: [{
483
+ type: HostBinding,
484
+ args: ['class.disabled']
485
+ }] } });
486
+
487
+ /**
488
+ * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.
489
+ */
490
+ class DaffCheckboxControlValueAccessorDirective {
491
+ constructor(_control, _checkbox) {
492
+ this._control = _control;
493
+ this._checkbox = _checkbox;
494
+ if (this._control != null) {
495
+ this._control.valueAccessor = this;
496
+ }
497
+ }
498
+ /**
499
+ * A lifecycle method called when the directive is initialized.
500
+ */
501
+ ngOnInit() {
502
+ // See the note about `writeValue` usage.
503
+ this.writeValue(this._control.value);
504
+ // Watch for user events on the component to update the state
505
+ this._checkbox.becameChecked.subscribe(() => {
506
+ this._onChange(true);
507
+ });
508
+ this._checkbox.becameUnchecked.subscribe(() => {
509
+ this._onChange(false);
510
+ });
511
+ }
512
+ /**
513
+ * writes a new value down into the component.
514
+ */
515
+ writeValue(value) {
516
+ value = !!value;
517
+ if (value === true) {
518
+ this.fireSelect();
519
+ }
520
+ else {
521
+ this.fireDeselect();
522
+ }
523
+ }
524
+ /**
525
+ * Registers the change handler
526
+ */
527
+ registerOnChange(fn) {
528
+ this._onChange = (val) => {
529
+ fn(val);
530
+ };
531
+ }
532
+ /**
533
+ * Registers the touched handler
534
+ */
535
+ registerOnTouched(fn) {
536
+ this._onTouched = fn;
537
+ }
538
+ /**
539
+ * Sets the disabled state.
540
+ */
541
+ setDisabledState(isDisabled) {
542
+ this._checkbox.disabled = isDisabled;
543
+ }
544
+ /**
545
+ * calls the child checkbox's select function
546
+ */
547
+ fireSelect() {
548
+ this._checkbox.select();
549
+ }
550
+ /**
551
+ * calls the child checkbox's deselect function
552
+ */
553
+ fireDeselect() {
554
+ this._checkbox.deselect();
555
+ }
556
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffCheckboxComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
557
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffCheckboxControlValueAccessorDirective, selector: "daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
558
+ }
559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxControlValueAccessorDirective, decorators: [{
560
+ type: Directive,
561
+ args: [{
562
+ // eslint-disable-next-line @angular-eslint/directive-selector
563
+ selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',
564
+ }]
565
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
566
+ type: Optional
567
+ }, {
568
+ type: Self
569
+ }] }, { type: DaffCheckboxComponent }], propDecorators: { value: [{
570
+ type: Input
571
+ }], name: [{
572
+ type: Input
573
+ }] } });
574
+
575
+ class DaffCheckboxSetComponent {
576
+ constructor() {
577
+ /**
578
+ * The role of the component. Set to "checkbox".
579
+ *
580
+ * @docs-private
581
+ */
582
+ this.role = 'group';
583
+ this.valueList = new EventEmitter();
584
+ }
585
+ getValues() {
586
+ const checkboxes = this.checkboxes.toArray();
587
+ return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);
588
+ }
589
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
590
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffCheckboxSetComponent, selector: "daff-checkbox-set", inputs: { formArray: "formArray", name: "name" }, outputs: { valueList: "valueList" }, host: { properties: { "attr.role": "this.role" } }, queries: [{ propertyName: "checkboxes", predicate: DaffCheckboxComponent }], ngImport: i0, template: "<ng-content></ng-content>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
591
+ }
592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxSetComponent, decorators: [{
593
+ type: Component,
594
+ args: [{ selector: 'daff-checkbox-set', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }]
595
+ }], propDecorators: { formArray: [{
596
+ type: Input
597
+ }], name: [{
598
+ type: Input
599
+ }], role: [{
600
+ type: HostBinding,
601
+ args: ['attr.role']
602
+ }], checkboxes: [{
603
+ type: ContentChildren,
604
+ args: [DaffCheckboxComponent]
605
+ }], valueList: [{
606
+ type: Output
607
+ }] } });
608
+
609
+ class DaffCheckboxModule {
610
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
611
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxModule, declarations: [DaffCheckboxComponent,
612
+ DaffCheckboxSetComponent,
613
+ DaffCheckboxControlValueAccessorDirective], imports: [CommonModule], exports: [DaffCheckboxComponent,
614
+ DaffCheckboxSetComponent,
615
+ DaffCheckboxControlValueAccessorDirective] }); }
616
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxModule, providers: [
617
+ DaffCheckboxSetComponent,
618
+ ], imports: [CommonModule] }); }
619
+ }
620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffCheckboxModule, decorators: [{
621
+ type: NgModule,
622
+ args: [{
623
+ exports: [
624
+ DaffCheckboxComponent,
625
+ DaffCheckboxSetComponent,
626
+ DaffCheckboxControlValueAccessorDirective,
627
+ ],
628
+ declarations: [
629
+ DaffCheckboxComponent,
630
+ DaffCheckboxSetComponent,
631
+ DaffCheckboxControlValueAccessorDirective,
632
+ ],
633
+ imports: [
634
+ CommonModule,
635
+ ],
636
+ providers: [
637
+ DaffCheckboxSetComponent,
638
+ ],
639
+ }]
640
+ }] });
641
+
642
+ class DaffQuantityInputComponent {
643
+ get focused() {
644
+ return this.input?.focused;
645
+ }
646
+ get value() {
647
+ return this.ngControl.control.value;
648
+ }
649
+ set value(value) {
650
+ const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);
651
+ this.ngControl.control.patchValue(val);
652
+ this._inputControl.patchValue(val);
653
+ this.changeDetectorRef.markForCheck();
654
+ }
655
+ get disabled() {
656
+ return this.ngControl.control.disabled;
657
+ }
658
+ constructor(ngControl, changeDetectorRef) {
659
+ this.ngControl = ngControl;
660
+ this.changeDetectorRef = changeDetectorRef;
661
+ /**
662
+ * @docs
663
+ * The minimum number for the quantity input field
664
+ */
665
+ this.min = 1;
666
+ /**
667
+ * @docs
668
+ * The maximum number for the quantity input field
669
+ */
670
+ this.max = 10;
671
+ /**
672
+ * A new control for the nested native input.
673
+ * We don't bind the native input directly to the inherited form control
674
+ * to avoid triggering updates on the input event.
675
+ * Instead, we listen for the change event and manually patch form control values.
676
+ */
677
+ this._inputControl = new UntypedFormControl();
678
+ this._destroyed = new Subject();
679
+ }
680
+ ngOnInit() {
681
+ this._inputControl.patchValue(this.ngControl.control.value);
682
+ this.setInputDisabled();
683
+ this.ngControl.statusChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {
684
+ this.setInputDisabled();
685
+ });
686
+ }
687
+ ngOnDestroy() {
688
+ this._destroyed.next(true);
689
+ }
690
+ focus() {
691
+ this.input.focus();
692
+ }
693
+ onFocus() {
694
+ this.ngControl.control.markAsTouched();
695
+ }
696
+ onBlur() {
697
+ if (this.value === null || this.value === undefined) {
698
+ this.value = 1;
699
+ this.changeDetectorRef.markForCheck();
700
+ }
701
+ }
702
+ /**
703
+ * Callback function fired when the value changes.
704
+ * Used to pass the value back up to the ngControl.
705
+ */
706
+ onValueChange(e) {
707
+ this.value = e.target.value;
708
+ }
709
+ setInputDisabled() {
710
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
711
+ this.ngControl.disabled
712
+ ? this._inputControl.disable()
713
+ : this._inputControl.enable();
714
+ }
715
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityInputComponent, deps: [{ token: i1.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
716
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffQuantityInputComponent, selector: "daff-quantity-input", inputs: { min: "min", max: "max" }, viewQueries: [{ propertyName: "input", first: true, predicate: DaffInputComponent, descendants: true }], ngImport: i0, template: "<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n", dependencies: [{ kind: "component", type: DaffInputComponent, selector: "input[daff-input]", inputs: ["formSubmitted"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
717
+ }
718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityInputComponent, decorators: [{
719
+ type: Component,
720
+ args: [{ selector: 'daff-quantity-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n" }]
721
+ }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
722
+ type: ViewChild,
723
+ args: [DaffInputComponent]
724
+ }], min: [{
725
+ type: Input
726
+ }], max: [{
727
+ type: Input
728
+ }] } });
729
+
730
+ /**
731
+ * Create an array of numbers from min to max, not including max.
732
+ */
733
+ const makeValueArray = (min, max, increment) => Array(max - min).fill(0).map((x, i) => (i * increment) + min);
734
+ class DaffQuantitySelectComponent {
735
+ get value() {
736
+ return this._value;
737
+ }
738
+ set value(value) {
739
+ this._value = value;
740
+ this.ngControl.control.patchValue(this._value);
741
+ this.changeDetectorRef.markForCheck();
742
+ }
743
+ constructor(ngControl, changeDetectorRef) {
744
+ this.ngControl = ngControl;
745
+ this.changeDetectorRef = changeDetectorRef;
746
+ /**
747
+ * @docs
748
+ * The minimum number selectable.
749
+ */
750
+ this.min = 1;
751
+ /**
752
+ * @docs
753
+ * The maximum number selectable;
754
+ */
755
+ this.max = 10;
756
+ /**
757
+ * @docs
758
+ * Property used to determine whether or not the DaffQuantitySelectComponent is
759
+ * used in a situation whether the `max` isn't a true max.
760
+ */
761
+ this.extendable = true;
762
+ /**
763
+ * The amount to increment between "min" and "max".
764
+ */
765
+ this.increment = 1;
766
+ this._value = 1;
767
+ }
768
+ /**
769
+ * Callback function fired when the value changes.
770
+ * Used to pass the value back up to the ngControl.
771
+ */
772
+ onValueChange(e) {
773
+ this.value = e.target.value;
774
+ }
775
+ get focused() {
776
+ return this.select.focused;
777
+ }
778
+ focus() {
779
+ this.select.focus();
780
+ }
781
+ onFocus() {
782
+ this.ngControl.control.markAsTouched();
783
+ }
784
+ /**
785
+ * A helper function for easily making options for the `select`.
786
+ */
787
+ get valueArray() {
788
+ return makeValueArray(this.min, this.max, this.increment);
789
+ }
790
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantitySelectComponent, deps: [{ token: i1.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
791
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", 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", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["formSubmitted"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
792
+ }
793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantitySelectComponent, decorators: [{
794
+ type: Component,
795
+ 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" }]
796
+ }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }], propDecorators: { select: [{
797
+ type: ViewChild,
798
+ args: [DaffNativeSelectComponent]
799
+ }], min: [{
800
+ type: Input
801
+ }], max: [{
802
+ type: Input
803
+ }], extendable: [{
804
+ type: Input
805
+ }] } });
806
+
807
+ class DaffQuantityFieldComponent {
808
+ get focused() {
809
+ return !!(this.input?.focused || this.select?.focused);
810
+ }
811
+ get quantity() {
812
+ return this._quantity;
813
+ }
814
+ set quantity(value) {
815
+ this._quantity = coerceNumberProperty(value, 1);
816
+ }
817
+ /**
818
+ * Returns the lesser of max and selectMax.
819
+ */
820
+ get _maxFloor() {
821
+ return Math.min(this.max, this.selectMax);
822
+ }
823
+ get controlType() {
824
+ // TODO: use enum
825
+ return this.showInputField
826
+ ? 'native-input'
827
+ : 'native-select';
828
+ }
829
+ get showInputField() {
830
+ const ret = this._inputHasBeenShown || (this.ngControl
831
+ ? this.ngControl.value >= this.selectMax
832
+ : this.quantity >= this.selectMax);
833
+ if (ret) {
834
+ this._inputHasBeenShown = true;
835
+ }
836
+ return ret;
837
+ }
838
+ get showSelectField() {
839
+ return !this.showInputField;
840
+ }
841
+ constructor(ngControl, cd) {
842
+ this.ngControl = ngControl;
843
+ this.cd = cd;
844
+ /**
845
+ * @docs
846
+ * The minimum valid value of the quantity field.
847
+ * Must be greater than or equal to 1.
848
+ */
849
+ this.min = 1;
850
+ /**
851
+ * @docs
852
+ * The maximum valid value of the quantity field.
853
+ * Must be greater than min.
854
+ */
855
+ this.max = 500;
856
+ /**
857
+ * @docs
858
+ * The range of numbers acceptable in a quantity dropdown
859
+ * before it becomes an input element.
860
+ */
861
+ this.selectMax = 10;
862
+ this.disabled = false;
863
+ this._quantity = 1;
864
+ this._inputHasBeenShown = false;
865
+ if (this.ngControl != null) {
866
+ this.ngControl.valueAccessor = this;
867
+ }
868
+ }
869
+ onChange(quantity) { }
870
+ ;
871
+ onTouched(quantity) { }
872
+ ;
873
+ writeValue(quantity) {
874
+ this.quantity = quantity;
875
+ this.cd.markForCheck();
876
+ }
877
+ registerOnChange(fn) {
878
+ this.onChange = fn;
879
+ }
880
+ registerOnTouched(fn) {
881
+ this.onTouched = fn;
882
+ }
883
+ setDisabledState(isDisabled) {
884
+ this.disabled = isDisabled;
885
+ }
886
+ focus() {
887
+ if (this.select) {
888
+ this.select.focus();
889
+ }
890
+ if (this.input) {
891
+ this.input.focus();
892
+ }
893
+ }
894
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
895
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffQuantityFieldComponent, selector: "daff-quantity-field", inputs: { min: "min", max: "max", selectMax: "selectMax" }, providers: [
896
+ {
897
+ provide: DaffFormFieldControl,
898
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
899
+ useExisting: DaffQuantityFieldComponent,
900
+ },
901
+ ], 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", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DaffQuantityInputComponent, selector: "daff-quantity-input", inputs: ["min", "max"] }, { kind: "component", type: DaffQuantitySelectComponent, selector: "daff-quantity-select", inputs: ["min", "max", "extendable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
902
+ }
903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityFieldComponent, decorators: [{
904
+ type: Component,
905
+ args: [{ selector: 'daff-quantity-field', providers: [
906
+ {
907
+ provide: DaffFormFieldControl,
908
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
909
+ useExisting: DaffQuantityFieldComponent,
910
+ },
911
+ ], changeDetection: ChangeDetectionStrategy.OnPush, 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" }]
912
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
913
+ type: Optional
914
+ }, {
915
+ type: Self
916
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
917
+ type: ViewChild,
918
+ args: [DaffQuantityInputComponent]
919
+ }], select: [{
920
+ type: ViewChild,
921
+ args: [DaffQuantitySelectComponent]
922
+ }], min: [{
923
+ type: Input
924
+ }], max: [{
925
+ type: Input
926
+ }], selectMax: [{
927
+ type: Input
928
+ }] } });
929
+
930
+ class DaffQuantityFieldModule {
931
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
932
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityFieldModule, declarations: [DaffQuantityFieldComponent,
933
+ DaffQuantityInputComponent,
934
+ DaffQuantitySelectComponent], imports: [CommonModule,
935
+ DaffNativeSelectModule,
936
+ DaffInputModule,
937
+ ReactiveFormsModule], exports: [DaffQuantityFieldComponent,
938
+ DaffQuantityInputComponent,
939
+ DaffQuantitySelectComponent] }); }
940
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityFieldModule, imports: [CommonModule,
941
+ DaffNativeSelectModule,
942
+ DaffInputModule,
943
+ ReactiveFormsModule] }); }
944
+ }
945
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQuantityFieldModule, decorators: [{
946
+ type: NgModule,
947
+ args: [{
948
+ declarations: [
949
+ DaffQuantityFieldComponent,
950
+ DaffQuantityInputComponent,
951
+ DaffQuantitySelectComponent,
952
+ ],
953
+ imports: [
954
+ CommonModule,
955
+ DaffNativeSelectModule,
956
+ DaffInputModule,
957
+ ReactiveFormsModule,
958
+ ],
959
+ exports: [
960
+ DaffQuantityFieldComponent,
961
+ DaffQuantityInputComponent,
962
+ DaffQuantitySelectComponent,
963
+ ],
964
+ }]
965
+ }] });
966
+
967
+ const daffProgressIndicatorAnimation = {
968
+ fill: trigger('fill', [
969
+ state('*', style({ width: '{{ percentage }}%' }), { params: { percentage: 0 } }),
970
+ transition('* <=> *', animate(1000)),
971
+ ]),
972
+ };
973
+
974
+ var DaffPaletteEnum;
975
+ (function (DaffPaletteEnum) {
976
+ DaffPaletteEnum["PRIMARY"] = "primary";
977
+ DaffPaletteEnum["SECONDARY"] = "secondary";
978
+ DaffPaletteEnum["ACCENT"] = "accent";
979
+ DaffPaletteEnum["TERTIARY"] = "tertiary";
980
+ DaffPaletteEnum["BLACK"] = "black";
981
+ DaffPaletteEnum["WHITE"] = "white";
982
+ DaffPaletteEnum["THEME"] = "theme";
983
+ DaffPaletteEnum["THEMECONTRAST"] = "theme-contrast";
984
+ })(DaffPaletteEnum || (DaffPaletteEnum = {}));
985
+
986
+ function colorInPalette(color) {
987
+ return Object.values(DaffPaletteEnum).includes(color);
988
+ }
989
+
990
+ /**
991
+ * This should be a trait, but typescript only supports mixins.
992
+ * See: https://github.com/Microsoft/TypeScript/issues/311
993
+ *
994
+ * Turns out the material team followed the same path with the color mixin.
995
+ * https://github.com/angular/material2/blob/master/src/lib/core/common-behaviors/color.ts
996
+ */
997
+ function daffColorMixin(Base, defaultColor) {
998
+ class DaffColorableMixinClass extends Base {
999
+ get color() {
1000
+ return this._color;
1001
+ }
1002
+ set color(value) {
1003
+ //Handle the default color
1004
+ const incomingColor = value || defaultColor;
1005
+ if (incomingColor !== undefined && !colorInPalette(incomingColor)) {
1006
+ throw new TypeError(incomingColor + ' is not a valid color for the DaffPalette');
1007
+ }
1008
+ if (incomingColor !== this._color) { //Only run the dom-render if a change occurs
1009
+ //Remove the old color
1010
+ if (this._color) {
1011
+ this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._color}`);
1012
+ }
1013
+ if (incomingColor) {
1014
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingColor}`);
1015
+ }
1016
+ this._color = incomingColor;
1017
+ }
1018
+ }
1019
+ constructor(...args) {
1020
+ super(...args);
1021
+ this.color = defaultColor;
1022
+ }
1023
+ }
1024
+ ;
1025
+ // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133
1026
+ Input()(DaffColorableMixinClass.prototype, 'color');
1027
+ return DaffColorableMixinClass;
1028
+ }
1029
+
1030
+ /**
1031
+ * An _elementRef and an instance of renderer2 are needed for the Colorable mixin
1032
+ */
1033
+ class DaffProgressIndicatorBase {
1034
+ constructor(_elementRef, _renderer) {
1035
+ this._elementRef = _elementRef;
1036
+ this._renderer = _renderer;
1037
+ }
1038
+ }
1039
+ const _daffProgressIndicatorBase = daffColorMixin(DaffProgressIndicatorBase, 'primary');
1040
+ /**
1041
+ * @inheritdoc
1042
+ */
1043
+ class DaffProgressIndicatorComponent extends _daffProgressIndicatorBase {
1044
+ /**
1045
+ * Calculates when the progress animation is fully completed
1046
+ *
1047
+ * @param event: AnimationEvent
1048
+ */
1049
+ onAnimationComplete(event) {
1050
+ // @ts-expect-error: @angular/animations typing error on event.toState as string
1051
+ // See: https://github.com/angular/angular/issues/26507
1052
+ if (event.toState === '100' || event.toState === 100) {
1053
+ this.finished.emit();
1054
+ }
1055
+ }
1056
+ /**
1057
+ * @docs-private
1058
+ */
1059
+ get fillState() {
1060
+ return {
1061
+ value: this.percentage,
1062
+ params: {
1063
+ percentage: this.percentage,
1064
+ },
1065
+ };
1066
+ }
1067
+ constructor(elementRef, renderer) {
1068
+ super(elementRef, renderer);
1069
+ this.elementRef = elementRef;
1070
+ this.renderer = renderer;
1071
+ /**
1072
+ * @docs-private
1073
+ */
1074
+ this.class = true;
1075
+ /**
1076
+ * The percentage completion of the progression,
1077
+ * expressed as a whole number between 0 and 100.
1078
+ *
1079
+ */
1080
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
1081
+ this.percentage = 0;
1082
+ /**
1083
+ * An event that emits each time the progression reaches 100%
1084
+ * and the animation is finished
1085
+ */
1086
+ this.finished = new EventEmitter();
1087
+ }
1088
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffProgressIndicatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1089
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffProgressIndicatorComponent, selector: "daff-progress-indicator", inputs: { color: "color", percentage: "percentage" }, outputs: { finished: "finished" }, host: { properties: { "class.daff-progress-indicator": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"daff-progress-indicator__fill\" [@fill]=\"fillState\" (@fill.done)=\"onAnimationComplete($event)\"></div>", styles: [":host{display:flex;height:3px;width:100%}\n"], animations: [
1090
+ daffProgressIndicatorAnimation.fill,
1091
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1092
+ }
1093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffProgressIndicatorComponent, decorators: [{
1094
+ type: Component,
1095
+ args: [{ selector: 'daff-progress-indicator', changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['color'], animations: [
1096
+ daffProgressIndicatorAnimation.fill,
1097
+ ], template: "<div class=\"daff-progress-indicator__fill\" [@fill]=\"fillState\" (@fill.done)=\"onAnimationComplete($event)\"></div>", styles: [":host{display:flex;height:3px;width:100%}\n"] }]
1098
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { class: [{
1099
+ type: HostBinding,
1100
+ args: ['class.daff-progress-indicator']
1101
+ }], percentage: [{
1102
+ type: Input
1103
+ }], finished: [{
1104
+ type: Output
1105
+ }] } });
1106
+
1107
+ class DaffProgressIndicatorModule {
1108
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffProgressIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1109
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffProgressIndicatorModule, declarations: [DaffProgressIndicatorComponent], imports: [CommonModule], exports: [DaffProgressIndicatorComponent] }); }
1110
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffProgressIndicatorModule, imports: [CommonModule] }); }
1111
+ }
1112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffProgressIndicatorModule, decorators: [{
1113
+ type: NgModule,
1114
+ args: [{
1115
+ declarations: [DaffProgressIndicatorComponent],
1116
+ imports: [
1117
+ CommonModule,
1118
+ ],
1119
+ exports: [DaffProgressIndicatorComponent],
1120
+ }]
1121
+ }] });
1122
+
1123
+ class DaffRadioSetComponent {
1124
+ constructor() {
1125
+ /**
1126
+ * @docs-private
1127
+ */
1128
+ this.role = 'radiogroup';
1129
+ }
1130
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1131
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffRadioSetComponent, selector: "daff-radio-set", inputs: { name: "name" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1132
+ }
1133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
1134
+ type: Component,
1135
+ args: [{ selector: 'daff-radio-set', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }]
1136
+ }], ctorParameters: () => [], propDecorators: { name: [{
1137
+ type: Input
1138
+ }], role: [{
1139
+ type: HostBinding,
1140
+ args: ['attr.role']
1141
+ }] } });
1142
+
1143
+ let radioUniqueId = 0;
1144
+ class DaffRadioComponent {
1145
+ /**
1146
+ * @docs-private
1147
+ */
1148
+ get focusClass() {
1149
+ return this.focused === true;
1150
+ }
1151
+ ;
1152
+ /**
1153
+ * @docs-private
1154
+ */
1155
+ get disabledClass() {
1156
+ return this.disabled === true;
1157
+ }
1158
+ ;
1159
+ /**
1160
+ * The checked property of the radio
1161
+ */
1162
+ get checked() {
1163
+ return this._checked;
1164
+ }
1165
+ set checked(value) {
1166
+ if (this._checked !== value) {
1167
+ this._checked = value;
1168
+ this.selectionChange.emit(this.value);
1169
+ }
1170
+ }
1171
+ constructor(radioset) {
1172
+ this.radioset = radioset;
1173
+ /**
1174
+ * @docs-private
1175
+ */
1176
+ this.role = 'radio';
1177
+ /**
1178
+ * @docs-private
1179
+ */
1180
+ this._checked = false;
1181
+ /**
1182
+ * Output event of selection being changed
1183
+ */
1184
+ this.selectionChange = new EventEmitter();
1185
+ /**
1186
+ * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.
1187
+ */
1188
+ this.id = 'daff-radio-' + radioUniqueId;
1189
+ /**
1190
+ * Name of the Radio
1191
+ */
1192
+ this.name = '';
1193
+ /**
1194
+ * Used for aria-label. Default to name if user does not input a label.
1195
+ */
1196
+ // eslint-disable-next-line @angular-eslint/no-input-rename
1197
+ this.label = this.name;
1198
+ this.disabled = false;
1199
+ this.focused = false;
1200
+ radioUniqueId++;
1201
+ }
1202
+ /**
1203
+ * @docs-private
1204
+ */
1205
+ ngOnInit() {
1206
+ this.name = this.radioset ? this.radioset.name : this.name;
1207
+ }
1208
+ /**
1209
+ * updates Focus styling
1210
+ */
1211
+ onFocus() {
1212
+ this.focused = true;
1213
+ }
1214
+ /**
1215
+ * updates Blur styling
1216
+ */
1217
+ onBlur() {
1218
+ this.focused = false;
1219
+ }
1220
+ /**
1221
+ * toggles checked attribute on
1222
+ */
1223
+ select() {
1224
+ this.checked = true;
1225
+ }
1226
+ /**
1227
+ * toggles checked attribute off
1228
+ */
1229
+ deselect() {
1230
+ this.checked = false;
1231
+ }
1232
+ onChange() {
1233
+ this.select();
1234
+ }
1235
+ ;
1236
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioComponent, deps: [{ token: DaffRadioSetComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1237
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffRadioComponent, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, ngImport: i0, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1238
+ }
1239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioComponent, decorators: [{
1240
+ type: Component,
1241
+ args: [{ selector: 'daff-radio', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>" }]
1242
+ }], ctorParameters: () => [{ type: DaffRadioSetComponent, decorators: [{
1243
+ type: Optional
1244
+ }] }], propDecorators: { role: [{
1245
+ type: HostBinding,
1246
+ args: ['attr.role']
1247
+ }], focusClass: [{
1248
+ type: HostBinding,
1249
+ args: ['class.focused']
1250
+ }], disabledClass: [{
1251
+ type: HostBinding,
1252
+ args: ['class.disabled']
1253
+ }], selectionChange: [{
1254
+ type: Output
1255
+ }], checked: [{
1256
+ type: Input
1257
+ }], value: [{
1258
+ type: Input
1259
+ }], id: [{
1260
+ type: Input
1261
+ }], name: [{
1262
+ type: Input
1263
+ }], label: [{
1264
+ type: Input,
1265
+ args: ['aria-label']
1266
+ }], labelledby: [{
1267
+ type: Input,
1268
+ args: ['aria-labelledby']
1269
+ }] } });
1270
+
1271
+ class DaffRadioRegistry {
1272
+ constructor() {
1273
+ this._accessors = [];
1274
+ }
1275
+ /**
1276
+ * @description
1277
+ * Adds a control to the internal registry.
1278
+ */
1279
+ add(control, accessor) {
1280
+ this._accessors.push({
1281
+ control,
1282
+ accessor,
1283
+ });
1284
+ }
1285
+ /**
1286
+ * @description
1287
+ * Removes a control from the internal registry.
1288
+ */
1289
+ remove(accessor) {
1290
+ for (let i = this._accessors.length - 1; i >= 0; --i) {
1291
+ if (this._accessors[i]['accessor'] === accessor) {
1292
+ this._accessors.splice(i, 1);
1293
+ return;
1294
+ }
1295
+ }
1296
+ }
1297
+ /**
1298
+ * @description
1299
+ * Selects a radio button.
1300
+ */
1301
+ select(accessor) {
1302
+ this._accessors.forEach((c) => {
1303
+ if (this._isSameGroup(c, accessor) && c['accessor'] !== accessor) {
1304
+ c['accessor'].fireDeselect();
1305
+ }
1306
+ });
1307
+ }
1308
+ _isSameGroup(controlPair, accessor) {
1309
+ if (!controlPair['control'].control) {
1310
+ return false;
1311
+ }
1312
+ return controlPair['control'].control.parent === accessor._control.control.parent
1313
+ && controlPair['accessor'].name === accessor.name;
1314
+ }
1315
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1316
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioRegistry, providedIn: 'root' }); }
1317
+ }
1318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioRegistry, decorators: [{
1319
+ type: Injectable,
1320
+ args: [{ providedIn: 'root' }]
1321
+ }] });
1322
+
1323
+ /**
1324
+ * ControlValueAccessor functionality for the DaffRadio
1325
+ */
1326
+ class DaffRadioControlValueAccessorDirective {
1327
+ constructor(_control, _registry, _radio) {
1328
+ this._control = _control;
1329
+ this._registry = _registry;
1330
+ this._radio = _radio;
1331
+ if (this._control != null) {
1332
+ this._control.valueAccessor = this;
1333
+ }
1334
+ }
1335
+ ngOnInit() {
1336
+ this.writeValue(this._control.value);
1337
+ this._registry.add(this._control, this);
1338
+ this._radio.selectionChange.subscribe(value => value ? this._onChange() : null);
1339
+ }
1340
+ /**
1341
+ *
1342
+ * writeValue function from the CVA interface
1343
+ */
1344
+ writeValue(value) {
1345
+ // the this._onChange null check here is necessary because of an ongoing bug in angular forms
1346
+ // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218
1347
+ if (this.value === value && this._onChange) {
1348
+ this._onChange();
1349
+ this.fireSelect();
1350
+ }
1351
+ }
1352
+ /**
1353
+ * registerOnChange implemented from the CVA interface
1354
+ */
1355
+ registerOnChange(fn) {
1356
+ this._onChange = () => {
1357
+ fn(this.value);
1358
+ this._registry.select(this);
1359
+ };
1360
+ }
1361
+ /**
1362
+ * registerOnTouch implemented from the CVA interface
1363
+ */
1364
+ registerOnTouched(fn) {
1365
+ this._onTouched = fn;
1366
+ }
1367
+ /**
1368
+ * sets the disabled state.
1369
+ */
1370
+ setDisabledState(isDisabled) {
1371
+ this._radio.disabled = isDisabled;
1372
+ }
1373
+ /**
1374
+ calls select function for the radio
1375
+ */
1376
+ fireSelect() {
1377
+ this._radio.select();
1378
+ }
1379
+ /**
1380
+ calls deselect function for the radio
1381
+ */
1382
+ fireDeselect() {
1383
+ this._radio.deselect();
1384
+ }
1385
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioControlValueAccessorDirective, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: DaffRadioRegistry }, { token: DaffRadioComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
1386
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffRadioControlValueAccessorDirective, selector: "daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]", inputs: { value: "value", name: "name" }, ngImport: i0 }); }
1387
+ }
1388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioControlValueAccessorDirective, decorators: [{
1389
+ type: Directive,
1390
+ args: [{
1391
+ // eslint-disable-next-line @angular-eslint/directive-selector
1392
+ selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',
1393
+ }]
1394
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
1395
+ type: Optional
1396
+ }, {
1397
+ type: Self
1398
+ }] }, { type: DaffRadioRegistry }, { type: DaffRadioComponent }], propDecorators: { value: [{
1399
+ type: Input
1400
+ }], name: [{
1401
+ type: Input
1402
+ }] } });
1403
+
1404
+ class DaffRadioModule {
1405
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1406
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioModule, declarations: [DaffRadioControlValueAccessorDirective,
1407
+ DaffRadioComponent,
1408
+ DaffRadioSetComponent], imports: [CommonModule], exports: [DaffRadioComponent,
1409
+ DaffRadioSetComponent,
1410
+ DaffRadioControlValueAccessorDirective] }); }
1411
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioModule, imports: [CommonModule] }); }
1412
+ }
1413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffRadioModule, decorators: [{
1414
+ type: NgModule,
1415
+ args: [{
1416
+ exports: [
1417
+ DaffRadioComponent,
1418
+ DaffRadioSetComponent,
1419
+ DaffRadioControlValueAccessorDirective,
1420
+ ],
1421
+ declarations: [
1422
+ DaffRadioControlValueAccessorDirective,
1423
+ DaffRadioComponent,
1424
+ DaffRadioSetComponent,
1425
+ ],
1426
+ imports: [
1427
+ CommonModule,
1428
+ ],
1429
+ }]
1430
+ }] });
1431
+
1432
+ class DaffFormLabelDirective {
1433
+ constructor() {
1434
+ this.class = true;
1435
+ }
1436
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1437
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffFormLabelDirective, selector: "[daffFormLabel]", host: { properties: { "class.daff-form-label": "this.class" } }, ngImport: i0 }); }
1438
+ }
1439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormLabelDirective, decorators: [{
1440
+ type: Directive,
1441
+ args: [{
1442
+ selector: '[daffFormLabel]',
1443
+ }]
1444
+ }], propDecorators: { class: [{
1445
+ type: HostBinding,
1446
+ args: ['class.daff-form-label']
1447
+ }] } });
1448
+
1449
+ class DaffFormLabelModule {
1450
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1451
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffFormLabelModule, declarations: [DaffFormLabelDirective], exports: [DaffFormLabelDirective] }); }
1452
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormLabelModule }); }
1453
+ }
1454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFormLabelModule, decorators: [{
1455
+ type: NgModule,
1456
+ args: [{
1457
+ exports: [
1458
+ DaffFormLabelDirective,
1459
+ ],
1460
+ declarations: [
1461
+ DaffFormLabelDirective,
1462
+ ],
1463
+ }]
1464
+ }] });
1465
+
1466
+ const animationDuration = '350ms';
1467
+ const backdropTransitionOut = 'cubic-bezier(0.4, 0.0, 1, 1)';
1468
+ const backdropTransitionIn = 'cubic-bezier(0.0, 0.0, 0.2, 1)';
1469
+ const daffBackdropAnimations = {
1470
+ fadeBackdrop: trigger('fadeBackdrop', [
1471
+ state('interactable', style({ opacity: 1 })),
1472
+ state('non-interactable', style({ opacity: 0 })),
1473
+ transition('interactable => non-interactable', animate(animationDuration + ' ' + backdropTransitionOut)),
1474
+ transition('non-interactable => interactable', animate(animationDuration + ' ' + backdropTransitionIn)),
1475
+ transition(':enter', [
1476
+ style({ opacity: 0 }),
1477
+ animate(animationDuration + ' ' + backdropTransitionIn, style({ opacity: 1 })),
1478
+ ]),
1479
+ transition(':leave', [
1480
+ animate(animationDuration + ' ' + backdropTransitionOut, style({ opacity: 0 })),
1481
+ ]),
1482
+ ]),
1483
+ };
1484
+
1485
+ const getAnimationState = (interactable) => interactable ? 'interactable' : 'non-interactable';
1486
+
1487
+ class DaffBackdropComponent {
1488
+ constructor() {
1489
+ /**
1490
+ * Determines whether or not the backdrop is transparent.
1491
+ */
1492
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
1493
+ this.transparent = false;
1494
+ /**
1495
+ * Determines whether or not the backdrop is interactable.
1496
+ */
1497
+ this.interactable = true;
1498
+ /**
1499
+ * Boolean property that determines whether or not the
1500
+ * backdrop should fill up its containing window.
1501
+ */
1502
+ // eslint-disable-next-line @typescript-eslint/no-inferrable-types
1503
+ this.fullscreen = false;
1504
+ /**
1505
+ * Output event triggered when the backdrop is clicked.
1506
+ */
1507
+ this.backdropClicked = new EventEmitter();
1508
+ this.interactableClass = true;
1509
+ }
1510
+ ngOnInit() {
1511
+ this.interactableClass = this.interactable;
1512
+ }
1513
+ /**
1514
+ * Animation hook for that controls the backdrops
1515
+ * entrance and fade animations.
1516
+ */
1517
+ get fadeBackdropTrigger() {
1518
+ return getAnimationState(this.interactable);
1519
+ }
1520
+ animationDone(e) {
1521
+ this.interactableClass = !(e.toState === ':leave' || e.toState === 'non-interactable');
1522
+ }
1523
+ animationStart(e) {
1524
+ if (e.toState === ':enter' || e.toState === 'interactable') {
1525
+ this.interactableClass = true;
1526
+ }
1527
+ }
1528
+ /**
1529
+ * @deprecated
1530
+ * Backdrop event that triggers when the backdrop element is clicked.
1531
+ */
1532
+ onBackdropClicked() {
1533
+ this.backdropClicked.emit();
1534
+ }
1535
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1536
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", 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;-moz-user-select:none;-ms-user-select:none;user-select:none}.daff-backdrop{background:#0000004d;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: [
1537
+ daffBackdropAnimations.fadeBackdrop,
1538
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1539
+ }
1540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffBackdropComponent, decorators: [{
1541
+ type: Component,
1542
+ args: [{ selector: 'daff-backdrop', animations: [
1543
+ daffBackdropAnimations.fadeBackdrop,
1544
+ ], 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;-moz-user-select:none;-ms-user-select:none;user-select:none}.daff-backdrop{background:#0000004d;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"] }]
1545
+ }], propDecorators: { transparent: [{
1546
+ type: Input
1547
+ }], interactable: [{
1548
+ type: Input
1549
+ }], fullscreen: [{
1550
+ type: Input
1551
+ }], backdropClicked: [{
1552
+ type: Output
1553
+ }], interactableClass: [{
1554
+ type: HostBinding,
1555
+ args: ['class.interactable']
1556
+ }], fadeBackdropTrigger: [{
1557
+ type: HostBinding,
1558
+ args: ['@fadeBackdrop']
1559
+ }], animationDone: [{
1560
+ type: HostListener,
1561
+ args: ['@fadeBackdrop.done', ['$event']]
1562
+ }], animationStart: [{
1563
+ type: HostListener,
1564
+ args: ['@fadeBackdrop.start', ['$event']]
1565
+ }], onBackdropClicked: [{
1566
+ type: HostListener,
1567
+ args: ['click']
1568
+ }] } });
1569
+
1570
+ class DaffBackdropModule {
1571
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffBackdropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1572
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffBackdropModule, declarations: [DaffBackdropComponent], imports: [CommonModule], exports: [DaffBackdropComponent] }); }
1573
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffBackdropModule, imports: [CommonModule] }); }
1574
+ }
1575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffBackdropModule, decorators: [{
1576
+ type: NgModule,
1577
+ args: [{
1578
+ imports: [
1579
+ CommonModule,
1580
+ ],
1581
+ declarations: [
1582
+ DaffBackdropComponent,
1583
+ ],
1584
+ exports: [
1585
+ DaffBackdropComponent,
1586
+ ],
1587
+ }]
1588
+ }] });
1589
+
1590
+ /**
1591
+ * @deprecated in v1.0.0
1592
+ */
1593
+ class DaffButtonSetComponent {
1594
+ constructor() {
1595
+ /**
1596
+ * @docs-private
1597
+ */
1598
+ this.class = true;
1599
+ }
1600
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffButtonSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1601
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffButtonSetComponent, selector: "daff-button-set", host: { properties: { "class.daff-button-set": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".daff-button-set{display:flex;flex-direction:column;flex-wrap:wrap}@media (min-width: 480px){.daff-button-set{flex-direction:row}}.daff-button-set>*{margin:0 0 5px}.daff-button-set>*:last-child{margin:0}@media (min-width: 480px){.daff-button-set>*{margin:0 5px 0 0}.daff-button-set>*:last-child{margin:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1602
+ }
1603
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffButtonSetComponent, decorators: [{
1604
+ type: Component,
1605
+ args: [{ selector: 'daff-button-set', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".daff-button-set{display:flex;flex-direction:column;flex-wrap:wrap}@media (min-width: 480px){.daff-button-set{flex-direction:row}}.daff-button-set>*{margin:0 0 5px}.daff-button-set>*:last-child{margin:0}@media (min-width: 480px){.daff-button-set>*{margin:0 5px 0 0}.daff-button-set>*:last-child{margin:0}}\n"] }]
1606
+ }], propDecorators: { class: [{
1607
+ type: HostBinding,
1608
+ args: ['class.daff-button-set']
1609
+ }] } });
1610
+
1611
+ class DaffButtonSetModule {
1612
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffButtonSetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1613
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffButtonSetModule, declarations: [DaffButtonSetComponent], exports: [DaffButtonSetComponent] }); }
1614
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffButtonSetModule }); }
1615
+ }
1616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffButtonSetModule, decorators: [{
1617
+ type: NgModule,
1618
+ args: [{
1619
+ declarations: [
1620
+ DaffButtonSetComponent,
1621
+ ],
1622
+ exports: [
1623
+ DaffButtonSetComponent,
1624
+ ],
1625
+ }]
1626
+ }] });
1627
+
1628
+ class DaffImageListComponent {
1629
+ constructor() {
1630
+ /**
1631
+ * @docs-private
1632
+ */
1633
+ this.class = true;
1634
+ }
1635
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1636
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffImageListComponent, selector: "daff-image-list", host: { properties: { "class.daff-image-list": "this.class" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1637
+ }
1638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageListComponent, decorators: [{
1639
+ type: Component,
1640
+ args: [{ selector: 'daff-image-list', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }]
1641
+ }], propDecorators: { class: [{
1642
+ type: HostBinding,
1643
+ args: ['class.daff-image-list']
1644
+ }] } });
1645
+
1646
+ /**
1647
+ * @deprecated See {@link DaffMediaGalleryComponent}
1648
+ */
1649
+ class DaffImageGalleryComponent {
1650
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageGalleryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1651
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffImageGalleryComponent, selector: "daff-image-gallery", ngImport: i0, template: "<div class=\"daff-image-gallery\">\n <div class=\"daff-image-gallery__active-image\">\n <ng-content select=\"[daff-active-image]\"></ng-content>\n </div>\n\n <daff-image-list class=\"daff-image-gallery__image-list\">\n <ng-content select=\"daff-gallery-image\"></ng-content>\n </daff-image-list>\n</div>\n", styles: [".daff-image-gallery{display:grid;flex-direction:column;grid-template-areas:\"active-image\" \"image-list\";max-height:100%}@media (min-width: 1024px){.daff-image-gallery{grid-template-areas:\"image-list active-image\";max-height:min-content}}.daff-image-gallery__active-image{grid-area:active-image}.daff-image-gallery__active-image img{display:block;max-width:100%}.daff-image-gallery__image-list{grid-area:image-list;margin:5px 0 0;max-height:100%}@media (min-width: 1024px){.daff-image-gallery__image-list{margin:0 25px 0 0;max-height:-webkit-fill-available}}.daff-image-gallery__daff-gallery-image img{display:block;opacity:.6;width:90px}.daff-image-gallery__daff-gallery-image--selected img{opacity:1}\n"], dependencies: [{ kind: "component", type: DaffImageListComponent, selector: "daff-image-list" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1652
+ }
1653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageGalleryComponent, decorators: [{
1654
+ type: Component,
1655
+ args: [{ selector: 'daff-image-gallery', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"daff-image-gallery\">\n <div class=\"daff-image-gallery__active-image\">\n <ng-content select=\"[daff-active-image]\"></ng-content>\n </div>\n\n <daff-image-list class=\"daff-image-gallery__image-list\">\n <ng-content select=\"daff-gallery-image\"></ng-content>\n </daff-image-list>\n</div>\n", styles: [".daff-image-gallery{display:grid;flex-direction:column;grid-template-areas:\"active-image\" \"image-list\";max-height:100%}@media (min-width: 1024px){.daff-image-gallery{grid-template-areas:\"image-list active-image\";max-height:min-content}}.daff-image-gallery__active-image{grid-area:active-image}.daff-image-gallery__active-image img{display:block;max-width:100%}.daff-image-gallery__image-list{grid-area:image-list;margin:5px 0 0;max-height:100%}@media (min-width: 1024px){.daff-image-gallery__image-list{margin:0 25px 0 0;max-height:-webkit-fill-available}}.daff-image-gallery__daff-gallery-image img{display:block;opacity:.6;width:90px}.daff-image-gallery__daff-gallery-image--selected img{opacity:1}\n"] }]
1656
+ }] });
1657
+
1658
+ /**
1659
+ * @deprecated See {@link DaffThumbnailDirective}
1660
+ */
1661
+ class DaffGalleryImageComponent {
1662
+ constructor() {
1663
+ this.class = true;
1664
+ }
1665
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffGalleryImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1666
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffGalleryImageComponent, selector: "daff-gallery-image", inputs: { selected: "selected" }, host: { properties: { "class.daff-image-gallery__daff-gallery-image--selected": "this.selected", "class.daff-image-gallery__daff-gallery-image": "this.class" } }, ngImport: i0, template: "<div class=\"gallery-image__wrapper\">\n <ng-content></ng-content>\n</div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1667
+ }
1668
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffGalleryImageComponent, decorators: [{
1669
+ type: Component,
1670
+ args: [{ selector: 'daff-gallery-image', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"gallery-image__wrapper\">\n <ng-content></ng-content>\n</div>" }]
1671
+ }], propDecorators: { selected: [{
1672
+ type: HostBinding,
1673
+ args: ['class.daff-image-gallery__daff-gallery-image--selected']
1674
+ }, {
1675
+ type: Input
1676
+ }], class: [{
1677
+ type: HostBinding,
1678
+ args: ['class.daff-image-gallery__daff-gallery-image']
1679
+ }] } });
1680
+
1681
+ class DaffImageListModule {
1682
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1683
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffImageListModule, declarations: [DaffImageListComponent], imports: [CommonModule], exports: [DaffImageListComponent] }); }
1684
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageListModule, imports: [CommonModule] }); }
1685
+ }
1686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageListModule, decorators: [{
1687
+ type: NgModule,
1688
+ args: [{
1689
+ imports: [
1690
+ CommonModule,
1691
+ ],
1692
+ declarations: [
1693
+ DaffImageListComponent,
1694
+ ],
1695
+ exports: [
1696
+ DaffImageListComponent,
1697
+ ],
1698
+ }]
1699
+ }] });
1700
+
1701
+ class DaffImageGalleryModule {
1702
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageGalleryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1703
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffImageGalleryModule, declarations: [DaffImageGalleryComponent,
1704
+ DaffGalleryImageComponent], imports: [CommonModule,
1705
+ DaffImageListModule], exports: [DaffImageGalleryComponent,
1706
+ DaffGalleryImageComponent] }); }
1707
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageGalleryModule, imports: [CommonModule,
1708
+ DaffImageListModule] }); }
1709
+ }
1710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffImageGalleryModule, decorators: [{
1711
+ type: NgModule,
1712
+ args: [{
1713
+ imports: [
1714
+ CommonModule,
1715
+ DaffImageListModule,
1716
+ ],
1717
+ declarations: [
1718
+ DaffImageGalleryComponent,
1719
+ DaffGalleryImageComponent,
1720
+ ],
1721
+ exports: [
1722
+ DaffImageGalleryComponent,
1723
+ DaffGalleryImageComponent,
1724
+ ],
1725
+ }]
1726
+ }] });
1727
+
1728
+ /**
1729
+ * @deprecated See {@link DaffQuantityFieldComponent}
1730
+ */
1731
+ // ChangeDetection is ignored because this component is deprecated and will be removed
1732
+ // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
1733
+ class DaffQtyDropdownComponent {
1734
+ constructor(renderer) {
1735
+ this.renderer = renderer;
1736
+ this.dropdownRange = 9;
1737
+ this.qtyChanged = new EventEmitter();
1738
+ /**
1739
+ * @docs-private
1740
+ */
1741
+ this.onChange = (qty) => { };
1742
+ /**
1743
+ * @docs-private
1744
+ */
1745
+ this.onTouched = () => { };
1746
+ }
1747
+ /**
1748
+ * @docs-private
1749
+ */
1750
+ ngOnInit() {
1751
+ this.dropdownItemCounter = Array.from(Array(this.dropdownRange), (x, i) => i);
1752
+ if (!this.qty) {
1753
+ this.qty = 1;
1754
+ }
1755
+ }
1756
+ /**
1757
+ * @docs-private
1758
+ */
1759
+ writeValue(qty) {
1760
+ this.qty = qty;
1761
+ this.onChange(this.qty);
1762
+ }
1763
+ /**
1764
+ * @docs-private
1765
+ */
1766
+ registerOnChange(fn) {
1767
+ this.onChange = fn;
1768
+ }
1769
+ /**
1770
+ * @docs-private
1771
+ */
1772
+ registerOnTouched(fn) {
1773
+ this.onTouched = fn;
1774
+ }
1775
+ /**
1776
+ * @docs-private
1777
+ */
1778
+ setDisabledState(isDisabled) {
1779
+ if (this.inputHasBeenShown) {
1780
+ this.renderer.setProperty(document.getElementById('input_' + this.id), 'disabled', isDisabled);
1781
+ }
1782
+ else {
1783
+ this.renderer.setProperty(document.getElementById('select_' + this.id), 'disabled', isDisabled);
1784
+ }
1785
+ }
1786
+ /**
1787
+ * @docs-private
1788
+ */
1789
+ get showQtyInputField() {
1790
+ if (!this.isQtyOutsideDropdownRange() && !this.inputHasBeenShown) {
1791
+ return false;
1792
+ }
1793
+ else {
1794
+ this.inputHasBeenShown = true;
1795
+ return true;
1796
+ }
1797
+ }
1798
+ /**
1799
+ * @docs-private
1800
+ */
1801
+ onChangedWrapper(value) {
1802
+ value = parseInt(value, 10);
1803
+ if (value === 10) {
1804
+ this.selectInput();
1805
+ }
1806
+ this.qtyChanged.emit(value);
1807
+ this.onChange(value);
1808
+ }
1809
+ isQtyOutsideDropdownRange() {
1810
+ return this.qty > this.dropdownRange;
1811
+ }
1812
+ selectInput() {
1813
+ // TODO: readdress this method
1814
+ // why use `setTimeout` instead of angular patterns?
1815
+ setTimeout(() => {
1816
+ const input = document.getElementById('input_' + this.id);
1817
+ input?.select();
1818
+ });
1819
+ }
1820
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQtyDropdownComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
1821
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", 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"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DaffFormFieldComponent, selector: "daff-form-field", inputs: ["formSubmitted"] }, { kind: "component", type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["formSubmitted"] }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]", inputs: ["formSubmitted"] }] }); }
1822
+ }
1823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQtyDropdownComponent, decorators: [{
1824
+ type: Component,
1825
+ 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"] }]
1826
+ }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { qty: [{
1827
+ type: Input
1828
+ }], id: [{
1829
+ type: Input
1830
+ }], qtyChanged: [{
1831
+ type: Output
1832
+ }] } });
1833
+
1834
+ class DaffQtyDropdownModule {
1835
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQtyDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1836
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffQtyDropdownModule, declarations: [DaffQtyDropdownComponent], imports: [CommonModule,
1837
+ FormsModule,
1838
+ DaffFormFieldModule,
1839
+ DaffNativeSelectModule,
1840
+ DaffInputModule], exports: [DaffQtyDropdownComponent] }); }
1841
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQtyDropdownModule, imports: [CommonModule,
1842
+ FormsModule,
1843
+ DaffFormFieldModule,
1844
+ DaffNativeSelectModule,
1845
+ DaffInputModule] }); }
1846
+ }
1847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffQtyDropdownModule, decorators: [{
1848
+ type: NgModule,
1849
+ args: [{
1850
+ imports: [
1851
+ CommonModule,
1852
+ FormsModule,
1853
+ DaffFormFieldModule,
1854
+ DaffNativeSelectModule,
1855
+ DaffInputModule,
1856
+ ],
1857
+ declarations: [
1858
+ DaffQtyDropdownComponent,
1859
+ ],
1860
+ exports: [
1861
+ DaffQtyDropdownComponent,
1862
+ ],
1863
+ }]
1864
+ }] });
1865
+
1866
+ var DaffFeatureModeEnum;
1867
+ (function (DaffFeatureModeEnum) {
1868
+ DaffFeatureModeEnum["Compact"] = "compact";
1869
+ DaffFeatureModeEnum["Normal"] = "normal";
1870
+ })(DaffFeatureModeEnum || (DaffFeatureModeEnum = {}));
1871
+ /**
1872
+ * @deprecated See {@link DaffCardComponent}
1873
+ */
1874
+ class DaffFeatureComponent {
1875
+ constructor() {
1876
+ /**
1877
+ * @docs-private
1878
+ */
1879
+ this.class = true;
1880
+ this.mode = DaffFeatureModeEnum.Normal;
1881
+ }
1882
+ /**
1883
+ * @docs-private
1884
+ */
1885
+ get compact() {
1886
+ return this.mode === DaffFeatureModeEnum.Compact;
1887
+ }
1888
+ /**
1889
+ * @docs-private
1890
+ */
1891
+ get normal() {
1892
+ return this.mode === DaffFeatureModeEnum.Normal;
1893
+ }
1894
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1895
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffFeatureComponent, selector: "daff-feature", inputs: { mode: "mode" }, host: { properties: { "class.daff-feature": "this.class", "class.daff-feature--compact": "this.compact", "class.daff-feature--normal": "this.normal" } }, ngImport: i0, template: "<ng-content select=\"[daffFeatureIcon]\"></ng-content>\n<div class=\"daff-feature__content\">\n <ng-content select=\"[daffFeatureSubheader]\"></ng-content>\n <ng-content select=\"[daffFeatureTitle]\"></ng-content>\n <ng-content select=\"[daffFeatureSubtitle]\"></ng-content>\n <ng-content></ng-content>\n</div>", styles: [".daff-feature{border-radius:10px;display:flex}.daff-feature__icon{display:inline-block;max-width:30px}@media (min-width: 480px){.daff-feature__icon{max-width:50px}}.daff-feature__subheader{text-transform:uppercase;font-size:.75rem;letter-spacing:.075rem;line-height:1rem}@media (min-width: 480px){.daff-feature__subheader{font-size:.875rem}}.daff-feature__title{font-weight:700;margin:0 0 15px;padding:0}.daff-feature__subtitle{font-size:1rem;margin:0;padding:0}.daff-feature--normal{align-items:flex-start;flex-direction:column;padding:25px}@media (min-width: 480px){.daff-feature--normal{align-items:center;flex-direction:row;padding:50px}}.daff-feature--normal .daff-feature__icon{margin:0 0 15px}@media (min-width: 480px){.daff-feature--normal .daff-feature__icon{margin:0 25px 0 0}}.daff-feature--normal .daff-feature__subheader{margin:0 0 15px}@media (min-width: 480px){.daff-feature--normal .daff-feature__subheader{margin:0 0 30px}}.daff-feature--normal .daff-feature__title{font-size:1.25rem;line-height:1.25rem}@media (min-width: 480px){.daff-feature--normal .daff-feature__title{font-size:2rem;line-height:2rem}}.daff-feature--compact{align-items:flex-start;flex-direction:column;padding:25px}.daff-feature--compact .daff-feature__icon{margin:0 0 15px}.daff-feature--compact .daff-feature__subheader{margin:0 0 5px}.daff-feature--compact .daff-feature__title{font-size:1.25rem;line-height:1.25rem}@media (min-width: 480px){.daff-feature--compact .daff-feature__title{font-size:1.5rem;line-height:1.5rem}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1896
+ }
1897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureComponent, decorators: [{
1898
+ type: Component,
1899
+ args: [{ selector: 'daff-feature', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"[daffFeatureIcon]\"></ng-content>\n<div class=\"daff-feature__content\">\n <ng-content select=\"[daffFeatureSubheader]\"></ng-content>\n <ng-content select=\"[daffFeatureTitle]\"></ng-content>\n <ng-content select=\"[daffFeatureSubtitle]\"></ng-content>\n <ng-content></ng-content>\n</div>", styles: [".daff-feature{border-radius:10px;display:flex}.daff-feature__icon{display:inline-block;max-width:30px}@media (min-width: 480px){.daff-feature__icon{max-width:50px}}.daff-feature__subheader{text-transform:uppercase;font-size:.75rem;letter-spacing:.075rem;line-height:1rem}@media (min-width: 480px){.daff-feature__subheader{font-size:.875rem}}.daff-feature__title{font-weight:700;margin:0 0 15px;padding:0}.daff-feature__subtitle{font-size:1rem;margin:0;padding:0}.daff-feature--normal{align-items:flex-start;flex-direction:column;padding:25px}@media (min-width: 480px){.daff-feature--normal{align-items:center;flex-direction:row;padding:50px}}.daff-feature--normal .daff-feature__icon{margin:0 0 15px}@media (min-width: 480px){.daff-feature--normal .daff-feature__icon{margin:0 25px 0 0}}.daff-feature--normal .daff-feature__subheader{margin:0 0 15px}@media (min-width: 480px){.daff-feature--normal .daff-feature__subheader{margin:0 0 30px}}.daff-feature--normal .daff-feature__title{font-size:1.25rem;line-height:1.25rem}@media (min-width: 480px){.daff-feature--normal .daff-feature__title{font-size:2rem;line-height:2rem}}.daff-feature--compact{align-items:flex-start;flex-direction:column;padding:25px}.daff-feature--compact .daff-feature__icon{margin:0 0 15px}.daff-feature--compact .daff-feature__subheader{margin:0 0 5px}.daff-feature--compact .daff-feature__title{font-size:1.25rem;line-height:1.25rem}@media (min-width: 480px){.daff-feature--compact .daff-feature__title{font-size:1.5rem;line-height:1.5rem}}\n"] }]
1900
+ }], propDecorators: { class: [{
1901
+ type: HostBinding,
1902
+ args: ['class.daff-feature']
1903
+ }], mode: [{
1904
+ type: Input
1905
+ }], compact: [{
1906
+ type: HostBinding,
1907
+ args: ['class.daff-feature--compact']
1908
+ }], normal: [{
1909
+ type: HostBinding,
1910
+ args: ['class.daff-feature--normal']
1911
+ }] } });
1912
+
1913
+ class DaffFeatureIconDirective {
1914
+ constructor() {
1915
+ /**
1916
+ * @docs-private
1917
+ */
1918
+ this.class = true;
1919
+ }
1920
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1921
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffFeatureIconDirective, selector: "[daffFeatureIcon]", host: { properties: { "class.daff-feature__icon": "this.class" } }, ngImport: i0 }); }
1922
+ }
1923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureIconDirective, decorators: [{
1924
+ type: Directive,
1925
+ args: [{
1926
+ selector: '[daffFeatureIcon]',
1927
+ }]
1928
+ }], propDecorators: { class: [{
1929
+ type: HostBinding,
1930
+ args: ['class.daff-feature__icon']
1931
+ }] } });
1932
+
1933
+ class DaffFeatureSubheaderDirective {
1934
+ constructor() {
1935
+ /**
1936
+ * @docs-private
1937
+ */
1938
+ this.class = true;
1939
+ }
1940
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureSubheaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1941
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffFeatureSubheaderDirective, selector: "[daffFeatureSubheader]", host: { properties: { "class.daff-feature__subheader": "this.class" } }, ngImport: i0 }); }
1942
+ }
1943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureSubheaderDirective, decorators: [{
1944
+ type: Directive,
1945
+ args: [{
1946
+ selector: '[daffFeatureSubheader]',
1947
+ }]
1948
+ }], propDecorators: { class: [{
1949
+ type: HostBinding,
1950
+ args: ['class.daff-feature__subheader']
1951
+ }] } });
1952
+
1953
+ class DaffFeatureSubtitleDirective {
1954
+ constructor() {
1955
+ /**
1956
+ * @docs-private
1957
+ */
1958
+ this.class = true;
1959
+ }
1960
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureSubtitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1961
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffFeatureSubtitleDirective, selector: "[daffFeatureSubtitle]", host: { properties: { "class.daff-feature__subtitle": "this.class" } }, ngImport: i0 }); }
1962
+ }
1963
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureSubtitleDirective, decorators: [{
1964
+ type: Directive,
1965
+ args: [{
1966
+ selector: '[daffFeatureSubtitle]',
1967
+ }]
1968
+ }], propDecorators: { class: [{
1969
+ type: HostBinding,
1970
+ args: ['class.daff-feature__subtitle']
1971
+ }] } });
1972
+
1973
+ class DaffFeatureTitleDirective {
1974
+ constructor() {
1975
+ /**
1976
+ * @docs-private
1977
+ */
1978
+ this.class = true;
1979
+ }
1980
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1981
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffFeatureTitleDirective, selector: "[daffFeatureTitle]", host: { properties: { "class.daff-feature__title": "this.class" } }, ngImport: i0 }); }
1982
+ }
1983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureTitleDirective, decorators: [{
1984
+ type: Directive,
1985
+ args: [{
1986
+ selector: '[daffFeatureTitle]',
1987
+ }]
1988
+ }], propDecorators: { class: [{
1989
+ type: HostBinding,
1990
+ args: ['class.daff-feature__title']
1991
+ }] } });
1992
+
1993
+ class DaffFeatureModule {
1994
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1995
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureModule, declarations: [DaffFeatureComponent,
1996
+ DaffFeatureTitleDirective,
1997
+ DaffFeatureSubtitleDirective,
1998
+ DaffFeatureIconDirective,
1999
+ DaffFeatureSubheaderDirective], imports: [CommonModule], exports: [DaffFeatureComponent,
2000
+ DaffFeatureTitleDirective,
2001
+ DaffFeatureSubtitleDirective,
2002
+ DaffFeatureIconDirective,
2003
+ DaffFeatureSubheaderDirective] }); }
2004
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureModule, imports: [CommonModule] }); }
2005
+ }
2006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFeatureModule, decorators: [{
2007
+ type: NgModule,
2008
+ args: [{
2009
+ imports: [
2010
+ CommonModule,
2011
+ ],
2012
+ declarations: [
2013
+ DaffFeatureComponent,
2014
+ DaffFeatureTitleDirective,
2015
+ DaffFeatureSubtitleDirective,
2016
+ DaffFeatureIconDirective,
2017
+ DaffFeatureSubheaderDirective,
2018
+ ],
2019
+ exports: [
2020
+ DaffFeatureComponent,
2021
+ DaffFeatureTitleDirective,
2022
+ DaffFeatureSubtitleDirective,
2023
+ DaffFeatureIconDirective,
2024
+ DaffFeatureSubheaderDirective,
2025
+ ],
2026
+ }]
2027
+ }] });
2028
+
2029
+ /**
2030
+ *
2031
+ * Prefix can be used to place content before another piece of content in components like
2032
+ * `daff-form-field`, `daff-solo-field`, and `daff-list`.
2033
+ */
2034
+ class DaffPrefixDirective {
2035
+ constructor() {
2036
+ this.class = true;
2037
+ }
2038
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2039
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffPrefixDirective, selector: "[daffPrefix]", host: { properties: { "class.daff-prefix": "this.class" } }, ngImport: i0 }); }
2040
+ }
2041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffPrefixDirective, decorators: [{
2042
+ type: Directive,
2043
+ args: [{
2044
+ selector: '[daffPrefix]',
2045
+ }]
2046
+ }], propDecorators: { class: [{
2047
+ type: HostBinding,
2048
+ args: ['class.daff-prefix']
2049
+ }] } });
2050
+
2051
+ /**
2052
+ *
2053
+ * Prefix can be used to place content after another piece of content in components like
2054
+ * `daff-form-field`, `daff-solo-field`, and `daff-list`.
2055
+ */
2056
+ class DaffSuffixDirective {
2057
+ constructor() {
2058
+ this.class = true;
2059
+ }
2060
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2061
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffSuffixDirective, selector: "[daffSuffix]", host: { properties: { "class.daff-suffix": "this.class" } }, ngImport: i0 }); }
2062
+ }
2063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffSuffixDirective, decorators: [{
2064
+ type: Directive,
2065
+ args: [{
2066
+ selector: '[daffSuffix]',
2067
+ }]
2068
+ }], propDecorators: { class: [{
2069
+ type: HostBinding,
2070
+ args: ['class.daff-suffix']
2071
+ }] } });
2072
+
2073
+ class DaffPrefixSuffixModule {
2074
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffPrefixSuffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2075
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: DaffPrefixSuffixModule, declarations: [DaffPrefixDirective,
2076
+ DaffSuffixDirective], exports: [DaffPrefixDirective,
2077
+ DaffSuffixDirective] }); }
2078
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffPrefixSuffixModule }); }
2079
+ }
2080
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffPrefixSuffixModule, decorators: [{
2081
+ type: NgModule,
2082
+ args: [{
2083
+ imports: [],
2084
+ exports: [
2085
+ DaffPrefixDirective,
2086
+ DaffSuffixDirective,
2087
+ ],
2088
+ declarations: [
2089
+ DaffPrefixDirective,
2090
+ DaffSuffixDirective,
2091
+ ],
2092
+ }]
2093
+ }] });
2094
+
2095
+ /**
2096
+ * A mixin for giving a component the ability to place content after another piece of content.
2097
+ */
2098
+ function daffSuffixableMixin(Base) {
2099
+ class SuffixableDirective extends Base {
2100
+ constructor(...args) {
2101
+ super(...args);
2102
+ }
2103
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SuffixableDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
2104
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: SuffixableDirective, queries: [{ propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
2105
+ }
2106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SuffixableDirective, decorators: [{
2107
+ type: Directive
2108
+ }], ctorParameters: () => [{ type: undefined }], propDecorators: { _suffix: [{
2109
+ type: ContentChild,
2110
+ args: [DaffSuffixDirective, { static: true }]
2111
+ }] } });
2112
+ return SuffixableDirective;
2113
+ }
2114
+
2115
+ /**
2116
+ * A mixin for giving a component the ability to place content before another piece of content.
2117
+ */
2118
+ function daffPrefixableMixin(Base) {
2119
+ class PrefixableDirective extends Base {
2120
+ constructor(...args) {
2121
+ super(...args);
2122
+ }
2123
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PrefixableDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
2124
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: PrefixableDirective, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
2125
+ }
2126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: PrefixableDirective, decorators: [{
2127
+ type: Directive
2128
+ }], ctorParameters: () => [{ type: undefined }], propDecorators: { _prefix: [{
2129
+ type: ContentChild,
2130
+ args: [DaffPrefixDirective, { static: true }]
2131
+ }] } });
2132
+ return PrefixableDirective;
2133
+ }
2134
+
2135
+ var DaffBreakpoints;
2136
+ (function (DaffBreakpoints) {
2137
+ DaffBreakpoints["DESKTOP"] = "(min-width: 1920px)";
2138
+ DaffBreakpoints["LAPTOP"] = "(min-width: 1440px)";
2139
+ DaffBreakpoints["SMALL_LAPTOP"] = "(min-width: 1200px)";
2140
+ DaffBreakpoints["BIG_TABLET"] = "(min-width: 1024px)";
2141
+ DaffBreakpoints["TABLET"] = "(min-width: 768px)";
2142
+ DaffBreakpoints["MOBILE"] = "(min-width: 480px)";
2143
+ })(DaffBreakpoints || (DaffBreakpoints = {}));
2144
+
2145
+ /**
2146
+ * A basic constructor type useful for mixins
2147
+ * See https://blog.mariusschulz.com/2017/05/26/typescript-2-2-mixin-classes
2148
+ * for a really good explanation of why mixins are useful.
2149
+ */
2150
+
2151
+ var DaffStatusEnum;
2152
+ (function (DaffStatusEnum) {
2153
+ DaffStatusEnum["Warn"] = "warn";
2154
+ DaffStatusEnum["Danger"] = "danger";
2155
+ DaffStatusEnum["Success"] = "success";
2156
+ })(DaffStatusEnum || (DaffStatusEnum = {}));
2157
+
2158
+ function daffStatusMixin(Base, defaultStatus) {
2159
+ class DaffStatusMixinClass extends Base {
2160
+ get status() {
2161
+ return this._status;
2162
+ }
2163
+ set status(value) {
2164
+ // Handles the default status
2165
+ const incomingStatus = value || defaultStatus;
2166
+ if (incomingStatus === this._status) { // Only run the dom-render if a change occurs
2167
+ return;
2168
+ }
2169
+ // Removes the old status
2170
+ if (this._status) {
2171
+ this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._status}`);
2172
+ }
2173
+ if (incomingStatus) {
2174
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingStatus}`);
2175
+ }
2176
+ this._status = incomingStatus;
2177
+ }
2178
+ constructor(...args) {
2179
+ super(...args);
2180
+ this.status = defaultStatus;
2181
+ }
2182
+ }
2183
+ ;
2184
+ // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133
2185
+ Input()(DaffStatusMixinClass.prototype, 'status');
2186
+ return DaffStatusMixinClass;
2187
+ }
2188
+
2189
+ function daffSkeletonableMixin(Base, defaultSkeleton = false) {
2190
+ return class extends Base {
2191
+ get skeleton() {
2192
+ return this._skeleton;
2193
+ }
2194
+ set skeleton(value) {
2195
+ // Handles the default skeleton
2196
+ const incomingSkeleton = value || defaultSkeleton;
2197
+ if (incomingSkeleton === this._skeleton) { // Only run the dom-render if a change occurs
2198
+ return;
2199
+ }
2200
+ if (incomingSkeleton) {
2201
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-skeleton`);
2202
+ }
2203
+ else {
2204
+ this._renderer.removeClass(this._elementRef.nativeElement, `daff-skeleton`);
2205
+ }
2206
+ this._skeleton = incomingSkeleton;
2207
+ }
2208
+ constructor(...args) {
2209
+ super(...args);
2210
+ this.skeleton = defaultSkeleton;
2211
+ }
2212
+ };
2213
+ }
2214
+
2215
+ var DaffTextAlignmentEnum;
2216
+ (function (DaffTextAlignmentEnum) {
2217
+ DaffTextAlignmentEnum["Left"] = "left";
2218
+ DaffTextAlignmentEnum["Center"] = "center";
2219
+ DaffTextAlignmentEnum["Right"] = "right";
2220
+ })(DaffTextAlignmentEnum || (DaffTextAlignmentEnum = {}));
2221
+
2222
+ function daffTextAlignmentMixin(Base, defaultTextAlignment) {
2223
+ class DaffTextAlignableMixin extends Base {
2224
+ /**
2225
+ * Controls text alignment for component-specific UI
2226
+ */
2227
+ get textAlignment() {
2228
+ return this._textAlignment;
2229
+ }
2230
+ set textAlignment(value) {
2231
+ // Handles the default text alignment
2232
+ const incomingTextAlignment = value || defaultTextAlignment;
2233
+ if (incomingTextAlignment === this._textAlignment) { // Only run the dom-render if a change occurs
2234
+ return;
2235
+ }
2236
+ // Removes the old text alignment
2237
+ if (this._textAlignment) {
2238
+ this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._textAlignment}`);
2239
+ }
2240
+ if (incomingTextAlignment) {
2241
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingTextAlignment}`);
2242
+ }
2243
+ this._textAlignment = incomingTextAlignment;
2244
+ }
2245
+ constructor(...args) {
2246
+ super(...args);
2247
+ this.textAlignment = defaultTextAlignment;
2248
+ }
2249
+ }
2250
+ ;
2251
+ // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133
2252
+ Input()(DaffTextAlignableMixin.prototype, 'textAlignment');
2253
+ return DaffTextAlignableMixin;
2254
+ }
2255
+
2256
+ function daffCompactableMixin(Base, defaultCompact = false) {
2257
+ return class extends Base {
2258
+ get compact() {
2259
+ return this._compact;
2260
+ }
2261
+ set compact(value) {
2262
+ // Handles the default compact
2263
+ const incomingCompact = value || defaultCompact;
2264
+ if (incomingCompact === this._compact) { // Only run the dom-render if a change occurs
2265
+ return;
2266
+ }
2267
+ if (incomingCompact) {
2268
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-compact`);
2269
+ }
2270
+ else {
2271
+ this._renderer.removeClass(this._elementRef.nativeElement, `daff-compact`);
2272
+ }
2273
+ this._compact = incomingCompact;
2274
+ }
2275
+ constructor(...args) {
2276
+ super(...args);
2277
+ this.compact = defaultCompact;
2278
+ }
2279
+ };
2280
+ }
2281
+
2282
+ /**
2283
+ * A mixin for giving a component the ability to manage a DaffContainerComponent's layout.
2284
+ * It passes predetermined layout styles down to the container. In order for a component to
2285
+ * do this, it must implement this mixin.
2286
+ */
2287
+ function daffManageContainerLayoutMixin(Base) {
2288
+ return class extends Base {
2289
+ constructor(...args) {
2290
+ super(...args);
2291
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-manage-container-layout`);
2292
+ }
2293
+ };
2294
+ }
2295
+
2296
+ /**
2297
+ * A mixin for giving a component the ability to prevent article styles from cascading down.
2298
+ */
2299
+ function daffArticleEncapsulatedMixin(Base) {
2300
+ return class extends Base {
2301
+ constructor(...args) {
2302
+ super(...args);
2303
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-ae`);
2304
+ }
2305
+ };
2306
+ }
2307
+
2308
+ /**
2309
+ * The possible states of a theme.
2310
+ */
2311
+ var DaffTheme;
2312
+ (function (DaffTheme) {
2313
+ DaffTheme["Light"] = "light";
2314
+ DaffTheme["Dark"] = "dark";
2315
+ DaffTheme["None"] = "none";
2316
+ })(DaffTheme || (DaffTheme = {}));
2317
+
2318
+ const mediaQueryDarkPreference = '(prefers-color-scheme: dark)';
2319
+ const addHandlerFactory = (window) => (handler) => {
2320
+ const query = window.matchMedia(mediaQueryDarkPreference);
2321
+ return 'addEventListener' in query
2322
+ ? query.addEventListener('change', handler)
2323
+ : query.addListener(handler);
2324
+ };
2325
+ const removeHandlerFactory = (window) => (handler) => {
2326
+ const query = window.matchMedia(mediaQueryDarkPreference);
2327
+ return 'removeEventListener' in query
2328
+ ? query.removeEventListener('change', handler)
2329
+ : query.removeListener(handler);
2330
+ };
2331
+ /**
2332
+ * A service for retrieving the operating system's theme preference.
2333
+ */
2334
+ class DaffOsThemeService {
2335
+ constructor(_doc) {
2336
+ this.doc = _doc;
2337
+ this.preference$ = this.doc.defaultView?.matchMedia
2338
+ ? fromEventPattern(addHandlerFactory(this.doc.defaultView), removeHandlerFactory(this.doc.defaultView))
2339
+ .pipe(startWith(this.doc.defaultView?.matchMedia(mediaQueryDarkPreference)), map((e) => e.matches), map((prefersDark) => prefersDark ? DaffTheme.Dark : DaffTheme.Light))
2340
+ : of(DaffTheme.None);
2341
+ }
2342
+ /**
2343
+ * Get the operating system's theme preference.
2344
+ */
2345
+ getThemePreference() {
2346
+ return this.preference$;
2347
+ }
2348
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffOsThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2349
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffOsThemeService, providedIn: 'root' }); }
2350
+ }
2351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffOsThemeService, decorators: [{
2352
+ type: Injectable,
2353
+ args: [{
2354
+ providedIn: 'root',
2355
+ }]
2356
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2357
+ type: Inject,
2358
+ args: [DOCUMENT]
2359
+ }] }] });
2360
+
2361
+ const THEME_STORAGE_KEY = 'DAFF_THEME';
2362
+ const coerceValue = (val) => val === DaffTheme.Dark || val === DaffTheme.Light
2363
+ ? val
2364
+ : DaffTheme.None;
2365
+ /**
2366
+ * Generate a StorageEvent
2367
+ */
2368
+ const storageEventBuilder = (value) => ({
2369
+ key: THEME_STORAGE_KEY,
2370
+ newValue: coerceValue(value) !== DaffTheme.None ? value : null,
2371
+ });
2372
+ /**
2373
+ * A service for retrieving and managing the application's stored theme.
2374
+ */
2375
+ class DaffThemeStorageService {
2376
+ constructor(storage, _doc) {
2377
+ this.storage = storage;
2378
+ this.storage$ = new Subject();
2379
+ this.doc = _doc;
2380
+ this.theme$ = merge(this.storage$, this.doc.defaultView
2381
+ ? fromEvent(this.doc.defaultView, 'storage').pipe(startWith(storageEventBuilder(this.storage.getItem(THEME_STORAGE_KEY))), catchError((e) => EMPTY))
2382
+ : of(storageEventBuilder(this.storage.getItem(THEME_STORAGE_KEY)))).pipe(filter((e) => e.key === THEME_STORAGE_KEY), map((e) => coerceValue(e.newValue)), shareReplay(1));
2383
+ }
2384
+ /**
2385
+ * Given that Safari doesn't respect in-tab storage events, we have to manually
2386
+ * fire storage events in the open tab on Webkit based browsers.
2387
+ */
2388
+ progressStorageEvent(theme) {
2389
+ this.storage$.next(storageEventBuilder(theme));
2390
+ }
2391
+ getThemeAsObservable() {
2392
+ return this.theme$;
2393
+ }
2394
+ getTheme() {
2395
+ return coerceValue(this.storage.getItem(THEME_STORAGE_KEY));
2396
+ }
2397
+ setTheme(theme) {
2398
+ this.progressStorageEvent(theme);
2399
+ this.storage.setItem(THEME_STORAGE_KEY, theme);
2400
+ }
2401
+ removeThemeSetting() {
2402
+ this.progressStorageEvent(DaffTheme.None);
2403
+ this.storage.removeItem(THEME_STORAGE_KEY);
2404
+ }
2405
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemeStorageService, deps: [{ token: DaffServerSafePersistenceServiceToken }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2406
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemeStorageService, providedIn: 'root' }); }
2407
+ }
2408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemeStorageService, decorators: [{
2409
+ type: Injectable,
2410
+ args: [{
2411
+ providedIn: 'root',
2412
+ }]
2413
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2414
+ type: Inject,
2415
+ args: [DaffServerSafePersistenceServiceToken]
2416
+ }] }, { type: undefined, decorators: [{
2417
+ type: Inject,
2418
+ args: [DOCUMENT]
2419
+ }] }] });
2420
+
2421
+ /**
2422
+ * Computes the appropriate application theme from the specified values.
2423
+ * It cascades from `storedPreference` to `osPreference` to `defaultTheme`.
2424
+ */
2425
+ const daffComputeThemeSetting = (osPreference, storedPreference, defaultTheme = DaffTheme.Dark) => {
2426
+ if (storedPreference) {
2427
+ return storedPreference;
2428
+ }
2429
+ if (osPreference === 'dark') {
2430
+ return DaffTheme.Dark;
2431
+ }
2432
+ if (osPreference === 'light') {
2433
+ return DaffTheme.Light;
2434
+ }
2435
+ return defaultTheme;
2436
+ };
2437
+
2438
+ /**
2439
+ * A service for controlling the application's theme.
2440
+ */
2441
+ class DaffThemingService {
2442
+ constructor(osTheme, themeStorage) {
2443
+ this.osTheme = osTheme;
2444
+ this.themeStorage = themeStorage;
2445
+ this.theme$ = combineLatest([
2446
+ this.osTheme.getThemePreference(),
2447
+ this.themeStorage.getThemeAsObservable(),
2448
+ ]).pipe(map(([osPreference, storedPreference]) => daffComputeThemeSetting(osPreference, storedPreference)));
2449
+ this.theme$.subscribe((theme) => {
2450
+ this.theme = theme;
2451
+ });
2452
+ }
2453
+ /**
2454
+ * Get the current theme.
2455
+ */
2456
+ getTheme() {
2457
+ return this.theme$;
2458
+ }
2459
+ /**
2460
+ * Set the theme to dark mode.
2461
+ */
2462
+ darkMode() {
2463
+ this.themeStorage.setTheme(DaffTheme.Dark);
2464
+ }
2465
+ /**
2466
+ * Set the theme to light mode.
2467
+ */
2468
+ lightMode() {
2469
+ this.themeStorage.setTheme(DaffTheme.Light);
2470
+ }
2471
+ /**
2472
+ * Switch between themes.
2473
+ */
2474
+ switchTheme() {
2475
+ return this.theme === DaffTheme.Dark
2476
+ ? this.lightMode()
2477
+ : this.darkMode();
2478
+ }
2479
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemingService, deps: [{ token: DaffOsThemeService }, { token: DaffThemeStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2480
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemingService, providedIn: 'root' }); }
2481
+ }
2482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemingService, decorators: [{
2483
+ type: Injectable,
2484
+ args: [{
2485
+ providedIn: 'root',
2486
+ }]
2487
+ }], ctorParameters: () => [{ type: DaffOsThemeService }, { type: DaffThemeStorageService }] });
2488
+
2489
+ const DAFF_THEME_DARK_CSS_CLASS = 'daff-theme-dark';
2490
+ const DAFF_THEME_LIGHT_CSS_CLASS = 'daff-theme-light';
2491
+ /**
2492
+ * This class updates the body of the application with the theme's appropriate class.
2493
+ * Note that this service is not provided tree-shakably by intention.
2494
+ * It is intended to be provided manually during setup.
2495
+ */
2496
+ class DaffThemeClassSetterService {
2497
+ constructor(_doc, rendererFactory, themingService) {
2498
+ this.rendererFactory = rendererFactory;
2499
+ this.themingService = themingService;
2500
+ this.doc = _doc;
2501
+ this.renderer = this.rendererFactory.createRenderer(null, null);
2502
+ }
2503
+ /**
2504
+ * This function is intended to only be called once when the service
2505
+ * is initialized for the very first time. This will mutate the class
2506
+ * on the body of the document for the appropriate theme as controlled
2507
+ * by the state of the application's theme.
2508
+ */
2509
+ beginThemeSync() {
2510
+ this.subscription = this.themingService.getTheme().subscribe((theme) => {
2511
+ // For simplicty, remove all previously applied themes.
2512
+ this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);
2513
+ this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);
2514
+ this.renderer.addClass(this.doc.body, theme === DaffTheme.Dark ? DAFF_THEME_DARK_CSS_CLASS : DAFF_THEME_LIGHT_CSS_CLASS);
2515
+ });
2516
+ }
2517
+ /**
2518
+ * This unsubscribes from the bodyClass subscription that exists.
2519
+ */
2520
+ destroy() {
2521
+ this.subscription?.unsubscribe();
2522
+ this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);
2523
+ this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);
2524
+ }
2525
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemeClassSetterService, deps: [{ token: DOCUMENT }, { token: i0.RendererFactory2 }, { token: DaffThemingService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2526
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemeClassSetterService }); }
2527
+ }
2528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffThemeClassSetterService, decorators: [{
2529
+ type: Injectable
2530
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2531
+ type: Inject,
2532
+ args: [DOCUMENT]
2533
+ }] }, { type: i0.RendererFactory2 }, { type: DaffThemingService }] });
2534
+
2535
+ const DAFF_THEME_INIT = (classSetter) => () => classSetter.beginThemeSync();
2536
+ /**
2537
+ * The theme provider for the app.
2538
+ * This configures updating the body with the theme class.
2539
+ */
2540
+ const DAFF_THEME_INITIALIZER = [
2541
+ DaffThemeClassSetterService,
2542
+ {
2543
+ provide: APP_INITIALIZER,
2544
+ multi: true,
2545
+ deps: [DaffThemeClassSetterService],
2546
+ useFactory: DAFF_THEME_INIT,
2547
+ },
2548
+ ];
2549
+
2550
+ const daffFocusableElementsSelector = 'a[href],a[routerlink], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
2551
+
2552
+ class DaffFocusStackService {
2553
+ constructor(document) {
2554
+ this.document = document;
2555
+ this._stack = [];
2556
+ }
2557
+ /**
2558
+ * Return the current length of the stack.
2559
+ */
2560
+ length() {
2561
+ return this._stack.length;
2562
+ }
2563
+ /**
2564
+ * Adds a HTML element to a focus stack and returns the new length of the stack.
2565
+ *
2566
+ * Generally, you will probably want to call this before you transition focus
2567
+ * onto a new element.
2568
+ *
2569
+ * ```ts
2570
+ * this._focusStack.push(this._doc.activeElement);
2571
+ * ```
2572
+ */
2573
+ push(el = undefined) {
2574
+ this._stack.push(el ?? this.document.activeElement);
2575
+ return this._stack.length;
2576
+ }
2577
+ /**
2578
+ * Focuses on the HTML element at the top of a stack.
2579
+ *
2580
+ * ```ts
2581
+ * this._focusStack.push(this._doc.activeElement);
2582
+ * ```
2583
+ */
2584
+ focus() {
2585
+ if (this._stack.length >= 1) {
2586
+ this._stack.slice(-1)[0].focus();
2587
+ }
2588
+ else {
2589
+ this.document.activeElement.blur();
2590
+ }
2591
+ }
2592
+ /**
2593
+ * Removes the HMTL element at the top of a stack and focuses on it.
2594
+ */
2595
+ pop(focus = true) {
2596
+ let el = this._stack.pop();
2597
+ while (el === undefined && this._stack.length > 0) {
2598
+ el = this._stack.pop();
2599
+ }
2600
+ if (el) {
2601
+ if (focus) {
2602
+ el.focus();
2603
+ }
2604
+ return el;
2605
+ }
2606
+ this.document.activeElement.blur();
2607
+ return this.document.activeElement;
2608
+ }
2609
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFocusStackService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2610
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFocusStackService, providedIn: 'root' }); }
2611
+ }
2612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffFocusStackService, decorators: [{
2613
+ type: Injectable,
2614
+ args: [{ providedIn: 'root' }]
2615
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2616
+ type: Inject,
2617
+ args: [DOCUMENT]
2618
+ }] }] });
2619
+
2620
+ /**
2621
+ * An interface for giving a component the ability to customize sizing for component-specific UI.
2622
+ * In order to be sizable, a component class must implement this property.
2623
+ */
2624
+ var DaffSizableEnum;
2625
+ (function (DaffSizableEnum) {
2626
+ DaffSizableEnum["XSmall"] = "xs";
2627
+ DaffSizableEnum["Small"] = "sm";
2628
+ DaffSizableEnum["Medium"] = "md";
2629
+ DaffSizableEnum["Large"] = "lg";
2630
+ DaffSizableEnum["XLarge"] = "xl";
2631
+ })(DaffSizableEnum || (DaffSizableEnum = {}));
2632
+
2633
+ function daffSizeMixin(Base, defaultSize) {
2634
+ class DaffSizeMixinClass extends Base {
2635
+ get size() {
2636
+ return this._size;
2637
+ }
2638
+ set size(value) {
2639
+ // Handles the default size
2640
+ const incomingSize = value || defaultSize;
2641
+ if (incomingSize !== this._size) { //Only run the dom-render if a change occurs
2642
+ //Remove the old size
2643
+ if (this._size) {
2644
+ this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._size}`);
2645
+ }
2646
+ if (incomingSize) {
2647
+ this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingSize}`);
2648
+ }
2649
+ this._size = incomingSize;
2650
+ }
2651
+ }
2652
+ constructor(...args) {
2653
+ super(...args);
2654
+ this.size = defaultSize;
2655
+ }
2656
+ }
2657
+ ;
2658
+ // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133
2659
+ Input()(DaffSizeMixinClass.prototype, 'size');
2660
+ return DaffSizeMixinClass;
2661
+ }
2662
+
2663
+ // Core
2664
+
2665
+ /*
2666
+ * Public API Surface of @daffodil/design
2667
+ */
2668
+ // Atoms
2669
+
2670
+ /**
2671
+ * Generated bundle index. Do not edit.
2672
+ */
2673
+
2674
+ export { DAFF_THEME_INITIALIZER, DaffBackdropComponent, DaffBackdropModule, DaffBreakpoints, DaffButtonSetComponent, DaffButtonSetModule, DaffCheckboxComponent, DaffCheckboxControlValueAccessorDirective, DaffCheckboxModule, DaffCheckboxSetComponent, DaffErrorMessageComponent, DaffErrorMessageModule, DaffErrorStateMatcher, DaffFeatureComponent, DaffFeatureIconDirective, DaffFeatureModeEnum, DaffFeatureModule, DaffFeatureSubheaderDirective, DaffFeatureSubtitleDirective, DaffFeatureTitleDirective, DaffFocusStackService, DaffFormFieldComponent, DaffFormFieldControl, DaffFormFieldModule, DaffFormLabelDirective, DaffFormLabelModule, DaffGalleryImageComponent, DaffImageGalleryComponent, DaffImageGalleryModule, DaffImageListComponent, DaffImageListModule, DaffInputComponent, DaffInputModule, DaffNativeSelectComponent, DaffNativeSelectModule, DaffPrefixDirective, DaffPrefixSuffixModule, DaffProgressIndicatorComponent, DaffProgressIndicatorModule, DaffQtyDropdownComponent, DaffQtyDropdownModule, DaffQuantityFieldComponent, DaffQuantityFieldModule, DaffQuantityInputComponent, DaffQuantitySelectComponent, DaffRadioComponent, DaffRadioControlValueAccessorDirective, DaffRadioModule, DaffRadioSetComponent, DaffSizableEnum, DaffStatusEnum, DaffSuffixDirective, DaffTextAlignmentEnum, DaffTheme, DaffThemingService, daffArticleEncapsulatedMixin, daffColorMixin, daffCompactableMixin, daffFocusableElementsSelector, daffManageContainerLayoutMixin, daffPrefixableMixin, daffSizeMixin, daffSkeletonableMixin, daffStatusMixin, daffSuffixableMixin, daffTextAlignmentMixin };
2675
+ //# sourceMappingURL=daffodil-design.mjs.map