@elementar-rt/components 0.6.58 → 0.7.0

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 (391) hide show
  1. package/README.md +7 -2
  2. package/fesm2022/elementar-rt-components-action-required.mjs +8 -8
  3. package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
  4. package/fesm2022/elementar-rt-components-alert.mjs +21 -25
  5. package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
  6. package/fesm2022/elementar-rt-components-announcement.mjs +12 -14
  7. package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
  8. package/fesm2022/elementar-rt-components-avatar.mjs +34 -38
  9. package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
  10. package/fesm2022/elementar-rt-components-badge.mjs +10 -10
  11. package/fesm2022/elementar-rt-components-badge.mjs.map +1 -1
  12. package/fesm2022/elementar-rt-components-block-loader.mjs +10 -16
  13. package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
  14. package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
  15. package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
  16. package/fesm2022/elementar-rt-components-bottom-sheet.mjs +12 -12
  17. package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -1
  18. package/fesm2022/elementar-rt-components-brand-colors.mjs +9 -13
  19. package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
  20. package/fesm2022/elementar-rt-components-breadcrumbs.mjs +49 -53
  21. package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/elementar-rt-components-button-toggle.mjs +16 -16
  23. package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -1
  24. package/fesm2022/elementar-rt-components-calendar.mjs +10 -10
  25. package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -1
  26. package/fesm2022/elementar-rt-components-card-overlay.mjs +10 -16
  27. package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
  28. package/fesm2022/elementar-rt-components-card.mjs +18 -18
  29. package/fesm2022/elementar-rt-components-card.mjs.map +1 -1
  30. package/fesm2022/elementar-rt-components-carousel.mjs +48 -50
  31. package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
  32. package/fesm2022/elementar-rt-components-chips.mjs +12 -12
  33. package/fesm2022/elementar-rt-components-chips.mjs.map +1 -1
  34. package/fesm2022/elementar-rt-components-clipboard-copy.mjs +17 -17
  35. package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -1
  36. package/fesm2022/elementar-rt-components-code-highlighter.mjs +12 -12
  37. package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
  38. package/fesm2022/elementar-rt-components-color-picker.mjs +44 -52
  39. package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
  40. package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
  41. package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
  42. package/fesm2022/elementar-rt-components-combobox.mjs +13 -13
  43. package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -1
  44. package/fesm2022/elementar-rt-components-command-bar.mjs +15 -17
  45. package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
  46. package/fesm2022/elementar-rt-components-comment-editor.mjs +106 -106
  47. package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
  48. package/fesm2022/elementar-rt-components-comparison-slider.mjs +16 -16
  49. package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
  50. package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
  51. package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
  52. package/fesm2022/elementar-rt-components-content-editor.mjs +7 -7
  53. package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -1
  54. package/fesm2022/elementar-rt-components-content-fade.mjs +7 -7
  55. package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
  56. package/fesm2022/elementar-rt-components-cookie-popup.mjs +15 -17
  57. package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
  58. package/fesm2022/elementar-rt-components-core.mjs +68 -75
  59. package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
  60. package/fesm2022/elementar-rt-components-country-select.mjs +15 -17
  61. package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
  62. package/fesm2022/elementar-rt-components-crop.mjs +12 -12
  63. package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
  64. package/fesm2022/elementar-rt-components-currency-select.mjs +15 -17
  65. package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
  66. package/fesm2022/elementar-rt-components-dashboard.mjs +15 -19
  67. package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
  68. package/fesm2022/elementar-rt-components-data-grid.mjs +20 -20
  69. package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -1
  70. package/fesm2022/elementar-rt-components-data-view.mjs +38 -52
  71. package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
  72. package/fesm2022/elementar-rt-components-date-format-select.mjs +8 -8
  73. package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
  74. package/fesm2022/elementar-rt-components-datepicker.mjs +12 -12
  75. package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -1
  76. package/fesm2022/elementar-rt-components-dialog.mjs +19 -19
  77. package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -1
  78. package/fesm2022/elementar-rt-components-digit-roller.mjs +10 -10
  79. package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -1
  80. package/fesm2022/elementar-rt-components-divider.mjs +8 -8
  81. package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
  82. package/fesm2022/elementar-rt-components-drawer.mjs +14 -14
  83. package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
  84. package/fesm2022/elementar-rt-components-emoji-picker.mjs +15 -17
  85. package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
  86. package/fesm2022/elementar-rt-components-empty-state.mjs +8 -8
  87. package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -1
  88. package/fesm2022/elementar-rt-components-expand.mjs +10 -14
  89. package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
  90. package/fesm2022/elementar-rt-components-expansion-panel.mjs +6 -6
  91. package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -1
  92. package/fesm2022/elementar-rt-components-filter-builder.mjs +24 -26
  93. package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
  94. package/fesm2022/elementar-rt-components-filter-select.mjs +19 -19
  95. package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -1
  96. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs} +6 -6
  97. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs.map} +1 -1
  98. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs} +7 -7
  99. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs.map} +1 -1
  100. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs} +6 -6
  101. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs.map} +1 -1
  102. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs} +4 -4
  103. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs.map} +1 -1
  104. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs} +5 -5
  105. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs.map} +1 -1
  106. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs} +7 -7
  107. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs.map} +1 -1
  108. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs} +7 -7
  109. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs.map} +1 -1
  110. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs} +6 -6
  111. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs.map} +1 -1
  112. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs} +5 -5
  113. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs.map} +1 -1
  114. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs} +6 -6
  115. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs.map} +1 -1
  116. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs} +7 -7
  117. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs.map} +1 -1
  118. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs} +7 -7
  119. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs.map} +1 -1
  120. package/fesm2022/elementar-rt-components-form-renderer.mjs +36 -36
  121. package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
  122. package/fesm2022/elementar-rt-components-gauge.mjs +11 -17
  123. package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
  124. package/fesm2022/elementar-rt-components-grid.mjs +12 -12
  125. package/fesm2022/elementar-rt-components-grid.mjs.map +1 -1
  126. package/fesm2022/elementar-rt-components-guided-tour.mjs +12 -12
  127. package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -1
  128. package/fesm2022/elementar-rt-components-headless-stepper.mjs +10 -10
  129. package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -1
  130. package/fesm2022/elementar-rt-components-icon.mjs +6 -6
  131. package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
  132. package/fesm2022/elementar-rt-components-image-placeholder.mjs +10 -10
  133. package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -1
  134. package/fesm2022/elementar-rt-components-image-resizer.mjs +17 -25
  135. package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
  136. package/fesm2022/elementar-rt-components-image-viewer.mjs +29 -29
  137. package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
  138. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +16 -16
  139. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -1
  140. package/fesm2022/elementar-rt-components-incidents.mjs +55 -57
  141. package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
  142. package/fesm2022/elementar-rt-components-inline-text-edit.mjs +8 -10
  143. package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
  144. package/fesm2022/elementar-rt-components-input-mask.mjs +12 -12
  145. package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
  146. package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
  147. package/fesm2022/elementar-rt-components-kanban-board.mjs +10 -10
  148. package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
  149. package/fesm2022/elementar-rt-components-keyboard.mjs +9 -9
  150. package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -1
  151. package/fesm2022/elementar-rt-components-layout.mjs +36 -40
  152. package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
  153. package/fesm2022/elementar-rt-components-list.mjs +13 -13
  154. package/fesm2022/elementar-rt-components-list.mjs.map +1 -1
  155. package/fesm2022/elementar-rt-components-logo.mjs +12 -12
  156. package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
  157. package/fesm2022/elementar-rt-components-marquee.mjs +9 -13
  158. package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
  159. package/fesm2022/elementar-rt-components-menu.mjs +19 -19
  160. package/fesm2022/elementar-rt-components-menu.mjs.map +1 -1
  161. package/fesm2022/elementar-rt-components-micro-chart.mjs +65 -111
  162. package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
  163. package/fesm2022/elementar-rt-components-multi-select.mjs +13 -13
  164. package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -1
  165. package/fesm2022/elementar-rt-components-navigation.mjs +56 -66
  166. package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
  167. package/fesm2022/elementar-rt-components-notifications.mjs +47 -53
  168. package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
  169. package/fesm2022/elementar-rt-components-number-input.mjs +23 -31
  170. package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
  171. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +34 -34
  172. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
  173. package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
  174. package/fesm2022/elementar-rt-components-page-loading-bar.mjs +5 -7
  175. package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
  176. package/fesm2022/elementar-rt-components-paginator.mjs +12 -12
  177. package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -1
  178. package/fesm2022/elementar-rt-components-panel.mjs +25 -27
  179. package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
  180. package/fesm2022/elementar-rt-components-password-strength.mjs +35 -59
  181. package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
  182. package/fesm2022/elementar-rt-components-phone-input.mjs +23 -26
  183. package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
  184. package/fesm2022/elementar-rt-components-pin-input.mjs +17 -21
  185. package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
  186. package/fesm2022/elementar-rt-components-popover.mjs +18 -28
  187. package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
  188. package/fesm2022/elementar-rt-components-progress-bar.mjs +10 -10
  189. package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -1
  190. package/fesm2022/elementar-rt-components-progress-spinner.mjs +14 -14
  191. package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -1
  192. package/fesm2022/elementar-rt-components-radio-card.mjs +21 -21
  193. package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
  194. package/fesm2022/elementar-rt-components-rail-nav.mjs +14 -14
  195. package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
  196. package/fesm2022/elementar-rt-components-rating.mjs +15 -15
  197. package/fesm2022/elementar-rt-components-rating.mjs.map +1 -1
  198. package/fesm2022/elementar-rt-components-resizable-container.mjs +5 -7
  199. package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
  200. package/fesm2022/elementar-rt-components-screen-loader.mjs +5 -7
  201. package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
  202. package/fesm2022/elementar-rt-components-scroll-spy.mjs +18 -18
  203. package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
  204. package/fesm2022/elementar-rt-components-segmented.mjs +18 -24
  205. package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
  206. package/fesm2022/elementar-rt-components-side-panel.mjs +18 -18
  207. package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
  208. package/fesm2022/elementar-rt-components-sidebar.mjs +71 -77
  209. package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
  210. package/fesm2022/elementar-rt-components-sidenav.mjs +15 -15
  211. package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -1
  212. package/fesm2022/elementar-rt-components-signature-pad.mjs +17 -17
  213. package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
  214. package/fesm2022/elementar-rt-components-skeleton.mjs +17 -17
  215. package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
  216. package/fesm2022/elementar-rt-components-slider.mjs +13 -13
  217. package/fesm2022/elementar-rt-components-slider.mjs.map +1 -1
  218. package/fesm2022/elementar-rt-components-snackbar.mjs +10 -10
  219. package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -1
  220. package/fesm2022/elementar-rt-components-sort.mjs +11 -11
  221. package/fesm2022/elementar-rt-components-sort.mjs.map +1 -1
  222. package/fesm2022/elementar-rt-components-splash-screen.mjs +6 -10
  223. package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
  224. package/fesm2022/elementar-rt-components-split-pane.mjs +10 -10
  225. package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -1
  226. package/fesm2022/elementar-rt-components-stat-card.mjs +10 -10
  227. package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -1
  228. package/fesm2022/elementar-rt-components-step-tracker.mjs +8 -8
  229. package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -1
  230. package/fesm2022/elementar-rt-components-stepper.mjs +21 -23
  231. package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
  232. package/fesm2022/elementar-rt-components-suggestions.mjs +21 -25
  233. package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
  234. package/fesm2022/elementar-rt-components-tab-panel.mjs +54 -60
  235. package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
  236. package/fesm2022/elementar-rt-components-table.mjs +16 -16
  237. package/fesm2022/elementar-rt-components-table.mjs.map +1 -1
  238. package/fesm2022/elementar-rt-components-tabs.mjs +14 -14
  239. package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -1
  240. package/fesm2022/elementar-rt-components-tag.mjs +9 -9
  241. package/fesm2022/elementar-rt-components-tag.mjs.map +1 -1
  242. package/fesm2022/elementar-rt-components-text-editor.mjs +97 -96
  243. package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
  244. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +11 -13
  245. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
  246. package/fesm2022/elementar-rt-components-tiles.mjs +9 -9
  247. package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -1
  248. package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
  249. package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
  250. package/fesm2022/elementar-rt-components-timepicker.mjs +11 -11
  251. package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -1
  252. package/fesm2022/elementar-rt-components-timezone-select.mjs +23 -29
  253. package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
  254. package/fesm2022/elementar-rt-components-toast.mjs +14 -14
  255. package/fesm2022/elementar-rt-components-toast.mjs.map +1 -1
  256. package/fesm2022/elementar-rt-components-toolbar.mjs +6 -6
  257. package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -1
  258. package/fesm2022/elementar-rt-components-tooltip.mjs +14 -14
  259. package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -1
  260. package/fesm2022/elementar-rt-components-tree.mjs +17 -17
  261. package/fesm2022/elementar-rt-components-tree.mjs.map +1 -1
  262. package/fesm2022/elementar-rt-components-upload.mjs +77 -87
  263. package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
  264. package/fesm2022/elementar-rt-components-video-player.mjs +22 -22
  265. package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -1
  266. package/fesm2022/elementar-rt-components-video-viewer.mjs +16 -16
  267. package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -1
  268. package/package.json +136 -135
  269. package/{country-select/index.d.ts → types/elementar-rt-components-country-select.d.ts} +1 -1
  270. package/{currency-select/index.d.ts → types/elementar-rt-components-currency-select.d.ts} +1 -1
  271. /package/{action-required/index.d.ts → types/elementar-rt-components-action-required.d.ts} +0 -0
  272. /package/{alert/index.d.ts → types/elementar-rt-components-alert.d.ts} +0 -0
  273. /package/{announcement/index.d.ts → types/elementar-rt-components-announcement.d.ts} +0 -0
  274. /package/{avatar/index.d.ts → types/elementar-rt-components-avatar.d.ts} +0 -0
  275. /package/{badge/index.d.ts → types/elementar-rt-components-badge.d.ts} +0 -0
  276. /package/{block-loader/index.d.ts → types/elementar-rt-components-block-loader.d.ts} +0 -0
  277. /package/{block-state/index.d.ts → types/elementar-rt-components-block-state.d.ts} +0 -0
  278. /package/{bottom-sheet/index.d.ts → types/elementar-rt-components-bottom-sheet.d.ts} +0 -0
  279. /package/{brand-colors/index.d.ts → types/elementar-rt-components-brand-colors.d.ts} +0 -0
  280. /package/{breadcrumbs/index.d.ts → types/elementar-rt-components-breadcrumbs.d.ts} +0 -0
  281. /package/{button-toggle/index.d.ts → types/elementar-rt-components-button-toggle.d.ts} +0 -0
  282. /package/{calendar/index.d.ts → types/elementar-rt-components-calendar.d.ts} +0 -0
  283. /package/{card-overlay/index.d.ts → types/elementar-rt-components-card-overlay.d.ts} +0 -0
  284. /package/{card/index.d.ts → types/elementar-rt-components-card.d.ts} +0 -0
  285. /package/{carousel/index.d.ts → types/elementar-rt-components-carousel.d.ts} +0 -0
  286. /package/{chips/index.d.ts → types/elementar-rt-components-chips.d.ts} +0 -0
  287. /package/{clipboard-copy/index.d.ts → types/elementar-rt-components-clipboard-copy.d.ts} +0 -0
  288. /package/{code-highlighter/index.d.ts → types/elementar-rt-components-code-highlighter.d.ts} +0 -0
  289. /package/{color-picker/index.d.ts → types/elementar-rt-components-color-picker.d.ts} +0 -0
  290. /package/{color-scheme/index.d.ts → types/elementar-rt-components-color-scheme.d.ts} +0 -0
  291. /package/{combobox/index.d.ts → types/elementar-rt-components-combobox.d.ts} +0 -0
  292. /package/{command-bar/index.d.ts → types/elementar-rt-components-command-bar.d.ts} +0 -0
  293. /package/{comment-editor/index.d.ts → types/elementar-rt-components-comment-editor.d.ts} +0 -0
  294. /package/{comparison-slider/index.d.ts → types/elementar-rt-components-comparison-slider.d.ts} +0 -0
  295. /package/{confirm/index.d.ts → types/elementar-rt-components-confirm.d.ts} +0 -0
  296. /package/{content-editor/index.d.ts → types/elementar-rt-components-content-editor.d.ts} +0 -0
  297. /package/{content-fade/index.d.ts → types/elementar-rt-components-content-fade.d.ts} +0 -0
  298. /package/{cookie-popup/index.d.ts → types/elementar-rt-components-cookie-popup.d.ts} +0 -0
  299. /package/{core/index.d.ts → types/elementar-rt-components-core.d.ts} +0 -0
  300. /package/{crop/index.d.ts → types/elementar-rt-components-crop.d.ts} +0 -0
  301. /package/{dashboard/index.d.ts → types/elementar-rt-components-dashboard.d.ts} +0 -0
  302. /package/{data-grid/index.d.ts → types/elementar-rt-components-data-grid.d.ts} +0 -0
  303. /package/{data-view/index.d.ts → types/elementar-rt-components-data-view.d.ts} +0 -0
  304. /package/{date-format-select/index.d.ts → types/elementar-rt-components-date-format-select.d.ts} +0 -0
  305. /package/{datepicker/index.d.ts → types/elementar-rt-components-datepicker.d.ts} +0 -0
  306. /package/{dialog/index.d.ts → types/elementar-rt-components-dialog.d.ts} +0 -0
  307. /package/{digit-roller/index.d.ts → types/elementar-rt-components-digit-roller.d.ts} +0 -0
  308. /package/{divider/index.d.ts → types/elementar-rt-components-divider.d.ts} +0 -0
  309. /package/{drawer/index.d.ts → types/elementar-rt-components-drawer.d.ts} +0 -0
  310. /package/{emoji-picker/index.d.ts → types/elementar-rt-components-emoji-picker.d.ts} +0 -0
  311. /package/{empty-state/index.d.ts → types/elementar-rt-components-empty-state.d.ts} +0 -0
  312. /package/{expand/index.d.ts → types/elementar-rt-components-expand.d.ts} +0 -0
  313. /package/{expansion-panel/index.d.ts → types/elementar-rt-components-expansion-panel.d.ts} +0 -0
  314. /package/{filter-builder/index.d.ts → types/elementar-rt-components-filter-builder.d.ts} +0 -0
  315. /package/{filter-select/index.d.ts → types/elementar-rt-components-filter-select.d.ts} +0 -0
  316. /package/{form-renderer/index.d.ts → types/elementar-rt-components-form-renderer.d.ts} +0 -0
  317. /package/{gauge/index.d.ts → types/elementar-rt-components-gauge.d.ts} +0 -0
  318. /package/{grid/index.d.ts → types/elementar-rt-components-grid.d.ts} +0 -0
  319. /package/{guided-tour/index.d.ts → types/elementar-rt-components-guided-tour.d.ts} +0 -0
  320. /package/{headless-stepper/index.d.ts → types/elementar-rt-components-headless-stepper.d.ts} +0 -0
  321. /package/{icon/index.d.ts → types/elementar-rt-components-icon.d.ts} +0 -0
  322. /package/{image-placeholder/index.d.ts → types/elementar-rt-components-image-placeholder.d.ts} +0 -0
  323. /package/{image-resizer/index.d.ts → types/elementar-rt-components-image-resizer.d.ts} +0 -0
  324. /package/{image-viewer/index.d.ts → types/elementar-rt-components-image-viewer.d.ts} +0 -0
  325. /package/{image-zoom-viewer/index.d.ts → types/elementar-rt-components-image-zoom-viewer.d.ts} +0 -0
  326. /package/{incidents/index.d.ts → types/elementar-rt-components-incidents.d.ts} +0 -0
  327. /package/{inline-text-edit/index.d.ts → types/elementar-rt-components-inline-text-edit.d.ts} +0 -0
  328. /package/{input-mask/index.d.ts → types/elementar-rt-components-input-mask.d.ts} +0 -0
  329. /package/{input-validator/index.d.ts → types/elementar-rt-components-input-validator.d.ts} +0 -0
  330. /package/{kanban-board/index.d.ts → types/elementar-rt-components-kanban-board.d.ts} +0 -0
  331. /package/{keyboard/index.d.ts → types/elementar-rt-components-keyboard.d.ts} +0 -0
  332. /package/{layout/index.d.ts → types/elementar-rt-components-layout.d.ts} +0 -0
  333. /package/{list/index.d.ts → types/elementar-rt-components-list.d.ts} +0 -0
  334. /package/{logo/index.d.ts → types/elementar-rt-components-logo.d.ts} +0 -0
  335. /package/{marquee/index.d.ts → types/elementar-rt-components-marquee.d.ts} +0 -0
  336. /package/{menu/index.d.ts → types/elementar-rt-components-menu.d.ts} +0 -0
  337. /package/{micro-chart/index.d.ts → types/elementar-rt-components-micro-chart.d.ts} +0 -0
  338. /package/{multi-select/index.d.ts → types/elementar-rt-components-multi-select.d.ts} +0 -0
  339. /package/{navigation/index.d.ts → types/elementar-rt-components-navigation.d.ts} +0 -0
  340. /package/{notifications/index.d.ts → types/elementar-rt-components-notifications.d.ts} +0 -0
  341. /package/{number-input/index.d.ts → types/elementar-rt-components-number-input.d.ts} +0 -0
  342. /package/{overlay-scrollbar/index.d.ts → types/elementar-rt-components-overlay-scrollbar.d.ts} +0 -0
  343. /package/{overlay/index.d.ts → types/elementar-rt-components-overlay.d.ts} +0 -0
  344. /package/{page-loading-bar/index.d.ts → types/elementar-rt-components-page-loading-bar.d.ts} +0 -0
  345. /package/{paginator/index.d.ts → types/elementar-rt-components-paginator.d.ts} +0 -0
  346. /package/{panel/index.d.ts → types/elementar-rt-components-panel.d.ts} +0 -0
  347. /package/{password-strength/index.d.ts → types/elementar-rt-components-password-strength.d.ts} +0 -0
  348. /package/{phone-input/index.d.ts → types/elementar-rt-components-phone-input.d.ts} +0 -0
  349. /package/{pin-input/index.d.ts → types/elementar-rt-components-pin-input.d.ts} +0 -0
  350. /package/{popover/index.d.ts → types/elementar-rt-components-popover.d.ts} +0 -0
  351. /package/{progress-bar/index.d.ts → types/elementar-rt-components-progress-bar.d.ts} +0 -0
  352. /package/{progress-spinner/index.d.ts → types/elementar-rt-components-progress-spinner.d.ts} +0 -0
  353. /package/{radio-card/index.d.ts → types/elementar-rt-components-radio-card.d.ts} +0 -0
  354. /package/{rail-nav/index.d.ts → types/elementar-rt-components-rail-nav.d.ts} +0 -0
  355. /package/{rating/index.d.ts → types/elementar-rt-components-rating.d.ts} +0 -0
  356. /package/{resizable-container/index.d.ts → types/elementar-rt-components-resizable-container.d.ts} +0 -0
  357. /package/{screen-loader/index.d.ts → types/elementar-rt-components-screen-loader.d.ts} +0 -0
  358. /package/{scroll-spy/index.d.ts → types/elementar-rt-components-scroll-spy.d.ts} +0 -0
  359. /package/{segmented/index.d.ts → types/elementar-rt-components-segmented.d.ts} +0 -0
  360. /package/{side-panel/index.d.ts → types/elementar-rt-components-side-panel.d.ts} +0 -0
  361. /package/{sidebar/index.d.ts → types/elementar-rt-components-sidebar.d.ts} +0 -0
  362. /package/{sidenav/index.d.ts → types/elementar-rt-components-sidenav.d.ts} +0 -0
  363. /package/{signature-pad/index.d.ts → types/elementar-rt-components-signature-pad.d.ts} +0 -0
  364. /package/{skeleton/index.d.ts → types/elementar-rt-components-skeleton.d.ts} +0 -0
  365. /package/{slider/index.d.ts → types/elementar-rt-components-slider.d.ts} +0 -0
  366. /package/{snackbar/index.d.ts → types/elementar-rt-components-snackbar.d.ts} +0 -0
  367. /package/{sort/index.d.ts → types/elementar-rt-components-sort.d.ts} +0 -0
  368. /package/{splash-screen/index.d.ts → types/elementar-rt-components-splash-screen.d.ts} +0 -0
  369. /package/{split-pane/index.d.ts → types/elementar-rt-components-split-pane.d.ts} +0 -0
  370. /package/{stat-card/index.d.ts → types/elementar-rt-components-stat-card.d.ts} +0 -0
  371. /package/{step-tracker/index.d.ts → types/elementar-rt-components-step-tracker.d.ts} +0 -0
  372. /package/{stepper/index.d.ts → types/elementar-rt-components-stepper.d.ts} +0 -0
  373. /package/{suggestions/index.d.ts → types/elementar-rt-components-suggestions.d.ts} +0 -0
  374. /package/{tab-panel/index.d.ts → types/elementar-rt-components-tab-panel.d.ts} +0 -0
  375. /package/{table/index.d.ts → types/elementar-rt-components-table.d.ts} +0 -0
  376. /package/{tabs/index.d.ts → types/elementar-rt-components-tabs.d.ts} +0 -0
  377. /package/{tag/index.d.ts → types/elementar-rt-components-tag.d.ts} +0 -0
  378. /package/{text-editor/index.d.ts → types/elementar-rt-components-text-editor.d.ts} +0 -0
  379. /package/{thumbnail-maker/index.d.ts → types/elementar-rt-components-thumbnail-maker.d.ts} +0 -0
  380. /package/{tiles/index.d.ts → types/elementar-rt-components-tiles.d.ts} +0 -0
  381. /package/{timeline/index.d.ts → types/elementar-rt-components-timeline.d.ts} +0 -0
  382. /package/{timepicker/index.d.ts → types/elementar-rt-components-timepicker.d.ts} +0 -0
  383. /package/{timezone-select/index.d.ts → types/elementar-rt-components-timezone-select.d.ts} +0 -0
  384. /package/{toast/index.d.ts → types/elementar-rt-components-toast.d.ts} +0 -0
  385. /package/{toolbar/index.d.ts → types/elementar-rt-components-toolbar.d.ts} +0 -0
  386. /package/{tooltip/index.d.ts → types/elementar-rt-components-tooltip.d.ts} +0 -0
  387. /package/{tree/index.d.ts → types/elementar-rt-components-tree.d.ts} +0 -0
  388. /package/{upload/index.d.ts → types/elementar-rt-components-upload.d.ts} +0 -0
  389. /package/{video-player/index.d.ts → types/elementar-rt-components-video-player.d.ts} +0 -0
  390. /package/{video-viewer/index.d.ts → types/elementar-rt-components-video-viewer.d.ts} +0 -0
  391. /package/{index.d.ts → types/elementar-rt-components.d.ts} +0 -0
@@ -159,10 +159,10 @@ class FilterTimezonesPipe {
159
159
  }
160
160
  return resultGroups;
161
161
  }
162
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterTimezonesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
163
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: FilterTimezonesPipe, isStandalone: true, name: "filterTimezones" });
162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterTimezonesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
163
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: FilterTimezonesPipe, isStandalone: true, name: "filterTimezones" });
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterTimezonesPipe, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterTimezonesPipe, decorators: [{
166
166
  type: Pipe,
167
167
  args: [{
168
168
  name: 'filterTimezones',
@@ -178,29 +178,23 @@ class TimezoneSelectComponent {
178
178
  ngControl = inject(NgControl, { optional: true, self: true });
179
179
  searchInput = viewChild.required('searchInput');
180
180
  selectRef = viewChild.required('select');
181
- timezoneGroups = signal([], ...(ngDevMode ? [{ debugName: "timezoneGroups" }] : []));
182
- touched = signal(false, ...(ngDevMode ? [{ debugName: "touched" }] : []));
181
+ timezoneGroups = signal([], ...(ngDevMode ? [{ debugName: "timezoneGroups" }] : /* istanbul ignore next */ []));
182
+ touched = signal(false, ...(ngDevMode ? [{ debugName: "touched" }] : /* istanbul ignore next */ []));
183
183
  stateChanges = new Subject();
184
184
  controlType = 'emr-timezone-select';
185
185
  id = `emr-timezone-select-${nextId++}`;
186
- _userAriaDescribedBy = input('', ...(ngDevMode ? [{ debugName: "_userAriaDescribedBy", alias: 'aria-describedby' }] : [{ alias: 'aria-describedby' }]));
187
- locale = input(this.localeId, ...(ngDevMode ? [{ debugName: "locale" }] : []));
188
- _placeholder = input('', ...(ngDevMode ? [{ debugName: "_placeholder", alias: 'placeholder' }] : [{ alias: 'placeholder' }]));
189
- _required = input(false, ...(ngDevMode ? [{ debugName: "_required", alias: 'required',
190
- transform: booleanAttribute }] : [{
191
- alias: 'required',
192
- transform: booleanAttribute,
193
- }]));
194
- _disabledByInput = input(false, ...(ngDevMode ? [{ debugName: "_disabledByInput", alias: 'disabled',
195
- transform: booleanAttribute }] : [{
196
- alias: 'disabled',
197
- transform: booleanAttribute,
198
- }]));
199
- _value = model(null, ...(ngDevMode ? [{ debugName: "_value", alias: 'value' }] : [{ alias: 'value' }]));
200
- searchTerm = model('', ...(ngDevMode ? [{ debugName: "searchTerm" }] : []));
201
- _focused = signal(false, ...(ngDevMode ? [{ debugName: "_focused" }] : []));
202
- _disabledByCva = signal(false, ...(ngDevMode ? [{ debugName: "_disabledByCva" }] : []));
203
- _disabled = computed(() => this._disabledByInput() || this._disabledByCva(), ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
186
+ _userAriaDescribedBy = input('', { ...(ngDevMode ? { debugName: "_userAriaDescribedBy" } : /* istanbul ignore next */ {}), alias: 'aria-describedby' });
187
+ locale = input(this.localeId, ...(ngDevMode ? [{ debugName: "locale" }] : /* istanbul ignore next */ []));
188
+ _placeholder = input('', { ...(ngDevMode ? { debugName: "_placeholder" } : /* istanbul ignore next */ {}), alias: 'placeholder' });
189
+ _required = input(false, { ...(ngDevMode ? { debugName: "_required" } : /* istanbul ignore next */ {}), alias: 'required',
190
+ transform: booleanAttribute });
191
+ _disabledByInput = input(false, { ...(ngDevMode ? { debugName: "_disabledByInput" } : /* istanbul ignore next */ {}), alias: 'disabled',
192
+ transform: booleanAttribute });
193
+ _value = model(null, { ...(ngDevMode ? { debugName: "_value" } : /* istanbul ignore next */ {}), alias: 'value' });
194
+ searchTerm = model('', ...(ngDevMode ? [{ debugName: "searchTerm" }] : /* istanbul ignore next */ []));
195
+ _focused = signal(false, ...(ngDevMode ? [{ debugName: "_focused" }] : /* istanbul ignore next */ []));
196
+ _disabledByCva = signal(false, ...(ngDevMode ? [{ debugName: "_disabledByCva" }] : /* istanbul ignore next */ []));
197
+ _disabled = computed(() => this._disabledByInput() || this._disabledByCva(), ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
204
198
  onChange = (_) => { };
205
199
  onTouched = () => { };
206
200
  get focused() {
@@ -274,7 +268,7 @@ class TimezoneSelectComponent {
274
268
  return;
275
269
  }
276
270
  this._focused.set(true);
277
- this.selectRef().onContainerClick();
271
+ this.selectRef().onContainerClick(event);
278
272
  }
279
273
  setDescribedByIds(ids) {
280
274
  }
@@ -313,16 +307,16 @@ class TimezoneSelectComponent {
313
307
  }
314
308
  this._value.set(value);
315
309
  }
316
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TimezoneSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
317
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TimezoneSelectComponent, isStandalone: true, selector: "emr-timezone-select", inputs: { _userAriaDescribedBy: { classPropertyName: "_userAriaDescribedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, _placeholder: { classPropertyName: "_placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, _disabledByInput: { classPropertyName: "_disabledByInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, _value: { classPropertyName: "_value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { _value: "valueChange", searchTerm: "searchTermChange" }, host: { properties: { "id": "id" }, classAttribute: "emr-timezone-select" }, providers: [
310
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TimezoneSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
311
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: TimezoneSelectComponent, isStandalone: true, selector: "emr-timezone-select", inputs: { _userAriaDescribedBy: { classPropertyName: "_userAriaDescribedBy", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, _placeholder: { classPropertyName: "_placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, _required: { classPropertyName: "_required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, _disabledByInput: { classPropertyName: "_disabledByInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, _value: { classPropertyName: "_value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { _value: "valueChange", searchTerm: "searchTermChange" }, host: { properties: { "id": "id" }, classAttribute: "emr-timezone-select" }, providers: [
318
312
  {
319
313
  provide: MatFormFieldControl,
320
314
  useExisting: forwardRef(() => TimezoneSelectComponent),
321
315
  multi: true,
322
316
  },
323
- ], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }, { propertyName: "selectRef", first: true, predicate: ["select"], descendants: true, isSignal: true }], exportAs: ["emrTimezoneSelect"], ngImport: i0, template: "<mat-select #select=\"matSelect\"\n panelClass=\"emr-timezone-select-panel\"\n [value]=\"_value\"\n [aria-describedby]=\"userAriaDescribedBy\"\n [disabled]=\"disabled\"\n [placeholder]=\"_placeholder()\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\">\n <div class=\"px-3 py-3 rounded-t sticky top-0 z-1 bg-[var(--mat-select-panel-background-color)]\">\n <input #searchInput\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [(ngModel)]=\"searchTerm\"\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\n <button\n mat-icon-button\n (click)=\"clearSearch()\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n </div>\n @for (timezoneGroup of timezoneGroups() | filterTimezones:searchTerm(); track timezoneGroup.name) {\n <div class=\"px-4 font-bold text-on-surface-container my-4\" i18n>{{ timezoneGroup.name }}</div>\n <div>\n @for (timezone of timezoneGroup.timezones; track timezone) {\n <mat-option [value]=\"timezone.id\" (click)=\"onModelChange(timezone.id)\">\n {{ timezone.id }}\n </mat-option>\n }\n </div>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Timezone not found</span>.\n </div>\n }\n }\n</mat-select>\n", styles: [":host{display:block;cursor:pointer;width:100%}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: FilterTimezonesPipe, name: "filterTimezones" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
317
+ ], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }, { propertyName: "selectRef", first: true, predicate: ["select"], descendants: true, isSignal: true }], exportAs: ["emrTimezoneSelect"], ngImport: i0, template: "<mat-select #select=\"matSelect\"\n panelClass=\"emr-timezone-select-panel\"\n [value]=\"_value\"\n [aria-describedby]=\"userAriaDescribedBy\"\n [disabled]=\"disabled\"\n [placeholder]=\"_placeholder()\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\">\n <div class=\"px-3 py-3 rounded-t sticky top-0 z-1 bg-[var(--mat-select-panel-background-color)]\">\n <input #searchInput\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [(ngModel)]=\"searchTerm\"\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\n <button\n mat-icon-button\n (click)=\"clearSearch()\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n </div>\n @for (timezoneGroup of timezoneGroups() | filterTimezones:searchTerm(); track timezoneGroup.name) {\n <div class=\"px-4 font-bold text-on-surface-container my-4\" i18n>{{ timezoneGroup.name }}</div>\n <div>\n @for (timezone of timezoneGroup.timezones; track timezone) {\n <mat-option [value]=\"timezone.id\" (click)=\"onModelChange(timezone.id)\">\n {{ timezone.id }}\n </mat-option>\n }\n </div>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Timezone not found</span>.\n </div>\n }\n }\n</mat-select>\n", styles: [":host{display:block;cursor:pointer;width:100%}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: FilterTimezonesPipe, name: "filterTimezones" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
324
318
  }
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TimezoneSelectComponent, decorators: [{
319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TimezoneSelectComponent, decorators: [{
326
320
  type: Component,
327
321
  args: [{ selector: 'emr-timezone-select', exportAs: 'emrTimezoneSelect', imports: [
328
322
  MatSelect,
@@ -340,7 +334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
340
334
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
341
335
  'class': 'emr-timezone-select',
342
336
  '[id]': 'id',
343
- }, template: "<mat-select #select=\"matSelect\"\n panelClass=\"emr-timezone-select-panel\"\n [value]=\"_value\"\n [aria-describedby]=\"userAriaDescribedBy\"\n [disabled]=\"disabled\"\n [placeholder]=\"_placeholder()\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\">\n <div class=\"px-3 py-3 rounded-t sticky top-0 z-1 bg-[var(--mat-select-panel-background-color)]\">\n <input #searchInput\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [(ngModel)]=\"searchTerm\"\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\n <button\n mat-icon-button\n (click)=\"clearSearch()\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n </div>\n @for (timezoneGroup of timezoneGroups() | filterTimezones:searchTerm(); track timezoneGroup.name) {\n <div class=\"px-4 font-bold text-on-surface-container my-4\" i18n>{{ timezoneGroup.name }}</div>\n <div>\n @for (timezone of timezoneGroup.timezones; track timezone) {\n <mat-option [value]=\"timezone.id\" (click)=\"onModelChange(timezone.id)\">\n {{ timezone.id }}\n </mat-option>\n }\n </div>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Timezone not found</span>.\n </div>\n }\n }\n</mat-select>\n", styles: [":host{display:block;cursor:pointer;width:100%}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
337
+ }, template: "<mat-select #select=\"matSelect\"\n panelClass=\"emr-timezone-select-panel\"\n [value]=\"_value\"\n [aria-describedby]=\"userAriaDescribedBy\"\n [disabled]=\"disabled\"\n [placeholder]=\"_placeholder()\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\">\n <div class=\"px-3 py-3 rounded-t sticky top-0 z-1 bg-[var(--mat-select-panel-background-color)]\">\n <input #searchInput\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [(ngModel)]=\"searchTerm\"\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\n <button\n mat-icon-button\n (click)=\"clearSearch()\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n </div>\n @for (timezoneGroup of timezoneGroups() | filterTimezones:searchTerm(); track timezoneGroup.name) {\n <div class=\"px-4 font-bold text-on-surface-container my-4\" i18n>{{ timezoneGroup.name }}</div>\n <div>\n @for (timezone of timezoneGroup.timezones; track timezone) {\n <mat-option [value]=\"timezone.id\" (click)=\"onModelChange(timezone.id)\">\n {{ timezone.id }}\n </mat-option>\n }\n </div>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Timezone not found</span>.\n </div>\n }\n }\n</mat-select>\n", styles: [":host{display:block;cursor:pointer;width:100%}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
344
338
  }], ctorParameters: () => [], propDecorators: { searchInput: [{ type: i0.ViewChild, args: ['searchInput', { isSignal: true }] }], selectRef: [{ type: i0.ViewChild, args: ['select', { isSignal: true }] }], _userAriaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], _placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], _required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], _disabledByInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], _value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], searchTerm: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchTerm", required: false }] }, { type: i0.Output, args: ["searchTermChange"] }] } });
345
339
 
346
340
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-timezone-select.mjs","sources":["../../../projects/components/timezone-select/src/timezone-utils.ts","../../../projects/components/timezone-select/src/filter-timezones.pipe.ts","../../../projects/components/timezone-select/src/timezone-select/timezone-select.component.ts","../../../projects/components/timezone-select/src/timezone-select/timezone-select.component.html","../../../projects/components/timezone-select/elementar-rt-components-timezone-select.ts"],"sourcesContent":["export interface LocalizedTimezone {\n id: string;\n name: string;\n shortName?: string;\n // genericName?: string; // Removed\n offsetName?: string;\n}\n\nexport interface TimezoneGroup {\n name: string; // Changed from groupName\n timezones: LocalizedTimezone[];\n}\n\nexport class TimezoneUtils {\n private static _groupTimezoneIds(timezones: string[]): Record<string, string[]> {\n const grouped: Record<string, string[]> = {};\n for (const tz of timezones) {\n const parts = tz.split('/');\n const groupName = parts[0];\n if (!grouped[groupName]) {\n grouped[groupName] = [];\n }\n grouped[groupName].push(tz);\n }\n for (const group in grouped) {\n grouped[group].sort();\n }\n return grouped;\n }\n\n private static _groupLocalizedTimezonesToArray(\n timezones: LocalizedTimezone[]\n ): TimezoneGroup[] {\n const intermediateGrouped: Record<string, LocalizedTimezone[]> = {};\n for (const tz of timezones) {\n const parts = tz.id.split('/');\n const groupNameKey = parts[0]; // Use a different variable name to avoid confusion with the 'name' property of TimezoneGroup\n if (!intermediateGrouped[groupNameKey]) {\n intermediateGrouped[groupNameKey] = [];\n }\n intermediateGrouped[groupNameKey].push(tz);\n }\n\n const result: TimezoneGroup[] = [];\n const sortedGroupKeys = Object.keys(intermediateGrouped).sort();\n\n for (const groupKey of sortedGroupKeys) {\n const timezonesInGroup = intermediateGrouped[groupKey];\n timezonesInGroup.sort((a, b) => a.name.localeCompare(b.name));\n result.push({\n name: groupKey, // Changed from groupName\n timezones: timezonesInGroup,\n });\n }\n return result;\n }\n\n public static getAll(groupByName: true): Record<string, string[]>;\n public static getAll(groupByName?: false): string[];\n public static getAll(groupByName?: boolean): string[] | Record<string, string[]> {\n let timezonesList: string[];\n if (typeof Intl.supportedValuesOf === 'function') {\n try {\n timezonesList = Intl.supportedValuesOf('timeZone');\n } catch (e) {\n timezonesList = [];\n }\n } else {\n timezonesList = [];\n }\n\n if (groupByName) {\n return TimezoneUtils._groupTimezoneIds(timezonesList);\n } else {\n return [...timezonesList];\n }\n }\n\n private static _getSingleLocalizedName(\n id: string,\n locale: string,\n style: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric', // Kept generic styles in param for flexibility if main name needs it\n currentDate: Date\n ): string | undefined {\n try {\n const formatter = new Intl.DateTimeFormat(locale, {\n timeZone: id,\n timeZoneName: style,\n });\n const parts = formatter.formatToParts(currentDate);\n const tzNamePart = parts.find(part => part.type === 'timeZoneName');\n return tzNamePart?.value;\n } catch (e) {\n return undefined;\n }\n }\n\n public static getLocalizedAll(\n locale: string,\n groupByName: true,\n timeZoneNameStyle?: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric'\n ): TimezoneGroup[];\n public static getLocalizedAll(\n locale: string,\n groupByName?: false,\n timeZoneNameStyle?: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric'\n ): LocalizedTimezone[];\n\n public static getLocalizedAll(\n locale: string,\n groupByName?: boolean,\n timeZoneNameStyle: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric' = 'long'\n ): LocalizedTimezone[] | TimezoneGroup[] {\n const ianaTimezoneIds = TimezoneUtils.getAll(false);\n const localizedTimezones: LocalizedTimezone[] = [];\n const currentDate = new Date();\n\n for (const id of ianaTimezoneIds) {\n const mainName = TimezoneUtils._getSingleLocalizedName(id, locale, timeZoneNameStyle, currentDate);\n const tzObject: LocalizedTimezone = {\n id: id,\n name: mainName || id,\n shortName: TimezoneUtils._getSingleLocalizedName(id, locale, 'short', currentDate),\n offsetName: TimezoneUtils._getSingleLocalizedName(id, locale, 'longOffset', currentDate),\n };\n localizedTimezones.push(tzObject);\n }\n\n if (groupByName) {\n return TimezoneUtils._groupLocalizedTimezonesToArray(localizedTimezones);\n } else {\n localizedTimezones.sort((a, b) => a.name.localeCompare(b.name));\n return localizedTimezones;\n }\n }\n\n private static readonly ianaGroupToRegionCodeMap: Record<string, string> = {\n 'America': '019', // Americas (UN M49)\n 'Europe': '150', // Europe (UN M49)\n 'Asia': '142', // Asia (UN M49)\n 'Africa': '002', // Africa (UN M49)\n 'Australia': 'AU', // Australia (ISO 3166-1 alpha-2) - для группы IANA 'Australia'\n 'Pacific': '009', // Oceania (UN M49) - для группы IANA 'Pacific'\n 'Antarctica': 'AQ', // Antarctica (ISO 3166-1 alpha-2)\n };\n\n private static _getLocalizedRegionDisplayName(\n ianaGroupName: string,\n locale: string\n ): string {\n const regionCode = TimezoneUtils.ianaGroupToRegionCodeMap[ianaGroupName];\n if (regionCode && typeof Intl.DisplayNames === 'function') {\n try {\n const displayNameService = new Intl.DisplayNames(locale, { type: 'region' });\n return displayNameService.of(regionCode) || ianaGroupName; // Фоллбэк, если .of() вернет undefined/пусто\n } catch (e) {\n // Ошибка (например, старая среда без поддержки этого кода для региона)\n // console.warn(`Could not get display name for region code ${regionCode} in locale ${locale}:`, e);\n return ianaGroupName; // Фоллбэк\n }\n }\n return ianaGroupName; // Фоллбэк, если нет сопоставления или Intl.DisplayNames не поддерживается\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LocalizedTimezone, TimezoneGroup } from './timezone-utils';\n\n@Pipe({\n name: 'filterTimezones',\n})\nexport class FilterTimezonesPipe implements PipeTransform {\n\n transform(\n value: TimezoneGroup[] | null | undefined,\n searchTerm: string | null | undefined\n ): TimezoneGroup[] | null | undefined {\n\n if (!value) {\n return value;\n }\n if (!searchTerm || searchTerm.trim() === '') {\n return value;\n }\n\n const lowerSearchTerm = searchTerm.trim().toLowerCase();\n const timezoneMatches = (timezone: LocalizedTimezone, term: string): boolean => {\n return (\n timezone.id.toLowerCase().includes(term) ||\n timezone.name.toLowerCase().includes(term) ||\n !!(timezone.shortName && timezone.shortName.toLowerCase().includes(term)) ||\n !!(timezone.offsetName && timezone.offsetName.toLowerCase().includes(term)));\n };\n\n const resultGroups: TimezoneGroup[] = [];\n for (const group of value) { // Iterate directly over TimezoneGroup[]\n const groupNameMatches = group.name.toLowerCase().includes(lowerSearchTerm);\n const filteredTimezonesInGroup = group.timezones.filter(tz => timezoneMatches(tz, lowerSearchTerm));\n\n // A group is included if its name matches OR it has matching timezones after filtering\n if (groupNameMatches || filteredTimezonesInGroup.length > 0) {\n resultGroups.push({\n ...group,\n timezones: filteredTimezonesInGroup // Always use the filtered list of timezones for the group\n });\n }\n }\n return resultGroups;\n }\n}\n","import {\n booleanAttribute, ChangeDetectionStrategy,\n Component, computed, effect, ElementRef,\n forwardRef,\n inject,\n input,\n LOCALE_ID, model,\n OnInit, Renderer2,\n signal, untracked, viewChild\n} from '@angular/core';\nimport { TimezoneGroup, TimezoneUtils } from '../timezone-utils';\nimport { MatOption, MatSelect } from '@angular/material/select';\nimport {\n ControlValueAccessor, FormsModule,\n NgControl\n} from '@angular/forms';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { Subject } from 'rxjs';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { FilterTimezonesPipe } from '../filter-timezones.pipe';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\nlet nextId = 0;\n\n@Component({\n selector: 'emr-timezone-select',\n exportAs: 'emrTimezoneSelect',\n imports: [\n MatSelect,\n MatOption,\n FormsModule,\n FilterTimezonesPipe,\n MatIcon,\n MatIconButton\n ],\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: forwardRef(() => TimezoneSelectComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './timezone-select.component.html',\n styleUrl: './timezone-select.component.scss',\n host: {\n 'class': 'emr-timezone-select',\n '[id]': 'id',\n }\n})\nexport class TimezoneSelectComponent implements OnInit, MatFormFieldControl<any>, ControlValueAccessor {\n protected localeId = inject(LOCALE_ID);\n protected renderer = inject(Renderer2);\n private readonly _focusMonitor = inject(FocusMonitor);\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n ngControl = inject(NgControl, { optional: true, self: true });\n\n private searchInput = viewChild.required<ElementRef<HTMLInputElement>>('searchInput');\n private selectRef = viewChild.required<MatSelect>('select');\n\n protected timezoneGroups = signal<TimezoneGroup[]>([]);\n readonly touched = signal(false);\n readonly stateChanges = new Subject<void>();\n readonly controlType = 'emr-timezone-select';\n readonly id = `emr-timezone-select-${nextId++}`;\n readonly _userAriaDescribedBy = input<string>('', { alias: 'aria-describedby' });\n readonly locale = input<string>(this.localeId);\n readonly _placeholder = input<string>('', { alias: 'placeholder' });\n readonly _required = input<boolean, unknown>(false, {\n alias: 'required',\n transform: booleanAttribute,\n });\n readonly _disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly _value = model<string | null>(null, { alias: 'value' });\n protected searchTerm = model('');\n private readonly _focused = signal(false);\n private readonly _disabledByCva = signal(false);\n private readonly _disabled = computed(() => this._disabledByInput() || this._disabledByCva());\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n get focused(): boolean {\n return this._focused();\n }\n\n get empty() {\n return !this._value() || this._value()?.trim() === '';\n }\n\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n get userAriaDescribedBy() {\n return this._userAriaDescribedBy();\n }\n\n get placeholder(): string {\n return this._placeholder();\n }\n\n get required(): boolean {\n return this._required();\n }\n\n get disabled(): boolean {\n return this._disabled();\n }\n\n get value(): string | null {\n return this._value();\n }\n\n get errorState(): boolean {\n // @ts-ignore\n return this.ngControl?.invalid && this.touched();\n }\n\n constructor() {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n effect(() => {\n // Read signals to trigger effect.\n this._placeholder();\n this._required();\n this._disabled();\n this._focused();\n // Propagate state changes.\n untracked(() => this.stateChanges.next());\n });\n }\n\n ngOnInit() {\n const locale = this.locale() || this.localeId;\n this.timezoneGroups.set(TimezoneUtils.getLocalizedAll(locale, true));\n const formFieldElement = this._elementRef.nativeElement.closest('.mat-mdc-form-field');\n\n if (formFieldElement) {\n this.renderer.addClass(formFieldElement, 'mat-mdc-form-field-type-mat-select');\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n onFocusIn() {\n if (!this._focused()) {\n this._focused.set(true);\n }\n }\n\n onFocusOut(event: FocusEvent) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched.set(true);\n this._focused.set(false);\n this.onTouched();\n }\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this._focused.set(true);\n this.selectRef().onContainerClick();\n }\n\n setDescribedByIds(ids: string[]) {\n }\n\n writeValue(timezone: string | null): void {\n this._updateValue(timezone);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected onSelectOpened(): void {\n setTimeout(() => {\n this.searchInput().nativeElement.focus();\n });\n }\n\n protected clearSearch() {\n this.searchTerm.set('');\n }\n\n protected onSelectClosed() {\n this._focused.set(false);\n this.searchTerm.set('');\n }\n\n protected onModelChange(value: string) {\n this._value.set(value);\n this.onChange(value);\n }\n\n private _updateValue(value: string | null) {\n const current = this._value();\n\n if (current === value) {\n return;\n }\n\n this._value.set(value);\n }\n}\n","<mat-select #select=\"matSelect\"\n panelClass=\"emr-timezone-select-panel\"\n [value]=\"_value\"\n [aria-describedby]=\"userAriaDescribedBy\"\n [disabled]=\"disabled\"\n [placeholder]=\"_placeholder()\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\">\n <div class=\"px-3 py-3 rounded-t sticky top-0 z-1 bg-[var(--mat-select-panel-background-color)]\">\n <input #searchInput\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [(ngModel)]=\"searchTerm\"\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\n <button\n mat-icon-button\n (click)=\"clearSearch()\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n </div>\n @for (timezoneGroup of timezoneGroups() | filterTimezones:searchTerm(); track timezoneGroup.name) {\n <div class=\"px-4 font-bold text-on-surface-container my-4\" i18n>{{ timezoneGroup.name }}</div>\n <div>\n @for (timezone of timezoneGroup.timezones; track timezone) {\n <mat-option [value]=\"timezone.id\" (click)=\"onModelChange(timezone.id)\">\n {{ timezone.id }}\n </mat-option>\n }\n </div>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Timezone not found</span>.\n </div>\n }\n }\n</mat-select>\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-timezone-select.mjs","sources":["../../../projects/components/timezone-select/src/timezone-utils.ts","../../../projects/components/timezone-select/src/filter-timezones.pipe.ts","../../../projects/components/timezone-select/src/timezone-select/timezone-select.component.ts","../../../projects/components/timezone-select/src/timezone-select/timezone-select.component.html","../../../projects/components/timezone-select/elementar-rt-components-timezone-select.ts"],"sourcesContent":["export interface LocalizedTimezone {\n id: string;\n name: string;\n shortName?: string;\n // genericName?: string; // Removed\n offsetName?: string;\n}\n\nexport interface TimezoneGroup {\n name: string; // Changed from groupName\n timezones: LocalizedTimezone[];\n}\n\nexport class TimezoneUtils {\n private static _groupTimezoneIds(timezones: string[]): Record<string, string[]> {\n const grouped: Record<string, string[]> = {};\n for (const tz of timezones) {\n const parts = tz.split('/');\n const groupName = parts[0];\n if (!grouped[groupName]) {\n grouped[groupName] = [];\n }\n grouped[groupName].push(tz);\n }\n for (const group in grouped) {\n grouped[group].sort();\n }\n return grouped;\n }\n\n private static _groupLocalizedTimezonesToArray(\n timezones: LocalizedTimezone[]\n ): TimezoneGroup[] {\n const intermediateGrouped: Record<string, LocalizedTimezone[]> = {};\n for (const tz of timezones) {\n const parts = tz.id.split('/');\n const groupNameKey = parts[0]; // Use a different variable name to avoid confusion with the 'name' property of TimezoneGroup\n if (!intermediateGrouped[groupNameKey]) {\n intermediateGrouped[groupNameKey] = [];\n }\n intermediateGrouped[groupNameKey].push(tz);\n }\n\n const result: TimezoneGroup[] = [];\n const sortedGroupKeys = Object.keys(intermediateGrouped).sort();\n\n for (const groupKey of sortedGroupKeys) {\n const timezonesInGroup = intermediateGrouped[groupKey];\n timezonesInGroup.sort((a, b) => a.name.localeCompare(b.name));\n result.push({\n name: groupKey, // Changed from groupName\n timezones: timezonesInGroup,\n });\n }\n return result;\n }\n\n public static getAll(groupByName: true): Record<string, string[]>;\n public static getAll(groupByName?: false): string[];\n public static getAll(groupByName?: boolean): string[] | Record<string, string[]> {\n let timezonesList: string[];\n if (typeof Intl.supportedValuesOf === 'function') {\n try {\n timezonesList = Intl.supportedValuesOf('timeZone');\n } catch (e) {\n timezonesList = [];\n }\n } else {\n timezonesList = [];\n }\n\n if (groupByName) {\n return TimezoneUtils._groupTimezoneIds(timezonesList);\n } else {\n return [...timezonesList];\n }\n }\n\n private static _getSingleLocalizedName(\n id: string,\n locale: string,\n style: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric', // Kept generic styles in param for flexibility if main name needs it\n currentDate: Date\n ): string | undefined {\n try {\n const formatter = new Intl.DateTimeFormat(locale, {\n timeZone: id,\n timeZoneName: style,\n });\n const parts = formatter.formatToParts(currentDate);\n const tzNamePart = parts.find(part => part.type === 'timeZoneName');\n return tzNamePart?.value;\n } catch (e) {\n return undefined;\n }\n }\n\n public static getLocalizedAll(\n locale: string,\n groupByName: true,\n timeZoneNameStyle?: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric'\n ): TimezoneGroup[];\n public static getLocalizedAll(\n locale: string,\n groupByName?: false,\n timeZoneNameStyle?: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric'\n ): LocalizedTimezone[];\n\n public static getLocalizedAll(\n locale: string,\n groupByName?: boolean,\n timeZoneNameStyle: 'long' | 'short' | 'shortOffset' | 'longOffset' | 'shortGeneric' | 'longGeneric' = 'long'\n ): LocalizedTimezone[] | TimezoneGroup[] {\n const ianaTimezoneIds = TimezoneUtils.getAll(false);\n const localizedTimezones: LocalizedTimezone[] = [];\n const currentDate = new Date();\n\n for (const id of ianaTimezoneIds) {\n const mainName = TimezoneUtils._getSingleLocalizedName(id, locale, timeZoneNameStyle, currentDate);\n const tzObject: LocalizedTimezone = {\n id: id,\n name: mainName || id,\n shortName: TimezoneUtils._getSingleLocalizedName(id, locale, 'short', currentDate),\n offsetName: TimezoneUtils._getSingleLocalizedName(id, locale, 'longOffset', currentDate),\n };\n localizedTimezones.push(tzObject);\n }\n\n if (groupByName) {\n return TimezoneUtils._groupLocalizedTimezonesToArray(localizedTimezones);\n } else {\n localizedTimezones.sort((a, b) => a.name.localeCompare(b.name));\n return localizedTimezones;\n }\n }\n\n private static readonly ianaGroupToRegionCodeMap: Record<string, string> = {\n 'America': '019', // Americas (UN M49)\n 'Europe': '150', // Europe (UN M49)\n 'Asia': '142', // Asia (UN M49)\n 'Africa': '002', // Africa (UN M49)\n 'Australia': 'AU', // Australia (ISO 3166-1 alpha-2) - для группы IANA 'Australia'\n 'Pacific': '009', // Oceania (UN M49) - для группы IANA 'Pacific'\n 'Antarctica': 'AQ', // Antarctica (ISO 3166-1 alpha-2)\n };\n\n private static _getLocalizedRegionDisplayName(\n ianaGroupName: string,\n locale: string\n ): string {\n const regionCode = TimezoneUtils.ianaGroupToRegionCodeMap[ianaGroupName];\n if (regionCode && typeof Intl.DisplayNames === 'function') {\n try {\n const displayNameService = new Intl.DisplayNames(locale, { type: 'region' });\n return displayNameService.of(regionCode) || ianaGroupName; // Фоллбэк, если .of() вернет undefined/пусто\n } catch (e) {\n // Ошибка (например, старая среда без поддержки этого кода для региона)\n // console.warn(`Could not get display name for region code ${regionCode} in locale ${locale}:`, e);\n return ianaGroupName; // Фоллбэк\n }\n }\n return ianaGroupName; // Фоллбэк, если нет сопоставления или Intl.DisplayNames не поддерживается\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LocalizedTimezone, TimezoneGroup } from './timezone-utils';\n\n@Pipe({\n name: 'filterTimezones',\n})\nexport class FilterTimezonesPipe implements PipeTransform {\n\n transform(\n value: TimezoneGroup[] | null | undefined,\n searchTerm: string | null | undefined\n ): TimezoneGroup[] | null | undefined {\n\n if (!value) {\n return value;\n }\n if (!searchTerm || searchTerm.trim() === '') {\n return value;\n }\n\n const lowerSearchTerm = searchTerm.trim().toLowerCase();\n const timezoneMatches = (timezone: LocalizedTimezone, term: string): boolean => {\n return (\n timezone.id.toLowerCase().includes(term) ||\n timezone.name.toLowerCase().includes(term) ||\n !!(timezone.shortName && timezone.shortName.toLowerCase().includes(term)) ||\n !!(timezone.offsetName && timezone.offsetName.toLowerCase().includes(term)));\n };\n\n const resultGroups: TimezoneGroup[] = [];\n for (const group of value) { // Iterate directly over TimezoneGroup[]\n const groupNameMatches = group.name.toLowerCase().includes(lowerSearchTerm);\n const filteredTimezonesInGroup = group.timezones.filter(tz => timezoneMatches(tz, lowerSearchTerm));\n\n // A group is included if its name matches OR it has matching timezones after filtering\n if (groupNameMatches || filteredTimezonesInGroup.length > 0) {\n resultGroups.push({\n ...group,\n timezones: filteredTimezonesInGroup // Always use the filtered list of timezones for the group\n });\n }\n }\n return resultGroups;\n }\n}\n","import {\n booleanAttribute, ChangeDetectionStrategy,\n Component, computed, effect, ElementRef,\n forwardRef,\n inject,\n input,\n LOCALE_ID, model,\n OnInit, Renderer2,\n signal, untracked, viewChild\n} from '@angular/core';\nimport { TimezoneGroup, TimezoneUtils } from '../timezone-utils';\nimport { MatOption, MatSelect } from '@angular/material/select';\nimport {\n ControlValueAccessor, FormsModule,\n NgControl\n} from '@angular/forms';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { Subject } from 'rxjs';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { FilterTimezonesPipe } from '../filter-timezones.pipe';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\nlet nextId = 0;\n\n@Component({\n selector: 'emr-timezone-select',\n exportAs: 'emrTimezoneSelect',\n imports: [\n MatSelect,\n MatOption,\n FormsModule,\n FilterTimezonesPipe,\n MatIcon,\n MatIconButton\n ],\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: forwardRef(() => TimezoneSelectComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './timezone-select.component.html',\n styleUrl: './timezone-select.component.scss',\n host: {\n 'class': 'emr-timezone-select',\n '[id]': 'id',\n }\n})\nexport class TimezoneSelectComponent implements OnInit, MatFormFieldControl<any>, ControlValueAccessor {\n protected localeId = inject(LOCALE_ID);\n protected renderer = inject(Renderer2);\n private readonly _focusMonitor = inject(FocusMonitor);\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n ngControl = inject(NgControl, { optional: true, self: true });\n\n private searchInput = viewChild.required<ElementRef<HTMLInputElement>>('searchInput');\n private selectRef = viewChild.required<MatSelect>('select');\n\n protected timezoneGroups = signal<TimezoneGroup[]>([]);\n readonly touched = signal(false);\n readonly stateChanges = new Subject<void>();\n readonly controlType = 'emr-timezone-select';\n readonly id = `emr-timezone-select-${nextId++}`;\n readonly _userAriaDescribedBy = input<string>('', { alias: 'aria-describedby' });\n readonly locale = input<string>(this.localeId);\n readonly _placeholder = input<string>('', { alias: 'placeholder' });\n readonly _required = input<boolean, unknown>(false, {\n alias: 'required',\n transform: booleanAttribute,\n });\n readonly _disabledByInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly _value = model<string | null>(null, { alias: 'value' });\n protected searchTerm = model('');\n private readonly _focused = signal(false);\n private readonly _disabledByCva = signal(false);\n private readonly _disabled = computed(() => this._disabledByInput() || this._disabledByCva());\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n get focused(): boolean {\n return this._focused();\n }\n\n get empty() {\n return !this._value() || this._value()?.trim() === '';\n }\n\n get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n get userAriaDescribedBy() {\n return this._userAriaDescribedBy();\n }\n\n get placeholder(): string {\n return this._placeholder();\n }\n\n get required(): boolean {\n return this._required();\n }\n\n get disabled(): boolean {\n return this._disabled();\n }\n\n get value(): string | null {\n return this._value();\n }\n\n get errorState(): boolean {\n // @ts-ignore\n return this.ngControl?.invalid && this.touched();\n }\n\n constructor() {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n effect(() => {\n // Read signals to trigger effect.\n this._placeholder();\n this._required();\n this._disabled();\n this._focused();\n // Propagate state changes.\n untracked(() => this.stateChanges.next());\n });\n }\n\n ngOnInit() {\n const locale = this.locale() || this.localeId;\n this.timezoneGroups.set(TimezoneUtils.getLocalizedAll(locale, true));\n const formFieldElement = this._elementRef.nativeElement.closest('.mat-mdc-form-field');\n\n if (formFieldElement) {\n this.renderer.addClass(formFieldElement, 'mat-mdc-form-field-type-mat-select');\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n onFocusIn() {\n if (!this._focused()) {\n this._focused.set(true);\n }\n }\n\n onFocusOut(event: FocusEvent) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched.set(true);\n this._focused.set(false);\n this.onTouched();\n }\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this._focused.set(true);\n this.selectRef().onContainerClick(event);\n }\n\n setDescribedByIds(ids: string[]) {\n }\n\n writeValue(timezone: string | null): void {\n this._updateValue(timezone);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected onSelectOpened(): void {\n setTimeout(() => {\n this.searchInput().nativeElement.focus();\n });\n }\n\n protected clearSearch() {\n this.searchTerm.set('');\n }\n\n protected onSelectClosed() {\n this._focused.set(false);\n this.searchTerm.set('');\n }\n\n protected onModelChange(value: string) {\n this._value.set(value);\n this.onChange(value);\n }\n\n private _updateValue(value: string | null) {\n const current = this._value();\n\n if (current === value) {\n return;\n }\n\n this._value.set(value);\n }\n}\n","<mat-select #select=\"matSelect\"\n panelClass=\"emr-timezone-select-panel\"\n [value]=\"_value\"\n [aria-describedby]=\"userAriaDescribedBy\"\n [disabled]=\"disabled\"\n [placeholder]=\"_placeholder()\"\n (opened)=\"onSelectOpened()\"\n (closed)=\"onSelectClosed()\">\n <div class=\"px-3 py-3 rounded-t sticky top-0 z-1 bg-[var(--mat-select-panel-background-color)]\">\n <input #searchInput\n type=\"text\" placeholder=\"Search...\" autocomplete=\"off\" [(ngModel)]=\"searchTerm\"\n class=\"w-full bg-surface-container-highest rounded-lg text-sm focus:outline-none\n focus:bg-surface-container-lowest focus:shadow-sm h-12 px-3\">\n @if (searchTerm().trim()) {\n <div class=\"absolute end-4 top-1/2 -translate-y-1/2\">\n <button\n mat-icon-button\n (click)=\"clearSearch()\"\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear search\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n </div>\n @for (timezoneGroup of timezoneGroups() | filterTimezones:searchTerm(); track timezoneGroup.name) {\n <div class=\"px-4 font-bold text-on-surface-container my-4\" i18n>{{ timezoneGroup.name }}</div>\n <div>\n @for (timezone of timezoneGroup.timezones; track timezone) {\n <mat-option [value]=\"timezone.id\" (click)=\"onModelChange(timezone.id)\">\n {{ timezone.id }}\n </mat-option>\n }\n </div>\n } @empty {\n @if (searchTerm()) {\n <div class=\"text-sm px-4 py-3\">\n <span i18n>Timezone not found</span>.\n </div>\n }\n }\n</mat-select>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,15 +2,15 @@ import * as i0 from '@angular/core';
2
2
  import { input, output, signal, Component, inject, ApplicationRef, EnvironmentInjector, createComponent, Injectable } from '@angular/core';
3
3
 
4
4
  class ToastComponent {
5
- title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
6
- message = input('', ...(ngDevMode ? [{ debugName: "message" }] : []));
7
- action = input('', ...(ngDevMode ? [{ debugName: "action" }] : []));
8
- variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
9
- duration = input(4000, ...(ngDevMode ? [{ debugName: "duration" }] : []));
10
- showProgress = input(true, ...(ngDevMode ? [{ debugName: "showProgress" }] : []));
5
+ title = input('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
6
+ message = input('', ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
7
+ action = input('', ...(ngDevMode ? [{ debugName: "action" }] : /* istanbul ignore next */ []));
8
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
9
+ duration = input(4000, ...(ngDevMode ? [{ debugName: "duration" }] : /* istanbul ignore next */ []));
10
+ showProgress = input(true, ...(ngDevMode ? [{ debugName: "showProgress" }] : /* istanbul ignore next */ []));
11
11
  dismissed = output();
12
12
  actionClick = output();
13
- _progress = signal(100, ...(ngDevMode ? [{ debugName: "_progress" }] : []));
13
+ _progress = signal(100, ...(ngDevMode ? [{ debugName: "_progress" }] : /* istanbul ignore next */ []));
14
14
  _timer;
15
15
  _interval;
16
16
  ngOnInit() {
@@ -33,15 +33,15 @@ class ToastComponent {
33
33
  clearInterval(this._interval);
34
34
  this.dismissed.emit();
35
35
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ToastComponent, isStandalone: true, selector: "emr-toast", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, 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 }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, showProgress: { classPropertyName: "showProgress", publicName: "showProgress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed", actionClick: "actionClick" }, host: { properties: { "attr.data-variant": "variant()" }, classAttribute: "emr-toast" }, exportAs: ["emrToast"], ngImport: i0, template: "<div class=\"toast-body\">\n <div class=\"toast-icon\">\n @switch (variant()) {\n @case ('success') { \u2713 }\n @case ('error') { \u2715 }\n @case ('warning') { \u26A0 }\n @case ('info') { \u2139 }\n }\n </div>\n <div class=\"toast-content\">\n @if (title()) { <strong class=\"toast-title\">{{ title() }}</strong> }\n <span class=\"toast-message\">{{ message() }}</span>\n </div>\n <div class=\"toast-controls\">\n @if (action()) {\n <button class=\"toast-action\" type=\"button\" (click)=\"actionClick.emit()\">{{ action() }}</button>\n }\n <button class=\"toast-close\" type=\"button\" (click)=\"_dismiss()\" aria-label=\"Close\">\u2715</button>\n </div>\n</div>\n@if (showProgress() && duration() > 0) {\n <div class=\"toast-progress\" [style.width]=\"_progress() + '%'\"></div>\n}\n", styles: [":host{--emr-toast-bg: var(--color-surface-container-high);--emr-toast-color: var(--color-on-surface);--emr-toast-border-radius: 1rem;--emr-toast-shadow: 0 8px 24px var(--color-shadow);--emr-toast-width: calc(var(--spacing, .25rem) * 96);--emr-toast-border: 1px solid var(--color-outline-variant);--emr-toast-progress-color: var(--color-primary);display:flex;flex-direction:column;width:var(--emr-toast-width);max-width:calc(100vw - calc(var(--spacing, .25rem) * 8));background:var(--emr-toast-bg);color:var(--emr-toast-color);border-radius:var(--emr-toast-border-radius);border:var(--emr-toast-border);box-shadow:var(--emr-toast-shadow);overflow:hidden;animation:toastIn .25s cubic-bezier(.34,1.56,.64,1)}@supports (color: color-mix(in lab,red,red)){:host{--emr-toast-shadow: 0 8px 24px color-mix(in srgb, var(--color-shadow) 15%, transparent)}}:host[data-variant=success]{--emr-toast-border: 1px solid var(--color-green);--emr-toast-progress-color: var(--color-green)}:host[data-variant=error]{--emr-toast-border: 1px solid var(--color-red);--emr-toast-progress-color: var(--color-red)}:host[data-variant=warning]{--emr-toast-border: 1px solid var(--color-orange);--emr-toast-progress-color: var(--color-orange)}:host[data-variant=info]{--emr-toast-border: 1px solid var(--color-blue);--emr-toast-progress-color: var(--color-blue)}.toast-body{display:flex;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.toast-icon{flex-shrink:0;width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;border-radius:50%;margin-top:calc(var(--spacing, .25rem) * .5)}:host([data-variant=success]) .toast-icon{background:var(--color-green-container);color:var(--color-green)}:host([data-variant=error]) .toast-icon{background:var(--color-red-container);color:var(--color-red)}:host([data-variant=warning]) .toast-icon{background:var(--color-orange-container);color:var(--color-orange)}:host([data-variant=info]) .toast-icon{background:var(--color-blue-container);color:var(--color-blue)}:host([data-variant=default]) .toast-icon{display:none}.toast-content{flex:1;min-width:0}.toast-title{display:block;font-weight:600;font-size:.875rem;margin-bottom:calc(var(--spacing, .25rem) * .5)}.toast-message{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.4}.toast-controls{display:flex;align-items:center;gap:var(--spacing, .25rem);flex-shrink:0}.toast-action{font-size:.875rem;font-weight:600;color:var(--color-primary);background:transparent;border:none;cursor:pointer;padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);border-radius:.5rem}.toast-action:hover{background:var(--color-surface-container-highest)}.toast-close{width:calc(var(--spacing, .25rem) * 7);height:calc(var(--spacing, .25rem) * 7);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-variant);border-radius:.5rem;font-size:.65rem}.toast-close:hover{background:var(--color-surface-container-highest)}.toast-progress{height:var(--spacing, .25rem);background:var(--emr-toast-progress-color);transition:width 50ms linear;border-radius:0 0 var(--emr-toast-border-radius) var(--emr-toast-border-radius)}@keyframes toastIn{0%{opacity:0;transform:translate(calc(var(--spacing, .25rem) * 8)) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: ToastComponent, isStandalone: true, selector: "emr-toast", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, 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 }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, showProgress: { classPropertyName: "showProgress", publicName: "showProgress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismissed: "dismissed", actionClick: "actionClick" }, host: { properties: { "attr.data-variant": "variant()" }, classAttribute: "emr-toast" }, exportAs: ["emrToast"], ngImport: i0, template: "<div class=\"toast-body\">\n <div class=\"toast-icon\">\n @switch (variant()) {\n @case ('success') { \u2713 }\n @case ('error') { \u2715 }\n @case ('warning') { \u26A0 }\n @case ('info') { \u2139 }\n }\n </div>\n <div class=\"toast-content\">\n @if (title()) { <strong class=\"toast-title\">{{ title() }}</strong> }\n <span class=\"toast-message\">{{ message() }}</span>\n </div>\n <div class=\"toast-controls\">\n @if (action()) {\n <button class=\"toast-action\" type=\"button\" (click)=\"actionClick.emit()\">{{ action() }}</button>\n }\n <button class=\"toast-close\" type=\"button\" (click)=\"_dismiss()\" aria-label=\"Close\">\u2715</button>\n </div>\n</div>\n@if (showProgress() && duration() > 0) {\n <div class=\"toast-progress\" [style.width]=\"_progress() + '%'\"></div>\n}\n", styles: [":host{--emr-toast-bg: var(--color-surface-container-high);--emr-toast-color: var(--color-on-surface);--emr-toast-border-radius: 1rem;--emr-toast-shadow: 0 8px 24px var(--color-shadow);--emr-toast-width: calc(var(--spacing, .25rem) * 96);--emr-toast-border: 1px solid var(--color-outline-variant);--emr-toast-progress-color: var(--color-primary);display:flex;flex-direction:column;width:var(--emr-toast-width);max-width:calc(100vw - calc(var(--spacing, .25rem) * 8));background:var(--emr-toast-bg);color:var(--emr-toast-color);border-radius:var(--emr-toast-border-radius);border:var(--emr-toast-border);box-shadow:var(--emr-toast-shadow);overflow:hidden;animation:toastIn .25s cubic-bezier(.34,1.56,.64,1)}@supports (color: color-mix(in lab,red,red)){:host{--emr-toast-shadow: 0 8px 24px color-mix(in srgb, var(--color-shadow) 15%, transparent)}}:host[data-variant=success]{--emr-toast-border: 1px solid var(--color-green);--emr-toast-progress-color: var(--color-green)}:host[data-variant=error]{--emr-toast-border: 1px solid var(--color-red);--emr-toast-progress-color: var(--color-red)}:host[data-variant=warning]{--emr-toast-border: 1px solid var(--color-orange);--emr-toast-progress-color: var(--color-orange)}:host[data-variant=info]{--emr-toast-border: 1px solid var(--color-blue);--emr-toast-progress-color: var(--color-blue)}.toast-body{display:flex;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.toast-icon{flex-shrink:0;width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;border-radius:50%;margin-top:calc(var(--spacing, .25rem) * .5)}:host([data-variant=success]) .toast-icon{background:var(--color-green-container);color:var(--color-green)}:host([data-variant=error]) .toast-icon{background:var(--color-red-container);color:var(--color-red)}:host([data-variant=warning]) .toast-icon{background:var(--color-orange-container);color:var(--color-orange)}:host([data-variant=info]) .toast-icon{background:var(--color-blue-container);color:var(--color-blue)}:host([data-variant=default]) .toast-icon{display:none}.toast-content{flex:1;min-width:0}.toast-title{display:block;font-weight:600;font-size:.875rem;margin-bottom:calc(var(--spacing, .25rem) * .5)}.toast-message{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.4}.toast-controls{display:flex;align-items:center;gap:var(--spacing, .25rem);flex-shrink:0}.toast-action{font-size:.875rem;font-weight:600;color:var(--color-primary);background:transparent;border:none;cursor:pointer;padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);border-radius:.5rem}.toast-action:hover{background:var(--color-surface-container-highest)}.toast-close{width:calc(var(--spacing, .25rem) * 7);height:calc(var(--spacing, .25rem) * 7);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-variant);border-radius:.5rem;font-size:.65rem}.toast-close:hover{background:var(--color-surface-container-highest)}.toast-progress{height:var(--spacing, .25rem);background:var(--emr-toast-progress-color);transition:width 50ms linear;border-radius:0 0 var(--emr-toast-border-radius) var(--emr-toast-border-radius)}@keyframes toastIn{0%{opacity:0;transform:translate(calc(var(--spacing, .25rem) * 8)) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] });
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ToastComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ToastComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'emr-toast', exportAs: 'emrToast', host: {
42
42
  'class': 'emr-toast',
43
43
  '[attr.data-variant]': 'variant()',
44
- }, template: "<div class=\"toast-body\">\n <div class=\"toast-icon\">\n @switch (variant()) {\n @case ('success') { \u2713 }\n @case ('error') { \u2715 }\n @case ('warning') { \u26A0 }\n @case ('info') { \u2139 }\n }\n </div>\n <div class=\"toast-content\">\n @if (title()) { <strong class=\"toast-title\">{{ title() }}</strong> }\n <span class=\"toast-message\">{{ message() }}</span>\n </div>\n <div class=\"toast-controls\">\n @if (action()) {\n <button class=\"toast-action\" type=\"button\" (click)=\"actionClick.emit()\">{{ action() }}</button>\n }\n <button class=\"toast-close\" type=\"button\" (click)=\"_dismiss()\" aria-label=\"Close\">\u2715</button>\n </div>\n</div>\n@if (showProgress() && duration() > 0) {\n <div class=\"toast-progress\" [style.width]=\"_progress() + '%'\"></div>\n}\n", styles: [":host{--emr-toast-bg: var(--color-surface-container-high);--emr-toast-color: var(--color-on-surface);--emr-toast-border-radius: 1rem;--emr-toast-shadow: 0 8px 24px var(--color-shadow);--emr-toast-width: calc(var(--spacing, .25rem) * 96);--emr-toast-border: 1px solid var(--color-outline-variant);--emr-toast-progress-color: var(--color-primary);display:flex;flex-direction:column;width:var(--emr-toast-width);max-width:calc(100vw - calc(var(--spacing, .25rem) * 8));background:var(--emr-toast-bg);color:var(--emr-toast-color);border-radius:var(--emr-toast-border-radius);border:var(--emr-toast-border);box-shadow:var(--emr-toast-shadow);overflow:hidden;animation:toastIn .25s cubic-bezier(.34,1.56,.64,1)}@supports (color: color-mix(in lab,red,red)){:host{--emr-toast-shadow: 0 8px 24px color-mix(in srgb, var(--color-shadow) 15%, transparent)}}:host[data-variant=success]{--emr-toast-border: 1px solid var(--color-green);--emr-toast-progress-color: var(--color-green)}:host[data-variant=error]{--emr-toast-border: 1px solid var(--color-red);--emr-toast-progress-color: var(--color-red)}:host[data-variant=warning]{--emr-toast-border: 1px solid var(--color-orange);--emr-toast-progress-color: var(--color-orange)}:host[data-variant=info]{--emr-toast-border: 1px solid var(--color-blue);--emr-toast-progress-color: var(--color-blue)}.toast-body{display:flex;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.toast-icon{flex-shrink:0;width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;border-radius:50%;margin-top:calc(var(--spacing, .25rem) * .5)}:host([data-variant=success]) .toast-icon{background:var(--color-green-container);color:var(--color-green)}:host([data-variant=error]) .toast-icon{background:var(--color-red-container);color:var(--color-red)}:host([data-variant=warning]) .toast-icon{background:var(--color-orange-container);color:var(--color-orange)}:host([data-variant=info]) .toast-icon{background:var(--color-blue-container);color:var(--color-blue)}:host([data-variant=default]) .toast-icon{display:none}.toast-content{flex:1;min-width:0}.toast-title{display:block;font-weight:600;font-size:.875rem;margin-bottom:calc(var(--spacing, .25rem) * .5)}.toast-message{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.4}.toast-controls{display:flex;align-items:center;gap:var(--spacing, .25rem);flex-shrink:0}.toast-action{font-size:.875rem;font-weight:600;color:var(--color-primary);background:transparent;border:none;cursor:pointer;padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);border-radius:.5rem}.toast-action:hover{background:var(--color-surface-container-highest)}.toast-close{width:calc(var(--spacing, .25rem) * 7);height:calc(var(--spacing, .25rem) * 7);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-variant);border-radius:.5rem;font-size:.65rem}.toast-close:hover{background:var(--color-surface-container-highest)}.toast-progress{height:var(--spacing, .25rem);background:var(--emr-toast-progress-color);transition:width 50ms linear;border-radius:0 0 var(--emr-toast-border-radius) var(--emr-toast-border-radius)}@keyframes toastIn{0%{opacity:0;transform:translate(calc(var(--spacing, .25rem) * 8)) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
44
+ }, template: "<div class=\"toast-body\">\n <div class=\"toast-icon\">\n @switch (variant()) {\n @case ('success') { \u2713 }\n @case ('error') { \u2715 }\n @case ('warning') { \u26A0 }\n @case ('info') { \u2139 }\n }\n </div>\n <div class=\"toast-content\">\n @if (title()) { <strong class=\"toast-title\">{{ title() }}</strong> }\n <span class=\"toast-message\">{{ message() }}</span>\n </div>\n <div class=\"toast-controls\">\n @if (action()) {\n <button class=\"toast-action\" type=\"button\" (click)=\"actionClick.emit()\">{{ action() }}</button>\n }\n <button class=\"toast-close\" type=\"button\" (click)=\"_dismiss()\" aria-label=\"Close\">\u2715</button>\n </div>\n</div>\n@if (showProgress() && duration() > 0) {\n <div class=\"toast-progress\" [style.width]=\"_progress() + '%'\"></div>\n}\n", styles: [":host{--emr-toast-bg: var(--color-surface-container-high);--emr-toast-color: var(--color-on-surface);--emr-toast-border-radius: 1rem;--emr-toast-shadow: 0 8px 24px var(--color-shadow);--emr-toast-width: calc(var(--spacing, .25rem) * 96);--emr-toast-border: 1px solid var(--color-outline-variant);--emr-toast-progress-color: var(--color-primary);display:flex;flex-direction:column;width:var(--emr-toast-width);max-width:calc(100vw - calc(var(--spacing, .25rem) * 8));background:var(--emr-toast-bg);color:var(--emr-toast-color);border-radius:var(--emr-toast-border-radius);border:var(--emr-toast-border);box-shadow:var(--emr-toast-shadow);overflow:hidden;animation:toastIn .25s cubic-bezier(.34,1.56,.64,1)}@supports (color: color-mix(in lab,red,red)){:host{--emr-toast-shadow: 0 8px 24px color-mix(in srgb, var(--color-shadow) 15%, transparent)}}:host[data-variant=success]{--emr-toast-border: 1px solid var(--color-green);--emr-toast-progress-color: var(--color-green)}:host[data-variant=error]{--emr-toast-border: 1px solid var(--color-red);--emr-toast-progress-color: var(--color-red)}:host[data-variant=warning]{--emr-toast-border: 1px solid var(--color-orange);--emr-toast-progress-color: var(--color-orange)}:host[data-variant=info]{--emr-toast-border: 1px solid var(--color-blue);--emr-toast-progress-color: var(--color-blue)}.toast-body{display:flex;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.toast-icon{flex-shrink:0;width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;border-radius:50%;margin-top:calc(var(--spacing, .25rem) * .5)}:host([data-variant=success]) .toast-icon{background:var(--color-green-container);color:var(--color-green)}:host([data-variant=error]) .toast-icon{background:var(--color-red-container);color:var(--color-red)}:host([data-variant=warning]) .toast-icon{background:var(--color-orange-container);color:var(--color-orange)}:host([data-variant=info]) .toast-icon{background:var(--color-blue-container);color:var(--color-blue)}:host([data-variant=default]) .toast-icon{display:none}.toast-content{flex:1;min-width:0}.toast-title{display:block;font-weight:600;font-size:.875rem;margin-bottom:calc(var(--spacing, .25rem) * .5)}.toast-message{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.4}.toast-controls{display:flex;align-items:center;gap:var(--spacing, .25rem);flex-shrink:0}.toast-action{font-size:.875rem;font-weight:600;color:var(--color-primary);background:transparent;border:none;cursor:pointer;padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);border-radius:.5rem}.toast-action:hover{background:var(--color-surface-container-highest)}.toast-close{width:calc(var(--spacing, .25rem) * 7);height:calc(var(--spacing, .25rem) * 7);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-variant);border-radius:.5rem;font-size:.65rem}.toast-close:hover{background:var(--color-surface-container-highest)}.toast-progress{height:var(--spacing, .25rem);background:var(--emr-toast-progress-color);transition:width 50ms linear;border-radius:0 0 var(--emr-toast-border-radius) var(--emr-toast-border-radius)}@keyframes toastIn{0%{opacity:0;transform:translate(calc(var(--spacing, .25rem) * 8)) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
45
45
  }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], 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 }] }], duration: [{ type: i0.Input, args: [{ isSignal: true, alias: "duration", required: false }] }], showProgress: [{ type: i0.Input, args: [{ isSignal: true, alias: "showProgress", required: false }] }], dismissed: [{ type: i0.Output, args: ["dismissed"] }], actionClick: [{ type: i0.Output, args: ["actionClick"] }] } });
46
46
 
47
47
  class EmrToast {
@@ -82,10 +82,10 @@ class EmrToast {
82
82
  error(message, config) { this.open({ ...config, message, variant: 'error' }); }
83
83
  warning(message, config) { this.open({ ...config, message, variant: 'warning' }); }
84
84
  info(message, config) { this.open({ ...config, message, variant: 'info' }); }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrToast, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
86
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrToast, providedIn: 'root' });
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrToast, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
86
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrToast, providedIn: 'root' });
87
87
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrToast, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrToast, decorators: [{
89
89
  type: Injectable,
90
90
  args: [{ providedIn: 'root' }]
91
91
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-toast.mjs","sources":["../../../projects/components/toast/src/toast/toast.component.ts","../../../projects/components/toast/src/toast/toast.component.html","../../../projects/components/toast/src/toast.service.ts","../../../projects/components/toast/elementar-rt-components-toast.ts"],"sourcesContent":["import { Component, input, output, signal, OnInit, OnDestroy, computed } from '@angular/core';\n\nexport type ToastVariant = 'default' | 'success' | 'error' | 'warning' | 'info';\n\n@Component({\n selector: 'emr-toast',\n exportAs: 'emrToast',\n templateUrl: './toast.component.html',\n styleUrl: './toast.component.scss',\n host: {\n 'class': 'emr-toast',\n '[attr.data-variant]': 'variant()',\n }\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n title = input('');\n message = input('');\n action = input('');\n variant = input<ToastVariant>('default');\n duration = input(4000);\n showProgress = input(true);\n\n readonly dismissed = output<void>();\n readonly actionClick = output<void>();\n\n protected _progress = signal(100);\n private _timer: any;\n private _interval: any;\n\n ngOnInit() {\n const d = this.duration();\n if (d <= 0) return;\n const step = 50;\n const decrement = (step / d) * 100;\n this._interval = setInterval(() => {\n this._progress.update(p => Math.max(0, p - decrement));\n }, step);\n this._timer = setTimeout(() => this.dismissed.emit(), d);\n }\n\n ngOnDestroy() {\n clearTimeout(this._timer);\n clearInterval(this._interval);\n }\n\n protected _dismiss() {\n clearTimeout(this._timer);\n clearInterval(this._interval);\n this.dismissed.emit();\n }\n}\n","<div class=\"toast-body\">\n <div class=\"toast-icon\">\n @switch (variant()) {\n @case ('success') { ✓ }\n @case ('error') { ✕ }\n @case ('warning') { ⚠ }\n @case ('info') { ℹ }\n }\n </div>\n <div class=\"toast-content\">\n @if (title()) { <strong class=\"toast-title\">{{ title() }}</strong> }\n <span class=\"toast-message\">{{ message() }}</span>\n </div>\n <div class=\"toast-controls\">\n @if (action()) {\n <button class=\"toast-action\" type=\"button\" (click)=\"actionClick.emit()\">{{ action() }}</button>\n }\n <button class=\"toast-close\" type=\"button\" (click)=\"_dismiss()\" aria-label=\"Close\">✕</button>\n </div>\n</div>\n@if (showProgress() && duration() > 0) {\n <div class=\"toast-progress\" [style.width]=\"_progress() + '%'\"></div>\n}\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n inject,\n Injectable\n} from '@angular/core';\nimport { ToastComponent, ToastVariant } from './toast/toast.component';\n\nexport interface ToastConfig {\n title?: string;\n message: string;\n action?: string;\n variant?: ToastVariant;\n duration?: number;\n showProgress?: boolean;\n position?: 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EmrToast {\n private _appRef = inject(ApplicationRef);\n private _injector = inject(EnvironmentInjector);\n private _containers = new Map<string, HTMLElement>();\n\n private _getContainer(position: string): HTMLElement {\n if (!this._containers.has(position)) {\n const el = document.createElement('div');\n el.className = `emr-toast-container emr-toast-${position}`;\n document.body.appendChild(el);\n this._containers.set(position, el);\n }\n return this._containers.get(position)!;\n }\n\n open(config: ToastConfig): void {\n const {\n title = '', message, action = '', variant = 'default',\n duration = 4000, showProgress = true, position = 'top-right'\n } = config;\n\n const container = this._getContainer(position);\n const host = document.createElement('div');\n container.appendChild(host);\n\n const ref: ComponentRef<ToastComponent> = createComponent(ToastComponent, {\n environmentInjector: this._injector,\n hostElement: host,\n });\n\n ref.setInput('title', title);\n ref.setInput('message', message);\n ref.setInput('action', action);\n ref.setInput('variant', variant);\n ref.setInput('duration', duration);\n ref.setInput('showProgress', showProgress);\n\n const destroy = () => { ref.destroy(); host.remove(); };\n ref.instance.dismissed.subscribe(destroy);\n ref.instance.actionClick.subscribe(destroy);\n\n this._appRef.attachView(ref.hostView);\n ref.changeDetectorRef.detectChanges();\n }\n\n success(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'success' }); }\n error(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'error' }); }\n warning(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'warning' }); }\n info(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'info' }); }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementar-rt-components-toast.mjs","sources":["../../../projects/components/toast/src/toast/toast.component.ts","../../../projects/components/toast/src/toast/toast.component.html","../../../projects/components/toast/src/toast.service.ts","../../../projects/components/toast/elementar-rt-components-toast.ts"],"sourcesContent":["import { Component, input, output, signal, OnInit, OnDestroy, computed } from '@angular/core';\n\nexport type ToastVariant = 'default' | 'success' | 'error' | 'warning' | 'info';\n\n@Component({\n selector: 'emr-toast',\n exportAs: 'emrToast',\n templateUrl: './toast.component.html',\n styleUrl: './toast.component.scss',\n host: {\n 'class': 'emr-toast',\n '[attr.data-variant]': 'variant()',\n }\n})\nexport class ToastComponent implements OnInit, OnDestroy {\n title = input('');\n message = input('');\n action = input('');\n variant = input<ToastVariant>('default');\n duration = input(4000);\n showProgress = input(true);\n\n readonly dismissed = output<void>();\n readonly actionClick = output<void>();\n\n protected _progress = signal(100);\n private _timer: any;\n private _interval: any;\n\n ngOnInit() {\n const d = this.duration();\n if (d <= 0) return;\n const step = 50;\n const decrement = (step / d) * 100;\n this._interval = setInterval(() => {\n this._progress.update(p => Math.max(0, p - decrement));\n }, step);\n this._timer = setTimeout(() => this.dismissed.emit(), d);\n }\n\n ngOnDestroy() {\n clearTimeout(this._timer);\n clearInterval(this._interval);\n }\n\n protected _dismiss() {\n clearTimeout(this._timer);\n clearInterval(this._interval);\n this.dismissed.emit();\n }\n}\n","<div class=\"toast-body\">\n <div class=\"toast-icon\">\n @switch (variant()) {\n @case ('success') { ✓ }\n @case ('error') { ✕ }\n @case ('warning') { ⚠ }\n @case ('info') { ℹ }\n }\n </div>\n <div class=\"toast-content\">\n @if (title()) { <strong class=\"toast-title\">{{ title() }}</strong> }\n <span class=\"toast-message\">{{ message() }}</span>\n </div>\n <div class=\"toast-controls\">\n @if (action()) {\n <button class=\"toast-action\" type=\"button\" (click)=\"actionClick.emit()\">{{ action() }}</button>\n }\n <button class=\"toast-close\" type=\"button\" (click)=\"_dismiss()\" aria-label=\"Close\">✕</button>\n </div>\n</div>\n@if (showProgress() && duration() > 0) {\n <div class=\"toast-progress\" [style.width]=\"_progress() + '%'\"></div>\n}\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n inject,\n Injectable\n} from '@angular/core';\nimport { ToastComponent, ToastVariant } from './toast/toast.component';\n\nexport interface ToastConfig {\n title?: string;\n message: string;\n action?: string;\n variant?: ToastVariant;\n duration?: number;\n showProgress?: boolean;\n position?: 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EmrToast {\n private _appRef = inject(ApplicationRef);\n private _injector = inject(EnvironmentInjector);\n private _containers = new Map<string, HTMLElement>();\n\n private _getContainer(position: string): HTMLElement {\n if (!this._containers.has(position)) {\n const el = document.createElement('div');\n el.className = `emr-toast-container emr-toast-${position}`;\n document.body.appendChild(el);\n this._containers.set(position, el);\n }\n return this._containers.get(position)!;\n }\n\n open(config: ToastConfig): void {\n const {\n title = '', message, action = '', variant = 'default',\n duration = 4000, showProgress = true, position = 'top-right'\n } = config;\n\n const container = this._getContainer(position);\n const host = document.createElement('div');\n container.appendChild(host);\n\n const ref: ComponentRef<ToastComponent> = createComponent(ToastComponent, {\n environmentInjector: this._injector,\n hostElement: host,\n });\n\n ref.setInput('title', title);\n ref.setInput('message', message);\n ref.setInput('action', action);\n ref.setInput('variant', variant);\n ref.setInput('duration', duration);\n ref.setInput('showProgress', showProgress);\n\n const destroy = () => { ref.destroy(); host.remove(); };\n ref.instance.dismissed.subscribe(destroy);\n ref.instance.actionClick.subscribe(destroy);\n\n this._appRef.attachView(ref.hostView);\n ref.changeDetectorRef.detectChanges();\n }\n\n success(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'success' }); }\n error(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'error' }); }\n warning(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'warning' }); }\n info(message: string, config?: Partial<ToastConfig>) { this.open({ ...config, message, variant: 'info' }); }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,18 +2,18 @@ import * as i0 from '@angular/core';
2
2
  import { input, booleanAttribute, Component } from '@angular/core';
3
3
 
4
4
  class ToolbarComponent {
5
- dense = input(false, ...(ngDevMode ? [{ debugName: "dense", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
6
- sticky = input(false, ...(ngDevMode ? [{ debugName: "sticky", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: ToolbarComponent, isStandalone: true, selector: "emr-toolbar", inputs: { dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-dense": "dense()", "class.is-sticky": "sticky()" }, classAttribute: "emr-toolbar" }, exportAs: ["emrToolbar"], ngImport: i0, template: "<div class=\"toolbar-start\">\n <ng-content select=\"[emrToolbarStart]\"/>\n</div>\n<div class=\"toolbar-center\">\n <ng-content select=\"[emrToolbarCenter]\"/>\n</div>\n<div class=\"toolbar-end\">\n <ng-content select=\"[emrToolbarEnd]\"/>\n</div>\n<ng-content/>\n", styles: [":host{--emr-toolbar-height: calc(var(--spacing, .25rem) * 16);--emr-toolbar-dense-height: calc(var(--spacing, .25rem) * 12);--emr-toolbar-padding: 0 calc(var(--spacing, .25rem) * 4);--emr-toolbar-bg: var(--color-surface);--emr-toolbar-border: 1px solid var(--color-outline-variant);--emr-toolbar-gap: calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;gap:var(--emr-toolbar-gap);height:var(--emr-toolbar-height);padding:var(--emr-toolbar-padding);background:var(--emr-toolbar-bg);border-bottom:var(--emr-toolbar-border);width:100%}:host.is-dense{height:var(--emr-toolbar-dense-height)}:host.is-sticky{position:sticky;top:0;z-index:50}.toolbar-start{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0}.toolbar-start:empty{display:none}.toolbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--emr-toolbar-gap)}.toolbar-center:empty{display:none}.toolbar-end{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0;margin-inline-start:auto}.toolbar-end:empty{display:none}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
5
+ dense = input(false, { ...(ngDevMode ? { debugName: "dense" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
6
+ sticky = input(false, { ...(ngDevMode ? { debugName: "sticky" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: ToolbarComponent, isStandalone: true, selector: "emr-toolbar", inputs: { dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-dense": "dense()", "class.is-sticky": "sticky()" }, classAttribute: "emr-toolbar" }, exportAs: ["emrToolbar"], ngImport: i0, template: "<div class=\"toolbar-start\">\n <ng-content select=\"[emrToolbarStart]\"/>\n</div>\n<div class=\"toolbar-center\">\n <ng-content select=\"[emrToolbarCenter]\"/>\n</div>\n<div class=\"toolbar-end\">\n <ng-content select=\"[emrToolbarEnd]\"/>\n</div>\n<ng-content/>\n", styles: [":host{--emr-toolbar-height: calc(var(--spacing, .25rem) * 16);--emr-toolbar-dense-height: calc(var(--spacing, .25rem) * 12);--emr-toolbar-padding: 0 calc(var(--spacing, .25rem) * 4);--emr-toolbar-bg: var(--color-surface);--emr-toolbar-border: 1px solid var(--color-outline-variant);--emr-toolbar-gap: calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;gap:var(--emr-toolbar-gap);height:var(--emr-toolbar-height);padding:var(--emr-toolbar-padding);background:var(--emr-toolbar-bg);border-bottom:var(--emr-toolbar-border);width:100%}:host.is-dense{height:var(--emr-toolbar-dense-height)}:host.is-sticky{position:sticky;top:0;z-index:50}.toolbar-start{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0}.toolbar-start:empty{display:none}.toolbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--emr-toolbar-gap)}.toolbar-center:empty{display:none}.toolbar-end{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0;margin-inline-start:auto}.toolbar-end:empty{display:none}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] });
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ToolbarComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ToolbarComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'emr-toolbar', exportAs: 'emrToolbar', host: {
13
13
  'class': 'emr-toolbar',
14
14
  '[class.is-dense]': 'dense()',
15
15
  '[class.is-sticky]': 'sticky()',
16
- }, template: "<div class=\"toolbar-start\">\n <ng-content select=\"[emrToolbarStart]\"/>\n</div>\n<div class=\"toolbar-center\">\n <ng-content select=\"[emrToolbarCenter]\"/>\n</div>\n<div class=\"toolbar-end\">\n <ng-content select=\"[emrToolbarEnd]\"/>\n</div>\n<ng-content/>\n", styles: [":host{--emr-toolbar-height: calc(var(--spacing, .25rem) * 16);--emr-toolbar-dense-height: calc(var(--spacing, .25rem) * 12);--emr-toolbar-padding: 0 calc(var(--spacing, .25rem) * 4);--emr-toolbar-bg: var(--color-surface);--emr-toolbar-border: 1px solid var(--color-outline-variant);--emr-toolbar-gap: calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;gap:var(--emr-toolbar-gap);height:var(--emr-toolbar-height);padding:var(--emr-toolbar-padding);background:var(--emr-toolbar-bg);border-bottom:var(--emr-toolbar-border);width:100%}:host.is-dense{height:var(--emr-toolbar-dense-height)}:host.is-sticky{position:sticky;top:0;z-index:50}.toolbar-start{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0}.toolbar-start:empty{display:none}.toolbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--emr-toolbar-gap)}.toolbar-center:empty{display:none}.toolbar-end{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0;margin-inline-start:auto}.toolbar-end:empty{display:none}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
16
+ }, template: "<div class=\"toolbar-start\">\n <ng-content select=\"[emrToolbarStart]\"/>\n</div>\n<div class=\"toolbar-center\">\n <ng-content select=\"[emrToolbarCenter]\"/>\n</div>\n<div class=\"toolbar-end\">\n <ng-content select=\"[emrToolbarEnd]\"/>\n</div>\n<ng-content/>\n", styles: [":host{--emr-toolbar-height: calc(var(--spacing, .25rem) * 16);--emr-toolbar-dense-height: calc(var(--spacing, .25rem) * 12);--emr-toolbar-padding: 0 calc(var(--spacing, .25rem) * 4);--emr-toolbar-bg: var(--color-surface);--emr-toolbar-border: 1px solid var(--color-outline-variant);--emr-toolbar-gap: calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;gap:var(--emr-toolbar-gap);height:var(--emr-toolbar-height);padding:var(--emr-toolbar-padding);background:var(--emr-toolbar-bg);border-bottom:var(--emr-toolbar-border);width:100%}:host.is-dense{height:var(--emr-toolbar-dense-height)}:host.is-sticky{position:sticky;top:0;z-index:50}.toolbar-start{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0}.toolbar-start:empty{display:none}.toolbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--emr-toolbar-gap)}.toolbar-center:empty{display:none}.toolbar-end{display:flex;align-items:center;gap:var(--emr-toolbar-gap);flex-shrink:0;margin-inline-start:auto}.toolbar-end:empty{display:none}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
17
17
  }], propDecorators: { dense: [{ type: i0.Input, args: [{ isSignal: true, alias: "dense", required: false }] }], sticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "sticky", required: false }] }] } });
18
18
 
19
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-toolbar.mjs","sources":["../../../projects/components/toolbar/src/toolbar/toolbar.component.ts","../../../projects/components/toolbar/src/toolbar/toolbar.component.html","../../../projects/components/toolbar/elementar-rt-components-toolbar.ts"],"sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\n\n@Component({\n selector: 'emr-toolbar',\n exportAs: 'emrToolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n host: {\n 'class': 'emr-toolbar',\n '[class.is-dense]': 'dense()',\n '[class.is-sticky]': 'sticky()',\n }\n})\nexport class ToolbarComponent {\n dense = input(false, { transform: booleanAttribute });\n sticky = input(false, { transform: booleanAttribute });\n}\n","<div class=\"toolbar-start\">\n <ng-content select=\"[emrToolbarStart]\"/>\n</div>\n<div class=\"toolbar-center\">\n <ng-content select=\"[emrToolbarCenter]\"/>\n</div>\n<div class=\"toolbar-end\">\n <ng-content select=\"[emrToolbarEnd]\"/>\n</div>\n<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAaa,gBAAgB,CAAA;AAC3B,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,yCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACrD,IAAA,MAAM,GAAG,KAAK,CAAC,KAAK,0CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;wGAF3C,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,qdCb7B,8QAUA,EAAA,MAAA,EAAA,CAAA,omCAAA,CAAA,EAAA,CAAA;;4FDGa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;+BACE,aAAa,EAAA,QAAA,EACb,YAAY,EAAA,IAAA,EAGhB;AACJ,wBAAA,OAAO,EAAE,aAAa;AACtB,wBAAA,kBAAkB,EAAE,SAAS;AAC7B,wBAAA,mBAAmB,EAAE,UAAU;AAChC,qBAAA,EAAA,QAAA,EAAA,8QAAA,EAAA,MAAA,EAAA,CAAA,omCAAA,CAAA,EAAA;;;AEXH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-toolbar.mjs","sources":["../../../projects/components/toolbar/src/toolbar/toolbar.component.ts","../../../projects/components/toolbar/src/toolbar/toolbar.component.html","../../../projects/components/toolbar/elementar-rt-components-toolbar.ts"],"sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\n\n@Component({\n selector: 'emr-toolbar',\n exportAs: 'emrToolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n host: {\n 'class': 'emr-toolbar',\n '[class.is-dense]': 'dense()',\n '[class.is-sticky]': 'sticky()',\n }\n})\nexport class ToolbarComponent {\n dense = input(false, { transform: booleanAttribute });\n sticky = input(false, { transform: booleanAttribute });\n}\n","<div class=\"toolbar-start\">\n <ng-content select=\"[emrToolbarStart]\"/>\n</div>\n<div class=\"toolbar-center\">\n <ng-content select=\"[emrToolbarCenter]\"/>\n</div>\n<div class=\"toolbar-end\">\n <ng-content select=\"[emrToolbarEnd]\"/>\n</div>\n<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAaa,gBAAgB,CAAA;IAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,6EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACrD,MAAM,GAAG,KAAK,CAAC,KAAK,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;wGAF3C,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,qdCb7B,8QAUA,EAAA,MAAA,EAAA,CAAA,omCAAA,CAAA,EAAA,CAAA;;4FDGa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;+BACE,aAAa,EAAA,QAAA,EACb,YAAY,EAAA,IAAA,EAGhB;AACJ,wBAAA,OAAO,EAAE,aAAa;AACtB,wBAAA,kBAAkB,EAAE,SAAS;AAC7B,wBAAA,mBAAmB,EAAE,UAAU;AAChC,qBAAA,EAAA,QAAA,EAAA,8QAAA,EAAA,MAAA,EAAA,CAAA,omCAAA,CAAA,EAAA;;;AEXH;;AAEG;;"}
@@ -3,11 +3,11 @@ import { input, Component, inject, ElementRef, ApplicationRef, EnvironmentInject
3
3
  import { NgTemplateOutlet } from '@angular/common';
4
4
 
5
5
  class TooltipComponent {
6
- text = input('', ...(ngDevMode ? [{ debugName: "text" }] : []));
7
- templateRef = input(null, ...(ngDevMode ? [{ debugName: "templateRef" }] : []));
8
- placement = input('top', ...(ngDevMode ? [{ debugName: "placement" }] : []));
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TooltipComponent, isStandalone: true, selector: "emr-tooltip-content", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, templateRef: { classPropertyName: "templateRef", publicName: "templateRef", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
6
+ text = input('', ...(ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []));
7
+ templateRef = input(null, ...(ngDevMode ? [{ debugName: "templateRef" }] : /* istanbul ignore next */ []));
8
+ placement = input('top', ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: TooltipComponent, isStandalone: true, selector: "emr-tooltip-content", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, templateRef: { classPropertyName: "templateRef", publicName: "templateRef", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
11
11
  <div class="tooltip-inner" [attr.data-placement]="placement()">
12
12
  @if (templateRef()) {
13
13
  <ng-container [ngTemplateOutlet]="templateRef()!"/>
@@ -15,9 +15,9 @@ class TooltipComponent {
15
15
  {{ text() }}
16
16
  }
17
17
  </div>
18
- `, isInline: true, styles: [".tooltip-inner{--emr-tooltip-bg: var(--color-inverse-surface);--emr-tooltip-color: var(--color-inverse-on-surface);background:var(--emr-tooltip-bg);color:var(--emr-tooltip-color);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);border-radius:.5rem;font-size:var(--text-xs);font-weight:500;max-width:calc(var(--spacing) * 56);line-height:1.4;animation:tooltipIn .12s ease}@keyframes tooltipIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
18
+ `, isInline: true, styles: [".tooltip-inner{--emr-tooltip-bg: var(--color-inverse-surface);--emr-tooltip-color: var(--color-inverse-on-surface);background:var(--emr-tooltip-bg);color:var(--emr-tooltip-color);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);border-radius:.5rem;font-size:var(--text-xs);font-weight:500;max-width:calc(var(--spacing) * 56);line-height:1.4;animation:tooltipIn .12s ease}@keyframes tooltipIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TooltipComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'emr-tooltip-content', imports: [NgTemplateOutlet], template: `
23
23
  <div class="tooltip-inner" [attr.data-placement]="placement()">
@@ -27,13 +27,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
27
27
  {{ text() }}
28
28
  }
29
29
  </div>
30
- `, styles: [".tooltip-inner{--emr-tooltip-bg: var(--color-inverse-surface);--emr-tooltip-color: var(--color-inverse-on-surface);background:var(--emr-tooltip-bg);color:var(--emr-tooltip-color);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);border-radius:.5rem;font-size:var(--text-xs);font-weight:500;max-width:calc(var(--spacing) * 56);line-height:1.4;animation:tooltipIn .12s ease}@keyframes tooltipIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
30
+ `, styles: [".tooltip-inner{--emr-tooltip-bg: var(--color-inverse-surface);--emr-tooltip-color: var(--color-inverse-on-surface);background:var(--emr-tooltip-bg);color:var(--emr-tooltip-color);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);border-radius:.5rem;font-size:var(--text-xs);font-weight:500;max-width:calc(var(--spacing) * 56);line-height:1.4;animation:tooltipIn .12s ease}@keyframes tooltipIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
31
31
  }], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], templateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "templateRef", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }] } });
32
32
 
33
33
  class TooltipDirective {
34
- emrTooltip = input('', ...(ngDevMode ? [{ debugName: "emrTooltip" }] : []));
35
- tooltipPlacement = input('top', ...(ngDevMode ? [{ debugName: "tooltipPlacement" }] : []));
36
- tooltipDisabled = input(false, ...(ngDevMode ? [{ debugName: "tooltipDisabled" }] : []));
34
+ emrTooltip = input('', ...(ngDevMode ? [{ debugName: "emrTooltip" }] : /* istanbul ignore next */ []));
35
+ tooltipPlacement = input('top', ...(ngDevMode ? [{ debugName: "tooltipPlacement" }] : /* istanbul ignore next */ []));
36
+ tooltipDisabled = input(false, ...(ngDevMode ? [{ debugName: "tooltipDisabled" }] : /* istanbul ignore next */ []));
37
37
  _el = inject((ElementRef));
38
38
  _appRef = inject(ApplicationRef);
39
39
  _injector = inject(EnvironmentInjector);
@@ -94,10 +94,10 @@ class TooltipDirective {
94
94
  });
95
95
  }
96
96
  ngOnDestroy() { this._hide(); }
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
98
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: TooltipDirective, isStandalone: true, selector: "[emrTooltip]", inputs: { emrTooltip: { classPropertyName: "emrTooltip", publicName: "emrTooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPlacement: { classPropertyName: "tooltipPlacement", publicName: "tooltipPlacement", isSignal: true, isRequired: false, transformFunction: null }, tooltipDisabled: { classPropertyName: "tooltipDisabled", publicName: "tooltipDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "_show()", "mouseleave": "_hide()", "focusin": "_show()", "focusout": "_hide()" } }, exportAs: ["emrTooltip"], ngImport: i0 });
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
98
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: TooltipDirective, isStandalone: true, selector: "[emrTooltip]", inputs: { emrTooltip: { classPropertyName: "emrTooltip", publicName: "emrTooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPlacement: { classPropertyName: "tooltipPlacement", publicName: "tooltipPlacement", isSignal: true, isRequired: false, transformFunction: null }, tooltipDisabled: { classPropertyName: "tooltipDisabled", publicName: "tooltipDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "_show()", "mouseleave": "_hide()", "focusin": "_show()", "focusout": "_hide()" } }, exportAs: ["emrTooltip"], ngImport: i0 });
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TooltipDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: TooltipDirective, decorators: [{
101
101
  type: Directive,
102
102
  args: [{
103
103
  selector: '[emrTooltip]',