@elementar-rt/components 0.6.56 → 0.6.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/README.md +49 -49
  2. package/badge/index.d.ts +18 -0
  3. package/bottom-sheet/index.d.ts +32 -0
  4. package/button-toggle/index.d.ts +33 -0
  5. package/calendar/index.d.ts +44 -0
  6. package/card/index.d.ts +32 -0
  7. package/chips/index.d.ts +23 -0
  8. package/clipboard-copy/index.d.ts +28 -0
  9. package/code-highlighter/index.d.ts +5 -1
  10. package/combobox/index.d.ts +38 -0
  11. package/content-editor/index.d.ts +18 -0
  12. package/dashboard/index.d.ts +1 -1
  13. package/data-grid/index.d.ts +64 -0
  14. package/datepicker/index.d.ts +32 -0
  15. package/dialog/index.d.ts +48 -0
  16. package/digit-roller/index.d.ts +18 -0
  17. package/empty-state/index.d.ts +17 -0
  18. package/expansion-panel/index.d.ts +12 -0
  19. package/fesm2022/elementar-rt-components-action-required.mjs +4 -4
  20. package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
  21. package/fesm2022/elementar-rt-components-alert.mjs +18 -17
  22. package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
  23. package/fesm2022/elementar-rt-components-announcement.mjs +8 -8
  24. package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
  25. package/fesm2022/elementar-rt-components-avatar.mjs +22 -22
  26. package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
  27. package/fesm2022/elementar-rt-components-badge.mjs +38 -0
  28. package/fesm2022/elementar-rt-components-badge.mjs.map +1 -0
  29. package/fesm2022/elementar-rt-components-block-loader.mjs +7 -7
  30. package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
  31. package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
  32. package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
  33. package/fesm2022/elementar-rt-components-bottom-sheet.mjs +71 -0
  34. package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -0
  35. package/fesm2022/elementar-rt-components-brand-colors.mjs +5 -5
  36. package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
  37. package/fesm2022/elementar-rt-components-breadcrumbs.mjs +41 -41
  38. package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
  39. package/fesm2022/elementar-rt-components-button-toggle.mjs +89 -0
  40. package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -0
  41. package/fesm2022/elementar-rt-components-calendar.mjs +130 -0
  42. package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -0
  43. package/fesm2022/elementar-rt-components-card-overlay.mjs +7 -7
  44. package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
  45. package/fesm2022/elementar-rt-components-card.mjs +60 -0
  46. package/fesm2022/elementar-rt-components-card.mjs.map +1 -0
  47. package/fesm2022/elementar-rt-components-carousel.mjs +22 -22
  48. package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
  49. package/fesm2022/elementar-rt-components-chips.mjs +54 -0
  50. package/fesm2022/elementar-rt-components-chips.mjs.map +1 -0
  51. package/fesm2022/elementar-rt-components-clipboard-copy.mjs +115 -0
  52. package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -0
  53. package/fesm2022/elementar-rt-components-code-highlighter.mjs +19 -6
  54. package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
  55. package/fesm2022/elementar-rt-components-color-picker.mjs +27 -27
  56. package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
  57. package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
  58. package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
  59. package/fesm2022/elementar-rt-components-combobox.mjs +70 -0
  60. package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -0
  61. package/fesm2022/elementar-rt-components-command-bar.mjs +12 -12
  62. package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
  63. package/fesm2022/elementar-rt-components-comment-editor.mjs +86 -84
  64. package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
  65. package/fesm2022/elementar-rt-components-comparison-slider.mjs +10 -10
  66. package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
  67. package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
  68. package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
  69. package/fesm2022/elementar-rt-components-content-editor.mjs +121 -0
  70. package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -0
  71. package/fesm2022/elementar-rt-components-content-fade.mjs +4 -4
  72. package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
  73. package/fesm2022/elementar-rt-components-cookie-popup.mjs +13 -13
  74. package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
  75. package/fesm2022/elementar-rt-components-core.mjs +64 -64
  76. package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
  77. package/fesm2022/elementar-rt-components-country-select.mjs +5 -5
  78. package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
  79. package/fesm2022/elementar-rt-components-crop.mjs +4 -4
  80. package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
  81. package/fesm2022/elementar-rt-components-currency-select.mjs +5 -5
  82. package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
  83. package/fesm2022/elementar-rt-components-dashboard.mjs +9 -9
  84. package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
  85. package/fesm2022/elementar-rt-components-data-grid.mjs +120 -0
  86. package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -0
  87. package/fesm2022/elementar-rt-components-data-view.mjs +17 -17
  88. package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
  89. package/fesm2022/elementar-rt-components-date-format-select.mjs +5 -5
  90. package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
  91. package/fesm2022/elementar-rt-components-datepicker.mjs +81 -0
  92. package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -0
  93. package/fesm2022/elementar-rt-components-dialog.mjs +97 -0
  94. package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -0
  95. package/fesm2022/elementar-rt-components-digit-roller.mjs +41 -0
  96. package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -0
  97. package/fesm2022/elementar-rt-components-divider.mjs +8 -8
  98. package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
  99. package/fesm2022/elementar-rt-components-drawer.mjs +8 -8
  100. package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
  101. package/fesm2022/elementar-rt-components-emoji-picker.mjs +7 -7
  102. package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
  103. package/fesm2022/elementar-rt-components-empty-state.mjs +35 -0
  104. package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -0
  105. package/fesm2022/elementar-rt-components-expand.mjs +4 -4
  106. package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
  107. package/fesm2022/elementar-rt-components-expansion-panel.mjs +32 -0
  108. package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -0
  109. package/fesm2022/elementar-rt-components-filter-builder.mjs +13 -13
  110. package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
  111. package/fesm2022/elementar-rt-components-filter-select.mjs +126 -0
  112. package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -0
  113. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs +123 -0
  114. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map +1 -0
  115. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs +22 -0
  116. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map +1 -0
  117. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs +40 -0
  118. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map +1 -0
  119. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs → elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs} +5 -5
  120. package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map +1 -0
  121. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs → elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs} +5 -5
  122. package/fesm2022/elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map +1 -0
  123. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs +33 -0
  124. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map +1 -0
  125. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs +38 -0
  126. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map +1 -0
  127. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs +39 -0
  128. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map +1 -0
  129. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs → elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs} +5 -5
  130. package/fesm2022/elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map +1 -0
  131. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs +37 -0
  132. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map +1 -0
  133. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs +35 -0
  134. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map +1 -0
  135. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs +22 -0
  136. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map +1 -0
  137. package/fesm2022/elementar-rt-components-form-renderer.mjs +29 -29
  138. package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
  139. package/fesm2022/elementar-rt-components-gauge.mjs +8 -8
  140. package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
  141. package/fesm2022/elementar-rt-components-grid.mjs +37 -0
  142. package/fesm2022/elementar-rt-components-grid.mjs.map +1 -0
  143. package/fesm2022/elementar-rt-components-guided-tour.mjs +161 -0
  144. package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -0
  145. package/fesm2022/elementar-rt-components-headless-stepper.mjs +72 -0
  146. package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -0
  147. package/fesm2022/elementar-rt-components-icon.mjs +4 -4
  148. package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
  149. package/fesm2022/elementar-rt-components-image-placeholder.mjs +30 -0
  150. package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -0
  151. package/fesm2022/elementar-rt-components-image-resizer.mjs +10 -10
  152. package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
  153. package/fesm2022/elementar-rt-components-image-viewer.mjs +19 -19
  154. package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
  155. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +97 -0
  156. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -0
  157. package/fesm2022/elementar-rt-components-incidents.mjs +49 -49
  158. package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
  159. package/fesm2022/elementar-rt-components-inline-text-edit.mjs +4 -4
  160. package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
  161. package/fesm2022/elementar-rt-components-input-mask.mjs +9 -9
  162. package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
  163. package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
  164. package/fesm2022/elementar-rt-components-kanban-board.mjs +7 -7
  165. package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
  166. package/fesm2022/elementar-rt-components-keyboard.mjs +63 -0
  167. package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -0
  168. package/fesm2022/elementar-rt-components-layout.mjs +43 -38
  169. package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
  170. package/fesm2022/elementar-rt-components-list.mjs +43 -0
  171. package/fesm2022/elementar-rt-components-list.mjs.map +1 -0
  172. package/fesm2022/elementar-rt-components-logo.mjs +12 -12
  173. package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
  174. package/fesm2022/elementar-rt-components-marquee.mjs +7 -7
  175. package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
  176. package/fesm2022/elementar-rt-components-menu.mjs +94 -0
  177. package/fesm2022/elementar-rt-components-menu.mjs.map +1 -0
  178. package/fesm2022/elementar-rt-components-micro-chart.mjs +24 -24
  179. package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
  180. package/fesm2022/elementar-rt-components-multi-select.mjs +66 -0
  181. package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -0
  182. package/fesm2022/elementar-rt-components-navigation.mjs +39 -39
  183. package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
  184. package/fesm2022/elementar-rt-components-notifications.mjs +40 -40
  185. package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
  186. package/fesm2022/elementar-rt-components-number-input.mjs +17 -17
  187. package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
  188. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +4 -4
  189. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
  190. package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
  191. package/fesm2022/elementar-rt-components-page-loading-bar.mjs +4 -4
  192. package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
  193. package/fesm2022/elementar-rt-components-paginator.mjs +50 -0
  194. package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -0
  195. package/fesm2022/elementar-rt-components-panel.mjs +24 -24
  196. package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
  197. package/fesm2022/elementar-rt-components-password-strength.mjs +13 -13
  198. package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
  199. package/fesm2022/elementar-rt-components-phone-input.mjs +11 -11
  200. package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
  201. package/fesm2022/elementar-rt-components-pin-input.mjs +13 -13
  202. package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
  203. package/fesm2022/elementar-rt-components-popover.mjs +10 -10
  204. package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
  205. package/fesm2022/elementar-rt-components-progress-bar.mjs +32 -0
  206. package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -0
  207. package/fesm2022/elementar-rt-components-progress-spinner.mjs +94 -0
  208. package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -0
  209. package/fesm2022/elementar-rt-components-radio-card.mjs +17 -17
  210. package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
  211. package/fesm2022/elementar-rt-components-rail-nav.mjs +12 -12
  212. package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
  213. package/fesm2022/elementar-rt-components-rating.mjs +84 -0
  214. package/fesm2022/elementar-rt-components-rating.mjs.map +1 -0
  215. package/fesm2022/elementar-rt-components-resizable-container.mjs +4 -4
  216. package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
  217. package/fesm2022/elementar-rt-components-screen-loader.mjs +4 -4
  218. package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
  219. package/fesm2022/elementar-rt-components-scroll-spy.mjs +16 -16
  220. package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
  221. package/fesm2022/elementar-rt-components-segmented.mjs +15 -12
  222. package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
  223. package/fesm2022/elementar-rt-components-side-panel.mjs +8 -8
  224. package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
  225. package/fesm2022/elementar-rt-components-sidebar.mjs +61 -61
  226. package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
  227. package/fesm2022/elementar-rt-components-sidenav.mjs +72 -0
  228. package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -0
  229. package/fesm2022/elementar-rt-components-signature-pad.mjs +4 -4
  230. package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
  231. package/fesm2022/elementar-rt-components-skeleton.mjs +16 -16
  232. package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
  233. package/fesm2022/elementar-rt-components-slider.mjs +64 -0
  234. package/fesm2022/elementar-rt-components-slider.mjs.map +1 -0
  235. package/fesm2022/elementar-rt-components-snackbar.mjs +81 -0
  236. package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -0
  237. package/fesm2022/elementar-rt-components-sort.mjs +69 -0
  238. package/fesm2022/elementar-rt-components-sort.mjs.map +1 -0
  239. package/fesm2022/elementar-rt-components-splash-screen.mjs +15 -7
  240. package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
  241. package/fesm2022/elementar-rt-components-split-pane.mjs +70 -0
  242. package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -0
  243. package/fesm2022/elementar-rt-components-stat-card.mjs +27 -0
  244. package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -0
  245. package/fesm2022/elementar-rt-components-step-tracker.mjs +30 -0
  246. package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -0
  247. package/fesm2022/elementar-rt-components-stepper.mjs +6 -6
  248. package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
  249. package/fesm2022/elementar-rt-components-suggestions.mjs +18 -18
  250. package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
  251. package/fesm2022/elementar-rt-components-tab-panel.mjs +48 -48
  252. package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
  253. package/fesm2022/elementar-rt-components-table.mjs +84 -0
  254. package/fesm2022/elementar-rt-components-table.mjs.map +1 -0
  255. package/fesm2022/elementar-rt-components-tabs.mjs +59 -0
  256. package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -0
  257. package/fesm2022/elementar-rt-components-tag.mjs +28 -0
  258. package/fesm2022/elementar-rt-components-tag.mjs.map +1 -0
  259. package/fesm2022/elementar-rt-components-text-editor.mjs +89 -87
  260. package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
  261. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +7 -7
  262. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
  263. package/fesm2022/elementar-rt-components-tiles.mjs +35 -0
  264. package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -0
  265. package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
  266. package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
  267. package/fesm2022/elementar-rt-components-timepicker.mjs +75 -0
  268. package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -0
  269. package/fesm2022/elementar-rt-components-timezone-select.mjs +8 -8
  270. package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
  271. package/fesm2022/elementar-rt-components-toast.mjs +98 -0
  272. package/fesm2022/elementar-rt-components-toast.mjs.map +1 -0
  273. package/fesm2022/elementar-rt-components-toolbar.mjs +24 -0
  274. package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -0
  275. package/fesm2022/elementar-rt-components-tooltip.mjs +119 -0
  276. package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -0
  277. package/fesm2022/elementar-rt-components-tree.mjs +77 -0
  278. package/fesm2022/elementar-rt-components-tree.mjs.map +1 -0
  279. package/fesm2022/elementar-rt-components-upload.mjs +60 -58
  280. package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
  281. package/fesm2022/elementar-rt-components-video-player.mjs +144 -0
  282. package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -0
  283. package/fesm2022/elementar-rt-components-video-viewer.mjs +98 -0
  284. package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -0
  285. package/fesm2022/elementar-rt-components.mjs.map +1 -1
  286. package/filter-select/index.d.ts +40 -0
  287. package/grid/index.d.ts +24 -0
  288. package/guided-tour/index.d.ts +45 -0
  289. package/headless-stepper/index.d.ts +30 -0
  290. package/image-placeholder/index.d.ts +18 -0
  291. package/image-zoom-viewer/index.d.ts +33 -0
  292. package/keyboard/index.d.ts +13 -0
  293. package/layout/index.d.ts +3 -1
  294. package/list/index.d.ts +18 -0
  295. package/menu/index.d.ts +38 -0
  296. package/multi-select/index.d.ts +36 -0
  297. package/package.json +225 -33
  298. package/paginator/index.d.ts +26 -0
  299. package/progress-bar/index.d.ts +17 -0
  300. package/progress-spinner/index.d.ts +19 -0
  301. package/rating/index.d.ts +30 -0
  302. package/sidenav/index.d.ts +31 -0
  303. package/slider/index.d.ts +26 -0
  304. package/snackbar/index.d.ts +36 -0
  305. package/sort/index.d.ts +27 -0
  306. package/split-pane/index.d.ts +25 -0
  307. package/stat-card/index.d.ts +16 -0
  308. package/step-tracker/index.d.ts +21 -0
  309. package/styles/_common.scss +777 -776
  310. package/styles/themes/cyan-orange.scss +41 -41
  311. package/styles/themes/default.scss +5 -5
  312. package/styles/themes/magenta-violet.scss +41 -41
  313. package/styles/themes/rose-red.scss +41 -41
  314. package/table/index.d.ts +44 -0
  315. package/tabs/index.d.ts +26 -0
  316. package/tag/index.d.ts +17 -0
  317. package/tiles/index.d.ts +14 -0
  318. package/timepicker/index.d.ts +29 -0
  319. package/toast/index.d.ts +48 -0
  320. package/toolbar/index.d.ts +10 -0
  321. package/tooltip/index.d.ts +30 -0
  322. package/tree/index.d.ts +42 -0
  323. package/video-player/index.d.ts +49 -0
  324. package/video-viewer/index.d.ts +33 -0
  325. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs +0 -123
  326. package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs.map +0 -1
  327. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs +0 -22
  328. package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs.map +0 -1
  329. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs +0 -40
  330. package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs.map +0 -1
  331. package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs.map +0 -1
  332. package/fesm2022/elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs.map +0 -1
  333. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs +0 -33
  334. package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs.map +0 -1
  335. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs +0 -38
  336. package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs.map +0 -1
  337. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs +0 -39
  338. package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs.map +0 -1
  339. package/fesm2022/elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs.map +0 -1
  340. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs +0 -37
  341. package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs.map +0 -1
  342. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs +0 -35
  343. package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs.map +0 -1
  344. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs +0 -22
  345. package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-drawer.mjs","sources":["../../../projects/components/drawer/src/types.ts","../../../projects/components/drawer/src/drawer/drawer.component.ts","../../../projects/components/drawer/src/drawer/drawer.component.html","../../../projects/components/drawer/src/drawer-ignore-outside-click.directive.ts","../../../projects/components/drawer/elementar-rt-components-drawer.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport const DRAWER = new InjectionToken('DRAWER');\r\n","import {\r\n Component,\r\n input,\r\n output,\r\n ChangeDetectionStrategy,\r\n effect,\r\n ElementRef,\r\n inject,\r\n Renderer2,\r\n WritableSignal,\r\n signal,\r\n computed,\r\n Signal,\r\n DOCUMENT, forwardRef,\r\n} from '@angular/core';\r\nimport { DRAWER } from '../types';\r\n\r\n@Component({\r\n selector: 'emr-drawer',\r\n exportAs: 'emrDrawer',\r\n templateUrl: './drawer.component.html',\r\n styleUrl: './drawer.component.scss',\r\n providers: [\r\n {\r\n provide: DRAWER,\r\n useExisting: forwardRef(() => DrawerComponent),\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n 'class': 'emr-drawer',\r\n '[class.no-backdrop]': '_isOpen() && !showBackdrop()',\r\n '(document:keydown.escape)': 'onKeydownHandler($event)',\r\n '(document:click)': 'onDocumentClickHandler($event)'\r\n }\r\n})\r\nexport class DrawerComponent {\r\n private renderer = inject(Renderer2);\r\n private elementRef = inject(ElementRef);\r\n private document = inject(DOCUMENT);\r\n\r\n readonly initialIsOpen = input<boolean | undefined>(undefined, { alias: 'isOpen' });\r\n readonly showBackdrop = input(true);\r\n\r\n readonly closed = output<void>();\r\n readonly opened = output<void>();\r\n\r\n private internalIsOpen: WritableSignal<boolean> = signal(false);\r\n private drawerContainerElement: HTMLElement | null = null;\r\n private previousInternalIsOpenState: WritableSignal<boolean | undefined> = signal(undefined);\r\n private justOpenedWithoutBackdrop = signal(false); // Новый флаг\r\n\r\n protected _isOpen: Signal<boolean> = computed(() => this.internalIsOpen());\r\n\r\n constructor() {\r\n effect(() => {\r\n const externalIsOpen = this.initialIsOpen();\r\n if (externalIsOpen !== undefined) {\r\n this.internalIsOpen.set(externalIsOpen);\r\n }\r\n });\r\n\r\n effect(() => {\r\n const currentInternalOpen = this.internalIsOpen();\r\n const previousInternalOpen = this.previousInternalIsOpenState();\r\n const backdropActive = this.showBackdrop();\r\n\r\n if (currentInternalOpen) {\r\n if (backdropActive) {\r\n this.renderer.addClass(this.document.body, 'overflow-hidden');\r\n }\r\n if (currentInternalOpen && !previousInternalOpen) {\r\n this.opened.emit();\r\n Promise.resolve().then(() => {\r\n this.justOpenedWithoutBackdrop.set(true);\r\n });\r\n }\r\n } else {\r\n this.renderer.removeClass(this.document.body, 'overflow-hidden');\r\n }\r\n this.previousInternalIsOpenState.set(currentInternalOpen);\r\n });\r\n }\r\n\r\n private getDrawerContainer(): HTMLElement | null {\r\n if (!this.drawerContainerElement) {\r\n this.drawerContainerElement = this.elementRef.nativeElement.querySelector('.drawer-container');\r\n }\r\n return this.drawerContainerElement;\r\n }\r\n\r\n open(): void {\r\n if (!this.internalIsOpen()) {\r\n this.internalIsOpen.set(true);\r\n }\r\n }\r\n\r\n close(): void {\r\n if (this.internalIsOpen()) {\r\n this.internalIsOpen.set(false);\r\n this.justOpenedWithoutBackdrop.set(false);\r\n this.closed.emit();\r\n }\r\n }\r\n\r\n get isOpened(): boolean {\r\n return this._isOpen();\r\n }\r\n\r\n protected onKeydownHandler(event: Event): void {\r\n if (this._isOpen()) {\r\n this.close();\r\n }\r\n }\r\n\r\n protected onDocumentClickHandler(event: MouseEvent): void {\r\n if (!this._isOpen() || this.showBackdrop() || !this.justOpenedWithoutBackdrop()) {\r\n return;\r\n }\r\n\r\n const target = event.target as HTMLElement;\r\n\r\n if (\r\n target.classList.contains('.emr-drawer-ignore-outside-click') ||\r\n target.closest('.emr-drawer-ignore-outside-click')\r\n ) {\r\n return;\r\n }\r\n\r\n this.internalIsOpen.set(true);\r\n const clickedElement = event.target as Node;\r\n const drawerContainer = this.getDrawerContainer();\r\n\r\n if (drawerContainer && !drawerContainer.contains(clickedElement)) {\r\n this.close();\r\n }\r\n }\r\n}\r\n","@if (showBackdrop()) {\r\n <div\r\n class=\"drawer-backdrop\"\r\n [class.open]=\"_isOpen()\"\r\n (click)=\"close()\">\r\n </div>\r\n}\r\n<div\r\n class=\"drawer-container\"\r\n [class.open]=\"_isOpen()\">\r\n <div class=\"drawer-content\">\r\n <ng-content/>\r\n </div>\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[emrDrawerIgnoreOutsideClick]',\r\n host: {\r\n 'class': 'emr-drawer-ignore-outside-click'\r\n }\r\n})\r\nexport class DrawerIgnoreOutsideClickDirective {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elementar-rt-components-drawer.mjs","sources":["../../../projects/components/drawer/src/types.ts","../../../projects/components/drawer/src/drawer/drawer.component.ts","../../../projects/components/drawer/src/drawer/drawer.component.html","../../../projects/components/drawer/src/drawer-ignore-outside-click.directive.ts","../../../projects/components/drawer/elementar-rt-components-drawer.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DRAWER = new InjectionToken('DRAWER');\n","import {\n Component,\n input,\n output,\n ChangeDetectionStrategy,\n effect,\n ElementRef,\n inject,\n Renderer2,\n WritableSignal,\n signal,\n computed,\n Signal,\n DOCUMENT, forwardRef,\n} from '@angular/core';\nimport { DRAWER } from '../types';\n\n@Component({\n selector: 'emr-drawer',\n exportAs: 'emrDrawer',\n templateUrl: './drawer.component.html',\n styleUrl: './drawer.component.scss',\n providers: [\n {\n provide: DRAWER,\n useExisting: forwardRef(() => DrawerComponent),\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-drawer',\n '[class.no-backdrop]': '_isOpen() && !showBackdrop()',\n '(document:keydown.escape)': 'onKeydownHandler($event)',\n '(document:click)': 'onDocumentClickHandler($event)'\n }\n})\nexport class DrawerComponent {\n private renderer = inject(Renderer2);\n private elementRef = inject(ElementRef);\n private document = inject(DOCUMENT);\n\n readonly initialIsOpen = input<boolean | undefined>(undefined, { alias: 'isOpen' });\n readonly showBackdrop = input(true);\n\n readonly closed = output<void>();\n readonly opened = output<void>();\n\n private internalIsOpen: WritableSignal<boolean> = signal(false);\n private drawerContainerElement: HTMLElement | null = null;\n private previousInternalIsOpenState: WritableSignal<boolean | undefined> = signal(undefined);\n private justOpenedWithoutBackdrop = signal(false); // Новый флаг\n\n protected _isOpen: Signal<boolean> = computed(() => this.internalIsOpen());\n\n constructor() {\n effect(() => {\n const externalIsOpen = this.initialIsOpen();\n if (externalIsOpen !== undefined) {\n this.internalIsOpen.set(externalIsOpen);\n }\n });\n\n effect(() => {\n const currentInternalOpen = this.internalIsOpen();\n const previousInternalOpen = this.previousInternalIsOpenState();\n const backdropActive = this.showBackdrop();\n\n if (currentInternalOpen) {\n if (backdropActive) {\n this.renderer.addClass(this.document.body, 'overflow-hidden');\n }\n if (currentInternalOpen && !previousInternalOpen) {\n this.opened.emit();\n Promise.resolve().then(() => {\n this.justOpenedWithoutBackdrop.set(true);\n });\n }\n } else {\n this.renderer.removeClass(this.document.body, 'overflow-hidden');\n }\n this.previousInternalIsOpenState.set(currentInternalOpen);\n });\n }\n\n private getDrawerContainer(): HTMLElement | null {\n if (!this.drawerContainerElement) {\n this.drawerContainerElement = this.elementRef.nativeElement.querySelector('.drawer-container');\n }\n return this.drawerContainerElement;\n }\n\n open(): void {\n if (!this.internalIsOpen()) {\n this.internalIsOpen.set(true);\n }\n }\n\n close(): void {\n if (this.internalIsOpen()) {\n this.internalIsOpen.set(false);\n this.justOpenedWithoutBackdrop.set(false);\n this.closed.emit();\n }\n }\n\n get isOpened(): boolean {\n return this._isOpen();\n }\n\n protected onKeydownHandler(event: Event): void {\n if (this._isOpen()) {\n this.close();\n }\n }\n\n protected onDocumentClickHandler(event: MouseEvent): void {\n if (!this._isOpen() || this.showBackdrop() || !this.justOpenedWithoutBackdrop()) {\n return;\n }\n\n const target = event.target as HTMLElement;\n\n if (\n target.classList.contains('.emr-drawer-ignore-outside-click') ||\n target.closest('.emr-drawer-ignore-outside-click')\n ) {\n return;\n }\n\n this.internalIsOpen.set(true);\n const clickedElement = event.target as Node;\n const drawerContainer = this.getDrawerContainer();\n\n if (drawerContainer && !drawerContainer.contains(clickedElement)) {\n this.close();\n }\n }\n}\n","@if (showBackdrop()) {\n <div\n class=\"drawer-backdrop\"\n [class.open]=\"_isOpen()\"\n (click)=\"close()\">\n </div>\n}\n<div\n class=\"drawer-container\"\n [class.open]=\"_isOpen()\">\n <div class=\"drawer-content\">\n <ng-content/>\n </div>\n</div>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[emrDrawerIgnoreOutsideClick]',\n host: {\n 'class': 'emr-drawer-ignore-outside-click'\n }\n})\nexport class DrawerIgnoreOutsideClickDirective {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -138,10 +138,10 @@ class EmojiPickerComponent {
138
138
  onMouseLeave() {
139
139
  this._hoveredEmoji.set(null);
140
140
  }
141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: EmojiPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: EmojiPickerComponent, isStandalone: true, selector: "emr-emoji-picker", inputs: { language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, selectEmojiLabel: { classPropertyName: "selectEmojiLabel", publicName: "selectEmojiLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { emojiSelected: "emojiSelected" }, host: { classAttribute: "emr-emoji-picker" }, exportAs: ["emrEmojiPicker"], ngImport: i0, template: "@if (loaded()) {\r\n <dl class=\"list\" (mouseleave)=\"onMouseLeave()\">\r\n @for (group of groups(); track group) {\r\n <dt class=\"px-2\">{{ group.name }}</dt>\r\n <dd>\r\n <div class=\"emoji-container\">\r\n @for (emoji of group.emoji; track emoji) {\r\n <button class=\"button\"\r\n (click)=\"select(emoji)\"\r\n (mouseover)=\"hoverEmoji(emoji)\">\r\n {{ emoji.emoji }}\r\n </button>\r\n }\r\n </div>\r\n </dd>\r\n }\r\n </dl>\r\n <div class=\"hovered-emoji\">\r\n @if (_hoveredEmoji()) {\r\n <span class=\"emoji-preview\">{{ _hoveredEmoji().emoji }}</span>\r\n <span class=\"emoji-label\">{{ _hoveredEmoji().label }}</span>\r\n } @else {\r\n <span class=\"select-message\">{{ selectEmojiLabel() }}</span>\r\n }\r\n </div>\r\n} @else {\r\n <div class=\"list\">\r\n <emr-skeleton>\r\n <emr-skeleton-line class=\"skeleton-heading\"/>\r\n <div class=\"skeleton-list\">\r\n @for (block of _skeletonEmoji(); track block) {\r\n <emr-skeleton-block class=\"size-8 rounded-sm\"/>\r\n }\r\n </div>\r\n </emr-skeleton>\r\n </div>\r\n <div class=\"hovered-emoji\">\r\n <emr-skeleton>\r\n <emr-skeleton-line class=\"h-4\"/>\r\n </emr-skeleton>\r\n </div>\r\n}\r\n", styles: [":host{--emr-emoji-picker-border: none;--emr-emoji-picker-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--emr-emoji-picker-border-radius: .75rem;--emr-emoji-picker-bg: white;--emr-emoji-picker-margin: calc(var(--spacing, .25rem) * 2.5);display:block;width:312px;background:var(--color-surface-container);border-radius:var(--emr-emoji-picker-border-radius);border:var(--emr-emoji-picker-border);box-shadow:var(--emr-emoji-picker-shadow);animation:.15s emr-emoji-picker-animation;margin:var(--emr-emoji-picker-margin) 0}:host emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-high);--emr-skeleton-to-bg: var(--color-surface-container-highest)}:host .list{padding:calc(var(--spacing, .25rem) * 0) calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2);height:300px;overflow-x:hidden;overflow-y:auto}:host .hovered-emoji{height:calc(var(--spacing, .25rem) * 11);display:flex;padding:0 calc(var(--spacing, .25rem) * 4);align-items:center;gap:calc(var(--spacing, .25rem) * 3);border-top:1px solid var(--color-border)}:host .emoji-preview{font-size:1.25rem}:host .emoji-label,:host .select-message{font-size:.75rem}:host .select-message{color:var(--color-neutral-500)}:host dt{position:sticky;top:0;left:0;right:0;height:calc(var(--spacing, .25rem) * 10);display:flex;align-items:center;font-weight:600;font-size:.875rem;background:var(--color-surface-container)}:host .skeleton-list,:host .emoji-container{display:flex;flex-wrap:wrap}:host .skeleton-list{align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}:host .button{display:flex;width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);flex:none;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}:host .button:hover{background:var(--color-surface-container-highest)}:host .skeleton-heading{margin-top:calc(var(--spacing, .25rem) * 3)}:host .skeleton-button{flex:none}@keyframes emr-emoji-picker-animation{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}:host-context(html.dark) emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-low);--emr-skeleton-to-bg: var(--color-surface-container-lowest)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: SkeletonComponent, selector: "emr-skeleton", inputs: ["direction"], exportAs: ["emrSkeleton"] }, { kind: "component", type: SkeletonLineComponent, selector: "emr-skeleton-line", exportAs: ["emrSkeletonLine"] }, { kind: "component", type: SkeletonBlockComponent, selector: "emr-skeleton-block", exportAs: ["emrSkeletonBlock"] }] });
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmojiPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: EmojiPickerComponent, isStandalone: true, selector: "emr-emoji-picker", inputs: { language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, selectEmojiLabel: { classPropertyName: "selectEmojiLabel", publicName: "selectEmojiLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { emojiSelected: "emojiSelected" }, host: { classAttribute: "emr-emoji-picker" }, exportAs: ["emrEmojiPicker"], ngImport: i0, template: "@if (loaded()) {\n <dl class=\"list\" (mouseleave)=\"onMouseLeave()\">\n @for (group of groups(); track group) {\n <dt class=\"px-2\">{{ group.name }}</dt>\n <dd>\n <div class=\"emoji-container\">\n @for (emoji of group.emoji; track emoji) {\n <button class=\"button\"\n (click)=\"select(emoji)\"\n (mouseover)=\"hoverEmoji(emoji)\">\n {{ emoji.emoji }}\n </button>\n }\n </div>\n </dd>\n }\n </dl>\n <div class=\"hovered-emoji\">\n @if (_hoveredEmoji()) {\n <span class=\"emoji-preview\">{{ _hoveredEmoji().emoji }}</span>\n <span class=\"emoji-label\">{{ _hoveredEmoji().label }}</span>\n } @else {\n <span class=\"select-message\">{{ selectEmojiLabel() }}</span>\n }\n </div>\n} @else {\n <div class=\"list\">\n <emr-skeleton>\n <emr-skeleton-line class=\"skeleton-heading\"/>\n <div class=\"skeleton-list\">\n @for (block of _skeletonEmoji(); track block) {\n <emr-skeleton-block class=\"size-8 rounded-sm\"/>\n }\n </div>\n </emr-skeleton>\n </div>\n <div class=\"hovered-emoji\">\n <emr-skeleton>\n <emr-skeleton-line class=\"h-4\"/>\n </emr-skeleton>\n </div>\n}\n", styles: [":host{--emr-emoji-picker-border: none;--emr-emoji-picker-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--emr-emoji-picker-border-radius: .75rem;--emr-emoji-picker-bg: white;--emr-emoji-picker-margin: calc(var(--spacing, .25rem) * 2.5);display:block;width:312px;background:var(--color-surface-container);border-radius:var(--emr-emoji-picker-border-radius);border:var(--emr-emoji-picker-border);box-shadow:var(--emr-emoji-picker-shadow);animation:.15s emr-emoji-picker-animation;margin:var(--emr-emoji-picker-margin) 0}:host emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-high);--emr-skeleton-to-bg: var(--color-surface-container-highest)}:host .list{padding:0 calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2);height:300px;overflow-x:hidden;overflow-y:auto}:host .hovered-emoji{height:calc(var(--spacing, .25rem) * 11);display:flex;padding:0 calc(var(--spacing, .25rem) * 4);align-items:center;gap:calc(var(--spacing, .25rem) * 3);border-top:1px solid var(--color-border)}:host .emoji-preview{font-size:1.25rem}:host .emoji-label,:host .select-message{font-size:.75rem}:host .select-message{color:var(--color-neutral-500)}:host dt{position:sticky;top:0;left:0;right:0;height:calc(var(--spacing, .25rem) * 10);display:flex;align-items:center;font-weight:600;font-size:.875rem;background:var(--color-surface-container)}:host .skeleton-list,:host .emoji-container{display:flex;flex-wrap:wrap}:host .skeleton-list{align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}:host .button{display:flex;width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);flex:none;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}:host .button:hover{background:var(--color-surface-container-highest)}:host .skeleton-heading{margin-top:calc(var(--spacing, .25rem) * 3)}:host .skeleton-button{flex:none}@keyframes emr-emoji-picker-animation{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}:host-context(html.dark) emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-low);--emr-skeleton-to-bg: var(--color-surface-container-lowest)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: SkeletonComponent, selector: "emr-skeleton", inputs: ["direction"], exportAs: ["emrSkeleton"] }, { kind: "component", type: SkeletonLineComponent, selector: "emr-skeleton-line", exportAs: ["emrSkeletonLine"] }, { kind: "component", type: SkeletonBlockComponent, selector: "emr-skeleton-block", exportAs: ["emrSkeletonBlock"] }] });
143
143
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: EmojiPickerComponent, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmojiPickerComponent, decorators: [{
145
145
  type: Component,
146
146
  args: [{ selector: 'emr-emoji-picker', exportAs: 'emrEmojiPicker', imports: [
147
147
  SkeletonComponent,
@@ -149,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImpo
149
149
  SkeletonBlockComponent
150
150
  ], host: {
151
151
  'class': 'emr-emoji-picker',
152
- }, template: "@if (loaded()) {\r\n <dl class=\"list\" (mouseleave)=\"onMouseLeave()\">\r\n @for (group of groups(); track group) {\r\n <dt class=\"px-2\">{{ group.name }}</dt>\r\n <dd>\r\n <div class=\"emoji-container\">\r\n @for (emoji of group.emoji; track emoji) {\r\n <button class=\"button\"\r\n (click)=\"select(emoji)\"\r\n (mouseover)=\"hoverEmoji(emoji)\">\r\n {{ emoji.emoji }}\r\n </button>\r\n }\r\n </div>\r\n </dd>\r\n }\r\n </dl>\r\n <div class=\"hovered-emoji\">\r\n @if (_hoveredEmoji()) {\r\n <span class=\"emoji-preview\">{{ _hoveredEmoji().emoji }}</span>\r\n <span class=\"emoji-label\">{{ _hoveredEmoji().label }}</span>\r\n } @else {\r\n <span class=\"select-message\">{{ selectEmojiLabel() }}</span>\r\n }\r\n </div>\r\n} @else {\r\n <div class=\"list\">\r\n <emr-skeleton>\r\n <emr-skeleton-line class=\"skeleton-heading\"/>\r\n <div class=\"skeleton-list\">\r\n @for (block of _skeletonEmoji(); track block) {\r\n <emr-skeleton-block class=\"size-8 rounded-sm\"/>\r\n }\r\n </div>\r\n </emr-skeleton>\r\n </div>\r\n <div class=\"hovered-emoji\">\r\n <emr-skeleton>\r\n <emr-skeleton-line class=\"h-4\"/>\r\n </emr-skeleton>\r\n </div>\r\n}\r\n", styles: [":host{--emr-emoji-picker-border: none;--emr-emoji-picker-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--emr-emoji-picker-border-radius: .75rem;--emr-emoji-picker-bg: white;--emr-emoji-picker-margin: calc(var(--spacing, .25rem) * 2.5);display:block;width:312px;background:var(--color-surface-container);border-radius:var(--emr-emoji-picker-border-radius);border:var(--emr-emoji-picker-border);box-shadow:var(--emr-emoji-picker-shadow);animation:.15s emr-emoji-picker-animation;margin:var(--emr-emoji-picker-margin) 0}:host emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-high);--emr-skeleton-to-bg: var(--color-surface-container-highest)}:host .list{padding:calc(var(--spacing, .25rem) * 0) calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2);height:300px;overflow-x:hidden;overflow-y:auto}:host .hovered-emoji{height:calc(var(--spacing, .25rem) * 11);display:flex;padding:0 calc(var(--spacing, .25rem) * 4);align-items:center;gap:calc(var(--spacing, .25rem) * 3);border-top:1px solid var(--color-border)}:host .emoji-preview{font-size:1.25rem}:host .emoji-label,:host .select-message{font-size:.75rem}:host .select-message{color:var(--color-neutral-500)}:host dt{position:sticky;top:0;left:0;right:0;height:calc(var(--spacing, .25rem) * 10);display:flex;align-items:center;font-weight:600;font-size:.875rem;background:var(--color-surface-container)}:host .skeleton-list,:host .emoji-container{display:flex;flex-wrap:wrap}:host .skeleton-list{align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}:host .button{display:flex;width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);flex:none;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}:host .button:hover{background:var(--color-surface-container-highest)}:host .skeleton-heading{margin-top:calc(var(--spacing, .25rem) * 3)}:host .skeleton-button{flex:none}@keyframes emr-emoji-picker-animation{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}:host-context(html.dark) emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-low);--emr-skeleton-to-bg: var(--color-surface-container-lowest)}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
152
+ }, template: "@if (loaded()) {\n <dl class=\"list\" (mouseleave)=\"onMouseLeave()\">\n @for (group of groups(); track group) {\n <dt class=\"px-2\">{{ group.name }}</dt>\n <dd>\n <div class=\"emoji-container\">\n @for (emoji of group.emoji; track emoji) {\n <button class=\"button\"\n (click)=\"select(emoji)\"\n (mouseover)=\"hoverEmoji(emoji)\">\n {{ emoji.emoji }}\n </button>\n }\n </div>\n </dd>\n }\n </dl>\n <div class=\"hovered-emoji\">\n @if (_hoveredEmoji()) {\n <span class=\"emoji-preview\">{{ _hoveredEmoji().emoji }}</span>\n <span class=\"emoji-label\">{{ _hoveredEmoji().label }}</span>\n } @else {\n <span class=\"select-message\">{{ selectEmojiLabel() }}</span>\n }\n </div>\n} @else {\n <div class=\"list\">\n <emr-skeleton>\n <emr-skeleton-line class=\"skeleton-heading\"/>\n <div class=\"skeleton-list\">\n @for (block of _skeletonEmoji(); track block) {\n <emr-skeleton-block class=\"size-8 rounded-sm\"/>\n }\n </div>\n </emr-skeleton>\n </div>\n <div class=\"hovered-emoji\">\n <emr-skeleton>\n <emr-skeleton-line class=\"h-4\"/>\n </emr-skeleton>\n </div>\n}\n", styles: [":host{--emr-emoji-picker-border: none;--emr-emoji-picker-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--emr-emoji-picker-border-radius: .75rem;--emr-emoji-picker-bg: white;--emr-emoji-picker-margin: calc(var(--spacing, .25rem) * 2.5);display:block;width:312px;background:var(--color-surface-container);border-radius:var(--emr-emoji-picker-border-radius);border:var(--emr-emoji-picker-border);box-shadow:var(--emr-emoji-picker-shadow);animation:.15s emr-emoji-picker-animation;margin:var(--emr-emoji-picker-margin) 0}:host emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-high);--emr-skeleton-to-bg: var(--color-surface-container-highest)}:host .list{padding:0 calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 2);height:300px;overflow-x:hidden;overflow-y:auto}:host .hovered-emoji{height:calc(var(--spacing, .25rem) * 11);display:flex;padding:0 calc(var(--spacing, .25rem) * 4);align-items:center;gap:calc(var(--spacing, .25rem) * 3);border-top:1px solid var(--color-border)}:host .emoji-preview{font-size:1.25rem}:host .emoji-label,:host .select-message{font-size:.75rem}:host .select-message{color:var(--color-neutral-500)}:host dt{position:sticky;top:0;left:0;right:0;height:calc(var(--spacing, .25rem) * 10);display:flex;align-items:center;font-weight:600;font-size:.875rem;background:var(--color-surface-container)}:host .skeleton-list,:host .emoji-container{display:flex;flex-wrap:wrap}:host .skeleton-list{align-items:center;justify-content:center;gap:calc(var(--spacing, .25rem) * 2)}:host .button{display:flex;width:calc(var(--spacing, .25rem) * 9);height:calc(var(--spacing, .25rem) * 9);flex:none;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-lg, .5rem);font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)))}:host .button:hover{background:var(--color-surface-container-highest)}:host .skeleton-heading{margin-top:calc(var(--spacing, .25rem) * 3)}:host .skeleton-button{flex:none}@keyframes emr-emoji-picker-animation{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}:host-context(html.dark) emr-skeleton{--emr-skeleton-from-bg: var(--color-surface-container-low);--emr-skeleton-to-bg: var(--color-surface-container-lowest)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
153
153
  }], propDecorators: { language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], selectEmojiLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectEmojiLabel", required: false }] }], emojiSelected: [{ type: i0.Output, args: ["emojiSelected"] }] } });
154
154
 
155
155
  class EmojiPickerTriggerForDirective {
@@ -227,10 +227,10 @@ class EmojiPickerTriggerForDirective {
227
227
  _getOverlayPositions() {
228
228
  return (new PositionManager()).build(this.position());
229
229
  }
230
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: EmojiPickerTriggerForDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
231
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.10", type: EmojiPickerTriggerForDirective, isStandalone: true, selector: "[emrEmojiPickerTriggerFor]", inputs: { for: { classPropertyName: "for", publicName: "emrEmojiPickerTriggerFor", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "click": "_onClick($event)" } }, exportAs: ["emrEmojiPickerTriggerFor"], ngImport: i0 });
230
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmojiPickerTriggerForDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
231
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.25", type: EmojiPickerTriggerForDirective, isStandalone: true, selector: "[emrEmojiPickerTriggerFor]", inputs: { for: { classPropertyName: "for", publicName: "emrEmojiPickerTriggerFor", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "click": "_onClick($event)" } }, exportAs: ["emrEmojiPickerTriggerFor"], ngImport: i0 });
232
232
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: EmojiPickerTriggerForDirective, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmojiPickerTriggerForDirective, decorators: [{
234
234
  type: Directive,
235
235
  args: [{
236
236
  selector: '[emrEmojiPickerTriggerFor]',
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-emoji-picker.mjs","sources":["../../../projects/components/emoji-picker/src/types.ts","../../../projects/components/emoji-picker/src/emoji-picker/emoji-picker.component.ts","../../../projects/components/emoji-picker/src/emoji-picker/emoji-picker.component.html","../../../projects/components/emoji-picker/src/emoji-picker-trigger-for.directive.ts","../../../projects/components/emoji-picker/elementar-rt-components-emoji-picker.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport const EMOJI_PICKER_TRIGGER_FOR = new InjectionToken('EMOJI_PICKER_TRIGGER_FOR');\r\n","import { Component, inject, input, LOCALE_ID, OnInit, output, signal } from '@angular/core';\r\nimport { EMOJI_PICKER_TRIGGER_FOR } from '../types';\r\nimport { SkeletonBlockComponent, SkeletonComponent, SkeletonLineComponent } from '@elementar-rt/components/skeleton';\r\n\r\nconst loadedEmoji = new Map<string, { groups: any[] }>();\r\nconst loadGroups = (language: string) => {\r\n const imports: any = {\r\n en: import('emojibase-data/en/messages.json'),\r\n bn: import('emojibase-data/bn/messages.json'),\r\n da: import('emojibase-data/da/messages.json'),\r\n de: import('emojibase-data/de/messages.json'),\r\n es: import('emojibase-data/es/messages.json'),\r\n et: import('emojibase-data/et/messages.json'),\r\n fi: import('emojibase-data/fi/messages.json'),\r\n fr: import('emojibase-data/fr/messages.json'),\r\n hi: import('emojibase-data/hi/messages.json'),\r\n hu: import('emojibase-data/hu/messages.json'),\r\n it: import('emojibase-data/it/messages.json'),\r\n ja: import('emojibase-data/ja/messages.json'),\r\n ko: import('emojibase-data/ko/messages.json'),\r\n lt: import('emojibase-data/lt/messages.json'),\r\n ms: import('emojibase-data/ms/messages.json'),\r\n nb: import('emojibase-data/nb/messages.json'),\r\n nl: import('emojibase-data/nl/messages.json'),\r\n pl: import('emojibase-data/pl/messages.json'),\r\n pt: import('emojibase-data/pt/messages.json'),\r\n ru: import('emojibase-data/ru/messages.json'),\r\n sv: import('emojibase-data/sv/messages.json'),\r\n th: import('emojibase-data/th/messages.json'),\r\n uk: import('emojibase-data/uk/messages.json'),\r\n vi: import('emojibase-data/vi/messages.json'),\r\n zh: import('emojibase-data/zh/messages.json'),\r\n };\r\n\r\n if (imports[language]) {\r\n return imports[language];\r\n }\r\n\r\n return imports['en'];\r\n}\r\n\r\nconst loadData = (language: string) => {\r\n const imports: any = {\r\n en: import('emojibase-data/en/data.json').then(m => m.default),\r\n bn: import('emojibase-data/bn/data.json').then(m => m.default),\r\n da: import('emojibase-data/da/data.json').then(m => m.default),\r\n de: import('emojibase-data/de/data.json').then(m => m.default),\r\n es: import('emojibase-data/es/data.json').then(m => m.default),\r\n et: import('emojibase-data/et/data.json').then(m => m.default),\r\n fi: import('emojibase-data/fi/data.json').then(m => m.default),\r\n fr: import('emojibase-data/fr/data.json').then(m => m.default),\r\n hi: import('emojibase-data/hi/data.json').then(m => m.default),\r\n hu: import('emojibase-data/hu/data.json').then(m => m.default),\r\n it: import('emojibase-data/it/data.json').then(m => m.default),\r\n ja: import('emojibase-data/ja/data.json').then(m => m.default),\r\n ko: import('emojibase-data/ko/data.json').then(m => m.default),\r\n lt: import('emojibase-data/lt/data.json').then(m => m.default),\r\n ms: import('emojibase-data/ms/data.json').then(m => m.default),\r\n nb: import('emojibase-data/nb/data.json').then(m => m.default),\r\n nl: import('emojibase-data/nl/data.json').then(m => m.default),\r\n pl: import('emojibase-data/pl/data.json').then(m => m.default),\r\n pt: import('emojibase-data/pt/data.json').then(m => m.default),\r\n ru: import('emojibase-data/ru/data.json').then(m => m.default),\r\n sv: import('emojibase-data/sv/data.json').then(m => m.default),\r\n th: import('emojibase-data/th/data.json').then(m => m.default),\r\n uk: import('emojibase-data/uk/data.json').then(m => m.default),\r\n vi: import('emojibase-data/vi/data.json').then(m => m.default),\r\n zh: import('emojibase-data/zh/data.json').then(m => m.default),\r\n };\r\n\r\n if (imports[language]) {\r\n return imports[language];\r\n }\r\n\r\n return imports['en'];\r\n}\r\n\r\n@Component({\r\n selector: 'emr-emoji-picker',\r\n exportAs: 'emrEmojiPicker',\r\n templateUrl: './emoji-picker.component.html',\r\n styleUrl: './emoji-picker.component.scss',\r\n imports: [\r\n SkeletonComponent,\r\n SkeletonLineComponent,\r\n SkeletonBlockComponent\r\n ],\r\n host: {\r\n 'class': 'emr-emoji-picker',\r\n }\r\n})\r\nexport class EmojiPickerComponent implements OnInit {\r\n private _trigger = inject<any>(EMOJI_PICKER_TRIGGER_FOR, { optional: true });\r\n private _localeId = inject(LOCALE_ID);\r\n\r\n language = input('');\r\n selectEmojiLabel = input('Select an emoji...');\r\n\r\n readonly emojiSelected = output<string>();\r\n\r\n protected loaded = signal(false);\r\n protected groups = signal<any[]>([]);\r\n protected _hoveredEmoji = signal<any>(null);\r\n protected _skeletonEmoji = signal(Array(42).fill(1).map((x, y) => x + y));\r\n\r\n async ngOnInit() {\r\n let language: string = this.language();\r\n\r\n if (!language) {\r\n language = this._localeId.split('-')[0];\r\n }\r\n\r\n if (loadedEmoji.has(language)) {\r\n this.groups.set(loadedEmoji.get(language)?.groups as any);\r\n } else {\r\n const groupsSubgroups = await loadGroups(language);\r\n const data = await loadData(language);\r\n const groups: any[] = [];\r\n const groupKeyMap = new Map<string, number>();\r\n groupsSubgroups.groups.forEach((group: any, index: number ) => {\r\n if (group.key === 'component') {\r\n return;\r\n }\r\n\r\n groupKeyMap.set(group.key, index);\r\n });\r\n groupsSubgroups.groups.forEach((group: any) => {\r\n if (group.key === 'component') {\r\n return;\r\n }\r\n\r\n const emoji: any[] = data.filter((emoji: any) => {\r\n if (emoji.emoji === '🫩') {\r\n return false;\r\n }\r\n\r\n return emoji.group === groupKeyMap.get(group.key);\r\n });\r\n groups.push({\r\n name: group.message,\r\n emoji\r\n });\r\n });\r\n this.groups.set(groups);\r\n loadedEmoji.set(this.language(), { groups });\r\n }\r\n\r\n this.loaded.set(true);\r\n }\r\n\r\n select(emoji: any) {\r\n this.emojiSelected.emit(emoji.emoji);\r\n\r\n if (this._trigger) {\r\n this._trigger.api.close();\r\n }\r\n }\r\n\r\n hoverEmoji(emoji: any) {\r\n this._hoveredEmoji.set(emoji);\r\n }\r\n\r\n onMouseLeave() {\r\n this._hoveredEmoji.set(null);\r\n }\r\n}\r\n","@if (loaded()) {\r\n <dl class=\"list\" (mouseleave)=\"onMouseLeave()\">\r\n @for (group of groups(); track group) {\r\n <dt class=\"px-2\">{{ group.name }}</dt>\r\n <dd>\r\n <div class=\"emoji-container\">\r\n @for (emoji of group.emoji; track emoji) {\r\n <button class=\"button\"\r\n (click)=\"select(emoji)\"\r\n (mouseover)=\"hoverEmoji(emoji)\">\r\n {{ emoji.emoji }}\r\n </button>\r\n }\r\n </div>\r\n </dd>\r\n }\r\n </dl>\r\n <div class=\"hovered-emoji\">\r\n @if (_hoveredEmoji()) {\r\n <span class=\"emoji-preview\">{{ _hoveredEmoji().emoji }}</span>\r\n <span class=\"emoji-label\">{{ _hoveredEmoji().label }}</span>\r\n } @else {\r\n <span class=\"select-message\">{{ selectEmojiLabel() }}</span>\r\n }\r\n </div>\r\n} @else {\r\n <div class=\"list\">\r\n <emr-skeleton>\r\n <emr-skeleton-line class=\"skeleton-heading\"/>\r\n <div class=\"skeleton-list\">\r\n @for (block of _skeletonEmoji(); track block) {\r\n <emr-skeleton-block class=\"size-8 rounded-sm\"/>\r\n }\r\n </div>\r\n </emr-skeleton>\r\n </div>\r\n <div class=\"hovered-emoji\">\r\n <emr-skeleton>\r\n <emr-skeleton-line class=\"h-4\"/>\r\n </emr-skeleton>\r\n </div>\r\n}\r\n","import {\r\n DestroyRef,\r\n Directive,\r\n ElementRef, forwardRef,\r\n inject,\r\n Injector,\r\n input,\r\n output,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { PopoverPosition } from '@elementar-rt/components/popover';\r\nimport {\r\n ConnectedPosition,\r\n FlexibleConnectedPositionStrategy,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef\r\n} from '@angular/cdk/overlay';\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { _getEventTarget } from '@angular/cdk/platform';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { PositionManager } from '@elementar-rt/components/overlay';\r\nimport { EMOJI_PICKER_TRIGGER_FOR } from './types';\r\n\r\n@Directive({\r\n selector: '[emrEmojiPickerTriggerFor]',\r\n exportAs: 'emrEmojiPickerTriggerFor',\r\n host: {\r\n '(click)': '_onClick($event)'\r\n }\r\n})\r\nexport class EmojiPickerTriggerForDirective {\r\n private _overlay = inject(Overlay);\r\n private _elementRef: ElementRef<HTMLElement> = inject(ElementRef);\r\n private _directionality = inject(Directionality, { optional: true });\r\n private _viewContainerRef = inject(ViewContainerRef);\r\n private _injector = inject(Injector);\r\n private _overlayRef: OverlayRef | null = null;\r\n private _destroyRef = inject(DestroyRef);\r\n\r\n for = input.required<TemplateRef<any>>({\r\n alias: 'emrEmojiPickerTriggerFor'\r\n });\r\n\r\n position = input<PopoverPosition>('below-start');\r\n\r\n readonly opened = output<void>();\r\n readonly closed = output<void>();\r\n\r\n get api() {\r\n return {\r\n close: () => this._close()\r\n }\r\n }\r\n\r\n protected _onClick(event: Event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n this.opened.emit();\r\n this._overlayRef = this._overlay.create(this._getOverlayConfig());\r\n this._overlayRef.attach(this._getPopoverContentPortal());\r\n this._subscribeToOutsideClicks();\r\n }\r\n\r\n private _close() {\r\n this.closed.emit();\r\n this._overlayRef!?.detach();\r\n }\r\n\r\n private _subscribeToOutsideClicks() {\r\n if (this._overlayRef) {\r\n this._overlayRef\r\n .outsidePointerEvents()\r\n .pipe(takeUntilDestroyed(this._destroyRef))\r\n .subscribe(event => {\r\n const target = _getEventTarget(event) as Element;\r\n const element = this._elementRef.nativeElement;\r\n\r\n if (target !== element && !element.contains(target)) {\r\n this._close();\r\n }\r\n })\r\n ;\r\n }\r\n }\r\n\r\n private _getPopoverContentPortal() {\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: EMOJI_PICKER_TRIGGER_FOR,\r\n useValue: this,\r\n }\r\n ],\r\n parent: this._injector\r\n });\r\n return new TemplatePortal(\r\n this.for(),\r\n this._viewContainerRef,\r\n null,\r\n injector\r\n );\r\n }\r\n\r\n private _getOverlayConfig() {\r\n return new OverlayConfig({\r\n positionStrategy: this._getOverlayPositionStrategy(),\r\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\r\n direction: this._directionality || undefined\r\n });\r\n }\r\n\r\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\r\n return this._overlay\r\n .position()\r\n .flexibleConnectedTo(this._elementRef)\r\n .setOrigin(this._elementRef)\r\n .withGrowAfterOpen()\r\n .withPositions(this._getOverlayPositions())\r\n ;\r\n }\r\n\r\n private _getOverlayPositions(): ConnectedPosition[] {\r\n return (new PositionManager()).build(this.position());\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAEO,MAAM,wBAAwB,GAAG,IAAI,cAAc,CAAC,0BAA0B,CAAC;;ACEtF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B;AACxD,MAAM,UAAU,GAAG,CAAC,QAAgB,KAAI;AACtC,IAAA,MAAM,OAAO,GAAQ;AACnB,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;AAC7C,QAAA,EAAE,EAAE,OAAO,iCAAiC,CAAC;KAC9C;AAED,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACrB,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B;AAEA,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,QAAgB,KAAI;AACpC,IAAA,MAAM,OAAO,GAAQ;AACnB,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC9D,QAAA,EAAE,EAAE,OAAO,6BAA6B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;KAC/D;AAED,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACrB,QAAA,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B;AAEA,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;MAgBY,oBAAoB,CAAA;IACvB,QAAQ,GAAG,MAAM,CAAM,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpE,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAErC,IAAA,QAAQ,GAAG,KAAK,CAAC,EAAE,oDAAC;AACpB,IAAA,gBAAgB,GAAG,KAAK,CAAC,oBAAoB,4DAAC;IAErC,aAAa,GAAG,MAAM,EAAU;AAE/B,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,kDAAC;AACtB,IAAA,MAAM,GAAG,MAAM,CAAQ,EAAE,kDAAC;AAC1B,IAAA,aAAa,GAAG,MAAM,CAAM,IAAI,yDAAC;IACjC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEzE,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,QAAQ,GAAW,IAAI,CAAC,QAAQ,EAAE;QAEtC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzC;AAEA,QAAA,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAa,CAAC;QAC3D;aAAO;AACL,YAAA,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;AAClD,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC;YACrC,MAAM,MAAM,GAAU,EAAE;AACxB,YAAA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB;YAC7C,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,KAAa,KAAK;AAC5D,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;oBAC7B;gBACF;gBAEA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;AACnC,YAAA,CAAC,CAAC;YACF,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;AAC5C,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;oBAC7B;gBACF;gBAEA,MAAM,KAAK,GAAU,IAAI,CAAC,MAAM,CAAC,CAAC,KAAU,KAAI;AAC9C,oBAAA,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE;AACxB,wBAAA,OAAO,KAAK;oBACd;AAEA,oBAAA,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AACnD,gBAAA,CAAC,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,KAAK,CAAC,OAAO;oBACnB;AACD,iBAAA,CAAC;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;AACvB,YAAA,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAC9C;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB;AAEA,IAAA,MAAM,CAAC,KAAU,EAAA;QACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAEpC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE;QAC3B;IACF;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IAC/B;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B;wGAzEW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,2eC3FjC,01CA0CA,EAAA,MAAA,EAAA,CAAA,04EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDyCI,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,qBAAqB,6FACrB,sBAAsB,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAMb,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAClB,gBAAgB,EAAA,OAAA,EAGjB;wBACP,iBAAiB;wBACjB,qBAAqB;wBACrB;qBACD,EAAA,IAAA,EACK;AACJ,wBAAA,OAAO,EAAE,kBAAkB;AAC5B,qBAAA,EAAA,QAAA,EAAA,01CAAA,EAAA,MAAA,EAAA,CAAA,04EAAA,CAAA,EAAA;;;MExDU,8BAA8B,CAAA;AACjC,IAAA,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;AAC1B,IAAA,WAAW,GAA4B,MAAM,CAAC,UAAU,CAAC;IACzD,eAAe,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5D,IAAA,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC5C,IAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC5B,WAAW,GAAsB,IAAI;AACrC,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAExC,GAAG,GAAG,KAAK,CAAC,QAAQ,sCAClB,KAAK,EAAE,0BAA0B,EAAA,CAAA,GAAA,CADI;AACrC,YAAA,KAAK,EAAE;AACR,SAAA,CAAA,CAAA,CAAC;AAEF,IAAA,QAAQ,GAAG,KAAK,CAAkB,aAAa,oDAAC;IAEvC,MAAM,GAAG,MAAM,EAAQ;IACvB,MAAM,GAAG,MAAM,EAAQ;AAEhC,IAAA,IAAI,GAAG,GAAA;QACL,OAAO;AACL,YAAA,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM;SACzB;IACH;AAEU,IAAA,QAAQ,CAAC,KAAY,EAAA;QAC7B,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxD,IAAI,CAAC,yBAAyB,EAAE;IAClC;IAEQ,MAAM,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,QAAA,IAAI,CAAC,WAAY,EAAE,MAAM,EAAE;IAC7B;IAEQ,yBAAyB,GAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC;AACF,iBAAA,oBAAoB;AACpB,iBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;iBACzC,SAAS,CAAC,KAAK,IAAG;AACjB,gBAAA,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAY;AAChD,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;AAE9C,gBAAA,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACnD,IAAI,CAAC,MAAM,EAAE;gBACf;AACF,YAAA,CAAC,CAAC;QAEN;IACF;IAEQ,wBAAwB,GAAA;AAC9B,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,wBAAwB;AACjC,oBAAA,QAAQ,EAAE,IAAI;AACf;AACF,aAAA;YACD,MAAM,EAAE,IAAI,CAAC;AACd,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,cAAc,CACvB,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,iBAAiB,EACtB,IAAI,EACJ,QAAQ,CACT;IACH;IAEQ,iBAAiB,GAAA;QACvB,OAAO,IAAI,aAAa,CAAC;AACvB,YAAA,gBAAgB,EAAE,IAAI,CAAC,2BAA2B,EAAE;YACpD,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAC3D,YAAA,SAAS,EAAE,IAAI,CAAC,eAAe,IAAI;AACpC,SAAA,CAAC;IACJ;IAEQ,2BAA2B,GAAA;QACjC,OAAO,IAAI,CAAC;AACT,aAAA,QAAQ;AACR,aAAA,mBAAmB,CAAC,IAAI,CAAC,WAAW;AACpC,aAAA,SAAS,CAAC,IAAI,CAAC,WAAW;AAC1B,aAAA,iBAAiB;AACjB,aAAA,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAE/C;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,OAAO,CAAC,IAAI,eAAe,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvD;wGA9FW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE;AACZ;AACF,iBAAA;;;AChCD;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-emoji-picker.mjs","sources":["../../../projects/components/emoji-picker/src/types.ts","../../../projects/components/emoji-picker/src/emoji-picker/emoji-picker.component.ts","../../../projects/components/emoji-picker/src/emoji-picker/emoji-picker.component.html","../../../projects/components/emoji-picker/src/emoji-picker-trigger-for.directive.ts","../../../projects/components/emoji-picker/elementar-rt-components-emoji-picker.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const EMOJI_PICKER_TRIGGER_FOR = new InjectionToken('EMOJI_PICKER_TRIGGER_FOR');\n","import { Component, inject, input, LOCALE_ID, OnInit, output, signal } from '@angular/core';\nimport { EMOJI_PICKER_TRIGGER_FOR } from '../types';\nimport { SkeletonBlockComponent, SkeletonComponent, SkeletonLineComponent } from '@elementar-rt/components/skeleton';\n\nconst loadedEmoji = new Map<string, { groups: any[] }>();\nconst loadGroups = (language: string) => {\n const imports: any = {\n en: import('emojibase-data/en/messages.json'),\n bn: import('emojibase-data/bn/messages.json'),\n da: import('emojibase-data/da/messages.json'),\n de: import('emojibase-data/de/messages.json'),\n es: import('emojibase-data/es/messages.json'),\n et: import('emojibase-data/et/messages.json'),\n fi: import('emojibase-data/fi/messages.json'),\n fr: import('emojibase-data/fr/messages.json'),\n hi: import('emojibase-data/hi/messages.json'),\n hu: import('emojibase-data/hu/messages.json'),\n it: import('emojibase-data/it/messages.json'),\n ja: import('emojibase-data/ja/messages.json'),\n ko: import('emojibase-data/ko/messages.json'),\n lt: import('emojibase-data/lt/messages.json'),\n ms: import('emojibase-data/ms/messages.json'),\n nb: import('emojibase-data/nb/messages.json'),\n nl: import('emojibase-data/nl/messages.json'),\n pl: import('emojibase-data/pl/messages.json'),\n pt: import('emojibase-data/pt/messages.json'),\n ru: import('emojibase-data/ru/messages.json'),\n sv: import('emojibase-data/sv/messages.json'),\n th: import('emojibase-data/th/messages.json'),\n uk: import('emojibase-data/uk/messages.json'),\n vi: import('emojibase-data/vi/messages.json'),\n zh: import('emojibase-data/zh/messages.json'),\n };\n\n if (imports[language]) {\n return imports[language];\n }\n\n return imports['en'];\n}\n\nconst loadData = (language: string) => {\n const imports: any = {\n en: import('emojibase-data/en/data.json').then(m => m.default),\n bn: import('emojibase-data/bn/data.json').then(m => m.default),\n da: import('emojibase-data/da/data.json').then(m => m.default),\n de: import('emojibase-data/de/data.json').then(m => m.default),\n es: import('emojibase-data/es/data.json').then(m => m.default),\n et: import('emojibase-data/et/data.json').then(m => m.default),\n fi: import('emojibase-data/fi/data.json').then(m => m.default),\n fr: import('emojibase-data/fr/data.json').then(m => m.default),\n hi: import('emojibase-data/hi/data.json').then(m => m.default),\n hu: import('emojibase-data/hu/data.json').then(m => m.default),\n it: import('emojibase-data/it/data.json').then(m => m.default),\n ja: import('emojibase-data/ja/data.json').then(m => m.default),\n ko: import('emojibase-data/ko/data.json').then(m => m.default),\n lt: import('emojibase-data/lt/data.json').then(m => m.default),\n ms: import('emojibase-data/ms/data.json').then(m => m.default),\n nb: import('emojibase-data/nb/data.json').then(m => m.default),\n nl: import('emojibase-data/nl/data.json').then(m => m.default),\n pl: import('emojibase-data/pl/data.json').then(m => m.default),\n pt: import('emojibase-data/pt/data.json').then(m => m.default),\n ru: import('emojibase-data/ru/data.json').then(m => m.default),\n sv: import('emojibase-data/sv/data.json').then(m => m.default),\n th: import('emojibase-data/th/data.json').then(m => m.default),\n uk: import('emojibase-data/uk/data.json').then(m => m.default),\n vi: import('emojibase-data/vi/data.json').then(m => m.default),\n zh: import('emojibase-data/zh/data.json').then(m => m.default),\n };\n\n if (imports[language]) {\n return imports[language];\n }\n\n return imports['en'];\n}\n\n@Component({\n selector: 'emr-emoji-picker',\n exportAs: 'emrEmojiPicker',\n templateUrl: './emoji-picker.component.html',\n styleUrl: './emoji-picker.component.scss',\n imports: [\n SkeletonComponent,\n SkeletonLineComponent,\n SkeletonBlockComponent\n ],\n host: {\n 'class': 'emr-emoji-picker',\n }\n})\nexport class EmojiPickerComponent implements OnInit {\n private _trigger = inject<any>(EMOJI_PICKER_TRIGGER_FOR, { optional: true });\n private _localeId = inject(LOCALE_ID);\n\n language = input('');\n selectEmojiLabel = input('Select an emoji...');\n\n readonly emojiSelected = output<string>();\n\n protected loaded = signal(false);\n protected groups = signal<any[]>([]);\n protected _hoveredEmoji = signal<any>(null);\n protected _skeletonEmoji = signal(Array(42).fill(1).map((x, y) => x + y));\n\n async ngOnInit() {\n let language: string = this.language();\n\n if (!language) {\n language = this._localeId.split('-')[0];\n }\n\n if (loadedEmoji.has(language)) {\n this.groups.set(loadedEmoji.get(language)?.groups as any);\n } else {\n const groupsSubgroups = await loadGroups(language);\n const data = await loadData(language);\n const groups: any[] = [];\n const groupKeyMap = new Map<string, number>();\n groupsSubgroups.groups.forEach((group: any, index: number ) => {\n if (group.key === 'component') {\n return;\n }\n\n groupKeyMap.set(group.key, index);\n });\n groupsSubgroups.groups.forEach((group: any) => {\n if (group.key === 'component') {\n return;\n }\n\n const emoji: any[] = data.filter((emoji: any) => {\n if (emoji.emoji === '🫩') {\n return false;\n }\n\n return emoji.group === groupKeyMap.get(group.key);\n });\n groups.push({\n name: group.message,\n emoji\n });\n });\n this.groups.set(groups);\n loadedEmoji.set(this.language(), { groups });\n }\n\n this.loaded.set(true);\n }\n\n select(emoji: any) {\n this.emojiSelected.emit(emoji.emoji);\n\n if (this._trigger) {\n this._trigger.api.close();\n }\n }\n\n hoverEmoji(emoji: any) {\n this._hoveredEmoji.set(emoji);\n }\n\n onMouseLeave() {\n this._hoveredEmoji.set(null);\n }\n}\n","@if (loaded()) {\n <dl class=\"list\" (mouseleave)=\"onMouseLeave()\">\n @for (group of groups(); track group) {\n <dt class=\"px-2\">{{ group.name }}</dt>\n <dd>\n <div class=\"emoji-container\">\n @for (emoji of group.emoji; track emoji) {\n <button class=\"button\"\n (click)=\"select(emoji)\"\n (mouseover)=\"hoverEmoji(emoji)\">\n {{ emoji.emoji }}\n </button>\n }\n </div>\n </dd>\n }\n </dl>\n <div class=\"hovered-emoji\">\n @if (_hoveredEmoji()) {\n <span class=\"emoji-preview\">{{ _hoveredEmoji().emoji }}</span>\n <span class=\"emoji-label\">{{ _hoveredEmoji().label }}</span>\n } @else {\n <span class=\"select-message\">{{ selectEmojiLabel() }}</span>\n }\n </div>\n} @else {\n <div class=\"list\">\n <emr-skeleton>\n <emr-skeleton-line class=\"skeleton-heading\"/>\n <div class=\"skeleton-list\">\n @for (block of _skeletonEmoji(); track block) {\n <emr-skeleton-block class=\"size-8 rounded-sm\"/>\n }\n </div>\n </emr-skeleton>\n </div>\n <div class=\"hovered-emoji\">\n <emr-skeleton>\n <emr-skeleton-line class=\"h-4\"/>\n </emr-skeleton>\n </div>\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef, forwardRef,\n inject,\n Injector,\n input,\n output,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { PopoverPosition } from '@elementar-rt/components/popover';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { _getEventTarget } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { PositionManager } from '@elementar-rt/components/overlay';\nimport { EMOJI_PICKER_TRIGGER_FOR } from './types';\n\n@Directive({\n selector: '[emrEmojiPickerTriggerFor]',\n exportAs: 'emrEmojiPickerTriggerFor',\n host: {\n '(click)': '_onClick($event)'\n }\n})\nexport class EmojiPickerTriggerForDirective {\n private _overlay = inject(Overlay);\n private _elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private _directionality = inject(Directionality, { optional: true });\n private _viewContainerRef = inject(ViewContainerRef);\n private _injector = inject(Injector);\n private _overlayRef: OverlayRef | null = null;\n private _destroyRef = inject(DestroyRef);\n\n for = input.required<TemplateRef<any>>({\n alias: 'emrEmojiPickerTriggerFor'\n });\n\n position = input<PopoverPosition>('below-start');\n\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n get api() {\n return {\n close: () => this._close()\n }\n }\n\n protected _onClick(event: Event) {\n event.stopPropagation();\n event.preventDefault();\n\n this.opened.emit();\n this._overlayRef = this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getPopoverContentPortal());\n this._subscribeToOutsideClicks();\n }\n\n private _close() {\n this.closed.emit();\n this._overlayRef!?.detach();\n }\n\n private _subscribeToOutsideClicks() {\n if (this._overlayRef) {\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(event => {\n const target = _getEventTarget(event) as Element;\n const element = this._elementRef.nativeElement;\n\n if (target !== element && !element.contains(target)) {\n this._close();\n }\n })\n ;\n }\n }\n\n private _getPopoverContentPortal() {\n const injector = Injector.create({\n providers: [\n {\n provide: EMOJI_PICKER_TRIGGER_FOR,\n useValue: this,\n }\n ],\n parent: this._injector\n });\n return new TemplatePortal(\n this.for(),\n this._viewContainerRef,\n null,\n injector\n );\n }\n\n private _getOverlayConfig() {\n return new OverlayConfig({\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n direction: this._directionality || undefined\n });\n }\n\n private _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .setOrigin(this._elementRef)\n .withGrowAfterOpen()\n .withPositions(this._getOverlayPositions())\n ;\n }\n\n private _getOverlayPositions(): ConnectedPosition[] {\n return (new PositionManager()).build(this.position());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Component } from '@angular/core';
3
+
4
+ const PRESET_CONFIG = {
5
+ 'no-results': { icon: '🔍', title: 'No results found', description: 'Try adjusting your search or filters.' },
6
+ 'no-data': { icon: '📭', title: 'Nothing here yet', description: 'Data will appear here once it is available.' },
7
+ 'error': { icon: '⚠️', title: 'Something went wrong', description: 'An error occurred. Please try again.' },
8
+ 'offline': { icon: '📡', title: 'You are offline', description: 'Check your connection and try again.' },
9
+ 'custom': { icon: '', title: '', description: '' },
10
+ };
11
+ class EmptyStateComponent {
12
+ preset = input('no-data', ...(ngDevMode ? [{ debugName: "preset" }] : []));
13
+ title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
14
+ description = input('', ...(ngDevMode ? [{ debugName: "description" }] : []));
15
+ icon = input('', ...(ngDevMode ? [{ debugName: "icon" }] : []));
16
+ get _icon() { return this.icon() || PRESET_CONFIG[this.preset()].icon; }
17
+ get _title() { return this.title() || PRESET_CONFIG[this.preset()].title; }
18
+ get _description() { return this.description() || PRESET_CONFIG[this.preset()].description; }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: EmptyStateComponent, isStandalone: true, selector: "emr-empty-state", inputs: { preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-preset": "preset()" }, classAttribute: "emr-empty-state" }, exportAs: ["emrEmptyState"], ngImport: i0, template: "<div class=\"es-icon\">\n <ng-content select=\"[emrEmptyStateIcon]\">\n <span class=\"es-emoji\">{{ _icon }}</span>\n </ng-content>\n</div>\n<div class=\"es-body\">\n <p class=\"es-title\">\n <ng-content select=\"[emrEmptyStateTitle]\">{{ _title }}</ng-content>\n </p>\n <p class=\"es-description\">\n <ng-content select=\"[emrEmptyStateDescription]\">{{ _description }}</ng-content>\n </p>\n</div>\n<div class=\"es-actions\">\n <ng-content select=\"[emrEmptyStateActions]\"/>\n</div>\n", styles: [":host{--emr-es-gap: calc(var(--spacing, .25rem) * 4);--emr-es-icon-size: calc(var(--spacing, .25rem) * 20);--emr-es-title-size: 1.125rem;--emr-es-title-weight: 600;--emr-es-desc-size: .875rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--emr-es-gap);padding:calc(var(--spacing, .25rem) * 12) calc(var(--spacing, .25rem) * 6);width:100%}.es-icon{display:flex;align-items:center;justify-content:center;width:var(--emr-es-icon-size);height:var(--emr-es-icon-size)}.es-icon:empty{display:none}.es-emoji{font-size:calc(var(--spacing, .25rem) * 12);line-height:1;display:block}.es-body{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);max-width:calc(var(--spacing, .25rem) * 96)}.es-title{margin:0;font-size:var(--emr-es-title-size);font-weight:var(--emr-es-title-weight);color:var(--color-on-surface)}.es-description{margin:0;font-size:var(--emr-es-desc-size);color:var(--color-on-surface-variant);line-height:1.6}.es-actions{display:flex;gap:calc(var(--spacing, .25rem) * 3)}.es-actions:empty{display:none}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EmptyStateComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'emr-empty-state', exportAs: 'emrEmptyState', host: {
25
+ 'class': 'emr-empty-state',
26
+ '[attr.data-preset]': 'preset()',
27
+ }, template: "<div class=\"es-icon\">\n <ng-content select=\"[emrEmptyStateIcon]\">\n <span class=\"es-emoji\">{{ _icon }}</span>\n </ng-content>\n</div>\n<div class=\"es-body\">\n <p class=\"es-title\">\n <ng-content select=\"[emrEmptyStateTitle]\">{{ _title }}</ng-content>\n </p>\n <p class=\"es-description\">\n <ng-content select=\"[emrEmptyStateDescription]\">{{ _description }}</ng-content>\n </p>\n</div>\n<div class=\"es-actions\">\n <ng-content select=\"[emrEmptyStateActions]\"/>\n</div>\n", styles: [":host{--emr-es-gap: calc(var(--spacing, .25rem) * 4);--emr-es-icon-size: calc(var(--spacing, .25rem) * 20);--emr-es-title-size: 1.125rem;--emr-es-title-weight: 600;--emr-es-desc-size: .875rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--emr-es-gap);padding:calc(var(--spacing, .25rem) * 12) calc(var(--spacing, .25rem) * 6);width:100%}.es-icon{display:flex;align-items:center;justify-content:center;width:var(--emr-es-icon-size);height:var(--emr-es-icon-size)}.es-icon:empty{display:none}.es-emoji{font-size:calc(var(--spacing, .25rem) * 12);line-height:1;display:block}.es-body{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);max-width:calc(var(--spacing, .25rem) * 96)}.es-title{margin:0;font-size:var(--emr-es-title-size);font-weight:var(--emr-es-title-weight);color:var(--color-on-surface)}.es-description{margin:0;font-size:var(--emr-es-desc-size);color:var(--color-on-surface-variant);line-height:1.6}.es-actions{display:flex;gap:calc(var(--spacing, .25rem) * 3)}.es-actions:empty{display:none}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
28
+ }], propDecorators: { preset: [{ type: i0.Input, args: [{ isSignal: true, alias: "preset", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
29
+
30
+ /**
31
+ * Generated bundle index. Do not edit.
32
+ */
33
+
34
+ export { EmptyStateComponent };
35
+ //# sourceMappingURL=elementar-rt-components-empty-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementar-rt-components-empty-state.mjs","sources":["../../../projects/components/empty-state/src/empty-state/empty-state.component.ts","../../../projects/components/empty-state/src/empty-state/empty-state.component.html","../../../projects/components/empty-state/elementar-rt-components-empty-state.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\n\nexport type EmptyStatePreset = 'no-results' | 'no-data' | 'error' | 'offline' | 'custom';\n\nconst PRESET_CONFIG: Record<EmptyStatePreset, { icon: string; title: string; description: string }> = {\n 'no-results': { icon: '🔍', title: 'No results found', description: 'Try adjusting your search or filters.' },\n 'no-data': { icon: '📭', title: 'Nothing here yet', description: 'Data will appear here once it is available.' },\n 'error': { icon: '⚠️', title: 'Something went wrong', description: 'An error occurred. Please try again.' },\n 'offline': { icon: '📡', title: 'You are offline', description: 'Check your connection and try again.' },\n 'custom': { icon: '', title: '', description: '' },\n};\n\n@Component({\n selector: 'emr-empty-state',\n exportAs: 'emrEmptyState',\n templateUrl: './empty-state.component.html',\n styleUrl: './empty-state.component.scss',\n host: {\n 'class': 'emr-empty-state',\n '[attr.data-preset]': 'preset()',\n }\n})\nexport class EmptyStateComponent {\n preset = input<EmptyStatePreset>('no-data');\n title = input('');\n description = input('');\n icon = input('');\n\n protected get _icon(): string { return this.icon() || PRESET_CONFIG[this.preset()].icon; }\n protected get _title(): string { return this.title() || PRESET_CONFIG[this.preset()].title; }\n protected get _description(): string { return this.description() || PRESET_CONFIG[this.preset()].description; }\n}\n","<div class=\"es-icon\">\n <ng-content select=\"[emrEmptyStateIcon]\">\n <span class=\"es-emoji\">{{ _icon }}</span>\n </ng-content>\n</div>\n<div class=\"es-body\">\n <p class=\"es-title\">\n <ng-content select=\"[emrEmptyStateTitle]\">{{ _title }}</ng-content>\n </p>\n <p class=\"es-description\">\n <ng-content select=\"[emrEmptyStateDescription]\">{{ _description }}</ng-content>\n </p>\n</div>\n<div class=\"es-actions\">\n <ng-content select=\"[emrEmptyStateActions]\"/>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIA,MAAM,aAAa,GAAmF;AACpG,IAAA,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,uCAAuC,EAAE;AAC7G,IAAA,SAAS,EAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,6CAA6C,EAAE;AACnH,IAAA,OAAO,EAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,sCAAsC,EAAE;AAChH,IAAA,SAAS,EAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,sCAAsC,EAAE;AAC3G,IAAA,QAAQ,EAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;CACvD;MAYY,mBAAmB,CAAA;AAC9B,IAAA,MAAM,GAAG,KAAK,CAAmB,SAAS,kDAAC;AAC3C,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,iDAAC;AACjB,IAAA,WAAW,GAAG,KAAK,CAAC,EAAE,uDAAC;AACvB,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE,gDAAC;AAEhB,IAAA,IAAc,KAAK,GAAA,EAAa,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACzF,IAAA,IAAc,MAAM,GAAA,EAAa,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5F,IAAA,IAAc,YAAY,GAAA,EAAa,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;wGARnG,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,msBCtBhC,wfAgBA,EAAA,MAAA,EAAA,CAAA,moCAAA,CAAA,EAAA,CAAA;;4FDMa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EACjB,eAAe,EAAA,IAAA,EAGnB;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,oBAAoB,EAAE,UAAU;AACjC,qBAAA,EAAA,QAAA,EAAA,wfAAA,EAAA,MAAA,EAAA,CAAA,moCAAA,CAAA,EAAA;;;AEpBH;;AAEG;;;;"}
@@ -41,15 +41,15 @@ class ExpandComponent {
41
41
  this._expanded = false;
42
42
  this.expandedChange.emit(this._expanded);
43
43
  }
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ExpandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: ExpandComponent, isStandalone: true, selector: "emr-expand", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, expandLabel: { classPropertyName: "expandLabel", publicName: "expandLabel", isSignal: true, isRequired: false, transformFunction: null }, collapseLabel: { classPropertyName: "collapseLabel", publicName: "collapseLabel", isSignal: true, isRequired: false, transformFunction: null }, showButtonIfExpanded: { classPropertyName: "showButtonIfExpanded", publicName: "showButtonIfExpanded", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandedChange: "expandedChange" }, host: { properties: { "class.is-expanded": "_expanded" }, classAttribute: "emr-expand" }, exportAs: ["emrExpand"], ngImport: i0, template: "<div class=\"content\">\r\n <ng-content/>\r\n</div>\r\n\r\n@if (showButtonIfExpanded()) {\r\n <button class=\"button\" (click)=\"api.toggle()\">\r\n @if (!_expanded) {\r\n {{ expandLabel() }}\r\n } @else {\r\n {{ collapseLabel() }}\r\n }\r\n </button>\r\n} @else if (!showButtonIfExpanded() && !_expanded) {\r\n <button class=\"button\" (click)=\"api.toggle()\">\r\n {{ expandLabel() }}\r\n </button>\r\n}\r\n", styles: [":host{--emr-expand-fade-color: var(--color-background);--emr-expand-button-bg: var(--color-surface-container);--emr-expand-button-hover-bg: var(--color-surface-container-high);--emr-expand-button-color: var(--color-on-surface);--emr-expand-button-font-size: var(--text-tiny);--emr-expand-button-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--emr-expand-button-border-radius: calc(infinity * 1px);--emr-expand-button-padding: calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 4);--emr-expand-button-hover-opacity: 90%;--emr-expand-expanded-height: 300px;display:block;position:relative;max-height:var(--emr-expand-expanded-height);overflow:hidden}:host .button{position:absolute;inset-inline-start:50%;bottom:calc(var(--spacing, .25rem) * 12);padding:var(--emr-expand-button-padding);border-radius:var(--emr-expand-button-border-radius);background:var(--emr-expand-button-bg);display:flex;align-items:center;justify-content:center;z-index:2;transform:translate(-50%,50%);color:var(--emr-expand-button-color);font-size:var(--emr-expand-button-font-size);box-shadow:var(--emr-expand-button-box-shadow)}:host .button:hover{cursor:pointer;opacity:var(--emr-expand-button-hover-opacity);background:var(--emr-expand-button-hover-bg)}:host .button:active{scale:.98}:host:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(transparent,var(--emr-expand-fade-color));z-index:1}:host.is-expanded{max-height:max-content;overflow:auto}:host.is-expanded:after{display:none}:host.is-expanded .button{visibility:hidden}:host.is-expanded:hover .button{visibility:visible}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] });
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ExpandComponent, isStandalone: true, selector: "emr-expand", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, expandLabel: { classPropertyName: "expandLabel", publicName: "expandLabel", isSignal: true, isRequired: false, transformFunction: null }, collapseLabel: { classPropertyName: "collapseLabel", publicName: "collapseLabel", isSignal: true, isRequired: false, transformFunction: null }, showButtonIfExpanded: { classPropertyName: "showButtonIfExpanded", publicName: "showButtonIfExpanded", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandedChange: "expandedChange" }, host: { properties: { "class.is-expanded": "_expanded" }, classAttribute: "emr-expand" }, exportAs: ["emrExpand"], ngImport: i0, template: "<div class=\"content\">\n <ng-content/>\n</div>\n\n@if (showButtonIfExpanded()) {\n <button class=\"button\" (click)=\"api.toggle()\">\n @if (!_expanded) {\n {{ expandLabel() }}\n } @else {\n {{ collapseLabel() }}\n }\n </button>\n} @else if (!showButtonIfExpanded() && !_expanded) {\n <button class=\"button\" (click)=\"api.toggle()\">\n {{ expandLabel() }}\n </button>\n}\n", styles: [":host{--emr-expand-fade-color: var(--color-background);--emr-expand-button-bg: var(--color-surface-container);--emr-expand-button-hover-bg: var(--color-surface-container-high);--emr-expand-button-color: var(--color-on-surface);--emr-expand-button-font-size: var(--text-tiny);--emr-expand-button-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--emr-expand-button-border-radius: calc(infinity * 1px);--emr-expand-button-padding: calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 4);--emr-expand-button-hover-opacity: 90%;--emr-expand-expanded-height: 300px;display:block;position:relative;max-height:var(--emr-expand-expanded-height);overflow:hidden}:host .button{position:absolute;inset-inline-start:50%;bottom:calc(var(--spacing, .25rem) * 12);padding:var(--emr-expand-button-padding);border-radius:var(--emr-expand-button-border-radius);background:var(--emr-expand-button-bg);display:flex;align-items:center;justify-content:center;z-index:2;transform:translate(-50%,50%);color:var(--emr-expand-button-color);font-size:var(--emr-expand-button-font-size);box-shadow:var(--emr-expand-button-box-shadow)}:host .button:hover{cursor:pointer;opacity:var(--emr-expand-button-hover-opacity);background:var(--emr-expand-button-hover-bg)}:host .button:active{scale:.98}:host:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(transparent,var(--emr-expand-fade-color));z-index:1}:host.is-expanded{max-height:max-content;overflow:auto}:host.is-expanded:after{display:none}:host.is-expanded .button{visibility:hidden}:host.is-expanded:hover .button{visibility:visible}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: ExpandComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpandComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{ selector: 'emr-expand', exportAs: 'emrExpand', host: {
50
50
  'class': 'emr-expand',
51
51
  '[class.is-expanded]': '_expanded'
52
- }, template: "<div class=\"content\">\r\n <ng-content/>\r\n</div>\r\n\r\n@if (showButtonIfExpanded()) {\r\n <button class=\"button\" (click)=\"api.toggle()\">\r\n @if (!_expanded) {\r\n {{ expandLabel() }}\r\n } @else {\r\n {{ collapseLabel() }}\r\n }\r\n </button>\r\n} @else if (!showButtonIfExpanded() && !_expanded) {\r\n <button class=\"button\" (click)=\"api.toggle()\">\r\n {{ expandLabel() }}\r\n </button>\r\n}\r\n", styles: [":host{--emr-expand-fade-color: var(--color-background);--emr-expand-button-bg: var(--color-surface-container);--emr-expand-button-hover-bg: var(--color-surface-container-high);--emr-expand-button-color: var(--color-on-surface);--emr-expand-button-font-size: var(--text-tiny);--emr-expand-button-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--emr-expand-button-border-radius: calc(infinity * 1px);--emr-expand-button-padding: calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 4);--emr-expand-button-hover-opacity: 90%;--emr-expand-expanded-height: 300px;display:block;position:relative;max-height:var(--emr-expand-expanded-height);overflow:hidden}:host .button{position:absolute;inset-inline-start:50%;bottom:calc(var(--spacing, .25rem) * 12);padding:var(--emr-expand-button-padding);border-radius:var(--emr-expand-button-border-radius);background:var(--emr-expand-button-bg);display:flex;align-items:center;justify-content:center;z-index:2;transform:translate(-50%,50%);color:var(--emr-expand-button-color);font-size:var(--emr-expand-button-font-size);box-shadow:var(--emr-expand-button-box-shadow)}:host .button:hover{cursor:pointer;opacity:var(--emr-expand-button-hover-opacity);background:var(--emr-expand-button-hover-bg)}:host .button:active{scale:.98}:host:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(transparent,var(--emr-expand-fade-color));z-index:1}:host.is-expanded{max-height:max-content;overflow:auto}:host.is-expanded:after{display:none}:host.is-expanded .button{visibility:hidden}:host.is-expanded:hover .button{visibility:visible}\n/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */\n"] }]
52
+ }, template: "<div class=\"content\">\n <ng-content/>\n</div>\n\n@if (showButtonIfExpanded()) {\n <button class=\"button\" (click)=\"api.toggle()\">\n @if (!_expanded) {\n {{ expandLabel() }}\n } @else {\n {{ collapseLabel() }}\n }\n </button>\n} @else if (!showButtonIfExpanded() && !_expanded) {\n <button class=\"button\" (click)=\"api.toggle()\">\n {{ expandLabel() }}\n </button>\n}\n", styles: [":host{--emr-expand-fade-color: var(--color-background);--emr-expand-button-bg: var(--color-surface-container);--emr-expand-button-hover-bg: var(--color-surface-container-high);--emr-expand-button-color: var(--color-on-surface);--emr-expand-button-font-size: var(--text-tiny);--emr-expand-button-box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--emr-expand-button-border-radius: calc(infinity * 1px);--emr-expand-button-padding: calc(var(--spacing, .25rem) * 2) calc(var(--spacing, .25rem) * 4);--emr-expand-button-hover-opacity: 90%;--emr-expand-expanded-height: 300px;display:block;position:relative;max-height:var(--emr-expand-expanded-height);overflow:hidden}:host .button{position:absolute;inset-inline-start:50%;bottom:calc(var(--spacing, .25rem) * 12);padding:var(--emr-expand-button-padding);border-radius:var(--emr-expand-button-border-radius);background:var(--emr-expand-button-bg);display:flex;align-items:center;justify-content:center;z-index:2;transform:translate(-50%,50%);color:var(--emr-expand-button-color);font-size:var(--emr-expand-button-font-size);box-shadow:var(--emr-expand-button-box-shadow)}:host .button:hover{cursor:pointer;opacity:var(--emr-expand-button-hover-opacity);background:var(--emr-expand-button-hover-bg)}:host .button:active{scale:.98}:host:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(transparent,var(--emr-expand-fade-color));z-index:1}:host.is-expanded{max-height:max-content;overflow:auto}:host.is-expanded:after{display:none}:host.is-expanded .button{visibility:hidden}:host.is-expanded:hover .button{visibility:visible}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
53
53
  }], ctorParameters: () => [], propDecorators: { expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], expandLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandLabel", required: false }] }], collapseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapseLabel", required: false }] }], showButtonIfExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "showButtonIfExpanded", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }] } });
54
54
 
55
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"elementar-rt-components-expand.mjs","sources":["../../../projects/components/expand/src/expand/expand.component.ts","../../../projects/components/expand/src/expand/expand.component.html","../../../projects/components/expand/elementar-rt-components-expand.ts"],"sourcesContent":["import { booleanAttribute, Component, effect, ElementRef, inject, input, output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-expand',\r\n exportAs: 'emrExpand',\r\n templateUrl: './expand.component.html',\r\n styleUrl: './expand.component.scss',\r\n host: {\r\n 'class': 'emr-expand',\r\n '[class.is-expanded]': '_expanded'\r\n }\r\n})\r\nexport class ExpandComponent {\r\n private _elementRef = inject(ElementRef);\r\n\r\n expanded = input(false, {\r\n transform: booleanAttribute\r\n });\r\n color = input('');\r\n expandLabel = input('Show more');\r\n collapseLabel = input('Show less');\r\n showButtonIfExpanded = input(false, {\r\n transform: booleanAttribute\r\n });\r\n height = input<string>('');\r\n\r\n readonly expandedChange = output<boolean>();\r\n\r\n protected _expanded = false;\r\n\r\n constructor() {\r\n effect(() => {\r\n this._expanded = this.expanded();\r\n (this._elementRef.nativeElement as HTMLElement).style.setProperty('--emr-expand-fade-color', this.color(), 'important');\r\n (this._elementRef.nativeElement as HTMLElement).style.setProperty('--emr-expand-expanded-height', this.height(), 'important');\r\n });\r\n }\r\n\r\n get api() {\r\n return {\r\n expand: () => this._expand(),\r\n collapse: () => this._collapse(),\r\n toggle: () => this._toggle()\r\n };\r\n }\r\n\r\n private _toggle() {\r\n this._expanded = !this._expanded;\r\n this.expandedChange.emit(this._expanded);\r\n }\r\n\r\n private _expand() {\r\n this._expanded = true;\r\n this.expandedChange.emit(this._expanded);\r\n }\r\n\r\n private _collapse() {\r\n this._expanded = false;\r\n this.expandedChange.emit(this._expanded);\r\n }\r\n}\r\n","<div class=\"content\">\r\n <ng-content/>\r\n</div>\r\n\r\n@if (showButtonIfExpanded()) {\r\n <button class=\"button\" (click)=\"api.toggle()\">\r\n @if (!_expanded) {\r\n {{ expandLabel() }}\r\n } @else {\r\n {{ collapseLabel() }}\r\n }\r\n </button>\r\n} @else if (!showButtonIfExpanded() && !_expanded) {\r\n <button class=\"button\" (click)=\"api.toggle()\">\r\n {{ expandLabel() }}\r\n </button>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAYa,eAAe,CAAA;AAClB,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAExC,QAAQ,GAAG,KAAK,CAAC,KAAK,4CACpB,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADL;AACtB,YAAA,SAAS,EAAE;AACZ,SAAA,CAAA,CAAA,CAAC;AACF,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,iDAAC;AACjB,IAAA,WAAW,GAAG,KAAK,CAAC,WAAW,uDAAC;AAChC,IAAA,aAAa,GAAG,KAAK,CAAC,WAAW,yDAAC;IAClC,oBAAoB,GAAG,KAAK,CAAC,KAAK,wDAChC,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADO;AAClC,YAAA,SAAS,EAAE;AACZ,SAAA,CAAA,CAAA,CAAC;AACF,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,kDAAC;IAEjB,cAAc,GAAG,MAAM,EAAW;IAEjC,SAAS,GAAG,KAAK;AAE3B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,WAAW,CAAC,aAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC;AACtH,YAAA,IAAI,CAAC,WAAW,CAAC,aAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC;AAC/H,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,IAAI,GAAG,GAAA;QACL,OAAO;AACL,YAAA,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE;AAC5B,YAAA,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO;SAC3B;IACH;IAEQ,OAAO,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C;IAEQ,OAAO,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C;IAEQ,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C;wGA/CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,uiCCZ5B,sbAiBA,EAAA,MAAA,EAAA,CAAA,orDAAA,CAAA,EAAA,CAAA;;4FDLa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,WAAW,EAAA,IAAA,EAGf;AACJ,wBAAA,OAAO,EAAE,YAAY;AACrB,wBAAA,qBAAqB,EAAE;AACxB,qBAAA,EAAA,QAAA,EAAA,sbAAA,EAAA,MAAA,EAAA,CAAA,orDAAA,CAAA,EAAA;;;AEVH;;AAEG;;;;"}
1
+ {"version":3,"file":"elementar-rt-components-expand.mjs","sources":["../../../projects/components/expand/src/expand/expand.component.ts","../../../projects/components/expand/src/expand/expand.component.html","../../../projects/components/expand/elementar-rt-components-expand.ts"],"sourcesContent":["import { booleanAttribute, Component, effect, ElementRef, inject, input, output } from '@angular/core';\n\n@Component({\n selector: 'emr-expand',\n exportAs: 'emrExpand',\n templateUrl: './expand.component.html',\n styleUrl: './expand.component.scss',\n host: {\n 'class': 'emr-expand',\n '[class.is-expanded]': '_expanded'\n }\n})\nexport class ExpandComponent {\n private _elementRef = inject(ElementRef);\n\n expanded = input(false, {\n transform: booleanAttribute\n });\n color = input('');\n expandLabel = input('Show more');\n collapseLabel = input('Show less');\n showButtonIfExpanded = input(false, {\n transform: booleanAttribute\n });\n height = input<string>('');\n\n readonly expandedChange = output<boolean>();\n\n protected _expanded = false;\n\n constructor() {\n effect(() => {\n this._expanded = this.expanded();\n (this._elementRef.nativeElement as HTMLElement).style.setProperty('--emr-expand-fade-color', this.color(), 'important');\n (this._elementRef.nativeElement as HTMLElement).style.setProperty('--emr-expand-expanded-height', this.height(), 'important');\n });\n }\n\n get api() {\n return {\n expand: () => this._expand(),\n collapse: () => this._collapse(),\n toggle: () => this._toggle()\n };\n }\n\n private _toggle() {\n this._expanded = !this._expanded;\n this.expandedChange.emit(this._expanded);\n }\n\n private _expand() {\n this._expanded = true;\n this.expandedChange.emit(this._expanded);\n }\n\n private _collapse() {\n this._expanded = false;\n this.expandedChange.emit(this._expanded);\n }\n}\n","<div class=\"content\">\n <ng-content/>\n</div>\n\n@if (showButtonIfExpanded()) {\n <button class=\"button\" (click)=\"api.toggle()\">\n @if (!_expanded) {\n {{ expandLabel() }}\n } @else {\n {{ collapseLabel() }}\n }\n </button>\n} @else if (!showButtonIfExpanded() && !_expanded) {\n <button class=\"button\" (click)=\"api.toggle()\">\n {{ expandLabel() }}\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAYa,eAAe,CAAA;AAClB,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAExC,QAAQ,GAAG,KAAK,CAAC,KAAK,4CACpB,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADL;AACtB,YAAA,SAAS,EAAE;AACZ,SAAA,CAAA,CAAA,CAAC;AACF,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,iDAAC;AACjB,IAAA,WAAW,GAAG,KAAK,CAAC,WAAW,uDAAC;AAChC,IAAA,aAAa,GAAG,KAAK,CAAC,WAAW,yDAAC;IAClC,oBAAoB,GAAG,KAAK,CAAC,KAAK,wDAChC,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CADO;AAClC,YAAA,SAAS,EAAE;AACZ,SAAA,CAAA,CAAA,CAAC;AACF,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,kDAAC;IAEjB,cAAc,GAAG,MAAM,EAAW;IAEjC,SAAS,GAAG,KAAK;AAE3B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,WAAW,CAAC,aAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC;AACtH,YAAA,IAAI,CAAC,WAAW,CAAC,aAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC;AAC/H,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,IAAI,GAAG,GAAA;QACL,OAAO;AACL,YAAA,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE;AAC5B,YAAA,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO;SAC3B;IACH;IAEQ,OAAO,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;QAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C;IAEQ,OAAO,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C;IAEQ,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C;wGA/CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,uiCCZ5B,oZAiBA,EAAA,MAAA,EAAA,CAAA,mrDAAA,CAAA,EAAA,CAAA;;4FDLa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;+BACE,YAAY,EAAA,QAAA,EACZ,WAAW,EAAA,IAAA,EAGf;AACJ,wBAAA,OAAO,EAAE,YAAY;AACrB,wBAAA,qBAAqB,EAAE;AACxB,qBAAA,EAAA,QAAA,EAAA,oZAAA,EAAA,MAAA,EAAA,CAAA,mrDAAA,CAAA,EAAA;;;AEVH;;AAEG;;;;"}
@@ -0,0 +1,32 @@
1
+ import * as i0 from '@angular/core';
2
+ import { model, input, booleanAttribute, output, Component } from '@angular/core';
3
+
4
+ class ExpansionPanelComponent {
5
+ expanded = model(false, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
6
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
7
+ expandedChange = output();
8
+ _toggle() {
9
+ if (this.disabled())
10
+ return;
11
+ const next = !this.expanded();
12
+ this.expanded.set(next);
13
+ this.expandedChange.emit(next);
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: ExpansionPanelComponent, isStandalone: true, selector: "emr-expansion-panel", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange", expandedChange: "expandedChange" }, host: { properties: { "class.is-expanded": "expanded()", "class.is-disabled": "disabled()" }, classAttribute: "emr-expansion-panel" }, exportAs: ["emrExpansionPanel"], ngImport: i0, template: "<div class=\"ep-header\" (click)=\"_toggle()\" [attr.aria-expanded]=\"expanded()\">\n <span class=\"ep-title\">\n <ng-content select=\"emr-expansion-panel-title,[emrExpansionPanelTitle]\"/>\n </span>\n <span class=\"ep-description\">\n <ng-content select=\"emr-expansion-panel-description,[emrExpansionPanelDescription]\"/>\n </span>\n <svg class=\"ep-icon\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z\"/>\n </svg>\n</div>\n<div class=\"ep-body\">\n <div class=\"ep-content\">\n <ng-content/>\n </div>\n</div>\n", styles: [":host{--emr-ep-border: 1px solid var(--color-outline-variant);--emr-ep-border-radius: 1rem;--emr-ep-header-height: calc(var(--spacing, .25rem) * 14);--emr-ep-header-padding: 0 calc(var(--spacing, .25rem) * 5);--emr-ep-content-padding: var(--spacing, .25rem) calc(var(--spacing, .25rem) * 5) calc(var(--spacing, .25rem) * 5);--emr-ep-bg: var(--color-surface-container-low);display:block;border:var(--emr-ep-border);border-radius:var(--emr-ep-border-radius);background:var(--emr-ep-bg);overflow:hidden;transition:box-shadow .15s}:host.is-expanded{box-shadow:0 2px 8px var(--color-shadow)}@supports (color: color-mix(in lab,red,red)){:host.is-expanded{box-shadow:0 2px 8px color-mix(in srgb,var(--color-shadow) 8%,transparent)}}:host.is-expanded .ep-icon{transform:rotate(180deg)}:host.is-expanded .ep-body{grid-template-rows:1fr}:host.is-disabled .ep-header{opacity:.38;cursor:not-allowed}.ep-header{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3);min-height:var(--emr-ep-header-height);padding:var(--emr-ep-header-padding);cursor:pointer;-webkit-user-select:none;user-select:none}.ep-header:hover{background:var(--color-on-surface)}@supports (color: color-mix(in lab,red,red)){.ep-header:hover{background:color-mix(in srgb,var(--color-on-surface) 4%,transparent)}}.ep-title{flex:1;font-weight:500;font-size:.875rem}.ep-description{font-size:.75rem;color:var(--color-on-surface-variant)}.ep-icon{flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1);color:var(--color-on-surface-variant)}.ep-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1)}.ep-content{overflow:hidden;padding:0 calc(var(--spacing, .25rem) * 5)}:host(.is-expanded) .ep-content{padding:var(--emr-ep-content-padding)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpansionPanelComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'emr-expansion-panel', exportAs: 'emrExpansionPanel', host: {
21
+ 'class': 'emr-expansion-panel',
22
+ '[class.is-expanded]': 'expanded()',
23
+ '[class.is-disabled]': 'disabled()',
24
+ }, template: "<div class=\"ep-header\" (click)=\"_toggle()\" [attr.aria-expanded]=\"expanded()\">\n <span class=\"ep-title\">\n <ng-content select=\"emr-expansion-panel-title,[emrExpansionPanelTitle]\"/>\n </span>\n <span class=\"ep-description\">\n <ng-content select=\"emr-expansion-panel-description,[emrExpansionPanelDescription]\"/>\n </span>\n <svg class=\"ep-icon\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z\"/>\n </svg>\n</div>\n<div class=\"ep-body\">\n <div class=\"ep-content\">\n <ng-content/>\n </div>\n</div>\n", styles: [":host{--emr-ep-border: 1px solid var(--color-outline-variant);--emr-ep-border-radius: 1rem;--emr-ep-header-height: calc(var(--spacing, .25rem) * 14);--emr-ep-header-padding: 0 calc(var(--spacing, .25rem) * 5);--emr-ep-content-padding: var(--spacing, .25rem) calc(var(--spacing, .25rem) * 5) calc(var(--spacing, .25rem) * 5);--emr-ep-bg: var(--color-surface-container-low);display:block;border:var(--emr-ep-border);border-radius:var(--emr-ep-border-radius);background:var(--emr-ep-bg);overflow:hidden;transition:box-shadow .15s}:host.is-expanded{box-shadow:0 2px 8px var(--color-shadow)}@supports (color: color-mix(in lab,red,red)){:host.is-expanded{box-shadow:0 2px 8px color-mix(in srgb,var(--color-shadow) 8%,transparent)}}:host.is-expanded .ep-icon{transform:rotate(180deg)}:host.is-expanded .ep-body{grid-template-rows:1fr}:host.is-disabled .ep-header{opacity:.38;cursor:not-allowed}.ep-header{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3);min-height:var(--emr-ep-header-height);padding:var(--emr-ep-header-padding);cursor:pointer;-webkit-user-select:none;user-select:none}.ep-header:hover{background:var(--color-on-surface)}@supports (color: color-mix(in lab,red,red)){.ep-header:hover{background:color-mix(in srgb,var(--color-on-surface) 4%,transparent)}}.ep-title{flex:1;font-weight:500;font-size:.875rem}.ep-description{font-size:.75rem;color:var(--color-on-surface-variant)}.ep-icon{flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1);color:var(--color-on-surface-variant)}.ep-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1)}.ep-content{overflow:hidden;padding:0 calc(var(--spacing, .25rem) * 5)}:host(.is-expanded) .ep-content{padding:var(--emr-ep-content-padding)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
25
+ }], propDecorators: { expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }] } });
26
+
27
+ /**
28
+ * Generated bundle index. Do not edit.
29
+ */
30
+
31
+ export { ExpansionPanelComponent };
32
+ //# sourceMappingURL=elementar-rt-components-expansion-panel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementar-rt-components-expansion-panel.mjs","sources":["../../../projects/components/expansion-panel/src/expansion-panel/expansion-panel.component.ts","../../../projects/components/expansion-panel/src/expansion-panel/expansion-panel.component.html","../../../projects/components/expansion-panel/elementar-rt-components-expansion-panel.ts"],"sourcesContent":["import { booleanAttribute, Component, input, model, output } from '@angular/core';\n\n@Component({\n selector: 'emr-expansion-panel',\n exportAs: 'emrExpansionPanel',\n templateUrl: './expansion-panel.component.html',\n styleUrl: './expansion-panel.component.scss',\n host: {\n 'class': 'emr-expansion-panel',\n '[class.is-expanded]': 'expanded()',\n '[class.is-disabled]': 'disabled()',\n }\n})\nexport class ExpansionPanelComponent {\n expanded = model(false);\n disabled = input(false, { transform: booleanAttribute });\n\n readonly expandedChange = output<boolean>();\n\n protected _toggle() {\n if (this.disabled()) return;\n const next = !this.expanded();\n this.expanded.set(next);\n this.expandedChange.emit(next);\n }\n}\n","<div class=\"ep-header\" (click)=\"_toggle()\" [attr.aria-expanded]=\"expanded()\">\n <span class=\"ep-title\">\n <ng-content select=\"emr-expansion-panel-title,[emrExpansionPanelTitle]\"/>\n </span>\n <span class=\"ep-description\">\n <ng-content select=\"emr-expansion-panel-description,[emrExpansionPanelDescription]\"/>\n </span>\n <svg class=\"ep-icon\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z\"/>\n </svg>\n</div>\n<div class=\"ep-body\">\n <div class=\"ep-content\">\n <ng-content/>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAaa,uBAAuB,CAAA;AAClC,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,oDAAC;AACvB,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,4CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;IAE/C,cAAc,GAAG,MAAM,EAAW;IAEjC,OAAO,GAAA;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;AACrB,QAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC;wGAXW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,glBCbpC,4mBAgBA,EAAA,MAAA,EAAA,CAAA,yyDAAA,CAAA,EAAA,CAAA;;4FDHa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAXnC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EACrB,mBAAmB,EAAA,IAAA,EAGvB;AACJ,wBAAA,OAAO,EAAE,qBAAqB;AAC9B,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,qBAAqB,EAAE,YAAY;AACpC,qBAAA,EAAA,QAAA,EAAA,4mBAAA,EAAA,MAAA,EAAA,CAAA,yyDAAA,CAAA,EAAA;;;AEXH;;AAEG;;;;"}