@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
@@ -1,19 +1,16 @@
1
- import '@luzmo/lucero/field-label';
2
- import '@luzmo/lucero/icon';
3
- import '@luzmo/lucero/menu';
4
- import '@luzmo/lucero/picker';
1
+ import '@luzmo/lucero/select';
5
2
  import { CSSResultArray, PropertyValues, TemplateResult } from 'lit';
6
3
  import { LuzmoElement } from '@luzmo/lucero/utils';
7
- import { DataItem } from 'src/types';
8
- declare const LuzmoFilterDataItemPicker_base: typeof LuzmoElement & {
4
+ import { DataItemExtended } from 'src/types';
5
+ declare const LuzmoDataItemsSelect_base: typeof LuzmoElement & {
9
6
  new (...args: any[]): import("@luzmo/lucero").SizedElementInterface;
10
7
  prototype: import("@luzmo/lucero").SizedElementInterface;
11
8
  };
12
9
  /**
13
- * @element luzmo-filter-data-item-picker
14
- * @fires data-item-selected - Emitted when a data item is selected
10
+ * @element luzmo-data-items-select
11
+ * @fires data-items-selected - Emitted when data items are selected. Event detail contains `{ dataItems: DataItemSelected[] }`
15
12
  */
16
- export declare class LuzmoFilterDataItemPicker extends LuzmoFilterDataItemPicker_base {
13
+ export declare class LuzmoDataItemsSelect extends LuzmoDataItemsSelect_base {
17
14
  static get styles(): CSSResultArray;
18
15
  /**
19
16
  * The language of the settings interface
@@ -24,17 +21,13 @@ export declare class LuzmoFilterDataItemPicker extends LuzmoFilterDataItemPicker
24
21
  */
25
22
  contentLanguage: string;
26
23
  /**
27
- * Whether the picker has a label
28
- */
29
- hasLabel: boolean;
30
- /**
31
- * The label for the picker, if hasLabel is true
24
+ * The accessible label for the select (used for aria-label)
32
25
  */
33
26
  label?: string;
34
27
  /**
35
28
  * Where to show icons
36
29
  */
37
- icons?: 'none' | 'only-menu' | 'all';
30
+ icons?: 'none' | 'menu-only' | 'all';
38
31
  /**
39
32
  * Allow no selection. If true, the picker will not show a value when no item is selected. Else if no value is provided it will pick the first item.
40
33
  */
@@ -44,9 +37,14 @@ export declare class LuzmoFilterDataItemPicker extends LuzmoFilterDataItemPicker
44
37
  */
45
38
  placeholder: string;
46
39
  /**
47
- * The dataItemId to display in the picker. If not provided, the first item will be displayed.
40
+ * Whether the picker allows single or multiple selections.
41
+ * @default 'single'
42
+ */
43
+ selects: 'single' | 'multiple';
44
+ /**
45
+ * The dataItemIds to display in the picker. If not provided, the first item will be displayed (when allowEmpty is false).
48
46
  */
49
- dataItemId: string;
47
+ dataItemIds: string[];
50
48
  /**
51
49
  * Whether the picker is in loading state
52
50
  */
@@ -55,6 +53,22 @@ export declare class LuzmoFilterDataItemPicker extends LuzmoFilterDataItemPicker
55
53
  * Whether the picker is invalid - eg. the dataItemId is not found in the datasetsDataItems or query failed to fetch data
56
54
  */
57
55
  invalid: boolean;
56
+ /**
57
+ * Whether the picker is clearable
58
+ */
59
+ clearable: boolean;
60
+ /**
61
+ * Whether the picker is in pending state
62
+ */
63
+ pending: boolean;
64
+ /**
65
+ * Whether the picker is disabled
66
+ */
67
+ disabled: boolean;
68
+ /**
69
+ * The placement of the dropdown menu
70
+ */
71
+ placement: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end';
58
72
  /**
59
73
  * The datasets and their dataItems to display
60
74
  */
@@ -63,13 +77,14 @@ export declare class LuzmoFilterDataItemPicker extends LuzmoFilterDataItemPicker
63
77
  name: {
64
78
  [key: string]: string;
65
79
  };
66
- columns: DataItem[];
67
- formulas: DataItem[];
80
+ columns: DataItemExtended[];
81
+ formulas: DataItemExtended[];
68
82
  }[];
69
- private _dataItemSelected;
83
+ private _dataItemsSelected;
70
84
  private _sendChangeEvent;
85
+ private _enrichDataItem;
71
86
  setDataItem(event: CustomEvent): void;
72
- private _findDataItemInDatasetsDataItems;
87
+ private _findDataItemsInDatasetsDataItems;
73
88
  protected willUpdate(changedProperties: PropertyValues): void;
74
89
  protected render(): TemplateResult;
75
90
  }
@@ -0,0 +1,39 @@
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";require("@luzmo/lucero/select");const I=require("lit"),f=require("@lit/localize"),p=require("@luzmo/lucero/utils"),h=require("../set-locale-B8iQGfk0.cjs"),r=require("lit/decorators.js"),g=require("../calculate-data-item-icon-DtVGbet3.cjs"),y=require("../localize-C4zNlrwK.cjs"),b=":host{font-family:var(--luzmo-font-family)}";var _=Object.defineProperty,D=Object.getOwnPropertyDescriptor,l=(o,s,i,e)=>{for(var t=e>1?void 0:e?D(s,i):s,n=o.length-1,c;n>=0;n--)(c=o[n])&&(t=(e?c(s,i,t):c(t))||t);return e&&t&&_(s,i,t),t};let a=class extends p.SizedMixin(p.LuzmoElement,{validSizes:Object.values(p.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this.icons="menu-only",this.allowEmpty=!1,this.placeholder=f.msg("Select..."),this.selects="single",this.dataItemIds=[],this.loading=!1,this.invalid=!1,this.clearable=!1,this.pending=!1,this.disabled=!1,this.placement="bottom-start",this.datasetsDataItems=[],this._dataItemsSelected=[]}static get styles(){return[I.unsafeCSS(b)]}_sendChangeEvent(){this.dispatchEvent(new CustomEvent("data-items-selected",{bubbles:!0,composed:!0,cancelable:!0,detail:{dataItems:this._dataItemsSelected}}))}_enrichDataItem(o,s,i=!1){const{id:e,...t}=o,n={...t,datasetId:s};return i?n.formulaId=e:n.columnId=e,n}setDataItem(o){const s=o?.detail?.value??[];this._dataItemsSelected=[];for(const i of s)for(const e of this.datasetsDataItems){const t=e.columns??[],n=e.formulas??[],c=t.find(d=>d.id===i);if(c){this._dataItemsSelected.push(this._enrichDataItem(c,e.id));break}const u=n.find(d=>d.id===i);if(u){this._dataItemsSelected.push(this._enrichDataItem(u,e.id,!0));break}}this.dataItemIds=s,this._sendChangeEvent()}_findDataItemsInDatasetsDataItems(o){this._dataItemsSelected=[];for(const s of o)for(const i of this.datasetsDataItems){const e=i.columns,t=i.formulas,n=e?.find(u=>u.id===s);if(n){this._dataItemsSelected.push(this._enrichDataItem(n,i.id));break}const c=t?.find(u=>u.id===s);if(c){this._dataItemsSelected.push(this._enrichDataItem(c,i.id,!0));break}}}willUpdate(o){const s=o.has("language"),i=o.has("dataItemIds"),e=o.has("datasetsDataItems");if(s&&this.language!==h.getLocale()&&([...h.targetLocales].includes(this.language??"en")||this.language==="en")&&h.setLocale(this.language),(i||e)&&(this._findDataItemsInDatasetsDataItems(this.dataItemIds),this._dataItemsSelected.length===0&&!this.allowEmpty&&!this.loading)){for(const t of this.datasetsDataItems)if(t?.columns?.length>0){this._dataItemsSelected=[this._enrichDataItem(t.columns[0],t.id)];break}else if(t?.formulas?.length>0){this._dataItemsSelected=[this._enrichDataItem(t.formulas[0],t.id,!0)];break}this.dataItemIds=this._dataItemsSelected.map(t=>t.id),this._sendChangeEvent()}}render(){const o=[],s=this.icons!=="none";for(const n of this.datasetsDataItems??[]){const c=n?.columns??[],u=n?.formulas??[];for(const d of c){const m={value:d.id,label:y.localize(d?.name??{},this.contentLanguage)??""};s&&(m.icon=g.calculateDataItemIcon(d,this.size)),o.push(m)}for(const d of u){const m={value:d.id,label:y.localize(d?.name??{},this.contentLanguage)??""};s&&(m.icon=g.calculateDataItemIcon(d,this.size)),o.push(m)}}const i=this.pending?"":this.label||this.placeholder||f.msg("Select..."),e=this.pending||this.dataItemIds.length===0?[]:this.dataItemIds,t=this.icons==="none"||this.icons==="menu-only"?"none":void 0;return I.html`<luzmo-select
21
+ id="data-items"
22
+ .size=${this.size}
23
+ .label=${i}
24
+ .retrieving=${this.loading}
25
+ .icons=${t}
26
+ .selects=${this.selects}
27
+ .variant=${"highlight"}
28
+ .placement=${this.placement}
29
+ emphasized
30
+ no-wrap
31
+ ?invalid=${this.invalid}
32
+ ?clearable=${this.clearable}
33
+ ?pending=${this.pending}
34
+ ?disabled=${this.disabled}
35
+ .options=${o}
36
+ .value=${e}
37
+ @change=${this.setDataItem}
38
+ >
39
+ </luzmo-select>`}};l([r.property({type:String,reflect:!0})],a.prototype,"language",2);l([r.property({type:String,attribute:"content-language",reflect:!0})],a.prototype,"contentLanguage",2);l([r.property({type:String,reflect:!0})],a.prototype,"label",2);l([r.property({type:String,reflect:!0})],a.prototype,"icons",2);l([r.property({type:Boolean,attribute:"allow-empty",reflect:!0})],a.prototype,"allowEmpty",2);l([r.property({type:String,attribute:"placeholder",reflect:!0})],a.prototype,"placeholder",2);l([r.property({type:String,reflect:!0})],a.prototype,"selects",2);l([r.property({type:Array,attribute:"data-item-ids",reflect:!0})],a.prototype,"dataItemIds",2);l([r.property({type:Boolean,attribute:"loading",reflect:!0})],a.prototype,"loading",2);l([r.property({type:Boolean,attribute:"invalid",reflect:!0})],a.prototype,"invalid",2);l([r.property({type:Boolean,attribute:"clearable",reflect:!0})],a.prototype,"clearable",2);l([r.property({type:Boolean,attribute:"pending",reflect:!0})],a.prototype,"pending",2);l([r.property({type:Boolean,attribute:"disabled",reflect:!0})],a.prototype,"disabled",2);l([r.property({type:String,reflect:!0})],a.prototype,"placement",2);l([r.property({type:Array,reflect:!1})],a.prototype,"datasetsDataItems",2);a=l([f.localized()],a);customElements.get("luzmo-data-items-select")||customElements.define("luzmo-data-items-select",a);
@@ -0,0 +1,6 @@
1
+ import { LuzmoDataItemsSelect } from './data-items-select';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-data-items-select': LuzmoDataItemsSelect;
5
+ }
6
+ }
@@ -0,0 +1,209 @@
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
+ import "@luzmo/lucero/select";
21
+ import { unsafeCSS as g, html as z } from "lit";
22
+ import { msg as f, localized as b } from "@lit/localize";
23
+ import { SizedMixin as I, LuzmoElement as y, ElementSizes as v } from "@luzmo/lucero/utils";
24
+ import { g as x, t as S, s as _ } from "../set-locale-B5562CBM.js";
25
+ import { property as n } from "lit/decorators.js";
26
+ import { c as h } from "../calculate-data-item-icon-DMDhKq_m.js";
27
+ import { l as p } from "../localize-CcDpq940.js";
28
+ (function() {
29
+ if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
30
+ const o = document.createElement("style");
31
+ o.setAttribute("data-luzmo-vars", ""), o.textContent = 'html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}', document.head.appendChild(o);
32
+ }
33
+ })();
34
+ const D = ":host{font-family:var(--luzmo-font-family)}";
35
+ var w = Object.defineProperty, k = Object.getOwnPropertyDescriptor, s = (a, o, r, t) => {
36
+ for (var e = t > 1 ? void 0 : t ? k(o, r) : o, i = a.length - 1, c; i >= 0; i--)
37
+ (c = a[i]) && (e = (t ? c(o, r, e) : c(e)) || e);
38
+ return t && e && w(o, r, e), e;
39
+ };
40
+ let l = class extends I(y, {
41
+ validSizes: Object.values(v)
42
+ }) {
43
+ constructor() {
44
+ super(...arguments), this.language = "en", this.contentLanguage = "en", this.icons = "menu-only", this.allowEmpty = !1, this.placeholder = f("Select..."), this.selects = "single", this.dataItemIds = [], this.loading = !1, this.invalid = !1, this.clearable = !1, this.pending = !1, this.disabled = !1, this.placement = "bottom-start", this.datasetsDataItems = [], this._dataItemsSelected = [];
45
+ }
46
+ static get styles() {
47
+ return [g(D)];
48
+ }
49
+ _sendChangeEvent() {
50
+ this.dispatchEvent(
51
+ new CustomEvent("data-items-selected", {
52
+ bubbles: !0,
53
+ composed: !0,
54
+ cancelable: !0,
55
+ detail: {
56
+ dataItems: this._dataItemsSelected
57
+ }
58
+ })
59
+ );
60
+ }
61
+ _enrichDataItem(a, o, r = !1) {
62
+ const { id: t, ...e } = a, i = {
63
+ ...e,
64
+ datasetId: o
65
+ };
66
+ return r ? i.formulaId = t : i.columnId = t, i;
67
+ }
68
+ setDataItem(a) {
69
+ const o = a?.detail?.value ?? [];
70
+ this._dataItemsSelected = [];
71
+ for (const r of o)
72
+ for (const t of this.datasetsDataItems) {
73
+ const e = t.columns ?? [], i = t.formulas ?? [], c = e.find((m) => m.id === r);
74
+ if (c) {
75
+ this._dataItemsSelected.push(this._enrichDataItem(c, t.id));
76
+ break;
77
+ }
78
+ const u = i.find((m) => m.id === r);
79
+ if (u) {
80
+ this._dataItemsSelected.push(this._enrichDataItem(u, t.id, !0));
81
+ break;
82
+ }
83
+ }
84
+ this.dataItemIds = o, this._sendChangeEvent();
85
+ }
86
+ _findDataItemsInDatasetsDataItems(a) {
87
+ this._dataItemsSelected = [];
88
+ for (const o of a)
89
+ for (const r of this.datasetsDataItems) {
90
+ const t = r.columns, e = r.formulas, i = t?.find((u) => u.id === o);
91
+ if (i) {
92
+ this._dataItemsSelected.push(this._enrichDataItem(i, r.id));
93
+ break;
94
+ }
95
+ const c = e?.find((u) => u.id === o);
96
+ if (c) {
97
+ this._dataItemsSelected.push(this._enrichDataItem(c, r.id, !0));
98
+ break;
99
+ }
100
+ }
101
+ }
102
+ willUpdate(a) {
103
+ const o = a.has("language"), r = a.has("dataItemIds"), t = a.has("datasetsDataItems");
104
+ if (o && this.language !== x() && ([...S].includes(this.language ?? "en") || this.language === "en") && _(this.language), (r || t) && (this._findDataItemsInDatasetsDataItems(this.dataItemIds), this._dataItemsSelected.length === 0 && !this.allowEmpty && !this.loading)) {
105
+ for (const e of this.datasetsDataItems)
106
+ if (e?.columns?.length > 0) {
107
+ this._dataItemsSelected = [this._enrichDataItem(e.columns[0], e.id)];
108
+ break;
109
+ } else if (e?.formulas?.length > 0) {
110
+ this._dataItemsSelected = [this._enrichDataItem(e.formulas[0], e.id, !0)];
111
+ break;
112
+ }
113
+ this.dataItemIds = this._dataItemsSelected.map((e) => e.id), this._sendChangeEvent();
114
+ }
115
+ }
116
+ render() {
117
+ const a = [], o = this.icons !== "none";
118
+ for (const i of this.datasetsDataItems ?? []) {
119
+ const c = i?.columns ?? [], u = i?.formulas ?? [];
120
+ for (const m of c) {
121
+ const d = {
122
+ value: m.id,
123
+ label: p(m?.name ?? {}, this.contentLanguage) ?? ""
124
+ };
125
+ o && (d.icon = h(m, this.size)), a.push(d);
126
+ }
127
+ for (const m of u) {
128
+ const d = {
129
+ value: m.id,
130
+ label: p(m?.name ?? {}, this.contentLanguage) ?? ""
131
+ };
132
+ o && (d.icon = h(m, this.size)), a.push(d);
133
+ }
134
+ }
135
+ const r = this.pending ? "" : this.label || this.placeholder || f("Select..."), t = this.pending || this.dataItemIds.length === 0 ? [] : this.dataItemIds, e = this.icons === "none" || this.icons === "menu-only" ? "none" : void 0;
136
+ return z`<luzmo-select
137
+ id="data-items"
138
+ .size=${this.size}
139
+ .label=${r}
140
+ .retrieving=${this.loading}
141
+ .icons=${e}
142
+ .selects=${this.selects}
143
+ .variant=${"highlight"}
144
+ .placement=${this.placement}
145
+ emphasized
146
+ no-wrap
147
+ ?invalid=${this.invalid}
148
+ ?clearable=${this.clearable}
149
+ ?pending=${this.pending}
150
+ ?disabled=${this.disabled}
151
+ .options=${a}
152
+ .value=${t}
153
+ @change=${this.setDataItem}
154
+ >
155
+ </luzmo-select>`;
156
+ }
157
+ };
158
+ s([
159
+ n({ type: String, reflect: !0 })
160
+ ], l.prototype, "language", 2);
161
+ s([
162
+ n({ type: String, attribute: "content-language", reflect: !0 })
163
+ ], l.prototype, "contentLanguage", 2);
164
+ s([
165
+ n({ type: String, reflect: !0 })
166
+ ], l.prototype, "label", 2);
167
+ s([
168
+ n({ type: String, reflect: !0 })
169
+ ], l.prototype, "icons", 2);
170
+ s([
171
+ n({ type: Boolean, attribute: "allow-empty", reflect: !0 })
172
+ ], l.prototype, "allowEmpty", 2);
173
+ s([
174
+ n({ type: String, attribute: "placeholder", reflect: !0 })
175
+ ], l.prototype, "placeholder", 2);
176
+ s([
177
+ n({ type: String, reflect: !0 })
178
+ ], l.prototype, "selects", 2);
179
+ s([
180
+ n({ type: Array, attribute: "data-item-ids", reflect: !0 })
181
+ ], l.prototype, "dataItemIds", 2);
182
+ s([
183
+ n({ type: Boolean, attribute: "loading", reflect: !0 })
184
+ ], l.prototype, "loading", 2);
185
+ s([
186
+ n({ type: Boolean, attribute: "invalid", reflect: !0 })
187
+ ], l.prototype, "invalid", 2);
188
+ s([
189
+ n({ type: Boolean, attribute: "clearable", reflect: !0 })
190
+ ], l.prototype, "clearable", 2);
191
+ s([
192
+ n({ type: Boolean, attribute: "pending", reflect: !0 })
193
+ ], l.prototype, "pending", 2);
194
+ s([
195
+ n({ type: Boolean, attribute: "disabled", reflect: !0 })
196
+ ], l.prototype, "disabled", 2);
197
+ s([
198
+ n({ type: String, reflect: !0 })
199
+ ], l.prototype, "placement", 2);
200
+ s([
201
+ n({ type: Array, reflect: !1 })
202
+ ], l.prototype, "datasetsDataItems", 2);
203
+ l = s([
204
+ b()
205
+ ], l);
206
+ customElements.get("luzmo-data-items-select") || customElements.define(
207
+ "luzmo-data-items-select",
208
+ l
209
+ );
@@ -17,7 +17,7 @@
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";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@luzmo/icons"),i=require("lit"),u=require("lit/decorators.js"),g=".dataset-icon{display:flex;justify-content:center;align-items:center}.dataset-icon .public-connector{overflow:hidden}.dataset-icon .public-connector img{display:block;object-fit:cover}.dataset-icon [class*=public-connector-]{width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center}.dataset-icon .public-connector-16,.dataset-icon .public-connector-24,.dataset-icon .public-connector-32{background-image:var(--connector-sprite-64x64)}.dataset-icon .public-connector-48,.dataset-icon .public-connector-64{background-image:var(--connector-sprite-96x96)}.dataset-icon .text-primary{color:var(--luzmo-primary, #007bff);display:flex;align-items:center;justify-content:center}.dataset-icon .text-primary.upload-icon,.dataset-icon .text-primary.plugin-icon{width:100%;height:100%}.public-connector-16.amazonathena{background-position:0 0}.public-connector-16.asana{background-position:0 -16px}.public-connector-16.bigquery{background-position:0 -32px}.public-connector-16.citybikes{background-position:0 -48px}.public-connector-16.clickhouse{background-position:0 -64px}.public-connector-16.demodataplugin{background-position:0 -80px}.public-connector-16.elasticsearch{background-position:0 -96px}.public-connector-16.exactonline,.public-connector-16.exactonlinenl{background-position:0 -112px}.public-connector-16.google{background-position:0 -128px}.public-connector-16.googleanalytics,.public-connector-16.googleanalyticsv4{background-position:0 -144px}.public-connector-16.googledrive{background-position:0 -160px}.public-connector-16.hubspot{background-position:0 -176px}.public-connector-16.lobbipad{background-position:0 -192px}.public-connector-16.mailchimp{background-position:0 -208px}.public-connector-16.mariadb{background-position:0 -224px}.public-connector-16.mongodb{background-position:0 -240px}.public-connector-16.mysql{background-position:0 -256px}.public-connector-16.oracle{background-position:0 -272px}.public-connector-16.panoply{background-position:0 -288px}.public-connector-16.pipedrive{background-position:0 -304px}.public-connector-16.pipelinedb{background-position:0 -320px}.public-connector-16.postgresql{background-position:0 -336px}.public-connector-16.presto{background-position:0 -352px}.public-connector-16.redshift{background-position:0 -368px}.public-connector-16.salesforce{background-position:0 -384px}.public-connector-16.saphana{background-position:0 -400px}.public-connector-16.snowflake{background-position:0 -416px}.public-connector-16.sqlserver{background-position:0 -432px}.public-connector-16.stardog{background-position:0 -448px}.public-connector-16.synapse{background-position:0 -464px}.public-connector-16.teamleader{background-position:0 -480px}.public-connector-16.trino{background-position:0 -496px}.public-connector-16.typeform{background-position:0 -512px}.public-connector-16.zendesk{background-position:0 -528px}.public-connector-24.amazonathena{background-position:0 0}.public-connector-24.asana{background-position:0 -24px}.public-connector-24.bigquery{background-position:0 -48px}.public-connector-24.citybikes{background-position:0 -72px}.public-connector-24.clickhouse{background-position:0 -96px}.public-connector-24.demodataplugin{background-position:0 -120px}.public-connector-24.elasticsearch{background-position:0 -144px}.public-connector-24.exactonline,.public-connector-24.exactonlinenl{background-position:0 -168px}.public-connector-24.google{background-position:0 -192px}.public-connector-24.googleanalytics,.public-connector-24.googleanalyticsv4{background-position:0 -216px}.public-connector-24.googledrive{background-position:0 -240px}.public-connector-24.hubspot{background-position:0 -264px}.public-connector-24.lobbipad{background-position:0 -288px}.public-connector-24.mailchimp{background-position:0 -312px}.public-connector-24.mariadb{background-position:0 -336px}.public-connector-24.mongodb{background-position:0 -360px}.public-connector-24.mysql{background-position:0 -384px}.public-connector-24.oracle{background-position:0 -408px}.public-connector-24.panoply{background-position:0 -432px}.public-connector-24.pipedrive{background-position:0 -456px}.public-connector-24.pipelinedb{background-position:0 -480px}.public-connector-24.postgresql{background-position:0 -504px}.public-connector-24.presto{background-position:0 -528px}.public-connector-24.redshift{background-position:0 -552px}.public-connector-24.salesforce{background-position:0 -576px}.public-connector-24.saphana{background-position:0 -600px}.public-connector-24.snowflake{background-position:0 -624px}.public-connector-24.sqlserver{background-position:0 -648px}.public-connector-24.stardog{background-position:0 -672px}.public-connector-24.synapse{background-position:0 -696px}.public-connector-24.teamleader{background-position:0 -720px}.public-connector-24.trino{background-position:0 -744px}.public-connector-24.typeform{background-position:0 -768px}.public-connector-24.zendesk{background-position:0 -792px}.public-connector-32.amazonathena{background-position:0 0}.public-connector-32.asana{background-position:0 -32px}.public-connector-32.bigquery{background-position:0 -64px}.public-connector-32.citybikes{background-position:0 -96px}.public-connector-32.clickhouse{background-position:0 -128px}.public-connector-32.demodataplugin{background-position:0 -160px}.public-connector-32.elasticsearch{background-position:0 -192px}.public-connector-32.exactonline,.public-connector-32.exactonlinenl{background-position:0 -224px}.public-connector-32.google{background-position:0 -256px}.public-connector-32.googleanalytics,.public-connector-32.googleanalyticsv4{background-position:0 -288px}.public-connector-32.googledrive{background-position:0 -320px}.public-connector-32.hubspot{background-position:0 -352px}.public-connector-32.lobbipad{background-position:0 -384px}.public-connector-32.mailchimp{background-position:0 -416px}.public-connector-32.mariadb{background-position:0 -448px}.public-connector-32.mongodb{background-position:0 -480px}.public-connector-32.mysql{background-position:0 -512px}.public-connector-32.oracle{background-position:0 -544px}.public-connector-32.panoply{background-position:0 -576px}.public-connector-32.pipedrive{background-position:0 -608px}.public-connector-32.pipelinedb{background-position:0 -640px}.public-connector-32.postgresql{background-position:0 -672px}.public-connector-32.presto{background-position:0 -704px}.public-connector-32.redshift{background-position:0 -736px}.public-connector-32.salesforce{background-position:0 -768px}.public-connector-32.saphana{background-position:0 -800px}.public-connector-32.snowflake{background-position:0 -832px}.public-connector-32.sqlserver{background-position:0 -864px}.public-connector-32.stardog{background-position:0 -896px}.public-connector-32.synapse{background-position:0 -928px}.public-connector-32.teamleader{background-position:0 -960px}.public-connector-32.trino{background-position:0 -992px}.public-connector-32.typeform{background-position:0 -1024px}.public-connector-32.zendesk{background-position:0 -1056px}.public-connector-48.amazonathena{background-position:0 0}.public-connector-48.asana{background-position:0 -48px}.public-connector-48.bigquery{background-position:0 -96px}.public-connector-48.citybikes{background-position:0 -144px}.public-connector-48.clickhouse{background-position:0 -192px}.public-connector-48.demodataplugin{background-position:0 -240px}.public-connector-48.elasticsearch{background-position:0 -288px}.public-connector-48.exactonline,.public-connector-48.exactonlinenl{background-position:0 -336px}.public-connector-48.google{background-position:0 -384px}.public-connector-48.googleanalytics,.public-connector-48.googleanalyticsv4{background-position:0 -432px}.public-connector-48.googledrive{background-position:0 -480px}.public-connector-48.hubspot{background-position:0 -528px}.public-connector-48.lobbipad{background-position:0 -576px}.public-connector-48.mailchimp{background-position:0 -624px}.public-connector-48.mariadb{background-position:0 -672px}.public-connector-48.mongodb{background-position:0 -720px}.public-connector-48.mysql{background-position:0 -768px}.public-connector-48.oracle{background-position:0 -816px}.public-connector-48.panoply{background-position:0 -864px}.public-connector-48.pipedrive{background-position:0 -912px}.public-connector-48.pipelinedb{background-position:0 -960px}.public-connector-48.postgresql{background-position:0 -1008px}.public-connector-48.presto{background-position:0 -1056px}.public-connector-48.redshift{background-position:0 -1104px}.public-connector-48.salesforce{background-position:0 -1152px}.public-connector-48.saphana{background-position:0 -1200px}.public-connector-48.snowflake{background-position:0 -1248px}.public-connector-48.sqlserver{background-position:0 -1296px}.public-connector-48.stardog{background-position:0 -1344px}.public-connector-48.synapse{background-position:0 -1392px}.public-connector-48.teamleader{background-position:0 -1440px}.public-connector-48.trino{background-position:0 -1488px}.public-connector-48.typeform{background-position:0 -1536px}.public-connector-48.zendesk{background-position:0 -1584px}.public-connector-64.amazonathena{background-position:0 0}.public-connector-64.asana{background-position:0 -64px}.public-connector-64.bigquery{background-position:0 -128px}.public-connector-64.citybikes{background-position:0 -192px}.public-connector-64.clickhouse{background-position:0 -256px}.public-connector-64.demodataplugin{background-position:0 -320px}.public-connector-64.elasticsearch{background-position:0 -384px}.public-connector-64.exactonline,.public-connector-64.exactonlinenl{background-position:0 -448px}.public-connector-64.google{background-position:0 -512px}.public-connector-64.googleanalytics,.public-connector-64.googleanalyticsv4{background-position:0 -576px}.public-connector-64.googledrive{background-position:0 -640px}.public-connector-64.hubspot{background-position:0 -704px}.public-connector-64.lobbipad{background-position:0 -768px}.public-connector-64.mailchimp{background-position:0 -832px}.public-connector-64.mariadb{background-position:0 -896px}.public-connector-64.mongodb{background-position:0 -960px}.public-connector-64.mysql{background-position:0 -1024px}.public-connector-64.oracle{background-position:0 -1088px}.public-connector-64.panoply{background-position:0 -1152px}.public-connector-64.pipedrive{background-position:0 -1216px}.public-connector-64.pipelinedb{background-position:0 -1280px}.public-connector-64.postgresql{background-position:0 -1344px}.public-connector-64.presto{background-position:0 -1408px}.public-connector-64.redshift{background-position:0 -1472px}.public-connector-64.salesforce{background-position:0 -1536px}.public-connector-64.saphana{background-position:0 -1600px}.public-connector-64.snowflake{background-position:0 -1664px}.public-connector-64.sqlserver{background-position:0 -1728px}.public-connector-64.stardog{background-position:0 -1792px}.public-connector-64.synapse{background-position:0 -1856px}.public-connector-64.teamleader{background-position:0 -1920px}.public-connector-64.trino{background-position:0 -1984px}.public-connector-64.typeform{background-position:0 -2048px}.public-connector-64.zendesk{background-position:0 -2112px}";var x=Object.defineProperty,l=(r,o,n,b)=>{for(var c=void 0,p=r.length-1,e;p>=0;p--)(e=r[p])&&(c=e(o,n,c)||c);return c&&x(o,n,c),c};const k=["amazonathena","asana","bigquery","citybikes","clickhouse","demodataplugin","elasticsearch","exact","exactonline","exactonlinenl","google","googleanalytics","googleanalyticsv4","googledrive","hubspot","mailchimp","mariadb","mongodb","mysql","oracle","panoply","pipedrive","pipelinedb","postgresql","presto","redshift","salesforce","saphana","snowflake","sqlserver","stardog","synapse","teamleader","trino","typeform","zendesk"];function h(r){const o={};return r.forEach(n=>{(n.size==="32px"||n.size==="64px")&&(o[n.size]=n.url)}),o}const a=class a extends i.LitElement{constructor(){super(...arguments),this.size="32px",this.appUrl="",this._subtype="",this._isPublicConnector=!1,this._thumbnails={},this.thumbnailSizeMap={"16px":"32px","24px":"32px","32px":"32px","48px":"64px","64px":"64px"}}willUpdate(o){(o.has("datasetInfo")||o.has("size"))&&this._updateDatasetProperties()}_updateDatasetProperties(){var o,n;if(!this.datasetInfo){this._subtype="",this._isPublicConnector=!1,this._thumbnails={};return}this._subtype=this.datasetInfo.subtype||"",this._isPublicConnector=this.datasetInfo.subtype!=="api"&&this.datasetInfo.subtype!=="upload"&&k.includes(this.datasetInfo.subtype),this._thumbnails=(n=(o=this.datasetInfo.account)==null?void 0:o.plugin)!=null&&n.thumbnails?h(this.datasetInfo.account.plugin.thumbnails):{}}render(){if(!this.datasetInfo)return i.html``;const o=this.thumbnailSizeMap[this.size],n=!!this._thumbnails[o],b=this.size.slice(0,-2),c=this.appUrl?`${this.appUrl}/assets/images/connectors/sprites/all-connectors.64x64.png`:"",p=this.appUrl?`${this.appUrl}/assets/images/connectors/sprites/all-connectors.96x96.png`:"";if(this._subtype!=="upload"&&n){const e=this._thumbnails[o],d=e?`${this.appUrl}/${e}`:"";return i.html`
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@luzmo/icons"),i=require("lit"),u=require("lit/decorators.js"),g=".dataset-icon{display:flex;justify-content:center;align-items:center}.dataset-icon .public-connector{overflow:hidden}.dataset-icon .public-connector img{display:block;object-fit:cover}.dataset-icon [class*=public-connector-]{width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center}.dataset-icon .public-connector-16,.dataset-icon .public-connector-24,.dataset-icon .public-connector-32{background-image:var(--connector-sprite-64x64)}.dataset-icon .public-connector-48,.dataset-icon .public-connector-64{background-image:var(--connector-sprite-96x96)}.dataset-icon .text-primary{color:var(--luzmo-primary, #007bff);display:flex;align-items:center;justify-content:center}.dataset-icon .text-primary.upload-icon,.dataset-icon .text-primary.plugin-icon{width:100%;height:100%}.public-connector-16.amazonathena{background-position:0 0}.public-connector-16.asana{background-position:0 -16px}.public-connector-16.bigquery{background-position:0 -32px}.public-connector-16.citybikes{background-position:0 -48px}.public-connector-16.clickhouse{background-position:0 -64px}.public-connector-16.demodataplugin{background-position:0 -80px}.public-connector-16.elasticsearch{background-position:0 -96px}.public-connector-16.exactonline,.public-connector-16.exactonlinenl{background-position:0 -112px}.public-connector-16.google{background-position:0 -128px}.public-connector-16.googleanalytics,.public-connector-16.googleanalyticsv4{background-position:0 -144px}.public-connector-16.googledrive{background-position:0 -160px}.public-connector-16.hubspot{background-position:0 -176px}.public-connector-16.lobbipad{background-position:0 -192px}.public-connector-16.mailchimp{background-position:0 -208px}.public-connector-16.mariadb{background-position:0 -224px}.public-connector-16.mongodb{background-position:0 -240px}.public-connector-16.mysql{background-position:0 -256px}.public-connector-16.oracle{background-position:0 -272px}.public-connector-16.panoply{background-position:0 -288px}.public-connector-16.pipedrive{background-position:0 -304px}.public-connector-16.pipelinedb{background-position:0 -320px}.public-connector-16.postgresql{background-position:0 -336px}.public-connector-16.presto{background-position:0 -352px}.public-connector-16.redshift{background-position:0 -368px}.public-connector-16.salesforce{background-position:0 -384px}.public-connector-16.saphana{background-position:0 -400px}.public-connector-16.snowflake{background-position:0 -416px}.public-connector-16.sqlserver{background-position:0 -432px}.public-connector-16.stardog{background-position:0 -448px}.public-connector-16.synapse{background-position:0 -464px}.public-connector-16.teamleader{background-position:0 -480px}.public-connector-16.trino{background-position:0 -496px}.public-connector-16.typeform{background-position:0 -512px}.public-connector-16.zendesk{background-position:0 -528px}.public-connector-24.amazonathena{background-position:0 0}.public-connector-24.asana{background-position:0 -24px}.public-connector-24.bigquery{background-position:0 -48px}.public-connector-24.citybikes{background-position:0 -72px}.public-connector-24.clickhouse{background-position:0 -96px}.public-connector-24.demodataplugin{background-position:0 -120px}.public-connector-24.elasticsearch{background-position:0 -144px}.public-connector-24.exactonline,.public-connector-24.exactonlinenl{background-position:0 -168px}.public-connector-24.google{background-position:0 -192px}.public-connector-24.googleanalytics,.public-connector-24.googleanalyticsv4{background-position:0 -216px}.public-connector-24.googledrive{background-position:0 -240px}.public-connector-24.hubspot{background-position:0 -264px}.public-connector-24.lobbipad{background-position:0 -288px}.public-connector-24.mailchimp{background-position:0 -312px}.public-connector-24.mariadb{background-position:0 -336px}.public-connector-24.mongodb{background-position:0 -360px}.public-connector-24.mysql{background-position:0 -384px}.public-connector-24.oracle{background-position:0 -408px}.public-connector-24.panoply{background-position:0 -432px}.public-connector-24.pipedrive{background-position:0 -456px}.public-connector-24.pipelinedb{background-position:0 -480px}.public-connector-24.postgresql{background-position:0 -504px}.public-connector-24.presto{background-position:0 -528px}.public-connector-24.redshift{background-position:0 -552px}.public-connector-24.salesforce{background-position:0 -576px}.public-connector-24.saphana{background-position:0 -600px}.public-connector-24.snowflake{background-position:0 -624px}.public-connector-24.sqlserver{background-position:0 -648px}.public-connector-24.stardog{background-position:0 -672px}.public-connector-24.synapse{background-position:0 -696px}.public-connector-24.teamleader{background-position:0 -720px}.public-connector-24.trino{background-position:0 -744px}.public-connector-24.typeform{background-position:0 -768px}.public-connector-24.zendesk{background-position:0 -792px}.public-connector-32.amazonathena{background-position:0 0}.public-connector-32.asana{background-position:0 -32px}.public-connector-32.bigquery{background-position:0 -64px}.public-connector-32.citybikes{background-position:0 -96px}.public-connector-32.clickhouse{background-position:0 -128px}.public-connector-32.demodataplugin{background-position:0 -160px}.public-connector-32.elasticsearch{background-position:0 -192px}.public-connector-32.exactonline,.public-connector-32.exactonlinenl{background-position:0 -224px}.public-connector-32.google{background-position:0 -256px}.public-connector-32.googleanalytics,.public-connector-32.googleanalyticsv4{background-position:0 -288px}.public-connector-32.googledrive{background-position:0 -320px}.public-connector-32.hubspot{background-position:0 -352px}.public-connector-32.lobbipad{background-position:0 -384px}.public-connector-32.mailchimp{background-position:0 -416px}.public-connector-32.mariadb{background-position:0 -448px}.public-connector-32.mongodb{background-position:0 -480px}.public-connector-32.mysql{background-position:0 -512px}.public-connector-32.oracle{background-position:0 -544px}.public-connector-32.panoply{background-position:0 -576px}.public-connector-32.pipedrive{background-position:0 -608px}.public-connector-32.pipelinedb{background-position:0 -640px}.public-connector-32.postgresql{background-position:0 -672px}.public-connector-32.presto{background-position:0 -704px}.public-connector-32.redshift{background-position:0 -736px}.public-connector-32.salesforce{background-position:0 -768px}.public-connector-32.saphana{background-position:0 -800px}.public-connector-32.snowflake{background-position:0 -832px}.public-connector-32.sqlserver{background-position:0 -864px}.public-connector-32.stardog{background-position:0 -896px}.public-connector-32.synapse{background-position:0 -928px}.public-connector-32.teamleader{background-position:0 -960px}.public-connector-32.trino{background-position:0 -992px}.public-connector-32.typeform{background-position:0 -1024px}.public-connector-32.zendesk{background-position:0 -1056px}.public-connector-48.amazonathena{background-position:0 0}.public-connector-48.asana{background-position:0 -48px}.public-connector-48.bigquery{background-position:0 -96px}.public-connector-48.citybikes{background-position:0 -144px}.public-connector-48.clickhouse{background-position:0 -192px}.public-connector-48.demodataplugin{background-position:0 -240px}.public-connector-48.elasticsearch{background-position:0 -288px}.public-connector-48.exactonline,.public-connector-48.exactonlinenl{background-position:0 -336px}.public-connector-48.google{background-position:0 -384px}.public-connector-48.googleanalytics,.public-connector-48.googleanalyticsv4{background-position:0 -432px}.public-connector-48.googledrive{background-position:0 -480px}.public-connector-48.hubspot{background-position:0 -528px}.public-connector-48.lobbipad{background-position:0 -576px}.public-connector-48.mailchimp{background-position:0 -624px}.public-connector-48.mariadb{background-position:0 -672px}.public-connector-48.mongodb{background-position:0 -720px}.public-connector-48.mysql{background-position:0 -768px}.public-connector-48.oracle{background-position:0 -816px}.public-connector-48.panoply{background-position:0 -864px}.public-connector-48.pipedrive{background-position:0 -912px}.public-connector-48.pipelinedb{background-position:0 -960px}.public-connector-48.postgresql{background-position:0 -1008px}.public-connector-48.presto{background-position:0 -1056px}.public-connector-48.redshift{background-position:0 -1104px}.public-connector-48.salesforce{background-position:0 -1152px}.public-connector-48.saphana{background-position:0 -1200px}.public-connector-48.snowflake{background-position:0 -1248px}.public-connector-48.sqlserver{background-position:0 -1296px}.public-connector-48.stardog{background-position:0 -1344px}.public-connector-48.synapse{background-position:0 -1392px}.public-connector-48.teamleader{background-position:0 -1440px}.public-connector-48.trino{background-position:0 -1488px}.public-connector-48.typeform{background-position:0 -1536px}.public-connector-48.zendesk{background-position:0 -1584px}.public-connector-64.amazonathena{background-position:0 0}.public-connector-64.asana{background-position:0 -64px}.public-connector-64.bigquery{background-position:0 -128px}.public-connector-64.citybikes{background-position:0 -192px}.public-connector-64.clickhouse{background-position:0 -256px}.public-connector-64.demodataplugin{background-position:0 -320px}.public-connector-64.elasticsearch{background-position:0 -384px}.public-connector-64.exactonline,.public-connector-64.exactonlinenl{background-position:0 -448px}.public-connector-64.google{background-position:0 -512px}.public-connector-64.googleanalytics,.public-connector-64.googleanalyticsv4{background-position:0 -576px}.public-connector-64.googledrive{background-position:0 -640px}.public-connector-64.hubspot{background-position:0 -704px}.public-connector-64.lobbipad{background-position:0 -768px}.public-connector-64.mailchimp{background-position:0 -832px}.public-connector-64.mariadb{background-position:0 -896px}.public-connector-64.mongodb{background-position:0 -960px}.public-connector-64.mysql{background-position:0 -1024px}.public-connector-64.oracle{background-position:0 -1088px}.public-connector-64.panoply{background-position:0 -1152px}.public-connector-64.pipedrive{background-position:0 -1216px}.public-connector-64.pipelinedb{background-position:0 -1280px}.public-connector-64.postgresql{background-position:0 -1344px}.public-connector-64.presto{background-position:0 -1408px}.public-connector-64.redshift{background-position:0 -1472px}.public-connector-64.salesforce{background-position:0 -1536px}.public-connector-64.saphana{background-position:0 -1600px}.public-connector-64.snowflake{background-position:0 -1664px}.public-connector-64.sqlserver{background-position:0 -1728px}.public-connector-64.stardog{background-position:0 -1792px}.public-connector-64.synapse{background-position:0 -1856px}.public-connector-64.teamleader{background-position:0 -1920px}.public-connector-64.trino{background-position:0 -1984px}.public-connector-64.typeform{background-position:0 -2048px}.public-connector-64.zendesk{background-position:0 -2112px}";var x=Object.defineProperty,l=(r,o,n,b)=>{for(var c=void 0,p=r.length-1,e;p>=0;p--)(e=r[p])&&(c=e(o,n,c)||c);return c&&x(o,n,c),c};const k=["amazonathena","asana","bigquery","citybikes","clickhouse","demodataplugin","elasticsearch","exact","exactonline","exactonlinenl","google","googleanalytics","googleanalyticsv4","googledrive","hubspot","mailchimp","mariadb","mongodb","mysql","oracle","panoply","pipedrive","pipelinedb","postgresql","presto","redshift","salesforce","saphana","snowflake","sqlserver","stardog","synapse","teamleader","trino","typeform","zendesk"];function h(r){const o={};return r.forEach(n=>{(n.size==="32px"||n.size==="64px")&&(o[n.size]=n.url)}),o}const a=class a extends i.LitElement{constructor(){super(...arguments),this.size="32px",this.appUrl="",this._subtype="",this._isPublicConnector=!1,this._thumbnails={},this.thumbnailSizeMap={"16px":"32px","24px":"32px","32px":"32px","48px":"64px","64px":"64px"}}willUpdate(o){(o.has("datasetInfo")||o.has("size"))&&this._updateDatasetProperties()}_updateDatasetProperties(){if(!this.datasetInfo){this._subtype="",this._isPublicConnector=!1,this._thumbnails={};return}this._subtype=this.datasetInfo.subtype||"",this._isPublicConnector=this.datasetInfo.subtype!=="api"&&this.datasetInfo.subtype!=="upload"&&k.includes(this.datasetInfo.subtype),this._thumbnails=this.datasetInfo.account?.plugin?.thumbnails?h(this.datasetInfo.account.plugin.thumbnails):{}}render(){if(!this.datasetInfo)return i.html``;const o=this.thumbnailSizeMap[this.size],n=!!this._thumbnails[o],b=this.size.slice(0,-2),c=this.appUrl?`${this.appUrl}/assets/images/connectors/sprites/all-connectors.64x64.png`:"",p=this.appUrl?`${this.appUrl}/assets/images/connectors/sprites/all-connectors.96x96.png`:"";if(this._subtype!=="upload"&&n){const e=this._thumbnails[o],d=e?`${this.appUrl}/${e}`:"";return i.html`
21
21
  <div
22
22
  class="position-relative dataset-icon d-flex justify-content-center"
23
23
  style="width: ${this.size}; height: ${this.size};"
@@ -90,14 +90,13 @@ const l = class l extends m {
90
90
  (o.has("datasetInfo") || o.has("size")) && this._updateDatasetProperties();
91
91
  }
92
92
  _updateDatasetProperties() {
93
- var o, n;
94
93
  if (!this.datasetInfo) {
95
94
  this._subtype = "", this._isPublicConnector = !1, this._thumbnails = {};
96
95
  return;
97
96
  }
98
97
  this._subtype = this.datasetInfo.subtype || "", this._isPublicConnector = this.datasetInfo.subtype !== "api" && this.datasetInfo.subtype !== "upload" && f.includes(
99
98
  this.datasetInfo.subtype
100
- ), this._thumbnails = (n = (o = this.datasetInfo.account) == null ? void 0 : o.plugin) != null && n.thumbnails ? y(this.datasetInfo.account.plugin.thumbnails) : {};
99
+ ), this._thumbnails = this.datasetInfo.account?.plugin?.thumbnails ? y(this.datasetInfo.account.plugin.thumbnails) : {};
101
100
  }
102
101
  render() {
103
102
  if (!this.datasetInfo)
@@ -17,7 +17,7 @@
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";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../index-Cz9vSXy6.cjs"),f=require("../localize-r7ALOUy_.cjs"),_=require("../set-locale-BRRalqne.cjs"),l=require("lit"),i=require("lit/decorators.js"),y=require("lit/directives/repeat.js");require("../dataset-icon/index.cjs");const z=":host{box-sizing:border-box;display:flex;flex-direction:column;height:100%;font-family:var(--luzmo-dataset-selector-list-font-family, var(--dataset-selector-list-font-family));color:var(--luzmo-dataset-selector-list-color)}:host .dataset-selector-list{display:flex;flex-direction:column;gap:var(--luzmo-dataset-selector-list-gap, var(--dataset-selector-list-gap));height:100%;background:var(--luzmo-dataset-selector-list-background, var(--dataset-selector-list-background));padding:var(--luzmo-dataset-selector-list-padding, var(--dataset-selector-list-padding));border-radius:var(--luzmo-dataset-selector-list-border-radius, var(--dataset-selector-list-border-radius))}:host .search-input{background-color:var(--luzmo-dataset-selector-list-input-background, var(--dataset-selector-list-input-background));border:none;border-bottom:1px solid var(--luzmo-dataset-selector-list-input-border-color, var(--dataset-selector-list-input-border-color));color:var(--luzmo-dataset-selector-list-input-color, var(--dataset-selector-list-input-color));line-height:var(--luzmo-dataset-selector-list-input-line-height, var(--dataset-selector-list-input-line-height));font-size:var(--luzmo-dataset-selector-list-input-font-size, var(--dataset-selector-list-input-font-size));margin:0;outline:none;padding:var(--luzmo-dataset-selector-list-input-padding, var(--dataset-selector-list-input-padding));width:100%;box-sizing:border-box}:host .search-input::placeholder{color:var(--luzmo-font-color-tertiary, #999)}:host .datasets-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background)) var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background))}:host .datasets-scroll-container::-webkit-scrollbar{width:var(--luzmo-dataset-selector-list-scrollbar-width, var(--dataset-selector-list-scrollbar-width))}:host .datasets-scroll-container::-webkit-scrollbar-track{background:var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-track-border-radius, var(--dataset-selector-list-scrollbar-track-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-thumb-border-radius, var(--dataset-selector-list-scrollbar-thumb-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-hover-background, var(--dataset-selector-list-scrollbar-thumb-hover-background))}:host .datasets-list{display:flex;flex-direction:column}:host .available-dataset-item{padding:var(--luzmo-dataset-selector-list-item-padding, var(--dataset-selector-list-item-padding));color:var(--luzmo-dataset-selector-available-dataset-color, var(--dataset-selector-available-dataset-color));display:flex;flex-direction:row;align-items:center;gap:var(--luzmo-dataset-selector-list-item-gap, var(--dataset-selector-list-item-gap));cursor:pointer;border-radius:var(--luzmo-dataset-selector-list-item-border-radius, var(--dataset-selector-list-item-border-radius));transition:background-color .15s ease}:host .available-dataset-item:hover{background-color:var(--luzmo-dataset-selector-list-item-hover-background, var(--dataset-selector-list-item-hover-background))}:host .available-dataset-item:focus{outline:none}:host .available-dataset-item .dataset-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px}:host .available-dataset-item .dataset-icon luzmo-icon{display:flex}:host .available-dataset-item .dataset-icon-img{width:16px;height:16px;object-fit:contain}:host .available-dataset-item .dataset-name{flex:1;line-height:var(--luzmo-dataset-selector-list-item-line-height, var(--dataset-selector-list-item-line-height));font-size:var(--luzmo-dataset-selector-list-item-font-size, var(--dataset-selector-list-item-font-size));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .no-datasets-found{display:flex;align-items:center;justify-content:center;height:50%;color:var(--luzmo-dataset-selector-list-no-datasets-color, var(--dataset-selector-list-no-datasets-color));font-size:var(--luzmo-dataset-selector-list-no-datasets-font-size, var(--dataset-selector-list-no-datasets-font-size));text-align:center;padding:var(--luzmo-spacing-4, 1rem)}:host .loader{display:flex;align-items:center;justify-content:center;padding:var(--luzmo-spacing-5, 1.25rem) 0}:host .loader .spinner{width:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));height:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));border:2px solid var(--luzmo-border-color-light, #e0e0e0);border-top-color:var(--luzmo-dataset-selector-list-loader-color, var(--dataset-selector-list-loader-color));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:host{--dataset-selector-list-background: var(--luzmo-background-color);--dataset-selector-list-padding: 0;--dataset-selector-list-gap: var(--luzmo-spacing-2);--dataset-selector-list-border-radius: var(--luzmo-border-radius-m);--dataset-selector-list-font-family: var(--luzmo-font-family);--dataset-selector-list-input-background: var(--luzmo-background-color);--dataset-selector-list-input-border-color: var(--luzmo-border-color-light, rgba(0,0,0,.05));--dataset-selector-list-input-color: var(--luzmo-font-color);--dataset-selector-list-input-padding: 0 var(--luzmo-spacing-4) var(--luzmo-spacing-2);--dataset-selector-list-input-font-size: var(--luzmo-font-size-s);--dataset-selector-list-input-line-height: 1.5rem;--dataset-selector-list-item-padding: var(--luzmo-spacing-1) var(--luzmo-spacing-4);--dataset-selector-list-item-gap: var(--luzmo-spacing-3);--dataset-selector-list-item-hover-background: var( --luzmo-background-color-highlight );--dataset-selector-list-item-font-size: var(--luzmo-font-size-s);--dataset-selector-list-item-line-height: 1.5rem;--dataset-selector-list-item-border-radius: var(--luzmo-border-radius-s);--dataset-selector-list-scrollbar-width: 6px;--dataset-selector-list-scrollbar-track-background: var( --luzmo-background-color-highlight );--dataset-selector-list-scrollbar-track-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-background: var( --luzmo-border-color-full );--dataset-selector-list-scrollbar-thumb-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-hover-background: var( --luzmo-border-color-full-hover );--dataset-selector-list-loader-size: 24px;--dataset-selector-list-loader-color: var(--luzmo-primary);--dataset-selector-list-no-datasets-color: var(--luzmo-font-color);--dataset-selector-list-no-datasets-font-size: var(--luzmo-font-size-s);--dataset-selector-available-dataset-color: var(---luzmo-font-color)}";var D=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(g,t,e,s)=>{for(var a=s>1?void 0:s?k(t,e):t,r=g.length-1,c;r>=0;r--)(c=g[r])&&(a=(s?c(t,e,a):c(a))||a);return s&&a&&D(t,e,a),a};const m=7,w=600,L=5,b=class b extends l.LitElement{constructor(){super(...arguments),this._selectedDatasets=new Set,this.showSearch=!0,this.searchPlaceholder="Search datasets...",this.noDatasetsMessage="No datasets found",this.authKey="",this.authToken="",this.apiUrl="https://api.luzmo.com",this.appServer="https://app.luzmo.com",this.flagOpendata=!1,this._availableDatasets=[],this._status={allDatasetsLoaded:!1,paging:!1,busy:!0,error:!1},this._searchValue="",this._currentOffset=0,this._searchDebounceTimer=null,this._queryCache=new Map,this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1}set selectedDatasets(t){this._selectedDatasets=t,this._shouldLoadMoreDatasetsForViewport()&&this._loadAvailableDatasets({append:!0})}get selectedDatasets(){return this._selectedDatasets}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this._configureBroker(),this._waitForContainerHeightAndLoad()}_configureBroker(){(this.authKey||this.authToken||this.apiUrl)&&v.dataBroker.configure({authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl})}_waitForContainerHeightAndLoad(){requestAnimationFrame(()=>{this._loadAvailableDatasets({append:!1})})}_calculateOptimalQueryLimit(){var n;if(this._calculatedQueryLimit!==null)return this._calculatedQueryLimit;const t=(n=this.shadowRoot)==null?void 0:n.querySelector(".dataset-selector-list");if(!t)return m;const e=getComputedStyle(t),s=t.clientHeight,a=Number.parseFloat(e.height),r=Math.max(s,a);if(r<=0)return m;const p=Math.floor(r/24),u=Math.max(p+L,m);return this._calculatedQueryLimit=u,u}get _filteredDatasets(){return this._selectedDatasets.size===0?this._availableDatasets:this._availableDatasets.filter(e=>!this._selectedDatasets.has(e.id))}_handleSearchInput(t){const e=t.target;this._searchValue=e.value,this._searchDebounceTimer!==null&&clearTimeout(this._searchDebounceTimer),this._searchDebounceTimer=window.setTimeout(()=>{this._loadAvailableDatasets({append:!1})},w)}_handleScroll(t){const e=t.target,s=e.scrollTop,a=e.scrollHeight,r=e.clientHeight;s+r>=a-50&&!this._status.allDatasetsLoaded&&!this._status.busy&&this._loadAvailableDatasets({append:!0})}async _loadAvailableDatasets({append:t}){t||(this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1),this._status={...this._status,busy:!0,allDatasetsLoaded:t?this._status.allDatasetsLoaded:!1,paging:t};const e=this._generateQuery(t),s=JSON.stringify(e),a=this._queryCache.has(s);try{let r;a?r=this._queryCache.get(s):(r=await v.dataBroker.fetchApi("/securable",{action:"get",version:"0.1.0",find:e}),this._queryCache.set(s,r)),this._onDatasetsLoaded(t,r),this._shouldLoadMoreDatasetsForViewport()&&await this._loadAvailableDatasets({append:!0})}catch(r){console.error("Error loading datasets:",r),this._status={...this._status,busy:!1,paging:!1,error:!0}}finally{this._status={...this._status,busy:!1,paging:!1}}}_generateQuery(t){const e=this._calculateOptimalQueryLimit();t?this._currentOffset+=e:this._currentOffset=0;const s=this._searchValue?{search:{match_types:["name","description"],keyphrase:this._searchValue,securable_types:"dataset"},order:[["name","asc"]]}:{order:[["updated_at","desc"]]};return{attributes:["id","updated_at","name","subtype"],include:[{model:"Collection",attributes:["id","favorite"],where:{favorite:!0}},{model:"Account",attributes:["id","provider","name"],include:[{model:"Plugin",attributes:["id"],include:[{model:"Thumbnail",where:{size:"32px"}}]}]}],where:{type:"dataset"},limit:e,offset:this._currentOffset,...s,...this.flagOpendata?{public:null}:{}}}_onDatasetsLoaded(t,{rows:e,count:s}){let a;if(t){const u=new Set(this._availableDatasets.map(h=>h.id)),n=e.filter(h=>!u.has(h.id));a=[...this._availableDatasets,...n]}else a=e||[];t&&e.length===0?this._hasLoadedEmptyPage=!0:e.length>0&&(this._hasLoadedEmptyPage=!1);const r=a.reduce((u,n)=>(u.some(h=>h.id===n.id)||u.push(n),u),[]),c=a.length,p=this._hasLoadedEmptyPage||c>=s;this._status={...this._status,allDatasetsLoaded:p},this._availableDatasets=r}_shouldLoadMoreDatasetsForViewport(){var n;if(this._status.allDatasetsLoaded||this._hasLoadedEmptyPage||this._status.busy)return!1;const t=(n=this.shadowRoot)==null?void 0:n.querySelector(".datasets-scroll-container");if(!t)return!1;const e=t.clientHeight,a=Math.ceil(e/24),c=Math.ceil(a*1.5);return this._filteredDatasets.length<c}_getDatasetName(t){const e=_.getLocale();return f.localize(t.name,e)||t.id||"Unknown Dataset"}_selectDataset(t){this.dispatchEvent(new CustomEvent("dataset-selected",{detail:t,bubbles:!0,composed:!0}))}_handleDatasetClick(t){const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}_handleDatasetKeydown(t){if(t.key==="Enter"||t.key===" "){t.preventDefault();const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}}_renderLoader(){return l.html`
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../index-CAbDIHYI.cjs"),f=require("../localize-C4zNlrwK.cjs"),_=require("../set-locale-B8iQGfk0.cjs"),l=require("lit"),i=require("lit/decorators.js"),y=require("lit/directives/repeat.js");require("../dataset-icon/index.cjs");const z=":host{box-sizing:border-box;display:flex;flex-direction:column;height:100%;font-family:var(--luzmo-dataset-selector-list-font-family, var(--dataset-selector-list-font-family));color:var(--luzmo-dataset-selector-list-color)}:host .dataset-selector-list{display:flex;flex-direction:column;gap:var(--luzmo-dataset-selector-list-gap, var(--dataset-selector-list-gap));height:100%;background:var(--luzmo-dataset-selector-list-background, var(--dataset-selector-list-background));padding:var(--luzmo-dataset-selector-list-padding, var(--dataset-selector-list-padding));border-radius:var(--luzmo-dataset-selector-list-border-radius, var(--dataset-selector-list-border-radius))}:host .search-input{background-color:var(--luzmo-dataset-selector-list-input-background, var(--dataset-selector-list-input-background));border:none;border-bottom:1px solid var(--luzmo-dataset-selector-list-input-border-color, var(--dataset-selector-list-input-border-color));color:var(--luzmo-dataset-selector-list-input-color, var(--dataset-selector-list-input-color));line-height:var(--luzmo-dataset-selector-list-input-line-height, var(--dataset-selector-list-input-line-height));font-size:var(--luzmo-dataset-selector-list-input-font-size, var(--dataset-selector-list-input-font-size));margin:0;outline:none;padding:var(--luzmo-dataset-selector-list-input-padding, var(--dataset-selector-list-input-padding));width:100%;box-sizing:border-box}:host .search-input::placeholder{color:var(--luzmo-font-color-tertiary, #999)}:host .datasets-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}:host .datasets-scroll-container::-webkit-scrollbar{width:var(--luzmo-dataset-selector-list-scrollbar-width, var(--dataset-selector-list-scrollbar-width))}:host .datasets-scroll-container::-webkit-scrollbar-track{background:var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-track-border-radius, var(--dataset-selector-list-scrollbar-track-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-thumb-border-radius, var(--dataset-selector-list-scrollbar-thumb-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-hover-background, var(--dataset-selector-list-scrollbar-thumb-hover-background))}:host .datasets-scroll-container{scrollbar-width:thin;scrollbar-color:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background)) var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background))}:host .datasets-list{display:flex;flex-direction:column}:host .available-dataset-item{padding:var(--luzmo-dataset-selector-list-item-padding, var(--dataset-selector-list-item-padding));color:var(--luzmo-dataset-selector-available-dataset-color, var(--dataset-selector-available-dataset-color));display:flex;flex-direction:row;align-items:center;gap:var(--luzmo-dataset-selector-list-item-gap, var(--dataset-selector-list-item-gap));cursor:pointer;border-radius:var(--luzmo-dataset-selector-list-item-border-radius, var(--dataset-selector-list-item-border-radius));transition:background-color .15s ease}:host .available-dataset-item:hover{background-color:var(--luzmo-dataset-selector-list-item-hover-background, var(--dataset-selector-list-item-hover-background))}:host .available-dataset-item:focus{outline:none}:host .available-dataset-item .dataset-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px}:host .available-dataset-item .dataset-icon luzmo-icon{display:flex}:host .available-dataset-item .dataset-icon-img{width:16px;height:16px;object-fit:contain}:host .available-dataset-item .dataset-name{flex:1;line-height:var(--luzmo-dataset-selector-list-item-line-height, var(--dataset-selector-list-item-line-height));font-size:var(--luzmo-dataset-selector-list-item-font-size, var(--dataset-selector-list-item-font-size));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .no-datasets-found{display:flex;align-items:center;justify-content:center;height:50%;color:var(--luzmo-dataset-selector-list-no-datasets-color, var(--dataset-selector-list-no-datasets-color));font-size:var(--luzmo-dataset-selector-list-no-datasets-font-size, var(--dataset-selector-list-no-datasets-font-size));text-align:center;padding:var(--luzmo-spacing-4, 1rem)}:host .loader{display:flex;align-items:center;justify-content:center;padding:var(--luzmo-spacing-5, 1.25rem) 0}:host .loader .spinner{width:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));height:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));border:2px solid var(--luzmo-border-color-light, #e0e0e0);border-top-color:var(--luzmo-dataset-selector-list-loader-color, var(--dataset-selector-list-loader-color));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:host{--dataset-selector-list-background: var(--luzmo-background-color);--dataset-selector-list-padding: 0;--dataset-selector-list-gap: var(--luzmo-spacing-2);--dataset-selector-list-border-radius: var(--luzmo-border-radius-m);--dataset-selector-list-font-family: var(--luzmo-font-family);--dataset-selector-list-input-background: var(--luzmo-background-color);--dataset-selector-list-input-border-color: var(--luzmo-border-color-light, rgba(0,0,0,.05));--dataset-selector-list-input-color: var(--luzmo-font-color);--dataset-selector-list-input-padding: 0 var(--luzmo-spacing-4) var(--luzmo-spacing-2);--dataset-selector-list-input-font-size: var(--luzmo-font-size-s);--dataset-selector-list-input-line-height: 1.5rem;--dataset-selector-list-item-padding: var(--luzmo-spacing-1) var(--luzmo-spacing-4);--dataset-selector-list-item-gap: var(--luzmo-spacing-3);--dataset-selector-list-item-hover-background: var( --luzmo-background-color-highlight );--dataset-selector-list-item-font-size: var(--luzmo-font-size-s);--dataset-selector-list-item-line-height: 1.5rem;--dataset-selector-list-item-border-radius: var(--luzmo-border-radius-s);--dataset-selector-list-scrollbar-width: 6px;--dataset-selector-list-scrollbar-track-background: var( --luzmo-background-color-highlight );--dataset-selector-list-scrollbar-track-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-background: var( --luzmo-border-color-full );--dataset-selector-list-scrollbar-thumb-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-hover-background: var( --luzmo-border-color-full-hover );--dataset-selector-list-loader-size: 24px;--dataset-selector-list-loader-color: var(--luzmo-primary);--dataset-selector-list-no-datasets-color: var(--luzmo-font-color);--dataset-selector-list-no-datasets-font-size: var(--luzmo-font-size-s);--dataset-selector-available-dataset-color: var(---luzmo-font-color)}";var D=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(g,t,e,s)=>{for(var a=s>1?void 0:s?k(t,e):t,r=g.length-1,c;r>=0;r--)(c=g[r])&&(a=(s?c(t,e,a):c(a))||a);return s&&a&&D(t,e,a),a};const m=7,w=600,L=5,b=class b extends l.LitElement{constructor(){super(...arguments),this._selectedDatasets=new Set,this.showSearch=!0,this.searchPlaceholder="Search datasets...",this.noDatasetsMessage="No datasets found",this.authKey="",this.authToken="",this.apiUrl="https://api.luzmo.com",this.appServer="https://app.luzmo.com",this.flagOpendata=!1,this._availableDatasets=[],this._status={allDatasetsLoaded:!1,paging:!1,busy:!0,error:!1},this._searchValue="",this._currentOffset=0,this._searchDebounceTimer=null,this._queryCache=new Map,this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1}set selectedDatasets(t){this._selectedDatasets=t,this._shouldLoadMoreDatasetsForViewport()&&this._loadAvailableDatasets({append:!0})}get selectedDatasets(){return this._selectedDatasets}connectedCallback(){super.connectedCallback?.(),this._configureBroker(),this._waitForContainerHeightAndLoad()}_configureBroker(){(this.authKey||this.authToken||this.apiUrl)&&v.dataBroker.configure({authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl})}_waitForContainerHeightAndLoad(){requestAnimationFrame(()=>{this._loadAvailableDatasets({append:!1})})}_calculateOptimalQueryLimit(){if(this._calculatedQueryLimit!==null)return this._calculatedQueryLimit;const t=this.shadowRoot?.querySelector(".dataset-selector-list");if(!t)return m;const e=getComputedStyle(t),s=t.clientHeight,a=Number.parseFloat(e.height),r=Math.max(s,a);if(r<=0)return m;const h=Math.floor(r/24),n=Math.max(h+L,m);return this._calculatedQueryLimit=n,n}get _filteredDatasets(){return this._selectedDatasets.size===0?this._availableDatasets:this._availableDatasets.filter(e=>!this._selectedDatasets.has(e.id))}_handleSearchInput(t){const e=t.target;this._searchValue=e.value,this._searchDebounceTimer!==null&&clearTimeout(this._searchDebounceTimer),this._searchDebounceTimer=window.setTimeout(()=>{this._loadAvailableDatasets({append:!1})},w)}_handleScroll(t){const e=t.target,s=e.scrollTop,a=e.scrollHeight,r=e.clientHeight;s+r>=a-50&&!this._status.allDatasetsLoaded&&!this._status.busy&&this._loadAvailableDatasets({append:!0})}async _loadAvailableDatasets({append:t}){t||(this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1),this._status={...this._status,busy:!0,allDatasetsLoaded:t?this._status.allDatasetsLoaded:!1,paging:t};const e=this._generateQuery(t),s=JSON.stringify(e),a=this._queryCache.has(s);try{let r;a?r=this._queryCache.get(s):(r=await v.dataBroker.fetchApi("/securable",{action:"get",version:"0.1.0",find:e}),this._queryCache.set(s,r)),this._onDatasetsLoaded(t,r),this._shouldLoadMoreDatasetsForViewport()&&await this._loadAvailableDatasets({append:!0})}catch(r){console.error("Error loading datasets:",r),this._status={...this._status,busy:!1,paging:!1,error:!0}}finally{this._status={...this._status,busy:!1,paging:!1}}}_generateQuery(t){const e=this._calculateOptimalQueryLimit();t?this._currentOffset+=e:this._currentOffset=0;const s=this._searchValue?{search:{match_types:["name","description"],keyphrase:this._searchValue,securable_types:"dataset"},order:[["name","asc"]]}:{order:[["updated_at","desc"]]};return{attributes:["id","updated_at","name","subtype"],include:[{model:"Collection",attributes:["id","favorite"],where:{favorite:!0}},{model:"Account",attributes:["id","provider","name"],include:[{model:"Plugin",attributes:["id"],include:[{model:"Thumbnail",where:{size:"32px"}}]}]}],where:{type:"dataset"},limit:e,offset:this._currentOffset,...s,...this.flagOpendata?{public:null}:{}}}_onDatasetsLoaded(t,{rows:e,count:s}){let a;if(t){const n=new Set(this._availableDatasets.map(u=>u.id)),p=e.filter(u=>!n.has(u.id));a=[...this._availableDatasets,...p]}else a=e||[];t&&e.length===0?this._hasLoadedEmptyPage=!0:e.length>0&&(this._hasLoadedEmptyPage=!1);const r=a.reduce((n,p)=>(n.some(u=>u.id===p.id)||n.push(p),n),[]),c=a.length,h=this._hasLoadedEmptyPage||c>=s;this._status={...this._status,allDatasetsLoaded:h},this._availableDatasets=r}_shouldLoadMoreDatasetsForViewport(){if(this._status.allDatasetsLoaded||this._hasLoadedEmptyPage||this._status.busy)return!1;const t=this.shadowRoot?.querySelector(".datasets-scroll-container");if(!t)return!1;const e=t.clientHeight,a=Math.ceil(e/24),c=Math.ceil(a*1.5);return this._filteredDatasets.length<c}_getDatasetName(t){const e=_.getLocale();return f.localize(t.name,e)||t.id||"Unknown Dataset"}_selectDataset(t){this.dispatchEvent(new CustomEvent("dataset-selected",{detail:t,bubbles:!0,composed:!0}))}_handleDatasetClick(t){const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}_handleDatasetKeydown(t){if(t.key==="Enter"||t.key===" "){t.preventDefault();const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}}_renderLoader(){return l.html`
21
21
  <div class="loader">
22
22
  <div class="spinner"></div>
23
23
  </div>