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

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.
package/README.md ADDED
@@ -0,0 +1,195 @@
1
+ # Luzmo Analytics Components Kit
2
+
3
+ ## Installation
4
+
5
+ ```bash
6
+ npm install @luzmo/analytics-components-kit
7
+ ```
8
+
9
+ ```ts
10
+ import '@luzmo/analytics-components-kit/draggable-data-item';
11
+ import '@luzmo/analytics-components-kit/droppable-slot';
12
+ import '@luzmo/analytics-components-kit/edit-item';
13
+ ```
14
+
15
+ ```html
16
+ <luzmo-draggable-data-item></luzmo-draggable-data-item>
17
+ <luzmo-droppable-slot></luzmo-droppable-slot>
18
+ <luzmo-edit-item></luzmo-edit-item>
19
+ ```
20
+
21
+ This repository is in alpha state. Do not use the web components in production.
22
+ Expect breaking changes.
23
+
24
+ ## Dashboard Contents Version
25
+
26
+ Needs to be used with dashboard contents version: 0.1.89
27
+
28
+ ## Browser Support
29
+
30
+ Currently only supports evergreen browsers (Chrome, Firefox, Safari, Edge).
31
+
32
+ ## Working locally (standalone)
33
+ The best way of working locally with this repo in a standalone mode (not integrating with any other project) is using Storybook.
34
+ To do that be sure you ran `npm install` and then run the project in watch mode via `npm run dev` to finally run, in another terminal tab or instance, `npm run storybook`.
35
+
36
+ ## Usage: Drag & Drop Data Flow
37
+
38
+ This library provides a complete drag-and-drop system for building Luzmo chart configurations. The flow consists of loading dataset columns/formulas as draggable items and dropping them into chart slots (like axes, dimensions, measures, etc.).
39
+
40
+ ### Concept
41
+
42
+ 1. **Load datasets**: Use `loadDraggableItemsForDatasets()` to fetch datasets with their columns and formulas from the Luzmo API
43
+ 2. **Display draggable data items**: Render each column/formula as a `<luzmo-draggable-data-item>` component
44
+ 3. **Define droppable slots**: Create `<luzmo-droppable-slot>` components representing data slots of a Luzmo chart (e.g., 'Y-axis', 'Measure' and 'Legend' for a bar chart)
45
+ 4. **Handle drops on the slots**: On each `<luzmo-droppable-slot>`, listen to the `slot-contents-changed` event to capture data dropped into each slot
46
+ 5. **Use slot contents**: The slot contents are in the format expected by Luzmo charts and can be passed directly to the `slots` array of Luzmo Flex SDK visualization components.
47
+
48
+ ### Example Implementation
49
+
50
+ #### TypeScript
51
+
52
+ ```ts
53
+ import { loadDraggableItemsForDatasets } from '@luzmo/analytics-components-kit/utils';
54
+ import type { DroppableSlotConfiguration } from '@luzmo/analytics-components-kit/droppable-slot';
55
+ import type { GenericSlotContent } from '@luzmo/analytics-components-kit';
56
+ import type { LuzmoDroppableSlot } from '@luzmo/analytics-components-kit/droppable-slot';
57
+ import barChartSlotsConfig from '@luzmo/analytics-components-kit/item-definitions/bar-chart/bar-chart-slots.config';
58
+ import '@luzmo/analytics-components-kit/draggable-data-item';
59
+ import '@luzmo/analytics-components-kit/droppable-slot';
60
+
61
+ // 1. Load specified datasets with their columns and formulas
62
+ const datasets = await loadDraggableItemsForDatasets(
63
+ ['your-dataset-id'],
64
+ {
65
+ dataBrokerConfig: {
66
+ apiUrl: 'https://api.luzmo.com',
67
+ authKey: 'your-auth-key',
68
+ authToken: 'your-auth-token'
69
+ }
70
+ }
71
+ );
72
+
73
+ // 2. Load slot configurations dynamically from bar chart config
74
+ const slotConfigs: DroppableSlotConfiguration[] = barChartSlotsConfig;
75
+ console.log('Available slots:', slotConfigs.map(s => s.name));
76
+ // Output: ['measure', 'y-axis', 'legend']
77
+
78
+ // 3. Handle slot content changes
79
+ const slotContents = new Map<string, GenericSlotContent[]>();
80
+
81
+ function handleSlotContentsChanged(event: CustomEvent<{ slotContents: GenericSlotContent[], linkedDatasetsIds: string[] }>) {
82
+ const slotName = (event.target as LuzmoDroppableSlot).slotName;
83
+
84
+ // Store contents for this slot
85
+ if (slotName) {
86
+ slotContents.set(slotName, event.detail.slotContents);
87
+ }
88
+
89
+ console.log(`Slot '${slotName}' updated:`, event.detail.slotContents);
90
+
91
+ // slotContents can now be used to configure your chart
92
+ // It's in the format expected by Luzmo visualization components
93
+ console.log('All slot contents:', Object.fromEntries(slotContents));
94
+ }
95
+
96
+ // 4. Render the components (see HTML example below)
97
+ ```
98
+
99
+ #### HTML
100
+
101
+ ```html
102
+ <div class="chart-builder">
103
+ <!-- Left panel: Draggable data items -->
104
+ <div class="data-items-panel">
105
+ <h3>Available Data</h3>
106
+ <div id="draggable-items-container">
107
+ <!-- Dynamically populated with draggable items -->
108
+ </div>
109
+ </div>
110
+
111
+ <!-- Right panel: Droppable slots -->
112
+ <div class="chart-config-panel">
113
+ <h3>Bar Chart Configuration</h3>
114
+ <div id="droppable-slots-container">
115
+ <!-- Dynamically populated with droppable slots -->
116
+ </div>
117
+ </div>
118
+ </div>
119
+
120
+ <script type="module">
121
+ import { loadDraggableItemsForDatasets } from '@luzmo/analytics-components-kit/utils';
122
+ import barChartSlotsConfig from '@luzmo/analytics-components-kit/item-definitions/bar-chart/bar-chart-slots.config';
123
+
124
+ // Load and render draggable items
125
+ const datasets = await loadDraggableItemsForDatasets(
126
+ ['your-dataset-id'],
127
+ {
128
+ dataBrokerConfig: {
129
+ apiUrl: 'https://api.luzmo.com',
130
+ authKey: 'your-auth-key',
131
+ authToken: 'your-auth-token'
132
+ }
133
+ }
134
+ );
135
+
136
+ const itemsContainer = document.getElementById('draggable-items-container');
137
+
138
+ datasets.forEach(dataset => {
139
+ // Add dataset label
140
+ const datasetLabel = document.createElement('h4');
141
+ datasetLabel.textContent = dataset.name.en || 'Dataset';
142
+ itemsContainer.appendChild(datasetLabel);
143
+
144
+ // Add draggable items for each column/formula
145
+ dataset.dataItems.forEach(dataItem => {
146
+ const draggableItem = document.createElement('luzmo-draggable-data-item');
147
+ draggableItem.data = dataItem;
148
+ draggableItem.size = 'm';
149
+ draggableItem.language = 'en';
150
+ itemsContainer.appendChild(draggableItem);
151
+ });
152
+ });
153
+
154
+ // Dynamically create droppable slots from bar chart config
155
+ const slotsContainer = document.getElementById('droppable-slots-container');
156
+ const slotContents = new Map();
157
+
158
+ barChartSlotsConfig.forEach(slotConfig => {
159
+ const slotWrapper = document.createElement('div');
160
+ slotWrapper.className = 'slot-wrapper';
161
+
162
+ const slot = document.createElement('luzmo-droppable-slot');
163
+ slot.setAttribute('item-type', 'bar-chart');
164
+ slot.setAttribute('slot-name', slotConfig.name);
165
+ slot.setAttribute('label', slotConfig.label);
166
+ slot.setAttribute('size', 'm');
167
+ slot.setAttribute('language', 'en');
168
+
169
+ // Pass the full configuration object
170
+ slot.slotConfiguration = slotConfig;
171
+
172
+ // Handle slot content changes
173
+ slot.addEventListener('slot-contents-changed', (event) => {
174
+ slotContents.set(slotConfig.name, event.detail.slotContents);
175
+ console.log(`Slot '${slotConfig.name}' updated:`, event.detail);
176
+ console.log('All slot contents:', Object.fromEntries(slotContents));
177
+ });
178
+
179
+ slotWrapper.appendChild(slot);
180
+ slotsContainer.appendChild(slotWrapper);
181
+ });
182
+ </script>
183
+ ```
184
+
185
+ ### Key Points
186
+
187
+ - **`loadDraggableItemsForDatasets()`** handles authentication, fetches datasets, and transforms them into the correct format for draggable items
188
+ - **Chart slot configs** can be imported from `item-definitions/{chart-type}/{chart-type}-slots.config` to dynamically create appropriate drop zones
189
+ - **`<luzmo-draggable-data-item>`** automatically handles drag behavior and displays columns/formulas with appropriate icons and hierarchy levels
190
+ - **`<luzmo-droppable-slot>`** validates drops based on configuration (e.g., only numeric types for measures) and emits `slot-contents-changed` events
191
+ - **Slot configurations** define validation rules like `canAcceptMultipleDataItems`, `canAcceptFormula`, and `acceptableDataItemTypes`
192
+ - **Slot contents** returned from the event are already in the format expected by Luzmo chart components
193
+ - The transformation from `DraggableDataItem` to `GenericSlotContent` happens automatically when dropping
194
+
195
+
@@ -1,6 +1,6 @@
1
1
  import { Column, Currency, Formula, HierarchyLevel } from '@luzmo/dashboard-contents-types';
2
2
 
3
- type ColumnItemData = {
3
+ export type ColumnItemData = {
4
4
  type: Column['type'];
5
5
  name: Column['name'];
6
6
  datasetId: string;
@@ -14,12 +14,14 @@ type ColumnItemData = {
14
14
  | 'subtype'
15
15
  | 'format'
16
16
  | 'lowestLevel'
17
+ | 'highestLevel'
18
+ | 'hierarchy_enabled'
17
19
  | 'duration_levels'
18
20
  | 'duration_format'
19
21
  | 'expression'
20
22
  >>;
21
23
 
22
- type FormulaItemData = {
24
+ export type FormulaItemData = {
23
25
  type: Formula['type'];
24
26
  name: Formula['name'];
25
27
  datasetId: string;
@@ -37,4 +39,4 @@ type FormulaItemData = {
37
39
  | 'expression'
38
40
  >>;
39
41
 
40
- export type DraggableDataItemData = ColumnItemData | FormulaItemData;
42
+ export type DraggableDataItemData = ColumnItemData | FormulaItemData;
@@ -1,5 +1,5 @@
1
1
  import { Column, Currency, Formula, HierarchyLevel } from '@luzmo/dashboard-contents-types';
2
- type ColumnItemData = {
2
+ export type ColumnItemData = {
3
3
  type: Column['type'];
4
4
  name: Column['name'];
5
5
  datasetId: string;
@@ -8,8 +8,8 @@ type ColumnItemData = {
8
8
  level?: number;
9
9
  hierarchyLevels?: Pick<HierarchyLevel, 'id' | 'level' | 'name'>[];
10
10
  currency?: Pick<Currency, 'id' | 'name' | 'symbol'>;
11
- } & Partial<Pick<Column, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'duration_levels' | 'duration_format' | 'expression'>>;
12
- type FormulaItemData = {
11
+ } & Partial<Pick<Column, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'highestLevel' | 'hierarchy_enabled' | 'duration_levels' | 'duration_format' | 'expression'>>;
12
+ export type FormulaItemData = {
13
13
  type: Formula['type'];
14
14
  name: Formula['name'];
15
15
  datasetId: string;
@@ -19,4 +19,3 @@ type FormulaItemData = {
19
19
  currency?: Pick<Currency, 'id' | 'name' | 'symbol'>;
20
20
  } & Partial<Pick<Formula, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'duration_levels' | 'duration_format' | 'expression'>>;
21
21
  export type DraggableDataItemData = ColumnItemData | FormulaItemData;
22
- export {};
@@ -17,27 +17,25 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@lit/localize"),m=require("../periods.const-3jA-ECRf.cjs"),l=require("lit"),o=require("lit/decorators.js"),v=require("../focusable-QLh-LlNt.cjs"),b=require("../sized-mixin-DcvJLFeo.cjs"),n=require("../set-locale-BRRalqne.cjs");require("../draggable-data-item-level/index.cjs");const p=":host{--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1);--draggable-data-item-sublevels-gap: 0}:host([size=s]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1)}:host([size=l]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-2)}:host([size=xl]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-3)}:host{display:block}.draggable-data-item-sublevels{display:flex;flex-direction:column;gap:var(--luzmo-draggable-data-item-sublevels-gap, var(--draggable-data-item-sublevels-gap));margin:var(--luzmo-draggable-data-item-sublevels-margin-vertical, var(--draggable-data-item-sublevels-margin-vertical)) 0}:host{box-sizing:border-box}";var y=Object.defineProperty,z=Object.getOwnPropertyDescriptor,s=(d,e,r,g)=>{for(var a=g>1?void 0:g?z(e,r):e,t=d.length-1,i;t>=0;t--)(i=d[t])&&(a=(g?i(e,r,a):i(a))||a);return g&&a&&y(e,r,a),a};exports.LuzmoDraggableDataItem=class extends b.SizedMixin(v.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.variant="normal",this.language="en",this.data={}}willUpdate(e){if(e.has("language")){const r=[...n.targetLocales];this.language!==n.getLocale()&&(r.includes(this.language)||this.language==="en")&&n.setLocale(this.language)}}renderSublevels(){if(!this.data)return l.html``;const e=this.data?.type,r=e==="datetime"||e==="array[datetime]",g=e==="hierarchy"||e==="array[hierarchy]";if(r){const a=this.data.lowestLevel??9,t=Math.min(Math.max(a,1),m.DATETIME_LEVELS.length),i=Array.from({length:t},(L,u)=>{const h={...this.data,level:u+1,name:{[this.language]:m.DATETIME_LEVELS[u].i18n()}};return l.html`<luzmo-draggable-data-item-level
21
- sublevel
22
- .data=${h}
23
- .language=${this.language}
24
- .size=${this.size}
25
- .variant=${this.variant}
26
- .disabled=${this.disabled}
27
- ?hide-type-icon=${this.hideTypeIcon}
28
- ></luzmo-draggable-data-item-level>`});return l.html`
29
- <div class="draggable-data-item-sublevels">${i}</div>
30
- `}else if(g&&"hierarchyLevels"in this.data&&Array.isArray(this.data.hierarchyLevels)&&this.data.hierarchyLevels.length>2){const a=this.data.hierarchyLevels.filter(t=>t?.level>=1).map(t=>{const i={...this.data,level:t.level,name:t.name};return l.html`<luzmo-draggable-data-item-level
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@lit/localize"),u=require("../periods.const-3jA-ECRf.cjs"),i=require("lit"),o=require("lit/decorators.js"),v=require("../focusable-QLh-LlNt.cjs"),b=require("../sized-mixin-DcvJLFeo.cjs"),m=require("../set-locale-BRRalqne.cjs");require("../draggable-data-item-level/index.cjs");const p=":host{--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1);--draggable-data-item-sublevels-gap: 0}:host([size=s]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1)}:host([size=l]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-2)}:host([size=xl]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-3)}:host{display:block}.draggable-data-item-sublevels{display:flex;flex-direction:column;gap:var(--luzmo-draggable-data-item-sublevels-gap, var(--draggable-data-item-sublevels-gap));margin:var(--luzmo-draggable-data-item-sublevels-margin-vertical, var(--draggable-data-item-sublevels-margin-vertical)) 0}:host{box-sizing:border-box}";var y=Object.defineProperty,z=Object.getOwnPropertyDescriptor,g=(n,a,r,t)=>{for(var l=t>1?void 0:t?z(a,r):a,e=n.length-1,s;e>=0;e--)(s=n[e])&&(l=(t?s(a,r,l):s(l))||l);return t&&l&&y(a,r,l),l};exports.LuzmoDraggableDataItem=class extends b.SizedMixin(v.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.variant="normal",this.language="en",this.data={}}willUpdate(a){if(a.has("language")){const r=[...m.targetLocales];this.language!==m.getLocale()&&(r.includes(this.language)||this.language==="en")&&m.setLocale(this.language)}}renderSublevels(){if(!this.data)return i.html``;const a=this.data?.type,r=a==="datetime"||a==="array[datetime]",t=[],l=e=>"formulaId"in e;if("hierarchyLevels"in this.data&&Array.isArray(this.data.hierarchyLevels)&&this.data.hierarchyLevels.length>2&&this.data.hierarchy_enabled&&t.push(...this.data.hierarchyLevels.filter(e=>e?.level>=1).map(e=>{const s={...this.data,level:e.level,name:e.name};return i.html`<luzmo-draggable-data-item-level
31
21
  sublevel
32
- .data=${i}
22
+ .data=${s}
33
23
  .language=${this.language}
34
24
  .size=${this.size}
35
25
  .variant=${this.variant}
36
26
  .disabled=${this.disabled}
37
27
  ?hide-type-icon=${this.hideTypeIcon}
38
- ></luzmo-draggable-data-item-level>`});return l.html`
39
- <div class="draggable-data-item-sublevels">${a}</div>
40
- `}return l.html``}render(){return this.data?l.html`
28
+ ></luzmo-draggable-data-item-level>`})),!l(this.data)&&r&&this.data.lowestLevel){const e=Math.min(Math.max(this.data.lowestLevel,1),u.DATETIME_LEVELS.length),s=Math.min(Math.max(this.data.highestLevel??1,1),u.DATETIME_LEVELS.length);for(let d=s;d<=e;d++){const h={...this.data,level:d,name:{[this.language]:u.DATETIME_LEVELS[d-1].i18n()}};t.push(i.html`<luzmo-draggable-data-item-level
29
+ sublevel
30
+ .data=${h}
31
+ .language=${this.language}
32
+ .size=${this.size}
33
+ .variant=${this.variant}
34
+ .disabled=${this.disabled}
35
+ ?hide-type-icon=${this.hideTypeIcon}
36
+ ></luzmo-draggable-data-item-level>`)}}return t.length>0?i.html`
37
+ <div class="draggable-data-item-sublevels">${t}</div>
38
+ `:i.html``}render(){return this.data?i.html`
41
39
  <luzmo-draggable-data-item-level
42
40
  .data=${this.data}
43
41
  .language=${this.language}
@@ -47,4 +45,4 @@
47
45
  ?hide-type-icon=${this.hideTypeIcon}
48
46
  ></luzmo-draggable-data-item-level>
49
47
  ${this.hideSublevels?"":this.renderSublevels()}
50
- `:l.html``}};exports.LuzmoDraggableDataItem.styles=l.unsafeCSS(p);s([o.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"variant",2);s([o.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"language",2);s([o.property({type:Boolean,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"disabled",2);s([o.property({type:Boolean,reflect:!0,attribute:"hide-sublevels"})],exports.LuzmoDraggableDataItem.prototype,"hideSublevels",2);s([o.property({type:Boolean,reflect:!0,attribute:"hide-type-icon"})],exports.LuzmoDraggableDataItem.prototype,"hideTypeIcon",2);s([o.property({type:Object})],exports.LuzmoDraggableDataItem.prototype,"data",2);exports.LuzmoDraggableDataItem=s([c.localized()],exports.LuzmoDraggableDataItem);customElements.get("luzmo-draggable-data-item")||customElements.define("luzmo-draggable-data-item",exports.LuzmoDraggableDataItem);
48
+ `:i.html``}};exports.LuzmoDraggableDataItem.styles=i.unsafeCSS(p);g([o.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"variant",2);g([o.property({type:String,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"language",2);g([o.property({type:Boolean,reflect:!0})],exports.LuzmoDraggableDataItem.prototype,"disabled",2);g([o.property({type:Boolean,reflect:!0,attribute:"hide-sublevels"})],exports.LuzmoDraggableDataItem.prototype,"hideSublevels",2);g([o.property({type:Boolean,reflect:!0,attribute:"hide-type-icon"})],exports.LuzmoDraggableDataItem.prototype,"hideTypeIcon",2);g([o.property({type:Object})],exports.LuzmoDraggableDataItem.prototype,"data",2);exports.LuzmoDraggableDataItem=g([c.localized()],exports.LuzmoDraggableDataItem);customElements.get("luzmo-draggable-data-item")||customElements.define("luzmo-draggable-data-item",exports.LuzmoDraggableDataItem);
@@ -17,13 +17,13 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { localized as z } from "@lit/localize";
21
- import { D as c } from "../periods.const-CjHXYn-w.js";
22
- import { html as t, unsafeCSS as b } from "lit";
23
- import { property as u } from "lit/decorators.js";
24
- import { L as h } from "../focusable-BS2pbY7w.js";
25
- import { S as p } from "../sized-mixin-cJbo3PKR.js";
26
- import { t as f, g as v, s as y } from "../set-locale-hKTMz37h.js";
20
+ import { localized as g } from "@lit/localize";
21
+ import { D as d } from "../periods.const-CjHXYn-w.js";
22
+ import { html as s, unsafeCSS as z } from "lit";
23
+ import { property as n } from "lit/decorators.js";
24
+ import { L as b } from "../focusable-BS2pbY7w.js";
25
+ import { S as h } from "../sized-mixin-cJbo3PKR.js";
26
+ import { t as p, g as f, s as v } from "../set-locale-hKTMz37h.js";
27
27
  import "../draggable-data-item-level/index.js";
28
28
  (function() {
29
29
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
@@ -32,56 +32,36 @@ import "../draggable-data-item-level/index.js";
32
32
  }
33
33
  })();
34
34
  const x = ":host{--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1);--draggable-data-item-sublevels-gap: 0}:host([size=s]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-1)}:host([size=l]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-2)}:host([size=xl]){--draggable-data-item-sublevels-margin-vertical: var(--luzmo-spacing-3)}:host{display:block}.draggable-data-item-sublevels{display:flex;flex-direction:column;gap:var(--luzmo-draggable-data-item-sublevels-gap, var(--draggable-data-item-sublevels-gap));margin:var(--luzmo-draggable-data-item-sublevels-margin-vertical, var(--draggable-data-item-sublevels-margin-vertical)) 0}:host{box-sizing:border-box}";
35
- var w = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, s = (l, o, m, a) => {
36
- for (var e = a > 1 ? void 0 : a ? $(o, m) : o, i = l.length - 1, n; i >= 0; i--)
37
- (n = l[i]) && (e = (a ? n(o, m, e) : n(e)) || e);
38
- return a && e && w(o, m, e), e;
35
+ var y = Object.defineProperty, w = Object.getOwnPropertyDescriptor, u = (a, o, r, m) => {
36
+ for (var e = m > 1 ? void 0 : m ? w(o, r) : o, i = a.length - 1, t; i >= 0; i--)
37
+ (t = a[i]) && (e = (m ? t(o, r, e) : t(e)) || e);
38
+ return m && e && y(o, r, e), e;
39
39
  };
40
- let r = class extends p(h, {
40
+ let l = class extends h(b, {
41
41
  validSizes: ["s", "m", "l", "xl"],
42
42
  noDefaultSize: !0
43
43
  }) {
44
44
  constructor() {
45
45
  super(...arguments), this.variant = "normal", this.language = "en", this.data = {};
46
46
  }
47
- willUpdate(l) {
48
- if (l.has("language")) {
49
- const o = [...f];
50
- this.language !== v() && (o.includes(this.language) || this.language === "en") && y(this.language);
47
+ willUpdate(a) {
48
+ if (a.has("language")) {
49
+ const o = [...p];
50
+ this.language !== f() && (o.includes(this.language) || this.language === "en") && v(this.language);
51
51
  }
52
52
  }
53
53
  renderSublevels() {
54
54
  if (!this.data)
55
- return t``;
56
- const l = this.data?.type, o = l === "datetime" || l === "array[datetime]", m = l === "hierarchy" || l === "array[hierarchy]";
57
- if (o) {
58
- const a = this.data.lowestLevel ?? 9, e = Math.min(Math.max(a, 1), c.length), i = Array.from({ length: e }, (n, d) => {
59
- const g = {
60
- ...this.data,
61
- level: d + 1,
62
- name: { [this.language]: c[d].i18n() }
63
- };
64
- return t`<luzmo-draggable-data-item-level
65
- sublevel
66
- .data=${g}
67
- .language=${this.language}
68
- .size=${this.size}
69
- .variant=${this.variant}
70
- .disabled=${this.disabled}
71
- ?hide-type-icon=${this.hideTypeIcon}
72
- ></luzmo-draggable-data-item-level>`;
73
- });
74
- return t`
75
- <div class="draggable-data-item-sublevels">${i}</div>
76
- `;
77
- } else if (m && "hierarchyLevels" in this.data && Array.isArray(this.data.hierarchyLevels) && this.data.hierarchyLevels.length > 2) {
78
- const a = this.data.hierarchyLevels.filter((e) => e?.level >= 1).map((e) => {
55
+ return s``;
56
+ const a = this.data?.type, o = a === "datetime" || a === "array[datetime]", r = [], m = (e) => "formulaId" in e;
57
+ if ("hierarchyLevels" in this.data && Array.isArray(this.data.hierarchyLevels) && this.data.hierarchyLevels.length > 2 && this.data.hierarchy_enabled && r.push(
58
+ ...this.data.hierarchyLevels.filter((e) => e?.level >= 1).map((e) => {
79
59
  const i = {
80
60
  ...this.data,
81
61
  level: e.level,
82
62
  name: e.name
83
63
  };
84
- return t`<luzmo-draggable-data-item-level
64
+ return s`<luzmo-draggable-data-item-level
85
65
  sublevel
86
66
  .data=${i}
87
67
  .language=${this.language}
@@ -90,15 +70,34 @@ let r = class extends p(h, {
90
70
  .disabled=${this.disabled}
91
71
  ?hide-type-icon=${this.hideTypeIcon}
92
72
  ></luzmo-draggable-data-item-level>`;
93
- });
94
- return t`
95
- <div class="draggable-data-item-sublevels">${a}</div>
96
- `;
73
+ })
74
+ ), !m(this.data) && o && this.data.lowestLevel) {
75
+ const e = Math.min(Math.max(this.data.lowestLevel, 1), d.length), i = Math.min(Math.max(this.data.highestLevel ?? 1, 1), d.length);
76
+ for (let t = i; t <= e; t++) {
77
+ const c = {
78
+ ...this.data,
79
+ level: t,
80
+ name: { [this.language]: d[t - 1].i18n() }
81
+ };
82
+ r.push(
83
+ s`<luzmo-draggable-data-item-level
84
+ sublevel
85
+ .data=${c}
86
+ .language=${this.language}
87
+ .size=${this.size}
88
+ .variant=${this.variant}
89
+ .disabled=${this.disabled}
90
+ ?hide-type-icon=${this.hideTypeIcon}
91
+ ></luzmo-draggable-data-item-level>`
92
+ );
93
+ }
97
94
  }
98
- return t``;
95
+ return r.length > 0 ? s`
96
+ <div class="draggable-data-item-sublevels">${r}</div>
97
+ ` : s``;
99
98
  }
100
99
  render() {
101
- return this.data ? t`
100
+ return this.data ? s`
102
101
  <luzmo-draggable-data-item-level
103
102
  .data=${this.data}
104
103
  .language=${this.language}
@@ -108,32 +107,32 @@ let r = class extends p(h, {
108
107
  ?hide-type-icon=${this.hideTypeIcon}
109
108
  ></luzmo-draggable-data-item-level>
110
109
  ${this.hideSublevels ? "" : this.renderSublevels()}
111
- ` : t``;
110
+ ` : s``;
112
111
  }
113
112
  };
114
- r.styles = b(x);
115
- s([
116
- u({ type: String, reflect: !0 })
117
- ], r.prototype, "variant", 2);
118
- s([
119
- u({ type: String, reflect: !0 })
120
- ], r.prototype, "language", 2);
121
- s([
122
- u({ type: Boolean, reflect: !0 })
123
- ], r.prototype, "disabled", 2);
124
- s([
125
- u({ type: Boolean, reflect: !0, attribute: "hide-sublevels" })
126
- ], r.prototype, "hideSublevels", 2);
127
- s([
128
- u({ type: Boolean, reflect: !0, attribute: "hide-type-icon" })
129
- ], r.prototype, "hideTypeIcon", 2);
130
- s([
131
- u({ type: Object })
132
- ], r.prototype, "data", 2);
133
- r = s([
134
- z()
135
- ], r);
136
- customElements.get("luzmo-draggable-data-item") || customElements.define("luzmo-draggable-data-item", r);
113
+ l.styles = z(x);
114
+ u([
115
+ n({ type: String, reflect: !0 })
116
+ ], l.prototype, "variant", 2);
117
+ u([
118
+ n({ type: String, reflect: !0 })
119
+ ], l.prototype, "language", 2);
120
+ u([
121
+ n({ type: Boolean, reflect: !0 })
122
+ ], l.prototype, "disabled", 2);
123
+ u([
124
+ n({ type: Boolean, reflect: !0, attribute: "hide-sublevels" })
125
+ ], l.prototype, "hideSublevels", 2);
126
+ u([
127
+ n({ type: Boolean, reflect: !0, attribute: "hide-type-icon" })
128
+ ], l.prototype, "hideTypeIcon", 2);
129
+ u([
130
+ n({ type: Object })
131
+ ], l.prototype, "data", 2);
132
+ l = u([
133
+ g()
134
+ ], l);
135
+ customElements.get("luzmo-draggable-data-item") || customElements.define("luzmo-draggable-data-item", l);
137
136
  export {
138
- r as LuzmoDraggableDataItem
137
+ l as LuzmoDraggableDataItem
139
138
  };
@@ -1,5 +1,5 @@
1
1
  import { Column, Currency, Formula, HierarchyLevel } from '@luzmo/dashboard-contents-types';
2
- type ColumnItemData = {
2
+ export type ColumnItemData = {
3
3
  type: Column['type'];
4
4
  name: Column['name'];
5
5
  datasetId: string;
@@ -8,8 +8,8 @@ type ColumnItemData = {
8
8
  level?: number;
9
9
  hierarchyLevels?: Pick<HierarchyLevel, 'id' | 'level' | 'name'>[];
10
10
  currency?: Pick<Currency, 'id' | 'name' | 'symbol'>;
11
- } & Partial<Pick<Column, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'duration_levels' | 'duration_format' | 'expression'>>;
12
- type FormulaItemData = {
11
+ } & Partial<Pick<Column, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'highestLevel' | 'hierarchy_enabled' | 'duration_levels' | 'duration_format' | 'expression'>>;
12
+ export type FormulaItemData = {
13
13
  type: Formula['type'];
14
14
  name: Formula['name'];
15
15
  datasetId: string;
@@ -19,4 +19,3 @@ type FormulaItemData = {
19
19
  currency?: Pick<Currency, 'id' | 'name' | 'symbol'>;
20
20
  } & Partial<Pick<Formula, 'description' | 'subtype' | 'format' | 'lowestLevel' | 'duration_levels' | 'duration_format' | 'expression'>>;
21
21
  export type DraggableDataItemData = ColumnItemData | FormulaItemData;
22
- export {};
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("../get-css-variable-COd1d84B.cjs"),n=require("@luzmo/icons");require("@luzmo/lucero/icon");require("@luzmo/lucero/tooltip");const v=require("lit"),m=require("lit/decorators.js"),I=require("../focusable-QLh-LlNt.cjs"),x=require("../sized-mixin-DcvJLFeo.cjs"),y=require("../calculate-data-item-icon-DtVGbet3.cjs"),C=require("../localize-C4zNlrwK.cjs"),D=":host{font-family:var(--luzmo-draggable-data-item-level-font-family, var(--luzmo-font-family));color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color))}.draggable-data-item-level{transition:background-color var(--luzmo-animation-duration);background-color:var(--luzmo-draggable-data-item-level-background-color, var(--draggable-data-item-level-background-color));display:grid;grid-template-columns:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--draggable-data-item-level-drag-handle-width)) var(--luzmo-draggable-data-item-level-data-icon-width, var(--draggable-data-item-level-data-icon-width)) 1fr var(--luzmo-draggable-data-item-level-description-width, var(--draggable-data-item-level-description-width, auto));gap:var(--luzmo-draggable-data-item-level-gap, var(--draggable-data-item-level-gap));align-items:center;padding:0 var(--luzmo-draggable-data-item-level-horizontal-padding, var(--draggable-data-item-level-horizontal-padding));border-radius:var(--luzmo-draggable-data-item-level-border-radius, var(--draggable-data-item-level-border-radius));border-width:var(--luzmo-draggable-data-item-level-border-width, var(--draggable-data-item-level-border-width));border-style:var(--luzmo-draggable-data-item-level-border-style, var(--draggable-data-item-level-border-style));border-color:var(--luzmo-draggable-data-item-level-border-color, var(--draggable-data-item-level-border-color))}.draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-background-color-hover, var(--draggable-data-item-level-background-color-hover));color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover));border-color:var(--luzmo-draggable-data-item-level-border-color-hover, var(--draggable-data-item-level-border-color-hover))}.draggable-data-item-level:hover .data-description{color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover))}.draggable-data-item-level .data-label{font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.draggable-data-item-level .data-description{height:100%;display:flex;align-items:center;background-color:transparent;outline:none;border:none;color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color));font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size))}.draggable-data-item-level{height:var(--luzmo-draggable-data-item-level-height, var(--draggable-data-item-level-height));cursor:move}:host([sublevel]) .draggable-data-item-level{height:var(--luzmo-draggable-data-item-level-sublevel-height, var(--draggable-data-item-level-sublevel-height));background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color, var(--draggable-data-item-level-sublevel-background-color));border-color:var(--luzmo-draggable-data-item-level-sublevel-border-color, var(--draggable-data-item-level-sublevel-border-color));margin-inline-start:var(--luzmo-draggable-data-item-level-sublevel-margin-inline-start, var(--draggable-data-item-level-sublevel-margin-inline-start));grid-template-columns:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width)) 1fr}:host([sublevel]) .draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-hover, var(--draggable-data-item-level-sublevel-background-color-hover));color:var(--luzmo-draggable-data-item-level-sublevel-font-color-hover, var(--draggable-data-item-level-sublevel-font-color-hover))}:host([sublevel]) .draggable-data-item-level .drag-handle-icon{width:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--draggable-data-item-level-sublevel-drag-handle-width));text-align:center}:host(.highlighted) .draggable-data-item-level:not(:hover){background-color:var(--luzmo-draggable-data-item-level-background-color-highlighted, var(--draggable-data-item-level-background-color-highlighted));color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted));border-color:var(--luzmo-draggable-data-item-level-border-color-highlighted, var(--draggable-data-item-level-border-color-highlighted))}:host(.highlighted) .draggable-data-item-level:not(:hover) .data-description{color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted))}:host([disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-disabled, var(--draggable-data-item-level-background-color-disabled));color:var(--luzmo-draggable-data-item-level-color-disabled, var(--draggable-data-item-level-color-disabled));cursor:not-allowed}:host([disabled]) .drag-handle-icon{opacity:.25}:host([sublevel][disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-disabled, var(--draggable-data-item-level-sublevel-background-color-disabled))}:host(.pulse) .draggable-data-item-level{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color));animation:draggableDataItemPulse 1.5s infinite cubic-bezier(.66,.33,0,1)}:host(.focus) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-focus, var(--draggable-data-item-level-background-color-focus));color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus));border-color:var(--luzmo-draggable-data-item-level-border-color-focus, var(--draggable-data-item-level-border-color-focus))}:host(.focus) .draggable-data-item-level .data-description{color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus))}@keyframes draggableDataItemPulse{0%{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color))}to{box-shadow:0 0 0 .5rem transparent,0 0 0 .5rem transparent}}.drag-handle-icon{opacity:.6;font-size:var(--luzmo-draggable-data-item-level-drag-handle-size, var(--luzmo-draggable-data-item-level-drag-handle-size));width:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width));text-align:center;justify-self:center}.data-icon-type{width:var(--luzmo-draggable-data-item-level-data-icon-width, var(--luzmo-draggable-data-item-level-data-icon-width));text-align:center;position:relative;justify-self:center}.with-secondary-icon{clip-path:polygon(0 0,60% 0,65% 60%,100% 65%,100% 100%,0 100%)}.secondary-icon{position:absolute;bottom:45%;left:70%;width:auto;font-size:.75em;line-height:1}:host([variant=highlight]){--draggable-data-item-level-background-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-border-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-background-color-hover: var( --luzmo-background-color-highlight-hover );--draggable-data-item-level-font-color-hover: var(--luzmo-font-color-hover);--draggable-data-item-level-border-color-hover: var( --luzmo-background-color-highlight-hover )}:host{--draggable-data-item-level-height: var(--luzmo-component-height);--draggable-data-item-level-label-font-size: var(--luzmo-font-size);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-width: var(--luzmo-border-width);--draggable-data-item-level-border-style: solid;--draggable-data-item-level-border-color: var(--luzmo-border-color-hover);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-4);--draggable-data-item-level-font-color: var(--luzmo-font-color);--draggable-data-item-level-color-disabled: var(--luzmo-color-disabled);--draggable-data-item-level-background-color-disabled: var( --luzmo-background-color-disabled );--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-s);--luzmo-draggable-data-item-level-drag-handle-width: var( --draggable-data-item-level-icon-type-size );--luzmo-draggable-data-item-level-data-icon-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-3) );--luzmo-draggable-data-item-level-description-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-2) );--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-s);--draggable-data-item-level-sublevel-border-color: transparent;--draggable-data-item-level-sublevel-background-color: transparent;--draggable-data-item-level-sublevel-background-color-disabled: transparent;--draggable-data-item-level-sublevel-margin-inline-start: calc( var(--draggable-data-item-level-gap) + var(--luzmo-draggable-data-item-level-drag-handle-width) );--luzmo-draggable-data-item-level-sublevel-drag-handle-width: var( --luzmo-draggable-data-item-level-data-icon-width );--draggable-data-item-level-sublevel-background-color-hover: rgba( var(--luzmo-border-color-rgb), .05 )}:host([hide-type-icon]){--draggable-data-item-level-sublevel-margin-inline-start: var( --draggable-data-item-level-gap )}:host(.highlighted){--draggable-data-item-level-background-color-highlighted: var( --luzmo-primary );--draggable-data-item-level-font-color-highlighted: var( --luzmo-primary-inverse-color );--draggable-data-item-level-border-color-highlighted: var( --luzmo-border-color )}:host(.focus){--draggable-data-item-level-background-color-focus: var( --luzmo-background-color-focus, var(--luzmo-secondary) );--draggable-data-item-level-font-color-focus: var( --luzmo-font-color-focus, var(--luzmo-secondary-inverse-color) );--draggable-data-item-level-border-color-focus: var( --luzmo-border-color-focus, var(--luzmo-secondary) )}:host(.pulse){--draggable-data-item-level-pulse-color: var( --luzmo-secondary-outline, rgba(var(--luzmo-secondary-rgb), .4) )}:host([size=s]){--draggable-data-item-level-height: var(--luzmo-component-height-s);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-s);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-s);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-4);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-3);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-xs);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-xs)}:host([size=l]){--draggable-data-item-level-height: var(--luzmo-component-height-l);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-l);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-l);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-l);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size)}:host([size=xl]){--draggable-data-item-level-height: var(--luzmo-component-height-xl);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-xl);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-xl);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-xl);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-l);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-l)}:host{box-sizing:border-box}",_=b=>{const e=b.source.element,a=b.source.data,r=e.renderRoot?.querySelector(".data-label")?.textContent||C.localize(a.name,e.language)||"Untitled",t=a.type,o=a.subtype,i=y.calculateDataItemIcon({type:t,subtype:o},e.size),l={};[["borderColor","--luzmo-draggable-data-item-level-border-color","--draggable-data-item-level-border-color"],["backgroundColor","--luzmo-draggable-data-item-level-background-color","--draggable-data-item-level-background-color"],["color","--luzmo-draggable-data-item-level-font-color","--draggable-data-item-level-font-color"],["fontSize","--luzmo-draggable-data-item-level-label-font-size","--draggable-data-item-level-label-font-size"],["height","--luzmo-draggable-data-item-level-height","--draggable-data-item-level-height"],["borderRadius","--luzmo-draggable-data-item-level-border-radius","--draggable-data-item-level-border-radius"],["fontFamily","--luzmo-draggable-data-item-level-font-family","--luzmo-font-family"],["horizontalPadding","--luzmo-draggable-data-item-level-horizontal-padding","--draggable-data-item-level-horizontal-padding"],["gap","--luzmo-draggable-data-item-level-gap","--draggable-data-item-level-gap"]].forEach(([g,h,f])=>{const k=z.getCssVariableValue(e,h)||z.getCssVariableValue(e,f);l[g]=k});const u=document.createElement("div"),s=document.createElement("div");if(u.innerHTML=r,Object.assign(u.style,{maxWidth:"12rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),!e.sublevel){const g=document.createElement("luzmo-icon");g.icon=i,s.append(g)}return s.append(u),Object.assign(s.style,{display:"flex",alignItems:"center",maxWidth:"12rem",lineHeight:"1",height:l.height,border:`1px solid ${l.borderColor}`,backgroundColor:l.backgroundColor,borderRadius:l.borderRadius,fontFamily:l.fontFamily,fontSize:l.fontSize,color:l.color,padding:`0 ${l.horizontalPadding}`,gap:l.gap}),s};var S=Object.defineProperty,c=(b,e,a,r)=>{for(var t=void 0,o=b.length-1,i;o>=0;o--)(i=b[o])&&(t=i(e,a,t)||t);return t&&S(e,a,t),t};const w=class w extends x.SizedMixin(I.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.language="en",this.data={},this._isCurrentlyHighlighted=!1,this._handleHighlight=e=>{const a=e.detail??{},{columnId:r,level:t,formulaId:o}=a,i=this.data?.columnId??this.data?.column??this.data?.formulaId??this.data?.formula??this.data?.id,l=this.data?.level??0,p=t??0,u=(i===r||i===o)&&l===p,s=(i===r||i===o)&&l===0&&p>0,g=u||s;if(this.classList.toggle("highlighted",g),g&&!this._isCurrentlyHighlighted){this._isCurrentlyHighlighted=!0;const h=this.getBoundingClientRect(),f=window.innerHeight||document.documentElement.clientHeight;if(h.top<0||h.bottom>f)try{this.scrollIntoView({block:"center"})}catch{this.scrollIntoView(!0)}}else!g&&this._isCurrentlyHighlighted&&(this._isCurrentlyHighlighted=!1)},this._clearHighlight=()=>{this.classList.remove("highlighted"),this._isCurrentlyHighlighted=!1},this.dataItemLevelDropped=e=>{this.dispatchEvent(new CustomEvent("data-item-dropped",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:e}}))},this.dataItemLevelDragStarted=e=>{this.dispatchEvent(new CustomEvent("data-item-drag-started",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:e}}))}}disconnectedCallback(){super.disconnectedCallback(),this._cleanupDraggable&&(this._cleanupDraggable(),this._cleanupDraggable=void 0),window.removeEventListener("slot-menu-highlight",this._handleHighlight),window.removeEventListener("slot-menu-inactive",this._clearHighlight)}connectedCallback(){super.connectedCallback(),window.addEventListener("slot-menu-highlight",this._handleHighlight),window.addEventListener("slot-menu-inactive",this._clearHighlight)}firstUpdated(e){this._cleanupDraggable=z.draggable({element:this,canDrag:()=>!this.disabled,onDragStart:()=>{this.style.opacity="0.5",this.dataItemLevelDragStarted(this.data)},onDrop:()=>{this.style.opacity="1",this.dataItemLevelDropped(this.data)},getInitialData:()=>({...this.data}),onGenerateDragPreview:a=>{const r=a.nativeSetDragImage;z.setCustomNativeDragPreview({render({container:t}){const o=_(a);t.append(o)},nativeSetDragImage:r})}})}render(){if(!this.data)return v.html`<div class="draggable-data-item-level" tabindex="0"></div>`;const e=this.data.name?.[this.language]??this.data.name?.[Object.keys(this.data.name)[0]]??"Untitled",a=this.data.description?.[this.language]??this.data.description?.[Object.keys(this.data.description)[0]],r=y.calculateDataItemSecondaryIcon(this.data,this.size);return v.html`
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("../get-css-variable-Pzks_rOx.cjs"),n=require("@luzmo/icons");require("@luzmo/lucero/icon");require("@luzmo/lucero/tooltip");const v=require("lit"),m=require("lit/decorators.js"),I=require("../focusable-QLh-LlNt.cjs"),x=require("../sized-mixin-DcvJLFeo.cjs"),y=require("../calculate-data-item-icon-DtVGbet3.cjs"),C=require("../localize-C4zNlrwK.cjs"),D=":host{font-family:var(--luzmo-draggable-data-item-level-font-family, var(--luzmo-font-family));color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color))}.draggable-data-item-level{transition:background-color var(--luzmo-animation-duration);background-color:var(--luzmo-draggable-data-item-level-background-color, var(--draggable-data-item-level-background-color));display:grid;grid-template-columns:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--draggable-data-item-level-drag-handle-width)) var(--luzmo-draggable-data-item-level-data-icon-width, var(--draggable-data-item-level-data-icon-width)) 1fr var(--luzmo-draggable-data-item-level-description-width, var(--draggable-data-item-level-description-width, auto));gap:var(--luzmo-draggable-data-item-level-gap, var(--draggable-data-item-level-gap));align-items:center;padding:0 var(--luzmo-draggable-data-item-level-horizontal-padding, var(--draggable-data-item-level-horizontal-padding));border-radius:var(--luzmo-draggable-data-item-level-border-radius, var(--draggable-data-item-level-border-radius));border-width:var(--luzmo-draggable-data-item-level-border-width, var(--draggable-data-item-level-border-width));border-style:var(--luzmo-draggable-data-item-level-border-style, var(--draggable-data-item-level-border-style));border-color:var(--luzmo-draggable-data-item-level-border-color, var(--draggable-data-item-level-border-color))}.draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-background-color-hover, var(--draggable-data-item-level-background-color-hover));color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover));border-color:var(--luzmo-draggable-data-item-level-border-color-hover, var(--draggable-data-item-level-border-color-hover))}.draggable-data-item-level:hover .data-description{color:var(--luzmo-draggable-data-item-level-font-color-hover, var(--draggable-data-item-level-font-color-hover))}.draggable-data-item-level .data-label{font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.draggable-data-item-level .data-description{height:100%;display:flex;align-items:center;background-color:transparent;outline:none;border:none;color:var(--luzmo-draggable-data-item-level-font-color, var(--draggable-data-item-level-font-color));font-size:var(--luzmo-draggable-data-item-level-label-font-size, var(--draggable-data-item-level-label-font-size))}.draggable-data-item-level{height:var(--luzmo-draggable-data-item-level-height, var(--draggable-data-item-level-height));cursor:move}:host([sublevel]) .draggable-data-item-level{height:var(--luzmo-draggable-data-item-level-sublevel-height, var(--draggable-data-item-level-sublevel-height));background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color, var(--draggable-data-item-level-sublevel-background-color));border-color:var(--luzmo-draggable-data-item-level-sublevel-border-color, var(--draggable-data-item-level-sublevel-border-color));margin-inline-start:var(--luzmo-draggable-data-item-level-sublevel-margin-inline-start, var(--draggable-data-item-level-sublevel-margin-inline-start));grid-template-columns:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width)) 1fr}:host([sublevel]) .draggable-data-item-level:hover{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-hover, var(--draggable-data-item-level-sublevel-background-color-hover));color:var(--luzmo-draggable-data-item-level-sublevel-font-color-hover, var(--draggable-data-item-level-sublevel-font-color-hover))}:host([sublevel]) .draggable-data-item-level .drag-handle-icon{width:var(--luzmo-draggable-data-item-level-sublevel-drag-handle-width, var(--draggable-data-item-level-sublevel-drag-handle-width));text-align:center}:host(.highlighted) .draggable-data-item-level:not(:hover){background-color:var(--luzmo-draggable-data-item-level-background-color-highlighted, var(--draggable-data-item-level-background-color-highlighted));color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted));border-color:var(--luzmo-draggable-data-item-level-border-color-highlighted, var(--draggable-data-item-level-border-color-highlighted))}:host(.highlighted) .draggable-data-item-level:not(:hover) .data-description{color:var(--luzmo-draggable-data-item-level-font-color-highlighted, var(--draggable-data-item-level-font-color-highlighted))}:host([disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-disabled, var(--draggable-data-item-level-background-color-disabled));color:var(--luzmo-draggable-data-item-level-color-disabled, var(--draggable-data-item-level-color-disabled));cursor:not-allowed}:host([disabled]) .drag-handle-icon{opacity:.25}:host([sublevel][disabled]) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-sublevel-background-color-disabled, var(--draggable-data-item-level-sublevel-background-color-disabled))}:host(.pulse) .draggable-data-item-level{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color));animation:draggableDataItemPulse 1.5s infinite cubic-bezier(.66,.33,0,1)}:host(.focus) .draggable-data-item-level{background-color:var(--luzmo-draggable-data-item-level-background-color-focus, var(--draggable-data-item-level-background-color-focus));color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus));border-color:var(--luzmo-draggable-data-item-level-border-color-focus, var(--draggable-data-item-level-border-color-focus))}:host(.focus) .draggable-data-item-level .data-description{color:var(--luzmo-draggable-data-item-level-font-color-focus, var(--draggable-data-item-level-font-color-focus))}@keyframes draggableDataItemPulse{0%{box-shadow:0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color)),0 0 0 0 var(--luzmo-draggable-data-item-level-pulse-color, var(--draggable-data-item-level-pulse-color))}to{box-shadow:0 0 0 .5rem transparent,0 0 0 .5rem transparent}}.drag-handle-icon{opacity:.6;font-size:var(--luzmo-draggable-data-item-level-drag-handle-size, var(--luzmo-draggable-data-item-level-drag-handle-size));width:var(--luzmo-draggable-data-item-level-drag-handle-width, var(--luzmo-draggable-data-item-level-drag-handle-width));text-align:center;justify-self:center}.data-icon-type{width:var(--luzmo-draggable-data-item-level-data-icon-width, var(--luzmo-draggable-data-item-level-data-icon-width));text-align:center;position:relative;justify-self:center}.with-secondary-icon{clip-path:polygon(0 0,60% 0,65% 60%,100% 65%,100% 100%,0 100%)}.secondary-icon{position:absolute;bottom:45%;left:70%;width:auto;font-size:.75em;line-height:1}:host([variant=highlight]){--draggable-data-item-level-background-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-border-color: var( --luzmo-background-color-highlight );--draggable-data-item-level-background-color-hover: var( --luzmo-background-color-highlight-hover );--draggable-data-item-level-font-color-hover: var(--luzmo-font-color-hover);--draggable-data-item-level-border-color-hover: var( --luzmo-background-color-highlight-hover )}:host{--draggable-data-item-level-height: var(--luzmo-component-height);--draggable-data-item-level-label-font-size: var(--luzmo-font-size);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-width: var(--luzmo-border-width);--draggable-data-item-level-border-style: solid;--draggable-data-item-level-border-color: var(--luzmo-border-color-hover);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-4);--draggable-data-item-level-font-color: var(--luzmo-font-color);--draggable-data-item-level-color-disabled: var(--luzmo-color-disabled);--draggable-data-item-level-background-color-disabled: var( --luzmo-background-color-disabled );--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-s);--luzmo-draggable-data-item-level-drag-handle-width: var( --draggable-data-item-level-icon-type-size );--luzmo-draggable-data-item-level-data-icon-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-3) );--luzmo-draggable-data-item-level-description-width: calc( var(--draggable-data-item-level-icon-type-size) + var(--luzmo-spacing-2) );--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-s);--draggable-data-item-level-sublevel-border-color: transparent;--draggable-data-item-level-sublevel-background-color: transparent;--draggable-data-item-level-sublevel-background-color-disabled: transparent;--draggable-data-item-level-sublevel-margin-inline-start: calc( var(--draggable-data-item-level-gap) + var(--luzmo-draggable-data-item-level-drag-handle-width) );--luzmo-draggable-data-item-level-sublevel-drag-handle-width: var( --luzmo-draggable-data-item-level-data-icon-width );--draggable-data-item-level-sublevel-background-color-hover: rgba( var(--luzmo-border-color-rgb), .05 )}:host([hide-type-icon]){--draggable-data-item-level-sublevel-margin-inline-start: var( --draggable-data-item-level-gap )}:host(.highlighted){--draggable-data-item-level-background-color-highlighted: var( --luzmo-primary );--draggable-data-item-level-font-color-highlighted: var( --luzmo-primary-inverse-color );--draggable-data-item-level-border-color-highlighted: var( --luzmo-border-color )}:host(.focus){--draggable-data-item-level-background-color-focus: var( --luzmo-background-color-focus, var(--luzmo-secondary) );--draggable-data-item-level-font-color-focus: var( --luzmo-font-color-focus, var(--luzmo-secondary-inverse-color) );--draggable-data-item-level-border-color-focus: var( --luzmo-border-color-focus, var(--luzmo-secondary) )}:host(.pulse){--draggable-data-item-level-pulse-color: var( --luzmo-secondary-outline, rgba(var(--luzmo-secondary-rgb), .4) )}:host([size=s]){--draggable-data-item-level-height: var(--luzmo-component-height-s);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-s);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-s);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-4);--draggable-data-item-level-border-radius: var(--luzmo-border-radius);--draggable-data-item-level-gap: var(--luzmo-spacing-3);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-xs);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-xs)}:host([size=l]){--draggable-data-item-level-height: var(--luzmo-component-height-l);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-l);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-l);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-l);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size)}:host([size=xl]){--draggable-data-item-level-height: var(--luzmo-component-height-xl);--draggable-data-item-level-label-font-size: var(--luzmo-font-size-xl);--draggable-data-item-level-icon-type-size: var(--luzmo-font-size-xl);--draggable-data-item-level-horizontal-padding: var(--luzmo-spacing-5);--draggable-data-item-level-border-radius: var(--luzmo-border-radius-xl);--draggable-data-item-level-gap: var(--luzmo-spacing-5);--draggable-data-item-level-sublevel-height: var(--luzmo-component-height-l);--luzmo-draggable-data-item-level-drag-handle-size: var(--luzmo-font-size-l)}:host{box-sizing:border-box}",_=b=>{const e=b.source.element,a=b.source.data,r=e.renderRoot?.querySelector(".data-label")?.textContent||C.localize(a.name,e.language)||"Untitled",t=a.type,o=a.subtype,i=y.calculateDataItemIcon({type:t,subtype:o},e.size),l={};[["borderColor","--luzmo-draggable-data-item-level-border-color","--draggable-data-item-level-border-color"],["backgroundColor","--luzmo-draggable-data-item-level-background-color","--draggable-data-item-level-background-color"],["color","--luzmo-draggable-data-item-level-font-color","--draggable-data-item-level-font-color"],["fontSize","--luzmo-draggable-data-item-level-label-font-size","--draggable-data-item-level-label-font-size"],["height","--luzmo-draggable-data-item-level-height","--draggable-data-item-level-height"],["borderRadius","--luzmo-draggable-data-item-level-border-radius","--draggable-data-item-level-border-radius"],["fontFamily","--luzmo-draggable-data-item-level-font-family","--luzmo-font-family"],["horizontalPadding","--luzmo-draggable-data-item-level-horizontal-padding","--draggable-data-item-level-horizontal-padding"],["gap","--luzmo-draggable-data-item-level-gap","--draggable-data-item-level-gap"]].forEach(([g,h,f])=>{const k=z.getCssVariableValue(e,h)||z.getCssVariableValue(e,f);l[g]=k});const u=document.createElement("div"),s=document.createElement("div");if(u.innerHTML=r,Object.assign(u.style,{maxWidth:"12rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),!e.sublevel){const g=document.createElement("luzmo-icon");g.icon=i,s.append(g)}return s.append(u),Object.assign(s.style,{display:"flex",alignItems:"center",maxWidth:"12rem",lineHeight:"1",height:l.height,border:`1px solid ${l.borderColor}`,backgroundColor:l.backgroundColor,borderRadius:l.borderRadius,fontFamily:l.fontFamily,fontSize:l.fontSize,color:l.color,padding:`0 ${l.horizontalPadding}`,gap:l.gap}),s};var S=Object.defineProperty,c=(b,e,a,r)=>{for(var t=void 0,o=b.length-1,i;o>=0;o--)(i=b[o])&&(t=i(e,a,t)||t);return t&&S(e,a,t),t};const w=class w extends x.SizedMixin(I.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(...arguments),this.language="en",this.data={},this._isCurrentlyHighlighted=!1,this._handleHighlight=e=>{const a=e.detail??{},{columnId:r,level:t,formulaId:o}=a,i=this.data?.columnId??this.data?.column??this.data?.formulaId??this.data?.formula??this.data?.id,l=this.data?.level??0,p=t??0,u=(i===r||i===o)&&l===p,s=(i===r||i===o)&&l===0&&p>0,g=u||s;if(this.classList.toggle("highlighted",g),g&&!this._isCurrentlyHighlighted){this._isCurrentlyHighlighted=!0;const h=this.getBoundingClientRect(),f=window.innerHeight||document.documentElement.clientHeight;if(h.top<0||h.bottom>f)try{this.scrollIntoView({block:"center"})}catch{this.scrollIntoView(!0)}}else!g&&this._isCurrentlyHighlighted&&(this._isCurrentlyHighlighted=!1)},this._clearHighlight=()=>{this.classList.remove("highlighted"),this._isCurrentlyHighlighted=!1},this.dataItemLevelDropped=e=>{this.dispatchEvent(new CustomEvent("data-item-dropped",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:e}}))},this.dataItemLevelDragStarted=e=>{this.dispatchEvent(new CustomEvent("data-item-drag-started",{bubbles:!0,composed:!0,cancelable:!0,detail:{data:e}}))}}disconnectedCallback(){super.disconnectedCallback(),this._cleanupDraggable&&(this._cleanupDraggable(),this._cleanupDraggable=void 0),window.removeEventListener("slot-menu-highlight",this._handleHighlight),window.removeEventListener("slot-menu-inactive",this._clearHighlight)}connectedCallback(){super.connectedCallback(),window.addEventListener("slot-menu-highlight",this._handleHighlight),window.addEventListener("slot-menu-inactive",this._clearHighlight)}firstUpdated(e){this._cleanupDraggable=z.draggable({element:this,canDrag:()=>!this.disabled,onDragStart:()=>{this.style.opacity="0.5",this.dataItemLevelDragStarted(this.data)},onDrop:()=>{this.style.opacity="1",this.dataItemLevelDropped(this.data)},getInitialData:()=>({...this.data}),onGenerateDragPreview:a=>{const r=a.nativeSetDragImage;z.setCustomNativeDragPreview({render({container:t}){const o=_(a);t.append(o)},nativeSetDragImage:r})}})}render(){if(!this.data)return v.html`<div class="draggable-data-item-level" tabindex="0"></div>`;const e=this.data.name?.[this.language]??this.data.name?.[Object.keys(this.data.name)[0]]??"Untitled",a=this.data.description?.[this.language]??this.data.description?.[Object.keys(this.data.description)[0]],r=y.calculateDataItemSecondaryIcon(this.data,this.size);return v.html`
21
21
  <div class="draggable-data-item-level" tabindex="0">
22
22
  <div class="drag-handle-icon">
23
23
  ${this.sublevel?n.luzmoIcon(n.luzmoDragLines):n.luzmoIcon(n.luzmoArrows)}
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { g as w, d as k, s as C } from "../get-css-variable-CdwF98oh.js";
20
+ import { g as w, d as k, s as C } from "../get-css-variable-Bb7TxJdX.js";
21
21
  import { luzmoIcon as v, luzmoDragLines as I, luzmoArrows as S, luzmoInfoCircleOutline as D } from "@luzmo/icons";
22
22
  import "@luzmo/lucero/icon";
23
23
  import "@luzmo/lucero/tooltip";
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("../get-css-variable-COd1d84B.cjs"),S=require("@lit/context"),u=require("@lit/localize"),L=require("@lit/task"),g=require("@luzmo/icons");require("@luzmo/lucero/tooltip");const z=require("../index-CFL6gmIu.cjs"),c=require("../localize-C4zNlrwK.cjs"),P=require("../en-DZcn_iz_.cjs"),d=require("lit"),a=require("lit/decorators.js"),E=require("../focusable-QLh-LlNt.cjs"),q=require("../sized-mixin-DcvJLFeo.cjs"),k=require("../index-BekTY3Em.cjs"),m=require("@lit-labs/signals"),h=require("../types-VPf7E5dD.cjs"),f=require("../set-locale-BRRalqne.cjs");require("../slot-menu/index.cjs");const w=(r,t)=>{const e={type:r.type,datasetId:r.datasetId,set:r.datasetId};"columnId"in r&&!c.isEmpty(r.columnId)&&r.columnId!==""?(e.columnId=r.columnId,e.column=r.columnId):"formulaId"in r&&!c.isEmpty(r.formulaId)&&r.formulaId!==""&&(e.formulaId=r.formulaId,e.formula=r.formulaId);const l=r.type==="datetime"||r.type==="array[datetime]",o={...r.name??{en:"Untitled"}};let s=r.level;if(l&&(s=s??r.lowestLevel??9,t)){const n=P.DEFAULT_LOCAL_FORMATS.shortLevels?.filter(b=>b!=="All")??[],p=Math.max(0,Math.min(n.length-1,(s??1)-1)),v=n[p];if(v){const b=`(${v})`,_=Object.keys(o);for(const y of _)o[y]=`${o[y]} ${b}`}}return e.label=o,c.isEmpty(r.subtype)||(e.subtype=r.subtype),"lowestLevel"in r&&!c.isEmpty(r.lowestLevel)&&(e.lowestLevel=r.lowestLevel),c.isEmpty(r.format)||(e.format=r.format),c.isEmpty(s)||(e.level=s),c.isEmpty(r.lowestLevel)||(e.lowestLevel=r.lowestLevel),r.type==="numeric"&&r.subtype==="currency"&&r.currency?.symbol&&(e.currency=r.currency.symbol),Array.isArray(r.duration_levels)&&r.duration_format&&(e.duration={levels:r.duration_levels,format:r.duration_format}),e};class A{constructor(){this.slotContents=m.signal([]),this.slotsContents=m.signal([]),this.periodOverPeriodUiType=m.signal(null),this.linkedDataset=m.signal([]),this._popEnabledChartTypes=["area-chart","bar-chart","combination-chart","column-chart","line-chart"],this.activeSlotContents=m.computed(()=>this.slotContents.get()[this.activeIndex.get()]),this.activeIndex=m.signal(0)}isArrayColumnType(t){return t.startsWith("array[")}setPeriodOverPeriodCondition(t,e){if(!e?.periodOverPeriod?.newUi){this.periodOverPeriodUiType.set(this.oldConditionalLogic(t));return}this.periodOverPeriodUiType.set(this.getUiConditionToApply(e))}getUiConditionToApply(t){const e=this.hasDatetimeColumnOnCategoryOrXAxis(),l=t?.periodOverPeriod?.hasConnectedComparisonFilter,o=this.linkedDataset.get().some(({columns:s})=>s?.some(n=>n.type==="datetime"));return!e&&!l&&!o?null:e&&l?h.PeriodOverPeriodCondition.HasDatetimeColumnAndComparisonFilters:e&&!l?h.PeriodOverPeriodCondition.HasDatetimeColumnAndNoComparisonFilters:!e&&l?h.PeriodOverPeriodCondition.NoDatetimeColumnButComparisonFilters:h.PeriodOverPeriodCondition.NoDatetimeColumnAndNoComparisonFilters}oldConditionalLogic(t){const e=this.slotsContents.get()??[],o=(e.find(p=>["y-axis","x-axis","row"].includes(p.name))?.content??[])?.[0]??null,s=e.find(p=>p.name==="measure")?.content??[];return o&&this._popEnabledChartTypes.includes(t)&&o.type==="datetime"&&!this.isArrayColumnType(o.type)&&!o.datetimeDisplayMode&&o.level!==4&&s.length>0?h.PeriodOverPeriodCondition.OldImplementation:null}hasDatetimeColumnOnCategoryOrXAxis(){const l=((this.slotsContents.get()??[]).find(o=>["y-axis","x-axis"].includes(o.name))?.content??[])?.[0]??null;return!!(l&&l.type==="datetime"&&!this.isArrayColumnType(l.type))}setContents(t,e){if(this.slotContents.set(t),this.activeIndex.get()>=t.length&&this.activeIndex.set(t.length>0?t.length-1:0),e){const l=structuredClone(this.slotsContents.get())??[],o=l.find(s=>s.name===e);o&&(o.content=t),this.setFullContents(l)}}setFullContents(t){this.slotsContents.set(t)}updateActive(t){t>=0&&t<this.slotContents.get().length&&this.activeIndex.set(t)}updateContent(t,e=this.activeIndex.get()){if(e<0||e>=this.slotContents.get().length)return;const l=[...this.slotContents.get()];l[e]=structuredClone(t),this.slotContents.set(l)}removeContent(t){if(t<0||t>=this.slotContents.get().length)return;const e=this.slotContents.get().filter((l,o)=>o!==t);this.slotContents.set(e),this.activeIndex.get()>=e.length&&this.activeIndex.set(e.length>0?e.length-1:0)}}const x=":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={Category:()=>u.msg("Category",{desc:"Category label"}),Measure:()=>u.msg("Measure",{desc:"Measure label"}),Legend:()=>u.msg("Legend",{desc:"Legend label"}),"Y-Axis":()=>u.msg("Y-Axis",{desc:"Y-Axis label"}),"X-Axis":()=>u.msg("X-Axis",{desc:"X-Axis label"}),"Group by":()=>u.msg("Group by",{desc:"Group by label"})};var I=Object.defineProperty,$=Object.getOwnPropertyDescriptor,i=(r,t,e,l)=>{for(var o=l>1?void 0:l?$(t,e):t,s=r.length-1,n;s>=0;s--)(n=r[s])&&(o=(l?n(t,e,o):n(o))||o);return l&&o&&I(t,e,o),o};exports.LuzmoDroppableSlot=class extends q.SizedMixin(E.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(),this._loadSlotsConfig=new L.Task(this,{task:async([t])=>{if(t&&t!==this._itemTypeLoaded){const e=Object.assign({"../../item-definitions/area-chart/area-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../area-chart-slots.config-Dx_ysVZK.cjs")),"../../item-definitions/bar-chart/bar-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../bar-chart-slots.config-c_9ABPOI.cjs")),"../../item-definitions/box-plot/box-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../box-plot-slots.config-K-1CiWO-.cjs")),"../../item-definitions/bubble-chart/bubble-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../bubble-chart-slots.config-BwSwgleO.cjs")),"../../item-definitions/bullet-chart/bullet-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../bullet-chart-slots.config-DQarxMR7.cjs")),"../../item-definitions/choropleth-map/choropleth-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../choropleth-map-slots.config-CFERs0ca.cjs")),"../../item-definitions/circle-pack-chart/circle-pack-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../circle-pack-chart-slots.config-B18aqdH1.cjs")),"../../item-definitions/circular-gauge/circular-gauge-slots.config.ts":()=>Promise.resolve().then(()=>require("../circular-gauge-slots.config-Cd-nkNPm.cjs")),"../../item-definitions/column-chart/column-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../column-chart-slots.config-C0nGjkmv.cjs")),"../../item-definitions/combination-chart/combination-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../combination-chart-slots.config-CY07Q5Hw.cjs")),"../../item-definitions/conditional-number/conditional-number-slots.config.ts":()=>Promise.resolve().then(()=>require("../conditional-number-slots.config-CD5ZwXuY.cjs")),"../../item-definitions/date-comparison-filter/date-comparison-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../date-comparison-filter-slots.config-CrA5ijD3.cjs")),"../../item-definitions/date-filter/date-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../date-filter-slots.config-CrA5ijD3.cjs")),"../../item-definitions/donut-chart/donut-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../donut-chart-slots.config-DBowIZNO.cjs")),"../../item-definitions/dropdown-filter/dropdown-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../dropdown-filter-slots.config-0wn6pMvi.cjs")),"../../item-definitions/evolution-number/evolution-number-slots.config.ts":()=>Promise.resolve().then(()=>require("../evolution-number-slots.config-CNNVp6vR.cjs")),"../../item-definitions/funnel-chart/funnel-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../funnel-chart-slots.config-GKBCY9xN.cjs")),"../../item-definitions/heat-map/heat-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../heat-map-slots.config-D7cSAVdX.cjs")),"../../item-definitions/heat-table/heat-table-slots.config.ts":()=>Promise.resolve().then(()=>require("../heat-table-slots.config-GGX3BCh1.cjs")),"../../item-definitions/hexbin-map/hexbin-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../hexbin-map-slots.config-D7cSAVdX.cjs")),"../../item-definitions/image/image-slots.config.ts":()=>Promise.resolve().then(()=>require("../image-slots.config-mPXMR1CE.cjs")),"../../item-definitions/line-chart/line-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../line-chart-slots.config-Dx_ysVZK.cjs")),"../../item-definitions/marker-map/marker-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../marker-map-slots.config-D7cSAVdX.cjs")),"../../item-definitions/ohlc-chart/ohlc-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../ohlc-chart-slots.config-DMomcHMV.cjs")),"../../item-definitions/parallel-coordinates-plot/parallel-coordinates-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../parallel-coordinates-plot-slots.config--fk40ZDu.cjs")),"../../item-definitions/pivot-table/pivot-table-slots.config.ts":()=>Promise.resolve().then(()=>require("../pivot-table-slots.config-45V_Gdm7.cjs")),"../../item-definitions/pyramid-chart/pyramid-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../pyramid-chart-slots.config-D5F0WX2d.cjs")),"../../item-definitions/radar-chart/radar-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../radar-chart-slots.config-BEigR_Ml.cjs")),"../../item-definitions/regular-table/regular-table-slots.config.ts":()=>Promise.resolve().then(()=>require("../regular-table-slots.config-RLnMgOXn.cjs")),"../../item-definitions/route-map/route-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../route-map-slots.config-DsVJBR3D.cjs")),"../../item-definitions/sankey-diagram/sankey-diagram-slots.config.ts":()=>Promise.resolve().then(()=>require("../sankey-diagram-slots.config-CiyYElLX.cjs")),"../../item-definitions/scatter-plot/scatter-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../scatter-plot-slots.config-47cB5_RC.cjs")),"../../item-definitions/search-filter/search-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../search-filter-slots.config-DeHkvc2Q.cjs")),"../../item-definitions/slicer-filter/slicer-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../slicer-filter-slots.config-V7hURjKI.cjs")),"../../item-definitions/slider-filter/slider-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../slider-filter-slots.config-B--K9cpP.cjs")),"../../item-definitions/speedometer-chart/speedometer-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../speedometer-chart-slots.config-Cd-nkNPm.cjs")),"../../item-definitions/spike-map/spike-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../spike-map-slots.config-BM5-Dlub.cjs")),"../../item-definitions/strip-plot/strip-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../strip-plot-slots.config-DDUlLO8K.cjs")),"../../item-definitions/sunburst-chart/sunburst-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../sunburst-chart-slots.config-B18aqdH1.cjs")),"../../item-definitions/symbol-map/symbol-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../symbol-map-slots.config-Dm_FRGHA.cjs")),"../../item-definitions/text/text-slots.config.ts":()=>Promise.resolve().then(()=>require("../text-slots.config-BMBEkf0O.cjs")),"../../item-definitions/treemap-chart/treemap-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../treemap-chart-slots.config-C3bnHCyy.cjs")),"../../item-definitions/venn-diagram/venn-diagram-slots.config.ts":()=>Promise.resolve().then(()=>require("../venn-diagram-slots.config-GytlZGbF.cjs")),"../../item-definitions/video/video-slots.config.ts":()=>Promise.resolve().then(()=>require("../video-slots.config-mPXMR1CE.cjs")),"../../item-definitions/wordcloud-chart/wordcloud-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../wordcloud-chart-slots.config-D7CiYopX.cjs"))}),l=`../../item-definitions/${t}/${t}-slots.config.ts`;if(e[l]){const o=await e[l]();this._itemTypeLoaded=t,this._slotsConfig=o?.default??{}}return this._slotsConfig}},args:()=>[this.itemType,this.language]}),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 A,this._currentSlotContents=[],this._lastFetchedDatasetId=null,this._linkedDatasetsIds=[],this._acceptableColumnTypes=["datetime","hierarchy","numeric","spatial","array[datetime]","array[numeric]","array[hierarchy]","array[spatial]"],this._attachDroppable=()=>{this._cleanupDroppable||(this._cleanupDroppable=D.dropTargetForElements({element:this,onDrop:async t=>{const e={...t.source?.data},l=t?.source?.element?.hasAttribute("sublevel")??!1,o=this._slotContents?.length===0,s=e.datasetId,n=w(e,l);this._slotContents=this.slotConfiguration?.canAcceptMultipleDataItems?[...this._slotContents??[],n]:[n],this.removeAttribute("accept-drag"),s&&s!==this._lastFetchedDatasetId&&(this._lastFetchedDatasetId=s,await z.dataBroker.fetchDatasetsRecursive([s]),this._linkedDatasetsIds=z.dataBroker.getLinkedDatasetsIds(s)),o?(this._overlayReady=!1,setTimeout(()=>{this._overlayReady=!0},200)):this._overlayReady=!0,this.changedSlotContents(this._slotContents,this._linkedDatasetsIds),this.classList.remove("pulse")},canDrop:({source:t})=>this._canDropItem({source:t}),getDropEffect:()=>"move",onDragEnter:()=>{this.setAttribute("accept-drag",""),this.classList.add("pulse")},onDragLeave:()=>{this.removeAttribute("accept-drag"),this.classList.remove("pulse")}}))},this._canDropItem=({source:t})=>{if(!["LUZMO-DRAGGABLE-DATA-ITEM-LEVEL","LUZMO-DRAGGABLE-DATA-ITEM"].includes(t.element?.tagName)||!this.slotConfiguration?.canAcceptFormula&&(t?.data?.formulaId||t?.data?.formula||t?.data?.entity==="formula"))return!1;const{acceptableDataItemTypes:e,acceptableColumnSubtypes:l}=this.slotConfiguration??{},o=Array.isArray(e)&&e.length>0?e:this._acceptableColumnTypes;return t?.data?.type&&!o.includes(t?.data?.type)?!1:!(t?.data?.subtype&&Array.isArray(l)&&l.length>0&&!l.includes(t?.data?.subtype))},this.changedSlotContents=(t,e=[])=>{this._store?.setContents(t,this.slotName),this.dispatchEvent(new CustomEvent("slot-contents-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContents:t,linkedDatasetsIds:e}}))},this._handleDragStart=t=>{const e=t,l=e.detail?.data;if(this._overlayElement&&(this._overlayElement.open=!1),!l)return;const o={data:l,element:{tagName:e.target instanceof HTMLElement&&e.target.tagName==="LUZMO-DRAGGABLE-DATA-ITEM-LEVEL"?"LUZMO-DRAGGABLE-DATA-ITEM-LEVEL":"LUZMO-DRAGGABLE-DATA-ITEM"}};this._canDropItem({source:o})&&this.setAttribute("would-accept-drag","")},this._handleDragEnd=()=>{this.removeAttribute("would-accept-drag")},this._handleOverlayClick=t=>{t.detail>0&&t.target===this._overlayElement?this._overlayElement.open=!1:t.stopPropagation()},new S.ContextProvider(this,{context:k.slotContext,initialValue:this._store})}connectedCallback(){super.connectedCallback(),this._attachDroppable(),document.addEventListener("data-item-drag-started",this._handleDragStart),document.addEventListener("data-item-dropped",this._handleDragEnd)}disconnectedCallback(){super.disconnectedCallback(),this._cleanupDroppable&&(this._cleanupDroppable(),this._cleanupDroppable=void 0),this._loadSlotsConfig.abort?.(),document.removeEventListener("data-item-drag-started",this._handleDragStart),document.removeEventListener("data-item-dropped",this._handleDragEnd)}emptySlotContents(t){t.preventDefault(),t.stopPropagation(),this._slotContents=[],this.changedSlotContents([])}willUpdate(t){t.has("slotConfiguration")&&(this._cleanupDroppable&&(this._cleanupDroppable(),this._cleanupDroppable=void 0),this._attachDroppable()),t.has("slotsContents")&&this._processSlotsContents(),t.has("language")&&this.language!==f.getLocale()&&([...f.targetLocales].includes(this.language??"en")||this.language==="en")&&f.setLocale(this.language)}_processSlotsContents(){this._store?.setFullContents(this.slotsContents),this._slotContents=this.slotsContents?.find(t=>t.name===this.slotName)?.content??[],this._currentSlotContents=[...this._slotContents],this._slotContents?.length>0&&(this._overlayReady=!0),this._store?.setContents(this._slotContents)}firstUpdated(){this._attachDroppable()}_onOverlayClosed(t){const e=t.overlay;this._slotMenuElement&&e===this._overlayElement&&(setTimeout(()=>{this._slotMenuElement.resetPosition()},500),this.dispatchEvent(new CustomEvent("slot-menu-inactive",{bubbles:!0,composed:!0})))}_onOverlayOpened(t){const e=t.overlay;if(this._slotMenuElement&&e===this._overlayElement){const l=this._store?.activeIndex.get?.()??0,o=this._slotContents?.[l]??this._slotContents?.[0];if(!o)return;const s=o?.column??o?.columnId,n=o?.set??o?.datasetId,p=o?.formula;(s||p)&&n&&(this.dispatchEvent(new CustomEvent("slot-menu-active",{bubbles:!0,composed:!0,detail:{datasetId:n}})),setTimeout(()=>{this.dispatchEvent(new CustomEvent("slot-menu-highlight",{bubbles:!0,composed:!0,detail:{datasetId:n,level:o?.level??0,...s&&{columnId:s},...p&&{formulaId:p}}}))}))}}_onSlotMenuChanges(t){t.preventDefault(),t.stopPropagation();const e=t.detail.linkedDatasetsIds;this._slotContents.length===t.detail.slotContents?.length?(this._currentSlotContents=t.detail.slotContents,this.changedSlotContents(this._currentSlotContents,e)):(this._slotContents=t.detail.slotContents,this.changedSlotContents(this._slotContents,e))}get _fullLabel(){let t="";const e=C[this.slotConfiguration?.label]?C[this.slotConfiguration?.label]():this.slotConfiguration?.label;this._currentSlotContents?.length===1?t=c.localize(this._currentSlotContents?.[0]?.label,this.language)??"Untitled":this._currentSlotContents?.length>1&&(t=`${this._currentSlotContents.length} items`);let l=this.label||e||"Untitled";return this._currentSlotContents?.length>0&&(l+=this._currentSlotContents?.length>1?`: ${this._currentSlotContents.length} items`:`: ${t}`),l}droppableSlotMarkup(){const t=d.html`
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("../get-css-variable-Pzks_rOx.cjs"),S=require("@lit/context"),u=require("@lit/localize"),L=require("@lit/task"),g=require("@luzmo/icons");require("@luzmo/lucero/tooltip");const z=require("../index-CFL6gmIu.cjs"),c=require("../localize-C4zNlrwK.cjs"),P=require("../en-DZcn_iz_.cjs"),d=require("lit"),a=require("lit/decorators.js"),E=require("../focusable-QLh-LlNt.cjs"),q=require("../sized-mixin-DcvJLFeo.cjs"),k=require("../index-BekTY3Em.cjs"),m=require("@lit-labs/signals"),h=require("../types-VPf7E5dD.cjs"),f=require("../set-locale-BRRalqne.cjs");require("../slot-menu/index.cjs");const w=(r,t)=>{const e={type:r.type,datasetId:r.datasetId,set:r.datasetId};"columnId"in r&&!c.isEmpty(r.columnId)&&r.columnId!==""?(e.columnId=r.columnId,e.column=r.columnId):"formulaId"in r&&!c.isEmpty(r.formulaId)&&r.formulaId!==""&&(e.formulaId=r.formulaId,e.formula=r.formulaId);const l=r.type==="datetime"||r.type==="array[datetime]",o={...r.name??{en:"Untitled"}};let s=r.level;if(l&&(s=s??r.lowestLevel??9,t)){const n=P.DEFAULT_LOCAL_FORMATS.shortLevels?.filter(b=>b!=="All")??[],p=Math.max(0,Math.min(n.length-1,(s??1)-1)),v=n[p];if(v){const b=`(${v})`,_=Object.keys(o);for(const y of _)o[y]=`${o[y]} ${b}`}}return e.label=o,c.isEmpty(r.subtype)||(e.subtype=r.subtype),"lowestLevel"in r&&!c.isEmpty(r.lowestLevel)&&(e.lowestLevel=r.lowestLevel),c.isEmpty(r.format)||(e.format=r.format),c.isEmpty(s)||(e.level=s),c.isEmpty(r.lowestLevel)||(e.lowestLevel=r.lowestLevel),r.type==="numeric"&&r.subtype==="currency"&&r.currency?.symbol&&(e.currency=r.currency.symbol),Array.isArray(r.duration_levels)&&r.duration_format&&(e.duration={levels:r.duration_levels,format:r.duration_format}),e};class A{constructor(){this.slotContents=m.signal([]),this.slotsContents=m.signal([]),this.periodOverPeriodUiType=m.signal(null),this.linkedDataset=m.signal([]),this._popEnabledChartTypes=["area-chart","bar-chart","combination-chart","column-chart","line-chart"],this.activeSlotContents=m.computed(()=>this.slotContents.get()[this.activeIndex.get()]),this.activeIndex=m.signal(0)}isArrayColumnType(t){return t.startsWith("array[")}setPeriodOverPeriodCondition(t,e){if(!e?.periodOverPeriod?.newUi){this.periodOverPeriodUiType.set(this.oldConditionalLogic(t));return}this.periodOverPeriodUiType.set(this.getUiConditionToApply(e))}getUiConditionToApply(t){const e=this.hasDatetimeColumnOnCategoryOrXAxis(),l=t?.periodOverPeriod?.hasConnectedComparisonFilter,o=this.linkedDataset.get().some(({columns:s})=>s?.some(n=>n.type==="datetime"));return!e&&!l&&!o?null:e&&l?h.PeriodOverPeriodCondition.HasDatetimeColumnAndComparisonFilters:e&&!l?h.PeriodOverPeriodCondition.HasDatetimeColumnAndNoComparisonFilters:!e&&l?h.PeriodOverPeriodCondition.NoDatetimeColumnButComparisonFilters:h.PeriodOverPeriodCondition.NoDatetimeColumnAndNoComparisonFilters}oldConditionalLogic(t){const e=this.slotsContents.get()??[],o=(e.find(p=>["y-axis","x-axis","row"].includes(p.name))?.content??[])?.[0]??null,s=e.find(p=>p.name==="measure")?.content??[];return o&&this._popEnabledChartTypes.includes(t)&&o.type==="datetime"&&!this.isArrayColumnType(o.type)&&!o.datetimeDisplayMode&&o.level!==4&&s.length>0?h.PeriodOverPeriodCondition.OldImplementation:null}hasDatetimeColumnOnCategoryOrXAxis(){const l=((this.slotsContents.get()??[]).find(o=>["y-axis","x-axis"].includes(o.name))?.content??[])?.[0]??null;return!!(l&&l.type==="datetime"&&!this.isArrayColumnType(l.type))}setContents(t,e){if(this.slotContents.set(t),this.activeIndex.get()>=t.length&&this.activeIndex.set(t.length>0?t.length-1:0),e){const l=structuredClone(this.slotsContents.get())??[],o=l.find(s=>s.name===e);o&&(o.content=t),this.setFullContents(l)}}setFullContents(t){this.slotsContents.set(t)}updateActive(t){t>=0&&t<this.slotContents.get().length&&this.activeIndex.set(t)}updateContent(t,e=this.activeIndex.get()){if(e<0||e>=this.slotContents.get().length)return;const l=[...this.slotContents.get()];l[e]=structuredClone(t),this.slotContents.set(l)}removeContent(t){if(t<0||t>=this.slotContents.get().length)return;const e=this.slotContents.get().filter((l,o)=>o!==t);this.slotContents.set(e),this.activeIndex.get()>=e.length&&this.activeIndex.set(e.length>0?e.length-1:0)}}const x=":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={Category:()=>u.msg("Category",{desc:"Category label"}),Measure:()=>u.msg("Measure",{desc:"Measure label"}),Legend:()=>u.msg("Legend",{desc:"Legend label"}),"Y-Axis":()=>u.msg("Y-Axis",{desc:"Y-Axis label"}),"X-Axis":()=>u.msg("X-Axis",{desc:"X-Axis label"}),"Group by":()=>u.msg("Group by",{desc:"Group by label"})};var I=Object.defineProperty,$=Object.getOwnPropertyDescriptor,i=(r,t,e,l)=>{for(var o=l>1?void 0:l?$(t,e):t,s=r.length-1,n;s>=0;s--)(n=r[s])&&(o=(l?n(t,e,o):n(o))||o);return l&&o&&I(t,e,o),o};exports.LuzmoDroppableSlot=class extends q.SizedMixin(E.LuzmoElement,{validSizes:["s","m","l","xl"],noDefaultSize:!0}){constructor(){super(),this._loadSlotsConfig=new L.Task(this,{task:async([t])=>{if(t&&t!==this._itemTypeLoaded){const e=Object.assign({"../../item-definitions/area-chart/area-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../area-chart-slots.config-Dx_ysVZK.cjs")),"../../item-definitions/bar-chart/bar-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../bar-chart-slots.config-c_9ABPOI.cjs")),"../../item-definitions/box-plot/box-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../box-plot-slots.config-K-1CiWO-.cjs")),"../../item-definitions/bubble-chart/bubble-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../bubble-chart-slots.config-BwSwgleO.cjs")),"../../item-definitions/bullet-chart/bullet-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../bullet-chart-slots.config-DQarxMR7.cjs")),"../../item-definitions/choropleth-map/choropleth-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../choropleth-map-slots.config-CFERs0ca.cjs")),"../../item-definitions/circle-pack-chart/circle-pack-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../circle-pack-chart-slots.config-B18aqdH1.cjs")),"../../item-definitions/circular-gauge/circular-gauge-slots.config.ts":()=>Promise.resolve().then(()=>require("../circular-gauge-slots.config-Cd-nkNPm.cjs")),"../../item-definitions/column-chart/column-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../column-chart-slots.config-C0nGjkmv.cjs")),"../../item-definitions/combination-chart/combination-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../combination-chart-slots.config-CY07Q5Hw.cjs")),"../../item-definitions/conditional-number/conditional-number-slots.config.ts":()=>Promise.resolve().then(()=>require("../conditional-number-slots.config-CD5ZwXuY.cjs")),"../../item-definitions/date-comparison-filter/date-comparison-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../date-comparison-filter-slots.config-CrA5ijD3.cjs")),"../../item-definitions/date-filter/date-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../date-filter-slots.config-CrA5ijD3.cjs")),"../../item-definitions/donut-chart/donut-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../donut-chart-slots.config-DBowIZNO.cjs")),"../../item-definitions/dropdown-filter/dropdown-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../dropdown-filter-slots.config-0wn6pMvi.cjs")),"../../item-definitions/evolution-number/evolution-number-slots.config.ts":()=>Promise.resolve().then(()=>require("../evolution-number-slots.config-CNNVp6vR.cjs")),"../../item-definitions/funnel-chart/funnel-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../funnel-chart-slots.config-GKBCY9xN.cjs")),"../../item-definitions/heat-map/heat-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../heat-map-slots.config-D7cSAVdX.cjs")),"../../item-definitions/heat-table/heat-table-slots.config.ts":()=>Promise.resolve().then(()=>require("../heat-table-slots.config-GGX3BCh1.cjs")),"../../item-definitions/hexbin-map/hexbin-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../hexbin-map-slots.config-D7cSAVdX.cjs")),"../../item-definitions/image/image-slots.config.ts":()=>Promise.resolve().then(()=>require("../image-slots.config-mPXMR1CE.cjs")),"../../item-definitions/line-chart/line-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../line-chart-slots.config-Dx_ysVZK.cjs")),"../../item-definitions/marker-map/marker-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../marker-map-slots.config-D7cSAVdX.cjs")),"../../item-definitions/ohlc-chart/ohlc-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../ohlc-chart-slots.config-DMomcHMV.cjs")),"../../item-definitions/parallel-coordinates-plot/parallel-coordinates-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../parallel-coordinates-plot-slots.config--fk40ZDu.cjs")),"../../item-definitions/pivot-table/pivot-table-slots.config.ts":()=>Promise.resolve().then(()=>require("../pivot-table-slots.config-45V_Gdm7.cjs")),"../../item-definitions/pyramid-chart/pyramid-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../pyramid-chart-slots.config-D5F0WX2d.cjs")),"../../item-definitions/radar-chart/radar-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../radar-chart-slots.config-BEigR_Ml.cjs")),"../../item-definitions/regular-table/regular-table-slots.config.ts":()=>Promise.resolve().then(()=>require("../regular-table-slots.config-RLnMgOXn.cjs")),"../../item-definitions/route-map/route-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../route-map-slots.config-DsVJBR3D.cjs")),"../../item-definitions/sankey-diagram/sankey-diagram-slots.config.ts":()=>Promise.resolve().then(()=>require("../sankey-diagram-slots.config-CiyYElLX.cjs")),"../../item-definitions/scatter-plot/scatter-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../scatter-plot-slots.config-47cB5_RC.cjs")),"../../item-definitions/search-filter/search-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../search-filter-slots.config-DeHkvc2Q.cjs")),"../../item-definitions/slicer-filter/slicer-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../slicer-filter-slots.config-V7hURjKI.cjs")),"../../item-definitions/slider-filter/slider-filter-slots.config.ts":()=>Promise.resolve().then(()=>require("../slider-filter-slots.config-B--K9cpP.cjs")),"../../item-definitions/speedometer-chart/speedometer-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../speedometer-chart-slots.config-Cd-nkNPm.cjs")),"../../item-definitions/spike-map/spike-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../spike-map-slots.config-BM5-Dlub.cjs")),"../../item-definitions/strip-plot/strip-plot-slots.config.ts":()=>Promise.resolve().then(()=>require("../strip-plot-slots.config-DDUlLO8K.cjs")),"../../item-definitions/sunburst-chart/sunburst-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../sunburst-chart-slots.config-B18aqdH1.cjs")),"../../item-definitions/symbol-map/symbol-map-slots.config.ts":()=>Promise.resolve().then(()=>require("../symbol-map-slots.config-Dm_FRGHA.cjs")),"../../item-definitions/text/text-slots.config.ts":()=>Promise.resolve().then(()=>require("../text-slots.config-BMBEkf0O.cjs")),"../../item-definitions/treemap-chart/treemap-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../treemap-chart-slots.config-C3bnHCyy.cjs")),"../../item-definitions/venn-diagram/venn-diagram-slots.config.ts":()=>Promise.resolve().then(()=>require("../venn-diagram-slots.config-GytlZGbF.cjs")),"../../item-definitions/video/video-slots.config.ts":()=>Promise.resolve().then(()=>require("../video-slots.config-mPXMR1CE.cjs")),"../../item-definitions/wordcloud-chart/wordcloud-chart-slots.config.ts":()=>Promise.resolve().then(()=>require("../wordcloud-chart-slots.config-D7CiYopX.cjs"))}),l=`../../item-definitions/${t}/${t}-slots.config.ts`;if(e[l]){const o=await e[l]();this._itemTypeLoaded=t,this._slotsConfig=o?.default??{}}return this._slotsConfig}},args:()=>[this.itemType,this.language]}),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 A,this._currentSlotContents=[],this._lastFetchedDatasetId=null,this._linkedDatasetsIds=[],this._acceptableColumnTypes=["datetime","hierarchy","numeric","spatial","array[datetime]","array[numeric]","array[hierarchy]","array[spatial]"],this._attachDroppable=()=>{this._cleanupDroppable||(this._cleanupDroppable=D.dropTargetForElements({element:this,onDrop:async t=>{const e={...t.source?.data},l=t?.source?.element?.hasAttribute("sublevel")??!1,o=this._slotContents?.length===0,s=e.datasetId,n=w(e,l);this._slotContents=this.slotConfiguration?.canAcceptMultipleDataItems?[...this._slotContents??[],n]:[n],this.removeAttribute("accept-drag"),s&&s!==this._lastFetchedDatasetId&&(this._lastFetchedDatasetId=s,await z.dataBroker.fetchDatasetsRecursive([s]),this._linkedDatasetsIds=z.dataBroker.getLinkedDatasetsIds(s)),o?(this._overlayReady=!1,setTimeout(()=>{this._overlayReady=!0},200)):this._overlayReady=!0,this.changedSlotContents(this._slotContents,this._linkedDatasetsIds),this.classList.remove("pulse")},canDrop:({source:t})=>this._canDropItem({source:t}),getDropEffect:()=>"move",onDragEnter:()=>{this.setAttribute("accept-drag",""),this.classList.add("pulse")},onDragLeave:()=>{this.removeAttribute("accept-drag"),this.classList.remove("pulse")}}))},this._canDropItem=({source:t})=>{if(!["LUZMO-DRAGGABLE-DATA-ITEM-LEVEL","LUZMO-DRAGGABLE-DATA-ITEM"].includes(t.element?.tagName)||!this.slotConfiguration?.canAcceptFormula&&(t?.data?.formulaId||t?.data?.formula||t?.data?.entity==="formula"))return!1;const{acceptableDataItemTypes:e,acceptableColumnSubtypes:l}=this.slotConfiguration??{},o=Array.isArray(e)&&e.length>0?e:this._acceptableColumnTypes;return t?.data?.type&&!o.includes(t?.data?.type)?!1:!(t?.data?.subtype&&Array.isArray(l)&&l.length>0&&!l.includes(t?.data?.subtype))},this.changedSlotContents=(t,e=[])=>{this._store?.setContents(t,this.slotName),this.dispatchEvent(new CustomEvent("slot-contents-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContents:t,linkedDatasetsIds:e}}))},this._handleDragStart=t=>{const e=t,l=e.detail?.data;if(this._overlayElement&&(this._overlayElement.open=!1),!l)return;const o={data:l,element:{tagName:e.target instanceof HTMLElement&&e.target.tagName==="LUZMO-DRAGGABLE-DATA-ITEM-LEVEL"?"LUZMO-DRAGGABLE-DATA-ITEM-LEVEL":"LUZMO-DRAGGABLE-DATA-ITEM"}};this._canDropItem({source:o})&&this.setAttribute("would-accept-drag","")},this._handleDragEnd=()=>{this.removeAttribute("would-accept-drag")},this._handleOverlayClick=t=>{t.detail>0&&t.target===this._overlayElement?this._overlayElement.open=!1:t.stopPropagation()},new S.ContextProvider(this,{context:k.slotContext,initialValue:this._store})}connectedCallback(){super.connectedCallback(),this._attachDroppable(),document.addEventListener("data-item-drag-started",this._handleDragStart),document.addEventListener("data-item-dropped",this._handleDragEnd)}disconnectedCallback(){super.disconnectedCallback(),this._cleanupDroppable&&(this._cleanupDroppable(),this._cleanupDroppable=void 0),this._loadSlotsConfig.abort?.(),document.removeEventListener("data-item-drag-started",this._handleDragStart),document.removeEventListener("data-item-dropped",this._handleDragEnd)}emptySlotContents(t){t.preventDefault(),t.stopPropagation(),this._slotContents=[],this.changedSlotContents([])}willUpdate(t){t.has("slotConfiguration")&&(this._cleanupDroppable&&(this._cleanupDroppable(),this._cleanupDroppable=void 0),this._attachDroppable()),t.has("slotsContents")&&this._processSlotsContents(),t.has("language")&&this.language!==f.getLocale()&&([...f.targetLocales].includes(this.language??"en")||this.language==="en")&&f.setLocale(this.language)}_processSlotsContents(){this._store?.setFullContents(this.slotsContents),this._slotContents=this.slotsContents?.find(t=>t.name===this.slotName)?.content??[],this._currentSlotContents=[...this._slotContents],this._slotContents?.length>0&&(this._overlayReady=!0),this._store?.setContents(this._slotContents)}firstUpdated(){this._attachDroppable()}_onOverlayClosed(t){const e=t.overlay;this._slotMenuElement&&e===this._overlayElement&&(setTimeout(()=>{this._slotMenuElement.resetPosition()},500),this.dispatchEvent(new CustomEvent("slot-menu-inactive",{bubbles:!0,composed:!0})))}_onOverlayOpened(t){const e=t.overlay;if(this._slotMenuElement&&e===this._overlayElement){const l=this._store?.activeIndex.get?.()??0,o=this._slotContents?.[l]??this._slotContents?.[0];if(!o)return;const s=o?.column??o?.columnId,n=o?.set??o?.datasetId,p=o?.formula;(s||p)&&n&&(this.dispatchEvent(new CustomEvent("slot-menu-active",{bubbles:!0,composed:!0,detail:{datasetId:n}})),setTimeout(()=>{this.dispatchEvent(new CustomEvent("slot-menu-highlight",{bubbles:!0,composed:!0,detail:{datasetId:n,level:o?.level??0,...s&&{columnId:s},...p&&{formulaId:p}}}))}))}}_onSlotMenuChanges(t){t.preventDefault(),t.stopPropagation();const e=t.detail.linkedDatasetsIds;this._slotContents.length===t.detail.slotContents?.length?(this._currentSlotContents=t.detail.slotContents,this.changedSlotContents(this._currentSlotContents,e)):(this._slotContents=t.detail.slotContents,this.changedSlotContents(this._slotContents,e))}get _fullLabel(){let t="";const e=C[this.slotConfiguration?.label]?C[this.slotConfiguration?.label]():this.slotConfiguration?.label;this._currentSlotContents?.length===1?t=c.localize(this._currentSlotContents?.[0]?.label,this.language)??"Untitled":this._currentSlotContents?.length>1&&(t=`${this._currentSlotContents.length} items`);let l=this.label||e||"Untitled";return this._currentSlotContents?.length>0&&(l+=this._currentSlotContents?.length>1?`: ${this._currentSlotContents.length} items`:`: ${t}`),l}droppableSlotMarkup(){const t=d.html`
21
21
  <div
22
22
  id="trigger"
23
23
  class="droppable-slot ${this.rotate?"rotate":""}"
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { a as w } from "../get-css-variable-CdwF98oh.js";
20
+ import { a as w } from "../get-css-variable-Bb7TxJdX.js";
21
21
  import { ContextProvider as k } from "@lit/context";
22
22
  import { msg as m, localized as S } from "@lit/localize";
23
23
  import { Task as A } from "@lit/task";
@@ -709,7 +709,7 @@ function tt(e) {
709
709
  source: t.payload,
710
710
  current: o.current.dropTargets
711
711
  });
712
- y.length && (d.preventDefault(), q({
712
+ y.length && (d.cancelable && d.preventDefault(), q({
713
713
  event: d,
714
714
  current: y
715
715
  })), u({
@@ -768,7 +768,7 @@ function tt(e) {
768
768
  f();
769
769
  return;
770
770
  }
771
- s.preventDefault(), q({
771
+ s.cancelable && s.preventDefault(), q({
772
772
  event: s,
773
773
  current: o.current.dropTargets
774
774
  }), l.drop({
@@ -19,6 +19,6 @@
19
19
  * */
20
20
  "use strict";function Pe(e){if(Array.isArray(e))return e}function je(e,r){var t=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(t!=null){var n,i,a,o,l=[],u=!0,c=!1;try{if(a=(t=t.call(e)).next,r!==0)for(;!(u=(n=a.call(t)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(f){c=!0,i=f}finally{try{if(!u&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw i}}return l}}function Z(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function be(e,r){if(e){if(typeof e=="string")return Z(e,r);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Z(e,r):void 0}}function xe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
21
21
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function he(e,r){return Pe(e)||je(e,r)||be(e,r)||xe()}var $={},W={},ne;function we(){if(ne)return W;ne=1,Object.defineProperty(W,"__esModule",{value:!0}),W.bind=void 0;function e(r,t){var n=t.type,i=t.listener,a=t.options;return r.addEventListener(n,i,a),function(){r.removeEventListener(n,i,a)}}return W.bind=e,W}var M={},ae;function Ie(){if(ae)return M;ae=1;var e=M&&M.__assign||function(){return e=Object.assign||function(a){for(var o,l=1,u=arguments.length;l<u;l++){o=arguments[l];for(var c in o)Object.prototype.hasOwnProperty.call(o,c)&&(a[c]=o[c])}return a},e.apply(this,arguments)};Object.defineProperty(M,"__esModule",{value:!0}),M.bindAll=void 0;var r=we();function t(a){if(!(typeof a>"u"))return typeof a=="boolean"?{capture:a}:a}function n(a,o){if(o==null)return a;var l=e(e({},a),{options:e(e({},t(o)),t(a.options))});return l}function i(a,o,l){var u=o.map(function(c){var f=n(c,l);return(0,r.bind)(a,f)});return function(){u.forEach(function(f){return f()})}}return M.bindAll=i,M}var ie;function Ce(){return ie||(ie=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bindAll=e.bind=void 0;var r=we();Object.defineProperty(e,"bind",{enumerable:!0,get:function(){return r.bind}});var t=Ie();Object.defineProperty(e,"bindAll",{enumerable:!0,get:function(){return t.bindAll}})})($)),$}var H=Ce();function L(e){"@babel/helpers - typeof";return L=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},L(e)}function Fe(e,r){if(L(e)!="object"||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r);if(L(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function Me(e){var r=Fe(e,"string");return L(r)=="symbol"?r:r+""}function X(e,r,t){return(r=Me(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var De=2147483647,Oe="data-pdnd-honey-pot";function oe(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ue(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?oe(Object(t),!0).forEach(function(n){X(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):oe(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}var U=2,le=U/2;function He(e){return{x:Math.floor(e.x),y:Math.floor(e.y)}}function Ke(e){return{x:e.x-le,y:e.y-le}}function Re(e){return{x:Math.max(e.x,0),y:Math.max(e.y,0)}}function We(e){return{x:Math.min(e.x,window.innerWidth-U),y:Math.min(e.y,window.innerHeight-U)}}function ce(e){var r=e.client,t=We(Re(Ke(He(r))));return DOMRect.fromRect({x:t.x,y:t.y,width:U,height:U})}function de(e){var r=e.clientRect;return{left:"".concat(r.left,"px"),top:"".concat(r.top,"px"),width:"".concat(r.width,"px"),height:"".concat(r.height,"px")}}function ke(e){var r=e.client,t=e.clientRect;return r.x>=t.x&&r.x<=t.x+t.width&&r.y>=t.y&&r.y<=t.y+t.height}function Ne(e){var r=e.initial,t=document.createElement("div");t.setAttribute(Oe,"true");var n=ce({client:r});Object.assign(t.style,ue(ue({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},de({clientRect:n})),{},{pointerEvents:"auto",zIndex:De})),document.body.appendChild(t);var i=H.bind(window,{type:"pointermove",listener:function(o){var l={x:o.clientX,y:o.clientY};n=ce({client:l}),Object.assign(t.style,de({clientRect:n}))},options:{capture:!0}});return function(o){var l=o.current;if(i(),ke({client:l,clientRect:n})){t.remove();return}function u(){c(),t.remove()}var c=H.bindAll(window,[{type:"pointerdown",listener:u},{type:"pointermove",listener:u},{type:"focusin",listener:u},{type:"focusout",listener:u},{type:"dragstart",listener:u},{type:"dragenter",listener:u},{type:"dragover",listener:u}],{capture:!0})}}function Le(){var e=null;function r(){return e=null,H.bind(window,{type:"pointermove",listener:function(i){e={x:i.clientX,y:i.clientY}},options:{capture:!0}})}function t(){var n=null;return function(a){var o=a.eventName,l=a.payload;if(o==="onDragStart"){var u,c=l.location.initial.input,f=(u=e)!==null&&u!==void 0?u:{x:c.clientX,y:c.clientY};n=Ne({initial:f})}if(o==="onDrop"){var p,v=l.location.current.input;(p=n)===null||p===void 0||p({current:{x:v.clientX,y:v.clientY}}),n=null,e=null}}}return{bindEvents:r,getOnPostDispatch:t}}function Ue(e){if(Array.isArray(e))return Z(e)}function Be(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Xe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
22
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Te(e){return Ue(e)||Be(e)||be(e)||Xe()}function Se(e){return e instanceof Element&&e.hasAttribute(Oe)}function Ye(e){var r=document.elementsFromPoint(e.x,e.y),t=he(r,2),n=t[0],i=t[1];return n?Se(n)?i??null:n:null}function ee(e){var r=null;return function(){if(!r){for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];var o=e.apply(this,i);r={result:o}}return r.result}}var $e=ee(function(){return navigator.userAgent.includes("Firefox")}),Y=ee(function(){var r=navigator,t=r.userAgent;return t.includes("AppleWebKit")&&!t.includes("Chrome")}),J={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function qe(e){var r=e.dragLeave;return Y()?r.hasOwnProperty(J.isLeavingWindow):!1}(function(){if(typeof window>"u"||!Y())return;function r(){return{enterCount:0,isOverWindow:!1}}var t=r();function n(){t=r()}H.bindAll(window,[{type:"dragstart",listener:function(){t.enterCount=0,t.isOverWindow=!0}},{type:"drop",listener:n},{type:"dragend",listener:n},{type:"dragenter",listener:function(a){!t.isOverWindow&&t.enterCount===0&&(a[J.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:"dragleave",listener:function(a){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(a[J.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function ze(e){return"nodeName"in e}function Ve(e){return ze(e)&&e.ownerDocument!==document}function Ge(e){var r=e.dragLeave,t=r.type,n=r.relatedTarget;return t!=="dragleave"?!1:Y()?qe({dragLeave:r}):n==null?!0:$e()?Ve(n):n instanceof HTMLIFrameElement}function Ze(e){var r=e.onDragEnd;return[{type:"pointermove",listener:(function(){var t=0;return function(){if(t<20){t++;return}r()}})()},{type:"pointerdown",listener:r}]}function k(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var Je=function(r){var t=[],n=null,i=function(){for(var o=arguments.length,l=new Array(o),u=0;u<o;u++)l[u]=arguments[u];t=l,!n&&(n=requestAnimationFrame(function(){n=null,r.apply(void 0,t)}))};return i.cancel=function(){n&&(cancelAnimationFrame(n),n=null)},i},q=Je(function(e){return e()}),B=(function(){var e=null;function r(n){var i=requestAnimationFrame(function(){e=null,n()});e={frameId:i,fn:n}}function t(){e&&(cancelAnimationFrame(e.frameId),e.fn(),e=null)}return{schedule:r,flush:t}})();function Qe(e){var r=e.source,t=e.initial,n=e.dispatchEvent,i={dropTargets:[]};function a(l){n(l),i={dropTargets:l.payload.location.current.dropTargets}}var o={start:function(u){var c=u.nativeSetDragImage,f={current:t,previous:i,initial:t};a({eventName:"onGenerateDragPreview",payload:{source:r,location:f,nativeSetDragImage:c}}),B.schedule(function(){a({eventName:"onDragStart",payload:{source:r,location:f}})})},dragUpdate:function(u){var c=u.current;B.flush(),q.cancel(),a({eventName:"onDropTargetChange",payload:{source:r,location:{initial:t,previous:i,current:c}}})},drag:function(u){var c=u.current;q(function(){B.flush();var f={initial:t,previous:i,current:c};a({eventName:"onDrag",payload:{source:r,location:f}})})},drop:function(u){var c=u.current,f=u.updatedSourcePayload;B.flush(),q.cancel(),a({eventName:"onDrop",payload:{source:f??r,location:{current:c,previous:i,initial:t}}})}};return o}var Q={isActive:!1};function Ae(){return!Q.isActive}function _e(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function et(e){var r=e.current,t=e.next;if(r.length!==t.length)return!0;for(var n=0;n<r.length;n++)if(r[n].element!==t[n].element)return!0;return!1}function tt(e){var r=e.event,t=e.dragType,n=e.getDropTargetsOver,i=e.dispatchEvent;if(!Ae())return;var a=rt({event:r,dragType:t,getDropTargetsOver:n});Q.isActive=!0;var o={current:a};z({event:r,current:a.dropTargets});var l=Qe({source:t.payload,dispatchEvent:i,initial:a});function u(d){var s=et({current:o.current.dropTargets,next:d.dropTargets});o.current=d,s&&l.dragUpdate({current:o.current})}function c(d){var s=k(d),g=Se(d.target)?Ye({x:s.clientX,y:s.clientY}):d.target,y=n({target:g,event:d,input:s,source:t.payload,current:o.current.dropTargets});y.length&&(d.preventDefault(),z({event:d,current:y})),u({dropTargets:y,input:s})}function f(){o.current.dropTargets.length&&u({dropTargets:[],input:o.current.input}),l.drop({current:o.current,updatedSourcePayload:null}),p()}function p(){Q.isActive=!1,v()}var v=H.bindAll(window,[{type:"dragover",listener:function(s){c(s),l.drag({current:o.current})}},{type:"dragenter",listener:c},{type:"dragleave",listener:function(s){Ge({dragLeave:s})&&(u({input:o.current.input,dropTargets:[]}),t.startedFrom==="external"&&f())}},{type:"drop",listener:function(s){if(o.current={dropTargets:o.current.dropTargets,input:k(s)},!o.current.dropTargets.length){f();return}s.preventDefault(),z({event:s,current:o.current.dropTargets}),l.drop({current:o.current,updatedSourcePayload:t.type==="external"?t.getDropPayload(s):null}),p()}},{type:"dragend",listener:function(s){o.current={dropTargets:o.current.dropTargets,input:k(s)},f()}}].concat(Te(Ze({onDragEnd:f}))),{capture:!0});l.start({nativeSetDragImage:_e(r)})}function z(e){var r,t=e.event,n=e.current,i=(r=n[0])===null||r===void 0?void 0:r.dropEffect;i!=null&&t.dataTransfer&&(t.dataTransfer.dropEffect=i)}function rt(e){var r=e.event,t=e.dragType,n=e.getDropTargetsOver,i=k(r);if(t.startedFrom==="external")return{input:i,dropTargets:[]};var a=n({input:i,source:t.payload,target:r.target,event:r,current:[]});return{input:i,dropTargets:a}}var se={canStart:Ae,start:tt},_=new Map;function nt(e){var r=e.typeKey,t=e.mount,n=_.get(r);if(n)return n.usageCount++,n;var i={typeKey:r,unmount:t(),usageCount:1};return _.set(r,i),i}function at(e){var r=nt(e);return function(){r.usageCount--,!(r.usageCount>0)&&(r.unmount(),_.delete(e.typeKey))}}function te(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return function(){r.forEach(function(i){return i()})}}function Ee(e,r){var t=r.attribute,n=r.value;return e.setAttribute(t,n),function(){return e.removeAttribute(t)}}function fe(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function F(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?fe(Object(t),!0).forEach(function(n){X(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function V(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=it(e))||r){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(c){throw c},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
22
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Te(e){return Ue(e)||Be(e)||be(e)||Xe()}function Se(e){return e instanceof Element&&e.hasAttribute(Oe)}function Ye(e){var r=document.elementsFromPoint(e.x,e.y),t=he(r,2),n=t[0],i=t[1];return n?Se(n)?i??null:n:null}function ee(e){var r=null;return function(){if(!r){for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];var o=e.apply(this,i);r={result:o}}return r.result}}var $e=ee(function(){return navigator.userAgent.includes("Firefox")}),Y=ee(function(){var r=navigator,t=r.userAgent;return t.includes("AppleWebKit")&&!t.includes("Chrome")}),J={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function qe(e){var r=e.dragLeave;return Y()?r.hasOwnProperty(J.isLeavingWindow):!1}(function(){if(typeof window>"u"||!Y())return;function r(){return{enterCount:0,isOverWindow:!1}}var t=r();function n(){t=r()}H.bindAll(window,[{type:"dragstart",listener:function(){t.enterCount=0,t.isOverWindow=!0}},{type:"drop",listener:n},{type:"dragend",listener:n},{type:"dragenter",listener:function(a){!t.isOverWindow&&t.enterCount===0&&(a[J.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:"dragleave",listener:function(a){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(a[J.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function ze(e){return"nodeName"in e}function Ve(e){return ze(e)&&e.ownerDocument!==document}function Ge(e){var r=e.dragLeave,t=r.type,n=r.relatedTarget;return t!=="dragleave"?!1:Y()?qe({dragLeave:r}):n==null?!0:$e()?Ve(n):n instanceof HTMLIFrameElement}function Ze(e){var r=e.onDragEnd;return[{type:"pointermove",listener:(function(){var t=0;return function(){if(t<20){t++;return}r()}})()},{type:"pointerdown",listener:r}]}function k(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var Je=function(r){var t=[],n=null,i=function(){for(var o=arguments.length,l=new Array(o),u=0;u<o;u++)l[u]=arguments[u];t=l,!n&&(n=requestAnimationFrame(function(){n=null,r.apply(void 0,t)}))};return i.cancel=function(){n&&(cancelAnimationFrame(n),n=null)},i},q=Je(function(e){return e()}),B=(function(){var e=null;function r(n){var i=requestAnimationFrame(function(){e=null,n()});e={frameId:i,fn:n}}function t(){e&&(cancelAnimationFrame(e.frameId),e.fn(),e=null)}return{schedule:r,flush:t}})();function Qe(e){var r=e.source,t=e.initial,n=e.dispatchEvent,i={dropTargets:[]};function a(l){n(l),i={dropTargets:l.payload.location.current.dropTargets}}var o={start:function(u){var c=u.nativeSetDragImage,f={current:t,previous:i,initial:t};a({eventName:"onGenerateDragPreview",payload:{source:r,location:f,nativeSetDragImage:c}}),B.schedule(function(){a({eventName:"onDragStart",payload:{source:r,location:f}})})},dragUpdate:function(u){var c=u.current;B.flush(),q.cancel(),a({eventName:"onDropTargetChange",payload:{source:r,location:{initial:t,previous:i,current:c}}})},drag:function(u){var c=u.current;q(function(){B.flush();var f={initial:t,previous:i,current:c};a({eventName:"onDrag",payload:{source:r,location:f}})})},drop:function(u){var c=u.current,f=u.updatedSourcePayload;B.flush(),q.cancel(),a({eventName:"onDrop",payload:{source:f??r,location:{current:c,previous:i,initial:t}}})}};return o}var Q={isActive:!1};function Ae(){return!Q.isActive}function _e(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function et(e){var r=e.current,t=e.next;if(r.length!==t.length)return!0;for(var n=0;n<r.length;n++)if(r[n].element!==t[n].element)return!0;return!1}function tt(e){var r=e.event,t=e.dragType,n=e.getDropTargetsOver,i=e.dispatchEvent;if(!Ae())return;var a=rt({event:r,dragType:t,getDropTargetsOver:n});Q.isActive=!0;var o={current:a};z({event:r,current:a.dropTargets});var l=Qe({source:t.payload,dispatchEvent:i,initial:a});function u(d){var s=et({current:o.current.dropTargets,next:d.dropTargets});o.current=d,s&&l.dragUpdate({current:o.current})}function c(d){var s=k(d),g=Se(d.target)?Ye({x:s.clientX,y:s.clientY}):d.target,y=n({target:g,event:d,input:s,source:t.payload,current:o.current.dropTargets});y.length&&(d.cancelable&&d.preventDefault(),z({event:d,current:y})),u({dropTargets:y,input:s})}function f(){o.current.dropTargets.length&&u({dropTargets:[],input:o.current.input}),l.drop({current:o.current,updatedSourcePayload:null}),p()}function p(){Q.isActive=!1,v()}var v=H.bindAll(window,[{type:"dragover",listener:function(s){c(s),l.drag({current:o.current})}},{type:"dragenter",listener:c},{type:"dragleave",listener:function(s){Ge({dragLeave:s})&&(u({input:o.current.input,dropTargets:[]}),t.startedFrom==="external"&&f())}},{type:"drop",listener:function(s){if(o.current={dropTargets:o.current.dropTargets,input:k(s)},!o.current.dropTargets.length){f();return}s.cancelable&&s.preventDefault(),z({event:s,current:o.current.dropTargets}),l.drop({current:o.current,updatedSourcePayload:t.type==="external"?t.getDropPayload(s):null}),p()}},{type:"dragend",listener:function(s){o.current={dropTargets:o.current.dropTargets,input:k(s)},f()}}].concat(Te(Ze({onDragEnd:f}))),{capture:!0});l.start({nativeSetDragImage:_e(r)})}function z(e){var r,t=e.event,n=e.current,i=(r=n[0])===null||r===void 0?void 0:r.dropEffect;i!=null&&t.dataTransfer&&(t.dataTransfer.dropEffect=i)}function rt(e){var r=e.event,t=e.dragType,n=e.getDropTargetsOver,i=k(r);if(t.startedFrom==="external")return{input:i,dropTargets:[]};var a=n({input:i,source:t.payload,target:r.target,event:r,current:[]});return{input:i,dropTargets:a}}var se={canStart:Ae,start:tt},_=new Map;function nt(e){var r=e.typeKey,t=e.mount,n=_.get(r);if(n)return n.usageCount++,n;var i={typeKey:r,unmount:t(),usageCount:1};return _.set(r,i),i}function at(e){var r=nt(e);return function(){r.usageCount--,!(r.usageCount>0)&&(r.unmount(),_.delete(e.typeKey))}}function te(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return function(){r.forEach(function(i){return i()})}}function Ee(e,r){var t=r.attribute,n=r.value;return e.setAttribute(t,n),function(){return e.removeAttribute(t)}}function fe(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function F(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?fe(Object(t),!0).forEach(function(n){X(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function V(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=it(e))||r){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(c){throw c},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
23
23
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var c=t.next();return o=c.done,c},e:function(c){l=!0,a=c},f:function(){try{o||t.return==null||t.return()}finally{if(l)throw a}}}}function it(e,r){if(e){if(typeof e=="string")return ve(e,r);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ve(e,r):void 0}}function ve(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function G(e){return e.slice(0).reverse()}function ot(e){var r=e.typeKey,t=e.defaultDropEffect,n=new WeakMap,i="data-drop-target-for-".concat(r),a="[".concat(i,"]");function o(d){return n.set(d.element,d),function(){return n.delete(d.element)}}function l(d){return te(Ee(d.element,{attribute:i,value:"true"}),o(d))}function u(d){var s,g,y,T,w=d.source,D=d.target,m=d.input,S=d.event,b=d.result,h=b===void 0?[]:b;if(S===void 0)return h;const E=S.composedPath();if(D=E.find(K=>K instanceof Element?K.hasAttribute("data-drop-target-for-element"):!1),D=D??E[0],!(D instanceof Element))return D instanceof Node?u({source:w,target:D.parentElement,input:m,result:h}):h;var j=D.closest(a);if(j==null)return h;var O=n.get(j);if(O==null)return h;var P={input:m,source:w,element:O.element};if(O.canDrop&&!O.canDrop(P))return u({source:w,target:O.element.parentElement,input:m,result:h});var x=(s=(g=O.getData)===null||g===void 0?void 0:g.call(O,P))!==null&&s!==void 0?s:{},A=(y=(T=O.getDropEffect)===null||T===void 0?void 0:T.call(O,P))!==null&&y!==void 0?y:t,I={data:x,element:O.element,dropEffect:A,isActiveDueToStickiness:!1};return u({source:w,target:O.element.parentElement,input:m,result:[].concat(Te(h),[I])})}function c(d){var s=d.eventName,g=d.payload,y=V(g.location.current.dropTargets),T;try{for(y.s();!(T=y.n()).done;){var w,D=T.value,m=n.get(D.element),S=F(F({},g),{},{self:D});m==null||(w=m[s])===null||w===void 0||w.call(m,S)}}catch(b){y.e(b)}finally{y.f()}}var f={onGenerateDragPreview:c,onDrag:c,onDragStart:c,onDrop:c,onDropTargetChange:function(s){var g=s.payload,y=new Set(g.location.current.dropTargets.map(function(R){return R.element})),T=new Set,w=V(g.location.previous.dropTargets),D;try{for(w.s();!(D=w.n()).done;){var m,S=D.value;T.add(S.element);var b=n.get(S.element),h=y.has(S.element),E=F(F({},g),{},{self:S});if(b==null||(m=b.onDropTargetChange)===null||m===void 0||m.call(b,E),!h){var j;b==null||(j=b.onDragLeave)===null||j===void 0||j.call(b,E)}}}catch(R){w.e(R)}finally{w.f()}var O=V(g.location.current.dropTargets),P;try{for(O.s();!(P=O.n()).done;){var x,A,I=P.value;if(!T.has(I.element)){var K=F(F({},g),{},{self:I}),C=n.get(I.element);C==null||(x=C.onDropTargetChange)===null||x===void 0||x.call(C,K),C==null||(A=C.onDragEnter)===null||A===void 0||A.call(C,K)}}}catch(R){O.e(R)}finally{O.f()}}};function p(d){f[d.eventName](d)}function v(d){var s=d.source,g=d.target,y=d.input,T=d.event,w=d.current,D=u({source:s,target:g,event:T,input:y});if(D.length>=w.length)return D;for(var m=G(w),S=G(D),b=[],h=0;h<m.length;h++){var E,j=m[h],O=S[h];if(O!=null){b.push(O);continue}var P=b[h-1],x=m[h-1];if(P?.element!==x?.element)break;var A=n.get(j.element);if(!A)break;var I={input:y,source:s,element:A.element};if(A.canDrop&&!A.canDrop(I)||!((E=A.getIsSticky)!==null&&E!==void 0&&E.call(A,I)))break;b.push(F(F({},j),{},{isActiveDueToStickiness:!0}))}return G(b)}return{dropTargetForConsumers:l,getIsOver:v,dispatchEvent:p}}function ut(e,r){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=lt(e))||r){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(c){throw c},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
24
24
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var c=t.next();return o=c.done,c},e:function(c){l=!0,a=c},f:function(){try{o||t.return==null||t.return()}finally{if(l)throw a}}}}function lt(e,r){if(e){if(typeof e=="string")return pe(e,r);var t={}.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?pe(e,r):void 0}}function pe(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function ge(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function ct(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?ge(Object(t),!0).forEach(function(n){X(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ge(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function dt(){var e=new Set,r=null;function t(a){r&&(!a.canMonitor||a.canMonitor(r.canMonitorArgs))&&r.active.add(a)}function n(a){var o=ct({},a);return e.add(o),t(o),function(){e.delete(o),r&&r.active.delete(o)}}function i(a){var o=a.eventName,l=a.payload;if(o==="onGenerateDragPreview"){r={canMonitorArgs:{initial:l.location.initial,source:l.source},active:new Set};var u=ut(e),c;try{for(u.s();!(c=u.n()).done;){var f=c.value;t(f)}}catch(y){u.e(y)}finally{u.f()}}if(r){for(var p=Array.from(r.active),v=0,d=p;v<d.length;v++){var s=d[v];if(r.active.has(s)){var g;(g=s[o])===null||g===void 0||g.call(s,l)}}o==="onDrop"&&(r.active.clear(),r=null)}}return{dispatchEvent:i,monitorForConsumers:n}}function st(e){var r=e.typeKey,t=e.mount,n=e.dispatchEventToSource,i=e.onPostDispatch,a=e.defaultDropEffect,o=dt(),l=ot({typeKey:r,defaultDropEffect:a});function u(p){n?.(p),l.dispatchEvent(p),o.dispatchEvent(p),i?.(p)}function c(p){var v=p.event,d=p.dragType;se.start({event:v,dragType:d,getDropTargetsOver:l.getIsOver,dispatchEvent:u})}function f(){function p(){var v={canStart:se.canStart,start:c};return t(v)}return at({typeKey:r,mount:p})}return{registerUsage:f,dropTarget:l.dropTargetForConsumers,monitor:o.monitorForConsumers}}var ft=ee(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),vt="pdnd:android-fallback",ye="text/plain",pt="text/uri-list",gt="application/vnd.pdnd",N=new WeakMap;function yt(e){return N.set(e.element,e),function(){N.delete(e.element)}}var me=Le(),re=st({typeKey:"element",defaultDropEffect:"move",mount:function(r){return te(me.bindEvents(),H.bind(document,{type:"dragstart",listener:function(n){var i,a,o,l,u,c;if(!r.canStart(n)||n.defaultPrevented||!n.dataTransfer)return;const p=n.composedPath().find(h=>h instanceof HTMLElement&&N.has(h));if(!p)return null;const v=N.get(p);if(!v)return null;var d=k(n),s={element:v.element,dragHandle:(i=v.dragHandle)!==null&&i!==void 0?i:null,input:d};if(v.canDrag&&!v.canDrag(s))return n.preventDefault(),null;if(v.dragHandle){const E=(p.shadowRoot||document).elementFromPoint(d.clientX,d.clientY);if(!v.dragHandle.contains(E))return n.preventDefault(),null}var g=(a=(o=v.getInitialDataForExternal)===null||o===void 0?void 0:o.call(v,s))!==null&&a!==void 0?a:null;if(g)for(var y=0,T=Object.entries(g);y<T.length;y++){var w=he(T[y],2),D=w[0],m=w[1];n.dataTransfer.setData(D,m??"")}ft()&&!n.dataTransfer.types.includes(ye)&&!n.dataTransfer.types.includes(pt)&&n.dataTransfer.setData(ye,vt),n.dataTransfer.setData(gt,"");var S={element:v.element,dragHandle:(l=v.dragHandle)!==null&&l!==void 0?l:null,data:(u=(c=v.getInitialData)===null||c===void 0?void 0:c.call(v,s))!==null&&u!==void 0?u:{}},b={type:"element",payload:S,startedFrom:"internal"};r.start({event:n,dragType:b})}}))},dispatchEventToSource:function(r){var t,n,i=r.eventName,a=r.payload;(t=N.get(a.source.element))===null||t===void 0||(n=t[i])===null||n===void 0||n.call(t,a)},onPostDispatch:me.getOnPostDispatch()}),mt=re.dropTarget,bt=re.monitor;function ht(e){return te(re.registerUsage(),yt(e),Ee(e.element,{attribute:"draggable",value:"true"}))}function wt(){return{x:0,y:0}}function Dt(e){var r=e.render,t=e.nativeSetDragImage,n=e.getOffset,i=n===void 0?wt:n,a=document.createElement("div");Object.assign(a.style,{position:"fixed",top:0,left:0,zIndex:De,pointerEvents:"none"}),document.body.append(a);var o=r({container:a});queueMicrotask(function(){var c=i({container:a});if(Y()){var f=a.getBoundingClientRect();if(f.width===0)return;a.style.left="-".concat(f.width-1e-4,"px")}t?.(a,c.x,c.y)});function l(){u(),o?.(),document.body.removeChild(a)}var u=bt({onDragStart:l,onDrop:l})}const Ot=(e,r)=>{let t=getComputedStyle(e).getPropertyValue(r);for(;!t&&e.parentElement;)e=e.parentElement,t=getComputedStyle(e).getPropertyValue(r);return t.trim()};exports._defineProperty=X;exports.draggable=ht;exports.dropTargetForElements=mt;exports.getCssVariableValue=Ot;exports.setCustomNativeDragPreview=Dt;
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("lit"),g=require("../get-css-variable-COd1d84B.cjs"),y=require("@luzmo/icons"),S=require("../localize-C4zNlrwK.cjs"),h=require("lit/decorators.js"),_=require("../focusable-QLh-LlNt.cjs"),x=require("../sized-mixin-DcvJLFeo.cjs");var O={large:700};function I(n){n.animate([{backgroundColor:"var(--ds-background-selected, #E9F2FF)"},{}],{duration:O.large,easing:"cubic-bezier(0.25, 0.1, 0.25, 1.0)",iterations:1})}function E(n,t){var o=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(n,s).enumerable})),o.push.apply(o,e)}return o}function C(n){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?E(Object(o),!0).forEach(function(e){g._defineProperty(n,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):E(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))})}return n}var P={top:function(t,o){return Math.abs(o.y-t.top)},right:function(t,o){return Math.abs(t.right-o.x)},bottom:function(t,o){return Math.abs(t.bottom-o.y)},left:function(t,o){return Math.abs(o.x-t.left)}},k=Symbol("closestEdge");function j(n,t){var o,e,s=t.element,m=t.input,l=t.allowedEdges,i={x:m.clientX,y:m.clientY},r=s.getBoundingClientRect(),a=l.map(function(c){return{edge:c,value:P[c](r,i)}}),d=(o=(e=a.sort(function(c,u){return c.value-u.value})[0])===null||e===void 0?void 0:e.edge)!==null&&o!==void 0?o:null;return C(C({},n),{},g._defineProperty({},k,d))}function f(n){var t;return(t=n[k])!==null&&t!==void 0?t:null}const D=':host{font-family:var(--luzmo-slot-menu-list-font-family, var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-list-font-size, var(--slot-menu-list-font-size));color:var(--luzmo-slot-menu-listfont-color, var(--luzmo-font-color))}:host{margin:0;padding:0;list-style:none;max-height:var(--luzmo-slot-menu-list-max-height, var(--slot-menu-list-max-height));overflow-y:auto;border-right:var(--luzmo-slot-menu-list-border-right-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-list-border-right-color, var(--luzmo-border-color))}:host li{position:relative;cursor:pointer}:host li:hover{background-color:var(--luzmo-slot-menu-list-background-color-hover, var(--slot-menu-list-background-color-hover))}:host li{border-bottom:var(--luzmo-slot-menu-list-border-bottom-width, var(--slot-menu-list-border-bottom-width)) solid var(--luzmo-slot-menu-list-border-bottom-color, var(--slot-menu-list-border-bottom-color))}:host .active{background-color:var(--luzmo-slot-menu-list-active-background-color, var(--slot-menu-list-active-background-color));color:var(--luzmo-slot-menu-list-active-color, var(--slot-menu-list-active-color))}:host .active:hover{background-color:var(--luzmo-slot-menu-list-active-background-color-hover, var(--slot-menu-list-active-background-color-hover))}.drop-indicator{position:absolute;left:0;right:0;height:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height));background-color:var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color))}.drop-indicator:before{content:"";display:block;width:100%;border:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)) solid var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color));border-radius:50%;position:absolute;background:var(--luzmo-slot-menu-list-drop-indicator-background, var(--luzmo-background-color));left:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));top:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));height:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size));width:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size))}.drop-indicator[data-edge=top]{top:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.drop-indicator[data-edge=bottom]{bottom:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.draggable-slot-content{display:flex;justify-content:space-between;gap:var(--luzmo-slot-menu-label-to-icon-gap, var(--slot-menu-label-to-icon-gap));align-items:center}.draggable-slot-content .draggable-slot-content-label,.draggable-slot-content .draggable-slot-content-remove{padding-block-start:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding));padding-block-end:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding))}.draggable-slot-content .draggable-slot-content-label{padding-inline-start:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draggable-slot-content .draggable-slot-content-remove{padding-inline-end:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:0 0 auto}:host{--slot-menu-list-active-background-color: var(--luzmo-primary);--slot-menu-list-active-background-color-hover: var(--luzmo-primary-hover);--slot-menu-list-active-color: var(--luzmo-primary-inverse-color);--slot-menu-list-background-color-hover: var(--luzmo-background-color-hover);--slot-menu-list-drop-indicator-color: var(--luzmo-font-color-down);--slot-menu-list-drop-indicator-height: 2px;--slot-menu-list-drop-indicator-circle-size: 4px;--slot-menu-list-border-bottom-width: 0px;--slot-menu-list-border-bottom-color: transparent;--slot-menu-list-max-height: calc(var(--luzmo-component-height) * 4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-3)}: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-list-item-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-2)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-4);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-5)}';var F=Object.defineProperty,b=(n,t,o,e)=>{for(var s=void 0,m=n.length-1,l;m>=0;m--)(l=n[m])&&(s=l(t,o,s)||s);return s&&F(t,o,s),s};class v extends x.SizedMixin(_.LuzmoElement,{validSizes:Object.values(x.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this.slotContents=[],this.activeIndex=0,this._sendChangeEvent=()=>{this.dispatchEvent(new CustomEvent("slot-list-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContents:structuredClone(this.slotContents),activeIndex:this.activeIndex}}))},this._cleanupFns=[],this._attachAll=()=>{[...this._draggableSlotContentElements].forEach(t=>{const o=this._sendChangeEvent.bind(this),e=this,s=g.draggable({element:t,onGenerateDragPreview({nativeSetDragImage:l}){g.setCustomNativeDragPreview({nativeSetDragImage:l,render({container:i}){const r=document.createElement("div");r.classList.add("drag-preview");const a={};[["borderColor","--luzmo-slot-menu-list-border-color","--luzmo-border-color"],["backgroundColor","--luzmo-slot-menu-list-background-color","--luzmo-background-color"],["color","--luzmo-slot-menu-list-font-color","--slot-menu-list-font-color"],["fontSize","--luzmo-slot-menu-list-font-size","--slot-menu-list-font-size"],["horizontalPadding","--luzmo-slot-menu-list-item-horizontal-padding","--slot-menu-list-item-horizontal-padding"],["verticalPadding","--luzmo-slot-menu-list-item-vertical-padding","--slot-menu-list-item-vertical-padding"],["borderRadius","--luzmo-slot-menu-list-border-radius","--luzmo-border-radius"],["fontFamily","--luzmo-slot-menu-list-font-family","--luzmo-font-family"]].forEach(([d,c,u])=>{const p=g.getCssVariableValue(t,c)||g.getCssVariableValue(t,u);a[d]=p}),r.textContent=t.querySelector("[data-task-content]")?.textContent??t.textContent,Object.assign(r.style,{border:`1px solid ${a.borderColor}`,backgroundColor:a.backgroundColor,borderRadius:a.borderRadius,fontFamily:a.fontFamily,fontSize:a.fontSize,color:a.color,paddingInline:`${a.horizontalPadding}`,paddingBlock:`${a.verticalPadding}`}),i.append(r)}})},getInitialData(){const l=t.parentElement;let i=0;return l&&(i=[...l.parentElement?.children??[]].indexOf(l)),{index:i}},onDragStart(){t.style.opacity="0.5"},onDrop(){t.style.opacity="1"}});this._cleanupFns.push(s);const m=g.dropTargetForElements({element:t,canDrop({source:l}){return l.element===t?!1:l?.element?.classList.contains("draggable-slot-content")},getData(l){return j({},{element:t,input:l.input,allowedEdges:["top","bottom"]})},getIsSticky(){return!0},onDragEnter({self:l}){const i=f(l.data);if(!i)return;const r=document.createElement("div");r.classList.add("drop-indicator"),r.dataset.edge=i,t.after(r)},onDrag({self:l}){const i=f(l.data);if(!i){t.nextElementSibling?.remove();return}if(t.nextElementSibling?.getAttribute("data-edge")===i)return;t.nextElementSibling?.remove();const r=document.createElement("div");r.classList.add("drop-indicator"),r.dataset.edge=i,t.after(r)},onDragLeave(){t.nextElementSibling?.remove()},onDrop({self:l,source:i}){t.nextElementSibling?.remove();const r=f(l.data),a=l.element.parentElement;if(typeof i.data.index=="number"&&a){let d=[...a.parentElement?.children??[]].indexOf(a);r==="bottom"&&i.data.index>=d&&d<(a?.parentElement?.children?.length??0)-1?d+=1:r==="top"&&d>i.data.index&&(d-=1);const c=e.activeIndex,u=i.data.index,p=d,w=e.slotContents[u];e.slotContents.splice(u,1),e.slotContents.splice(p,0,w),u===c?e.activeIndex=p:u<c&&p>=c?e.activeIndex=c-1:u>c&&p<=c&&(e.activeIndex=c+1)}r&&(I(i.element),e.requestUpdate(),o())}});this._cleanupFns.push(m)})},this._detachAll=()=>{this._cleanupFns.forEach(t=>t()),this._cleanupFns=[]}}static get styles(){return[z.unsafeCSS(D)]}willUpdate(){this._detachAll()}updated(){this._attachAll()}disconnectedCallback(){super.disconnectedCallback(),this._detachAll()}setActiveIndex(t){this.activeIndex=t,this._sendChangeEvent()}removeSlotContent(t){this.slotContents=this.slotContents.filter((o,e)=>e!==t),this.activeIndex=this.slotContents.length===0?0:Math.min(this.activeIndex,this.slotContents.length-1),this._sendChangeEvent()}render(){const t=this.slotContents.map((o,e)=>{const s=S.localize(o.label??{},this.contentLanguage);return z.html`<li class=${e===this.activeIndex?"active":""}>
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("lit"),g=require("../get-css-variable-Pzks_rOx.cjs"),y=require("@luzmo/icons"),S=require("../localize-C4zNlrwK.cjs"),h=require("lit/decorators.js"),_=require("../focusable-QLh-LlNt.cjs"),x=require("../sized-mixin-DcvJLFeo.cjs");var O={large:700};function I(n){n.animate([{backgroundColor:"var(--ds-background-selected, #E9F2FF)"},{}],{duration:O.large,easing:"cubic-bezier(0.25, 0.1, 0.25, 1.0)",iterations:1})}function E(n,t){var o=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(n,s).enumerable})),o.push.apply(o,e)}return o}function C(n){for(var t=1;t<arguments.length;t++){var o=arguments[t]!=null?arguments[t]:{};t%2?E(Object(o),!0).forEach(function(e){g._defineProperty(n,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):E(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))})}return n}var P={top:function(t,o){return Math.abs(o.y-t.top)},right:function(t,o){return Math.abs(t.right-o.x)},bottom:function(t,o){return Math.abs(t.bottom-o.y)},left:function(t,o){return Math.abs(o.x-t.left)}},k=Symbol("closestEdge");function j(n,t){var o,e,s=t.element,m=t.input,l=t.allowedEdges,i={x:m.clientX,y:m.clientY},r=s.getBoundingClientRect(),a=l.map(function(c){return{edge:c,value:P[c](r,i)}}),d=(o=(e=a.sort(function(c,u){return c.value-u.value})[0])===null||e===void 0?void 0:e.edge)!==null&&o!==void 0?o:null;return C(C({},n),{},g._defineProperty({},k,d))}function f(n){var t;return(t=n[k])!==null&&t!==void 0?t:null}const D=':host{font-family:var(--luzmo-slot-menu-list-font-family, var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-list-font-size, var(--slot-menu-list-font-size));color:var(--luzmo-slot-menu-listfont-color, var(--luzmo-font-color))}:host{margin:0;padding:0;list-style:none;max-height:var(--luzmo-slot-menu-list-max-height, var(--slot-menu-list-max-height));overflow-y:auto;border-right:var(--luzmo-slot-menu-list-border-right-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-list-border-right-color, var(--luzmo-border-color))}:host li{position:relative;cursor:pointer}:host li:hover{background-color:var(--luzmo-slot-menu-list-background-color-hover, var(--slot-menu-list-background-color-hover))}:host li{border-bottom:var(--luzmo-slot-menu-list-border-bottom-width, var(--slot-menu-list-border-bottom-width)) solid var(--luzmo-slot-menu-list-border-bottom-color, var(--slot-menu-list-border-bottom-color))}:host .active{background-color:var(--luzmo-slot-menu-list-active-background-color, var(--slot-menu-list-active-background-color));color:var(--luzmo-slot-menu-list-active-color, var(--slot-menu-list-active-color))}:host .active:hover{background-color:var(--luzmo-slot-menu-list-active-background-color-hover, var(--slot-menu-list-active-background-color-hover))}.drop-indicator{position:absolute;left:0;right:0;height:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height));background-color:var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color))}.drop-indicator:before{content:"";display:block;width:100%;border:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)) solid var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color));border-radius:50%;position:absolute;background:var(--luzmo-slot-menu-list-drop-indicator-background, var(--luzmo-background-color));left:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));top:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));height:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size));width:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size))}.drop-indicator[data-edge=top]{top:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.drop-indicator[data-edge=bottom]{bottom:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.draggable-slot-content{display:flex;justify-content:space-between;gap:var(--luzmo-slot-menu-label-to-icon-gap, var(--slot-menu-label-to-icon-gap));align-items:center;touch-action:none}.draggable-slot-content .draggable-slot-content-label,.draggable-slot-content .draggable-slot-content-remove{padding-block-start:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding));padding-block-end:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding))}.draggable-slot-content .draggable-slot-content-label{padding-inline-start:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draggable-slot-content .draggable-slot-content-remove{padding-inline-end:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:0 0 auto}:host{--slot-menu-list-active-background-color: var(--luzmo-primary);--slot-menu-list-active-background-color-hover: var(--luzmo-primary-hover);--slot-menu-list-active-color: var(--luzmo-primary-inverse-color);--slot-menu-list-background-color-hover: var(--luzmo-background-color-hover);--slot-menu-list-drop-indicator-color: var(--luzmo-font-color-down);--slot-menu-list-drop-indicator-height: 2px;--slot-menu-list-drop-indicator-circle-size: 4px;--slot-menu-list-border-bottom-width: 0px;--slot-menu-list-border-bottom-color: transparent;--slot-menu-list-max-height: calc(var(--luzmo-component-height) * 4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-3)}: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-list-item-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-2)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-4);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-5)}';var F=Object.defineProperty,b=(n,t,o,e)=>{for(var s=void 0,m=n.length-1,l;m>=0;m--)(l=n[m])&&(s=l(t,o,s)||s);return s&&F(t,o,s),s};class v extends x.SizedMixin(_.LuzmoElement,{validSizes:Object.values(x.ElementSizes)}){constructor(){super(...arguments),this.language="en",this.contentLanguage="en",this.slotContents=[],this.activeIndex=0,this._sendChangeEvent=()=>{this.dispatchEvent(new CustomEvent("slot-list-changed",{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContents:structuredClone(this.slotContents),activeIndex:this.activeIndex}}))},this._cleanupFns=[],this._attachAll=()=>{[...this._draggableSlotContentElements].forEach(t=>{const o=this._sendChangeEvent.bind(this),e=this,s=g.draggable({element:t,onGenerateDragPreview({nativeSetDragImage:l}){g.setCustomNativeDragPreview({nativeSetDragImage:l,render({container:i}){const r=document.createElement("div");r.classList.add("drag-preview");const a={};[["borderColor","--luzmo-slot-menu-list-border-color","--luzmo-border-color"],["backgroundColor","--luzmo-slot-menu-list-background-color","--luzmo-background-color"],["color","--luzmo-slot-menu-list-font-color","--slot-menu-list-font-color"],["fontSize","--luzmo-slot-menu-list-font-size","--slot-menu-list-font-size"],["horizontalPadding","--luzmo-slot-menu-list-item-horizontal-padding","--slot-menu-list-item-horizontal-padding"],["verticalPadding","--luzmo-slot-menu-list-item-vertical-padding","--slot-menu-list-item-vertical-padding"],["borderRadius","--luzmo-slot-menu-list-border-radius","--luzmo-border-radius"],["fontFamily","--luzmo-slot-menu-list-font-family","--luzmo-font-family"]].forEach(([d,c,u])=>{const p=g.getCssVariableValue(t,c)||g.getCssVariableValue(t,u);a[d]=p}),r.textContent=t.querySelector("[data-task-content]")?.textContent??t.textContent,Object.assign(r.style,{border:`1px solid ${a.borderColor}`,backgroundColor:a.backgroundColor,borderRadius:a.borderRadius,fontFamily:a.fontFamily,fontSize:a.fontSize,color:a.color,paddingInline:`${a.horizontalPadding}`,paddingBlock:`${a.verticalPadding}`}),i.append(r)}})},getInitialData(){const l=t.parentElement;let i=0;return l&&(i=[...l.parentElement?.children??[]].indexOf(l)),{index:i}},onDragStart(){t.style.opacity="0.5"},onDrop(){t.style.opacity="1"}});this._cleanupFns.push(s);const m=g.dropTargetForElements({element:t,canDrop({source:l}){return l.element===t?!1:l?.element?.classList.contains("draggable-slot-content")},getData(l){return j({},{element:t,input:l.input,allowedEdges:["top","bottom"]})},getIsSticky(){return!0},onDragEnter({self:l}){const i=f(l.data);if(!i)return;const r=document.createElement("div");r.classList.add("drop-indicator"),r.dataset.edge=i,t.after(r)},onDrag({self:l}){const i=f(l.data);if(!i){t.nextElementSibling?.remove();return}if(t.nextElementSibling?.getAttribute("data-edge")===i)return;t.nextElementSibling?.remove();const r=document.createElement("div");r.classList.add("drop-indicator"),r.dataset.edge=i,t.after(r)},onDragLeave(){t.nextElementSibling?.remove()},onDrop({self:l,source:i}){t.nextElementSibling?.remove();const r=f(l.data),a=l.element.parentElement;if(typeof i.data.index=="number"&&a){let d=[...a.parentElement?.children??[]].indexOf(a);r==="bottom"&&i.data.index>=d&&d<(a?.parentElement?.children?.length??0)-1?d+=1:r==="top"&&d>i.data.index&&(d-=1);const c=e.activeIndex,u=i.data.index,p=d,w=e.slotContents[u];e.slotContents.splice(u,1),e.slotContents.splice(p,0,w),u===c?e.activeIndex=p:u<c&&p>=c?e.activeIndex=c-1:u>c&&p<=c&&(e.activeIndex=c+1)}r&&(I(i.element),e.requestUpdate(),o())}});this._cleanupFns.push(m)})},this._detachAll=()=>{this._cleanupFns.forEach(t=>t()),this._cleanupFns=[]}}static get styles(){return[z.unsafeCSS(D)]}willUpdate(){this._detachAll()}updated(){this._attachAll()}disconnectedCallback(){super.disconnectedCallback(),this._detachAll()}setActiveIndex(t){this.activeIndex=t,this._sendChangeEvent()}removeSlotContent(t){this.slotContents=this.slotContents.filter((o,e)=>e!==t),this.activeIndex=this.slotContents.length===0?0:Math.min(this.activeIndex,this.slotContents.length-1),this._sendChangeEvent()}render(){const t=this.slotContents.map((o,e)=>{const s=S.localize(o.label??{},this.contentLanguage);return z.html`<li class=${e===this.activeIndex?"active":""}>
21
21
  <div class="draggable-slot-content">
22
22
  <div
23
23
  class="draggable-slot-content-label"
@@ -18,10 +18,10 @@
18
18
  * SOFTWARE.
19
19
  * */
20
20
  import { unsafeCSS as C, html as b } from "lit";
21
- import { _ as E, d as S, a as O, s as _, g as f } from "../get-css-variable-CdwF98oh.js";
21
+ import { _ as E, d as S, a as O, s as _, g as f } from "../get-css-variable-Bb7TxJdX.js";
22
22
  import { luzmoIcon as I, luzmoTrashOutline as P } from "@luzmo/icons";
23
23
  import { l as F } from "../localize-CcDpq940.js";
24
- import { property as v, queryAll as j } from "lit/decorators.js";
24
+ import { property as h, queryAll as j } from "lit/decorators.js";
25
25
  import { L as D } from "../focusable-BS2pbY7w.js";
26
26
  import { S as L, E as $ } from "../sized-mixin-cJbo3PKR.js";
27
27
  (function() {
@@ -98,11 +98,11 @@ function q(l, o) {
98
98
  })[0]) === null || e === void 0 ? void 0 : e.edge) !== null && t !== void 0 ? t : null;
99
99
  return y(y({}, l), {}, E({}, w, u));
100
100
  }
101
- function h(l) {
101
+ function v(l) {
102
102
  var o;
103
103
  return (o = l[w]) !== null && o !== void 0 ? o : null;
104
104
  }
105
- const R = ':host{font-family:var(--luzmo-slot-menu-list-font-family, var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-list-font-size, var(--slot-menu-list-font-size));color:var(--luzmo-slot-menu-listfont-color, var(--luzmo-font-color))}:host{margin:0;padding:0;list-style:none;max-height:var(--luzmo-slot-menu-list-max-height, var(--slot-menu-list-max-height));overflow-y:auto;border-right:var(--luzmo-slot-menu-list-border-right-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-list-border-right-color, var(--luzmo-border-color))}:host li{position:relative;cursor:pointer}:host li:hover{background-color:var(--luzmo-slot-menu-list-background-color-hover, var(--slot-menu-list-background-color-hover))}:host li{border-bottom:var(--luzmo-slot-menu-list-border-bottom-width, var(--slot-menu-list-border-bottom-width)) solid var(--luzmo-slot-menu-list-border-bottom-color, var(--slot-menu-list-border-bottom-color))}:host .active{background-color:var(--luzmo-slot-menu-list-active-background-color, var(--slot-menu-list-active-background-color));color:var(--luzmo-slot-menu-list-active-color, var(--slot-menu-list-active-color))}:host .active:hover{background-color:var(--luzmo-slot-menu-list-active-background-color-hover, var(--slot-menu-list-active-background-color-hover))}.drop-indicator{position:absolute;left:0;right:0;height:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height));background-color:var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color))}.drop-indicator:before{content:"";display:block;width:100%;border:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)) solid var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color));border-radius:50%;position:absolute;background:var(--luzmo-slot-menu-list-drop-indicator-background, var(--luzmo-background-color));left:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));top:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));height:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size));width:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size))}.drop-indicator[data-edge=top]{top:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.drop-indicator[data-edge=bottom]{bottom:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.draggable-slot-content{display:flex;justify-content:space-between;gap:var(--luzmo-slot-menu-label-to-icon-gap, var(--slot-menu-label-to-icon-gap));align-items:center}.draggable-slot-content .draggable-slot-content-label,.draggable-slot-content .draggable-slot-content-remove{padding-block-start:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding));padding-block-end:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding))}.draggable-slot-content .draggable-slot-content-label{padding-inline-start:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draggable-slot-content .draggable-slot-content-remove{padding-inline-end:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:0 0 auto}:host{--slot-menu-list-active-background-color: var(--luzmo-primary);--slot-menu-list-active-background-color-hover: var(--luzmo-primary-hover);--slot-menu-list-active-color: var(--luzmo-primary-inverse-color);--slot-menu-list-background-color-hover: var(--luzmo-background-color-hover);--slot-menu-list-drop-indicator-color: var(--luzmo-font-color-down);--slot-menu-list-drop-indicator-height: 2px;--slot-menu-list-drop-indicator-circle-size: 4px;--slot-menu-list-border-bottom-width: 0px;--slot-menu-list-border-bottom-color: transparent;--slot-menu-list-max-height: calc(var(--luzmo-component-height) * 4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-3)}: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-list-item-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-2)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-4);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-5)}';
105
+ const R = ':host{font-family:var(--luzmo-slot-menu-list-font-family, var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-list-font-size, var(--slot-menu-list-font-size));color:var(--luzmo-slot-menu-listfont-color, var(--luzmo-font-color))}:host{margin:0;padding:0;list-style:none;max-height:var(--luzmo-slot-menu-list-max-height, var(--slot-menu-list-max-height));overflow-y:auto;border-right:var(--luzmo-slot-menu-list-border-right-width, var(--luzmo-border-width)) solid var(--luzmo-slot-menu-list-border-right-color, var(--luzmo-border-color))}:host li{position:relative;cursor:pointer}:host li:hover{background-color:var(--luzmo-slot-menu-list-background-color-hover, var(--slot-menu-list-background-color-hover))}:host li{border-bottom:var(--luzmo-slot-menu-list-border-bottom-width, var(--slot-menu-list-border-bottom-width)) solid var(--luzmo-slot-menu-list-border-bottom-color, var(--slot-menu-list-border-bottom-color))}:host .active{background-color:var(--luzmo-slot-menu-list-active-background-color, var(--slot-menu-list-active-background-color));color:var(--luzmo-slot-menu-list-active-color, var(--slot-menu-list-active-color))}:host .active:hover{background-color:var(--luzmo-slot-menu-list-active-background-color-hover, var(--slot-menu-list-active-background-color-hover))}.drop-indicator{position:absolute;left:0;right:0;height:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height));background-color:var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color))}.drop-indicator:before{content:"";display:block;width:100%;border:var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)) solid var(--luzmo-slot-menu-list-drop-indicator-color, var(--slot-menu-list-drop-indicator-color));border-radius:50%;position:absolute;background:var(--luzmo-slot-menu-list-drop-indicator-background, var(--luzmo-background-color));left:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));top:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height))));height:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size));width:var(--luzmo-slot-menu-list-drop-indicator-circle-size, var(--slot-menu-list-drop-indicator-circle-size))}.drop-indicator[data-edge=top]{top:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.drop-indicator[data-edge=bottom]{bottom:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height, var(--slot-menu-list-drop-indicator-height)))}.draggable-slot-content{display:flex;justify-content:space-between;gap:var(--luzmo-slot-menu-label-to-icon-gap, var(--slot-menu-label-to-icon-gap));align-items:center;touch-action:none}.draggable-slot-content .draggable-slot-content-label,.draggable-slot-content .draggable-slot-content-remove{padding-block-start:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding));padding-block-end:var(--luzmo-slot-menu-list-item-vertical-padding, var(--slot-menu-list-item-vertical-padding))}.draggable-slot-content .draggable-slot-content-label{padding-inline-start:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draggable-slot-content .draggable-slot-content-remove{padding-inline-end:var(--luzmo-slot-menu-list-item-horizontal-padding, var(--slot-menu-list-item-horizontal-padding));flex:0 0 auto}:host{--slot-menu-list-active-background-color: var(--luzmo-primary);--slot-menu-list-active-background-color-hover: var(--luzmo-primary-hover);--slot-menu-list-active-color: var(--luzmo-primary-inverse-color);--slot-menu-list-background-color-hover: var(--luzmo-background-color-hover);--slot-menu-list-drop-indicator-color: var(--luzmo-font-color-down);--slot-menu-list-drop-indicator-height: 2px;--slot-menu-list-drop-indicator-circle-size: 4px;--slot-menu-list-border-bottom-width: 0px;--slot-menu-list-border-bottom-color: transparent;--slot-menu-list-max-height: calc(var(--luzmo-component-height) * 4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-4);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-3)}: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-list-item-horizontal-padding: var(--luzmo-spacing-3);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-2)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-4)}: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-list-item-horizontal-padding: var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding: var(--luzmo-spacing-4);--slot-menu-label-to-icon-gap: var(--luzmo-spacing-5)}';
106
106
  var U = Object.defineProperty, z = (l, o, t, e) => {
107
107
  for (var s = void 0, m = l.length - 1, r; m >= 0; m--)
108
108
  (r = l[m]) && (s = r(o, t, s) || s);
@@ -229,14 +229,14 @@ class p extends L(D, {
229
229
  return !0;
230
230
  },
231
231
  onDragEnter({ self: r }) {
232
- const n = h(r.data);
232
+ const n = v(r.data);
233
233
  if (!n)
234
234
  return;
235
235
  const i = document.createElement("div");
236
236
  i.classList.add("drop-indicator"), i.dataset.edge = n, o.after(i);
237
237
  },
238
238
  onDrag({ self: r }) {
239
- const n = h(r.data);
239
+ const n = v(r.data);
240
240
  if (!n) {
241
241
  o.nextElementSibling?.remove();
242
242
  return;
@@ -252,7 +252,7 @@ class p extends L(D, {
252
252
  },
253
253
  onDrop({ self: r, source: n }) {
254
254
  o.nextElementSibling?.remove();
255
- const i = h(r.data), a = r.element.parentElement;
255
+ const i = v(r.data), a = r.element.parentElement;
256
256
  if (typeof n.data.index == "number" && a) {
257
257
  let u = [...a.parentElement?.children ?? []].indexOf(
258
258
  a
@@ -316,19 +316,19 @@ class p extends L(D, {
316
316
  }
317
317
  }
318
318
  z([
319
- v({ type: String, reflect: !0 })
319
+ h({ type: String, reflect: !0 })
320
320
  ], p.prototype, "language");
321
321
  z([
322
- v({ type: String, attribute: "content-language", reflect: !0 })
322
+ h({ type: String, attribute: "content-language", reflect: !0 })
323
323
  ], p.prototype, "contentLanguage");
324
324
  z([
325
325
  j(".draggable-slot-content")
326
326
  ], p.prototype, "_draggableSlotContentElements");
327
327
  z([
328
- v()
328
+ h()
329
329
  ], p.prototype, "slotContents");
330
330
  z([
331
- v({ type: Number })
331
+ h({ type: Number })
332
332
  ], p.prototype, "activeIndex");
333
333
  customElements.get("luzmo-slot-menu-list") || customElements.define("luzmo-slot-menu-list", p);
334
334
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luzmo/analytics-components-kit",
3
- "version": "1.0.1-alpha.89",
3
+ "version": "1.0.1-alpha.91",
4
4
  "type": "module",
5
5
  "main": "./components/index.js",
6
6
  "module": "./components/index.js",