@luzmo/analytics-components-kit 1.0.1-alpha.98 → 1.0.1-alpha.99

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 (293) hide show
  1. package/angular/README.md +2 -2
  2. package/angular/components/ai-interaction-textarea.component.ts +8 -0
  3. package/angular/components/{filter-data-item-picker.component.ts → data-items-select.component.ts} +34 -17
  4. package/angular/components/edit-filters/index.ts +1 -0
  5. package/angular/components/edit-filters/types.ts +10 -0
  6. package/angular/components/edit-filters.component.ts +41 -0
  7. package/angular/components/slot-contents-picker.component.ts +8 -6
  8. package/angular/esm/components/ai-interaction-textarea.component.d.ts +5 -1
  9. package/angular/esm/components/ai-interaction-textarea.component.js +22 -2
  10. package/angular/esm/components/data-items-select.component.d.ts +33 -0
  11. package/angular/esm/components/{filter-data-item-picker.component.js → data-items-select.component.js} +41 -26
  12. package/angular/esm/components/edit-filters/index.d.ts +1 -0
  13. package/angular/esm/components/edit-filters/index.js +1 -0
  14. package/angular/esm/components/edit-filters/types.d.ts +8 -0
  15. package/angular/esm/components/edit-filters/types.js +1 -0
  16. package/angular/esm/components/edit-filters.component.d.ts +21 -0
  17. package/angular/esm/components/edit-filters.component.js +89 -0
  18. package/angular/esm/components/slot-contents-picker.component.d.ts +7 -6
  19. package/angular/esm/components/slot-contents-picker.component.js +11 -6
  20. package/angular/esm/index.d.ts +5 -5
  21. package/angular/esm/index.js +6 -6
  22. package/angular/esm/types.d.ts +9 -0
  23. package/angular/index.ts +6 -6
  24. package/angular/types.ts +17 -0
  25. package/angular/utils/filters/expressions.d.ts +1 -1
  26. package/components/ai-chat-message-assistant/index.cjs +1 -1
  27. package/components/ai-chat-message-assistant/index.js +0 -1
  28. package/components/ai-chat-messages-container/index.cjs +1 -1
  29. package/components/ai-chat-messages-container/index.js +2 -2
  30. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +21 -0
  31. package/components/ai-interaction-textarea/index.cjs +17 -15
  32. package/components/ai-interaction-textarea/index.js +91 -67
  33. package/components/area-chart-options.config-Bl8bhhOo.cjs +20 -0
  34. package/components/{area-chart-options.config-_J0sG4NF.js → area-chart-options.config-u8itidsi.js} +14 -26
  35. package/components/bar-chart-options.config-CePAqM83.cjs +20 -0
  36. package/components/{bar-chart-options.config-D1mb5TDl.js → bar-chart-options.config-DIirbAJ0.js} +21 -35
  37. package/components/box-plot-options.config-BVNrV2eD.cjs +20 -0
  38. package/components/{box-plot-options.config-xu_i6ms7.js → box-plot-options.config-BWROiguA.js} +52 -88
  39. package/components/{bubble-chart-options.config-BacgXkJ_.js → bubble-chart-options.config-4QD8VPhU.js} +9 -18
  40. package/components/bubble-chart-options.config-BDgOe3GQ.cjs +20 -0
  41. package/components/{bullet-chart-options.config-CDPpX1yc.js → bullet-chart-options.config-3bH7uekx.js} +1 -1
  42. package/components/{bullet-chart-options.config-DfS4Bwds.cjs → bullet-chart-options.config-tWb6Fio-.cjs} +1 -1
  43. package/components/calculate-data-item-icon-DMDhKq_m.js +147 -0
  44. package/components/calculate-data-item-icon-DtVGbet3.cjs +20 -0
  45. package/components/{choropleth-map-options.config-B_W9-rhe.js → choropleth-map-options.config-CMxx3ORp.js} +63 -84
  46. package/components/choropleth-map-options.config-CWJACFd0.cjs +20 -0
  47. package/components/circular-gauge-options.config-BMxgq3zH.cjs +20 -0
  48. package/components/{circular-gauge-options.config-DAIjz4Rl.js → circular-gauge-options.config-DhIKn44k.js} +23 -36
  49. package/components/{color-DuJ4-73S.js → color-B7m0j8lX.js} +941 -950
  50. package/components/color-Czp4Im5q.cjs +20 -0
  51. package/components/{color-range-utils-Bvo9sm5A.js → color-range-utils-BSfqtB3A.js} +31 -32
  52. package/components/color-range-utils-DYYR-iwx.cjs +20 -0
  53. package/components/column-chart-options.config-BV9R3ssH.cjs +20 -0
  54. package/components/{column-chart-options.config-B5SjBVdy.js → column-chart-options.config-D5-yR7iq.js} +27 -37
  55. package/components/conditional-number-options.config-Co099Qfm.cjs +20 -0
  56. package/components/{conditional-number-options.config-BCEpSK9J.js → conditional-number-options.config-DPYsdML5.js} +24 -40
  57. package/components/{filter-data-item-picker/filter-data-item-picker.d.ts → data-items-select/data-items-select.d.ts} +36 -21
  58. package/components/data-items-select/index.cjs +39 -0
  59. package/components/data-items-select/index.d.ts +6 -0
  60. package/components/data-items-select/index.js +209 -0
  61. package/components/dataset-icon/index.cjs +1 -1
  62. package/components/dataset-icon/index.js +1 -2
  63. package/components/dataset-selector-list/index.cjs +1 -1
  64. package/components/dataset-selector-list/index.js +32 -35
  65. package/components/dataset-selector-row/index.cjs +9 -9
  66. package/components/dataset-selector-row/index.js +50 -52
  67. package/components/{date-comparison-filter-options.config-JA_yYpJa.js → date-comparison-filter-options.config-CSwGyuBg.js} +3 -6
  68. package/components/{date-comparison-filter-options.config-DAVncmi0.cjs → date-comparison-filter-options.config-QaoWaFUn.cjs} +1 -1
  69. package/components/{date-filter-options.config-DBRxlTWy.js → date-filter-options.config-BTVyHRkp.js} +3 -6
  70. package/components/{date-filter-options.config-CWPMtA18.cjs → date-filter-options.config-n-zhWaYa.cjs} +1 -1
  71. package/components/{de-COKGBX9L.cjs → de-DOYL4txr.cjs} +1 -1
  72. package/components/{de-DU0DlXuf.js → de-SDzGVifr.js} +10 -1
  73. package/components/display-settings/index.cjs +1 -1
  74. package/components/display-settings/index.js +1 -1
  75. package/components/display-settings-binning/index.cjs +5 -5
  76. package/components/display-settings-binning/index.js +29 -30
  77. package/components/display-settings-datetime/index.cjs +29 -29
  78. package/components/display-settings-datetime/index.js +112 -120
  79. package/components/display-settings-grand-totals/index.cjs +4 -4
  80. package/components/display-settings-grand-totals/index.js +23 -24
  81. package/components/display-settings-numeric/index.cjs +48 -48
  82. package/components/display-settings-numeric/index.js +190 -206
  83. package/components/display-settings-period-over-period/index.cjs +16 -16
  84. package/components/display-settings-period-over-period/index.js +91 -97
  85. package/components/{donut-chart-options.config-BulUEiaH.js → donut-chart-options.config-3ZqX8Cbb.js} +21 -37
  86. package/components/donut-chart-options.config-BQyPgnC9.cjs +20 -0
  87. package/components/draggable-data-item/index.cjs +5 -5
  88. package/components/draggable-data-item/index.js +45 -46
  89. package/components/draggable-data-item-level/index.cjs +11 -11
  90. package/components/draggable-data-item-level/index.js +70 -73
  91. package/components/{dropdown-filter-options.config-D9dvPypF.js → dropdown-filter-options.config-CGJTtgAX.js} +7 -10
  92. package/components/{dropdown-filter-options.config-DS-MORmq.cjs → dropdown-filter-options.config-DJvfCTk7.cjs} +1 -1
  93. package/components/droppable-slot/index.cjs +16 -16
  94. package/components/droppable-slot/index.js +174 -265
  95. package/components/edit-filters/edit-filters.d.ts +79 -0
  96. package/components/edit-filters/index.cjs +144 -0
  97. package/components/edit-filters/index.d.ts +8 -0
  98. package/components/edit-filters/index.js +341 -0
  99. package/components/edit-filters/types.d.ts +8 -0
  100. package/components/edit-item/index.cjs +9 -9
  101. package/components/edit-item/index.js +116 -119
  102. package/components/edit-option/index.cjs +1 -1
  103. package/components/edit-option/index.js +1 -1
  104. package/components/edit-option-action-button-group/index.cjs +8 -8
  105. package/components/edit-option-action-button-group/index.js +52 -53
  106. package/components/{edit-option-base-DIc7iC-b.js → edit-option-base-Bh29-Cak.js} +1 -1
  107. package/components/{edit-option-base-VhTih9T1.cjs → edit-option-base-tFr8Qg2B.cjs} +1 -1
  108. package/components/edit-option-color-palette-picker/index.cjs +1 -1
  109. package/components/edit-option-color-palette-picker/index.js +1 -1
  110. package/components/edit-option-color-picker/index.cjs +1 -1
  111. package/components/edit-option-color-picker/index.js +1 -1
  112. package/components/edit-option-color-range/index.cjs +19 -19
  113. package/components/edit-option-color-range/index.js +106 -117
  114. package/components/edit-option-multi-language-field/index.cjs +3 -3
  115. package/components/edit-option-multi-language-field/index.js +26 -27
  116. package/components/edit-option-number-field/index.cjs +1 -1
  117. package/components/edit-option-number-field/index.js +1 -1
  118. package/components/edit-option-picker/index.cjs +5 -5
  119. package/components/edit-option-picker/index.js +7 -7
  120. package/components/edit-option-position-picker/index.cjs +4 -4
  121. package/components/edit-option-position-picker/index.js +21 -25
  122. package/components/edit-option-positions-number-field/index.cjs +9 -9
  123. package/components/edit-option-positions-number-field/index.js +76 -81
  124. package/components/edit-option-radio-button-group/index.cjs +6 -6
  125. package/components/edit-option-radio-button-group/index.js +21 -22
  126. package/components/edit-option-slider/index.cjs +1 -1
  127. package/components/edit-option-slider/index.js +1 -1
  128. package/components/edit-option-switch/index.cjs +1 -1
  129. package/components/edit-option-switch/index.js +1 -1
  130. package/components/edit-option-text-field/index.cjs +2 -2
  131. package/components/edit-option-text-field/index.js +22 -23
  132. package/components/en-D3ihEGXg.js +1483 -0
  133. package/components/en-DZcn_iz_.cjs +20 -0
  134. package/components/{en-GB-DG6uS3sM.cjs → en-GB-TqvgIw9B.cjs} +1 -1
  135. package/components/{en-GB-CEHEs8F2.js → en-GB-ialeqj_z.js} +1 -1
  136. package/components/{es-BxR1uGKR.js → es-B1TeapPZ.js} +10 -1
  137. package/components/{es-CaKfa7fn.cjs → es-DcQvrHgz.cjs} +1 -1
  138. package/components/{evolution-number-options.config-DzkfeoIN.js → evolution-number-options.config-BIPO_4n3.js} +11 -14
  139. package/components/{evolution-number-options.config-BgIZY4gQ.cjs → evolution-number-options.config-Bc9eKYnn.cjs} +1 -1
  140. package/components/{extrapolate-color-0j_AeYkz.cjs → extrapolate-color-C0n1UDs-.cjs} +1 -1
  141. package/components/{extrapolate-color-CC9CURf6.js → extrapolate-color-v1PimdQr.js} +1 -1
  142. package/components/filter-expression-picker/index.cjs +1 -1
  143. package/components/filter-expression-picker/index.js +1 -1
  144. package/components/filter-item/filter-item.d.ts +1 -1
  145. package/components/filter-item/index.cjs +9 -7
  146. package/components/filter-item/index.js +123 -123
  147. package/components/filter-value-picker/index.cjs +2 -2
  148. package/components/filter-value-picker/index.js +34 -36
  149. package/components/filter-value-picker-datetime/index.cjs +8 -8
  150. package/components/filter-value-picker-datetime/index.js +56 -71
  151. package/components/filter-value-picker-hierarchy/index.cjs +12 -12
  152. package/components/filter-value-picker-hierarchy/index.js +113 -124
  153. package/components/filter-value-picker-numeric/index.cjs +9 -8
  154. package/components/filter-value-picker-numeric/index.js +102 -110
  155. package/components/{focusable-DCIFkpiW.js → focusable-BS2pbY7w.js} +24 -26
  156. package/components/focusable-QLh-LlNt.cjs +20 -0
  157. package/components/{fr-DiZbjx_a.cjs → fr-D6QmA3Ve.cjs} +1 -1
  158. package/components/{fr-CvltYxR_.js → fr-sZFBmltf.js} +10 -1
  159. package/components/{funnel-chart-options.config-C_VjTOvD.js → funnel-chart-options.config-CrJy2U7_.js} +5 -20
  160. package/components/funnel-chart-options.config-DrP4AFgk.cjs +20 -0
  161. package/components/get-css-variable-C0B_Sxqf.cjs +24 -0
  162. package/components/{get-css-variable-YlLiVgo8.js → get-css-variable-DgTBQV3c.js} +39 -38
  163. package/components/grid/index.cjs +43 -49
  164. package/components/grid/index.js +2610 -1878
  165. package/components/heat-map-options.config-CIHnPdYE.cjs +20 -0
  166. package/components/{heat-map-options.config-BnLWe8jS.js → heat-map-options.config-CmL87j1j.js} +35 -41
  167. package/components/{heat-table-options.config-CUsDdgUr.js → heat-table-options.config-BrCYAgYD.js} +60 -88
  168. package/components/heat-table-options.config-DTlZRc_i.cjs +20 -0
  169. package/components/helpers-9I0oLoUB.cjs +20 -0
  170. package/components/helpers-bR8Ibjqh.js +79 -0
  171. package/components/{hexbin-map-options.config-F-7uCqxb.js → hexbin-map-options.config-BguV1w8q.js} +20 -38
  172. package/components/hexbin-map-options.config-CKnn3VAB.cjs +20 -0
  173. package/components/index-BekTY3Em.cjs +121 -0
  174. package/components/index-BikhVAa1.js +1755 -0
  175. package/components/index-CAbDIHYI.cjs +20 -0
  176. package/components/{index-Do7O9azB.js → index-CqKpf0B8.js} +112 -123
  177. package/components/{index-BPNsFiyq.cjs → index-DM58h73U.cjs} +4 -4
  178. package/components/{index-D0GBF6tg.js → index-DR5275fa.js} +122 -102
  179. package/components/index-DvkzMbLt.cjs +249 -0
  180. package/components/{index-CdIUfo-L.js → index-haa7WNrl.js} +453 -481
  181. package/components/index.cjs +1 -1
  182. package/components/index.js +105 -106
  183. package/components/item-options-configs.cjs +1 -1
  184. package/components/item-options-configs.js +37 -37
  185. package/components/{line-chart-options.config-DB3IsXXr.js → line-chart-options.config-BhirTGqD.js} +13 -28
  186. package/components/line-chart-options.config-Cqwou5u6.cjs +20 -0
  187. package/components/{localize-r7ALOUy_.cjs → localize-C4zNlrwK.cjs} +1 -1
  188. package/components/{localize-BX7q0S0M.js → localize-CcDpq940.js} +10 -10
  189. package/components/{marker-map-options.config-DPJ955tt.js → marker-map-options.config-Bx17jmiq.js} +1 -1
  190. package/components/{marker-map-options.config-_FYZzRwA.cjs → marker-map-options.config-CvhCylSC.cjs} +1 -1
  191. package/components/{nl-CLs7FmRK.js → nl-BYXZ-qNp.js} +10 -1
  192. package/components/{nl-Bot6bJ4g.cjs → nl-D7oNsLn0.cjs} +1 -1
  193. package/components/{pivot-table-options.config-DNK_AIG7.js → pivot-table-options.config-CFc7y0IT.js} +15 -24
  194. package/components/pivot-table-options.config-uZDAertf.cjs +20 -0
  195. package/components/{pyramid-chart-options.config-CcVMatYx.js → pyramid-chart-options.config-2Waxb11l.js} +29 -43
  196. package/components/pyramid-chart-options.config-DoGfEvzU.cjs +20 -0
  197. package/components/{radar-chart-options.config-CUZn_3Fd.js → radar-chart-options.config-CPN5fOl8.js} +11 -23
  198. package/components/radar-chart-options.config-CtNUMN1l.cjs +20 -0
  199. package/components/{regular-table-options.config-BoLZsBry.js → regular-table-options.config-CFKCJQK1.js} +17 -23
  200. package/components/{regular-table-options.config-DTx3RTnS.cjs → regular-table-options.config-YRuoijIk.cjs} +1 -1
  201. package/components/route-map-options.config-CVTk5RVL.cjs +20 -0
  202. package/components/{route-map-options.config-CN86T7c0.js → route-map-options.config-CyolTJfK.js} +87 -109
  203. package/components/{sankey-diagram-options.config-RFB83YLZ.cjs → sankey-diagram-options.config-D7OSvSqm.cjs} +1 -1
  204. package/components/{sankey-diagram-options.config-tVLKy_Zn.js → sankey-diagram-options.config-Ldjk84ro.js} +7 -10
  205. package/components/scatter-plot-options.config-5gN7pMTm.cjs +20 -0
  206. package/components/{scatter-plot-options.config-Corlzno1.js → scatter-plot-options.config-CfxEfkQ1.js} +56 -86
  207. package/components/{search-filter-options.config-BE3JhR-F.js → search-filter-options.config-C0syQmP4.js} +3 -6
  208. package/components/{search-filter-options.config-BCaDlYqZ.cjs → search-filter-options.config-Oqco9BKj.cjs} +1 -1
  209. package/components/{set-locale-Dp3N_gXN.js → set-locale-B5562CBM.js} +2 -9
  210. package/components/{set-locale-BRRalqne.cjs → set-locale-B8iQGfk0.cjs} +1 -1
  211. package/components/slicer-filter-options.config-CrusP6a0.cjs +20 -0
  212. package/components/{slicer-filter-options.config-3JZZcw5C.js → slicer-filter-options.config-DmOe3440.js} +9 -18
  213. package/components/{slider-filter-options.config-DH4SS8wH.js → slider-filter-options.config-B1M8RcDs.js} +1 -1
  214. package/components/{slider-filter-options.config-_8Z2zKmU.cjs → slider-filter-options.config-k45I-t6G.cjs} +1 -1
  215. package/components/slot-contents-picker/index.cjs +35 -31
  216. package/components/slot-contents-picker/index.js +202 -200
  217. package/components/slot-contents-picker/slot-contents-picker.d.ts +26 -5
  218. package/components/slot-menu/index.cjs +12 -12
  219. package/components/slot-menu/index.js +189 -202
  220. package/components/slot-menu-list/index.cjs +3 -3
  221. package/components/slot-menu-list/index.js +97 -103
  222. package/components/slot-store-CRfN0nD3.js +98 -0
  223. package/components/slot-store-Dd_cPNXk.cjs +20 -0
  224. package/components/speedometer-chart-options.config-B4ceg_qI.cjs +20 -0
  225. package/components/{speedometer-chart-options.config-SL581yOa.js → speedometer-chart-options.config-CzOmuEF8.js} +31 -53
  226. package/components/spike-map-options.config-BkkDqb4g.cjs +20 -0
  227. package/components/{spike-map-options.config-C5KewecZ.js → spike-map-options.config-Cbt1YUw6.js} +91 -122
  228. package/components/{sunburst-chart-options.config-AbNjWS6t.cjs → sunburst-chart-options.config-Yrxc2i57.cjs} +1 -1
  229. package/components/{sunburst-chart-options.config-CNauGQJv.js → sunburst-chart-options.config-_dyLQxPJ.js} +9 -20
  230. package/components/{symbol-map-options.config-DdDA4aa7.js → symbol-map-options.config-BORL1NSU.js} +11 -20
  231. package/components/symbol-map-options.config-NpBKm64d.cjs +20 -0
  232. package/components/{treemap-chart-options.config-D5AJaF_u.js → treemap-chart-options.config-B9i9qIm_.js} +20 -37
  233. package/components/treemap-chart-options.config-x4J54WSw.cjs +20 -0
  234. package/components/utils.cjs +1 -1
  235. package/components/utils.js +94 -97
  236. package/components/{video-options.config-CGsDTwHc.cjs → video-options.config-B0asgYt8.cjs} +1 -1
  237. package/components/{video-options.config-Dk36zJ1B.js → video-options.config-UX-9MDfS.js} +7 -10
  238. package/components/viz-item-menu/index.cjs +5 -5
  239. package/components/viz-item-menu/index.js +26 -28
  240. package/components/{wordcloud-chart-options.config-vGfCW8kE.cjs → wordcloud-chart-options.config-BKtJT8Va.cjs} +1 -1
  241. package/components/{wordcloud-chart-options.config-w2NUIWVA.js → wordcloud-chart-options.config-BoB_KuhA.js} +4 -7
  242. package/custom-elements.json +1936 -1625
  243. package/index.d.ts +1 -1
  244. package/package.json +12 -12
  245. package/types.d.ts +9 -0
  246. package/utils/filters/expressions.d.ts +1 -1
  247. package/angular/components/filter-group.component.ts +0 -29
  248. package/angular/esm/components/filter-data-item-picker.component.d.ts +0 -30
  249. package/angular/esm/components/filter-group.component.d.ts +0 -12
  250. package/angular/esm/components/filter-group.component.js +0 -56
  251. package/components/area-chart-options.config-C7sMAHco.cjs +0 -20
  252. package/components/bar-chart-options.config-DcxEkOT5.cjs +0 -20
  253. package/components/box-plot-options.config-SrrbDEYW.cjs +0 -20
  254. package/components/bubble-chart-options.config-Ihn6eVQI.cjs +0 -20
  255. package/components/calculate-data-item-icon-CEa82-5u.cjs +0 -20
  256. package/components/calculate-data-item-icon-DjlZwMdO.js +0 -147
  257. package/components/choropleth-map-options.config-ZW8yoZH2.cjs +0 -20
  258. package/components/circular-gauge-options.config-msZ4mfpN.cjs +0 -20
  259. package/components/color-B6LaL8qz.cjs +0 -20
  260. package/components/color-range-utils-C5yXW7ZC.cjs +0 -20
  261. package/components/column-chart-options.config-BjDvA7i9.cjs +0 -20
  262. package/components/conditional-number-options.config-DgzUo0xi.cjs +0 -20
  263. package/components/donut-chart-options.config-tNpqBZfR.cjs +0 -20
  264. package/components/en-BKBhKBXY.cjs +0 -20
  265. package/components/en-BOTjhwEc.js +0 -1488
  266. package/components/filter-data-item-picker/index.cjs +0 -47
  267. package/components/filter-data-item-picker/index.d.ts +0 -7
  268. package/components/filter-data-item-picker/index.js +0 -192
  269. package/components/filter-group/filter-group.d.ts +0 -26
  270. package/components/filter-group/index.d.ts +0 -7
  271. package/components/focusable-B3E_hQmm.cjs +0 -20
  272. package/components/funnel-chart-options.config-D7H7gFcx.cjs +0 -20
  273. package/components/get-css-variable-DLiZYZEi.cjs +0 -24
  274. package/components/heat-map-options.config-DVH-Bb5-.cjs +0 -20
  275. package/components/heat-table-options.config-B12JEYnp.cjs +0 -20
  276. package/components/helpers-DXQwEH1P.cjs +0 -20
  277. package/components/helpers-v1bPALRP.js +0 -91
  278. package/components/hexbin-map-options.config-DZERRhM8.cjs +0 -20
  279. package/components/index-CDi4fe3N.js +0 -1716
  280. package/components/index-CQ9ck-BO.cjs +0 -249
  281. package/components/index-CXn67vdn.cjs +0 -121
  282. package/components/index-Cz9vSXy6.cjs +0 -20
  283. package/components/line-chart-options.config-DSugoe0t.cjs +0 -20
  284. package/components/pivot-table-options.config-BiJXKSFR.cjs +0 -20
  285. package/components/pyramid-chart-options.config-C4zbFS26.cjs +0 -20
  286. package/components/radar-chart-options.config-EqQu6PTh.cjs +0 -20
  287. package/components/route-map-options.config-D7NJePTu.cjs +0 -20
  288. package/components/scatter-plot-options.config-CFfGJXsV.cjs +0 -20
  289. package/components/slicer-filter-options.config-DNI-XevE.cjs +0 -20
  290. package/components/speedometer-chart-options.config-BX9LTQBH.cjs +0 -20
  291. package/components/spike-map-options.config-DoBFXPmN.cjs +0 -20
  292. package/components/symbol-map-options.config-m-lwLTtu.cjs +0 -20
  293. package/components/treemap-chart-options.config-C0Q9aQ1Z.cjs +0 -20
@@ -0,0 +1,20 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ "use strict";var T=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},X={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},Y=class{#t=X;#e=!1;setTimeoutProvider(t){this.#t=t}setTimeout(t,e){return this.#t.setTimeout(t,e)}clearTimeout(t){this.#t.clearTimeout(t)}setInterval(t,e){return this.#t.setInterval(t,e)}clearInterval(t){this.#t.clearInterval(t)}},Q=new Y;function tt(t){setTimeout(t,0)}var M=typeof window>"u"||"Deno"in globalThis;function v(){}function et(t,e){return typeof t=="function"?t(e):t}function st(t){return typeof t=="number"&&t>=0&&t!==1/0}function it(t,e){return Math.max(t+(e||0)-Date.now(),0)}function E(t,e){return typeof t=="function"?t(e):t}function rt(t,e){return typeof t=="function"?t(e):t}function U(t,e){const{type:s="all",exact:i,fetchStatus:n,predicate:a,queryKey:o,stale:r}=t;if(o){if(i){if(e.queryHash!==j(o,e.options))return!1}else if(!F(e.queryKey,o))return!1}if(s!=="all"){const u=e.isActive();if(s==="active"&&!u||s==="inactive"&&u)return!1}return!(typeof r=="boolean"&&e.isStale()!==r||n&&n!==e.state.fetchStatus||a&&!a(e))}function x(t,e){const{exact:s,status:i,predicate:n,mutationKey:a}=t;if(a){if(!e.options.mutationKey)return!1;if(s){if(P(e.options.mutationKey)!==P(a))return!1}else if(!F(e.options.mutationKey,a))return!1}return!(i&&e.state.status!==i||n&&!n(e))}function j(t,e){return(e?.queryKeyHashFn||P)(t)}function P(t){return JSON.stringify(t,(e,s)=>R(s)?Object.keys(s).sort().reduce((i,n)=>(i[n]=s[n],i),{}):s)}function F(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(s=>F(t[s],e[s])):!1}var nt=Object.prototype.hasOwnProperty;function $(t,e){if(t===e)return t;const s=L(t)&&L(e);if(!s&&!(R(t)&&R(e)))return e;const n=(s?t:Object.keys(t)).length,a=s?e:Object.keys(e),o=a.length,r=s?new Array(o):{};let u=0;for(let h=0;h<o;h++){const d=s?h:a[h],l=t[d],m=e[d];if(l===m){r[d]=l,(s?h<n:nt.call(t,d))&&u++;continue}if(l===null||m===null||typeof l!="object"||typeof m!="object"){r[d]=m;continue}const b=$(l,m);r[d]=b,b===l&&u++}return n===o&&u===n?t:r}function L(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function R(t){if(!H(t))return!1;const e=t.constructor;if(e===void 0)return!0;const s=e.prototype;return!(!H(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function H(t){return Object.prototype.toString.call(t)==="[object Object]"}function at(t){return new Promise(e=>{Q.setTimeout(e,t)})}function ot(t,e,s){return typeof s.structuralSharing=="function"?s.structuralSharing(t,e):s.structuralSharing!==!1?$(t,e):e}function ut(t,e,s=0){const i=[...t,e];return s&&i.length>s?i.slice(1):i}function ht(t,e,s=0){const i=[e,...t];return s&&i.length>s?i.slice(0,-1):i}var I=Symbol();function B(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:!t.queryFn||t.queryFn===I?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}var ct=class extends T{#t;#e;#s;constructor(){super(),this.#s=t=>{if(!M&&window.addEventListener){const e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#e||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#s=t,this.#e?.(),this.#e=t(e=>{typeof e=="boolean"?this.setFocused(e):this.onFocus()})}setFocused(t){this.#t!==t&&(this.#t=t,this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(e=>{e(t)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},J=new ct;function lt(){let t,e;const s=new Promise((n,a)=>{t=n,e=a});s.status="pending",s.catch(()=>{});function i(n){Object.assign(s,n),delete s.resolve,delete s.reject}return s.resolve=n=>{i({status:"fulfilled",value:n}),t(n)},s.reject=n=>{i({status:"rejected",reason:n}),e(n)},s}var dt=tt;function ft(){let t=[],e=0,s=r=>{r()},i=r=>{r()},n=dt;const a=r=>{e?t.push(r):n(()=>{s(r)})},o=()=>{const r=t;t=[],r.length&&n(()=>{i(()=>{r.forEach(u=>{s(u)})})})};return{batch:r=>{let u;e++;try{u=r()}finally{e--,e||o()}return u},batchCalls:r=>(...u)=>{a(()=>{r(...u)})},schedule:a,setNotifyFunction:r=>{s=r},setBatchNotifyFunction:r=>{i=r},setScheduler:r=>{n=r}}}var y=ft(),yt=class extends T{#t=!0;#e;#s;constructor(){super(),this.#s=t=>{if(!M&&window.addEventListener){const e=()=>t(!0),s=()=>t(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",s)}}}}onSubscribe(){this.#e||this.setEventListener(this.#s)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(t){this.#s=t,this.#e?.(),this.#e=t(this.setOnline.bind(this))}setOnline(t){this.#t!==t&&(this.#t=t,this.listeners.forEach(s=>{s(t)}))}isOnline(){return this.#t}},D=new yt;function pt(t){return Math.min(1e3*2**t,3e4)}function z(t){return(t??"online")==="online"?D.isOnline():!0}var K=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function W(t){let e=!1,s=0,i;const n=lt(),a=()=>n.status!=="pending",o=c=>{if(!a()){const p=new K(c);m(p),t.onCancel?.(p)}},r=()=>{e=!0},u=()=>{e=!1},h=()=>J.isFocused()&&(t.networkMode==="always"||D.isOnline())&&t.canRun(),d=()=>z(t.networkMode)&&t.canRun(),l=c=>{a()||(i?.(),n.resolve(c))},m=c=>{a()||(i?.(),n.reject(c))},b=()=>new Promise(c=>{i=p=>{(a()||h())&&c(p)},t.onPause?.()}).then(()=>{i=void 0,a()||t.onContinue?.()}),f=()=>{if(a())return;let c;const p=s===0?t.initialPromise:void 0;try{c=p??t.fn()}catch(g){c=Promise.reject(g)}Promise.resolve(c).then(l).catch(g=>{if(a())return;const w=t.retry??(M?0:3),O=t.retryDelay??pt,q=typeof O=="function"?O(s,g):O,S=w===!0||typeof w=="number"&&s<w||typeof w=="function"&&w(s,g);if(e||!S){m(g);return}s++,t.onFail?.(s,g),at(q).then(()=>h()?void 0:b()).then(()=>{e?m(g):f()})})};return{promise:n,status:()=>n.status,cancel:o,continue:()=>(i?.(),n),cancelRetry:r,continueRetry:u,canStart:d,start:()=>(d()?f():b().then(f),n)}}var Z=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),st(this.gcTime)&&(this.#t=Q.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(M?1/0:300*1e3))}clearGcTimeout(){this.#t&&(Q.clearTimeout(this.#t),this.#t=void 0)}},mt=class extends Z{#t;#e;#s;#r;#i;#a;#o;constructor(t){super(),this.#o=!1,this.#a=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.#r=t.client,this.#s=this.#r.getQueryCache(),this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.#t=N(this.options),this.state=t.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(t){if(this.options={...this.#a,...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const e=N(this.options);e.data!==void 0&&(this.setState(G(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#s.remove(this)}setData(t,e){const s=ot(this.state.data,t,this.options);return this.#n({data:s,type:"success",dataUpdatedAt:e?.updatedAt,manual:e?.manual}),s}setState(t,e){this.#n({type:"setState",state:t,setStateOptions:e})}cancel(t){const e=this.#i?.promise;return this.#i?.cancel(t),e?e.then(v).catch(v):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#t)}isActive(){return this.observers.some(t=>rt(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===I||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>E(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!it(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(e=>e!==t),this.observers.length||(this.#i&&(this.#o?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#s.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#n({type:"invalidate"})}async fetch(t,e){if(this.state.fetchStatus!=="idle"&&this.#i?.status()!=="rejected"){if(this.state.data!==void 0&&e?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise}if(t&&this.setOptions(t),!this.options.queryFn){const r=this.observers.find(u=>u.options.queryFn);r&&this.setOptions(r.options)}const s=new AbortController,i=r=>{Object.defineProperty(r,"signal",{enumerable:!0,get:()=>(this.#o=!0,s.signal)})},n=()=>{const r=B(this.options,e),h=(()=>{const d={client:this.#r,queryKey:this.queryKey,meta:this.meta};return i(d),d})();return this.#o=!1,this.options.persister?this.options.persister(r,h,this):r(h)},o=(()=>{const r={fetchOptions:e,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:n};return i(r),r})();this.options.behavior?.onFetch(o,this),this.#e=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#n({type:"fetch",meta:o.fetchOptions?.meta}),this.#i=W({initialPromise:e?.initialPromise,fn:o.fetchFn,onCancel:r=>{r instanceof K&&r.revert&&this.setState({...this.#e,fetchStatus:"idle"}),s.abort()},onFail:(r,u)=>{this.#n({type:"failed",failureCount:r,error:u})},onPause:()=>{this.#n({type:"pause"})},onContinue:()=>{this.#n({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0});try{const r=await this.#i.start();if(r===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(r),this.#s.config.onSuccess?.(r,this),this.#s.config.onSettled?.(r,this.state.error,this),r}catch(r){if(r instanceof K){if(r.silent)return this.#i.promise;if(r.revert){if(this.state.data===void 0)throw r;return this.state.data}}throw this.#n({type:"error",error:r}),this.#s.config.onError?.(r,this),this.#s.config.onSettled?.(this.state.data,r,this),r}finally{this.scheduleGc()}}#n(t){const e=s=>{switch(t.type){case"failed":return{...s,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...vt(s.data,this.options),fetchMeta:t.meta??null};case"success":const i={...s,...G(t.data,t.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#e=t.manual?i:void 0,i;case"error":const n=t.error;return{...s,error:n,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...t.state}}};this.state=e(this.state),y.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),this.#s.notify({query:this,type:"updated",action:t})})}};function vt(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:z(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function G(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function N(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,s=e!==void 0,i=s?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}function V(t){return{onFetch:(e,s)=>{const i=e.options,n=e.fetchOptions?.meta?.fetchMore?.direction,a=e.state.data?.pages||[],o=e.state.data?.pageParams||[];let r={pages:[],pageParams:[]},u=0;const h=async()=>{let d=!1;const l=f=>{Object.defineProperty(f,"signal",{enumerable:!0,get:()=>(e.signal.aborted?d=!0:e.signal.addEventListener("abort",()=>{d=!0}),e.signal)})},m=B(e.options,e.fetchOptions),b=async(f,c,p)=>{if(d)return Promise.reject();if(c==null&&f.pages.length)return Promise.resolve(f);const w=(()=>{const k={client:e.client,queryKey:e.queryKey,pageParam:c,direction:p?"backward":"forward",meta:e.options.meta};return l(k),k})(),O=await m(w),{maxPages:q}=e.options,S=p?ht:ut;return{pages:S(f.pages,O,q),pageParams:S(f.pageParams,c,q)}};if(n&&a.length){const f=n==="backward",c=f?gt:_,p={pages:a,pageParams:o},g=c(i,p);r=await b(p,g,f)}else{const f=t??a.length;do{const c=u===0?o[0]??i.initialPageParam:_(i,r);if(u>0&&c==null)break;r=await b(r,c),u++}while(u<f)}return r};e.options.persister?e.fetchFn=()=>e.options.persister?.(h,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},s):e.fetchFn=h}}}function _(t,{pages:e,pageParams:s}){const i=e.length-1;return e.length>0?t.getNextPageParam(e[i],e,s[i],s):void 0}function gt(t,{pages:e,pageParams:s}){return e.length>0?t.getPreviousPageParam?.(e[0],e,s[0],s):void 0}var bt=class extends Z{#t;#e;#s;#r;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#s=t.mutationCache,this.#e=[],this.state=t.state||wt(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#s.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(t){const e=()=>{this.#i({type:"continue"})},s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=W({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(new Error("No mutationFn found")),onFail:(a,o)=>{this.#i({type:"failed",failureCount:a,error:o})},onPause:()=>{this.#i({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});const i=this.state.status==="pending",n=!this.#r.canStart();try{if(i)e();else{this.#i({type:"pending",variables:t,isPaused:n}),await this.#s.config.onMutate?.(t,this,s);const o=await this.options.onMutate?.(t,s);o!==this.state.context&&this.#i({type:"pending",context:o,variables:t,isPaused:n})}const a=await this.#r.start();return await this.#s.config.onSuccess?.(a,t,this.state.context,this,s),await this.options.onSuccess?.(a,t,this.state.context,s),await this.#s.config.onSettled?.(a,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(a,null,t,this.state.context,s),this.#i({type:"success",data:a}),a}catch(a){try{throw await this.#s.config.onError?.(a,t,this.state.context,this,s),await this.options.onError?.(a,t,this.state.context,s),await this.#s.config.onSettled?.(void 0,a,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(void 0,a,t,this.state.context,s),a}finally{this.#i({type:"error",error:a})}}finally{this.#s.runNext(this)}}#i(t){const e=s=>{switch(t.type){case"failed":return{...s,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...s,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:t.error,failureCount:s.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=e(this.state),y.batch(()=>{this.#e.forEach(s=>{s.onMutationUpdate(t)}),this.#s.notify({mutation:this,type:"updated",action:t})})}};function wt(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ct=class extends T{constructor(t={}){super(),this.config=t,this.#t=new Set,this.#e=new Map,this.#s=0}#t;#e;#s;build(t,e,s){const i=new bt({client:t,mutationCache:this,mutationId:++this.#s,options:t.defaultMutationOptions(e),state:s});return this.add(i),i}add(t){this.#t.add(t);const e=A(t);if(typeof e=="string"){const s=this.#e.get(e);s?s.push(t):this.#e.set(e,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#t.delete(t)){const e=A(t);if(typeof e=="string"){const s=this.#e.get(e);if(s)if(s.length>1){const i=s.indexOf(t);i!==-1&&s.splice(i,1)}else s[0]===t&&this.#e.delete(e)}}this.notify({type:"removed",mutation:t})}canRun(t){const e=A(t);if(typeof e=="string"){const i=this.#e.get(e)?.find(n=>n.state.status==="pending");return!i||i===t}else return!0}runNext(t){const e=A(t);return typeof e=="string"?this.#e.get(e)?.find(i=>i!==t&&i.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){y.batch(()=>{this.#t.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(t){const e={exact:!0,...t};return this.getAll().find(s=>x(e,s))}findAll(t={}){return this.getAll().filter(e=>x(t,e))}notify(t){y.batch(()=>{this.listeners.forEach(e=>{e(t)})})}resumePausedMutations(){const t=this.getAll().filter(e=>e.state.isPaused);return y.batch(()=>Promise.all(t.map(e=>e.continue().catch(v))))}};function A(t){return t.options.scope?.id}var Ot=class extends T{constructor(t={}){super(),this.config=t,this.#t=new Map}#t;build(t,e,s){const i=e.queryKey,n=e.queryHash??j(i,e);let a=this.get(n);return a||(a=new mt({client:t,queryKey:i,queryHash:n,options:t.defaultQueryOptions(e),state:s,defaultOptions:t.getQueryDefaults(i)}),this.add(a)),a}add(t){this.#t.has(t.queryHash)||(this.#t.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const e=this.#t.get(t.queryHash);e&&(t.destroy(),e===t&&this.#t.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){y.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#t.get(t)}getAll(){return[...this.#t.values()]}find(t){const e={exact:!0,...t};return this.getAll().find(s=>U(e,s))}findAll(t={}){const e=this.getAll();return Object.keys(t).length>0?e.filter(s=>U(t,s)):e}notify(t){y.batch(()=>{this.listeners.forEach(e=>{e(t)})})}onFocus(){y.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){y.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Pt=class{#t;#e;#s;#r;#i;#a;#o;#n;constructor(t={}){this.#t=t.queryCache||new Ot,this.#e=t.mutationCache||new Ct,this.#s=t.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=J.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#n=D.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#t.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#n?.(),this.#n=void 0)}isFetching(t){return this.#t.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#e.findAll({...t,status:"pending"}).length}getQueryData(t){const e=this.defaultQueryOptions({queryKey:t});return this.#t.get(e.queryHash)?.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),s=this.#t.build(this,e),i=s.state.data;return i===void 0?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime(E(e.staleTime,s))&&this.prefetchQuery(e),Promise.resolve(i))}getQueriesData(t){return this.#t.findAll(t).map(({queryKey:e,state:s})=>{const i=s.data;return[e,i]})}setQueryData(t,e,s){const i=this.defaultQueryOptions({queryKey:t}),a=this.#t.get(i.queryHash)?.state.data,o=et(e,a);if(o!==void 0)return this.#t.build(this,i).setData(o,{...s,manual:!0})}setQueriesData(t,e,s){return y.batch(()=>this.#t.findAll(t).map(({queryKey:i})=>[i,this.setQueryData(i,e,s)]))}getQueryState(t){const e=this.defaultQueryOptions({queryKey:t});return this.#t.get(e.queryHash)?.state}removeQueries(t){const e=this.#t;y.batch(()=>{e.findAll(t).forEach(s=>{e.remove(s)})})}resetQueries(t,e){const s=this.#t;return y.batch(()=>(s.findAll(t).forEach(i=>{i.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const s={revert:!0,...e},i=y.batch(()=>this.#t.findAll(t).map(n=>n.cancel(s)));return Promise.all(i).then(v).catch(v)}invalidateQueries(t,e={}){return y.batch(()=>(this.#t.findAll(t).forEach(s=>{s.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){const s={...e,cancelRefetch:e.cancelRefetch??!0},i=y.batch(()=>this.#t.findAll(t).filter(n=>!n.isDisabled()&&!n.isStatic()).map(n=>{let a=n.fetch(void 0,s);return s.throwOnError||(a=a.catch(v)),n.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(i).then(v)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const s=this.#t.build(this,e);return s.isStaleByTime(E(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(v).catch(v)}fetchInfiniteQuery(t){return t.behavior=V(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(v).catch(v)}ensureInfiniteQueryData(t){return t.behavior=V(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return D.isOnline()?this.#e.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#t}getMutationCache(){return this.#e}getDefaultOptions(){return this.#s}setDefaultOptions(t){this.#s=t}setQueryDefaults(t,e){this.#r.set(P(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...this.#r.values()],s={};return e.forEach(i=>{F(t,i.queryKey)&&Object.assign(s,i.defaultOptions)}),s}setMutationDefaults(t,e){this.#i.set(P(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...this.#i.values()],s={};return e.forEach(i=>{F(t,i.mutationKey)&&Object.assign(s,i.defaultOptions)}),s}defaultQueryOptions(t){if(t._defaulted)return t;const e={...this.#s.queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=j(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===I&&(e.enabled=!1),e}defaultMutationOptions(t){return t?._defaulted?t:{...this.#s.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#t.clear(),this.#e.clear()}};class C{constructor(e={}){this.availableDatasets=[],this.apiUrl=e.apiUrl||"https://api.luzmo.com",this.apiVersion=e.apiVersion||"0.1.0",this.authKey=e.authKey||"",this.authToken=e.authToken||"",this.queryClient=new Pt({defaultOptions:{queries:{staleTime:e.staleTime||300*1e3,gcTime:e.gcTime||600*1e3,retry:e.retry||3,retryDelay:e.retryDelay||(s=>Math.min(1e3*2**s,3e4))}}}),this.initNetworkListeners()}configure(e={}){if(e.apiVersion&&(this.apiVersion=e.apiVersion),e.apiUrl&&(this.apiUrl=e.apiUrl),e.authKey!==void 0&&(this.authKey=e.authKey),e.authToken!==void 0&&(this.authToken=e.authToken),e.staleTime||e.gcTime||e.retry){const s={};e.staleTime&&(s.staleTime=e.staleTime),e.gcTime&&(s.gcTime=e.gcTime),e.retry&&(s.retry=e.retry),this.queryClient.setDefaultOptions({queries:{...this.queryClient.getDefaultOptions().queries,...s}})}}initNetworkListeners(){typeof window<"u"&&window.addEventListener("online",()=>{console.warn("Network connection restored, refreshing data..."),this.refreshAll()})}getHeaders(e={}){return{"Content-Type":"application/json",...e}}async fetchApi(e,s,i={}){const n=`${this.apiUrl}/${this.apiVersion}${e}`,o={method:i.method||"POST",headers:this.getHeaders(i.headers),mode:"cors",...i};s!==void 0&&(s.key=this.authKey,s.token=this.authToken,o.body=JSON.stringify(s));try{const r=await fetch(n,o);if(!r.ok){const u=await r.json().catch(()=>null);throw r.status===401||r.status===403?new Error("Authentication failed. Please check your API token."):r.status===404?new Error(`Resource not found: ${e}`):r.status===429?new Error("Rate limit exceeded. Please try again later."):new Error(u?.message||`API request failed with status ${r.status}`)}return await r.json()}catch(r){throw console.error(`API request to ${e} failed:`,r),r instanceof Error&&(r.endpoint=e,r.timestamp=new Date().toISOString()),r}}async fetchAllDatasets(e={}){const s=e.offset||0,i=e.limit||50,n=["datasets",s,i];return await this.queryClient.fetchQuery({queryKey:n,queryFn:async()=>{const a={action:"get",version:this.apiVersion,find:{where:{type:"dataset"},limit:i,offset:s}},o=await this.fetchApi("/securable",a);return{data:o?.rows??[],pagination:{offset:s,limit:i,total:o?.count??0,pages:Math.ceil((o?.count??0)/i)}}}})}async searchDatasets(e,s){if(!e)return{data:[]};const i=["datasets","search",e,s];return await this.queryClient.fetchQuery({queryKey:i,queryFn:async()=>{const n={action:"get",version:this.apiVersion,find:{where:{type:"dataset"}}};e?.length>0&&(n.find.search={match_types:["name"],keyphrase:e}),s?.offset&&(n.find.offset=s?.offset),s?.limit&&(n.find.limit=s?.limit);const a=await this.fetchApi("/securable",n),o={data:a?.rows??[]};return s?.limit&&(o.pagination={offset:s?.offset??0,limit:s?.limit,total:a?.count??0,pages:Math.ceil((a?.count??0)/s?.limit)}),o}})}async fetchDatasetsWithColumnsAndFormulas(e){if(!e||e.length===0)throw new Error("At least one dataset ID is required");const s=["datasets",e,this.authKey,this.authToken];return await this.queryClient.fetchQuery({queryKey:s,queryFn:async()=>{const i={action:"get",version:this.apiVersion,find:{where:{type:"dataset",id:{in:e}},attributes:["name","id","description"],include:[{model:"Column",attributes:["id","name","description","type","subtype","format","hidden","lowestLevel","expression","duration_levels","duration_format"],separate:!0,order:[["order","asc"]],include:[{model:"Column",attributes:["id","securable_id","hierarchy_enabled","currency_id"],as:"Joins"},{model:"HierarchyLevel",attributes:["id","level","name"],as:"HierarchyLevels"},{model:"Currency",attributes:["id","name","symbol"],as:"Currency"}]},{model:"Formula",attributes:["id","name","description","type","subtype","format","hidden","lowestLevel","expression","duration_levels","duration_format"],include:[{model:"Currency",attributes:["id","name","symbol"],as:"Currency"}]}]}};return(await this.fetchApi("/securable",i))?.rows??[]}})}async fetchData(e){if(!e)throw new Error("Query is required");const s=["data",e];return await this.queryClient.fetchQuery({queryKey:s,queryFn:async()=>{const i={action:"get",version:this.apiVersion,find:{queries:[e]}},n=await this.fetchApi("/data",i);return{data:n?.data||[],performance:n?.performance||{}}}})}refreshAll(){this.queryClient.refetchQueries()}invalidateDatasetData(e){e?(this.queryClient.invalidateQueries({queryKey:["dataset",e]}),this.queryClient.invalidateQueries({queryKey:["columns",e]})):this.queryClient.invalidateQueries({queryKey:["datasets"]})}invalidateAll(){this.queryClient.clear()}static getInstance(e={}){return C.instance?Object.keys(e).length>0&&C.instance.configure(e):C.instance=new C(e),C.instance}async fetchDatasetsRecursive(e){if(!e||e.length===0)throw new Error("At least one dataset ID is required");const s=[...new Set(e)],i=new Set,n=new Map,a=o=>{o&&!i.has(o)&&!s.includes(o)&&s.push(o)};for(;s.length>0;){const o=[];for(;s.length>0&&o.length<50;){const r=s.shift();i.has(r)||o.push(r)}if(o.length!==0)try{(await this.fetchDatasetsWithColumnsAndFormulas(o)).forEach(u=>{const h=this.postProcessDatasetMetadata(u);i.add(h.id),this.queryClient.setQueryData(["dataset",h.id],h),(h.outgoingJoins??[]).map(l=>l.securable_id).filter(l=>!!l&&l!==h.id).forEach(l=>{a(l)}),n.set(h.id,h),this.availableDatasets.some(l=>l.id===h.id)||this.availableDatasets.push({id:h.id,name:h.name,columns:h.columns})})}catch(r){console.error("Error fetching datasets recursively:",r)}}return[...n.values()]}postProcessDatasetMetadata(e){const s=[],i=(e.columns??[]).map(n=>{const a=n.joins??(Array.isArray(n.joins)?n.joins:[]);Array.isArray(a)&&a.length>0&&s.push(...a);const{joins:o,...r}=n;return{...r,joins:a}});return{...e,columns:i,formulas:e.formulas??[],outgoingJoins:s,dateLoaded:new Date}}getAvailableDatasets(){return this.availableDatasets}getLinkedDatasetsIds(e){const s=this.queryClient.getQueryData(["dataset",e]);return s?(s.outgoingJoins??[]).map(i=>i.securable_id).filter(i=>!!i&&i!==e):[]}}const Ft=C.getInstance();exports.dataBroker=Ft;
@@ -17,9 +17,9 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { SignalWatcher as y } from "@lit-labs/signals";
21
- import { createContext as z, consume as f } from "@lit/context";
22
- import { Task as b } from "@lit/task";
20
+ import { SignalWatcher as c } from "@lit-labs/signals";
21
+ import { createContext as h, consume as v } from "@lit/context";
22
+ import { Task as y } from "@lit/task";
23
23
  import "@luzmo/lucero/divider";
24
24
  import "@luzmo/lucero/field-label";
25
25
  import "@luzmo/lucero/icon";
@@ -27,52 +27,48 @@ import "@luzmo/lucero/multi-language-field";
27
27
  import "@luzmo/lucero/progress-circle";
28
28
  import "@luzmo/lucero/text-field";
29
29
  import "@luzmo/lucero/tooltip";
30
- import { unsafeCSS as _, nothing as C, html as r } from "lit";
31
- import { property as a, state as x, query as S } from "lit/decorators.js";
30
+ import { unsafeCSS as z, nothing as f, html as l } from "lit";
31
+ import { property as o, state as b, query as _ } from "lit/decorators.js";
32
32
  import { msg as m } from "@lit/localize";
33
- import { luzmoIcon as v, luzmoInfoCircleOutline as $, luzmoTrashOutline as T } from "@luzmo/icons";
34
- import { L as w } from "./focusable-DCIFkpiW.js";
35
- import { S as D, E } from "./sized-mixin-cJbo3PKR.js";
36
- import { f as L } from "./en-BOTjhwEc.js";
37
- const k = z(
33
+ import { luzmoIcon as g, luzmoInfoCircleOutline as C, luzmoTrashOutline as x } from "@luzmo/icons";
34
+ import { L as S } from "./focusable-BS2pbY7w.js";
35
+ import { S as $, E as T } from "./sized-mixin-cJbo3PKR.js";
36
+ import { f as w } from "./en-D3ihEGXg.js";
37
+ const D = h(
38
38
  Symbol("slot-store-context")
39
- ), O = ":host{font-family:var(--luzmo-display-settings-font-family, var(--luzmo-font-family));font-size:var(--luzmo-display-settings-font-size, var(--display-settings-font-size));color:var(--luzmo-display-settings-font-color, var(--luzmo-font-color))}.settings-container{display:flex;flex-direction:column;gap:var(--luzmo-display-settings-vertical-gap, var(--luzmo-spacing-2))}.settings-row{display:flex;justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-gap, var(--display-settings-gap))}luzmo-divider{margin:var(--luzmo-display-settings-ids-container-vertical-margin, var(--display-settings-ids-container-vertical-margin)) 0}luzmo-tooltip{--tooltip-font-size: var( --luzmo-display-settings-tooltip-font-size, var(--tooltip-font-size) )}.setting{display:flex;align-items:center}.label-action-container{display:flex;align-items:center;justify-content:space-between;gap:var(--luzmo-display-settings-info-to-remove-icon-gap, var(--display-settings-info-to-remove-icon-gap))}.id-button,.remove-button{outline:none;cursor:pointer;border:none;background:none;font-size:var(--luzmo-display-settings-id-button-font-size, var(--luzmo-display-settings-font-size, var(--display-settings-font-size)));color:var(--luzmo-display-settings-font-color, var(--luzmo-font-color))}.remove-button{display:block;width:var(--luzmo-display-settings-remove-button-size, var(--display-settings-remove-button-size));height:var(--luzmo-display-settings-remove-button-size, var(--display-settings-remove-button-size));border-radius:var(--luzmo-display-settings-remove-button-border-radius, 50%)}.remove-button:hover{background-color:var(--luzmo-display-settings-remove-button-background-color-hover, var(--luzmo-background-color-hover))}.remove-button:active,.remove-button:focus{background-color:var(--luzmo-display-settings-remove-button-background-color-down, var(--luzmo-background-color-down))}.remove-button:focus-visible{box-shadow:0 0 0 var(--luzmo-display-settings-remove-button-indicator-thickness, var(--display-settings-remove-button-indicator-thickness)) var(--highcontrast-remove-button-indicator-color, var(--luzmo-display-settings-remove-button-indicator-color, var(--display-settings-remove-button-indicator-color)))}.ids-container{display:flex;flex-direction:column;gap:var(--luzmo-display-settings-ids-container-gap, var(--luzmo-spacing-2));border-radius:50%}.id-label{text-transform:var(--luzmo-display-settings-id-label-text-transform, var(--display-settings-id-label-text-transform));font-size:var(--luzmo-display-settings-id-label-font-size, var(--display-settings-id-label-font-size));color:var(--luzmo-display-settings-id-label-color, var(--display-settings-id-label-color))}.id-value{-webkit-user-select:text;user-select:text;cursor:text}.example-container{line-height:var(--luzmo-display-settings-example-height, var(--display-settings-example-height));font-size:var(--luzmo-display-settings-example-font-size, var(--display-settings-example-font-size));color:var(--luzmo-display-settings-example-color, var(--display-settings-example-color));gap:var(--luzmo-display-settings-example-container-gap, var(--luzmo-spacing-2))}.example-container .example-label{font-weight:var(--luzmo-display-settings-example-label-font-weight, var(--display-settings-example-label-font-weight));color:var(--luzmo-display-settings-example-label-color, var(--display-settings-example-label-color))}.example-container .example-language{text-transform:uppercase;color:var(--luzmo-display-settings-example-language-color, var(--display-settings-example-language-color))}:host{--display-settings-font-family: var(--luzmo-font-family);--display-settings-id-label-text-transform: uppercase;--display-settings-id-label-color: var(--luzmo-secondary);--display-settings-remove-button-indicator-color: var(--luzmo-primary);--display-settings-remove-button-indicator-thickness: var( --luzmo-border-width )}:host{--display-settings-font-size: var(--luzmo-font-size);--display-settings-id-label-font-size: var(--luzmo-font-size-s);--display-settings-gap: var(--luzmo-spacing-3);--display-settings-ids-container-vertical-margin: var(--luzmo-spacing-4);--display-settings-info-to-remove-icon-gap: var(--luzmo-spacing-5);--display-settings-remove-button-size: var(--luzmo-component-height)}:host([size=s]){--display-settings-id-label-font-size: var(--luzmo-font-size-s);--display-settings-font-size: var(--luzmo-font-size-s);--display-settings-gap: var(--luzmo-spacing-3);--display-settings-ids-container-vertical-margin: var(--luzmo-spacing-3);--display-settings-info-to-remove-icon-gap: var(--luzmo-spacing-4);--display-settings-remove-button-size: var(--luzmo-component-height-s)}:host([size=l]){--display-settings-id-label-font-size: var(--luzmo-font-size);--display-settings-font-size: var(--luzmo-font-size-l);--display-settings-gap: var(--luzmo-spacing-4);--display-settings-ids-container-vertical-margin: var(--luzmo-spacing-5);--display-settings-info-to-remove-icon-gap: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-1) );--display-settings-remove-button-size: var(--luzmo-component-height-l)}:host([size=xl]){--display-settings-id-label-font-size: var(--luzmo-font-size-l);--display-settings-font-size: var(--luzmo-font-size-xl);--display-settings-gap: var(--luzmo-spacing-5);--display-settings-ids-container-vertical-margin: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-1) );--display-settings-info-to-remove-icon-gap: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-2) );--display-settings-remove-button-size: var(--luzmo-component-height-xl)}:host{--display-settings-example-font-size: var(--luzmo-font-size);--display-settings-example-color: var(--luzmo-font-color);--display-settings-example-label-font-weight: bold;--display-settings-example-label-color: var(--luzmo-primary);--display-settings-example-language-color: var(--luzmo-primary)}:host{--display-settings-example-height: var(--luzmo-component-height)}:host([size=s]){--display-settings-example-height: var(--luzmo-component-height-s);--display-settings-example-font-size: var(--luzmo-font-size-s)}:host([size=l]){--display-settings-example-height: var(--luzmo-component-height-l);--display-settings-example-font-size: var(--luzmo-font-size)}:host([size=xl]){--display-settings-example-height: var(--luzmo-component-height-xl);--display-settings-example-font-size: var(--luzmo-font-size-l)}";
40
- var P = Object.defineProperty, s = (u, t, o, n) => {
41
- for (var e = void 0, p = u.length - 1, d; p >= 0; p--)
42
- (d = u[p]) && (e = d(t, o, e) || e);
43
- return e && P(t, o, e), e;
39
+ ), E = ":host{font-family:var(--luzmo-display-settings-font-family, var(--luzmo-font-family));font-size:var(--luzmo-display-settings-font-size, var(--display-settings-font-size));color:var(--luzmo-display-settings-font-color, var(--luzmo-font-color))}.settings-container{display:flex;flex-direction:column;gap:var(--luzmo-display-settings-vertical-gap, var(--luzmo-spacing-2))}.settings-row{display:flex;justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-gap, var(--display-settings-gap))}luzmo-divider{margin:var(--luzmo-display-settings-ids-container-vertical-margin, var(--display-settings-ids-container-vertical-margin)) 0}luzmo-tooltip{--tooltip-font-size: var( --luzmo-display-settings-tooltip-font-size, var(--tooltip-font-size) )}.setting{display:flex;align-items:center}.label-action-container{display:flex;align-items:center;justify-content:space-between;gap:var(--luzmo-display-settings-info-to-remove-icon-gap, var(--display-settings-info-to-remove-icon-gap))}.id-button,.remove-button{outline:none;cursor:pointer;border:none;background:none;font-size:var(--luzmo-display-settings-id-button-font-size, var(--luzmo-display-settings-font-size, var(--display-settings-font-size)));color:var(--luzmo-display-settings-font-color, var(--luzmo-font-color))}.remove-button{display:block;width:var(--luzmo-display-settings-remove-button-size, var(--display-settings-remove-button-size));height:var(--luzmo-display-settings-remove-button-size, var(--display-settings-remove-button-size));border-radius:var(--luzmo-display-settings-remove-button-border-radius, 50%)}.remove-button:hover{background-color:var(--luzmo-display-settings-remove-button-background-color-hover, var(--luzmo-background-color-hover))}.remove-button:active,.remove-button:focus{background-color:var(--luzmo-display-settings-remove-button-background-color-down, var(--luzmo-background-color-down))}.remove-button:focus-visible{box-shadow:0 0 0 var(--luzmo-display-settings-remove-button-indicator-thickness, var(--display-settings-remove-button-indicator-thickness)) var(--highcontrast-remove-button-indicator-color, var(--luzmo-display-settings-remove-button-indicator-color, var(--display-settings-remove-button-indicator-color)))}.ids-container{display:flex;flex-direction:column;gap:var(--luzmo-display-settings-ids-container-gap, var(--luzmo-spacing-2));border-radius:50%}.id-label{text-transform:var(--luzmo-display-settings-id-label-text-transform, var(--display-settings-id-label-text-transform));font-size:var(--luzmo-display-settings-id-label-font-size, var(--display-settings-id-label-font-size));color:var(--luzmo-display-settings-id-label-color, var(--display-settings-id-label-color))}.id-value{-webkit-user-select:text;user-select:text;cursor:text}.example-container{line-height:var(--luzmo-display-settings-example-height, var(--display-settings-example-height));font-size:var(--luzmo-display-settings-example-font-size, var(--display-settings-example-font-size));color:var(--luzmo-display-settings-example-color, var(--display-settings-example-color))}.example-container .example-label{font-weight:var(--luzmo-display-settings-example-label-font-weight, var(--display-settings-example-label-font-weight));color:var(--luzmo-display-settings-example-label-color, var(--display-settings-example-label-color))}.example-container .example-language{text-transform:uppercase;color:var(--luzmo-display-settings-example-language-color, var(--display-settings-example-language-color))}.example-container{gap:var(--luzmo-display-settings-example-container-gap, var(--luzmo-spacing-2))}:host{--display-settings-font-family: var(--luzmo-font-family);--display-settings-id-label-text-transform: uppercase;--display-settings-id-label-color: var(--luzmo-secondary);--display-settings-remove-button-indicator-color: var(--luzmo-primary);--display-settings-remove-button-indicator-thickness: var( --luzmo-border-width )}:host{--display-settings-font-size: var(--luzmo-font-size);--display-settings-id-label-font-size: var(--luzmo-font-size-s);--display-settings-gap: var(--luzmo-spacing-3);--display-settings-ids-container-vertical-margin: var(--luzmo-spacing-4);--display-settings-info-to-remove-icon-gap: var(--luzmo-spacing-5);--display-settings-remove-button-size: var(--luzmo-component-height)}:host([size=s]){--display-settings-id-label-font-size: var(--luzmo-font-size-s);--display-settings-font-size: var(--luzmo-font-size-s);--display-settings-gap: var(--luzmo-spacing-3);--display-settings-ids-container-vertical-margin: var(--luzmo-spacing-3);--display-settings-info-to-remove-icon-gap: var(--luzmo-spacing-4);--display-settings-remove-button-size: var(--luzmo-component-height-s)}:host([size=l]){--display-settings-id-label-font-size: var(--luzmo-font-size);--display-settings-font-size: var(--luzmo-font-size-l);--display-settings-gap: var(--luzmo-spacing-4);--display-settings-ids-container-vertical-margin: var(--luzmo-spacing-5);--display-settings-info-to-remove-icon-gap: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-1) );--display-settings-remove-button-size: var(--luzmo-component-height-l)}:host([size=xl]){--display-settings-id-label-font-size: var(--luzmo-font-size-l);--display-settings-font-size: var(--luzmo-font-size-xl);--display-settings-gap: var(--luzmo-spacing-5);--display-settings-ids-container-vertical-margin: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-1) );--display-settings-info-to-remove-icon-gap: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-2) );--display-settings-remove-button-size: var(--luzmo-component-height-xl)}:host{--display-settings-example-font-size: var(--luzmo-font-size);--display-settings-example-color: var(--luzmo-font-color);--display-settings-example-label-font-weight: bold;--display-settings-example-label-color: var(--luzmo-primary);--display-settings-example-language-color: var(--luzmo-primary)}:host{--display-settings-example-height: var(--luzmo-component-height)}:host([size=s]){--display-settings-example-height: var(--luzmo-component-height-s);--display-settings-example-font-size: var(--luzmo-font-size-s)}:host([size=l]){--display-settings-example-height: var(--luzmo-component-height-l);--display-settings-example-font-size: var(--luzmo-font-size)}:host([size=xl]){--display-settings-example-height: var(--luzmo-component-height-xl);--display-settings-example-font-size: var(--luzmo-font-size-l)}";
40
+ var L = Object.defineProperty, i = (u, t, s, p) => {
41
+ for (var n = void 0, r = u.length - 1, d; r >= 0; r--)
42
+ (d = u[r]) && (n = d(t, s, n) || n);
43
+ return n && L(t, s, n), n;
44
44
  };
45
- class i extends y(
46
- D(w, {
47
- validSizes: Object.values(E)
45
+ class e extends c(
46
+ $(S, {
47
+ validSizes: Object.values(T)
48
48
  })
49
49
  ) {
50
50
  constructor() {
51
- super(...arguments), this._loadDisplaySettings = new b(this, {
51
+ super(...arguments), this._loadDisplaySettings = new y(this, {
52
52
  task: async ([
53
53
  t,
54
- o,
55
- n,
56
- e,
54
+ s,
57
55
  p,
56
+ n,
57
+ r,
58
58
  d
59
59
  ]) => {
60
- var g, c, h;
61
- const l = [];
62
- d && l.push("grandTotals"), n && l.push("periodOverPeriod"), (t === "numeric" || t === "mixed" && ((g = this._currentSlotContent) == null ? void 0 : g.type) === "numeric") && l.push("numeric"), t !== "numeric" && ((c = this._currentSlotContent) == null ? void 0 : c.type) === "datetime" && l.push("datetime"), !["numeric", "mixed"].includes(t ?? "") && ((h = this._currentSlotContent) == null ? void 0 : h.type) === "numeric" && !e && l.push("binning"), n && !this._settingsTypeLoaded.periodOverPeriod && (await import("./display-settings-period-over-period/index.js"), this._settingsTypeLoaded.periodOverPeriod = !0), l.length > 0 && !o && (l.includes("numeric") && !this._settingsTypeLoaded.numeric ? (await import("./display-settings-numeric/index.js"), this._settingsTypeLoaded.numeric = !0) : l.includes("datetime") && !this._settingsTypeLoaded.datetime && p ? (await import("./display-settings-datetime/index.js"), this._settingsTypeLoaded.datetime = !0) : l.includes("binning") && !this._settingsTypeLoaded.binning ? (await import("./display-settings-binning/index.js"), this._settingsTypeLoaded.binning = !0) : l.includes("grandTotals") && !this._settingsTypeLoaded.grandTotals && (await import("./display-settings-grand-totals/index.js"), this._settingsTypeLoaded.grandTotals = !0));
60
+ const a = [];
61
+ d && a.push("grandTotals"), p && a.push("periodOverPeriod"), (t === "numeric" || t === "mixed" && this._currentSlotContent?.type === "numeric") && a.push("numeric"), t !== "numeric" && this._currentSlotContent?.type === "datetime" && a.push("datetime"), !["numeric", "mixed"].includes(t ?? "") && this._currentSlotContent?.type === "numeric" && !n && a.push("binning"), p && !this._settingsTypeLoaded.periodOverPeriod && (await import("./display-settings-period-over-period/index.js"), this._settingsTypeLoaded.periodOverPeriod = !0), a.length > 0 && !s && (a.includes("numeric") && !this._settingsTypeLoaded.numeric ? (await import("./display-settings-numeric/index.js"), this._settingsTypeLoaded.numeric = !0) : a.includes("datetime") && !this._settingsTypeLoaded.datetime && r ? (await import("./display-settings-datetime/index.js"), this._settingsTypeLoaded.datetime = !0) : a.includes("binning") && !this._settingsTypeLoaded.binning ? (await import("./display-settings-binning/index.js"), this._settingsTypeLoaded.binning = !0) : a.includes("grandTotals") && !this._settingsTypeLoaded.grandTotals && (await import("./display-settings-grand-totals/index.js"), this._settingsTypeLoaded.grandTotals = !0));
63
62
  },
64
- args: () => {
65
- var t;
66
- return [
67
- this.slotType,
68
- this.hideDisplaySettings,
69
- (t = this._store) == null ? void 0 : t.periodOverPeriodUiType.get(),
70
- this.isBinningDisabled,
71
- this.areDatetimeOptionsEnabled,
72
- this.areGrandTotalsEnabled,
73
- this.slotContent
74
- ];
75
- }
63
+ args: () => [
64
+ this.slotType,
65
+ this.hideDisplaySettings,
66
+ this._store?.periodOverPeriodUiType.get(),
67
+ this.isBinningDisabled,
68
+ this.areDatetimeOptionsEnabled,
69
+ this.areGrandTotalsEnabled,
70
+ this.slotContent
71
+ ]
76
72
  }), this.language = "en", this.contentLanguage = "en", this.slotType = "numeric", this.slotContent = {}, this._showIds = !1, this.measureColumns = [], this._settingsTypeLoaded = {
77
73
  binning: !1,
78
74
  datetime: !1,
@@ -83,24 +79,19 @@ class i extends y(
83
79
  }, this._currentSlotContent = {};
84
80
  }
85
81
  static get styles() {
86
- return [_(O)];
82
+ return [z(E)];
87
83
  }
88
84
  _datasetDatetimeColumns() {
89
- var t;
90
- return (t = this._store) == null ? void 0 : t.linkedDataset.get().flatMap(
91
- (o) => {
92
- var n;
93
- return (n = o.columns) == null ? void 0 : n.filter((e) => e.type === "datetime").map((e) => ({
94
- ...e,
95
- datasetId: o.id
96
- }));
97
- }
85
+ return this._store?.linkedDataset.get().flatMap(
86
+ (t) => t.columns?.filter((s) => s.type === "datetime").map((s) => ({
87
+ ...s,
88
+ datasetId: t.id
89
+ }))
98
90
  );
99
91
  }
100
92
  willUpdate() {
101
- var n, e;
102
- const t = (n = this._store) == null ? void 0 : n.activeSlotContents.get(), o = (e = this._store) == null ? void 0 : e.periodOverPeriodUiType.get();
103
- this.periodOverPeriodUiType !== o && (this.periodOverPeriodUiType = o), t && t !== this._currentSlotContent && (this._currentSlotContent = structuredClone(t));
93
+ const t = this._store?.activeSlotContents.get(), s = this._store?.periodOverPeriodUiType.get();
94
+ this.periodOverPeriodUiType !== s && (this.periodOverPeriodUiType = s), t && t !== this._currentSlotContent && (this._currentSlotContent = structuredClone(t));
104
95
  }
105
96
  _onSlotContentChange(t) {
106
97
  t.stopPropagation(), t.preventDefault(), this._currentSlotContent = structuredClone(t.detail.slotContent), this._sendEvent(), this.requestUpdate();
@@ -136,31 +127,30 @@ class i extends y(
136
127
  this._showIds = !this._showIds;
137
128
  }
138
129
  _renderExampleRow() {
139
- var d;
140
- const t = this.slotType === "numeric" || this.slotType === "mixed" && this._currentSlotContent.type === "numeric", o = this.slotType !== "datetime" && this._currentSlotContent.type === "datetime" && this.areDatetimeOptionsEnabled;
141
- if (!(t || o))
142
- return C;
143
- const n = !this._currentSlotContent.datetimeDisplayMode || this._currentSlotContent.datetimeDisplayMode === "default", e = t ? 1234.56 : n ? /* @__PURE__ */ new Date() : 1, p = L(
130
+ const t = this.slotType === "numeric" || this.slotType === "mixed" && this._currentSlotContent.type === "numeric", s = this.slotType !== "datetime" && this._currentSlotContent.type === "datetime" && this.areDatetimeOptionsEnabled;
131
+ if (!(t || s))
132
+ return f;
133
+ const p = !this._currentSlotContent.datetimeDisplayMode || this._currentSlotContent.datetimeDisplayMode === "default", n = t ? 1234.56 : p ? /* @__PURE__ */ new Date() : 1, r = w(
144
134
  {
145
135
  ...this._currentSlotContent,
146
136
  type: t ? "numeric" : "datetime"
147
137
  },
148
138
  {
149
139
  locale: this.contentLanguage,
150
- level: (d = this._currentSlotContent) == null ? void 0 : d.level
140
+ level: this._currentSlotContent?.level
151
141
  }
152
- )(e);
153
- return r`<div class="settings-row example-container">
142
+ )(n);
143
+ return l`<div class="settings-row example-container">
154
144
  <span class="example-label"
155
145
  >${m("Example", {
156
146
  desc: "Label for example"
157
147
  })}:</span
158
148
  >
159
- <span class="example">${p}</span>
149
+ <span class="example">${r}</span>
160
150
  </div>`;
161
151
  }
162
152
  _renderDisplaySettings() {
163
- return r`<div class="settings-container">
153
+ return l`<div class="settings-container">
164
154
  <div class="settings-row">
165
155
  <div class="setting">
166
156
  <div class="label-container">
@@ -177,16 +167,16 @@ class i extends y(
177
167
  </div>
178
168
  <div class="label-action-container">
179
169
  <button class="id-button" @click=${this._toggleIds}>
180
- ${v($)}
170
+ ${g(C)}
181
171
  <luzmo-tooltip self-managed placement="top" size=${this.size}>
182
172
  Show dataset and column id's
183
173
  </luzmo-tooltip>
184
174
  </button>
185
- ${this.showRemoveButton ? r`<button
175
+ ${this.showRemoveButton ? l`<button
186
176
  class="remove-button"
187
177
  @click=${this._removeEvent}
188
178
  >
189
- ${v(T)}
179
+ ${g(x)}
190
180
  <luzmo-tooltip
191
181
  self-managed
192
182
  placement="top"
@@ -198,13 +188,13 @@ class i extends y(
198
188
  </div>
199
189
  </div>
200
190
  </div>
201
- ${this.areGrandTotalsEnabled ? r`<luzmo-display-settings-grand-totals
191
+ ${this.areGrandTotalsEnabled ? l`<luzmo-display-settings-grand-totals
202
192
  .language=${this.language}
203
193
  .slotContent=${this._currentSlotContent}
204
194
  .size=${this.size}
205
195
  @slot-content-changed=${this._onSlotContentChange}
206
196
  ></luzmo-display-settings-grand-totals>` : ""}
207
- ${this.slotType === "numeric" || this.slotType === "mixed" && this._currentSlotContent.type === "numeric" ? r`<luzmo-display-settings-numeric
197
+ ${this.slotType === "numeric" || this.slotType === "mixed" && this._currentSlotContent.type === "numeric" ? l`<luzmo-display-settings-numeric
208
198
  .language=${this.language}
209
199
  .slotContent=${this._currentSlotContent}
210
200
  .size=${this.size}
@@ -213,20 +203,20 @@ class i extends y(
213
203
  .isCumulativeSumEnabled=${this.isCumulativeSumEnabled}
214
204
  @slot-content-changed=${this._onSlotContentChange}
215
205
  ></luzmo-display-settings-numeric>` : ""}
216
- ${this.slotType !== "numeric" && this._currentSlotContent.type === "datetime" && this.areDatetimeOptionsEnabled ? r`<luzmo-display-settings-datetime
206
+ ${this.slotType !== "numeric" && this._currentSlotContent.type === "datetime" && this.areDatetimeOptionsEnabled ? l`<luzmo-display-settings-datetime
217
207
  .language=${this.language}
218
208
  .contentLanguage=${this.contentLanguage}
219
209
  .slotContent=${this._currentSlotContent}
220
210
  .size=${this.size}
221
211
  @slot-content-changed=${this._onSlotContentChange}
222
212
  ></luzmo-display-settings-datetime>` : ""}
223
- ${!["numeric", "mixed"].includes(this.slotType ?? "") && this._currentSlotContent.type === "numeric" && !this.isBinningDisabled ? r`<luzmo-display-settings-binning
213
+ ${!["numeric", "mixed"].includes(this.slotType ?? "") && this._currentSlotContent.type === "numeric" && !this.isBinningDisabled ? l`<luzmo-display-settings-binning
224
214
  .language=${this.language}
225
215
  .slotContent=${this._currentSlotContent}
226
216
  .size=${this.size}
227
217
  @slot-content-changed=${this._onSlotContentChange}
228
218
  ></luzmo-display-settings-binning>` : ""}
229
- ${this.periodOverPeriodUiType ? r`<luzmo-display-settings-period-over-period
219
+ ${this.periodOverPeriodUiType ? l`<luzmo-display-settings-period-over-period
230
220
  .language=${this.language}
231
221
  .slotContent=${this._currentSlotContent}
232
222
  .size=${this.size}
@@ -236,7 +226,7 @@ class i extends y(
236
226
  ></luzmo-display-settings-period-over-period>` : ""}
237
227
  ${this._renderExampleRow()}
238
228
  </div>
239
- ${this._showIds ? r` <luzmo-divider></luzmo-divider>
229
+ ${this._showIds ? l` <luzmo-divider></luzmo-divider>
240
230
  <div class="ids-container">
241
231
  <div>
242
232
  <span class="id-label"
@@ -257,7 +247,7 @@ class i extends y(
257
247
  }
258
248
  render() {
259
249
  return this._loadDisplaySettings.render({
260
- pending: () => r`<luzmo-progress-circle
250
+ pending: () => l`<luzmo-progress-circle
261
251
  indeterminate
262
252
  .size=${this.size}
263
253
  ></luzmo-progress-circle>`,
@@ -266,60 +256,59 @@ class i extends y(
266
256
  });
267
257
  }
268
258
  disconnectedCallback() {
269
- var t, o, n;
270
- (t = super.disconnectedCallback) == null || t.call(this), (n = (o = this._loadDisplaySettings).abort) == null || n.call(o);
259
+ super.disconnectedCallback?.(), this._loadDisplaySettings.abort?.();
271
260
  }
272
261
  }
273
- s([
274
- a({ type: String })
275
- ], i.prototype, "language");
276
- s([
277
- a({ type: String, attribute: "content-language" })
278
- ], i.prototype, "contentLanguage");
279
- s([
280
- a({ type: Boolean, attribute: "hide-display-settings" })
281
- ], i.prototype, "hideDisplaySettings");
282
- s([
283
- a({ type: Boolean })
284
- ], i.prototype, "isBinningDisabled");
285
- s([
286
- a({ type: Boolean })
287
- ], i.prototype, "areDatetimeOptionsEnabled");
288
- s([
289
- a({ type: Boolean })
290
- ], i.prototype, "areGrandTotalsEnabled");
291
- s([
292
- a({ type: Boolean })
293
- ], i.prototype, "isAggregationDisabled");
294
- s([
295
- a({ type: Boolean })
296
- ], i.prototype, "isCumulativeSumEnabled");
297
- s([
298
- a({ type: String })
299
- ], i.prototype, "periodOverPeriodUiType");
300
- s([
301
- a({ type: Boolean, attribute: "show-remove-button" })
302
- ], i.prototype, "showRemoveButton");
303
- s([
304
- a({ type: String, attribute: "slot-type" })
305
- ], i.prototype, "slotType");
306
- s([
307
- a()
308
- ], i.prototype, "slotContent");
309
- s([
310
- x()
311
- ], i.prototype, "_showIds");
312
- s([
313
- a({ type: Array, reflect: !1 })
314
- ], i.prototype, "measureColumns");
315
- s([
316
- S("luzmo-multi-language-field")
317
- ], i.prototype, "_multiLanguageFieldElement");
318
- s([
319
- f({ context: k, subscribe: !0 })
320
- ], i.prototype, "_store");
321
- customElements.get("luzmo-display-settings") || customElements.define("luzmo-display-settings", i);
262
+ i([
263
+ o({ type: String })
264
+ ], e.prototype, "language");
265
+ i([
266
+ o({ type: String, attribute: "content-language" })
267
+ ], e.prototype, "contentLanguage");
268
+ i([
269
+ o({ type: Boolean, attribute: "hide-display-settings" })
270
+ ], e.prototype, "hideDisplaySettings");
271
+ i([
272
+ o({ type: Boolean })
273
+ ], e.prototype, "isBinningDisabled");
274
+ i([
275
+ o({ type: Boolean })
276
+ ], e.prototype, "areDatetimeOptionsEnabled");
277
+ i([
278
+ o({ type: Boolean })
279
+ ], e.prototype, "areGrandTotalsEnabled");
280
+ i([
281
+ o({ type: Boolean })
282
+ ], e.prototype, "isAggregationDisabled");
283
+ i([
284
+ o({ type: Boolean })
285
+ ], e.prototype, "isCumulativeSumEnabled");
286
+ i([
287
+ o({ type: String })
288
+ ], e.prototype, "periodOverPeriodUiType");
289
+ i([
290
+ o({ type: Boolean, attribute: "show-remove-button" })
291
+ ], e.prototype, "showRemoveButton");
292
+ i([
293
+ o({ type: String, attribute: "slot-type" })
294
+ ], e.prototype, "slotType");
295
+ i([
296
+ o()
297
+ ], e.prototype, "slotContent");
298
+ i([
299
+ b()
300
+ ], e.prototype, "_showIds");
301
+ i([
302
+ o({ type: Array, reflect: !1 })
303
+ ], e.prototype, "measureColumns");
304
+ i([
305
+ _("luzmo-multi-language-field")
306
+ ], e.prototype, "_multiLanguageFieldElement");
307
+ i([
308
+ v({ context: D, subscribe: !0 })
309
+ ], e.prototype, "_store");
310
+ customElements.get("luzmo-display-settings") || customElements.define("luzmo-display-settings", e);
322
311
  export {
323
- i as L,
324
- k as s
312
+ e as L,
313
+ D as s
325
314
  };
@@ -17,11 +17,11 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";require("@luzmo/lucero/field-label");require("@luzmo/lucero/menu");require("@luzmo/lucero/select");const h=require("lit"),e=require("@lit/localize"),u=require("@luzmo/lucero/utils"),p=require("lit/decorators.js"),f=require("./set-locale-BRRalqne.cjs"),x=()=>[{id:"? = ?",key:"? = ?",expression:"? = ?",name:e.msg("equals",{desc:"Filter expression for equals comparison"}),description:e.msg("equals",{desc:"Filter expression for equals comparison"}),tiny:e.msg("eq",{desc:"Short form of equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? != ?",key:"? != ?",expression:"? != ?",name:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),description:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),tiny:e.msg("not eq",{desc:"Short form of not equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? in ?",key:"? in ?",expression:"? in ?",name:e.msg("is in",{desc:"Filter expression for in comparison"}),description:e.msg("is in",{desc:"Filter expression for in comparison"}),tiny:e.msg("is in",{desc:"Filter expression for in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? not in ?",key:"? not in ?",expression:"? not in ?",name:e.msg("is not in",{desc:"Filter expression for not in comparison"}),description:e.msg("is not in",{desc:"Filter expression for not in comparison"}),tiny:e.msg("is not in",{desc:"Filter expression for not in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? like ?",key:"? like ?",expression:"? like ?",name:e.msg("contains",{desc:"Filter expression for contains comparison"}),description:e.msg("contains",{desc:"Filter expression for contains comparison"}),tiny:e.msg("cont",{desc:"Short form of contains comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not like ?",key:"? not like ?",expression:"? not like ?",name:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),description:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),tiny:e.msg("not cont",{desc:"Short form of does not contain comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? starts with ?",key:"? starts with ?",expression:"? starts with ?",name:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),description:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),tiny:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not starts with ?",key:"? not starts with ?",expression:"? not starts with ?",name:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),description:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),tiny:e.msg("not starts with",{desc:"Short form of does not start with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? ends with ?",key:"? ends with ?",expression:"? ends with ?",name:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),description:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),tiny:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not ends with ?",key:"? not ends with ?",expression:"? not ends with ?",name:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),description:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),tiny:e.msg("not ends with",{desc:"Short form of does not end with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? < ?",key:"? < ?",expression:"? < ?",name:e.msg("less than",{desc:"Filter expression for less than comparison"}),description:e.msg("less than",{desc:"Filter expression for less than comparison"}),tiny:e.msg("less than",{desc:"Filter expression for less than comparison"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? <= ?",key:"? <= ?",expression:"? <= ?",name:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),description:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),tiny:e.msg("<=",{desc:"Short form of less than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? > ?",key:"? > ?",expression:"? > ?",name:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),description:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),tiny:e.msg(">",{desc:"Short form of greater than comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? >= ?",key:"? >= ?",expression:"? >= ?",name:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),description:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),tiny:e.msg(">=",{desc:"Short form of greater than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? between ?",key:"? between ?",expression:"? between ?",name:e.msg("is between",{desc:"Filter expression for between comparison"}),description:e.msg("is between",{desc:"Filter expression for between comparison"}),tiny:e.msg("between",{desc:"Short form of between comparison in filter expression"}),type:[],subtype:["ip_address"]},{id:"last_now",key:"last_now",expression:"last_now",name:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),description:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),tiny:e.msg("last",{desc:"Short form of last (x) periods in filter expression"}),type:["datetime"]},{id:"last_available",key:"last_available",expression:"last_available",name:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),description:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),tiny:e.msg("last available",{desc:"Short form of last (x) available periods in filter expression"}),type:["datetime"]},{id:"last_completed",key:"last_completed",expression:"last_completed",name:e.msg("last completed period",{desc:"Filter expression for last completed period"}),description:e.msg("last completed (period)",{desc:"Filter expression for last completed period"}),tiny:e.msg("last completed",{desc:"Short form of last completed period in filter expression"}),type:["datetime"]},{id:"next_now",key:"next_now",expression:"next_now",name:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),description:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),tiny:e.msg("next",{desc:"Short form of next (x) periods in filter expression"}),type:["datetime"]},{id:"next_full",key:"next_full",expression:"next_full",name:e.msg("next full (period)",{desc:"Filter expression for next full period"}),description:e.msg("next full (period)",{desc:"Filter expression for next full period"}),tiny:e.msg("next full",{desc:"Short form of next full period in filter expression"}),type:["datetime"]},{id:"WTD",key:"to_date",expression:"to_date",unit:4,name:e.msg("week to date",{desc:"Filter expression for week to date"}),description:e.msg("week to date",{desc:"Filter expression for week to date"}),tiny:e.msg("WTD",{desc:"Short form of week to date in filter expression"}),type:["datetime"]},{id:"MTD",key:"to_date",expression:"to_date",unit:3,name:e.msg("month to date",{desc:"Filter expression for month to date"}),description:e.msg("month to date",{desc:"Filter expression for month to date"}),tiny:e.msg("MTD",{desc:"Short form of month to date in filter expression"}),type:["datetime"]},{id:"QTD",key:"to_date",expression:"to_date",unit:2,name:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),description:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),tiny:e.msg("QTD",{desc:"Short form of quarter to date in filter expression"}),type:["datetime"]},{id:"YTD",key:"to_date",expression:"to_date",unit:1,name:e.msg("year to date",{desc:"Filter expression for year to date"}),description:e.msg("year to date",{desc:"Filter expression for year to date"}),tiny:e.msg("YTD",{desc:"Short form of year to date in filter expression"}),type:["datetime"]},{id:"? is null",key:"? is null",expression:"? is null",name:e.msg("is missing",{desc:"Filter expression for is missing"}),description:e.msg("is missing",{desc:"Filter expression for is missing"}),tiny:e.msg("missing",{desc:"Short form of is missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]},{id:"? is not null",key:"? is not null",expression:"? is not null",name:e.msg("is not missing",{desc:"Filter expression for is not missing"}),description:e.msg("is not missing",{desc:"Filter expression for is not missing"}),tiny:e.msg("not missing",{desc:"Short form of is not missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]}],y=(d,s,i)=>{const r=new Set(["? in ?","? not in ?"]);return!d&&!s?x():x().filter(t=>{var o;return(d&&t.type.includes(d)||s&&((o=t.subtype)==null?void 0:o.includes(s)))&&!(i&&r.has(t.key))})},q=":host{font-family:var(--luzmo-font-family)}:host{--var: blue}";var z=Object.defineProperty,v=Object.getOwnPropertyDescriptor,a=(d,s,i,r)=>{for(var t=r>1?void 0:r?v(s,i):s,o=d.length-1,n;o>=0;o--)(n=d[o])&&(t=(r?n(s,i,t):n(t))||t);return r&&t&&z(s,i,t),t};exports.LuzmoFilterExpressionPicker=class extends u.SizedMixin(u.LuzmoElement,{validSizes:Object.values(u.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.hasLabel=!1,this.allowEmpty=!1,this.placeholder="",this.disabled=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=x()}static get styles(){return[h.unsafeCSS(q)]}_sendChangeEvent(){var i,r,t,o,n,l,c;if(this.disabled)return;const s={expression:(i=this.filter)==null?void 0:i.expression};(o=(t=(r=this.filter)==null?void 0:r.parameters)==null?void 0:t[1])!=null&&o.unit&&(s.unit=(c=(l=(n=this.filter)==null?void 0:n.parameters)==null?void 0:l[1])==null?void 0:c.unit),this.dispatchEvent(new CustomEvent("expression-selected",{bubbles:!0,composed:!0,cancelable:!0,detail:s}))}setExpression(s){var t,o;this._richExpression=(o=(t=s==null?void 0:s.detail)==null?void 0:t.value)==null?void 0:o[0];const i=this._expressionConfigurations.find(n=>n.id===this._richExpression),r=structuredClone(this.filter);r.expression=i==null?void 0:i.expression,i!=null&&i.unit&&(this._unit=i.unit,r!=null&&r.parameters[0]&&(r.parameters[1]={unit:this._unit})),this.filter=r,this._sendChangeEvent()}willUpdate(s){var g,F,b,w,_,k,E;const i=s.has("language"),r=s.has("filter"),t=s.has("type"),o=s.has("subtype"),n=s.has("isFormula");i&&this.language!==f.getLocale()&&([...f.targetLocales].includes(this.language??"en")||this.language==="en")&&f.setLocale(this.language);const l=y(this.type,this.subtype,this.isFormula),c=["YTD","QTD","MTD","WTD"];if(((g=this.filter)==null?void 0:g.expression)==="to_date"){const m=((b=(F=this.filter)==null?void 0:F.parameters[1])==null?void 0:b.unit)??1;this._unit=m,this._richExpression=c[m-1]??"YTD"}else this._richExpression=(w=this.filter)==null?void 0:w.expression;(t||o||n||r)&&this.filter&&!this.disabled&&!(l!=null&&l.find(m=>{var S;return m.expression===((S=this.filter)==null?void 0:S.expression)}))?(this.invalid=!0,console.warn(`Warning: ${(_=this.filter)==null?void 0:_.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!((k=this.filter)!=null&&k.expression)&&!this.allowEmpty&&(this._richExpression=(E=l==null?void 0:l[0])==null?void 0:E.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){var t,o;const s=(t=y(this.type,this.subtype,this.isFormula))==null?void 0:t.map(n=>({value:n.id,label:n.description,shortLabel:n.tiny})),i=this.disabled||!((o=this.filter)!=null&&o.expression)&&!this.allowEmpty,r=h.html`<luzmo-field-label
20
+ "use strict";require("@luzmo/lucero/field-label");require("@luzmo/lucero/menu");require("@luzmo/lucero/select");const m=require("lit"),e=require("@lit/localize"),c=require("@luzmo/lucero/utils"),n=require("lit/decorators.js"),h=require("./set-locale-B8iQGfk0.cjs"),f=()=>[{id:"? = ?",key:"? = ?",expression:"? = ?",name:e.msg("equals",{desc:"Filter expression for equals comparison"}),description:e.msg("equals",{desc:"Filter expression for equals comparison"}),tiny:e.msg("eq",{desc:"Short form of equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? != ?",key:"? != ?",expression:"? != ?",name:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),description:e.msg("not equals",{desc:"Filter expression for not equals comparison"}),tiny:e.msg("not eq",{desc:"Short form of not equals comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? in ?",key:"? in ?",expression:"? in ?",name:e.msg("is in",{desc:"Filter expression for in comparison"}),description:e.msg("is in",{desc:"Filter expression for in comparison"}),tiny:e.msg("is in",{desc:"Filter expression for in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? not in ?",key:"? not in ?",expression:"? not in ?",name:e.msg("is not in",{desc:"Filter expression for not in comparison"}),description:e.msg("is not in",{desc:"Filter expression for not in comparison"}),tiny:e.msg("is not in",{desc:"Filter expression for not in comparison"}),type:["numeric","hierarchy"],subtype:["ip_address"]},{id:"? like ?",key:"? like ?",expression:"? like ?",name:e.msg("contains",{desc:"Filter expression for contains comparison"}),description:e.msg("contains",{desc:"Filter expression for contains comparison"}),tiny:e.msg("cont",{desc:"Short form of contains comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not like ?",key:"? not like ?",expression:"? not like ?",name:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),description:e.msg("does not contain",{desc:"Filter expression for does not contain comparison"}),tiny:e.msg("not cont",{desc:"Short form of does not contain comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? starts with ?",key:"? starts with ?",expression:"? starts with ?",name:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),description:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),tiny:e.msg("starts with",{desc:"Filter expression for starts with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not starts with ?",key:"? not starts with ?",expression:"? not starts with ?",name:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),description:e.msg("does not start with",{desc:"Filter expression for does not start with comparison"}),tiny:e.msg("not starts with",{desc:"Short form of does not start with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? ends with ?",key:"? ends with ?",expression:"? ends with ?",name:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),description:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),tiny:e.msg("ends with",{desc:"Filter expression for ends with comparison"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? not ends with ?",key:"? not ends with ?",expression:"? not ends with ?",name:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),description:e.msg("does not end with",{desc:"Filter expression for does not end with comparison"}),tiny:e.msg("not ends with",{desc:"Short form of does not end with comparison in filter expression"}),type:["hierarchy"],subtype:["ip_address"]},{id:"? < ?",key:"? < ?",expression:"? < ?",name:e.msg("less than",{desc:"Filter expression for less than comparison"}),description:e.msg("less than",{desc:"Filter expression for less than comparison"}),tiny:e.msg("less than",{desc:"Filter expression for less than comparison"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? <= ?",key:"? <= ?",expression:"? <= ?",name:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),description:e.msg("less than or equal",{desc:"Filter expression for less than or equal comparison"}),tiny:e.msg("<=",{desc:"Short form of less than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? > ?",key:"? > ?",expression:"? > ?",name:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),description:e.msg("greater than",{desc:"Filter expression for greater than comparison"}),tiny:e.msg(">",{desc:"Short form of greater than comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? >= ?",key:"? >= ?",expression:"? >= ?",name:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),description:e.msg("greater than or equal",{desc:"Filter expression for greater than or equal comparison"}),tiny:e.msg(">=",{desc:"Short form of greater than or equal comparison in filter expression"}),type:["numeric","datetime"],subtype:["ip_address"]},{id:"? between ?",key:"? between ?",expression:"? between ?",name:e.msg("is between",{desc:"Filter expression for between comparison"}),description:e.msg("is between",{desc:"Filter expression for between comparison"}),tiny:e.msg("between",{desc:"Short form of between comparison in filter expression"}),type:[],subtype:["ip_address"]},{id:"last_now",key:"last_now",expression:"last_now",name:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),description:e.msg("last (x) periods",{desc:"Filter expression for last (x) periods"}),tiny:e.msg("last",{desc:"Short form of last (x) periods in filter expression"}),type:["datetime"]},{id:"last_available",key:"last_available",expression:"last_available",name:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),description:e.msg("last (x) available periods",{desc:"Filter expression for last (x) available periods"}),tiny:e.msg("last available",{desc:"Short form of last (x) available periods in filter expression"}),type:["datetime"]},{id:"last_completed",key:"last_completed",expression:"last_completed",name:e.msg("last completed period",{desc:"Filter expression for last completed period"}),description:e.msg("last completed (period)",{desc:"Filter expression for last completed period"}),tiny:e.msg("last completed",{desc:"Short form of last completed period in filter expression"}),type:["datetime"]},{id:"next_now",key:"next_now",expression:"next_now",name:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),description:e.msg("next (x) periods",{desc:"Filter expression for next (x) periods"}),tiny:e.msg("next",{desc:"Short form of next (x) periods in filter expression"}),type:["datetime"]},{id:"more_than_ago",key:"more_than_ago",expression:"more_than_ago",name:e.msg("more than (x) periods ago",{desc:"Filter expression for more than (x) periods ago"}),description:e.msg("more than (x) periods ago",{desc:"Filter expression for more than (x) periods ago"}),tiny:e.msg("more than ago",{desc:"Short form of more than (x) periods ago in filter expression"}),type:["datetime"]},{id:"or_more_ago",key:"or_more_ago",expression:"or_more_ago",name:e.msg("(x) periods or more ago",{desc:"Filter expression for (x) periods or more ago"}),description:e.msg("(x) periods or more ago",{desc:"Filter expression for (x) periods or more ago"}),tiny:e.msg("or more ago",{desc:"Short form of (x) periods or more ago in filter expression"}),type:["datetime"]},{id:"next_full",key:"next_full",expression:"next_full",name:e.msg("next full (period)",{desc:"Filter expression for next full period"}),description:e.msg("next full (period)",{desc:"Filter expression for next full period"}),tiny:e.msg("next full",{desc:"Short form of next full period in filter expression"}),type:["datetime"]},{id:"WTD",key:"to_date",expression:"to_date",unit:4,name:e.msg("week to date",{desc:"Filter expression for week to date"}),description:e.msg("week to date",{desc:"Filter expression for week to date"}),tiny:e.msg("WTD",{desc:"Short form of week to date in filter expression"}),type:["datetime"]},{id:"MTD",key:"to_date",expression:"to_date",unit:3,name:e.msg("month to date",{desc:"Filter expression for month to date"}),description:e.msg("month to date",{desc:"Filter expression for month to date"}),tiny:e.msg("MTD",{desc:"Short form of month to date in filter expression"}),type:["datetime"]},{id:"QTD",key:"to_date",expression:"to_date",unit:2,name:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),description:e.msg("quarter to date",{desc:"Filter expression for quarter to date"}),tiny:e.msg("QTD",{desc:"Short form of quarter to date in filter expression"}),type:["datetime"]},{id:"YTD",key:"to_date",expression:"to_date",unit:1,name:e.msg("year to date",{desc:"Filter expression for year to date"}),description:e.msg("year to date",{desc:"Filter expression for year to date"}),tiny:e.msg("YTD",{desc:"Short form of year to date in filter expression"}),type:["datetime"]},{id:"? is null",key:"? is null",expression:"? is null",name:e.msg("is missing",{desc:"Filter expression for is missing"}),description:e.msg("is missing",{desc:"Filter expression for is missing"}),tiny:e.msg("missing",{desc:"Short form of is missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]},{id:"? is not null",key:"? is not null",expression:"? is not null",name:e.msg("is not missing",{desc:"Filter expression for is not missing"}),description:e.msg("is not missing",{desc:"Filter expression for is not missing"}),tiny:e.msg("not missing",{desc:"Short form of is not missing in filter expression"}),type:["numeric","datetime","hierarchy","spatial"],subtype:["ip_address"]}],x=(a,s,o)=>{const t=new Set(["? in ?","? not in ?"]);return!a&&!s?f():f().filter(i=>(a&&i.type.includes(a)||s&&i.subtype?.includes(s))&&!(o&&t.has(i.key)))},g=":host{font-family:var(--luzmo-font-family)}:host{--var: blue}";var F=Object.defineProperty,b=Object.getOwnPropertyDescriptor,r=(a,s,o,t)=>{for(var i=t>1?void 0:t?b(s,o):s,p=a.length-1,l;p>=0;p--)(l=a[p])&&(i=(t?l(s,o,i):l(i))||i);return t&&i&&F(s,o,i),i};exports.LuzmoFilterExpressionPicker=class extends c.SizedMixin(c.LuzmoElement,{validSizes:Object.values(c.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.hasLabel=!1,this.allowEmpty=!1,this.placeholder="",this.disabled=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=f()}static get styles(){return[m.unsafeCSS(g)]}_sendChangeEvent(){if(this.disabled)return;const s={expression:this.filter?.expression};this.filter?.parameters?.[1]?.unit&&(s.unit=this.filter?.parameters?.[1]?.unit),this.dispatchEvent(new CustomEvent("expression-selected",{bubbles:!0,composed:!0,cancelable:!0,detail:s}))}setExpression(s){this._richExpression=s?.detail?.value?.[0];const o=this._expressionConfigurations.find(i=>i.id===this._richExpression),t=structuredClone(this.filter);t.expression=o?.expression,o?.unit&&(this._unit=o.unit,t?.parameters[0]&&(t.parameters[1]={unit:this._unit})),this.filter=t,this._sendChangeEvent()}willUpdate(s){const o=s.has("language"),t=s.has("filter"),i=s.has("type"),p=s.has("subtype"),l=s.has("isFormula");o&&this.language!==h.getLocale()&&([...h.targetLocales].includes(this.language??"en")||this.language==="en")&&h.setLocale(this.language);const u=x(this.type,this.subtype,this.isFormula),y=["YTD","QTD","MTD","WTD"];if(this.filter?.expression==="to_date"){const d=this.filter?.parameters[1]?.unit??1;this._unit=d,this._richExpression=y[d-1]??"YTD"}else this._richExpression=this.filter?.expression;(i||p||l||t)&&this.filter&&!this.disabled&&!u?.find(d=>d.expression===this.filter?.expression)?(this.invalid=!0,console.warn(`Warning: ${this.filter?.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!this.filter?.expression&&!this.allowEmpty&&(this._richExpression=u?.[0]?.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){const s=x(this.type,this.subtype,this.isFormula)?.map(i=>({value:i.id,label:i.description,shortLabel:i.tiny})),o=this.disabled||!this.filter?.expression&&!this.allowEmpty,t=m.html`<luzmo-field-label
21
21
  for="expression"
22
22
  size=${this.size}
23
23
  >${this.label??e.msg("Select an expression",{desc:"Label for expression picker"})}</luzmo-field-label
24
- >`;return h.html`${this.hasLabel?r:""}
24
+ >`;return m.html`${this.hasLabel?t:""}
25
25
  <luzmo-select
26
26
  label=${this.placeholder??e.msg("Select...")}
27
27
  id="expression"
@@ -29,10 +29,10 @@
29
29
  variant="highlight"
30
30
  selects="single"
31
31
  .language=${this.language}
32
- ?disabled=${i}
32
+ ?disabled=${o}
33
33
  ?invalid=${this.invalid}
34
34
  .options=${s}
35
35
  .value=${[this._richExpression]}
36
36
  @change=${this.setExpression}
37
37
  >
38
- </luzmo-select>`}};a([p.property({type:String,reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"language",2);a([p.property({type:String,reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"filter",2);a([p.property({type:Boolean,attribute:"has-label",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"hasLabel",2);a([p.property({type:String,reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"label",2);a([p.property({type:Boolean,attribute:"allow-empty",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"allowEmpty",2);a([p.property({type:String,attribute:"placeholder",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"placeholder",2);a([p.property({type:Boolean,attribute:"disabled",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"disabled",2);a([p.property({type:String,attribute:"type",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"type",2);a([p.property({type:String,attribute:"subtype",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"subtype",2);a([p.property({type:Boolean,attribute:"invalid",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"invalid",2);a([p.property({type:Boolean,attribute:"is-formula",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"isFormula",2);a([p.state()],exports.LuzmoFilterExpressionPicker.prototype,"_richExpression",2);a([p.state()],exports.LuzmoFilterExpressionPicker.prototype,"_unit",2);exports.LuzmoFilterExpressionPicker=a([e.localized()],exports.LuzmoFilterExpressionPicker);customElements.get("luzmo-filter-expression-picker")||customElements.define("luzmo-filter-expression-picker",exports.LuzmoFilterExpressionPicker);exports.getValidExpressions=y;
38
+ </luzmo-select>`}};r([n.property({type:String,reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"language",2);r([n.property({type:String,reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"filter",2);r([n.property({type:Boolean,attribute:"has-label",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"hasLabel",2);r([n.property({type:String,reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"label",2);r([n.property({type:Boolean,attribute:"allow-empty",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"allowEmpty",2);r([n.property({type:String,attribute:"placeholder",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"placeholder",2);r([n.property({type:Boolean,attribute:"disabled",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"disabled",2);r([n.property({type:String,attribute:"type",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"type",2);r([n.property({type:String,attribute:"subtype",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"subtype",2);r([n.property({type:Boolean,attribute:"invalid",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"invalid",2);r([n.property({type:Boolean,attribute:"is-formula",reflect:!0})],exports.LuzmoFilterExpressionPicker.prototype,"isFormula",2);r([n.state()],exports.LuzmoFilterExpressionPicker.prototype,"_richExpression",2);r([n.state()],exports.LuzmoFilterExpressionPicker.prototype,"_unit",2);exports.LuzmoFilterExpressionPicker=r([e.localized()],exports.LuzmoFilterExpressionPicker);customElements.get("luzmo-filter-expression-picker")||customElements.define("luzmo-filter-expression-picker",exports.LuzmoFilterExpressionPicker);exports.getValidExpressions=x;