@elementar-rt/components 0.6.55 → 0.6.57

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/color-scheme/index.d.ts +1 -1
  11. package/combobox/index.d.ts +38 -0
  12. package/content-editor/index.d.ts +18 -0
  13. package/dashboard/index.d.ts +1 -1
  14. package/data-grid/index.d.ts +64 -0
  15. package/datepicker/index.d.ts +32 -0
  16. package/dialog/index.d.ts +48 -0
  17. package/digit-roller/index.d.ts +18 -0
  18. package/empty-state/index.d.ts +17 -0
  19. package/expansion-panel/index.d.ts +12 -0
  20. package/fesm2022/elementar-rt-components-action-required.mjs +4 -4
  21. package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
  22. package/fesm2022/elementar-rt-components-alert.mjs +17 -17
  23. package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
  24. package/fesm2022/elementar-rt-components-announcement.mjs +8 -8
  25. package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
  26. package/fesm2022/elementar-rt-components-avatar.mjs +22 -22
  27. package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
  28. package/fesm2022/elementar-rt-components-badge.mjs +38 -0
  29. package/fesm2022/elementar-rt-components-badge.mjs.map +1 -0
  30. package/fesm2022/elementar-rt-components-block-loader.mjs +7 -7
  31. package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
  32. package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
  33. package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
  34. package/fesm2022/elementar-rt-components-bottom-sheet.mjs +71 -0
  35. package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -0
  36. package/fesm2022/elementar-rt-components-brand-colors.mjs +5 -5
  37. package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
  38. package/fesm2022/elementar-rt-components-breadcrumbs.mjs +41 -41
  39. package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
  40. package/fesm2022/elementar-rt-components-button-toggle.mjs +89 -0
  41. package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -0
  42. package/fesm2022/elementar-rt-components-calendar.mjs +130 -0
  43. package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -0
  44. package/fesm2022/elementar-rt-components-card-overlay.mjs +7 -7
  45. package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
  46. package/fesm2022/elementar-rt-components-card.mjs +60 -0
  47. package/fesm2022/elementar-rt-components-card.mjs.map +1 -0
  48. package/fesm2022/elementar-rt-components-carousel.mjs +22 -22
  49. package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
  50. package/fesm2022/elementar-rt-components-chips.mjs +54 -0
  51. package/fesm2022/elementar-rt-components-chips.mjs.map +1 -0
  52. package/fesm2022/elementar-rt-components-clipboard-copy.mjs +115 -0
  53. package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -0
  54. package/fesm2022/elementar-rt-components-code-highlighter.mjs +19 -6
  55. package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
  56. package/fesm2022/elementar-rt-components-color-picker.mjs +27 -27
  57. package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
  58. package/fesm2022/elementar-rt-components-color-scheme.mjs +11 -11
  59. package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
  60. package/fesm2022/elementar-rt-components-combobox.mjs +70 -0
  61. package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -0
  62. package/fesm2022/elementar-rt-components-command-bar.mjs +12 -12
  63. package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
  64. package/fesm2022/elementar-rt-components-comment-editor.mjs +82 -82
  65. package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
  66. package/fesm2022/elementar-rt-components-comparison-slider.mjs +10 -10
  67. package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
  68. package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
  69. package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
  70. package/fesm2022/elementar-rt-components-content-editor.mjs +121 -0
  71. package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -0
  72. package/fesm2022/elementar-rt-components-content-fade.mjs +4 -4
  73. package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
  74. package/fesm2022/elementar-rt-components-cookie-popup.mjs +13 -13
  75. package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
  76. package/fesm2022/elementar-rt-components-core.mjs +64 -64
  77. package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
  78. package/fesm2022/elementar-rt-components-country-select.mjs +5 -5
  79. package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
  80. package/fesm2022/elementar-rt-components-crop.mjs +4 -4
  81. package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
  82. package/fesm2022/elementar-rt-components-currency-select.mjs +5 -5
  83. package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
  84. package/fesm2022/elementar-rt-components-dashboard.mjs +9 -9
  85. package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
  86. package/fesm2022/elementar-rt-components-data-grid.mjs +120 -0
  87. package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -0
  88. package/fesm2022/elementar-rt-components-data-view.mjs +17 -17
  89. package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
  90. package/fesm2022/elementar-rt-components-date-format-select.mjs +5 -5
  91. package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
  92. package/fesm2022/elementar-rt-components-datepicker.mjs +81 -0
  93. package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -0
  94. package/fesm2022/elementar-rt-components-dialog.mjs +97 -0
  95. package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -0
  96. package/fesm2022/elementar-rt-components-digit-roller.mjs +41 -0
  97. package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -0
  98. package/fesm2022/elementar-rt-components-divider.mjs +8 -8
  99. package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
  100. package/fesm2022/elementar-rt-components-drawer.mjs +8 -8
  101. package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
  102. package/fesm2022/elementar-rt-components-emoji-picker.mjs +7 -7
  103. package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
  104. package/fesm2022/elementar-rt-components-empty-state.mjs +35 -0
  105. package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -0
  106. package/fesm2022/elementar-rt-components-expand.mjs +4 -4
  107. package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
  108. package/fesm2022/elementar-rt-components-expansion-panel.mjs +32 -0
  109. package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -0
  110. package/fesm2022/elementar-rt-components-filter-builder.mjs +13 -13
  111. package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
  112. package/fesm2022/elementar-rt-components-filter-select.mjs +126 -0
  113. package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -0
  114. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs +123 -0
  115. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map +1 -0
  116. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs +22 -0
  117. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map +1 -0
  118. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs +40 -0
  119. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map +1 -0
  120. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs → elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs} +5 -5
  121. package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map +1 -0
  122. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs → elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs} +5 -5
  123. package/fesm2022/elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map +1 -0
  124. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs +33 -0
  125. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map +1 -0
  126. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs +38 -0
  127. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map +1 -0
  128. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs +39 -0
  129. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map +1 -0
  130. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs → elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs} +5 -5
  131. package/fesm2022/elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map +1 -0
  132. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs +37 -0
  133. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map +1 -0
  134. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs +35 -0
  135. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map +1 -0
  136. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs +22 -0
  137. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map +1 -0
  138. package/fesm2022/elementar-rt-components-form-renderer.mjs +29 -29
  139. package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
  140. package/fesm2022/elementar-rt-components-gauge.mjs +8 -8
  141. package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
  142. package/fesm2022/elementar-rt-components-grid.mjs +37 -0
  143. package/fesm2022/elementar-rt-components-grid.mjs.map +1 -0
  144. package/fesm2022/elementar-rt-components-guided-tour.mjs +161 -0
  145. package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -0
  146. package/fesm2022/elementar-rt-components-headless-stepper.mjs +72 -0
  147. package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -0
  148. package/fesm2022/elementar-rt-components-icon.mjs +4 -4
  149. package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
  150. package/fesm2022/elementar-rt-components-image-placeholder.mjs +30 -0
  151. package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -0
  152. package/fesm2022/elementar-rt-components-image-resizer.mjs +10 -10
  153. package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
  154. package/fesm2022/elementar-rt-components-image-viewer.mjs +19 -19
  155. package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
  156. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +97 -0
  157. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -0
  158. package/fesm2022/elementar-rt-components-incidents.mjs +49 -49
  159. package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
  160. package/fesm2022/elementar-rt-components-inline-text-edit.mjs +4 -4
  161. package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
  162. package/fesm2022/elementar-rt-components-input-mask.mjs +9 -9
  163. package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
  164. package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
  165. package/fesm2022/elementar-rt-components-kanban-board.mjs +7 -7
  166. package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
  167. package/fesm2022/elementar-rt-components-keyboard.mjs +63 -0
  168. package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -0
  169. package/fesm2022/elementar-rt-components-layout.mjs +32 -32
  170. package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
  171. package/fesm2022/elementar-rt-components-list.mjs +43 -0
  172. package/fesm2022/elementar-rt-components-list.mjs.map +1 -0
  173. package/fesm2022/elementar-rt-components-logo.mjs +12 -12
  174. package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
  175. package/fesm2022/elementar-rt-components-marquee.mjs +7 -7
  176. package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
  177. package/fesm2022/elementar-rt-components-menu.mjs +94 -0
  178. package/fesm2022/elementar-rt-components-menu.mjs.map +1 -0
  179. package/fesm2022/elementar-rt-components-micro-chart.mjs +24 -24
  180. package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
  181. package/fesm2022/elementar-rt-components-multi-select.mjs +66 -0
  182. package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -0
  183. package/fesm2022/elementar-rt-components-navigation.mjs +39 -39
  184. package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
  185. package/fesm2022/elementar-rt-components-notifications.mjs +40 -40
  186. package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
  187. package/fesm2022/elementar-rt-components-number-input.mjs +17 -17
  188. package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
  189. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +4 -4
  190. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
  191. package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
  192. package/fesm2022/elementar-rt-components-page-loading-bar.mjs +4 -4
  193. package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
  194. package/fesm2022/elementar-rt-components-paginator.mjs +50 -0
  195. package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -0
  196. package/fesm2022/elementar-rt-components-panel.mjs +24 -24
  197. package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
  198. package/fesm2022/elementar-rt-components-password-strength.mjs +13 -13
  199. package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
  200. package/fesm2022/elementar-rt-components-phone-input.mjs +11 -11
  201. package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
  202. package/fesm2022/elementar-rt-components-pin-input.mjs +8 -8
  203. package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
  204. package/fesm2022/elementar-rt-components-popover.mjs +10 -10
  205. package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
  206. package/fesm2022/elementar-rt-components-progress-bar.mjs +32 -0
  207. package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -0
  208. package/fesm2022/elementar-rt-components-progress-spinner.mjs +94 -0
  209. package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -0
  210. package/fesm2022/elementar-rt-components-radio-card.mjs +17 -17
  211. package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
  212. package/fesm2022/elementar-rt-components-rail-nav.mjs +12 -12
  213. package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
  214. package/fesm2022/elementar-rt-components-rating.mjs +84 -0
  215. package/fesm2022/elementar-rt-components-rating.mjs.map +1 -0
  216. package/fesm2022/elementar-rt-components-resizable-container.mjs +4 -4
  217. package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
  218. package/fesm2022/elementar-rt-components-screen-loader.mjs +4 -4
  219. package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
  220. package/fesm2022/elementar-rt-components-scroll-spy.mjs +16 -16
  221. package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
  222. package/fesm2022/elementar-rt-components-segmented.mjs +12 -12
  223. package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
  224. package/fesm2022/elementar-rt-components-side-panel.mjs +8 -8
  225. package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
  226. package/fesm2022/elementar-rt-components-sidebar.mjs +61 -61
  227. package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
  228. package/fesm2022/elementar-rt-components-sidenav.mjs +72 -0
  229. package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -0
  230. package/fesm2022/elementar-rt-components-signature-pad.mjs +4 -4
  231. package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
  232. package/fesm2022/elementar-rt-components-skeleton.mjs +16 -16
  233. package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
  234. package/fesm2022/elementar-rt-components-slider.mjs +64 -0
  235. package/fesm2022/elementar-rt-components-slider.mjs.map +1 -0
  236. package/fesm2022/elementar-rt-components-snackbar.mjs +81 -0
  237. package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -0
  238. package/fesm2022/elementar-rt-components-sort.mjs +69 -0
  239. package/fesm2022/elementar-rt-components-sort.mjs.map +1 -0
  240. package/fesm2022/elementar-rt-components-splash-screen.mjs +4 -4
  241. package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
  242. package/fesm2022/elementar-rt-components-split-pane.mjs +70 -0
  243. package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -0
  244. package/fesm2022/elementar-rt-components-stat-card.mjs +27 -0
  245. package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -0
  246. package/fesm2022/elementar-rt-components-step-tracker.mjs +30 -0
  247. package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -0
  248. package/fesm2022/elementar-rt-components-stepper.mjs +6 -6
  249. package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
  250. package/fesm2022/elementar-rt-components-suggestions.mjs +18 -18
  251. package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
  252. package/fesm2022/elementar-rt-components-tab-panel.mjs +48 -48
  253. package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
  254. package/fesm2022/elementar-rt-components-table.mjs +84 -0
  255. package/fesm2022/elementar-rt-components-table.mjs.map +1 -0
  256. package/fesm2022/elementar-rt-components-tabs.mjs +59 -0
  257. package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -0
  258. package/fesm2022/elementar-rt-components-tag.mjs +28 -0
  259. package/fesm2022/elementar-rt-components-tag.mjs.map +1 -0
  260. package/fesm2022/elementar-rt-components-text-editor.mjs +85 -85
  261. package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
  262. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +7 -7
  263. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
  264. package/fesm2022/elementar-rt-components-tiles.mjs +35 -0
  265. package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -0
  266. package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
  267. package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
  268. package/fesm2022/elementar-rt-components-timepicker.mjs +75 -0
  269. package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -0
  270. package/fesm2022/elementar-rt-components-timezone-select.mjs +8 -8
  271. package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
  272. package/fesm2022/elementar-rt-components-toast.mjs +98 -0
  273. package/fesm2022/elementar-rt-components-toast.mjs.map +1 -0
  274. package/fesm2022/elementar-rt-components-toolbar.mjs +24 -0
  275. package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -0
  276. package/fesm2022/elementar-rt-components-tooltip.mjs +119 -0
  277. package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -0
  278. package/fesm2022/elementar-rt-components-tree.mjs +77 -0
  279. package/fesm2022/elementar-rt-components-tree.mjs.map +1 -0
  280. package/fesm2022/elementar-rt-components-upload.mjs +57 -57
  281. package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
  282. package/fesm2022/elementar-rt-components-video-player.mjs +144 -0
  283. package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -0
  284. package/fesm2022/elementar-rt-components-video-viewer.mjs +98 -0
  285. package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -0
  286. package/fesm2022/elementar-rt-components.mjs.map +1 -1
  287. package/filter-select/index.d.ts +40 -0
  288. package/grid/index.d.ts +24 -0
  289. package/guided-tour/index.d.ts +45 -0
  290. package/headless-stepper/index.d.ts +30 -0
  291. package/image-placeholder/index.d.ts +18 -0
  292. package/image-zoom-viewer/index.d.ts +33 -0
  293. package/keyboard/index.d.ts +13 -0
  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 +245 -53
  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
@@ -3,49 +3,49 @@ import { input, Component } from '@angular/core';
3
3
 
4
4
  class SkeletonComponent {
5
5
  direction = input('row', ...(ngDevMode ? [{ debugName: "direction" }] : []));
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: SkeletonComponent, isStandalone: true, selector: "emr-skeleton", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-direction-row": "direction() === \"row\"", "class.is-direction-col": "direction() === \"col\"" }, classAttribute: "emr-skeleton" }, exportAs: ["emrSkeleton"], ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{--emr-skeleton-gap: calc(var(--spacing) * 4);--emr-skeleton-item-border-radius: 1rem;--emr-skeleton-from-bg: var(--color-neutral-200);--emr-skeleton-to-bg: var(--color-neutral-300);display:flex;flex-wrap:wrap;width:100%;gap:var(--emr-skeleton-gap)}:host.is-direction-col{flex-direction:column}:host.is-direction-row{flex-direction:row}:host-context(html.dark){--emr-skeleton-from-bg: var(--color-neutral-500);--emr-skeleton-to-bg: var(--color-neutral-600)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SkeletonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: SkeletonComponent, isStandalone: true, selector: "emr-skeleton", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-direction-row": "direction() === \"row\"", "class.is-direction-col": "direction() === \"col\"" }, classAttribute: "emr-skeleton" }, exportAs: ["emrSkeleton"], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{--emr-skeleton-gap: calc(var(--spacing) * 4);--emr-skeleton-item-border-radius: 1rem;--emr-skeleton-from-bg: var(--color-neutral-200);--emr-skeleton-to-bg: var(--color-neutral-300);display:flex;flex-wrap:wrap;width:100%;gap:var(--emr-skeleton-gap)}:host.is-direction-col{flex-direction:column}:host.is-direction-row{flex-direction:row}:host-context(html.dark){--emr-skeleton-from-bg: var(--color-neutral-500);--emr-skeleton-to-bg: var(--color-neutral-600)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SkeletonComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SkeletonComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'emr-skeleton', exportAs: 'emrSkeleton', host: {
12
12
  'class': 'emr-skeleton',
13
13
  '[class.is-direction-row]': 'direction() === "row"',
14
14
  '[class.is-direction-col]': 'direction() === "col"',
15
- }, template: "<ng-content></ng-content>\r\n", styles: [":host{--emr-skeleton-gap: calc(var(--spacing) * 4);--emr-skeleton-item-border-radius: 1rem;--emr-skeleton-from-bg: var(--color-neutral-200);--emr-skeleton-to-bg: var(--color-neutral-300);display:flex;flex-wrap:wrap;width:100%;gap:var(--emr-skeleton-gap)}:host.is-direction-col{flex-direction:column}:host.is-direction-row{flex-direction:row}:host-context(html.dark){--emr-skeleton-from-bg: var(--color-neutral-500);--emr-skeleton-to-bg: var(--color-neutral-600)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
15
+ }, template: "<ng-content></ng-content>\n", styles: [":host{--emr-skeleton-gap: calc(var(--spacing) * 4);--emr-skeleton-item-border-radius: 1rem;--emr-skeleton-from-bg: var(--color-neutral-200);--emr-skeleton-to-bg: var(--color-neutral-300);display:flex;flex-wrap:wrap;width:100%;gap:var(--emr-skeleton-gap)}:host.is-direction-col{flex-direction:column}:host.is-direction-row{flex-direction:row}:host-context(html.dark){--emr-skeleton-from-bg: var(--color-neutral-500);--emr-skeleton-to-bg: var(--color-neutral-600)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
16
16
  }], propDecorators: { direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }] } });
17
17
 
18
18
  class SkeletonCircleComponent {
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SkeletonCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: SkeletonCircleComponent, isStandalone: true, selector: "emr-skeleton-circle", host: { classAttribute: "emr-skeleton-item emr-skeleton-circle" }, exportAs: ["emrSkeletonCircle"], ngImport: i0, template: '', isInline: true, styles: [":host{--emr-skeleton-circle-size: calc(var(--spacing) * 14);animation:emr-skeleton-loading 1s linear infinite alternate;display:inline-flex;border-radius:calc(infinity * 1px);flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-circle-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-circle-size)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\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: SkeletonCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SkeletonCircleComponent, isStandalone: true, selector: "emr-skeleton-circle", host: { classAttribute: "emr-skeleton-item emr-skeleton-circle" }, exportAs: ["emrSkeletonCircle"], ngImport: i0, template: '', isInline: true, styles: [":host{--emr-skeleton-circle-size: calc(var(--spacing) * 14);animation:emr-skeleton-loading 1s linear infinite alternate;display:inline-flex;border-radius:calc(infinity * 1px);flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-circle-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-circle-size)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\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: SkeletonCircleComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SkeletonCircleComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'emr-skeleton-circle', exportAs: 'emrSkeletonCircle', template: '', host: {
25
25
  'class': 'emr-skeleton-item emr-skeleton-circle'
26
- }, styles: [":host{--emr-skeleton-circle-size: calc(var(--spacing) * 14);animation:emr-skeleton-loading 1s linear infinite alternate;display:inline-flex;border-radius:calc(infinity * 1px);flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-circle-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-circle-size)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
26
+ }, styles: [":host{--emr-skeleton-circle-size: calc(var(--spacing) * 14);animation:emr-skeleton-loading 1s linear infinite alternate;display:inline-flex;border-radius:calc(infinity * 1px);flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-circle-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-circle-size)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
27
27
  }] });
28
28
 
29
29
  class SkeletonLineComponent {
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SkeletonLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: SkeletonLineComponent, isStandalone: true, selector: "emr-skeleton-line", host: { classAttribute: "emr-skeleton-item emr-skeleton-line" }, exportAs: ["emrSkeletonLine"], ngImport: i0, template: '', isInline: true, styles: [":host{--emr-skeleton-line-height: calc(var(--spacing) * 5);--emr-skeleton-line-width: 100%;--emr-skeleton-line-border-radius: calc(infinity * 1px);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-line-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-line-height)}:host:not([class*=rounded-]){border-radius:var(--emr-skeleton-line-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SkeletonLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SkeletonLineComponent, isStandalone: true, selector: "emr-skeleton-line", host: { classAttribute: "emr-skeleton-item emr-skeleton-line" }, exportAs: ["emrSkeletonLine"], ngImport: i0, template: '', isInline: true, styles: [":host{--emr-skeleton-line-height: calc(var(--spacing) * 5);--emr-skeleton-line-width: 100%;--emr-skeleton-line-border-radius: calc(infinity * 1px);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-line-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-line-height)}:host:not([class*=rounded-]){border-radius:var(--emr-skeleton-line-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SkeletonLineComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SkeletonLineComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'emr-skeleton-line', exportAs: 'emrSkeletonLine', template: '', host: {
36
36
  'class': 'emr-skeleton-item emr-skeleton-line'
37
- }, styles: [":host{--emr-skeleton-line-height: calc(var(--spacing) * 5);--emr-skeleton-line-width: 100%;--emr-skeleton-line-border-radius: calc(infinity * 1px);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-line-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-line-height)}:host:not([class*=rounded-]){border-radius:var(--emr-skeleton-line-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
37
+ }, styles: [":host{--emr-skeleton-line-height: calc(var(--spacing) * 5);--emr-skeleton-line-width: 100%;--emr-skeleton-line-border-radius: calc(infinity * 1px);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-line-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-line-height)}:host:not([class*=rounded-]){border-radius:var(--emr-skeleton-line-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
38
38
  }] });
39
39
 
40
40
  class SkeletonBlockComponent {
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SkeletonBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.10", type: SkeletonBlockComponent, isStandalone: true, selector: "emr-skeleton-block", host: { classAttribute: "emr-skeleton-item emr-skeleton-block" }, exportAs: ["emrSkeletonBlock"], ngImport: i0, template: '', isInline: true, styles: [":host{--emr-skeleton-block-width: 100%;--emr-skeleton-block-height: calc(var(--spacing) * 20);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-block-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-block-height)}:host:not([class*=rounded]){border-radius:var(--emr-skeleton-item-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] });
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SkeletonBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SkeletonBlockComponent, isStandalone: true, selector: "emr-skeleton-block", host: { classAttribute: "emr-skeleton-item emr-skeleton-block" }, exportAs: ["emrSkeletonBlock"], ngImport: i0, template: '', isInline: true, styles: [":host{--emr-skeleton-block-width: 100%;--emr-skeleton-block-height: calc(var(--spacing) * 20);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-block-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-block-height)}:host:not([class*=rounded]){border-radius:var(--emr-skeleton-item-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SkeletonBlockComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SkeletonBlockComponent, decorators: [{
45
45
  type: Component,
46
46
  args: [{ selector: 'emr-skeleton-block', exportAs: 'emrSkeletonBlock', template: '', host: {
47
47
  'class': 'emr-skeleton-item emr-skeleton-block'
48
- }, styles: [":host{--emr-skeleton-block-width: 100%;--emr-skeleton-block-height: calc(var(--spacing) * 20);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-block-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-block-height)}:host:not([class*=rounded]){border-radius:var(--emr-skeleton-item-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
48
+ }, styles: [":host{--emr-skeleton-block-width: 100%;--emr-skeleton-block-height: calc(var(--spacing) * 20);animation:emr-skeleton-loading 1s linear infinite alternate;display:block;flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-skeleton-block-width)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-skeleton-block-height)}:host:not([class*=rounded]){border-radius:var(--emr-skeleton-item-border-radius)}@keyframes emr-skeleton-loading{0%{background:var(--emr-skeleton-from-bg)}to{background:var(--emr-skeleton-to-bg)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
49
49
  }] });
50
50
 
51
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-skeleton.mjs","sources":["../../../projects/components/skeleton/src/skeleton/skeleton.component.ts","../../../projects/components/skeleton/src/skeleton/skeleton.component.html","../../../projects/components/skeleton/src/skeleton-circle/skeleton-circle.component.ts","../../../projects/components/skeleton/src/skeleton-line/skeleton-line.component.ts","../../../projects/components/skeleton/src/skeleton-block/skeleton-block.component.ts","../../../projects/components/skeleton/elementar-rt-components-skeleton.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-skeleton',\r\n exportAs: 'emrSkeleton',\r\n templateUrl: './skeleton.component.html',\r\n styleUrl: './skeleton.component.scss',\r\n host: {\r\n 'class': 'emr-skeleton',\r\n '[class.is-direction-row]': 'direction() === \"row\"',\r\n '[class.is-direction-col]': 'direction() === \"col\"',\r\n }\r\n})\r\nexport class SkeletonComponent {\r\n direction = input<'row' | 'col'>('row');\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-skeleton-circle',\r\n exportAs: 'emrSkeletonCircle',\r\n template: '',\r\n styleUrls: ['./skeleton-circle.component.scss'],\r\n host: {\r\n 'class': 'emr-skeleton-item emr-skeleton-circle'\r\n }\r\n})\r\nexport class SkeletonCircleComponent {\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-skeleton-line',\r\n exportAs: 'emrSkeletonLine',\r\n template: '',\r\n styleUrls: ['./skeleton-line.component.scss'],\r\n host: {\r\n 'class': 'emr-skeleton-item emr-skeleton-line'\r\n }\r\n})\r\nexport class SkeletonLineComponent {\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-skeleton-block',\r\n exportAs: 'emrSkeletonBlock',\r\n template: '',\r\n styleUrl: './skeleton-block.component.scss',\r\n host: {\r\n 'class': 'emr-skeleton-item emr-skeleton-block'\r\n }\r\n})\r\nexport class SkeletonBlockComponent {\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-skeleton.mjs","sources":["../../../projects/components/skeleton/src/skeleton/skeleton.component.ts","../../../projects/components/skeleton/src/skeleton/skeleton.component.html","../../../projects/components/skeleton/src/skeleton-circle/skeleton-circle.component.ts","../../../projects/components/skeleton/src/skeleton-line/skeleton-line.component.ts","../../../projects/components/skeleton/src/skeleton-block/skeleton-block.component.ts","../../../projects/components/skeleton/elementar-rt-components-skeleton.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'emr-skeleton',\n exportAs: 'emrSkeleton',\n templateUrl: './skeleton.component.html',\n styleUrl: './skeleton.component.scss',\n host: {\n 'class': 'emr-skeleton',\n '[class.is-direction-row]': 'direction() === \"row\"',\n '[class.is-direction-col]': 'direction() === \"col\"',\n }\n})\nexport class SkeletonComponent {\n direction = input<'row' | 'col'>('row');\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-skeleton-circle',\n exportAs: 'emrSkeletonCircle',\n template: '',\n styleUrls: ['./skeleton-circle.component.scss'],\n host: {\n 'class': 'emr-skeleton-item emr-skeleton-circle'\n }\n})\nexport class SkeletonCircleComponent {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-skeleton-line',\n exportAs: 'emrSkeletonLine',\n template: '',\n styleUrls: ['./skeleton-line.component.scss'],\n host: {\n 'class': 'emr-skeleton-item emr-skeleton-line'\n }\n})\nexport class SkeletonLineComponent {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-skeleton-block',\n exportAs: 'emrSkeletonBlock',\n template: '',\n styleUrl: './skeleton-block.component.scss',\n host: {\n 'class': 'emr-skeleton-item emr-skeleton-block'\n }\n})\nexport class SkeletonBlockComponent {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, numberAttribute, booleanAttribute, model, forwardRef, Component } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+
5
+ class SliderComponent {
6
+ min = input(0, ...(ngDevMode ? [{ debugName: "min", transform: numberAttribute }] : [{ transform: numberAttribute }]));
7
+ max = input(100, ...(ngDevMode ? [{ debugName: "max", transform: numberAttribute }] : [{ transform: numberAttribute }]));
8
+ step = input(1, ...(ngDevMode ? [{ debugName: "step", transform: numberAttribute }] : [{ transform: numberAttribute }]));
9
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
10
+ showValue = input(false, ...(ngDevMode ? [{ debugName: "showValue", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
11
+ showTicks = input(false, ...(ngDevMode ? [{ debugName: "showTicks", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
12
+ range = input(false, ...(ngDevMode ? [{ debugName: "range", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
13
+ value = model(0, ...(ngDevMode ? [{ debugName: "value" }] : []));
14
+ valueHigh = model(100, ...(ngDevMode ? [{ debugName: "valueHigh" }] : []));
15
+ _onChange = () => { };
16
+ _onTouched = () => { };
17
+ writeValue(v) {
18
+ if (Array.isArray(v)) {
19
+ this.value.set(v[0]);
20
+ this.valueHigh.set(v[1]);
21
+ }
22
+ else
23
+ this.value.set(v ?? 0);
24
+ }
25
+ registerOnChange(fn) { this._onChange = fn; }
26
+ registerOnTouched(fn) { this._onTouched = fn; }
27
+ setDisabledState(_) { }
28
+ _onInput(event, which = 'low') {
29
+ const v = Number(event.target.value);
30
+ if (which === 'low')
31
+ this.value.set(v);
32
+ else
33
+ this.valueHigh.set(v);
34
+ const emit = this.range() ? [this.value(), this.valueHigh()] : this.value();
35
+ this._onChange(emit);
36
+ this._onTouched();
37
+ }
38
+ get _fillStyle() {
39
+ const pct = (v) => ((v - this.min()) / (this.max() - this.min())) * 100;
40
+ if (this.range()) {
41
+ const lo = pct(Math.min(this.value(), this.valueHigh()));
42
+ const hi = pct(Math.max(this.value(), this.valueHigh()));
43
+ return { left: `${lo}%`, width: `${hi - lo}%` };
44
+ }
45
+ return { left: '0%', width: `${pct(this.value())}%` };
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: SliderComponent, isStandalone: true, selector: "emr-slider", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showValue: { classPropertyName: "showValue", publicName: "showValue", isSignal: true, isRequired: false, transformFunction: null }, showTicks: { classPropertyName: "showTicks", publicName: "showTicks", isSignal: true, isRequired: false, transformFunction: null }, range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, valueHigh: { classPropertyName: "valueHigh", publicName: "valueHigh", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueHigh: "valueHighChange" }, host: { properties: { "class.is-disabled": "disabled()", "class.is-range": "range()" }, classAttribute: "emr-slider" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SliderComponent), multi: true }], exportAs: ["emrSlider"], ngImport: i0, template: "<div class=\"sl-track\">\n <div class=\"sl-fill\" [style]=\"_fillStyle\"></div>\n <input\n class=\"sl-input\"\n type=\"range\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n (input)=\"_onInput($event, 'low')\"\n />\n @if (range()) {\n <input\n class=\"sl-input sl-input-high\"\n type=\"range\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"valueHigh()\"\n [disabled]=\"disabled()\"\n (input)=\"_onInput($event, 'high')\"\n />\n }\n</div>\n@if (showValue()) {\n <span class=\"sl-value\">{{ range() ? value() + ' \u2013 ' + valueHigh() : value() }}</span>\n}\n", styles: [":host{--emr-sl-track-height: calc(var(--spacing, .25rem) * 1.5);--emr-sl-track-bg: var(--color-surface-container-highest);--emr-sl-fill-bg: var(--color-primary);--emr-sl-thumb-size: calc(var(--spacing, .25rem) * 5);--emr-sl-thumb-bg: var(--color-primary);--emr-sl-thumb-border: 2px solid var(--color-surface);--emr-sl-disabled-opacity: .38;display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3);width:100%}.sl-track{position:relative;flex:1;height:var(--emr-sl-track-height);background:var(--emr-sl-track-bg);border-radius:calc(infinity * 1px)}.sl-fill{position:absolute;top:0;height:100%;background:var(--emr-sl-fill-bg);border-radius:calc(infinity * 1px);pointer-events:none}.sl-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.sl-input::-webkit-slider-thumb{width:var(--emr-sl-thumb-size);height:var(--emr-sl-thumb-size)}.sl-track:after{content:\"\";position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--emr-sl-thumb-size);height:var(--emr-sl-thumb-size);background:var(--emr-sl-thumb-bg);border:var(--emr-sl-thumb-border);border-radius:50%;box-shadow:0 2px 4px var(--color-shadow);pointer-events:none;left:calc(var(--sl-pct, 0) * 1%)}@supports (color: color-mix(in lab,red,red)){.sl-track:after{box-shadow:0 2px 4px color-mix(in srgb,var(--color-shadow) 20%,transparent)}}:host(.is-disabled){opacity:var(--emr-sl-disabled-opacity);pointer-events:none}.sl-value{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--color-on-surface-variant);min-width:calc(var(--spacing, .25rem) * 10);text-align:end}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SliderComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: 'emr-slider', exportAs: 'emrSlider', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SliderComponent), multi: true }], host: {
53
+ 'class': 'emr-slider',
54
+ '[class.is-disabled]': 'disabled()',
55
+ '[class.is-range]': 'range()',
56
+ }, template: "<div class=\"sl-track\">\n <div class=\"sl-fill\" [style]=\"_fillStyle\"></div>\n <input\n class=\"sl-input\"\n type=\"range\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n (input)=\"_onInput($event, 'low')\"\n />\n @if (range()) {\n <input\n class=\"sl-input sl-input-high\"\n type=\"range\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"valueHigh()\"\n [disabled]=\"disabled()\"\n (input)=\"_onInput($event, 'high')\"\n />\n }\n</div>\n@if (showValue()) {\n <span class=\"sl-value\">{{ range() ? value() + ' \u2013 ' + valueHigh() : value() }}</span>\n}\n", styles: [":host{--emr-sl-track-height: calc(var(--spacing, .25rem) * 1.5);--emr-sl-track-bg: var(--color-surface-container-highest);--emr-sl-fill-bg: var(--color-primary);--emr-sl-thumb-size: calc(var(--spacing, .25rem) * 5);--emr-sl-thumb-bg: var(--color-primary);--emr-sl-thumb-border: 2px solid var(--color-surface);--emr-sl-disabled-opacity: .38;display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3);width:100%}.sl-track{position:relative;flex:1;height:var(--emr-sl-track-height);background:var(--emr-sl-track-bg);border-radius:calc(infinity * 1px)}.sl-fill{position:absolute;top:0;height:100%;background:var(--emr-sl-fill-bg);border-radius:calc(infinity * 1px);pointer-events:none}.sl-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.sl-input::-webkit-slider-thumb{width:var(--emr-sl-thumb-size);height:var(--emr-sl-thumb-size)}.sl-track:after{content:\"\";position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--emr-sl-thumb-size);height:var(--emr-sl-thumb-size);background:var(--emr-sl-thumb-bg);border:var(--emr-sl-thumb-border);border-radius:50%;box-shadow:0 2px 4px var(--color-shadow);pointer-events:none;left:calc(var(--sl-pct, 0) * 1%)}@supports (color: color-mix(in lab,red,red)){.sl-track:after{box-shadow:0 2px 4px color-mix(in srgb,var(--color-shadow) 20%,transparent)}}:host(.is-disabled){opacity:var(--emr-sl-disabled-opacity);pointer-events:none}.sl-value{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--color-on-surface-variant);min-width:calc(var(--spacing, .25rem) * 10);text-align:end}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
57
+ }], propDecorators: { min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], showValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValue", required: false }] }], showTicks: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTicks", required: false }] }], range: [{ type: i0.Input, args: [{ isSignal: true, alias: "range", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueHigh: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueHigh", required: false }] }, { type: i0.Output, args: ["valueHighChange"] }] } });
58
+
59
+ /**
60
+ * Generated bundle index. Do not edit.
61
+ */
62
+
63
+ export { SliderComponent };
64
+ //# sourceMappingURL=elementar-rt-components-slider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementar-rt-components-slider.mjs","sources":["../../../projects/components/slider/src/slider/slider.component.ts","../../../projects/components/slider/src/slider/slider.component.html","../../../projects/components/slider/elementar-rt-components-slider.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n ElementRef,\n forwardRef,\n input,\n model,\n numberAttribute,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'emr-slider',\n exportAs: 'emrSlider',\n templateUrl: './slider.component.html',\n styleUrl: './slider.component.scss',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SliderComponent), multi: true }],\n host: {\n 'class': 'emr-slider',\n '[class.is-disabled]': 'disabled()',\n '[class.is-range]': 'range()',\n }\n})\nexport class SliderComponent implements ControlValueAccessor {\n min = input(0, { transform: numberAttribute });\n max = input(100, { transform: numberAttribute });\n step = input(1, { transform: numberAttribute });\n disabled = input(false, { transform: booleanAttribute });\n showValue = input(false, { transform: booleanAttribute });\n showTicks = input(false, { transform: booleanAttribute });\n range = input(false, { transform: booleanAttribute });\n\n value = model(0);\n valueHigh = model(100);\n\n private _onChange: (v: number | [number, number]) => void = () => {};\n private _onTouched: () => void = () => {};\n\n writeValue(v: number | [number, number]): void {\n if (Array.isArray(v)) { this.value.set(v[0]); this.valueHigh.set(v[1]); }\n else this.value.set(v ?? 0);\n }\n registerOnChange(fn: any): void { this._onChange = fn; }\n registerOnTouched(fn: any): void { this._onTouched = fn; }\n setDisabledState(_: boolean): void {}\n\n protected _onInput(event: Event, which: 'low' | 'high' = 'low') {\n const v = Number((event.target as HTMLInputElement).value);\n if (which === 'low') this.value.set(v);\n else this.valueHigh.set(v);\n const emit = this.range() ? [this.value(), this.valueHigh()] as [number, number] : this.value();\n this._onChange(emit);\n this._onTouched();\n }\n\n protected get _fillStyle(): Record<string, string> {\n const pct = (v: number) => ((v - this.min()) / (this.max() - this.min())) * 100;\n if (this.range()) {\n const lo = pct(Math.min(this.value(), this.valueHigh()));\n const hi = pct(Math.max(this.value(), this.valueHigh()));\n return { left: `${lo}%`, width: `${hi - lo}%` };\n }\n return { left: '0%', width: `${pct(this.value())}%` };\n }\n}\n","<div class=\"sl-track\">\n <div class=\"sl-fill\" [style]=\"_fillStyle\"></div>\n <input\n class=\"sl-input\"\n type=\"range\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n (input)=\"_onInput($event, 'low')\"\n />\n @if (range()) {\n <input\n class=\"sl-input sl-input-high\"\n type=\"range\"\n [min]=\"min()\"\n [max]=\"max()\"\n [step]=\"step()\"\n [value]=\"valueHigh()\"\n [disabled]=\"disabled()\"\n (input)=\"_onInput($event, 'high')\"\n />\n }\n</div>\n@if (showValue()) {\n <span class=\"sl-value\">{{ range() ? value() + ' – ' + valueHigh() : value() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAwBa,eAAe,CAAA;AAC1B,IAAA,GAAG,GAAG,KAAK,CAAC,CAAC,uCAAI,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CAA5B,EAAE,SAAS,EAAE,eAAe,EAAE,GAAC;AAC9C,IAAA,GAAG,GAAG,KAAK,CAAC,GAAG,uCAAI,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CAA5B,EAAE,SAAS,EAAE,eAAe,EAAE,GAAC;AAChD,IAAA,IAAI,GAAG,KAAK,CAAC,CAAC,wCAAI,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CAA5B,EAAE,SAAS,EAAE,eAAe,EAAE,GAAC;AAC/C,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,4CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACxD,IAAA,SAAS,GAAG,KAAK,CAAC,KAAK,6CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACzD,IAAA,SAAS,GAAG,KAAK,CAAC,KAAK,6CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACzD,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,yCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AAErD,IAAA,KAAK,GAAG,KAAK,CAAC,CAAC,iDAAC;AAChB,IAAA,SAAS,GAAG,KAAK,CAAC,GAAG,qDAAC;AAEd,IAAA,SAAS,GAA2C,MAAK,EAAE,CAAC;AAC5D,IAAA,UAAU,GAAe,MAAK,EAAE,CAAC;AAEzC,IAAA,UAAU,CAAC,CAA4B,EAAA;AACrC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE;;YACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7B;IACA,gBAAgB,CAAC,EAAO,EAAA,EAAU,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAO,EAAA,EAAU,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,CAAU,EAAA,EAAS;AAE1B,IAAA,QAAQ,CAAC,KAAY,EAAE,KAAA,GAAwB,KAAK,EAAA;QAC5D,MAAM,CAAC,GAAG,MAAM,CAAE,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;QAC1D,IAAI,KAAK,KAAK,KAAK;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;AACjC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAqB,GAAG,IAAI,CAAC,KAAK,EAAE;AAC/F,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE;IACnB;AAEA,IAAA,IAAc,UAAU,GAAA;AACtB,QAAA,MAAM,GAAG,GAAG,CAAC,CAAS,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG;AAC/E,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAChB,YAAA,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACxD,YAAA,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACxD,YAAA,OAAO,EAAE,IAAI,EAAE,CAAA,EAAG,EAAE,CAAA,CAAA,CAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA,CAAA,CAAG,EAAE;QACjD;AACA,QAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA,EAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,CAAA,CAAG,EAAE;IACvD;wGAxCW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAPf,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB1G,+sBA4BA,EAAA,MAAA,EAAA,CAAA,unDAAA,CAAA,EAAA,CAAA;;4FDJa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAZ3B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,WAAW,EAAA,SAAA,EAGV,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,eAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA,IAAA,EAClG;AACJ,wBAAA,OAAO,EAAE,YAAY;AACrB,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,kBAAkB,EAAE,SAAS;AAC9B,qBAAA,EAAA,QAAA,EAAA,+sBAAA,EAAA,MAAA,EAAA,CAAA,unDAAA,CAAA,EAAA;;;AEtBH;;AAEG;;;;"}
@@ -0,0 +1,81 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, output, Component, inject, ApplicationRef, EnvironmentInjector, createComponent, Injectable } from '@angular/core';
3
+
4
+ class SnackbarComponent {
5
+ message = input('', ...(ngDevMode ? [{ debugName: "message" }] : []));
6
+ action = input('', ...(ngDevMode ? [{ debugName: "action" }] : []));
7
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
8
+ dismissed = output();
9
+ actionClick = output();
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: SnackbarComponent, isStandalone: true, selector: "emr-snackbar", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed", actionClick: "actionClick" }, host: { properties: { "attr.data-variant": "variant()" }, classAttribute: "emr-snackbar" }, exportAs: ["emrSnackbar"], ngImport: i0, template: "<span class=\"snackbar-message\">{{ message() }}</span>\n<div class=\"snackbar-actions\">\n @if (action()) {\n <button class=\"snackbar-action\" type=\"button\" (click)=\"actionClick.emit()\">\n {{ action() }}\n </button>\n }\n <button class=\"snackbar-close\" type=\"button\" (click)=\"dismissed.emit()\" aria-label=\"Dismiss\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/>\n </svg>\n </button>\n</div>\n", styles: [":host{--emr-snackbar-bg: var(--color-inverse-surface);--emr-snackbar-color: var(--color-inverse-on-surface);--emr-snackbar-border-radius: .75rem;--emr-snackbar-padding: calc(var(--spacing, .25rem) * 3) calc(var(--spacing, .25rem) * 4);--emr-snackbar-font-size: .875rem;--emr-snackbar-action-color: var(--color-inverse-primary);--emr-snackbar-min-width: calc(var(--spacing, .25rem) * 72);--emr-snackbar-max-width: calc(var(--spacing, .25rem) * 120);display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3);min-width:var(--emr-snackbar-min-width);max-width:var(--emr-snackbar-max-width);padding:var(--emr-snackbar-padding);background:var(--emr-snackbar-bg);color:var(--emr-snackbar-color);border-radius:var(--emr-snackbar-border-radius);font-size:var(--emr-snackbar-font-size);box-shadow:0 4px 16px var(--color-shadow);animation:snackbarIn .25s cubic-bezier(.4,0,.2,1)}@supports (color: color-mix(in lab,red,red)){:host{box-shadow:0 4px 16px color-mix(in srgb,var(--color-shadow) 20%,transparent)}}:host[data-variant=success]{--emr-snackbar-bg: var(--color-green);--emr-snackbar-color: var(--color-on-green)}:host[data-variant=error]{--emr-snackbar-bg: var(--color-red);--emr-snackbar-color: var(--color-on-red)}:host[data-variant=warning]{--emr-snackbar-bg: var(--color-orange);--emr-snackbar-color: var(--color-on-orange)}:host[data-variant=info]{--emr-snackbar-bg: var(--color-blue);--emr-snackbar-color: var(--color-on-blue)}.snackbar-message{flex:1;line-height:1.4}.snackbar-actions{display:flex;align-items:center;gap:var(--spacing, .25rem);flex-shrink:0}.snackbar-action{font-size:var(--emr-snackbar-font-size);font-weight:600;color:var(--emr-snackbar-action-color);background:transparent;border:none;cursor:pointer;padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);border-radius:.5rem;letter-spacing:.03em}.snackbar-action:hover{background:currentColor}@supports (color: color-mix(in lab,red,red)){.snackbar-action:hover{background:color-mix(in srgb,currentColor 12%,transparent)}}.snackbar-close{display:flex;align-items:center;justify-content:center;width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);background:transparent;border:none;color:inherit;opacity:.7;cursor:pointer;border-radius:50%}.snackbar-close:hover{opacity:1;background:currentColor}@supports (color: color-mix(in lab,red,red)){.snackbar-close:hover{background:color-mix(in srgb,currentColor 12%,transparent)}}@keyframes snackbarIn{0%{transform:translateY(calc(var(--spacing, .25rem) * 4));opacity:0}to{transform:translateY(0);opacity:1}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SnackbarComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'emr-snackbar', exportAs: 'emrSnackbar', host: {
16
+ 'class': 'emr-snackbar',
17
+ '[attr.data-variant]': 'variant()',
18
+ }, template: "<span class=\"snackbar-message\">{{ message() }}</span>\n<div class=\"snackbar-actions\">\n @if (action()) {\n <button class=\"snackbar-action\" type=\"button\" (click)=\"actionClick.emit()\">\n {{ action() }}\n </button>\n }\n <button class=\"snackbar-close\" type=\"button\" (click)=\"dismissed.emit()\" aria-label=\"Dismiss\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/>\n </svg>\n </button>\n</div>\n", styles: [":host{--emr-snackbar-bg: var(--color-inverse-surface);--emr-snackbar-color: var(--color-inverse-on-surface);--emr-snackbar-border-radius: .75rem;--emr-snackbar-padding: calc(var(--spacing, .25rem) * 3) calc(var(--spacing, .25rem) * 4);--emr-snackbar-font-size: .875rem;--emr-snackbar-action-color: var(--color-inverse-primary);--emr-snackbar-min-width: calc(var(--spacing, .25rem) * 72);--emr-snackbar-max-width: calc(var(--spacing, .25rem) * 120);display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3);min-width:var(--emr-snackbar-min-width);max-width:var(--emr-snackbar-max-width);padding:var(--emr-snackbar-padding);background:var(--emr-snackbar-bg);color:var(--emr-snackbar-color);border-radius:var(--emr-snackbar-border-radius);font-size:var(--emr-snackbar-font-size);box-shadow:0 4px 16px var(--color-shadow);animation:snackbarIn .25s cubic-bezier(.4,0,.2,1)}@supports (color: color-mix(in lab,red,red)){:host{box-shadow:0 4px 16px color-mix(in srgb,var(--color-shadow) 20%,transparent)}}:host[data-variant=success]{--emr-snackbar-bg: var(--color-green);--emr-snackbar-color: var(--color-on-green)}:host[data-variant=error]{--emr-snackbar-bg: var(--color-red);--emr-snackbar-color: var(--color-on-red)}:host[data-variant=warning]{--emr-snackbar-bg: var(--color-orange);--emr-snackbar-color: var(--color-on-orange)}:host[data-variant=info]{--emr-snackbar-bg: var(--color-blue);--emr-snackbar-color: var(--color-on-blue)}.snackbar-message{flex:1;line-height:1.4}.snackbar-actions{display:flex;align-items:center;gap:var(--spacing, .25rem);flex-shrink:0}.snackbar-action{font-size:var(--emr-snackbar-font-size);font-weight:600;color:var(--emr-snackbar-action-color);background:transparent;border:none;cursor:pointer;padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);border-radius:.5rem;letter-spacing:.03em}.snackbar-action:hover{background:currentColor}@supports (color: color-mix(in lab,red,red)){.snackbar-action:hover{background:color-mix(in srgb,currentColor 12%,transparent)}}.snackbar-close{display:flex;align-items:center;justify-content:center;width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);background:transparent;border:none;color:inherit;opacity:.7;cursor:pointer;border-radius:50%}.snackbar-close:hover{opacity:1;background:currentColor}@supports (color: color-mix(in lab,red,red)){.snackbar-close:hover{background:color-mix(in srgb,currentColor 12%,transparent)}}@keyframes snackbarIn{0%{transform:translateY(calc(var(--spacing, .25rem) * 4));opacity:0}to{transform:translateY(0);opacity:1}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
19
+ }], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], dismissed: [{ type: i0.Output, args: ["dismissed"] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }] } });
20
+
21
+ class EmrSnackbar {
22
+ _appRef = inject(ApplicationRef);
23
+ _injector = inject(EnvironmentInjector);
24
+ _container = null;
25
+ _getContainer(position) {
26
+ if (!this._container) {
27
+ this._container = document.createElement('div');
28
+ this._container.className = `emr-snackbar-container emr-snackbar-${position}`;
29
+ document.body.appendChild(this._container);
30
+ }
31
+ return this._container;
32
+ }
33
+ open(config) {
34
+ const { message, action, duration = 4000, variant = 'default', position = 'bottom-center' } = config;
35
+ const host = document.createElement('div');
36
+ const container = this._getContainer(position);
37
+ container.appendChild(host);
38
+ const ref = createComponent(SnackbarComponent, {
39
+ environmentInjector: this._injector,
40
+ hostElement: host,
41
+ });
42
+ ref.setInput('message', message);
43
+ ref.setInput('action', action ?? '');
44
+ ref.setInput('variant', variant);
45
+ const dismiss = () => {
46
+ ref.destroy();
47
+ host.remove();
48
+ };
49
+ ref.instance.dismissed.subscribe(dismiss);
50
+ ref.instance.actionClick.subscribe(dismiss);
51
+ this._appRef.attachView(ref.hostView);
52
+ ref.changeDetectorRef.detectChanges();
53
+ if (duration > 0)
54
+ setTimeout(dismiss, duration);
55
+ }
56
+ success(message, config) {
57
+ this.open({ ...config, message, variant: 'success' });
58
+ }
59
+ error(message, config) {
60
+ this.open({ ...config, message, variant: 'error' });
61
+ }
62
+ warning(message, config) {
63
+ this.open({ ...config, message, variant: 'warning' });
64
+ }
65
+ info(message, config) {
66
+ this.open({ ...config, message, variant: 'info' });
67
+ }
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSnackbar, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
69
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSnackbar, providedIn: 'root' });
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSnackbar, decorators: [{
72
+ type: Injectable,
73
+ args: [{ providedIn: 'root' }]
74
+ }] });
75
+
76
+ /**
77
+ * Generated bundle index. Do not edit.
78
+ */
79
+
80
+ export { EmrSnackbar, SnackbarComponent };
81
+ //# sourceMappingURL=elementar-rt-components-snackbar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementar-rt-components-snackbar.mjs","sources":["../../../projects/components/snackbar/src/snackbar/snackbar.component.ts","../../../projects/components/snackbar/src/snackbar/snackbar.component.html","../../../projects/components/snackbar/src/snackbar.service.ts","../../../projects/components/snackbar/elementar-rt-components-snackbar.ts"],"sourcesContent":["import { Component, input, output } from '@angular/core';\n\nexport type SnackbarVariant = 'default' | 'success' | 'error' | 'warning' | 'info';\n\n@Component({\n selector: 'emr-snackbar',\n exportAs: 'emrSnackbar',\n templateUrl: './snackbar.component.html',\n styleUrl: './snackbar.component.scss',\n host: {\n 'class': 'emr-snackbar',\n '[attr.data-variant]': 'variant()',\n }\n})\nexport class SnackbarComponent {\n message = input('');\n action = input('');\n variant = input<SnackbarVariant>('default');\n\n readonly dismissed = output<void>();\n readonly actionClick = output<void>();\n}\n","<span class=\"snackbar-message\">{{ message() }}</span>\n<div class=\"snackbar-actions\">\n @if (action()) {\n <button class=\"snackbar-action\" type=\"button\" (click)=\"actionClick.emit()\">\n {{ action() }}\n </button>\n }\n <button class=\"snackbar-close\" type=\"button\" (click)=\"dismissed.emit()\" aria-label=\"Dismiss\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/>\n </svg>\n </button>\n</div>\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n inject,\n Injectable\n} from '@angular/core';\nimport { SnackbarComponent, SnackbarVariant } from './snackbar/snackbar.component';\n\nexport interface SnackbarConfig {\n message: string;\n action?: string;\n duration?: number;\n variant?: SnackbarVariant;\n position?: 'bottom-center' | 'bottom-left' | 'bottom-right' | 'top-center';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EmrSnackbar {\n private _appRef = inject(ApplicationRef);\n private _injector = inject(EnvironmentInjector);\n private _container: HTMLElement | null = null;\n\n private _getContainer(position: string): HTMLElement {\n if (!this._container) {\n this._container = document.createElement('div');\n this._container.className = `emr-snackbar-container emr-snackbar-${position}`;\n document.body.appendChild(this._container);\n }\n return this._container;\n }\n\n open(config: SnackbarConfig): void {\n const { message, action, duration = 4000, variant = 'default', position = 'bottom-center' } = config;\n const host = document.createElement('div');\n const container = this._getContainer(position);\n container.appendChild(host);\n\n const ref: ComponentRef<SnackbarComponent> = createComponent(SnackbarComponent, {\n environmentInjector: this._injector,\n hostElement: host,\n });\n\n ref.setInput('message', message);\n ref.setInput('action', action ?? '');\n ref.setInput('variant', variant);\n\n const dismiss = () => {\n ref.destroy();\n host.remove();\n };\n\n ref.instance.dismissed.subscribe(dismiss);\n ref.instance.actionClick.subscribe(dismiss);\n this._appRef.attachView(ref.hostView);\n ref.changeDetectorRef.detectChanges();\n\n if (duration > 0) setTimeout(dismiss, duration);\n }\n\n success(message: string, config?: Partial<SnackbarConfig>) {\n this.open({ ...config, message, variant: 'success' });\n }\n\n error(message: string, config?: Partial<SnackbarConfig>) {\n this.open({ ...config, message, variant: 'error' });\n }\n\n warning(message: string, config?: Partial<SnackbarConfig>) {\n this.open({ ...config, message, variant: 'warning' });\n }\n\n info(message: string, config?: Partial<SnackbarConfig>) {\n this.open({ ...config, message, variant: 'info' });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import * as i0 from '@angular/core';
2
+ import { output, signal, Directive, input, inject, computed, HostListener } from '@angular/core';
3
+
4
+ class EmrSortDirective {
5
+ sortChange = output();
6
+ activeField = signal('', ...(ngDevMode ? [{ debugName: "activeField" }] : []));
7
+ activeDirection = signal('asc', ...(ngDevMode ? [{ debugName: "activeDirection" }] : []));
8
+ sort(field) {
9
+ if (this.activeField() === field) {
10
+ this.activeDirection.set(this.activeDirection() === 'asc' ? 'desc' : 'asc');
11
+ }
12
+ else {
13
+ this.activeField.set(field);
14
+ this.activeDirection.set('asc');
15
+ }
16
+ this.sortChange.emit({ field: this.activeField(), direction: this.activeDirection() });
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: EmrSortDirective, isStandalone: true, selector: "[emrSort]", outputs: { sortChange: "sortChange" }, exportAs: ["emrSort"], ngImport: i0 });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[emrSort]',
25
+ standalone: true,
26
+ exportAs: 'emrSort',
27
+ }]
28
+ }], propDecorators: { sortChange: [{ type: i0.Output, args: ["sortChange"] }] } });
29
+
30
+ class EmrSortHeaderDirective {
31
+ emrSortHeader = input.required(...(ngDevMode ? [{ debugName: "emrSortHeader" }] : []));
32
+ _sort = inject(EmrSortDirective);
33
+ _isActive = computed(() => this._sort.activeField() === this.emrSortHeader(), ...(ngDevMode ? [{ debugName: "_isActive" }] : []));
34
+ _ariaSort = computed(() => {
35
+ if (!this._isActive())
36
+ return 'none';
37
+ return this._sort.activeDirection() === 'asc' ? 'ascending' : 'descending';
38
+ }, ...(ngDevMode ? [{ debugName: "_ariaSort" }] : []));
39
+ onClick() {
40
+ this._sort.sort(this.emrSortHeader());
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: EmrSortHeaderDirective, isStandalone: true, selector: "[emrSortHeader]", inputs: { emrSortHeader: { classPropertyName: "emrSortHeader", publicName: "emrSortHeader", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "button" }, listeners: { "click": "onClick()" }, properties: { "attr.data-sort-active": "_isActive() || null", "attr.data-sort-dir": "_isActive() ? _sort.activeDirection() : null", "style.cursor": "\"pointer\"", "attr.aria-sort": "_ariaSort()" } }, exportAs: ["emrSortHeader"], ngImport: i0 });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrSortHeaderDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[emrSortHeader]',
49
+ standalone: true,
50
+ exportAs: 'emrSortHeader',
51
+ host: {
52
+ '[attr.data-sort-active]': '_isActive() || null',
53
+ '[attr.data-sort-dir]': '_isActive() ? _sort.activeDirection() : null',
54
+ 'role': 'button',
55
+ '[style.cursor]': '"pointer"',
56
+ '[attr.aria-sort]': '_ariaSort()',
57
+ }
58
+ }]
59
+ }], propDecorators: { emrSortHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "emrSortHeader", required: true }] }], onClick: [{
60
+ type: HostListener,
61
+ args: ['click']
62
+ }] } });
63
+
64
+ /**
65
+ * Generated bundle index. Do not edit.
66
+ */
67
+
68
+ export { EmrSortDirective, EmrSortHeaderDirective };
69
+ //# sourceMappingURL=elementar-rt-components-sort.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementar-rt-components-sort.mjs","sources":["../../../projects/components/sort/src/sort.directive.ts","../../../projects/components/sort/src/sort-header.directive.ts","../../../projects/components/sort/elementar-rt-components-sort.ts"],"sourcesContent":["import { Directive, output, signal } from '@angular/core';\n\nexport interface EmrSortEvent {\n field: string;\n direction: 'asc' | 'desc';\n}\n\n@Directive({\n selector: '[emrSort]',\n standalone: true,\n exportAs: 'emrSort',\n})\nexport class EmrSortDirective {\n sortChange = output<EmrSortEvent>();\n\n readonly activeField = signal('');\n readonly activeDirection = signal<'asc' | 'desc'>('asc');\n\n sort(field: string): void {\n if (this.activeField() === field) {\n this.activeDirection.set(this.activeDirection() === 'asc' ? 'desc' : 'asc');\n } else {\n this.activeField.set(field);\n this.activeDirection.set('asc');\n }\n this.sortChange.emit({ field: this.activeField(), direction: this.activeDirection() });\n }\n}\n","import { Directive, input, computed, HostListener, inject, Host, Optional } from '@angular/core';\nimport { EmrSortDirective } from './sort.directive';\n\n@Directive({\n selector: '[emrSortHeader]',\n standalone: true,\n exportAs: 'emrSortHeader',\n host: {\n '[attr.data-sort-active]': '_isActive() || null',\n '[attr.data-sort-dir]': '_isActive() ? _sort.activeDirection() : null',\n 'role': 'button',\n '[style.cursor]': '\"pointer\"',\n '[attr.aria-sort]': '_ariaSort()',\n }\n})\nexport class EmrSortHeaderDirective {\n emrSortHeader = input.required<string>();\n\n protected _sort = inject(EmrSortDirective);\n\n protected _isActive = computed(() => this._sort.activeField() === this.emrSortHeader());\n protected _ariaSort = computed(() => {\n if (!this._isActive()) return 'none';\n return this._sort.activeDirection() === 'asc' ? 'ascending' : 'descending';\n });\n\n @HostListener('click')\n onClick(): void {\n this._sort.sort(this.emrSortHeader());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -73,14 +73,14 @@ class SplashScreenComponent {
73
73
  this._renderer.setStyle(loaderEl, 'zIndex', '-9999999');
74
74
  }, this.animationDuration());
75
75
  }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SplashScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.10", type: SplashScreenComponent, isStandalone: true, selector: "emr-splash-screen", inputs: { animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "emr-splash-screen" }, exportAs: ["emrSplashScreen"], ngImport: i0, template: "<div>\r\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\r\n</div>\r\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] });
76
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SplashScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: SplashScreenComponent, isStandalone: true, selector: "emr-splash-screen", inputs: { animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "emr-splash-screen" }, exportAs: ["emrSplashScreen"], ngImport: i0, template: "<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: SplashScreenComponent, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SplashScreenComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'emr-splash-screen', exportAs: 'emrSplashScreen', imports: [], host: {
82
82
  'class': 'emr-splash-screen',
83
- }, template: "<div>\r\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\r\n</div>\r\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
83
+ }, template: "<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n", styles: [":host{--emr-splash-screen-bg: var(--color-background);-webkit-user-select:none;user-select:none;position:fixed;inset:0;z-index:9999999;display:flex;align-items:center;justify-content:center;flex-direction:column;visibility:visible;background:var(--emr-splash-screen-bg);--emr-splash-screen-hide-animation-duration: .5s}:host.hide{opacity:0;transition:opacity var(--emr-splash-screen-hide-animation-duration) ease-in-out}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
84
84
  }], ctorParameters: () => [], propDecorators: { animationDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDuration", required: false }] }], hideDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideDelay", required: false }] }] } });
85
85
 
86
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-splash-screen.mjs","sources":["../../../projects/components/splash-screen/src/splash-screen.store.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.html","../../../projects/components/splash-screen/elementar-rt-components-splash-screen.ts"],"sourcesContent":["import { patchState, signalStore, withMethods, withState } from '@ngrx/signals';\r\n\r\nexport interface SplashScreenState {\r\n visible: boolean;\r\n}\r\n\r\nconst initialState: SplashScreenState = {\r\n visible: true\r\n};\r\n\r\nexport const SplashScreenStore = signalStore(\r\n { providedIn: 'root' },\r\n withState(initialState),\r\n withMethods((store) => ({\r\n show(): void {\r\n patchState(store, {\r\n visible: true\r\n });\r\n },\r\n hide(): void {\r\n patchState(store, {\r\n visible: false\r\n });\r\n }\r\n }))\r\n);\r\n","import {\r\n afterNextRender,\r\n Component,\r\n effect,\r\n ElementRef,\r\n inject,\r\n input,\r\n numberAttribute,\r\n Renderer2\r\n} from '@angular/core';\r\nimport { getState } from '@ngrx/signals';\r\nimport { SplashScreenState, SplashScreenStore } from '../splash-screen.store';\r\nimport { filter } from 'rxjs';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'emr-splash-screen',\r\n exportAs: 'emrSplashScreen',\r\n imports: [],\r\n templateUrl: './splash-screen.component.html',\r\n styleUrl: './splash-screen.component.scss',\r\n host: {\r\n 'class': 'emr-splash-screen',\r\n }\r\n})\r\nexport class SplashScreenComponent {\r\n private _store = inject(SplashScreenStore);\r\n private _renderer = inject(Renderer2);\r\n private _elementRef = inject(ElementRef);\r\n private _router = inject(Router);\r\n\r\n animationDuration = input(500, {\r\n transform: numberAttribute\r\n }); // in milliseconds\r\n hideDelay = input(1000, {\r\n transform: numberAttribute\r\n }); // in milliseconds\r\n\r\n constructor() {\r\n const initialState = getState<SplashScreenState>(this._store);\r\n\r\n effect(() => {\r\n const currentState = getState<SplashScreenState>(this._store);\r\n\r\n if (initialState.visible === currentState.visible) {\r\n return;\r\n }\r\n\r\n if (currentState.visible) {\r\n this._show();\r\n } else {\r\n this._hide();\r\n }\r\n });\r\n\r\n afterNextRender(() => {\r\n const subscription = this._router.events\r\n .pipe(\r\n filter(event=> event instanceof NavigationEnd)\r\n )\r\n .subscribe(() => {\r\n subscription.unsubscribe();\r\n setTimeout(() => {\r\n this._hide();\r\n subscription.unsubscribe();\r\n }, this.hideDelay());\r\n })\r\n ;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this._renderer.setProperty(\r\n this._elementRef.nativeElement, '--emr-splash-screen-hide-animation-duration', (this.animationDuration() / 1000) + 's'\r\n );\r\n }\r\n\r\n private _show(): void {\r\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\r\n this._renderer.setStyle(loaderEl, 'visibility', 'visible');\r\n this._renderer.setStyle(loaderEl, 'zIndex', '9999999');\r\n }\r\n\r\n private _hide(): void {\r\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\r\n this._renderer.addClass(loaderEl, 'hide');\r\n setTimeout(() => {\r\n this._renderer.setStyle(loaderEl, 'visibility', 'hidden');\r\n this._renderer.setStyle(loaderEl, 'zIndex', '-9999999');\r\n }, this.animationDuration());\r\n }\r\n}\r\n","<div>\r\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA,MAAM,YAAY,GAAsB;AACtC,IAAA,OAAO,EAAE;CACV;AAEM,MAAM,iBAAiB,GAAG,WAAW,CAC1C,EAAE,UAAU,EAAE,MAAM,EAAE,EACtB,SAAS,CAAC,YAAY,CAAC,EACvB,WAAW,CAAC,CAAC,KAAK,MAAM;IACtB,IAAI,GAAA;QACF,UAAU,CAAC,KAAK,EAAE;AAChB,YAAA,OAAO,EAAE;AACV,SAAA,CAAC;IACJ,CAAC;IACD,IAAI,GAAA;QACF,UAAU,CAAC,KAAK,EAAE;AAChB,YAAA,OAAO,EAAE;AACV,SAAA,CAAC;IACJ;CACD,CAAC,CAAC;;MCCQ,qBAAqB,CAAA;AACxB,IAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAClC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAEhC,iBAAiB,GAAG,KAAK,CAAC,GAAG,qDAC3B,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CADG;AAC7B,YAAA,SAAS,EAAE;SACZ,CAAA,CAAA,CAAC,CAAC;IACH,SAAS,GAAG,KAAK,CAAC,IAAI,6CACpB,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CADJ;AACtB,YAAA,SAAS,EAAE;SACZ,CAAA,CAAA,CAAC,CAAC;AAEH,IAAA,WAAA,GAAA;QACE,MAAM,YAAY,GAAG,QAAQ,CAAoB,IAAI,CAAC,MAAM,CAAC;QAE7D,MAAM,CAAC,MAAK;YACV,MAAM,YAAY,GAAG,QAAQ,CAAoB,IAAI,CAAC,MAAM,CAAC;YAE7D,IAAI,YAAY,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO,EAAE;gBACjD;YACF;AAEA,YAAA,IAAI,YAAY,CAAC,OAAO,EAAE;gBACxB,IAAI,CAAC,KAAK,EAAE;YACd;iBAAO;gBACL,IAAI,CAAC,KAAK,EAAE;YACd;AACF,QAAA,CAAC,CAAC;QAEF,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;iBAC/B,IAAI,CACH,MAAM,CAAC,KAAK,IAAG,KAAK,YAAY,aAAa,CAAC;iBAE/C,SAAS,CAAC,MAAK;gBACd,YAAY,CAAC,WAAW,EAAE;gBAC1B,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,KAAK,EAAE;oBACZ,YAAY,CAAC,WAAW,EAAE;AAC5B,gBAAA,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACtB,YAAA,CAAC,CAAC;AAEN,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,CAAC,WAAW,CACxB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,6CAA6C,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,IAAI,GAAG,CACvH;IACH;IAEQ,KAAK,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAA4B;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACxD;IAEQ,KAAK,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAA4B;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;AACzD,QAAA,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC9B;wGAjEW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,ucCzBlC,gFAGA,EAAA,MAAA,EAAA,CAAA,4eAAA,CAAA,EAAA,CAAA;;4FDsBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,QAAA,EACnB,iBAAiB,EAAA,OAAA,EAClB,EAAE,EAAA,IAAA,EAGL;AACJ,wBAAA,OAAO,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,gFAAA,EAAA,MAAA,EAAA,CAAA,4eAAA,CAAA,EAAA;;;AEvBH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-splash-screen.mjs","sources":["../../../projects/components/splash-screen/src/splash-screen.store.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.ts","../../../projects/components/splash-screen/src/splash-screen/splash-screen.component.html","../../../projects/components/splash-screen/elementar-rt-components-splash-screen.ts"],"sourcesContent":["import { patchState, signalStore, withMethods, withState } from '@ngrx/signals';\n\nexport interface SplashScreenState {\n visible: boolean;\n}\n\nconst initialState: SplashScreenState = {\n visible: true\n};\n\nexport const SplashScreenStore = signalStore(\n { providedIn: 'root' },\n withState(initialState),\n withMethods((store) => ({\n show(): void {\n patchState(store, {\n visible: true\n });\n },\n hide(): void {\n patchState(store, {\n visible: false\n });\n }\n }))\n);\n","import {\n afterNextRender,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n Renderer2\n} from '@angular/core';\nimport { getState } from '@ngrx/signals';\nimport { SplashScreenState, SplashScreenStore } from '../splash-screen.store';\nimport { filter } from 'rxjs';\nimport { NavigationEnd, Router } from '@angular/router';\n\n@Component({\n selector: 'emr-splash-screen',\n exportAs: 'emrSplashScreen',\n imports: [],\n templateUrl: './splash-screen.component.html',\n styleUrl: './splash-screen.component.scss',\n host: {\n 'class': 'emr-splash-screen',\n }\n})\nexport class SplashScreenComponent {\n private _store = inject(SplashScreenStore);\n private _renderer = inject(Renderer2);\n private _elementRef = inject(ElementRef);\n private _router = inject(Router);\n\n animationDuration = input(500, {\n transform: numberAttribute\n }); // in milliseconds\n hideDelay = input(1000, {\n transform: numberAttribute\n }); // in milliseconds\n\n constructor() {\n const initialState = getState<SplashScreenState>(this._store);\n\n effect(() => {\n const currentState = getState<SplashScreenState>(this._store);\n\n if (initialState.visible === currentState.visible) {\n return;\n }\n\n if (currentState.visible) {\n this._show();\n } else {\n this._hide();\n }\n });\n\n afterNextRender(() => {\n const subscription = this._router.events\n .pipe(\n filter(event=> event instanceof NavigationEnd)\n )\n .subscribe(() => {\n subscription.unsubscribe();\n setTimeout(() => {\n this._hide();\n subscription.unsubscribe();\n }, this.hideDelay());\n })\n ;\n });\n }\n\n ngOnInit() {\n this._renderer.setProperty(\n this._elementRef.nativeElement, '--emr-splash-screen-hide-animation-duration', (this.animationDuration() / 1000) + 's'\n );\n }\n\n private _show(): void {\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\n this._renderer.setStyle(loaderEl, 'visibility', 'visible');\n this._renderer.setStyle(loaderEl, 'zIndex', '9999999');\n }\n\n private _hide(): void {\n const loaderEl = this._elementRef.nativeElement as HTMLElement;\n this._renderer.addClass(loaderEl, 'hide');\n setTimeout(() => {\n this._renderer.setStyle(loaderEl, 'visibility', 'hidden');\n this._renderer.setStyle(loaderEl, 'zIndex', '-9999999');\n }, this.animationDuration());\n }\n}\n","<div>\n <ng-content select=\"emr-text-logo,emr-image-logo\"/>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA,MAAM,YAAY,GAAsB;AACtC,IAAA,OAAO,EAAE;CACV;AAEM,MAAM,iBAAiB,GAAG,WAAW,CAC1C,EAAE,UAAU,EAAE,MAAM,EAAE,EACtB,SAAS,CAAC,YAAY,CAAC,EACvB,WAAW,CAAC,CAAC,KAAK,MAAM;IACtB,IAAI,GAAA;QACF,UAAU,CAAC,KAAK,EAAE;AAChB,YAAA,OAAO,EAAE;AACV,SAAA,CAAC;IACJ,CAAC;IACD,IAAI,GAAA;QACF,UAAU,CAAC,KAAK,EAAE;AAChB,YAAA,OAAO,EAAE;AACV,SAAA,CAAC;IACJ;CACD,CAAC,CAAC;;MCCQ,qBAAqB,CAAA;AACxB,IAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAClC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,IAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAEhC,iBAAiB,GAAG,KAAK,CAAC,GAAG,qDAC3B,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CADG;AAC7B,YAAA,SAAS,EAAE;SACZ,CAAA,CAAA,CAAC,CAAC;IACH,SAAS,GAAG,KAAK,CAAC,IAAI,6CACpB,SAAS,EAAE,eAAe,EAAA,CAAA,GAAA,CADJ;AACtB,YAAA,SAAS,EAAE;SACZ,CAAA,CAAA,CAAC,CAAC;AAEH,IAAA,WAAA,GAAA;QACE,MAAM,YAAY,GAAG,QAAQ,CAAoB,IAAI,CAAC,MAAM,CAAC;QAE7D,MAAM,CAAC,MAAK;YACV,MAAM,YAAY,GAAG,QAAQ,CAAoB,IAAI,CAAC,MAAM,CAAC;YAE7D,IAAI,YAAY,CAAC,OAAO,KAAK,YAAY,CAAC,OAAO,EAAE;gBACjD;YACF;AAEA,YAAA,IAAI,YAAY,CAAC,OAAO,EAAE;gBACxB,IAAI,CAAC,KAAK,EAAE;YACd;iBAAO;gBACL,IAAI,CAAC,KAAK,EAAE;YACd;AACF,QAAA,CAAC,CAAC;QAEF,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;iBAC/B,IAAI,CACH,MAAM,CAAC,KAAK,IAAG,KAAK,YAAY,aAAa,CAAC;iBAE/C,SAAS,CAAC,MAAK;gBACd,YAAY,CAAC,WAAW,EAAE;gBAC1B,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,KAAK,EAAE;oBACZ,YAAY,CAAC,WAAW,EAAE;AAC5B,gBAAA,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACtB,YAAA,CAAC,CAAC;AAEN,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,CAAC,WAAW,CACxB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,6CAA6C,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,IAAI,GAAG,CACvH;IACH;IAEQ,KAAK,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAA4B;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACxD;IAEQ,KAAK,GAAA;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAA4B;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzC,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;AACzD,QAAA,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC9B;wGAjEW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,ucCzBlC,0EAGA,EAAA,MAAA,EAAA,CAAA,2eAAA,CAAA,EAAA,CAAA;;4FDsBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,QAAA,EACnB,iBAAiB,EAAA,OAAA,EAClB,EAAE,EAAA,IAAA,EAGL;AACJ,wBAAA,OAAO,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,2eAAA,CAAA,EAAA;;;AEvBH;;AAEG;;;;"}
@@ -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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"}