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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/angular/README.md +2 -2
  2. package/angular/components/ai-interaction-textarea.component.ts +8 -0
  3. package/angular/components/{filter-data-item-picker.component.ts → data-items-select.component.ts} +34 -17
  4. package/angular/components/edit-filters/index.ts +1 -0
  5. package/angular/components/edit-filters/types.ts +10 -0
  6. package/angular/components/edit-filters.component.ts +41 -0
  7. package/angular/components/slot-contents-picker.component.ts +8 -6
  8. package/angular/esm/components/ai-interaction-textarea.component.d.ts +5 -1
  9. package/angular/esm/components/ai-interaction-textarea.component.js +22 -2
  10. package/angular/esm/components/data-items-select.component.d.ts +33 -0
  11. package/angular/esm/components/{filter-data-item-picker.component.js → data-items-select.component.js} +41 -26
  12. package/angular/esm/components/edit-filters/index.d.ts +1 -0
  13. package/angular/esm/components/edit-filters/index.js +1 -0
  14. package/angular/esm/components/edit-filters/types.d.ts +8 -0
  15. package/angular/esm/components/edit-filters/types.js +1 -0
  16. package/angular/esm/components/edit-filters.component.d.ts +21 -0
  17. package/angular/esm/components/edit-filters.component.js +89 -0
  18. package/angular/esm/components/slot-contents-picker.component.d.ts +7 -6
  19. package/angular/esm/components/slot-contents-picker.component.js +11 -6
  20. package/angular/esm/index.d.ts +5 -5
  21. package/angular/esm/index.js +6 -6
  22. package/angular/esm/types.d.ts +9 -0
  23. package/angular/index.ts +6 -6
  24. package/angular/types.ts +17 -0
  25. package/angular/utils/filters/expressions.d.ts +1 -1
  26. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +21 -0
  27. package/components/ai-interaction-textarea/index.cjs +17 -15
  28. package/components/ai-interaction-textarea/index.js +90 -65
  29. package/components/{filter-data-item-picker/filter-data-item-picker.d.ts → data-items-select/data-items-select.d.ts} +36 -21
  30. package/components/data-items-select/index.cjs +39 -0
  31. package/components/data-items-select/index.d.ts +6 -0
  32. package/components/{filter-data-item-picker → data-items-select}/index.js +127 -109
  33. package/components/dataset-selector-list/index.cjs +1 -1
  34. package/components/dataset-selector-list/index.js +3 -3
  35. package/components/dataset-selector-row/index.cjs +1 -1
  36. package/components/dataset-selector-row/index.js +1 -1
  37. package/components/{de-COKGBX9L.cjs → de-DOYL4txr.cjs} +1 -1
  38. package/components/{de-DU0DlXuf.js → de-SDzGVifr.js} +10 -1
  39. package/components/display-settings-binning/index.cjs +1 -1
  40. package/components/display-settings-binning/index.js +1 -1
  41. package/components/display-settings-datetime/index.cjs +1 -1
  42. package/components/display-settings-datetime/index.js +1 -1
  43. package/components/display-settings-grand-totals/index.cjs +1 -1
  44. package/components/display-settings-grand-totals/index.js +1 -1
  45. package/components/display-settings-numeric/index.cjs +1 -1
  46. package/components/display-settings-numeric/index.js +1 -1
  47. package/components/display-settings-period-over-period/index.cjs +1 -1
  48. package/components/display-settings-period-over-period/index.js +1 -1
  49. package/components/draggable-data-item/index.cjs +1 -1
  50. package/components/draggable-data-item/index.js +1 -1
  51. package/components/draggable-data-item-level/index.cjs +1 -1
  52. package/components/draggable-data-item-level/index.js +1 -1
  53. package/components/droppable-slot/index.cjs +9 -9
  54. package/components/droppable-slot/index.js +82 -158
  55. package/components/edit-filters/edit-filters.d.ts +79 -0
  56. package/components/edit-filters/index.cjs +144 -0
  57. package/components/edit-filters/index.d.ts +8 -0
  58. package/components/edit-filters/index.js +341 -0
  59. package/components/edit-filters/types.d.ts +8 -0
  60. package/components/{es-BxR1uGKR.js → es-B1TeapPZ.js} +10 -1
  61. package/components/{es-CaKfa7fn.cjs → es-DcQvrHgz.cjs} +1 -1
  62. package/components/filter-expression-picker/index.cjs +1 -1
  63. package/components/filter-expression-picker/index.js +1 -1
  64. package/components/filter-item/filter-item.d.ts +1 -1
  65. package/components/filter-item/index.cjs +7 -5
  66. package/components/filter-item/index.js +78 -68
  67. package/components/filter-value-picker/index.cjs +1 -1
  68. package/components/filter-value-picker/index.js +1 -1
  69. package/components/filter-value-picker-datetime/index.cjs +2 -2
  70. package/components/filter-value-picker-datetime/index.js +4 -4
  71. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  72. package/components/filter-value-picker-hierarchy/index.js +2 -2
  73. package/components/filter-value-picker-numeric/index.cjs +2 -1
  74. package/components/filter-value-picker-numeric/index.js +3 -2
  75. package/components/{fr-DiZbjx_a.cjs → fr-D6QmA3Ve.cjs} +1 -1
  76. package/components/{fr-CvltYxR_.js → fr-sZFBmltf.js} +10 -1
  77. package/components/{get-css-variable-Pzks_rOx.cjs → get-css-variable-C0B_Sxqf.cjs} +1 -1
  78. package/components/{get-css-variable-Bb7TxJdX.js → get-css-variable-DgTBQV3c.js} +2 -1
  79. package/components/grid/index.cjs +1 -1
  80. package/components/grid/index.js +1 -1
  81. package/components/{index-DNPULp4A.js → index-BikhVAa1.js} +1 -1
  82. package/components/{index-CFL6gmIu.cjs → index-CAbDIHYI.cjs} +1 -1
  83. package/components/{index-BNAmjOkm.cjs → index-DM58h73U.cjs} +3 -3
  84. package/components/{index-DdyZ2g5L.js → index-DR5275fa.js} +48 -18
  85. package/components/index.cjs +1 -1
  86. package/components/index.js +105 -106
  87. package/components/{nl-CLs7FmRK.js → nl-BYXZ-qNp.js} +10 -1
  88. package/components/{nl-Bot6bJ4g.cjs → nl-D7oNsLn0.cjs} +1 -1
  89. package/components/{set-locale-hKTMz37h.js → set-locale-B5562CBM.js} +1 -1
  90. package/components/{set-locale-BRRalqne.cjs → set-locale-B8iQGfk0.cjs} +1 -1
  91. package/components/slot-contents-picker/index.cjs +31 -27
  92. package/components/slot-contents-picker/index.js +137 -124
  93. package/components/slot-contents-picker/slot-contents-picker.d.ts +26 -5
  94. package/components/slot-menu/index.cjs +6 -6
  95. package/components/slot-menu/index.js +76 -76
  96. package/components/slot-menu-list/index.cjs +1 -1
  97. package/components/slot-menu-list/index.js +1 -1
  98. package/components/slot-store-CRfN0nD3.js +98 -0
  99. package/components/slot-store-Dd_cPNXk.cjs +20 -0
  100. package/components/utils.cjs +1 -1
  101. package/components/utils.js +1 -1
  102. package/components/viz-item-menu/index.cjs +6 -6
  103. package/components/viz-item-menu/index.js +27 -28
  104. package/custom-elements.json +1922 -1631
  105. package/index.d.ts +1 -1
  106. package/package.json +12 -12
  107. package/types.d.ts +9 -0
  108. package/utils/filters/expressions.d.ts +1 -1
  109. package/angular/components/filter-group.component.ts +0 -29
  110. package/angular/esm/components/filter-data-item-picker.component.d.ts +0 -30
  111. package/angular/esm/components/filter-group.component.d.ts +0 -12
  112. package/angular/esm/components/filter-group.component.js +0 -56
  113. package/components/filter-data-item-picker/index.cjs +0 -47
  114. package/components/filter-data-item-picker/index.d.ts +0 -7
  115. package/components/filter-group/filter-group.d.ts +0 -26
  116. package/components/filter-group/index.d.ts +0 -7
@@ -17,23 +17,22 @@
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 { a as w } from "../get-css-variable-Bb7TxJdX.js";
21
- import { ContextProvider as k } from "@lit/context";
22
- import { msg as m, localized as S } from "@lit/localize";
23
- import { Task as A } from "@lit/task";
24
- import { luzmoIcon as z, luzmoCog as E, luzmoTrashOutline as L } from "@luzmo/icons";
20
+ import { a as x } from "../get-css-variable-DgTBQV3c.js";
21
+ import { ContextProvider as w } from "@lit/context";
22
+ import { msg as m, localized as k } from "@lit/localize";
23
+ import { Task as D } from "@lit/task";
24
+ import { luzmoIcon as g, luzmoCog as S, luzmoTrashOutline as E } from "@luzmo/icons";
25
25
  import "@luzmo/lucero/tooltip";
26
- import { d as y } from "../index-DNPULp4A.js";
27
- import { i as c, l as I } from "../localize-CcDpq940.js";
28
- import { D as $ } from "../en-D3ihEGXg.js";
29
- import { html as d, unsafeCSS as O } from "lit";
30
- import { property as n, query as _, state as x } from "lit/decorators.js";
31
- import { L as T } from "../focusable-BS2pbY7w.js";
32
- import { S as M } from "../sized-mixin-cJbo3PKR.js";
33
- import { s as U } from "../index-CqKpf0B8.js";
34
- import { signal as h, computed as F } from "@lit-labs/signals";
35
- import { P as g } from "../types-RxAJdtVT.js";
36
- import { g as P, t as B, s as G } from "../set-locale-hKTMz37h.js";
26
+ import { d as f } from "../index-BikhVAa1.js";
27
+ import { i as c, l as L } from "../localize-CcDpq940.js";
28
+ import { D as A } from "../en-D3ihEGXg.js";
29
+ import { html as d, unsafeCSS as $ } from "lit";
30
+ import { property as n, query as v, state as y } from "lit/decorators.js";
31
+ import { L as I } from "../focusable-BS2pbY7w.js";
32
+ import { S as T } from "../sized-mixin-cJbo3PKR.js";
33
+ import { s as M } from "../index-CqKpf0B8.js";
34
+ import { S as O } from "../slot-store-CRfN0nD3.js";
35
+ import { g as G, t as U, s as B } from "../set-locale-B5562CBM.js";
37
36
  import "../slot-menu/index.js";
38
37
  (function() {
39
38
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
@@ -49,96 +48,21 @@ const R = (o, t) => {
49
48
  // TODO: Remove this once column/set -> columnId/datasetId migration is fully done.
50
49
  };
51
50
  "columnId" in o && !c(o.columnId) && o.columnId !== "" ? (e.columnId = o.columnId, e.column = o.columnId) : "formulaId" in o && !c(o.formulaId) && o.formulaId !== "" && (e.formulaId = o.formulaId, e.formula = o.formulaId);
52
- const l = o.type === "datetime" || o.type === "array[datetime]", r = { ...o.name ?? { en: "Untitled" } };
51
+ const s = o.type === "datetime" || o.type === "array[datetime]", l = { ...o.name ?? { en: "Untitled" } };
53
52
  let i = o.level;
54
- if (l && (i = i ?? o.lowestLevel ?? 9, t)) {
55
- const p = $.shortLevels?.filter((b) => b !== "All") ?? [], u = Math.max(0, Math.min(p.length - 1, (i ?? 1) - 1)), f = p[u];
56
- if (f) {
57
- const b = `(${f})`, D = Object.keys(r);
58
- for (const v of D)
59
- r[v] = `${r[v]} ${b}`;
53
+ if (s && (i = i ?? o.lowestLevel ?? 9, t)) {
54
+ const p = A.shortLevels?.filter((u) => u !== "All") ?? [], _ = Math.max(0, Math.min(p.length - 1, (i ?? 1) - 1)), b = p[_];
55
+ if (b) {
56
+ const u = `(${b})`, C = Object.keys(l);
57
+ for (const h of C)
58
+ l[h] = `${l[h]} ${u}`;
60
59
  }
61
60
  }
62
- return e.label = r, c(o.subtype) || (e.subtype = o.subtype), "lowestLevel" in o && !c(o.lowestLevel) && (e.lowestLevel = o.lowestLevel), c(o.format) || (e.format = o.format), c(i) || (e.level = i), c(o.lowestLevel) || (e.lowestLevel = o.lowestLevel), o.type === "numeric" && o.subtype === "currency" && o.currency?.symbol && (e.currency = o.currency.symbol), Array.isArray(o.duration_levels) && o.duration_format && (e.duration = {
61
+ return e.label = l, c(o.subtype) || (e.subtype = o.subtype), "lowestLevel" in o && !c(o.lowestLevel) && (e.lowestLevel = o.lowestLevel), c(o.format) || (e.format = o.format), c(i) || (e.level = i), c(o.lowestLevel) || (e.lowestLevel = o.lowestLevel), o.type === "numeric" && o.subtype === "currency" && o.currency?.symbol && (e.currency = o.currency.symbol), Array.isArray(o.duration_levels) && o.duration_format && (e.duration = {
63
62
  levels: o.duration_levels,
64
63
  format: o.duration_format
65
64
  }), e;
66
- };
67
- class N {
68
- constructor() {
69
- this.slotContents = h([]), this.slotsContents = h([]), this.periodOverPeriodUiType = h(
70
- null
71
- ), this.linkedDataset = h(
72
- []
73
- ), this._popEnabledChartTypes = [
74
- "area-chart",
75
- "bar-chart",
76
- "combination-chart",
77
- "column-chart",
78
- "line-chart"
79
- ], this.activeSlotContents = F(() => this.slotContents.get()[this.activeIndex.get()]), this.activeIndex = h(0);
80
- }
81
- isArrayColumnType(t) {
82
- return t.startsWith("array[");
83
- }
84
- setPeriodOverPeriodCondition(t, e) {
85
- if (!e?.periodOverPeriod?.newUi) {
86
- this.periodOverPeriodUiType.set(this.oldConditionalLogic(t));
87
- return;
88
- }
89
- this.periodOverPeriodUiType.set(
90
- this.getUiConditionToApply(e)
91
- );
92
- }
93
- getUiConditionToApply(t) {
94
- const e = this.hasDatetimeColumnOnCategoryOrXAxis(), l = t?.periodOverPeriod?.hasConnectedComparisonFilter, r = this.linkedDataset.get().some(
95
- ({ columns: i }) => i?.some((p) => p.type === "datetime")
96
- );
97
- return !e && !l && !r ? null : e && l ? g.HasDatetimeColumnAndComparisonFilters : e && !l ? g.HasDatetimeColumnAndNoComparisonFilters : !e && l ? g.NoDatetimeColumnButComparisonFilters : g.NoDatetimeColumnAndNoComparisonFilters;
98
- }
99
- oldConditionalLogic(t) {
100
- const e = this.slotsContents.get() ?? [], r = (e.find(
101
- (u) => ["y-axis", "x-axis", "row"].includes(u.name)
102
- )?.content ?? [])?.[0] ?? null, i = e.find((u) => u.name === "measure")?.content ?? [];
103
- return r && this._popEnabledChartTypes.includes(t) && r.type === "datetime" && !this.isArrayColumnType(r.type) && !r.datetimeDisplayMode && r.level !== 4 && i.length > 0 ? g.OldImplementation : null;
104
- }
105
- /**
106
- * Detects if there's a datetime column on Category or X-axis slots
107
- */
108
- hasDatetimeColumnOnCategoryOrXAxis() {
109
- const l = ((this.slotsContents.get() ?? []).find(
110
- (r) => ["y-axis", "x-axis"].includes(r.name)
111
- )?.content ?? [])?.[0] ?? null;
112
- return !!(l && l.type === "datetime" && !this.isArrayColumnType(l.type));
113
- }
114
- /** Replace the full list (e.g. after dropping or re-ordering). */
115
- setContents(t, e) {
116
- if (this.slotContents.set(t), this.activeIndex.get() >= t.length && this.activeIndex.set(t.length > 0 ? t.length - 1 : 0), e) {
117
- const l = structuredClone(this.slotsContents.get()) ?? [], r = l.find((i) => i.name === e);
118
- r && (r.content = t), this.setFullContents(l);
119
- }
120
- }
121
- setFullContents(t) {
122
- this.slotsContents.set(t);
123
- }
124
- /** Change which item is considered active (e.g. user clicked in list). */
125
- updateActive(t) {
126
- t >= 0 && t < this.slotContents.get().length && this.activeIndex.set(t);
127
- }
128
- /** Update / overwrite a single content entry. */
129
- updateContent(t, e = this.activeIndex.get()) {
130
- if (e < 0 || e >= this.slotContents.get().length) return;
131
- const l = [...this.slotContents.get()];
132
- l[e] = structuredClone(t), this.slotContents.set(l);
133
- }
134
- /** Remove one content entry by index. */
135
- removeContent(t) {
136
- if (t < 0 || t >= this.slotContents.get().length) return;
137
- const e = this.slotContents.get().filter((l, r) => r !== t);
138
- this.slotContents.set(e), this.activeIndex.get() >= e.length && this.activeIndex.set(e.length > 0 ? e.length - 1 : 0);
139
- }
140
- }
141
- const j = ":host{font-family:var(--luzmo-droppable-slot-font-family, var(--luzmo-font-family));--slot-height: var( --luzmo-droppable-slot-height, var(--droppable-slot-height) )}.droppable-slot-wrapper{position:relative;width:var(--slot-height);min-width:var(--slot-height);height:auto;overflow:visible}.droppable-slot[filled]{border:var(--luzmo-droppable-slot-filled-border-width, var(--droppable-slot-filled-border-width)) var(--luzmo-droppable-slot-filled-border-style, var(--droppable-slot-filled-border-style)) var(--luzmo-droppable-slot-filled-border-color, var(--droppable-slot-filled-border-color));background-color:var(--luzmo-droppable-slot-filled-background-color, var(--droppable-slot-filled-background-color));color:var(--luzmo-droppable-slot-filled-color, var(--droppable-slot-filled-color));padding-right:0;gap:var(--luzmo-droppable-slot-filled-gap, var(--droppable-slot-filled-gap))}.droppable-slot[filled]>*:not(luzmo-overlay){cursor:pointer}.droppable-slot{background-color:var(--luzmo-droppable-slot-background-color, var(--droppable-slot-background-color));color:var(--luzmo-droppable-slot-font-color, var(--droppable-slot-font-color));border:var(--luzmo-droppable-slot-border-width, var(--droppable-slot-border-width)) var(--luzmo-droppable-slot-border-style, var(--droppable-slot-border-style)) var(--luzmo-droppable-slot-border-color, var(--droppable-slot-border-color));display:flex;justify-content:space-between;align-items:center;padding-left:var(--luzmo-droppable-slot-edge-to-label, var(--droppable-slot-edge-to-label));padding-right:var(--luzmo-droppable-slot-label-to-controls, var(--droppable-slot-label-to-controls));border-radius:var(--luzmo-droppable-slot-border-radius, var(--droppable-slot-border-radius));height:var(--luzmo-droppable-slot-height, var(--droppable-slot-height))}:host(.pulse) .droppable-slot{animation:dropelementpulse 1s infinite ease-in-out}:host([accept-drag]) .droppable-slot{background-color:var(--luzmo-droppable-slot-accept-drag-background-color, var(--droppable-slot-accept-drag-background-color));color:var(--luzmo-droppable-slot-accept-drag-font-color, var(--droppable-slot-accept-drag-font-color));border-color:var(--luzmo-droppable-slot-accept-drag-border-color, var(--droppable-slot-accept-drag-border-color));animation:dropelementpulse 1s infinite ease-in-out}:host([accept-drag]) .controls{background-color:var(--luzmo-droppable-slot-accept-drag-controls-background-color, var(--droppable-slot-accept-drag-controls-background-color));color:var(--luzmo-droppable-slot-accept-drag-controls-color, var(--droppable-slot-accept-drag-controls-color))}:host([would-accept-drag]) .droppable-slot:not([filled]){animation:var(--luzmo-slot-would-accept-drop-animation, none)}@keyframes dropelementpulse{0%{box-shadow:0 0 0 0 var(--luzmo-droppable-slot-pulse-color, var(--droppable-slot-pulse-color)),0 0 0 0 var(--luzmo-droppable-slot-pulse-color, var(--droppable-slot-pulse-color))}to{box-shadow:0 0 0 1rem transparent,0 0 0 1rem transparent}}:host([disabled]) .droppable-slot{background-color:var(--luzmo-droppable-slot-background-color-disabled, var(--droppable-slot-background-color-disabled));color:var(--luzmo-droppable-slot-color-disabled, var(--droppable-slot-color-disabled));cursor:not-allowed}:host([disabled]) .drag-handle-icon{opacity:.25;font-size:12px}.drag-handle-icon{opacity:.5;font-size:12px}.droppable-slot-label{font-size:var(--luzmo-droppable-slot-label-font-size, var(--droppable-slot-label-font-size));padding-top:var(--luzmo-droppable-slot-label-padding-top, var(--droppable-slot-label-padding-top));padding-bottom:var(--luzmo-droppable-slot-label-padding-bottom, var(--droppable-slot-label-padding-bottom));flex-grow:1;max-width:var(--luzmo-droppable-slot-label-max-width);margin-right:var(--luzmo-droppable-slot-text-to-controls, var(--droppable-slot-text-to-controls));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls{height:100%;display:flex;align-items:center;gap:var(--luzmo-droppable-slot-controls-gap, var(--droppable-slot-controls-gap));background-color:var(--luzmo-droppable-slot-controls-background-color, var(--droppable-slot-controls-background-color));color:var(--luzmo-droppable-slot-controls-color, var(--droppable-slot-controls-color));margin-right:var(--luzmo-droppable-slot-controls-to-edge, var(--droppable-slot-controls-to-edge));padding:0 var(--luzmo-droppable-slot-controls-horizontal-padding, var(--droppable-slot-controls-horizontal-padding));font-size:var(--luzmo-droppable-slot-controls-font-size)}.controls div{cursor:pointer;height:100%;display:flex;align-items:center;padding:0 var(--luzmo-droppable-slot-controls-control-horizontal-padding, var(--droppable-slot-controls-control-horizontal-padding))}.droppable-slot.rotate{position:absolute;top:0;left:50%;transform-origin:center;max-width:15rem;transform:translate(-50%) rotate(-90deg)}luzmo-slot-menu[placement=bottom],luzmo-slot-menu[placement=top],luzmo-slot-menu[placement=bottom-start],luzmo-slot-menu[placement=top-start],luzmo-slot-menu[placement=bottom-end],luzmo-slot-menu[placement=top-end]{margin:var(--luzmo-droppable-slot-overlay-vertical-gap, var(--droppable-slot-overlay-vertical-gap)) 0}luzmo-slot-menu[placement=left],luzmo-slot-menu[placement=right],luzmo-slot-menu[placement=left-start],luzmo-slot-menu[placement=right-start],luzmo-slot-menu[placement=left-end],luzmo-slot-menu[placement=right-end]{margin:0 var(--luzmo-droppable-slot-overlay-horizontal-gap, var(--droppable-slot-overlay-horizontal-gap))}:host{--droppable-slot-border-width: var(--luzmo-border-width);--droppable-slot-border-style: dashed;--droppable-slot-border-color: var(--luzmo-border-color);--droppable-slot-background-color: transparent;--droppable-slot-accept-drag-background-color: var(--luzmo-positive-color);--droppable-slot-accept-drag-color: white;--droppable-slot-accept-drag-border-color: var(--luzmo-positive-color-down);--droppable-slot-accept-drag-font-color: white;--droppable-slot-font-color: var(--luzmo-font-color);--droppable-slot-controls-background-color: var(--luzmo-primary-down);--droppable-slot-controls-color: var(--luzmo-primary-inverse-color);--droppable-slot-accept-drag-controls-background-color: var( --luzmo-positive-color-down );--droppable-slot-accept-drag-controls-color: white;--droppable-slot-text-to-controls: var(--luzmo-spacing-3);--droppable-slot-controls-to-edge: 0;--droppable-slot-controls-gap: var(--luzmo-spacing-2);--droppable-slot-controls-horizontal-padding: var(--luzmo-spacing-2);--droppable-slot-controls-control-horizontal-padding: var(--luzmo-spacing-3);--droppable-slot-filled-background-color: var(--luzmo-primary);--droppable-slot-filled-color: var(--luzmo-primary-inverse-color);--droppable-slot-filled-border-width: var(--luzmo-border-width);--droppable-slot-filled-border-style: solid;--droppable-slot-filled-border-color: var(--luzmo-primary-down);--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height) );--droppable-slot-label-font-size: var(--luzmo-font-size);--droppable-slot-icon-type-font-size: var(--luzmo-font-size);--droppable-slot-edge-to-label: var(--luzmo-spacing-5);--droppable-slot-label-to-controls: var(--luzmo-spacing-5);--droppable-slot-color-disabled: var(--luzmo-color-disabled);--droppable-slot-background-color-disabled: var( --luzmo-background-color-disabled );--droppable-slot-pulse-color: rgba(var(--luzmo-positive-color-rgb), .2);--droppable-slot-border-radius: var(--luzmo-border-radius);--droppable-slot-filled-gap: var(--luzmo-spacing-5)}:host{--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height) );--droppable-slot-label-font-size: var(--luzmo-font-size);--droppable-slot-icon-type-font-size: var(--luzmo-font-size);--droppable-slot-horizontal-padding: var(--luzmo-spacing-4);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-4);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-4)}:host([size=s]){--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height-s) );--droppable-slot-label-font-size: var(--luzmo-font-size-s);--droppable-slot-icon-type-font-size: var(--luzmo-font-size-s);--droppable-slot-horizontal-padding: var(--luzmo-spacing-4);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-4);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-4)}:host([size=l]){--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height-l) );--droppable-slot-label-font-size: var(--luzmo-font-size-l);--droppable-slot-icon-type-font-size: var(--luzmo-font-size-l);--droppable-slot-horizontal-padding: var(--luzmo-spacing-5);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-5);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-5)}:host([size=xl]){--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height-xl) );--droppable-slot-label-font-size: var(--luzmo-font-size-xl);--droppable-slot-icon-type-font-size: var(--luzmo-font-size-xl);--droppable-slot-horizontal-padding: var(--luzmo-spacing-5);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-5);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-5)}:host{box-sizing:border-box}", C = {
65
+ }, N = ":host{font-family:var(--luzmo-droppable-slot-font-family, var(--luzmo-font-family));--slot-height: var( --luzmo-droppable-slot-height, var(--droppable-slot-height) )}.droppable-slot-wrapper{position:relative;width:var(--slot-height);min-width:var(--slot-height);height:auto;overflow:visible}.droppable-slot[filled]{border:var(--luzmo-droppable-slot-filled-border-width, var(--droppable-slot-filled-border-width)) var(--luzmo-droppable-slot-filled-border-style, var(--droppable-slot-filled-border-style)) var(--luzmo-droppable-slot-filled-border-color, var(--droppable-slot-filled-border-color));background-color:var(--luzmo-droppable-slot-filled-background-color, var(--droppable-slot-filled-background-color));color:var(--luzmo-droppable-slot-filled-color, var(--droppable-slot-filled-color));padding-right:0;gap:var(--luzmo-droppable-slot-filled-gap, var(--droppable-slot-filled-gap))}.droppable-slot[filled]>*:not(luzmo-overlay){cursor:pointer}.droppable-slot{background-color:var(--luzmo-droppable-slot-background-color, var(--droppable-slot-background-color));color:var(--luzmo-droppable-slot-font-color, var(--droppable-slot-font-color));border:var(--luzmo-droppable-slot-border-width, var(--droppable-slot-border-width)) var(--luzmo-droppable-slot-border-style, var(--droppable-slot-border-style)) var(--luzmo-droppable-slot-border-color, var(--droppable-slot-border-color));display:flex;justify-content:space-between;align-items:center;padding-left:var(--luzmo-droppable-slot-edge-to-label, var(--droppable-slot-edge-to-label));padding-right:var(--luzmo-droppable-slot-label-to-controls, var(--droppable-slot-label-to-controls));border-radius:var(--luzmo-droppable-slot-border-radius, var(--droppable-slot-border-radius));height:var(--luzmo-droppable-slot-height, var(--droppable-slot-height))}:host(.pulse) .droppable-slot{animation:dropelementpulse 1s infinite ease-in-out}:host([accept-drag]) .droppable-slot{background-color:var(--luzmo-droppable-slot-accept-drag-background-color, var(--droppable-slot-accept-drag-background-color));color:var(--luzmo-droppable-slot-accept-drag-font-color, var(--droppable-slot-accept-drag-font-color));border-color:var(--luzmo-droppable-slot-accept-drag-border-color, var(--droppable-slot-accept-drag-border-color));animation:dropelementpulse 1s infinite ease-in-out}:host([accept-drag]) .controls{background-color:var(--luzmo-droppable-slot-accept-drag-controls-background-color, var(--droppable-slot-accept-drag-controls-background-color));color:var(--luzmo-droppable-slot-accept-drag-controls-color, var(--droppable-slot-accept-drag-controls-color))}:host([would-accept-drag]) .droppable-slot:not([filled]){animation:var(--luzmo-slot-would-accept-drop-animation, none)}@keyframes dropelementpulse{0%{box-shadow:0 0 0 0 var(--luzmo-droppable-slot-pulse-color, var(--droppable-slot-pulse-color)),0 0 0 0 var(--luzmo-droppable-slot-pulse-color, var(--droppable-slot-pulse-color))}to{box-shadow:0 0 0 1rem transparent,0 0 0 1rem transparent}}:host([disabled]) .droppable-slot{background-color:var(--luzmo-droppable-slot-background-color-disabled, var(--droppable-slot-background-color-disabled));color:var(--luzmo-droppable-slot-color-disabled, var(--droppable-slot-color-disabled));cursor:not-allowed}:host([disabled]) .drag-handle-icon{opacity:.25;font-size:12px}.drag-handle-icon{opacity:.5;font-size:12px}.droppable-slot-label{font-size:var(--luzmo-droppable-slot-label-font-size, var(--droppable-slot-label-font-size));padding-top:var(--luzmo-droppable-slot-label-padding-top, var(--droppable-slot-label-padding-top));padding-bottom:var(--luzmo-droppable-slot-label-padding-bottom, var(--droppable-slot-label-padding-bottom));flex-grow:1;max-width:var(--luzmo-droppable-slot-label-max-width);margin-right:var(--luzmo-droppable-slot-text-to-controls, var(--droppable-slot-text-to-controls));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls{height:100%;display:flex;align-items:center;gap:var(--luzmo-droppable-slot-controls-gap, var(--droppable-slot-controls-gap));background-color:var(--luzmo-droppable-slot-controls-background-color, var(--droppable-slot-controls-background-color));color:var(--luzmo-droppable-slot-controls-color, var(--droppable-slot-controls-color));margin-right:var(--luzmo-droppable-slot-controls-to-edge, var(--droppable-slot-controls-to-edge));padding:0 var(--luzmo-droppable-slot-controls-horizontal-padding, var(--droppable-slot-controls-horizontal-padding));font-size:var(--luzmo-droppable-slot-controls-font-size)}.controls div{cursor:pointer;height:100%;display:flex;align-items:center;padding:0 var(--luzmo-droppable-slot-controls-control-horizontal-padding, var(--droppable-slot-controls-control-horizontal-padding))}.droppable-slot.rotate{position:absolute;top:0;left:50%;transform-origin:center;max-width:15rem;transform:translate(-50%) rotate(-90deg)}luzmo-slot-menu[placement=bottom],luzmo-slot-menu[placement=top],luzmo-slot-menu[placement=bottom-start],luzmo-slot-menu[placement=top-start],luzmo-slot-menu[placement=bottom-end],luzmo-slot-menu[placement=top-end]{margin:var(--luzmo-droppable-slot-overlay-vertical-gap, var(--droppable-slot-overlay-vertical-gap)) 0}luzmo-slot-menu[placement=left],luzmo-slot-menu[placement=right],luzmo-slot-menu[placement=left-start],luzmo-slot-menu[placement=right-start],luzmo-slot-menu[placement=left-end],luzmo-slot-menu[placement=right-end]{margin:0 var(--luzmo-droppable-slot-overlay-horizontal-gap, var(--droppable-slot-overlay-horizontal-gap))}:host{--droppable-slot-border-width: var(--luzmo-border-width);--droppable-slot-border-style: dashed;--droppable-slot-border-color: var(--luzmo-border-color);--droppable-slot-background-color: transparent;--droppable-slot-accept-drag-background-color: var(--luzmo-positive-color);--droppable-slot-accept-drag-color: white;--droppable-slot-accept-drag-border-color: var(--luzmo-positive-color-down);--droppable-slot-accept-drag-font-color: white;--droppable-slot-font-color: var(--luzmo-font-color);--droppable-slot-controls-background-color: var(--luzmo-primary-down);--droppable-slot-controls-color: var(--luzmo-primary-inverse-color);--droppable-slot-accept-drag-controls-background-color: var( --luzmo-positive-color-down );--droppable-slot-accept-drag-controls-color: white;--droppable-slot-text-to-controls: var(--luzmo-spacing-3);--droppable-slot-controls-to-edge: 0;--droppable-slot-controls-gap: var(--luzmo-spacing-2);--droppable-slot-controls-horizontal-padding: var(--luzmo-spacing-2);--droppable-slot-controls-control-horizontal-padding: var(--luzmo-spacing-3);--droppable-slot-filled-background-color: var(--luzmo-primary);--droppable-slot-filled-color: var(--luzmo-primary-inverse-color);--droppable-slot-filled-border-width: var(--luzmo-border-width);--droppable-slot-filled-border-style: solid;--droppable-slot-filled-border-color: var(--luzmo-primary-down);--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height) );--droppable-slot-label-font-size: var(--luzmo-font-size);--droppable-slot-icon-type-font-size: var(--luzmo-font-size);--droppable-slot-edge-to-label: var(--luzmo-spacing-5);--droppable-slot-label-to-controls: var(--luzmo-spacing-5);--droppable-slot-color-disabled: var(--luzmo-color-disabled);--droppable-slot-background-color-disabled: var( --luzmo-background-color-disabled );--droppable-slot-pulse-color: rgba(var(--luzmo-positive-color-rgb), .2);--droppable-slot-border-radius: var(--luzmo-border-radius);--droppable-slot-filled-gap: var(--luzmo-spacing-5)}:host{--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height) );--droppable-slot-label-font-size: var(--luzmo-font-size);--droppable-slot-icon-type-font-size: var(--luzmo-font-size);--droppable-slot-horizontal-padding: var(--luzmo-spacing-4);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-4);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-4)}:host([size=s]){--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height-s) );--droppable-slot-label-font-size: var(--luzmo-font-size-s);--droppable-slot-icon-type-font-size: var(--luzmo-font-size-s);--droppable-slot-horizontal-padding: var(--luzmo-spacing-4);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-4);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-4)}:host([size=l]){--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height-l) );--droppable-slot-label-font-size: var(--luzmo-font-size-l);--droppable-slot-icon-type-font-size: var(--luzmo-font-size-l);--droppable-slot-horizontal-padding: var(--luzmo-spacing-5);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-5);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-5)}:host([size=xl]){--droppable-slot-height: var( --luzmo-droppable-slot-height, var(--luzmo-component-height-xl) );--droppable-slot-label-font-size: var(--luzmo-font-size-xl);--droppable-slot-icon-type-font-size: var(--luzmo-font-size-xl);--droppable-slot-horizontal-padding: var(--luzmo-spacing-5);--droppable-slot-overlay-horizontal-gap: var(--luzmo-spacing-5);--droppable-slot-overlay-vertical-gap: var(--luzmo-spacing-5)}:host{box-sizing:border-box}", z = {
142
66
  Category: () => m("Category", { desc: "Category label" }),
143
67
  Measure: () => m("Measure", { desc: "Measure label" }),
144
68
  Legend: () => m("Legend", { desc: "Legend label" }),
@@ -146,17 +70,17 @@ const j = ":host{font-family:var(--luzmo-droppable-slot-font-family, var(--luzmo
146
70
  "X-Axis": () => m("X-Axis", { desc: "X-Axis label" }),
147
71
  "Group by": () => m("Group by", { desc: "Group by label" })
148
72
  };
149
- var H = Object.defineProperty, V = Object.getOwnPropertyDescriptor, a = (o, t, e, l) => {
150
- for (var r = l > 1 ? void 0 : l ? V(t, e) : t, i = o.length - 1, p; i >= 0; i--)
151
- (p = o[i]) && (r = (l ? p(t, e, r) : p(r)) || r);
152
- return l && r && H(t, e, r), r;
73
+ var F = Object.defineProperty, j = Object.getOwnPropertyDescriptor, a = (o, t, e, s) => {
74
+ for (var l = s > 1 ? void 0 : s ? j(t, e) : t, i = o.length - 1, p; i >= 0; i--)
75
+ (p = o[i]) && (l = (s ? p(t, e, l) : p(l)) || l);
76
+ return s && l && F(t, e, l), l;
153
77
  };
154
- let s = class extends M(T, {
78
+ let r = class extends T(I, {
155
79
  validSizes: ["s", "m", "l", "xl"],
156
80
  noDefaultSize: !0
157
81
  }) {
158
82
  constructor() {
159
- super(), this._loadSlotsConfig = new A(this, {
83
+ super(), this._loadSlotsConfig = new D(this, {
160
84
  task: async ([o]) => {
161
85
  if (o && o !== this._itemTypeLoaded) {
162
86
  const t = /* @__PURE__ */ Object.assign({
@@ -207,14 +131,14 @@ let s = class extends M(T, {
207
131
  "../../item-definitions/wordcloud-chart/wordcloud-chart-slots.config.ts": () => import("../wordcloud-chart-slots.config-BS4sOOHt.js")
208
132
  }), e = `../../item-definitions/${o}/${o}-slots.config.ts`;
209
133
  if (t[e]) {
210
- const l = await t[e]();
211
- this._itemTypeLoaded = o, this._slotsConfig = l?.default ?? {};
134
+ const s = await t[e]();
135
+ this._itemTypeLoaded = o, this._slotsConfig = s?.default ?? {};
212
136
  }
213
137
  return this._slotsConfig;
214
138
  }
215
139
  },
216
140
  args: () => [this.itemType, this.language]
217
- }), this._slotsConfig = [], this.slotConfiguration = {}, this.slotsContents = [], this.language = "en", this.rotate = !1, this.apiUrl = "https://api.luzmo.com", this.authKey = "", this.authToken = "", this.menu = "default", this.placement = "bottom-end", this._slotContents = [], this._overlayReady = !1, this._store = new N(), this._currentSlotContents = [], this._lastFetchedDatasetId = null, this._linkedDatasetsIds = [], this._acceptableColumnTypes = [
141
+ }), this._slotsConfig = [], this.slotConfiguration = {}, this.slotsContents = [], this.language = "en", this.rotate = !1, this.apiUrl = "https://api.luzmo.com", this.authKey = "", this.authToken = "", this.menu = "default", this.placement = "bottom-end", this._slotContents = [], this._overlayReady = !1, this._store = new O(), this._currentSlotContents = [], this._lastFetchedDatasetId = null, this._linkedDatasetsIds = [], this._acceptableColumnTypes = [
218
142
  "datetime",
219
143
  "hierarchy",
220
144
  "numeric",
@@ -224,11 +148,11 @@ let s = class extends M(T, {
224
148
  "array[hierarchy]",
225
149
  "array[spatial]"
226
150
  ], this._attachDroppable = () => {
227
- this._cleanupDroppable || (this._cleanupDroppable = w({
151
+ this._cleanupDroppable || (this._cleanupDroppable = x({
228
152
  element: this,
229
153
  onDrop: async (o) => {
230
- const t = { ...o.source?.data }, e = o?.source?.element?.hasAttribute("sublevel") ?? !1, l = this._slotContents?.length === 0, r = t.datasetId, i = R(t, e);
231
- this._slotContents = this.slotConfiguration?.canAcceptMultipleDataItems ? [...this._slotContents ?? [], i] : [i], this.removeAttribute("accept-drag"), r && r !== this._lastFetchedDatasetId && (this._lastFetchedDatasetId = r, await y.fetchDatasetsRecursive([r]), this._linkedDatasetsIds = y.getLinkedDatasetsIds(r)), l ? (this._overlayReady = !1, setTimeout(() => {
154
+ const t = { ...o.source?.data }, e = o?.source?.element?.hasAttribute("sublevel") ?? !1, s = this._slotContents?.length === 0, l = t.datasetId, i = R(t, e);
155
+ this._slotContents = this.slotConfiguration?.canAcceptMultipleDataItems ? [...this._slotContents ?? [], i] : [i], this.removeAttribute("accept-drag"), l && l !== this._lastFetchedDatasetId && (this._lastFetchedDatasetId = l, await f.fetchDatasetsRecursive([l]), this._linkedDatasetsIds = f.getLinkedDatasetsIds(l)), s ? (this._overlayReady = !1, setTimeout(() => {
232
156
  this._overlayReady = !0;
233
157
  }, 200)) : this._overlayReady = !0, this.changedSlotContents(this._slotContents, this._linkedDatasetsIds), this.classList.remove("pulse");
234
158
  },
@@ -247,8 +171,8 @@ let s = class extends M(T, {
247
171
  "LUZMO-DRAGGABLE-DATA-ITEM"
248
172
  ].includes(o.element?.tagName) || !this.slotConfiguration?.canAcceptFormula && (o?.data?.formulaId || o?.data?.formula || o?.data?.entity === "formula"))
249
173
  return !1;
250
- const { acceptableDataItemTypes: t, acceptableColumnSubtypes: e } = this.slotConfiguration ?? {}, l = Array.isArray(t) && t.length > 0 ? t : this._acceptableColumnTypes;
251
- return o?.data?.type && !l.includes(o?.data?.type) ? !1 : !(o?.data?.subtype && Array.isArray(e) && e.length > 0 && !e.includes(o?.data?.subtype));
174
+ const { acceptableDataItemTypes: t, acceptableColumnSubtypes: e } = this.slotConfiguration ?? {}, s = Array.isArray(t) && t.length > 0 ? t : this._acceptableColumnTypes;
175
+ return o?.data?.type && !s.includes(o?.data?.type) ? !1 : !(o?.data?.subtype && Array.isArray(e) && e.length > 0 && !e.includes(o?.data?.subtype));
252
176
  }, this.changedSlotContents = (o, t = []) => {
253
177
  this._store?.setContents(o, this.slotName), this.dispatchEvent(
254
178
  new CustomEvent("slot-contents-changed", {
@@ -264,19 +188,19 @@ let s = class extends M(T, {
264
188
  }, this._handleDragStart = (o) => {
265
189
  const t = o, e = t.detail?.data;
266
190
  if (this._overlayElement && (this._overlayElement.open = !1), !e) return;
267
- const l = {
191
+ const s = {
268
192
  data: e,
269
193
  element: {
270
194
  tagName: t.target instanceof HTMLElement && t.target.tagName === "LUZMO-DRAGGABLE-DATA-ITEM-LEVEL" ? "LUZMO-DRAGGABLE-DATA-ITEM-LEVEL" : "LUZMO-DRAGGABLE-DATA-ITEM"
271
195
  }
272
196
  };
273
- this._canDropItem({ source: l }) && this.setAttribute("would-accept-drag", "");
197
+ this._canDropItem({ source: s }) && this.setAttribute("would-accept-drag", "");
274
198
  }, this._handleDragEnd = () => {
275
199
  this.removeAttribute("would-accept-drag");
276
200
  }, this._handleOverlayClick = (o) => {
277
201
  o.detail > 0 && o.target === this._overlayElement ? this._overlayElement.open = !1 : o.stopPropagation();
278
- }, new k(this, {
279
- context: U,
202
+ }, new w(this, {
203
+ context: M,
280
204
  initialValue: this._store
281
205
  });
282
206
  }
@@ -293,7 +217,7 @@ let s = class extends M(T, {
293
217
  o.preventDefault(), o.stopPropagation(), this._slotContents = [], this.changedSlotContents([]);
294
218
  }
295
219
  willUpdate(o) {
296
- o.has("slotConfiguration") && (this._cleanupDroppable && (this._cleanupDroppable(), this._cleanupDroppable = void 0), this._attachDroppable()), o.has("slotsContents") && this._processSlotsContents(), o.has("language") && this.language !== P() && ([...B].includes(this.language ?? "en") || this.language === "en") && G(this.language);
220
+ o.has("slotConfiguration") && (this._cleanupDroppable && (this._cleanupDroppable(), this._cleanupDroppable = void 0), this._attachDroppable()), o.has("slotsContents") && this._processSlotsContents(), o.has("language") && this.language !== G() && ([...U].includes(this.language ?? "en") || this.language === "en") && B(this.language);
297
221
  }
298
222
  _processSlotsContents() {
299
223
  this._store?.setFullContents(this.slotsContents), this._slotContents = this.slotsContents?.find(
@@ -320,10 +244,10 @@ let s = class extends M(T, {
320
244
  _onOverlayOpened(o) {
321
245
  const t = o.overlay;
322
246
  if (this._slotMenuElement && t === this._overlayElement) {
323
- const e = this._store?.activeIndex.get?.() ?? 0, l = this._slotContents?.[e] ?? this._slotContents?.[0];
324
- if (!l) return;
325
- const r = l?.column ?? l?.columnId, i = l?.set ?? l?.datasetId, p = l?.formula;
326
- (r || p) && i && (this.dispatchEvent(
247
+ const e = this._store?.activeIndex.get?.() ?? 0, s = this._slotContents?.[e] ?? this._slotContents?.[0];
248
+ if (!s) return;
249
+ const l = s?.column ?? s?.columnId, i = s?.set ?? s?.datasetId, p = s?.formula;
250
+ (l || p) && i && (this.dispatchEvent(
327
251
  new CustomEvent("slot-menu-active", {
328
252
  bubbles: !0,
329
253
  composed: !0,
@@ -338,8 +262,8 @@ let s = class extends M(T, {
338
262
  composed: !0,
339
263
  detail: {
340
264
  datasetId: i,
341
- level: l?.level ?? 0,
342
- ...r && { columnId: r },
265
+ level: s?.level ?? 0,
266
+ ...l && { columnId: l },
343
267
  ...p && { formulaId: p }
344
268
  }
345
269
  })
@@ -354,8 +278,8 @@ let s = class extends M(T, {
354
278
  }
355
279
  get _fullLabel() {
356
280
  let o = "";
357
- const t = C[this.slotConfiguration?.label] ? C[this.slotConfiguration?.label]() : this.slotConfiguration?.label;
358
- this._currentSlotContents?.length === 1 ? o = I(
281
+ const t = z[this.slotConfiguration?.label] ? z[this.slotConfiguration?.label]() : this.slotConfiguration?.label;
282
+ this._currentSlotContents?.length === 1 ? o = L(
359
283
  this._currentSlotContents?.[0]?.label,
360
284
  this.language
361
285
  ) ?? "Untitled" : this._currentSlotContents?.length > 1 && (o = `${this._currentSlotContents.length} items`);
@@ -372,7 +296,7 @@ let s = class extends M(T, {
372
296
  <div class="droppable-slot-label">${this._fullLabel}</div>
373
297
  ${this._slotContents?.length > 0 && !(this.hideConfiguration && this.hideDelete) ? d`<div class="controls">
374
298
  ${this.hideConfiguration ? "" : d`<div>
375
- ${z(E)}
299
+ ${g(S)}
376
300
  <luzmo-tooltip
377
301
  self-managed
378
302
  placement=${this.rotate ? "right" : "top"}
@@ -382,7 +306,7 @@ let s = class extends M(T, {
382
306
  </luzmo-tooltip>
383
307
  </div> `}
384
308
  ${this.hideDelete ? "" : d`<div @click=${this.emptySlotContents}>
385
- ${z(L)}
309
+ ${g(E)}
386
310
  <luzmo-tooltip
387
311
  self-managed
388
312
  placement=${this.rotate ? "right" : "top"}
@@ -444,68 +368,68 @@ let s = class extends M(T, {
444
368
  });
445
369
  }
446
370
  };
447
- s.styles = O(j);
371
+ r.styles = $(N);
448
372
  a([
449
373
  n({ type: String, reflect: !0, attribute: "item-type" })
450
- ], s.prototype, "itemType", 2);
374
+ ], r.prototype, "itemType", 2);
451
375
  a([
452
376
  n({ type: String, reflect: !0, attribute: "slot-name" })
453
- ], s.prototype, "slotName", 2);
377
+ ], r.prototype, "slotName", 2);
454
378
  a([
455
379
  n({ type: Object })
456
- ], s.prototype, "slotConfiguration", 2);
380
+ ], r.prototype, "slotConfiguration", 2);
457
381
  a([
458
382
  n({ type: Object })
459
- ], s.prototype, "slotsContents", 2);
383
+ ], r.prototype, "slotsContents", 2);
460
384
  a([
461
385
  n({ type: String, reflect: !0 })
462
- ], s.prototype, "label", 2);
386
+ ], r.prototype, "label", 2);
463
387
  a([
464
388
  n({ type: String, reflect: !0 })
465
- ], s.prototype, "language", 2);
389
+ ], r.prototype, "language", 2);
466
390
  a([
467
391
  n({ type: String, reflect: !0, attribute: "drag-boundary" })
468
- ], s.prototype, "dragBoundary", 2);
392
+ ], r.prototype, "dragBoundary", 2);
469
393
  a([
470
394
  n({ type: Boolean, reflect: !0 })
471
- ], s.prototype, "rotate", 2);
395
+ ], r.prototype, "rotate", 2);
472
396
  a([
473
397
  n({ type: String, attribute: "api-url", reflect: !0 })
474
- ], s.prototype, "apiUrl", 2);
398
+ ], r.prototype, "apiUrl", 2);
475
399
  a([
476
400
  n({ type: String, attribute: "auth-key", reflect: !0 })
477
- ], s.prototype, "authKey", 2);
401
+ ], r.prototype, "authKey", 2);
478
402
  a([
479
403
  n({ type: String, attribute: "auth-token", reflect: !0 })
480
- ], s.prototype, "authToken", 2);
404
+ ], r.prototype, "authToken", 2);
481
405
  a([
482
406
  n({ type: String, reflect: !0 })
483
- ], s.prototype, "menu", 2);
407
+ ], r.prototype, "menu", 2);
484
408
  a([
485
409
  n({ type: String, reflect: !0 })
486
- ], s.prototype, "placement", 2);
410
+ ], r.prototype, "placement", 2);
487
411
  a([
488
412
  n({ type: Boolean, reflect: !0, attribute: "hide-delete" })
489
- ], s.prototype, "hideDelete", 2);
413
+ ], r.prototype, "hideDelete", 2);
490
414
  a([
491
415
  n({ type: Boolean, reflect: !0, attribute: "hide-configuration" })
492
- ], s.prototype, "hideConfiguration", 2);
416
+ ], r.prototype, "hideConfiguration", 2);
493
417
  a([
494
- _("luzmo-slot-menu")
495
- ], s.prototype, "_slotMenuElement", 2);
418
+ v("luzmo-slot-menu")
419
+ ], r.prototype, "_slotMenuElement", 2);
496
420
  a([
497
- _("luzmo-overlay")
498
- ], s.prototype, "_overlayElement", 2);
421
+ v("luzmo-overlay")
422
+ ], r.prototype, "_overlayElement", 2);
499
423
  a([
500
- x()
501
- ], s.prototype, "_slotContents", 2);
424
+ y()
425
+ ], r.prototype, "_slotContents", 2);
502
426
  a([
503
- x()
504
- ], s.prototype, "_overlayReady", 2);
505
- s = a([
506
- S()
507
- ], s);
508
- customElements.get("luzmo-droppable-slot") || customElements.define("luzmo-droppable-slot", s);
427
+ y()
428
+ ], r.prototype, "_overlayReady", 2);
429
+ r = a([
430
+ k()
431
+ ], r);
432
+ customElements.get("luzmo-droppable-slot") || customElements.define("luzmo-droppable-slot", r);
509
433
  export {
510
- s as LuzmoDroppableSlot
434
+ r as LuzmoDroppableSlot
511
435
  };
@@ -0,0 +1,79 @@
1
+ import '@luzmo/lucero/action-button';
2
+ import '@luzmo/lucero/button';
3
+ import '@luzmo/lucero/icon';
4
+ import { LuzmoElement } from '@luzmo/lucero/utils';
5
+ import { CSSResultArray, PropertyValues, TemplateResult } from 'lit';
6
+ import '../filter-item';
7
+ import type { FilterGroup } from './types';
8
+ declare const LuzmoEditFilters_base: typeof LuzmoElement & {
9
+ new (...args: any[]): import("@luzmo/lucero").SizedElementInterface;
10
+ prototype: import("@luzmo/lucero").SizedElementInterface;
11
+ };
12
+ /**
13
+ * @element luzmo-edit-filters
14
+ * @fires filters-changed - Announces that the filters have changed
15
+ */
16
+ export declare class LuzmoEditFilters extends LuzmoEditFilters_base {
17
+ static get styles(): CSSResultArray;
18
+ /**
19
+ * The API URL of the databroker
20
+ * @default https://api.luzmo.com
21
+ */
22
+ apiUrl?: string;
23
+ /**
24
+ * The auth key of the databroker
25
+ */
26
+ authKey?: string;
27
+ /**
28
+ * The auth token of the databroker
29
+ */
30
+ authToken?: string;
31
+ /**
32
+ * The cache time of the databroker
33
+ */
34
+ cacheTime?: number;
35
+ /**
36
+ * The language of the settings interface
37
+ */
38
+ language: string;
39
+ /**
40
+ * The language to use for locale-aware formatting and labels
41
+ */
42
+ contentLanguage: string;
43
+ /**
44
+ * The time zone to use for the date picker
45
+ */
46
+ timeZone?: string;
47
+ /**
48
+ * The dataset ids to fetch columns & formulas
49
+ */
50
+ datasetIds?: string[];
51
+ /**
52
+ * The filter group structure to display
53
+ */
54
+ filters: FilterGroup | null;
55
+ private _internalFilterGroup;
56
+ /**
57
+ * Get a smaller size for the condition badges
58
+ */
59
+ private get _oneSizeSmaller();
60
+ protected willUpdate(changedProperties: PropertyValues): void;
61
+ private _generateEmptyGroup;
62
+ private _generateEmptyFilter;
63
+ private _cleanFilterGroupForExport;
64
+ private _sendChangeEvent;
65
+ private _isGroup;
66
+ private _toggleCondition;
67
+ private _addFilter;
68
+ private _addSubGroup;
69
+ private _removeFilter;
70
+ private _updateFilter;
71
+ private _addGroup;
72
+ private _renderFilterItem;
73
+ private _renderGroup;
74
+ private _findParentGroup;
75
+ private _collapseIfNeeded;
76
+ private _collapseGroupsAfterDelete;
77
+ protected render(): TemplateResult;
78
+ }
79
+ export {};