@luzmo/analytics-components-kit 1.0.1-alpha.87 → 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 (203) 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/calculate-data-item-icon-DMDhKq_m.js +147 -0
  125. package/components/{calculate-data-item-icon-CX4VW9Km.cjs → calculate-data-item-icon-DtVGbet3.cjs} +1 -1
  126. package/components/dataset-selector-list/index.cjs +1 -1
  127. package/components/dataset-selector-list/index.js +1 -1
  128. package/components/display-settings/display-settings.d.ts +4 -2
  129. package/components/display-settings/index.cjs +1 -1
  130. package/components/display-settings/index.js +1 -1
  131. package/components/display-settings-binning/display-settings-binning.d.ts +2 -1
  132. package/components/display-settings-datetime/display-settings-datetime.d.ts +2 -1
  133. package/components/display-settings-datetime/index.cjs +1 -1
  134. package/components/display-settings-datetime/index.js +4 -4
  135. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +2 -1
  136. package/components/display-settings-numeric/display-settings-numeric.d.ts +2 -1
  137. package/components/display-settings-numeric/index.cjs +10 -10
  138. package/components/display-settings-numeric/index.js +5 -5
  139. package/components/draggable-data-item/draggable-data-item.d.ts +5 -7
  140. package/components/draggable-data-item/index.cjs +16 -22
  141. package/components/draggable-data-item/index.d.ts +1 -0
  142. package/components/draggable-data-item/index.js +78 -85
  143. package/components/draggable-data-item/types.d.ts +22 -0
  144. package/components/draggable-data-item-level/draggable-data-item-level.d.ts +4 -6
  145. package/components/draggable-data-item-level/helpers/generate-preview.d.ts +9 -1
  146. package/components/draggable-data-item-level/index.cjs +13 -13
  147. package/components/draggable-data-item-level/index.js +84 -102
  148. package/components/draggable-data-item-level/types.d.ts +12 -0
  149. package/components/droppable-slot/droppable-slot.d.ts +4 -2
  150. package/components/droppable-slot/index.cjs +13 -13
  151. package/components/droppable-slot/index.d.ts +1 -0
  152. package/components/droppable-slot/index.js +198 -199
  153. package/components/droppable-slot/types.d.ts +9 -0
  154. package/components/{en-CtCctD2c.js → en-D3ihEGXg.js} +67 -67
  155. package/components/{en--a5SfjnM.cjs → en-DZcn_iz_.cjs} +1 -1
  156. package/components/{en-GB-CXVKFWyH.cjs → en-GB-TqvgIw9B.cjs} +1 -1
  157. package/components/{en-GB-CbNfyZMo.js → en-GB-ialeqj_z.js} +1 -1
  158. package/components/filter-data-item-picker/index.cjs +1 -1
  159. package/components/filter-data-item-picker/index.js +1 -1
  160. package/components/filter-item/index.cjs +1 -1
  161. package/components/filter-item/index.js +8 -8
  162. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  163. package/components/filter-value-picker-hierarchy/index.js +1 -1
  164. package/components/filter-value-picker-numeric/index.cjs +1 -1
  165. package/components/filter-value-picker-numeric/index.js +1 -1
  166. package/components/{get-css-variable-CuDaWSjr.cjs → get-css-variable-COd1d84B.cjs} +3 -3
  167. package/components/{get-css-variable-DEf4GhTH.js → get-css-variable-CdwF98oh.js} +31 -31
  168. package/components/grid/index.cjs +1 -7
  169. package/components/grid/index.js +0 -7
  170. package/components/{index-BUal0r_D.cjs → index-BekTY3Em.cjs} +1 -1
  171. package/components/index-CFL6gmIu.cjs +20 -0
  172. package/components/{index-3WsfvkZF.js → index-CqKpf0B8.js} +1 -1
  173. package/components/{index-BGb_wRRW.js → index-DNPULp4A.js} +177 -188
  174. package/components/index.cjs +1 -1
  175. package/components/index.js +26 -24
  176. package/components/slot-contents-picker/index.cjs +1 -1
  177. package/components/slot-contents-picker/index.js +2 -2
  178. package/components/slot-menu/index.cjs +1 -1
  179. package/components/slot-menu/index.d.ts +1 -0
  180. package/components/slot-menu/index.js +64 -69
  181. package/components/slot-menu/slot-menu.d.ts +7 -6
  182. package/components/slot-menu/types.d.ts +25 -0
  183. package/components/slot-menu-list/index.cjs +1 -1
  184. package/components/slot-menu-list/index.js +2 -2
  185. package/components/slot-menu-list/slot-menu-list.d.ts +2 -1
  186. package/components/utils.cjs +1 -1
  187. package/components/utils.js +129 -62
  188. package/custom-elements.json +123 -126
  189. package/item-definitions/slicer-filter/slicer-filter-options.config.d.ts +1 -1
  190. package/package.json +1 -1
  191. package/types.d.ts +9 -3
  192. package/utils/data/load-draggable-items-for-datasets.d.ts +24 -0
  193. package/utils/data-broker/index.d.ts +69 -66
  194. package/utils/data-item-types/calculate-data-item-icon.d.ts +8 -2
  195. package/utils/data-item-types/tests/calculate-data-item-icon.test.d.ts +1 -0
  196. package/utils/index.d.ts +2 -0
  197. package/utils/transformations/convert-data-item-to-slot-content.d.ts +9 -0
  198. package/utils/transformations/convert-datasets-to-draggable-items.d.ts +17 -0
  199. package/utils/transformations/tests/convert-data-item-to-slot-content.test.d.ts +1 -0
  200. package/utils/transformations/tests/convert-datasets-to-draggable-items.test.d.ts +1 -0
  201. package/components/calculate-data-item-icon-C8CbsMQf.js +0 -139
  202. package/components/index-D1Y5TRsH.cjs +0 -20
  203. package/utils/types/column.types.d.ts +0 -57
@@ -17,68 +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 c } from "@lit/localize";
21
- import { D as g } from "../periods.const-CjHXYn-w.js";
22
- import { html as m, unsafeCSS as z } from "lit";
23
- import { property as t } from "lit/decorators.js";
24
- import { L as b } from "../focusable-BS2pbY7w.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
25
  import { S as p } from "../sized-mixin-cJbo3PKR.js";
26
- import { g as h, t as f, s as v } from "../set-locale-hKTMz37h.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 y = ":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 x = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, a = (i, e, d, u) => {
36
- for (var r = u > 1 ? void 0 : u ? $(e, d) : e, l = i.length - 1, s; l >= 0; l--)
37
- (s = i[l]) && (r = (u ? s(e, d, r) : s(r)) || r);
38
- return u && r && x(e, d, r), r;
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 p(b, {
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 !== h() && ([...f].includes(this.language ?? "en") || this.language === "en") && v(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
- let i;
52
- const e = this.data?.type, d = e === "datetime" || e === "array[datetime]", u = e === "hierarchy" || e === "array[hierarchy]";
53
- if (d)
54
- return i = this.data?.subtype === "date" ? this.data.lowestLevel ?? 5 : this.data.lowestLevel ?? 9, m`
55
- <div class="draggable-data-item-sublevels">
56
- ${Array.from({ length: i }, (r, l) => {
57
- const s = g[l].i18n(), n = { ...this.data, level: l + 1 };
58
- return m`<luzmo-draggable-data-item-level
59
- sublevel
60
- .data=${n}
61
- .language=${this.language}
62
- .size=${this.size}
63
- .variant=${this.variant}
64
- .disabled=${this.disabled}
65
- .label=${s}
66
- ?hide-type-icon=${this.hideTypeIcon}
67
- ></luzmo-draggable-data-item-level>`;
68
- })}
69
- </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>
70
76
  `;
71
- if (u && this.data?.hierarchyLevels?.length > 2) {
72
- const r = this.data.hierarchyLevels.filter((l) => l?.level >= 1).map((l) => {
73
- const s = {
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 = {
74
80
  ...this.data,
75
- level: l.level,
76
- // TODO: olegpetriienko | 09/25/2025 | Check if 'label' exists at all, and then update @luzmo/dashboard-contents-types
77
- label: l.label
81
+ level: e.level,
82
+ name: e.name
78
83
  };
79
- return m`<luzmo-draggable-data-item-level
84
+ return t`<luzmo-draggable-data-item-level
80
85
  sublevel
81
- .data=${s}
86
+ .data=${i}
82
87
  .language=${this.language}
83
88
  .size=${this.size}
84
89
  .variant=${this.variant}
@@ -86,61 +91,49 @@ let o = class extends p(b, {
86
91
  ?hide-type-icon=${this.hideTypeIcon}
87
92
  ></luzmo-draggable-data-item-level>`;
88
93
  });
89
- return m`
90
- <div class="draggable-data-item-sublevels">${r}</div>
94
+ return t`
95
+ <div class="draggable-data-item-sublevels">${a}</div>
91
96
  `;
92
97
  }
93
- return m``;
98
+ return t``;
94
99
  }
95
100
  render() {
96
- return m`
101
+ return this.data ? t`
97
102
  <luzmo-draggable-data-item-level
98
103
  .data=${this.data}
99
104
  .language=${this.language}
100
105
  .size=${this.size}
101
106
  .variant=${this.variant}
102
107
  .disabled=${this.disabled}
103
- .label=${this.label}
104
- .description=${this.description}
105
- .secondaryIconType=${this.secondaryIconType}
106
108
  ?hide-type-icon=${this.hideTypeIcon}
107
109
  ></luzmo-draggable-data-item-level>
108
110
  ${this.hideSublevels ? "" : this.renderSublevels()}
109
- `;
111
+ ` : t``;
110
112
  }
111
113
  };
112
- o.styles = z(y);
113
- a([
114
- t({ type: String, reflect: !0 })
115
- ], o.prototype, "variant", 2);
116
- a([
117
- t({ type: String, reflect: !0 })
118
- ], o.prototype, "language", 2);
119
- a([
120
- t({ type: Boolean, reflect: !0 })
121
- ], o.prototype, "disabled", 2);
122
- a([
123
- t({ type: Boolean, reflect: !0, attribute: "hide-sublevels" })
124
- ], o.prototype, "hideSublevels", 2);
125
- a([
126
- t({ type: Boolean, reflect: !0, attribute: "hide-type-icon" })
127
- ], o.prototype, "hideTypeIcon", 2);
128
- a([
129
- t({ type: String, reflect: !0, attribute: "secondary-icon-type" })
130
- ], o.prototype, "secondaryIconType", 2);
131
- a([
132
- t({ type: String, reflect: !0 })
133
- ], o.prototype, "label", 2);
134
- a([
135
- t({ type: String, reflect: !0 })
136
- ], o.prototype, "description", 2);
137
- a([
138
- t({ type: Object })
139
- ], o.prototype, "data", 2);
140
- o = a([
141
- c()
142
- ], o);
143
- 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);
144
137
  export {
145
- o as LuzmoDraggableDataItem
138
+ r as LuzmoDraggableDataItem
146
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 z=require("../get-css-variable-CuDaWSjr.cjs"),s=require("@luzmo/icons");require("@luzmo/lucero/icon");require("@luzmo/lucero/tooltip");const u=require("lit"),g=require("lit/decorators.js"),k=require("../focusable-QLh-LlNt.cjs"),I=require("../sized-mixin-DcvJLFeo.cjs"),f=require("../calculate-data-item-icon-CX4VW9Km.cjs"),x=require("../localize-C4zNlrwK.cjs"),C=":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}",D=o=>{const l=o.source.element;let e="";o.source?.element?.renderRoot?.querySelector(".data-label")?.textContent&&(e=o.source?.element?.renderRoot?.querySelector(".data-label").textContent),e||(e=x.localize(o?.source?.data?.label,o?.source?.element?.language),e=e||"Untitled");const d=o?.source?.data?.type,r=o?.source?.data?.subtype,i=f.calculateDataItemIcon({type:d,subtype:r},l.size),a={};[["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(([m,p,b])=>{const h=z.getCssVariableValue(l,p)||z.getCssVariableValue(l,b);a[m]=h});const c=document.createElement("div"),v=document.createElement("div");if(c.innerHTML=e,Object.assign(c.style,{maxWidth:"12rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),!o?.source?.element?.sublevel){const m=document.createElement("luzmo-icon");m.icon=i,v.append(m)}return v.append(c),Object.assign(v.style,{display:"flex",alignItems:"center",maxWidth:"12rem",lineHeight:"1",height:a.height,border:`1px solid ${a.borderColor}`,backgroundColor:a.backgroundColor,borderRadius:a.borderRadius,fontFamily:a.fontFamily,fontSize:a.fontSize,color:a.color,padding:`0 ${a.horizontalPadding}`,gap:a.gap}),v};var S=Object.defineProperty,n=(o,l,e,d)=>{for(var r=void 0,i=o.length-1,a;i>=0;i--)(a=o[i])&&(r=a(l,e,r)||r);return r&&S(l,e,r),r};const y=class y extends I.SizedMixin(k.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.language="en",this.data={},this._isCurrentlyHighlighted=!1,this._handleHighlight=l=>{const e=l.detail??{},{columnId:d,level:r,formulaId:i}=e,a=this.data?.columnId??this.data?.column??this.data?.formulaId??this.data?.formula??this.data?.id,c=this.data?.level??0,v=r??0,m=(a===d||a===i)&&c===v,p=(a===d||a===i)&&c===0&&v>0,b=m||p;if(this.classList.toggle("highlighted",b),b&&!this._isCurrentlyHighlighted){this._isCurrentlyHighlighted=!0;const h=this.getBoundingClientRect(),w=window.innerHeight||document.documentElement.clientHeight;if(h.top<0||h.bottom>w)try{this.scrollIntoView({block:"center"})}catch{this.scrollIntoView(!0)}}else!b&&this._isCurrentlyHighlighted&&(this._isCurrentlyHighlighted=!1)},this._clearHighlight=()=>{this.classList.remove("highlighted"),this._isCurrentlyHighlighted=!1},this.dataItemLevelDropped=l=>{this.dispatchEvent(new CustomEvent("data-item-dropped",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:l}}))},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(l){this._cleanupDraggable=z.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 d=e.nativeSetDragImage;z.setCustomNativeDragPreview({render({container:r}){const i=D(e);r.append(i)},nativeSetDragImage:d})}})}render(){const l=this.label??this.data?.label?.[this.language]??this.data?.label?.[Object.keys(this.data?.label)[0]]??"Untitled",e=this.description??this.data?.description?.[this.language]??this.data?.description?.[Object.keys(this.data?.description)[0]],d=this.secondaryIconType?f.calculateDataItemSecondaryIcon(this.secondaryIconType,this.size):void 0;return u.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?s.luzmoIcon(s.luzmoDragLines):s.luzmoIcon(s.luzmoArrows)}
23
+ ${this.sublevel?n.luzmoIcon(n.luzmoDragLines):n.luzmoIcon(n.luzmoArrows)}
24
24
  </div>
25
- ${this.sublevel||this.hideTypeIcon?"":u.html`<div class="data-icon-type">
26
- <div class=${this.secondaryIconType?"with-secondary-icon":""}>
27
- ${s.luzmoIcon(f.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
- ${d?u.html`<div class="secondary-icon">
30
- ${s.luzmoIcon(d)}
29
+ ${r?v.html`<div class="secondary-icon">
30
+ ${n.luzmoIcon(r)}
31
31
  </div>`:""}
32
32
  </div>`}
33
- <div class="data-label">${l}</div>
34
- ${!this.sublevel&&e?u.html`<button class="data-description">
35
- ${s.luzmoIcon(s.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
- ${l}
47
+ ${e}
48
48
  </luzmo-tooltip>
49
49
  </div>
50
- `}};y.styles=u.unsafeCSS(C);let t=y;n([g.property({type:String,reflect:!0})],t.prototype,"variant");n([g.property({type:Boolean,reflect:!0,attribute:"hide-type-icon"})],t.prototype,"hideTypeIcon");n([g.property({type:Boolean,reflect:!0})],t.prototype,"sublevel");n([g.property({type:String,reflect:!0})],t.prototype,"language");n([g.property({type:Boolean,reflect:!0})],t.prototype,"disabled");n([g.property({type:String,reflect:!0})],t.prototype,"label");n([g.property({type:String,reflect:!0})],t.prototype,"description");n([g.property({type:String,reflect:!0,attribute:"secondary-icon-type"})],t.prototype,"secondaryIconType");n([g.property({type:Object})],t.prototype,"data");customElements.get("luzmo-draggable-data-item-level")||customElements.define("luzmo-draggable-data-item-level",t);exports.LuzmoDraggableDataItemLevel=t;
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;