@luzmo/analytics-components-kit 1.0.1-alpha.50 → 1.0.1-alpha.52

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 (43) hide show
  1. package/components/display-settings/display-settings.d.ts +1 -0
  2. package/components/display-settings/index.cjs +1 -1
  3. package/components/display-settings/index.js +1 -1
  4. package/components/display-settings-numeric/helpers/constants.d.ts +1 -0
  5. package/components/display-settings-numeric/index.cjs +16 -10
  6. package/components/display-settings-numeric/index.js +52 -34
  7. package/components/draggable-data-item/draggable-data-item.d.ts +0 -1
  8. package/components/draggable-data-item/index.cjs +5 -8
  9. package/components/draggable-data-item/index.js +32 -38
  10. package/components/draggable-data-item-level/draggable-data-item-level.d.ts +1 -1
  11. package/components/draggable-data-item-level/index.cjs +6 -6
  12. package/components/draggable-data-item-level/index.js +106 -113
  13. package/components/droppable-slot/droppable-slot.d.ts +6 -1
  14. package/components/droppable-slot/index.cjs +14 -12
  15. package/components/droppable-slot/index.js +186 -160
  16. package/components/filter-item/index.cjs +1 -1
  17. package/components/filter-item/index.js +1 -1
  18. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  19. package/components/filter-value-picker-hierarchy/index.js +1 -1
  20. package/components/filter-value-picker-numeric/index.cjs +1 -1
  21. package/components/filter-value-picker-numeric/index.js +1 -1
  22. package/components/{index-DAoFunRy.cjs → index-3X8Iuo7y.cjs} +11 -11
  23. package/components/{index-Delpl7qa.js → index-Cyo2hwg7.js} +1 -1
  24. package/components/{index-eBsINoH9.cjs → index-DpHum3lw.cjs} +1 -1
  25. package/components/{index-Ct7UvUif.js → index-fmbD10nN.js} +123 -109
  26. package/components/index.cjs +1 -1
  27. package/components/index.js +1 -1
  28. package/components/slot-contents-picker/index.cjs +1 -1
  29. package/components/slot-contents-picker/index.js +1 -1
  30. package/components/slot-menu/index.cjs +11 -11
  31. package/components/slot-menu/index.js +186 -171
  32. package/components/slot-menu/slot-menu.d.ts +5 -1
  33. package/components/slot-menu-list/index.cjs +1 -1
  34. package/components/slot-menu-list/index.js +19 -16
  35. package/components/slot-menu-list/slot-menu-list.d.ts +1 -0
  36. package/custom-elements.json +29 -43
  37. package/item-definitions/box-plot/box-plot-options.config.d.ts +1 -1
  38. package/item-definitions/choropleth-map/choropleth-map-options.config.d.ts +1 -1
  39. package/item-definitions/hexbin-map/hexbin-map-options.config.d.ts +1 -1
  40. package/item-definitions/route-map/route-map-options.config.d.ts +1 -1
  41. package/item-definitions/spike-map/spike-map-options.config.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/utils/data-broker/index.d.ts +1 -1
@@ -18,123 +18,138 @@
18
18
  * SOFTWARE.
19
19
  * */
20
20
  import "../index-CskV_bXp.js";
21
- import { T as A, r as B, x as z, n as a } from "../property-DCzt3DR1.js";
22
- import { e as R, c as Y, s as N } from "../index-Ct7UvUif.js";
23
- import { a8 as E, ae as G, a7 as X, ag as K } from "../luzmo-icons-CVeTZ59u.js";
24
- import { d as x } from "../index-Delpl7qa.js";
25
- import { l as V } from "../localize-BX7q0S0M.js";
21
+ import { T, r as O, x as v, n as u } from "../property-DCzt3DR1.js";
22
+ import { e as R, c as N, s as X } from "../index-fmbD10nN.js";
23
+ import { a8 as E, ae as Y, a7 as q, ag as H } from "../luzmo-icons-CVeTZ59u.js";
24
+ import { d as x } from "../index-Cyo2hwg7.js";
25
+ import { l as K } from "../localize-BX7q0S0M.js";
26
26
  import { r as I } from "../state-nDsQPund.js";
27
- import { e as T } from "../query-Ddbd72Um.js";
28
- import { e as q, i as F } from "../directive-CF_9GVrT.js";
29
- import { L as H } from "../focusable-BbymtxWI.js";
30
- import { S as W, E as j } from "../sized-mixin-BGzkX2g1.js";
27
+ import { e as A } from "../query-Ddbd72Um.js";
28
+ import { e as F, i as j } from "../directive-CF_9GVrT.js";
29
+ import { L as V } from "../focusable-BbymtxWI.js";
30
+ import { S as W, E as G } from "../sized-mixin-BGzkX2g1.js";
31
31
  import "../slot-menu-list/index.js";
32
- const D = () => {
32
+ const B = () => {
33
33
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
34
- const s = document.createElement("style");
35
- s.setAttribute("data-luzmo-vars", ""), s.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-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(s);
34
+ const i = document.createElement("style");
35
+ i.setAttribute("data-luzmo-vars", ""), i.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-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(i);
36
36
  }
37
37
  };
38
- D();
38
+ B();
39
39
  /**
40
40
  * @license
41
41
  * Copyright 2018 Google LLC
42
42
  * SPDX-License-Identifier: BSD-3-Clause
43
43
  */
44
- const Q = {}, Z = q(class extends F {
44
+ const J = {}, Q = F(class extends j {
45
45
  constructor() {
46
- super(...arguments), this.ot = Q;
46
+ super(...arguments), this.ot = J;
47
47
  }
48
- render(s, o) {
48
+ render(i, o) {
49
49
  return o();
50
50
  }
51
- update(s, [o, t]) {
51
+ update(i, [o, e]) {
52
52
  if (Array.isArray(o)) {
53
- if (Array.isArray(this.ot) && this.ot.length === o.length && o.every((r, n) => r === this.ot[n])) return A;
54
- } else if (this.ot === o) return A;
55
- return this.ot = Array.isArray(o) ? Array.from(o) : o, this.render(o, t);
53
+ if (Array.isArray(this.ot) && this.ot.length === o.length && o.every((t, r) => t === this.ot[r])) return T;
54
+ } else if (this.ot === o) return T;
55
+ return this.ot = Array.isArray(o) ? Array.from(o) : o, this.render(o, e);
56
56
  }
57
57
  });
58
- function J({
59
- element: s,
58
+ function Z({
59
+ element: i,
60
60
  handle: o,
61
- boundary: t = document.documentElement,
62
- onDragStart: r,
63
- onDragEnd: n
61
+ boundary: e = document.documentElement,
62
+ onDragStart: t,
63
+ onDragEnd: r
64
64
  }) {
65
- if (!s || !o)
65
+ if (!i || !o)
66
66
  throw new Error("makeDraggable: element and handle are required");
67
- const i = s.ownerDocument ?? document;
68
- let u = -1, b = 0, f = 0, d = 0, p = 0, v = 0, L = 0, w = 0, C = 0;
69
- const _ = (m) => {
70
- if (m.pointerId !== u) return;
71
- const h = m.clientX - b, y = m.clientY - f, c = (t ?? document.documentElement).getBoundingClientRect();
72
- let g = d + h, S = p + y;
73
- g = Math.min(
74
- Math.max(g, c.left),
75
- c.right - v
67
+ const s = i.ownerDocument ?? document;
68
+ let a = -1, d = 0, f = 0, c = 0, h = 0, b = 0, $ = 0, w = 0, _ = 0;
69
+ const C = (m) => {
70
+ if (m.pointerId !== a) return;
71
+ const g = m.clientX - d, y = m.clientY - f, p = (e ?? document.documentElement).getBoundingClientRect();
72
+ let z = c + g, S = h + y;
73
+ z = Math.min(
74
+ Math.max(z, p.left),
75
+ p.right - b
76
76
  ), S = Math.min(
77
- Math.max(S, c.top),
78
- c.bottom - L
77
+ Math.max(S, p.top),
78
+ p.bottom - $
79
79
  );
80
- const M = g - d, O = S - p, P = w + M, U = C + O;
81
- s.style.transform = `translate3d(${P}px, ${U}px, 0)`;
80
+ const D = z - c, M = S - h, P = w + D, U = _ + M;
81
+ i.style.transform = `translate3d(${P}px, ${U}px, 0)`;
82
82
  }, k = (m) => {
83
- m.pointerId === u && (i.removeEventListener("pointermove", _), i.removeEventListener("pointerup", k), u = -1, n == null || n());
84
- }, $ = (m) => {
83
+ m.pointerId === a && (s.removeEventListener("pointermove", C), s.removeEventListener("pointerup", k), a = -1, r == null || r());
84
+ }, L = (m) => {
85
85
  var y;
86
86
  if (m.button !== 0) return;
87
- u = m.pointerId;
88
- const h = s.getBoundingClientRect();
89
- d = h.left, p = h.top, v = h.width, L = h.height, b = m.clientX, f = m.clientY;
87
+ a = m.pointerId;
88
+ const g = i.getBoundingClientRect();
89
+ c = g.left, h = g.top, b = g.width, $ = g.height, d = m.clientX, f = m.clientY;
90
90
  try {
91
- const c = (y = i.defaultView) == null ? void 0 : y.getComputedStyle(s);
92
- if (c) {
93
- const g = new DOMMatrixReadOnly(c.transform);
94
- w = g.m41, C = g.m42;
91
+ const p = (y = s.defaultView) == null ? void 0 : y.getComputedStyle(i);
92
+ if (p) {
93
+ const z = new DOMMatrixReadOnly(p.transform);
94
+ w = z.m41, _ = z.m42;
95
95
  }
96
96
  } catch {
97
- w = 0, C = 0;
97
+ w = 0, _ = 0;
98
98
  }
99
- o.setPointerCapture(u), i.addEventListener("pointermove", _), i.addEventListener("pointerup", k), r == null || r();
99
+ o.setPointerCapture(a), s.addEventListener("pointermove", C), s.addEventListener("pointerup", k), t == null || t();
100
100
  };
101
- return o.addEventListener("pointerdown", $), () => {
102
- o.removeEventListener("pointerdown", $), i.removeEventListener("pointermove", _), i.removeEventListener("pointerup", k);
101
+ return o.addEventListener("pointerdown", L), () => {
102
+ o.removeEventListener("pointerdown", L), s.removeEventListener("pointermove", C), s.removeEventListener("pointerup", k);
103
103
  };
104
104
  }
105
- const oo = ":host{font-family:var(--luzmo-slot-menu-font-family, var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-font-size, var(--slot-menu-font-size));color:var(--luzmo-slot-menu-font-color, var(--luzmo-font-color));display:block;width:fit-content}luzmo-slot-menu-list{min-width:var(--luzmo-slot-menu-list-min-width, var(--slot-menu-list-min-width));max-width:var(--luzmo-slot-menu-list-max-width, var(--slot-menu-list-max-width))}.slot-contents-container{position:relative;border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color, var(--luzmo-border-color));border-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));background:var(--luzmo-slot-menu-background-color, var(--luzmo-background-color));box-shadow:var(--luzmo-slot-menu-popup-shadow-horizontal, var(--slot-menu-popup-shadow-horizontal)) var(--luzmo-slot-menu-popup-shadow-vertical, var(--slot-menu-popup-shadow-vertical)) var(--luzmo-slot-menu-popup-shadow-blur, var(--slot-menu-popup-shadow-blur)) var(--luzmo-slot-menu-popup-shadow-color, var(--slot-menu-popup-shadow-color));border-top-left-radius:0}.slot-contents-container .inner-container{display:flex}.slot-contents-container .inner-container luzmo-display-settings{min-width:var(--luzmo-slot-menu-display-settings-min-width, var(--slot-menu-display-settings-min-width));padding:var(--luzmo-slot-menu-display-settings-vertical-padding, var(--slot-menu-display-settings-vertical-padding)) var(--luzmo-slot-menu-display-settings-horizontal-padding, var(--slot-menu-display-settings-horizontal-padding))}:host([variant=popup]) .slot-contents-container{overflow:hidden;border-top-left-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));--slot-menu-popup-filter: drop-shadow( var( --luzmo-slot-menu-popup-shadow-horizontal, var(--slot-menu-popup-shadow-horizontal) ) var( --luzmo-slot-menu-popup-shadow-vertical, var(--slot-menu-popup-shadow-vertical) ) var( --luzmo-slot-menu-popup-shadow-blur, var(--slot-menu-popup-shadow-blur) ) var( --luzmo-slot-menu-popup-shadow-color, var(--slot-menu-popup-shadow-color) ) );filter:var(--luzmo-slot-menu-popup-filter, var(--slot-menu-popup-filter))}.slot-menu-top-menu{display:flex;align-items:center;border-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden;width:fit-content}.drag-handle{background-color:var(--luzmo-slot-menu-drag-handle-background-color, var(--luzmo-background-color-highlight));cursor:grab;width:fit-content;border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color, var(--luzmo-background-color-highlight));font-size:var(--luzmo-slot-menu-drag-handle-size, var(--slot-menu-drag-handle-size));padding:var(--luzmo-slot-menu-drag-handle-vertical-padding, var(--slot-menu-drag-handle-vertical-padding)) var(--luzmo-slot-menu-drag-handle-horizontal-padding, var(--slot-menu-drag-handle-horizontal-padding))}.drag-handle:hover{background-color:var(--luzmo-slot-menu-drag-handle-background-color-hover, var(--luzmo-background-color-highlight-hover))}.slot-content-action{display:flex;flex:0 1 auto;max-width:var(--luzmo-slot-menu-top-menu-label-max-width, var(--slot-menu-top-menu-label-max-width));gap:var(--luzmo-slot-menu-label-to-icon-gap, var(--slot-menu-label-to-icon-gap));background-color:var(--luzmo-slot-menu-content-label-background-color, var(--luzmo-primary));color:var(--luzmo-slot-menu-content-label-color, var(--luzmo-primary-inverse-color));border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-content-label-border-color, var(--luzmo-primary));padding:var(--luzmo-slot-menu-drag-handle-vertical-padding, var(--slot-menu-drag-handle-vertical-padding)) var(--luzmo-slot-menu-drag-handle-horizontal-padding, var(--slot-menu-drag-handle-horizontal-padding))}.slot-content-action:hover{background-color:var(--luzmo-slot-menu-content-label-background-color-hover, var(--luzmo-primary-hover))}.slot-content-action:focus{background-color:var(--luzmo-slot-menu-content-label-background-color-focus, var(--luzmo-primary-focus))}.slot-content-action .slot-content-label{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-content-action .slot-content-remove{flex:0 0 auto;cursor:pointer}.close{position:absolute;right:1rem;cursor:pointer;top:calc(-2 * var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)));background-color:var(--luzmo-slot-menu-close-button-background-color, var(--luzmo-background-color-highlight));font-size:var(--luzmo-slot-menu-close-button-size, var(--slot-menu-close-button-size));border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color, var(--luzmo-border-color));border-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));border-top-left-radius:0;border-top-right-radius:0;padding:var(--luzmo-slot-menu-close-button-vertical-padding, var(--slot-menu-close-button-vertical-padding)) var(--luzmo-slot-menu-close-button-horizontal-padding, var(--slot-menu-close-button-horizontal-padding))}.close:hover{background-color:var(--luzmo-slot-menu-close-button-background-color-hover, var(--luzmo-background-color-highlight-hover))}:host{--slot-menu-display-settings-min-width: 19rem;--slot-menu-min-height: calc(var(--luzmo-component-height) * 2);--slot-menu-font-size: var(--luzmo-font-size);--slot-menu-display-settings-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-4);--slot-menu-top-menu-label-max-width: 12rem;--slot-menu-list-min-width: 8rem;--slot-menu-list-max-width: 12rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-3);--slot-menu-drag-handle-size: var(--luzmo-font-size);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-2);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-close-button-size: var(--luzmo-font-size-s);--slot-menu-close-button-vertical-padding: var(--luzmo-spacing-2);--slot-menu-close-button-horizontal-padding: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--slot-menu-popup-shadow-horizontal: 0;--slot-menu-popup-shadow-vertical: 1px;--slot-menu-popup-shadow-blur: 4px;--slot-menu-popup-shadow-color: var(--luzmo-border-color);--slot-menu-popup-box-shadow: var(--slot-menu-popup-shadow-horizontal) var(--slot-menu-popup-shadow-vertical) var(--slot-menu-popup-shadow-blur) var(--slot-menu-popup-shadow-color)}:host([size=s]){--slot-menu-display-settings-min-width: 16rem;--slot-menu-min-height: calc(var(--luzmo-component-height-s) * 2);--slot-menu-font-size: var(--luzmo-font-size-s);--slot-menu-display-settings-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-3);--slot-menu-top-menu-label-max-width: 10rem;--slot-menu-list-min-width: 6rem;--slot-menu-list-max-width: 10rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-2);--slot-menu-drag-handle-size: var(--luzmo-font-size-s);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-2);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-close-button-size: var(--luzmo-font-size-xs);--slot-menu-close-button-vertical-padding: var(--luzmo-spacing-2);--slot-menu-close-button-horizontal-padding: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) )}:host([size=l]){--slot-menu-display-settings-min-width: 23rem;--slot-menu-min-height: calc(var(--luzmo-component-height-l) * 2);--slot-menu-font-size: var(--luzmo-font-size-l);--slot-menu-display-settings-horizontal-padding: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-1) );--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-5);--slot-menu-top-menu-label-max-width: 14rem;--slot-menu-list-min-width: 9rem;--slot-menu-list-max-width: 14rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-4);--slot-menu-drag-handle-size: var(--luzmo-font-size-l);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-3);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-close-button-size: var(--luzmo-font-size);--slot-menu-close-button-vertical-padding: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--slot-menu-close-button-horizontal-padding: var(--luzmo-spacing-3)}:host([size=xl]){--slot-menu-display-settings-min-width: 26rem;--slot-menu-min-height: calc(var(--luzmo-component-height-xl) * 2);--slot-menu-font-size: var(--luzmo-font-size-xl);--slot-menu-display-settings-horizontal-padding: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-2) );--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-5);--slot-menu-top-menu-label-max-width: 16rem;--slot-menu-list-min-width: 10rem;--slot-menu-list-max-width: 16rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-5);--slot-menu-drag-handle-size: var(--luzmo-font-size-xl);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-3);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-close-button-size: var(--luzmo-font-size-l);--slot-menu-close-button-vertical-padding: var(--luzmo-spacing-3);--slot-menu-close-button-horizontal-padding: var(--luzmo-spacing-3)}";
106
- var to = Object.defineProperty, l = (s, o, t, r) => {
107
- for (var n = void 0, i = s.length - 1, u; i >= 0; i--)
108
- (u = s[i]) && (n = u(o, t, n) || n);
109
- return n && to(o, t, n), n;
105
+ const oo = ":host{font-family:var(--luzmo-slot-menu-font-family, var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-font-size, var(--slot-menu-font-size));color:var(--luzmo-slot-menu-font-color, var(--luzmo-font-color));display:block;width:fit-content}luzmo-slot-menu-list{min-width:var(--luzmo-slot-menu-list-min-width, var(--slot-menu-list-min-width));max-width:var(--luzmo-slot-menu-list-max-width, var(--slot-menu-list-max-width));background-color:var(--luzmo-slot-menu-list-background-color, var(--slot-menu-list-background-color))}.slot-contents-container{position:relative;border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color, var(--luzmo-border-color));border-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));background:var(--luzmo-slot-menu-background-color, var(--luzmo-background-color));box-shadow:var(--luzmo-slot-menu-popup-shadow-horizontal, var(--slot-menu-popup-shadow-horizontal)) var(--luzmo-slot-menu-popup-shadow-vertical, var(--slot-menu-popup-shadow-vertical)) var(--luzmo-slot-menu-popup-shadow-blur, var(--slot-menu-popup-shadow-blur)) var(--luzmo-slot-menu-popup-shadow-color, var(--slot-menu-popup-shadow-color));border-top-left-radius:0}.slot-contents-container .inner-container{display:flex}.slot-contents-container .inner-container luzmo-display-settings{min-width:var(--luzmo-slot-menu-display-settings-min-width, var(--slot-menu-display-settings-min-width));padding:var(--luzmo-slot-menu-display-settings-vertical-padding, var(--slot-menu-display-settings-vertical-padding)) var(--luzmo-slot-menu-display-settings-horizontal-padding, var(--slot-menu-display-settings-horizontal-padding))}:host([variant=popup]) .slot-contents-container{overflow:hidden;border-top-left-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));--slot-menu-popup-filter: drop-shadow( var( --luzmo-slot-menu-popup-shadow-horizontal, var(--slot-menu-popup-shadow-horizontal) ) var( --luzmo-slot-menu-popup-shadow-vertical, var(--slot-menu-popup-shadow-vertical) ) var( --luzmo-slot-menu-popup-shadow-blur, var(--slot-menu-popup-shadow-blur) ) var( --luzmo-slot-menu-popup-shadow-color, var(--slot-menu-popup-shadow-color) ) );filter:var(--luzmo-slot-menu-popup-filter, var(--slot-menu-popup-filter))}.slot-menu-top-menu{display:flex;align-items:center;border-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden;width:fit-content}.drag-handle{background-color:var(--luzmo-slot-menu-drag-handle-background-color, var(--luzmo-background-color-highlight));cursor:grab;width:fit-content;border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color, var(--luzmo-background-color-highlight));font-size:var(--luzmo-slot-menu-drag-handle-size, var(--slot-menu-drag-handle-size));padding:var(--luzmo-slot-menu-drag-handle-vertical-padding, var(--slot-menu-drag-handle-vertical-padding)) var(--luzmo-slot-menu-drag-handle-horizontal-padding, var(--slot-menu-drag-handle-horizontal-padding))}.drag-handle:hover{background-color:var(--luzmo-slot-menu-drag-handle-background-color-hover, var(--luzmo-background-color-highlight-hover))}.slot-content-action{display:flex;flex:0 1 auto;max-width:var(--luzmo-slot-menu-top-menu-label-max-width, var(--slot-menu-top-menu-label-max-width));gap:var(--luzmo-slot-menu-label-to-icon-gap, var(--slot-menu-label-to-icon-gap));background-color:var(--luzmo-slot-menu-content-label-background-color, var(--luzmo-primary));color:var(--luzmo-slot-menu-content-label-color, var(--luzmo-primary-inverse-color));border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-content-label-border-color, var(--luzmo-primary));padding:var(--luzmo-slot-menu-drag-handle-vertical-padding, var(--slot-menu-drag-handle-vertical-padding)) var(--luzmo-slot-menu-drag-handle-horizontal-padding, var(--slot-menu-drag-handle-horizontal-padding))}.slot-content-action:hover{background-color:var(--luzmo-slot-menu-content-label-background-color-hover, var(--luzmo-primary-hover))}.slot-content-action:focus{background-color:var(--luzmo-slot-menu-content-label-background-color-focus, var(--luzmo-primary-focus))}.slot-content-action .slot-content-label{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-content-action .slot-content-remove{flex:0 0 auto;cursor:pointer}.close{position:absolute;right:1rem;cursor:pointer;top:calc(-2 * var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)));background-color:var(--luzmo-slot-menu-close-button-background-color, var(--luzmo-background-color-highlight));font-size:var(--luzmo-slot-menu-close-button-size, var(--slot-menu-close-button-size));border:var(--luzmo-slot-menu-border-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color, var(--luzmo-border-color));border-radius:var(--luzmo-slot-menu-border-radius, var(--luzmo-border-radius));border-top-left-radius:0;border-top-right-radius:0;padding:var(--luzmo-slot-menu-close-button-vertical-padding, var(--slot-menu-close-button-vertical-padding)) var(--luzmo-slot-menu-close-button-horizontal-padding, var(--slot-menu-close-button-horizontal-padding))}.close:hover{background-color:var(--luzmo-slot-menu-close-button-background-color-hover, var(--luzmo-background-color-highlight-hover))}:host{--slot-menu-display-settings-min-width: 19rem;--slot-menu-min-height: calc(var(--luzmo-component-height) * 2);--slot-menu-font-size: var(--luzmo-font-size);--slot-menu-display-settings-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-4);--slot-menu-top-menu-label-max-width: 12rem;--slot-menu-list-min-width: 8rem;--slot-menu-list-max-width: 12rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-3);--slot-menu-drag-handle-size: var(--luzmo-font-size);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-2);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-close-button-size: var(--luzmo-font-size-s);--slot-menu-close-button-vertical-padding: var(--luzmo-spacing-2);--slot-menu-close-button-horizontal-padding: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--slot-menu-popup-shadow-horizontal: 0;--slot-menu-popup-shadow-vertical: 1px;--slot-menu-popup-shadow-blur: 4px;--slot-menu-popup-shadow-color: var(--luzmo-border-color);--slot-menu-popup-box-shadow: var(--slot-menu-popup-shadow-horizontal) var(--slot-menu-popup-shadow-vertical) var(--slot-menu-popup-shadow-blur) var(--slot-menu-popup-shadow-color)}:host([size=s]){--slot-menu-display-settings-min-width: 16rem;--slot-menu-min-height: calc(var(--luzmo-component-height-s) * 2);--slot-menu-font-size: var(--luzmo-font-size-s);--slot-menu-display-settings-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-3);--slot-menu-top-menu-label-max-width: 10rem;--slot-menu-list-min-width: 6rem;--slot-menu-list-max-width: 10rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-2);--slot-menu-drag-handle-size: var(--luzmo-font-size-s);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-2);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-close-button-size: var(--luzmo-font-size-xs);--slot-menu-close-button-vertical-padding: var(--luzmo-spacing-2);--slot-menu-close-button-horizontal-padding: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) )}:host([size=l]){--slot-menu-display-settings-min-width: 23rem;--slot-menu-min-height: calc(var(--luzmo-component-height-l) * 2);--slot-menu-font-size: var(--luzmo-font-size-l);--slot-menu-display-settings-horizontal-padding: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-1) );--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-5);--slot-menu-top-menu-label-max-width: 14rem;--slot-menu-list-min-width: 9rem;--slot-menu-list-max-width: 14rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-4);--slot-menu-drag-handle-size: var(--luzmo-font-size-l);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-3);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-close-button-size: var(--luzmo-font-size);--slot-menu-close-button-vertical-padding: calc( var(--luzmo-spacing-2) + var(--luzmo-spacing-1) );--slot-menu-close-button-horizontal-padding: var(--luzmo-spacing-3)}:host([size=xl]){--slot-menu-display-settings-min-width: 26rem;--slot-menu-min-height: calc(var(--luzmo-component-height-xl) * 2);--slot-menu-font-size: var(--luzmo-font-size-xl);--slot-menu-display-settings-horizontal-padding: calc( var(--luzmo-spacing-5) + var(--luzmo-spacing-2) );--slot-menu-display-settings-vertical-padding: var(--luzmo-spacing-5);--slot-menu-top-menu-label-max-width: 16rem;--slot-menu-list-min-width: 10rem;--slot-menu-list-max-width: 16rem;--slot-menu-label-to-icon-gap: var(--luzmo-spacing-5);--slot-menu-drag-handle-size: var(--luzmo-font-size-xl);--slot-menu-drag-handle-vertical-padding: var(--luzmo-spacing-3);--slot-menu-drag-handle-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-close-button-size: var(--luzmo-font-size-l);--slot-menu-close-button-vertical-padding: var(--luzmo-spacing-3);--slot-menu-close-button-horizontal-padding: var(--luzmo-spacing-3)}";
106
+ var to = Object.defineProperty, n = (i, o, e, t) => {
107
+ for (var r = void 0, s = i.length - 1, a; s >= 0; s--)
108
+ (a = i[s]) && (r = a(o, e, r) || r);
109
+ return r && to(o, e, r), r;
110
110
  };
111
- class e extends R(
112
- W(H, {
113
- validSizes: Object.values(j)
111
+ class l extends R(
112
+ W(V, {
113
+ validSizes: Object.values(G)
114
114
  })
115
115
  ) {
116
116
  constructor() {
117
- super(...arguments), this.language = "en", this.contentLanguage = "en", this.slotType = "numeric", this.variant = "draggable", this._periodOverPeriodEnabled = !1, this.measureColumns = [], this.apiUrl = "https://api.luzmo.com", this.authKey = "1a6069eb-9a30-424c-ad69-e0aa9e6bb8b6", this.authToken = "AGAjEOVhJPyemwt5QNx1rI6nxuOH9pwdtyeg0aGSKuWenPR8GYmC3g2yKiCIjuD8POQOrEMGLYNnZdYRHZFAMi7QOfGd6gpSgZEbLXyhW9ucYG0U9Mc0uUksxIelkVH5yUESO3c6bVCV7FMVNIo7GW", this._slotContents = [], this._activeIndex = this.slotIndex ?? 0, this._linkedDatasetIds = [];
117
+ super(...arguments), this.language = "en", this.contentLanguage = "en", this.slotType = "numeric", this.variant = "draggable", this._periodOverPeriodEnabled = !1, this.measureColumns = [], this.apiUrl = "https://api.luzmo.com", this.authKey = "", this.authToken = "", this._slotContents = [], this._activeIndex = this.slotIndex ?? 0, this._linkedDatasetsIds = [];
118
118
  }
119
119
  static get styles() {
120
- return [B(oo)];
120
+ return [O(oo)];
121
121
  }
122
122
  get _currentSlotContent() {
123
123
  return this._slotContents[this.slotIndex ?? this._activeIndex] ?? {};
124
124
  }
125
125
  get _currentLabel() {
126
- return V(
126
+ return K(
127
127
  this._currentSlotContent.label,
128
128
  this.contentLanguage
129
129
  ) ?? "Untitled";
130
130
  }
131
131
  connectedCallback() {
132
132
  const o = {};
133
- this.apiUrl && (o.apiUrl = this.apiUrl), this.authKey && this.authToken && (o.authKey = this.authKey, o.authToken = this.authToken), x.configure(o), super.connectedCallback();
133
+ this.apiUrl && (o.apiUrl = this.apiUrl), this.authKey && this.authToken && (o.authKey = this.authKey, o.authToken = this.authToken), x.configure(o), super.connectedCallback(), this._attachDragHandle();
134
134
  }
135
135
  disconnectedCallback() {
136
136
  super.disconnectedCallback(), this._cleanupDrag && (this._cleanupDrag(), this._cleanupDrag = void 0);
137
137
  }
138
+ /**
139
+ * Helper to attach draggable behaviour to the top-level handle.
140
+ */
141
+ _attachDragHandle() {
142
+ if (this._cleanupDrag || this.variant !== "draggable" || this.noDrag)
143
+ return;
144
+ const o = this.renderRoot.querySelector(".drag-handle");
145
+ if (!o) return;
146
+ const e = this.dragBoundary ? document.querySelector(this.dragBoundary) : document.documentElement;
147
+ this._cleanupDrag = Z({
148
+ element: this,
149
+ handle: o,
150
+ boundary: e
151
+ });
152
+ }
138
153
  _sendChangeEvent() {
139
154
  this.dispatchEvent(
140
155
  new CustomEvent("slot-contents-changed", {
@@ -143,7 +158,7 @@ class e extends R(
143
158
  cancelable: !0,
144
159
  detail: {
145
160
  slotContents: [...this._slotContents],
146
- linkedDatasetIds: [...this._linkedDatasetIds]
161
+ linkedDatasetsIds: [...this._linkedDatasetsIds]
147
162
  }
148
163
  })
149
164
  );
@@ -166,23 +181,27 @@ class e extends R(
166
181
  ])).has(o);
167
182
  }
168
183
  async willUpdate() {
169
- var t, r, n, i;
170
- const o = this.slotContents ?? ((t = this._store) == null ? void 0 : t.slotContents.get()) ?? [];
184
+ var e, t, r, s;
185
+ const o = this.slotContents ?? ((e = this._store) == null ? void 0 : e.slotContents.get()) ?? [];
171
186
  if (o !== this._slotContents) {
172
187
  this._slotContents = structuredClone(o);
173
- const { set: u, column: b } = this._currentSlotContent;
174
- u && u !== this._lastFetchedDatasetId && (this._lastFetchedDatasetId = u, await x.fetchDatasetsRecursive([u]), this._linkedDatasetIds = x.getLinkedDatasetIds(u));
188
+ const { set: a, column: d } = this._currentSlotContent;
189
+ if (a && a !== this._lastFetchedDatasetId) {
190
+ if (this._lastFetchedDatasetId = a, await x.fetchDatasetsRecursive([a]), !this.isConnected)
191
+ return;
192
+ this._linkedDatasetsIds = x.getLinkedDatasetsIds(a);
193
+ }
175
194
  const f = x.getAvailableDatasets();
176
- this.measureColumns = f.map((d) => {
177
- var p;
195
+ this.measureColumns = f.map((c) => {
196
+ var h;
178
197
  return {
179
- datasetId: d.id,
180
- datasetName: d.name,
181
- columns: (p = d.columns) == null ? void 0 : p.filter(
182
- (v) => v.type === "numeric" && v.id !== b
198
+ datasetId: c.id,
199
+ datasetName: c.name,
200
+ columns: (h = c.columns) == null ? void 0 : h.filter(
201
+ (b) => b.type === "numeric" && b.id !== d
183
202
  )
184
203
  };
185
- }), ((r = this._store) == null ? void 0 : r.activeIndex.get()) !== this._activeIndex && ((n = this._store) == null || n.updateActive(this._activeIndex)), this.slotName === "measure" && (this._periodOverPeriodEnabled = ((i = this._store) == null ? void 0 : i.periodOverPeriodEnabled.get()) && this._currentSlotContent.subtype !== "duration" && !this.isArrayColumnType(this._currentSlotContent.type));
204
+ }), ((t = this._store) == null ? void 0 : t.activeIndex.get()) !== this._activeIndex && ((r = this._store) == null || r.updateActive(this._activeIndex)), this.slotName === "measure" && (this._periodOverPeriodEnabled = ((s = this._store) == null ? void 0 : s.periodOverPeriodEnabled.get()) && this._currentSlotContent.subtype !== "duration" && !this.isArrayColumnType(this._currentSlotContent.type));
186
205
  }
187
206
  }
188
207
  updated() {
@@ -190,26 +209,34 @@ class e extends R(
190
209
  this.displaySettingsElement && (this.displaySettingsElement.periodOverPeriod = this._periodOverPeriodEnabled, this.displaySettingsElement.measureColumns = this.measureColumns, this.displaySettingsElement.showRemoveButton = this.variant === "popup" && (typeof this.slotIndex == "number" || ((o = this._slotContents) == null ? void 0 : o.length) === 1));
191
210
  }
192
211
  _handleSlotListChange(o) {
193
- var r, n;
212
+ var a, d;
194
213
  this._slotContents = structuredClone(o.detail.slotContents);
195
- const t = o.detail.activeIndex;
196
- t !== this._activeIndex && (this._activeIndex = t, (r = this._store) == null || r.updateActive(t)), this._slotContents.length <= 1 && this.requestUpdate(), (n = this._store) == null || n.setContents(this._slotContents, this.slotName), this._sendChangeEvent();
214
+ const e = o.detail.activeIndex;
215
+ e !== this._activeIndex && (this._activeIndex = e, (a = this._store) == null || a.updateActive(e));
216
+ const t = this._slotContents[this._activeIndex], r = (t == null ? void 0 : t.column) ?? (t == null ? void 0 : t.columnId), s = (t == null ? void 0 : t.set) ?? (t == null ? void 0 : t.datasetId);
217
+ !r || !s || (this.dispatchEvent(
218
+ new CustomEvent("slot-menu-highlight", {
219
+ bubbles: !0,
220
+ composed: !0,
221
+ detail: { columnId: r, securableId: s, level: (t == null ? void 0 : t.level) ?? 0 }
222
+ })
223
+ ), this._slotContents.length <= 1 && this.requestUpdate(), (d = this._store) == null || d.setContents(this._slotContents, this.slotName), this._sendChangeEvent());
197
224
  }
198
225
  _handleSlotContentChange(o) {
199
- var t;
226
+ var e;
200
227
  this._slotContents[this.slotIndex ?? this._activeIndex] = structuredClone(
201
228
  o.detail.slotContent
202
- ), this.slotMenuListElement && (this.slotMenuListElement.slotContents = this._slotContents), (t = this._store) == null || t.updateContent(
229
+ ), this.slotMenuListElement && (this.slotMenuListElement.slotContents = this._slotContents), (e = this._store) == null || e.updateContent(
203
230
  o.detail.slotContent,
204
231
  this.slotIndex ?? this._activeIndex
205
232
  ), this._sendChangeEvent();
206
233
  }
207
234
  // Removed updateContentLabel method (label updates are handled inline)
208
235
  removeSlotContent(o) {
209
- var t;
236
+ var e;
210
237
  this._slotContents = this._slotContents.filter(
211
- (r, n) => n !== o
212
- ), (t = this._store) == null || t.setContents(this._slotContents, this.slotName), this._sendChangeEvent(), this._sendCloseEvent(), this.requestUpdate();
238
+ (t, r) => r !== o
239
+ ), (e = this._store) == null || e.setContents(this._slotContents, this.slotName), this._sendChangeEvent(), this._sendCloseEvent(), this.requestUpdate();
213
240
  }
214
241
  close() {
215
242
  this._sendCloseEvent();
@@ -218,44 +245,44 @@ class e extends R(
218
245
  this.removeSlotContent(this.slotIndex ?? this._activeIndex);
219
246
  }
220
247
  render() {
221
- var o, t;
222
- return z`<div class="slot-menu-top-menu">
223
- ${this.variant === "draggable" ? z`<div class="drag-handle">${E(G)}</div>` : ""}
224
- ${this._slotContents && this._slotContents.length === 1 && this.variant !== "popup" ? z` <div class="slot-content-action">
248
+ var o, e;
249
+ return v`<div class="slot-menu-top-menu">
250
+ ${this.variant === "draggable" ? v`<div class="drag-handle">${E(Y)}</div>` : ""}
251
+ ${this._slotContents && this._slotContents.length === 1 && this.variant !== "popup" ? v` <div class="slot-content-action">
225
252
  <div class="slot-content-label">${this._currentLabel}</div>
226
253
  <div
227
254
  class="slot-content-remove"
228
255
  @click=${this.removeSlotContent.bind(this, 0)}
229
256
  >
230
- ${E(X)}
257
+ ${E(q)}
231
258
  </div>
232
259
  </div>` : ""}
233
260
  </div>
234
261
  <div
235
262
  class="slot-contents-container ${((o = this._slotContents) == null ? void 0 : o.length) > 1 ? "multiple" : ""}"
236
263
  >
237
- ${this.variant === "popup" ? "" : z`<div class="close" @click=${this.close}>
238
- ${E(K)}
264
+ ${this.variant === "popup" ? "" : v`<div class="close" @click=${this.close}>
265
+ ${E(H)}
239
266
  </div>`}
240
267
  <div class="inner-container">
241
- ${((t = this._slotContents) == null ? void 0 : t.length) > 1 && typeof this.slotIndex != "number" ? z`<luzmo-slot-menu-list
268
+ ${((e = this._slotContents) == null ? void 0 : e.length) > 1 && typeof this.slotIndex != "number" ? v`<luzmo-slot-menu-list
242
269
  .slotContents=${this._slotContents}
243
270
  .contentLanguage=${this.contentLanguage}
244
271
  .activeIndex=${this.slotIndex ?? this._activeIndex}
245
272
  @slot-list-changed=${this._handleSlotListChange}
246
273
  ></luzmo-slot-menu-list>` : ""}
247
- ${Z(
274
+ ${Q(
248
275
  [this.variant, this.slotType, this.language, this.contentLanguage],
249
276
  () => {
250
- var r;
251
- return z`<luzmo-display-settings
277
+ var t;
278
+ return v`<luzmo-display-settings
252
279
  .size=${this.size}
253
280
  .language=${this.language}
254
281
  .contentLanguage=${this.contentLanguage}
255
282
  .slotContent=${this._currentSlotContent}
256
283
  .slotType=${this.slotType}
257
284
  .measureColumns=${this.measureColumns}
258
- .showRemoveButton=${this.variant === "popup" && (typeof this.slotIndex == "number" || ((r = this._slotContents) == null ? void 0 : r.length) === 1)}
285
+ .showRemoveButton=${this.variant === "popup" && (typeof this.slotIndex == "number" || ((t = this._slotContents) == null ? void 0 : t.length) === 1)}
259
286
  @slot-content-changed=${this._handleSlotContentChange}
260
287
  @remove-slot-content=${this._removeActiveSlotContent}
261
288
  ></luzmo-display-settings>`;
@@ -265,19 +292,7 @@ class e extends R(
265
292
  </div>`;
266
293
  }
267
294
  firstUpdated() {
268
- if (this.variant === "draggable" && !this.noDrag) {
269
- const o = this.renderRoot.querySelector(
270
- ".drag-handle"
271
- );
272
- if (o) {
273
- const t = this.dragBoundary ? document.querySelector(this.dragBoundary) : document.documentElement;
274
- this._cleanupDrag = J({
275
- element: this,
276
- handle: o,
277
- boundary: t
278
- });
279
- }
280
- }
295
+ this._attachDragHandle();
281
296
  }
282
297
  /**
283
298
  * Reset the menu position to its original location
@@ -286,70 +301,70 @@ class e extends R(
286
301
  this.style.transform = "";
287
302
  }
288
303
  }
289
- l([
290
- a({ type: String, reflect: !0 })
291
- ], e.prototype, "language");
292
- l([
293
- a({ type: String, attribute: "content-language", reflect: !0 })
294
- ], e.prototype, "contentLanguage");
295
- l([
296
- a({ type: String, attribute: "slot-type", reflect: !0 })
297
- ], e.prototype, "slotType");
298
- l([
299
- a({ type: String, attribute: "slot-name", reflect: !0 })
300
- ], e.prototype, "slotName");
301
- l([
302
- a({ type: String, attribute: "item-type", reflect: !0 })
303
- ], e.prototype, "itemType");
304
- l([
305
- a({ type: Boolean, attribute: "no-drag", reflect: !0 })
306
- ], e.prototype, "noDrag");
307
- l([
308
- a({ type: Boolean, attribute: "no-close", reflect: !0 })
309
- ], e.prototype, "noClose");
310
- l([
311
- a({ type: String, reflect: !0 })
312
- ], e.prototype, "variant");
313
- l([
314
- a({ type: Boolean, attribute: "no-top-menu-label", reflect: !0 })
315
- ], e.prototype, "noTopMenuLabel");
316
- l([
317
- Y({ context: N, subscribe: !0 })
318
- ], e.prototype, "_store");
319
- l([
320
- a({ type: String, attribute: "drag-boundary", reflect: !1 })
321
- ], e.prototype, "dragBoundary");
322
- l([
323
- a({ type: Array, reflect: !1, attribute: "slot-contents" })
324
- ], e.prototype, "slotContents");
325
- l([
304
+ n([
305
+ u({ type: String, reflect: !0 })
306
+ ], l.prototype, "language");
307
+ n([
308
+ u({ type: String, attribute: "content-language", reflect: !0 })
309
+ ], l.prototype, "contentLanguage");
310
+ n([
311
+ u({ type: String, attribute: "slot-type", reflect: !0 })
312
+ ], l.prototype, "slotType");
313
+ n([
314
+ u({ type: String, attribute: "slot-name", reflect: !0 })
315
+ ], l.prototype, "slotName");
316
+ n([
317
+ u({ type: String, attribute: "item-type", reflect: !0 })
318
+ ], l.prototype, "itemType");
319
+ n([
320
+ u({ type: Boolean, attribute: "no-drag", reflect: !0 })
321
+ ], l.prototype, "noDrag");
322
+ n([
323
+ u({ type: Boolean, attribute: "no-close", reflect: !0 })
324
+ ], l.prototype, "noClose");
325
+ n([
326
+ u({ type: String, reflect: !0 })
327
+ ], l.prototype, "variant");
328
+ n([
329
+ u({ type: Boolean, attribute: "no-top-menu-label", reflect: !0 })
330
+ ], l.prototype, "noTopMenuLabel");
331
+ n([
332
+ N({ context: X, subscribe: !0 })
333
+ ], l.prototype, "_store");
334
+ n([
335
+ u({ type: String, attribute: "drag-boundary", reflect: !1 })
336
+ ], l.prototype, "dragBoundary");
337
+ n([
338
+ u({ type: Array, reflect: !1, attribute: "slot-contents" })
339
+ ], l.prototype, "slotContents");
340
+ n([
326
341
  I()
327
- ], e.prototype, "_periodOverPeriodEnabled");
328
- l([
342
+ ], l.prototype, "_periodOverPeriodEnabled");
343
+ n([
329
344
  I()
330
- ], e.prototype, "measureColumns");
331
- l([
332
- a({ type: Number, reflect: !1, attribute: "slot-index" })
333
- ], e.prototype, "slotIndex");
334
- l([
335
- T("luzmo-display-settings")
336
- ], e.prototype, "displaySettingsElement");
337
- l([
338
- T("luzmo-slot-menu-list")
339
- ], e.prototype, "slotMenuListElement");
340
- l([
341
- a({ type: String, attribute: "api-url", reflect: !0 })
342
- ], e.prototype, "apiUrl");
343
- l([
344
- a({ type: String, attribute: "auth-key", reflect: !0 })
345
- ], e.prototype, "authKey");
346
- l([
347
- a({ type: String, attribute: "auth-token", reflect: !0 })
348
- ], e.prototype, "authToken");
349
- l([
345
+ ], l.prototype, "measureColumns");
346
+ n([
347
+ u({ type: Number, reflect: !1, attribute: "slot-index" })
348
+ ], l.prototype, "slotIndex");
349
+ n([
350
+ A("luzmo-display-settings")
351
+ ], l.prototype, "displaySettingsElement");
352
+ n([
353
+ A("luzmo-slot-menu-list")
354
+ ], l.prototype, "slotMenuListElement");
355
+ n([
356
+ u({ type: String, attribute: "api-url", reflect: !0 })
357
+ ], l.prototype, "apiUrl");
358
+ n([
359
+ u({ type: String, attribute: "auth-key", reflect: !0 })
360
+ ], l.prototype, "authKey");
361
+ n([
362
+ u({ type: String, attribute: "auth-token", reflect: !0 })
363
+ ], l.prototype, "authToken");
364
+ n([
350
365
  I()
351
- ], e.prototype, "_slotContents");
352
- customElements.get("luzmo-slot-menu") || customElements.define("luzmo-slot-menu", e);
366
+ ], l.prototype, "_slotContents");
367
+ customElements.get("luzmo-slot-menu") || customElements.define("luzmo-slot-menu", l);
353
368
  export {
354
- e as LuzmoSlotMenu
369
+ l as LuzmoSlotMenu
355
370
  };
@@ -75,12 +75,16 @@ export declare class LuzmoSlotMenu extends LuzmoSlotMenu_base {
75
75
  private _slotContents;
76
76
  _activeIndex: number;
77
77
  private _cleanupDrag?;
78
- private _linkedDatasetIds;
78
+ private _linkedDatasetsIds;
79
79
  private _lastFetchedDatasetId?;
80
80
  private get _currentSlotContent();
81
81
  private get _currentLabel();
82
82
  connectedCallback(): void;
83
83
  disconnectedCallback(): void;
84
+ /**
85
+ * Helper to attach draggable behaviour to the top-level handle.
86
+ */
87
+ private _attachDragHandle;
84
88
  private _sendChangeEvent;
85
89
  private _sendCloseEvent;
86
90
  private isArrayColumnType;