@luzmo/analytics-components-kit 1.0.1-alpha.86 → 1.0.1-alpha.89

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 (383) hide show
  1. package/angular/components/display-settings-binning.component.ts +2 -2
  2. package/angular/components/display-settings-datetime.component.ts +2 -2
  3. package/angular/components/display-settings-grand-totals.component.ts +2 -2
  4. package/angular/components/display-settings-numeric.component.ts +2 -2
  5. package/angular/components/display-settings.component.ts +3 -3
  6. package/angular/components/draggable-data-item/index.ts +1 -0
  7. package/angular/components/draggable-data-item/types.ts +40 -0
  8. package/angular/components/draggable-data-item-level/index.ts +1 -0
  9. package/angular/components/draggable-data-item-level/types.ts +15 -0
  10. package/angular/components/draggable-data-item-level.component.ts +4 -10
  11. package/angular/components/draggable-data-item.component.ts +4 -10
  12. package/angular/components/droppable-slot/index.ts +1 -0
  13. package/angular/components/droppable-slot/types.ts +16 -0
  14. package/angular/components/droppable-slot.component.ts +5 -3
  15. package/angular/components/slot-menu/index.ts +1 -0
  16. package/angular/components/slot-menu/types.ts +31 -0
  17. package/angular/components/slot-menu-list.component.ts +2 -2
  18. package/angular/components/slot-menu.component.ts +3 -3
  19. package/angular/esm/components/display-settings-binning.component.d.ts +2 -1
  20. package/angular/esm/components/display-settings-datetime.component.d.ts +2 -2
  21. package/angular/esm/components/display-settings-grand-totals.component.d.ts +2 -1
  22. package/angular/esm/components/display-settings-numeric.component.d.ts +2 -1
  23. package/angular/esm/components/display-settings.component.d.ts +3 -3
  24. package/angular/esm/components/draggable-data-item/index.d.ts +1 -0
  25. package/angular/esm/components/draggable-data-item/index.js +1 -0
  26. package/angular/esm/components/draggable-data-item/types.d.ts +22 -0
  27. package/angular/esm/components/draggable-data-item/types.js +1 -0
  28. package/angular/esm/components/draggable-data-item-level/index.d.ts +1 -0
  29. package/angular/esm/components/draggable-data-item-level/index.js +1 -0
  30. package/angular/esm/components/draggable-data-item-level/types.d.ts +12 -0
  31. package/angular/esm/components/draggable-data-item-level/types.js +1 -0
  32. package/angular/esm/components/draggable-data-item-level.component.d.ts +9 -7
  33. package/angular/esm/components/draggable-data-item-level.component.js +2 -17
  34. package/angular/esm/components/draggable-data-item.component.d.ts +9 -7
  35. package/angular/esm/components/draggable-data-item.component.js +2 -17
  36. package/angular/esm/components/droppable-slot/index.d.ts +1 -0
  37. package/angular/esm/components/droppable-slot/index.js +1 -0
  38. package/angular/esm/components/droppable-slot/types.d.ts +9 -0
  39. package/angular/esm/components/droppable-slot/types.js +1 -0
  40. package/angular/esm/components/droppable-slot.component.d.ts +5 -4
  41. package/angular/esm/components/droppable-slot.component.js +7 -2
  42. package/angular/esm/components/slot-menu/index.d.ts +1 -0
  43. package/angular/esm/components/slot-menu/index.js +1 -0
  44. package/angular/esm/components/slot-menu/types.d.ts +25 -0
  45. package/angular/esm/components/slot-menu/types.js +1 -0
  46. package/angular/esm/components/slot-menu-list.component.d.ts +2 -1
  47. package/angular/esm/components/slot-menu.component.d.ts +3 -3
  48. package/angular/esm/types.d.ts +9 -3
  49. package/angular/tsconfig.json +3 -0
  50. package/angular/types.ts +24 -3
  51. package/angular/utils/base/base.d.ts +16 -0
  52. package/angular/utils/base/focus-visible.d.ts +29 -0
  53. package/angular/utils/base/focusable.d.ts +58 -0
  54. package/angular/utils/base/index.d.ts +4 -0
  55. package/angular/utils/base/sized-mixin.d.ts +17 -0
  56. package/angular/utils/color/color-palettes.d.ts +17 -0
  57. package/angular/utils/color/extrapolate-color.d.ts +1 -0
  58. package/angular/utils/data/load-draggable-items-for-datasets.d.ts +24 -0
  59. package/angular/utils/data-broker/index.d.ts +191 -0
  60. package/angular/utils/data-item-types/calculate-data-item-icon.d.ts +10 -0
  61. package/angular/utils/data-item-types/tests/calculate-data-item-icon.test.d.ts +1 -0
  62. package/angular/utils/drag/draggable.d.ts +13 -0
  63. package/angular/utils/filters/expressions.d.ts +15 -0
  64. package/angular/utils/filters/index.d.ts +1 -0
  65. package/angular/utils/formatter/calculate-duration.d.ts +2 -0
  66. package/angular/utils/formatter/decompose-numeric-format.d.ts +11 -0
  67. package/angular/utils/formatter/default-local-formats.d.ts +20 -0
  68. package/angular/utils/formatter/formats/cs.d.ts +20 -0
  69. package/angular/utils/formatter/formats/da.d.ts +20 -0
  70. package/angular/utils/formatter/formats/de.d.ts +21 -0
  71. package/angular/utils/formatter/formats/en-GB.d.ts +21 -0
  72. package/angular/utils/formatter/formats/en-US.d.ts +1 -0
  73. package/angular/utils/formatter/formats/en.d.ts +1 -0
  74. package/angular/utils/formatter/formats/es.d.ts +54 -0
  75. package/angular/utils/formatter/formats/fi.d.ts +20 -0
  76. package/angular/utils/formatter/formats/fr.d.ts +54 -0
  77. package/angular/utils/formatter/formats/he.d.ts +20 -0
  78. package/angular/utils/formatter/formats/hu.d.ts +20 -0
  79. package/angular/utils/formatter/formats/it.d.ts +54 -0
  80. package/angular/utils/formatter/formats/ja.d.ts +20 -0
  81. package/angular/utils/formatter/formats/ko.d.ts +20 -0
  82. package/angular/utils/formatter/formats/mk.d.ts +20 -0
  83. package/angular/utils/formatter/formats/nl.d.ts +21 -0
  84. package/angular/utils/formatter/formats/no.d.ts +21 -0
  85. package/angular/utils/formatter/formats/pl.d.ts +20 -0
  86. package/angular/utils/formatter/formats/pt.d.ts +20 -0
  87. package/angular/utils/formatter/formats/ru.d.ts +20 -0
  88. package/angular/utils/formatter/formats/sv.d.ts +20 -0
  89. package/angular/utils/formatter/formats/tr.d.ts +21 -0
  90. package/angular/utils/formatter/formats/zh-CN.d.ts +20 -0
  91. package/angular/utils/formatter/formats/zh-TW.d.ts +20 -0
  92. package/angular/utils/formatter/formatter.d.ts +9 -0
  93. package/angular/utils/formatter/localize.d.ts +3 -0
  94. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +36 -0
  95. package/angular/utils/get-css-variable.d.ts +1 -0
  96. package/angular/utils/index.d.ts +7 -0
  97. package/angular/utils/localize/set-locale.d.ts +7 -0
  98. package/angular/utils/map-tile-providers/index.d.ts +93 -0
  99. package/angular/utils/store/slot-context.d.ts +4 -0
  100. package/angular/utils/store/slot-store.d.ts +39 -0
  101. package/angular/utils/switch-item/index.d.ts +14 -0
  102. package/angular/utils/themes/bliss.d.ts +43 -0
  103. package/angular/utils/themes/classic-dark.d.ts +34 -0
  104. package/angular/utils/themes/classic.d.ts +43 -0
  105. package/angular/utils/themes/default-dark.d.ts +46 -0
  106. package/angular/utils/themes/default.d.ts +46 -0
  107. package/angular/utils/themes/index.d.ts +3 -0
  108. package/angular/utils/themes/orion.d.ts +44 -0
  109. package/angular/utils/themes/pinky.d.ts +42 -0
  110. package/angular/utils/themes/radiant.d.ts +42 -0
  111. package/angular/utils/themes/royale.d.ts +36 -0
  112. package/angular/utils/themes/seasonal.d.ts +43 -0
  113. package/angular/utils/themes/urban.d.ts +44 -0
  114. package/angular/utils/themes/vivid.d.ts +42 -0
  115. package/angular/utils/time/formats.const.d.ts +4 -0
  116. package/angular/utils/time/periods.const.d.ts +15 -0
  117. package/angular/utils/transformations/convert-data-item-to-slot-content.d.ts +9 -0
  118. package/angular/utils/transformations/convert-datasets-to-draggable-items.d.ts +17 -0
  119. package/angular/utils/transformations/tests/convert-data-item-to-slot-content.test.d.ts +1 -0
  120. package/angular/utils/transformations/tests/convert-datasets-to-draggable-items.test.d.ts +1 -0
  121. package/angular/utils/types/type-check.d.ts +7 -0
  122. package/components/ai-chat-message-assistant/index.cjs +1 -1
  123. package/components/ai-chat-message-assistant/index.js +0 -1
  124. package/components/ai-chat-messages-container/index.cjs +1 -1
  125. package/components/ai-chat-messages-container/index.js +2 -2
  126. package/components/ai-interaction-textarea/index.cjs +1 -1
  127. package/components/ai-interaction-textarea/index.js +1 -2
  128. package/components/area-chart-options.config-Bl8bhhOo.cjs +20 -0
  129. package/components/{area-chart-options.config-_J0sG4NF.js → area-chart-options.config-u8itidsi.js} +14 -26
  130. package/components/bar-chart-options.config-CePAqM83.cjs +20 -0
  131. package/components/{bar-chart-options.config-D1mb5TDl.js → bar-chart-options.config-DIirbAJ0.js} +21 -35
  132. package/components/box-plot-options.config-BVNrV2eD.cjs +20 -0
  133. package/components/{box-plot-options.config-xu_i6ms7.js → box-plot-options.config-BWROiguA.js} +52 -88
  134. package/components/{bubble-chart-options.config-BacgXkJ_.js → bubble-chart-options.config-4QD8VPhU.js} +9 -18
  135. package/components/bubble-chart-options.config-BDgOe3GQ.cjs +20 -0
  136. package/components/{bullet-chart-options.config-CDPpX1yc.js → bullet-chart-options.config-3bH7uekx.js} +1 -1
  137. package/components/{bullet-chart-options.config-DfS4Bwds.cjs → bullet-chart-options.config-tWb6Fio-.cjs} +1 -1
  138. package/components/calculate-data-item-icon-DMDhKq_m.js +147 -0
  139. package/components/{calculate-data-item-icon-DjW1_RI1.cjs → calculate-data-item-icon-DtVGbet3.cjs} +1 -1
  140. package/components/{choropleth-map-options.config-B_W9-rhe.js → choropleth-map-options.config-CMxx3ORp.js} +63 -84
  141. package/components/choropleth-map-options.config-CWJACFd0.cjs +20 -0
  142. package/components/circular-gauge-options.config-BMxgq3zH.cjs +20 -0
  143. package/components/{circular-gauge-options.config-DAIjz4Rl.js → circular-gauge-options.config-DhIKn44k.js} +23 -36
  144. package/components/{color-DuJ4-73S.js → color-B7m0j8lX.js} +941 -950
  145. package/components/color-Czp4Im5q.cjs +20 -0
  146. package/components/{color-range-utils-Bvo9sm5A.js → color-range-utils-BSfqtB3A.js} +31 -32
  147. package/components/color-range-utils-DYYR-iwx.cjs +20 -0
  148. package/components/column-chart-options.config-BV9R3ssH.cjs +20 -0
  149. package/components/{column-chart-options.config-B5SjBVdy.js → column-chart-options.config-D5-yR7iq.js} +27 -37
  150. package/components/conditional-number-options.config-Co099Qfm.cjs +20 -0
  151. package/components/{conditional-number-options.config-BCEpSK9J.js → conditional-number-options.config-DPYsdML5.js} +24 -40
  152. package/components/dataset-icon/index.cjs +1 -1
  153. package/components/dataset-icon/index.js +1 -2
  154. package/components/dataset-selector-list/index.cjs +1 -1
  155. package/components/dataset-selector-list/index.js +32 -35
  156. package/components/dataset-selector-row/index.cjs +9 -9
  157. package/components/dataset-selector-row/index.js +51 -53
  158. package/components/{date-comparison-filter-options.config-JA_yYpJa.js → date-comparison-filter-options.config-CSwGyuBg.js} +3 -6
  159. package/components/{date-comparison-filter-options.config-DAVncmi0.cjs → date-comparison-filter-options.config-QaoWaFUn.cjs} +1 -1
  160. package/components/{date-filter-options.config-DBRxlTWy.js → date-filter-options.config-BTVyHRkp.js} +3 -6
  161. package/components/{date-filter-options.config-CWPMtA18.cjs → date-filter-options.config-n-zhWaYa.cjs} +1 -1
  162. package/components/display-settings/display-settings.d.ts +4 -2
  163. package/components/display-settings/index.cjs +1 -1
  164. package/components/display-settings/index.js +1 -1
  165. package/components/display-settings-binning/display-settings-binning.d.ts +2 -1
  166. package/components/display-settings-binning/index.cjs +5 -5
  167. package/components/display-settings-binning/index.js +29 -30
  168. package/components/display-settings-datetime/display-settings-datetime.d.ts +2 -1
  169. package/components/display-settings-datetime/index.cjs +29 -29
  170. package/components/display-settings-datetime/index.js +112 -120
  171. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +2 -1
  172. package/components/display-settings-grand-totals/index.cjs +4 -4
  173. package/components/display-settings-grand-totals/index.js +23 -24
  174. package/components/display-settings-numeric/display-settings-numeric.d.ts +2 -1
  175. package/components/display-settings-numeric/index.cjs +48 -48
  176. package/components/display-settings-numeric/index.js +192 -209
  177. package/components/display-settings-period-over-period/index.cjs +16 -16
  178. package/components/display-settings-period-over-period/index.js +91 -97
  179. package/components/{donut-chart-options.config-BulUEiaH.js → donut-chart-options.config-3ZqX8Cbb.js} +21 -37
  180. package/components/donut-chart-options.config-BQyPgnC9.cjs +20 -0
  181. package/components/draggable-data-item/draggable-data-item.d.ts +5 -7
  182. package/components/draggable-data-item/index.cjs +16 -22
  183. package/components/draggable-data-item/index.d.ts +1 -0
  184. package/components/draggable-data-item/index.js +79 -87
  185. package/components/draggable-data-item/types.d.ts +22 -0
  186. package/components/draggable-data-item-level/draggable-data-item-level.d.ts +4 -6
  187. package/components/draggable-data-item-level/helpers/generate-preview.d.ts +9 -1
  188. package/components/draggable-data-item-level/index.cjs +13 -13
  189. package/components/draggable-data-item-level/index.js +85 -106
  190. package/components/draggable-data-item-level/types.d.ts +12 -0
  191. package/components/{dropdown-filter-options.config-D9dvPypF.js → dropdown-filter-options.config-CGJTtgAX.js} +7 -10
  192. package/components/{dropdown-filter-options.config-DS-MORmq.cjs → dropdown-filter-options.config-DJvfCTk7.cjs} +1 -1
  193. package/components/droppable-slot/droppable-slot.d.ts +4 -2
  194. package/components/droppable-slot/index.cjs +20 -20
  195. package/components/droppable-slot/index.d.ts +1 -0
  196. package/components/droppable-slot/index.js +239 -254
  197. package/components/droppable-slot/types.d.ts +9 -0
  198. package/components/edit-item/index.cjs +9 -9
  199. package/components/edit-item/index.js +116 -119
  200. package/components/edit-option/index.cjs +1 -1
  201. package/components/edit-option/index.js +1 -1
  202. package/components/edit-option-action-button-group/index.cjs +8 -8
  203. package/components/edit-option-action-button-group/index.js +52 -53
  204. package/components/{edit-option-base-DIc7iC-b.js → edit-option-base-Bh29-Cak.js} +1 -1
  205. package/components/{edit-option-base-VhTih9T1.cjs → edit-option-base-tFr8Qg2B.cjs} +1 -1
  206. package/components/edit-option-color-palette-picker/index.cjs +1 -1
  207. package/components/edit-option-color-palette-picker/index.js +1 -1
  208. package/components/edit-option-color-picker/index.cjs +1 -1
  209. package/components/edit-option-color-picker/index.js +1 -1
  210. package/components/edit-option-color-range/index.cjs +19 -19
  211. package/components/edit-option-color-range/index.js +106 -117
  212. package/components/edit-option-multi-language-field/index.cjs +3 -3
  213. package/components/edit-option-multi-language-field/index.js +26 -27
  214. package/components/edit-option-number-field/index.cjs +1 -1
  215. package/components/edit-option-number-field/index.js +1 -1
  216. package/components/edit-option-picker/index.cjs +5 -5
  217. package/components/edit-option-picker/index.js +7 -7
  218. package/components/edit-option-position-picker/index.cjs +4 -4
  219. package/components/edit-option-position-picker/index.js +21 -25
  220. package/components/edit-option-positions-number-field/index.cjs +9 -9
  221. package/components/edit-option-positions-number-field/index.js +76 -81
  222. package/components/edit-option-radio-button-group/index.cjs +6 -6
  223. package/components/edit-option-radio-button-group/index.js +21 -22
  224. package/components/edit-option-slider/index.cjs +1 -1
  225. package/components/edit-option-slider/index.js +1 -1
  226. package/components/edit-option-switch/index.cjs +1 -1
  227. package/components/edit-option-switch/index.js +1 -1
  228. package/components/edit-option-text-field/index.cjs +2 -2
  229. package/components/edit-option-text-field/index.js +22 -23
  230. package/components/en-D3ihEGXg.js +1483 -0
  231. package/components/en-DZcn_iz_.cjs +20 -0
  232. package/components/{en-GB-DG6uS3sM.cjs → en-GB-TqvgIw9B.cjs} +1 -1
  233. package/components/{en-GB-CEHEs8F2.js → en-GB-ialeqj_z.js} +1 -1
  234. package/components/{evolution-number-options.config-DzkfeoIN.js → evolution-number-options.config-BIPO_4n3.js} +11 -14
  235. package/components/{evolution-number-options.config-BgIZY4gQ.cjs → evolution-number-options.config-Bc9eKYnn.cjs} +1 -1
  236. package/components/{extrapolate-color-0j_AeYkz.cjs → extrapolate-color-C0n1UDs-.cjs} +1 -1
  237. package/components/{extrapolate-color-CC9CURf6.js → extrapolate-color-v1PimdQr.js} +1 -1
  238. package/components/filter-data-item-picker/index.cjs +7 -7
  239. package/components/filter-data-item-picker/index.js +85 -86
  240. package/components/filter-expression-picker/index.cjs +1 -1
  241. package/components/filter-expression-picker/index.js +1 -1
  242. package/components/filter-item/index.cjs +6 -6
  243. package/components/filter-item/index.js +109 -119
  244. package/components/filter-value-picker/index.cjs +2 -2
  245. package/components/filter-value-picker/index.js +34 -36
  246. package/components/filter-value-picker-datetime/index.cjs +8 -8
  247. package/components/filter-value-picker-datetime/index.js +56 -71
  248. package/components/filter-value-picker-hierarchy/index.cjs +12 -12
  249. package/components/filter-value-picker-hierarchy/index.js +113 -124
  250. package/components/filter-value-picker-numeric/index.cjs +8 -8
  251. package/components/filter-value-picker-numeric/index.js +101 -110
  252. package/components/{focusable-DCIFkpiW.js → focusable-BS2pbY7w.js} +24 -26
  253. package/components/focusable-QLh-LlNt.cjs +20 -0
  254. package/components/{funnel-chart-options.config-C_VjTOvD.js → funnel-chart-options.config-CrJy2U7_.js} +5 -20
  255. package/components/funnel-chart-options.config-DrP4AFgk.cjs +20 -0
  256. package/components/get-css-variable-COd1d84B.cjs +24 -0
  257. package/components/{get-css-variable-YlLiVgo8.js → get-css-variable-CdwF98oh.js} +35 -35
  258. package/components/grid/index.cjs +43 -49
  259. package/components/grid/index.js +2610 -1878
  260. package/components/heat-map-options.config-CIHnPdYE.cjs +20 -0
  261. package/components/{heat-map-options.config-BnLWe8jS.js → heat-map-options.config-CmL87j1j.js} +35 -41
  262. package/components/{heat-table-options.config-CUsDdgUr.js → heat-table-options.config-BrCYAgYD.js} +60 -88
  263. package/components/heat-table-options.config-DTlZRc_i.cjs +20 -0
  264. package/components/helpers-9I0oLoUB.cjs +20 -0
  265. package/components/helpers-bR8Ibjqh.js +79 -0
  266. package/components/{hexbin-map-options.config-F-7uCqxb.js → hexbin-map-options.config-BguV1w8q.js} +20 -38
  267. package/components/hexbin-map-options.config-CKnn3VAB.cjs +20 -0
  268. package/components/{index-BPNsFiyq.cjs → index-BNAmjOkm.cjs} +4 -4
  269. package/components/index-BekTY3Em.cjs +121 -0
  270. package/components/index-CFL6gmIu.cjs +20 -0
  271. package/components/{index-Do7O9azB.js → index-CqKpf0B8.js} +112 -123
  272. package/components/index-DNPULp4A.js +1755 -0
  273. package/components/{index-PMDgRSzR.js → index-DdyZ2g5L.js} +94 -104
  274. package/components/index-DvkzMbLt.cjs +249 -0
  275. package/components/{index-CdIUfo-L.js → index-haa7WNrl.js} +453 -481
  276. package/components/index.cjs +1 -1
  277. package/components/index.js +28 -26
  278. package/components/item-options-configs.cjs +1 -1
  279. package/components/item-options-configs.js +37 -37
  280. package/components/{line-chart-options.config-DB3IsXXr.js → line-chart-options.config-BhirTGqD.js} +13 -28
  281. package/components/line-chart-options.config-Cqwou5u6.cjs +20 -0
  282. package/components/{localize-r7ALOUy_.cjs → localize-C4zNlrwK.cjs} +1 -1
  283. package/components/{localize-BX7q0S0M.js → localize-CcDpq940.js} +10 -10
  284. package/components/{marker-map-options.config-DPJ955tt.js → marker-map-options.config-Bx17jmiq.js} +1 -1
  285. package/components/{marker-map-options.config-_FYZzRwA.cjs → marker-map-options.config-CvhCylSC.cjs} +1 -1
  286. package/components/{pivot-table-options.config-DNK_AIG7.js → pivot-table-options.config-CFc7y0IT.js} +15 -24
  287. package/components/pivot-table-options.config-uZDAertf.cjs +20 -0
  288. package/components/{pyramid-chart-options.config-CcVMatYx.js → pyramid-chart-options.config-2Waxb11l.js} +29 -43
  289. package/components/pyramid-chart-options.config-DoGfEvzU.cjs +20 -0
  290. package/components/{radar-chart-options.config-CUZn_3Fd.js → radar-chart-options.config-CPN5fOl8.js} +11 -23
  291. package/components/radar-chart-options.config-CtNUMN1l.cjs +20 -0
  292. package/components/{regular-table-options.config-BoLZsBry.js → regular-table-options.config-CFKCJQK1.js} +17 -23
  293. package/components/{regular-table-options.config-DTx3RTnS.cjs → regular-table-options.config-YRuoijIk.cjs} +1 -1
  294. package/components/route-map-options.config-CVTk5RVL.cjs +20 -0
  295. package/components/{route-map-options.config-CN86T7c0.js → route-map-options.config-CyolTJfK.js} +87 -109
  296. package/components/{sankey-diagram-options.config-RFB83YLZ.cjs → sankey-diagram-options.config-D7OSvSqm.cjs} +1 -1
  297. package/components/{sankey-diagram-options.config-tVLKy_Zn.js → sankey-diagram-options.config-Ldjk84ro.js} +7 -10
  298. package/components/scatter-plot-options.config-5gN7pMTm.cjs +20 -0
  299. package/components/{scatter-plot-options.config-Corlzno1.js → scatter-plot-options.config-CfxEfkQ1.js} +56 -86
  300. package/components/{search-filter-options.config-BE3JhR-F.js → search-filter-options.config-C0syQmP4.js} +3 -6
  301. package/components/{search-filter-options.config-BCaDlYqZ.cjs → search-filter-options.config-Oqco9BKj.cjs} +1 -1
  302. package/components/{set-locale-B-Tz2sdI.js → set-locale-hKTMz37h.js} +7 -9
  303. package/components/slicer-filter-options.config-CrusP6a0.cjs +20 -0
  304. package/components/{slicer-filter-options.config-3JZZcw5C.js → slicer-filter-options.config-DmOe3440.js} +9 -18
  305. package/components/{slider-filter-options.config-DH4SS8wH.js → slider-filter-options.config-B1M8RcDs.js} +1 -1
  306. package/components/{slider-filter-options.config-_8Z2zKmU.cjs → slider-filter-options.config-k45I-t6G.cjs} +1 -1
  307. package/components/slot-contents-picker/index.cjs +33 -33
  308. package/components/slot-contents-picker/index.js +194 -205
  309. package/components/slot-menu/index.cjs +12 -12
  310. package/components/slot-menu/index.d.ts +1 -0
  311. package/components/slot-menu/index.js +174 -192
  312. package/components/slot-menu/slot-menu.d.ts +7 -6
  313. package/components/slot-menu/types.d.ts +25 -0
  314. package/components/slot-menu-list/index.cjs +3 -3
  315. package/components/slot-menu-list/index.js +97 -103
  316. package/components/slot-menu-list/slot-menu-list.d.ts +2 -1
  317. package/components/speedometer-chart-options.config-B4ceg_qI.cjs +20 -0
  318. package/components/{speedometer-chart-options.config-SL581yOa.js → speedometer-chart-options.config-CzOmuEF8.js} +31 -53
  319. package/components/spike-map-options.config-BkkDqb4g.cjs +20 -0
  320. package/components/{spike-map-options.config-C5KewecZ.js → spike-map-options.config-Cbt1YUw6.js} +91 -122
  321. package/components/{sunburst-chart-options.config-AbNjWS6t.cjs → sunburst-chart-options.config-Yrxc2i57.cjs} +1 -1
  322. package/components/{sunburst-chart-options.config-CNauGQJv.js → sunburst-chart-options.config-_dyLQxPJ.js} +9 -20
  323. package/components/{symbol-map-options.config-DdDA4aa7.js → symbol-map-options.config-BORL1NSU.js} +11 -20
  324. package/components/symbol-map-options.config-NpBKm64d.cjs +20 -0
  325. package/components/{treemap-chart-options.config-D5AJaF_u.js → treemap-chart-options.config-B9i9qIm_.js} +20 -37
  326. package/components/treemap-chart-options.config-x4J54WSw.cjs +20 -0
  327. package/components/utils.cjs +1 -1
  328. package/components/utils.js +131 -65
  329. package/components/{video-options.config-CGsDTwHc.cjs → video-options.config-B0asgYt8.cjs} +1 -1
  330. package/components/{video-options.config-Dk36zJ1B.js → video-options.config-UX-9MDfS.js} +7 -10
  331. package/components/{wordcloud-chart-options.config-vGfCW8kE.cjs → wordcloud-chart-options.config-BKtJT8Va.cjs} +1 -1
  332. package/components/{wordcloud-chart-options.config-w2NUIWVA.js → wordcloud-chart-options.config-BoB_KuhA.js} +4 -7
  333. package/custom-elements.json +143 -126
  334. package/item-definitions/slicer-filter/slicer-filter-options.config.d.ts +1 -1
  335. package/package.json +3 -3
  336. package/types.d.ts +9 -3
  337. package/utils/data/load-draggable-items-for-datasets.d.ts +24 -0
  338. package/utils/data-broker/index.d.ts +69 -66
  339. package/utils/data-item-types/calculate-data-item-icon.d.ts +8 -2
  340. package/utils/data-item-types/tests/calculate-data-item-icon.test.d.ts +1 -0
  341. package/utils/index.d.ts +2 -0
  342. package/utils/transformations/convert-data-item-to-slot-content.d.ts +9 -0
  343. package/utils/transformations/convert-datasets-to-draggable-items.d.ts +17 -0
  344. package/utils/transformations/tests/convert-data-item-to-slot-content.test.d.ts +1 -0
  345. package/utils/transformations/tests/convert-datasets-to-draggable-items.test.d.ts +1 -0
  346. package/components/area-chart-options.config-C7sMAHco.cjs +0 -20
  347. package/components/bar-chart-options.config-DcxEkOT5.cjs +0 -20
  348. package/components/box-plot-options.config-SrrbDEYW.cjs +0 -20
  349. package/components/bubble-chart-options.config-Ihn6eVQI.cjs +0 -20
  350. package/components/calculate-data-item-icon-DZDqb3xu.js +0 -139
  351. package/components/choropleth-map-options.config-ZW8yoZH2.cjs +0 -20
  352. package/components/circular-gauge-options.config-msZ4mfpN.cjs +0 -20
  353. package/components/color-B6LaL8qz.cjs +0 -20
  354. package/components/color-range-utils-C5yXW7ZC.cjs +0 -20
  355. package/components/column-chart-options.config-BjDvA7i9.cjs +0 -20
  356. package/components/conditional-number-options.config-DgzUo0xi.cjs +0 -20
  357. package/components/donut-chart-options.config-tNpqBZfR.cjs +0 -20
  358. package/components/en-BKBhKBXY.cjs +0 -20
  359. package/components/en-BOTjhwEc.js +0 -1488
  360. package/components/focusable-B3E_hQmm.cjs +0 -20
  361. package/components/funnel-chart-options.config-D7H7gFcx.cjs +0 -20
  362. package/components/get-css-variable-DLiZYZEi.cjs +0 -24
  363. package/components/heat-map-options.config-DVH-Bb5-.cjs +0 -20
  364. package/components/heat-table-options.config-B12JEYnp.cjs +0 -20
  365. package/components/helpers-DXQwEH1P.cjs +0 -20
  366. package/components/helpers-v1bPALRP.js +0 -91
  367. package/components/hexbin-map-options.config-DZERRhM8.cjs +0 -20
  368. package/components/index-BPN3bG9X.js +0 -1733
  369. package/components/index-CQ9ck-BO.cjs +0 -249
  370. package/components/index-CXn67vdn.cjs +0 -121
  371. package/components/index-cfj52IbK.cjs +0 -20
  372. package/components/line-chart-options.config-DSugoe0t.cjs +0 -20
  373. package/components/pivot-table-options.config-BiJXKSFR.cjs +0 -20
  374. package/components/pyramid-chart-options.config-C4zbFS26.cjs +0 -20
  375. package/components/radar-chart-options.config-EqQu6PTh.cjs +0 -20
  376. package/components/route-map-options.config-D7NJePTu.cjs +0 -20
  377. package/components/scatter-plot-options.config-CFfGJXsV.cjs +0 -20
  378. package/components/slicer-filter-options.config-DNI-XevE.cjs +0 -20
  379. package/components/speedometer-chart-options.config-BX9LTQBH.cjs +0 -20
  380. package/components/spike-map-options.config-DoBFXPmN.cjs +0 -20
  381. package/components/symbol-map-options.config-m-lwLTtu.cjs +0 -20
  382. package/components/treemap-chart-options.config-C0Q9aQ1Z.cjs +0 -20
  383. package/utils/types/column.types.d.ts +0 -57
@@ -0,0 +1,20 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=[{key:"general",type:"group",open:!0,children:[{key:"mode",control:{type:"picker",default:"donut",enum:["donut","pie"]}},{key:"slices.half",control:{type:"picker",default:"full",enum:["full","half"],parseValue:e=>e?"half":"full",toValue:e=>e==="half"}},{type:"divider"},{key:"display.title",control:{type:"switch",label:"Title",default:!0}},{key:"display.legend",control:{type:"switch",label:"Legend",default:!0,calculateValue:({options:e})=>e?.display?.legend!==!1||e?.display?.categoryLabels===!0,toOptions:({options:e,value:t})=>({...e,display:{...e.display,legend:t,categoryLabels:!1}})}},{key:"display.categoryLabels",control:{type:"radio-button-group",enum:["list","labels"],parseValue:e=>e?"labels":"list",toOptions:({options:e,value:t})=>({...e,display:{...e.display,categoryLabels:t==="labels",legend:t!=="labels"}})},visibleIf:({options:e})=>e?.display?.legend!==!1||e?.display?.categoryLabels===!0}]},{key:"slices",type:"group",open:!0,children:[{key:"sort.by",control:{type:"picker",default:"measure",enum:["measure","category"]}},{key:"display.values",control:{type:"picker",default:"none",enum:["none","absolute","percentage"]}},{key:"slices.width",control:{type:"slider",default:.35,min:.05,max:.9,step:.01}},{key:"slices.maxNumber",control:{type:"number-field",default:12,min:0,max:50,step:1}},{key:"slices.minPercentage",control:{type:"number-field",default:3,min:0,max:100,step:1}},{key:"slices.roundedCorners",control:{type:"slider",default:8,min:0,max:24,step:1,extraLabel:({options:e,theme:t})=>{if(typeof t?.itemSpecific?.rounding=="number")return typeof e?.slices?.roundedCorners!="number"?"auto":"reset"},extraLabelHasClickAction:({options:e,theme:t})=>!(typeof t?.itemSpecific?.rounding!="number"||typeof e?.slices?.roundedCorners!="number"),extraLabelClickAction:({options:e})=>{const t={...e};return t?.slices?.roundedCorners!==void 0&&delete t.slices.roundedCorners,{value:null,options:t}}}},{key:"slices.padding",control:{type:"slider",default:5,min:0,max:20,step:1,extraLabel:({options:e,theme:t})=>{if(typeof t?.itemSpecific?.padding=="number")return typeof e?.slices?.padding!="number"?"auto":"reset"},extraLabelHasClickAction:({options:e,theme:t})=>!(typeof t?.itemSpecific?.padding!="number"||typeof e?.slices?.padding!="number"),extraLabelClickAction:({options:e})=>{const t={...e};return t?.slices?.padding!==void 0&&delete t.slices.padding,{value:null,options:t}}}}]}];exports.default=l;
@@ -1,26 +1,24 @@
1
1
  import { PropertyValues, TemplateResult } from 'lit';
2
2
  import { LuzmoElement } from '../../utils/base';
3
3
  import './../draggable-data-item-level';
4
+ import type { DraggableDataItemData } from './types';
4
5
  declare const LuzmoDraggableDataItem_base: typeof LuzmoElement & {
5
6
  new (...args: any[]): import("../../utils/base/sized-mixin").SizedElementInterface;
6
7
  prototype: import("../../utils/base/sized-mixin").SizedElementInterface;
7
8
  };
8
9
  /**
9
10
  * @element luzmo-draggable-data-item
10
- * @fires data-item-dropped - Announces that the draggable data item has been dropped
11
- * @fires data-item-drag-started - Announces that the drag is started on the data item
11
+ * @fires {CustomEvent<{data: DraggableDataItemData}>} data-item-dropped - Announces that the draggable data item has been dropped
12
+ * @fires {CustomEvent<{data: DraggableDataItemData}>} data-item-drag-started - Announces that the drag is started on the data item
12
13
  */
13
14
  export declare class LuzmoDraggableDataItem extends LuzmoDraggableDataItem_base {
14
15
  static styles: import("lit").CSSResult;
15
- variant?: 'highlight' | 'normal';
16
+ variant: 'highlight' | 'normal';
16
17
  language: string;
17
18
  disabled: boolean;
18
19
  hideSublevels: boolean;
19
20
  hideTypeIcon: boolean;
20
- secondaryIconType?: 'derived' | 'formula';
21
- label: string;
22
- description: string;
23
- data: any;
21
+ data: DraggableDataItemData;
24
22
  protected willUpdate(changedProperties: PropertyValues): void;
25
23
  private renderSublevels;
26
24
  protected render(): TemplateResult;
@@ -17,40 +17,34 @@
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("@lit/localize"),y=require("../periods.const-3jA-ECRf.cjs"),s=require("lit"),r=require("lit/decorators.js"),z=require("../focusable-B3E_hQmm.cjs"),D=require("../sized-mixin-DcvJLFeo.cjs"),m=require("../set-locale-BRRalqne.cjs");require("../draggable-data-item-level/index.cjs");const L=":host{--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1);--draggable-data-item-sublevels-gap: 0}:host([size=s]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1)}:host([size=l]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-2)}:host([size=xl]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-3)}:host{display:block}.draggable-data-item-sublevels{display:flex;flex-direction:column;gap:var(--luzmo-draggable-data-item-sublevels-gap, var(--draggable-data-item-sublevels-gap));margin:var(--luzmo-draggable-data-item-sublevels-margin-vertical, var(--draggable-data-item-sublevels-margin-vertical)) 0}:host{box-sizing:border-box}";var f=Object.defineProperty,$=Object.getOwnPropertyDescriptor,e=(n,a,i,o)=>{for(var t=o>1?void 0:o?$(a,i):a,g=n.length-1,d;g>=0;g--)(d=n[g])&&(t=(o?d(a,i,t):d(t))||t);return o&&t&&f(a,i,t),t};exports.LuzmoDraggableDataItem=class extends D.SizedMixin(z.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.language="en",this.data={}}willUpdate(a){a.has("language")&&this.language!==m.getLocale()&&([...m.targetLocales].includes(this.language??"en")||this.language==="en")&&m.setLocale(this.language)}renderSublevels(){var g,d,c,p;let a;const i=(g=this.data)==null?void 0:g.type,o=i==="datetime"||i==="array[datetime]",t=i==="hierarchy"||i==="array[hierarchy]";if(o)return a=((d=this.data)==null?void 0:d.subtype)==="date"?this.data.lowestLevel??5:this.data.lowestLevel??9,s.html`
21
- <div class="draggable-data-item-sublevels">
22
- ${Array.from({length:a},(b,l)=>{const u=y.DATETIME_LEVELS[l].i18n(),h={...this.data,level:l+1};return s.html`<luzmo-draggable-data-item-level
23
- sublevel
24
- .data=${h}
25
- .language=${this.language}
26
- .size=${this.size}
27
- .variant=${this.variant}
28
- .disabled=${this.disabled}
29
- .label=${u}
30
- ?hide-type-icon=${this.hideTypeIcon}
31
- ></luzmo-draggable-data-item-level>`})}
32
- </div>
33
- `;if(t&&((p=(c=this.data)==null?void 0:c.hierarchyLevels)==null?void 0:p.length)>2){const b=this.data.hierarchyLevels.filter(l=>(l==null?void 0:l.level)>=1).map(l=>{const u={...this.data,level:l.level,label:l.label};return s.html`<luzmo-draggable-data-item-level
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@lit/localize"),m=require("../periods.const-3jA-ECRf.cjs"),l=require("lit"),o=require("lit/decorators.js"),v=require("../focusable-QLh-LlNt.cjs"),b=require("../sized-mixin-DcvJLFeo.cjs"),n=require("../set-locale-BRRalqne.cjs");require("../draggable-data-item-level/index.cjs");const p=":host{--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1);--draggable-data-item-sublevels-gap: 0}:host([size=s]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1)}:host([size=l]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-2)}:host([size=xl]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-3)}:host{display:block}.draggable-data-item-sublevels{display:flex;flex-direction:column;gap:var(--luzmo-draggable-data-item-sublevels-gap, var(--draggable-data-item-sublevels-gap));margin:var(--luzmo-draggable-data-item-sublevels-margin-vertical, var(--draggable-data-item-sublevels-margin-vertical)) 0}:host{box-sizing:border-box}";var y=Object.defineProperty,z=Object.getOwnPropertyDescriptor,s=(d,e,r,g)=>{for(var a=g>1?void 0:g?z(e,r):e,t=d.length-1,i;t>=0;t--)(i=d[t])&&(a=(g?i(e,r,a):i(a))||a);return g&&a&&y(e,r,a),a};exports.LuzmoDraggableDataItem=class extends b.SizedMixin(v.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.variant="normal",this.language="en",this.data={}}willUpdate(e){if(e.has("language")){const r=[...n.targetLocales];this.language!==n.getLocale()&&(r.includes(this.language)||this.language==="en")&&n.setLocale(this.language)}}renderSublevels(){if(!this.data)return l.html``;const e=this.data?.type,r=e==="datetime"||e==="array[datetime]",g=e==="hierarchy"||e==="array[hierarchy]";if(r){const a=this.data.lowestLevel??9,t=Math.min(Math.max(a,1),m.DATETIME_LEVELS.length),i=Array.from({length:t},(L,u)=>{const h={...this.data,level:u+1,name:{[this.language]:m.DATETIME_LEVELS[u].i18n()}};return l.html`<luzmo-draggable-data-item-level
21
+ sublevel
22
+ .data=${h}
23
+ .language=${this.language}
24
+ .size=${this.size}
25
+ .variant=${this.variant}
26
+ .disabled=${this.disabled}
27
+ ?hide-type-icon=${this.hideTypeIcon}
28
+ ></luzmo-draggable-data-item-level>`});return l.html`
29
+ <div class="draggable-data-item-sublevels">${i}</div>
30
+ `}else if(g&&"hierarchyLevels"in this.data&&Array.isArray(this.data.hierarchyLevels)&&this.data.hierarchyLevels.length>2){const a=this.data.hierarchyLevels.filter(t=>t?.level>=1).map(t=>{const i={...this.data,level:t.level,name:t.name};return l.html`<luzmo-draggable-data-item-level
34
31
  sublevel
35
- .data=${u}
32
+ .data=${i}
36
33
  .language=${this.language}
37
34
  .size=${this.size}
38
35
  .variant=${this.variant}
39
36
  .disabled=${this.disabled}
40
37
  ?hide-type-icon=${this.hideTypeIcon}
41
- ></luzmo-draggable-data-item-level>`});return s.html`
42
- <div class="draggable-data-item-sublevels">${b}</div>
43
- `}return s.html``}render(){return s.html`
38
+ ></luzmo-draggable-data-item-level>`});return l.html`
39
+ <div class="draggable-data-item-sublevels">${a}</div>
40
+ `}return l.html``}render(){return this.data?l.html`
44
41
  <luzmo-draggable-data-item-level
45
42
  .data=${this.data}
46
43
  .language=${this.language}
47
44
  .size=${this.size}
48
45
  .variant=${this.variant}
49
46
  .disabled=${this.disabled}
50
- .label=${this.label}
51
- .description=${this.description}
52
- .secondaryIconType=${this.secondaryIconType}
53
47
  ?hide-type-icon=${this.hideTypeIcon}
54
48
  ></luzmo-draggable-data-item-level>
55
49
  ${this.hideSublevels?"":this.renderSublevels()}
56
- `}};exports.LuzmoDraggableDataItem.styles=s.unsafeCSS(L);e([r.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"variant",2);e([r.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"language",2);e([r.property({type:Boolean,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"disabled",2);e([r.property({type:Boolean,reflect:!0,attribute:"hide-sublevels"})],exports.LuzmoDraggableDataItem.prototype,"hideSublevels",2);e([r.property({type:Boolean,reflect:!0,attribute:"hide-type-icon"})],exports.LuzmoDraggableDataItem.prototype,"hideTypeIcon",2);e([r.property({type:String,reflect:!0,attribute:"secondary-icon-type"})],exports.LuzmoDraggableDataItem.prototype,"secondaryIconType",2);e([r.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"label",2);e([r.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"description",2);e([r.property({type:Object})],exports.LuzmoDraggableDataItem.prototype,"data",2);exports.LuzmoDraggableDataItem=e([v.localized()],exports.LuzmoDraggableDataItem);customElements.get("luzmo-draggable-data-item")||customElements.define("luzmo-draggable-data-item",exports.LuzmoDraggableDataItem);
50
+ `:l.html``}};exports.LuzmoDraggableDataItem.styles=l.unsafeCSS(p);s([o.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"variant",2);s([o.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"language",2);s([o.property({type:Boolean,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"disabled",2);s([o.property({type:Boolean,reflect:!0,attribute:"hide-sublevels"})],exports.LuzmoDraggableDataItem.prototype,"hideSublevels",2);s([o.property({type:Boolean,reflect:!0,attribute:"hide-type-icon"})],exports.LuzmoDraggableDataItem.prototype,"hideTypeIcon",2);s([o.property({type:Object})],exports.LuzmoDraggableDataItem.prototype,"data",2);exports.LuzmoDraggableDataItem=s([c.localized()],exports.LuzmoDraggableDataItem);customElements.get("luzmo-draggable-data-item")||customElements.define("luzmo-draggable-data-item",exports.LuzmoDraggableDataItem);
@@ -5,3 +5,4 @@ declare global {
5
5
  }
6
6
  }
7
7
  export { LuzmoDraggableDataItem } from './draggable-data-item';
8
+ export type { DraggableDataItemData } from './types';
@@ -17,69 +17,73 @@
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 { localized as p } from "@lit/localize";
21
- import { D as h } from "../periods.const-CjHXYn-w.js";
22
- import { html as d, unsafeCSS as f } from "lit";
23
- import { property as t } from "lit/decorators.js";
24
- import { L as v } from "../focusable-DCIFkpiW.js";
25
- import { S as y } from "../sized-mixin-cJbo3PKR.js";
26
- import { g as x, t as $, s as w } from "../set-locale-B-Tz2sdI.js";
20
+ import { localized as z } from "@lit/localize";
21
+ import { D as c } from "../periods.const-CjHXYn-w.js";
22
+ import { html as t, unsafeCSS as b } from "lit";
23
+ import { property as u } from "lit/decorators.js";
24
+ import { L as h } from "../focusable-BS2pbY7w.js";
25
+ import { S as p } from "../sized-mixin-cJbo3PKR.js";
26
+ import { t as f, g as v, s as y } from "../set-locale-hKTMz37h.js";
27
27
  import "../draggable-data-item-level/index.js";
28
28
  (function() {
29
29
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
30
- const e = document.createElement("style");
31
- e.setAttribute("data-luzmo-vars", ""), e.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(e);
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
32
  }
33
33
  })();
34
- const S = ":host{--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1);--draggable-data-item-sublevels-gap: 0}:host([size=s]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1)}:host([size=l]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-2)}:host([size=xl]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-3)}:host{display:block}.draggable-data-item-sublevels{display:flex;flex-direction:column;gap:var(--luzmo-draggable-data-item-sublevels-gap, var(--draggable-data-item-sublevels-gap));margin:var(--luzmo-draggable-data-item-sublevels-margin-vertical, var(--draggable-data-item-sublevels-margin-vertical)) 0}:host{box-sizing:border-box}";
35
- var L = Object.defineProperty, k = Object.getOwnPropertyDescriptor, r = (i, e, n, s) => {
36
- for (var l = s > 1 ? void 0 : s ? k(e, n) : e, u = i.length - 1, m; u >= 0; u--)
37
- (m = i[u]) && (l = (s ? m(e, n, l) : m(l)) || l);
38
- return s && l && L(e, n, l), l;
34
+ const x = ":host{--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1);--draggable-data-item-sublevels-gap: 0}:host([size=s]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1)}:host([size=l]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-2)}:host([size=xl]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-3)}:host{display:block}.draggable-data-item-sublevels{display:flex;flex-direction:column;gap:var(--luzmo-draggable-data-item-sublevels-gap, var(--draggable-data-item-sublevels-gap));margin:var(--luzmo-draggable-data-item-sublevels-margin-vertical, var(--draggable-data-item-sublevels-margin-vertical)) 0}:host{box-sizing:border-box}";
35
+ var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, s = (l, o, m, a) => {
36
+ for (var e = a > 1 ? void 0 : a ? $(o, m) : o, i = l.length - 1, n; i >= 0; i--)
37
+ (n = l[i]) && (e = (a ? n(o, m, e) : n(e)) || e);
38
+ return a && e && w(o, m, e), e;
39
39
  };
40
- let o = class extends y(v, {
40
+ let r = class extends p(h, {
41
41
  validSizes: ["s", "m", "l", "xl"],
42
42
  noDefaultSize: !0
43
43
  }) {
44
44
  constructor() {
45
- super(...arguments), this.language = "en", this.data = {};
45
+ super(...arguments), this.variant = "normal", this.language = "en", this.data = {};
46
46
  }
47
- willUpdate(i) {
48
- i.has("language") && this.language !== x() && ([...$].includes(this.language ?? "en") || this.language === "en") && w(this.language);
47
+ willUpdate(l) {
48
+ if (l.has("language")) {
49
+ const o = [...f];
50
+ this.language !== v() && (o.includes(this.language) || this.language === "en") && y(this.language);
51
+ }
49
52
  }
50
53
  renderSublevels() {
51
- var l, u, m, g;
52
- let i;
53
- const e = (l = this.data) == null ? void 0 : l.type, n = e === "datetime" || e === "array[datetime]", s = e === "hierarchy" || e === "array[hierarchy]";
54
- if (n)
55
- return i = ((u = this.data) == null ? void 0 : u.subtype) === "date" ? this.data.lowestLevel ?? 5 : this.data.lowestLevel ?? 9, d`
56
- <div class="draggable-data-item-sublevels">
57
- ${Array.from({ length: i }, (z, a) => {
58
- const c = h[a].i18n(), b = { ...this.data, level: a + 1 };
59
- return d`<luzmo-draggable-data-item-level
60
- sublevel
61
- .data=${b}
62
- .language=${this.language}
63
- .size=${this.size}
64
- .variant=${this.variant}
65
- .disabled=${this.disabled}
66
- .label=${c}
67
- ?hide-type-icon=${this.hideTypeIcon}
68
- ></luzmo-draggable-data-item-level>`;
69
- })}
70
- </div>
54
+ if (!this.data)
55
+ return t``;
56
+ const l = this.data?.type, o = l === "datetime" || l === "array[datetime]", m = l === "hierarchy" || l === "array[hierarchy]";
57
+ if (o) {
58
+ const a = this.data.lowestLevel ?? 9, e = Math.min(Math.max(a, 1), c.length), i = Array.from({ length: e }, (n, d) => {
59
+ const g = {
60
+ ...this.data,
61
+ level: d + 1,
62
+ name: { [this.language]: c[d].i18n() }
63
+ };
64
+ return t`<luzmo-draggable-data-item-level
65
+ sublevel
66
+ .data=${g}
67
+ .language=${this.language}
68
+ .size=${this.size}
69
+ .variant=${this.variant}
70
+ .disabled=${this.disabled}
71
+ ?hide-type-icon=${this.hideTypeIcon}
72
+ ></luzmo-draggable-data-item-level>`;
73
+ });
74
+ return t`
75
+ <div class="draggable-data-item-sublevels">${i}</div>
71
76
  `;
72
- if (s && ((g = (m = this.data) == null ? void 0 : m.hierarchyLevels) == null ? void 0 : g.length) > 2) {
73
- const z = this.data.hierarchyLevels.filter((a) => (a == null ? void 0 : a.level) >= 1).map((a) => {
74
- const c = {
77
+ } else if (m && "hierarchyLevels" in this.data && Array.isArray(this.data.hierarchyLevels) && this.data.hierarchyLevels.length > 2) {
78
+ const a = this.data.hierarchyLevels.filter((e) => e?.level >= 1).map((e) => {
79
+ const i = {
75
80
  ...this.data,
76
- level: a.level,
77
- // TODO: olegpetriienko | 09/25/2025 | Check if 'label' exists at all, and then update @luzmo/dashboard-contents-types
78
- label: a.label
81
+ level: e.level,
82
+ name: e.name
79
83
  };
80
- return d`<luzmo-draggable-data-item-level
84
+ return t`<luzmo-draggable-data-item-level
81
85
  sublevel
82
- .data=${c}
86
+ .data=${i}
83
87
  .language=${this.language}
84
88
  .size=${this.size}
85
89
  .variant=${this.variant}
@@ -87,61 +91,49 @@ let o = class extends y(v, {
87
91
  ?hide-type-icon=${this.hideTypeIcon}
88
92
  ></luzmo-draggable-data-item-level>`;
89
93
  });
90
- return d`
91
- <div class="draggable-data-item-sublevels">${z}</div>
94
+ return t`
95
+ <div class="draggable-data-item-sublevels">${a}</div>
92
96
  `;
93
97
  }
94
- return d``;
98
+ return t``;
95
99
  }
96
100
  render() {
97
- return d`
101
+ return this.data ? t`
98
102
  <luzmo-draggable-data-item-level
99
103
  .data=${this.data}
100
104
  .language=${this.language}
101
105
  .size=${this.size}
102
106
  .variant=${this.variant}
103
107
  .disabled=${this.disabled}
104
- .label=${this.label}
105
- .description=${this.description}
106
- .secondaryIconType=${this.secondaryIconType}
107
108
  ?hide-type-icon=${this.hideTypeIcon}
108
109
  ></luzmo-draggable-data-item-level>
109
110
  ${this.hideSublevels ? "" : this.renderSublevels()}
110
- `;
111
+ ` : t``;
111
112
  }
112
113
  };
113
- o.styles = f(S);
114
- r([
115
- t({ type: String, reflect: !0 })
116
- ], o.prototype, "variant", 2);
117
- r([
118
- t({ type: String, reflect: !0 })
119
- ], o.prototype, "language", 2);
120
- r([
121
- t({ type: Boolean, reflect: !0 })
122
- ], o.prototype, "disabled", 2);
123
- r([
124
- t({ type: Boolean, reflect: !0, attribute: "hide-sublevels" })
125
- ], o.prototype, "hideSublevels", 2);
126
- r([
127
- t({ type: Boolean, reflect: !0, attribute: "hide-type-icon" })
128
- ], o.prototype, "hideTypeIcon", 2);
129
- r([
130
- t({ type: String, reflect: !0, attribute: "secondary-icon-type" })
131
- ], o.prototype, "secondaryIconType", 2);
132
- r([
133
- t({ type: String, reflect: !0 })
134
- ], o.prototype, "label", 2);
135
- r([
136
- t({ type: String, reflect: !0 })
137
- ], o.prototype, "description", 2);
138
- r([
139
- t({ type: Object })
140
- ], o.prototype, "data", 2);
141
- o = r([
142
- p()
143
- ], o);
144
- customElements.get("luzmo-draggable-data-item") || customElements.define("luzmo-draggable-data-item", o);
114
+ r.styles = b(x);
115
+ s([
116
+ u({ type: String, reflect: !0 })
117
+ ], r.prototype, "variant", 2);
118
+ s([
119
+ u({ type: String, reflect: !0 })
120
+ ], r.prototype, "language", 2);
121
+ s([
122
+ u({ type: Boolean, reflect: !0 })
123
+ ], r.prototype, "disabled", 2);
124
+ s([
125
+ u({ type: Boolean, reflect: !0, attribute: "hide-sublevels" })
126
+ ], r.prototype, "hideSublevels", 2);
127
+ s([
128
+ u({ type: Boolean, reflect: !0, attribute: "hide-type-icon" })
129
+ ], r.prototype, "hideTypeIcon", 2);
130
+ s([
131
+ u({ type: Object })
132
+ ], r.prototype, "data", 2);
133
+ r = s([
134
+ z()
135
+ ], r);
136
+ customElements.get("luzmo-draggable-data-item") || customElements.define("luzmo-draggable-data-item", r);
145
137
  export {
146
- o as LuzmoDraggableDataItem
138
+ r as LuzmoDraggableDataItem
147
139
  };
@@ -0,0 +1,22 @@
1
+ import { Column, Currency, Formula, HierarchyLevel } from '@luzmo/dashboard-contents-types';
2
+ type ColumnItemData = {
3
+ type: Column['type'];
4
+ name: Column['name'];
5
+ datasetId: string;
6
+ formulaId?: never;
7
+ columnId: Column['id'];
8
+ level?: number;
9
+ hierarchyLevels?: Pick<HierarchyLevel, 'id' | 'level' | 'name'>[];
10
+ currency?: Pick<Currency, 'id' | 'name' | 'symbol'>;
11
+ } & Partial<Pick<Column, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'duration_levels' | 'duration_format' | 'expression'>>;
12
+ type FormulaItemData = {
13
+ type: Formula['type'];
14
+ name: Formula['name'];
15
+ datasetId: string;
16
+ formulaId: Formula['id'];
17
+ columnId?: never;
18
+ level?: number;
19
+ currency?: Pick<Currency, 'id' | 'name' | 'symbol'>;
20
+ } & Partial<Pick<Formula, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'duration_levels' | 'duration_format' | 'expression'>>;
21
+ export type DraggableDataItemData = ColumnItemData | FormulaItemData;
22
+ export {};
@@ -2,14 +2,15 @@ import '@luzmo/lucero/icon';
2
2
  import '@luzmo/lucero/tooltip';
3
3
  import { PropertyValues, TemplateResult } from 'lit';
4
4
  import { LuzmoElement } from '../../utils/base';
5
+ import type { DraggableDataItemData } from '../draggable-data-item/types';
5
6
  declare const LuzmoDraggableDataItemLevel_base: typeof LuzmoElement & {
6
7
  new (...args: any[]): import("../../utils/base/sized-mixin").SizedElementInterface;
7
8
  prototype: import("../../utils/base/sized-mixin").SizedElementInterface;
8
9
  };
9
10
  /**
10
11
  * @element luzmo-draggable-data-item-level
11
- * @fires data-item-dropped - Announces that the draggable data item has been dropped
12
- * @fires data-item-drag-started - Announces that the drag is started on the data item
12
+ * @fires {CustomEvent<{data: DraggableDataItemData}>} data-item-dropped - Announces that the draggable data item has been dropped
13
+ * @fires {CustomEvent<{data: DraggableDataItemData}>} data-item-drag-started - Announces that the drag is started on the data item
13
14
  */
14
15
  export declare class LuzmoDraggableDataItemLevel extends LuzmoDraggableDataItemLevel_base {
15
16
  static styles: import("lit").CSSResult;
@@ -18,10 +19,7 @@ export declare class LuzmoDraggableDataItemLevel extends LuzmoDraggableDataItemL
18
19
  sublevel?: boolean;
19
20
  language: string;
20
21
  disabled: boolean;
21
- label: string;
22
- description: string;
23
- secondaryIconType?: 'derived' | 'formula';
24
- data: any;
22
+ data: DraggableDataItemData;
25
23
  private _cleanupDraggable;
26
24
  private _isCurrentlyHighlighted;
27
25
  private _handleHighlight;
@@ -1 +1,9 @@
1
- export declare const generateDragPreview: (args: any) => HTMLDivElement;
1
+ interface GenerateDragPreviewArgs {
2
+ source: {
3
+ element: HTMLElement;
4
+ data: Record<string, unknown>;
5
+ };
6
+ nativeSetDragImage: ((image: Element, offsetX: number, offsetY: number) => void) | null;
7
+ }
8
+ export declare const generateDragPreview: (args: GenerateDragPreviewArgs) => HTMLDivElement;
9
+ export {};
@@ -17,24 +17,24 @@
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 D=require("../get-css-variable-DLiZYZEi.cjs"),u=require("@luzmo/icons");require("@luzmo/lucero/icon");require("@luzmo/lucero/tooltip");const I=require("lit"),s=require("lit/decorators.js"),T=require("../focusable-B3E_hQmm.cjs"),M=require("../sized-mixin-DcvJLFeo.cjs"),_=require("../calculate-data-item-icon-DjW1_RI1.cjs"),R=require("../localize-r7ALOUy_.cjs"),B=":host{font-family:var(--luzmo-draggable-data-item-level-font-family, var(--luzmo-font-family));color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color))}.draggable-data-item-level{transition:background-color var(--luzmo-animation-duration);background-color:var(--luzmo-draggable-data-item-level-background-color, var(--draggable-data-item-level-background-color));display:grid;grid-template-columns:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--draggable-data-item-level-drag-handle-width)) var(--luzmo-draggable-data-item-level-data-icon-width, var(--draggable-data-item-level-data-icon-width)) 1fr var(--luzmo-draggable-data-item-level-description-width, var(--draggable-data-item-level-description-width, auto));gap:var(--luzmo-draggable-data-item-level-gap, var(--draggable-data-item-level-gap));align-items:center;padding:0 var(--luzmo-draggable-data-item-level-horizontal-padding, var(--draggable-data-item-level-horizontal-padding));border-radius:var(--luzmo-draggable-data-item-level-border-radius, var(--draggable-data-item-level-border-radius));border-width:var(--luzmo-draggable-data-item-level-border-width, var(--draggable-data-item-level-border-width));border-style:var(--luzmo-draggable-data-item-level-border-style, var(--draggable-data-item-level-border-style));border-color:var(--luzmo-draggable-data-item-level-border-color, var(--draggable-data-item-level-border-color));height:var(--luzmo-draggable-data-item-level-height, var(--draggable-data-item-level-height));cursor:move}.draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-background-color-hover, var(--draggable-data-item-level-background-color-hover));color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover));border-color:var(--luzmo-draggable-data-item-level-border-color-hover, var(--draggable-data-item-level-border-color-hover))}.draggable-data-item-level:hover .data-description{color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover))}.draggable-data-item-level .data-label{font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.draggable-data-item-level .data-description{height:100%;display:flex;align-items:center;background-color:transparent;outline:none;border:none;color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color));font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size))}:host([sublevel]) .draggable-data-item-level{height:var(--luzmo-draggable-data-item-level-sublevel-height, var(--draggable-data-item-level-sublevel-height));background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color, var(--draggable-data-item-level-sublevel-background-color));border-color:var(--luzmo-draggable-data-item-level-sublevel-border-color, var(--draggable-data-item-level-sublevel-border-color));margin-inline-start:var(--luzmo-draggable-data-item-level-sublevel-margin-inline-start, var(--draggable-data-item-level-sublevel-margin-inline-start));grid-template-columns:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width)) 1fr}:host([sublevel]) .draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-hover, var(--draggable-data-item-level-sublevel-background-color-hover));color:var(--luzmo-draggable-data-item-level-sublevel-font-color-hover, var(--draggable-data-item-level-sublevel-font-color-hover))}:host([sublevel]) .draggable-data-item-level .drag-handle-icon{width:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--draggable-data-item-level-sublevel-drag-handle-width));text-align:center}:host(.highlighted) .draggable-data-item-level:not(:hover){background-color:var(--luzmo-draggable-data-item-level-background-color-highlighted, var(--draggable-data-item-level-background-color-highlighted));color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted));border-color:var(--luzmo-draggable-data-item-level-border-color-highlighted, var(--draggable-data-item-level-border-color-highlighted))}:host(.highlighted) .draggable-data-item-level:not(:hover) .data-description{color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted))}:host([disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-disabled, var(--draggable-data-item-level-background-color-disabled));color:var(--luzmo-draggable-data-item-level-color-disabled, var(--draggable-data-item-level-color-disabled));cursor:not-allowed}:host([disabled]) .drag-handle-icon{opacity:.25}:host([sublevel][disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-disabled, var(--draggable-data-item-level-sublevel-background-color-disabled))}:host(.pulse) .draggable-data-item-level{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color));animation:draggableDataItemPulse 1.5s infinite cubic-bezier(.66,.33,0,1)}:host(.focus) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-focus, var(--draggable-data-item-level-background-color-focus));color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus));border-color:var(--luzmo-draggable-data-item-level-border-color-focus, var(--draggable-data-item-level-border-color-focus))}:host(.focus) .draggable-data-item-level .data-description{color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus))}@keyframes draggableDataItemPulse{0%{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color))}to{box-shadow:0 0 0 .5rem transparent,0 0 0 .5rem transparent}}.drag-handle-icon{opacity:.6;font-size:var(--luzmo-draggable-data-item-level-drag-handle-size, var(--luzmo-draggable-data-item-level-drag-handle-size));width:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width));text-align:center;justify-self:center}.data-icon-type{width:var(--luzmo-draggable-data-item-level-data-icon-width, var(--luzmo-draggable-data-item-level-data-icon-width));text-align:center;position:relative;justify-self:center}.with-secondary-icon{clip-path:polygon(0 0,60% 0,65% 60%,100% 65%,100% 100%,0 100%)}.secondary-icon{position:absolute;bottom:45%;left:70%;width:auto;font-size:.75em;line-height:1}:host([variant=highlight]){--draggable-data-item-level-background-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-border-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-background-color-hover: var( --luzmo-background-color-highlight-hover );--draggable-data-item-level-font-color-hover: var(--luzmo-font-color-hover);--draggable-data-item-level-border-color-hover: var( --luzmo-background-color-highlight-hover )}:host{--draggable-data-item-level-height: var(--luzmo-component-height);--draggable-data-item-level-label-font-size: var(--luzmo-font-size);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-width: var(--luzmo-border-width);--draggable-data-item-level-border-style: solid;--draggable-data-item-level-border-color: var(--luzmo-border-color-hover);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-4);--draggable-data-item-level-font-color: var(--luzmo-font-color);--draggable-data-item-level-color-disabled: var(--luzmo-color-disabled);--draggable-data-item-level-background-color-disabled: var( --luzmo-background-color-disabled );--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-s);--luzmo-draggable-data-item-level-drag-handle-width: var( --draggable-data-item-level-icon-type-size );--luzmo-draggable-data-item-level-data-icon-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-3) );--luzmo-draggable-data-item-level-description-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-2) );--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-s);--draggable-data-item-level-sublevel-border-color: transparent;--draggable-data-item-level-sublevel-background-color: transparent;--draggable-data-item-level-sublevel-background-color-disabled: transparent;--draggable-data-item-level-sublevel-margin-inline-start: calc( var(--draggable-data-item-level-gap) + var(--luzmo-draggable-data-item-level-drag-handle-width) );--luzmo-draggable-data-item-level-sublevel-drag-handle-width: var( --luzmo-draggable-data-item-level-data-icon-width );--draggable-data-item-level-sublevel-background-color-hover: rgba( var(--luzmo-border-color-rgb), .05 )}:host([hide-type-icon]){--draggable-data-item-level-sublevel-margin-inline-start: var( --draggable-data-item-level-gap )}:host(.highlighted){--draggable-data-item-level-background-color-highlighted: var( --luzmo-primary );--draggable-data-item-level-font-color-highlighted: var( --luzmo-primary-inverse-color );--draggable-data-item-level-border-color-highlighted: var( --luzmo-border-color )}:host(.focus){--draggable-data-item-level-background-color-focus: var( --luzmo-background-color-focus, var(--luzmo-secondary) );--draggable-data-item-level-font-color-focus: var( --luzmo-font-color-focus, var(--luzmo-secondary-inverse-color) );--draggable-data-item-level-border-color-focus: var( --luzmo-border-color-focus, var(--luzmo-secondary) )}:host(.pulse){--draggable-data-item-level-pulse-color: var( --luzmo-secondary-outline, rgba(var(--luzmo-secondary-rgb), .4) )}:host([size=s]){--draggable-data-item-level-height: var(--luzmo-component-height-s);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-s);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-s);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-4);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-3);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-xs);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-xs)}:host([size=l]){--draggable-data-item-level-height: var(--luzmo-component-height-l);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-l);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-l);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-l);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size)}:host([size=xl]){--draggable-data-item-level-height: var(--luzmo-component-height-xl);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-xl);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-xl);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-xl);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-l);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-l)}:host{box-sizing:border-box}",F=a=>{var h,z,v,m,b,p,f,y,w,k,x,S,H,$,L,P,q;const r=a.source.element;let e="";(m=(v=(z=(h=a.source)==null?void 0:h.element)==null?void 0:z.renderRoot)==null?void 0:v.querySelector(".data-label"))!=null&&m.textContent&&(e=(f=(p=(b=a.source)==null?void 0:b.element)==null?void 0:p.renderRoot)==null?void 0:f.querySelector(".data-label").textContent),e||(e=R.localize((w=(y=a==null?void 0:a.source)==null?void 0:y.data)==null?void 0:w.label,(x=(k=a==null?void 0:a.source)==null?void 0:k.element)==null?void 0:x.language),e=e||"Untitled");const i=(H=(S=a==null?void 0:a.source)==null?void 0:S.data)==null?void 0:H.type,t=(L=($=a==null?void 0:a.source)==null?void 0:$.data)==null?void 0:L.subtype,o=_.calculateDataItemIcon({type:i,subtype:t},r.size),l={};[["borderColor","--luzmo-draggable-data-item-level-border-color","--draggable-data-item-level-border-color"],["backgroundColor","--luzmo-draggable-data-item-level-background-color","--draggable-data-item-level-background-color"],["color","--luzmo-draggable-data-item-level-font-color","--draggable-data-item-level-font-color"],["fontSize","--luzmo-draggable-data-item-level-label-font-size","--draggable-data-item-level-label-font-size"],["height","--luzmo-draggable-data-item-level-height","--draggable-data-item-level-height"],["borderRadius","--luzmo-draggable-data-item-level-border-radius","--draggable-data-item-level-border-radius"],["fontFamily","--luzmo-draggable-data-item-level-font-family","--luzmo-font-family"],["horizontalPadding","--luzmo-draggable-data-item-level-horizontal-padding","--draggable-data-item-level-horizontal-padding"],["gap","--luzmo-draggable-data-item-level-gap","--draggable-data-item-level-gap"]].forEach(([C,O,j])=>{const V=D.getCssVariableValue(r,O)||D.getCssVariableValue(r,j);l[C]=V});const n=document.createElement("div"),g=document.createElement("div");if(n.innerHTML=e,Object.assign(n.style,{maxWidth:"12rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),!((q=(P=a==null?void 0:a.source)==null?void 0:P.element)!=null&&q.sublevel)){const C=document.createElement("luzmo-icon");C.icon=o,g.append(C)}return g.append(n),Object.assign(g.style,{display:"flex",alignItems:"center",maxWidth:"12rem",lineHeight:"1",height:l.height,border:`1px solid ${l.borderColor}`,backgroundColor:l.backgroundColor,borderRadius:l.borderRadius,fontFamily:l.fontFamily,fontSize:l.fontSize,color:l.color,padding:`0 ${l.horizontalPadding}`,gap:l.gap}),g};var U=Object.defineProperty,c=(a,r,e,i)=>{for(var t=void 0,o=a.length-1,l;o>=0;o--)(l=a[o])&&(t=l(r,e,t)||t);return t&&U(r,e,t),t};const E=class E extends M.SizedMixin(T.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.language="en",this.data={},this._isCurrentlyHighlighted=!1,this._handleHighlight=r=>{var m,b,p,f,y,w;const e=r.detail??{},{columnId:i,level:t,formulaId:o}=e,l=((m=this.data)==null?void 0:m.columnId)??((b=this.data)==null?void 0:b.column)??((p=this.data)==null?void 0:p.formulaId)??((f=this.data)==null?void 0:f.formula)??((y=this.data)==null?void 0:y.id),n=((w=this.data)==null?void 0:w.level)??0,g=t??0,h=(l===i||l===o)&&n===g,z=(l===i||l===o)&&n===0&&g>0,v=h||z;if(this.classList.toggle("highlighted",v),v&&!this._isCurrentlyHighlighted){this._isCurrentlyHighlighted=!0;const k=this.getBoundingClientRect(),x=window.innerHeight||document.documentElement.clientHeight;if(k.top<0||k.bottom>x)try{this.scrollIntoView({block:"center"})}catch{this.scrollIntoView(!0)}}else!v&&this._isCurrentlyHighlighted&&(this._isCurrentlyHighlighted=!1)},this._clearHighlight=()=>{this.classList.remove("highlighted"),this._isCurrentlyHighlighted=!1},this.dataItemLevelDropped=r=>{this.dispatchEvent(new CustomEvent("data-item-dropped",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:r}}))},this.dataItemLevelDragStarted=()=>{this.dispatchEvent(new CustomEvent("data-item-drag-started",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:this.data}}))}}disconnectedCallback(){super.disconnectedCallback(),this._cleanupDraggable&&(this._cleanupDraggable(),this._cleanupDraggable=void 0),window.removeEventListener("slot-menu-highlight",this._handleHighlight),window.removeEventListener("slot-menu-inactive",this._clearHighlight)}connectedCallback(){super.connectedCallback(),window.addEventListener("slot-menu-highlight",this._handleHighlight),window.addEventListener("slot-menu-inactive",this._clearHighlight)}firstUpdated(r){this._cleanupDraggable=D.draggable({element:this,canDrag:()=>!this.disabled,onDragStart:()=>{this.style.opacity="0.5",this.dataItemLevelDragStarted()},onDrop:()=>{this.style.opacity="1",this.dataItemLevelDropped(this.data)},getInitialData:()=>{const e={...this.data};return this.label&&this.language&&!this.sublevel&&(e.label={},e.label[this.language]=this.label),this.description&&this.language&&(e.description={},e.description[this.language]=this.description),e},onGenerateDragPreview:e=>{const i=e.nativeSetDragImage;D.setCustomNativeDragPreview({render({container:t}){const o=F(e);t.append(o)},nativeSetDragImage:i})}})}render(){var t,o,l,n,g,h,z,v,m,b;const r=this.label??((o=(t=this.data)==null?void 0:t.label)==null?void 0:o[this.language])??((g=(l=this.data)==null?void 0:l.label)==null?void 0:g[Object.keys((n=this.data)==null?void 0:n.label)[0]])??"Untitled",e=this.description??((z=(h=this.data)==null?void 0:h.description)==null?void 0:z[this.language])??((b=(v=this.data)==null?void 0:v.description)==null?void 0:b[Object.keys((m=this.data)==null?void 0:m.description)[0]]),i=this.secondaryIconType?_.calculateDataItemSecondaryIcon(this.secondaryIconType,this.size):void 0;return I.html`
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("../get-css-variable-COd1d84B.cjs"),n=require("@luzmo/icons");require("@luzmo/lucero/icon");require("@luzmo/lucero/tooltip");const v=require("lit"),m=require("lit/decorators.js"),I=require("../focusable-QLh-LlNt.cjs"),x=require("../sized-mixin-DcvJLFeo.cjs"),y=require("../calculate-data-item-icon-DtVGbet3.cjs"),C=require("../localize-C4zNlrwK.cjs"),D=":host{font-family:var(--luzmo-draggable-data-item-level-font-family, var(--luzmo-font-family));color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color))}.draggable-data-item-level{transition:background-color var(--luzmo-animation-duration);background-color:var(--luzmo-draggable-data-item-level-background-color, var(--draggable-data-item-level-background-color));display:grid;grid-template-columns:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--draggable-data-item-level-drag-handle-width)) var(--luzmo-draggable-data-item-level-data-icon-width, var(--draggable-data-item-level-data-icon-width)) 1fr var(--luzmo-draggable-data-item-level-description-width, var(--draggable-data-item-level-description-width, auto));gap:var(--luzmo-draggable-data-item-level-gap, var(--draggable-data-item-level-gap));align-items:center;padding:0 var(--luzmo-draggable-data-item-level-horizontal-padding, var(--draggable-data-item-level-horizontal-padding));border-radius:var(--luzmo-draggable-data-item-level-border-radius, var(--draggable-data-item-level-border-radius));border-width:var(--luzmo-draggable-data-item-level-border-width, var(--draggable-data-item-level-border-width));border-style:var(--luzmo-draggable-data-item-level-border-style, var(--draggable-data-item-level-border-style));border-color:var(--luzmo-draggable-data-item-level-border-color, var(--draggable-data-item-level-border-color))}.draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-background-color-hover, var(--draggable-data-item-level-background-color-hover));color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover));border-color:var(--luzmo-draggable-data-item-level-border-color-hover, var(--draggable-data-item-level-border-color-hover))}.draggable-data-item-level:hover .data-description{color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover))}.draggable-data-item-level .data-label{font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.draggable-data-item-level .data-description{height:100%;display:flex;align-items:center;background-color:transparent;outline:none;border:none;color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color));font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size))}.draggable-data-item-level{height:var(--luzmo-draggable-data-item-level-height, var(--draggable-data-item-level-height));cursor:move}:host([sublevel]) .draggable-data-item-level{height:var(--luzmo-draggable-data-item-level-sublevel-height, var(--draggable-data-item-level-sublevel-height));background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color, var(--draggable-data-item-level-sublevel-background-color));border-color:var(--luzmo-draggable-data-item-level-sublevel-border-color, var(--draggable-data-item-level-sublevel-border-color));margin-inline-start:var(--luzmo-draggable-data-item-level-sublevel-margin-inline-start, var(--draggable-data-item-level-sublevel-margin-inline-start));grid-template-columns:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width)) 1fr}:host([sublevel]) .draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-hover, var(--draggable-data-item-level-sublevel-background-color-hover));color:var(--luzmo-draggable-data-item-level-sublevel-font-color-hover, var(--draggable-data-item-level-sublevel-font-color-hover))}:host([sublevel]) .draggable-data-item-level .drag-handle-icon{width:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--draggable-data-item-level-sublevel-drag-handle-width));text-align:center}:host(.highlighted) .draggable-data-item-level:not(:hover){background-color:var(--luzmo-draggable-data-item-level-background-color-highlighted, var(--draggable-data-item-level-background-color-highlighted));color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted));border-color:var(--luzmo-draggable-data-item-level-border-color-highlighted, var(--draggable-data-item-level-border-color-highlighted))}:host(.highlighted) .draggable-data-item-level:not(:hover) .data-description{color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted))}:host([disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-disabled, var(--draggable-data-item-level-background-color-disabled));color:var(--luzmo-draggable-data-item-level-color-disabled, var(--draggable-data-item-level-color-disabled));cursor:not-allowed}:host([disabled]) .drag-handle-icon{opacity:.25}:host([sublevel][disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-disabled, var(--draggable-data-item-level-sublevel-background-color-disabled))}:host(.pulse) .draggable-data-item-level{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color));animation:draggableDataItemPulse 1.5s infinite cubic-bezier(.66,.33,0,1)}:host(.focus) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-focus, var(--draggable-data-item-level-background-color-focus));color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus));border-color:var(--luzmo-draggable-data-item-level-border-color-focus, var(--draggable-data-item-level-border-color-focus))}:host(.focus) .draggable-data-item-level .data-description{color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus))}@keyframes draggableDataItemPulse{0%{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color))}to{box-shadow:0 0 0 .5rem transparent,0 0 0 .5rem transparent}}.drag-handle-icon{opacity:.6;font-size:var(--luzmo-draggable-data-item-level-drag-handle-size, var(--luzmo-draggable-data-item-level-drag-handle-size));width:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width));text-align:center;justify-self:center}.data-icon-type{width:var(--luzmo-draggable-data-item-level-data-icon-width, var(--luzmo-draggable-data-item-level-data-icon-width));text-align:center;position:relative;justify-self:center}.with-secondary-icon{clip-path:polygon(0 0,60% 0,65% 60%,100% 65%,100% 100%,0 100%)}.secondary-icon{position:absolute;bottom:45%;left:70%;width:auto;font-size:.75em;line-height:1}:host([variant=highlight]){--draggable-data-item-level-background-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-border-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-background-color-hover: var( --luzmo-background-color-highlight-hover );--draggable-data-item-level-font-color-hover: var(--luzmo-font-color-hover);--draggable-data-item-level-border-color-hover: var( --luzmo-background-color-highlight-hover )}:host{--draggable-data-item-level-height: var(--luzmo-component-height);--draggable-data-item-level-label-font-size: var(--luzmo-font-size);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-width: var(--luzmo-border-width);--draggable-data-item-level-border-style: solid;--draggable-data-item-level-border-color: var(--luzmo-border-color-hover);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-4);--draggable-data-item-level-font-color: var(--luzmo-font-color);--draggable-data-item-level-color-disabled: var(--luzmo-color-disabled);--draggable-data-item-level-background-color-disabled: var( --luzmo-background-color-disabled );--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-s);--luzmo-draggable-data-item-level-drag-handle-width: var( --draggable-data-item-level-icon-type-size );--luzmo-draggable-data-item-level-data-icon-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-3) );--luzmo-draggable-data-item-level-description-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-2) );--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-s);--draggable-data-item-level-sublevel-border-color: transparent;--draggable-data-item-level-sublevel-background-color: transparent;--draggable-data-item-level-sublevel-background-color-disabled: transparent;--draggable-data-item-level-sublevel-margin-inline-start: calc( var(--draggable-data-item-level-gap) + var(--luzmo-draggable-data-item-level-drag-handle-width) );--luzmo-draggable-data-item-level-sublevel-drag-handle-width: var( --luzmo-draggable-data-item-level-data-icon-width );--draggable-data-item-level-sublevel-background-color-hover: rgba( var(--luzmo-border-color-rgb), .05 )}:host([hide-type-icon]){--draggable-data-item-level-sublevel-margin-inline-start: var( --draggable-data-item-level-gap )}:host(.highlighted){--draggable-data-item-level-background-color-highlighted: var( --luzmo-primary );--draggable-data-item-level-font-color-highlighted: var( --luzmo-primary-inverse-color );--draggable-data-item-level-border-color-highlighted: var( --luzmo-border-color )}:host(.focus){--draggable-data-item-level-background-color-focus: var( --luzmo-background-color-focus, var(--luzmo-secondary) );--draggable-data-item-level-font-color-focus: var( --luzmo-font-color-focus, var(--luzmo-secondary-inverse-color) );--draggable-data-item-level-border-color-focus: var( --luzmo-border-color-focus, var(--luzmo-secondary) )}:host(.pulse){--draggable-data-item-level-pulse-color: var( --luzmo-secondary-outline, rgba(var(--luzmo-secondary-rgb), .4) )}:host([size=s]){--draggable-data-item-level-height: var(--luzmo-component-height-s);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-s);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-s);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-4);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-3);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-xs);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-xs)}:host([size=l]){--draggable-data-item-level-height: var(--luzmo-component-height-l);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-l);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-l);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-l);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size)}:host([size=xl]){--draggable-data-item-level-height: var(--luzmo-component-height-xl);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-xl);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-xl);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-xl);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-l);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-l)}:host{box-sizing:border-box}",_=b=>{const e=b.source.element,a=b.source.data,r=e.renderRoot?.querySelector(".data-label")?.textContent||C.localize(a.name,e.language)||"Untitled",t=a.type,o=a.subtype,i=y.calculateDataItemIcon({type:t,subtype:o},e.size),l={};[["borderColor","--luzmo-draggable-data-item-level-border-color","--draggable-data-item-level-border-color"],["backgroundColor","--luzmo-draggable-data-item-level-background-color","--draggable-data-item-level-background-color"],["color","--luzmo-draggable-data-item-level-font-color","--draggable-data-item-level-font-color"],["fontSize","--luzmo-draggable-data-item-level-label-font-size","--draggable-data-item-level-label-font-size"],["height","--luzmo-draggable-data-item-level-height","--draggable-data-item-level-height"],["borderRadius","--luzmo-draggable-data-item-level-border-radius","--draggable-data-item-level-border-radius"],["fontFamily","--luzmo-draggable-data-item-level-font-family","--luzmo-font-family"],["horizontalPadding","--luzmo-draggable-data-item-level-horizontal-padding","--draggable-data-item-level-horizontal-padding"],["gap","--luzmo-draggable-data-item-level-gap","--draggable-data-item-level-gap"]].forEach(([g,h,f])=>{const k=z.getCssVariableValue(e,h)||z.getCssVariableValue(e,f);l[g]=k});const u=document.createElement("div"),s=document.createElement("div");if(u.innerHTML=r,Object.assign(u.style,{maxWidth:"12rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),!e.sublevel){const g=document.createElement("luzmo-icon");g.icon=i,s.append(g)}return s.append(u),Object.assign(s.style,{display:"flex",alignItems:"center",maxWidth:"12rem",lineHeight:"1",height:l.height,border:`1px solid ${l.borderColor}`,backgroundColor:l.backgroundColor,borderRadius:l.borderRadius,fontFamily:l.fontFamily,fontSize:l.fontSize,color:l.color,padding:`0 ${l.horizontalPadding}`,gap:l.gap}),s};var S=Object.defineProperty,c=(b,e,a,r)=>{for(var t=void 0,o=b.length-1,i;o>=0;o--)(i=b[o])&&(t=i(e,a,t)||t);return t&&S(e,a,t),t};const w=class w extends x.SizedMixin(I.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.language="en",this.data={},this._isCurrentlyHighlighted=!1,this._handleHighlight=e=>{const a=e.detail??{},{columnId:r,level:t,formulaId:o}=a,i=this.data?.columnId??this.data?.column??this.data?.formulaId??this.data?.formula??this.data?.id,l=this.data?.level??0,p=t??0,u=(i===r||i===o)&&l===p,s=(i===r||i===o)&&l===0&&p>0,g=u||s;if(this.classList.toggle("highlighted",g),g&&!this._isCurrentlyHighlighted){this._isCurrentlyHighlighted=!0;const h=this.getBoundingClientRect(),f=window.innerHeight||document.documentElement.clientHeight;if(h.top<0||h.bottom>f)try{this.scrollIntoView({block:"center"})}catch{this.scrollIntoView(!0)}}else!g&&this._isCurrentlyHighlighted&&(this._isCurrentlyHighlighted=!1)},this._clearHighlight=()=>{this.classList.remove("highlighted"),this._isCurrentlyHighlighted=!1},this.dataItemLevelDropped=e=>{this.dispatchEvent(new CustomEvent("data-item-dropped",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:e}}))},this.dataItemLevelDragStarted=e=>{this.dispatchEvent(new CustomEvent("data-item-drag-started",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:e}}))}}disconnectedCallback(){super.disconnectedCallback(),this._cleanupDraggable&&(this._cleanupDraggable(),this._cleanupDraggable=void 0),window.removeEventListener("slot-menu-highlight",this._handleHighlight),window.removeEventListener("slot-menu-inactive",this._clearHighlight)}connectedCallback(){super.connectedCallback(),window.addEventListener("slot-menu-highlight",this._handleHighlight),window.addEventListener("slot-menu-inactive",this._clearHighlight)}firstUpdated(e){this._cleanupDraggable=z.draggable({element:this,canDrag:()=>!this.disabled,onDragStart:()=>{this.style.opacity="0.5",this.dataItemLevelDragStarted(this.data)},onDrop:()=>{this.style.opacity="1",this.dataItemLevelDropped(this.data)},getInitialData:()=>({...this.data}),onGenerateDragPreview:a=>{const r=a.nativeSetDragImage;z.setCustomNativeDragPreview({render({container:t}){const o=_(a);t.append(o)},nativeSetDragImage:r})}})}render(){if(!this.data)return v.html`<div class="draggable-data-item-level" tabindex="0"></div>`;const e=this.data.name?.[this.language]??this.data.name?.[Object.keys(this.data.name)[0]]??"Untitled",a=this.data.description?.[this.language]??this.data.description?.[Object.keys(this.data.description)[0]],r=y.calculateDataItemSecondaryIcon(this.data,this.size);return v.html`
21
21
  <div class="draggable-data-item-level" tabindex="0">
22
22
  <div class="drag-handle-icon">
23
- ${this.sublevel?u.luzmoIcon(u.luzmoDragLines):u.luzmoIcon(u.luzmoArrows)}
23
+ ${this.sublevel?n.luzmoIcon(n.luzmoDragLines):n.luzmoIcon(n.luzmoArrows)}
24
24
  </div>
25
- ${this.sublevel||this.hideTypeIcon?"":I.html`<div class="data-icon-type">
26
- <div class=${this.secondaryIconType?"with-secondary-icon":""}>
27
- ${u.luzmoIcon(_.calculateDataItemIcon(this.data,this.size))}
25
+ ${this.sublevel||this.hideTypeIcon?"":v.html`<div class="data-icon-type">
26
+ <div class=${r?"with-secondary-icon":""}>
27
+ ${n.luzmoIcon(y.calculateDataItemIcon(this.data,this.size))}
28
28
  </div>
29
- ${i?I.html`<div class="secondary-icon">
30
- ${u.luzmoIcon(i)}
29
+ ${r?v.html`<div class="secondary-icon">
30
+ ${n.luzmoIcon(r)}
31
31
  </div>`:""}
32
32
  </div>`}
33
- <div class="data-label">${r}</div>
34
- ${!this.sublevel&&e?I.html`<button class="data-description">
35
- ${u.luzmoIcon(u.luzmoInfoCircleOutline)}
33
+ <div class="data-label">${e}</div>
34
+ ${!this.sublevel&&a?v.html`<button class="data-description">
35
+ ${n.luzmoIcon(n.luzmoInfoCircleOutline)}
36
36
  <luzmo-tooltip self-managed placement="top" size=${this.size}>
37
- ${e}
37
+ ${a}
38
38
  </luzmo-tooltip>
39
39
  </button>`:""}
40
40
  <luzmo-tooltip
@@ -44,7 +44,7 @@
44
44
  show-only-if-truncated
45
45
  truncated-element-selector=".data-label"
46
46
  >
47
- ${r}
47
+ ${e}
48
48
  </luzmo-tooltip>
49
49
  </div>
50
- `}};E.styles=I.unsafeCSS(B);let d=E;c([s.property({type:String,reflect:!0})],d.prototype,"variant");c([s.property({type:Boolean,reflect:!0,attribute:"hide-type-icon"})],d.prototype,"hideTypeIcon");c([s.property({type:Boolean,reflect:!0})],d.prototype,"sublevel");c([s.property({type:String,reflect:!0})],d.prototype,"language");c([s.property({type:Boolean,reflect:!0})],d.prototype,"disabled");c([s.property({type:String,reflect:!0})],d.prototype,"label");c([s.property({type:String,reflect:!0})],d.prototype,"description");c([s.property({type:String,reflect:!0,attribute:"secondary-icon-type"})],d.prototype,"secondaryIconType");c([s.property({type:Object})],d.prototype,"data");customElements.get("luzmo-draggable-data-item-level")||customElements.define("luzmo-draggable-data-item-level",d);exports.LuzmoDraggableDataItemLevel=d;
50
+ `}};w.styles=v.unsafeCSS(D);let d=w;c([m.property({type:String,reflect:!0})],d.prototype,"variant");c([m.property({type:Boolean,reflect:!0,attribute:"hide-type-icon"})],d.prototype,"hideTypeIcon");c([m.property({type:Boolean,reflect:!0})],d.prototype,"sublevel");c([m.property({type:String,reflect:!0})],d.prototype,"language");c([m.property({type:Boolean,reflect:!0})],d.prototype,"disabled");c([m.property({type:Object})],d.prototype,"data");customElements.get("luzmo-draggable-data-item-level")||customElements.define("luzmo-draggable-data-item-level",d);exports.LuzmoDraggableDataItemLevel=d;