@daffodil/design 0.63.2 → 0.64.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (657) hide show
  1. package/accordion/examples/basic-accordion/basic-accordion.component.d.ts +1 -1
  2. package/accordion/examples/nav-accordion/nav-accordion.component.d.ts +1 -1
  3. package/article/examples/article-blockquote/article-blockquote.component.d.ts +1 -1
  4. package/article/examples/article-code-block/article-code-block.component.d.ts +1 -1
  5. package/article/examples/article-code-inline/article-code-inline.component.d.ts +1 -1
  6. package/article/examples/article-headings/article-headings.component.d.ts +1 -1
  7. package/article/examples/article-hr/article-hr.component.d.ts +1 -1
  8. package/article/examples/article-lead/article-lead.component.d.ts +1 -1
  9. package/article/examples/article-link/article-link.component.d.ts +1 -1
  10. package/article/examples/article-meta/article-meta.component.d.ts +1 -1
  11. package/article/examples/article-ol/article-ol.component.d.ts +1 -1
  12. package/article/examples/article-table/article-table.component.d.ts +1 -1
  13. package/article/examples/article-ul/article-ul.component.d.ts +1 -1
  14. package/atoms/button/button.component.d.ts +1 -1
  15. package/atoms/container/container.component.d.ts +1 -1
  16. package/atoms/form/checkbox/checkbox.component.d.ts +1 -1
  17. package/atoms/form/checkbox/cva/checkbox-cva.directive.d.ts +1 -1
  18. package/atoms/form/checkbox-set/checkbox-set.component.d.ts +3 -3
  19. package/atoms/form/core/error-state-matcher/error-state-matcher.d.ts +2 -2
  20. package/atoms/form/error-message/error-message.component.d.ts +1 -1
  21. package/atoms/form/form-field/form-field/form-field.component.d.ts +1 -1
  22. package/atoms/form/form-label/form-label.directive.d.ts +1 -1
  23. package/atoms/form/input/input.component.d.ts +1 -1
  24. package/atoms/form/native-select/native-select.component.d.ts +1 -1
  25. package/atoms/form/quantity-field/quantity-field.component.d.ts +2 -2
  26. package/atoms/form/quantity-field/quantity-input/quantity-input.component.d.ts +3 -3
  27. package/atoms/form/quantity-field/quantity-select/quantity-select.component.d.ts +1 -1
  28. package/atoms/form/radio/cva/radio-cva.directive.d.ts +1 -1
  29. package/atoms/form/radio/radio.component.d.ts +1 -1
  30. package/atoms/form/radio-set/radio-set.component.d.ts +1 -1
  31. package/atoms/image/image.component.d.ts +1 -1
  32. package/atoms/loading-icon/loading-icon.component.d.ts +1 -1
  33. package/atoms/progress-indicator/progress-indicator.component.d.ts +1 -1
  34. package/button/examples/basic-button/basic-button.component.d.ts +1 -1
  35. package/button/examples/flat-button/flat-button.component.d.ts +1 -1
  36. package/button/examples/icon-button/icon-button.component.d.ts +1 -1
  37. package/button/examples/raised-button/raised-button.component.d.ts +1 -1
  38. package/button/examples/sizeable-button/sizeable-button.component.d.ts +1 -1
  39. package/button/examples/statusable-button/statusable-button.component.d.ts +1 -1
  40. package/button/examples/stroked-button/stroked-button.component.d.ts +1 -1
  41. package/button/examples/underline-button/underline-button.component.d.ts +1 -1
  42. package/callout/examples/callout-text-alignment/callout-text-alignment.component.d.ts +3 -3
  43. package/callout/examples/callout-theming/callout-theming.component.d.ts +3 -3
  44. package/callout/examples/callout-with-grid/callout-with-grid.component.d.ts +1 -1
  45. package/callout/examples/compact-callout/compact-callout.component.d.ts +1 -1
  46. package/card/examples/basic-card/basic-card.component.d.ts +1 -1
  47. package/card/examples/card-orientation/card-orientation.component.d.ts +3 -3
  48. package/card/examples/card-theming/card-theming.component.d.ts +3 -3
  49. package/card/examples/linkable-card/linkable-card.component.d.ts +5 -5
  50. package/card/examples/raised-card/raised-card.component.d.ts +3 -3
  51. package/card/examples/stroked-card/stroked-card.component.d.ts +3 -3
  52. package/checkbox/examples/basic-checkbox/basic-checkbox.component.d.ts +3 -3
  53. package/checkbox/examples/checkbox-set/checkbox-set.component.d.ts +3 -3
  54. package/container/examples/container-sizes/container-sizes.component.d.ts +3 -3
  55. package/core/colorable/colorable-mixin.d.ts +1 -1
  56. package/core/focus/stack.service.d.ts +1 -1
  57. package/core/prefix-suffix/prefix.directive.d.ts +1 -1
  58. package/core/prefix-suffix/suffix.directive.d.ts +1 -1
  59. package/core/sizeable/sizeable-mixin.d.ts +1 -1
  60. package/core/statusable/statusable-mixin.d.ts +1 -1
  61. package/core/text-alignable/text-alignable-mixin.d.ts +1 -1
  62. package/core/theming/services/theming.service.d.ts +1 -1
  63. package/esm2020/accordion/examples/basic-accordion/basic-accordion.component.mjs +3 -3
  64. package/esm2020/accordion/examples/basic-accordion/basic-accordion.module.mjs +5 -7
  65. package/esm2020/accordion/examples/nav-accordion/nav-accordion.component.mjs +3 -3
  66. package/esm2020/accordion/examples/nav-accordion/nav-accordion.module.mjs +5 -7
  67. package/esm2020/article/examples/article-blockquote/article-blockquote.component.mjs +3 -3
  68. package/esm2020/article/examples/article-code-block/article-code-block.component.mjs +3 -3
  69. package/esm2020/article/examples/article-code-inline/article-code-inline.component.mjs +3 -3
  70. package/esm2020/article/examples/article-examples.module.mjs +6 -11
  71. package/esm2020/article/examples/article-headings/article-headings.component.mjs +3 -3
  72. package/esm2020/article/examples/article-hr/article-hr.component.mjs +3 -3
  73. package/esm2020/article/examples/article-lead/article-lead.component.mjs +3 -3
  74. package/esm2020/article/examples/article-link/article-link.component.mjs +3 -3
  75. package/esm2020/article/examples/article-meta/article-meta.component.mjs +3 -3
  76. package/esm2020/article/examples/article-ol/article-ol.component.mjs +3 -3
  77. package/esm2020/article/examples/article-table/article-table.component.mjs +3 -3
  78. package/esm2020/article/examples/article-ul/article-ul.component.mjs +3 -3
  79. package/esm2020/atoms/button/button.component.mjs +5 -5
  80. package/esm2020/atoms/button/button.module.mjs +8 -10
  81. package/esm2020/atoms/container/container.component.mjs +3 -3
  82. package/esm2020/atoms/container/container.module.mjs +5 -7
  83. package/esm2020/atoms/form/checkbox/checkbox.component.mjs +4 -4
  84. package/esm2020/atoms/form/checkbox/checkbox.module.mjs +7 -9
  85. package/esm2020/atoms/form/checkbox/cva/checkbox-cva.directive.mjs +3 -3
  86. package/esm2020/atoms/form/checkbox-set/checkbox-set.component.mjs +6 -6
  87. package/esm2020/atoms/form/core/error-state-matcher/error-state-matcher.mjs +1 -1
  88. package/esm2020/atoms/form/error-message/error-message.component.mjs +3 -3
  89. package/esm2020/atoms/form/error-message/error-message.module.mjs +4 -4
  90. package/esm2020/atoms/form/form-field/form-field/form-field.component.mjs +5 -5
  91. package/esm2020/atoms/form/form-field/form-field.module.mjs +8 -10
  92. package/esm2020/atoms/form/form-label/form-label.directive.mjs +3 -3
  93. package/esm2020/atoms/form/form-label/form-label.module.mjs +4 -4
  94. package/esm2020/atoms/form/input/input.component.mjs +3 -3
  95. package/esm2020/atoms/form/input/input.module.mjs +5 -7
  96. package/esm2020/atoms/form/native-select/native-select.component.mjs +3 -3
  97. package/esm2020/atoms/form/native-select/native-select.module.mjs +5 -7
  98. package/esm2020/atoms/form/quantity-field/quantity-field.component.mjs +8 -8
  99. package/esm2020/atoms/form/quantity-field/quantity-field.module.mjs +10 -12
  100. package/esm2020/atoms/form/quantity-field/quantity-input/quantity-input.component.mjs +6 -6
  101. package/esm2020/atoms/form/quantity-field/quantity-select/quantity-select.component.mjs +5 -5
  102. package/esm2020/atoms/form/radio/cva/radio-cva.directive.mjs +3 -3
  103. package/esm2020/atoms/form/radio/radio.component.mjs +4 -4
  104. package/esm2020/atoms/form/radio/radio.module.mjs +6 -8
  105. package/esm2020/atoms/form/radio/registry/radio-registry.mjs +3 -3
  106. package/esm2020/atoms/form/radio-set/radio-set.component.mjs +4 -4
  107. package/esm2020/atoms/image/image.component.mjs +5 -5
  108. package/esm2020/atoms/image/image.module.mjs +5 -10
  109. package/esm2020/atoms/loading-icon/loading-icon.component.mjs +3 -3
  110. package/esm2020/atoms/loading-icon/loading-icon.module.mjs +5 -7
  111. package/esm2020/atoms/progress-indicator/progress-indicator.component.mjs +5 -5
  112. package/esm2020/atoms/progress-indicator/progress-indicator.module.mjs +5 -7
  113. package/esm2020/button/examples/basic-button/basic-button.component.mjs +5 -11
  114. package/esm2020/button/examples/basic-button/basic-button.module.mjs +6 -8
  115. package/esm2020/button/examples/flat-button/flat-button.component.mjs +5 -11
  116. package/esm2020/button/examples/flat-button/flat-button.module.mjs +6 -8
  117. package/esm2020/button/examples/icon-button/icon-button.component.mjs +5 -11
  118. package/esm2020/button/examples/icon-button/icon-button.module.mjs +6 -8
  119. package/esm2020/button/examples/raised-button/raised-button.component.mjs +5 -11
  120. package/esm2020/button/examples/raised-button/raised-button.module.mjs +6 -8
  121. package/esm2020/button/examples/sizeable-button/sizeable-button.component.mjs +3 -3
  122. package/esm2020/button/examples/sizeable-button/sizeable-button.module.mjs +6 -8
  123. package/esm2020/button/examples/statusable-button/statusable-button.component.mjs +3 -3
  124. package/esm2020/button/examples/statusable-button/statusable-button.module.mjs +6 -8
  125. package/esm2020/button/examples/stroked-button/stroked-button.component.mjs +5 -11
  126. package/esm2020/button/examples/stroked-button/stroked-button.module.mjs +6 -8
  127. package/esm2020/button/examples/underline-button/underline-button.component.mjs +5 -11
  128. package/esm2020/button/examples/underline-button/underline-button.module.mjs +6 -8
  129. package/esm2020/callout/examples/callout-text-alignment/callout-text-alignment.component.mjs +10 -10
  130. package/esm2020/callout/examples/callout-text-alignment/callout-text-alignment.module.mjs +10 -12
  131. package/esm2020/callout/examples/callout-theming/callout-theming.component.mjs +10 -10
  132. package/esm2020/callout/examples/callout-theming/callout-theming.module.mjs +9 -11
  133. package/esm2020/callout/examples/callout-with-grid/callout-with-grid.component.mjs +3 -3
  134. package/esm2020/callout/examples/callout-with-grid/callout-with-grid.module.mjs +10 -12
  135. package/esm2020/callout/examples/compact-callout/compact-callout.component.mjs +3 -3
  136. package/esm2020/callout/examples/compact-callout/compact-callout.module.mjs +9 -11
  137. package/esm2020/card/examples/basic-card/basic-card.component.mjs +3 -3
  138. package/esm2020/card/examples/basic-card/basic-card.module.mjs +9 -11
  139. package/esm2020/card/examples/card-orientation/card-orientation.component.mjs +10 -10
  140. package/esm2020/card/examples/card-orientation/card-orientation.module.mjs +10 -12
  141. package/esm2020/card/examples/card-theming/card-theming.component.mjs +9 -13
  142. package/esm2020/card/examples/card-theming/card-theming.module.mjs +8 -10
  143. package/esm2020/card/examples/linkable-card/linkable-card.component.mjs +10 -10
  144. package/esm2020/card/examples/linkable-card/linkable-card.module.mjs +10 -12
  145. package/esm2020/card/examples/raised-card/raised-card.component.mjs +8 -8
  146. package/esm2020/card/examples/raised-card/raised-card.module.mjs +9 -11
  147. package/esm2020/card/examples/stroked-card/stroked-card.component.mjs +8 -8
  148. package/esm2020/card/examples/stroked-card/stroked-card.module.mjs +10 -12
  149. package/esm2020/checkbox/examples/basic-checkbox/basic-checkbox.component.mjs +6 -6
  150. package/esm2020/checkbox/examples/basic-checkbox/basic-checkbox.module.mjs +7 -9
  151. package/esm2020/checkbox/examples/checkbox-set/checkbox-set.component.mjs +6 -6
  152. package/esm2020/checkbox/examples/checkbox-set/checkbox-set.module.mjs +7 -9
  153. package/esm2020/container/examples/container-sizes/container-sizes.component.mjs +8 -8
  154. package/esm2020/container/examples/container-sizes/container-sizes.module.mjs +7 -9
  155. package/esm2020/core/colorable/colorable-mixin.mjs +1 -1
  156. package/esm2020/core/focus/stack.service.mjs +6 -6
  157. package/esm2020/core/prefix-suffix/prefix-suffix.module.mjs +5 -5
  158. package/esm2020/core/prefix-suffix/prefix.directive.mjs +3 -3
  159. package/esm2020/core/prefix-suffix/prefixable/prefixable.mjs +3 -3
  160. package/esm2020/core/prefix-suffix/suffix.directive.mjs +3 -3
  161. package/esm2020/core/prefix-suffix/suffixable/suffixable.mjs +3 -3
  162. package/esm2020/core/sizeable/sizeable-mixin.mjs +1 -1
  163. package/esm2020/core/statusable/statusable-mixin.mjs +1 -1
  164. package/esm2020/core/text-alignable/text-alignable-mixin.mjs +1 -1
  165. package/esm2020/core/theming/services/class-setter/theme-class-setter.service.mjs +3 -3
  166. package/esm2020/core/theming/services/os-theme/ostheme.service.mjs +3 -3
  167. package/esm2020/core/theming/services/storage/theme-storage.service.mjs +3 -3
  168. package/esm2020/core/theming/services/theming.service.mjs +6 -6
  169. package/esm2020/hero/examples/compact-hero/compact-hero.component.mjs +3 -3
  170. package/esm2020/hero/examples/compact-hero/compact-hero.module.mjs +9 -11
  171. package/esm2020/hero/examples/hero-text-alignment/hero-text-alignment.component.mjs +10 -10
  172. package/esm2020/hero/examples/hero-text-alignment/hero-text-alignment.module.mjs +10 -12
  173. package/esm2020/hero/examples/hero-theming/hero-theming.component.mjs +9 -9
  174. package/esm2020/hero/examples/hero-theming/hero-theming.module.mjs +9 -11
  175. package/esm2020/hero/examples/hero-with-grid/hero-with-grid.component.mjs +3 -3
  176. package/esm2020/hero/examples/hero-with-grid/hero-with-grid.module.mjs +10 -12
  177. package/esm2020/image/examples/basic-image/basic-image.component.mjs +3 -3
  178. package/esm2020/image/examples/basic-image/basic-image.module.mjs +5 -7
  179. package/esm2020/image/examples/load-image/load-image.component.mjs +5 -5
  180. package/esm2020/image/examples/load-image/load-image.module.mjs +6 -8
  181. package/esm2020/image/examples/skeleton-image/skeleton-image.component.mjs +3 -3
  182. package/esm2020/image/examples/skeleton-image/skeleton-image.module.mjs +5 -7
  183. package/esm2020/input/examples/basic-input/basic-input.component.mjs +3 -3
  184. package/esm2020/input/examples/basic-input/basic-input.module.mjs +6 -8
  185. package/esm2020/input/examples/input-disabled/input-disabled.component.mjs +3 -3
  186. package/esm2020/input/examples/input-disabled/input-disabled.module.mjs +6 -8
  187. package/esm2020/input/examples/input-error/input-error.component.mjs +6 -6
  188. package/esm2020/input/examples/input-error/input-error.module.mjs +7 -9
  189. package/esm2020/input/examples/input-with-form-field/input-with-form-field.component.mjs +3 -3
  190. package/esm2020/input/examples/input-with-form-field/input-with-form-field.module.mjs +6 -8
  191. package/esm2020/list/examples/basic-list/basic-list.component.mjs +3 -3
  192. package/esm2020/list/examples/basic-list/basic-list.module.mjs +6 -8
  193. package/esm2020/list/examples/icon-list/icon-list.component.mjs +3 -3
  194. package/esm2020/list/examples/icon-list/icon-list.module.mjs +7 -9
  195. package/esm2020/list/examples/list-examples.module.mjs +9 -15
  196. package/esm2020/list/examples/multiline-list/multiline-list.component.mjs +3 -3
  197. package/esm2020/list/examples/multiline-list/multiline-list.module.mjs +7 -9
  198. package/esm2020/list/examples/nav-list/nav-list.component.mjs +3 -3
  199. package/esm2020/list/examples/nav-list/nav-list.module.mjs +7 -9
  200. package/esm2020/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +7 -7
  201. package/esm2020/loading-icon/examples/loading-icon-color/loading-icon-color.module.mjs +7 -9
  202. package/esm2020/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.mjs +3 -3
  203. package/esm2020/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.module.mjs +5 -7
  204. package/esm2020/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.mjs +3 -3
  205. package/esm2020/media-gallery/examples/basic-media-gallery/basic-media-gallery.module.mjs +6 -8
  206. package/esm2020/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.mjs +3 -3
  207. package/esm2020/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.module.mjs +6 -8
  208. package/esm2020/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.mjs +3 -3
  209. package/esm2020/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.module.mjs +6 -8
  210. package/esm2020/menu/examples/basic-menu/basic-menu.component.mjs +3 -3
  211. package/esm2020/menu/examples/basic-menu/basic-menu.module.mjs +7 -9
  212. package/esm2020/menu/examples/basic-menu/menu-content/menu-content.component.mjs +3 -3
  213. package/esm2020/modal/examples/basic-modal/basic-modal.component.mjs +3 -3
  214. package/esm2020/modal/examples/basic-modal/basic-modal.module.mjs +6 -8
  215. package/esm2020/modal/examples/basic-modal/modal-content.component.mjs +3 -3
  216. package/esm2020/molecules/accordion/accordion/accordion.component.mjs +3 -3
  217. package/esm2020/molecules/accordion/accordion-item/accordion-item.component.mjs +4 -4
  218. package/esm2020/molecules/accordion/accordion-item-content/accordion-item-content.directive.mjs +3 -3
  219. package/esm2020/molecules/accordion/accordion-item-title/accordion-item-title.directive.mjs +3 -3
  220. package/esm2020/molecules/accordion/accordion.module.mjs +10 -12
  221. package/esm2020/molecules/accordion/nav-accordion-item/nav-accordion-item.component.mjs +11 -8
  222. package/esm2020/molecules/article/article/article.component.mjs +4 -4
  223. package/esm2020/molecules/article/article-lead/article-lead.directive.mjs +3 -3
  224. package/esm2020/molecules/article/article-meta/article-meta.directive.mjs +3 -3
  225. package/esm2020/molecules/article/article-title/article-title.directive.mjs +3 -3
  226. package/esm2020/molecules/article/article.module.mjs +6 -8
  227. package/esm2020/molecules/backdrop/backdrop/backdrop.component.mjs +3 -3
  228. package/esm2020/molecules/backdrop/backdrop.module.mjs +5 -10
  229. package/esm2020/molecules/button-set/button-set.component.mjs +3 -3
  230. package/esm2020/molecules/button-set/button-set.module.mjs +4 -4
  231. package/esm2020/molecules/callout/callout/callout.component.mjs +3 -3
  232. package/esm2020/molecules/callout/callout-body/callout-body.directive.mjs +3 -3
  233. package/esm2020/molecules/callout/callout-icon/callout-icon.directive.mjs +3 -3
  234. package/esm2020/molecules/callout/callout-subtitle/callout-subtitle.directive.mjs +3 -3
  235. package/esm2020/molecules/callout/callout-tagline/callout-tagline.directive.mjs +3 -3
  236. package/esm2020/molecules/callout/callout-title/callout-title.directive.mjs +3 -3
  237. package/esm2020/molecules/callout/callout.module.mjs +6 -8
  238. package/esm2020/molecules/card/card/card.component.mjs +4 -4
  239. package/esm2020/molecules/card/card-actions/card-actions.directive.mjs +3 -3
  240. package/esm2020/molecules/card/card-content/card-content.directive.mjs +3 -3
  241. package/esm2020/molecules/card/card-icon/card-icon.directive.mjs +3 -3
  242. package/esm2020/molecules/card/card-image/card-image.directive.mjs +3 -3
  243. package/esm2020/molecules/card/card-tagline/card-tagline.directive.mjs +3 -3
  244. package/esm2020/molecules/card/card-title/card-title.directive.mjs +3 -3
  245. package/esm2020/molecules/card/card.module.mjs +6 -8
  246. package/esm2020/molecules/feature/feature/feature.component.mjs +3 -3
  247. package/esm2020/molecules/feature/feature-icon/feature-icon.directive.mjs +3 -3
  248. package/esm2020/molecules/feature/feature-subheader/feature-subheader.directive.mjs +3 -3
  249. package/esm2020/molecules/feature/feature-subtitle/feature-subtitle.directive.mjs +3 -3
  250. package/esm2020/molecules/feature/feature-title/feature-title.directive.mjs +3 -3
  251. package/esm2020/molecules/feature/feature.module.mjs +6 -8
  252. package/esm2020/molecules/hero/hero/hero.component.mjs +3 -3
  253. package/esm2020/molecules/hero/hero-body/hero-body.directive.mjs +3 -3
  254. package/esm2020/molecules/hero/hero-icon/hero-icon.directive.mjs +3 -3
  255. package/esm2020/molecules/hero/hero-subtitle/hero-subtitle.directive.mjs +3 -3
  256. package/esm2020/molecules/hero/hero-tagline/hero-tagline.directive.mjs +3 -3
  257. package/esm2020/molecules/hero/hero-title/hero-title.directive.mjs +3 -3
  258. package/esm2020/molecules/hero/hero.module.mjs +6 -8
  259. package/esm2020/molecules/image-gallery/gallery-image/gallery-image.component.mjs +3 -3
  260. package/esm2020/molecules/image-gallery/image-gallery/image-gallery.component.mjs +3 -3
  261. package/esm2020/molecules/image-gallery/image-gallery.module.mjs +7 -9
  262. package/esm2020/molecules/image-list/image-list.component.mjs +4 -4
  263. package/esm2020/molecules/image-list/image-list.module.mjs +5 -7
  264. package/esm2020/molecules/link-set/link-set/link-set.component.mjs +3 -3
  265. package/esm2020/molecules/link-set/link-set-heading/link-set-heading.directive.mjs +3 -3
  266. package/esm2020/molecules/link-set/link-set-item/link-set-item.component.mjs +3 -3
  267. package/esm2020/molecules/link-set/link-set-subheading/link-set-subheading.directive.mjs +3 -3
  268. package/esm2020/molecules/link-set/link-set.module.mjs +6 -8
  269. package/esm2020/molecules/list/list/list.component.mjs +4 -4
  270. package/esm2020/molecules/list/list-item/list-item.component.mjs +3 -3
  271. package/esm2020/molecules/list/list-subheader/list-subheader.directive.mjs +3 -3
  272. package/esm2020/molecules/list/list.module.mjs +8 -10
  273. package/esm2020/molecules/media-gallery/media-gallery.component.mjs +7 -7
  274. package/esm2020/molecules/media-gallery/media-gallery.module.mjs +5 -7
  275. package/esm2020/molecules/media-gallery/media-renderer/media-renderer.component.mjs +4 -4
  276. package/esm2020/molecules/media-gallery/registry/media-gallery.registry.mjs +3 -3
  277. package/esm2020/molecules/media-gallery/thumbnail/thumbnail.directive.mjs +5 -5
  278. package/esm2020/molecules/menu/menu/menu.component.mjs +3 -3
  279. package/esm2020/molecules/menu/menu-activator/menu-activator.component.mjs +3 -3
  280. package/esm2020/molecules/menu/menu-item/menu-item.component.mjs +3 -3
  281. package/esm2020/molecules/menu/menu.module.mjs +8 -10
  282. package/esm2020/molecules/menu/service/menu.service.mjs +3 -3
  283. package/esm2020/molecules/modal/modal/modal.component.mjs +4 -4
  284. package/esm2020/molecules/modal/modal-actions/modal-actions.component.mjs +3 -3
  285. package/esm2020/molecules/modal/modal-content/modal-content.component.mjs +3 -3
  286. package/esm2020/molecules/modal/modal-header/modal-header.component.mjs +3 -3
  287. package/esm2020/molecules/modal/modal-title/modal-title.directive.mjs +3 -3
  288. package/esm2020/molecules/modal/modal.module.mjs +8 -10
  289. package/esm2020/molecules/modal/service/modal.service.mjs +5 -5
  290. package/esm2020/molecules/navbar/navbar.component.mjs +3 -3
  291. package/esm2020/molecules/navbar/navbar.module.mjs +4 -4
  292. package/esm2020/molecules/paginator/paginator.component.mjs +7 -7
  293. package/esm2020/molecules/paginator/paginator.module.mjs +8 -10
  294. package/esm2020/molecules/qty-dropdown/qty-dropdown.component.mjs +8 -8
  295. package/esm2020/molecules/qty-dropdown/qty-dropdown.module.mjs +10 -12
  296. package/esm2020/molecules/sidebar/animation/sidebar-viewport-animation-state.mjs +1 -1
  297. package/esm2020/molecules/sidebar/sidebar/sidebar.component.mjs +5 -5
  298. package/esm2020/molecules/sidebar/sidebar-viewport/content-pad.mjs +2 -2
  299. package/esm2020/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +7 -7
  300. package/esm2020/molecules/sidebar/sidebar.module.mjs +9 -11
  301. package/esm2020/navbar/examples/basic-navbar/basic-navbar.component.mjs +3 -3
  302. package/esm2020/navbar/examples/basic-navbar/basic-navbar.module.mjs +8 -10
  303. package/esm2020/navbar/examples/contained-navbar/contained-navbar.component.mjs +3 -3
  304. package/esm2020/navbar/examples/contained-navbar/contained-navbar.module.mjs +8 -10
  305. package/esm2020/navbar/examples/navbar-theming/navbar-theming.component.mjs +8 -8
  306. package/esm2020/navbar/examples/navbar-theming/navbar-theming.module.mjs +8 -10
  307. package/esm2020/navbar/examples/raised-navbar/raised-navbar.component.mjs +3 -3
  308. package/esm2020/navbar/examples/raised-navbar/raised-navbar.module.mjs +7 -9
  309. package/esm2020/notification/examples/default-notification/default-notification.component.mjs +7 -12
  310. package/esm2020/notification/examples/default-notification/default-notification.module.mjs +8 -10
  311. package/esm2020/notification/examples/dismissable-notification/dismissable-notification.component.mjs +7 -12
  312. package/esm2020/notification/examples/dismissable-notification/dismissable-notification.module.mjs +8 -10
  313. package/esm2020/notification/examples/notification-orientations/notification-orientations.component.mjs +8 -8
  314. package/esm2020/notification/examples/notification-orientations/notification-orientations.module.mjs +9 -11
  315. package/esm2020/notification/examples/notification-status/notification-status.component.mjs +9 -9
  316. package/esm2020/notification/examples/notification-status/notification-status.module.mjs +9 -11
  317. package/esm2020/notification/notification/notification.component.mjs +6 -6
  318. package/esm2020/notification/notification-actions/notification-actions.directive.mjs +3 -3
  319. package/esm2020/notification/notification-message/notification-message.directive.mjs +3 -3
  320. package/esm2020/notification/notification-subtitle/notification-subtitle.directive.mjs +3 -3
  321. package/esm2020/notification/notification-title/notification-title.directive.mjs +3 -3
  322. package/esm2020/notification/notification.module.mjs +8 -10
  323. package/esm2020/paginator/examples/basic-paginator/basic-paginator.component.mjs +3 -3
  324. package/esm2020/paginator/examples/paginator-examples.module.mjs +6 -11
  325. package/esm2020/quantity-field/examples/basic-quantity-field/basic-quantity-field.component.mjs +9 -9
  326. package/esm2020/quantity-field/examples/basic-quantity-field/basic-quantity-field.module.mjs +8 -10
  327. package/esm2020/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.component.mjs +9 -9
  328. package/esm2020/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.module.mjs +8 -10
  329. package/esm2020/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.component.mjs +9 -9
  330. package/esm2020/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.module.mjs +8 -10
  331. package/esm2020/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.component.mjs +9 -9
  332. package/esm2020/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.module.mjs +8 -10
  333. package/esm2020/radio/examples/basic-radio/basic-radio.component.mjs +7 -7
  334. package/esm2020/radio/examples/basic-radio/basic-radio.module.mjs +6 -8
  335. package/esm2020/sidebar/examples/basic-sidebar/basic-sidebar.component.mjs +5 -5
  336. package/esm2020/sidebar/examples/basic-sidebar/basic-sidebar.module.mjs +6 -8
  337. package/esm2020/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.component.mjs +3 -3
  338. package/esm2020/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.module.mjs +7 -9
  339. package/esm2020/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.component.mjs +3 -3
  340. package/esm2020/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.module.mjs +6 -8
  341. package/esm2020/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.component.mjs +3 -3
  342. package/esm2020/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.module.mjs +6 -8
  343. package/esm2020/sidebar/examples/under-sidebar/under-sidebar.component.mjs +3 -3
  344. package/esm2020/sidebar/examples/under-sidebar/under-sidebar.module.mjs +7 -9
  345. package/esm2020/tree/examples/basic-tree/basic-tree.component.mjs +5 -5
  346. package/esm2020/tree/examples/basic-tree/basic-tree.module.mjs +7 -9
  347. package/esm2020/tree/tree/tree-notifier.service.mjs +1 -1
  348. package/esm2020/tree/tree/tree.component.mjs +6 -6
  349. package/esm2020/tree/tree-item/tree-item.directive.mjs +3 -3
  350. package/esm2020/tree/tree.module.mjs +6 -8
  351. package/esm2020/tree/utils/hydrate-tree.mjs +1 -1
  352. package/esm2020/tree/utils/transform-in-place.mjs +1 -1
  353. package/fesm2015/daffodil-design-accordion-examples.mjs +14 -18
  354. package/fesm2015/daffodil-design-accordion-examples.mjs.map +1 -1
  355. package/fesm2015/daffodil-design-article-examples.mjs +38 -43
  356. package/fesm2015/daffodil-design-article-examples.mjs.map +1 -1
  357. package/fesm2015/daffodil-design-button-examples.mjs +70 -122
  358. package/fesm2015/daffodil-design-button-examples.mjs.map +1 -1
  359. package/fesm2015/daffodil-design-callout-examples.mjs +54 -62
  360. package/fesm2015/daffodil-design-callout-examples.mjs.map +1 -1
  361. package/fesm2015/daffodil-design-card-examples.mjs +79 -95
  362. package/fesm2015/daffodil-design-card-examples.mjs.map +1 -1
  363. package/fesm2015/daffodil-design-checkbox-examples.mjs +21 -25
  364. package/fesm2015/daffodil-design-checkbox-examples.mjs.map +1 -1
  365. package/fesm2015/daffodil-design-container-examples.mjs +14 -16
  366. package/fesm2015/daffodil-design-container-examples.mjs.map +1 -1
  367. package/fesm2015/daffodil-design-hero-examples.mjs +52 -60
  368. package/fesm2015/daffodil-design-hero-examples.mjs.map +1 -1
  369. package/fesm2015/daffodil-design-image-examples.mjs +23 -29
  370. package/fesm2015/daffodil-design-image-examples.mjs.map +1 -1
  371. package/fesm2015/daffodil-design-input-examples.mjs +35 -43
  372. package/fesm2015/daffodil-design-input-examples.mjs.map +1 -1
  373. package/fesm2015/daffodil-design-list-examples.mjs +50 -63
  374. package/fesm2015/daffodil-design-list-examples.mjs.map +1 -1
  375. package/fesm2015/daffodil-design-loading-icon-examples.mjs +19 -23
  376. package/fesm2015/daffodil-design-loading-icon-examples.mjs.map +1 -1
  377. package/fesm2015/daffodil-design-media-gallery-examples.mjs +24 -30
  378. package/fesm2015/daffodil-design-media-gallery-examples.mjs.map +1 -1
  379. package/fesm2015/daffodil-design-menu-examples.mjs +12 -14
  380. package/fesm2015/daffodil-design-menu-examples.mjs.map +1 -1
  381. package/fesm2015/daffodil-design-modal-examples.mjs +11 -13
  382. package/fesm2015/daffodil-design-modal-examples.mjs.map +1 -1
  383. package/fesm2015/daffodil-design-navbar-examples.mjs +42 -50
  384. package/fesm2015/daffodil-design-navbar-examples.mjs.map +1 -1
  385. package/fesm2015/daffodil-design-notification-examples.mjs +51 -69
  386. package/fesm2015/daffodil-design-notification-examples.mjs.map +1 -1
  387. package/fesm2015/daffodil-design-notification.mjs +80 -82
  388. package/fesm2015/daffodil-design-notification.mjs.map +1 -1
  389. package/fesm2015/daffodil-design-paginator-examples.mjs +8 -13
  390. package/fesm2015/daffodil-design-paginator-examples.mjs.map +1 -1
  391. package/fesm2015/daffodil-design-quantity-field-examples.mjs +51 -59
  392. package/fesm2015/daffodil-design-quantity-field-examples.mjs.map +1 -1
  393. package/fesm2015/daffodil-design-radio-examples.mjs +11 -13
  394. package/fesm2015/daffodil-design-radio-examples.mjs.map +1 -1
  395. package/fesm2015/daffodil-design-sidebar-examples.mjs +43 -53
  396. package/fesm2015/daffodil-design-sidebar-examples.mjs.map +1 -1
  397. package/fesm2015/daffodil-design-tree-examples.mjs +12 -14
  398. package/fesm2015/daffodil-design-tree-examples.mjs.map +1 -1
  399. package/fesm2015/daffodil-design-tree.mjs +161 -163
  400. package/fesm2015/daffodil-design-tree.mjs.map +1 -1
  401. package/fesm2015/daffodil-design.mjs +974 -1032
  402. package/fesm2015/daffodil-design.mjs.map +1 -1
  403. package/fesm2020/daffodil-design-accordion-examples.mjs +14 -18
  404. package/fesm2020/daffodil-design-accordion-examples.mjs.map +1 -1
  405. package/fesm2020/daffodil-design-article-examples.mjs +38 -43
  406. package/fesm2020/daffodil-design-article-examples.mjs.map +1 -1
  407. package/fesm2020/daffodil-design-button-examples.mjs +70 -122
  408. package/fesm2020/daffodil-design-button-examples.mjs.map +1 -1
  409. package/fesm2020/daffodil-design-callout-examples.mjs +54 -62
  410. package/fesm2020/daffodil-design-callout-examples.mjs.map +1 -1
  411. package/fesm2020/daffodil-design-card-examples.mjs +79 -95
  412. package/fesm2020/daffodil-design-card-examples.mjs.map +1 -1
  413. package/fesm2020/daffodil-design-checkbox-examples.mjs +21 -25
  414. package/fesm2020/daffodil-design-checkbox-examples.mjs.map +1 -1
  415. package/fesm2020/daffodil-design-container-examples.mjs +14 -16
  416. package/fesm2020/daffodil-design-container-examples.mjs.map +1 -1
  417. package/fesm2020/daffodil-design-hero-examples.mjs +52 -60
  418. package/fesm2020/daffodil-design-hero-examples.mjs.map +1 -1
  419. package/fesm2020/daffodil-design-image-examples.mjs +23 -29
  420. package/fesm2020/daffodil-design-image-examples.mjs.map +1 -1
  421. package/fesm2020/daffodil-design-input-examples.mjs +35 -43
  422. package/fesm2020/daffodil-design-input-examples.mjs.map +1 -1
  423. package/fesm2020/daffodil-design-list-examples.mjs +50 -63
  424. package/fesm2020/daffodil-design-list-examples.mjs.map +1 -1
  425. package/fesm2020/daffodil-design-loading-icon-examples.mjs +19 -23
  426. package/fesm2020/daffodil-design-loading-icon-examples.mjs.map +1 -1
  427. package/fesm2020/daffodil-design-media-gallery-examples.mjs +24 -30
  428. package/fesm2020/daffodil-design-media-gallery-examples.mjs.map +1 -1
  429. package/fesm2020/daffodil-design-menu-examples.mjs +12 -14
  430. package/fesm2020/daffodil-design-menu-examples.mjs.map +1 -1
  431. package/fesm2020/daffodil-design-modal-examples.mjs +11 -13
  432. package/fesm2020/daffodil-design-modal-examples.mjs.map +1 -1
  433. package/fesm2020/daffodil-design-navbar-examples.mjs +42 -50
  434. package/fesm2020/daffodil-design-navbar-examples.mjs.map +1 -1
  435. package/fesm2020/daffodil-design-notification-examples.mjs +51 -69
  436. package/fesm2020/daffodil-design-notification-examples.mjs.map +1 -1
  437. package/fesm2020/daffodil-design-notification.mjs +80 -82
  438. package/fesm2020/daffodil-design-notification.mjs.map +1 -1
  439. package/fesm2020/daffodil-design-paginator-examples.mjs +8 -13
  440. package/fesm2020/daffodil-design-paginator-examples.mjs.map +1 -1
  441. package/fesm2020/daffodil-design-quantity-field-examples.mjs +51 -59
  442. package/fesm2020/daffodil-design-quantity-field-examples.mjs.map +1 -1
  443. package/fesm2020/daffodil-design-radio-examples.mjs +11 -13
  444. package/fesm2020/daffodil-design-radio-examples.mjs.map +1 -1
  445. package/fesm2020/daffodil-design-sidebar-examples.mjs +43 -53
  446. package/fesm2020/daffodil-design-sidebar-examples.mjs.map +1 -1
  447. package/fesm2020/daffodil-design-tree-examples.mjs +12 -14
  448. package/fesm2020/daffodil-design-tree-examples.mjs.map +1 -1
  449. package/fesm2020/daffodil-design-tree.mjs +158 -160
  450. package/fesm2020/daffodil-design-tree.mjs.map +1 -1
  451. package/fesm2020/daffodil-design.mjs +983 -1041
  452. package/fesm2020/daffodil-design.mjs.map +1 -1
  453. package/hero/examples/compact-hero/compact-hero.component.d.ts +1 -1
  454. package/hero/examples/hero-text-alignment/hero-text-alignment.component.d.ts +3 -3
  455. package/hero/examples/hero-theming/hero-theming.component.d.ts +3 -3
  456. package/hero/examples/hero-with-grid/hero-with-grid.component.d.ts +1 -1
  457. package/image/examples/basic-image/basic-image.component.d.ts +1 -1
  458. package/image/examples/load-image/load-image.component.d.ts +1 -1
  459. package/image/examples/skeleton-image/skeleton-image.component.d.ts +1 -1
  460. package/input/examples/basic-input/basic-input.component.d.ts +1 -1
  461. package/input/examples/input-disabled/input-disabled.component.d.ts +1 -1
  462. package/input/examples/input-error/input-error.component.d.ts +3 -3
  463. package/input/examples/input-with-form-field/input-with-form-field.component.d.ts +1 -1
  464. package/list/examples/basic-list/basic-list.component.d.ts +1 -1
  465. package/list/examples/icon-list/icon-list.component.d.ts +1 -1
  466. package/list/examples/multiline-list/multiline-list.component.d.ts +1 -1
  467. package/list/examples/nav-list/nav-list.component.d.ts +1 -1
  468. package/loading-icon/examples/loading-icon-color/loading-icon-color.component.d.ts +3 -3
  469. package/loading-icon/examples/loading-icon-diameter/loading-icon-diameter.component.d.ts +1 -1
  470. package/media-gallery/examples/basic-media-gallery/basic-media-gallery.component.d.ts +1 -1
  471. package/media-gallery/examples/mismatched-sizes-media-gallery/mismatched-sizes-media-gallery.component.d.ts +1 -1
  472. package/media-gallery/examples/skeleton-media-gallery/skeleton-media-gallery.component.d.ts +1 -1
  473. package/menu/examples/basic-menu/basic-menu.component.d.ts +1 -1
  474. package/menu/examples/basic-menu/menu-content/menu-content.component.d.ts +1 -1
  475. package/modal/examples/basic-modal/basic-modal.component.d.ts +1 -1
  476. package/modal/examples/basic-modal/modal-content.component.d.ts +1 -1
  477. package/molecules/accordion/accordion/accordion.component.d.ts +1 -1
  478. package/molecules/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  479. package/molecules/accordion/accordion-item-content/accordion-item-content.directive.d.ts +1 -1
  480. package/molecules/accordion/accordion-item-title/accordion-item-title.directive.d.ts +1 -1
  481. package/molecules/accordion/nav-accordion-item/nav-accordion-item.component.d.ts +4 -1
  482. package/molecules/article/article/article.component.d.ts +1 -1
  483. package/molecules/article/article-lead/article-lead.directive.d.ts +1 -1
  484. package/molecules/article/article-meta/article-meta.directive.d.ts +1 -1
  485. package/molecules/article/article-title/article-title.directive.d.ts +1 -1
  486. package/molecules/backdrop/backdrop/backdrop.component.d.ts +1 -1
  487. package/molecules/button-set/button-set.component.d.ts +1 -1
  488. package/molecules/callout/callout/callout.component.d.ts +1 -1
  489. package/molecules/callout/callout-body/callout-body.directive.d.ts +1 -1
  490. package/molecules/callout/callout-icon/callout-icon.directive.d.ts +1 -1
  491. package/molecules/callout/callout-subtitle/callout-subtitle.directive.d.ts +1 -1
  492. package/molecules/callout/callout-tagline/callout-tagline.directive.d.ts +1 -1
  493. package/molecules/callout/callout-title/callout-title.directive.d.ts +1 -1
  494. package/molecules/card/card/card.component.d.ts +1 -1
  495. package/molecules/card/card-actions/card-actions.directive.d.ts +1 -1
  496. package/molecules/card/card-content/card-content.directive.d.ts +1 -1
  497. package/molecules/card/card-icon/card-icon.directive.d.ts +1 -1
  498. package/molecules/card/card-image/card-image.directive.d.ts +1 -1
  499. package/molecules/card/card-tagline/card-tagline.directive.d.ts +1 -1
  500. package/molecules/card/card-title/card-title.directive.d.ts +1 -1
  501. package/molecules/feature/feature/feature.component.d.ts +1 -1
  502. package/molecules/feature/feature-icon/feature-icon.directive.d.ts +1 -1
  503. package/molecules/feature/feature-subheader/feature-subheader.directive.d.ts +1 -1
  504. package/molecules/feature/feature-subtitle/feature-subtitle.directive.d.ts +1 -1
  505. package/molecules/feature/feature-title/feature-title.directive.d.ts +1 -1
  506. package/molecules/hero/hero/hero.component.d.ts +1 -1
  507. package/molecules/hero/hero-body/hero-body.directive.d.ts +1 -1
  508. package/molecules/hero/hero-icon/hero-icon.directive.d.ts +1 -1
  509. package/molecules/hero/hero-subtitle/hero-subtitle.directive.d.ts +1 -1
  510. package/molecules/hero/hero-tagline/hero-tagline.directive.d.ts +1 -1
  511. package/molecules/hero/hero-title/hero-title.directive.d.ts +1 -1
  512. package/molecules/image-gallery/gallery-image/gallery-image.component.d.ts +1 -1
  513. package/molecules/image-gallery/image-gallery/image-gallery.component.d.ts +1 -1
  514. package/molecules/image-list/image-list.component.d.ts +1 -1
  515. package/molecules/link-set/link-set/link-set.component.d.ts +1 -1
  516. package/molecules/link-set/link-set-heading/link-set-heading.directive.d.ts +1 -1
  517. package/molecules/link-set/link-set-item/link-set-item.component.d.ts +1 -1
  518. package/molecules/link-set/link-set-subheading/link-set-subheading.directive.d.ts +1 -1
  519. package/molecules/list/list/list.component.d.ts +1 -1
  520. package/molecules/list/list-item/list-item.component.d.ts +1 -1
  521. package/molecules/list/list-subheader/list-subheader.directive.d.ts +1 -1
  522. package/molecules/media-gallery/media-gallery.component.d.ts +2 -2
  523. package/molecules/media-gallery/media-renderer/media-renderer.component.d.ts +1 -1
  524. package/molecules/media-gallery/thumbnail/thumbnail.directive.d.ts +2 -2
  525. package/molecules/menu/menu/menu.component.d.ts +1 -1
  526. package/molecules/menu/menu-activator/menu-activator.component.d.ts +1 -1
  527. package/molecules/menu/menu-item/menu-item.component.d.ts +1 -1
  528. package/molecules/modal/modal/modal.component.d.ts +1 -1
  529. package/molecules/modal/modal-actions/modal-actions.component.d.ts +1 -1
  530. package/molecules/modal/modal-content/modal-content.component.d.ts +1 -1
  531. package/molecules/modal/modal-header/modal-header.component.d.ts +1 -1
  532. package/molecules/modal/modal-title/modal-title.directive.d.ts +1 -1
  533. package/molecules/navbar/navbar.component.d.ts +1 -1
  534. package/molecules/paginator/paginator.component.d.ts +1 -1
  535. package/molecules/qty-dropdown/qty-dropdown.component.d.ts +1 -1
  536. package/molecules/sidebar/animation/sidebar-viewport-animation-state.d.ts +1 -1
  537. package/molecules/sidebar/sidebar/sidebar.component.d.ts +1 -1
  538. package/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +1 -1
  539. package/navbar/examples/basic-navbar/basic-navbar.component.d.ts +1 -1
  540. package/navbar/examples/contained-navbar/contained-navbar.component.d.ts +1 -1
  541. package/navbar/examples/navbar-theming/navbar-theming.component.d.ts +3 -3
  542. package/navbar/examples/raised-navbar/raised-navbar.component.d.ts +1 -1
  543. package/notification/examples/default-notification/default-notification.component.d.ts +1 -1
  544. package/notification/examples/dismissable-notification/dismissable-notification.component.d.ts +1 -1
  545. package/notification/examples/notification-orientations/notification-orientations.component.d.ts +3 -3
  546. package/notification/examples/notification-status/notification-status.component.d.ts +3 -3
  547. package/notification/notification/notification.component.d.ts +1 -1
  548. package/notification/notification-actions/notification-actions.directive.d.ts +1 -1
  549. package/notification/notification-message/notification-message.directive.d.ts +1 -1
  550. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +1 -1
  551. package/notification/notification-title/notification-title.directive.d.ts +1 -1
  552. package/package.json +1 -1
  553. package/paginator/examples/basic-paginator/basic-paginator.component.d.ts +1 -1
  554. package/quantity-field/examples/basic-quantity-field/basic-quantity-field.component.d.ts +3 -3
  555. package/quantity-field/examples/custom-range-quantity-field/custom-range-quantity-field.component.d.ts +3 -3
  556. package/quantity-field/examples/disabled-quantity-field/disabled-quantity-field.component.d.ts +3 -3
  557. package/quantity-field/examples/select-max-quantity-field/select-max-quantity-field.component.d.ts +3 -3
  558. package/radio/examples/basic-radio/basic-radio.component.d.ts +3 -3
  559. package/sidebar/examples/basic-sidebar/basic-sidebar.component.d.ts +1 -1
  560. package/sidebar/examples/fixed-and-over-sidebar/fixed-and-over-sidebar.component.d.ts +1 -1
  561. package/sidebar/examples/sidebar-with-sticky/sidebar-with-sticky.component.d.ts +1 -1
  562. package/sidebar/examples/two-fixed-sidebars-either-side/two-fixed-sidebars-either-side.component.d.ts +1 -1
  563. package/sidebar/examples/under-sidebar/under-sidebar.component.d.ts +1 -1
  564. package/src/molecules/article/article/article-theme.scss +2 -2
  565. package/src/molecules/card/card/card-theme-variants/linkable-card.scss +6 -13
  566. package/src/molecules/card/card/card-theme.scss +13 -29
  567. package/src/molecules/list/list/list-theme.scss +6 -3
  568. package/tree/examples/basic-tree/basic-tree.component.d.ts +1 -1
  569. package/tree/tree/tree.component.d.ts +2 -2
  570. package/tree/tree-item/tree-item.directive.d.ts +1 -1
  571. package/accordion/examples/daffodil-design-accordion-examples.d.ts +0 -5
  572. package/accordion/examples/package.json +0 -1
  573. package/article/examples/daffodil-design-article-examples.d.ts +0 -5
  574. package/article/examples/package.json +0 -1
  575. package/button/examples/daffodil-design-button-examples.d.ts +0 -5
  576. package/button/examples/package.json +0 -1
  577. package/callout/examples/daffodil-design-callout-examples.d.ts +0 -5
  578. package/callout/examples/package.json +0 -1
  579. package/card/examples/daffodil-design-card-examples.d.ts +0 -5
  580. package/card/examples/package.json +0 -1
  581. package/checkbox/examples/daffodil-design-checkbox-examples.d.ts +0 -5
  582. package/checkbox/examples/package.json +0 -1
  583. package/container/examples/daffodil-design-container-examples.d.ts +0 -5
  584. package/container/examples/package.json +0 -1
  585. package/hero/examples/daffodil-design-hero-examples.d.ts +0 -5
  586. package/hero/examples/package.json +0 -1
  587. package/image/examples/daffodil-design-image-examples.d.ts +0 -5
  588. package/image/examples/package.json +0 -1
  589. package/input/examples/daffodil-design-input-examples.d.ts +0 -5
  590. package/input/examples/package.json +0 -1
  591. package/list/examples/daffodil-design-list-examples.d.ts +0 -5
  592. package/list/examples/package.json +0 -1
  593. package/loading-icon/examples/daffodil-design-loading-icon-examples.d.ts +0 -5
  594. package/loading-icon/examples/package.json +0 -1
  595. package/media-gallery/examples/daffodil-design-media-gallery-examples.d.ts +0 -5
  596. package/media-gallery/examples/package.json +0 -1
  597. package/menu/examples/daffodil-design-menu-examples.d.ts +0 -5
  598. package/menu/examples/package.json +0 -1
  599. package/modal/examples/daffodil-design-modal-examples.d.ts +0 -5
  600. package/modal/examples/package.json +0 -1
  601. package/navbar/examples/daffodil-design-navbar-examples.d.ts +0 -5
  602. package/navbar/examples/package.json +0 -1
  603. package/notification/examples/daffodil-design-notification-examples.d.ts +0 -5
  604. package/notification/examples/package.json +0 -1
  605. package/notification/package.json +0 -1
  606. package/paginator/examples/daffodil-design-paginator-examples.d.ts +0 -5
  607. package/paginator/examples/package.json +0 -1
  608. package/quantity-field/examples/daffodil-design-quantity-field-examples.d.ts +0 -5
  609. package/quantity-field/examples/package.json +0 -1
  610. package/radio/examples/daffodil-design-radio-examples.d.ts +0 -5
  611. package/radio/examples/package.json +0 -1
  612. package/scss/README.md +0 -7
  613. package/scss/theming/README.md +0 -104
  614. package/scss/typography/README.md +0 -85
  615. package/sidebar/examples/daffodil-design-sidebar-examples.d.ts +0 -5
  616. package/sidebar/examples/package.json +0 -1
  617. package/src/atoms/button/README.md +0 -58
  618. package/src/atoms/container/README.md +0 -18
  619. package/src/atoms/form/README.md +0 -0
  620. package/src/atoms/form/checkbox/README.md +0 -0
  621. package/src/atoms/form/checkbox-set/README.md +0 -0
  622. package/src/atoms/form/error-message/README.md +0 -11
  623. package/src/atoms/form/form-field/README.md +0 -36
  624. package/src/atoms/form/form-label/README.md +0 -0
  625. package/src/atoms/form/input/README.md +0 -24
  626. package/src/atoms/form/native-select/README.md +0 -13
  627. package/src/atoms/form/quantity-field/README.md +0 -24
  628. package/src/atoms/form/radio/README.md +0 -55
  629. package/src/atoms/form/radio-set/README.md +0 -0
  630. package/src/atoms/image/README.md +0 -31
  631. package/src/atoms/loading-icon/README.md +0 -7
  632. package/src/atoms/progress-indicator/README.md +0 -2
  633. package/src/molecules/accordion/README.md +0 -21
  634. package/src/molecules/article/README.md +0 -49
  635. package/src/molecules/backdrop/README.md +0 -13
  636. package/src/molecules/button-set/README.md +0 -15
  637. package/src/molecules/callout/README.md +0 -54
  638. package/src/molecules/card/README.md +0 -60
  639. package/src/molecules/feature/README.md +0 -48
  640. package/src/molecules/hero/README.md +0 -54
  641. package/src/molecules/image-gallery/README.md +0 -31
  642. package/src/molecules/image-list/README.md +0 -14
  643. package/src/molecules/link-set/README.md +0 -44
  644. package/src/molecules/list/README.md +0 -69
  645. package/src/molecules/media-gallery/README.md +0 -19
  646. package/src/molecules/menu/README.md +0 -7
  647. package/src/molecules/modal/README.md +0 -47
  648. package/src/molecules/navbar/README.md +0 -41
  649. package/src/molecules/paginator/README.md +0 -11
  650. package/src/molecules/qty-dropdown/README.md +0 -0
  651. package/src/molecules/sidebar/README.md +0 -20
  652. package/tree/daffodil-design-tree.d.ts +0 -5
  653. package/tree/examples/daffodil-design-tree-examples.d.ts +0 -5
  654. package/tree/examples/package.json +0 -1
  655. package/tree/package.json +0 -1
  656. /package/{daffodil-design.d.ts → index.d.ts} +0 -0
  657. /package/notification/{daffodil-design-notification.d.ts → index.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { DOCUMENT, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Inject, Directive, HostBinding, Input, HostListener, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChild, NgModule } from '@angular/core';
4
+ import { Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, Input, ContentChild, Directive, HostListener, NgModule } from '@angular/core';
5
5
  import { __decorate } from 'tslib';
6
6
  import { BehaviorSubject } from 'rxjs';
7
7
 
@@ -46,155 +46,6 @@ DaffTreeNotifierService = __decorate([
46
46
  Inject({})
47
47
  ], DaffTreeNotifierService);
48
48
 
49
- /**
50
- * The `DaffTreeItemDirective` allows you to demarcate the elements which are
51
- * tree-children that interact with the parent tree.
52
- *
53
- * They can be used like:
54
- *
55
- * ```html
56
- * <ul daff-tree [tree]="tree">
57
- * <ng-template #daffTreeItemWithChildrenTpl let-node>
58
- * <button daffTreeItem [node]="node">{{ node.title }} </button>
59
- * </ng-template>
60
- *
61
- * <ng-template #daffTreeItemTpl let-node>
62
- * <a daffTreeItem [node]="node" [routerLink]="node.url">{{ node.title }}</a>
63
- * </ng-template>
64
- * </ul>
65
- * ```
66
- *
67
- * where `tree` is a {@link DaffTreeData} and `daff-tree` is a {@link DaffTreeComponent}.
68
- *
69
- */
70
- class DaffTreeItemDirective {
71
- constructor(document, treeNotifier) {
72
- this.document = document;
73
- this.treeNotifier = treeNotifier;
74
- /**
75
- * The css class of the daff-tree.
76
- *
77
- * @docs-private
78
- */
79
- this.class = true;
80
- /**
81
- * The css class of a DaffTreeItemDirective that has children.
82
- *
83
- * @docs-private
84
- */
85
- this.classParent = false;
86
- /**
87
- * The CSS class indicating whether or not the tree is `open`.
88
- */
89
- this.openClass = false;
90
- /**
91
- * Whether or not the tree item is the currently active item.
92
- * Note that there is no requirement there there only be one active item at a time.
93
- */
94
- this.selected = false;
95
- }
96
- /**
97
- * The CSS class indicating whether or not the tree is `selected`.
98
- */
99
- get selectedClass() {
100
- return this.selected;
101
- }
102
- ;
103
- /**
104
- * The {@link DaffTreeFlatNode} associated with this specific tree item.
105
- */
106
- get node() {
107
- return this._node;
108
- }
109
- ;
110
- set node(val) {
111
- this._node = val;
112
- this.id = 'tree-' + this._node.id;
113
- this.ariaExpanded = this._node._treeRef.open ? 'true' : 'false';
114
- this.depth = this._node.level;
115
- this.classParent = this._node.hasChildren;
116
- this.openClass = this._node._treeRef.open;
117
- }
118
- /**
119
- * @docs-private
120
- */
121
- onEscape() {
122
- this.toggleParent(this.node);
123
- }
124
- /**
125
- * @docs-private
126
- */
127
- onClick() {
128
- if (this.node.hasChildren) {
129
- this.toggleTree(this.node);
130
- }
131
- this.treeNotifier.notify();
132
- }
133
- /**
134
- * Toggle the open state of the tree's parent.
135
- */
136
- toggleParent(node) {
137
- if (node._treeRef?.parent.parent === undefined) {
138
- return;
139
- }
140
- node._treeRef.parent.open = !node._treeRef.parent.open;
141
- this.document.getElementById('tree-' + node._treeRef.parent.id).focus();
142
- }
143
- /**
144
- * Toggle the open state of this specific subtree tree.
145
- */
146
- toggleTree(node) {
147
- if (node._treeRef.open === false) {
148
- node._treeRef.open = true;
149
- }
150
- else {
151
- node._treeRef.open = false;
152
- }
153
- }
154
- }
155
- /** @nocollapse */ DaffTreeItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeItemDirective, deps: [{ token: DOCUMENT }, { token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Directive });
156
- /** @nocollapse */ DaffTreeItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: DaffTreeItemDirective, selector: "[daffTreeItem]", inputs: { node: "node", selected: "selected" }, host: { listeners: { "keydown.escape": "onEscape()", "click": "onClick()" }, properties: { "class.daff-tree-item": "this.class", "class.daff-tree-item__parent": "this.classParent", "attr.id": "this.id", "attr.aria-expanded": "this.ariaExpanded", "style.--depth": "this.depth", "class.selected": "this.selectedClass", "class.open": "this.openClass" } }, ngImport: i0 });
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeItemDirective, decorators: [{
158
- type: Directive,
159
- args: [{
160
- selector: '[daffTreeItem]',
161
- }]
162
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
163
- type: Inject,
164
- args: [DOCUMENT]
165
- }] }, { type: DaffTreeNotifierService }]; }, propDecorators: { class: [{
166
- type: HostBinding,
167
- args: ['class.daff-tree-item']
168
- }], classParent: [{
169
- type: HostBinding,
170
- args: ['class.daff-tree-item__parent']
171
- }], id: [{
172
- type: HostBinding,
173
- args: ['attr.id']
174
- }], ariaExpanded: [{
175
- type: HostBinding,
176
- args: ['attr.aria-expanded']
177
- }], depth: [{
178
- type: HostBinding,
179
- args: ['style.--depth']
180
- }], selectedClass: [{
181
- type: HostBinding,
182
- args: ['class.selected']
183
- }], openClass: [{
184
- type: HostBinding,
185
- args: ['class.open']
186
- }], node: [{
187
- type: Input
188
- }], selected: [{
189
- type: Input
190
- }], onEscape: [{
191
- type: HostListener,
192
- args: ['keydown.escape']
193
- }], onClick: [{
194
- type: HostListener,
195
- args: ['click']
196
- }] } });
197
-
198
49
  /**
199
50
  * Flatten a DaffTreeUi<unknown> into an array, removing elements from the array
200
51
  * below nodes in the tree that are not open.
@@ -369,11 +220,11 @@ class DaffTreeComponent {
369
220
  });
370
221
  }
371
222
  }
372
- /** @nocollapse */ DaffTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeComponent, deps: [{ token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Component });
373
- /** @nocollapse */ DaffTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: DaffTreeComponent, selector: "ul[daff-tree]", inputs: { dataTree: ["tree", "dataTree"] }, host: { properties: { "class.daff-tree": "this.class" } }, providers: [
223
+ /** @nocollapse */ DaffTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeComponent, deps: [{ token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Component });
224
+ /** @nocollapse */ DaffTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DaffTreeComponent, selector: "ul[daff-tree]", inputs: { dataTree: ["tree", "dataTree"] }, host: { properties: { "class.daff-tree": "this.class" } }, providers: [
374
225
  DaffTreeNotifierService,
375
- ], queries: [{ propertyName: "withChildrenTemplate", first: true, predicate: ["daffTreeItemWithChildrenTpl"], descendants: true, static: true }, { propertyName: "treeItemTemplate", first: true, predicate: ["daffTreeItemTpl"], descendants: true, static: true }], ngImport: i0, template: "<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<li [attr.aria-level]=\"node.level\">\n\t\t<ng-container \n\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t</ng-container>\t\n\t</li>\n</ng-container>", styles: [".daff-tree{margin:0;padding:0;list-style:none;--tree-padding: 16px}.daff-tree-item{cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:relative;background:none;border:0;padding:8px 16px 8px 0;line-height:1.5rem;font-weight:400;text-align:left;text-decoration:none;width:100%;padding-left:calc(var(--tree-padding) * (var(--depth)))}.daff-tree-item:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:4px}.daff-tree-item:focus,.daff-tree-item:focus-visible{z-index:1}.daff-tree-item.selected{font-weight:600}.daff-tree-item__parent{position:relative}.daff-tree-item__parent:after{content:\"\";position:absolute;top:48%;right:16px;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:8px;height:8px;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-tree-item__parent.open:after{top:56%;transform:translateY(-50%) rotate(225deg)}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeComponent, decorators: [{
226
+ ], queries: [{ propertyName: "withChildrenTemplate", first: true, predicate: ["daffTreeItemWithChildrenTpl"], descendants: true, static: true }, { propertyName: "treeItemTemplate", first: true, predicate: ["daffTreeItemTpl"], descendants: true, static: true }], ngImport: i0, template: "<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<li [attr.aria-level]=\"node.level\">\n\t\t<ng-container \n\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t</ng-container>\t\n\t</li>\n</ng-container>", styles: [".daff-tree{margin:0;padding:0;list-style:none;--tree-padding: 16px}.daff-tree-item{cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:relative;background:none;border:0;padding:8px 16px 8px 0;line-height:1.5rem;font-weight:400;text-align:left;text-decoration:none;width:100%;padding-left:calc(var(--tree-padding) * (var(--depth)))}.daff-tree-item:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:4px}.daff-tree-item:focus,.daff-tree-item:focus-visible{z-index:1}.daff-tree-item.selected{font-weight:600}.daff-tree-item__parent{position:relative}.daff-tree-item__parent:after{content:\"\";position:absolute;top:48%;right:16px;display:inline-block;border-right:2px solid currentColor;border-bottom:2px solid currentColor;width:8px;height:8px;transform:translateY(-50%) rotate(45deg);transition:transform .15s}.daff-tree-item__parent.open:after{top:56%;transform:translateY(-50%) rotate(225deg)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeComponent, decorators: [{
377
228
  type: Component,
378
229
  args: [{ selector: 'ul[daff-tree]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
379
230
  DaffTreeNotifierService,
@@ -392,16 +243,163 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
392
243
  args: ['daffTreeItemTpl', { static: true }]
393
244
  }] } });
394
245
 
246
+ /**
247
+ * The `DaffTreeItemDirective` allows you to demarcate the elements which are
248
+ * tree-children that interact with the parent tree.
249
+ *
250
+ * They can be used like:
251
+ *
252
+ * ```html
253
+ * <ul daff-tree [tree]="tree">
254
+ * <ng-template #daffTreeItemWithChildrenTpl let-node>
255
+ * <button daffTreeItem [node]="node">{{ node.title }} </button>
256
+ * </ng-template>
257
+ *
258
+ * <ng-template #daffTreeItemTpl let-node>
259
+ * <a daffTreeItem [node]="node" [routerLink]="node.url">{{ node.title }}</a>
260
+ * </ng-template>
261
+ * </ul>
262
+ * ```
263
+ *
264
+ * where `tree` is a {@link DaffTreeData} and `daff-tree` is a {@link DaffTreeComponent}.
265
+ *
266
+ */
267
+ class DaffTreeItemDirective {
268
+ constructor(document, treeNotifier) {
269
+ this.document = document;
270
+ this.treeNotifier = treeNotifier;
271
+ /**
272
+ * The css class of the daff-tree.
273
+ *
274
+ * @docs-private
275
+ */
276
+ this.class = true;
277
+ /**
278
+ * The css class of a DaffTreeItemDirective that has children.
279
+ *
280
+ * @docs-private
281
+ */
282
+ this.classParent = false;
283
+ /**
284
+ * The CSS class indicating whether or not the tree is `open`.
285
+ */
286
+ this.openClass = false;
287
+ /**
288
+ * Whether or not the tree item is the currently active item.
289
+ * Note that there is no requirement there there only be one active item at a time.
290
+ */
291
+ this.selected = false;
292
+ }
293
+ /**
294
+ * The CSS class indicating whether or not the tree is `selected`.
295
+ */
296
+ get selectedClass() {
297
+ return this.selected;
298
+ }
299
+ ;
300
+ /**
301
+ * The {@link DaffTreeFlatNode} associated with this specific tree item.
302
+ */
303
+ get node() {
304
+ return this._node;
305
+ }
306
+ ;
307
+ set node(val) {
308
+ this._node = val;
309
+ this.id = 'tree-' + this._node.id;
310
+ this.ariaExpanded = this._node._treeRef.open ? 'true' : 'false';
311
+ this.depth = this._node.level;
312
+ this.classParent = this._node.hasChildren;
313
+ this.openClass = this._node._treeRef.open;
314
+ }
315
+ /**
316
+ * @docs-private
317
+ */
318
+ onEscape() {
319
+ this.toggleParent(this.node);
320
+ }
321
+ /**
322
+ * @docs-private
323
+ */
324
+ onClick() {
325
+ if (this.node.hasChildren) {
326
+ this.toggleTree(this.node);
327
+ }
328
+ this.treeNotifier.notify();
329
+ }
330
+ /**
331
+ * Toggle the open state of the tree's parent.
332
+ */
333
+ toggleParent(node) {
334
+ if (node._treeRef?.parent.parent === undefined) {
335
+ return;
336
+ }
337
+ node._treeRef.parent.open = !node._treeRef.parent.open;
338
+ this.document.getElementById('tree-' + node._treeRef.parent.id).focus();
339
+ }
340
+ /**
341
+ * Toggle the open state of this specific subtree tree.
342
+ */
343
+ toggleTree(node) {
344
+ if (node._treeRef.open === false) {
345
+ node._treeRef.open = true;
346
+ }
347
+ else {
348
+ node._treeRef.open = false;
349
+ }
350
+ }
351
+ }
352
+ /** @nocollapse */ DaffTreeItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeItemDirective, deps: [{ token: DOCUMENT }, { token: DaffTreeNotifierService }], target: i0.ɵɵFactoryTarget.Directive });
353
+ /** @nocollapse */ DaffTreeItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DaffTreeItemDirective, selector: "[daffTreeItem]", inputs: { node: "node", selected: "selected" }, host: { listeners: { "keydown.escape": "onEscape()", "click": "onClick()" }, properties: { "class.daff-tree-item": "this.class", "class.daff-tree-item__parent": "this.classParent", "attr.id": "this.id", "attr.aria-expanded": "this.ariaExpanded", "style.--depth": "this.depth", "class.selected": "this.selectedClass", "class.open": "this.openClass" } }, ngImport: i0 });
354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeItemDirective, decorators: [{
355
+ type: Directive,
356
+ args: [{
357
+ selector: '[daffTreeItem]',
358
+ }]
359
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
360
+ type: Inject,
361
+ args: [DOCUMENT]
362
+ }] }, { type: DaffTreeNotifierService }]; }, propDecorators: { class: [{
363
+ type: HostBinding,
364
+ args: ['class.daff-tree-item']
365
+ }], classParent: [{
366
+ type: HostBinding,
367
+ args: ['class.daff-tree-item__parent']
368
+ }], id: [{
369
+ type: HostBinding,
370
+ args: ['attr.id']
371
+ }], ariaExpanded: [{
372
+ type: HostBinding,
373
+ args: ['attr.aria-expanded']
374
+ }], depth: [{
375
+ type: HostBinding,
376
+ args: ['style.--depth']
377
+ }], selectedClass: [{
378
+ type: HostBinding,
379
+ args: ['class.selected']
380
+ }], openClass: [{
381
+ type: HostBinding,
382
+ args: ['class.open']
383
+ }], node: [{
384
+ type: Input
385
+ }], selected: [{
386
+ type: Input
387
+ }], onEscape: [{
388
+ type: HostListener,
389
+ args: ['keydown.escape']
390
+ }], onClick: [{
391
+ type: HostListener,
392
+ args: ['click']
393
+ }] } });
394
+
395
395
  class DaffTreeModule {
396
396
  }
397
- /** @nocollapse */ DaffTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
398
- /** @nocollapse */ DaffTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeModule, declarations: [DaffTreeComponent,
397
+ /** @nocollapse */ DaffTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
398
+ /** @nocollapse */ DaffTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeModule, declarations: [DaffTreeComponent,
399
399
  DaffTreeItemDirective], imports: [CommonModule], exports: [DaffTreeComponent,
400
400
  DaffTreeItemDirective] });
401
- /** @nocollapse */ DaffTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeModule, imports: [[
402
- CommonModule,
403
- ]] });
404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffTreeModule, decorators: [{
401
+ /** @nocollapse */ DaffTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeModule, imports: [CommonModule] });
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DaffTreeModule, decorators: [{
405
403
  type: NgModule,
406
404
  args: [{
407
405
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-tree.mjs","sources":["../../../libs/design/tree/src/tree/tree-notifier.service.ts","../../../libs/design/tree/src/tree-item/tree-item.directive.ts","../../../libs/design/tree/src/utils/flatten-tree.ts","../../../libs/design/tree/src/utils/traverse-tree.ts","../../../libs/design/tree/src/utils/hydrate-tree.ts","../../../libs/design/tree/src/tree/tree.component.ts","../../../libs/design/tree/src/tree/tree.component.html","../../../libs/design/tree/src/tree.module.ts","../../../libs/design/tree/src/utils/transform-in-place.ts","../../../libs/design/tree/src/daffodil-design-tree.ts"],"sourcesContent":["import {\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * This service is used by tree-items to notify their parent\n * that the tree has to be re-computed.\n *\n * This service is a multiton associated with each tree instance.\n * It follows the same lifecycle has the tree it is associated with.\n */\n@Inject({})\nexport class DaffTreeNotifierService implements OnDestroy {\n\n /**\n * @docs-private\n */\n private _notice: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n /**\n * An observable that emits when the tree needs to be re-computed.\n */\n notice$ = this._notice.asObservable();\n\n /**\n * `notify` can be called to trigger a re-computation of the tree\n * if data has changed unexpectedly and a re-render did not occur.\n *\n * This should be used sparingly. Instead, prefer updating `data` on the tree\n * itself for performance reasons.\n */\n notify() {\n this._notice.next(true);\n }\n\n /**\n * Cleanup when the tree is destroyed.\n *\n * @docs-private\n */\n ngOnDestroy(): void {\n this._notice.complete();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\n\nimport { DaffTreeNotifierService } from '../tree/tree-notifier.service';\nimport { DaffTreeFlatNode } from '../utils/flatten-tree';\n\n/**\n * The `DaffTreeItemDirective` allows you to demarcate the elements which are\n * tree-children that interact with the parent tree.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData} and `daff-tree` is a {@link DaffTreeComponent}.\n *\n */\n@Directive({\n selector: '[daffTreeItem]',\n})\nexport class DaffTreeItemDirective {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree-item') class = true;\n\n /**\n * The css class of a DaffTreeItemDirective that has children.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree-item__parent') classParent = false;\n\n /**\n * The html `id` of the tree item. This is derived from the {@link DaffTreeData}.\n *\n * @docs-private\n */\n @HostBinding('attr.id') id;\n\n /**\n * Accessibility property, notifying users about whether\n * or not the tree item is open.\n *\n * @docs-private\n */\n @HostBinding('attr.aria-expanded') ariaExpanded: string;\n\n /**\n * A css variable indicating the depth of the tree.\n * You can use this to style your templates if you want to\n * use different designs at different depths.\n */\n @HostBinding('style.--depth') depth: number;\n\n /**\n * The CSS class indicating whether or not the tree is `selected`.\n */\n @HostBinding('class.selected') get selectedClass() {\n return this.selected;\n };\n\n /**\n * The CSS class indicating whether or not the tree is `open`.\n */\n @HostBinding('class.open') openClass = false;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n *\n * @docs-private\n */\n private _node: DaffTreeFlatNode;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n */\n @Input()\n get node() {\n return this._node;\n };\n set node(val: DaffTreeFlatNode) {\n this._node = val;\n this.id = 'tree-' + this._node.id;\n this.ariaExpanded = this._node._treeRef.open ? 'true' : 'false';\n this.depth = this._node.level;\n this.classParent = this._node.hasChildren;\n this.openClass = this._node._treeRef.open;\n }\n\n /**\n * Whether or not the tree item is the currently active item.\n * Note that there is no requirement there there only be one active item at a time.\n */\n @Input() selected = false;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private treeNotifier: DaffTreeNotifierService,\n ) {}\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toggleParent(this.node);\n }\n\n /**\n * @docs-private\n */\n @HostListener('click')\n onClick() {\n if(this.node.hasChildren) {\n this.toggleTree(this.node);\n }\n this.treeNotifier.notify();\n }\n\n /**\n * Toggle the open state of the tree's parent.\n */\n toggleParent(node: DaffTreeFlatNode) {\n if(node._treeRef?.parent.parent === undefined) {\n return;\n }\n node._treeRef.parent.open = !node._treeRef.parent.open;\n (<Document>this.document).getElementById('tree-' + node._treeRef.parent.id).focus();\n }\n\n /**\n * Toggle the open state of this specific subtree tree.\n */\n toggleTree(node: DaffTreeFlatNode) {\n if(node._treeRef.open === false) {\n node._treeRef.open = true;\n } else {\n node._treeRef.open = false;\n }\n }\n}\n","import { DaffTreeUi } from '../interfaces/tree-ui';\n\n/**\n * A flattened node of a tree. This is used when translating the tree data\n * structure into an array.\n */\nexport interface DaffTreeFlatNode {\n id: number | string;\n title: string;\n url: string;\n level: number;\n hasChildren: boolean;\n data: unknown;\n _treeRef: DaffTreeUi<unknown>;\n}\n\n/**\n * Flatten a DaffTreeUi<unknown> into an array, removing elements from the array\n * below nodes in the tree that are not open.\n */\nexport const flattenTree = (daffUiTree: DaffTreeUi<unknown>): DaffTreeFlatNode[] => {\n const tree: DaffTreeFlatNode[] = [];\n\n let items = [\n {\n ...daffUiTree,\n title: 'Root',\n level: 0,\n url: '/',\n data: undefined,\n open: true,\n _treeRef: daffUiTree,\n },\n ];\n\n\n while(items) {\n const el = items.pop();\n if(!el) {\n break;\n }\n\n if(el.open) {\n items = [\n ...items,\n ...el.items.map((i) => ({\n ...i,\n level:\n el.level + 1,\n _treeRef: i,\n })).reverse(),\n ];\n }\n\n if(el._treeRef.parent?.open) {\n tree.push({\n id: el.id,\n title: el.title,\n level: el.level,\n url : el.url,\n hasChildren: el.items.length > 0,\n data: undefined,\n _treeRef: el._treeRef,\n });\n }\n }\n\n return tree;\n};\n","import { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\n\n/**\n * Traverse the tree, pre-order, right-to-left\n */\nexport const traverse = <T extends Record<any, any>, V extends Record<any, any> = T>(\n tree: T,\n visit: (tree: T) => V,\n key: RecursiveTreeKeyOfType<T>,\n): V => {\n let stack = [\n tree,\n ];\n\n while(stack) {\n const el = stack.pop();\n if(!el) {\n break;\n }\n\n visit(el);\n\n stack = [\n ...stack,\n ...<T[]><unknown>el[key],\n ];\n }\n\n return tree;\n};\n","import { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\nimport { traverse } from './traverse-tree';\n\nexport const daffDataTreeToUiTree = <T>(data: DaffTreeData<T>, parent: DaffTreeUi<T>, open: boolean = false): DaffTreeUi<T> => ({\n id: data.id ?? data.title,\n title: data.title,\n url: data.url,\n data: data.data,\n open,\n parent,\n items: [],\n});\n\n/**\n * This function translates the original data given to us by the client\n * to the internal representation of the tree used by the {@link DaffTreeComponent}\n */\nexport const hydrateTree = <T>(data: DaffTreeData<T>): DaffTreeUi<T> => {\n const tree = daffDataTreeToUiTree(data, undefined, true);\n\n let treeStack = [\n tree,\n ];\n\n traverse(data, (el) => {\n const treeEl = treeStack.pop();\n treeEl.items = el.items.map((i) => daffDataTreeToUiTree(i, treeEl, false));\n treeStack = [\n ...treeStack,\n ...treeEl.items,\n ];\n return el;\n }, 'items');\n\n return tree;\n};\n","import { Location } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\nimport {\n DaffTreeFlatNode,\n flattenTree,\n} from '../utils/flatten-tree';\nimport { hydrateTree } from '../utils/hydrate-tree';\nimport { DaffTreeNotifierService } from './tree-notifier.service';\n\n/**\n * The `DaffTreeComponent` allows you to render tree structures as interactable ui.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData}.\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ul[daff-tree]',\n templateUrl: './tree.component.html',\n styleUrls: ['./tree.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DaffTreeNotifierService,\n ],\n})\nexport class DaffTreeComponent implements OnInit {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree') class = true;\n\n /**\n * The internal tree element.\n */\n private tree: DaffTreeUi<unknown> = undefined;\n\n /**\n * The flattened tree data. You can iterate through this if you want to inspect\n * the resulting array structure we computed to render the tree.\n */\n public flatTree: DaffTreeFlatNode[] = [];\n\n /**\n * @docs-private\n */\n private _dataTree: DaffTreeData<unknown> = undefined;\n\n /**\n * The tree data you would like to render.\n */\n @Input('tree')\n get dataTree() {\n return this._dataTree;\n }\n set dataTree(dataTree: DaffTreeData<unknown>){\n if(!dataTree) {\n this._dataTree = undefined;\n this.tree = undefined;\n this.flatTree = [];\n return;\n }\n this._dataTree = dataTree;\n this.tree = hydrateTree(this.dataTree);\n this.flatTree = flattenTree(this.tree);\n };\n\n /**\n * The template used to render tree-nodes that themselves have children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemWithChildrenTpl', { static: true })\n withChildrenTemplate: TemplateRef<any>;\n\n /**\n * The template used to render tree-nodes that have no children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemTpl', { static: true }) treeItemTemplate: TemplateRef<any>;\n\n constructor(\n private notifier: DaffTreeNotifierService,\n ) {}\n\n /**\n * The track-by function used to reduce tree-item re-renders\n */\n trackByTreeElement(index: number, el: any): any {\n return el.title;\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n this.notifier.notice$.subscribe(() => {\n this.flatTree = flattenTree(this.tree);\n });\n }\n}\n","<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<li [attr.aria-level]=\"node.level\">\n\t\t<ng-container \n\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t</ng-container>\t\n\t</li>\n</ng-container>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffTreeItemDirective } from './tree-item/tree-item.directive';\nimport { DaffTreeComponent } from './tree/tree.component';\n\n@NgModule({\n declarations: [\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n})\nexport class DaffTreeModule { }\n","import { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { traverse } from './traverse-tree';\n\n/**\n * Transform a tree-like structure in-place into a {@link DaffTreeData}.\n *\n * This will mutate the original object, hydrating with additional properties.\n *\n * @param tree - The data structure representing tree-like data.\n * @param transformFn - A user-supplied function that will transform the user\n * type into a {@link DaffTreeData}\n * @param key - The property of the your tree that indicates which\n * key contains the \"children\" of your tree structure.\n *\n */\nexport const daffTransformTreeInPlace = <\n // eslint-disable-next-line @typescript-eslint/ban-types\n T extends Record<any,any>,\n>(\n tree: T,\n transformFn: (type: T) => T & DaffTreeData<unknown>,\n key: RecursiveTreeKeyOfType<T>,\n): DaffTreeData<unknown> => traverse<T, T & DaffTreeData<unknown>>(\n tree,\n (el) => {\n const r = Object.assign(el, transformFn(el));\n r.items = el[key];\n el = r;\n return <T & DaffTreeData<unknown>>el;\n },\n // This type is confusing. I don't understand why it has to be here,\n // the associated error message is incomprehensible.\n <T[string] extends T[] ? string : never>key,\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTreeNotifierService"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-tree.mjs","sources":["../../../libs/design/tree/src/tree/tree-notifier.service.ts","../../../libs/design/tree/src/utils/flatten-tree.ts","../../../libs/design/tree/src/utils/traverse-tree.ts","../../../libs/design/tree/src/utils/hydrate-tree.ts","../../../libs/design/tree/src/tree/tree.component.ts","../../../libs/design/tree/src/tree/tree.component.html","../../../libs/design/tree/src/tree-item/tree-item.directive.ts","../../../libs/design/tree/src/tree.module.ts","../../../libs/design/tree/src/utils/transform-in-place.ts","../../../libs/design/tree/src/daffodil-design-tree.ts"],"sourcesContent":["import {\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * This service is used by tree-items to notify their parent\n * that the tree has to be re-computed.\n *\n * This service is a multiton associated with each tree instance.\n * It follows the same lifecycle has the tree it is associated with.\n */\n@Inject({})\nexport class DaffTreeNotifierService implements OnDestroy {\n\n /**\n * @docs-private\n */\n private _notice: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n /**\n * An observable that emits when the tree needs to be re-computed.\n */\n notice$ = this._notice.asObservable();\n\n /**\n * `notify` can be called to trigger a re-computation of the tree\n * if data has changed unexpectedly and a re-render did not occur.\n *\n * This should be used sparingly. Instead, prefer updating `data` on the tree\n * itself for performance reasons.\n */\n notify() {\n this._notice.next(true);\n }\n\n /**\n * Cleanup when the tree is destroyed.\n *\n * @docs-private\n */\n ngOnDestroy(): void {\n this._notice.complete();\n }\n}\n","import { DaffTreeUi } from '../interfaces/tree-ui';\n\n/**\n * A flattened node of a tree. This is used when translating the tree data\n * structure into an array.\n */\nexport interface DaffTreeFlatNode {\n id: number | string;\n title: string;\n url: string;\n level: number;\n hasChildren: boolean;\n data: unknown;\n _treeRef: DaffTreeUi<unknown>;\n}\n\n/**\n * Flatten a DaffTreeUi<unknown> into an array, removing elements from the array\n * below nodes in the tree that are not open.\n */\nexport const flattenTree = (daffUiTree: DaffTreeUi<unknown>): DaffTreeFlatNode[] => {\n const tree: DaffTreeFlatNode[] = [];\n\n let items = [\n {\n ...daffUiTree,\n title: 'Root',\n level: 0,\n url: '/',\n data: undefined,\n open: true,\n _treeRef: daffUiTree,\n },\n ];\n\n\n while(items) {\n const el = items.pop();\n if(!el) {\n break;\n }\n\n if(el.open) {\n items = [\n ...items,\n ...el.items.map((i) => ({\n ...i,\n level:\n el.level + 1,\n _treeRef: i,\n })).reverse(),\n ];\n }\n\n if(el._treeRef.parent?.open) {\n tree.push({\n id: el.id,\n title: el.title,\n level: el.level,\n url : el.url,\n hasChildren: el.items.length > 0,\n data: undefined,\n _treeRef: el._treeRef,\n });\n }\n }\n\n return tree;\n};\n","import { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\n\n/**\n * Traverse the tree, pre-order, right-to-left\n */\nexport const traverse = <T extends Record<any, any>, V extends Record<any, any> = T>(\n tree: T,\n visit: (tree: T) => V,\n key: RecursiveTreeKeyOfType<T>,\n): V => {\n let stack = [\n tree,\n ];\n\n while(stack) {\n const el = stack.pop();\n if(!el) {\n break;\n }\n\n visit(el);\n\n stack = [\n ...stack,\n ...<T[]><unknown>el[key],\n ];\n }\n\n return tree;\n};\n","import { traverse } from './traverse-tree';\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\n\nexport const daffDataTreeToUiTree = <T>(data: DaffTreeData<T>, parent: DaffTreeUi<T>, open: boolean = false): DaffTreeUi<T> => ({\n id: data.id ?? data.title,\n title: data.title,\n url: data.url,\n data: data.data,\n open,\n parent,\n items: [],\n});\n\n/**\n * This function translates the original data given to us by the client\n * to the internal representation of the tree used by the {@link DaffTreeComponent}\n */\nexport const hydrateTree = <T>(data: DaffTreeData<T>): DaffTreeUi<T> => {\n const tree = daffDataTreeToUiTree(data, undefined, true);\n\n let treeStack = [\n tree,\n ];\n\n traverse(data, (el) => {\n const treeEl = treeStack.pop();\n treeEl.items = el.items.map((i) => daffDataTreeToUiTree(i, treeEl, false));\n treeStack = [\n ...treeStack,\n ...treeEl.items,\n ];\n return el;\n }, 'items');\n\n return tree;\n};\n","import { Location } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnInit,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { DaffTreeNotifierService } from './tree-notifier.service';\nimport { DaffTreeData } from '../interfaces/tree-data';\nimport { DaffTreeUi } from '../interfaces/tree-ui';\nimport {\n DaffTreeFlatNode,\n flattenTree,\n} from '../utils/flatten-tree';\nimport { hydrateTree } from '../utils/hydrate-tree';\n\n/**\n * The `DaffTreeComponent` allows you to render tree structures as interactable ui.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData}.\n *\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'ul[daff-tree]',\n templateUrl: './tree.component.html',\n styleUrls: ['./tree.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DaffTreeNotifierService,\n ],\n})\nexport class DaffTreeComponent implements OnInit {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree') class = true;\n\n /**\n * The internal tree element.\n */\n private tree: DaffTreeUi<unknown> = undefined;\n\n /**\n * The flattened tree data. You can iterate through this if you want to inspect\n * the resulting array structure we computed to render the tree.\n */\n public flatTree: DaffTreeFlatNode[] = [];\n\n /**\n * @docs-private\n */\n private _dataTree: DaffTreeData<unknown> = undefined;\n\n /**\n * The tree data you would like to render.\n */\n @Input('tree')\n get dataTree() {\n return this._dataTree;\n }\n set dataTree(dataTree: DaffTreeData<unknown>){\n if(!dataTree) {\n this._dataTree = undefined;\n this.tree = undefined;\n this.flatTree = [];\n return;\n }\n this._dataTree = dataTree;\n this.tree = hydrateTree(this.dataTree);\n this.flatTree = flattenTree(this.tree);\n };\n\n /**\n * The template used to render tree-nodes that themselves have children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemWithChildrenTpl', { static: true })\n withChildrenTemplate: TemplateRef<any>;\n\n /**\n * The template used to render tree-nodes that have no children.\n *\n * @docs-private\n */\n @ContentChild('daffTreeItemTpl', { static: true }) treeItemTemplate: TemplateRef<any>;\n\n constructor(\n private notifier: DaffTreeNotifierService,\n ) {}\n\n /**\n * The track-by function used to reduce tree-item re-renders\n */\n trackByTreeElement(index: number, el: any): any {\n return el.title;\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n this.notifier.notice$.subscribe(() => {\n this.flatTree = flattenTree(this.tree);\n });\n }\n}\n","<ng-container *ngFor=\"let node of flatTree; trackBy: trackByTreeElement\">\n\t<li [attr.aria-level]=\"node.level\">\n\t\t<ng-container \n\t\t\t*ngTemplateOutlet=\"node.hasChildren ? withChildrenTemplate : treeItemTemplate; context: { $implicit: node }\">\n\t\t</ng-container>\t\n\t</li>\n</ng-container>","import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\n\nimport { DaffTreeNotifierService } from '../tree/tree-notifier.service';\nimport { DaffTreeFlatNode } from '../utils/flatten-tree';\n\n/**\n * The `DaffTreeItemDirective` allows you to demarcate the elements which are\n * tree-children that interact with the parent tree.\n *\n * They can be used like:\n *\n * ```html\n * <ul daff-tree [tree]=\"tree\">\n * <ng-template #daffTreeItemWithChildrenTpl let-node>\n * <button daffTreeItem [node]=\"node\">{{ node.title }} </button>\n * </ng-template>\n *\n * <ng-template #daffTreeItemTpl let-node>\n * <a daffTreeItem [node]=\"node\" [routerLink]=\"node.url\">{{ node.title }}</a>\n * </ng-template>\n * </ul>\n * ```\n *\n * where `tree` is a {@link DaffTreeData} and `daff-tree` is a {@link DaffTreeComponent}.\n *\n */\n@Directive({\n selector: '[daffTreeItem]',\n})\nexport class DaffTreeItemDirective {\n\n /**\n * The css class of the daff-tree.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree-item') class = true;\n\n /**\n * The css class of a DaffTreeItemDirective that has children.\n *\n * @docs-private\n */\n @HostBinding('class.daff-tree-item__parent') classParent = false;\n\n /**\n * The html `id` of the tree item. This is derived from the {@link DaffTreeData}.\n *\n * @docs-private\n */\n @HostBinding('attr.id') id;\n\n /**\n * Accessibility property, notifying users about whether\n * or not the tree item is open.\n *\n * @docs-private\n */\n @HostBinding('attr.aria-expanded') ariaExpanded: string;\n\n /**\n * A css variable indicating the depth of the tree.\n * You can use this to style your templates if you want to\n * use different designs at different depths.\n */\n @HostBinding('style.--depth') depth: number;\n\n /**\n * The CSS class indicating whether or not the tree is `selected`.\n */\n @HostBinding('class.selected') get selectedClass() {\n return this.selected;\n };\n\n /**\n * The CSS class indicating whether or not the tree is `open`.\n */\n @HostBinding('class.open') openClass = false;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n *\n * @docs-private\n */\n private _node: DaffTreeFlatNode;\n\n /**\n * The {@link DaffTreeFlatNode} associated with this specific tree item.\n */\n @Input()\n get node() {\n return this._node;\n };\n set node(val: DaffTreeFlatNode) {\n this._node = val;\n this.id = 'tree-' + this._node.id;\n this.ariaExpanded = this._node._treeRef.open ? 'true' : 'false';\n this.depth = this._node.level;\n this.classParent = this._node.hasChildren;\n this.openClass = this._node._treeRef.open;\n }\n\n /**\n * Whether or not the tree item is the currently active item.\n * Note that there is no requirement there there only be one active item at a time.\n */\n @Input() selected = false;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private treeNotifier: DaffTreeNotifierService,\n ) {}\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toggleParent(this.node);\n }\n\n /**\n * @docs-private\n */\n @HostListener('click')\n onClick() {\n if(this.node.hasChildren) {\n this.toggleTree(this.node);\n }\n this.treeNotifier.notify();\n }\n\n /**\n * Toggle the open state of the tree's parent.\n */\n toggleParent(node: DaffTreeFlatNode) {\n if(node._treeRef?.parent.parent === undefined) {\n return;\n }\n node._treeRef.parent.open = !node._treeRef.parent.open;\n (<Document>this.document).getElementById('tree-' + node._treeRef.parent.id).focus();\n }\n\n /**\n * Toggle the open state of this specific subtree tree.\n */\n toggleTree(node: DaffTreeFlatNode) {\n if(node._treeRef.open === false) {\n node._treeRef.open = true;\n } else {\n node._treeRef.open = false;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffTreeComponent } from './tree/tree.component';\nimport { DaffTreeItemDirective } from './tree-item/tree-item.directive';\n\n@NgModule({\n declarations: [\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n DaffTreeComponent,\n DaffTreeItemDirective,\n ],\n})\nexport class DaffTreeModule { }\n","import { traverse } from './traverse-tree';\nimport { RecursiveTreeKeyOfType } from '../interfaces/recursive-key';\nimport { DaffTreeData } from '../interfaces/tree-data';\n\n/**\n * Transform a tree-like structure in-place into a {@link DaffTreeData}.\n *\n * This will mutate the original object, hydrating with additional properties.\n *\n * @param tree - The data structure representing tree-like data.\n * @param transformFn - A user-supplied function that will transform the user\n * type into a {@link DaffTreeData}\n * @param key - The property of the your tree that indicates which\n * key contains the \"children\" of your tree structure.\n *\n */\nexport const daffTransformTreeInPlace = <\n // eslint-disable-next-line @typescript-eslint/ban-types\n T extends Record<any,any>,\n>(\n tree: T,\n transformFn: (type: T) => T & DaffTreeData<unknown>,\n key: RecursiveTreeKeyOfType<T>,\n): DaffTreeData<unknown> => traverse<T, T & DaffTreeData<unknown>>(\n tree,\n (el) => {\n const r = Object.assign(el, transformFn(el));\n r.items = el[key];\n el = r;\n return <T & DaffTreeData<unknown>>el;\n },\n // This type is confusing. I don't understand why it has to be here,\n // the associated error message is incomprehensible.\n <T[string] extends T[] ? string : never>key,\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTreeNotifierService"],"mappings":"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"}