@elementar-rt/components 0.6.58 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +7 -2
  2. package/fesm2022/elementar-rt-components-action-required.mjs +8 -8
  3. package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
  4. package/fesm2022/elementar-rt-components-alert.mjs +21 -25
  5. package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
  6. package/fesm2022/elementar-rt-components-announcement.mjs +12 -14
  7. package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
  8. package/fesm2022/elementar-rt-components-avatar.mjs +34 -38
  9. package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
  10. package/fesm2022/elementar-rt-components-badge.mjs +10 -10
  11. package/fesm2022/elementar-rt-components-badge.mjs.map +1 -1
  12. package/fesm2022/elementar-rt-components-block-loader.mjs +10 -16
  13. package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
  14. package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
  15. package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
  16. package/fesm2022/elementar-rt-components-bottom-sheet.mjs +12 -12
  17. package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -1
  18. package/fesm2022/elementar-rt-components-brand-colors.mjs +9 -13
  19. package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
  20. package/fesm2022/elementar-rt-components-breadcrumbs.mjs +49 -53
  21. package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/elementar-rt-components-button-toggle.mjs +16 -16
  23. package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -1
  24. package/fesm2022/elementar-rt-components-calendar.mjs +10 -10
  25. package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -1
  26. package/fesm2022/elementar-rt-components-card-overlay.mjs +10 -16
  27. package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
  28. package/fesm2022/elementar-rt-components-card.mjs +18 -18
  29. package/fesm2022/elementar-rt-components-card.mjs.map +1 -1
  30. package/fesm2022/elementar-rt-components-carousel.mjs +48 -50
  31. package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
  32. package/fesm2022/elementar-rt-components-chips.mjs +12 -12
  33. package/fesm2022/elementar-rt-components-chips.mjs.map +1 -1
  34. package/fesm2022/elementar-rt-components-clipboard-copy.mjs +17 -17
  35. package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -1
  36. package/fesm2022/elementar-rt-components-code-highlighter.mjs +12 -12
  37. package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
  38. package/fesm2022/elementar-rt-components-color-picker.mjs +44 -52
  39. package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
  40. package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
  41. package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
  42. package/fesm2022/elementar-rt-components-combobox.mjs +13 -13
  43. package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -1
  44. package/fesm2022/elementar-rt-components-command-bar.mjs +15 -17
  45. package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
  46. package/fesm2022/elementar-rt-components-comment-editor.mjs +106 -106
  47. package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
  48. package/fesm2022/elementar-rt-components-comparison-slider.mjs +16 -16
  49. package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
  50. package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
  51. package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
  52. package/fesm2022/elementar-rt-components-content-editor.mjs +7 -7
  53. package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -1
  54. package/fesm2022/elementar-rt-components-content-fade.mjs +7 -7
  55. package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
  56. package/fesm2022/elementar-rt-components-cookie-popup.mjs +15 -17
  57. package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
  58. package/fesm2022/elementar-rt-components-core.mjs +68 -75
  59. package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
  60. package/fesm2022/elementar-rt-components-country-select.mjs +15 -17
  61. package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
  62. package/fesm2022/elementar-rt-components-crop.mjs +12 -12
  63. package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
  64. package/fesm2022/elementar-rt-components-currency-select.mjs +15 -17
  65. package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
  66. package/fesm2022/elementar-rt-components-dashboard.mjs +15 -19
  67. package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
  68. package/fesm2022/elementar-rt-components-data-grid.mjs +20 -20
  69. package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -1
  70. package/fesm2022/elementar-rt-components-data-view.mjs +38 -52
  71. package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
  72. package/fesm2022/elementar-rt-components-date-format-select.mjs +8 -8
  73. package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
  74. package/fesm2022/elementar-rt-components-datepicker.mjs +12 -12
  75. package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -1
  76. package/fesm2022/elementar-rt-components-dialog.mjs +19 -19
  77. package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -1
  78. package/fesm2022/elementar-rt-components-digit-roller.mjs +10 -10
  79. package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -1
  80. package/fesm2022/elementar-rt-components-divider.mjs +8 -8
  81. package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
  82. package/fesm2022/elementar-rt-components-drawer.mjs +14 -14
  83. package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
  84. package/fesm2022/elementar-rt-components-emoji-picker.mjs +15 -17
  85. package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
  86. package/fesm2022/elementar-rt-components-empty-state.mjs +8 -8
  87. package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -1
  88. package/fesm2022/elementar-rt-components-expand.mjs +10 -14
  89. package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
  90. package/fesm2022/elementar-rt-components-expansion-panel.mjs +6 -6
  91. package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -1
  92. package/fesm2022/elementar-rt-components-filter-builder.mjs +24 -26
  93. package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
  94. package/fesm2022/elementar-rt-components-filter-select.mjs +19 -19
  95. package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -1
  96. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs} +6 -6
  97. package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs.map} +1 -1
  98. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs} +7 -7
  99. package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs.map} +1 -1
  100. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs} +6 -6
  101. package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs.map} +1 -1
  102. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs} +4 -4
  103. package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs.map} +1 -1
  104. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs} +5 -5
  105. package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs.map} +1 -1
  106. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs} +7 -7
  107. package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs.map} +1 -1
  108. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs} +7 -7
  109. package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs.map} +1 -1
  110. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs} +6 -6
  111. package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs.map} +1 -1
  112. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs} +5 -5
  113. package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs.map} +1 -1
  114. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs} +6 -6
  115. package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs.map} +1 -1
  116. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs} +7 -7
  117. package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs.map} +1 -1
  118. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs} +7 -7
  119. package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs.map} +1 -1
  120. package/fesm2022/elementar-rt-components-form-renderer.mjs +36 -36
  121. package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
  122. package/fesm2022/elementar-rt-components-gauge.mjs +11 -17
  123. package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
  124. package/fesm2022/elementar-rt-components-grid.mjs +12 -12
  125. package/fesm2022/elementar-rt-components-grid.mjs.map +1 -1
  126. package/fesm2022/elementar-rt-components-guided-tour.mjs +12 -12
  127. package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -1
  128. package/fesm2022/elementar-rt-components-headless-stepper.mjs +10 -10
  129. package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -1
  130. package/fesm2022/elementar-rt-components-icon.mjs +6 -6
  131. package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
  132. package/fesm2022/elementar-rt-components-image-placeholder.mjs +10 -10
  133. package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -1
  134. package/fesm2022/elementar-rt-components-image-resizer.mjs +17 -25
  135. package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
  136. package/fesm2022/elementar-rt-components-image-viewer.mjs +29 -29
  137. package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
  138. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +16 -16
  139. package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -1
  140. package/fesm2022/elementar-rt-components-incidents.mjs +55 -57
  141. package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
  142. package/fesm2022/elementar-rt-components-inline-text-edit.mjs +8 -10
  143. package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
  144. package/fesm2022/elementar-rt-components-input-mask.mjs +12 -12
  145. package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
  146. package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
  147. package/fesm2022/elementar-rt-components-kanban-board.mjs +10 -10
  148. package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
  149. package/fesm2022/elementar-rt-components-keyboard.mjs +9 -9
  150. package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -1
  151. package/fesm2022/elementar-rt-components-layout.mjs +36 -40
  152. package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
  153. package/fesm2022/elementar-rt-components-list.mjs +13 -13
  154. package/fesm2022/elementar-rt-components-list.mjs.map +1 -1
  155. package/fesm2022/elementar-rt-components-logo.mjs +12 -12
  156. package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
  157. package/fesm2022/elementar-rt-components-marquee.mjs +9 -13
  158. package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
  159. package/fesm2022/elementar-rt-components-menu.mjs +19 -19
  160. package/fesm2022/elementar-rt-components-menu.mjs.map +1 -1
  161. package/fesm2022/elementar-rt-components-micro-chart.mjs +65 -111
  162. package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
  163. package/fesm2022/elementar-rt-components-multi-select.mjs +13 -13
  164. package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -1
  165. package/fesm2022/elementar-rt-components-navigation.mjs +56 -66
  166. package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
  167. package/fesm2022/elementar-rt-components-notifications.mjs +47 -53
  168. package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
  169. package/fesm2022/elementar-rt-components-number-input.mjs +23 -31
  170. package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
  171. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +34 -34
  172. package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
  173. package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
  174. package/fesm2022/elementar-rt-components-page-loading-bar.mjs +5 -7
  175. package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
  176. package/fesm2022/elementar-rt-components-paginator.mjs +12 -12
  177. package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -1
  178. package/fesm2022/elementar-rt-components-panel.mjs +25 -27
  179. package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
  180. package/fesm2022/elementar-rt-components-password-strength.mjs +35 -59
  181. package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
  182. package/fesm2022/elementar-rt-components-phone-input.mjs +23 -26
  183. package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
  184. package/fesm2022/elementar-rt-components-pin-input.mjs +17 -21
  185. package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
  186. package/fesm2022/elementar-rt-components-popover.mjs +18 -28
  187. package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
  188. package/fesm2022/elementar-rt-components-progress-bar.mjs +10 -10
  189. package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -1
  190. package/fesm2022/elementar-rt-components-progress-spinner.mjs +14 -14
  191. package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -1
  192. package/fesm2022/elementar-rt-components-radio-card.mjs +21 -21
  193. package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
  194. package/fesm2022/elementar-rt-components-rail-nav.mjs +14 -14
  195. package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
  196. package/fesm2022/elementar-rt-components-rating.mjs +15 -15
  197. package/fesm2022/elementar-rt-components-rating.mjs.map +1 -1
  198. package/fesm2022/elementar-rt-components-resizable-container.mjs +5 -7
  199. package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
  200. package/fesm2022/elementar-rt-components-screen-loader.mjs +5 -7
  201. package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
  202. package/fesm2022/elementar-rt-components-scroll-spy.mjs +18 -18
  203. package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
  204. package/fesm2022/elementar-rt-components-segmented.mjs +18 -24
  205. package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
  206. package/fesm2022/elementar-rt-components-side-panel.mjs +18 -18
  207. package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
  208. package/fesm2022/elementar-rt-components-sidebar.mjs +71 -77
  209. package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
  210. package/fesm2022/elementar-rt-components-sidenav.mjs +15 -15
  211. package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -1
  212. package/fesm2022/elementar-rt-components-signature-pad.mjs +17 -17
  213. package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
  214. package/fesm2022/elementar-rt-components-skeleton.mjs +17 -17
  215. package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
  216. package/fesm2022/elementar-rt-components-slider.mjs +13 -13
  217. package/fesm2022/elementar-rt-components-slider.mjs.map +1 -1
  218. package/fesm2022/elementar-rt-components-snackbar.mjs +10 -10
  219. package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -1
  220. package/fesm2022/elementar-rt-components-sort.mjs +11 -11
  221. package/fesm2022/elementar-rt-components-sort.mjs.map +1 -1
  222. package/fesm2022/elementar-rt-components-splash-screen.mjs +6 -10
  223. package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
  224. package/fesm2022/elementar-rt-components-split-pane.mjs +10 -10
  225. package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -1
  226. package/fesm2022/elementar-rt-components-stat-card.mjs +10 -10
  227. package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -1
  228. package/fesm2022/elementar-rt-components-step-tracker.mjs +8 -8
  229. package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -1
  230. package/fesm2022/elementar-rt-components-stepper.mjs +21 -23
  231. package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
  232. package/fesm2022/elementar-rt-components-suggestions.mjs +21 -25
  233. package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
  234. package/fesm2022/elementar-rt-components-tab-panel.mjs +54 -60
  235. package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
  236. package/fesm2022/elementar-rt-components-table.mjs +16 -16
  237. package/fesm2022/elementar-rt-components-table.mjs.map +1 -1
  238. package/fesm2022/elementar-rt-components-tabs.mjs +14 -14
  239. package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -1
  240. package/fesm2022/elementar-rt-components-tag.mjs +9 -9
  241. package/fesm2022/elementar-rt-components-tag.mjs.map +1 -1
  242. package/fesm2022/elementar-rt-components-text-editor.mjs +97 -96
  243. package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
  244. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +11 -13
  245. package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
  246. package/fesm2022/elementar-rt-components-tiles.mjs +9 -9
  247. package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -1
  248. package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
  249. package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
  250. package/fesm2022/elementar-rt-components-timepicker.mjs +11 -11
  251. package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -1
  252. package/fesm2022/elementar-rt-components-timezone-select.mjs +23 -29
  253. package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
  254. package/fesm2022/elementar-rt-components-toast.mjs +14 -14
  255. package/fesm2022/elementar-rt-components-toast.mjs.map +1 -1
  256. package/fesm2022/elementar-rt-components-toolbar.mjs +6 -6
  257. package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -1
  258. package/fesm2022/elementar-rt-components-tooltip.mjs +14 -14
  259. package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -1
  260. package/fesm2022/elementar-rt-components-tree.mjs +17 -17
  261. package/fesm2022/elementar-rt-components-tree.mjs.map +1 -1
  262. package/fesm2022/elementar-rt-components-upload.mjs +77 -87
  263. package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
  264. package/fesm2022/elementar-rt-components-video-player.mjs +22 -22
  265. package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -1
  266. package/fesm2022/elementar-rt-components-video-viewer.mjs +16 -16
  267. package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -1
  268. package/package.json +136 -135
  269. package/{country-select/index.d.ts → types/elementar-rt-components-country-select.d.ts} +1 -1
  270. package/{currency-select/index.d.ts → types/elementar-rt-components-currency-select.d.ts} +1 -1
  271. /package/{action-required/index.d.ts → types/elementar-rt-components-action-required.d.ts} +0 -0
  272. /package/{alert/index.d.ts → types/elementar-rt-components-alert.d.ts} +0 -0
  273. /package/{announcement/index.d.ts → types/elementar-rt-components-announcement.d.ts} +0 -0
  274. /package/{avatar/index.d.ts → types/elementar-rt-components-avatar.d.ts} +0 -0
  275. /package/{badge/index.d.ts → types/elementar-rt-components-badge.d.ts} +0 -0
  276. /package/{block-loader/index.d.ts → types/elementar-rt-components-block-loader.d.ts} +0 -0
  277. /package/{block-state/index.d.ts → types/elementar-rt-components-block-state.d.ts} +0 -0
  278. /package/{bottom-sheet/index.d.ts → types/elementar-rt-components-bottom-sheet.d.ts} +0 -0
  279. /package/{brand-colors/index.d.ts → types/elementar-rt-components-brand-colors.d.ts} +0 -0
  280. /package/{breadcrumbs/index.d.ts → types/elementar-rt-components-breadcrumbs.d.ts} +0 -0
  281. /package/{button-toggle/index.d.ts → types/elementar-rt-components-button-toggle.d.ts} +0 -0
  282. /package/{calendar/index.d.ts → types/elementar-rt-components-calendar.d.ts} +0 -0
  283. /package/{card-overlay/index.d.ts → types/elementar-rt-components-card-overlay.d.ts} +0 -0
  284. /package/{card/index.d.ts → types/elementar-rt-components-card.d.ts} +0 -0
  285. /package/{carousel/index.d.ts → types/elementar-rt-components-carousel.d.ts} +0 -0
  286. /package/{chips/index.d.ts → types/elementar-rt-components-chips.d.ts} +0 -0
  287. /package/{clipboard-copy/index.d.ts → types/elementar-rt-components-clipboard-copy.d.ts} +0 -0
  288. /package/{code-highlighter/index.d.ts → types/elementar-rt-components-code-highlighter.d.ts} +0 -0
  289. /package/{color-picker/index.d.ts → types/elementar-rt-components-color-picker.d.ts} +0 -0
  290. /package/{color-scheme/index.d.ts → types/elementar-rt-components-color-scheme.d.ts} +0 -0
  291. /package/{combobox/index.d.ts → types/elementar-rt-components-combobox.d.ts} +0 -0
  292. /package/{command-bar/index.d.ts → types/elementar-rt-components-command-bar.d.ts} +0 -0
  293. /package/{comment-editor/index.d.ts → types/elementar-rt-components-comment-editor.d.ts} +0 -0
  294. /package/{comparison-slider/index.d.ts → types/elementar-rt-components-comparison-slider.d.ts} +0 -0
  295. /package/{confirm/index.d.ts → types/elementar-rt-components-confirm.d.ts} +0 -0
  296. /package/{content-editor/index.d.ts → types/elementar-rt-components-content-editor.d.ts} +0 -0
  297. /package/{content-fade/index.d.ts → types/elementar-rt-components-content-fade.d.ts} +0 -0
  298. /package/{cookie-popup/index.d.ts → types/elementar-rt-components-cookie-popup.d.ts} +0 -0
  299. /package/{core/index.d.ts → types/elementar-rt-components-core.d.ts} +0 -0
  300. /package/{crop/index.d.ts → types/elementar-rt-components-crop.d.ts} +0 -0
  301. /package/{dashboard/index.d.ts → types/elementar-rt-components-dashboard.d.ts} +0 -0
  302. /package/{data-grid/index.d.ts → types/elementar-rt-components-data-grid.d.ts} +0 -0
  303. /package/{data-view/index.d.ts → types/elementar-rt-components-data-view.d.ts} +0 -0
  304. /package/{date-format-select/index.d.ts → types/elementar-rt-components-date-format-select.d.ts} +0 -0
  305. /package/{datepicker/index.d.ts → types/elementar-rt-components-datepicker.d.ts} +0 -0
  306. /package/{dialog/index.d.ts → types/elementar-rt-components-dialog.d.ts} +0 -0
  307. /package/{digit-roller/index.d.ts → types/elementar-rt-components-digit-roller.d.ts} +0 -0
  308. /package/{divider/index.d.ts → types/elementar-rt-components-divider.d.ts} +0 -0
  309. /package/{drawer/index.d.ts → types/elementar-rt-components-drawer.d.ts} +0 -0
  310. /package/{emoji-picker/index.d.ts → types/elementar-rt-components-emoji-picker.d.ts} +0 -0
  311. /package/{empty-state/index.d.ts → types/elementar-rt-components-empty-state.d.ts} +0 -0
  312. /package/{expand/index.d.ts → types/elementar-rt-components-expand.d.ts} +0 -0
  313. /package/{expansion-panel/index.d.ts → types/elementar-rt-components-expansion-panel.d.ts} +0 -0
  314. /package/{filter-builder/index.d.ts → types/elementar-rt-components-filter-builder.d.ts} +0 -0
  315. /package/{filter-select/index.d.ts → types/elementar-rt-components-filter-select.d.ts} +0 -0
  316. /package/{form-renderer/index.d.ts → types/elementar-rt-components-form-renderer.d.ts} +0 -0
  317. /package/{gauge/index.d.ts → types/elementar-rt-components-gauge.d.ts} +0 -0
  318. /package/{grid/index.d.ts → types/elementar-rt-components-grid.d.ts} +0 -0
  319. /package/{guided-tour/index.d.ts → types/elementar-rt-components-guided-tour.d.ts} +0 -0
  320. /package/{headless-stepper/index.d.ts → types/elementar-rt-components-headless-stepper.d.ts} +0 -0
  321. /package/{icon/index.d.ts → types/elementar-rt-components-icon.d.ts} +0 -0
  322. /package/{image-placeholder/index.d.ts → types/elementar-rt-components-image-placeholder.d.ts} +0 -0
  323. /package/{image-resizer/index.d.ts → types/elementar-rt-components-image-resizer.d.ts} +0 -0
  324. /package/{image-viewer/index.d.ts → types/elementar-rt-components-image-viewer.d.ts} +0 -0
  325. /package/{image-zoom-viewer/index.d.ts → types/elementar-rt-components-image-zoom-viewer.d.ts} +0 -0
  326. /package/{incidents/index.d.ts → types/elementar-rt-components-incidents.d.ts} +0 -0
  327. /package/{inline-text-edit/index.d.ts → types/elementar-rt-components-inline-text-edit.d.ts} +0 -0
  328. /package/{input-mask/index.d.ts → types/elementar-rt-components-input-mask.d.ts} +0 -0
  329. /package/{input-validator/index.d.ts → types/elementar-rt-components-input-validator.d.ts} +0 -0
  330. /package/{kanban-board/index.d.ts → types/elementar-rt-components-kanban-board.d.ts} +0 -0
  331. /package/{keyboard/index.d.ts → types/elementar-rt-components-keyboard.d.ts} +0 -0
  332. /package/{layout/index.d.ts → types/elementar-rt-components-layout.d.ts} +0 -0
  333. /package/{list/index.d.ts → types/elementar-rt-components-list.d.ts} +0 -0
  334. /package/{logo/index.d.ts → types/elementar-rt-components-logo.d.ts} +0 -0
  335. /package/{marquee/index.d.ts → types/elementar-rt-components-marquee.d.ts} +0 -0
  336. /package/{menu/index.d.ts → types/elementar-rt-components-menu.d.ts} +0 -0
  337. /package/{micro-chart/index.d.ts → types/elementar-rt-components-micro-chart.d.ts} +0 -0
  338. /package/{multi-select/index.d.ts → types/elementar-rt-components-multi-select.d.ts} +0 -0
  339. /package/{navigation/index.d.ts → types/elementar-rt-components-navigation.d.ts} +0 -0
  340. /package/{notifications/index.d.ts → types/elementar-rt-components-notifications.d.ts} +0 -0
  341. /package/{number-input/index.d.ts → types/elementar-rt-components-number-input.d.ts} +0 -0
  342. /package/{overlay-scrollbar/index.d.ts → types/elementar-rt-components-overlay-scrollbar.d.ts} +0 -0
  343. /package/{overlay/index.d.ts → types/elementar-rt-components-overlay.d.ts} +0 -0
  344. /package/{page-loading-bar/index.d.ts → types/elementar-rt-components-page-loading-bar.d.ts} +0 -0
  345. /package/{paginator/index.d.ts → types/elementar-rt-components-paginator.d.ts} +0 -0
  346. /package/{panel/index.d.ts → types/elementar-rt-components-panel.d.ts} +0 -0
  347. /package/{password-strength/index.d.ts → types/elementar-rt-components-password-strength.d.ts} +0 -0
  348. /package/{phone-input/index.d.ts → types/elementar-rt-components-phone-input.d.ts} +0 -0
  349. /package/{pin-input/index.d.ts → types/elementar-rt-components-pin-input.d.ts} +0 -0
  350. /package/{popover/index.d.ts → types/elementar-rt-components-popover.d.ts} +0 -0
  351. /package/{progress-bar/index.d.ts → types/elementar-rt-components-progress-bar.d.ts} +0 -0
  352. /package/{progress-spinner/index.d.ts → types/elementar-rt-components-progress-spinner.d.ts} +0 -0
  353. /package/{radio-card/index.d.ts → types/elementar-rt-components-radio-card.d.ts} +0 -0
  354. /package/{rail-nav/index.d.ts → types/elementar-rt-components-rail-nav.d.ts} +0 -0
  355. /package/{rating/index.d.ts → types/elementar-rt-components-rating.d.ts} +0 -0
  356. /package/{resizable-container/index.d.ts → types/elementar-rt-components-resizable-container.d.ts} +0 -0
  357. /package/{screen-loader/index.d.ts → types/elementar-rt-components-screen-loader.d.ts} +0 -0
  358. /package/{scroll-spy/index.d.ts → types/elementar-rt-components-scroll-spy.d.ts} +0 -0
  359. /package/{segmented/index.d.ts → types/elementar-rt-components-segmented.d.ts} +0 -0
  360. /package/{side-panel/index.d.ts → types/elementar-rt-components-side-panel.d.ts} +0 -0
  361. /package/{sidebar/index.d.ts → types/elementar-rt-components-sidebar.d.ts} +0 -0
  362. /package/{sidenav/index.d.ts → types/elementar-rt-components-sidenav.d.ts} +0 -0
  363. /package/{signature-pad/index.d.ts → types/elementar-rt-components-signature-pad.d.ts} +0 -0
  364. /package/{skeleton/index.d.ts → types/elementar-rt-components-skeleton.d.ts} +0 -0
  365. /package/{slider/index.d.ts → types/elementar-rt-components-slider.d.ts} +0 -0
  366. /package/{snackbar/index.d.ts → types/elementar-rt-components-snackbar.d.ts} +0 -0
  367. /package/{sort/index.d.ts → types/elementar-rt-components-sort.d.ts} +0 -0
  368. /package/{splash-screen/index.d.ts → types/elementar-rt-components-splash-screen.d.ts} +0 -0
  369. /package/{split-pane/index.d.ts → types/elementar-rt-components-split-pane.d.ts} +0 -0
  370. /package/{stat-card/index.d.ts → types/elementar-rt-components-stat-card.d.ts} +0 -0
  371. /package/{step-tracker/index.d.ts → types/elementar-rt-components-step-tracker.d.ts} +0 -0
  372. /package/{stepper/index.d.ts → types/elementar-rt-components-stepper.d.ts} +0 -0
  373. /package/{suggestions/index.d.ts → types/elementar-rt-components-suggestions.d.ts} +0 -0
  374. /package/{tab-panel/index.d.ts → types/elementar-rt-components-tab-panel.d.ts} +0 -0
  375. /package/{table/index.d.ts → types/elementar-rt-components-table.d.ts} +0 -0
  376. /package/{tabs/index.d.ts → types/elementar-rt-components-tabs.d.ts} +0 -0
  377. /package/{tag/index.d.ts → types/elementar-rt-components-tag.d.ts} +0 -0
  378. /package/{text-editor/index.d.ts → types/elementar-rt-components-text-editor.d.ts} +0 -0
  379. /package/{thumbnail-maker/index.d.ts → types/elementar-rt-components-thumbnail-maker.d.ts} +0 -0
  380. /package/{tiles/index.d.ts → types/elementar-rt-components-tiles.d.ts} +0 -0
  381. /package/{timeline/index.d.ts → types/elementar-rt-components-timeline.d.ts} +0 -0
  382. /package/{timepicker/index.d.ts → types/elementar-rt-components-timepicker.d.ts} +0 -0
  383. /package/{timezone-select/index.d.ts → types/elementar-rt-components-timezone-select.d.ts} +0 -0
  384. /package/{toast/index.d.ts → types/elementar-rt-components-toast.d.ts} +0 -0
  385. /package/{toolbar/index.d.ts → types/elementar-rt-components-toolbar.d.ts} +0 -0
  386. /package/{tooltip/index.d.ts → types/elementar-rt-components-tooltip.d.ts} +0 -0
  387. /package/{tree/index.d.ts → types/elementar-rt-components-tree.d.ts} +0 -0
  388. /package/{upload/index.d.ts → types/elementar-rt-components-upload.d.ts} +0 -0
  389. /package/{video-player/index.d.ts → types/elementar-rt-components-video-player.d.ts} +0 -0
  390. /package/{video-viewer/index.d.ts → types/elementar-rt-components-video-viewer.d.ts} +0 -0
  391. /package/{index.d.ts → types/elementar-rt-components.d.ts} +0 -0
@@ -1 +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;;;;"}
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,6EAAC;AAC3C,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,4EAAC;AACjB,IAAA,WAAW,GAAG,KAAK,CAAC,EAAE,kFAAC;AACvB,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE,2EAAC;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;;"}
@@ -3,16 +3,12 @@ import { inject, ElementRef, input, booleanAttribute, output, effect, Component
3
3
 
4
4
  class ExpandComponent {
5
5
  _elementRef = inject(ElementRef);
6
- expanded = input(false, ...(ngDevMode ? [{ debugName: "expanded", transform: booleanAttribute }] : [{
7
- transform: booleanAttribute
8
- }]));
9
- color = input('', ...(ngDevMode ? [{ debugName: "color" }] : []));
10
- expandLabel = input('Show more', ...(ngDevMode ? [{ debugName: "expandLabel" }] : []));
11
- collapseLabel = input('Show less', ...(ngDevMode ? [{ debugName: "collapseLabel" }] : []));
12
- showButtonIfExpanded = input(false, ...(ngDevMode ? [{ debugName: "showButtonIfExpanded", transform: booleanAttribute }] : [{
13
- transform: booleanAttribute
14
- }]));
15
- height = input('', ...(ngDevMode ? [{ debugName: "height" }] : []));
6
+ expanded = input(false, { ...(ngDevMode ? { debugName: "expanded" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
7
+ color = input('', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
8
+ expandLabel = input('Show more', ...(ngDevMode ? [{ debugName: "expandLabel" }] : /* istanbul ignore next */ []));
9
+ collapseLabel = input('Show less', ...(ngDevMode ? [{ debugName: "collapseLabel" }] : /* istanbul ignore next */ []));
10
+ showButtonIfExpanded = input(false, { ...(ngDevMode ? { debugName: "showButtonIfExpanded" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
11
+ height = input('', ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
16
12
  expandedChange = output();
17
13
  _expanded = false;
18
14
  constructor() {
@@ -41,15 +37,15 @@ class ExpandComponent {
41
37
  this._expanded = false;
42
38
  this.expandedChange.emit(this._expanded);
43
39
  }
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"] });
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ExpandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", 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.3 | MIT License | https://tailwindcss.com */\n"] });
46
42
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpandComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ExpandComponent, decorators: [{
48
44
  type: Component,
49
45
  args: [{ selector: 'emr-expand', exportAs: 'emrExpand', host: {
50
46
  'class': 'emr-expand',
51
47
  '[class.is-expanded]': '_expanded'
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"] }]
48
+ }, 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.3 | MIT License | https://tailwindcss.com */\n"] }]
53
49
  }], 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
50
 
55
51
  /**
@@ -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';\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;;;;"}
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,gFACpB,SAAS,EAAE,gBAAgB,EAAA,CAC3B;AACF,IAAA,KAAK,GAAG,KAAK,CAAC,EAAE,4EAAC;AACjB,IAAA,WAAW,GAAG,KAAK,CAAC,WAAW,kFAAC;AAChC,IAAA,aAAa,GAAG,KAAK,CAAC,WAAW,oFAAC;IAClC,oBAAoB,GAAG,KAAK,CAAC,KAAK,4FAChC,SAAS,EAAE,gBAAgB,EAAA,CAC3B;AACF,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,6EAAC;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;;"}
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { model, input, booleanAttribute, output, Component } from '@angular/core';
3
3
 
4
4
  class ExpansionPanelComponent {
5
- expanded = model(false, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
6
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
5
+ expanded = model(false, ...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
6
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
7
7
  expandedChange = output();
8
8
  _toggle() {
9
9
  if (this.disabled())
@@ -12,16 +12,16 @@ class ExpansionPanelComponent {
12
12
  this.expanded.set(next);
13
13
  this.expandedChange.emit(next);
14
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"] });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", 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.3 | MIT License | https://tailwindcss.com */\n"] });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ExpansionPanelComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ExpansionPanelComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'emr-expansion-panel', exportAs: 'emrExpansionPanel', host: {
21
21
  'class': 'emr-expansion-panel',
22
22
  '[class.is-expanded]': 'expanded()',
23
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"] }]
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.3 | MIT License | https://tailwindcss.com */\n"] }]
25
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
26
 
27
27
  /**
@@ -1 +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;;;;"}
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,+EAAC;IACvB,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;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;;"}
@@ -12,10 +12,10 @@ import { MenuOptionGroupDirective, AutoFocusDirective, FocusElementDirective } f
12
12
 
13
13
  class FilterBuilderOperationNameDirective {
14
14
  templateRef = inject(TemplateRef);
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderOperationNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: FilterBuilderOperationNameDirective, isStandalone: true, selector: "[emrFilterBuilderOperationName]", ngImport: i0 });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderOperationNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: FilterBuilderOperationNameDirective, isStandalone: true, selector: "[emrFilterBuilderOperationName]", ngImport: i0 });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderOperationNameDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderOperationNameDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[emrFilterBuilderOperationName]'
@@ -24,10 +24,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
24
24
 
25
25
  class FilterBuilderOperationIconDirective {
26
26
  templateRef = inject(TemplateRef);
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderOperationIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: FilterBuilderOperationIconDirective, isStandalone: true, selector: "[emrFilterBuilderOperationIcon]", ngImport: i0 });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderOperationIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: FilterBuilderOperationIconDirective, isStandalone: true, selector: "[emrFilterBuilderOperationIcon]", ngImport: i0 });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderOperationIconDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderOperationIconDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[emrFilterBuilderOperationIcon]'
@@ -35,16 +35,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
35
35
  }] });
36
36
 
37
37
  class FilterBuilderOperationDefDirective {
38
- id = input('', ...(ngDevMode ? [{ debugName: "id", alias: 'emrFilterBuilderOperationDef' }] : [{
39
- alias: 'emrFilterBuilderOperationDef'
40
- }]));
41
- allowedDataTypes = input([], ...(ngDevMode ? [{ debugName: "allowedDataTypes" }] : []));
42
- operationName = contentChild(FilterBuilderOperationNameDirective, ...(ngDevMode ? [{ debugName: "operationName" }] : []));
43
- operationIcon = contentChild(FilterBuilderOperationIconDirective, ...(ngDevMode ? [{ debugName: "operationIcon" }] : []));
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderOperationDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
45
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.25", type: FilterBuilderOperationDefDirective, isStandalone: true, selector: "[emrFilterBuilderOperationDef]", inputs: { id: { classPropertyName: "id", publicName: "emrFilterBuilderOperationDef", isSignal: true, isRequired: false, transformFunction: null }, allowedDataTypes: { classPropertyName: "allowedDataTypes", publicName: "allowedDataTypes", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "operationName", first: true, predicate: FilterBuilderOperationNameDirective, descendants: true, isSignal: true }, { propertyName: "operationIcon", first: true, predicate: FilterBuilderOperationIconDirective, descendants: true, isSignal: true }], ngImport: i0 });
38
+ id = input('', { ...(ngDevMode ? { debugName: "id" } : /* istanbul ignore next */ {}), alias: 'emrFilterBuilderOperationDef' });
39
+ allowedDataTypes = input([], ...(ngDevMode ? [{ debugName: "allowedDataTypes" }] : /* istanbul ignore next */ []));
40
+ operationName = contentChild(FilterBuilderOperationNameDirective, ...(ngDevMode ? [{ debugName: "operationName" }] : /* istanbul ignore next */ []));
41
+ operationIcon = contentChild(FilterBuilderOperationIconDirective, ...(ngDevMode ? [{ debugName: "operationIcon" }] : /* istanbul ignore next */ []));
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderOperationDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.22", type: FilterBuilderOperationDefDirective, isStandalone: true, selector: "[emrFilterBuilderOperationDef]", inputs: { id: { classPropertyName: "id", publicName: "emrFilterBuilderOperationDef", isSignal: true, isRequired: false, transformFunction: null }, allowedDataTypes: { classPropertyName: "allowedDataTypes", publicName: "allowedDataTypes", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "operationName", first: true, predicate: FilterBuilderOperationNameDirective, descendants: true, isSignal: true }, { propertyName: "operationIcon", first: true, predicate: FilterBuilderOperationIconDirective, descendants: true, isSignal: true }], ngImport: i0 });
46
44
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderOperationDefDirective, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderOperationDefDirective, decorators: [{
48
46
  type: Directive,
49
47
  args: [{
50
48
  selector: '[emrFilterBuilderOperationDef]'
@@ -62,9 +60,9 @@ class FilterBuilderComponent {
62
60
  '_resetArrayValue': this._resetArrayValue,
63
61
  '_resetNumberValue': this._resetNumberValue,
64
62
  };
65
- value = input([], ...(ngDevMode ? [{ debugName: "value" }] : []));
66
- fieldDefs = input([], ...(ngDevMode ? [{ debugName: "fieldDefs" }] : []));
67
- categories = input([], ...(ngDevMode ? [{ debugName: "categories" }] : []));
63
+ value = input([], ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
64
+ fieldDefs = input([], ...(ngDevMode ? [{ debugName: "fieldDefs" }] : /* istanbul ignore next */ []));
65
+ categories = input([], ...(ngDevMode ? [{ debugName: "categories" }] : /* istanbul ignore next */ []));
68
66
  groupOperations = input([
69
67
  {
70
68
  id: 'and',
@@ -74,11 +72,11 @@ class FilterBuilderComponent {
74
72
  id: 'or',
75
73
  name: 'Or'
76
74
  }
77
- ], ...(ngDevMode ? [{ debugName: "groupOperations" }] : []));
78
- customOperations = input([], ...(ngDevMode ? [{ debugName: "customOperations" }] : []));
75
+ ], ...(ngDevMode ? [{ debugName: "groupOperations" }] : /* istanbul ignore next */ []));
76
+ customOperations = input([], ...(ngDevMode ? [{ debugName: "customOperations" }] : /* istanbul ignore next */ []));
79
77
  _logicalOperator = this.groupOperations()[0].id;
80
- _prebuiltOperationDefs = viewChildren(FilterBuilderOperationDefDirective, ...(ngDevMode ? [{ debugName: "_prebuiltOperationDefs" }] : []));
81
- _customOperationDefs = contentChildren(FilterBuilderOperationDefDirective, ...(ngDevMode ? [{ debugName: "_customOperationDefs" }] : []));
78
+ _prebuiltOperationDefs = viewChildren(FilterBuilderOperationDefDirective, ...(ngDevMode ? [{ debugName: "_prebuiltOperationDefs" }] : /* istanbul ignore next */ []));
79
+ _customOperationDefs = contentChildren(FilterBuilderOperationDefDirective, ...(ngDevMode ? [{ debugName: "_customOperationDefs" }] : /* istanbul ignore next */ []));
82
80
  _operationDefs = [];
83
81
  valueChanged = output();
84
82
  _value = [];
@@ -299,10 +297,10 @@ class FilterBuilderComponent {
299
297
  });
300
298
  return result;
301
299
  }
302
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
303
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: FilterBuilderComponent, isStandalone: true, selector: "emr-filter-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, fieldDefs: { classPropertyName: "fieldDefs", publicName: "fieldDefs", isSignal: true, isRequired: false, transformFunction: null }, categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, groupOperations: { classPropertyName: "groupOperations", publicName: "groupOperations", isSignal: true, isRequired: false, transformFunction: null }, customOperations: { classPropertyName: "customOperations", publicName: "customOperations", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChanged: "valueChanged" }, host: { classAttribute: "emr-filter-builder" }, queries: [{ propertyName: "_customOperationDefs", predicate: FilterBuilderOperationDefDirective, isSignal: true }], viewQueries: [{ propertyName: "_prebuiltOperationDefs", predicate: FilterBuilderOperationDefDirective, descendants: true, isSignal: true }], exportAs: ["emrFilterBuilder"], ngImport: i0, template: "@if (_isServer) {\n <ng-content/>\n}\n\n<ng-template #itemsTpl let-items>\n <div class=\"group\">\n @for (item of items; track item; let index = $index) {\n @if (_isGroup(item)) {\n <div class=\"flex items-center group-operations\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button [matMenuTriggerFor]=\"nestedGroupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName(item) }}\n </button>\n <div [matMenuTriggerFor]=\"addGroupMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n <mat-menu #nestedGroupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['logicalOperator']\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #addGroupMenu>\n <button mat-menu-item (click)=\"addCondition(item)\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup(item)\">Add Group</button>\n </mat-menu>\n </div>\n @if (item['value'].length > 0) {\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: item['value'] }\"></ng-container>\n }\n } @else if (_isCondition(item)) {\n <div class=\"condition\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button class=\"condition-field\"\n [matMenuTriggerFor]=\"fieldsMenu\">{{ getConditionField(item['value'][0])?.name }}</button>\n <button class=\"condition-operation\"\n [matMenuTriggerFor]=\"operationsMenu\">\n <ng-template [ngTemplateOutlet]=\"getConditionOperation(item['value'][1])?.name\"></ng-template>\n </button>\n <div class=\"relative\">\n @if (editItem && editItem === item) {\n <div class=\"absolute start-0 top-0 -translate-y-1/2\">\n @switch (getFieldType(editItem)) {\n @case ('array') {\n @switch (editItem['value'][1]) {\n @case ('equals') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\"\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n\n @case ('isAnyOf') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\" multiple\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (closed)=\"selectClosed()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n }\n\n @case ('number') {\n @switch (editItem['value'][1]) {\n @case ('isBetween') {\n <div class=\"flex gap-2 items-center\"\n emrFocusElement (elementBlurred)=\"cancelEdit()\">\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n [(ngModel)]=\"item['value'][2][0]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n <div class=\"text-neutral-500\">&ndash;</div>\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput\n [(ngModel)]=\"item['value'][2][1]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n </div>\n }\n @default {\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n }\n\n @default {\n <mat-form-field class=\"form-field\">\n <input type=\"text\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n </div>\n } @else {\n @if (item['value'][1] !== 'isBlank' && item['value'][1] !== 'isNotBlank') {\n @if (isValueNotEmpty(item)) {\n @if (getFieldType(item) === 'array') {\n @if (item['value'][1] === 'equals') {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n {{ getDataSourceItemNameById(item, item['value'][2]) }}\n </button>\n } @else {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n @for (dataSourceItemId of item['value'][2]; track dataSourceItemId; let last = $last) {\n <span>{{ getDataSourceItemNameById(item, dataSourceItemId) }}</span>\n @if (!last) {\n <span class=\"text-neutral-500\">|</span>\n }\n }\n </button>\n }\n } @else {\n @if (item['value'][1] === 'isBetween') {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2][0] }}</span>\n <span class=\"text-neutral-500\">&ndash;</span>\n <span>{{ item['value'][2][1] }}</span>\n </button>\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2] }}</span>\n </button>\n }\n }\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span i18n>&lt;enter a value&gt;</span>\n </button>\n }\n }\n }\n </div>\n </div>\n <mat-menu #fieldsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['value'][0]\">\n @for (fieldDef of fieldDefs(); track fieldDef) {\n <mat-option [value]=\"fieldDef.dataField\"\n (click)=\"selectConditionField(item, fieldDef)\">{{ fieldDef.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #operationsMenu>\n <div emrMenuOptionGroup [ngModel]=\"item['value'][1]\">\n @for (operation of _operationDefs; track operation.id()) {\n <div [hidden]=\"!isOperationAllowedForCondition(item['value'][0], operation.id())\">\n <mat-option [value]=\"operation.id()\" (click)=\"operationChanged(item, operation.id())\">\n <div class=\"flex items-center gap-3\">\n @if (operation.operationIcon()) {\n <ng-template [ngTemplateOutlet]=\"operationIconTemplateRef(operation)\"></ng-template>\n }\n <div>\n <ng-template [ngTemplateOutlet]=\"operationNameTemplateRef(operation)\"></ng-template>\n </div>\n </div>\n </mat-option>\n </div>\n }\n </div>\n </mat-menu>\n }\n }\n </div>\n</ng-template>\n\n<div class=\"group\">\n <div class=\"flex items-center group-operations\">\n <button [matMenuTriggerFor]=\"groupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName() }}\n </button>\n <div [matMenuTriggerFor]=\"addMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: _value }\"></ng-container>\n</div>\n\n<mat-menu #groupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"_logicalOperator\" (ngModelChange)=\"_emitChangeEvent()\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n</mat-menu>\n<mat-menu #addMenu>\n <button mat-menu-item (click)=\"addCondition()\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup()\">Add Group</button>\n</mat-menu>\n\n<ng-container emrFilterBuilderOperationDef=\"contains\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Contains</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"doesNotContain\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Does not contain</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"startsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Starts with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"endsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Ends with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"equals\" [allowedDataTypes]=\"['string', 'number', 'array', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"notEquals\" [allowedDataTypes]=\"['string', 'number', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Not equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isNotBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is not blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBetween\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is between</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isAnyOf\" [allowedDataTypes]=\"['array']\">\n <ng-template emrFilterBuilderOperationName>Is any of</ng-template>\n</ng-container>\n", styles: [":host{--emr-filter-builder-group-operations-gap: calc(var(--spacing) * 2);--emr-filter-builder-group-operation-font-size: var(--text-tiny);--emr-filter-builder-group-operation-color: var(--color-neutral-800);--emr-filter-builder-group-operation-bg: transparent;--emr-filter-builder-group-operation-font-weight: 400;--emr-filter-builder-group-operation-border-radius: .5rem;--emr-filter-builder-group-operation-bpadding: 0 calc(var(--spacing) * 2);--emr-filter-builder-group-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-200);--emr-filter-builder-group-operation-active-color: var(--color-neutral-900);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-300);--emr-filter-builder-group-operation-border: 1px solid var(--color-neutral-500);--emr-filter-builder-group-add-color: var(--color-primary);--emr-filter-builder-group-add-hover-color: var(--color-primary);--emr-filter-builder-group-margin: 0;--emr-filter-builder-group-padding: 0;--emr-filter-builder-group-gap: calc(var(--spacing) * 4);--emr-filter-builder-condition-gap: calc(var(--spacing) * 2);--emr-filter-builder-condition-field-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-field-font-size: var(--text-tiny);--emr-filter-builder-condition-field-color: var(--color-neutral-800);--emr-filter-builder-condition-field-bg: var(--color-primary-300);--emr-filter-builder-condition-field-font-weight: 400;--emr-filter-builder-condition-field-border-radius: .5rem;--emr-filter-builder-condition-field-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-field-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-field-hover-bg: var(--color-primary-400);--emr-filter-builder-condition-field-active-color: white;--emr-filter-builder-condition-field-active-bg: var(--color-primary-500);--emr-filter-builder-condition-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-operation-font-size: var(--text-tiny);--emr-filter-builder-condition-operation-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-bg: var(--color-tertiary-300);--emr-filter-builder-condition-operation-font-weight: 400;--emr-filter-builder-condition-operation-border-radius: .5rem;--emr-filter-builder-condition-operation-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-hover-bg: var(--color-tertiary-400);--emr-filter-builder-condition-operation-active-color: white;--emr-filter-builder-condition-operation-active-bg: var(--color-tertiary-500);--emr-filter-builder-condition-value-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-value-font-size: var(--text-tiny);--emr-filter-builder-condition-value-color: var(--color-neutral-800);--emr-filter-builder-condition-value-bg: var(--color-neutral-200);--emr-filter-builder-condition-value-font-weight: 400;--emr-filter-builder-condition-value-border-radius: .5rem;--emr-filter-builder-condition-value-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-value-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-value-hover-bg: var(--color-neutral-300);--emr-filter-builder-condition-remove-color: oklch(63.7% .237 25.331);--emr-filter-builder-condition-remove-hover-color: oklch(57.7% .245 27.325);display:block}:host ::ng-deep .mat-mdc-form-field-infix{--mat-form-field-container-height: 46px !important;--mat-form-field-container-vertical-padding: 12px !important}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host .form-field{width:200px}:host .form-field-number{width:140px}:host .group-operations{gap:var(--emr-filter-builder-group-operations-gap)}:host .group{margin:var(--emr-filter-builder-group-margin);padding:var(--emr-filter-builder-group-padding);display:flex;flex-direction:column;gap:var(--emr-filter-builder-group-gap)}:host .group .group{margin-left:calc(var(--spacing) * 4)}:host .icon:empty{display:none}:host .group-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-group-operation-height);font-size:var(--emr-filter-builder-group-operation-font-size);font-weight:var(--emr-filter-builder-group-operation-font-weight);color:var(--emr-filter-builder-group-operation-color);background:var(--emr-filter-builder-group-operation-bg);border:var(--emr-filter-builder-group-operation-border);border-radius:var(--emr-filter-builder-group-operation-border-radius);padding:var(--emr-filter-builder-group-operation-bpadding)}:host .group-operation:hover{color:var(--emr-filter-builder-group-operation-hover-color);background:var(--emr-filter-builder-group-operation-hover-bg)}:host .group-operation:active,:host .group-operation.active{color:var(--emr-filter-builder-group-operation-active-color);background:var(--emr-filter-builder-group-operation-active-bg)}:host .condition{display:flex;align-items:center;gap:var(--emr-filter-builder-condition-gap)}:host .condition-field{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-field-height);font-size:var(--emr-filter-builder-condition-field-font-size);font-weight:var(--emr-filter-builder-condition-field-font-weight);color:var(--emr-filter-builder-condition-field-color);background:var(--emr-filter-builder-condition-field-bg);border-radius:var(--emr-filter-builder-condition-field-border-radius);padding:var(--emr-filter-builder-condition-field-bpadding)}:host .condition-field:hover{color:var(--emr-filter-builder-condition-field-hover-color);background:var(--emr-filter-builder-condition-field-hover-bg)}:host .add{line-height:0;color:var(--emr-filter-builder-group-add-color);cursor:pointer}:host .add:hover{color:var(--emr-filter-builder-group-add-hover-color)}:host .remove{line-height:0;color:var(--emr-filter-builder-condition-remove-color);cursor:pointer}:host .remove:hover{color:var(--emr-filter-builder-condition-remove-hover-color)}:host .condition-field:active,:host .condition-field.active{color:var(--emr-filter-builder-condition-field-active-color);background:var(--emr-filter-builder-condition-field-active-bg)}:host .condition-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-operation-height);font-size:var(--emr-filter-builder-condition-operation-font-size);font-weight:var(--emr-filter-builder-condition-operation-font-weight);color:var(--emr-filter-builder-condition-operation-color);background:var(--emr-filter-builder-condition-operation-bg);border-radius:var(--emr-filter-builder-condition-operation-border-radius);padding:var(--emr-filter-builder-condition-operation-bpadding)}:host .condition-operation:hover{color:var(--emr-filter-builder-condition-operation-hover-color);background:var(--emr-filter-builder-condition-operation-hover-bg)}:host .condition-operation:active,:host .condition-operation.active{color:var(--emr-filter-builder-condition-operation-active-color);background:var(--emr-filter-builder-condition-operation-active-bg)}:host .condition-value{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-value-height);font-size:var(--emr-filter-builder-condition-value-font-size);font-weight:var(--emr-filter-builder-condition-value-font-weight);color:var(--emr-filter-builder-condition-value-color);background:var(--emr-filter-builder-condition-value-bg);border-radius:var(--emr-filter-builder-condition-value-border-radius);padding:var(--emr-filter-builder-condition-value-bpadding)}:host .condition-value:hover{color:var(--emr-filter-builder-condition-value-hover-color);background:var(--emr-filter-builder-condition-value-hover-bg)}:host-context(html.dark){--emr-filter-builder-group-operation-color: var(--color-neutral-200);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-600);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-650);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-100);--emr-filter-builder-group-operation-active-color: var(--color-neutral-50)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MenuOptionGroupDirective, selector: "[emrMenuOptionGroup]", outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: AutoFocusDirective, selector: "[emrAutoFocus]", exportAs: ["emrAutoFocus"] }, { kind: "directive", type: FocusElementDirective, selector: "[emrFocusElement]", inputs: ["checkChildren"], outputs: ["elementFocused", "elementBlurred"], exportAs: ["emrFocusElement"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: FilterBuilderOperationDefDirective, selector: "[emrFilterBuilderOperationDef]", inputs: ["emrFilterBuilderOperationDef", "allowedDataTypes"] }, { kind: "directive", type: FilterBuilderOperationNameDirective, selector: "[emrFilterBuilderOperationName]" }] });
300
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
301
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: FilterBuilderComponent, isStandalone: true, selector: "emr-filter-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, fieldDefs: { classPropertyName: "fieldDefs", publicName: "fieldDefs", isSignal: true, isRequired: false, transformFunction: null }, categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, groupOperations: { classPropertyName: "groupOperations", publicName: "groupOperations", isSignal: true, isRequired: false, transformFunction: null }, customOperations: { classPropertyName: "customOperations", publicName: "customOperations", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChanged: "valueChanged" }, host: { classAttribute: "emr-filter-builder" }, queries: [{ propertyName: "_customOperationDefs", predicate: FilterBuilderOperationDefDirective, isSignal: true }], viewQueries: [{ propertyName: "_prebuiltOperationDefs", predicate: FilterBuilderOperationDefDirective, descendants: true, isSignal: true }], exportAs: ["emrFilterBuilder"], ngImport: i0, template: "@if (_isServer) {\n <ng-content/>\n}\n\n<ng-template #itemsTpl let-items>\n <div class=\"group\">\n @for (item of items; track item; let index = $index) {\n @if (_isGroup(item)) {\n <div class=\"flex items-center group-operations\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button [matMenuTriggerFor]=\"nestedGroupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName(item) }}\n </button>\n <div [matMenuTriggerFor]=\"addGroupMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n <mat-menu #nestedGroupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['logicalOperator']\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #addGroupMenu>\n <button mat-menu-item (click)=\"addCondition(item)\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup(item)\">Add Group</button>\n </mat-menu>\n </div>\n @if (item['value'].length > 0) {\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: item['value'] }\"></ng-container>\n }\n } @else if (_isCondition(item)) {\n <div class=\"condition\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button class=\"condition-field\"\n [matMenuTriggerFor]=\"fieldsMenu\">{{ getConditionField(item['value'][0])?.name }}</button>\n <button class=\"condition-operation\"\n [matMenuTriggerFor]=\"operationsMenu\">\n <ng-template [ngTemplateOutlet]=\"getConditionOperation(item['value'][1])?.name\"></ng-template>\n </button>\n <div class=\"relative\">\n @if (editItem && editItem === item) {\n <div class=\"absolute start-0 top-0 -translate-y-1/2\">\n @switch (getFieldType(editItem)) {\n @case ('array') {\n @switch (editItem['value'][1]) {\n @case ('equals') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\"\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n\n @case ('isAnyOf') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\" multiple\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (closed)=\"selectClosed()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n }\n\n @case ('number') {\n @switch (editItem['value'][1]) {\n @case ('isBetween') {\n <div class=\"flex gap-2 items-center\"\n emrFocusElement (elementBlurred)=\"cancelEdit()\">\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n [(ngModel)]=\"item['value'][2][0]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n <div class=\"text-neutral-500\">&ndash;</div>\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput\n [(ngModel)]=\"item['value'][2][1]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n </div>\n }\n @default {\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n }\n\n @default {\n <mat-form-field class=\"form-field\">\n <input type=\"text\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n </div>\n } @else {\n @if (item['value'][1] !== 'isBlank' && item['value'][1] !== 'isNotBlank') {\n @if (isValueNotEmpty(item)) {\n @if (getFieldType(item) === 'array') {\n @if (item['value'][1] === 'equals') {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n {{ getDataSourceItemNameById(item, item['value'][2]) }}\n </button>\n } @else {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n @for (dataSourceItemId of item['value'][2]; track dataSourceItemId; let last = $last) {\n <span>{{ getDataSourceItemNameById(item, dataSourceItemId) }}</span>\n @if (!last) {\n <span class=\"text-neutral-500\">|</span>\n }\n }\n </button>\n }\n } @else {\n @if (item['value'][1] === 'isBetween') {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2][0] }}</span>\n <span class=\"text-neutral-500\">&ndash;</span>\n <span>{{ item['value'][2][1] }}</span>\n </button>\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2] }}</span>\n </button>\n }\n }\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span i18n>&lt;enter a value&gt;</span>\n </button>\n }\n }\n }\n </div>\n </div>\n <mat-menu #fieldsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['value'][0]\">\n @for (fieldDef of fieldDefs(); track fieldDef) {\n <mat-option [value]=\"fieldDef.dataField\"\n (click)=\"selectConditionField(item, fieldDef)\">{{ fieldDef.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #operationsMenu>\n <div emrMenuOptionGroup [ngModel]=\"item['value'][1]\">\n @for (operation of _operationDefs; track operation.id()) {\n <div [hidden]=\"!isOperationAllowedForCondition(item['value'][0], operation.id())\">\n <mat-option [value]=\"operation.id()\" (click)=\"operationChanged(item, operation.id())\">\n <div class=\"flex items-center gap-3\">\n @if (operation.operationIcon()) {\n <ng-template [ngTemplateOutlet]=\"operationIconTemplateRef(operation)\"></ng-template>\n }\n <div>\n <ng-template [ngTemplateOutlet]=\"operationNameTemplateRef(operation)\"></ng-template>\n </div>\n </div>\n </mat-option>\n </div>\n }\n </div>\n </mat-menu>\n }\n }\n </div>\n</ng-template>\n\n<div class=\"group\">\n <div class=\"flex items-center group-operations\">\n <button [matMenuTriggerFor]=\"groupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName() }}\n </button>\n <div [matMenuTriggerFor]=\"addMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: _value }\"></ng-container>\n</div>\n\n<mat-menu #groupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"_logicalOperator\" (ngModelChange)=\"_emitChangeEvent()\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n</mat-menu>\n<mat-menu #addMenu>\n <button mat-menu-item (click)=\"addCondition()\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup()\">Add Group</button>\n</mat-menu>\n\n<ng-container emrFilterBuilderOperationDef=\"contains\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Contains</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"doesNotContain\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Does not contain</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"startsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Starts with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"endsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Ends with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"equals\" [allowedDataTypes]=\"['string', 'number', 'array', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"notEquals\" [allowedDataTypes]=\"['string', 'number', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Not equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isNotBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is not blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBetween\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is between</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isAnyOf\" [allowedDataTypes]=\"['array']\">\n <ng-template emrFilterBuilderOperationName>Is any of</ng-template>\n</ng-container>\n", styles: [":host{--emr-filter-builder-group-operations-gap: calc(var(--spacing) * 2);--emr-filter-builder-group-operation-font-size: var(--text-tiny);--emr-filter-builder-group-operation-color: var(--color-neutral-800);--emr-filter-builder-group-operation-bg: transparent;--emr-filter-builder-group-operation-font-weight: 400;--emr-filter-builder-group-operation-border-radius: .5rem;--emr-filter-builder-group-operation-bpadding: 0 calc(var(--spacing) * 2);--emr-filter-builder-group-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-200);--emr-filter-builder-group-operation-active-color: var(--color-neutral-900);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-300);--emr-filter-builder-group-operation-border: 1px solid var(--color-neutral-500);--emr-filter-builder-group-add-color: var(--color-primary);--emr-filter-builder-group-add-hover-color: var(--color-primary);--emr-filter-builder-group-margin: 0;--emr-filter-builder-group-padding: 0;--emr-filter-builder-group-gap: calc(var(--spacing) * 4);--emr-filter-builder-condition-gap: calc(var(--spacing) * 2);--emr-filter-builder-condition-field-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-field-font-size: var(--text-tiny);--emr-filter-builder-condition-field-color: var(--color-neutral-800);--emr-filter-builder-condition-field-bg: var(--color-primary-300);--emr-filter-builder-condition-field-font-weight: 400;--emr-filter-builder-condition-field-border-radius: .5rem;--emr-filter-builder-condition-field-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-field-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-field-hover-bg: var(--color-primary-400);--emr-filter-builder-condition-field-active-color: white;--emr-filter-builder-condition-field-active-bg: var(--color-primary-500);--emr-filter-builder-condition-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-operation-font-size: var(--text-tiny);--emr-filter-builder-condition-operation-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-bg: var(--color-tertiary-300);--emr-filter-builder-condition-operation-font-weight: 400;--emr-filter-builder-condition-operation-border-radius: .5rem;--emr-filter-builder-condition-operation-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-hover-bg: var(--color-tertiary-400);--emr-filter-builder-condition-operation-active-color: white;--emr-filter-builder-condition-operation-active-bg: var(--color-tertiary-500);--emr-filter-builder-condition-value-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-value-font-size: var(--text-tiny);--emr-filter-builder-condition-value-color: var(--color-neutral-800);--emr-filter-builder-condition-value-bg: var(--color-neutral-200);--emr-filter-builder-condition-value-font-weight: 400;--emr-filter-builder-condition-value-border-radius: .5rem;--emr-filter-builder-condition-value-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-value-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-value-hover-bg: var(--color-neutral-300);--emr-filter-builder-condition-remove-color: oklch(63.7% .237 25.331);--emr-filter-builder-condition-remove-hover-color: oklch(57.7% .245 27.325);display:block}:host ::ng-deep .mat-mdc-form-field-infix{--mat-form-field-container-height: 46px !important;--mat-form-field-container-vertical-padding: 12px !important}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host .form-field{width:200px}:host .form-field-number{width:140px}:host .group-operations{gap:var(--emr-filter-builder-group-operations-gap)}:host .group{margin:var(--emr-filter-builder-group-margin);padding:var(--emr-filter-builder-group-padding);display:flex;flex-direction:column;gap:var(--emr-filter-builder-group-gap)}:host .group .group{margin-left:calc(var(--spacing) * 4)}:host .icon:empty{display:none}:host .group-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-group-operation-height);font-size:var(--emr-filter-builder-group-operation-font-size);font-weight:var(--emr-filter-builder-group-operation-font-weight);color:var(--emr-filter-builder-group-operation-color);background:var(--emr-filter-builder-group-operation-bg);border:var(--emr-filter-builder-group-operation-border);border-radius:var(--emr-filter-builder-group-operation-border-radius);padding:var(--emr-filter-builder-group-operation-bpadding)}:host .group-operation:hover{color:var(--emr-filter-builder-group-operation-hover-color);background:var(--emr-filter-builder-group-operation-hover-bg)}:host .group-operation:active,:host .group-operation.active{color:var(--emr-filter-builder-group-operation-active-color);background:var(--emr-filter-builder-group-operation-active-bg)}:host .condition{display:flex;align-items:center;gap:var(--emr-filter-builder-condition-gap)}:host .condition-field{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-field-height);font-size:var(--emr-filter-builder-condition-field-font-size);font-weight:var(--emr-filter-builder-condition-field-font-weight);color:var(--emr-filter-builder-condition-field-color);background:var(--emr-filter-builder-condition-field-bg);border-radius:var(--emr-filter-builder-condition-field-border-radius);padding:var(--emr-filter-builder-condition-field-bpadding)}:host .condition-field:hover{color:var(--emr-filter-builder-condition-field-hover-color);background:var(--emr-filter-builder-condition-field-hover-bg)}:host .add{line-height:0;color:var(--emr-filter-builder-group-add-color);cursor:pointer}:host .add:hover{color:var(--emr-filter-builder-group-add-hover-color)}:host .remove{line-height:0;color:var(--emr-filter-builder-condition-remove-color);cursor:pointer}:host .remove:hover{color:var(--emr-filter-builder-condition-remove-hover-color)}:host .condition-field:active,:host .condition-field.active{color:var(--emr-filter-builder-condition-field-active-color);background:var(--emr-filter-builder-condition-field-active-bg)}:host .condition-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-operation-height);font-size:var(--emr-filter-builder-condition-operation-font-size);font-weight:var(--emr-filter-builder-condition-operation-font-weight);color:var(--emr-filter-builder-condition-operation-color);background:var(--emr-filter-builder-condition-operation-bg);border-radius:var(--emr-filter-builder-condition-operation-border-radius);padding:var(--emr-filter-builder-condition-operation-bpadding)}:host .condition-operation:hover{color:var(--emr-filter-builder-condition-operation-hover-color);background:var(--emr-filter-builder-condition-operation-hover-bg)}:host .condition-operation:active,:host .condition-operation.active{color:var(--emr-filter-builder-condition-operation-active-color);background:var(--emr-filter-builder-condition-operation-active-bg)}:host .condition-value{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-value-height);font-size:var(--emr-filter-builder-condition-value-font-size);font-weight:var(--emr-filter-builder-condition-value-font-weight);color:var(--emr-filter-builder-condition-value-color);background:var(--emr-filter-builder-condition-value-bg);border-radius:var(--emr-filter-builder-condition-value-border-radius);padding:var(--emr-filter-builder-condition-value-bpadding)}:host .condition-value:hover{color:var(--emr-filter-builder-condition-value-hover-color);background:var(--emr-filter-builder-condition-value-hover-bg)}:host-context(html.dark){--emr-filter-builder-group-operation-color: var(--color-neutral-200);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-600);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-650);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-100);--emr-filter-builder-group-operation-active-color: var(--color-neutral-50)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: MenuOptionGroupDirective, selector: "[emrMenuOptionGroup]", outputs: ["valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: AutoFocusDirective, selector: "[emrAutoFocus]", exportAs: ["emrAutoFocus"] }, { kind: "directive", type: FocusElementDirective, selector: "[emrFocusElement]", inputs: ["checkChildren"], outputs: ["elementFocused", "elementBlurred"], exportAs: ["emrFocusElement"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: FilterBuilderOperationDefDirective, selector: "[emrFilterBuilderOperationDef]", inputs: ["emrFilterBuilderOperationDef", "allowedDataTypes"] }, { kind: "directive", type: FilterBuilderOperationNameDirective, selector: "[emrFilterBuilderOperationName]" }] });
304
302
  }
305
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FilterBuilderComponent, decorators: [{
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FilterBuilderComponent, decorators: [{
306
304
  type: Component,
307
305
  args: [{ selector: 'emr-filter-builder', exportAs: 'emrFilterBuilder', imports: [
308
306
  MatIcon,
@@ -322,7 +320,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
322
320
  FilterBuilderOperationNameDirective
323
321
  ], host: {
324
322
  'class': 'emr-filter-builder'
325
- }, template: "@if (_isServer) {\n <ng-content/>\n}\n\n<ng-template #itemsTpl let-items>\n <div class=\"group\">\n @for (item of items; track item; let index = $index) {\n @if (_isGroup(item)) {\n <div class=\"flex items-center group-operations\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button [matMenuTriggerFor]=\"nestedGroupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName(item) }}\n </button>\n <div [matMenuTriggerFor]=\"addGroupMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n <mat-menu #nestedGroupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['logicalOperator']\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #addGroupMenu>\n <button mat-menu-item (click)=\"addCondition(item)\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup(item)\">Add Group</button>\n </mat-menu>\n </div>\n @if (item['value'].length > 0) {\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: item['value'] }\"></ng-container>\n }\n } @else if (_isCondition(item)) {\n <div class=\"condition\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button class=\"condition-field\"\n [matMenuTriggerFor]=\"fieldsMenu\">{{ getConditionField(item['value'][0])?.name }}</button>\n <button class=\"condition-operation\"\n [matMenuTriggerFor]=\"operationsMenu\">\n <ng-template [ngTemplateOutlet]=\"getConditionOperation(item['value'][1])?.name\"></ng-template>\n </button>\n <div class=\"relative\">\n @if (editItem && editItem === item) {\n <div class=\"absolute start-0 top-0 -translate-y-1/2\">\n @switch (getFieldType(editItem)) {\n @case ('array') {\n @switch (editItem['value'][1]) {\n @case ('equals') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\"\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n\n @case ('isAnyOf') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\" multiple\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (closed)=\"selectClosed()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n }\n\n @case ('number') {\n @switch (editItem['value'][1]) {\n @case ('isBetween') {\n <div class=\"flex gap-2 items-center\"\n emrFocusElement (elementBlurred)=\"cancelEdit()\">\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n [(ngModel)]=\"item['value'][2][0]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n <div class=\"text-neutral-500\">&ndash;</div>\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput\n [(ngModel)]=\"item['value'][2][1]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n </div>\n }\n @default {\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n }\n\n @default {\n <mat-form-field class=\"form-field\">\n <input type=\"text\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n </div>\n } @else {\n @if (item['value'][1] !== 'isBlank' && item['value'][1] !== 'isNotBlank') {\n @if (isValueNotEmpty(item)) {\n @if (getFieldType(item) === 'array') {\n @if (item['value'][1] === 'equals') {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n {{ getDataSourceItemNameById(item, item['value'][2]) }}\n </button>\n } @else {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n @for (dataSourceItemId of item['value'][2]; track dataSourceItemId; let last = $last) {\n <span>{{ getDataSourceItemNameById(item, dataSourceItemId) }}</span>\n @if (!last) {\n <span class=\"text-neutral-500\">|</span>\n }\n }\n </button>\n }\n } @else {\n @if (item['value'][1] === 'isBetween') {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2][0] }}</span>\n <span class=\"text-neutral-500\">&ndash;</span>\n <span>{{ item['value'][2][1] }}</span>\n </button>\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2] }}</span>\n </button>\n }\n }\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span i18n>&lt;enter a value&gt;</span>\n </button>\n }\n }\n }\n </div>\n </div>\n <mat-menu #fieldsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['value'][0]\">\n @for (fieldDef of fieldDefs(); track fieldDef) {\n <mat-option [value]=\"fieldDef.dataField\"\n (click)=\"selectConditionField(item, fieldDef)\">{{ fieldDef.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #operationsMenu>\n <div emrMenuOptionGroup [ngModel]=\"item['value'][1]\">\n @for (operation of _operationDefs; track operation.id()) {\n <div [hidden]=\"!isOperationAllowedForCondition(item['value'][0], operation.id())\">\n <mat-option [value]=\"operation.id()\" (click)=\"operationChanged(item, operation.id())\">\n <div class=\"flex items-center gap-3\">\n @if (operation.operationIcon()) {\n <ng-template [ngTemplateOutlet]=\"operationIconTemplateRef(operation)\"></ng-template>\n }\n <div>\n <ng-template [ngTemplateOutlet]=\"operationNameTemplateRef(operation)\"></ng-template>\n </div>\n </div>\n </mat-option>\n </div>\n }\n </div>\n </mat-menu>\n }\n }\n </div>\n</ng-template>\n\n<div class=\"group\">\n <div class=\"flex items-center group-operations\">\n <button [matMenuTriggerFor]=\"groupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName() }}\n </button>\n <div [matMenuTriggerFor]=\"addMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: _value }\"></ng-container>\n</div>\n\n<mat-menu #groupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"_logicalOperator\" (ngModelChange)=\"_emitChangeEvent()\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n</mat-menu>\n<mat-menu #addMenu>\n <button mat-menu-item (click)=\"addCondition()\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup()\">Add Group</button>\n</mat-menu>\n\n<ng-container emrFilterBuilderOperationDef=\"contains\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Contains</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"doesNotContain\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Does not contain</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"startsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Starts with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"endsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Ends with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"equals\" [allowedDataTypes]=\"['string', 'number', 'array', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"notEquals\" [allowedDataTypes]=\"['string', 'number', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Not equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isNotBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is not blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBetween\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is between</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isAnyOf\" [allowedDataTypes]=\"['array']\">\n <ng-template emrFilterBuilderOperationName>Is any of</ng-template>\n</ng-container>\n", styles: [":host{--emr-filter-builder-group-operations-gap: calc(var(--spacing) * 2);--emr-filter-builder-group-operation-font-size: var(--text-tiny);--emr-filter-builder-group-operation-color: var(--color-neutral-800);--emr-filter-builder-group-operation-bg: transparent;--emr-filter-builder-group-operation-font-weight: 400;--emr-filter-builder-group-operation-border-radius: .5rem;--emr-filter-builder-group-operation-bpadding: 0 calc(var(--spacing) * 2);--emr-filter-builder-group-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-200);--emr-filter-builder-group-operation-active-color: var(--color-neutral-900);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-300);--emr-filter-builder-group-operation-border: 1px solid var(--color-neutral-500);--emr-filter-builder-group-add-color: var(--color-primary);--emr-filter-builder-group-add-hover-color: var(--color-primary);--emr-filter-builder-group-margin: 0;--emr-filter-builder-group-padding: 0;--emr-filter-builder-group-gap: calc(var(--spacing) * 4);--emr-filter-builder-condition-gap: calc(var(--spacing) * 2);--emr-filter-builder-condition-field-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-field-font-size: var(--text-tiny);--emr-filter-builder-condition-field-color: var(--color-neutral-800);--emr-filter-builder-condition-field-bg: var(--color-primary-300);--emr-filter-builder-condition-field-font-weight: 400;--emr-filter-builder-condition-field-border-radius: .5rem;--emr-filter-builder-condition-field-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-field-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-field-hover-bg: var(--color-primary-400);--emr-filter-builder-condition-field-active-color: white;--emr-filter-builder-condition-field-active-bg: var(--color-primary-500);--emr-filter-builder-condition-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-operation-font-size: var(--text-tiny);--emr-filter-builder-condition-operation-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-bg: var(--color-tertiary-300);--emr-filter-builder-condition-operation-font-weight: 400;--emr-filter-builder-condition-operation-border-radius: .5rem;--emr-filter-builder-condition-operation-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-hover-bg: var(--color-tertiary-400);--emr-filter-builder-condition-operation-active-color: white;--emr-filter-builder-condition-operation-active-bg: var(--color-tertiary-500);--emr-filter-builder-condition-value-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-value-font-size: var(--text-tiny);--emr-filter-builder-condition-value-color: var(--color-neutral-800);--emr-filter-builder-condition-value-bg: var(--color-neutral-200);--emr-filter-builder-condition-value-font-weight: 400;--emr-filter-builder-condition-value-border-radius: .5rem;--emr-filter-builder-condition-value-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-value-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-value-hover-bg: var(--color-neutral-300);--emr-filter-builder-condition-remove-color: oklch(63.7% .237 25.331);--emr-filter-builder-condition-remove-hover-color: oklch(57.7% .245 27.325);display:block}:host ::ng-deep .mat-mdc-form-field-infix{--mat-form-field-container-height: 46px !important;--mat-form-field-container-vertical-padding: 12px !important}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host .form-field{width:200px}:host .form-field-number{width:140px}:host .group-operations{gap:var(--emr-filter-builder-group-operations-gap)}:host .group{margin:var(--emr-filter-builder-group-margin);padding:var(--emr-filter-builder-group-padding);display:flex;flex-direction:column;gap:var(--emr-filter-builder-group-gap)}:host .group .group{margin-left:calc(var(--spacing) * 4)}:host .icon:empty{display:none}:host .group-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-group-operation-height);font-size:var(--emr-filter-builder-group-operation-font-size);font-weight:var(--emr-filter-builder-group-operation-font-weight);color:var(--emr-filter-builder-group-operation-color);background:var(--emr-filter-builder-group-operation-bg);border:var(--emr-filter-builder-group-operation-border);border-radius:var(--emr-filter-builder-group-operation-border-radius);padding:var(--emr-filter-builder-group-operation-bpadding)}:host .group-operation:hover{color:var(--emr-filter-builder-group-operation-hover-color);background:var(--emr-filter-builder-group-operation-hover-bg)}:host .group-operation:active,:host .group-operation.active{color:var(--emr-filter-builder-group-operation-active-color);background:var(--emr-filter-builder-group-operation-active-bg)}:host .condition{display:flex;align-items:center;gap:var(--emr-filter-builder-condition-gap)}:host .condition-field{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-field-height);font-size:var(--emr-filter-builder-condition-field-font-size);font-weight:var(--emr-filter-builder-condition-field-font-weight);color:var(--emr-filter-builder-condition-field-color);background:var(--emr-filter-builder-condition-field-bg);border-radius:var(--emr-filter-builder-condition-field-border-radius);padding:var(--emr-filter-builder-condition-field-bpadding)}:host .condition-field:hover{color:var(--emr-filter-builder-condition-field-hover-color);background:var(--emr-filter-builder-condition-field-hover-bg)}:host .add{line-height:0;color:var(--emr-filter-builder-group-add-color);cursor:pointer}:host .add:hover{color:var(--emr-filter-builder-group-add-hover-color)}:host .remove{line-height:0;color:var(--emr-filter-builder-condition-remove-color);cursor:pointer}:host .remove:hover{color:var(--emr-filter-builder-condition-remove-hover-color)}:host .condition-field:active,:host .condition-field.active{color:var(--emr-filter-builder-condition-field-active-color);background:var(--emr-filter-builder-condition-field-active-bg)}:host .condition-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-operation-height);font-size:var(--emr-filter-builder-condition-operation-font-size);font-weight:var(--emr-filter-builder-condition-operation-font-weight);color:var(--emr-filter-builder-condition-operation-color);background:var(--emr-filter-builder-condition-operation-bg);border-radius:var(--emr-filter-builder-condition-operation-border-radius);padding:var(--emr-filter-builder-condition-operation-bpadding)}:host .condition-operation:hover{color:var(--emr-filter-builder-condition-operation-hover-color);background:var(--emr-filter-builder-condition-operation-hover-bg)}:host .condition-operation:active,:host .condition-operation.active{color:var(--emr-filter-builder-condition-operation-active-color);background:var(--emr-filter-builder-condition-operation-active-bg)}:host .condition-value{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-value-height);font-size:var(--emr-filter-builder-condition-value-font-size);font-weight:var(--emr-filter-builder-condition-value-font-weight);color:var(--emr-filter-builder-condition-value-color);background:var(--emr-filter-builder-condition-value-bg);border-radius:var(--emr-filter-builder-condition-value-border-radius);padding:var(--emr-filter-builder-condition-value-bpadding)}:host .condition-value:hover{color:var(--emr-filter-builder-condition-value-hover-color);background:var(--emr-filter-builder-condition-value-hover-bg)}:host-context(html.dark){--emr-filter-builder-group-operation-color: var(--color-neutral-200);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-600);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-650);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-100);--emr-filter-builder-group-operation-active-color: var(--color-neutral-50)}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] }]
323
+ }, template: "@if (_isServer) {\n <ng-content/>\n}\n\n<ng-template #itemsTpl let-items>\n <div class=\"group\">\n @for (item of items; track item; let index = $index) {\n @if (_isGroup(item)) {\n <div class=\"flex items-center group-operations\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button [matMenuTriggerFor]=\"nestedGroupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName(item) }}\n </button>\n <div [matMenuTriggerFor]=\"addGroupMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n <mat-menu #nestedGroupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['logicalOperator']\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #addGroupMenu>\n <button mat-menu-item (click)=\"addCondition(item)\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup(item)\">Add Group</button>\n </mat-menu>\n </div>\n @if (item['value'].length > 0) {\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: item['value'] }\"></ng-container>\n }\n } @else if (_isCondition(item)) {\n <div class=\"condition\">\n <div class=\"remove\" (click)=\"removeCondition(index, items)\">\n <mat-icon class=\"font-icon\">close</mat-icon>\n </div>\n <button class=\"condition-field\"\n [matMenuTriggerFor]=\"fieldsMenu\">{{ getConditionField(item['value'][0])?.name }}</button>\n <button class=\"condition-operation\"\n [matMenuTriggerFor]=\"operationsMenu\">\n <ng-template [ngTemplateOutlet]=\"getConditionOperation(item['value'][1])?.name\"></ng-template>\n </button>\n <div class=\"relative\">\n @if (editItem && editItem === item) {\n <div class=\"absolute start-0 top-0 -translate-y-1/2\">\n @switch (getFieldType(editItem)) {\n @case ('array') {\n @switch (editItem['value'][1]) {\n @case ('equals') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\"\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n\n @case ('isAnyOf') {\n <mat-form-field class=\"form-field\">\n <mat-select placeholder=\"Select...\" multiple\n emrAutoFocus\n (blur)=\"selectBlur($event)\"\n [(ngModel)]=\"item['value'][2]\"\n (closed)=\"selectClosed()\">\n @for (option of getOptions(editItem); track option.id) {\n <mat-option [value]=\"option.id\">{{ option.name }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n }\n }\n\n @case ('number') {\n @switch (editItem['value'][1]) {\n @case ('isBetween') {\n <div class=\"flex gap-2 items-center\"\n emrFocusElement (elementBlurred)=\"cancelEdit()\">\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n [(ngModel)]=\"item['value'][2][0]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n <div class=\"text-neutral-500\">&ndash;</div>\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput\n [(ngModel)]=\"item['value'][2][1]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n </div>\n }\n @default {\n <mat-form-field class=\"form-field-number\">\n <input type=\"number\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n }\n\n @default {\n <mat-form-field class=\"form-field\">\n <input type=\"text\" matInput emrAutoFocus\n (blur)=\"cancelEdit()\"\n [(ngModel)]=\"item['value'][2]\"\n (ngModelChange)=\"_emitChangeEvent()\">\n </mat-form-field>\n }\n }\n </div>\n } @else {\n @if (item['value'][1] !== 'isBlank' && item['value'][1] !== 'isNotBlank') {\n @if (isValueNotEmpty(item)) {\n @if (getFieldType(item) === 'array') {\n @if (item['value'][1] === 'equals') {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n {{ getDataSourceItemNameById(item, item['value'][2]) }}\n </button>\n } @else {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n @for (dataSourceItemId of item['value'][2]; track dataSourceItemId; let last = $last) {\n <span>{{ getDataSourceItemNameById(item, dataSourceItemId) }}</span>\n @if (!last) {\n <span class=\"text-neutral-500\">|</span>\n }\n }\n </button>\n }\n } @else {\n @if (item['value'][1] === 'isBetween') {\n <button class=\"condition-value flex items-center gap-2\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2][0] }}</span>\n <span class=\"text-neutral-500\">&ndash;</span>\n <span>{{ item['value'][2][1] }}</span>\n </button>\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span>{{ item['value'][2] }}</span>\n </button>\n }\n }\n } @else {\n <button class=\"condition-value\" (click)=\"modifyValue(item)\">\n <span i18n>&lt;enter a value&gt;</span>\n </button>\n }\n }\n }\n </div>\n </div>\n <mat-menu #fieldsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"item['value'][0]\">\n @for (fieldDef of fieldDefs(); track fieldDef) {\n <mat-option [value]=\"fieldDef.dataField\"\n (click)=\"selectConditionField(item, fieldDef)\">{{ fieldDef.name }}</mat-option>\n }\n </div>\n </mat-menu>\n <mat-menu #operationsMenu>\n <div emrMenuOptionGroup [ngModel]=\"item['value'][1]\">\n @for (operation of _operationDefs; track operation.id()) {\n <div [hidden]=\"!isOperationAllowedForCondition(item['value'][0], operation.id())\">\n <mat-option [value]=\"operation.id()\" (click)=\"operationChanged(item, operation.id())\">\n <div class=\"flex items-center gap-3\">\n @if (operation.operationIcon()) {\n <ng-template [ngTemplateOutlet]=\"operationIconTemplateRef(operation)\"></ng-template>\n }\n <div>\n <ng-template [ngTemplateOutlet]=\"operationNameTemplateRef(operation)\"></ng-template>\n </div>\n </div>\n </mat-option>\n </div>\n }\n </div>\n </mat-menu>\n }\n }\n </div>\n</ng-template>\n\n<div class=\"group\">\n <div class=\"flex items-center group-operations\">\n <button [matMenuTriggerFor]=\"groupOperationsMenu\" class=\"group-operation\">\n {{ getSelectedGroupOperationName() }}\n </button>\n <div [matMenuTriggerFor]=\"addMenu\" class=\"add\">\n <mat-icon class=\"font-icon\">add</mat-icon>\n </div>\n </div>\n <ng-container [ngTemplateOutlet]=\"itemsTpl\" [ngTemplateOutletContext]=\"{ $implicit: _value }\"></ng-container>\n</div>\n\n<mat-menu #groupOperationsMenu>\n <div emrMenuOptionGroup [(ngModel)]=\"_logicalOperator\" (ngModelChange)=\"_emitChangeEvent()\">\n @for (groupOperation of groupOperations(); track groupOperation.id) {\n <mat-option [value]=\"groupOperation.id\">{{ groupOperation.name }}</mat-option>\n }\n </div>\n</mat-menu>\n<mat-menu #addMenu>\n <button mat-menu-item (click)=\"addCondition()\">Add Condition</button>\n <button mat-menu-item (click)=\"addGroup()\">Add Group</button>\n</mat-menu>\n\n<ng-container emrFilterBuilderOperationDef=\"contains\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Contains</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"doesNotContain\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Does not contain</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"startsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Starts with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"endsWith\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Ends with</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"equals\" [allowedDataTypes]=\"['string', 'number', 'array', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"notEquals\" [allowedDataTypes]=\"['string', 'number', 'boolean']\">\n <ng-template emrFilterBuilderOperationName>Not equals</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isLessThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is less then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThen\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isGreaterThenOrEqual\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is greater then or equal to</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isNotBlank\" [allowedDataTypes]=\"['string']\">\n <ng-template emrFilterBuilderOperationName>Is not blank</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isBetween\" [allowedDataTypes]=\"['number']\">\n <ng-template emrFilterBuilderOperationName>Is between</ng-template>\n</ng-container>\n<ng-container emrFilterBuilderOperationDef=\"isAnyOf\" [allowedDataTypes]=\"['array']\">\n <ng-template emrFilterBuilderOperationName>Is any of</ng-template>\n</ng-container>\n", styles: [":host{--emr-filter-builder-group-operations-gap: calc(var(--spacing) * 2);--emr-filter-builder-group-operation-font-size: var(--text-tiny);--emr-filter-builder-group-operation-color: var(--color-neutral-800);--emr-filter-builder-group-operation-bg: transparent;--emr-filter-builder-group-operation-font-weight: 400;--emr-filter-builder-group-operation-border-radius: .5rem;--emr-filter-builder-group-operation-bpadding: 0 calc(var(--spacing) * 2);--emr-filter-builder-group-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-200);--emr-filter-builder-group-operation-active-color: var(--color-neutral-900);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-300);--emr-filter-builder-group-operation-border: 1px solid var(--color-neutral-500);--emr-filter-builder-group-add-color: var(--color-primary);--emr-filter-builder-group-add-hover-color: var(--color-primary);--emr-filter-builder-group-margin: 0;--emr-filter-builder-group-padding: 0;--emr-filter-builder-group-gap: calc(var(--spacing) * 4);--emr-filter-builder-condition-gap: calc(var(--spacing) * 2);--emr-filter-builder-condition-field-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-field-font-size: var(--text-tiny);--emr-filter-builder-condition-field-color: var(--color-neutral-800);--emr-filter-builder-condition-field-bg: var(--color-primary-300);--emr-filter-builder-condition-field-font-weight: 400;--emr-filter-builder-condition-field-border-radius: .5rem;--emr-filter-builder-condition-field-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-field-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-field-hover-bg: var(--color-primary-400);--emr-filter-builder-condition-field-active-color: white;--emr-filter-builder-condition-field-active-bg: var(--color-primary-500);--emr-filter-builder-condition-operation-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-operation-font-size: var(--text-tiny);--emr-filter-builder-condition-operation-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-bg: var(--color-tertiary-300);--emr-filter-builder-condition-operation-font-weight: 400;--emr-filter-builder-condition-operation-border-radius: .5rem;--emr-filter-builder-condition-operation-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-operation-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-operation-hover-bg: var(--color-tertiary-400);--emr-filter-builder-condition-operation-active-color: white;--emr-filter-builder-condition-operation-active-bg: var(--color-tertiary-500);--emr-filter-builder-condition-value-height: calc(var(--spacing) * 7);--emr-filter-builder-condition-value-font-size: var(--text-tiny);--emr-filter-builder-condition-value-color: var(--color-neutral-800);--emr-filter-builder-condition-value-bg: var(--color-neutral-200);--emr-filter-builder-condition-value-font-weight: 400;--emr-filter-builder-condition-value-border-radius: .5rem;--emr-filter-builder-condition-value-bpadding: calc(var(--spacing) * .5) calc(var(--spacing) * 2);--emr-filter-builder-condition-value-hover-color: var(--color-neutral-800);--emr-filter-builder-condition-value-hover-bg: var(--color-neutral-300);--emr-filter-builder-condition-remove-color: oklch(63.7% .237 25.331);--emr-filter-builder-condition-remove-hover-color: oklch(57.7% .245 27.325);display:block}:host ::ng-deep .mat-mdc-form-field-infix{--mat-form-field-container-height: 46px !important;--mat-form-field-container-vertical-padding: 12px !important}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host .form-field{width:200px}:host .form-field-number{width:140px}:host .group-operations{gap:var(--emr-filter-builder-group-operations-gap)}:host .group{margin:var(--emr-filter-builder-group-margin);padding:var(--emr-filter-builder-group-padding);display:flex;flex-direction:column;gap:var(--emr-filter-builder-group-gap)}:host .group .group{margin-left:calc(var(--spacing) * 4)}:host .icon:empty{display:none}:host .group-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-group-operation-height);font-size:var(--emr-filter-builder-group-operation-font-size);font-weight:var(--emr-filter-builder-group-operation-font-weight);color:var(--emr-filter-builder-group-operation-color);background:var(--emr-filter-builder-group-operation-bg);border:var(--emr-filter-builder-group-operation-border);border-radius:var(--emr-filter-builder-group-operation-border-radius);padding:var(--emr-filter-builder-group-operation-bpadding)}:host .group-operation:hover{color:var(--emr-filter-builder-group-operation-hover-color);background:var(--emr-filter-builder-group-operation-hover-bg)}:host .group-operation:active,:host .group-operation.active{color:var(--emr-filter-builder-group-operation-active-color);background:var(--emr-filter-builder-group-operation-active-bg)}:host .condition{display:flex;align-items:center;gap:var(--emr-filter-builder-condition-gap)}:host .condition-field{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-field-height);font-size:var(--emr-filter-builder-condition-field-font-size);font-weight:var(--emr-filter-builder-condition-field-font-weight);color:var(--emr-filter-builder-condition-field-color);background:var(--emr-filter-builder-condition-field-bg);border-radius:var(--emr-filter-builder-condition-field-border-radius);padding:var(--emr-filter-builder-condition-field-bpadding)}:host .condition-field:hover{color:var(--emr-filter-builder-condition-field-hover-color);background:var(--emr-filter-builder-condition-field-hover-bg)}:host .add{line-height:0;color:var(--emr-filter-builder-group-add-color);cursor:pointer}:host .add:hover{color:var(--emr-filter-builder-group-add-hover-color)}:host .remove{line-height:0;color:var(--emr-filter-builder-condition-remove-color);cursor:pointer}:host .remove:hover{color:var(--emr-filter-builder-condition-remove-hover-color)}:host .condition-field:active,:host .condition-field.active{color:var(--emr-filter-builder-condition-field-active-color);background:var(--emr-filter-builder-condition-field-active-bg)}:host .condition-operation{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-operation-height);font-size:var(--emr-filter-builder-condition-operation-font-size);font-weight:var(--emr-filter-builder-condition-operation-font-weight);color:var(--emr-filter-builder-condition-operation-color);background:var(--emr-filter-builder-condition-operation-bg);border-radius:var(--emr-filter-builder-condition-operation-border-radius);padding:var(--emr-filter-builder-condition-operation-bpadding)}:host .condition-operation:hover{color:var(--emr-filter-builder-condition-operation-hover-color);background:var(--emr-filter-builder-condition-operation-hover-bg)}:host .condition-operation:active,:host .condition-operation.active{color:var(--emr-filter-builder-condition-operation-active-color);background:var(--emr-filter-builder-condition-operation-active-bg)}:host .condition-value{display:flex;align-items:center;width:max-content;-webkit-user-select:none;user-select:none;cursor:pointer;height:var(--emr-filter-builder-condition-value-height);font-size:var(--emr-filter-builder-condition-value-font-size);font-weight:var(--emr-filter-builder-condition-value-font-weight);color:var(--emr-filter-builder-condition-value-color);background:var(--emr-filter-builder-condition-value-bg);border-radius:var(--emr-filter-builder-condition-value-border-radius);padding:var(--emr-filter-builder-condition-value-bpadding)}:host .condition-value:hover{color:var(--emr-filter-builder-condition-value-hover-color);background:var(--emr-filter-builder-condition-value-hover-bg)}:host-context(html.dark){--emr-filter-builder-group-operation-color: var(--color-neutral-200);--emr-filter-builder-group-operation-hover-bg: var(--color-neutral-600);--emr-filter-builder-group-operation-active-bg: var(--color-neutral-650);--emr-filter-builder-group-operation-hover-color: var(--color-neutral-100);--emr-filter-builder-group-operation-active-color: var(--color-neutral-50)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
326
324
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], fieldDefs: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldDefs", required: false }] }], categories: [{ type: i0.Input, args: [{ isSignal: true, alias: "categories", required: false }] }], groupOperations: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupOperations", required: false }] }], customOperations: [{ type: i0.Input, args: [{ isSignal: true, alias: "customOperations", required: false }] }], _prebuiltOperationDefs: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => FilterBuilderOperationDefDirective), { isSignal: true }] }], _customOperationDefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => FilterBuilderOperationDefDirective), { isSignal: true }] }], valueChanged: [{ type: i0.Output, args: ["valueChanged"] }] } });
327
325
 
328
326
  /**