@luzmo/analytics-components-kit 1.0.1-alpha.94 → 1.0.1-alpha.97

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 (260) hide show
  1. package/angular/README.md +1 -1
  2. package/angular/components/viz-item-menu.component.ts +25 -0
  3. package/angular/esm/components/viz-item-menu.component.d.ts +13 -0
  4. package/angular/esm/components/viz-item-menu.component.js +49 -0
  5. package/angular/esm/index.d.ts +3 -3
  6. package/angular/esm/index.js +3 -3
  7. package/angular/esm/types.d.ts +2 -2
  8. package/angular/index.ts +3 -3
  9. package/angular/types.ts +2 -2
  10. package/components/ai-chat-message-assistant/index.cjs +1 -1
  11. package/components/ai-chat-message-assistant/index.js +0 -1
  12. package/components/ai-chat-messages-container/index.cjs +1 -1
  13. package/components/ai-chat-messages-container/index.js +2 -2
  14. package/components/ai-interaction-textarea/index.cjs +1 -1
  15. package/components/ai-interaction-textarea/index.js +1 -2
  16. package/components/area-chart-options.config-Bl8bhhOo.cjs +20 -0
  17. package/components/{area-chart-options.config-_J0sG4NF.js → area-chart-options.config-u8itidsi.js} +14 -26
  18. package/components/bar-chart-options.config-CePAqM83.cjs +20 -0
  19. package/components/{bar-chart-options.config-D1mb5TDl.js → bar-chart-options.config-DIirbAJ0.js} +21 -35
  20. package/components/box-plot-options.config-BVNrV2eD.cjs +20 -0
  21. package/components/{box-plot-options.config-xu_i6ms7.js → box-plot-options.config-BWROiguA.js} +52 -88
  22. package/components/{bubble-chart-options.config-BacgXkJ_.js → bubble-chart-options.config-4QD8VPhU.js} +9 -18
  23. package/components/bubble-chart-options.config-BDgOe3GQ.cjs +20 -0
  24. package/components/{bullet-chart-options.config-CDPpX1yc.js → bullet-chart-options.config-3bH7uekx.js} +1 -1
  25. package/components/{bullet-chart-options.config-DfS4Bwds.cjs → bullet-chart-options.config-tWb6Fio-.cjs} +1 -1
  26. package/components/calculate-data-item-icon-DMDhKq_m.js +147 -0
  27. package/components/calculate-data-item-icon-DtVGbet3.cjs +20 -0
  28. package/components/{choropleth-map-options.config-B_W9-rhe.js → choropleth-map-options.config-CMxx3ORp.js} +63 -84
  29. package/components/choropleth-map-options.config-CWJACFd0.cjs +20 -0
  30. package/components/circular-gauge-options.config-BMxgq3zH.cjs +20 -0
  31. package/components/{circular-gauge-options.config-DAIjz4Rl.js → circular-gauge-options.config-DhIKn44k.js} +23 -36
  32. package/components/{color-DuJ4-73S.js → color-B7m0j8lX.js} +941 -950
  33. package/components/color-Czp4Im5q.cjs +20 -0
  34. package/components/{color-range-utils-Bvo9sm5A.js → color-range-utils-BSfqtB3A.js} +31 -32
  35. package/components/color-range-utils-DYYR-iwx.cjs +20 -0
  36. package/components/column-chart-options.config-BV9R3ssH.cjs +20 -0
  37. package/components/{column-chart-options.config-B5SjBVdy.js → column-chart-options.config-D5-yR7iq.js} +27 -37
  38. package/components/conditional-number-options.config-Co099Qfm.cjs +20 -0
  39. package/components/{conditional-number-options.config-BCEpSK9J.js → conditional-number-options.config-DPYsdML5.js} +24 -40
  40. package/components/dataset-icon/index.cjs +1 -1
  41. package/components/dataset-icon/index.js +1 -2
  42. package/components/dataset-selector-list/index.cjs +1 -1
  43. package/components/dataset-selector-list/index.js +32 -35
  44. package/components/dataset-selector-row/index.cjs +9 -9
  45. package/components/dataset-selector-row/index.js +50 -52
  46. package/components/{date-comparison-filter-options.config-JA_yYpJa.js → date-comparison-filter-options.config-CSwGyuBg.js} +3 -6
  47. package/components/{date-comparison-filter-options.config-DAVncmi0.cjs → date-comparison-filter-options.config-QaoWaFUn.cjs} +1 -1
  48. package/components/{date-filter-options.config-DBRxlTWy.js → date-filter-options.config-BTVyHRkp.js} +3 -6
  49. package/components/{date-filter-options.config-CWPMtA18.cjs → date-filter-options.config-n-zhWaYa.cjs} +1 -1
  50. package/components/display-settings/index.cjs +1 -1
  51. package/components/display-settings/index.js +1 -1
  52. package/components/display-settings-binning/index.cjs +5 -5
  53. package/components/display-settings-binning/index.js +29 -30
  54. package/components/display-settings-datetime/index.cjs +29 -29
  55. package/components/display-settings-datetime/index.js +112 -120
  56. package/components/display-settings-grand-totals/index.cjs +4 -4
  57. package/components/display-settings-grand-totals/index.js +23 -24
  58. package/components/display-settings-numeric/display-settings-numeric.d.ts +1 -2
  59. package/components/display-settings-numeric/index.cjs +49 -48
  60. package/components/display-settings-numeric/index.js +193 -218
  61. package/components/display-settings-period-over-period/index.cjs +16 -16
  62. package/components/display-settings-period-over-period/index.js +91 -97
  63. package/components/{donut-chart-options.config-BulUEiaH.js → donut-chart-options.config-3ZqX8Cbb.js} +21 -37
  64. package/components/donut-chart-options.config-BQyPgnC9.cjs +20 -0
  65. package/components/draggable-data-item/index.cjs +5 -5
  66. package/components/draggable-data-item/index.js +45 -46
  67. package/components/draggable-data-item-level/index.cjs +11 -11
  68. package/components/draggable-data-item-level/index.js +70 -73
  69. package/components/{dropdown-filter-options.config-D9dvPypF.js → dropdown-filter-options.config-CGJTtgAX.js} +7 -10
  70. package/components/{dropdown-filter-options.config-DS-MORmq.cjs → dropdown-filter-options.config-DJvfCTk7.cjs} +1 -1
  71. package/components/droppable-slot/index.cjs +16 -16
  72. package/components/droppable-slot/index.js +208 -223
  73. package/components/edit-item/index.cjs +9 -9
  74. package/components/edit-item/index.js +116 -119
  75. package/components/edit-option/index.cjs +1 -1
  76. package/components/edit-option/index.js +1 -1
  77. package/components/edit-option-action-button-group/index.cjs +8 -8
  78. package/components/edit-option-action-button-group/index.js +52 -53
  79. package/components/{edit-option-base-DIc7iC-b.js → edit-option-base-Bh29-Cak.js} +1 -1
  80. package/components/{edit-option-base-VhTih9T1.cjs → edit-option-base-tFr8Qg2B.cjs} +1 -1
  81. package/components/edit-option-color-palette-picker/index.cjs +1 -1
  82. package/components/edit-option-color-palette-picker/index.js +1 -1
  83. package/components/edit-option-color-picker/index.cjs +1 -1
  84. package/components/edit-option-color-picker/index.js +1 -1
  85. package/components/edit-option-color-range/index.cjs +19 -19
  86. package/components/edit-option-color-range/index.js +106 -117
  87. package/components/edit-option-multi-language-field/index.cjs +3 -3
  88. package/components/edit-option-multi-language-field/index.js +26 -27
  89. package/components/edit-option-number-field/index.cjs +1 -1
  90. package/components/edit-option-number-field/index.js +1 -1
  91. package/components/edit-option-picker/index.cjs +5 -5
  92. package/components/edit-option-picker/index.js +7 -7
  93. package/components/edit-option-position-picker/index.cjs +4 -4
  94. package/components/edit-option-position-picker/index.js +21 -25
  95. package/components/edit-option-positions-number-field/index.cjs +9 -9
  96. package/components/edit-option-positions-number-field/index.js +76 -81
  97. package/components/edit-option-radio-button-group/index.cjs +6 -6
  98. package/components/edit-option-radio-button-group/index.js +21 -22
  99. package/components/edit-option-slider/index.cjs +1 -1
  100. package/components/edit-option-slider/index.js +1 -1
  101. package/components/edit-option-switch/index.cjs +1 -1
  102. package/components/edit-option-switch/index.js +1 -1
  103. package/components/edit-option-text-field/index.cjs +2 -2
  104. package/components/edit-option-text-field/index.js +22 -23
  105. package/components/en-D3ihEGXg.js +1483 -0
  106. package/components/en-DZcn_iz_.cjs +20 -0
  107. package/components/{en-GB-DG6uS3sM.cjs → en-GB-TqvgIw9B.cjs} +1 -1
  108. package/components/{en-GB-CEHEs8F2.js → en-GB-ialeqj_z.js} +1 -1
  109. package/components/{evolution-number-options.config-DzkfeoIN.js → evolution-number-options.config-BIPO_4n3.js} +11 -14
  110. package/components/{evolution-number-options.config-BgIZY4gQ.cjs → evolution-number-options.config-Bc9eKYnn.cjs} +1 -1
  111. package/components/{extrapolate-color-0j_AeYkz.cjs → extrapolate-color-C0n1UDs-.cjs} +1 -1
  112. package/components/{extrapolate-color-CC9CURf6.js → extrapolate-color-v1PimdQr.js} +1 -1
  113. package/components/filter-data-item-picker/index.cjs +7 -7
  114. package/components/filter-data-item-picker/index.js +85 -86
  115. package/components/filter-expression-picker/index.cjs +1 -1
  116. package/components/filter-expression-picker/index.js +1 -1
  117. package/components/filter-item/index.cjs +6 -6
  118. package/components/filter-item/index.js +109 -119
  119. package/components/filter-value-picker/index.cjs +2 -2
  120. package/components/filter-value-picker/index.js +34 -36
  121. package/components/filter-value-picker-datetime/index.cjs +8 -8
  122. package/components/filter-value-picker-datetime/index.js +56 -71
  123. package/components/filter-value-picker-hierarchy/index.cjs +12 -12
  124. package/components/filter-value-picker-hierarchy/index.js +113 -124
  125. package/components/filter-value-picker-numeric/index.cjs +8 -8
  126. package/components/filter-value-picker-numeric/index.js +101 -110
  127. package/components/{focusable-DCIFkpiW.js → focusable-BS2pbY7w.js} +24 -26
  128. package/components/focusable-QLh-LlNt.cjs +20 -0
  129. package/components/{funnel-chart-options.config-C_VjTOvD.js → funnel-chart-options.config-CrJy2U7_.js} +5 -20
  130. package/components/funnel-chart-options.config-DrP4AFgk.cjs +20 -0
  131. package/components/{get-css-variable-YlLiVgo8.js → get-css-variable-Bb7TxJdX.js} +37 -37
  132. package/components/get-css-variable-Pzks_rOx.cjs +24 -0
  133. package/components/grid/index.cjs +43 -49
  134. package/components/grid/index.js +2610 -1878
  135. package/components/heat-map-options.config-CIHnPdYE.cjs +20 -0
  136. package/components/{heat-map-options.config-BnLWe8jS.js → heat-map-options.config-CmL87j1j.js} +35 -41
  137. package/components/{heat-table-options.config-CUsDdgUr.js → heat-table-options.config-BrCYAgYD.js} +60 -88
  138. package/components/heat-table-options.config-DTlZRc_i.cjs +20 -0
  139. package/components/helpers-9I0oLoUB.cjs +20 -0
  140. package/components/helpers-bR8Ibjqh.js +79 -0
  141. package/components/{hexbin-map-options.config-F-7uCqxb.js → hexbin-map-options.config-BguV1w8q.js} +20 -38
  142. package/components/hexbin-map-options.config-CKnn3VAB.cjs +20 -0
  143. package/components/{index-BPNsFiyq.cjs → index-BNAmjOkm.cjs} +4 -4
  144. package/components/index-BekTY3Em.cjs +121 -0
  145. package/components/index-CFL6gmIu.cjs +20 -0
  146. package/components/{index-Do7O9azB.js → index-CqKpf0B8.js} +112 -123
  147. package/components/index-DNPULp4A.js +1755 -0
  148. package/components/{index-D0GBF6tg.js → index-DdyZ2g5L.js} +94 -104
  149. package/components/index-DvkzMbLt.cjs +249 -0
  150. package/components/{index-CdIUfo-L.js → index-haa7WNrl.js} +453 -481
  151. package/components/index.cjs +1 -1
  152. package/components/index.js +13 -13
  153. package/components/item-options-configs.cjs +1 -1
  154. package/components/item-options-configs.js +37 -37
  155. package/components/{line-chart-options.config-DB3IsXXr.js → line-chart-options.config-BhirTGqD.js} +13 -28
  156. package/components/line-chart-options.config-Cqwou5u6.cjs +20 -0
  157. package/components/{localize-r7ALOUy_.cjs → localize-C4zNlrwK.cjs} +1 -1
  158. package/components/{localize-BX7q0S0M.js → localize-CcDpq940.js} +10 -10
  159. package/components/{marker-map-options.config-DPJ955tt.js → marker-map-options.config-Bx17jmiq.js} +1 -1
  160. package/components/{marker-map-options.config-_FYZzRwA.cjs → marker-map-options.config-CvhCylSC.cjs} +1 -1
  161. package/components/{pivot-table-options.config-DNK_AIG7.js → pivot-table-options.config-CFc7y0IT.js} +15 -24
  162. package/components/pivot-table-options.config-uZDAertf.cjs +20 -0
  163. package/components/{pyramid-chart-options.config-CcVMatYx.js → pyramid-chart-options.config-2Waxb11l.js} +29 -43
  164. package/components/pyramid-chart-options.config-DoGfEvzU.cjs +20 -0
  165. package/components/{radar-chart-options.config-CUZn_3Fd.js → radar-chart-options.config-CPN5fOl8.js} +11 -23
  166. package/components/radar-chart-options.config-CtNUMN1l.cjs +20 -0
  167. package/components/{regular-table-options.config-BoLZsBry.js → regular-table-options.config-CFKCJQK1.js} +17 -23
  168. package/components/{regular-table-options.config-DTx3RTnS.cjs → regular-table-options.config-YRuoijIk.cjs} +1 -1
  169. package/components/route-map-options.config-CVTk5RVL.cjs +20 -0
  170. package/components/{route-map-options.config-CN86T7c0.js → route-map-options.config-CyolTJfK.js} +87 -109
  171. package/components/{sankey-diagram-options.config-RFB83YLZ.cjs → sankey-diagram-options.config-D7OSvSqm.cjs} +1 -1
  172. package/components/{sankey-diagram-options.config-tVLKy_Zn.js → sankey-diagram-options.config-Ldjk84ro.js} +7 -10
  173. package/components/scatter-plot-options.config-5gN7pMTm.cjs +20 -0
  174. package/components/{scatter-plot-options.config-Corlzno1.js → scatter-plot-options.config-CfxEfkQ1.js} +56 -86
  175. package/components/{search-filter-options.config-BE3JhR-F.js → search-filter-options.config-C0syQmP4.js} +3 -6
  176. package/components/{search-filter-options.config-BCaDlYqZ.cjs → search-filter-options.config-Oqco9BKj.cjs} +1 -1
  177. package/components/{set-locale-Dp3N_gXN.js → set-locale-hKTMz37h.js} +1 -8
  178. package/components/slicer-filter-options.config-CrusP6a0.cjs +20 -0
  179. package/components/{slicer-filter-options.config-3JZZcw5C.js → slicer-filter-options.config-DmOe3440.js} +9 -18
  180. package/components/{slider-filter-options.config-DH4SS8wH.js → slider-filter-options.config-B1M8RcDs.js} +1 -1
  181. package/components/{slider-filter-options.config-_8Z2zKmU.cjs → slider-filter-options.config-k45I-t6G.cjs} +1 -1
  182. package/components/slot-contents-picker/index.cjs +33 -33
  183. package/components/slot-contents-picker/index.js +194 -205
  184. package/components/slot-menu/index.cjs +12 -12
  185. package/components/slot-menu/index.js +171 -184
  186. package/components/slot-menu-list/index.cjs +3 -3
  187. package/components/slot-menu-list/index.js +97 -103
  188. package/components/speedometer-chart-options.config-B4ceg_qI.cjs +20 -0
  189. package/components/{speedometer-chart-options.config-SL581yOa.js → speedometer-chart-options.config-CzOmuEF8.js} +31 -53
  190. package/components/spike-map-options.config-BkkDqb4g.cjs +20 -0
  191. package/components/{spike-map-options.config-C5KewecZ.js → spike-map-options.config-Cbt1YUw6.js} +91 -122
  192. package/components/{sunburst-chart-options.config-AbNjWS6t.cjs → sunburst-chart-options.config-Yrxc2i57.cjs} +1 -1
  193. package/components/{sunburst-chart-options.config-CNauGQJv.js → sunburst-chart-options.config-_dyLQxPJ.js} +9 -20
  194. package/components/{symbol-map-options.config-DdDA4aa7.js → symbol-map-options.config-BORL1NSU.js} +11 -20
  195. package/components/symbol-map-options.config-NpBKm64d.cjs +20 -0
  196. package/components/{treemap-chart-options.config-D5AJaF_u.js → treemap-chart-options.config-B9i9qIm_.js} +20 -37
  197. package/components/treemap-chart-options.config-x4J54WSw.cjs +20 -0
  198. package/components/utils.cjs +1 -1
  199. package/components/utils.js +94 -97
  200. package/components/{video-options.config-CGsDTwHc.cjs → video-options.config-B0asgYt8.cjs} +1 -1
  201. package/components/{video-options.config-Dk36zJ1B.js → video-options.config-UX-9MDfS.js} +7 -10
  202. package/components/viz-item-menu/index.cjs +51 -0
  203. package/components/viz-item-menu/index.d.ts +8 -0
  204. package/components/viz-item-menu/index.js +209 -0
  205. package/components/viz-item-menu/viz-item-menu.d.ts +77 -0
  206. package/components/{wordcloud-chart-options.config-vGfCW8kE.cjs → wordcloud-chart-options.config-BKtJT8Va.cjs} +1 -1
  207. package/components/{wordcloud-chart-options.config-w2NUIWVA.js → wordcloud-chart-options.config-BoB_KuhA.js} +4 -7
  208. package/custom-elements.json +43 -23
  209. package/index.d.ts +1 -1
  210. package/package.json +7 -7
  211. package/types.d.ts +2 -2
  212. package/angular/components/widget-menu.component.ts +0 -25
  213. package/angular/esm/components/widget-menu.component.d.ts +0 -13
  214. package/angular/esm/components/widget-menu.component.js +0 -49
  215. package/components/area-chart-options.config-C7sMAHco.cjs +0 -20
  216. package/components/bar-chart-options.config-DcxEkOT5.cjs +0 -20
  217. package/components/box-plot-options.config-SrrbDEYW.cjs +0 -20
  218. package/components/bubble-chart-options.config-Ihn6eVQI.cjs +0 -20
  219. package/components/calculate-data-item-icon-CEa82-5u.cjs +0 -20
  220. package/components/calculate-data-item-icon-DjlZwMdO.js +0 -147
  221. package/components/choropleth-map-options.config-ZW8yoZH2.cjs +0 -20
  222. package/components/circular-gauge-options.config-msZ4mfpN.cjs +0 -20
  223. package/components/color-B6LaL8qz.cjs +0 -20
  224. package/components/color-range-utils-C5yXW7ZC.cjs +0 -20
  225. package/components/column-chart-options.config-BjDvA7i9.cjs +0 -20
  226. package/components/conditional-number-options.config-DgzUo0xi.cjs +0 -20
  227. package/components/donut-chart-options.config-tNpqBZfR.cjs +0 -20
  228. package/components/en-BKBhKBXY.cjs +0 -20
  229. package/components/en-BOTjhwEc.js +0 -1488
  230. package/components/focusable-B3E_hQmm.cjs +0 -20
  231. package/components/funnel-chart-options.config-D7H7gFcx.cjs +0 -20
  232. package/components/get-css-variable-BEYG097C.js +0 -1446
  233. package/components/get-css-variable-BZxY4IOa.cjs +0 -35
  234. package/components/get-css-variable-DLiZYZEi.cjs +0 -24
  235. package/components/heat-map-options.config-DVH-Bb5-.cjs +0 -20
  236. package/components/heat-table-options.config-B12JEYnp.cjs +0 -20
  237. package/components/helpers-DXQwEH1P.cjs +0 -20
  238. package/components/helpers-v1bPALRP.js +0 -91
  239. package/components/hexbin-map-options.config-DZERRhM8.cjs +0 -20
  240. package/components/index-CDi4fe3N.js +0 -1716
  241. package/components/index-CQ9ck-BO.cjs +0 -249
  242. package/components/index-CXn67vdn.cjs +0 -121
  243. package/components/index-Cz9vSXy6.cjs +0 -20
  244. package/components/index-Dn0j_pcR.cjs +0 -20
  245. package/components/index-E239Dotg.js +0 -1735
  246. package/components/line-chart-options.config-DSugoe0t.cjs +0 -20
  247. package/components/pivot-table-options.config-BiJXKSFR.cjs +0 -20
  248. package/components/pyramid-chart-options.config-C4zbFS26.cjs +0 -20
  249. package/components/radar-chart-options.config-EqQu6PTh.cjs +0 -20
  250. package/components/route-map-options.config-D7NJePTu.cjs +0 -20
  251. package/components/scatter-plot-options.config-CFfGJXsV.cjs +0 -20
  252. package/components/slicer-filter-options.config-DNI-XevE.cjs +0 -20
  253. package/components/speedometer-chart-options.config-BX9LTQBH.cjs +0 -20
  254. package/components/spike-map-options.config-DoBFXPmN.cjs +0 -20
  255. package/components/symbol-map-options.config-m-lwLTtu.cjs +0 -20
  256. package/components/treemap-chart-options.config-C0Q9aQ1Z.cjs +0 -20
  257. package/components/widget-menu/index.cjs +0 -51
  258. package/components/widget-menu/index.d.ts +0 -8
  259. package/components/widget-menu/index.js +0 -211
  260. package/components/widget-menu/widget-menu.d.ts +0 -77
@@ -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 { localized as s, msg as z } from "@lit/localize";
21
+ import { luzmoTrashOutline as c, luzmoClone as v, luzmoEdit as b } from "@luzmo/icons";
22
+ import "@luzmo/lucero/icon";
23
+ import "@luzmo/lucero/tooltip";
24
+ import { unsafeCSS as h, LitElement as p, html as n } from "lit";
25
+ import { property as l } from "lit/decorators.js";
26
+ import { g, t as f, s as x } from "../set-locale-hKTMz37h.js";
27
+ (function() {
28
+ if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
29
+ const o = document.createElement("style");
30
+ 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);
31
+ }
32
+ })();
33
+ const y = ':host{box-sizing:border-box;display:block;width:min-content}:host luzmo-icon{display:flex}:host .viz-item-menu{display:flex;flex-direction:column;align-items:center;gap:var(--luzmo-viz-item-menu-gap, var(--viz-item-menu-gap));font-size:var(--luzmo-viz-item-menu-font-size, var(--viz-item-menu-font-size));width:min-content}:host .viz-item-menu .viz-item-menu-top-section{display:flex;flex-direction:column;gap:var(--luzmo-viz-item-menu-button-edit-gap, var(--viz-item-menu-button-edit-gap))}:host .viz-item-menu .viz-item-menu-top-section>.viz-item-menu-button{padding:var(--luzmo-viz-item-menu-button-edit-padding, var(--viz-item-menu-button-edit-padding));background-color:var(--luzmo-viz-item-menu-button-edit-background, var(--viz-item-menu-button-edit-background))}:host .viz-item-menu .viz-item-menu-top-section>.viz-item-menu-button:first-of-type{border-top-right-radius:var(--luzmo-viz-item-menu-button-edit-border-radius, var(--viz-item-menu-button-edit-border-radius));border-top-left-radius:var(--luzmo-viz-item-menu-button-edit-border-radius, var(--viz-item-menu-button-edit-border-radius))}:host .viz-item-menu .viz-item-menu-top-section>.viz-item-menu-button:last-of-type{border-bottom-right-radius:var(--luzmo-viz-item-menu-button-edit-border-radius, var(--viz-item-menu-button-edit-border-radius));border-bottom-left-radius:var(--luzmo-viz-item-menu-button-edit-border-radius, var(--viz-item-menu-button-edit-border-radius));box-shadow:var(--luzmo-viz-item-menu-box-shadow, var(--viz-item-menu-box-shadow))}:host .viz-item-menu .viz-item-menu-top-section>.viz-item-menu-button:hover,:host .viz-item-menu .viz-item-menu-top-section>.viz-item-menu-button[selected]{background-color:var(--luzmo-viz-item-menu-button-edit-background-hover, var(--viz-item-menu-button-edit-background-hover))}:host .viz-item-menu .viz-item-menu-top-section>.viz-item-menu-button:active{background-color:var(--luzmo-viz-item-menu-button-edit-background-active, var(--viz-item-menu-button-edit-background-active))}:host .viz-item-menu .viz-item-menu-top-section>.viz-item-menu-button luzmo-icon{color:var(--luzmo-viz-item-menu-button-edit-icon-color, var(--viz-item-menu-button-edit-icon-color))}:host .viz-item-menu .viz-item-menu-button{display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:var(--luzmo-viz-item-menu-transition, var(--viz-item-menu-transition))}:host .viz-item-menu .viz-item-menu-button-delete{padding:var(--luzmo-viz-item-menu-delete-padding, var(--viz-item-menu-delete-padding));border-radius:var(--luzmo-viz-item-menu-delete-border-radius, var(--viz-item-menu-delete-border-radius));background-color:var(--luzmo-viz-item-menu-delete-background, var(--viz-item-menu-delete-background));box-shadow:var(--luzmo-viz-item-menu-box-shadow, var(--viz-item-menu-box-shadow))}:host .viz-item-menu .viz-item-menu-button-delete:hover,:host .viz-item-menu .viz-item-menu-button-delete[selected]{background-color:var(--luzmo-viz-item-menu-delete-background-hover, var(--viz-item-menu-delete-background-hover))}:host .viz-item-menu .viz-item-menu-button-delete:hover luzmo-icon,:host .viz-item-menu .viz-item-menu-button-delete[selected] luzmo-icon{color:var(--luzmo-viz-item-menu-delete-icon-color-hover, var(--viz-item-menu-delete-icon-color-hover))}:host .viz-item-menu .viz-item-menu-button-delete:active{background-color:var(--luzmo-viz-item-menu-delete-background-active, var(--viz-item-menu-delete-background-active))}:host .viz-item-menu .viz-item-menu-button-delete:active luzmo-icon{color:var(--luzmo-viz-item-menu-delete-icon-color-hover, var(--viz-item-menu-delete-icon-color-hover))}:host .viz-item-menu .viz-item-menu-button-delete luzmo-icon{color:var(--luzmo-viz-item-menu-delete-icon-color, var(--viz-item-menu-delete-icon-color))}:host .viz-item-menu luzmo-tooltip{--tooltip-font-family: var( --luzmo-viz-item-menu-tooltip-font-family, var(--viz-item-menu-tooltip-font-family) );font-family:var(--luzmo-viz-item-menu-tooltip-font-family, var(--viz-item-menu-tooltip-font-family))}:host{--viz-item-menu-gap: var(--luzmo-spacing-3, .375rem);--viz-item-menu-button-edit-gap: 0;--viz-item-menu-button-edit-padding: var(--luzmo-spacing-3, .125rem);--viz-item-menu-button-edit-border-radius: var(--luzmo-border-radius, .25rem);--viz-item-menu-button-edit-background: var(--luzmo-selected-color-hover, rgb(70, 69, 76));--viz-item-menu-button-edit-background-hover: var(--secondary, var(--luzmo-primary));--viz-item-menu-button-edit-background-active: var(--secondary, var(--luzmo-primary));--viz-item-menu-button-edit-icon-color: var(--luzmo-primary-inverse-color, white);--viz-item-menu-delete-padding: var(--luzmo-spacing-3, .125rem);--viz-item-menu-delete-border-radius: var(--luzmo-border-radius, .25rem);--viz-item-menu-delete-background: var(--luzmo-selected-color-hover, rgb(70, 69, 76));--viz-item-menu-delete-background-hover: var(--luzmo-negative-color, rgb(222, 55, 55));--viz-item-menu-delete-background-active: var(--luzmo-negative-color, rgb(222, 55, 55));--viz-item-menu-delete-icon-color: var(--luzmo-primary-inverse-color, white);--viz-item-menu-delete-icon-color-hover: var(--luzmo-primary-inverse-color, white);--viz-item-menu-transition: all var(--luzmo-animation-duration, .2s) ease;--viz-item-menu-font-size: var(--luzmo-font-size-m, .875rem);--viz-item-menu-box-shadow: 0px 4px 4px 0px var(--Boxshadow, rgba(var(--luzmo-border-color-rgb), .2));--viz-item-menu-tooltip-font-family: var(--luzmo-font-family, "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif)}';
34
+ var k = Object.defineProperty, w = Object.getOwnPropertyDescriptor, u = (e, o, r, m) => {
35
+ for (var i = m > 1 ? void 0 : m ? w(o, r) : o, a = e.length - 1, d; a >= 0; a--)
36
+ (d = e[a]) && (i = (m ? d(o, r, i) : d(i)) || i);
37
+ return m && i && k(o, r, i), i;
38
+ };
39
+ let t = class extends p {
40
+ constructor() {
41
+ super(...arguments), this.vizItemId = "", this.hiddenButtons = [], this.language = "en", this.selectedButton = null, this.menuButtonConfigs = {
42
+ edit: {
43
+ icon: b,
44
+ label: "Edit",
45
+ eventName: "edit",
46
+ type: "edit",
47
+ cssClass: "viz-item-menu-button viz-item-menu-button-edit",
48
+ dataE2e: "viz-item-menu-button-edit",
49
+ onHover: () => this._handleHoverOverEdit()
50
+ },
51
+ clone: {
52
+ icon: v,
53
+ label: "Clone",
54
+ eventName: "clone",
55
+ type: "clone",
56
+ cssClass: "viz-item-menu-button viz-item-menu-button-clone",
57
+ dataE2e: "viz-item-menu-button-clone"
58
+ },
59
+ delete: {
60
+ icon: c,
61
+ label: "Delete",
62
+ eventName: "delete",
63
+ type: "delete",
64
+ cssClass: "viz-item-menu-button viz-item-menu-button-delete",
65
+ dataE2e: "viz-item-menu-button-delete"
66
+ }
67
+ };
68
+ }
69
+ /**
70
+ * Check if there are any top section buttons to show
71
+ */
72
+ get hasTopSectionButtons() {
73
+ const e = this._shouldShowButton("edit"), o = this._shouldShowButton("clone");
74
+ return e || o;
75
+ }
76
+ /**
77
+ * Check if a menu button should be shown
78
+ */
79
+ _shouldShowButton(e) {
80
+ return !this.hiddenButtons?.includes(e);
81
+ }
82
+ willUpdate(e) {
83
+ e.has("language") && this.language !== g() && ([...f].includes(this.language ?? "en") || this.language === "en") && x(this.language);
84
+ }
85
+ /**
86
+ * Toggle selected state for a menu button
87
+ */
88
+ _handleSelectedToggle(e) {
89
+ e === "edit" && (this.selectedButton = this.selectedButton === e ? null : e, this._emitSelectedChanged());
90
+ }
91
+ /**
92
+ * Emit selected-changed event
93
+ */
94
+ _emitSelectedChanged() {
95
+ this.dispatchEvent(
96
+ new CustomEvent("selected-changed", {
97
+ bubbles: !0,
98
+ composed: !0,
99
+ detail: { selectedButton: this.selectedButton }
100
+ })
101
+ );
102
+ }
103
+ /**
104
+ * Handle menu button click with unified event dispatching
105
+ */
106
+ _handleMenuButtonClick(e) {
107
+ this._handleSelectedToggle(e.type), this.dispatchEvent(
108
+ new CustomEvent("button-clicked", {
109
+ bubbles: !0,
110
+ composed: !0,
111
+ detail: {
112
+ action: e.eventName,
113
+ type: e.type,
114
+ id: this.vizItemId
115
+ }
116
+ })
117
+ );
118
+ }
119
+ /**
120
+ * Create a bound click handler for a menu button config
121
+ */
122
+ _createMenuButtonClickHandler(e) {
123
+ return () => this._handleMenuButtonClick(e);
124
+ }
125
+ _handleHoverOverEdit() {
126
+ this.dispatchEvent(
127
+ new CustomEvent("edit-button-hovered", {
128
+ bubbles: !0,
129
+ composed: !0
130
+ })
131
+ );
132
+ }
133
+ /**
134
+ * Render a menu button
135
+ */
136
+ _renderMenuButton(e) {
137
+ const o = this.selectedButton === e.type, r = z(e.label, {
138
+ desc: `Viz item menu ${e.type} tooltip`
139
+ });
140
+ return n`
141
+ <div
142
+ class=${e.cssClass}
143
+ data-e2e=${e.dataE2e || ""}
144
+ data-menu-button=${e.type}
145
+ role="button"
146
+ tabindex="0"
147
+ aria-label=${r}
148
+ ?selected=${o}
149
+ @mouseenter=${e.onHover}
150
+ @click=${this._createMenuButtonClickHandler(e)}
151
+ >
152
+ <luzmo-icon .icon=${e.icon} size="s"></luzmo-icon>
153
+ <luzmo-tooltip
154
+ self-managed
155
+ placement="right"
156
+ fallback-placements="left"
157
+ >
158
+ ${r}
159
+ </luzmo-tooltip>
160
+ </div>
161
+ `;
162
+ }
163
+ /**
164
+ * Render edit section (edit and clone buttons)
165
+ */
166
+ _renderTopSection() {
167
+ return this.hasTopSectionButtons ? n`
168
+ <div class="viz-item-menu-top-section">
169
+ ${this._shouldShowButton("edit") ? this._renderMenuButton(this.menuButtonConfigs.edit) : ""}
170
+ ${this._shouldShowButton("clone") ? this._renderMenuButton(this.menuButtonConfigs.clone) : ""}
171
+ </div>
172
+ ` : n``;
173
+ }
174
+ /**
175
+ * Render delete section
176
+ */
177
+ _renderBottomSection() {
178
+ return this._shouldShowButton("delete") ? this._renderMenuButton(this.menuButtonConfigs.delete) : n``;
179
+ }
180
+ render() {
181
+ return n`
182
+ <div class="viz-item-menu">
183
+ ${this._renderTopSection()}
184
+ ${this._renderBottomSection()}
185
+ </div>
186
+ `;
187
+ }
188
+ };
189
+ t.styles = h(y);
190
+ t.tagName = "luzmo-viz-item-menu";
191
+ u([
192
+ l({ type: String, reflect: !0, attribute: "viz-item-id" })
193
+ ], t.prototype, "vizItemId", 2);
194
+ u([
195
+ l({ type: Array, attribute: !1 })
196
+ ], t.prototype, "hiddenButtons", 2);
197
+ u([
198
+ l({ type: String, reflect: !0 })
199
+ ], t.prototype, "language", 2);
200
+ u([
201
+ l({ type: String, reflect: !0, attribute: "selected-button" })
202
+ ], t.prototype, "selectedButton", 2);
203
+ t = u([
204
+ s()
205
+ ], t);
206
+ customElements.get("luzmo-viz-item-menu") || customElements.define("luzmo-viz-item-menu", t);
207
+ export {
208
+ t as LuzmoVizItemMenu
209
+ };
@@ -0,0 +1,77 @@
1
+ import '@luzmo/lucero/icon';
2
+ import '@luzmo/lucero/tooltip';
3
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
4
+ import type { VizItemMenuButton } from '../../types';
5
+ /**
6
+ * @element luzmo-viz-item-menu
7
+ * @summary A menu component for viz-item actions (clone, edit, delete)
8
+ * @fires button-clicked - Emitted when any menu item is clicked, includes { action: string, type: VizItemMenuButton, id: string } in detail
9
+ * @fires edit-button-hovered - Emitted when hovering over the edit button
10
+ * @fires selected-changed - Emitted when the selected button changes, includes { selectedButton: VizItemMenuButton | null } in detail
11
+ */
12
+ export declare class LuzmoVizItemMenu extends LitElement {
13
+ static styles: import("lit").CSSResult;
14
+ static tagName: string;
15
+ /**
16
+ * The visualization item ID
17
+ */
18
+ vizItemId: string;
19
+ /**
20
+ * Array of menu buttons to hide
21
+ * @default []
22
+ */
23
+ hiddenButtons: VizItemMenuButton[];
24
+ /**
25
+ * The language to display the menu in
26
+ * @default 'en'
27
+ */
28
+ language: string;
29
+ /**
30
+ * The currently selected menu button
31
+ * @default null
32
+ */
33
+ selectedButton: VizItemMenuButton | null;
34
+ /**
35
+ * Menu button configurations
36
+ */
37
+ private readonly menuButtonConfigs;
38
+ /**
39
+ * Check if there are any top section buttons to show
40
+ */
41
+ private get hasTopSectionButtons();
42
+ /**
43
+ * Check if a menu button should be shown
44
+ */
45
+ private _shouldShowButton;
46
+ protected willUpdate(changedProperties: PropertyValues): void;
47
+ /**
48
+ * Toggle selected state for a menu button
49
+ */
50
+ private _handleSelectedToggle;
51
+ /**
52
+ * Emit selected-changed event
53
+ */
54
+ private _emitSelectedChanged;
55
+ /**
56
+ * Handle menu button click with unified event dispatching
57
+ */
58
+ private _handleMenuButtonClick;
59
+ /**
60
+ * Create a bound click handler for a menu button config
61
+ */
62
+ private _createMenuButtonClickHandler;
63
+ private _handleHoverOverEdit;
64
+ /**
65
+ * Render a menu button
66
+ */
67
+ private _renderMenuButton;
68
+ /**
69
+ * Render edit section (edit and clone buttons)
70
+ */
71
+ private _renderTopSection;
72
+ /**
73
+ * Render delete section
74
+ */
75
+ private _renderBottomSection;
76
+ protected render(): TemplateResult;
77
+ }
@@ -17,4 +17,4 @@
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 l=require("./helpers-DXQwEH1P.cjs"),t=[{key:"general",type:"group",open:!0,children:[{key:"display.title",control:{type:"switch",label:"Title",default:!0}},{key:"categories.colored",control:{type:"switch",label:"Word color by category",default:!0}},{key:"color",control:{type:"color-picker",default:({theme:e})=>l.getThemeMainColor(e),extraLabel:({options:e,theme:o})=>l.getThemeMainColorResetLabel(e,o,"color"),extraLabelHasClickAction:({options:e,theme:o})=>l.getThemeMainColorExtraLabelHasClickAction(e,o,"color"),extraLabelClickAction:({options:e,theme:o})=>l.getThemeMainColorExtraLabelClickAction(e,o,"color")},visibleIf:({options:e})=>{var o;return((o=e==null?void 0:e.categories)==null?void 0:o.colored)===!1}},{key:"layout",control:{type:"radio-button-group",label:"Layout",default:"horizontal",enum:["horizontal","random"]}}]}];exports.default=t;
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./helpers-9I0oLoUB.cjs"),l=[{key:"general",type:"group",open:!0,children:[{key:"display.title",control:{type:"switch",label:"Title",default:!0}},{key:"categories.colored",control:{type:"switch",label:"Word color by category",default:!0}},{key:"color",control:{type:"color-picker",default:({theme:e})=>t.getThemeMainColor(e),extraLabel:({options:e,theme:o})=>t.getThemeMainColorResetLabel(e,o,"color"),extraLabelHasClickAction:({options:e,theme:o})=>t.getThemeMainColorExtraLabelHasClickAction(e,o,"color"),extraLabelClickAction:({options:e,theme:o})=>t.getThemeMainColorExtraLabelClickAction(e,o,"color")},visibleIf:({options:e})=>e?.categories?.colored===!1},{key:"layout",control:{type:"radio-button-group",label:"Layout",default:"horizontal",enum:["horizontal","random"]}}]}];exports.default=l;
@@ -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
- import { g as l, a as t, b as a, c as r } from "./helpers-v1bPALRP.js";
20
+ import { g as t, a as l, b as a, c as r } from "./helpers-bR8Ibjqh.js";
21
21
  const i = [
22
22
  {
23
23
  key: "general",
@@ -46,13 +46,10 @@ const i = [
46
46
  type: "color-picker",
47
47
  default: ({ theme: e }) => r(e),
48
48
  extraLabel: ({ options: e, theme: o }) => a(e, o, "color"),
49
- extraLabelHasClickAction: ({ options: e, theme: o }) => t(e, o, "color"),
50
- extraLabelClickAction: ({ options: e, theme: o }) => l(e, o, "color")
49
+ extraLabelHasClickAction: ({ options: e, theme: o }) => l(e, o, "color"),
50
+ extraLabelClickAction: ({ options: e, theme: o }) => t(e, o, "color")
51
51
  },
52
- visibleIf: ({ options: e }) => {
53
- var o;
54
- return ((o = e == null ? void 0 : e.categories) == null ? void 0 : o.colored) === !1;
55
- }
52
+ visibleIf: ({ options: e }) => e?.categories?.colored === !1
56
53
  },
57
54
  {
58
55
  key: "layout",
@@ -6960,6 +6960,16 @@
6960
6960
  ],
6961
6961
  "tagName": "luzmo-filter-value-picker-hierarchy",
6962
6962
  "customElement": true
6963
+ },
6964
+ {
6965
+ "kind": "variable",
6966
+ "name": "abortController",
6967
+ "default": "new AbortController()"
6968
+ },
6969
+ {
6970
+ "kind": "variable",
6971
+ "name": "promise",
6972
+ "default": "new Promise((resolve, reject) => { const fetchDataPromise = dataBroker.fetchData(query); fetchDataPromise.then(resolve).catch(reject); abortController.signal.addEventListener('abort', () => { console.warn('Request aborted'); reject({ status: 'aborted' }); }); })"
6963
6973
  }
6964
6974
  ],
6965
6975
  "exports": [
@@ -7163,6 +7173,16 @@
7163
7173
  ],
7164
7174
  "tagName": "luzmo-filter-value-picker-numeric",
7165
7175
  "customElement": true
7176
+ },
7177
+ {
7178
+ "kind": "variable",
7179
+ "name": "abortController",
7180
+ "default": "new AbortController()"
7181
+ },
7182
+ {
7183
+ "kind": "variable",
7184
+ "name": "promise",
7185
+ "default": "new Promise((resolve, reject) => { const fetchDataPromise = dataBroker.fetchData(query); fetchDataPromise.then(resolve).catch(reject); abortController.signal.addEventListener('abort', () => { console.warn('Request aborted'); reject({ status: 'aborted' }); }); })"
7166
7186
  }
7167
7187
  ],
7168
7188
  "exports": [
@@ -8693,12 +8713,12 @@
8693
8713
  },
8694
8714
  {
8695
8715
  "kind": "javascript-module",
8696
- "path": "src/components/widget-menu/widget-menu.ts",
8716
+ "path": "src/components/viz-item-menu/viz-item-menu.ts",
8697
8717
  "declarations": [
8698
8718
  {
8699
8719
  "kind": "class",
8700
8720
  "description": "",
8701
- "name": "LuzmoWidgetMenu",
8721
+ "name": "LuzmoVizItemMenu",
8702
8722
  "members": [
8703
8723
  {
8704
8724
  "kind": "field",
@@ -8707,7 +8727,7 @@
8707
8727
  "text": "string"
8708
8728
  },
8709
8729
  "static": true,
8710
- "default": "'luzmo-widget-menu'"
8730
+ "default": "'luzmo-viz-item-menu'"
8711
8731
  },
8712
8732
  {
8713
8733
  "kind": "field",
@@ -8722,12 +8742,12 @@
8722
8742
  },
8723
8743
  {
8724
8744
  "kind": "field",
8725
- "name": "hide",
8745
+ "name": "hiddenButtons",
8726
8746
  "type": {
8727
- "text": "WidgetMenuItem[]"
8747
+ "text": "VizItemMenuButton[]"
8728
8748
  },
8729
8749
  "default": "[]",
8730
- "description": "Array of menu items to hide"
8750
+ "description": "Array of menu buttons to hide"
8731
8751
  },
8732
8752
  {
8733
8753
  "kind": "field",
@@ -8742,13 +8762,13 @@
8742
8762
  },
8743
8763
  {
8744
8764
  "kind": "field",
8745
- "name": "selectedItem",
8765
+ "name": "selectedButton",
8746
8766
  "type": {
8747
- "text": "WidgetMenuItem | null"
8767
+ "text": "VizItemMenuButton | null"
8748
8768
  },
8749
8769
  "default": "null",
8750
- "description": "The currently selected menu item",
8751
- "attribute": "selected-item",
8770
+ "description": "The currently selected menu button",
8771
+ "attribute": "selected-button",
8752
8772
  "reflects": true
8753
8773
  }
8754
8774
  ],
@@ -8758,17 +8778,17 @@
8758
8778
  "type": {
8759
8779
  "text": "CustomEvent"
8760
8780
  },
8761
- "description": "Emitted when the selected item changes, includes { selectedItem: WidgetMenuItem | null } in detail"
8781
+ "description": "Emitted when the selected button changes, includes { selectedButton: VizItemMenuButton | null } in detail"
8762
8782
  },
8763
8783
  {
8764
- "name": "widget-menu-element-clicked",
8784
+ "name": "button-clicked",
8765
8785
  "type": {
8766
8786
  "text": "CustomEvent"
8767
8787
  },
8768
- "description": "Emitted when any menu item is clicked, includes { action: string, type: WidgetMenuItem, id: string } in detail"
8788
+ "description": "Emitted when any menu item is clicked, includes { action: string, type: VizItemMenuButton, id: string } in detail"
8769
8789
  },
8770
8790
  {
8771
- "name": "hover-over-edit",
8791
+ "name": "edit-button-hovered",
8772
8792
  "type": {
8773
8793
  "text": "CustomEvent"
8774
8794
  },
@@ -8795,31 +8815,31 @@
8795
8815
  "fieldName": "language"
8796
8816
  },
8797
8817
  {
8798
- "name": "selected-item",
8818
+ "name": "selected-button",
8799
8819
  "type": {
8800
- "text": "WidgetMenuItem | null"
8820
+ "text": "VizItemMenuButton | null"
8801
8821
  },
8802
8822
  "default": "null",
8803
- "description": "The currently selected menu item",
8804
- "fieldName": "selectedItem"
8823
+ "description": "The currently selected menu button",
8824
+ "fieldName": "selectedButton"
8805
8825
  }
8806
8826
  ],
8807
8827
  "superclass": {
8808
8828
  "name": "LitElement",
8809
8829
  "package": "lit"
8810
8830
  },
8811
- "tagName": "luzmo-widget-menu",
8831
+ "tagName": "luzmo-viz-item-menu",
8812
8832
  "customElement": true,
8813
- "summary": "A menu component for widget actions (data, config, clone, remove)"
8833
+ "summary": "A menu component for viz-item actions (clone, edit, delete)"
8814
8834
  }
8815
8835
  ],
8816
8836
  "exports": [
8817
8837
  {
8818
8838
  "kind": "js",
8819
- "name": "LuzmoWidgetMenu",
8839
+ "name": "LuzmoVizItemMenu",
8820
8840
  "declaration": {
8821
- "name": "LuzmoWidgetMenu",
8822
- "module": "src/components/widget-menu/widget-menu.ts"
8841
+ "name": "LuzmoVizItemMenu",
8842
+ "module": "src/components/viz-item-menu/viz-item-menu.ts"
8823
8843
  }
8824
8844
  }
8825
8845
  ]
package/index.d.ts CHANGED
@@ -40,7 +40,7 @@ export * from './components/grid';
40
40
  export * from './components/slot-contents-picker';
41
41
  export * from './components/slot-menu';
42
42
  export * from './components/slot-menu-list';
43
- export * from './components/widget-menu';
43
+ export * from './components/viz-item-menu';
44
44
  export * from './item-definitions/item-list';
45
45
  export * from './types';
46
46
  export * from './utils';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luzmo/analytics-components-kit",
3
- "version": "1.0.1-alpha.94",
3
+ "version": "1.0.1-alpha.97",
4
4
  "type": "module",
5
5
  "main": "./components/index.js",
6
6
  "module": "./components/index.js",
@@ -231,10 +231,10 @@
231
231
  "import": "./components/slot-menu-list/index.js",
232
232
  "require": "./components/slot-menu-list/index.cjs"
233
233
  },
234
- "./widget-menu": {
235
- "types": "./components/widget-menu/index.d.ts",
236
- "import": "./components/widget-menu/index.js",
237
- "require": "./components/widget-menu/index.cjs"
234
+ "./viz-item-menu": {
235
+ "types": "./components/viz-item-menu/index.d.ts",
236
+ "import": "./components/viz-item-menu/index.js",
237
+ "require": "./components/viz-item-menu/index.cjs"
238
238
  },
239
239
  "./item-slots-configs": {
240
240
  "types": "./components/droppable-slot/item-slots-configs/index.d.ts",
@@ -287,8 +287,8 @@
287
287
  "@lit/context": "^1.1.5",
288
288
  "@lit/localize": "^0.12.2",
289
289
  "@lit/task": "^1.0.1",
290
- "@luzmo/icons": "^1.0.1-alpha.21",
291
- "@luzmo/lucero": "^1.0.1-alpha.35",
290
+ "@luzmo/icons": "^1.0.1-alpha.25",
291
+ "@luzmo/lucero": "^1.0.1-alpha.38",
292
292
  "colorjs.io": "^0.5.2",
293
293
  "lit": "^3.3.1"
294
294
  },
package/types.d.ts CHANGED
@@ -110,6 +110,6 @@ export interface Dataset {
110
110
  };
111
111
  }
112
112
  /**
113
- * Widget menu item types that can be selected
113
+ * Viz item menu button types that can be selected
114
114
  */
115
- export type WidgetMenuItem = 'clone' | 'remove' | 'edit';
115
+ export type VizItemMenuButton = 'clone' | 'edit' | 'delete';
@@ -1,25 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
- import type { WidgetMenuItem } from '../types';
3
-
4
- @Component({
5
- selector: 'luzmo-widget-menu',
6
- standalone: true,
7
- changeDetection: ChangeDetectionStrategy.OnPush,
8
- template: `<luzmo-widget-menu
9
- [attr.viz-item-id]="vizItemId"
10
- [attr.language]="language"
11
- [attr.selected-item]="selectedItem"
12
- (selected-changed)="selectedChanged.emit($event)"
13
- (widget-menu-element-clicked)="widgetMenuElementClicked.emit($event)"
14
- (hover-over-edit)="hoverOverEdit.emit($event)">
15
- <ng-content></ng-content>
16
- </luzmo-widget-menu>`
17
- })
18
- export class WidgetMenuComponent {
19
- @Input() vizItemId?: string;
20
- @Input() language?: string;
21
- @Input() selectedItem?: WidgetMenuItem | null;
22
- @Output() selectedChanged = new EventEmitter<CustomEvent>();
23
- @Output() widgetMenuElementClicked = new EventEmitter<CustomEvent>();
24
- @Output() hoverOverEdit = new EventEmitter<CustomEvent>();
25
- }
@@ -1,13 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import type { WidgetMenuItem } from '../types';
3
- import * as i0 from "@angular/core";
4
- export declare class WidgetMenuComponent {
5
- vizItemId?: string;
6
- language?: string;
7
- selectedItem?: WidgetMenuItem | null;
8
- selectedChanged: EventEmitter<CustomEvent<any>>;
9
- widgetMenuElementClicked: EventEmitter<CustomEvent<any>>;
10
- hoverOverEdit: EventEmitter<CustomEvent<any>>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<WidgetMenuComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<WidgetMenuComponent, "luzmo-widget-menu", never, { "vizItemId": { "alias": "vizItemId"; "required": false; }; "language": { "alias": "language"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; }, { "selectedChanged": "selectedChanged"; "widgetMenuElementClicked": "widgetMenuElementClicked"; "hoverOverEdit": "hoverOverEdit"; }, never, ["*"], true, never>;
13
- }
@@ -1,49 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class WidgetMenuComponent {
4
- vizItemId;
5
- language;
6
- selectedItem;
7
- selectedChanged = new EventEmitter();
8
- widgetMenuElementClicked = new EventEmitter();
9
- hoverOverEdit = new EventEmitter();
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: WidgetMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.3", type: WidgetMenuComponent, isStandalone: true, selector: "luzmo-widget-menu", inputs: { vizItemId: "vizItemId", language: "language", selectedItem: "selectedItem" }, outputs: { selectedChanged: "selectedChanged", widgetMenuElementClicked: "widgetMenuElementClicked", hoverOverEdit: "hoverOverEdit" }, ngImport: i0, template: `<luzmo-widget-menu
12
- [attr.viz-item-id]="vizItemId"
13
- [attr.language]="language"
14
- [attr.selected-item]="selectedItem"
15
- (selected-changed)="selectedChanged.emit($event)"
16
- (widget-menu-element-clicked)="widgetMenuElementClicked.emit($event)"
17
- (hover-over-edit)="hoverOverEdit.emit($event)">
18
- <ng-content></ng-content>
19
- </luzmo-widget-menu>`, isInline: true, dependencies: [{ kind: "component", type: WidgetMenuComponent, selector: "luzmo-widget-menu", inputs: ["vizItemId", "language", "selectedItem"], outputs: ["selectedChanged", "widgetMenuElementClicked", "hoverOverEdit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: WidgetMenuComponent, decorators: [{
22
- type: Component,
23
- args: [{
24
- selector: 'luzmo-widget-menu',
25
- standalone: true,
26
- changeDetection: ChangeDetectionStrategy.OnPush,
27
- template: `<luzmo-widget-menu
28
- [attr.viz-item-id]="vizItemId"
29
- [attr.language]="language"
30
- [attr.selected-item]="selectedItem"
31
- (selected-changed)="selectedChanged.emit($event)"
32
- (widget-menu-element-clicked)="widgetMenuElementClicked.emit($event)"
33
- (hover-over-edit)="hoverOverEdit.emit($event)">
34
- <ng-content></ng-content>
35
- </luzmo-widget-menu>`
36
- }]
37
- }], propDecorators: { vizItemId: [{
38
- type: Input
39
- }], language: [{
40
- type: Input
41
- }], selectedItem: [{
42
- type: Input
43
- }], selectedChanged: [{
44
- type: Output
45
- }], widgetMenuElementClicked: [{
46
- type: Output
47
- }], hoverOverEdit: [{
48
- type: Output
49
- }] } });