@elementar-rt/components 0.6.58 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +7 -2
  2. package/fesm2022/elementar-rt-components-action-required.mjs +8 -8
  3. package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
  4. package/fesm2022/elementar-rt-components-alert.mjs +21 -25
  5. package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
  6. package/fesm2022/elementar-rt-components-announcement.mjs +12 -14
  7. package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
  8. package/fesm2022/elementar-rt-components-avatar.mjs +34 -38
  9. package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
  10. package/fesm2022/elementar-rt-components-badge.mjs +10 -10
  11. package/fesm2022/elementar-rt-components-badge.mjs.map +1 -1
  12. package/fesm2022/elementar-rt-components-block-loader.mjs +10 -16
  13. package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
  14. package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
  15. package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
  16. package/fesm2022/elementar-rt-components-bottom-sheet.mjs +12 -12
  17. package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -1
  18. package/fesm2022/elementar-rt-components-brand-colors.mjs +9 -13
  19. package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
  20. package/fesm2022/elementar-rt-components-breadcrumbs.mjs +49 -53
  21. package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/elementar-rt-components-button-toggle.mjs +16 -16
  23. package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -1
  24. package/fesm2022/elementar-rt-components-calendar.mjs +10 -10
  25. package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -1
  26. package/fesm2022/elementar-rt-components-card-overlay.mjs +10 -16
  27. package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
  28. package/fesm2022/elementar-rt-components-card.mjs +18 -18
  29. package/fesm2022/elementar-rt-components-card.mjs.map +1 -1
  30. package/fesm2022/elementar-rt-components-carousel.mjs +48 -50
  31. package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
  32. package/fesm2022/elementar-rt-components-chips.mjs +12 -12
  33. package/fesm2022/elementar-rt-components-chips.mjs.map +1 -1
  34. package/fesm2022/elementar-rt-components-clipboard-copy.mjs +17 -17
  35. package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -1
  36. package/fesm2022/elementar-rt-components-code-highlighter.mjs +12 -12
  37. package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
  38. package/fesm2022/elementar-rt-components-color-picker.mjs +44 -52
  39. package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
  40. package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
  41. package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
  42. package/fesm2022/elementar-rt-components-combobox.mjs +13 -13
  43. package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -1
  44. package/fesm2022/elementar-rt-components-command-bar.mjs +15 -17
  45. package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
  46. package/fesm2022/elementar-rt-components-comment-editor.mjs +106 -106
  47. package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
  48. package/fesm2022/elementar-rt-components-comparison-slider.mjs +16 -16
  49. package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
  50. package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
  51. package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
  52. package/fesm2022/elementar-rt-components-content-editor.mjs +7 -7
  53. package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -1
  54. package/fesm2022/elementar-rt-components-content-fade.mjs +7 -7
  55. package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
  56. package/fesm2022/elementar-rt-components-cookie-popup.mjs +15 -17
  57. package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
  58. package/fesm2022/elementar-rt-components-core.mjs +68 -75
  59. package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
  60. package/fesm2022/elementar-rt-components-country-select.mjs +15 -17
  61. package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
  62. package/fesm2022/elementar-rt-components-crop.mjs +12 -12
  63. package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
  64. package/fesm2022/elementar-rt-components-currency-select.mjs +15 -17
  65. package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
  66. package/fesm2022/elementar-rt-components-dashboard.mjs +15 -19
  67. package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
  68. package/fesm2022/elementar-rt-components-data-grid.mjs +20 -20
  69. package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -1
  70. package/fesm2022/elementar-rt-components-data-view.mjs +38 -52
  71. package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
  72. package/fesm2022/elementar-rt-components-date-format-select.mjs +8 -8
  73. package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
  74. package/fesm2022/elementar-rt-components-datepicker.mjs +12 -12
  75. package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -1
  76. package/fesm2022/elementar-rt-components-dialog.mjs +19 -19
  77. package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -1
  78. package/fesm2022/elementar-rt-components-digit-roller.mjs +10 -10
  79. package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -1
  80. package/fesm2022/elementar-rt-components-divider.mjs +8 -8
  81. package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
  82. package/fesm2022/elementar-rt-components-drawer.mjs +14 -14
  83. package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
  84. package/fesm2022/elementar-rt-components-emoji-picker.mjs +15 -17
  85. package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
  86. package/fesm2022/elementar-rt-components-empty-state.mjs +8 -8
  87. package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -1
  88. package/fesm2022/elementar-rt-components-expand.mjs +10 -14
  89. package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
  90. package/fesm2022/elementar-rt-components-expansion-panel.mjs +6 -6
  91. package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -1
  92. package/fesm2022/elementar-rt-components-filter-builder.mjs +24 -26
  93. package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
  94. package/fesm2022/elementar-rt-components-filter-select.mjs +19 -19
  95. package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -1
  96. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs} +6 -6
  97. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs.map} +1 -1
  98. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs} +7 -7
  99. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs.map} +1 -1
  100. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs} +6 -6
  101. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs.map} +1 -1
  102. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs} +4 -4
  103. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs.map} +1 -1
  104. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs} +5 -5
  105. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs.map} +1 -1
  106. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs} +7 -7
  107. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs.map} +1 -1
  108. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs} +7 -7
  109. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs.map} +1 -1
  110. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs} +6 -6
  111. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs.map} +1 -1
  112. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs} +5 -5
  113. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs.map} +1 -1
  114. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs} +6 -6
  115. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs.map} +1 -1
  116. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs} +7 -7
  117. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs.map} +1 -1
  118. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs} +7 -7
  119. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs.map} +1 -1
  120. package/fesm2022/elementar-rt-components-form-renderer.mjs +36 -36
  121. package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
  122. package/fesm2022/elementar-rt-components-gauge.mjs +11 -17
  123. package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
  124. package/fesm2022/elementar-rt-components-grid.mjs +12 -12
  125. package/fesm2022/elementar-rt-components-grid.mjs.map +1 -1
  126. package/fesm2022/elementar-rt-components-guided-tour.mjs +12 -12
  127. package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -1
  128. package/fesm2022/elementar-rt-components-headless-stepper.mjs +10 -10
  129. package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -1
  130. package/fesm2022/elementar-rt-components-icon.mjs +6 -6
  131. package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
  132. package/fesm2022/elementar-rt-components-image-placeholder.mjs +10 -10
  133. package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -1
  134. package/fesm2022/elementar-rt-components-image-resizer.mjs +17 -25
  135. package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
  136. package/fesm2022/elementar-rt-components-image-viewer.mjs +29 -29
  137. package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
  138. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +16 -16
  139. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -1
  140. package/fesm2022/elementar-rt-components-incidents.mjs +55 -57
  141. package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
  142. package/fesm2022/elementar-rt-components-inline-text-edit.mjs +8 -10
  143. package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
  144. package/fesm2022/elementar-rt-components-input-mask.mjs +12 -12
  145. package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
  146. package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
  147. package/fesm2022/elementar-rt-components-kanban-board.mjs +10 -10
  148. package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
  149. package/fesm2022/elementar-rt-components-keyboard.mjs +9 -9
  150. package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -1
  151. package/fesm2022/elementar-rt-components-layout.mjs +36 -40
  152. package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
  153. package/fesm2022/elementar-rt-components-list.mjs +13 -13
  154. package/fesm2022/elementar-rt-components-list.mjs.map +1 -1
  155. package/fesm2022/elementar-rt-components-logo.mjs +12 -12
  156. package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
  157. package/fesm2022/elementar-rt-components-marquee.mjs +9 -13
  158. package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
  159. package/fesm2022/elementar-rt-components-menu.mjs +19 -19
  160. package/fesm2022/elementar-rt-components-menu.mjs.map +1 -1
  161. package/fesm2022/elementar-rt-components-micro-chart.mjs +65 -111
  162. package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
  163. package/fesm2022/elementar-rt-components-multi-select.mjs +13 -13
  164. package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -1
  165. package/fesm2022/elementar-rt-components-navigation.mjs +56 -66
  166. package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
  167. package/fesm2022/elementar-rt-components-notifications.mjs +47 -53
  168. package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
  169. package/fesm2022/elementar-rt-components-number-input.mjs +23 -31
  170. package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
  171. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +34 -34
  172. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
  173. package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
  174. package/fesm2022/elementar-rt-components-page-loading-bar.mjs +5 -7
  175. package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
  176. package/fesm2022/elementar-rt-components-paginator.mjs +12 -12
  177. package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -1
  178. package/fesm2022/elementar-rt-components-panel.mjs +25 -27
  179. package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
  180. package/fesm2022/elementar-rt-components-password-strength.mjs +35 -59
  181. package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
  182. package/fesm2022/elementar-rt-components-phone-input.mjs +23 -26
  183. package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
  184. package/fesm2022/elementar-rt-components-pin-input.mjs +17 -21
  185. package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
  186. package/fesm2022/elementar-rt-components-popover.mjs +18 -28
  187. package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
  188. package/fesm2022/elementar-rt-components-progress-bar.mjs +10 -10
  189. package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -1
  190. package/fesm2022/elementar-rt-components-progress-spinner.mjs +14 -14
  191. package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -1
  192. package/fesm2022/elementar-rt-components-radio-card.mjs +21 -21
  193. package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
  194. package/fesm2022/elementar-rt-components-rail-nav.mjs +14 -14
  195. package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
  196. package/fesm2022/elementar-rt-components-rating.mjs +15 -15
  197. package/fesm2022/elementar-rt-components-rating.mjs.map +1 -1
  198. package/fesm2022/elementar-rt-components-resizable-container.mjs +5 -7
  199. package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
  200. package/fesm2022/elementar-rt-components-screen-loader.mjs +5 -7
  201. package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
  202. package/fesm2022/elementar-rt-components-scroll-spy.mjs +18 -18
  203. package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
  204. package/fesm2022/elementar-rt-components-segmented.mjs +18 -24
  205. package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
  206. package/fesm2022/elementar-rt-components-side-panel.mjs +18 -18
  207. package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
  208. package/fesm2022/elementar-rt-components-sidebar.mjs +71 -77
  209. package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
  210. package/fesm2022/elementar-rt-components-sidenav.mjs +15 -15
  211. package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -1
  212. package/fesm2022/elementar-rt-components-signature-pad.mjs +17 -17
  213. package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
  214. package/fesm2022/elementar-rt-components-skeleton.mjs +17 -17
  215. package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
  216. package/fesm2022/elementar-rt-components-slider.mjs +13 -13
  217. package/fesm2022/elementar-rt-components-slider.mjs.map +1 -1
  218. package/fesm2022/elementar-rt-components-snackbar.mjs +10 -10
  219. package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -1
  220. package/fesm2022/elementar-rt-components-sort.mjs +11 -11
  221. package/fesm2022/elementar-rt-components-sort.mjs.map +1 -1
  222. package/fesm2022/elementar-rt-components-splash-screen.mjs +6 -10
  223. package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
  224. package/fesm2022/elementar-rt-components-split-pane.mjs +10 -10
  225. package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -1
  226. package/fesm2022/elementar-rt-components-stat-card.mjs +10 -10
  227. package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -1
  228. package/fesm2022/elementar-rt-components-step-tracker.mjs +8 -8
  229. package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -1
  230. package/fesm2022/elementar-rt-components-stepper.mjs +21 -23
  231. package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
  232. package/fesm2022/elementar-rt-components-suggestions.mjs +21 -25
  233. package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
  234. package/fesm2022/elementar-rt-components-tab-panel.mjs +54 -60
  235. package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
  236. package/fesm2022/elementar-rt-components-table.mjs +16 -16
  237. package/fesm2022/elementar-rt-components-table.mjs.map +1 -1
  238. package/fesm2022/elementar-rt-components-tabs.mjs +14 -14
  239. package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -1
  240. package/fesm2022/elementar-rt-components-tag.mjs +9 -9
  241. package/fesm2022/elementar-rt-components-tag.mjs.map +1 -1
  242. package/fesm2022/elementar-rt-components-text-editor.mjs +97 -96
  243. package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
  244. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +11 -13
  245. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
  246. package/fesm2022/elementar-rt-components-tiles.mjs +9 -9
  247. package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -1
  248. package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
  249. package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
  250. package/fesm2022/elementar-rt-components-timepicker.mjs +11 -11
  251. package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -1
  252. package/fesm2022/elementar-rt-components-timezone-select.mjs +23 -29
  253. package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
  254. package/fesm2022/elementar-rt-components-toast.mjs +14 -14
  255. package/fesm2022/elementar-rt-components-toast.mjs.map +1 -1
  256. package/fesm2022/elementar-rt-components-toolbar.mjs +6 -6
  257. package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -1
  258. package/fesm2022/elementar-rt-components-tooltip.mjs +14 -14
  259. package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -1
  260. package/fesm2022/elementar-rt-components-tree.mjs +17 -17
  261. package/fesm2022/elementar-rt-components-tree.mjs.map +1 -1
  262. package/fesm2022/elementar-rt-components-upload.mjs +77 -87
  263. package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
  264. package/fesm2022/elementar-rt-components-video-player.mjs +22 -22
  265. package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -1
  266. package/fesm2022/elementar-rt-components-video-viewer.mjs +16 -16
  267. package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -1
  268. package/package.json +136 -135
  269. package/schematics/collection.json +16 -0
  270. package/schematics/ng-add/actions/add-fonts.d.ts +2 -0
  271. package/schematics/ng-add/actions/add-fonts.js +70 -0
  272. package/schematics/ng-add/actions/add-fonts.js.map +1 -0
  273. package/schematics/ng-add/actions/add-styles.d.ts +3 -0
  274. package/schematics/ng-add/actions/add-styles.js +70 -0
  275. package/schematics/ng-add/actions/add-styles.js.map +1 -0
  276. package/schematics/ng-add/index.d.ts +3 -0
  277. package/schematics/ng-add/index.js +83 -0
  278. package/schematics/ng-add/index.js.map +1 -0
  279. package/schematics/ng-add/schema.d.ts +3 -0
  280. package/schematics/ng-add/schema.js +3 -0
  281. package/schematics/ng-add/schema.js.map +1 -0
  282. package/schematics/ng-add/schema.json +8 -0
  283. package/schematics/ng-add/setup-project.d.ts +3 -0
  284. package/schematics/ng-add/setup-project.js +14 -0
  285. package/schematics/ng-add/setup-project.js.map +1 -0
  286. package/schematics/utils/package-config.d.ts +3 -0
  287. package/schematics/utils/package-config.js +36 -0
  288. package/schematics/utils/package-config.js.map +1 -0
  289. package/schematics/utils/project.d.ts +10 -0
  290. package/schematics/utils/project.js +46 -0
  291. package/schematics/utils/project.js.map +1 -0
  292. package/{country-select/index.d.ts → types/elementar-rt-components-country-select.d.ts} +1 -1
  293. package/{currency-select/index.d.ts → types/elementar-rt-components-currency-select.d.ts} +1 -1
  294. /package/{action-required/index.d.ts → types/elementar-rt-components-action-required.d.ts} +0 -0
  295. /package/{alert/index.d.ts → types/elementar-rt-components-alert.d.ts} +0 -0
  296. /package/{announcement/index.d.ts → types/elementar-rt-components-announcement.d.ts} +0 -0
  297. /package/{avatar/index.d.ts → types/elementar-rt-components-avatar.d.ts} +0 -0
  298. /package/{badge/index.d.ts → types/elementar-rt-components-badge.d.ts} +0 -0
  299. /package/{block-loader/index.d.ts → types/elementar-rt-components-block-loader.d.ts} +0 -0
  300. /package/{block-state/index.d.ts → types/elementar-rt-components-block-state.d.ts} +0 -0
  301. /package/{bottom-sheet/index.d.ts → types/elementar-rt-components-bottom-sheet.d.ts} +0 -0
  302. /package/{brand-colors/index.d.ts → types/elementar-rt-components-brand-colors.d.ts} +0 -0
  303. /package/{breadcrumbs/index.d.ts → types/elementar-rt-components-breadcrumbs.d.ts} +0 -0
  304. /package/{button-toggle/index.d.ts → types/elementar-rt-components-button-toggle.d.ts} +0 -0
  305. /package/{calendar/index.d.ts → types/elementar-rt-components-calendar.d.ts} +0 -0
  306. /package/{card-overlay/index.d.ts → types/elementar-rt-components-card-overlay.d.ts} +0 -0
  307. /package/{card/index.d.ts → types/elementar-rt-components-card.d.ts} +0 -0
  308. /package/{carousel/index.d.ts → types/elementar-rt-components-carousel.d.ts} +0 -0
  309. /package/{chips/index.d.ts → types/elementar-rt-components-chips.d.ts} +0 -0
  310. /package/{clipboard-copy/index.d.ts → types/elementar-rt-components-clipboard-copy.d.ts} +0 -0
  311. /package/{code-highlighter/index.d.ts → types/elementar-rt-components-code-highlighter.d.ts} +0 -0
  312. /package/{color-picker/index.d.ts → types/elementar-rt-components-color-picker.d.ts} +0 -0
  313. /package/{color-scheme/index.d.ts → types/elementar-rt-components-color-scheme.d.ts} +0 -0
  314. /package/{combobox/index.d.ts → types/elementar-rt-components-combobox.d.ts} +0 -0
  315. /package/{command-bar/index.d.ts → types/elementar-rt-components-command-bar.d.ts} +0 -0
  316. /package/{comment-editor/index.d.ts → types/elementar-rt-components-comment-editor.d.ts} +0 -0
  317. /package/{comparison-slider/index.d.ts → types/elementar-rt-components-comparison-slider.d.ts} +0 -0
  318. /package/{confirm/index.d.ts → types/elementar-rt-components-confirm.d.ts} +0 -0
  319. /package/{content-editor/index.d.ts → types/elementar-rt-components-content-editor.d.ts} +0 -0
  320. /package/{content-fade/index.d.ts → types/elementar-rt-components-content-fade.d.ts} +0 -0
  321. /package/{cookie-popup/index.d.ts → types/elementar-rt-components-cookie-popup.d.ts} +0 -0
  322. /package/{core/index.d.ts → types/elementar-rt-components-core.d.ts} +0 -0
  323. /package/{crop/index.d.ts → types/elementar-rt-components-crop.d.ts} +0 -0
  324. /package/{dashboard/index.d.ts → types/elementar-rt-components-dashboard.d.ts} +0 -0
  325. /package/{data-grid/index.d.ts → types/elementar-rt-components-data-grid.d.ts} +0 -0
  326. /package/{data-view/index.d.ts → types/elementar-rt-components-data-view.d.ts} +0 -0
  327. /package/{date-format-select/index.d.ts → types/elementar-rt-components-date-format-select.d.ts} +0 -0
  328. /package/{datepicker/index.d.ts → types/elementar-rt-components-datepicker.d.ts} +0 -0
  329. /package/{dialog/index.d.ts → types/elementar-rt-components-dialog.d.ts} +0 -0
  330. /package/{digit-roller/index.d.ts → types/elementar-rt-components-digit-roller.d.ts} +0 -0
  331. /package/{divider/index.d.ts → types/elementar-rt-components-divider.d.ts} +0 -0
  332. /package/{drawer/index.d.ts → types/elementar-rt-components-drawer.d.ts} +0 -0
  333. /package/{emoji-picker/index.d.ts → types/elementar-rt-components-emoji-picker.d.ts} +0 -0
  334. /package/{empty-state/index.d.ts → types/elementar-rt-components-empty-state.d.ts} +0 -0
  335. /package/{expand/index.d.ts → types/elementar-rt-components-expand.d.ts} +0 -0
  336. /package/{expansion-panel/index.d.ts → types/elementar-rt-components-expansion-panel.d.ts} +0 -0
  337. /package/{filter-builder/index.d.ts → types/elementar-rt-components-filter-builder.d.ts} +0 -0
  338. /package/{filter-select/index.d.ts → types/elementar-rt-components-filter-select.d.ts} +0 -0
  339. /package/{form-renderer/index.d.ts → types/elementar-rt-components-form-renderer.d.ts} +0 -0
  340. /package/{gauge/index.d.ts → types/elementar-rt-components-gauge.d.ts} +0 -0
  341. /package/{grid/index.d.ts → types/elementar-rt-components-grid.d.ts} +0 -0
  342. /package/{guided-tour/index.d.ts → types/elementar-rt-components-guided-tour.d.ts} +0 -0
  343. /package/{headless-stepper/index.d.ts → types/elementar-rt-components-headless-stepper.d.ts} +0 -0
  344. /package/{icon/index.d.ts → types/elementar-rt-components-icon.d.ts} +0 -0
  345. /package/{image-placeholder/index.d.ts → types/elementar-rt-components-image-placeholder.d.ts} +0 -0
  346. /package/{image-resizer/index.d.ts → types/elementar-rt-components-image-resizer.d.ts} +0 -0
  347. /package/{image-viewer/index.d.ts → types/elementar-rt-components-image-viewer.d.ts} +0 -0
  348. /package/{image-zoom-viewer/index.d.ts → types/elementar-rt-components-image-zoom-viewer.d.ts} +0 -0
  349. /package/{incidents/index.d.ts → types/elementar-rt-components-incidents.d.ts} +0 -0
  350. /package/{inline-text-edit/index.d.ts → types/elementar-rt-components-inline-text-edit.d.ts} +0 -0
  351. /package/{input-mask/index.d.ts → types/elementar-rt-components-input-mask.d.ts} +0 -0
  352. /package/{input-validator/index.d.ts → types/elementar-rt-components-input-validator.d.ts} +0 -0
  353. /package/{kanban-board/index.d.ts → types/elementar-rt-components-kanban-board.d.ts} +0 -0
  354. /package/{keyboard/index.d.ts → types/elementar-rt-components-keyboard.d.ts} +0 -0
  355. /package/{layout/index.d.ts → types/elementar-rt-components-layout.d.ts} +0 -0
  356. /package/{list/index.d.ts → types/elementar-rt-components-list.d.ts} +0 -0
  357. /package/{logo/index.d.ts → types/elementar-rt-components-logo.d.ts} +0 -0
  358. /package/{marquee/index.d.ts → types/elementar-rt-components-marquee.d.ts} +0 -0
  359. /package/{menu/index.d.ts → types/elementar-rt-components-menu.d.ts} +0 -0
  360. /package/{micro-chart/index.d.ts → types/elementar-rt-components-micro-chart.d.ts} +0 -0
  361. /package/{multi-select/index.d.ts → types/elementar-rt-components-multi-select.d.ts} +0 -0
  362. /package/{navigation/index.d.ts → types/elementar-rt-components-navigation.d.ts} +0 -0
  363. /package/{notifications/index.d.ts → types/elementar-rt-components-notifications.d.ts} +0 -0
  364. /package/{number-input/index.d.ts → types/elementar-rt-components-number-input.d.ts} +0 -0
  365. /package/{overlay-scrollbar/index.d.ts → types/elementar-rt-components-overlay-scrollbar.d.ts} +0 -0
  366. /package/{overlay/index.d.ts → types/elementar-rt-components-overlay.d.ts} +0 -0
  367. /package/{page-loading-bar/index.d.ts → types/elementar-rt-components-page-loading-bar.d.ts} +0 -0
  368. /package/{paginator/index.d.ts → types/elementar-rt-components-paginator.d.ts} +0 -0
  369. /package/{panel/index.d.ts → types/elementar-rt-components-panel.d.ts} +0 -0
  370. /package/{password-strength/index.d.ts → types/elementar-rt-components-password-strength.d.ts} +0 -0
  371. /package/{phone-input/index.d.ts → types/elementar-rt-components-phone-input.d.ts} +0 -0
  372. /package/{pin-input/index.d.ts → types/elementar-rt-components-pin-input.d.ts} +0 -0
  373. /package/{popover/index.d.ts → types/elementar-rt-components-popover.d.ts} +0 -0
  374. /package/{progress-bar/index.d.ts → types/elementar-rt-components-progress-bar.d.ts} +0 -0
  375. /package/{progress-spinner/index.d.ts → types/elementar-rt-components-progress-spinner.d.ts} +0 -0
  376. /package/{radio-card/index.d.ts → types/elementar-rt-components-radio-card.d.ts} +0 -0
  377. /package/{rail-nav/index.d.ts → types/elementar-rt-components-rail-nav.d.ts} +0 -0
  378. /package/{rating/index.d.ts → types/elementar-rt-components-rating.d.ts} +0 -0
  379. /package/{resizable-container/index.d.ts → types/elementar-rt-components-resizable-container.d.ts} +0 -0
  380. /package/{screen-loader/index.d.ts → types/elementar-rt-components-screen-loader.d.ts} +0 -0
  381. /package/{scroll-spy/index.d.ts → types/elementar-rt-components-scroll-spy.d.ts} +0 -0
  382. /package/{segmented/index.d.ts → types/elementar-rt-components-segmented.d.ts} +0 -0
  383. /package/{side-panel/index.d.ts → types/elementar-rt-components-side-panel.d.ts} +0 -0
  384. /package/{sidebar/index.d.ts → types/elementar-rt-components-sidebar.d.ts} +0 -0
  385. /package/{sidenav/index.d.ts → types/elementar-rt-components-sidenav.d.ts} +0 -0
  386. /package/{signature-pad/index.d.ts → types/elementar-rt-components-signature-pad.d.ts} +0 -0
  387. /package/{skeleton/index.d.ts → types/elementar-rt-components-skeleton.d.ts} +0 -0
  388. /package/{slider/index.d.ts → types/elementar-rt-components-slider.d.ts} +0 -0
  389. /package/{snackbar/index.d.ts → types/elementar-rt-components-snackbar.d.ts} +0 -0
  390. /package/{sort/index.d.ts → types/elementar-rt-components-sort.d.ts} +0 -0
  391. /package/{splash-screen/index.d.ts → types/elementar-rt-components-splash-screen.d.ts} +0 -0
  392. /package/{split-pane/index.d.ts → types/elementar-rt-components-split-pane.d.ts} +0 -0
  393. /package/{stat-card/index.d.ts → types/elementar-rt-components-stat-card.d.ts} +0 -0
  394. /package/{step-tracker/index.d.ts → types/elementar-rt-components-step-tracker.d.ts} +0 -0
  395. /package/{stepper/index.d.ts → types/elementar-rt-components-stepper.d.ts} +0 -0
  396. /package/{suggestions/index.d.ts → types/elementar-rt-components-suggestions.d.ts} +0 -0
  397. /package/{tab-panel/index.d.ts → types/elementar-rt-components-tab-panel.d.ts} +0 -0
  398. /package/{table/index.d.ts → types/elementar-rt-components-table.d.ts} +0 -0
  399. /package/{tabs/index.d.ts → types/elementar-rt-components-tabs.d.ts} +0 -0
  400. /package/{tag/index.d.ts → types/elementar-rt-components-tag.d.ts} +0 -0
  401. /package/{text-editor/index.d.ts → types/elementar-rt-components-text-editor.d.ts} +0 -0
  402. /package/{thumbnail-maker/index.d.ts → types/elementar-rt-components-thumbnail-maker.d.ts} +0 -0
  403. /package/{tiles/index.d.ts → types/elementar-rt-components-tiles.d.ts} +0 -0
  404. /package/{timeline/index.d.ts → types/elementar-rt-components-timeline.d.ts} +0 -0
  405. /package/{timepicker/index.d.ts → types/elementar-rt-components-timepicker.d.ts} +0 -0
  406. /package/{timezone-select/index.d.ts → types/elementar-rt-components-timezone-select.d.ts} +0 -0
  407. /package/{toast/index.d.ts → types/elementar-rt-components-toast.d.ts} +0 -0
  408. /package/{toolbar/index.d.ts → types/elementar-rt-components-toolbar.d.ts} +0 -0
  409. /package/{tooltip/index.d.ts → types/elementar-rt-components-tooltip.d.ts} +0 -0
  410. /package/{tree/index.d.ts → types/elementar-rt-components-tree.d.ts} +0 -0
  411. /package/{upload/index.d.ts → types/elementar-rt-components-upload.d.ts} +0 -0
  412. /package/{video-player/index.d.ts → types/elementar-rt-components-video-player.d.ts} +0 -0
  413. /package/{video-viewer/index.d.ts → types/elementar-rt-components-video-viewer.d.ts} +0 -0
  414. /package/{index.d.ts → types/elementar-rt-components.d.ts} +0 -0
@@ -2,23 +2,23 @@ import * as i0 from '@angular/core';
2
2
  import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
 
4
4
  class GridComponent {
5
- columns = input(1, ...(ngDevMode ? [{ debugName: "columns" }] : []));
6
- gap = input('', ...(ngDevMode ? [{ debugName: "gap" }] : []));
7
- rowGap = input('', ...(ngDevMode ? [{ debugName: "rowGap" }] : []));
8
- align = input('start', ...(ngDevMode ? [{ debugName: "align" }] : []));
9
- justify = input('stretch', ...(ngDevMode ? [{ debugName: "justify" }] : []));
5
+ columns = input(1, ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
6
+ gap = input('', ...(ngDevMode ? [{ debugName: "gap" }] : /* istanbul ignore next */ []));
7
+ rowGap = input('', ...(ngDevMode ? [{ debugName: "rowGap" }] : /* istanbul ignore next */ []));
8
+ align = input('start', ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
9
+ justify = input('stretch', ...(ngDevMode ? [{ debugName: "justify" }] : /* istanbul ignore next */ []));
10
10
  _colsStyle = computed(() => {
11
11
  const c = this.columns();
12
12
  if (typeof c === 'number')
13
13
  return `repeat(${c}, 1fr)`;
14
14
  return `repeat(${c.xs ?? 1}, 1fr)`;
15
- }, ...(ngDevMode ? [{ debugName: "_colsStyle" }] : []));
16
- _gapStyle = computed(() => this.gap() || null, ...(ngDevMode ? [{ debugName: "_gapStyle" }] : []));
17
- _rowGapStyle = computed(() => this.rowGap() || null, ...(ngDevMode ? [{ debugName: "_rowGapStyle" }] : []));
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: GridComponent, isStandalone: true, selector: "emr-grid", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, rowGap: { classPropertyName: "rowGap", publicName: "rowGap", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--emr-grid-cols": "_colsStyle()", "style.--emr-grid-gap": "_gapStyle()", "style.--emr-grid-row-gap": "_rowGapStyle()", "style.--emr-grid-align": "align()", "style.--emr-grid-justify": "justify()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:grid;grid-template-columns:var(--emr-grid-cols, repeat(1, 1fr));gap:var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4));row-gap:var(--emr-grid-row-gap, var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4)));align-items:var(--emr-grid-align, start);justify-items:var(--emr-grid-justify, stretch)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ }, ...(ngDevMode ? [{ debugName: "_colsStyle" }] : /* istanbul ignore next */ []));
16
+ _gapStyle = computed(() => this.gap() || null, ...(ngDevMode ? [{ debugName: "_gapStyle" }] : /* istanbul ignore next */ []));
17
+ _rowGapStyle = computed(() => this.rowGap() || null, ...(ngDevMode ? [{ debugName: "_rowGapStyle" }] : /* istanbul ignore next */ []));
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: GridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: GridComponent, isStandalone: true, selector: "emr-grid", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, rowGap: { classPropertyName: "rowGap", publicName: "rowGap", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--emr-grid-cols": "_colsStyle()", "style.--emr-grid-gap": "_gapStyle()", "style.--emr-grid-row-gap": "_rowGapStyle()", "style.--emr-grid-align": "align()", "style.--emr-grid-justify": "justify()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{display:grid;grid-template-columns:var(--emr-grid-cols, repeat(1, 1fr));gap:var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4));row-gap:var(--emr-grid-row-gap, var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4)));align-items:var(--emr-grid-align, start);justify-items:var(--emr-grid-justify, stretch)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GridComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: GridComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'emr-grid', standalone: true, template: `<ng-content />`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
24
24
  '[style.--emr-grid-cols]': '_colsStyle()',
@@ -26,7 +26,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
26
26
  '[style.--emr-grid-row-gap]': '_rowGapStyle()',
27
27
  '[style.--emr-grid-align]': 'align()',
28
28
  '[style.--emr-grid-justify]': 'justify()',
29
- }, styles: [":host{display:grid;grid-template-columns:var(--emr-grid-cols, repeat(1, 1fr));gap:var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4));row-gap:var(--emr-grid-row-gap, var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4)));align-items:var(--emr-grid-align, start);justify-items:var(--emr-grid-justify, stretch)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
29
+ }, styles: [":host{display:grid;grid-template-columns:var(--emr-grid-cols, repeat(1, 1fr));gap:var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4));row-gap:var(--emr-grid-row-gap, var(--emr-grid-gap, calc(var(--spacing, .25rem) * 4)));align-items:var(--emr-grid-align, start);justify-items:var(--emr-grid-justify, stretch)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
30
30
  }], propDecorators: { columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: false }] }], rowGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowGap", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }] } });
31
31
 
32
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-grid.mjs","sources":["../../../projects/components/grid/src/grid/grid.component.ts","../../../projects/components/grid/elementar-rt-components-grid.ts"],"sourcesContent":["import { Component, input, computed, ChangeDetectionStrategy, numberAttribute } from '@angular/core';\n\nexport type GridColumns = number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number };\n\n@Component({\n selector: 'emr-grid',\n standalone: true,\n template: `<ng-content />`,\n styles: [`\n @reference 'tailwindcss';\n\n :host {\n display: grid;\n grid-template-columns: var(--emr-grid-cols, repeat(1, 1fr));\n gap: var(--emr-grid-gap, --spacing(4));\n row-gap: var(--emr-grid-row-gap, var(--emr-grid-gap, --spacing(4)));\n align-items: var(--emr-grid-align, start);\n justify-items: var(--emr-grid-justify, stretch);\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.--emr-grid-cols]': '_colsStyle()',\n '[style.--emr-grid-gap]': '_gapStyle()',\n '[style.--emr-grid-row-gap]': '_rowGapStyle()',\n '[style.--emr-grid-align]': 'align()',\n '[style.--emr-grid-justify]': 'justify()',\n }\n})\nexport class GridComponent {\n columns = input<GridColumns>(1);\n gap = input<string>('');\n rowGap = input<string>('');\n align = input<string>('start');\n justify = input<string>('stretch');\n\n protected _colsStyle = computed(() => {\n const c = this.columns();\n if (typeof c === 'number') return `repeat(${c}, 1fr)`;\n return `repeat(${c.xs ?? 1}, 1fr)`;\n });\n\n protected _gapStyle = computed(() => this.gap() || null);\n protected _rowGapStyle = computed(() => this.rowGap() || null);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MA6Ba,aAAa,CAAA;AACxB,IAAA,OAAO,GAAG,KAAK,CAAc,CAAC,mDAAC;AAC/B,IAAA,GAAG,GAAG,KAAK,CAAS,EAAE,+CAAC;AACvB,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,kDAAC;AAC1B,IAAA,KAAK,GAAG,KAAK,CAAS,OAAO,iDAAC;AAC9B,IAAA,OAAO,GAAG,KAAK,CAAS,SAAS,mDAAC;AAExB,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACnC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;QACxB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAA,OAAA,EAAU,CAAC,CAAA,MAAA,CAAQ;AACrD,QAAA,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ;AACpC,IAAA,CAAC,sDAAC;AAEQ,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,qDAAC;AAC9C,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,wDAAC;wGAdnD,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,u5BAtBd,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8XAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAsBf,aAAa,EAAA,UAAA,EAAA,CAAA;kBAzBzB,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,QAAA,EACN,CAAA,cAAA,CAAgB,mBAaT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,yBAAyB,EAAE,cAAc;AACzC,wBAAA,wBAAwB,EAAE,aAAa;AACvC,wBAAA,4BAA4B,EAAE,gBAAgB;AAC9C,wBAAA,0BAA0B,EAAE,SAAS;AACrC,wBAAA,4BAA4B,EAAE,WAAW;AAC1C,qBAAA,EAAA,MAAA,EAAA,CAAA,8XAAA,CAAA,EAAA;;;AC3BH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-grid.mjs","sources":["../../../projects/components/grid/src/grid/grid.component.ts","../../../projects/components/grid/elementar-rt-components-grid.ts"],"sourcesContent":["import { Component, input, computed, ChangeDetectionStrategy, numberAttribute } from '@angular/core';\n\nexport type GridColumns = number | { xs?: number; sm?: number; md?: number; lg?: number; xl?: number };\n\n@Component({\n selector: 'emr-grid',\n standalone: true,\n template: `<ng-content />`,\n styles: [`\n @reference 'tailwindcss';\n\n :host {\n display: grid;\n grid-template-columns: var(--emr-grid-cols, repeat(1, 1fr));\n gap: var(--emr-grid-gap, --spacing(4));\n row-gap: var(--emr-grid-row-gap, var(--emr-grid-gap, --spacing(4)));\n align-items: var(--emr-grid-align, start);\n justify-items: var(--emr-grid-justify, stretch);\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.--emr-grid-cols]': '_colsStyle()',\n '[style.--emr-grid-gap]': '_gapStyle()',\n '[style.--emr-grid-row-gap]': '_rowGapStyle()',\n '[style.--emr-grid-align]': 'align()',\n '[style.--emr-grid-justify]': 'justify()',\n }\n})\nexport class GridComponent {\n columns = input<GridColumns>(1);\n gap = input<string>('');\n rowGap = input<string>('');\n align = input<string>('start');\n justify = input<string>('stretch');\n\n protected _colsStyle = computed(() => {\n const c = this.columns();\n if (typeof c === 'number') return `repeat(${c}, 1fr)`;\n return `repeat(${c.xs ?? 1}, 1fr)`;\n });\n\n protected _gapStyle = computed(() => this.gap() || null);\n protected _rowGapStyle = computed(() => this.rowGap() || null);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MA6Ba,aAAa,CAAA;AACxB,IAAA,OAAO,GAAG,KAAK,CAAc,CAAC,8EAAC;AAC/B,IAAA,GAAG,GAAG,KAAK,CAAS,EAAE,0EAAC;AACvB,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,6EAAC;AAC1B,IAAA,KAAK,GAAG,KAAK,CAAS,OAAO,4EAAC;AAC9B,IAAA,OAAO,GAAG,KAAK,CAAS,SAAS,8EAAC;AAExB,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACnC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;QACxB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAA,OAAA,EAAU,CAAC,CAAA,MAAA,CAAQ;AACrD,QAAA,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ;AACpC,IAAA,CAAC,iFAAC;AAEQ,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,gFAAC;AAC9C,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,mFAAC;wGAdnD,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,u5BAtBd,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8XAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAsBf,aAAa,EAAA,UAAA,EAAA,CAAA;kBAzBzB,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,QAAA,EACN,CAAA,cAAA,CAAgB,mBAaT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,yBAAyB,EAAE,cAAc;AACzC,wBAAA,wBAAwB,EAAE,aAAa;AACvC,wBAAA,4BAA4B,EAAE,gBAAgB;AAC9C,wBAAA,0BAA0B,EAAE,SAAS;AACrC,wBAAA,4BAA4B,EAAE,WAAW;AAC1C,qBAAA,EAAA,MAAA,EAAA,CAAA,8XAAA,CAAA,EAAA;;;AC3BH;;AAEG;;"}
@@ -5,10 +5,10 @@ class GuidedTourOverlayComponent {
5
5
  steps = [];
6
6
  tourComplete = output();
7
7
  tourSkipped = output();
8
- _current = signal(0, ...(ngDevMode ? [{ debugName: "_current" }] : []));
9
- _cutoutStyle = signal('', ...(ngDevMode ? [{ debugName: "_cutoutStyle" }] : []));
10
- _tooltipStyle = signal('', ...(ngDevMode ? [{ debugName: "_tooltipStyle" }] : []));
11
- _step = signal(null, ...(ngDevMode ? [{ debugName: "_step" }] : []));
8
+ _current = signal(0, ...(ngDevMode ? [{ debugName: "_current" }] : /* istanbul ignore next */ []));
9
+ _cutoutStyle = signal('', ...(ngDevMode ? [{ debugName: "_cutoutStyle" }] : /* istanbul ignore next */ []));
10
+ _tooltipStyle = signal('', ...(ngDevMode ? [{ debugName: "_tooltipStyle" }] : /* istanbul ignore next */ []));
11
+ _step = signal(null, ...(ngDevMode ? [{ debugName: "_step" }] : /* istanbul ignore next */ []));
12
12
  _raf = null;
13
13
  ngOnInit() { this._updatePositions(); }
14
14
  ngOnDestroy() { if (this._raf)
@@ -54,8 +54,8 @@ class GuidedTourOverlayComponent {
54
54
  this._tooltipStyle.set(`top:${top}px; left:${left}px;`);
55
55
  });
56
56
  }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GuidedTourOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: GuidedTourOverlayComponent, isStandalone: true, selector: "emr-guided-tour-overlay", outputs: { tourComplete: "tourComplete", tourSkipped: "tourSkipped" }, ngImport: i0, template: `
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: GuidedTourOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: GuidedTourOverlayComponent, isStandalone: true, selector: "emr-guided-tour-overlay", outputs: { tourComplete: "tourComplete", tourSkipped: "tourSkipped" }, ngImport: i0, template: `
59
59
  <div class="tour-backdrop" (click)="skip()"></div>
60
60
  <div class="tour-cutout" [style]="_cutoutStyle()"></div>
61
61
  <div class="tour-tooltip" [style]="_tooltipStyle()">
@@ -76,9 +76,9 @@ class GuidedTourOverlayComponent {
76
76
  </div>
77
77
  </div>
78
78
  </div>
79
- `, isInline: true, styles: [":host{position:fixed;inset:0;z-index:9999;pointer-events:none}.tour-backdrop{position:fixed;inset:0;background:#00000080;pointer-events:all}.tour-cutout{position:fixed;border-radius:.5rem;box-shadow:0 0 0 9999px #00000080;pointer-events:none;transition:all .2s ease}.tour-tooltip{position:fixed;background:var(--color-surface-container-high);border:1px solid var(--color-outline-variant);border-radius:.75rem;padding:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 80);box-shadow:0 8px 24px #0003;pointer-events:all;transition:all .2s ease}.tour-step-count{font-size:.75rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:calc(var(--spacing, .25rem) * 2)}.tour-title{font-size:1rem;font-weight:700;margin-bottom:calc(var(--spacing, .25rem) * 2);color:var(--color-on-surface)}.tour-description{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.5;margin-bottom:calc(var(--spacing, .25rem) * 4)}.tour-actions{display:flex;align-items:center;justify-content:space-between}.tour-nav{display:flex;gap:calc(var(--spacing, .25rem) * 2)}.tour-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 3);border-radius:.5rem;border:1px solid var(--color-outline-variant);background:transparent;cursor:pointer;color:var(--color-on-surface);&--skip{color:var(--color-on-surface-variant);border-color:transparent}&--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent;&:hover{opacity:.9}}}.tour-btn:hover{background:var(--color-surface-container)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ `, isInline: true, styles: [":host{position:fixed;inset:0;z-index:9999;pointer-events:none}.tour-backdrop{position:fixed;inset:0;background:#00000080;pointer-events:all}.tour-cutout{position:fixed;border-radius:.5rem;box-shadow:0 0 0 9999px #00000080;pointer-events:none;transition:all .2s ease}.tour-tooltip{position:fixed;background:var(--color-surface-container-high);border:1px solid var(--color-outline-variant);border-radius:.75rem;padding:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 80);box-shadow:0 8px 24px #0003;pointer-events:all;transition:all .2s ease}.tour-step-count{font-size:.75rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:calc(var(--spacing, .25rem) * 2)}.tour-title{font-size:1rem;font-weight:700;margin-bottom:calc(var(--spacing, .25rem) * 2);color:var(--color-on-surface)}.tour-description{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.5;margin-bottom:calc(var(--spacing, .25rem) * 4)}.tour-actions{display:flex;align-items:center;justify-content:space-between}.tour-nav{display:flex;gap:calc(var(--spacing, .25rem) * 2)}.tour-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 3);border-radius:.5rem;border:1px solid var(--color-outline-variant);background:transparent;cursor:pointer;color:var(--color-on-surface);&--skip{color:var(--color-on-surface-variant);border-color:transparent}&--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent;&:hover{opacity:.9}}}.tour-btn:hover{background:var(--color-surface-container)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GuidedTourOverlayComponent, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: GuidedTourOverlayComponent, decorators: [{
82
82
  type: Component,
83
83
  args: [{ selector: 'emr-guided-tour-overlay', standalone: true, template: `
84
84
  <div class="tour-backdrop" (click)="skip()"></div>
@@ -101,7 +101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
101
101
  </div>
102
102
  </div>
103
103
  </div>
104
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:fixed;inset:0;z-index:9999;pointer-events:none}.tour-backdrop{position:fixed;inset:0;background:#00000080;pointer-events:all}.tour-cutout{position:fixed;border-radius:.5rem;box-shadow:0 0 0 9999px #00000080;pointer-events:none;transition:all .2s ease}.tour-tooltip{position:fixed;background:var(--color-surface-container-high);border:1px solid var(--color-outline-variant);border-radius:.75rem;padding:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 80);box-shadow:0 8px 24px #0003;pointer-events:all;transition:all .2s ease}.tour-step-count{font-size:.75rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:calc(var(--spacing, .25rem) * 2)}.tour-title{font-size:1rem;font-weight:700;margin-bottom:calc(var(--spacing, .25rem) * 2);color:var(--color-on-surface)}.tour-description{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.5;margin-bottom:calc(var(--spacing, .25rem) * 4)}.tour-actions{display:flex;align-items:center;justify-content:space-between}.tour-nav{display:flex;gap:calc(var(--spacing, .25rem) * 2)}.tour-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 3);border-radius:.5rem;border:1px solid var(--color-outline-variant);background:transparent;cursor:pointer;color:var(--color-on-surface);&--skip{color:var(--color-on-surface-variant);border-color:transparent}&--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent;&:hover{opacity:.9}}}.tour-btn:hover{background:var(--color-surface-container)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
104
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:fixed;inset:0;z-index:9999;pointer-events:none}.tour-backdrop{position:fixed;inset:0;background:#00000080;pointer-events:all}.tour-cutout{position:fixed;border-radius:.5rem;box-shadow:0 0 0 9999px #00000080;pointer-events:none;transition:all .2s ease}.tour-tooltip{position:fixed;background:var(--color-surface-container-high);border:1px solid var(--color-outline-variant);border-radius:.75rem;padding:calc(var(--spacing, .25rem) * 5);width:calc(var(--spacing, .25rem) * 80);box-shadow:0 8px 24px #0003;pointer-events:all;transition:all .2s ease}.tour-step-count{font-size:.75rem;color:var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:calc(var(--spacing, .25rem) * 2)}.tour-title{font-size:1rem;font-weight:700;margin-bottom:calc(var(--spacing, .25rem) * 2);color:var(--color-on-surface)}.tour-description{font-size:.875rem;color:var(--color-on-surface-variant);line-height:1.5;margin-bottom:calc(var(--spacing, .25rem) * 4)}.tour-actions{display:flex;align-items:center;justify-content:space-between}.tour-nav{display:flex;gap:calc(var(--spacing, .25rem) * 2)}.tour-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 3);border-radius:.5rem;border:1px solid var(--color-outline-variant);background:transparent;cursor:pointer;color:var(--color-on-surface);&--skip{color:var(--color-on-surface-variant);border-color:transparent}&--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent;&:hover{opacity:.9}}}.tour-btn:hover{background:var(--color-surface-container)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
105
105
  }], propDecorators: { tourComplete: [{ type: i0.Output, args: ["tourComplete"] }], tourSkipped: [{ type: i0.Output, args: ["tourSkipped"] }] } });
106
106
 
107
107
  class EmrGuidedTour {
@@ -145,10 +145,10 @@ class EmrGuidedTour {
145
145
  this._host = null;
146
146
  }
147
147
  }
148
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrGuidedTour, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
149
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrGuidedTour, providedIn: 'root' });
148
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrGuidedTour, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
149
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrGuidedTour, providedIn: 'root' });
150
150
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrGuidedTour, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrGuidedTour, decorators: [{
152
152
  type: Injectable,
153
153
  args: [{ providedIn: 'root' }]
154
154
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-guided-tour.mjs","sources":["../../../projects/components/guided-tour/src/guided-tour-overlay.component.ts","../../../projects/components/guided-tour/src/guided-tour.service.ts","../../../projects/components/guided-tour/elementar-rt-components-guided-tour.ts"],"sourcesContent":["import { Component, OnInit, OnDestroy, signal, output, ChangeDetectionStrategy } from '@angular/core';\nimport { TourStep } from './guided-tour.service';\n\n@Component({\n selector: 'emr-guided-tour-overlay',\n standalone: true,\n template: `\n <div class=\"tour-backdrop\" (click)=\"skip()\"></div>\n <div class=\"tour-cutout\" [style]=\"_cutoutStyle()\"></div>\n <div class=\"tour-tooltip\" [style]=\"_tooltipStyle()\">\n <div class=\"tour-step-count\">Step {{ _current() + 1 }} of {{ steps.length }}</div>\n <div class=\"tour-title\">{{ _step()?.title }}</div>\n <div class=\"tour-description\">{{ _step()?.description }}</div>\n <div class=\"tour-actions\">\n <button type=\"button\" class=\"tour-btn tour-btn--skip\" (click)=\"skip()\">Skip</button>\n <div class=\"tour-nav\">\n @if (_current() > 0) {\n <button type=\"button\" class=\"tour-btn\" (click)=\"prev()\">Back</button>\n }\n @if (_current() < steps.length - 1) {\n <button type=\"button\" class=\"tour-btn tour-btn--primary\" (click)=\"next()\">Next</button>\n } @else {\n <button type=\"button\" class=\"tour-btn tour-btn--primary\" (click)=\"complete()\">Done</button>\n }\n </div>\n </div>\n </div>\n `,\n styles: [`\n @reference 'tailwindcss';\n\n :host { position: fixed; inset: 0; z-index: 9999; pointer-events: none; }\n\n .tour-backdrop {\n position: fixed; inset: 0;\n background: rgba(0,0,0,0.5);\n pointer-events: all;\n }\n\n .tour-cutout {\n position: fixed;\n border-radius: theme(--radius-lg);\n box-shadow: 0 0 0 9999px rgba(0,0,0,0.5);\n pointer-events: none;\n transition: all 200ms ease;\n }\n\n .tour-tooltip {\n position: fixed;\n background: var(--color-surface-container-high);\n border: 1px solid var(--color-outline-variant);\n border-radius: theme(--radius-xl);\n padding: --spacing(5);\n width: --spacing(80);\n box-shadow: 0 8px 24px rgba(0,0,0,0.2);\n pointer-events: all;\n transition: all 200ms ease;\n }\n\n .tour-step-count {\n font-size: theme(--text-xs);\n color: var(--color-primary);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: --spacing(2);\n }\n\n .tour-title {\n font-size: theme(--text-base);\n font-weight: 700;\n margin-bottom: --spacing(2);\n color: var(--color-on-surface);\n }\n\n .tour-description {\n font-size: theme(--text-sm);\n color: var(--color-on-surface-variant);\n line-height: 1.5;\n margin-bottom: --spacing(4);\n }\n\n .tour-actions {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .tour-nav { display: flex; gap: --spacing(2); }\n\n .tour-btn {\n font-size: theme(--text-sm);\n font-weight: 500;\n padding: --spacing(2) --spacing(3);\n border-radius: theme(--radius-lg);\n border: 1px solid var(--color-outline-variant);\n background: transparent;\n cursor: pointer;\n color: var(--color-on-surface);\n &:hover { background: var(--color-surface-container); }\n\n &--skip { color: var(--color-on-surface-variant); border-color: transparent; }\n &--primary { background: var(--color-primary); color: var(--color-on-primary); border-color: transparent; &:hover { opacity: 0.9; } }\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GuidedTourOverlayComponent implements OnInit, OnDestroy {\n steps: TourStep[] = [];\n\n tourComplete = output<void>();\n tourSkipped = output<void>();\n\n protected _current = signal(0);\n protected _cutoutStyle = signal('');\n protected _tooltipStyle = signal('');\n protected _step = signal<TourStep | null>(null);\n\n private _raf: number | null = null;\n\n ngOnInit(): void { this._updatePositions(); }\n ngOnDestroy(): void { if (this._raf) cancelAnimationFrame(this._raf); }\n\n protected next(): void {\n if (this._current() < this.steps.length - 1) {\n this._current.set(this._current() + 1);\n this._updatePositions();\n }\n }\n\n protected prev(): void {\n if (this._current() > 0) {\n this._current.set(this._current() - 1);\n this._updatePositions();\n }\n }\n\n protected complete(): void { this.tourComplete.emit(); }\n protected skip(): void { this.tourSkipped.emit(); }\n\n private _updatePositions(): void {\n if (this._raf) cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => {\n const step = this.steps[this._current()];\n this._step.set(step);\n if (!step) return;\n\n const target = document.querySelector(step.target);\n if (!target) { this._cutoutStyle.set('display:none'); return; }\n\n const rect = target.getBoundingClientRect();\n const pad = 8;\n\n this._cutoutStyle.set(\n `top:${rect.top - pad}px; left:${rect.left - pad}px; width:${rect.width + pad * 2}px; height:${rect.height + pad * 2}px;`\n );\n\n const tooltipW = 320;\n const tooltipH = 200;\n let top = rect.bottom + pad + 12;\n let left = rect.left;\n if (left + tooltipW > window.innerWidth) left = window.innerWidth - tooltipW - 16;\n if (top + tooltipH > window.innerHeight) top = rect.top - tooltipH - 12;\n\n this._tooltipStyle.set(`top:${top}px; left:${left}px;`);\n });\n }\n}\n","import {\n Injectable, ApplicationRef, createComponent,\n EnvironmentInjector, inject, signal, output\n} from '@angular/core';\nimport { GuidedTourOverlayComponent } from './guided-tour-overlay.component';\n\nexport interface TourStep {\n target: string;\n title: string;\n description: string;\n position?: 'top' | 'bottom' | 'left' | 'right';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EmrGuidedTour {\n private _appRef = inject(ApplicationRef);\n private _injector = inject(EnvironmentInjector);\n private _overlayRef: ReturnType<typeof createComponent<GuidedTourOverlayComponent>> | null = null;\n private _host: HTMLElement | null = null;\n\n private _storageKey(id: string) { return `emr-tour-${id}`; }\n\n isCompleted(id: string): boolean {\n return localStorage.getItem(this._storageKey(id)) === 'completed';\n }\n\n start(steps: TourStep[], tourId = ''): void {\n this._destroy();\n\n this._host = document.createElement('div');\n document.body.appendChild(this._host);\n\n this._overlayRef = createComponent(GuidedTourOverlayComponent, {\n environmentInjector: this._injector,\n hostElement: this._host,\n });\n\n const instance = this._overlayRef.instance;\n instance.steps = steps;\n\n const completeCb = () => {\n if (tourId) localStorage.setItem(this._storageKey(tourId), 'completed');\n this._destroy();\n };\n const skipCb = () => { this._destroy(); };\n\n instance.tourComplete.subscribe(completeCb);\n instance.tourSkipped.subscribe(skipCb);\n\n this._appRef.attachView(this._overlayRef.hostView);\n this._overlayRef.changeDetectorRef.detectChanges();\n }\n\n stop(): void { this._destroy(); }\n\n private _destroy(): void {\n if (this._overlayRef) {\n this._overlayRef.destroy();\n this._overlayRef = null;\n }\n if (this._host) {\n this._host.remove();\n this._host = null;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementar-rt-components-guided-tour.mjs","sources":["../../../projects/components/guided-tour/src/guided-tour-overlay.component.ts","../../../projects/components/guided-tour/src/guided-tour.service.ts","../../../projects/components/guided-tour/elementar-rt-components-guided-tour.ts"],"sourcesContent":["import { Component, OnInit, OnDestroy, signal, output, ChangeDetectionStrategy } from '@angular/core';\nimport { TourStep } from './guided-tour.service';\n\n@Component({\n selector: 'emr-guided-tour-overlay',\n standalone: true,\n template: `\n <div class=\"tour-backdrop\" (click)=\"skip()\"></div>\n <div class=\"tour-cutout\" [style]=\"_cutoutStyle()\"></div>\n <div class=\"tour-tooltip\" [style]=\"_tooltipStyle()\">\n <div class=\"tour-step-count\">Step {{ _current() + 1 }} of {{ steps.length }}</div>\n <div class=\"tour-title\">{{ _step()?.title }}</div>\n <div class=\"tour-description\">{{ _step()?.description }}</div>\n <div class=\"tour-actions\">\n <button type=\"button\" class=\"tour-btn tour-btn--skip\" (click)=\"skip()\">Skip</button>\n <div class=\"tour-nav\">\n @if (_current() > 0) {\n <button type=\"button\" class=\"tour-btn\" (click)=\"prev()\">Back</button>\n }\n @if (_current() < steps.length - 1) {\n <button type=\"button\" class=\"tour-btn tour-btn--primary\" (click)=\"next()\">Next</button>\n } @else {\n <button type=\"button\" class=\"tour-btn tour-btn--primary\" (click)=\"complete()\">Done</button>\n }\n </div>\n </div>\n </div>\n `,\n styles: [`\n @reference 'tailwindcss';\n\n :host { position: fixed; inset: 0; z-index: 9999; pointer-events: none; }\n\n .tour-backdrop {\n position: fixed; inset: 0;\n background: rgba(0,0,0,0.5);\n pointer-events: all;\n }\n\n .tour-cutout {\n position: fixed;\n border-radius: theme(--radius-lg);\n box-shadow: 0 0 0 9999px rgba(0,0,0,0.5);\n pointer-events: none;\n transition: all 200ms ease;\n }\n\n .tour-tooltip {\n position: fixed;\n background: var(--color-surface-container-high);\n border: 1px solid var(--color-outline-variant);\n border-radius: theme(--radius-xl);\n padding: --spacing(5);\n width: --spacing(80);\n box-shadow: 0 8px 24px rgba(0,0,0,0.2);\n pointer-events: all;\n transition: all 200ms ease;\n }\n\n .tour-step-count {\n font-size: theme(--text-xs);\n color: var(--color-primary);\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: --spacing(2);\n }\n\n .tour-title {\n font-size: theme(--text-base);\n font-weight: 700;\n margin-bottom: --spacing(2);\n color: var(--color-on-surface);\n }\n\n .tour-description {\n font-size: theme(--text-sm);\n color: var(--color-on-surface-variant);\n line-height: 1.5;\n margin-bottom: --spacing(4);\n }\n\n .tour-actions {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .tour-nav { display: flex; gap: --spacing(2); }\n\n .tour-btn {\n font-size: theme(--text-sm);\n font-weight: 500;\n padding: --spacing(2) --spacing(3);\n border-radius: theme(--radius-lg);\n border: 1px solid var(--color-outline-variant);\n background: transparent;\n cursor: pointer;\n color: var(--color-on-surface);\n &:hover { background: var(--color-surface-container); }\n\n &--skip { color: var(--color-on-surface-variant); border-color: transparent; }\n &--primary { background: var(--color-primary); color: var(--color-on-primary); border-color: transparent; &:hover { opacity: 0.9; } }\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GuidedTourOverlayComponent implements OnInit, OnDestroy {\n steps: TourStep[] = [];\n\n tourComplete = output<void>();\n tourSkipped = output<void>();\n\n protected _current = signal(0);\n protected _cutoutStyle = signal('');\n protected _tooltipStyle = signal('');\n protected _step = signal<TourStep | null>(null);\n\n private _raf: number | null = null;\n\n ngOnInit(): void { this._updatePositions(); }\n ngOnDestroy(): void { if (this._raf) cancelAnimationFrame(this._raf); }\n\n protected next(): void {\n if (this._current() < this.steps.length - 1) {\n this._current.set(this._current() + 1);\n this._updatePositions();\n }\n }\n\n protected prev(): void {\n if (this._current() > 0) {\n this._current.set(this._current() - 1);\n this._updatePositions();\n }\n }\n\n protected complete(): void { this.tourComplete.emit(); }\n protected skip(): void { this.tourSkipped.emit(); }\n\n private _updatePositions(): void {\n if (this._raf) cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => {\n const step = this.steps[this._current()];\n this._step.set(step);\n if (!step) return;\n\n const target = document.querySelector(step.target);\n if (!target) { this._cutoutStyle.set('display:none'); return; }\n\n const rect = target.getBoundingClientRect();\n const pad = 8;\n\n this._cutoutStyle.set(\n `top:${rect.top - pad}px; left:${rect.left - pad}px; width:${rect.width + pad * 2}px; height:${rect.height + pad * 2}px;`\n );\n\n const tooltipW = 320;\n const tooltipH = 200;\n let top = rect.bottom + pad + 12;\n let left = rect.left;\n if (left + tooltipW > window.innerWidth) left = window.innerWidth - tooltipW - 16;\n if (top + tooltipH > window.innerHeight) top = rect.top - tooltipH - 12;\n\n this._tooltipStyle.set(`top:${top}px; left:${left}px;`);\n });\n }\n}\n","import {\n Injectable, ApplicationRef, createComponent,\n EnvironmentInjector, inject, signal, output\n} from '@angular/core';\nimport { GuidedTourOverlayComponent } from './guided-tour-overlay.component';\n\nexport interface TourStep {\n target: string;\n title: string;\n description: string;\n position?: 'top' | 'bottom' | 'left' | 'right';\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EmrGuidedTour {\n private _appRef = inject(ApplicationRef);\n private _injector = inject(EnvironmentInjector);\n private _overlayRef: ReturnType<typeof createComponent<GuidedTourOverlayComponent>> | null = null;\n private _host: HTMLElement | null = null;\n\n private _storageKey(id: string) { return `emr-tour-${id}`; }\n\n isCompleted(id: string): boolean {\n return localStorage.getItem(this._storageKey(id)) === 'completed';\n }\n\n start(steps: TourStep[], tourId = ''): void {\n this._destroy();\n\n this._host = document.createElement('div');\n document.body.appendChild(this._host);\n\n this._overlayRef = createComponent(GuidedTourOverlayComponent, {\n environmentInjector: this._injector,\n hostElement: this._host,\n });\n\n const instance = this._overlayRef.instance;\n instance.steps = steps;\n\n const completeCb = () => {\n if (tourId) localStorage.setItem(this._storageKey(tourId), 'completed');\n this._destroy();\n };\n const skipCb = () => { this._destroy(); };\n\n instance.tourComplete.subscribe(completeCb);\n instance.tourSkipped.subscribe(skipCb);\n\n this._appRef.attachView(this._overlayRef.hostView);\n this._overlayRef.changeDetectorRef.detectChanges();\n }\n\n stop(): void { this._destroy(); }\n\n private _destroy(): void {\n if (this._overlayRef) {\n this._overlayRef.destroy();\n this._overlayRef = null;\n }\n if (this._host) {\n this._host.remove();\n this._host = null;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,17 +2,17 @@ import * as i0 from '@angular/core';
2
2
  import { signal, computed, Injectable } from '@angular/core';
3
3
 
4
4
  class EmrHeadlessStepperService {
5
- _steps = signal([], ...(ngDevMode ? [{ debugName: "_steps" }] : []));
6
- _current = signal(0, ...(ngDevMode ? [{ debugName: "_current" }] : []));
7
- _visited = signal(new Set([0]), ...(ngDevMode ? [{ debugName: "_visited" }] : []));
5
+ _steps = signal([], ...(ngDevMode ? [{ debugName: "_steps" }] : /* istanbul ignore next */ []));
6
+ _current = signal(0, ...(ngDevMode ? [{ debugName: "_current" }] : /* istanbul ignore next */ []));
7
+ _visited = signal(new Set([0]), ...(ngDevMode ? [{ debugName: "_visited" }] : /* istanbul ignore next */ []));
8
8
  currentStep = this._current.asReadonly();
9
- stepCount = computed(() => this._steps().length, ...(ngDevMode ? [{ debugName: "stepCount" }] : []));
10
- isFirst = computed(() => this._current() === 0, ...(ngDevMode ? [{ debugName: "isFirst" }] : []));
11
- isLast = computed(() => this._current() === this._steps().length - 1, ...(ngDevMode ? [{ debugName: "isLast" }] : []));
9
+ stepCount = computed(() => this._steps().length, ...(ngDevMode ? [{ debugName: "stepCount" }] : /* istanbul ignore next */ []));
10
+ isFirst = computed(() => this._current() === 0, ...(ngDevMode ? [{ debugName: "isFirst" }] : /* istanbul ignore next */ []));
11
+ isLast = computed(() => this._current() === this._steps().length - 1, ...(ngDevMode ? [{ debugName: "isLast" }] : /* istanbul ignore next */ []));
12
12
  canProceed = computed(() => {
13
13
  const step = this._steps()[this._current()];
14
14
  return step?.valid !== false;
15
- }, ...(ngDevMode ? [{ debugName: "canProceed" }] : []));
15
+ }, ...(ngDevMode ? [{ debugName: "canProceed" }] : /* istanbul ignore next */ []));
16
16
  visitedSteps = this._visited.asReadonly();
17
17
  configure(steps) {
18
18
  this._steps.set(steps);
@@ -57,10 +57,10 @@ class EmrHeadlessStepperService {
57
57
  }
58
58
  isStepVisited(index) { return this._visited().has(index); }
59
59
  isStepValid(index) { return this._steps()[index]?.valid !== false; }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrHeadlessStepperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
61
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrHeadlessStepperService });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrHeadlessStepperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
61
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrHeadlessStepperService });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmrHeadlessStepperService, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: EmrHeadlessStepperService, decorators: [{
64
64
  type: Injectable
65
65
  }] });
66
66
 
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-headless-stepper.mjs","sources":["../../../projects/components/headless-stepper/src/headless-stepper.service.ts","../../../projects/components/headless-stepper/elementar-rt-components-headless-stepper.ts"],"sourcesContent":["import { Injectable, signal, computed } from '@angular/core';\n\nexport interface HeadlessStepConfig {\n valid?: boolean;\n label?: string;\n}\n\n@Injectable()\nexport class EmrHeadlessStepperService {\n private _steps = signal<HeadlessStepConfig[]>([]);\n private _current = signal(0);\n private _visited = signal<Set<number>>(new Set([0]));\n\n readonly currentStep = this._current.asReadonly();\n readonly stepCount = computed(() => this._steps().length);\n readonly isFirst = computed(() => this._current() === 0);\n readonly isLast = computed(() => this._current() === this._steps().length - 1);\n readonly canProceed = computed(() => {\n const step = this._steps()[this._current()];\n return step?.valid !== false;\n });\n readonly visitedSteps = this._visited.asReadonly();\n\n configure(steps: HeadlessStepConfig[]): void {\n this._steps.set(steps);\n this._current.set(0);\n this._visited.set(new Set([0]));\n }\n\n setStepValid(index: number, valid: boolean): void {\n const steps = [...this._steps()];\n if (steps[index]) steps[index] = { ...steps[index], valid };\n this._steps.set(steps);\n }\n\n next(): boolean {\n if (!this.canProceed() || this.isLast()) return false;\n const next = this._current() + 1;\n this._current.set(next);\n const visited = new Set(this._visited());\n visited.add(next);\n this._visited.set(visited);\n return true;\n }\n\n prev(): boolean {\n if (this.isFirst()) return false;\n this._current.set(this._current() - 1);\n return true;\n }\n\n goTo(index: number): boolean {\n const steps = this._steps();\n if (index < 0 || index >= steps.length) return false;\n this._current.set(index);\n const visited = new Set(this._visited());\n visited.add(index);\n this._visited.set(visited);\n return true;\n }\n\n reset(): void {\n this._current.set(0);\n this._visited.set(new Set([0]));\n }\n\n isStepVisited(index: number): boolean { return this._visited().has(index); }\n isStepValid(index: number): boolean { return this._steps()[index]?.valid !== false; }\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-headless-stepper.mjs","sources":["../../../projects/components/headless-stepper/src/headless-stepper.service.ts","../../../projects/components/headless-stepper/elementar-rt-components-headless-stepper.ts"],"sourcesContent":["import { Injectable, signal, computed } from '@angular/core';\n\nexport interface HeadlessStepConfig {\n valid?: boolean;\n label?: string;\n}\n\n@Injectable()\nexport class EmrHeadlessStepperService {\n private _steps = signal<HeadlessStepConfig[]>([]);\n private _current = signal(0);\n private _visited = signal<Set<number>>(new Set([0]));\n\n readonly currentStep = this._current.asReadonly();\n readonly stepCount = computed(() => this._steps().length);\n readonly isFirst = computed(() => this._current() === 0);\n readonly isLast = computed(() => this._current() === this._steps().length - 1);\n readonly canProceed = computed(() => {\n const step = this._steps()[this._current()];\n return step?.valid !== false;\n });\n readonly visitedSteps = this._visited.asReadonly();\n\n configure(steps: HeadlessStepConfig[]): void {\n this._steps.set(steps);\n this._current.set(0);\n this._visited.set(new Set([0]));\n }\n\n setStepValid(index: number, valid: boolean): void {\n const steps = [...this._steps()];\n if (steps[index]) steps[index] = { ...steps[index], valid };\n this._steps.set(steps);\n }\n\n next(): boolean {\n if (!this.canProceed() || this.isLast()) return false;\n const next = this._current() + 1;\n this._current.set(next);\n const visited = new Set(this._visited());\n visited.add(next);\n this._visited.set(visited);\n return true;\n }\n\n prev(): boolean {\n if (this.isFirst()) return false;\n this._current.set(this._current() - 1);\n return true;\n }\n\n goTo(index: number): boolean {\n const steps = this._steps();\n if (index < 0 || index >= steps.length) return false;\n this._current.set(index);\n const visited = new Set(this._visited());\n visited.add(index);\n this._visited.set(visited);\n return true;\n }\n\n reset(): void {\n this._current.set(0);\n this._visited.set(new Set([0]));\n }\n\n isStepVisited(index: number): boolean { return this._visited().has(index); }\n isStepValid(index: number): boolean { return this._steps()[index]?.valid !== false; }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ import { v7 } from 'uuid';
6
6
 
7
7
  class IconComponent {
8
8
  _sanitizer = inject(DomSanitizer);
9
- _iconHtml = signal(null, ...(ngDevMode ? [{ debugName: "_iconHtml" }] : []));
10
- name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
9
+ _iconHtml = signal(null, ...(ngDevMode ? [{ debugName: "_iconHtml" }] : /* istanbul ignore next */ []));
10
+ name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
11
11
  loaded = false;
12
12
  async ngOnInit() {
13
13
  await this._loadIcon();
@@ -43,15 +43,15 @@ class IconComponent {
43
43
  this._iconHtml.set(this._sanitizer.bypassSecurityTrustHtml(iconHtml));
44
44
  this.loaded = true;
45
45
  }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: IconComponent, isStandalone: true, selector: "emr-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "innerHTML": "_iconHtml()" }, classAttribute: "emr-icon" }, exportAs: ["emrIcon"], usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{--emr-icon-size: calc(var(--spacing, .25rem) * 6);display:inline-flex;flex:none;align-items:center;justify-content:center;line-height:0}:host svg{flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-icon-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-icon-size)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: IconComponent, isStandalone: true, selector: "emr-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "innerHTML": "_iconHtml()" }, classAttribute: "emr-icon" }, exportAs: ["emrIcon"], usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{--emr-icon-size: calc(var(--spacing, .25rem) * 6);display:inline-flex;flex:none;align-items:center;justify-content:center;line-height:0}:host svg{flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-icon-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-icon-size)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IconComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: IconComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: 'emr-icon', exportAs: 'emrIcon', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush, host: {
52
52
  'class': 'emr-icon',
53
53
  '[innerHTML]': '_iconHtml()',
54
- }, styles: [":host{--emr-icon-size: calc(var(--spacing, .25rem) * 6);display:inline-flex;flex:none;align-items:center;justify-content:center;line-height:0}:host svg{flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-icon-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-icon-size)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
54
+ }, styles: [":host{--emr-icon-size: calc(var(--spacing, .25rem) * 6);display:inline-flex;flex:none;align-items:center;justify-content:center;line-height:0}:host svg{flex:none}:host:not([class*=w-]):not([class*=size-]){width:var(--emr-icon-size)}:host:not([class*=h-]):not([class*=size-]){height:var(--emr-icon-size)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
55
55
  }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
56
56
 
57
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-icon.mjs","sources":["../../../projects/components/icon/src/icon/icon.component.ts","../../../projects/components/icon/elementar-rt-components-icon.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n OnChanges,\n OnInit, signal,\n SimpleChanges\n} from '@angular/core';\nimport { loadIcon } from 'iconify-icon';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { v7 as uuid } from 'uuid';\n\n@Component({\n selector: 'emr-icon',\n exportAs: 'emrIcon',\n standalone: true,\n template: '',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-icon',\n '[innerHTML]': '_iconHtml()',\n }\n})\nexport class IconComponent implements OnInit, OnChanges {\n private _sanitizer = inject(DomSanitizer);\n protected _iconHtml = signal<SafeHtml | null>(null);\n\n name = input.required<string>();\n\n private loaded = false;\n\n async ngOnInit() {\n await this._loadIcon();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (changes['name'] && !changes['name'].isFirstChange()) {\n if (changes['name'].previousValue === changes['name'].currentValue) {\n return;\n }\n\n this.loaded = false;\n await this._loadIcon();\n }\n }\n\n private async _loadIcon() {\n if (this.loaded) {\n return;\n }\n\n if (!this.name()) {\n this.loaded = true;\n return;\n }\n\n const data = await loadIcon(this.name());\n let body = data.body;\n\n // If svg icon has mask of defs with id, we need to replace to unique id\n // because the same icons can be used on the same page and use the same id, which can cause problems.\n const allIdMatches = [...body.matchAll(/id=\"(\\w+)\"/g)];\n\n if (allIdMatches.length > 0) {\n allIdMatches.forEach(match => {\n body = body.replaceAll(match[1], uuid());\n });\n }\n\n const iconHtml = `<svg viewBox=\"0 0 ${data.width} ${data.height}\">${body}</svg>`;\n this._iconHtml.set(this._sanitizer.bypassSecurityTrustHtml(iconHtml));\n this.loaded = true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid"],"mappings":";;;;;;MAyBa,aAAa,CAAA;AAChB,IAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;AAC/B,IAAA,SAAS,GAAG,MAAM,CAAkB,IAAI,qDAAC;AAEnD,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAU;IAEvB,MAAM,GAAG,KAAK;AAEtB,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,IAAI,CAAC,SAAS,EAAE;IACxB;IAEA,MAAM,WAAW,CAAC,OAAsB,EAAA;AACtC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;AACvD,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE;gBAClE;YACF;AAEA,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,MAAM,IAAI,CAAC,SAAS,EAAE;QACxB;IACF;AAEQ,IAAA,MAAM,SAAS,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;YAClB;QACF;QAEA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACxC,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;;;QAIpB,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAEtD,QAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,YAAY,CAAC,OAAO,CAAC,KAAK,IAAG;AAC3B,gBAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAEA,EAAI,EAAE,CAAC;AAC1C,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,MAAM,QAAQ,GAAG,CAAA,kBAAA,EAAqB,IAAI,CAAC,KAAK,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,CAAA,EAAA,EAAK,IAAI,QAAQ;AAChF,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;IACpB;wGAjDW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,kUARd,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;+BACE,UAAU,EAAA,QAAA,EACV,SAAS,EAAA,UAAA,EACP,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,eAAA,EAEK,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,OAAO,EAAE,UAAU;AACnB,wBAAA,aAAa,EAAE,aAAa;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA;;;ACvBH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-icon.mjs","sources":["../../../projects/components/icon/src/icon/icon.component.ts","../../../projects/components/icon/elementar-rt-components-icon.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n OnChanges,\n OnInit, signal,\n SimpleChanges\n} from '@angular/core';\nimport { loadIcon } from 'iconify-icon';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { v7 as uuid } from 'uuid';\n\n@Component({\n selector: 'emr-icon',\n exportAs: 'emrIcon',\n standalone: true,\n template: '',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-icon',\n '[innerHTML]': '_iconHtml()',\n }\n})\nexport class IconComponent implements OnInit, OnChanges {\n private _sanitizer = inject(DomSanitizer);\n protected _iconHtml = signal<SafeHtml | null>(null);\n\n name = input.required<string>();\n\n private loaded = false;\n\n async ngOnInit() {\n await this._loadIcon();\n }\n\n async ngOnChanges(changes: SimpleChanges) {\n if (changes['name'] && !changes['name'].isFirstChange()) {\n if (changes['name'].previousValue === changes['name'].currentValue) {\n return;\n }\n\n this.loaded = false;\n await this._loadIcon();\n }\n }\n\n private async _loadIcon() {\n if (this.loaded) {\n return;\n }\n\n if (!this.name()) {\n this.loaded = true;\n return;\n }\n\n const data = await loadIcon(this.name());\n let body = data.body;\n\n // If svg icon has mask of defs with id, we need to replace to unique id\n // because the same icons can be used on the same page and use the same id, which can cause problems.\n const allIdMatches = [...body.matchAll(/id=\"(\\w+)\"/g)];\n\n if (allIdMatches.length > 0) {\n allIdMatches.forEach(match => {\n body = body.replaceAll(match[1], uuid());\n });\n }\n\n const iconHtml = `<svg viewBox=\"0 0 ${data.width} ${data.height}\">${body}</svg>`;\n this._iconHtml.set(this._sanitizer.bypassSecurityTrustHtml(iconHtml));\n this.loaded = true;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uuid"],"mappings":";;;;;;MAyBa,aAAa,CAAA;AAChB,IAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;AAC/B,IAAA,SAAS,GAAG,MAAM,CAAkB,IAAI,gFAAC;AAEnD,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAAU;IAEvB,MAAM,GAAG,KAAK;AAEtB,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,IAAI,CAAC,SAAS,EAAE;IACxB;IAEA,MAAM,WAAW,CAAC,OAAsB,EAAA;AACtC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;AACvD,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE;gBAClE;YACF;AAEA,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,MAAM,IAAI,CAAC,SAAS,EAAE;QACxB;IACF;AAEQ,IAAA,MAAM,SAAS,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;YAClB;QACF;QAEA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACxC,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;;;QAIpB,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAEtD,QAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,YAAY,CAAC,OAAO,CAAC,KAAK,IAAG;AAC3B,gBAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAEA,EAAI,EAAE,CAAC;AAC1C,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,MAAM,QAAQ,GAAG,CAAA,kBAAA,EAAqB,IAAI,CAAC,KAAK,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,CAAA,EAAA,EAAK,IAAI,QAAQ;AAChF,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;IACpB;wGAjDW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,kUARd,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQD,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;+BACE,UAAU,EAAA,QAAA,EACV,SAAS,EAAA,UAAA,EACP,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,eAAA,EAEK,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,OAAO,EAAE,UAAU;AACnB,wBAAA,aAAa,EAAE,aAAa;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA;;;ACvBH;;AAEG;;"}
@@ -2,24 +2,24 @@ import * as i0 from '@angular/core';
2
2
  import { input, signal, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
 
4
4
  class ImagePlaceholderComponent {
5
- src = input('', ...(ngDevMode ? [{ debugName: "src" }] : []));
6
- alt = input('', ...(ngDevMode ? [{ debugName: "alt" }] : []));
7
- mode = input('skeleton', ...(ngDevMode ? [{ debugName: "mode" }] : []));
8
- lowResSrc = input('', ...(ngDevMode ? [{ debugName: "lowResSrc" }] : []));
9
- _loaded = signal(false, ...(ngDevMode ? [{ debugName: "_loaded" }] : []));
10
- _error = signal(false, ...(ngDevMode ? [{ debugName: "_error" }] : []));
5
+ src = input('', ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
6
+ alt = input('', ...(ngDevMode ? [{ debugName: "alt" }] : /* istanbul ignore next */ []));
7
+ mode = input('skeleton', ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
8
+ lowResSrc = input('', ...(ngDevMode ? [{ debugName: "lowResSrc" }] : /* istanbul ignore next */ []));
9
+ _loaded = signal(false, ...(ngDevMode ? [{ debugName: "_loaded" }] : /* istanbul ignore next */ []));
10
+ _error = signal(false, ...(ngDevMode ? [{ debugName: "_error" }] : /* istanbul ignore next */ []));
11
11
  _onLoad() { this._loaded.set(true); this._error.set(false); }
12
12
  _onError() { this._error.set(true); this._loaded.set(false); }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImagePlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ImagePlaceholderComponent, isStandalone: true, selector: "emr-image-placeholder", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, lowResSrc: { classPropertyName: "lowResSrc", publicName: "lowResSrc", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-mode": "mode()", "attr.data-loaded": "_loaded() || null", "attr.data-error": "_error() || null" } }, ngImport: i0, template: "@if (mode() === 'blur' && lowResSrc() && !_loaded()) {\n <img class=\"img-blur-preview\" [src]=\"lowResSrc()\" [alt]=\"alt()\" aria-hidden=\"true\" />\n}\n\n@if (!_error()) {\n <img\n class=\"img-main\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"_onLoad()\"\n (error)=\"_onError()\"\n />\n}\n\n@if (!_loaded() && !_error()) {\n @if (mode() === 'skeleton') {\n <div class=\"img-skeleton\"></div>\n } @else if (mode() === 'icon') {\n <div class=\"img-icon-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/>\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/>\n <polyline points=\"21 15 16 10 5 21\"/>\n </svg>\n </div>\n }\n}\n\n@if (_error()) {\n <ng-content select=\"[emrErrorSlot]\">\n <div class=\"img-error-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"/>\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"/>\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"/>\n </svg>\n </div>\n </ng-content>\n}\n", styles: [":host{display:block;position:relative;overflow:hidden;background:var(--color-surface-container);line-height:0}.img-main{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;opacity:0;transition:opacity .3s ease}:host([data-loaded]) .img-main{opacity:1}.img-blur-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(8px);transform:scale(1.05);transition:opacity .3s ease}:host([data-loaded]) .img-blur-preview{opacity:0}.img-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,var(--color-surface-container) 25%,var(--color-surface-container-high) 50%,var(--color-surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}:host([data-loaded]) .img-skeleton,:host([data-error]) .img-skeleton{display:none}.img-icon-placeholder,.img-error-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-on-surface-variant);opacity:.4}.img-icon-placeholder svg,.img-error-placeholder svg{width:40%;height:40%;max-width:calc(var(--spacing, .25rem) * 16)}:host([data-loaded]) .img-icon-placeholder,:host([data-loaded]) .img-error-placeholder{display:none}.img-error-placeholder{color:var(--color-error);opacity:.6}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImagePlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: ImagePlaceholderComponent, isStandalone: true, selector: "emr-image-placeholder", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, lowResSrc: { classPropertyName: "lowResSrc", publicName: "lowResSrc", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-mode": "mode()", "attr.data-loaded": "_loaded() || null", "attr.data-error": "_error() || null" } }, ngImport: i0, template: "@if (mode() === 'blur' && lowResSrc() && !_loaded()) {\n <img class=\"img-blur-preview\" [src]=\"lowResSrc()\" [alt]=\"alt()\" aria-hidden=\"true\" />\n}\n\n@if (!_error()) {\n <img\n class=\"img-main\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"_onLoad()\"\n (error)=\"_onError()\"\n />\n}\n\n@if (!_loaded() && !_error()) {\n @if (mode() === 'skeleton') {\n <div class=\"img-skeleton\"></div>\n } @else if (mode() === 'icon') {\n <div class=\"img-icon-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/>\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/>\n <polyline points=\"21 15 16 10 5 21\"/>\n </svg>\n </div>\n }\n}\n\n@if (_error()) {\n <ng-content select=\"[emrErrorSlot]\">\n <div class=\"img-error-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"/>\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"/>\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"/>\n </svg>\n </div>\n </ng-content>\n}\n", styles: [":host{display:block;position:relative;overflow:hidden;background:var(--color-surface-container);line-height:0}.img-main{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;opacity:0;transition:opacity .3s ease}:host([data-loaded]) .img-main{opacity:1}.img-blur-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(8px);transform:scale(1.05);transition:opacity .3s ease}:host([data-loaded]) .img-blur-preview{opacity:0}.img-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,var(--color-surface-container) 25%,var(--color-surface-container-high) 50%,var(--color-surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}:host([data-loaded]) .img-skeleton,:host([data-error]) .img-skeleton{display:none}.img-icon-placeholder,.img-error-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-on-surface-variant);opacity:.4}.img-icon-placeholder svg,.img-error-placeholder svg{width:40%;height:40%;max-width:calc(var(--spacing, .25rem) * 16)}:host([data-loaded]) .img-icon-placeholder,:host([data-loaded]) .img-error-placeholder{display:none}.img-error-placeholder{color:var(--color-error);opacity:.6}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImagePlaceholderComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImagePlaceholderComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'emr-image-placeholder', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
19
19
  '[attr.data-mode]': 'mode()',
20
20
  '[attr.data-loaded]': '_loaded() || null',
21
21
  '[attr.data-error]': '_error() || null',
22
- }, template: "@if (mode() === 'blur' && lowResSrc() && !_loaded()) {\n <img class=\"img-blur-preview\" [src]=\"lowResSrc()\" [alt]=\"alt()\" aria-hidden=\"true\" />\n}\n\n@if (!_error()) {\n <img\n class=\"img-main\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"_onLoad()\"\n (error)=\"_onError()\"\n />\n}\n\n@if (!_loaded() && !_error()) {\n @if (mode() === 'skeleton') {\n <div class=\"img-skeleton\"></div>\n } @else if (mode() === 'icon') {\n <div class=\"img-icon-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/>\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/>\n <polyline points=\"21 15 16 10 5 21\"/>\n </svg>\n </div>\n }\n}\n\n@if (_error()) {\n <ng-content select=\"[emrErrorSlot]\">\n <div class=\"img-error-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"/>\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"/>\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"/>\n </svg>\n </div>\n </ng-content>\n}\n", styles: [":host{display:block;position:relative;overflow:hidden;background:var(--color-surface-container);line-height:0}.img-main{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;opacity:0;transition:opacity .3s ease}:host([data-loaded]) .img-main{opacity:1}.img-blur-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(8px);transform:scale(1.05);transition:opacity .3s ease}:host([data-loaded]) .img-blur-preview{opacity:0}.img-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,var(--color-surface-container) 25%,var(--color-surface-container-high) 50%,var(--color-surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}:host([data-loaded]) .img-skeleton,:host([data-error]) .img-skeleton{display:none}.img-icon-placeholder,.img-error-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-on-surface-variant);opacity:.4}.img-icon-placeholder svg,.img-error-placeholder svg{width:40%;height:40%;max-width:calc(var(--spacing, .25rem) * 16)}:host([data-loaded]) .img-icon-placeholder,:host([data-loaded]) .img-error-placeholder{display:none}.img-error-placeholder{color:var(--color-error);opacity:.6}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
22
+ }, template: "@if (mode() === 'blur' && lowResSrc() && !_loaded()) {\n <img class=\"img-blur-preview\" [src]=\"lowResSrc()\" [alt]=\"alt()\" aria-hidden=\"true\" />\n}\n\n@if (!_error()) {\n <img\n class=\"img-main\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"_onLoad()\"\n (error)=\"_onError()\"\n />\n}\n\n@if (!_loaded() && !_error()) {\n @if (mode() === 'skeleton') {\n <div class=\"img-skeleton\"></div>\n } @else if (mode() === 'icon') {\n <div class=\"img-icon-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/>\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/>\n <polyline points=\"21 15 16 10 5 21\"/>\n </svg>\n </div>\n }\n}\n\n@if (_error()) {\n <ng-content select=\"[emrErrorSlot]\">\n <div class=\"img-error-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"/>\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"/>\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"/>\n </svg>\n </div>\n </ng-content>\n}\n", styles: [":host{display:block;position:relative;overflow:hidden;background:var(--color-surface-container);line-height:0}.img-main{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;opacity:0;transition:opacity .3s ease}:host([data-loaded]) .img-main{opacity:1}.img-blur-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(8px);transform:scale(1.05);transition:opacity .3s ease}:host([data-loaded]) .img-blur-preview{opacity:0}.img-skeleton{position:absolute;inset:0;background:linear-gradient(90deg,var(--color-surface-container) 25%,var(--color-surface-container-high) 50%,var(--color-surface-container) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}:host([data-loaded]) .img-skeleton,:host([data-error]) .img-skeleton{display:none}.img-icon-placeholder,.img-error-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-on-surface-variant);opacity:.4}.img-icon-placeholder svg,.img-error-placeholder svg{width:40%;height:40%;max-width:calc(var(--spacing, .25rem) * 16)}:host([data-loaded]) .img-icon-placeholder,:host([data-loaded]) .img-error-placeholder{display:none}.img-error-placeholder{color:var(--color-error);opacity:.6}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
23
23
  }], propDecorators: { src: [{ type: i0.Input, args: [{ isSignal: true, alias: "src", required: false }] }], alt: [{ type: i0.Input, args: [{ isSignal: true, alias: "alt", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], lowResSrc: [{ type: i0.Input, args: [{ isSignal: true, alias: "lowResSrc", required: false }] }] } });
24
24
 
25
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-image-placeholder.mjs","sources":["../../../projects/components/image-placeholder/src/image-placeholder/image-placeholder.component.ts","../../../projects/components/image-placeholder/src/image-placeholder/image-placeholder.component.html","../../../projects/components/image-placeholder/elementar-rt-components-image-placeholder.ts"],"sourcesContent":["import { Component, input, signal, ChangeDetectionStrategy } from '@angular/core';\n\nexport type ImagePlaceholderMode = 'skeleton' | 'blur' | 'icon';\n\n@Component({\n selector: 'emr-image-placeholder',\n standalone: true,\n templateUrl: './image-placeholder.component.html',\n styleUrl: './image-placeholder.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-mode]': 'mode()',\n '[attr.data-loaded]': '_loaded() || null',\n '[attr.data-error]': '_error() || null',\n }\n})\nexport class ImagePlaceholderComponent {\n src = input('');\n alt = input('');\n mode = input<ImagePlaceholderMode>('skeleton');\n lowResSrc = input('');\n\n protected _loaded = signal(false);\n protected _error = signal(false);\n\n protected _onLoad(): void { this._loaded.set(true); this._error.set(false); }\n protected _onError(): void { this._error.set(true); this._loaded.set(false); }\n}\n","@if (mode() === 'blur' && lowResSrc() && !_loaded()) {\n <img class=\"img-blur-preview\" [src]=\"lowResSrc()\" [alt]=\"alt()\" aria-hidden=\"true\" />\n}\n\n@if (!_error()) {\n <img\n class=\"img-main\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"_onLoad()\"\n (error)=\"_onError()\"\n />\n}\n\n@if (!_loaded() && !_error()) {\n @if (mode() === 'skeleton') {\n <div class=\"img-skeleton\"></div>\n } @else if (mode() === 'icon') {\n <div class=\"img-icon-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/>\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/>\n <polyline points=\"21 15 16 10 5 21\"/>\n </svg>\n </div>\n }\n}\n\n@if (_error()) {\n <ng-content select=\"[emrErrorSlot]\">\n <div class=\"img-error-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"/>\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"/>\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"/>\n </svg>\n </div>\n </ng-content>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAgBa,yBAAyB,CAAA;AACpC,IAAA,GAAG,GAAG,KAAK,CAAC,EAAE,+CAAC;AACf,IAAA,GAAG,GAAG,KAAK,CAAC,EAAE,+CAAC;AACf,IAAA,IAAI,GAAG,KAAK,CAAuB,UAAU,gDAAC;AAC9C,IAAA,SAAS,GAAG,KAAK,CAAC,EAAE,qDAAC;AAEX,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,mDAAC;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,kDAAC;IAEtB,OAAO,GAAA,EAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,QAAQ,GAAA,EAAW,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wGAVlE,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,gsBChBtC,wrCAuCA,EAAA,MAAA,EAAA,CAAA,m3CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDvBa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAZrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cACrB,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,oBAAoB,EAAE,mBAAmB;AACzC,wBAAA,mBAAmB,EAAE,kBAAkB;AACxC,qBAAA,EAAA,QAAA,EAAA,wrCAAA,EAAA,MAAA,EAAA,CAAA,m3CAAA,CAAA,EAAA;;;AEdH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-image-placeholder.mjs","sources":["../../../projects/components/image-placeholder/src/image-placeholder/image-placeholder.component.ts","../../../projects/components/image-placeholder/src/image-placeholder/image-placeholder.component.html","../../../projects/components/image-placeholder/elementar-rt-components-image-placeholder.ts"],"sourcesContent":["import { Component, input, signal, ChangeDetectionStrategy } from '@angular/core';\n\nexport type ImagePlaceholderMode = 'skeleton' | 'blur' | 'icon';\n\n@Component({\n selector: 'emr-image-placeholder',\n standalone: true,\n templateUrl: './image-placeholder.component.html',\n styleUrl: './image-placeholder.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-mode]': 'mode()',\n '[attr.data-loaded]': '_loaded() || null',\n '[attr.data-error]': '_error() || null',\n }\n})\nexport class ImagePlaceholderComponent {\n src = input('');\n alt = input('');\n mode = input<ImagePlaceholderMode>('skeleton');\n lowResSrc = input('');\n\n protected _loaded = signal(false);\n protected _error = signal(false);\n\n protected _onLoad(): void { this._loaded.set(true); this._error.set(false); }\n protected _onError(): void { this._error.set(true); this._loaded.set(false); }\n}\n","@if (mode() === 'blur' && lowResSrc() && !_loaded()) {\n <img class=\"img-blur-preview\" [src]=\"lowResSrc()\" [alt]=\"alt()\" aria-hidden=\"true\" />\n}\n\n@if (!_error()) {\n <img\n class=\"img-main\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (load)=\"_onLoad()\"\n (error)=\"_onError()\"\n />\n}\n\n@if (!_loaded() && !_error()) {\n @if (mode() === 'skeleton') {\n <div class=\"img-skeleton\"></div>\n } @else if (mode() === 'icon') {\n <div class=\"img-icon-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/>\n <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/>\n <polyline points=\"21 15 16 10 5 21\"/>\n </svg>\n </div>\n }\n}\n\n@if (_error()) {\n <ng-content select=\"[emrErrorSlot]\">\n <div class=\"img-error-placeholder\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"/>\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"/>\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"/>\n </svg>\n </div>\n </ng-content>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAgBa,yBAAyB,CAAA;AACpC,IAAA,GAAG,GAAG,KAAK,CAAC,EAAE,0EAAC;AACf,IAAA,GAAG,GAAG,KAAK,CAAC,EAAE,0EAAC;AACf,IAAA,IAAI,GAAG,KAAK,CAAuB,UAAU,2EAAC;AAC9C,IAAA,SAAS,GAAG,KAAK,CAAC,EAAE,gFAAC;AAEX,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,8EAAC;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,6EAAC;IAEtB,OAAO,GAAA,EAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,QAAQ,GAAA,EAAW,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wGAVlE,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,gsBChBtC,wrCAuCA,EAAA,MAAA,EAAA,CAAA,m3CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDvBa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAZrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cACrB,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,oBAAoB,EAAE,mBAAmB;AACzC,wBAAA,mBAAmB,EAAE,kBAAkB;AACxC,qBAAA,EAAA,QAAA,EAAA,wrCAAA,EAAA,MAAA,EAAA,CAAA,m3CAAA,CAAA,EAAA;;;AEdH;;AAEG;;"}
@@ -15,14 +15,10 @@ class ImageResizeHandlerDirective {
15
15
  _resizing = false;
16
16
  _width;
17
17
  _clientX;
18
- maxWidth = input.required(...(ngDevMode ? [{ debugName: "maxWidth", transform: numberAttribute }] : [{
19
- transform: numberAttribute
20
- }]));
21
- minWidth = input.required(...(ngDevMode ? [{ debugName: "minWidth", transform: numberAttribute }] : [{
22
- transform: numberAttribute
23
- }]));
24
- targetElement = input.required(...(ngDevMode ? [{ debugName: "targetElement" }] : []));
25
- direction = input.required(...(ngDevMode ? [{ debugName: "direction" }] : []));
18
+ maxWidth = input.required({ ...(ngDevMode ? { debugName: "maxWidth" } : /* istanbul ignore next */ {}), transform: numberAttribute });
19
+ minWidth = input.required({ ...(ngDevMode ? { debugName: "minWidth" } : /* istanbul ignore next */ {}), transform: numberAttribute });
20
+ targetElement = input.required(...(ngDevMode ? [{ debugName: "targetElement" }] : /* istanbul ignore next */ []));
21
+ direction = input.required(...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
26
22
  dimensionsChanged = output();
27
23
  ngOnInit() {
28
24
  if (isPlatformServer(this._platformId)) {
@@ -67,10 +63,10 @@ class ImageResizeHandlerDirective {
67
63
  });
68
64
  });
69
65
  }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImageResizeHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
71
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: ImageResizeHandlerDirective, isStandalone: true, selector: "[emrImageResizeHandler]", inputs: { maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: true, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: true, transformFunction: null }, targetElement: { classPropertyName: "targetElement", publicName: "targetElement", isSignal: true, isRequired: true, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { dimensionsChanged: "dimensionsChanged" }, ngImport: i0 });
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImageResizeHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
67
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: ImageResizeHandlerDirective, isStandalone: true, selector: "[emrImageResizeHandler]", inputs: { maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: true, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: true, transformFunction: null }, targetElement: { classPropertyName: "targetElement", publicName: "targetElement", isSignal: true, isRequired: true, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { dimensionsChanged: "dimensionsChanged" }, ngImport: i0 });
72
68
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImageResizeHandlerDirective, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImageResizeHandlerDirective, decorators: [{
74
70
  type: Directive,
75
71
  args: [{
76
72
  selector: '[emrImageResizeHandler]'
@@ -83,10 +79,10 @@ class ImageResizerImageDirective {
83
79
  event.stopPropagation();
84
80
  event.preventDefault();
85
81
  }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImageResizerImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
87
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ImageResizerImageDirective, isStandalone: true, selector: "[emrImageResizerImage]", host: { listeners: { "dragstart": "_onDragStart($event)" } }, exportAs: ["emrImageResizerImage"], ngImport: i0 });
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImageResizerImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
83
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: ImageResizerImageDirective, isStandalone: true, selector: "[emrImageResizerImage]", host: { listeners: { "dragstart": "_onDragStart($event)" } }, exportAs: ["emrImageResizerImage"], ngImport: i0 });
88
84
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImageResizerImageDirective, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImageResizerImageDirective, decorators: [{
90
86
  type: Directive,
91
87
  args: [{
92
88
  selector: '[emrImageResizerImage]',
@@ -102,14 +98,10 @@ class ImageResizerComponent {
102
98
  _elementRef = inject(ElementRef);
103
99
  _renderer = inject(Renderer2);
104
100
  imageRef = contentChild.required(ImageResizerImageDirective);
105
- imageMaxWidth = input(null, ...(ngDevMode ? [{ debugName: "imageMaxWidth", transform: numberAttribute }] : [{
106
- transform: numberAttribute
107
- }]));
108
- imageMinWidth = input(100, ...(ngDevMode ? [{ debugName: "imageMinWidth", transform: numberAttribute }] : [{
109
- transform: numberAttribute
110
- }]));
101
+ imageMaxWidth = input(null, { ...(ngDevMode ? { debugName: "imageMaxWidth" } : /* istanbul ignore next */ {}), transform: numberAttribute });
102
+ imageMinWidth = input(100, { ...(ngDevMode ? { debugName: "imageMinWidth" } : /* istanbul ignore next */ {}), transform: numberAttribute });
111
103
  imageResized = output();
112
- _maxWidth = signal(null, ...(ngDevMode ? [{ debugName: "_maxWidth" }] : []));
104
+ _maxWidth = signal(null, ...(ngDevMode ? [{ debugName: "_maxWidth" }] : /* istanbul ignore next */ []));
113
105
  constructor() {
114
106
  effect(() => {
115
107
  this._maxWidth.set(this.imageMaxWidth());
@@ -139,16 +131,16 @@ class ImageResizerComponent {
139
131
  naturalHeight
140
132
  });
141
133
  }
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImageResizerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.25", type: ImageResizerComponent, isStandalone: true, selector: "emr-image-resizer", inputs: { imageMaxWidth: { classPropertyName: "imageMaxWidth", publicName: "imageMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, imageMinWidth: { classPropertyName: "imageMinWidth", publicName: "imageMinWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imageResized: "imageResized" }, host: { classAttribute: "emr-image-resizer" }, queries: [{ propertyName: "imageRef", first: true, predicate: ImageResizerImageDirective, descendants: true, isSignal: true }], exportAs: ["emrImageResizer"], ngImport: i0, template: "<div emrImageResizeHandler direction=\"right\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-start\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n<ng-content select=\"[emrImageResizerImage]\"/>\n<div emrImageResizeHandler direction=\"left\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-end\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n", styles: ["@layer properties;:host{display:flex;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none;position:relative;width:max-content;max-width:100%}:host.align-start{justify-content:flex-start}:host.align-center{justify-content:center}:host.align-end{justify-content:flex-end}:host img{max-width:100%}:host .handler{height:100%;max-height:calc(var(--spacing, .25rem) * 12);width:calc(var(--spacing, .25rem) * 3);cursor:ew-resize;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-white, #fff);--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:absolute;top:50%;--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-white);border:4px solid var(--color-on-secondary-fixed)}:host .handler-start{inset-inline-start:calc(var(--spacing, .25rem) * 3)}:host .handler-end{inset-inline-end:calc(var(--spacing, .25rem) * 3)}:host .handler:active{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: ImageResizeHandlerDirective, selector: "[emrImageResizeHandler]", inputs: ["maxWidth", "minWidth", "targetElement", "direction"], outputs: ["dimensionsChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImageResizerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
135
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.22", type: ImageResizerComponent, isStandalone: true, selector: "emr-image-resizer", inputs: { imageMaxWidth: { classPropertyName: "imageMaxWidth", publicName: "imageMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, imageMinWidth: { classPropertyName: "imageMinWidth", publicName: "imageMinWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imageResized: "imageResized" }, host: { classAttribute: "emr-image-resizer" }, queries: [{ propertyName: "imageRef", first: true, predicate: ImageResizerImageDirective, descendants: true, isSignal: true }], exportAs: ["emrImageResizer"], ngImport: i0, template: "<div emrImageResizeHandler direction=\"right\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-start\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n<ng-content select=\"[emrImageResizerImage]\"/>\n<div emrImageResizeHandler direction=\"left\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-end\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n", styles: ["@layer properties;:host{display:flex;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none;position:relative;width:max-content;max-width:100%}:host.align-start{justify-content:flex-start}:host.align-center{justify-content:center}:host.align-end{justify-content:flex-end}:host img{max-width:100%}:host .handler{height:100%;max-height:calc(var(--spacing, .25rem) * 12);width:calc(var(--spacing, .25rem) * 3);cursor:ew-resize;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-white, #fff);--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:absolute;top:50%;--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-white);border:4px solid var(--color-on-secondary-fixed)}:host .handler-start{inset-inline-start:calc(var(--spacing, .25rem) * 3)}:host .handler-end{inset-inline-end:calc(var(--spacing, .25rem) * 3)}:host .handler:active{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: ImageResizeHandlerDirective, selector: "[emrImageResizeHandler]", inputs: ["maxWidth", "minWidth", "targetElement", "direction"], outputs: ["dimensionsChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
136
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImageResizerComponent, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ImageResizerComponent, decorators: [{
146
138
  type: Component,
147
139
  args: [{ selector: 'emr-image-resizer', exportAs: 'emrImageResizer', imports: [
148
140
  ImageResizeHandlerDirective
149
141
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
150
142
  'class': 'emr-image-resizer'
151
- }, template: "<div emrImageResizeHandler direction=\"right\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-start\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n<ng-content select=\"[emrImageResizerImage]\"/>\n<div emrImageResizeHandler direction=\"left\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-end\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n", styles: ["@layer properties;:host{display:flex;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none;position:relative;width:max-content;max-width:100%}:host.align-start{justify-content:flex-start}:host.align-center{justify-content:center}:host.align-end{justify-content:flex-end}:host img{max-width:100%}:host .handler{height:100%;max-height:calc(var(--spacing, .25rem) * 12);width:calc(var(--spacing, .25rem) * 3);cursor:ew-resize;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-white, #fff);--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:absolute;top:50%;--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-white);border:4px solid var(--color-on-secondary-fixed)}:host .handler-start{inset-inline-start:calc(var(--spacing, .25rem) * 3)}:host .handler-end{inset-inline-end:calc(var(--spacing, .25rem) * 3)}:host .handler:active{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
143
+ }, template: "<div emrImageResizeHandler direction=\"right\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-start\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n<ng-content select=\"[emrImageResizerImage]\"/>\n<div emrImageResizeHandler direction=\"left\"\n [maxWidth]=\"_maxWidth()\"\n [minWidth]=\"imageMinWidth()\"\n [targetElement]=\"imageRef().elementRef.nativeElement\" class=\"handler handler-end\"\n (dimensionsChanged)=\"onDimensionsChanged()\"></div>\n", styles: ["@layer properties;:host{display:flex;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none;position:relative;width:max-content;max-width:100%}:host.align-start{justify-content:flex-start}:host.align-center{justify-content:center}:host.align-end{justify-content:flex-end}:host img{max-width:100%}:host .handler{height:100%;max-height:calc(var(--spacing, .25rem) * 12);width:calc(var(--spacing, .25rem) * 3);cursor:ew-resize;border-radius:calc(infinity * 1px);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-white, #fff);--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:absolute;top:50%;--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-white);border:4px solid var(--color-on-secondary-fixed)}:host .handler-start{inset-inline-start:calc(var(--spacing, .25rem) * 3)}:host .handler-end{inset-inline-end:calc(var(--spacing, .25rem) * 3)}:host .handler:active{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-translate-x{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: \"*\"; inherits: false; initial-value: 0;}@property --tw-scale-x{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: \"*\"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: \"*\"; inherits: false; initial-value: 1;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
152
144
  }], ctorParameters: () => [], propDecorators: { imageRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ImageResizerImageDirective), { isSignal: true }] }], imageMaxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageMaxWidth", required: false }] }], imageMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageMinWidth", required: false }] }], imageResized: [{ type: i0.Output, args: ["imageResized"] }] } });
153
145
 
154
146
  /**