@elementar-rt/components 0.6.56 → 0.6.58

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 (345) hide show
  1. package/README.md +49 -49
  2. package/badge/index.d.ts +18 -0
  3. package/bottom-sheet/index.d.ts +32 -0
  4. package/button-toggle/index.d.ts +33 -0
  5. package/calendar/index.d.ts +44 -0
  6. package/card/index.d.ts +32 -0
  7. package/chips/index.d.ts +23 -0
  8. package/clipboard-copy/index.d.ts +28 -0
  9. package/code-highlighter/index.d.ts +5 -1
  10. package/combobox/index.d.ts +38 -0
  11. package/content-editor/index.d.ts +18 -0
  12. package/dashboard/index.d.ts +1 -1
  13. package/data-grid/index.d.ts +64 -0
  14. package/datepicker/index.d.ts +32 -0
  15. package/dialog/index.d.ts +48 -0
  16. package/digit-roller/index.d.ts +18 -0
  17. package/empty-state/index.d.ts +17 -0
  18. package/expansion-panel/index.d.ts +12 -0
  19. package/fesm2022/elementar-rt-components-action-required.mjs +4 -4
  20. package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
  21. package/fesm2022/elementar-rt-components-alert.mjs +18 -17
  22. package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
  23. package/fesm2022/elementar-rt-components-announcement.mjs +8 -8
  24. package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
  25. package/fesm2022/elementar-rt-components-avatar.mjs +22 -22
  26. package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
  27. package/fesm2022/elementar-rt-components-badge.mjs +38 -0
  28. package/fesm2022/elementar-rt-components-badge.mjs.map +1 -0
  29. package/fesm2022/elementar-rt-components-block-loader.mjs +7 -7
  30. package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
  31. package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
  32. package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
  33. package/fesm2022/elementar-rt-components-bottom-sheet.mjs +71 -0
  34. package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -0
  35. package/fesm2022/elementar-rt-components-brand-colors.mjs +5 -5
  36. package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
  37. package/fesm2022/elementar-rt-components-breadcrumbs.mjs +41 -41
  38. package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
  39. package/fesm2022/elementar-rt-components-button-toggle.mjs +89 -0
  40. package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -0
  41. package/fesm2022/elementar-rt-components-calendar.mjs +130 -0
  42. package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -0
  43. package/fesm2022/elementar-rt-components-card-overlay.mjs +7 -7
  44. package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
  45. package/fesm2022/elementar-rt-components-card.mjs +60 -0
  46. package/fesm2022/elementar-rt-components-card.mjs.map +1 -0
  47. package/fesm2022/elementar-rt-components-carousel.mjs +22 -22
  48. package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
  49. package/fesm2022/elementar-rt-components-chips.mjs +54 -0
  50. package/fesm2022/elementar-rt-components-chips.mjs.map +1 -0
  51. package/fesm2022/elementar-rt-components-clipboard-copy.mjs +115 -0
  52. package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -0
  53. package/fesm2022/elementar-rt-components-code-highlighter.mjs +19 -6
  54. package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
  55. package/fesm2022/elementar-rt-components-color-picker.mjs +27 -27
  56. package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
  57. package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
  58. package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
  59. package/fesm2022/elementar-rt-components-combobox.mjs +70 -0
  60. package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -0
  61. package/fesm2022/elementar-rt-components-command-bar.mjs +12 -12
  62. package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
  63. package/fesm2022/elementar-rt-components-comment-editor.mjs +86 -84
  64. package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
  65. package/fesm2022/elementar-rt-components-comparison-slider.mjs +10 -10
  66. package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
  67. package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
  68. package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
  69. package/fesm2022/elementar-rt-components-content-editor.mjs +121 -0
  70. package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -0
  71. package/fesm2022/elementar-rt-components-content-fade.mjs +4 -4
  72. package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
  73. package/fesm2022/elementar-rt-components-cookie-popup.mjs +13 -13
  74. package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
  75. package/fesm2022/elementar-rt-components-core.mjs +64 -64
  76. package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
  77. package/fesm2022/elementar-rt-components-country-select.mjs +5 -5
  78. package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
  79. package/fesm2022/elementar-rt-components-crop.mjs +4 -4
  80. package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
  81. package/fesm2022/elementar-rt-components-currency-select.mjs +5 -5
  82. package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
  83. package/fesm2022/elementar-rt-components-dashboard.mjs +9 -9
  84. package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
  85. package/fesm2022/elementar-rt-components-data-grid.mjs +120 -0
  86. package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -0
  87. package/fesm2022/elementar-rt-components-data-view.mjs +17 -17
  88. package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
  89. package/fesm2022/elementar-rt-components-date-format-select.mjs +5 -5
  90. package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
  91. package/fesm2022/elementar-rt-components-datepicker.mjs +81 -0
  92. package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -0
  93. package/fesm2022/elementar-rt-components-dialog.mjs +97 -0
  94. package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -0
  95. package/fesm2022/elementar-rt-components-digit-roller.mjs +41 -0
  96. package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -0
  97. package/fesm2022/elementar-rt-components-divider.mjs +8 -8
  98. package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
  99. package/fesm2022/elementar-rt-components-drawer.mjs +8 -8
  100. package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
  101. package/fesm2022/elementar-rt-components-emoji-picker.mjs +7 -7
  102. package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
  103. package/fesm2022/elementar-rt-components-empty-state.mjs +35 -0
  104. package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -0
  105. package/fesm2022/elementar-rt-components-expand.mjs +4 -4
  106. package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
  107. package/fesm2022/elementar-rt-components-expansion-panel.mjs +32 -0
  108. package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -0
  109. package/fesm2022/elementar-rt-components-filter-builder.mjs +13 -13
  110. package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
  111. package/fesm2022/elementar-rt-components-filter-select.mjs +126 -0
  112. package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -0
  113. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs +123 -0
  114. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map +1 -0
  115. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs +22 -0
  116. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map +1 -0
  117. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs +40 -0
  118. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map +1 -0
  119. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs → elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs} +5 -5
  120. package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map +1 -0
  121. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs → elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs} +5 -5
  122. package/fesm2022/elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map +1 -0
  123. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs +33 -0
  124. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map +1 -0
  125. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs +38 -0
  126. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map +1 -0
  127. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs +39 -0
  128. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map +1 -0
  129. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs → elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs} +5 -5
  130. package/fesm2022/elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map +1 -0
  131. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs +37 -0
  132. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map +1 -0
  133. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs +35 -0
  134. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map +1 -0
  135. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs +22 -0
  136. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map +1 -0
  137. package/fesm2022/elementar-rt-components-form-renderer.mjs +29 -29
  138. package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
  139. package/fesm2022/elementar-rt-components-gauge.mjs +8 -8
  140. package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
  141. package/fesm2022/elementar-rt-components-grid.mjs +37 -0
  142. package/fesm2022/elementar-rt-components-grid.mjs.map +1 -0
  143. package/fesm2022/elementar-rt-components-guided-tour.mjs +161 -0
  144. package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -0
  145. package/fesm2022/elementar-rt-components-headless-stepper.mjs +72 -0
  146. package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -0
  147. package/fesm2022/elementar-rt-components-icon.mjs +4 -4
  148. package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
  149. package/fesm2022/elementar-rt-components-image-placeholder.mjs +30 -0
  150. package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -0
  151. package/fesm2022/elementar-rt-components-image-resizer.mjs +10 -10
  152. package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
  153. package/fesm2022/elementar-rt-components-image-viewer.mjs +19 -19
  154. package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
  155. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +97 -0
  156. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -0
  157. package/fesm2022/elementar-rt-components-incidents.mjs +49 -49
  158. package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
  159. package/fesm2022/elementar-rt-components-inline-text-edit.mjs +4 -4
  160. package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
  161. package/fesm2022/elementar-rt-components-input-mask.mjs +9 -9
  162. package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
  163. package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
  164. package/fesm2022/elementar-rt-components-kanban-board.mjs +7 -7
  165. package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
  166. package/fesm2022/elementar-rt-components-keyboard.mjs +63 -0
  167. package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -0
  168. package/fesm2022/elementar-rt-components-layout.mjs +43 -38
  169. package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
  170. package/fesm2022/elementar-rt-components-list.mjs +43 -0
  171. package/fesm2022/elementar-rt-components-list.mjs.map +1 -0
  172. package/fesm2022/elementar-rt-components-logo.mjs +12 -12
  173. package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
  174. package/fesm2022/elementar-rt-components-marquee.mjs +7 -7
  175. package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
  176. package/fesm2022/elementar-rt-components-menu.mjs +94 -0
  177. package/fesm2022/elementar-rt-components-menu.mjs.map +1 -0
  178. package/fesm2022/elementar-rt-components-micro-chart.mjs +24 -24
  179. package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
  180. package/fesm2022/elementar-rt-components-multi-select.mjs +66 -0
  181. package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -0
  182. package/fesm2022/elementar-rt-components-navigation.mjs +39 -39
  183. package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
  184. package/fesm2022/elementar-rt-components-notifications.mjs +40 -40
  185. package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
  186. package/fesm2022/elementar-rt-components-number-input.mjs +17 -17
  187. package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
  188. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +4 -4
  189. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
  190. package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
  191. package/fesm2022/elementar-rt-components-page-loading-bar.mjs +4 -4
  192. package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
  193. package/fesm2022/elementar-rt-components-paginator.mjs +50 -0
  194. package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -0
  195. package/fesm2022/elementar-rt-components-panel.mjs +24 -24
  196. package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
  197. package/fesm2022/elementar-rt-components-password-strength.mjs +13 -13
  198. package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
  199. package/fesm2022/elementar-rt-components-phone-input.mjs +11 -11
  200. package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
  201. package/fesm2022/elementar-rt-components-pin-input.mjs +13 -13
  202. package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
  203. package/fesm2022/elementar-rt-components-popover.mjs +10 -10
  204. package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
  205. package/fesm2022/elementar-rt-components-progress-bar.mjs +32 -0
  206. package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -0
  207. package/fesm2022/elementar-rt-components-progress-spinner.mjs +94 -0
  208. package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -0
  209. package/fesm2022/elementar-rt-components-radio-card.mjs +17 -17
  210. package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
  211. package/fesm2022/elementar-rt-components-rail-nav.mjs +12 -12
  212. package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
  213. package/fesm2022/elementar-rt-components-rating.mjs +84 -0
  214. package/fesm2022/elementar-rt-components-rating.mjs.map +1 -0
  215. package/fesm2022/elementar-rt-components-resizable-container.mjs +4 -4
  216. package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
  217. package/fesm2022/elementar-rt-components-screen-loader.mjs +4 -4
  218. package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
  219. package/fesm2022/elementar-rt-components-scroll-spy.mjs +16 -16
  220. package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
  221. package/fesm2022/elementar-rt-components-segmented.mjs +15 -12
  222. package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
  223. package/fesm2022/elementar-rt-components-side-panel.mjs +8 -8
  224. package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
  225. package/fesm2022/elementar-rt-components-sidebar.mjs +61 -61
  226. package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
  227. package/fesm2022/elementar-rt-components-sidenav.mjs +72 -0
  228. package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -0
  229. package/fesm2022/elementar-rt-components-signature-pad.mjs +4 -4
  230. package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
  231. package/fesm2022/elementar-rt-components-skeleton.mjs +16 -16
  232. package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
  233. package/fesm2022/elementar-rt-components-slider.mjs +64 -0
  234. package/fesm2022/elementar-rt-components-slider.mjs.map +1 -0
  235. package/fesm2022/elementar-rt-components-snackbar.mjs +81 -0
  236. package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -0
  237. package/fesm2022/elementar-rt-components-sort.mjs +69 -0
  238. package/fesm2022/elementar-rt-components-sort.mjs.map +1 -0
  239. package/fesm2022/elementar-rt-components-splash-screen.mjs +15 -7
  240. package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
  241. package/fesm2022/elementar-rt-components-split-pane.mjs +70 -0
  242. package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -0
  243. package/fesm2022/elementar-rt-components-stat-card.mjs +27 -0
  244. package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -0
  245. package/fesm2022/elementar-rt-components-step-tracker.mjs +30 -0
  246. package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -0
  247. package/fesm2022/elementar-rt-components-stepper.mjs +6 -6
  248. package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
  249. package/fesm2022/elementar-rt-components-suggestions.mjs +18 -18
  250. package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
  251. package/fesm2022/elementar-rt-components-tab-panel.mjs +48 -48
  252. package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
  253. package/fesm2022/elementar-rt-components-table.mjs +84 -0
  254. package/fesm2022/elementar-rt-components-table.mjs.map +1 -0
  255. package/fesm2022/elementar-rt-components-tabs.mjs +59 -0
  256. package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -0
  257. package/fesm2022/elementar-rt-components-tag.mjs +28 -0
  258. package/fesm2022/elementar-rt-components-tag.mjs.map +1 -0
  259. package/fesm2022/elementar-rt-components-text-editor.mjs +89 -87
  260. package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
  261. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +7 -7
  262. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
  263. package/fesm2022/elementar-rt-components-tiles.mjs +35 -0
  264. package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -0
  265. package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
  266. package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
  267. package/fesm2022/elementar-rt-components-timepicker.mjs +75 -0
  268. package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -0
  269. package/fesm2022/elementar-rt-components-timezone-select.mjs +8 -8
  270. package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
  271. package/fesm2022/elementar-rt-components-toast.mjs +98 -0
  272. package/fesm2022/elementar-rt-components-toast.mjs.map +1 -0
  273. package/fesm2022/elementar-rt-components-toolbar.mjs +24 -0
  274. package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -0
  275. package/fesm2022/elementar-rt-components-tooltip.mjs +119 -0
  276. package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -0
  277. package/fesm2022/elementar-rt-components-tree.mjs +77 -0
  278. package/fesm2022/elementar-rt-components-tree.mjs.map +1 -0
  279. package/fesm2022/elementar-rt-components-upload.mjs +60 -58
  280. package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
  281. package/fesm2022/elementar-rt-components-video-player.mjs +144 -0
  282. package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -0
  283. package/fesm2022/elementar-rt-components-video-viewer.mjs +98 -0
  284. package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -0
  285. package/fesm2022/elementar-rt-components.mjs.map +1 -1
  286. package/filter-select/index.d.ts +40 -0
  287. package/grid/index.d.ts +24 -0
  288. package/guided-tour/index.d.ts +45 -0
  289. package/headless-stepper/index.d.ts +30 -0
  290. package/image-placeholder/index.d.ts +18 -0
  291. package/image-zoom-viewer/index.d.ts +33 -0
  292. package/keyboard/index.d.ts +13 -0
  293. package/layout/index.d.ts +3 -1
  294. package/list/index.d.ts +18 -0
  295. package/menu/index.d.ts +38 -0
  296. package/multi-select/index.d.ts +36 -0
  297. package/package.json +225 -33
  298. package/paginator/index.d.ts +26 -0
  299. package/progress-bar/index.d.ts +17 -0
  300. package/progress-spinner/index.d.ts +19 -0
  301. package/rating/index.d.ts +30 -0
  302. package/sidenav/index.d.ts +31 -0
  303. package/slider/index.d.ts +26 -0
  304. package/snackbar/index.d.ts +36 -0
  305. package/sort/index.d.ts +27 -0
  306. package/split-pane/index.d.ts +25 -0
  307. package/stat-card/index.d.ts +16 -0
  308. package/step-tracker/index.d.ts +21 -0
  309. package/styles/_common.scss +777 -776
  310. package/styles/themes/cyan-orange.scss +41 -41
  311. package/styles/themes/default.scss +5 -5
  312. package/styles/themes/magenta-violet.scss +41 -41
  313. package/styles/themes/rose-red.scss +41 -41
  314. package/table/index.d.ts +44 -0
  315. package/tabs/index.d.ts +26 -0
  316. package/tag/index.d.ts +17 -0
  317. package/tiles/index.d.ts +14 -0
  318. package/timepicker/index.d.ts +29 -0
  319. package/toast/index.d.ts +48 -0
  320. package/toolbar/index.d.ts +10 -0
  321. package/tooltip/index.d.ts +30 -0
  322. package/tree/index.d.ts +42 -0
  323. package/video-player/index.d.ts +49 -0
  324. package/video-viewer/index.d.ts +33 -0
  325. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs +0 -123
  326. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs.map +0 -1
  327. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs +0 -22
  328. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs.map +0 -1
  329. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs +0 -40
  330. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs.map +0 -1
  331. package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs.map +0 -1
  332. package/fesm2022/elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs.map +0 -1
  333. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs +0 -33
  334. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs.map +0 -1
  335. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs +0 -38
  336. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs.map +0 -1
  337. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs +0 -39
  338. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs.map +0 -1
  339. package/fesm2022/elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs.map +0 -1
  340. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs +0 -37
  341. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs.map +0 -1
  342. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs +0 -35
  343. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs.map +0 -1
  344. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs +0 -22
  345. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs.map +0 -1
@@ -0,0 +1,70 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, numberAttribute, output, signal, inject, ElementRef, ChangeDetectionStrategy, Component } from '@angular/core';
3
+
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" }] : []));
10
+ sizeChange = output();
11
+ _firstSize = signal(50, ...(ngDevMode ? [{ debugName: "_firstSize" }] : []));
12
+ _el = inject((ElementRef));
13
+ _dragging = false;
14
+ _onMouseMove = this._handleMouseMove.bind(this);
15
+ _onMouseUp = this._handleMouseUp.bind(this);
16
+ ngOnInit() {
17
+ let initial = this.initialSize();
18
+ const key = this.storageKey();
19
+ if (key) {
20
+ const stored = localStorage.getItem(`emr-split-${key}`);
21
+ if (stored)
22
+ initial = parseFloat(stored);
23
+ }
24
+ this._firstSize.set(Math.min(this.maxSize(), Math.max(this.minSize(), initial)));
25
+ }
26
+ ngOnDestroy() {
27
+ document.removeEventListener('mousemove', this._onMouseMove);
28
+ document.removeEventListener('mouseup', this._onMouseUp);
29
+ }
30
+ _onDividerMouseDown(e) {
31
+ e.preventDefault();
32
+ this._dragging = true;
33
+ document.addEventListener('mousemove', this._onMouseMove);
34
+ document.addEventListener('mouseup', this._onMouseUp);
35
+ }
36
+ _handleMouseMove(e) {
37
+ if (!this._dragging)
38
+ return;
39
+ const rect = this._el.nativeElement.getBoundingClientRect();
40
+ const isHoriz = this.orientation() === 'horizontal';
41
+ const pos = isHoriz ? e.clientX - rect.left : e.clientY - rect.top;
42
+ const total = isHoriz ? rect.width : rect.height;
43
+ const pct = Math.min(this.maxSize(), Math.max(this.minSize(), (pos / total) * 100));
44
+ this._firstSize.set(pct);
45
+ this.sizeChange.emit(pct);
46
+ const key = this.storageKey();
47
+ if (key)
48
+ localStorage.setItem(`emr-split-${key}`, String(pct));
49
+ }
50
+ _handleMouseUp() {
51
+ this._dragging = false;
52
+ document.removeEventListener('mousemove', this._onMouseMove);
53
+ document.removeEventListener('mouseup', this._onMouseUp);
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 });
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SplitPaneComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'emr-split-pane', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
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"] }]
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
+
65
+ /**
66
+ * Generated bundle index. Do not edit.
67
+ */
68
+
69
+ export { SplitPaneComponent };
70
+ //# sourceMappingURL=elementar-rt-components-split-pane.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,27 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Component } from '@angular/core';
3
+
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"] });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StatCardComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'emr-stat-card', exportAs: 'emrStatCard', host: {
17
+ 'class': 'emr-stat-card',
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"] }]
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
+
22
+ /**
23
+ * Generated bundle index. Do not edit.
24
+ */
25
+
26
+ export { StatCardComponent };
27
+ //# sourceMappingURL=elementar-rt-components-stat-card.mjs.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,30 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, numberAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
+
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" }] : []));
8
+ _resolvedSteps = computed(() => this.steps().map((s, i) => {
9
+ const label = typeof s === 'string' ? s : s.label;
10
+ const description = typeof s === 'string' ? undefined : s.description;
11
+ const current = this.currentStep();
12
+ const state = i < current ? 'completed' : i === current ? 'active' : 'upcoming';
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 });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepTrackerComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'emr-step-tracker', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
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"] }]
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
+
25
+ /**
26
+ * Generated bundle index. Do not edit.
27
+ */
28
+
29
+ export { StepTrackerComponent };
30
+ //# sourceMappingURL=elementar-rt-components-step-tracker.mjs.map
@@ -0,0 +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;;;;"}
@@ -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.10", ngImport: i0, type: StepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", 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: "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 });
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: StepComponent, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", 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',
@@ -176,10 +176,10 @@ class StepperComponent {
176
176
  this.steps().forEach(step => step.reset());
177
177
  this.selectedIndex.set(0);
178
178
  }
179
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
180
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.10", 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 });
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 });
181
181
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: StepperComponent, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: StepperComponent, decorators: [{
183
183
  type: Component,
184
184
  args: [{ selector: 'emr-stepper', exportAs: 'emrStepper', standalone: true, template: `<ng-content select="emr-step"/>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
185
185
  'class': 'emr-stepper',
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-stepper.mjs","sources":["../../../projects/components/stepper/src/step.component.ts","../../../projects/components/stepper/src/stepper.component.ts","../../../projects/components/stepper/elementar-rt-components-stepper.ts"],"sourcesContent":["import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n input,\r\n signal,\r\n computed,\r\n effect,\r\n inject,\r\n DestroyRef\r\n} from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { startWith } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'emr-step',\r\n exportAs: 'emrStep',\r\n template: `<ng-content/>`,\r\n styles: [`\r\n :host {\r\n display: block;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n 'class': 'emr-step',\r\n '[style.display]': 'isActive() ? \"block\" : \"none\"',\r\n }\r\n})\r\nexport class StepComponent {\r\n /** Form control associated with this step */\r\n stepControl = input<AbstractControl | undefined>(undefined);\r\n /** Whether the step is optional */\r\n optional = input(false);\r\n\r\n /** Whether the user has interacted with this step (writable signal) */\r\n readonly interacted = signal(false);\r\n /** Whether this step is currently active (writable signal, controlled by Stepper) */\r\n readonly isActive = signal(false);\r\n /** Internal writable signal tracking the validity of the stepControl */\r\n private readonly _isValid = signal(true); // Default to true if no control\r\n\r\n private _destroyRef = inject(DestroyRef); // Inject DestroyRef for automatic cleanup\r\n\r\n constructor() {\r\n effect(() => {\r\n const control = this.stepControl(); // Read the input signal\r\n\r\n if (control) {\r\n // Set initial validity based on the control's current state when the effect runs\r\n this._isValid.set(control.valid);\r\n\r\n // Subscribe to statusChanges and update the _isValid signal\r\n // Use takeUntilDestroyed for automatic cleanup when the component is destroyed\r\n control.statusChanges.pipe(\r\n startWith(control.status), // Emit initial status immediately to sync _isValid\r\n takeUntilDestroyed(this._destroyRef) // Automatically unsubscribe on component destroy\r\n ).subscribe(() => {\r\n // Update the internal validity signal whenever the control's status changes\r\n this._isValid.set(control.valid);\r\n });\r\n\r\n } else {\r\n // If no control is provided, consider the step inherently valid for completion\r\n this._isValid.set(true);\r\n }\r\n });\r\n }\r\n\r\n /** Computed signal indicating if the step is completed */\r\n readonly completed = computed(() => {\r\n // A step is completed if it doesn't have a stepControl or\r\n // if the internal _isValid signal (reflecting the control's validity) is true.\r\n return !this.stepControl() || this._isValid();\r\n });\r\n\r\n /**\r\n * Checks if the step is currently valid.\r\n * Considers the validity of the associated stepControl if provided.\r\n * @returns boolean True if the step is valid, false otherwise.\r\n */\r\n public isValid(): boolean {\r\n return this._isValid(); // Directly return the tracked validity state\r\n }\r\n\r\n /** Resets the step's interacted state */\r\n reset(): void {\r\n this.interacted.set(false);\r\n }\r\n\r\n /** Sets the active state of the step */\r\n setActive(active: boolean): void {\r\n this.isActive.set(active);\r\n }\r\n\r\n /** Sets the interacted state of the step */\r\n setInteracted(interacted: boolean): void {\r\n this.interacted.set(interacted);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n effect,\r\n computed,\r\n input,\r\n model,\r\n contentChildren,\r\n} from '@angular/core';\r\nimport { StepComponent } from './step.component';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\n@Component({\r\n selector: 'emr-stepper',\r\n exportAs: 'emrStepper',\r\n standalone: true,\r\n template: `<ng-content select=\"emr-step\"/>`,\r\n styles: [`\r\n :host {\r\n display: block;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n 'class': 'emr-stepper',\r\n },\r\n})\r\nexport class StepperComponent {\r\n /** Whether the stepper should operate in linear mode. */\r\n readonly linear = input(false, {\r\n transform: coerceBooleanProperty\r\n });\r\n /** The index of the active step (two-way bound). */\r\n readonly selectedIndex = model(0);\r\n\r\n /** Collection of child StepComponent instances. */\r\n readonly steps = contentChildren(StepComponent);\r\n\r\n /** Computed signal for the total number of steps. */\r\n readonly stepsCount = computed(() => {\r\n return this.steps()?.length ?? 0;\r\n });\r\n\r\n /** The currently selected StepComponent instance. */\r\n readonly selected = computed(() => {\r\n const index = this.selectedIndex();\r\n const stepList = this.steps();\r\n // Use the stepsCount() computed signal for checking length\r\n return stepList && index >= 0 && index < this.stepsCount() ? stepList[index] : undefined;\r\n });\r\n\r\n /** Checks if the user can navigate to the next step. */\r\n readonly canMoveNext = computed(() => {\r\n const index = this.selectedIndex();\r\n // Use stepsCount() signal\r\n const totalSteps = this.stepsCount();\r\n const currentSelected = this.selected();\r\n const isLinear = this.linear();\r\n\r\n // Cannot move next if there are no steps or already on the last step\r\n if (totalSteps === 0 || index >= totalSteps - 1) {\r\n return false;\r\n }\r\n if (!isLinear || !currentSelected) {\r\n return true;\r\n }\r\n return currentSelected.completed() || currentSelected.optional();\r\n });\r\n\r\n /** Computed signal indicating if the current step is the first step. */\r\n readonly isFirstStep = computed(() => {\r\n const index = this.selectedIndex();\r\n // Use stepsCount() signal\r\n return index === 0 && this.stepsCount() > 0;\r\n });\r\n\r\n /** Computed signal indicating if the current step is the last step. */\r\n readonly isLastStep = computed(() => {\r\n const index = this.selectedIndex();\r\n // Use stepsCount() signal\r\n const totalSteps = this.stepsCount();\r\n return totalSteps > 0 && index === totalSteps - 1;\r\n });\r\n\r\n /** Computed signal calculating the progress percentage. */\r\n readonly progressPercent = computed(() => {\r\n const totalSteps = this.stepsCount();\r\n const index = this.selectedIndex();\r\n\r\n if (totalSteps === 0) {\r\n return 0;\r\n }\r\n\r\n const progress = (100 / totalSteps) * (index + 1);\r\n return Math.max(0, Math.min(100, progress));\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const currentSteps = this.steps();\r\n const currentIndex = this.selectedIndex();\r\n currentSteps.forEach((step, index) => step.setActive(index === currentIndex));\r\n });\r\n\r\n effect((onCleanup) => { // Mark as interacted\r\n const currentSelected = this.selected();\r\n if (currentSelected && !currentSelected.interacted()) {\r\n currentSelected.setInteracted(true);\r\n }\r\n });\r\n\r\n effect(() => { // Validate index\r\n const totalSteps = this.stepsCount();\r\n const currentIndex = this.selectedIndex();\r\n\r\n if (totalSteps > 0) {\r\n const newIndex = Math.max(0, Math.min(currentIndex, totalSteps - 1));\r\n if (newIndex !== currentIndex) this.selectedIndex.set(newIndex);\r\n } else if (currentIndex !== 0) {\r\n this.selectedIndex.set(0);\r\n }\r\n });\r\n }\r\n\r\n /** Navigates to the next step if possible. */\r\n next(): void {\r\n if (this.canMoveNext()) {\r\n this.selectedIndex.update(i => i + 1);\r\n }\r\n }\r\n\r\n /** Navigates to the previous step if possible. */\r\n previous(): void {\r\n // Use renamed computed signal for check\r\n if (!this.isFirstStep()) {\r\n this.selectedIndex.update(i => i - 1);\r\n }\r\n }\r\n\r\n /** Resets the stepper to the first step. */\r\n reset(): void {\r\n this.steps().forEach(step => step.reset());\r\n this.selectedIndex.set(0);\r\n }\r\n}\r\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-stepper.mjs","sources":["../../../projects/components/stepper/src/step.component.ts","../../../projects/components/stepper/src/stepper.component.ts","../../../projects/components/stepper/elementar-rt-components-stepper.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n input,\n signal,\n computed,\n effect,\n inject,\n DestroyRef\n} from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { startWith } from 'rxjs/operators';\n\n@Component({\n selector: 'emr-step',\n exportAs: 'emrStep',\n template: `<ng-content/>`,\n styles: [`\n :host {\n display: block;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-step',\n '[style.display]': 'isActive() ? \"block\" : \"none\"',\n }\n})\nexport class StepComponent {\n /** Form control associated with this step */\n stepControl = input<AbstractControl | undefined>(undefined);\n /** Whether the step is optional */\n optional = input(false);\n\n /** Whether the user has interacted with this step (writable signal) */\n readonly interacted = signal(false);\n /** Whether this step is currently active (writable signal, controlled by Stepper) */\n readonly isActive = signal(false);\n /** Internal writable signal tracking the validity of the stepControl */\n private readonly _isValid = signal(true); // Default to true if no control\n\n private _destroyRef = inject(DestroyRef); // Inject DestroyRef for automatic cleanup\n\n constructor() {\n effect(() => {\n const control = this.stepControl(); // Read the input signal\n\n if (control) {\n // Set initial validity based on the control's current state when the effect runs\n this._isValid.set(control.valid);\n\n // Subscribe to statusChanges and update the _isValid signal\n // Use takeUntilDestroyed for automatic cleanup when the component is destroyed\n control.statusChanges.pipe(\n startWith(control.status), // Emit initial status immediately to sync _isValid\n takeUntilDestroyed(this._destroyRef) // Automatically unsubscribe on component destroy\n ).subscribe(() => {\n // Update the internal validity signal whenever the control's status changes\n this._isValid.set(control.valid);\n });\n\n } else {\n // If no control is provided, consider the step inherently valid for completion\n this._isValid.set(true);\n }\n });\n }\n\n /** Computed signal indicating if the step is completed */\n readonly completed = computed(() => {\n // A step is completed if it doesn't have a stepControl or\n // if the internal _isValid signal (reflecting the control's validity) is true.\n return !this.stepControl() || this._isValid();\n });\n\n /**\n * Checks if the step is currently valid.\n * Considers the validity of the associated stepControl if provided.\n * @returns boolean True if the step is valid, false otherwise.\n */\n public isValid(): boolean {\n return this._isValid(); // Directly return the tracked validity state\n }\n\n /** Resets the step's interacted state */\n reset(): void {\n this.interacted.set(false);\n }\n\n /** Sets the active state of the step */\n setActive(active: boolean): void {\n this.isActive.set(active);\n }\n\n /** Sets the interacted state of the step */\n setInteracted(interacted: boolean): void {\n this.interacted.set(interacted);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n effect,\n computed,\n input,\n model,\n contentChildren,\n} from '@angular/core';\nimport { StepComponent } from './step.component';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'emr-stepper',\n exportAs: 'emrStepper',\n standalone: true,\n template: `<ng-content select=\"emr-step\"/>`,\n styles: [`\n :host {\n display: block;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-stepper',\n },\n})\nexport class StepperComponent {\n /** Whether the stepper should operate in linear mode. */\n readonly linear = input(false, {\n transform: coerceBooleanProperty\n });\n /** The index of the active step (two-way bound). */\n readonly selectedIndex = model(0);\n\n /** Collection of child StepComponent instances. */\n readonly steps = contentChildren(StepComponent);\n\n /** Computed signal for the total number of steps. */\n readonly stepsCount = computed(() => {\n return this.steps()?.length ?? 0;\n });\n\n /** The currently selected StepComponent instance. */\n readonly selected = computed(() => {\n const index = this.selectedIndex();\n const stepList = this.steps();\n // Use the stepsCount() computed signal for checking length\n return stepList && index >= 0 && index < this.stepsCount() ? stepList[index] : undefined;\n });\n\n /** Checks if the user can navigate to the next step. */\n readonly canMoveNext = computed(() => {\n const index = this.selectedIndex();\n // Use stepsCount() signal\n const totalSteps = this.stepsCount();\n const currentSelected = this.selected();\n const isLinear = this.linear();\n\n // Cannot move next if there are no steps or already on the last step\n if (totalSteps === 0 || index >= totalSteps - 1) {\n return false;\n }\n if (!isLinear || !currentSelected) {\n return true;\n }\n return currentSelected.completed() || currentSelected.optional();\n });\n\n /** Computed signal indicating if the current step is the first step. */\n readonly isFirstStep = computed(() => {\n const index = this.selectedIndex();\n // Use stepsCount() signal\n return index === 0 && this.stepsCount() > 0;\n });\n\n /** Computed signal indicating if the current step is the last step. */\n readonly isLastStep = computed(() => {\n const index = this.selectedIndex();\n // Use stepsCount() signal\n const totalSteps = this.stepsCount();\n return totalSteps > 0 && index === totalSteps - 1;\n });\n\n /** Computed signal calculating the progress percentage. */\n readonly progressPercent = computed(() => {\n const totalSteps = this.stepsCount();\n const index = this.selectedIndex();\n\n if (totalSteps === 0) {\n return 0;\n }\n\n const progress = (100 / totalSteps) * (index + 1);\n return Math.max(0, Math.min(100, progress));\n });\n\n constructor() {\n effect(() => {\n const currentSteps = this.steps();\n const currentIndex = this.selectedIndex();\n currentSteps.forEach((step, index) => step.setActive(index === currentIndex));\n });\n\n effect((onCleanup) => { // Mark as interacted\n const currentSelected = this.selected();\n if (currentSelected && !currentSelected.interacted()) {\n currentSelected.setInteracted(true);\n }\n });\n\n effect(() => { // Validate index\n const totalSteps = this.stepsCount();\n const currentIndex = this.selectedIndex();\n\n if (totalSteps > 0) {\n const newIndex = Math.max(0, Math.min(currentIndex, totalSteps - 1));\n if (newIndex !== currentIndex) this.selectedIndex.set(newIndex);\n } else if (currentIndex !== 0) {\n this.selectedIndex.set(0);\n }\n });\n }\n\n /** Navigates to the next step if possible. */\n next(): void {\n if (this.canMoveNext()) {\n this.selectedIndex.update(i => i + 1);\n }\n }\n\n /** Navigates to the previous step if possible. */\n previous(): void {\n // Use renamed computed signal for check\n if (!this.isFirstStep()) {\n this.selectedIndex.update(i => i - 1);\n }\n }\n\n /** Resets the stepper to the first step. */\n reset(): void {\n this.steps().forEach(step => step.reset());\n this.selectedIndex.set(0);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,25 +5,25 @@ import { MatRipple } from '@angular/material/core';
5
5
  import { MatDivider } from '@angular/material/divider';
6
6
 
7
7
  class SuggestionsComponent {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: SuggestionsComponent, isStandalone: true, selector: "emr-suggestions", host: { classAttribute: "emr-suggestions" }, exportAs: ["emrSuggestions"], ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{--emr-suggestions-bg: var(--color-surface-container-lowest);--emr-suggestion-block-heading-color: var(--color-on-surface);--emr-suggestion-block-font-size: var(--text-xs);--emr-suggestion-block-font-weight: 600;--emr-suggestion-block-content-padding: calc(var(--spacing) * 2) 0;--emr-suggestion-height: calc(var(--spacing) * 11);--emr-suggestion-padding: 0 calc(var(--spacing) * 2);--emr-suggestion-hover-bg: var(--color-surface-container-low);--emr-suggestion-border-radius: calc(infinity * 1px);display:block;overflow-y:auto;background-color:var(--emr-suggestions-bg)}:host-context(html.dark){--emr-suggestions-bg: var(--color-surface-container-high);--emr-suggestion-hover-bg: var(--color-surface-bright)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SuggestionsComponent, isStandalone: true, selector: "emr-suggestions", host: { classAttribute: "emr-suggestions" }, exportAs: ["emrSuggestions"], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{--emr-suggestions-bg: var(--color-surface-container-lowest);--emr-suggestion-block-heading-color: var(--color-on-surface);--emr-suggestion-block-font-size: var(--text-xs);--emr-suggestion-block-font-weight: 600;--emr-suggestion-block-content-padding: calc(var(--spacing) * 2) 0;--emr-suggestion-height: calc(var(--spacing) * 11);--emr-suggestion-padding: 0 calc(var(--spacing) * 2);--emr-suggestion-hover-bg: var(--color-surface-container-low);--emr-suggestion-border-radius: calc(infinity * 1px);display:block;overflow-y:auto;background-color:var(--emr-suggestions-bg)}:host-context(html.dark){--emr-suggestions-bg: var(--color-surface-container-high);--emr-suggestion-hover-bg: var(--color-surface-bright)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionsComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionsComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'emr-suggestions', exportAs: 'emrSuggestions', imports: [], host: {
14
14
  'class': 'emr-suggestions'
15
- }, template: "<ng-content></ng-content>\r\n", styles: [":host{--emr-suggestions-bg: var(--color-surface-container-lowest);--emr-suggestion-block-heading-color: var(--color-on-surface);--emr-suggestion-block-font-size: var(--text-xs);--emr-suggestion-block-font-weight: 600;--emr-suggestion-block-content-padding: calc(var(--spacing) * 2) 0;--emr-suggestion-height: calc(var(--spacing) * 11);--emr-suggestion-padding: 0 calc(var(--spacing) * 2);--emr-suggestion-hover-bg: var(--color-surface-container-low);--emr-suggestion-border-radius: calc(infinity * 1px);display:block;overflow-y:auto;background-color:var(--emr-suggestions-bg)}:host-context(html.dark){--emr-suggestions-bg: var(--color-surface-container-high);--emr-suggestion-hover-bg: var(--color-surface-bright)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
15
+ }, template: "<ng-content></ng-content>\n", styles: [":host{--emr-suggestions-bg: var(--color-surface-container-lowest);--emr-suggestion-block-heading-color: var(--color-on-surface);--emr-suggestion-block-font-size: var(--text-xs);--emr-suggestion-block-font-weight: 600;--emr-suggestion-block-content-padding: calc(var(--spacing) * 2) 0;--emr-suggestion-height: calc(var(--spacing) * 11);--emr-suggestion-padding: 0 calc(var(--spacing) * 2);--emr-suggestion-hover-bg: var(--color-surface-container-low);--emr-suggestion-border-radius: calc(infinity * 1px);display:block;overflow-y:auto;background-color:var(--emr-suggestions-bg)}:host-context(html.dark){--emr-suggestions-bg: var(--color-surface-container-high);--emr-suggestion-hover-bg: var(--color-surface-bright)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
16
16
  }] });
17
17
 
18
18
  class SuggestionComponent {
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: SuggestionComponent, isStandalone: true, selector: "emr-suggestion,[emr-suggestion]", exportAs: ["emrSuggestion"], hostDirectives: [{ directive: i1.MatRipple }], ngImport: i0, template: "<div class=\"figure\">\r\n <div class=\"icon\">\r\n <ng-content select=\"[emrSuggestionIcon]\"/>\r\n </div>\r\n <div class=\"thumb\">\r\n <ng-content select=\"[emrSuggestionThumb]\"/>\r\n </div>\r\n</div>\r\n<div class=\"content\">\r\n <ng-content/>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center;width:100%;gap:calc(var(--spacing) * 2.5);height:var(--emr-suggestion-height);padding:var(--emr-suggestion-padding);border-radius:var(--emr-suggestion-border-radius)}:host:hover{background:var(--emr-suggestion-hover-bg);cursor:pointer}:host .figure{line-height:0}:host .icon,:host .thumb{line-height:0;display:inline-flex;align-items:center;justify-content:center;--emr-avatar-size: calc(var(--spacing) * 8);border-radius:calc(infinity * 1px)}:host .icon:empty,:host .thumb:empty{display:none}:host .content{display:flex;align-items:center;gap:calc(var(--spacing) * 2.5);font-size:.875rem}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SuggestionComponent, isStandalone: true, selector: "emr-suggestion,[emr-suggestion]", exportAs: ["emrSuggestion"], hostDirectives: [{ directive: i1.MatRipple }], ngImport: i0, template: "<div class=\"figure\">\n <div class=\"icon\">\n <ng-content select=\"[emrSuggestionIcon]\"/>\n </div>\n <div class=\"thumb\">\n <ng-content select=\"[emrSuggestionThumb]\"/>\n </div>\n</div>\n<div class=\"content\">\n <ng-content/>\n</div>\n", styles: [":host{display:flex;align-items:center;width:100%;gap:calc(var(--spacing) * 2.5);height:var(--emr-suggestion-height);padding:var(--emr-suggestion-padding);border-radius:var(--emr-suggestion-border-radius)}:host:hover{background:var(--emr-suggestion-hover-bg);cursor:pointer}:host .figure{line-height:0}:host .icon,:host .thumb{line-height:0;display:inline-flex;align-items:center;justify-content:center;--emr-avatar-size: calc(var(--spacing) * 8);border-radius:calc(infinity * 1px)}:host .icon:empty,:host .thumb:empty{display:none}:host .content{display:flex;align-items:center;gap:calc(var(--spacing) * 2.5);font-size:.875rem}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'emr-suggestion,[emr-suggestion]', exportAs: 'emrSuggestion', imports: [], hostDirectives: [
25
25
  MatRipple
26
- ], template: "<div class=\"figure\">\r\n <div class=\"icon\">\r\n <ng-content select=\"[emrSuggestionIcon]\"/>\r\n </div>\r\n <div class=\"thumb\">\r\n <ng-content select=\"[emrSuggestionThumb]\"/>\r\n </div>\r\n</div>\r\n<div class=\"content\">\r\n <ng-content/>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center;width:100%;gap:calc(var(--spacing) * 2.5);height:var(--emr-suggestion-height);padding:var(--emr-suggestion-padding);border-radius:var(--emr-suggestion-border-radius)}:host:hover{background:var(--emr-suggestion-hover-bg);cursor:pointer}:host .figure{line-height:0}:host .icon,:host .thumb{line-height:0;display:inline-flex;align-items:center;justify-content:center;--emr-avatar-size: calc(var(--spacing) * 8);border-radius:calc(infinity * 1px)}:host .icon:empty,:host .thumb:empty{display:none}:host .content{display:flex;align-items:center;gap:calc(var(--spacing) * 2.5);font-size:.875rem}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
26
+ ], template: "<div class=\"figure\">\n <div class=\"icon\">\n <ng-content select=\"[emrSuggestionIcon]\"/>\n </div>\n <div class=\"thumb\">\n <ng-content select=\"[emrSuggestionThumb]\"/>\n </div>\n</div>\n<div class=\"content\">\n <ng-content/>\n</div>\n", styles: [":host{display:flex;align-items:center;width:100%;gap:calc(var(--spacing) * 2.5);height:var(--emr-suggestion-height);padding:var(--emr-suggestion-padding);border-radius:var(--emr-suggestion-border-radius)}:host:hover{background:var(--emr-suggestion-hover-bg);cursor:pointer}:host .figure{line-height:0}:host .icon,:host .thumb{line-height:0;display:inline-flex;align-items:center;justify-content:center;--emr-avatar-size: calc(var(--spacing) * 8);border-radius:calc(infinity * 1px)}:host .icon:empty,:host .thumb:empty{display:none}:host .content{display:flex;align-items:center;gap:calc(var(--spacing) * 2.5);font-size:.875rem}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
27
27
  }] });
28
28
 
29
29
  class SuggestionBlockComponent {
@@ -34,21 +34,21 @@ class SuggestionBlockComponent {
34
34
  inline = input(false, ...(ngDevMode ? [{ debugName: "inline", transform: booleanAttribute }] : [{
35
35
  transform: booleanAttribute,
36
36
  }]));
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: SuggestionBlockComponent, isStandalone: true, selector: "emr-suggestion-block", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, showDivider: { classPropertyName: "showDivider", publicName: "showDivider", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["emrSuggestionBlock"], ngImport: i0, template: "@if (showDivider()) {\r\n <div class=\"my-4 px-2\">\r\n <mat-divider/>\r\n </div>\r\n}\r\n\r\n@if (heading()) {\r\n <div class=\"heading\">{{ heading() }}</div>\r\n}\r\n\r\n<div class=\"content\" [class.is-inline]=\"inline()\">\r\n <ng-content/>\r\n</div>\r\n", styles: [":host{display:block}:host .heading{color:var(--emr-suggestion-block-heading-color);font-size:var(--emr-suggestion-block-font-size);font-weight:var(--emr-suggestion-block-font-weight);padding:var(--emr-suggestion-padding)}:host .content{padding:var(--emr-suggestion-block-content-padding)}:host .content.is-inline{display:flex;gap:calc(var(--spacing) * 3)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: SuggestionBlockComponent, isStandalone: true, selector: "emr-suggestion-block", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, showDivider: { classPropertyName: "showDivider", publicName: "showDivider", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["emrSuggestionBlock"], ngImport: i0, template: "@if (showDivider()) {\n <div class=\"my-4 px-2\">\n <mat-divider/>\n </div>\n}\n\n@if (heading()) {\n <div class=\"heading\">{{ heading() }}</div>\n}\n\n<div class=\"content\" [class.is-inline]=\"inline()\">\n <ng-content/>\n</div>\n", styles: [":host{display:block}:host .heading{color:var(--emr-suggestion-block-heading-color);font-size:var(--emr-suggestion-block-font-size);font-weight:var(--emr-suggestion-block-font-weight);padding:var(--emr-suggestion-padding)}:host .content{padding:var(--emr-suggestion-block-content-padding)}:host .content.is-inline{display:flex;gap:calc(var(--spacing) * 3)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionBlockComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionBlockComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'emr-suggestion-block', exportAs: 'emrSuggestionBlock', imports: [
43
43
  MatDivider
44
- ], template: "@if (showDivider()) {\r\n <div class=\"my-4 px-2\">\r\n <mat-divider/>\r\n </div>\r\n}\r\n\r\n@if (heading()) {\r\n <div class=\"heading\">{{ heading() }}</div>\r\n}\r\n\r\n<div class=\"content\" [class.is-inline]=\"inline()\">\r\n <ng-content/>\r\n</div>\r\n", styles: [":host{display:block}:host .heading{color:var(--emr-suggestion-block-heading-color);font-size:var(--emr-suggestion-block-font-size);font-weight:var(--emr-suggestion-block-font-weight);padding:var(--emr-suggestion-padding)}:host .content{padding:var(--emr-suggestion-block-content-padding)}:host .content.is-inline{display:flex;gap:calc(var(--spacing) * 3)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
44
+ ], template: "@if (showDivider()) {\n <div class=\"my-4 px-2\">\n <mat-divider/>\n </div>\n}\n\n@if (heading()) {\n <div class=\"heading\">{{ heading() }}</div>\n}\n\n<div class=\"content\" [class.is-inline]=\"inline()\">\n <ng-content/>\n</div>\n", styles: [":host{display:block}:host .heading{color:var(--emr-suggestion-block-heading-color);font-size:var(--emr-suggestion-block-font-size);font-weight:var(--emr-suggestion-block-font-weight);padding:var(--emr-suggestion-padding)}:host .content{padding:var(--emr-suggestion-block-content-padding)}:host .content.is-inline{display:flex;gap:calc(var(--spacing) * 3)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
45
45
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], showDivider: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDivider", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }] } });
46
46
 
47
47
  class SuggestionIconDirective {
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
49
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: SuggestionIconDirective, isStandalone: true, selector: "[emrSuggestionIcon]", ngImport: i0 });
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
49
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: SuggestionIconDirective, isStandalone: true, selector: "[emrSuggestionIcon]", ngImport: i0 });
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionIconDirective, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionIconDirective, decorators: [{
52
52
  type: Directive,
53
53
  args: [{
54
54
  selector: '[emrSuggestionIcon]',
@@ -57,10 +57,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImpo
57
57
  }] });
58
58
 
59
59
  class SuggestionThumbDirective {
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.10", type: SuggestionThumbDirective, isStandalone: true, selector: "[emrSuggestionThumb]", ngImport: i0 });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: SuggestionThumbDirective, isStandalone: true, selector: "[emrSuggestionThumb]", ngImport: i0 });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SuggestionThumbDirective, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuggestionThumbDirective, decorators: [{
64
64
  type: Directive,
65
65
  args: [{
66
66
  selector: '[emrSuggestionThumb]',
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-suggestions.mjs","sources":["../../../projects/components/suggestions/src/suggestions/suggestions.component.ts","../../../projects/components/suggestions/src/suggestions/suggestions.component.html","../../../projects/components/suggestions/src/suggestion/suggestion.component.ts","../../../projects/components/suggestions/src/suggestion/suggestion.component.html","../../../projects/components/suggestions/src/suggestion-block/suggestion-block.component.ts","../../../projects/components/suggestions/src/suggestion-block/suggestion-block.component.html","../../../projects/components/suggestions/src/suggestion-icon.directive.ts","../../../projects/components/suggestions/src/suggestion-thumb.directive.ts","../../../projects/components/suggestions/elementar-rt-components-suggestions.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-suggestions',\r\n exportAs: 'emrSuggestions',\r\n imports: [],\r\n templateUrl: './suggestions.component.html',\r\n styleUrl: './suggestions.component.scss',\r\n host: {\r\n 'class': 'emr-suggestions'\r\n }\r\n})\r\nexport class SuggestionsComponent {\r\n\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component } from '@angular/core';\r\nimport { MatRipple } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'emr-suggestion,[emr-suggestion]',\r\n exportAs: 'emrSuggestion',\r\n imports: [],\r\n templateUrl: './suggestion.component.html',\r\n styleUrl: './suggestion.component.scss',\r\n hostDirectives: [\r\n MatRipple\r\n ]\r\n})\r\nexport class SuggestionComponent {\r\n\r\n}\r\n","<div class=\"figure\">\r\n <div class=\"icon\">\r\n <ng-content select=\"[emrSuggestionIcon]\"/>\r\n </div>\r\n <div class=\"thumb\">\r\n <ng-content select=\"[emrSuggestionThumb]\"/>\r\n </div>\r\n</div>\r\n<div class=\"content\">\r\n <ng-content/>\r\n</div>\r\n","import { booleanAttribute, Component, input, Input } from '@angular/core';\r\nimport { MatDivider } from '@angular/material/divider';\r\n\r\n@Component({\r\n selector: 'emr-suggestion-block',\r\n exportAs: 'emrSuggestionBlock',\r\n imports: [\r\n MatDivider\r\n ],\r\n templateUrl: './suggestion-block.component.html',\r\n styleUrl: './suggestion-block.component.scss'\r\n})\r\nexport class SuggestionBlockComponent {\r\n heading = input();\r\n showDivider = input(false, {\r\n transform: booleanAttribute,\r\n });\r\n inline = input(false, {\r\n transform: booleanAttribute,\r\n });\r\n}\r\n","@if (showDivider()) {\r\n <div class=\"my-4 px-2\">\r\n <mat-divider/>\r\n </div>\r\n}\r\n\r\n@if (heading()) {\r\n <div class=\"heading\">{{ heading() }}</div>\r\n}\r\n\r\n<div class=\"content\" [class.is-inline]=\"inline()\">\r\n <ng-content/>\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[emrSuggestionIcon]',\r\n standalone: true\r\n})\r\nexport class SuggestionIconDirective {\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[emrSuggestionThumb]',\r\n standalone: true\r\n})\r\nexport class SuggestionThumbDirective {\r\n}\r\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-suggestions.mjs","sources":["../../../projects/components/suggestions/src/suggestions/suggestions.component.ts","../../../projects/components/suggestions/src/suggestions/suggestions.component.html","../../../projects/components/suggestions/src/suggestion/suggestion.component.ts","../../../projects/components/suggestions/src/suggestion/suggestion.component.html","../../../projects/components/suggestions/src/suggestion-block/suggestion-block.component.ts","../../../projects/components/suggestions/src/suggestion-block/suggestion-block.component.html","../../../projects/components/suggestions/src/suggestion-icon.directive.ts","../../../projects/components/suggestions/src/suggestion-thumb.directive.ts","../../../projects/components/suggestions/elementar-rt-components-suggestions.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-suggestions',\n exportAs: 'emrSuggestions',\n imports: [],\n templateUrl: './suggestions.component.html',\n styleUrl: './suggestions.component.scss',\n host: {\n 'class': 'emr-suggestions'\n }\n})\nexport class SuggestionsComponent {\n\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\nimport { MatRipple } from '@angular/material/core';\n\n@Component({\n selector: 'emr-suggestion,[emr-suggestion]',\n exportAs: 'emrSuggestion',\n imports: [],\n templateUrl: './suggestion.component.html',\n styleUrl: './suggestion.component.scss',\n hostDirectives: [\n MatRipple\n ]\n})\nexport class SuggestionComponent {\n\n}\n","<div class=\"figure\">\n <div class=\"icon\">\n <ng-content select=\"[emrSuggestionIcon]\"/>\n </div>\n <div class=\"thumb\">\n <ng-content select=\"[emrSuggestionThumb]\"/>\n </div>\n</div>\n<div class=\"content\">\n <ng-content/>\n</div>\n","import { booleanAttribute, Component, input, Input } from '@angular/core';\nimport { MatDivider } from '@angular/material/divider';\n\n@Component({\n selector: 'emr-suggestion-block',\n exportAs: 'emrSuggestionBlock',\n imports: [\n MatDivider\n ],\n templateUrl: './suggestion-block.component.html',\n styleUrl: './suggestion-block.component.scss'\n})\nexport class SuggestionBlockComponent {\n heading = input();\n showDivider = input(false, {\n transform: booleanAttribute,\n });\n inline = input(false, {\n transform: booleanAttribute,\n });\n}\n","@if (showDivider()) {\n <div class=\"my-4 px-2\">\n <mat-divider/>\n </div>\n}\n\n@if (heading()) {\n <div class=\"heading\">{{ heading() }}</div>\n}\n\n<div class=\"content\" [class.is-inline]=\"inline()\">\n <ng-content/>\n</div>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[emrSuggestionIcon]',\n standalone: true\n})\nexport class SuggestionIconDirective {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[emrSuggestionThumb]',\n standalone: true\n})\nexport class SuggestionThumbDirective {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}