@elementar-rt/components 0.6.58 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +7 -2
  2. package/fesm2022/elementar-rt-components-action-required.mjs +8 -8
  3. package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
  4. package/fesm2022/elementar-rt-components-alert.mjs +21 -25
  5. package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
  6. package/fesm2022/elementar-rt-components-announcement.mjs +12 -14
  7. package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
  8. package/fesm2022/elementar-rt-components-avatar.mjs +34 -38
  9. package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
  10. package/fesm2022/elementar-rt-components-badge.mjs +10 -10
  11. package/fesm2022/elementar-rt-components-badge.mjs.map +1 -1
  12. package/fesm2022/elementar-rt-components-block-loader.mjs +10 -16
  13. package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
  14. package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
  15. package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
  16. package/fesm2022/elementar-rt-components-bottom-sheet.mjs +12 -12
  17. package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -1
  18. package/fesm2022/elementar-rt-components-brand-colors.mjs +9 -13
  19. package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
  20. package/fesm2022/elementar-rt-components-breadcrumbs.mjs +49 -53
  21. package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/elementar-rt-components-button-toggle.mjs +16 -16
  23. package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -1
  24. package/fesm2022/elementar-rt-components-calendar.mjs +10 -10
  25. package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -1
  26. package/fesm2022/elementar-rt-components-card-overlay.mjs +10 -16
  27. package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
  28. package/fesm2022/elementar-rt-components-card.mjs +18 -18
  29. package/fesm2022/elementar-rt-components-card.mjs.map +1 -1
  30. package/fesm2022/elementar-rt-components-carousel.mjs +48 -50
  31. package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
  32. package/fesm2022/elementar-rt-components-chips.mjs +12 -12
  33. package/fesm2022/elementar-rt-components-chips.mjs.map +1 -1
  34. package/fesm2022/elementar-rt-components-clipboard-copy.mjs +17 -17
  35. package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -1
  36. package/fesm2022/elementar-rt-components-code-highlighter.mjs +12 -12
  37. package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
  38. package/fesm2022/elementar-rt-components-color-picker.mjs +44 -52
  39. package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
  40. package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
  41. package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
  42. package/fesm2022/elementar-rt-components-combobox.mjs +13 -13
  43. package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -1
  44. package/fesm2022/elementar-rt-components-command-bar.mjs +15 -17
  45. package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
  46. package/fesm2022/elementar-rt-components-comment-editor.mjs +106 -106
  47. package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
  48. package/fesm2022/elementar-rt-components-comparison-slider.mjs +16 -16
  49. package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
  50. package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
  51. package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
  52. package/fesm2022/elementar-rt-components-content-editor.mjs +7 -7
  53. package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -1
  54. package/fesm2022/elementar-rt-components-content-fade.mjs +7 -7
  55. package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
  56. package/fesm2022/elementar-rt-components-cookie-popup.mjs +15 -17
  57. package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
  58. package/fesm2022/elementar-rt-components-core.mjs +68 -75
  59. package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
  60. package/fesm2022/elementar-rt-components-country-select.mjs +15 -17
  61. package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
  62. package/fesm2022/elementar-rt-components-crop.mjs +12 -12
  63. package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
  64. package/fesm2022/elementar-rt-components-currency-select.mjs +15 -17
  65. package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
  66. package/fesm2022/elementar-rt-components-dashboard.mjs +15 -19
  67. package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
  68. package/fesm2022/elementar-rt-components-data-grid.mjs +20 -20
  69. package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -1
  70. package/fesm2022/elementar-rt-components-data-view.mjs +38 -52
  71. package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
  72. package/fesm2022/elementar-rt-components-date-format-select.mjs +8 -8
  73. package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
  74. package/fesm2022/elementar-rt-components-datepicker.mjs +12 -12
  75. package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -1
  76. package/fesm2022/elementar-rt-components-dialog.mjs +19 -19
  77. package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -1
  78. package/fesm2022/elementar-rt-components-digit-roller.mjs +10 -10
  79. package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -1
  80. package/fesm2022/elementar-rt-components-divider.mjs +8 -8
  81. package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
  82. package/fesm2022/elementar-rt-components-drawer.mjs +14 -14
  83. package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
  84. package/fesm2022/elementar-rt-components-emoji-picker.mjs +15 -17
  85. package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
  86. package/fesm2022/elementar-rt-components-empty-state.mjs +8 -8
  87. package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -1
  88. package/fesm2022/elementar-rt-components-expand.mjs +10 -14
  89. package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
  90. package/fesm2022/elementar-rt-components-expansion-panel.mjs +6 -6
  91. package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -1
  92. package/fesm2022/elementar-rt-components-filter-builder.mjs +24 -26
  93. package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
  94. package/fesm2022/elementar-rt-components-filter-select.mjs +19 -19
  95. package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -1
  96. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs} +6 -6
  97. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs.map} +1 -1
  98. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs} +7 -7
  99. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs.map} +1 -1
  100. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs} +6 -6
  101. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs.map} +1 -1
  102. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs} +4 -4
  103. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs.map} +1 -1
  104. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs} +5 -5
  105. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs.map} +1 -1
  106. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs} +7 -7
  107. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs.map} +1 -1
  108. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs} +7 -7
  109. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs.map} +1 -1
  110. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs} +6 -6
  111. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs.map} +1 -1
  112. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs} +5 -5
  113. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs.map} +1 -1
  114. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs} +6 -6
  115. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs.map} +1 -1
  116. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs} +7 -7
  117. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs.map} +1 -1
  118. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs} +7 -7
  119. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs.map} +1 -1
  120. package/fesm2022/elementar-rt-components-form-renderer.mjs +36 -36
  121. package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
  122. package/fesm2022/elementar-rt-components-gauge.mjs +11 -17
  123. package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
  124. package/fesm2022/elementar-rt-components-grid.mjs +12 -12
  125. package/fesm2022/elementar-rt-components-grid.mjs.map +1 -1
  126. package/fesm2022/elementar-rt-components-guided-tour.mjs +12 -12
  127. package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -1
  128. package/fesm2022/elementar-rt-components-headless-stepper.mjs +10 -10
  129. package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -1
  130. package/fesm2022/elementar-rt-components-icon.mjs +6 -6
  131. package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
  132. package/fesm2022/elementar-rt-components-image-placeholder.mjs +10 -10
  133. package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -1
  134. package/fesm2022/elementar-rt-components-image-resizer.mjs +17 -25
  135. package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
  136. package/fesm2022/elementar-rt-components-image-viewer.mjs +29 -29
  137. package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
  138. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +16 -16
  139. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -1
  140. package/fesm2022/elementar-rt-components-incidents.mjs +55 -57
  141. package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
  142. package/fesm2022/elementar-rt-components-inline-text-edit.mjs +8 -10
  143. package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
  144. package/fesm2022/elementar-rt-components-input-mask.mjs +12 -12
  145. package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
  146. package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
  147. package/fesm2022/elementar-rt-components-kanban-board.mjs +10 -10
  148. package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
  149. package/fesm2022/elementar-rt-components-keyboard.mjs +9 -9
  150. package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -1
  151. package/fesm2022/elementar-rt-components-layout.mjs +36 -40
  152. package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
  153. package/fesm2022/elementar-rt-components-list.mjs +13 -13
  154. package/fesm2022/elementar-rt-components-list.mjs.map +1 -1
  155. package/fesm2022/elementar-rt-components-logo.mjs +12 -12
  156. package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
  157. package/fesm2022/elementar-rt-components-marquee.mjs +9 -13
  158. package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
  159. package/fesm2022/elementar-rt-components-menu.mjs +19 -19
  160. package/fesm2022/elementar-rt-components-menu.mjs.map +1 -1
  161. package/fesm2022/elementar-rt-components-micro-chart.mjs +65 -111
  162. package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
  163. package/fesm2022/elementar-rt-components-multi-select.mjs +13 -13
  164. package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -1
  165. package/fesm2022/elementar-rt-components-navigation.mjs +56 -66
  166. package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
  167. package/fesm2022/elementar-rt-components-notifications.mjs +47 -53
  168. package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
  169. package/fesm2022/elementar-rt-components-number-input.mjs +23 -31
  170. package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
  171. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +34 -34
  172. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
  173. package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
  174. package/fesm2022/elementar-rt-components-page-loading-bar.mjs +5 -7
  175. package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
  176. package/fesm2022/elementar-rt-components-paginator.mjs +12 -12
  177. package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -1
  178. package/fesm2022/elementar-rt-components-panel.mjs +25 -27
  179. package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
  180. package/fesm2022/elementar-rt-components-password-strength.mjs +35 -59
  181. package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
  182. package/fesm2022/elementar-rt-components-phone-input.mjs +23 -26
  183. package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
  184. package/fesm2022/elementar-rt-components-pin-input.mjs +17 -21
  185. package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
  186. package/fesm2022/elementar-rt-components-popover.mjs +18 -28
  187. package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
  188. package/fesm2022/elementar-rt-components-progress-bar.mjs +10 -10
  189. package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -1
  190. package/fesm2022/elementar-rt-components-progress-spinner.mjs +14 -14
  191. package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -1
  192. package/fesm2022/elementar-rt-components-radio-card.mjs +21 -21
  193. package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
  194. package/fesm2022/elementar-rt-components-rail-nav.mjs +14 -14
  195. package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
  196. package/fesm2022/elementar-rt-components-rating.mjs +15 -15
  197. package/fesm2022/elementar-rt-components-rating.mjs.map +1 -1
  198. package/fesm2022/elementar-rt-components-resizable-container.mjs +5 -7
  199. package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
  200. package/fesm2022/elementar-rt-components-screen-loader.mjs +5 -7
  201. package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
  202. package/fesm2022/elementar-rt-components-scroll-spy.mjs +18 -18
  203. package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
  204. package/fesm2022/elementar-rt-components-segmented.mjs +18 -24
  205. package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
  206. package/fesm2022/elementar-rt-components-side-panel.mjs +18 -18
  207. package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
  208. package/fesm2022/elementar-rt-components-sidebar.mjs +71 -77
  209. package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
  210. package/fesm2022/elementar-rt-components-sidenav.mjs +15 -15
  211. package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -1
  212. package/fesm2022/elementar-rt-components-signature-pad.mjs +17 -17
  213. package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
  214. package/fesm2022/elementar-rt-components-skeleton.mjs +17 -17
  215. package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
  216. package/fesm2022/elementar-rt-components-slider.mjs +13 -13
  217. package/fesm2022/elementar-rt-components-slider.mjs.map +1 -1
  218. package/fesm2022/elementar-rt-components-snackbar.mjs +10 -10
  219. package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -1
  220. package/fesm2022/elementar-rt-components-sort.mjs +11 -11
  221. package/fesm2022/elementar-rt-components-sort.mjs.map +1 -1
  222. package/fesm2022/elementar-rt-components-splash-screen.mjs +6 -10
  223. package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
  224. package/fesm2022/elementar-rt-components-split-pane.mjs +10 -10
  225. package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -1
  226. package/fesm2022/elementar-rt-components-stat-card.mjs +10 -10
  227. package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -1
  228. package/fesm2022/elementar-rt-components-step-tracker.mjs +8 -8
  229. package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -1
  230. package/fesm2022/elementar-rt-components-stepper.mjs +21 -23
  231. package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
  232. package/fesm2022/elementar-rt-components-suggestions.mjs +21 -25
  233. package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
  234. package/fesm2022/elementar-rt-components-tab-panel.mjs +54 -60
  235. package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
  236. package/fesm2022/elementar-rt-components-table.mjs +16 -16
  237. package/fesm2022/elementar-rt-components-table.mjs.map +1 -1
  238. package/fesm2022/elementar-rt-components-tabs.mjs +14 -14
  239. package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -1
  240. package/fesm2022/elementar-rt-components-tag.mjs +9 -9
  241. package/fesm2022/elementar-rt-components-tag.mjs.map +1 -1
  242. package/fesm2022/elementar-rt-components-text-editor.mjs +97 -96
  243. package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
  244. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +11 -13
  245. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
  246. package/fesm2022/elementar-rt-components-tiles.mjs +9 -9
  247. package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -1
  248. package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
  249. package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
  250. package/fesm2022/elementar-rt-components-timepicker.mjs +11 -11
  251. package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -1
  252. package/fesm2022/elementar-rt-components-timezone-select.mjs +23 -29
  253. package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
  254. package/fesm2022/elementar-rt-components-toast.mjs +14 -14
  255. package/fesm2022/elementar-rt-components-toast.mjs.map +1 -1
  256. package/fesm2022/elementar-rt-components-toolbar.mjs +6 -6
  257. package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -1
  258. package/fesm2022/elementar-rt-components-tooltip.mjs +14 -14
  259. package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -1
  260. package/fesm2022/elementar-rt-components-tree.mjs +17 -17
  261. package/fesm2022/elementar-rt-components-tree.mjs.map +1 -1
  262. package/fesm2022/elementar-rt-components-upload.mjs +77 -87
  263. package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
  264. package/fesm2022/elementar-rt-components-video-player.mjs +22 -22
  265. package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -1
  266. package/fesm2022/elementar-rt-components-video-viewer.mjs +16 -16
  267. package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -1
  268. package/package.json +136 -135
  269. package/schematics/collection.json +16 -0
  270. package/schematics/ng-add/actions/add-fonts.d.ts +2 -0
  271. package/schematics/ng-add/actions/add-fonts.js +70 -0
  272. package/schematics/ng-add/actions/add-fonts.js.map +1 -0
  273. package/schematics/ng-add/actions/add-styles.d.ts +3 -0
  274. package/schematics/ng-add/actions/add-styles.js +70 -0
  275. package/schematics/ng-add/actions/add-styles.js.map +1 -0
  276. package/schematics/ng-add/index.d.ts +3 -0
  277. package/schematics/ng-add/index.js +83 -0
  278. package/schematics/ng-add/index.js.map +1 -0
  279. package/schematics/ng-add/schema.d.ts +3 -0
  280. package/schematics/ng-add/schema.js +3 -0
  281. package/schematics/ng-add/schema.js.map +1 -0
  282. package/schematics/ng-add/schema.json +8 -0
  283. package/schematics/ng-add/setup-project.d.ts +3 -0
  284. package/schematics/ng-add/setup-project.js +14 -0
  285. package/schematics/ng-add/setup-project.js.map +1 -0
  286. package/schematics/utils/package-config.d.ts +3 -0
  287. package/schematics/utils/package-config.js +36 -0
  288. package/schematics/utils/package-config.js.map +1 -0
  289. package/schematics/utils/project.d.ts +10 -0
  290. package/schematics/utils/project.js +46 -0
  291. package/schematics/utils/project.js.map +1 -0
  292. package/{country-select/index.d.ts → types/elementar-rt-components-country-select.d.ts} +1 -1
  293. package/{currency-select/index.d.ts → types/elementar-rt-components-currency-select.d.ts} +1 -1
  294. /package/{action-required/index.d.ts → types/elementar-rt-components-action-required.d.ts} +0 -0
  295. /package/{alert/index.d.ts → types/elementar-rt-components-alert.d.ts} +0 -0
  296. /package/{announcement/index.d.ts → types/elementar-rt-components-announcement.d.ts} +0 -0
  297. /package/{avatar/index.d.ts → types/elementar-rt-components-avatar.d.ts} +0 -0
  298. /package/{badge/index.d.ts → types/elementar-rt-components-badge.d.ts} +0 -0
  299. /package/{block-loader/index.d.ts → types/elementar-rt-components-block-loader.d.ts} +0 -0
  300. /package/{block-state/index.d.ts → types/elementar-rt-components-block-state.d.ts} +0 -0
  301. /package/{bottom-sheet/index.d.ts → types/elementar-rt-components-bottom-sheet.d.ts} +0 -0
  302. /package/{brand-colors/index.d.ts → types/elementar-rt-components-brand-colors.d.ts} +0 -0
  303. /package/{breadcrumbs/index.d.ts → types/elementar-rt-components-breadcrumbs.d.ts} +0 -0
  304. /package/{button-toggle/index.d.ts → types/elementar-rt-components-button-toggle.d.ts} +0 -0
  305. /package/{calendar/index.d.ts → types/elementar-rt-components-calendar.d.ts} +0 -0
  306. /package/{card-overlay/index.d.ts → types/elementar-rt-components-card-overlay.d.ts} +0 -0
  307. /package/{card/index.d.ts → types/elementar-rt-components-card.d.ts} +0 -0
  308. /package/{carousel/index.d.ts → types/elementar-rt-components-carousel.d.ts} +0 -0
  309. /package/{chips/index.d.ts → types/elementar-rt-components-chips.d.ts} +0 -0
  310. /package/{clipboard-copy/index.d.ts → types/elementar-rt-components-clipboard-copy.d.ts} +0 -0
  311. /package/{code-highlighter/index.d.ts → types/elementar-rt-components-code-highlighter.d.ts} +0 -0
  312. /package/{color-picker/index.d.ts → types/elementar-rt-components-color-picker.d.ts} +0 -0
  313. /package/{color-scheme/index.d.ts → types/elementar-rt-components-color-scheme.d.ts} +0 -0
  314. /package/{combobox/index.d.ts → types/elementar-rt-components-combobox.d.ts} +0 -0
  315. /package/{command-bar/index.d.ts → types/elementar-rt-components-command-bar.d.ts} +0 -0
  316. /package/{comment-editor/index.d.ts → types/elementar-rt-components-comment-editor.d.ts} +0 -0
  317. /package/{comparison-slider/index.d.ts → types/elementar-rt-components-comparison-slider.d.ts} +0 -0
  318. /package/{confirm/index.d.ts → types/elementar-rt-components-confirm.d.ts} +0 -0
  319. /package/{content-editor/index.d.ts → types/elementar-rt-components-content-editor.d.ts} +0 -0
  320. /package/{content-fade/index.d.ts → types/elementar-rt-components-content-fade.d.ts} +0 -0
  321. /package/{cookie-popup/index.d.ts → types/elementar-rt-components-cookie-popup.d.ts} +0 -0
  322. /package/{core/index.d.ts → types/elementar-rt-components-core.d.ts} +0 -0
  323. /package/{crop/index.d.ts → types/elementar-rt-components-crop.d.ts} +0 -0
  324. /package/{dashboard/index.d.ts → types/elementar-rt-components-dashboard.d.ts} +0 -0
  325. /package/{data-grid/index.d.ts → types/elementar-rt-components-data-grid.d.ts} +0 -0
  326. /package/{data-view/index.d.ts → types/elementar-rt-components-data-view.d.ts} +0 -0
  327. /package/{date-format-select/index.d.ts → types/elementar-rt-components-date-format-select.d.ts} +0 -0
  328. /package/{datepicker/index.d.ts → types/elementar-rt-components-datepicker.d.ts} +0 -0
  329. /package/{dialog/index.d.ts → types/elementar-rt-components-dialog.d.ts} +0 -0
  330. /package/{digit-roller/index.d.ts → types/elementar-rt-components-digit-roller.d.ts} +0 -0
  331. /package/{divider/index.d.ts → types/elementar-rt-components-divider.d.ts} +0 -0
  332. /package/{drawer/index.d.ts → types/elementar-rt-components-drawer.d.ts} +0 -0
  333. /package/{emoji-picker/index.d.ts → types/elementar-rt-components-emoji-picker.d.ts} +0 -0
  334. /package/{empty-state/index.d.ts → types/elementar-rt-components-empty-state.d.ts} +0 -0
  335. /package/{expand/index.d.ts → types/elementar-rt-components-expand.d.ts} +0 -0
  336. /package/{expansion-panel/index.d.ts → types/elementar-rt-components-expansion-panel.d.ts} +0 -0
  337. /package/{filter-builder/index.d.ts → types/elementar-rt-components-filter-builder.d.ts} +0 -0
  338. /package/{filter-select/index.d.ts → types/elementar-rt-components-filter-select.d.ts} +0 -0
  339. /package/{form-renderer/index.d.ts → types/elementar-rt-components-form-renderer.d.ts} +0 -0
  340. /package/{gauge/index.d.ts → types/elementar-rt-components-gauge.d.ts} +0 -0
  341. /package/{grid/index.d.ts → types/elementar-rt-components-grid.d.ts} +0 -0
  342. /package/{guided-tour/index.d.ts → types/elementar-rt-components-guided-tour.d.ts} +0 -0
  343. /package/{headless-stepper/index.d.ts → types/elementar-rt-components-headless-stepper.d.ts} +0 -0
  344. /package/{icon/index.d.ts → types/elementar-rt-components-icon.d.ts} +0 -0
  345. /package/{image-placeholder/index.d.ts → types/elementar-rt-components-image-placeholder.d.ts} +0 -0
  346. /package/{image-resizer/index.d.ts → types/elementar-rt-components-image-resizer.d.ts} +0 -0
  347. /package/{image-viewer/index.d.ts → types/elementar-rt-components-image-viewer.d.ts} +0 -0
  348. /package/{image-zoom-viewer/index.d.ts → types/elementar-rt-components-image-zoom-viewer.d.ts} +0 -0
  349. /package/{incidents/index.d.ts → types/elementar-rt-components-incidents.d.ts} +0 -0
  350. /package/{inline-text-edit/index.d.ts → types/elementar-rt-components-inline-text-edit.d.ts} +0 -0
  351. /package/{input-mask/index.d.ts → types/elementar-rt-components-input-mask.d.ts} +0 -0
  352. /package/{input-validator/index.d.ts → types/elementar-rt-components-input-validator.d.ts} +0 -0
  353. /package/{kanban-board/index.d.ts → types/elementar-rt-components-kanban-board.d.ts} +0 -0
  354. /package/{keyboard/index.d.ts → types/elementar-rt-components-keyboard.d.ts} +0 -0
  355. /package/{layout/index.d.ts → types/elementar-rt-components-layout.d.ts} +0 -0
  356. /package/{list/index.d.ts → types/elementar-rt-components-list.d.ts} +0 -0
  357. /package/{logo/index.d.ts → types/elementar-rt-components-logo.d.ts} +0 -0
  358. /package/{marquee/index.d.ts → types/elementar-rt-components-marquee.d.ts} +0 -0
  359. /package/{menu/index.d.ts → types/elementar-rt-components-menu.d.ts} +0 -0
  360. /package/{micro-chart/index.d.ts → types/elementar-rt-components-micro-chart.d.ts} +0 -0
  361. /package/{multi-select/index.d.ts → types/elementar-rt-components-multi-select.d.ts} +0 -0
  362. /package/{navigation/index.d.ts → types/elementar-rt-components-navigation.d.ts} +0 -0
  363. /package/{notifications/index.d.ts → types/elementar-rt-components-notifications.d.ts} +0 -0
  364. /package/{number-input/index.d.ts → types/elementar-rt-components-number-input.d.ts} +0 -0
  365. /package/{overlay-scrollbar/index.d.ts → types/elementar-rt-components-overlay-scrollbar.d.ts} +0 -0
  366. /package/{overlay/index.d.ts → types/elementar-rt-components-overlay.d.ts} +0 -0
  367. /package/{page-loading-bar/index.d.ts → types/elementar-rt-components-page-loading-bar.d.ts} +0 -0
  368. /package/{paginator/index.d.ts → types/elementar-rt-components-paginator.d.ts} +0 -0
  369. /package/{panel/index.d.ts → types/elementar-rt-components-panel.d.ts} +0 -0
  370. /package/{password-strength/index.d.ts → types/elementar-rt-components-password-strength.d.ts} +0 -0
  371. /package/{phone-input/index.d.ts → types/elementar-rt-components-phone-input.d.ts} +0 -0
  372. /package/{pin-input/index.d.ts → types/elementar-rt-components-pin-input.d.ts} +0 -0
  373. /package/{popover/index.d.ts → types/elementar-rt-components-popover.d.ts} +0 -0
  374. /package/{progress-bar/index.d.ts → types/elementar-rt-components-progress-bar.d.ts} +0 -0
  375. /package/{progress-spinner/index.d.ts → types/elementar-rt-components-progress-spinner.d.ts} +0 -0
  376. /package/{radio-card/index.d.ts → types/elementar-rt-components-radio-card.d.ts} +0 -0
  377. /package/{rail-nav/index.d.ts → types/elementar-rt-components-rail-nav.d.ts} +0 -0
  378. /package/{rating/index.d.ts → types/elementar-rt-components-rating.d.ts} +0 -0
  379. /package/{resizable-container/index.d.ts → types/elementar-rt-components-resizable-container.d.ts} +0 -0
  380. /package/{screen-loader/index.d.ts → types/elementar-rt-components-screen-loader.d.ts} +0 -0
  381. /package/{scroll-spy/index.d.ts → types/elementar-rt-components-scroll-spy.d.ts} +0 -0
  382. /package/{segmented/index.d.ts → types/elementar-rt-components-segmented.d.ts} +0 -0
  383. /package/{side-panel/index.d.ts → types/elementar-rt-components-side-panel.d.ts} +0 -0
  384. /package/{sidebar/index.d.ts → types/elementar-rt-components-sidebar.d.ts} +0 -0
  385. /package/{sidenav/index.d.ts → types/elementar-rt-components-sidenav.d.ts} +0 -0
  386. /package/{signature-pad/index.d.ts → types/elementar-rt-components-signature-pad.d.ts} +0 -0
  387. /package/{skeleton/index.d.ts → types/elementar-rt-components-skeleton.d.ts} +0 -0
  388. /package/{slider/index.d.ts → types/elementar-rt-components-slider.d.ts} +0 -0
  389. /package/{snackbar/index.d.ts → types/elementar-rt-components-snackbar.d.ts} +0 -0
  390. /package/{sort/index.d.ts → types/elementar-rt-components-sort.d.ts} +0 -0
  391. /package/{splash-screen/index.d.ts → types/elementar-rt-components-splash-screen.d.ts} +0 -0
  392. /package/{split-pane/index.d.ts → types/elementar-rt-components-split-pane.d.ts} +0 -0
  393. /package/{stat-card/index.d.ts → types/elementar-rt-components-stat-card.d.ts} +0 -0
  394. /package/{step-tracker/index.d.ts → types/elementar-rt-components-step-tracker.d.ts} +0 -0
  395. /package/{stepper/index.d.ts → types/elementar-rt-components-stepper.d.ts} +0 -0
  396. /package/{suggestions/index.d.ts → types/elementar-rt-components-suggestions.d.ts} +0 -0
  397. /package/{tab-panel/index.d.ts → types/elementar-rt-components-tab-panel.d.ts} +0 -0
  398. /package/{table/index.d.ts → types/elementar-rt-components-table.d.ts} +0 -0
  399. /package/{tabs/index.d.ts → types/elementar-rt-components-tabs.d.ts} +0 -0
  400. /package/{tag/index.d.ts → types/elementar-rt-components-tag.d.ts} +0 -0
  401. /package/{text-editor/index.d.ts → types/elementar-rt-components-text-editor.d.ts} +0 -0
  402. /package/{thumbnail-maker/index.d.ts → types/elementar-rt-components-thumbnail-maker.d.ts} +0 -0
  403. /package/{tiles/index.d.ts → types/elementar-rt-components-tiles.d.ts} +0 -0
  404. /package/{timeline/index.d.ts → types/elementar-rt-components-timeline.d.ts} +0 -0
  405. /package/{timepicker/index.d.ts → types/elementar-rt-components-timepicker.d.ts} +0 -0
  406. /package/{timezone-select/index.d.ts → types/elementar-rt-components-timezone-select.d.ts} +0 -0
  407. /package/{toast/index.d.ts → types/elementar-rt-components-toast.d.ts} +0 -0
  408. /package/{toolbar/index.d.ts → types/elementar-rt-components-toolbar.d.ts} +0 -0
  409. /package/{tooltip/index.d.ts → types/elementar-rt-components-tooltip.d.ts} +0 -0
  410. /package/{tree/index.d.ts → types/elementar-rt-components-tree.d.ts} +0 -0
  411. /package/{upload/index.d.ts → types/elementar-rt-components-upload.d.ts} +0 -0
  412. /package/{video-player/index.d.ts → types/elementar-rt-components-video-player.d.ts} +0 -0
  413. /package/{video-viewer/index.d.ts → types/elementar-rt-components-video-viewer.d.ts} +0 -0
  414. /package/{index.d.ts → types/elementar-rt-components.d.ts} +0 -0
@@ -3,8 +3,8 @@ import { output, signal, Directive, input, inject, computed, HostListener } from
3
3
 
4
4
  class EmrSortDirective {
5
5
  sortChange = output();
6
- activeField = signal('', ...(ngDevMode ? [{ debugName: "activeField" }] : []));
7
- activeDirection = signal('asc', ...(ngDevMode ? [{ debugName: "activeDirection" }] : []));
6
+ activeField = signal('', ...(ngDevMode ? [{ debugName: "activeField" }] : /* istanbul ignore next */ []));
7
+ activeDirection = signal('asc', ...(ngDevMode ? [{ debugName: "activeDirection" }] : /* istanbul ignore next */ []));
8
8
  sort(field) {
9
9
  if (this.activeField() === field) {
10
10
  this.activeDirection.set(this.activeDirection() === 'asc' ? 'desc' : 'asc');
@@ -15,10 +15,10 @@ class EmrSortDirective {
15
15
  }
16
16
  this.sortChange.emit({ field: this.activeField(), direction: this.activeDirection() });
17
17
  }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: EmrSortDirective, isStandalone: true, selector: "[emrSort]", outputs: { sortChange: "sortChange" }, exportAs: ["emrSort"], ngImport: i0 });
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrSortDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: EmrSortDirective, isStandalone: true, selector: "[emrSort]", outputs: { sortChange: "sortChange" }, exportAs: ["emrSort"], ngImport: i0 });
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrSortDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[emrSort]',
@@ -28,21 +28,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
28
28
  }], propDecorators: { sortChange: [{ type: i0.Output, args: ["sortChange"] }] } });
29
29
 
30
30
  class EmrSortHeaderDirective {
31
- emrSortHeader = input.required(...(ngDevMode ? [{ debugName: "emrSortHeader" }] : []));
31
+ emrSortHeader = input.required(...(ngDevMode ? [{ debugName: "emrSortHeader" }] : /* istanbul ignore next */ []));
32
32
  _sort = inject(EmrSortDirective);
33
- _isActive = computed(() => this._sort.activeField() === this.emrSortHeader(), ...(ngDevMode ? [{ debugName: "_isActive" }] : []));
33
+ _isActive = computed(() => this._sort.activeField() === this.emrSortHeader(), ...(ngDevMode ? [{ debugName: "_isActive" }] : /* istanbul ignore next */ []));
34
34
  _ariaSort = computed(() => {
35
35
  if (!this._isActive())
36
36
  return 'none';
37
37
  return this._sort.activeDirection() === 'asc' ? 'ascending' : 'descending';
38
- }, ...(ngDevMode ? [{ debugName: "_ariaSort" }] : []));
38
+ }, ...(ngDevMode ? [{ debugName: "_ariaSort" }] : /* istanbul ignore next */ []));
39
39
  onClick() {
40
40
  this._sort.sort(this.emrSortHeader());
41
41
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: EmrSortHeaderDirective, isStandalone: true, selector: "[emrSortHeader]", inputs: { emrSortHeader: { classPropertyName: "emrSortHeader", publicName: "emrSortHeader", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "button" }, listeners: { "click": "onClick()" }, properties: { "attr.data-sort-active": "_isActive() || null", "attr.data-sort-dir": "_isActive() ? _sort.activeDirection() : null", "style.cursor": "\"pointer\"", "attr.aria-sort": "_ariaSort()" } }, exportAs: ["emrSortHeader"], ngImport: i0 });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrSortHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: EmrSortHeaderDirective, isStandalone: true, selector: "[emrSortHeader]", inputs: { emrSortHeader: { classPropertyName: "emrSortHeader", publicName: "emrSortHeader", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "button" }, listeners: { "click": "onClick()" }, properties: { "attr.data-sort-active": "_isActive() || null", "attr.data-sort-dir": "_isActive() ? _sort.activeDirection() : null", "style.cursor": "\"pointer\"", "attr.aria-sort": "_ariaSort()" } }, exportAs: ["emrSortHeader"], ngImport: i0 });
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortHeaderDirective, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrSortHeaderDirective, decorators: [{
46
46
  type: Directive,
47
47
  args: [{
48
48
  selector: '[emrSortHeader]',
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-sort.mjs","sources":["../../../projects/components/sort/src/sort.directive.ts","../../../projects/components/sort/src/sort-header.directive.ts","../../../projects/components/sort/elementar-rt-components-sort.ts"],"sourcesContent":["import { Directive, output, signal } from '@angular/core';\n\nexport interface EmrSortEvent {\n field: string;\n direction: 'asc' | 'desc';\n}\n\n@Directive({\n selector: '[emrSort]',\n standalone: true,\n exportAs: 'emrSort',\n})\nexport class EmrSortDirective {\n sortChange = output<EmrSortEvent>();\n\n readonly activeField = signal('');\n readonly activeDirection = signal<'asc' | 'desc'>('asc');\n\n sort(field: string): void {\n if (this.activeField() === field) {\n this.activeDirection.set(this.activeDirection() === 'asc' ? 'desc' : 'asc');\n } else {\n this.activeField.set(field);\n this.activeDirection.set('asc');\n }\n this.sortChange.emit({ field: this.activeField(), direction: this.activeDirection() });\n }\n}\n","import { Directive, input, computed, HostListener, inject, Host, Optional } from '@angular/core';\nimport { EmrSortDirective } from './sort.directive';\n\n@Directive({\n selector: '[emrSortHeader]',\n standalone: true,\n exportAs: 'emrSortHeader',\n host: {\n '[attr.data-sort-active]': '_isActive() || null',\n '[attr.data-sort-dir]': '_isActive() ? _sort.activeDirection() : null',\n 'role': 'button',\n '[style.cursor]': '\"pointer\"',\n '[attr.aria-sort]': '_ariaSort()',\n }\n})\nexport class EmrSortHeaderDirective {\n emrSortHeader = input.required<string>();\n\n protected _sort = inject(EmrSortDirective);\n\n protected _isActive = computed(() => this._sort.activeField() === this.emrSortHeader());\n protected _ariaSort = computed(() => {\n if (!this._isActive()) return 'none';\n return this._sort.activeDirection() === 'asc' ? 'ascending' : 'descending';\n });\n\n @HostListener('click')\n onClick(): void {\n this._sort.sort(this.emrSortHeader());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementar-rt-components-sort.mjs","sources":["../../../projects/components/sort/src/sort.directive.ts","../../../projects/components/sort/src/sort-header.directive.ts","../../../projects/components/sort/elementar-rt-components-sort.ts"],"sourcesContent":["import { Directive, output, signal } from '@angular/core';\n\nexport interface EmrSortEvent {\n field: string;\n direction: 'asc' | 'desc';\n}\n\n@Directive({\n selector: '[emrSort]',\n standalone: true,\n exportAs: 'emrSort',\n})\nexport class EmrSortDirective {\n sortChange = output<EmrSortEvent>();\n\n readonly activeField = signal('');\n readonly activeDirection = signal<'asc' | 'desc'>('asc');\n\n sort(field: string): void {\n if (this.activeField() === field) {\n this.activeDirection.set(this.activeDirection() === 'asc' ? 'desc' : 'asc');\n } else {\n this.activeField.set(field);\n this.activeDirection.set('asc');\n }\n this.sortChange.emit({ field: this.activeField(), direction: this.activeDirection() });\n }\n}\n","import { Directive, input, computed, HostListener, inject, Host, Optional } from '@angular/core';\nimport { EmrSortDirective } from './sort.directive';\n\n@Directive({\n selector: '[emrSortHeader]',\n standalone: true,\n exportAs: 'emrSortHeader',\n host: {\n '[attr.data-sort-active]': '_isActive() || null',\n '[attr.data-sort-dir]': '_isActive() ? _sort.activeDirection() : null',\n 'role': 'button',\n '[style.cursor]': '\"pointer\"',\n '[attr.aria-sort]': '_ariaSort()',\n }\n})\nexport class EmrSortHeaderDirective {\n emrSortHeader = input.required<string>();\n\n protected _sort = inject(EmrSortDirective);\n\n protected _isActive = computed(() => this._sort.activeField() === this.emrSortHeader());\n protected _ariaSort = computed(() => {\n if (!this._isActive()) return 'none';\n return this._sort.activeDirection() === 'asc' ? 'ascending' : 'descending';\n });\n\n @HostListener('click')\n onClick(): void {\n this._sort.sort(this.emrSortHeader());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -25,12 +25,8 @@ class SplashScreenComponent {
25
25
  _renderer = inject(Renderer2);
26
26
  _elementRef = inject(ElementRef);
27
27
  _router = inject(Router);
28
- animationDuration = input(500, ...(ngDevMode ? [{ debugName: "animationDuration", transform: numberAttribute }] : [{
29
- transform: numberAttribute
30
- }])); // in milliseconds
31
- hideDelay = input(1000, ...(ngDevMode ? [{ debugName: "hideDelay", transform: numberAttribute }] : [{
32
- transform: numberAttribute
33
- }])); // in milliseconds
28
+ animationDuration = input(500, { ...(ngDevMode ? { debugName: "animationDuration" } : /* istanbul ignore next */ {}), transform: numberAttribute }); // in milliseconds
29
+ hideDelay = input(1000, { ...(ngDevMode ? { debugName: "hideDelay" } : /* istanbul ignore next */ {}), transform: numberAttribute }); // in milliseconds
34
30
  constructor() {
35
31
  let isFirstRun = true;
36
32
  effect(() => {
@@ -81,14 +77,14 @@ class SplashScreenComponent {
81
77
  this._renderer.setStyle(loaderEl, 'zIndex', '-9999999');
82
78
  }, this.animationDuration());
83
79
  }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SplashScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
85
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: SplashScreenComponent, isStandalone: true, selector: "emr-splash-screen", inputs: { animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "emr-splash-screen" }, exportAs: ["emrSplashScreen"], ngImport: i0, template: "<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: SplashScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: SplashScreenComponent, isStandalone: true, selector: "emr-splash-screen", inputs: { animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "emr-splash-screen" }, exportAs: ["emrSplashScreen"], ngImport: i0, template: "<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] });
86
82
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SplashScreenComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: SplashScreenComponent, decorators: [{
88
84
  type: Component,
89
85
  args: [{ selector: 'emr-splash-screen', exportAs: 'emrSplashScreen', imports: [], host: {
90
86
  'class': 'emr-splash-screen',
91
- }, template: "<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
87
+ }, template: "<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
92
88
  }], ctorParameters: () => [], propDecorators: { animationDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDuration", required: false }] }], hideDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideDelay", required: false }] }] } });
93
89
 
94
90
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-splash-screen.mjs","sources":["../../../projects/components/splash-screen/src/splash-screen.store.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.html","../../../projects/components/splash-screen/elementar-rt-components-splash-screen.ts"],"sourcesContent":["import { patchState, signalStore, withMethods, withState } from '@ngrx/signals';\n\nexport interface SplashScreenState {\n visible: boolean;\n}\n\nconst initialState: SplashScreenState = {\n visible: true\n};\n\nexport const SplashScreenStore = signalStore(\n { providedIn: 'root' },\n withState(initialState),\n withMethods((store) => ({\n show(): void {\n patchState(store, {\n visible: true\n });\n },\n hide(): void {\n patchState(store, {\n visible: false\n });\n }\n }))\n);\n","import {\n afterNextRender,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { getState } from '@ngrx/signals';\nimport { SplashScreenState, SplashScreenStore } from '../splash-screen.store';\nimport { filter } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\n\n@Component({\n selector: 'emr-splash-screen',\n exportAs: 'emrSplashScreen',\n imports: [],\n templateUrl: './splash-screen.component.html',\n styleUrl: './splash-screen.component.scss',\n host: {\n 'class': 'emr-splash-screen',\n }\n})\nexport class SplashScreenComponent {\n private _store = inject(SplashScreenStore);\n private _renderer = inject(Renderer2);\n private _elementRef = inject(ElementRef);\n private _router = inject(Router);\n\n animationDuration = input(500, {\n transform: numberAttribute\n }); // in milliseconds\n hideDelay = input(1000, {\n transform: numberAttribute\n }); // in milliseconds\n\n constructor() {\n let isFirstRun = true;\n\n effect(() => {\n const currentState = getState<SplashScreenState>(this._store);\n\n // Skip only the very first invocation: the component's default styles\n // already reflect the initial state, so no imperative show/hide is\n // needed yet. Every subsequent change must still be applied, even if\n // it happens to match the original value (e.g. hide() then show()).\n if (isFirstRun) {\n isFirstRun = false;\n return;\n }\n\n if (currentState.visible) {\n this._show();\n } else {\n this._hide();\n }\n });\n\n afterNextRender(() => {\n const subscription = this._router.events\n .pipe(\n filter(event=> event instanceof NavigationEnd)\n )\n .subscribe(() => {\n subscription.unsubscribe();\n setTimeout(() => {\n this._hide();\n subscription.unsubscribe();\n }, this.hideDelay());\n })\n ;\n });\n }\n\n ngOnInit() {\n // Renderer2.setStyle() does not apply custom CSS properties (`--*`) in this\n // Angular version; set it directly on the element's style declaration instead.\n (this._elementRef.nativeElement as HTMLElement).style.setProperty(\n '--emr-splash-screen-hide-animation-duration', (this.animationDuration() / 1000) + 's'\n );\n }\n\n private _show(): void {\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\n this._renderer.removeClass(loaderEl, 'hide');\n this._renderer.setStyle(loaderEl, 'visibility', 'visible');\n this._renderer.setStyle(loaderEl, 'zIndex', '9999999');\n }\n\n private _hide(): void {\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\n this._renderer.addClass(loaderEl, 'hide');\n setTimeout(() => {\n this._renderer.setStyle(loaderEl, 'visibility', 'hidden');\n this._renderer.setStyle(loaderEl, 'zIndex', '-9999999');\n }, this.animationDuration());\n }\n}\n","<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementar-rt-components-splash-screen.mjs","sources":["../../../projects/components/splash-screen/src/splash-screen.store.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.html","../../../projects/components/splash-screen/elementar-rt-components-splash-screen.ts"],"sourcesContent":["import { patchState, signalStore, withMethods, withState } from '@ngrx/signals';\n\nexport interface SplashScreenState {\n visible: boolean;\n}\n\nconst initialState: SplashScreenState = {\n visible: true\n};\n\nexport const SplashScreenStore = signalStore(\n { providedIn: 'root' },\n withState(initialState),\n withMethods((store) => ({\n show(): void {\n patchState(store, {\n visible: true\n });\n },\n hide(): void {\n patchState(store, {\n visible: false\n });\n }\n }))\n);\n","import {\n afterNextRender,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { getState } from '@ngrx/signals';\nimport { SplashScreenState, SplashScreenStore } from '../splash-screen.store';\nimport { filter } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\n\n@Component({\n selector: 'emr-splash-screen',\n exportAs: 'emrSplashScreen',\n imports: [],\n templateUrl: './splash-screen.component.html',\n styleUrl: './splash-screen.component.scss',\n host: {\n 'class': 'emr-splash-screen',\n }\n})\nexport class SplashScreenComponent {\n private _store = inject(SplashScreenStore);\n private _renderer = inject(Renderer2);\n private _elementRef = inject(ElementRef);\n private _router = inject(Router);\n\n animationDuration = input(500, {\n transform: numberAttribute\n }); // in milliseconds\n hideDelay = input(1000, {\n transform: numberAttribute\n }); // in milliseconds\n\n constructor() {\n let isFirstRun = true;\n\n effect(() => {\n const currentState = getState<SplashScreenState>(this._store);\n\n // Skip only the very first invocation: the component's default styles\n // already reflect the initial state, so no imperative show/hide is\n // needed yet. Every subsequent change must still be applied, even if\n // it happens to match the original value (e.g. hide() then show()).\n if (isFirstRun) {\n isFirstRun = false;\n return;\n }\n\n if (currentState.visible) {\n this._show();\n } else {\n this._hide();\n }\n });\n\n afterNextRender(() => {\n const subscription = this._router.events\n .pipe(\n filter(event=> event instanceof NavigationEnd)\n )\n .subscribe(() => {\n subscription.unsubscribe();\n setTimeout(() => {\n this._hide();\n subscription.unsubscribe();\n }, this.hideDelay());\n })\n ;\n });\n }\n\n ngOnInit() {\n // Renderer2.setStyle() does not apply custom CSS properties (`--*`) in this\n // Angular version; set it directly on the element's style declaration instead.\n (this._elementRef.nativeElement as HTMLElement).style.setProperty(\n '--emr-splash-screen-hide-animation-duration', (this.animationDuration() / 1000) + 's'\n );\n }\n\n private _show(): void {\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\n this._renderer.removeClass(loaderEl, 'hide');\n this._renderer.setStyle(loaderEl, 'visibility', 'visible');\n this._renderer.setStyle(loaderEl, 'zIndex', '9999999');\n }\n\n private _hide(): void {\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\n this._renderer.addClass(loaderEl, 'hide');\n setTimeout(() => {\n this._renderer.setStyle(loaderEl, 'visibility', 'hidden');\n this._renderer.setStyle(loaderEl, 'zIndex', '-9999999');\n }, this.animationDuration());\n }\n}\n","<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import * as i0 from '@angular/core';
2
2
  import { input, numberAttribute, output, signal, inject, ElementRef, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
 
4
4
  class SplitPaneComponent {
5
- orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
6
- initialSize = input(50, ...(ngDevMode ? [{ debugName: "initialSize", transform: numberAttribute }] : [{ transform: numberAttribute }]));
7
- minSize = input(10, ...(ngDevMode ? [{ debugName: "minSize", transform: numberAttribute }] : [{ transform: numberAttribute }]));
8
- maxSize = input(90, ...(ngDevMode ? [{ debugName: "maxSize", transform: numberAttribute }] : [{ transform: numberAttribute }]));
9
- storageKey = input('', ...(ngDevMode ? [{ debugName: "storageKey" }] : []));
5
+ orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
6
+ initialSize = input(50, { ...(ngDevMode ? { debugName: "initialSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
7
+ minSize = input(10, { ...(ngDevMode ? { debugName: "minSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
8
+ maxSize = input(90, { ...(ngDevMode ? { debugName: "maxSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
9
+ storageKey = input('', ...(ngDevMode ? [{ debugName: "storageKey" }] : /* istanbul ignore next */ []));
10
10
  sizeChange = output();
11
- _firstSize = signal(50, ...(ngDevMode ? [{ debugName: "_firstSize" }] : []));
11
+ _firstSize = signal(50, ...(ngDevMode ? [{ debugName: "_firstSize" }] : /* istanbul ignore next */ []));
12
12
  _el = inject((ElementRef));
13
13
  _dragging = false;
14
14
  _onMouseMove = this._handleMouseMove.bind(this);
@@ -52,14 +52,14 @@ class SplitPaneComponent {
52
52
  document.removeEventListener('mousemove', this._onMouseMove);
53
53
  document.removeEventListener('mouseup', this._onMouseUp);
54
54
  }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SplitPaneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: SplitPaneComponent, isStandalone: true, selector: "emr-split-pane", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, initialSize: { classPropertyName: "initialSize", publicName: "initialSize", isSignal: true, isRequired: false, transformFunction: null }, minSize: { classPropertyName: "minSize", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, storageKey: { classPropertyName: "storageKey", publicName: "storageKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sizeChange: "sizeChange" }, host: { properties: { "attr.data-orientation": "orientation()" } }, ngImport: i0, template: "<div class=\"pane pane--first\" [style.flex-basis.%]=\"_firstSize()\">\n <ng-content select=\"[emrSplitFirst]\" />\n</div>\n<div\n class=\"split-divider\"\n role=\"separator\"\n [attr.aria-orientation]=\"orientation()\"\n (mousedown)=\"_onDividerMouseDown($event)\"\n>\n <div class=\"divider-handle\"></div>\n</div>\n<div class=\"pane pane--second\" [style.flex-basis.%]=\"100 - _firstSize()\">\n <ng-content select=\"[emrSplitSecond]\" />\n</div>\n", styles: [":host{display:flex;width:100%;height:100%;overflow:hidden}:host[data-orientation=vertical]{flex-direction:column}:host[data-orientation=horizontal]{flex-direction:row}.pane{overflow:auto;min-width:0;min-height:0;flex-shrink:0}.split-divider{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-outline-variant);transition:background .15s ease;z-index:1}:host([data-orientation=horizontal]) .split-divider{width:var(--spacing, .25rem);cursor:col-resize}:host([data-orientation=horizontal]) .split-divider:hover{background:var(--color-primary)}:host([data-orientation=vertical]) .split-divider{height:var(--spacing, .25rem);cursor:row-resize}:host([data-orientation=vertical]) .split-divider:hover{background:var(--color-primary)}.divider-handle{background:var(--color-on-surface-variant);border-radius:9999px;opacity:.5}:host([data-orientation=horizontal]) .divider-handle{width:calc(var(--spacing, .25rem) * .5);height:calc(var(--spacing, .25rem) * 8)}:host([data-orientation=vertical]) .divider-handle{height:calc(var(--spacing, .25rem) * .5);width:calc(var(--spacing, .25rem) * 8)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: SplitPaneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: SplitPaneComponent, isStandalone: true, selector: "emr-split-pane", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, initialSize: { classPropertyName: "initialSize", publicName: "initialSize", isSignal: true, isRequired: false, transformFunction: null }, minSize: { classPropertyName: "minSize", publicName: "minSize", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: "maxSize", publicName: "maxSize", isSignal: true, isRequired: false, transformFunction: null }, storageKey: { classPropertyName: "storageKey", publicName: "storageKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sizeChange: "sizeChange" }, host: { properties: { "attr.data-orientation": "orientation()" } }, ngImport: i0, template: "<div class=\"pane pane--first\" [style.flex-basis.%]=\"_firstSize()\">\n <ng-content select=\"[emrSplitFirst]\" />\n</div>\n<div\n class=\"split-divider\"\n role=\"separator\"\n [attr.aria-orientation]=\"orientation()\"\n (mousedown)=\"_onDividerMouseDown($event)\"\n>\n <div class=\"divider-handle\"></div>\n</div>\n<div class=\"pane pane--second\" [style.flex-basis.%]=\"100 - _firstSize()\">\n <ng-content select=\"[emrSplitSecond]\" />\n</div>\n", styles: [":host{display:flex;width:100%;height:100%;overflow:hidden}:host[data-orientation=vertical]{flex-direction:column}:host[data-orientation=horizontal]{flex-direction:row}.pane{overflow:auto;min-width:0;min-height:0;flex-shrink:0}.split-divider{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-outline-variant);transition:background .15s ease;z-index:1}:host([data-orientation=horizontal]) .split-divider{width:var(--spacing, .25rem);cursor:col-resize}:host([data-orientation=horizontal]) .split-divider:hover{background:var(--color-primary)}:host([data-orientation=vertical]) .split-divider{height:var(--spacing, .25rem);cursor:row-resize}:host([data-orientation=vertical]) .split-divider:hover{background:var(--color-primary)}.divider-handle{background:var(--color-on-surface-variant);border-radius:9999px;opacity:.5}:host([data-orientation=horizontal]) .divider-handle{width:calc(var(--spacing, .25rem) * .5);height:calc(var(--spacing, .25rem) * 8)}:host([data-orientation=vertical]) .divider-handle{height:calc(var(--spacing, .25rem) * .5);width:calc(var(--spacing, .25rem) * 8)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SplitPaneComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: SplitPaneComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'emr-split-pane', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
61
61
  '[attr.data-orientation]': 'orientation()',
62
- }, template: "<div class=\"pane pane--first\" [style.flex-basis.%]=\"_firstSize()\">\n <ng-content select=\"[emrSplitFirst]\" />\n</div>\n<div\n class=\"split-divider\"\n role=\"separator\"\n [attr.aria-orientation]=\"orientation()\"\n (mousedown)=\"_onDividerMouseDown($event)\"\n>\n <div class=\"divider-handle\"></div>\n</div>\n<div class=\"pane pane--second\" [style.flex-basis.%]=\"100 - _firstSize()\">\n <ng-content select=\"[emrSplitSecond]\" />\n</div>\n", styles: [":host{display:flex;width:100%;height:100%;overflow:hidden}:host[data-orientation=vertical]{flex-direction:column}:host[data-orientation=horizontal]{flex-direction:row}.pane{overflow:auto;min-width:0;min-height:0;flex-shrink:0}.split-divider{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-outline-variant);transition:background .15s ease;z-index:1}:host([data-orientation=horizontal]) .split-divider{width:var(--spacing, .25rem);cursor:col-resize}:host([data-orientation=horizontal]) .split-divider:hover{background:var(--color-primary)}:host([data-orientation=vertical]) .split-divider{height:var(--spacing, .25rem);cursor:row-resize}:host([data-orientation=vertical]) .split-divider:hover{background:var(--color-primary)}.divider-handle{background:var(--color-on-surface-variant);border-radius:9999px;opacity:.5}:host([data-orientation=horizontal]) .divider-handle{width:calc(var(--spacing, .25rem) * .5);height:calc(var(--spacing, .25rem) * 8)}:host([data-orientation=vertical]) .divider-handle{height:calc(var(--spacing, .25rem) * .5);width:calc(var(--spacing, .25rem) * 8)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
62
+ }, template: "<div class=\"pane pane--first\" [style.flex-basis.%]=\"_firstSize()\">\n <ng-content select=\"[emrSplitFirst]\" />\n</div>\n<div\n class=\"split-divider\"\n role=\"separator\"\n [attr.aria-orientation]=\"orientation()\"\n (mousedown)=\"_onDividerMouseDown($event)\"\n>\n <div class=\"divider-handle\"></div>\n</div>\n<div class=\"pane pane--second\" [style.flex-basis.%]=\"100 - _firstSize()\">\n <ng-content select=\"[emrSplitSecond]\" />\n</div>\n", styles: [":host{display:flex;width:100%;height:100%;overflow:hidden}:host[data-orientation=vertical]{flex-direction:column}:host[data-orientation=horizontal]{flex-direction:row}.pane{overflow:auto;min-width:0;min-height:0;flex-shrink:0}.split-divider{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-outline-variant);transition:background .15s ease;z-index:1}:host([data-orientation=horizontal]) .split-divider{width:var(--spacing, .25rem);cursor:col-resize}:host([data-orientation=horizontal]) .split-divider:hover{background:var(--color-primary)}:host([data-orientation=vertical]) .split-divider{height:var(--spacing, .25rem);cursor:row-resize}:host([data-orientation=vertical]) .split-divider:hover{background:var(--color-primary)}.divider-handle{background:var(--color-on-surface-variant);border-radius:9999px;opacity:.5}:host([data-orientation=horizontal]) .divider-handle{width:calc(var(--spacing, .25rem) * .5);height:calc(var(--spacing, .25rem) * 8)}:host([data-orientation=vertical]) .divider-handle{height:calc(var(--spacing, .25rem) * .5);width:calc(var(--spacing, .25rem) * 8)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
63
63
  }], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], initialSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialSize", required: false }] }], minSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSize", required: false }] }], maxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSize", required: false }] }], storageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "storageKey", required: false }] }], sizeChange: [{ type: i0.Output, args: ["sizeChange"] }] } });
64
64
 
65
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-split-pane.mjs","sources":["../../../projects/components/split-pane/src/split-pane/split-pane.component.ts","../../../projects/components/split-pane/src/split-pane/split-pane.component.html","../../../projects/components/split-pane/elementar-rt-components-split-pane.ts"],"sourcesContent":["import {\n Component, input, output, signal, ChangeDetectionStrategy,\n numberAttribute, booleanAttribute, ElementRef, inject, OnInit, OnDestroy\n} from '@angular/core';\n\n@Component({\n selector: 'emr-split-pane',\n standalone: true,\n templateUrl: './split-pane.component.html',\n styleUrl: './split-pane.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-orientation]': 'orientation()',\n }\n})\nexport class SplitPaneComponent implements OnInit, OnDestroy {\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n initialSize = input(50, { transform: numberAttribute });\n minSize = input(10, { transform: numberAttribute });\n maxSize = input(90, { transform: numberAttribute });\n storageKey = input<string>('');\n\n sizeChange = output<number>();\n\n protected _firstSize = signal(50);\n\n private _el = inject(ElementRef<HTMLElement>);\n private _dragging = false;\n private _onMouseMove = this._handleMouseMove.bind(this);\n private _onMouseUp = this._handleMouseUp.bind(this);\n\n ngOnInit(): void {\n let initial = this.initialSize();\n const key = this.storageKey();\n if (key) {\n const stored = localStorage.getItem(`emr-split-${key}`);\n if (stored) initial = parseFloat(stored);\n }\n this._firstSize.set(Math.min(this.maxSize(), Math.max(this.minSize(), initial)));\n }\n\n ngOnDestroy(): void {\n document.removeEventListener('mousemove', this._onMouseMove);\n document.removeEventListener('mouseup', this._onMouseUp);\n }\n\n protected _onDividerMouseDown(e: MouseEvent): void {\n e.preventDefault();\n this._dragging = true;\n document.addEventListener('mousemove', this._onMouseMove);\n document.addEventListener('mouseup', this._onMouseUp);\n }\n\n private _handleMouseMove(e: MouseEvent): void {\n if (!this._dragging) return;\n const rect = this._el.nativeElement.getBoundingClientRect();\n const isHoriz = this.orientation() === 'horizontal';\n const pos = isHoriz ? e.clientX - rect.left : e.clientY - rect.top;\n const total = isHoriz ? rect.width : rect.height;\n const pct = Math.min(this.maxSize(), Math.max(this.minSize(), (pos / total) * 100));\n this._firstSize.set(pct);\n this.sizeChange.emit(pct);\n const key = this.storageKey();\n if (key) localStorage.setItem(`emr-split-${key}`, String(pct));\n }\n\n private _handleMouseUp(): void {\n this._dragging = false;\n document.removeEventListener('mousemove', this._onMouseMove);\n document.removeEventListener('mouseup', this._onMouseUp);\n }\n}\n","<div class=\"pane pane--first\" [style.flex-basis.%]=\"_firstSize()\">\n <ng-content select=\"[emrSplitFirst]\" />\n</div>\n<div\n class=\"split-divider\"\n role=\"separator\"\n [attr.aria-orientation]=\"orientation()\"\n (mousedown)=\"_onDividerMouseDown($event)\"\n>\n <div class=\"divider-handle\"></div>\n</div>\n<div class=\"pane pane--second\" [style.flex-basis.%]=\"100 - _firstSize()\">\n <ng-content select=\"[emrSplitSecond]\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementar-rt-components-split-pane.mjs","sources":["../../../projects/components/split-pane/src/split-pane/split-pane.component.ts","../../../projects/components/split-pane/src/split-pane/split-pane.component.html","../../../projects/components/split-pane/elementar-rt-components-split-pane.ts"],"sourcesContent":["import {\n Component, input, output, signal, ChangeDetectionStrategy,\n numberAttribute, booleanAttribute, ElementRef, inject, OnInit, OnDestroy\n} from '@angular/core';\n\n@Component({\n selector: 'emr-split-pane',\n standalone: true,\n templateUrl: './split-pane.component.html',\n styleUrl: './split-pane.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-orientation]': 'orientation()',\n }\n})\nexport class SplitPaneComponent implements OnInit, OnDestroy {\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n initialSize = input(50, { transform: numberAttribute });\n minSize = input(10, { transform: numberAttribute });\n maxSize = input(90, { transform: numberAttribute });\n storageKey = input<string>('');\n\n sizeChange = output<number>();\n\n protected _firstSize = signal(50);\n\n private _el = inject(ElementRef<HTMLElement>);\n private _dragging = false;\n private _onMouseMove = this._handleMouseMove.bind(this);\n private _onMouseUp = this._handleMouseUp.bind(this);\n\n ngOnInit(): void {\n let initial = this.initialSize();\n const key = this.storageKey();\n if (key) {\n const stored = localStorage.getItem(`emr-split-${key}`);\n if (stored) initial = parseFloat(stored);\n }\n this._firstSize.set(Math.min(this.maxSize(), Math.max(this.minSize(), initial)));\n }\n\n ngOnDestroy(): void {\n document.removeEventListener('mousemove', this._onMouseMove);\n document.removeEventListener('mouseup', this._onMouseUp);\n }\n\n protected _onDividerMouseDown(e: MouseEvent): void {\n e.preventDefault();\n this._dragging = true;\n document.addEventListener('mousemove', this._onMouseMove);\n document.addEventListener('mouseup', this._onMouseUp);\n }\n\n private _handleMouseMove(e: MouseEvent): void {\n if (!this._dragging) return;\n const rect = this._el.nativeElement.getBoundingClientRect();\n const isHoriz = this.orientation() === 'horizontal';\n const pos = isHoriz ? e.clientX - rect.left : e.clientY - rect.top;\n const total = isHoriz ? rect.width : rect.height;\n const pct = Math.min(this.maxSize(), Math.max(this.minSize(), (pos / total) * 100));\n this._firstSize.set(pct);\n this.sizeChange.emit(pct);\n const key = this.storageKey();\n if (key) localStorage.setItem(`emr-split-${key}`, String(pct));\n }\n\n private _handleMouseUp(): void {\n this._dragging = false;\n document.removeEventListener('mousemove', this._onMouseMove);\n document.removeEventListener('mouseup', this._onMouseUp);\n }\n}\n","<div class=\"pane pane--first\" [style.flex-basis.%]=\"_firstSize()\">\n <ng-content select=\"[emrSplitFirst]\" />\n</div>\n<div\n class=\"split-divider\"\n role=\"separator\"\n [attr.aria-orientation]=\"orientation()\"\n (mousedown)=\"_onDividerMouseDown($event)\"\n>\n <div class=\"divider-handle\"></div>\n</div>\n<div class=\"pane pane--second\" [style.flex-basis.%]=\"100 - _firstSize()\">\n <ng-content select=\"[emrSplitSecond]\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAea,kBAAkB,CAAA;AAC7B,IAAA,WAAW,GAAG,KAAK,CAA4B,YAAY,kFAAC;IAC5D,WAAW,GAAG,KAAK,CAAC,EAAE,mFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACvD,OAAO,GAAG,KAAK,CAAC,EAAE,+EAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACnD,OAAO,GAAG,KAAK,CAAC,EAAE,+EAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACnD,IAAA,UAAU,GAAG,KAAK,CAAS,EAAE,iFAAC;IAE9B,UAAU,GAAG,MAAM,EAAU;AAEnB,IAAA,UAAU,GAAG,MAAM,CAAC,EAAE,iFAAC;AAEzB,IAAA,GAAG,GAAG,MAAM,EAAC,UAAuB,EAAC;IACrC,SAAS,GAAG,KAAK;IACjB,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/C,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;IAEnD,QAAQ,GAAA;AACN,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE;QAC7B,IAAI,GAAG,EAAE;YACP,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA,UAAA,EAAa,GAAG,CAAA,CAAE,CAAC;AACvD,YAAA,IAAI,MAAM;AAAE,gBAAA,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;QAC1C;QACA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF;IAEA,WAAW,GAAA;QACT,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;QAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;IAC1D;AAEU,IAAA,mBAAmB,CAAC,CAAa,EAAA;QACzC,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;QACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;IACvD;AAEQ,IAAA,gBAAgB,CAAC,CAAa,EAAA;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY;QACnD,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG;AAClE,QAAA,MAAM,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM;AAChD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACxB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AACzB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE;AAC7B,QAAA,IAAI,GAAG;AAAE,YAAA,YAAY,CAAC,OAAO,CAAC,CAAA,UAAA,EAAa,GAAG,CAAA,CAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAChE;IAEQ,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QACtB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;QAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;IAC1D;wGAvDW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,w1BCf/B,0cAcA,EAAA,MAAA,EAAA,CAAA,yqCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAV9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,yBAAyB,EAAE,eAAe;AAC3C,qBAAA,EAAA,QAAA,EAAA,0cAAA,EAAA,MAAA,EAAA,CAAA,yqCAAA,CAAA,EAAA;;;AEbH;;AAEG;;"}
@@ -2,21 +2,21 @@ import * as i0 from '@angular/core';
2
2
  import { input, Component } from '@angular/core';
3
3
 
4
4
  class StatCardComponent {
5
- label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
6
- value = input('', ...(ngDevMode ? [{ debugName: "value" }] : []));
7
- trend = input('neutral', ...(ngDevMode ? [{ debugName: "trend" }] : []));
8
- trendValue = input('', ...(ngDevMode ? [{ debugName: "trendValue" }] : []));
9
- trendLabel = input('vs last period', ...(ngDevMode ? [{ debugName: "trendLabel" }] : []));
10
- icon = input('', ...(ngDevMode ? [{ debugName: "icon" }] : []));
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StatCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: StatCardComponent, isStandalone: true, selector: "emr-stat-card", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, trend: { classPropertyName: "trend", publicName: "trend", isSignal: true, isRequired: false, transformFunction: null }, trendValue: { classPropertyName: "trendValue", publicName: "trendValue", isSignal: true, isRequired: false, transformFunction: null }, trendLabel: { classPropertyName: "trendLabel", publicName: "trendLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-trend": "trend()" }, classAttribute: "emr-stat-card" }, exportAs: ["emrStatCard"], ngImport: i0, template: "<div class=\"sc-header\">\n <span class=\"sc-label\">{{ label() }}</span>\n @if (icon()) {\n <span class=\"sc-icon\">{{ icon() }}</span>\n } @else {\n <ng-content select=\"[emrStatCardIcon]\"/>\n }\n</div>\n\n<div class=\"sc-value\">{{ value() }}</div>\n\n<ng-content select=\"emr-micro-chart,[emrStatCardChart]\"/>\n\n@if (trendValue()) {\n <div class=\"sc-trend\">\n <span class=\"sc-trend-arrow\">\n @if (trend() === 'up') { \u25B2 }\n @else if (trend() === 'down') { \u25BC }\n @else { \u2014 }\n </span>\n <span class=\"sc-trend-value\">{{ trendValue() }}</span>\n <span class=\"sc-trend-label\">{{ trendLabel() }}</span>\n </div>\n}\n\n<ng-content/>\n", styles: [":host{--emr-sc-bg: var(--color-surface-container-low);--emr-sc-border-radius: 1.5rem;--emr-sc-padding: calc(var(--spacing, .25rem) * 5);--emr-sc-shadow: 0 1px 3px var(--color-shadow);--emr-sc-value-size: 1.875rem;--emr-sc-label-size: .75rem;--emr-sc-trend-up-color: var(--color-green);--emr-sc-trend-down-color: var(--color-red);--emr-sc-trend-neutral-color: var(--color-on-surface-variant);display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);background:var(--emr-sc-bg);border-radius:var(--emr-sc-border-radius);padding:var(--emr-sc-padding);box-shadow:var(--emr-sc-shadow)}@supports (color: color-mix(in lab,red,red)){:host{--emr-sc-shadow: 0 1px 3px color-mix(in srgb, var(--color-shadow) 8%, transparent)}}.sc-header{display:flex;align-items:center;justify-content:space-between}.sc-label{font-size:var(--emr-sc-label-size);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-on-surface-variant)}.sc-icon{font-size:calc(var(--spacing, .25rem) * 5);color:var(--color-on-surface-variant)}.sc-value{font-size:var(--emr-sc-value-size);font-weight:700;color:var(--color-on-surface);line-height:1.1;font-variant-numeric:tabular-nums}.sc-trend{display:flex;align-items:center;gap:var(--spacing, .25rem);font-size:.75rem;margin-top:var(--spacing, .25rem)}.sc-trend-arrow{font-size:.65rem}:host([data-trend=up]) .sc-trend-arrow{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-arrow{color:var(--emr-sc-trend-down-color)}:host([data-trend=neutral]) .sc-trend-arrow{color:var(--emr-sc-trend-neutral-color)}.sc-trend-value{font-weight:600}:host([data-trend=up]) .sc-trend-value{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-value{color:var(--emr-sc-trend-down-color)}.sc-trend-label{color:var(--color-on-surface-variant)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
5
+ label = input('', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
6
+ value = input('', ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
7
+ trend = input('neutral', ...(ngDevMode ? [{ debugName: "trend" }] : /* istanbul ignore next */ []));
8
+ trendValue = input('', ...(ngDevMode ? [{ debugName: "trendValue" }] : /* istanbul ignore next */ []));
9
+ trendLabel = input('vs last period', ...(ngDevMode ? [{ debugName: "trendLabel" }] : /* istanbul ignore next */ []));
10
+ icon = input('', ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StatCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: StatCardComponent, isStandalone: true, selector: "emr-stat-card", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, trend: { classPropertyName: "trend", publicName: "trend", isSignal: true, isRequired: false, transformFunction: null }, trendValue: { classPropertyName: "trendValue", publicName: "trendValue", isSignal: true, isRequired: false, transformFunction: null }, trendLabel: { classPropertyName: "trendLabel", publicName: "trendLabel", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-trend": "trend()" }, classAttribute: "emr-stat-card" }, exportAs: ["emrStatCard"], ngImport: i0, template: "<div class=\"sc-header\">\n <span class=\"sc-label\">{{ label() }}</span>\n @if (icon()) {\n <span class=\"sc-icon\">{{ icon() }}</span>\n } @else {\n <ng-content select=\"[emrStatCardIcon]\"/>\n }\n</div>\n\n<div class=\"sc-value\">{{ value() }}</div>\n\n<ng-content select=\"emr-micro-chart,[emrStatCardChart]\"/>\n\n@if (trendValue()) {\n <div class=\"sc-trend\">\n <span class=\"sc-trend-arrow\">\n @if (trend() === 'up') { \u25B2 }\n @else if (trend() === 'down') { \u25BC }\n @else { \u2014 }\n </span>\n <span class=\"sc-trend-value\">{{ trendValue() }}</span>\n <span class=\"sc-trend-label\">{{ trendLabel() }}</span>\n </div>\n}\n\n<ng-content/>\n", styles: [":host{--emr-sc-bg: var(--color-surface-container-low);--emr-sc-border-radius: 1.5rem;--emr-sc-padding: calc(var(--spacing, .25rem) * 5);--emr-sc-shadow: 0 1px 3px var(--color-shadow);--emr-sc-value-size: 1.875rem;--emr-sc-label-size: .75rem;--emr-sc-trend-up-color: var(--color-green);--emr-sc-trend-down-color: var(--color-red);--emr-sc-trend-neutral-color: var(--color-on-surface-variant);display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);background:var(--emr-sc-bg);border-radius:var(--emr-sc-border-radius);padding:var(--emr-sc-padding);box-shadow:var(--emr-sc-shadow)}@supports (color: color-mix(in lab,red,red)){:host{--emr-sc-shadow: 0 1px 3px color-mix(in srgb, var(--color-shadow) 8%, transparent)}}.sc-header{display:flex;align-items:center;justify-content:space-between}.sc-label{font-size:var(--emr-sc-label-size);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-on-surface-variant)}.sc-icon{font-size:calc(var(--spacing, .25rem) * 5);color:var(--color-on-surface-variant)}.sc-value{font-size:var(--emr-sc-value-size);font-weight:700;color:var(--color-on-surface);line-height:1.1;font-variant-numeric:tabular-nums}.sc-trend{display:flex;align-items:center;gap:var(--spacing, .25rem);font-size:.75rem;margin-top:var(--spacing, .25rem)}.sc-trend-arrow{font-size:.65rem}:host([data-trend=up]) .sc-trend-arrow{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-arrow{color:var(--emr-sc-trend-down-color)}:host([data-trend=neutral]) .sc-trend-arrow{color:var(--emr-sc-trend-neutral-color)}.sc-trend-value{font-weight:600}:host([data-trend=up]) .sc-trend-value{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-value{color:var(--emr-sc-trend-down-color)}.sc-trend-label{color:var(--color-on-surface-variant)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StatCardComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StatCardComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'emr-stat-card', exportAs: 'emrStatCard', host: {
17
17
  'class': 'emr-stat-card',
18
18
  '[attr.data-trend]': 'trend()',
19
- }, template: "<div class=\"sc-header\">\n <span class=\"sc-label\">{{ label() }}</span>\n @if (icon()) {\n <span class=\"sc-icon\">{{ icon() }}</span>\n } @else {\n <ng-content select=\"[emrStatCardIcon]\"/>\n }\n</div>\n\n<div class=\"sc-value\">{{ value() }}</div>\n\n<ng-content select=\"emr-micro-chart,[emrStatCardChart]\"/>\n\n@if (trendValue()) {\n <div class=\"sc-trend\">\n <span class=\"sc-trend-arrow\">\n @if (trend() === 'up') { \u25B2 }\n @else if (trend() === 'down') { \u25BC }\n @else { \u2014 }\n </span>\n <span class=\"sc-trend-value\">{{ trendValue() }}</span>\n <span class=\"sc-trend-label\">{{ trendLabel() }}</span>\n </div>\n}\n\n<ng-content/>\n", styles: [":host{--emr-sc-bg: var(--color-surface-container-low);--emr-sc-border-radius: 1.5rem;--emr-sc-padding: calc(var(--spacing, .25rem) * 5);--emr-sc-shadow: 0 1px 3px var(--color-shadow);--emr-sc-value-size: 1.875rem;--emr-sc-label-size: .75rem;--emr-sc-trend-up-color: var(--color-green);--emr-sc-trend-down-color: var(--color-red);--emr-sc-trend-neutral-color: var(--color-on-surface-variant);display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);background:var(--emr-sc-bg);border-radius:var(--emr-sc-border-radius);padding:var(--emr-sc-padding);box-shadow:var(--emr-sc-shadow)}@supports (color: color-mix(in lab,red,red)){:host{--emr-sc-shadow: 0 1px 3px color-mix(in srgb, var(--color-shadow) 8%, transparent)}}.sc-header{display:flex;align-items:center;justify-content:space-between}.sc-label{font-size:var(--emr-sc-label-size);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-on-surface-variant)}.sc-icon{font-size:calc(var(--spacing, .25rem) * 5);color:var(--color-on-surface-variant)}.sc-value{font-size:var(--emr-sc-value-size);font-weight:700;color:var(--color-on-surface);line-height:1.1;font-variant-numeric:tabular-nums}.sc-trend{display:flex;align-items:center;gap:var(--spacing, .25rem);font-size:.75rem;margin-top:var(--spacing, .25rem)}.sc-trend-arrow{font-size:.65rem}:host([data-trend=up]) .sc-trend-arrow{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-arrow{color:var(--emr-sc-trend-down-color)}:host([data-trend=neutral]) .sc-trend-arrow{color:var(--emr-sc-trend-neutral-color)}.sc-trend-value{font-weight:600}:host([data-trend=up]) .sc-trend-value{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-value{color:var(--emr-sc-trend-down-color)}.sc-trend-label{color:var(--color-on-surface-variant)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
19
+ }, template: "<div class=\"sc-header\">\n <span class=\"sc-label\">{{ label() }}</span>\n @if (icon()) {\n <span class=\"sc-icon\">{{ icon() }}</span>\n } @else {\n <ng-content select=\"[emrStatCardIcon]\"/>\n }\n</div>\n\n<div class=\"sc-value\">{{ value() }}</div>\n\n<ng-content select=\"emr-micro-chart,[emrStatCardChart]\"/>\n\n@if (trendValue()) {\n <div class=\"sc-trend\">\n <span class=\"sc-trend-arrow\">\n @if (trend() === 'up') { \u25B2 }\n @else if (trend() === 'down') { \u25BC }\n @else { \u2014 }\n </span>\n <span class=\"sc-trend-value\">{{ trendValue() }}</span>\n <span class=\"sc-trend-label\">{{ trendLabel() }}</span>\n </div>\n}\n\n<ng-content/>\n", styles: [":host{--emr-sc-bg: var(--color-surface-container-low);--emr-sc-border-radius: 1.5rem;--emr-sc-padding: calc(var(--spacing, .25rem) * 5);--emr-sc-shadow: 0 1px 3px var(--color-shadow);--emr-sc-value-size: 1.875rem;--emr-sc-label-size: .75rem;--emr-sc-trend-up-color: var(--color-green);--emr-sc-trend-down-color: var(--color-red);--emr-sc-trend-neutral-color: var(--color-on-surface-variant);display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);background:var(--emr-sc-bg);border-radius:var(--emr-sc-border-radius);padding:var(--emr-sc-padding);box-shadow:var(--emr-sc-shadow)}@supports (color: color-mix(in lab,red,red)){:host{--emr-sc-shadow: 0 1px 3px color-mix(in srgb, var(--color-shadow) 8%, transparent)}}.sc-header{display:flex;align-items:center;justify-content:space-between}.sc-label{font-size:var(--emr-sc-label-size);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-on-surface-variant)}.sc-icon{font-size:calc(var(--spacing, .25rem) * 5);color:var(--color-on-surface-variant)}.sc-value{font-size:var(--emr-sc-value-size);font-weight:700;color:var(--color-on-surface);line-height:1.1;font-variant-numeric:tabular-nums}.sc-trend{display:flex;align-items:center;gap:var(--spacing, .25rem);font-size:.75rem;margin-top:var(--spacing, .25rem)}.sc-trend-arrow{font-size:.65rem}:host([data-trend=up]) .sc-trend-arrow{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-arrow{color:var(--emr-sc-trend-down-color)}:host([data-trend=neutral]) .sc-trend-arrow{color:var(--emr-sc-trend-neutral-color)}.sc-trend-value{font-weight:600}:host([data-trend=up]) .sc-trend-value{color:var(--emr-sc-trend-up-color)}:host([data-trend=down]) .sc-trend-value{color:var(--emr-sc-trend-down-color)}.sc-trend-label{color:var(--color-on-surface-variant)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
20
20
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], trend: [{ type: i0.Input, args: [{ isSignal: true, alias: "trend", required: false }] }], trendValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendValue", required: false }] }], trendLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendLabel", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
21
21
 
22
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-stat-card.mjs","sources":["../../../projects/components/stat-card/src/stat-card/stat-card.component.ts","../../../projects/components/stat-card/src/stat-card/stat-card.component.html","../../../projects/components/stat-card/elementar-rt-components-stat-card.ts"],"sourcesContent":["import { Component, input, numberAttribute } from '@angular/core';\n\nexport type StatCardTrend = 'up' | 'down' | 'neutral';\n\n@Component({\n selector: 'emr-stat-card',\n exportAs: 'emrStatCard',\n templateUrl: './stat-card.component.html',\n styleUrl: './stat-card.component.scss',\n host: {\n 'class': 'emr-stat-card',\n '[attr.data-trend]': 'trend()',\n }\n})\nexport class StatCardComponent {\n label = input('');\n value = input('');\n trend = input<StatCardTrend>('neutral');\n trendValue = input('');\n trendLabel = input('vs last period');\n icon = input('');\n}\n","<div class=\"sc-header\">\n <span class=\"sc-label\">{{ label() }}</span>\n @if (icon()) {\n <span class=\"sc-icon\">{{ icon() }}</span>\n } @else {\n <ng-content select=\"[emrStatCardIcon]\"/>\n }\n</div>\n\n<div class=\"sc-value\">{{ value() }}</div>\n\n<ng-content select=\"emr-micro-chart,[emrStatCardChart]\"/>\n\n@if (trendValue()) {\n <div class=\"sc-trend\">\n <span class=\"sc-trend-arrow\">\n @if (trend() === 'up') { ▲ }\n @else if (trend() === 'down') { ▼ }\n @else { — }\n </span>\n <span class=\"sc-trend-value\">{{ trendValue() }}</span>\n <span class=\"sc-trend-label\">{{ trendLabel() }}</span>\n </div>\n}\n\n<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAca,iBAAiB,CAAA;AAC5B,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,iDAAC;AACjB,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,iDAAC;AACjB,IAAA,KAAK,GAAG,KAAK,CAAgB,SAAS,iDAAC;AACvC,IAAA,UAAU,GAAG,KAAK,CAAC,EAAE,sDAAC;AACtB,IAAA,UAAU,GAAG,KAAK,CAAC,gBAAgB,sDAAC;AACpC,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE,gDAAC;wGANL,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,o7BCd9B,0rBA0BA,EAAA,MAAA,EAAA,CAAA,q1DAAA,CAAA,EAAA,CAAA;;4FDZa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;+BACE,eAAe,EAAA,QAAA,EACf,aAAa,EAAA,IAAA,EAGjB;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA,EAAA,QAAA,EAAA,0rBAAA,EAAA,MAAA,EAAA,CAAA,q1DAAA,CAAA,EAAA;;;AEZH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-stat-card.mjs","sources":["../../../projects/components/stat-card/src/stat-card/stat-card.component.ts","../../../projects/components/stat-card/src/stat-card/stat-card.component.html","../../../projects/components/stat-card/elementar-rt-components-stat-card.ts"],"sourcesContent":["import { Component, input, numberAttribute } from '@angular/core';\n\nexport type StatCardTrend = 'up' | 'down' | 'neutral';\n\n@Component({\n selector: 'emr-stat-card',\n exportAs: 'emrStatCard',\n templateUrl: './stat-card.component.html',\n styleUrl: './stat-card.component.scss',\n host: {\n 'class': 'emr-stat-card',\n '[attr.data-trend]': 'trend()',\n }\n})\nexport class StatCardComponent {\n label = input('');\n value = input('');\n trend = input<StatCardTrend>('neutral');\n trendValue = input('');\n trendLabel = input('vs last period');\n icon = input('');\n}\n","<div class=\"sc-header\">\n <span class=\"sc-label\">{{ label() }}</span>\n @if (icon()) {\n <span class=\"sc-icon\">{{ icon() }}</span>\n } @else {\n <ng-content select=\"[emrStatCardIcon]\"/>\n }\n</div>\n\n<div class=\"sc-value\">{{ value() }}</div>\n\n<ng-content select=\"emr-micro-chart,[emrStatCardChart]\"/>\n\n@if (trendValue()) {\n <div class=\"sc-trend\">\n <span class=\"sc-trend-arrow\">\n @if (trend() === 'up') { ▲ }\n @else if (trend() === 'down') { ▼ }\n @else { — }\n </span>\n <span class=\"sc-trend-value\">{{ trendValue() }}</span>\n <span class=\"sc-trend-label\">{{ trendLabel() }}</span>\n </div>\n}\n\n<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAca,iBAAiB,CAAA;AAC5B,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,4EAAC;AACjB,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,4EAAC;AACjB,IAAA,KAAK,GAAG,KAAK,CAAgB,SAAS,4EAAC;AACvC,IAAA,UAAU,GAAG,KAAK,CAAC,EAAE,iFAAC;AACtB,IAAA,UAAU,GAAG,KAAK,CAAC,gBAAgB,iFAAC;AACpC,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE,2EAAC;wGANL,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,o7BCd9B,0rBA0BA,EAAA,MAAA,EAAA,CAAA,q1DAAA,CAAA,EAAA,CAAA;;4FDZa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;+BACE,eAAe,EAAA,QAAA,EACf,aAAa,EAAA,IAAA,EAGjB;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,mBAAmB,EAAE,SAAS;AAC/B,qBAAA,EAAA,QAAA,EAAA,0rBAAA,EAAA,MAAA,EAAA,CAAA,q1DAAA,CAAA,EAAA;;;AEZH;;AAEG;;"}
@@ -2,24 +2,24 @@ import * as i0 from '@angular/core';
2
2
  import { input, numberAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
 
4
4
  class StepTrackerComponent {
5
- steps = input([], ...(ngDevMode ? [{ debugName: "steps" }] : []));
6
- currentStep = input(0, ...(ngDevMode ? [{ debugName: "currentStep", transform: numberAttribute }] : [{ transform: numberAttribute }]));
7
- orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
5
+ steps = input([], ...(ngDevMode ? [{ debugName: "steps" }] : /* istanbul ignore next */ []));
6
+ currentStep = input(0, { ...(ngDevMode ? { debugName: "currentStep" } : /* istanbul ignore next */ {}), transform: numberAttribute });
7
+ orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
8
8
  _resolvedSteps = computed(() => this.steps().map((s, i) => {
9
9
  const label = typeof s === 'string' ? s : s.label;
10
10
  const description = typeof s === 'string' ? undefined : s.description;
11
11
  const current = this.currentStep();
12
12
  const state = i < current ? 'completed' : i === current ? 'active' : 'upcoming';
13
13
  return { label, description, state, index: i + 1 };
14
- }), ...(ngDevMode ? [{ debugName: "_resolvedSteps" }] : []));
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepTrackerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: StepTrackerComponent, isStandalone: true, selector: "emr-step-tracker", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, currentStep: { classPropertyName: "currentStep", publicName: "currentStep", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-orientation": "orientation()" } }, ngImport: i0, template: "<div class=\"steps-list\">\n @for (step of _resolvedSteps(); track step.index; let last = $last) {\n <div class=\"step-item\" [attr.data-state]=\"step.state\">\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.state === 'completed') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\n <polyline points=\"20 6 9 17 4 12\"/>\n </svg>\n } @else {\n <span>{{ step.index }}</span>\n }\n </div>\n @if (!last) { <div class=\"step-line\"></div> }\n </div>\n <div class=\"step-content\">\n <span class=\"step-label\">{{ step.label }}</span>\n @if (step.description) {\n <span class=\"step-description\">{{ step.description }}</span>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.steps-list{display:flex;flex-direction:row;gap:0}:host([data-orientation=vertical]) .steps-list{flex-direction:column}.step-item{display:flex;flex:1;flex-direction:column;align-items:center}:host([data-orientation=vertical]) .step-item{flex-direction:row;align-items:flex-start;flex:none}.step-indicator{display:flex;flex-direction:column;align-items:center;flex:1;width:100%}:host([data-orientation=vertical]) .step-indicator{flex-direction:column;align-items:center;width:auto;margin-right:calc(var(--spacing, .25rem) * 3)}.step-circle{width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0;transition:all .2s ease;border:2px solid var(--color-outline-variant);background:var(--color-surface);color:var(--color-on-surface-variant);z-index:1}.step-circle svg{width:calc(var(--spacing, .25rem) * 4);height:calc(var(--spacing, .25rem) * 4)}.step-item[data-state=active] .step-circle,.step-item[data-state=completed] .step-circle{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.step-line{flex:1;height:2px;width:100%;background:var(--color-outline-variant);margin:var(--spacing, .25rem) 0;transition:background .2s ease}:host([data-orientation=vertical]) .step-line{width:2px;height:calc(var(--spacing, .25rem) * 8);margin:var(--spacing, .25rem) 0;flex:none}.step-item[data-state=completed] .step-line{background:var(--color-primary)}.step-content{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing, .25rem) * 2) var(--spacing, .25rem) 0;text-align:center}:host([data-orientation=vertical]) .step-content{align-items:flex-start;text-align:left;padding:0 0 calc(var(--spacing, .25rem) * 6) 0}.step-label{font-size:.875rem;font-weight:600;color:var(--color-on-surface-variant);white-space:nowrap}.step-item[data-state=active] .step-label{color:var(--color-primary)}.step-item[data-state=completed] .step-label{color:var(--color-on-surface)}.step-description{font-size:.75rem;color:var(--color-on-surface-variant);margin-top:calc(var(--spacing, .25rem) * .5)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ }), ...(ngDevMode ? [{ debugName: "_resolvedSteps" }] : /* istanbul ignore next */ []));
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepTrackerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: StepTrackerComponent, isStandalone: true, selector: "emr-step-tracker", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, currentStep: { classPropertyName: "currentStep", publicName: "currentStep", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-orientation": "orientation()" } }, ngImport: i0, template: "<div class=\"steps-list\">\n @for (step of _resolvedSteps(); track step.index; let last = $last) {\n <div class=\"step-item\" [attr.data-state]=\"step.state\">\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.state === 'completed') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\n <polyline points=\"20 6 9 17 4 12\"/>\n </svg>\n } @else {\n <span>{{ step.index }}</span>\n }\n </div>\n @if (!last) { <div class=\"step-line\"></div> }\n </div>\n <div class=\"step-content\">\n <span class=\"step-label\">{{ step.label }}</span>\n @if (step.description) {\n <span class=\"step-description\">{{ step.description }}</span>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.steps-list{display:flex;flex-direction:row;gap:0}:host([data-orientation=vertical]) .steps-list{flex-direction:column}.step-item{display:flex;flex:1;flex-direction:column;align-items:center}:host([data-orientation=vertical]) .step-item{flex-direction:row;align-items:flex-start;flex:none}.step-indicator{display:flex;flex-direction:column;align-items:center;flex:1;width:100%}:host([data-orientation=vertical]) .step-indicator{flex-direction:column;align-items:center;width:auto;margin-right:calc(var(--spacing, .25rem) * 3)}.step-circle{width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0;transition:all .2s ease;border:2px solid var(--color-outline-variant);background:var(--color-surface);color:var(--color-on-surface-variant);z-index:1}.step-circle svg{width:calc(var(--spacing, .25rem) * 4);height:calc(var(--spacing, .25rem) * 4)}.step-item[data-state=active] .step-circle,.step-item[data-state=completed] .step-circle{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.step-line{flex:1;height:2px;width:100%;background:var(--color-outline-variant);margin:var(--spacing, .25rem) 0;transition:background .2s ease}:host([data-orientation=vertical]) .step-line{width:2px;height:calc(var(--spacing, .25rem) * 8);margin:var(--spacing, .25rem) 0;flex:none}.step-item[data-state=completed] .step-line{background:var(--color-primary)}.step-content{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing, .25rem) * 2) var(--spacing, .25rem) 0;text-align:center}:host([data-orientation=vertical]) .step-content{align-items:flex-start;text-align:left;padding:0 0 calc(var(--spacing, .25rem) * 6) 0}.step-label{font-size:.875rem;font-weight:600;color:var(--color-on-surface-variant);white-space:nowrap}.step-item[data-state=active] .step-label{color:var(--color-primary)}.step-item[data-state=completed] .step-label{color:var(--color-on-surface)}.step-description{font-size:.75rem;color:var(--color-on-surface-variant);margin-top:calc(var(--spacing, .25rem) * .5)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepTrackerComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepTrackerComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'emr-step-tracker', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
21
21
  '[attr.data-orientation]': 'orientation()',
22
- }, template: "<div class=\"steps-list\">\n @for (step of _resolvedSteps(); track step.index; let last = $last) {\n <div class=\"step-item\" [attr.data-state]=\"step.state\">\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.state === 'completed') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\n <polyline points=\"20 6 9 17 4 12\"/>\n </svg>\n } @else {\n <span>{{ step.index }}</span>\n }\n </div>\n @if (!last) { <div class=\"step-line\"></div> }\n </div>\n <div class=\"step-content\">\n <span class=\"step-label\">{{ step.label }}</span>\n @if (step.description) {\n <span class=\"step-description\">{{ step.description }}</span>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.steps-list{display:flex;flex-direction:row;gap:0}:host([data-orientation=vertical]) .steps-list{flex-direction:column}.step-item{display:flex;flex:1;flex-direction:column;align-items:center}:host([data-orientation=vertical]) .step-item{flex-direction:row;align-items:flex-start;flex:none}.step-indicator{display:flex;flex-direction:column;align-items:center;flex:1;width:100%}:host([data-orientation=vertical]) .step-indicator{flex-direction:column;align-items:center;width:auto;margin-right:calc(var(--spacing, .25rem) * 3)}.step-circle{width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0;transition:all .2s ease;border:2px solid var(--color-outline-variant);background:var(--color-surface);color:var(--color-on-surface-variant);z-index:1}.step-circle svg{width:calc(var(--spacing, .25rem) * 4);height:calc(var(--spacing, .25rem) * 4)}.step-item[data-state=active] .step-circle,.step-item[data-state=completed] .step-circle{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.step-line{flex:1;height:2px;width:100%;background:var(--color-outline-variant);margin:var(--spacing, .25rem) 0;transition:background .2s ease}:host([data-orientation=vertical]) .step-line{width:2px;height:calc(var(--spacing, .25rem) * 8);margin:var(--spacing, .25rem) 0;flex:none}.step-item[data-state=completed] .step-line{background:var(--color-primary)}.step-content{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing, .25rem) * 2) var(--spacing, .25rem) 0;text-align:center}:host([data-orientation=vertical]) .step-content{align-items:flex-start;text-align:left;padding:0 0 calc(var(--spacing, .25rem) * 6) 0}.step-label{font-size:.875rem;font-weight:600;color:var(--color-on-surface-variant);white-space:nowrap}.step-item[data-state=active] .step-label{color:var(--color-primary)}.step-item[data-state=completed] .step-label{color:var(--color-on-surface)}.step-description{font-size:.75rem;color:var(--color-on-surface-variant);margin-top:calc(var(--spacing, .25rem) * .5)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
22
+ }, template: "<div class=\"steps-list\">\n @for (step of _resolvedSteps(); track step.index; let last = $last) {\n <div class=\"step-item\" [attr.data-state]=\"step.state\">\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.state === 'completed') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\n <polyline points=\"20 6 9 17 4 12\"/>\n </svg>\n } @else {\n <span>{{ step.index }}</span>\n }\n </div>\n @if (!last) { <div class=\"step-line\"></div> }\n </div>\n <div class=\"step-content\">\n <span class=\"step-label\">{{ step.label }}</span>\n @if (step.description) {\n <span class=\"step-description\">{{ step.description }}</span>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block}.steps-list{display:flex;flex-direction:row;gap:0}:host([data-orientation=vertical]) .steps-list{flex-direction:column}.step-item{display:flex;flex:1;flex-direction:column;align-items:center}:host([data-orientation=vertical]) .step-item{flex-direction:row;align-items:flex-start;flex:none}.step-indicator{display:flex;flex-direction:column;align-items:center;flex:1;width:100%}:host([data-orientation=vertical]) .step-indicator{flex-direction:column;align-items:center;width:auto;margin-right:calc(var(--spacing, .25rem) * 3)}.step-circle{width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0;transition:all .2s ease;border:2px solid var(--color-outline-variant);background:var(--color-surface);color:var(--color-on-surface-variant);z-index:1}.step-circle svg{width:calc(var(--spacing, .25rem) * 4);height:calc(var(--spacing, .25rem) * 4)}.step-item[data-state=active] .step-circle,.step-item[data-state=completed] .step-circle{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.step-line{flex:1;height:2px;width:100%;background:var(--color-outline-variant);margin:var(--spacing, .25rem) 0;transition:background .2s ease}:host([data-orientation=vertical]) .step-line{width:2px;height:calc(var(--spacing, .25rem) * 8);margin:var(--spacing, .25rem) 0;flex:none}.step-item[data-state=completed] .step-line{background:var(--color-primary)}.step-content{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing, .25rem) * 2) var(--spacing, .25rem) 0;text-align:center}:host([data-orientation=vertical]) .step-content{align-items:flex-start;text-align:left;padding:0 0 calc(var(--spacing, .25rem) * 6) 0}.step-label{font-size:.875rem;font-weight:600;color:var(--color-on-surface-variant);white-space:nowrap}.step-item[data-state=active] .step-label{color:var(--color-primary)}.step-item[data-state=completed] .step-label{color:var(--color-on-surface)}.step-description{font-size:.75rem;color:var(--color-on-surface-variant);margin-top:calc(var(--spacing, .25rem) * .5)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
23
23
  }], propDecorators: { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: false }] }], currentStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentStep", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }] } });
24
24
 
25
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-step-tracker.mjs","sources":["../../../projects/components/step-tracker/src/step-tracker/step-tracker.component.ts","../../../projects/components/step-tracker/src/step-tracker/step-tracker.component.html","../../../projects/components/step-tracker/elementar-rt-components-step-tracker.ts"],"sourcesContent":["import { Component, input, computed, ChangeDetectionStrategy, numberAttribute } from '@angular/core';\n\nexport type StepState = 'completed' | 'active' | 'upcoming';\n\nexport interface StepTrackerStep {\n label: string;\n description?: string;\n state?: StepState;\n}\n\n@Component({\n selector: 'emr-step-tracker',\n standalone: true,\n templateUrl: './step-tracker.component.html',\n styleUrl: './step-tracker.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-orientation]': 'orientation()',\n }\n})\nexport class StepTrackerComponent {\n steps = input<(string | StepTrackerStep)[]>([]);\n currentStep = input(0, { transform: numberAttribute });\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n protected _resolvedSteps = computed(() =>\n this.steps().map((s, i): StepTrackerStep & { index: number } => {\n const label = typeof s === 'string' ? s : s.label;\n const description = typeof s === 'string' ? undefined : s.description;\n const current = this.currentStep();\n const state: StepState = i < current ? 'completed' : i === current ? 'active' : 'upcoming';\n return { label, description, state, index: i + 1 };\n })\n );\n}\n","<div class=\"steps-list\">\n @for (step of _resolvedSteps(); track step.index; let last = $last) {\n <div class=\"step-item\" [attr.data-state]=\"step.state\">\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.state === 'completed') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\n <polyline points=\"20 6 9 17 4 12\"/>\n </svg>\n } @else {\n <span>{{ step.index }}</span>\n }\n </div>\n @if (!last) { <div class=\"step-line\"></div> }\n </div>\n <div class=\"step-content\">\n <span class=\"step-label\">{{ step.label }}</span>\n @if (step.description) {\n <span class=\"step-description\">{{ step.description }}</span>\n }\n </div>\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAoBa,oBAAoB,CAAA;AAC/B,IAAA,KAAK,GAAG,KAAK,CAA+B,EAAE,iDAAC;AAC/C,IAAA,WAAW,GAAG,KAAK,CAAC,CAAC,+CAAI,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CAA5B,EAAE,SAAS,EAAE,eAAe,EAAE,GAAC;AACtD,IAAA,WAAW,GAAG,KAAK,CAA4B,YAAY,uDAAC;AAElD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAClC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAyC;AAC7D,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK;AACjD,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,WAAW;AACrE,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;QAClC,MAAM,KAAK,GAAc,CAAC,GAAG,OAAO,GAAG,WAAW,GAAG,CAAC,KAAK,OAAO,GAAG,QAAQ,GAAG,UAAU;AAC1F,QAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;IACpD,CAAC,CAAC,0DACH;wGAbU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,wiBCpBjC,+2BAwBA,EAAA,MAAA,EAAA,CAAA,8tEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDJa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAChB,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,yBAAyB,EAAE,eAAe;AAC3C,qBAAA,EAAA,QAAA,EAAA,+2BAAA,EAAA,MAAA,EAAA,CAAA,8tEAAA,CAAA,EAAA;;;AElBH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-step-tracker.mjs","sources":["../../../projects/components/step-tracker/src/step-tracker/step-tracker.component.ts","../../../projects/components/step-tracker/src/step-tracker/step-tracker.component.html","../../../projects/components/step-tracker/elementar-rt-components-step-tracker.ts"],"sourcesContent":["import { Component, input, computed, ChangeDetectionStrategy, numberAttribute } from '@angular/core';\n\nexport type StepState = 'completed' | 'active' | 'upcoming';\n\nexport interface StepTrackerStep {\n label: string;\n description?: string;\n state?: StepState;\n}\n\n@Component({\n selector: 'emr-step-tracker',\n standalone: true,\n templateUrl: './step-tracker.component.html',\n styleUrl: './step-tracker.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-orientation]': 'orientation()',\n }\n})\nexport class StepTrackerComponent {\n steps = input<(string | StepTrackerStep)[]>([]);\n currentStep = input(0, { transform: numberAttribute });\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n protected _resolvedSteps = computed(() =>\n this.steps().map((s, i): StepTrackerStep & { index: number } => {\n const label = typeof s === 'string' ? s : s.label;\n const description = typeof s === 'string' ? undefined : s.description;\n const current = this.currentStep();\n const state: StepState = i < current ? 'completed' : i === current ? 'active' : 'upcoming';\n return { label, description, state, index: i + 1 };\n })\n );\n}\n","<div class=\"steps-list\">\n @for (step of _resolvedSteps(); track step.index; let last = $last) {\n <div class=\"step-item\" [attr.data-state]=\"step.state\">\n <div class=\"step-indicator\">\n <div class=\"step-circle\">\n @if (step.state === 'completed') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\n <polyline points=\"20 6 9 17 4 12\"/>\n </svg>\n } @else {\n <span>{{ step.index }}</span>\n }\n </div>\n @if (!last) { <div class=\"step-line\"></div> }\n </div>\n <div class=\"step-content\">\n <span class=\"step-label\">{{ step.label }}</span>\n @if (step.description) {\n <span class=\"step-description\">{{ step.description }}</span>\n }\n </div>\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAoBa,oBAAoB,CAAA;AAC/B,IAAA,KAAK,GAAG,KAAK,CAA+B,EAAE,4EAAC;IAC/C,WAAW,GAAG,KAAK,CAAC,CAAC,mFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACtD,IAAA,WAAW,GAAG,KAAK,CAA4B,YAAY,kFAAC;AAElD,IAAA,cAAc,GAAG,QAAQ,CAAC,MAClC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAyC;AAC7D,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK;AACjD,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,WAAW;AACrE,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;QAClC,MAAM,KAAK,GAAc,CAAC,GAAG,OAAO,GAAG,WAAW,GAAG,CAAC,KAAK,OAAO,GAAG,QAAQ,GAAG,UAAU;AAC1F,QAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;IACpD,CAAC,CAAC,qFACH;wGAbU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,wiBCpBjC,+2BAwBA,EAAA,MAAA,EAAA,CAAA,8tEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDJa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAChB,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,yBAAyB,EAAE,eAAe;AAC3C,qBAAA,EAAA,QAAA,EAAA,+2BAAA,EAAA,MAAA,EAAA,CAAA,8tEAAA,CAAA,EAAA;;;AElBH;;AAEG;;"}
@@ -6,15 +6,15 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
6
6
 
7
7
  class StepComponent {
8
8
  /** Form control associated with this step */
9
- stepControl = input(undefined, ...(ngDevMode ? [{ debugName: "stepControl" }] : []));
9
+ stepControl = input(undefined, ...(ngDevMode ? [{ debugName: "stepControl" }] : /* istanbul ignore next */ []));
10
10
  /** Whether the step is optional */
11
- optional = input(false, ...(ngDevMode ? [{ debugName: "optional" }] : []));
11
+ optional = input(false, ...(ngDevMode ? [{ debugName: "optional" }] : /* istanbul ignore next */ []));
12
12
  /** Whether the user has interacted with this step (writable signal) */
13
- interacted = signal(false, ...(ngDevMode ? [{ debugName: "interacted" }] : []));
13
+ interacted = signal(false, ...(ngDevMode ? [{ debugName: "interacted" }] : /* istanbul ignore next */ []));
14
14
  /** Whether this step is currently active (writable signal, controlled by Stepper) */
15
- isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
15
+ isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
16
16
  /** Internal writable signal tracking the validity of the stepControl */
17
- _isValid = signal(true, ...(ngDevMode ? [{ debugName: "_isValid" }] : [])); // Default to true if no control
17
+ _isValid = signal(true, ...(ngDevMode ? [{ debugName: "_isValid" }] : /* istanbul ignore next */ [])); // Default to true if no control
18
18
  _destroyRef = inject(DestroyRef); // Inject DestroyRef for automatic cleanup
19
19
  constructor() {
20
20
  effect(() => {
@@ -42,7 +42,7 @@ class StepComponent {
42
42
  // A step is completed if it doesn't have a stepControl or
43
43
  // if the internal _isValid signal (reflecting the control's validity) is true.
44
44
  return !this.stepControl() || this._isValid();
45
- }, ...(ngDevMode ? [{ debugName: "completed" }] : []));
45
+ }, ...(ngDevMode ? [{ debugName: "completed" }] : /* istanbul ignore next */ []));
46
46
  /**
47
47
  * Checks if the step is currently valid.
48
48
  * Considers the validity of the associated stepControl if provided.
@@ -63,10 +63,10 @@ class StepComponent {
63
63
  setInteracted(interacted) {
64
64
  this.interacted.set(interacted);
65
65
  }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: StepComponent, isStandalone: true, selector: "emr-step", inputs: { stepControl: { classPropertyName: "stepControl", publicName: "stepControl", isSignal: true, isRequired: false, transformFunction: null }, optional: { classPropertyName: "optional", publicName: "optional", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "isActive() ? \"block\" : \"none\"" }, classAttribute: "emr-step" }, exportAs: ["emrStep"], ngImport: i0, template: `<ng-content/>`, isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: StepComponent, isStandalone: true, selector: "emr-step", inputs: { stepControl: { classPropertyName: "stepControl", publicName: "stepControl", isSignal: true, isRequired: false, transformFunction: null }, optional: { classPropertyName: "optional", publicName: "optional", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "isActive() ? \"block\" : \"none\"" }, classAttribute: "emr-step" }, exportAs: ["emrStep"], ngImport: i0, template: `<ng-content/>`, isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepComponent, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepComponent, decorators: [{
70
70
  type: Component,
71
71
  args: [{ selector: 'emr-step', exportAs: 'emrStep', template: `<ng-content/>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
72
72
  'class': 'emr-step',
@@ -76,24 +76,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
76
76
 
77
77
  class StepperComponent {
78
78
  /** Whether the stepper should operate in linear mode. */
79
- linear = input(false, ...(ngDevMode ? [{ debugName: "linear", transform: coerceBooleanProperty }] : [{
80
- transform: coerceBooleanProperty
81
- }]));
79
+ linear = input(false, { ...(ngDevMode ? { debugName: "linear" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
82
80
  /** The index of the active step (two-way bound). */
83
- selectedIndex = model(0, ...(ngDevMode ? [{ debugName: "selectedIndex" }] : []));
81
+ selectedIndex = model(0, ...(ngDevMode ? [{ debugName: "selectedIndex" }] : /* istanbul ignore next */ []));
84
82
  /** Collection of child StepComponent instances. */
85
- steps = contentChildren(StepComponent, ...(ngDevMode ? [{ debugName: "steps" }] : []));
83
+ steps = contentChildren(StepComponent, ...(ngDevMode ? [{ debugName: "steps" }] : /* istanbul ignore next */ []));
86
84
  /** Computed signal for the total number of steps. */
87
85
  stepsCount = computed(() => {
88
86
  return this.steps()?.length ?? 0;
89
- }, ...(ngDevMode ? [{ debugName: "stepsCount" }] : []));
87
+ }, ...(ngDevMode ? [{ debugName: "stepsCount" }] : /* istanbul ignore next */ []));
90
88
  /** The currently selected StepComponent instance. */
91
89
  selected = computed(() => {
92
90
  const index = this.selectedIndex();
93
91
  const stepList = this.steps();
94
92
  // Use the stepsCount() computed signal for checking length
95
93
  return stepList && index >= 0 && index < this.stepsCount() ? stepList[index] : undefined;
96
- }, ...(ngDevMode ? [{ debugName: "selected" }] : []));
94
+ }, ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
97
95
  /** Checks if the user can navigate to the next step. */
98
96
  canMoveNext = computed(() => {
99
97
  const index = this.selectedIndex();
@@ -109,20 +107,20 @@ class StepperComponent {
109
107
  return true;
110
108
  }
111
109
  return currentSelected.completed() || currentSelected.optional();
112
- }, ...(ngDevMode ? [{ debugName: "canMoveNext" }] : []));
110
+ }, ...(ngDevMode ? [{ debugName: "canMoveNext" }] : /* istanbul ignore next */ []));
113
111
  /** Computed signal indicating if the current step is the first step. */
114
112
  isFirstStep = computed(() => {
115
113
  const index = this.selectedIndex();
116
114
  // Use stepsCount() signal
117
115
  return index === 0 && this.stepsCount() > 0;
118
- }, ...(ngDevMode ? [{ debugName: "isFirstStep" }] : []));
116
+ }, ...(ngDevMode ? [{ debugName: "isFirstStep" }] : /* istanbul ignore next */ []));
119
117
  /** Computed signal indicating if the current step is the last step. */
120
118
  isLastStep = computed(() => {
121
119
  const index = this.selectedIndex();
122
120
  // Use stepsCount() signal
123
121
  const totalSteps = this.stepsCount();
124
122
  return totalSteps > 0 && index === totalSteps - 1;
125
- }, ...(ngDevMode ? [{ debugName: "isLastStep" }] : []));
123
+ }, ...(ngDevMode ? [{ debugName: "isLastStep" }] : /* istanbul ignore next */ []));
126
124
  /** Computed signal calculating the progress percentage. */
127
125
  progressPercent = computed(() => {
128
126
  const totalSteps = this.stepsCount();
@@ -132,7 +130,7 @@ class StepperComponent {
132
130
  }
133
131
  const progress = (100 / totalSteps) * (index + 1);
134
132
  return Math.max(0, Math.min(100, progress));
135
- }, ...(ngDevMode ? [{ debugName: "progressPercent" }] : []));
133
+ }, ...(ngDevMode ? [{ debugName: "progressPercent" }] : /* istanbul ignore next */ []));
136
134
  constructor() {
137
135
  effect(() => {
138
136
  const currentSteps = this.steps();
@@ -176,10 +174,10 @@ class StepperComponent {
176
174
  this.steps().forEach(step => step.reset());
177
175
  this.selectedIndex.set(0);
178
176
  }
179
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
180
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.25", type: StepperComponent, isStandalone: true, selector: "emr-stepper", inputs: { linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange" }, host: { classAttribute: "emr-stepper" }, queries: [{ propertyName: "steps", predicate: StepComponent, isSignal: true }], exportAs: ["emrStepper"], ngImport: i0, template: `<ng-content select="emr-step"/>`, isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
177
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
178
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.22", type: StepperComponent, isStandalone: true, selector: "emr-stepper", inputs: { linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIndex: "selectedIndexChange" }, host: { classAttribute: "emr-stepper" }, queries: [{ propertyName: "steps", predicate: StepComponent, isSignal: true }], exportAs: ["emrStepper"], ngImport: i0, template: `<ng-content select="emr-step"/>`, isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
181
179
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepperComponent, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperComponent, decorators: [{
183
181
  type: Component,
184
182
  args: [{ selector: 'emr-stepper', exportAs: 'emrStepper', standalone: true, template: `<ng-content select="emr-step"/>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
185
183
  'class': 'emr-stepper',