@luzmo/analytics-components-kit 1.0.9-beta.5 → 1.0.9-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/react/package.json +2 -2
  4. package/standalone/chunks/{base-Cgmw1Vq_.js → base-CR5wZnQk.js} +1 -1
  5. package/standalone/chunks/{display-settings-binning-CxpvhW7Y.js → display-settings-binning-D3wYG0p7.js} +1 -1
  6. package/standalone/chunks/{display-settings-datetime-Cqptoxuq.js → display-settings-datetime-D37ERF0v.js} +1 -1
  7. package/standalone/chunks/{display-settings-grand-totals-BJp7zJPj.js → display-settings-grand-totals-CKm9PkBj.js} +1 -1
  8. package/standalone/chunks/{display-settings-numeric-BskLgQmz.js → display-settings-numeric-f9Mdphm-.js} +1 -1
  9. package/standalone/chunks/{display-settings-period-over-period-CbUd7uc9.js → display-settings-period-over-period-Cl-vLKk3.js} +1 -1
  10. package/standalone/chunks/{embed-EnSdYTW8.js → embed-B3y_k1ri.js} +1 -1
  11. package/standalone/chunks/{filters-CTsIpQ2T.js → filters-CIOtenxx.js} +1 -1
  12. package/standalone/chunks/{formula-codemirror-4wlUAHrO.js → formula-codemirror-BXh_3Te_.js} +1 -1
  13. package/standalone/chunks/{item-option-action-button-group-DZW0HRGd.js → item-option-action-button-group-DdbUGL3Q.js} +1 -1
  14. package/standalone/chunks/{item-option-base-BlSnktzl.js → item-option-base-CJwisW9b.js} +1 -1
  15. package/standalone/chunks/{item-option-color-palette-picker-jnEt02PP.js → item-option-color-palette-picker-CIM_beO6.js} +1 -1
  16. package/standalone/chunks/{item-option-color-picker-CcElYCgD.js → item-option-color-picker-CFeaAV1o.js} +1 -1
  17. package/standalone/chunks/{item-option-color-range-DTFbs7JK.js → item-option-color-range-DlZPq0gW.js} +1 -1
  18. package/standalone/chunks/{item-option-guidelines-DFlj41ZE.js → item-option-guidelines-DTTp08iA.js} +1 -1
  19. package/standalone/chunks/{item-option-multi-language-field-DVc8-FVc.js → item-option-multi-language-field-DPrary5L.js} +1 -1
  20. package/standalone/chunks/{item-option-number-field-B1V-8Nq-.js → item-option-number-field-DqTWCfQm.js} +1 -1
  21. package/standalone/chunks/{item-option-panel-CpyguQjh.js → item-option-panel-PNWjgMMu.js} +2 -2
  22. package/standalone/chunks/{item-option-picker-BCrQSP1O.js → item-option-picker-dpSAYz4b.js} +1 -1
  23. package/standalone/chunks/{item-option-position-picker-CLiGzaZ1.js → item-option-position-picker-CHSKJ29N.js} +1 -1
  24. package/standalone/chunks/{item-option-positions-number-field-DmFdahh8.js → item-option-positions-number-field-DaUTQCTD.js} +1 -1
  25. package/standalone/chunks/{item-option-radio-button-group-nioc7wyo.js → item-option-radio-button-group-cy5Lc7Yg.js} +1 -1
  26. package/standalone/chunks/{item-option-slider-BfXB8U09.js → item-option-slider-CA-mF5rp.js} +1 -1
  27. package/standalone/chunks/{item-option-switch-DPF9lIX0.js → item-option-switch-Dp2L-Owv.js} +1 -1
  28. package/standalone/chunks/{item-option-text-field-CRbhs_g4.js → item-option-text-field-dmwmrTKe.js} +1 -1
  29. package/standalone/chunks/{item-slot-picker-panel-B_7VXYPs.js → item-slot-picker-panel-DRqvLkhG.js} +2 -2
  30. package/standalone/chunks/{load-data-fields-for-datasets-fBp1YEFi.js → load-data-fields-for-datasets-D74yX8C2.js} +1 -1
  31. package/standalone/chunks/{load-formula-codemirror-DcjxFIW6.js → load-formula-codemirror-D1TsWHH6.js} +1 -1
  32. package/standalone/chunks/{localized-mixin-YSDMfLKU.js → localized-mixin-j1gjzMSn.js} +1 -1
  33. package/standalone/chunks/{luzmo-icon-markup-JO3eup7O.js → luzmo-icon-markup-BENMHpB_.js} +1 -1
  34. package/standalone/chunks/{task-CTUsEtxU.js → task-BRrSUTFr.js} +1 -1
  35. package/standalone/interactive-viz-item.js +1 -1
  36. package/standalone/item-grid.js +1 -1
  37. package/standalone/manifest.json +33 -33
package/README.md CHANGED
@@ -15,7 +15,7 @@ ACK produces and edits chart configuration (type, slots, options, filters). It d
15
15
  ## Installation
16
16
 
17
17
  ```bash
18
- npm install @luzmo/analytics-components-kit lit@^3.3.2 @luzmo/lucero@^2.4.0 @luzmo/icons@^1.0.1-alpha.47
18
+ npm install @luzmo/analytics-components-kit lit@^3.3.2 @luzmo/lucero@^2.4.1 @luzmo/icons@^1.0.1-alpha.47
19
19
  ```
20
20
 
21
21
  ACK uses Lucero 2 for its design-system primitives. Package managers that do not install peer dependencies automatically must install the compatible peer versions explicitly.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luzmo/analytics-components-kit",
3
- "version": "1.0.9-beta.5",
3
+ "version": "1.0.9-beta.6",
4
4
  "type": "module",
5
5
  "main": "./components/index.js",
6
6
  "module": "./components/index.js",
@@ -334,7 +334,7 @@
334
334
  "@lit/task": "^1.0.1",
335
335
  "@luzmo/embed": "^7.5.0",
336
336
  "@luzmo/icons": "^1.0.1-alpha.47",
337
- "@luzmo/lucero": "^2.4.0",
337
+ "@luzmo/lucero": "^2.4.1",
338
338
  "colorjs.io": "^0.5.2",
339
339
  "lit": "^3.3.2",
340
340
  "yjs": "^13.6.29"
@@ -29,7 +29,7 @@
29
29
  "peerDependencies": {
30
30
  "@lit/react": "^1.0.6",
31
31
  "react": "^18.0.0 || ^19.0.0",
32
- "@luzmo/analytics-components-kit": "^1.0.9-beta.5"
32
+ "@luzmo/analytics-components-kit": "^1.0.9-beta.6"
33
33
  },
34
- "version": "1.0.9-beta.5"
34
+ "version": "1.0.9-beta.6"
35
35
  }
@@ -1,2 +1,2 @@
1
1
 
2
- import{n as e}from"./localized-mixin-YSDMfLKU.js";import{LitElement as t,property as n}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";var r=new Set;new MutationObserver(()=>{let e=document.documentElement.dir===`rtl`?document.documentElement.dir:`ltr`;r.forEach(t=>{t.setAttribute(`dir`,e)})}).observe(document.documentElement,{attributes:!0,attributeFilter:[`dir`]});var i=e=>e.startManagingContentDirection!==void 0||e.tagName===`LUZMO-THEME`,a=(e=document)=>{let t=e.activeElement;for(;t?.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;let n=t?[t]:[];for(;t;){let e=t.assignedSlot||t.parentElement||t.getRootNode()?.host;e&&n.push(e),t=e}return n};function o(e){class t extends e{get isLTR(){return this.dir===`ltr`}hasVisibleFocusInTree(){let e=a(this.getRootNode())[0];if(!e)return!1;try{return e.matches(`:focus-visible`)||e.matches(`.focus-visible`)}catch{return e.matches(`.focus-visible`)}}connectedCallback(){if(super.connectedCallback(),!this.hasAttribute(`dir`)){let e=this.assignedSlot||this.parentNode;for(;e!==document.documentElement&&!i(e);)e=e.assignedSlot||e.parentNode||e.host;if(this.dir=e.dir===`rtl`?e.dir:this.dir||`ltr`,e===document.documentElement)r.add(this);else{let{localName:t}=e;t.search(`-`)>-1&&!customElements.get(t)?customElements.whenDefined(t).then(()=>{typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}):typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}this._dirParent=e}super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._dirParent&&(this._dirParent===document.documentElement?r.delete(this):typeof this._dirParent.stopManagingContentDirection==`function`&&this._dirParent.stopManagingContentDirection(this),this.removeAttribute(`dir`))}}return t}var s=class extends o(t){},c=!0;try{document.body.querySelector(`:focus-visible`)}catch{c=!1}var l=e=>{if(e.shadowRoot==null||Object.hasOwn(e.dataset,`jsFocusVisible`))return()=>{};if(self.applyFocusVisiblePolyfill)self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus();else{let t=()=>{self.applyFocusVisiblePolyfill&&e.shadowRoot&&self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus()};return self.addEventListener(`focus-visible-polyfill-ready`,t,{once:!0}),()=>{self.removeEventListener(`focus-visible-polyfill-ready`,t)}}return()=>{}},u=e=>{let t=Symbol(`endPolyfillCoordination`);class n extends e{constructor(...e){super(...e),this[t]=null}connectedCallback(){super.connectedCallback&&super.connectedCallback(),c||requestAnimationFrame(()=>{this[t]??(this[t]=l(this))})}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback(),c||requestAnimationFrame(()=>{this[t]!=null&&(this[t](),this[t]=null)})}}return n};function d(){return new Promise(e=>requestAnimationFrame(()=>e()))}var f=class extends u(s){constructor(...e){super(...e),this.disabled=!1,this.autofocus=!1,this._tabIndex=0,this.manipulatingTabindex=!1,this.autofocusReady=Promise.resolve()}get tabIndex(){if(this.focusElement===this){let e=this.hasAttribute(`tabindex`)?Number(this.getAttribute(`tabindex`)):NaN;return Number.isNaN(e)?-1:e}let e=Number.parseFloat(this.hasAttribute(`tabindex`)&&this.getAttribute(`tabindex`)||`0`);return this.disabled||e<0?-1:this.focusElement?this._tabIndex:e}set tabIndex(e){if(this.manipulatingTabindex){this.manipulatingTabindex=!1;return}if(this.focusElement===this){if(this.disabled)this._tabIndex=e;else if(e!==this._tabIndex){this._tabIndex=e;let t=``+e;this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,t)}return}if(e===-1?this.addEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex):(this.manipulatingTabindex=!0,this.removeEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex)),e===-1||this.disabled){if(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),this.removeAttribute(`focusable`),this.selfManageFocusElement)return;e===-1?this.focusElement?.removeAttribute(`tabindex`):(this._tabIndex=e,this.manageFocusElementTabindex(e));return}this.setAttribute(`focusable`,``),this.hasAttribute(`tabindex`)?this.removeAttribute(`tabindex`):this.manipulatingTabindex=!1,this._tabIndex=e,this.manageFocusElementTabindex(e)}onPointerdownManagementOfTabIndex(){this.tabIndex===-1&&setTimeout(()=>{this.tabIndex=0,this.focus({preventScroll:!0}),this.tabIndex=-1})}async manageFocusElementTabindex(e){this.focusElement||await this.updateComplete,e===null?this.focusElement.removeAttribute(`tabindex`):this.focusElement!==this&&(this.focusElement.tabIndex=e)}get focusElement(){throw Error(`Must implement focusElement getter!`)}get selfManageFocusElement(){return!1}focus(e){this.disabled||!this.focusElement||(this.focusElement===this?Reflect.apply(HTMLElement.prototype.focus,this,[e]):this.focusElement.focus(e))}blur(){let e=this.focusElement||this;e===this?HTMLElement.prototype.blur.apply(this):e.blur()}click(){if(this.disabled)return;let e=this.focusElement||this;e===this?HTMLElement.prototype.click.apply(this):e.click()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent(`keydown`,{code:`Tab`})),this.focusElement.focus())}firstUpdated(e){super.firstUpdated(e),(!this.hasAttribute(`tabindex`)||this.getAttribute(`tabindex`)!==`-1`)&&this.setAttribute(`focusable`,``)}update(e){e.has(`disabled`)&&this.handleDisabledChanged(this.disabled,e.get(`disabled`)),super.update(e)}updated(e){super.updated(e),e.has(`disabled`)&&this.disabled&&this.blur()}async handleDisabledChanged(e,t){let n=()=>this.focusElement!==this&&this.focusElement.disabled!==void 0;e?(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),await this.updateComplete,n()?this.focusElement.disabled=!0:this.setAttribute(`aria-disabled`,`true`)):t&&(this.manipulatingTabindex=!0,this.focusElement===this?this.setAttribute(`tabindex`,``+this._tabIndex):this.removeAttribute(`tabindex`),await this.updateComplete,n()?this.focusElement.disabled=!1:this.removeAttribute(`aria-disabled`))}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this.autofocusReady,e}connectedCallback(){super.connectedCallback(),this.autofocus&&(this.autofocusReady=(async()=>{await d(),await d()})(),this.updateComplete.then(()=>this.manageAutoFocus()))}};e([n({type:Boolean,reflect:!0})],f.prototype,`disabled`,void 0),e([n({type:Boolean})],f.prototype,`autofocus`,void 0),e([n({type:Number})],f.prototype,`tabIndex`,null);var p={xxs:`xxs`,xs:`xs`,s:`s`,m:`m`,l:`l`,xl:`xl`,xxl:`xxl`};function m(t,{validSizes:r=[`s`,`m`,`l`,`xl`],noDefaultSize:i,defaultSize:a=`m`}={}){class o extends t{constructor(...e){super(...e),this._size=a}get size(){return this._size||a}set size(e){let t=i?null:a,n=e&&e.toLocaleLowerCase(),o=r.includes(n)?n:t;if(o&&this.setAttribute(`size`,o),this._size===o)return;let s=this._size;this._size=o,this.requestUpdate(`size`,s)}update(e){!this.hasAttribute(`size`)&&!i&&this.setAttribute(`size`,this.size),super.update(e)}}return e([n({type:String})],o.prototype,`size`,null),o}export{m as n,s as r,p as t};
2
+ import{n as e}from"./localized-mixin-j1gjzMSn.js";import{LitElement as t,property as n}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";var r=new Set;new MutationObserver(()=>{let e=document.documentElement.dir===`rtl`?document.documentElement.dir:`ltr`;r.forEach(t=>{t.setAttribute(`dir`,e)})}).observe(document.documentElement,{attributes:!0,attributeFilter:[`dir`]});var i=e=>e.startManagingContentDirection!==void 0||e.tagName===`LUZMO-THEME`,a=(e=document)=>{let t=e.activeElement;for(;t?.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;let n=t?[t]:[];for(;t;){let e=t.assignedSlot||t.parentElement||t.getRootNode()?.host;e&&n.push(e),t=e}return n};function o(e){class t extends e{get isLTR(){return this.dir===`ltr`}hasVisibleFocusInTree(){let e=a(this.getRootNode())[0];if(!e)return!1;try{return e.matches(`:focus-visible`)||e.matches(`.focus-visible`)}catch{return e.matches(`.focus-visible`)}}connectedCallback(){if(super.connectedCallback(),!this.hasAttribute(`dir`)){let e=this.assignedSlot||this.parentNode;for(;e!==document.documentElement&&!i(e);)e=e.assignedSlot||e.parentNode||e.host;if(this.dir=e.dir===`rtl`?e.dir:this.dir||`ltr`,e===document.documentElement)r.add(this);else{let{localName:t}=e;t.search(`-`)>-1&&!customElements.get(t)?customElements.whenDefined(t).then(()=>{typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}):typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}this._dirParent=e}super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._dirParent&&(this._dirParent===document.documentElement?r.delete(this):typeof this._dirParent.stopManagingContentDirection==`function`&&this._dirParent.stopManagingContentDirection(this),this.removeAttribute(`dir`))}}return t}var s=class extends o(t){},c=!0;try{document.body.querySelector(`:focus-visible`)}catch{c=!1}var l=e=>{if(e.shadowRoot==null||Object.hasOwn(e.dataset,`jsFocusVisible`))return()=>{};if(self.applyFocusVisiblePolyfill)self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus();else{let t=()=>{self.applyFocusVisiblePolyfill&&e.shadowRoot&&self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus()};return self.addEventListener(`focus-visible-polyfill-ready`,t,{once:!0}),()=>{self.removeEventListener(`focus-visible-polyfill-ready`,t)}}return()=>{}},u=e=>{let t=Symbol(`endPolyfillCoordination`);class n extends e{constructor(...e){super(...e),this[t]=null}connectedCallback(){super.connectedCallback&&super.connectedCallback(),c||requestAnimationFrame(()=>{this[t]??(this[t]=l(this))})}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback(),c||requestAnimationFrame(()=>{this[t]!=null&&(this[t](),this[t]=null)})}}return n};function d(){return new Promise(e=>requestAnimationFrame(()=>e()))}var f=class extends u(s){constructor(...e){super(...e),this.disabled=!1,this.autofocus=!1,this._tabIndex=0,this.manipulatingTabindex=!1,this.autofocusReady=Promise.resolve()}get tabIndex(){if(this.focusElement===this){let e=this.hasAttribute(`tabindex`)?Number(this.getAttribute(`tabindex`)):NaN;return Number.isNaN(e)?-1:e}let e=Number.parseFloat(this.hasAttribute(`tabindex`)&&this.getAttribute(`tabindex`)||`0`);return this.disabled||e<0?-1:this.focusElement?this._tabIndex:e}set tabIndex(e){if(this.manipulatingTabindex){this.manipulatingTabindex=!1;return}if(this.focusElement===this){if(this.disabled)this._tabIndex=e;else if(e!==this._tabIndex){this._tabIndex=e;let t=``+e;this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,t)}return}if(e===-1?this.addEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex):(this.manipulatingTabindex=!0,this.removeEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex)),e===-1||this.disabled){if(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),this.removeAttribute(`focusable`),this.selfManageFocusElement)return;e===-1?this.focusElement?.removeAttribute(`tabindex`):(this._tabIndex=e,this.manageFocusElementTabindex(e));return}this.setAttribute(`focusable`,``),this.hasAttribute(`tabindex`)?this.removeAttribute(`tabindex`):this.manipulatingTabindex=!1,this._tabIndex=e,this.manageFocusElementTabindex(e)}onPointerdownManagementOfTabIndex(){this.tabIndex===-1&&setTimeout(()=>{this.tabIndex=0,this.focus({preventScroll:!0}),this.tabIndex=-1})}async manageFocusElementTabindex(e){this.focusElement||await this.updateComplete,e===null?this.focusElement.removeAttribute(`tabindex`):this.focusElement!==this&&(this.focusElement.tabIndex=e)}get focusElement(){throw Error(`Must implement focusElement getter!`)}get selfManageFocusElement(){return!1}focus(e){this.disabled||!this.focusElement||(this.focusElement===this?Reflect.apply(HTMLElement.prototype.focus,this,[e]):this.focusElement.focus(e))}blur(){let e=this.focusElement||this;e===this?HTMLElement.prototype.blur.apply(this):e.blur()}click(){if(this.disabled)return;let e=this.focusElement||this;e===this?HTMLElement.prototype.click.apply(this):e.click()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent(`keydown`,{code:`Tab`})),this.focusElement.focus())}firstUpdated(e){super.firstUpdated(e),(!this.hasAttribute(`tabindex`)||this.getAttribute(`tabindex`)!==`-1`)&&this.setAttribute(`focusable`,``)}update(e){e.has(`disabled`)&&this.handleDisabledChanged(this.disabled,e.get(`disabled`)),super.update(e)}updated(e){super.updated(e),e.has(`disabled`)&&this.disabled&&this.blur()}async handleDisabledChanged(e,t){let n=()=>this.focusElement!==this&&this.focusElement.disabled!==void 0;e?(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),await this.updateComplete,n()?this.focusElement.disabled=!0:this.setAttribute(`aria-disabled`,`true`)):t&&(this.manipulatingTabindex=!0,this.focusElement===this?this.setAttribute(`tabindex`,``+this._tabIndex):this.removeAttribute(`tabindex`),await this.updateComplete,n()?this.focusElement.disabled=!1:this.removeAttribute(`aria-disabled`))}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this.autofocusReady,e}connectedCallback(){super.connectedCallback(),this.autofocus&&(this.autofocusReady=(async()=>{await d(),await d()})(),this.updateComplete.then(()=>this.manageAutoFocus()))}};e([n({type:Boolean,reflect:!0})],f.prototype,`disabled`,void 0),e([n({type:Boolean})],f.prototype,`autofocus`,void 0),e([n({type:Number})],f.prototype,`tabIndex`,null);var p={xxs:`xxs`,xs:`xs`,s:`s`,m:`m`,l:`l`,xl:`xl`,xxl:`xxl`};function m(t,{validSizes:r=[`s`,`m`,`l`,`xl`],noDefaultSize:i,defaultSize:a=`m`}={}){class o extends t{constructor(...e){super(...e),this._size=a}get size(){return this._size||a}set size(e){let t=i?null:a,n=e&&e.toLocaleLowerCase(),o=r.includes(n)?n:t;if(o&&this.setAttribute(`size`,o),this._size===o)return;let s=this._size;this._size=o,this.requestUpdate(`size`,s)}update(e){!this.hasAttribute(`size`)&&!i&&this.setAttribute(`size`,this.size),super.update(e)}}return e([n({type:String})],o.prototype,`size`,null),o}export{m as n,s as r,p as t};
@@ -1,5 +1,5 @@
1
1
 
2
- import{n as e,t}from"./localized-mixin-YSDMfLKU.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,t as a}from"./luzmoCheckbox-BksyONqE.js";import{n as o,r as s,t as c}from"./base-Cgmw1Vq_.js";import{html as l,property as u,query as d,state as f,unsafeCSS as p}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/icon.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/number-field.js";var m=`:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-binning-gap,var(--display-settings-binning-gap));display:flex}:host,:host([size=s]){--display-settings-binning-gap:var(--luzmo-spacing-3)}:host([size=l]){--display-settings-binning-gap:var(--luzmo-spacing-4)}:host([size=xl]){--display-settings-binning-gap:var(--luzmo-spacing-5)}`,h=class extends t(o(s,{validSizes:Object.values(c)})){constructor(...e){super(...e),this.slotContent={},this._enabled=!1,this._binWidth=10}static get styles(){return[p(m)]}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._enabled=this.slotContent?.bins?.enabled??!1,this._binWidth=this.slotContent?.bins?.number??10)}toggleBinning(){this._enabled=!this._enabled,this.sendEvent()}setBinning(){this._binWidth=this.binWidthElement.value,this.sendEvent()}sendEvent(){let e={enabled:!!this._enabled,number:this._binWidth??10};this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:{...this.slotContent,bins:e}}}))}renderBinWidth(){return l`<div class="setting">
2
+ import{n as e,t}from"./localized-mixin-j1gjzMSn.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,t as a}from"./luzmoCheckbox-BksyONqE.js";import{n as o,r as s,t as c}from"./base-CR5wZnQk.js";import{html as l,property as u,query as d,state as f,unsafeCSS as p}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/icon.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/number-field.js";var m=`:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-binning-gap,var(--display-settings-binning-gap));display:flex}:host,:host([size=s]){--display-settings-binning-gap:var(--luzmo-spacing-3)}:host([size=l]){--display-settings-binning-gap:var(--luzmo-spacing-4)}:host([size=xl]){--display-settings-binning-gap:var(--luzmo-spacing-5)}`,h=class extends t(o(s,{validSizes:Object.values(c)})){constructor(...e){super(...e),this.slotContent={},this._enabled=!1,this._binWidth=10}static get styles(){return[p(m)]}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._enabled=this.slotContent?.bins?.enabled??!1,this._binWidth=this.slotContent?.bins?.number??10)}toggleBinning(){this._enabled=!this._enabled,this.sendEvent()}setBinning(){this._binWidth=this.binWidthElement.value,this.sendEvent()}sendEvent(){let e={enabled:!!this._enabled,number:this._binWidth??10};this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:{...this.slotContent,bins:e}}}))}renderBinWidth(){return l`<div class="setting">
3
3
  <luzmo-field-label .size=${this.size} for="bin-width"
4
4
  >${n(`Bin width`,{desc:`The width of each bin in the histogram`})}</luzmo-field-label
5
5
  >
@@ -1,5 +1,5 @@
1
1
 
2
- import{n as e,t}from"./localized-mixin-YSDMfLKU.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,t as a}from"./luzmoCheckbox-BksyONqE.js";import{n as o,r as s,t as c}from"./base-Cgmw1Vq_.js";import{t as l}from"./task-CTUsEtxU.js";import{r as u,t as d}from"./formatter-LzhH-XSQ.js";import{i as f,r as p,t as m}from"./periods.const-Cie50jR4.js";import{html as h,property as g,query as _,unsafeCSS as v}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-group.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/icon.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/number-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/progress-circle.js";var y={"~":()=>n(`Auto`,{desc:`Automatic setting of the option`}),"/":()=>`/`,"-":()=>`-`,".":()=>`.`},b=`:host{font-family:var(--luzmo-display-settings-datetime-font-family,var(--luzmo-font-family))}:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-datetime-gap,var(--display-settings-datetime-gap));display:flex}:host{--display-settings-datetime-example-font-size:var(--luzmo-font-size-s);--display-settings-datetime-example-color:var(--luzmo-font-color);--display-settings-datetime-example-label-font-weight:bold;--display-settings-datetime-example-label-color:var(--luzmo-primary);--display-settings-datetime-example-language-color:var(--luzmo-primary);--display-settings-datetime-gap:var(--luzmo-spacing-3);--display-settings-datetime-example-height:var(--luzmo-component-height)}:host([size=s]){--display-settings-datetime-gap:var(--luzmo-spacing-3);--display-settings-datetime-example-height:var(--luzmo-component-height-s);--display-settings-datetime-example-font-size:var(--luzmo-font-size-s)}:host([size=l]){--display-settings-datetime-gap:var(--luzmo-spacing-4);--display-settings-datetime-example-height:var(--luzmo-component-height-l);--display-settings-datetime-example-font-size:var(--luzmo-font-size)}:host([size=xl]){--display-settings-datetime-gap:var(--luzmo-spacing-5);--display-settings-datetime-example-height:var(--luzmo-component-height-xl);--display-settings-datetime-example-font-size:var(--luzmo-font-size-l)}`,x=class extends t(o(s,{validSizes:Object.values(c)})){constructor(...e){super(...e),this._loadLocaleFormatsConfig=new l(this,{task:async([e])=>{if(e&&e!==this._contentLanguageLoaded){let t=Object.assign({"../../utils/formatter/formats/cs.ts":()=>import(`./cs-DLnr3a23.js`),"../../utils/formatter/formats/da.ts":()=>import(`./da-BJgbo0uE.js`),"../../utils/formatter/formats/de.ts":()=>import(`./de-DPgYMyja.js`),"../../utils/formatter/formats/en-GB.ts":()=>import(`./en-GB-DnwmFNwC.js`),"../../utils/formatter/formats/en-US.ts":()=>import(`./en-US-BD2RCLuw.js`),"../../utils/formatter/formats/en.ts":()=>import(`./en-BD2RCLuw.js`),"../../utils/formatter/formats/es.ts":()=>import(`./es-Dp1UuDDz.js`),"../../utils/formatter/formats/fi.ts":()=>import(`./fi-CLQ6vC7V.js`),"../../utils/formatter/formats/fr.ts":()=>import(`./fr-D8xrUEX4.js`),"../../utils/formatter/formats/he.ts":()=>import(`./he-DHPb0VBo.js`),"../../utils/formatter/formats/hu.ts":()=>import(`./hu-BpaYooip.js`),"../../utils/formatter/formats/it.ts":()=>import(`./it-DWTvD2Xn.js`),"../../utils/formatter/formats/ja.ts":()=>import(`./ja-CtDlXHD1.js`),"../../utils/formatter/formats/ko.ts":()=>import(`./ko-CekuHU50.js`),"../../utils/formatter/formats/mk.ts":()=>import(`./mk-Dq3YK4jD.js`),"../../utils/formatter/formats/nl.ts":()=>import(`./nl-7csxtU-I.js`),"../../utils/formatter/formats/no.ts":()=>import(`./no-DJNRx8au.js`),"../../utils/formatter/formats/pl.ts":()=>import(`./pl-zDnuk9Gd.js`),"../../utils/formatter/formats/pt.ts":()=>import(`./pt-BEVAH5AJ.js`),"../../utils/formatter/formats/ru.ts":()=>import(`./ru-Ceji1Fqk.js`),"../../utils/formatter/formats/sv.ts":()=>import(`./sv-CgssnOqA.js`),"../../utils/formatter/formats/tr.ts":()=>import(`./tr-i3G2sFi4.js`),"../../utils/formatter/formats/zh-CN.ts":()=>import(`./zh-CN-NVnv57dz.js`),"../../utils/formatter/formats/zh-TW.ts":()=>import(`./zh-TW-NVnv57dz.js`)});if(t[`../../utils/formatter/formats/${e}.ts`]){let n=await t[`../../utils/formatter/formats/${e}.ts`]();this._localeFormats=n?.default??{}}return this._contentLanguageLoaded=e,this._localeFormats}},args:()=>[this.contentLanguage]}),this.contentLanguage=`en`,this.size=`m`,this.slotContent={},this._dateLevel=5,this._displayAs=`default`,this._weekStart=`monday`,this._weekDayAndMonthInYearFormat=`long`,this._dateFormat=`auto`,this._dateSeparator=`~`,this._sendEvent=()=>{this._calculateSlotContent(),this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:this._currentSlotContent}}))}}static get styles(){return[v(b)]}_parseSlotContent(){this._dateLevel=this.slotContent?.level??this.slotContent?.lowestLevel??5,this._displayAs=this.slotContent?.datetimeDisplayMode??`default`,this._displayAs===`weekday_number`&&(this._displayAs=`day_in_week`,this._weekDayAndMonthInYearFormat=`number`),this._displayAs===`weekday_name`&&(this._displayAs=`day_in_week`),this._displayAs===`month_number`&&(this._displayAs=`month_in_year`,this._weekDayAndMonthInYearFormat=`number`),this._displayAs===`month_name`&&(this._displayAs=`month_in_year`),this._parseSavedFormat()}_parseSavedFormat(){let e=this.slotContent?.format??`%d-%m-%Y`,t=e.match(/[./-]/);if(this._dateSeparator=e.includes(`~`)?`~`:t?.[0]??`~`,e.includes(`%amd`))this._dateFormat=`auto`;else{let t=e.indexOf(`%d`),n=e.indexOf(`%m`);t!==-1&&n!==-1&&(this._dateFormat=t<n?`ddmm`:`mmdd`)}this._24hFormat=e.includes(`%H`),this._monthName=/%B|%b/.test(e),this._weekDay=/%a|%A/.test(e),this._monthName&&(this._monthNameFormat=e.includes(`%b`)?`short`:`long`),this._weekDay&&(this._weekDayAndMonthInYearFormat=e.includes(`%a`)?`short`:`long`);let n=this._dateLevel===5&&this.slotContent?.weekDayNameFormat||this._dateLevel===3&&this.slotContent?.monthNameFormat;n&&(this._weekDayAndMonthInYearFormat=n)}_calculateFormat(){let e,t=this._localeFormats?.smartDateFormats??u;this._monthName?(e=t.filter(e=>e.monthType===`name`&&e.longText===(this._monthNameFormat===`long`)&&e.weekday===this._weekDay),e.length>0?this._format=e[0].key:(this._weekDayAndMonthInYearFormat=`short`,this._weekDay=!0,this._format=`%a %e %B %Y`)):(e=this._dateLevel&&this._dateLevel===4?t.filter(e=>e.monthType===`number`&&e.mmdd===(this._weekFormat===`mmdd`||this._weekFormat!==`ddmm`&&null)&&e.separator===this._dateSeparator):t.filter(e=>e.monthType===`number`&&e.mmdd===(this._dateFormat===`mmdd`||this._dateFormat!==`ddmm`&&null)&&e.separator===this._dateSeparator),this._dateFormat===`auto`&&this._dateLevel&&this._dateLevel!==4?this._format=`%amd`+this._dateSeparator+`%Y`:e.length>0?this._format=e[0].key:(this._dateFormat=`ddmm`,this._dateSeparator=`/`,this._format=`%d/%m/%Y`)),this._dateLevel&&this._dateLevel>5&&(this._format+=this._24hFormat?` %H:%M:%S.%L`:` %I:%M:%S.%L %p`)}_setWeekStartsOn(){this._weekStart=this._weekStartElement.value,this._sendEvent(),this.requestUpdate()}_setDisplayAs(){this._displayAs=this._displayAsElement.value,this._sendEvent(),this.requestUpdate()}_setWeekdayAndMonthInYearFormat(){this._weekDayAndMonthInYearFormat=this._weekDayAndMonthInYearFormatElement.selected?.[0]??`long`,this._sendEvent(),this.requestUpdate()}_setMonthNameFormat(){this._monthNameFormat=this._monthNameFormatElement.selected?.[0],this._sendEvent(),this.requestUpdate()}_setMonthName(){this._monthName=this._monthNameElement.selected,this._sendEvent(),this.requestUpdate()}_setWeekFormat(){this._weekFormat=this._weekFormatElement.selected?.[0],this._sendEvent(),this.requestUpdate()}_setDateFormat(){this._dateFormat=this._dateFormatElement.value,this._sendEvent(),this.requestUpdate()}_setDateSeparator(){this._dateSeparator=this._dateSeparatorElement.value,this._sendEvent(),this.requestUpdate()}_set24hFormat(){this._24hFormat=this._format24hElement.selected,this._sendEvent(),this.requestUpdate()}_setWeekday(){this._weekDay=this._weekDayElement.selected,this._sendEvent(),this.requestUpdate()}_calculateSlotContent(){this._currentSlotContent={...this.slotContent},this._calculateFormat(),this._currentSlotContent.format=this._format,this._displayAs==="default"?delete this._currentSlotContent.datetimeDisplayMode:(this._currentSlotContent.datetimeDisplayMode=this._displayAs,this._displayAs===`week_in_year`?this._currentSlotContent.datetimeDisplayMode=this._weekDayAndMonthInYearFormat===`number`?`week_number`:`week_name`:this._displayAs===`month_in_year`?this._currentSlotContent.datetimeDisplayMode=this._weekDayAndMonthInYearFormat===`number`?`month_number`:`month_name`:this._displayAs===`day_in_week`&&(this._currentSlotContent.datetimeDisplayMode=this._weekDayAndMonthInYearFormat===`number`?`weekday_number`:`weekday_name`,this._currentSlotContent.weekStart=this._weekStart),this._weekDayAndMonthInYearFormat&&(this._dateLevel===3?this._currentSlotContent.monthNameFormat=this._weekDayAndMonthInYearFormat:this._dateLevel===5&&(this._currentSlotContent.weekDayNameFormat=this._weekDayAndMonthInYearFormat)))}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._parseSlotContent(),this._calculateSlotContent())}_renderDisplaySettings(){let e=m?.[`level${this._dateLevel??0}`]?.map(e=>h`<luzmo-menu-item value=${e.key}>
2
+ import{n as e,t}from"./localized-mixin-j1gjzMSn.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,t as a}from"./luzmoCheckbox-BksyONqE.js";import{n as o,r as s,t as c}from"./base-CR5wZnQk.js";import{t as l}from"./task-BRrSUTFr.js";import{r as u,t as d}from"./formatter-LzhH-XSQ.js";import{i as f,r as p,t as m}from"./periods.const-Cie50jR4.js";import{html as h,property as g,query as _,unsafeCSS as v}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-group.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/icon.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/number-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/progress-circle.js";var y={"~":()=>n(`Auto`,{desc:`Automatic setting of the option`}),"/":()=>`/`,"-":()=>`-`,".":()=>`.`},b=`:host{font-family:var(--luzmo-display-settings-datetime-font-family,var(--luzmo-font-family))}:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-datetime-gap,var(--display-settings-datetime-gap));display:flex}:host{--display-settings-datetime-example-font-size:var(--luzmo-font-size-s);--display-settings-datetime-example-color:var(--luzmo-font-color);--display-settings-datetime-example-label-font-weight:bold;--display-settings-datetime-example-label-color:var(--luzmo-primary);--display-settings-datetime-example-language-color:var(--luzmo-primary);--display-settings-datetime-gap:var(--luzmo-spacing-3);--display-settings-datetime-example-height:var(--luzmo-component-height)}:host([size=s]){--display-settings-datetime-gap:var(--luzmo-spacing-3);--display-settings-datetime-example-height:var(--luzmo-component-height-s);--display-settings-datetime-example-font-size:var(--luzmo-font-size-s)}:host([size=l]){--display-settings-datetime-gap:var(--luzmo-spacing-4);--display-settings-datetime-example-height:var(--luzmo-component-height-l);--display-settings-datetime-example-font-size:var(--luzmo-font-size)}:host([size=xl]){--display-settings-datetime-gap:var(--luzmo-spacing-5);--display-settings-datetime-example-height:var(--luzmo-component-height-xl);--display-settings-datetime-example-font-size:var(--luzmo-font-size-l)}`,x=class extends t(o(s,{validSizes:Object.values(c)})){constructor(...e){super(...e),this._loadLocaleFormatsConfig=new l(this,{task:async([e])=>{if(e&&e!==this._contentLanguageLoaded){let t=Object.assign({"../../utils/formatter/formats/cs.ts":()=>import(`./cs-DLnr3a23.js`),"../../utils/formatter/formats/da.ts":()=>import(`./da-BJgbo0uE.js`),"../../utils/formatter/formats/de.ts":()=>import(`./de-DPgYMyja.js`),"../../utils/formatter/formats/en-GB.ts":()=>import(`./en-GB-DnwmFNwC.js`),"../../utils/formatter/formats/en-US.ts":()=>import(`./en-US-BD2RCLuw.js`),"../../utils/formatter/formats/en.ts":()=>import(`./en-BD2RCLuw.js`),"../../utils/formatter/formats/es.ts":()=>import(`./es-Dp1UuDDz.js`),"../../utils/formatter/formats/fi.ts":()=>import(`./fi-CLQ6vC7V.js`),"../../utils/formatter/formats/fr.ts":()=>import(`./fr-D8xrUEX4.js`),"../../utils/formatter/formats/he.ts":()=>import(`./he-DHPb0VBo.js`),"../../utils/formatter/formats/hu.ts":()=>import(`./hu-BpaYooip.js`),"../../utils/formatter/formats/it.ts":()=>import(`./it-DWTvD2Xn.js`),"../../utils/formatter/formats/ja.ts":()=>import(`./ja-CtDlXHD1.js`),"../../utils/formatter/formats/ko.ts":()=>import(`./ko-CekuHU50.js`),"../../utils/formatter/formats/mk.ts":()=>import(`./mk-Dq3YK4jD.js`),"../../utils/formatter/formats/nl.ts":()=>import(`./nl-7csxtU-I.js`),"../../utils/formatter/formats/no.ts":()=>import(`./no-DJNRx8au.js`),"../../utils/formatter/formats/pl.ts":()=>import(`./pl-zDnuk9Gd.js`),"../../utils/formatter/formats/pt.ts":()=>import(`./pt-BEVAH5AJ.js`),"../../utils/formatter/formats/ru.ts":()=>import(`./ru-Ceji1Fqk.js`),"../../utils/formatter/formats/sv.ts":()=>import(`./sv-CgssnOqA.js`),"../../utils/formatter/formats/tr.ts":()=>import(`./tr-i3G2sFi4.js`),"../../utils/formatter/formats/zh-CN.ts":()=>import(`./zh-CN-NVnv57dz.js`),"../../utils/formatter/formats/zh-TW.ts":()=>import(`./zh-TW-NVnv57dz.js`)});if(t[`../../utils/formatter/formats/${e}.ts`]){let n=await t[`../../utils/formatter/formats/${e}.ts`]();this._localeFormats=n?.default??{}}return this._contentLanguageLoaded=e,this._localeFormats}},args:()=>[this.contentLanguage]}),this.contentLanguage=`en`,this.size=`m`,this.slotContent={},this._dateLevel=5,this._displayAs=`default`,this._weekStart=`monday`,this._weekDayAndMonthInYearFormat=`long`,this._dateFormat=`auto`,this._dateSeparator=`~`,this._sendEvent=()=>{this._calculateSlotContent(),this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:this._currentSlotContent}}))}}static get styles(){return[v(b)]}_parseSlotContent(){this._dateLevel=this.slotContent?.level??this.slotContent?.lowestLevel??5,this._displayAs=this.slotContent?.datetimeDisplayMode??`default`,this._displayAs===`weekday_number`&&(this._displayAs=`day_in_week`,this._weekDayAndMonthInYearFormat=`number`),this._displayAs===`weekday_name`&&(this._displayAs=`day_in_week`),this._displayAs===`month_number`&&(this._displayAs=`month_in_year`,this._weekDayAndMonthInYearFormat=`number`),this._displayAs===`month_name`&&(this._displayAs=`month_in_year`),this._parseSavedFormat()}_parseSavedFormat(){let e=this.slotContent?.format??`%d-%m-%Y`,t=e.match(/[./-]/);if(this._dateSeparator=e.includes(`~`)?`~`:t?.[0]??`~`,e.includes(`%amd`))this._dateFormat=`auto`;else{let t=e.indexOf(`%d`),n=e.indexOf(`%m`);t!==-1&&n!==-1&&(this._dateFormat=t<n?`ddmm`:`mmdd`)}this._24hFormat=e.includes(`%H`),this._monthName=/%B|%b/.test(e),this._weekDay=/%a|%A/.test(e),this._monthName&&(this._monthNameFormat=e.includes(`%b`)?`short`:`long`),this._weekDay&&(this._weekDayAndMonthInYearFormat=e.includes(`%a`)?`short`:`long`);let n=this._dateLevel===5&&this.slotContent?.weekDayNameFormat||this._dateLevel===3&&this.slotContent?.monthNameFormat;n&&(this._weekDayAndMonthInYearFormat=n)}_calculateFormat(){let e,t=this._localeFormats?.smartDateFormats??u;this._monthName?(e=t.filter(e=>e.monthType===`name`&&e.longText===(this._monthNameFormat===`long`)&&e.weekday===this._weekDay),e.length>0?this._format=e[0].key:(this._weekDayAndMonthInYearFormat=`short`,this._weekDay=!0,this._format=`%a %e %B %Y`)):(e=this._dateLevel&&this._dateLevel===4?t.filter(e=>e.monthType===`number`&&e.mmdd===(this._weekFormat===`mmdd`||this._weekFormat!==`ddmm`&&null)&&e.separator===this._dateSeparator):t.filter(e=>e.monthType===`number`&&e.mmdd===(this._dateFormat===`mmdd`||this._dateFormat!==`ddmm`&&null)&&e.separator===this._dateSeparator),this._dateFormat===`auto`&&this._dateLevel&&this._dateLevel!==4?this._format=`%amd`+this._dateSeparator+`%Y`:e.length>0?this._format=e[0].key:(this._dateFormat=`ddmm`,this._dateSeparator=`/`,this._format=`%d/%m/%Y`)),this._dateLevel&&this._dateLevel>5&&(this._format+=this._24hFormat?` %H:%M:%S.%L`:` %I:%M:%S.%L %p`)}_setWeekStartsOn(){this._weekStart=this._weekStartElement.value,this._sendEvent(),this.requestUpdate()}_setDisplayAs(){this._displayAs=this._displayAsElement.value,this._sendEvent(),this.requestUpdate()}_setWeekdayAndMonthInYearFormat(){this._weekDayAndMonthInYearFormat=this._weekDayAndMonthInYearFormatElement.selected?.[0]??`long`,this._sendEvent(),this.requestUpdate()}_setMonthNameFormat(){this._monthNameFormat=this._monthNameFormatElement.selected?.[0],this._sendEvent(),this.requestUpdate()}_setMonthName(){this._monthName=this._monthNameElement.selected,this._sendEvent(),this.requestUpdate()}_setWeekFormat(){this._weekFormat=this._weekFormatElement.selected?.[0],this._sendEvent(),this.requestUpdate()}_setDateFormat(){this._dateFormat=this._dateFormatElement.value,this._sendEvent(),this.requestUpdate()}_setDateSeparator(){this._dateSeparator=this._dateSeparatorElement.value,this._sendEvent(),this.requestUpdate()}_set24hFormat(){this._24hFormat=this._format24hElement.selected,this._sendEvent(),this.requestUpdate()}_setWeekday(){this._weekDay=this._weekDayElement.selected,this._sendEvent(),this.requestUpdate()}_calculateSlotContent(){this._currentSlotContent={...this.slotContent},this._calculateFormat(),this._currentSlotContent.format=this._format,this._displayAs==="default"?delete this._currentSlotContent.datetimeDisplayMode:(this._currentSlotContent.datetimeDisplayMode=this._displayAs,this._displayAs===`week_in_year`?this._currentSlotContent.datetimeDisplayMode=this._weekDayAndMonthInYearFormat===`number`?`week_number`:`week_name`:this._displayAs===`month_in_year`?this._currentSlotContent.datetimeDisplayMode=this._weekDayAndMonthInYearFormat===`number`?`month_number`:`month_name`:this._displayAs===`day_in_week`&&(this._currentSlotContent.datetimeDisplayMode=this._weekDayAndMonthInYearFormat===`number`?`weekday_number`:`weekday_name`,this._currentSlotContent.weekStart=this._weekStart),this._weekDayAndMonthInYearFormat&&(this._dateLevel===3?this._currentSlotContent.monthNameFormat=this._weekDayAndMonthInYearFormat:this._dateLevel===5&&(this._currentSlotContent.weekDayNameFormat=this._weekDayAndMonthInYearFormat)))}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._parseSlotContent(),this._calculateSlotContent())}_renderDisplaySettings(){let e=m?.[`level${this._dateLevel??0}`]?.map(e=>h`<luzmo-menu-item value=${e.key}>
3
3
  ${e.i18n()}
4
4
  </luzmo-menu-item>`);return h`<div class="setting">
5
5
  <luzmo-field-label .size=${this.size} for="display-as"
@@ -1,5 +1,5 @@
1
1
 
2
- import{n as e,t}from"./localized-mixin-YSDMfLKU.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,t as a}from"./luzmoCheckbox-BksyONqE.js";import{n as o,r as s,t as c}from"./base-Cgmw1Vq_.js";import{html as l,ifDefined as u,property as d,state as f,unsafeCSS as p}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/icon.js";var m=`:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-grand-totals-gap,var(--display-settings-grand-totals-gap));display:flex}:host,:host([size=s]){--display-settings-grand-totals-gap:var(--luzmo-spacing-3)}:host([size=l]){--display-settings-grand-totals-gap:var(--luzmo-spacing-4)}:host([size=xl]){--display-settings-grand-totals-gap:var(--luzmo-spacing-5)}`,h=class extends t(o(s,{validSizes:Object.values(c)})){constructor(...e){super(...e),this.slotContent={}}static get styles(){return[p(m)]}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._enabled=this.slotContent?.grandTotals?.enabled??!1)}toggleGrandTotals(){this._enabled=!this._enabled,this.sendEvent()}sendEvent(){let e={enabled:!!this._enabled};this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:{...this.slotContent,grandTotals:e}}}))}render(){return l`<div class="settings-container">
2
+ import{n as e,t}from"./localized-mixin-j1gjzMSn.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,t as a}from"./luzmoCheckbox-BksyONqE.js";import{n as o,r as s,t as c}from"./base-CR5wZnQk.js";import{html as l,ifDefined as u,property as d,state as f,unsafeCSS as p}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/icon.js";var m=`:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-grand-totals-gap,var(--display-settings-grand-totals-gap));display:flex}:host,:host([size=s]){--display-settings-grand-totals-gap:var(--luzmo-spacing-3)}:host([size=l]){--display-settings-grand-totals-gap:var(--luzmo-spacing-4)}:host([size=xl]){--display-settings-grand-totals-gap:var(--luzmo-spacing-5)}`,h=class extends t(o(s,{validSizes:Object.values(c)})){constructor(...e){super(...e),this.slotContent={}}static get styles(){return[p(m)]}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._enabled=this.slotContent?.grandTotals?.enabled??!1)}toggleGrandTotals(){this._enabled=!this._enabled,this.sendEvent()}sendEvent(){let e={enabled:!!this._enabled};this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:{...this.slotContent,grandTotals:e}}}))}render(){return l`<div class="settings-container">
3
3
  <div class="settings-row">
4
4
  <div class="setting">
5
5
  <luzmo-field-label .size=${this.size} for="grand-totals"
@@ -1,5 +1,5 @@
1
1
 
2
- import{n as e,t}from"./localized-mixin-YSDMfLKU.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{t as i}from"./luzmoAngleDown-PNrItYzK.js";import{a,t as o}from"./calculate-data-field-icon-CrEVAfzJ.js";import{t as s}from"./luzmo-icon-markup-JO3eup7O.js";import{n as c,r as l,t as u}from"./base-Cgmw1Vq_.js";import{t as d}from"./decompose-numeric-format-BXLQ97e2.js";import{t as f}from"./localize-BXHWaHdZ.js";import{html as p,nothing as m,property as h,query as g,state as _,unsafeCSS as v}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-group.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/number-field.js";import{removeSlottableRequest as y}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/overlay.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/popover.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/tooltip.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/menu.js";var b=`:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-numeric-gap,var(--display-settings-numeric-gap));display:flex}.duration-angle-down-icon{margin-inline-start:var(--luzmo-numeric-duration-levels-dropdown-icon-margin-inline-start,var(--numeric-duration-levels-dropdown-icon-margin-inline-start))}.dataset-header{white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;max-width:100%;color:var(--luzmo-font-color);white-space:nowrap;cursor:default;margin:.5rem 1rem;font-weight:600;overflow:hidden}.no-weight-label{margin-left:1rem}.with-secondary-icon{clip-path:polygon(0 0,60% 0,65% 60%,100% 65%,100% 100%,0 100%)}.secondary-icon{width:auto;font-size:.75em;line-height:1;position:absolute;bottom:45%;left:60%}.data-icon-type{text-align:center;width:1.5rem;display:inline-block;position:relative}:host{--display-settings-numeric-gap:var(--luzmo-spacing-3);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-2)}:host([size=s]){--display-settings-numeric-gap:var(--luzmo-spacing-3);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-1)}:host([size=l]){--display-settings-numeric-gap:var(--luzmo-spacing-4);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-3)}:host([size=xl]){--display-settings-numeric-gap:var(--luzmo-spacing-5);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-4)}`,x={sum:()=>n(`Sum`,{desc:`Aggregation label`}),cumulativesum:()=>n(`Cumulative sum`,{desc:`Aggregation label`}),average:()=>n(`Average`,{desc:`Aggregation label`}),median:()=>n(`Median`,{desc:`Aggregation label`}),count:()=>n(`Count rows`,{desc:`Aggregation label`}),distinctcount:()=>n(`Count distinct`,{desc:`Aggregation label`}),min:()=>n(`Minimum`,{desc:`Aggregation label`}),max:()=>n(`Maximum`,{desc:`Aggregation label`}),stddev:()=>n(`Standard deviation`,{desc:`Aggregation label`}),rate:()=>n(`Rate`,{desc:`Aggregation label`})},S={general:`123`,percentage:`%`,scientific:`SI`},C={time:()=>n(`Time`,{desc:`Time format option`}),short:()=>n(`Short`,{desc:`Short format option`}),long:()=>n(`Long`,{desc:`Long format option`})},w={Auto:{auto:!0,label:()=>n(`Auto`,{desc:`Automatic setting of the option`})},"1,000.00":{auto:!1,label:()=>`1,000.00`,thousandSeparator:`,`,decimalSeparator:`.`,hiddenFor:`scientific`},"1.000,00":{auto:!1,label:()=>`1.000,00`,thousandSeparator:`.`,decimalSeparator:`,`,hiddenFor:`scientific`},"1000.00":{auto:!1,label:()=>`1000.00`,decimalSeparator:`.`},"1000,00":{auto:!1,label:()=>`1000,00`,decimalSeparator:`,`}},T={levels:[{level:1,label:`years`},{level:2,label:`quarters`},{level:3,label:`months`},{level:4,label:`weeks`},{level:5,label:`days`},{level:6,label:`hours`},{level:7,label:`minutes`},{level:8,label:`seconds`},{level:9,label:`milliseconds`}]},E=class extends t(c(l,{validSizes:Object.values(u)})){constructor(...e){super(...e),this.slotContent={},this.measureColumns=[],this._durationLevels=[],this._renderDurationLevelMenu=!1,this._handleSlottableRequest=e=>{this._renderDurationLevelMenu=e.data!==y},this._sendEvent=()=>{let e={...this.slotContent,format:this._format,aggregationFunc:this._aggregationFunc};this._aggregationWeightColumn?e.aggregationWeight={...this._aggregationWeightColumn}:delete e.aggregationWeight,this._displayMode===`duration`?(e.duration=e.duration??{},e.duration.format=this._durationFormat,e.duration.levels=this._durationLevels):delete e.duration,this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:e}}))}}static get styles(){return[v(b)]}_parseSavedNumericFormatSettings(){if(this._displayMode=this.slotContent?.subtype===`duration`?`duration`:`numeric`,this._durationFormat=this.slotContent?.duration?.format??`short`,this._durationLevels=this.slotContent?.duration?.levels??[1],this._displayMode===`duration`)this._precision=2,this._commaDecimals=!1,this._thousandSeparator=!1;else{this._format=this.slotContent?.format??`.0f`;let e=d(this._format??`.0f`);this._isAuto=e.typeFormat?.includes(`a`)??!1,[`%`,`a%`,`y`,`ay`].includes(e.typeFormat)?this._displayAs=`percentage`:[`s`,`as`,`w`,`aw`].includes(e.typeFormat)?this._displayAs=`scientific`:this._displayAs=`general`,this._precision=e.precision?Number.parseInt(e.precision.replace(`.`,``),10):+(this._displayAs===`scientific`),this._commaDecimals=[`z`,`az`,`y`,`ay`,`w`,`aw`].includes(e.typeFormat),this._thousandSeparator=e.comma===`,`,this._isAuto?this._numericFormatGroup=`Auto`:this._commaDecimals&&this._thousandSeparator?this._numericFormatGroup=`1.000,00`:!this._commaDecimals&&this._thousandSeparator?this._numericFormatGroup=`1,000.00`:this._commaDecimals&&!this._thousandSeparator?this._numericFormatGroup=`1000,00`:!this._commaDecimals&&!this._thousandSeparator&&(this._numericFormatGroup=`1000.00`)}}_setNumericDisplayAs(){this._displayAs=this._displayAsElement?.selected?.[0]??`general`,this._displayAs===`scientific`&&(this._precision=Math.max(this._precision??0,1),this._thousandSeparator=!1),this._setNumericFormat(),this._sendEvent(),this.requestUpdate()}_setNumericSeparators(e){let t=w[e?.detail??`Auto`];this._thousandSeparator=[`,`,`.`].includes(t?.thousandSeparator??``),this._commaDecimals=t?.decimalSeparator===`,`,this._isAuto=t?.auto,this._setNumericFormat(),this._sendEvent()}_setPrecision(){Number.isNaN(this._precisionElement.value)&&(this._precisionElement.value=+(this._displayAs===`scientific`)),this._precision=this._precisionElement.value,this._setNumericFormat(),this._sendEvent()}_setNumericFormat(){let e=`f`,t=this.slotContent.subtype===`duration`?this._durationLevels&&this._durationLevels?.length===1?`numeric`:`duration`:`numeric`;if(this._maxDurationLevel=Math.min(...this._durationLevels),t===`duration`)(![`time`,`short`,`long`].includes(this._durationFormat??``)||this._maxDurationLevel<6&&this._durationFormat===`time`)&&(this._durationFormat=`short`);else{let t=this._displayAs??`general`;t===`general`&&this._commaDecimals?e=`z`:t===`percentage`&&this._commaDecimals?e=`y`:t===`scientific`&&this._commaDecimals?e=`w`:t===`percentage`?e=`%`:t===`scientific`&&(e=`s`),this._format=(this._thousandSeparator||this._isAuto?`,`:``)+`.`+this._precision+(this._isAuto?`a`:``)+e}}_setAggregationFunc(){let e=this._aggregationElement.value,t=this._aggregationFunc,n=this.slotContent.format;if(e!==(t===`weightedaverage`?`average`:t)){if(this._aggregationFunc=e===`average`&&this._aggregationWeightColumn?.column?`weightedaverage`:e,t===`rate`){let e=d(n),t=[`%`,`y`,`a%`,`ay`].includes(e.typeFormat);this.slotContent.subtype===`currency`&&t&&this._setNumericDisplayAs()}this._sendEvent(),(this._aggregationFunc===`rate`||t===`rate`)&&this.requestUpdate()}}_setAggregationWeight(){let e=this._aggregationWeightElement.value,t=this._aggregationFunc;if(e===`none`)this._aggregationWeightColumn=void 0,this._aggregationFunc===`weightedaverage`&&(this._aggregationFunc=`average`);else{let t,n;for(let r of this.measureColumns??[]){let i=r.columns?.find(t=>t.id===e);if(i){t=i,n=r.datasetId;break}}t&&(this._aggregationWeightColumn={column:t.id,set:n,columnSubType:t.subtype}),this._aggregationFunc===`average`&&(this._aggregationFunc=`weightedaverage`)}this._sendEvent(),this.requestUpdate(),(t===`weightedaverage`&&this._aggregationFunc===`average`||t===`average`&&this._aggregationFunc===`weightedaverage`)&&this.requestUpdate()}_setDurationLevels(){let e=this._durationLevels,t=this._durationLevelsElement.value.split(`,`).filter(e=>e!==``).map(e=>Number.parseInt(e,10));this._durationLevels=(t?.length??0)>=1?t:e,this._maxDurationLevel=Math.min(...this._durationLevels),this._fillTimeDurationLevels(),this._setNumericFormat(),this._sendEvent(),this.requestUpdate()}_setDurationFormat(){this._durationFormat=this._durationFormatElement?.selected?.[0],this._fillTimeDurationLevels(),this._setNumericFormat(),this._sendEvent(),this.requestUpdate()}_fillTimeDurationLevels(){if(this._durationFormat===`time`){let e=this._durationLevels.sort().at(-1);if([7,8,9].includes(e)){for(let t of{lev7:[6],lev8:[6,7],lev9:[6,7,8]}[`lev`+e])this._durationLevels.includes(t)||this._durationLevels.push(t);this._durationLevels=[...this._durationLevels].sort()}}}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._parseSavedNumericFormatSettings(),this._aggregationFunc=this.slotContent?.aggregationFunc??(this.slotContent?.type===`numeric`?`sum`:`count`),this._aggregationWeightColumn=this.slotContent?.aggregationWeight,this._isFormula=this.slotContent?.formula||this.slotContent?.formulaId)}_renderDurationLevelsSettings(){let e=T.levels.map(e=>{let t=!1;return this._durationFormat===`time`&&e.level>=6&&this._durationLevels.includes(e.level)&&e.level!==Math.max(...this._durationLevels)&&(t=!0),this._durationLevels.length===1&&this._durationLevels.includes(e.level)&&(t=!0),p`<luzmo-menu-item
2
+ import{n as e,t}from"./localized-mixin-j1gjzMSn.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{t as i}from"./luzmoAngleDown-PNrItYzK.js";import{a,t as o}from"./calculate-data-field-icon-CrEVAfzJ.js";import{t as s}from"./luzmo-icon-markup-BENMHpB_.js";import{n as c,r as l,t as u}from"./base-CR5wZnQk.js";import{t as d}from"./decompose-numeric-format-BXLQ97e2.js";import{t as f}from"./localize-BXHWaHdZ.js";import{html as p,nothing as m,property as h,query as g,state as _,unsafeCSS as v}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-group.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/number-field.js";import{removeSlottableRequest as y}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/overlay.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/popover.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/tooltip.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/menu.js";var b=`:host .settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-numeric-gap,var(--display-settings-numeric-gap));display:flex}.duration-angle-down-icon{margin-inline-start:var(--luzmo-numeric-duration-levels-dropdown-icon-margin-inline-start,var(--numeric-duration-levels-dropdown-icon-margin-inline-start))}.dataset-header{white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;max-width:100%;color:var(--luzmo-font-color);white-space:nowrap;cursor:default;margin:.5rem 1rem;font-weight:600;overflow:hidden}.no-weight-label{margin-left:1rem}.with-secondary-icon{clip-path:polygon(0 0,60% 0,65% 60%,100% 65%,100% 100%,0 100%)}.secondary-icon{width:auto;font-size:.75em;line-height:1;position:absolute;bottom:45%;left:60%}.data-icon-type{text-align:center;width:1.5rem;display:inline-block;position:relative}:host{--display-settings-numeric-gap:var(--luzmo-spacing-3);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-2)}:host([size=s]){--display-settings-numeric-gap:var(--luzmo-spacing-3);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-1)}:host([size=l]){--display-settings-numeric-gap:var(--luzmo-spacing-4);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-3)}:host([size=xl]){--display-settings-numeric-gap:var(--luzmo-spacing-5);--numeric-duration-levels-dropdown-icon-margin-inline-start:var(--luzmo-spacing-4)}`,x={sum:()=>n(`Sum`,{desc:`Aggregation label`}),cumulativesum:()=>n(`Cumulative sum`,{desc:`Aggregation label`}),average:()=>n(`Average`,{desc:`Aggregation label`}),median:()=>n(`Median`,{desc:`Aggregation label`}),count:()=>n(`Count rows`,{desc:`Aggregation label`}),distinctcount:()=>n(`Count distinct`,{desc:`Aggregation label`}),min:()=>n(`Minimum`,{desc:`Aggregation label`}),max:()=>n(`Maximum`,{desc:`Aggregation label`}),stddev:()=>n(`Standard deviation`,{desc:`Aggregation label`}),rate:()=>n(`Rate`,{desc:`Aggregation label`})},S={general:`123`,percentage:`%`,scientific:`SI`},C={time:()=>n(`Time`,{desc:`Time format option`}),short:()=>n(`Short`,{desc:`Short format option`}),long:()=>n(`Long`,{desc:`Long format option`})},w={Auto:{auto:!0,label:()=>n(`Auto`,{desc:`Automatic setting of the option`})},"1,000.00":{auto:!1,label:()=>`1,000.00`,thousandSeparator:`,`,decimalSeparator:`.`,hiddenFor:`scientific`},"1.000,00":{auto:!1,label:()=>`1.000,00`,thousandSeparator:`.`,decimalSeparator:`,`,hiddenFor:`scientific`},"1000.00":{auto:!1,label:()=>`1000.00`,decimalSeparator:`.`},"1000,00":{auto:!1,label:()=>`1000,00`,decimalSeparator:`,`}},T={levels:[{level:1,label:`years`},{level:2,label:`quarters`},{level:3,label:`months`},{level:4,label:`weeks`},{level:5,label:`days`},{level:6,label:`hours`},{level:7,label:`minutes`},{level:8,label:`seconds`},{level:9,label:`milliseconds`}]},E=class extends t(c(l,{validSizes:Object.values(u)})){constructor(...e){super(...e),this.slotContent={},this.measureColumns=[],this._durationLevels=[],this._renderDurationLevelMenu=!1,this._handleSlottableRequest=e=>{this._renderDurationLevelMenu=e.data!==y},this._sendEvent=()=>{let e={...this.slotContent,format:this._format,aggregationFunc:this._aggregationFunc};this._aggregationWeightColumn?e.aggregationWeight={...this._aggregationWeightColumn}:delete e.aggregationWeight,this._displayMode===`duration`?(e.duration=e.duration??{},e.duration.format=this._durationFormat,e.duration.levels=this._durationLevels):delete e.duration,this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:e}}))}}static get styles(){return[v(b)]}_parseSavedNumericFormatSettings(){if(this._displayMode=this.slotContent?.subtype===`duration`?`duration`:`numeric`,this._durationFormat=this.slotContent?.duration?.format??`short`,this._durationLevels=this.slotContent?.duration?.levels??[1],this._displayMode===`duration`)this._precision=2,this._commaDecimals=!1,this._thousandSeparator=!1;else{this._format=this.slotContent?.format??`.0f`;let e=d(this._format??`.0f`);this._isAuto=e.typeFormat?.includes(`a`)??!1,[`%`,`a%`,`y`,`ay`].includes(e.typeFormat)?this._displayAs=`percentage`:[`s`,`as`,`w`,`aw`].includes(e.typeFormat)?this._displayAs=`scientific`:this._displayAs=`general`,this._precision=e.precision?Number.parseInt(e.precision.replace(`.`,``),10):+(this._displayAs===`scientific`),this._commaDecimals=[`z`,`az`,`y`,`ay`,`w`,`aw`].includes(e.typeFormat),this._thousandSeparator=e.comma===`,`,this._isAuto?this._numericFormatGroup=`Auto`:this._commaDecimals&&this._thousandSeparator?this._numericFormatGroup=`1.000,00`:!this._commaDecimals&&this._thousandSeparator?this._numericFormatGroup=`1,000.00`:this._commaDecimals&&!this._thousandSeparator?this._numericFormatGroup=`1000,00`:!this._commaDecimals&&!this._thousandSeparator&&(this._numericFormatGroup=`1000.00`)}}_setNumericDisplayAs(){this._displayAs=this._displayAsElement?.selected?.[0]??`general`,this._displayAs===`scientific`&&(this._precision=Math.max(this._precision??0,1),this._thousandSeparator=!1),this._setNumericFormat(),this._sendEvent(),this.requestUpdate()}_setNumericSeparators(e){let t=w[e?.detail??`Auto`];this._thousandSeparator=[`,`,`.`].includes(t?.thousandSeparator??``),this._commaDecimals=t?.decimalSeparator===`,`,this._isAuto=t?.auto,this._setNumericFormat(),this._sendEvent()}_setPrecision(){Number.isNaN(this._precisionElement.value)&&(this._precisionElement.value=+(this._displayAs===`scientific`)),this._precision=this._precisionElement.value,this._setNumericFormat(),this._sendEvent()}_setNumericFormat(){let e=`f`,t=this.slotContent.subtype===`duration`?this._durationLevels&&this._durationLevels?.length===1?`numeric`:`duration`:`numeric`;if(this._maxDurationLevel=Math.min(...this._durationLevels),t===`duration`)(![`time`,`short`,`long`].includes(this._durationFormat??``)||this._maxDurationLevel<6&&this._durationFormat===`time`)&&(this._durationFormat=`short`);else{let t=this._displayAs??`general`;t===`general`&&this._commaDecimals?e=`z`:t===`percentage`&&this._commaDecimals?e=`y`:t===`scientific`&&this._commaDecimals?e=`w`:t===`percentage`?e=`%`:t===`scientific`&&(e=`s`),this._format=(this._thousandSeparator||this._isAuto?`,`:``)+`.`+this._precision+(this._isAuto?`a`:``)+e}}_setAggregationFunc(){let e=this._aggregationElement.value,t=this._aggregationFunc,n=this.slotContent.format;if(e!==(t===`weightedaverage`?`average`:t)){if(this._aggregationFunc=e===`average`&&this._aggregationWeightColumn?.column?`weightedaverage`:e,t===`rate`){let e=d(n),t=[`%`,`y`,`a%`,`ay`].includes(e.typeFormat);this.slotContent.subtype===`currency`&&t&&this._setNumericDisplayAs()}this._sendEvent(),(this._aggregationFunc===`rate`||t===`rate`)&&this.requestUpdate()}}_setAggregationWeight(){let e=this._aggregationWeightElement.value,t=this._aggregationFunc;if(e===`none`)this._aggregationWeightColumn=void 0,this._aggregationFunc===`weightedaverage`&&(this._aggregationFunc=`average`);else{let t,n;for(let r of this.measureColumns??[]){let i=r.columns?.find(t=>t.id===e);if(i){t=i,n=r.datasetId;break}}t&&(this._aggregationWeightColumn={column:t.id,set:n,columnSubType:t.subtype}),this._aggregationFunc===`average`&&(this._aggregationFunc=`weightedaverage`)}this._sendEvent(),this.requestUpdate(),(t===`weightedaverage`&&this._aggregationFunc===`average`||t===`average`&&this._aggregationFunc===`weightedaverage`)&&this.requestUpdate()}_setDurationLevels(){let e=this._durationLevels,t=this._durationLevelsElement.value.split(`,`).filter(e=>e!==``).map(e=>Number.parseInt(e,10));this._durationLevels=(t?.length??0)>=1?t:e,this._maxDurationLevel=Math.min(...this._durationLevels),this._fillTimeDurationLevels(),this._setNumericFormat(),this._sendEvent(),this.requestUpdate()}_setDurationFormat(){this._durationFormat=this._durationFormatElement?.selected?.[0],this._fillTimeDurationLevels(),this._setNumericFormat(),this._sendEvent(),this.requestUpdate()}_fillTimeDurationLevels(){if(this._durationFormat===`time`){let e=this._durationLevels.sort().at(-1);if([7,8,9].includes(e)){for(let t of{lev7:[6],lev8:[6,7],lev9:[6,7,8]}[`lev`+e])this._durationLevels.includes(t)||this._durationLevels.push(t);this._durationLevels=[...this._durationLevels].sort()}}}willUpdate(e){super.willUpdate(e),e.has(`slotContent`)&&(this._parseSavedNumericFormatSettings(),this._aggregationFunc=this.slotContent?.aggregationFunc??(this.slotContent?.type===`numeric`?`sum`:`count`),this._aggregationWeightColumn=this.slotContent?.aggregationWeight,this._isFormula=this.slotContent?.formula||this.slotContent?.formulaId)}_renderDurationLevelsSettings(){let e=T.levels.map(e=>{let t=!1;return this._durationFormat===`time`&&e.level>=6&&this._durationLevels.includes(e.level)&&e.level!==Math.max(...this._durationLevels)&&(t=!0),this._durationLevels.length===1&&this._durationLevels.includes(e.level)&&(t=!0),p`<luzmo-menu-item
3
3
  value=${e.level}
4
4
  ?selected=${this._durationLevels.includes(e.level)}
5
5
  ?disabled=${t}
@@ -1,5 +1,5 @@
1
1
 
2
- import{n as e,t}from"./localized-mixin-YSDMfLKU.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,r as a,t as o}from"./base-Cgmw1Vq_.js";import{t as s}from"./decompose-numeric-format-BXLQ97e2.js";import{t as c}from"./localize-BXHWaHdZ.js";import{t as l}from"./period-over-period-condition.const-AC_onvUf.js";import{html as u,property as d,query as f,state as p,unsafeCSS as m}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-group.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/number-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/menu.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/accordion.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/checkbox.js";var h={none:()=>n(`None`),past:()=>n(`Past value`,{desc:`Period option`}),absoluteChange:()=>n(`Absolute change`,{desc:`Period option`}),percentageChange:()=>n(`% change`,{desc:`Period option`})},g=[{key:`periods`,i18n:()=>n(`Periods`,{desc:`Period option`})},{key:`years`,i18n:()=>n(`Years`,{desc:`Period option`})},{key:`quarters`,i18n:()=>n(`Quarters`,{desc:`Period option`})},{key:`months`,i18n:()=>n(`Months`,{desc:`Period option`})},{key:`weeks`,i18n:()=>n(`Weeks`,{desc:`Period option`})},{key:`days`,i18n:()=>n(`Days`,{desc:`Period option`})},{key:`hours`,i18n:()=>n(`Hours`,{desc:`Period option`})},{key:`minutes`,i18n:()=>n(`Minutes`,{desc:`Period option`})},{key:`seconds`,i18n:()=>n(`Seconds`,{desc:`Period option`})}],_=function(e){return e.Relative=`relative`,e.UserDefined=`user-defined`,e}({}),v=[{key:`relative`,i18n:()=>n(`Relative`,{desc:`Range type option`})},{key:`user-defined`,i18n:()=>n(`User-defined`,{desc:`Range type option`})}],y=`:host{font-family:var(--luzmo-display-settings-period-over-period-font-family,var(--luzmo-font-family));font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size));color:var(--luzmo-display-settings-period-over-period-color,var(--luzmo-font-color))}:host .settings-container{flex-direction:column;gap:0;display:flex}:host .settings-container:first-of-type{margin-right:var(--luzmo-spacing-4)}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-period-over-period-gap,var(--display-settings-period-over-period-gap));display:flex}:host .wrap{flex-wrap:wrap}:host .setting.period-number-setting{align-items:center;display:flex}:host .dynamic-settings-container{max-width:var(--luzmo-display-setting-period-over-period-dynamic-max-width,var(--display-setting-period-over-period-dynamic-max-width))}:host luzmo-accordion{--luzmo-accordion-item-content-area-top-to-content:0;--luzmo-accordion-item-content-padding-left:var(--luzmo-spacing-1);--luzmo-accordion-item-header-bottom-margin:0;--luzmo-accordion-item-content-area-bottom-to-content:var(--luzmo-spacing-2);--accordion-item-header-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size));--accordion-item-content-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}:host .label-container{align-items:center;gap:var(--luzmo-spacing-2);display:flex}:host .academy-link{color:var(--luzmo-link-color);font-size:var(--luzmo-font-size-s);margin-left:var(--luzmo-spacing-2);text-decoration:none}:host .academy-link:hover{color:var(--luzmo-link-color-hover)}:host(:focus){--luzmo-menu-item-label-icon-color-focus:var(--luzmo-menu-item-label-icon-color-focus,var(--luzmo-font-color))}luzmo-menu-item{--luzmo-menu-item-tooltip-font-size:var(--luzmo-display-settings-tooltip-font-size)}luzmo-checkbox{--checkbox-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}luzmo-picker{--picker-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}luzmo-number-field{--text-field-placeholder-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size));--stepper-button-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}:host{--display-settings-period-over-period-gap:var(--luzmo-spacing-3);--display-settings-period-over-period-font-size:var(--luzmo-font-size);--display-setting-period-over-period-dynamic-max-width:22rem}:host([size=xs]){--display-settings-period-over-period-gap:var(--luzmo-spacing-2);--display-settings-period-over-period-font-size:var(--luzmo-font-size-xs);--display-setting-period-over-period-dynamic-max-width:17rem}:host([size=s]){--display-settings-period-over-period-gap:var(--luzmo-spacing-3);--display-settings-period-over-period-font-size:var(--luzmo-font-size-s);--display-setting-period-over-period-dynamic-max-width:19rem}:host([size=l]){--display-settings-period-over-period-gap:var(--luzmo-spacing-4);--display-settings-period-over-period-font-size:var(--luzmo-font-size-l);--display-setting-period-over-period-dynamic-max-width:26rem}:host([size=xl]){--display-settings-period-over-period-gap:var(--luzmo-spacing-5);--display-settings-period-over-period-font-size:var(--luzmo-font-size-xl);--display-setting-period-over-period-dynamic-max-width:30rem}`,b=class extends t(i(a,{validSizes:Object.values(o)})){constructor(...e){super(...e),this.slotContent={},this.allowPeriodsWithoutDatetimeColumn=!1,this.hidePastValue=!1,this.linkedDatasetDatetimeColumns=[],this.needsOffsetDatetimeColumn=()=>this.periodOverPeriodUiType===l.NoDatetimeColumnButComparisonFilters||this.periodOverPeriodUiType===l.NoDatetimeColumnAndNoComparisonFilters}static get styles(){return[m(y)]}willUpdate(e){if(super.willUpdate(e),e.has(`slotContent`)){this._periodComparison=this.slotContent?.periodOverPeriod?.type,this._numberPeriods=this.slotContent?.periodOverPeriod?.quantity;let e=this.slotContent?.periodOverPeriod?.level;this._periodLevel=typeof e==`number`&&e>=0&&e<g.length?g[e].key:this.slotContent?.periodOverPeriod?.level||`periods`,this._incompletePeriods=this.slotContent?.periodOverPeriod?.periodToDate,this._offsetDateColumn=this.slotContent?.periodOverPeriod?.offsetDateColumn,this._minLevel=this.slotContent?.periodOverPeriod?.minLevel??this.slotContent?.periodOverPeriod?.offsetDateColumn?.lowestLevel??this.slotContent?.lowestLevel??(this.slotContent?.subtype===`date`?5:9),this._rangeType=this.slotContent?.periodOverPeriod?.rangeType}this._periodComparison=this._periodComparison??`none`,this._numberPeriods=this._numberPeriods??1,this._periodLevel=this._periodLevel??`periods`,this._incompletePeriods=this._incompletePeriods??!1,this._minLevel=this._minLevel??9,this._rangeType=this._rangeType??_.Relative,this._offsetDateColumn=this._offsetDateColumn||void 0}setPeriodComparison(){let e={...this.slotContent};this.setInitialOffsetDateColumn(e),this._periodComparison=this._periodComparisonElement.value;let t=s(this.slotContent?.format),n=[`%`,`y`,`a%`,`ay`].includes(t.typeFormat),r=t.typeFormat.includes(`a`),i=r?`a`:``,a=t.comma===`,`||r?`,`:``,o=t.precision?Number.parseInt(t.precision.replace(`.`,``),10):0,c=[`z`,`az`,`y`,`ay`,`w`,`aw`].includes(t.typeFormat);this._periodComparison===`percentageChange`&&n&&(e.format=`${a}.${o}${i}${c?`z`:`f`}`),this.sendEvent(e)}setNumberOfPeriods(){this._numberPeriods=Number.parseInt(this._numberPeriodsElement.value,10);let e={...this.slotContent};this.sendEvent(e)}setPeriodLevel(){this._periodLevel=this._periodLevelElement.value;let e={...this.slotContent};this.sendEvent(e)}setOffsetDateColumn(){this._offsetDateColumn=this.linkedDatasetDatetimeColumns.find(e=>e.id===this._offsetDateColumnElement.value);let e={...this.slotContent};this.sendEvent(e)}setIncompletePeriods(){this._incompletePeriods=this._incompletePeriodsElement.checked;let e={...this.slotContent};this.sendEvent(e)}setRangeType(e){this._rangeType=e;let t={...this.slotContent};this.setInitialOffsetDateColumn(t),this.sendEvent(t)}sendEvent(e){let t={...e},n=g.findIndex(e=>e.key===this._periodLevel);t.periodOverPeriod={...e.periodOverPeriod,type:this._periodComparison,level:Math.max(n,0),quantity:this._numberPeriods,periodToDate:this._incompletePeriods,minLevel:this._minLevel,rangeType:this._rangeType,offsetDateColumn:this._offsetDateColumn},this._periodComparison===`none`&&delete t.periodOverPeriod,this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:t}}))}incompletePeriodsSetting(){return u`
2
+ import{n as e,t}from"./localized-mixin-j1gjzMSn.js";import{n}from"./lit-localize-CIGP-NUw.js";import{t as r}from"./localized-decorator-Buib6Rq1.js";import{n as i,r as a,t as o}from"./base-CR5wZnQk.js";import{t as s}from"./decompose-numeric-format-BXLQ97e2.js";import{t as c}from"./localize-BXHWaHdZ.js";import{t as l}from"./period-over-period-condition.const-AC_onvUf.js";import{html as u,property as d,query as f,state as p,unsafeCSS as m}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-group.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/number-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/menu.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/accordion.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/checkbox.js";var h={none:()=>n(`None`),past:()=>n(`Past value`,{desc:`Period option`}),absoluteChange:()=>n(`Absolute change`,{desc:`Period option`}),percentageChange:()=>n(`% change`,{desc:`Period option`})},g=[{key:`periods`,i18n:()=>n(`Periods`,{desc:`Period option`})},{key:`years`,i18n:()=>n(`Years`,{desc:`Period option`})},{key:`quarters`,i18n:()=>n(`Quarters`,{desc:`Period option`})},{key:`months`,i18n:()=>n(`Months`,{desc:`Period option`})},{key:`weeks`,i18n:()=>n(`Weeks`,{desc:`Period option`})},{key:`days`,i18n:()=>n(`Days`,{desc:`Period option`})},{key:`hours`,i18n:()=>n(`Hours`,{desc:`Period option`})},{key:`minutes`,i18n:()=>n(`Minutes`,{desc:`Period option`})},{key:`seconds`,i18n:()=>n(`Seconds`,{desc:`Period option`})}],_=function(e){return e.Relative=`relative`,e.UserDefined=`user-defined`,e}({}),v=[{key:`relative`,i18n:()=>n(`Relative`,{desc:`Range type option`})},{key:`user-defined`,i18n:()=>n(`User-defined`,{desc:`Range type option`})}],y=`:host{font-family:var(--luzmo-display-settings-period-over-period-font-family,var(--luzmo-font-family));font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size));color:var(--luzmo-display-settings-period-over-period-color,var(--luzmo-font-color))}:host .settings-container{flex-direction:column;gap:0;display:flex}:host .settings-container:first-of-type{margin-right:var(--luzmo-spacing-4)}:host .settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-period-over-period-gap,var(--display-settings-period-over-period-gap));display:flex}:host .wrap{flex-wrap:wrap}:host .setting.period-number-setting{align-items:center;display:flex}:host .dynamic-settings-container{max-width:var(--luzmo-display-setting-period-over-period-dynamic-max-width,var(--display-setting-period-over-period-dynamic-max-width))}:host luzmo-accordion{--luzmo-accordion-item-content-area-top-to-content:0;--luzmo-accordion-item-content-padding-left:var(--luzmo-spacing-1);--luzmo-accordion-item-header-bottom-margin:0;--luzmo-accordion-item-content-area-bottom-to-content:var(--luzmo-spacing-2);--accordion-item-header-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size));--accordion-item-content-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}:host .label-container{align-items:center;gap:var(--luzmo-spacing-2);display:flex}:host .academy-link{color:var(--luzmo-link-color);font-size:var(--luzmo-font-size-s);margin-left:var(--luzmo-spacing-2);text-decoration:none}:host .academy-link:hover{color:var(--luzmo-link-color-hover)}:host(:focus){--luzmo-menu-item-label-icon-color-focus:var(--luzmo-menu-item-label-icon-color-focus,var(--luzmo-font-color))}luzmo-menu-item{--luzmo-menu-item-tooltip-font-size:var(--luzmo-display-settings-tooltip-font-size)}luzmo-checkbox{--checkbox-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}luzmo-picker{--picker-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}luzmo-number-field{--text-field-placeholder-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size));--stepper-button-font-size:var(--luzmo-display-settings-period-over-period-font-size,var(--display-settings-period-over-period-font-size))}:host{--display-settings-period-over-period-gap:var(--luzmo-spacing-3);--display-settings-period-over-period-font-size:var(--luzmo-font-size);--display-setting-period-over-period-dynamic-max-width:22rem}:host([size=xs]){--display-settings-period-over-period-gap:var(--luzmo-spacing-2);--display-settings-period-over-period-font-size:var(--luzmo-font-size-xs);--display-setting-period-over-period-dynamic-max-width:17rem}:host([size=s]){--display-settings-period-over-period-gap:var(--luzmo-spacing-3);--display-settings-period-over-period-font-size:var(--luzmo-font-size-s);--display-setting-period-over-period-dynamic-max-width:19rem}:host([size=l]){--display-settings-period-over-period-gap:var(--luzmo-spacing-4);--display-settings-period-over-period-font-size:var(--luzmo-font-size-l);--display-setting-period-over-period-dynamic-max-width:26rem}:host([size=xl]){--display-settings-period-over-period-gap:var(--luzmo-spacing-5);--display-settings-period-over-period-font-size:var(--luzmo-font-size-xl);--display-setting-period-over-period-dynamic-max-width:30rem}`,b=class extends t(i(a,{validSizes:Object.values(o)})){constructor(...e){super(...e),this.slotContent={},this.allowPeriodsWithoutDatetimeColumn=!1,this.hidePastValue=!1,this.linkedDatasetDatetimeColumns=[],this.needsOffsetDatetimeColumn=()=>this.periodOverPeriodUiType===l.NoDatetimeColumnButComparisonFilters||this.periodOverPeriodUiType===l.NoDatetimeColumnAndNoComparisonFilters}static get styles(){return[m(y)]}willUpdate(e){if(super.willUpdate(e),e.has(`slotContent`)){this._periodComparison=this.slotContent?.periodOverPeriod?.type,this._numberPeriods=this.slotContent?.periodOverPeriod?.quantity;let e=this.slotContent?.periodOverPeriod?.level;this._periodLevel=typeof e==`number`&&e>=0&&e<g.length?g[e].key:this.slotContent?.periodOverPeriod?.level||`periods`,this._incompletePeriods=this.slotContent?.periodOverPeriod?.periodToDate,this._offsetDateColumn=this.slotContent?.periodOverPeriod?.offsetDateColumn,this._minLevel=this.slotContent?.periodOverPeriod?.minLevel??this.slotContent?.periodOverPeriod?.offsetDateColumn?.lowestLevel??this.slotContent?.lowestLevel??(this.slotContent?.subtype===`date`?5:9),this._rangeType=this.slotContent?.periodOverPeriod?.rangeType}this._periodComparison=this._periodComparison??`none`,this._numberPeriods=this._numberPeriods??1,this._periodLevel=this._periodLevel??`periods`,this._incompletePeriods=this._incompletePeriods??!1,this._minLevel=this._minLevel??9,this._rangeType=this._rangeType??_.Relative,this._offsetDateColumn=this._offsetDateColumn||void 0}setPeriodComparison(){let e={...this.slotContent};this.setInitialOffsetDateColumn(e),this._periodComparison=this._periodComparisonElement.value;let t=s(this.slotContent?.format),n=[`%`,`y`,`a%`,`ay`].includes(t.typeFormat),r=t.typeFormat.includes(`a`),i=r?`a`:``,a=t.comma===`,`||r?`,`:``,o=t.precision?Number.parseInt(t.precision.replace(`.`,``),10):0,c=[`z`,`az`,`y`,`ay`,`w`,`aw`].includes(t.typeFormat);this._periodComparison===`percentageChange`&&n&&(e.format=`${a}.${o}${i}${c?`z`:`f`}`),this.sendEvent(e)}setNumberOfPeriods(){this._numberPeriods=Number.parseInt(this._numberPeriodsElement.value,10);let e={...this.slotContent};this.sendEvent(e)}setPeriodLevel(){this._periodLevel=this._periodLevelElement.value;let e={...this.slotContent};this.sendEvent(e)}setOffsetDateColumn(){this._offsetDateColumn=this.linkedDatasetDatetimeColumns.find(e=>e.id===this._offsetDateColumnElement.value);let e={...this.slotContent};this.sendEvent(e)}setIncompletePeriods(){this._incompletePeriods=this._incompletePeriodsElement.checked;let e={...this.slotContent};this.sendEvent(e)}setRangeType(e){this._rangeType=e;let t={...this.slotContent};this.setInitialOffsetDateColumn(t),this.sendEvent(t)}sendEvent(e){let t={...e},n=g.findIndex(e=>e.key===this._periodLevel);t.periodOverPeriod={...e.periodOverPeriod,type:this._periodComparison,level:Math.max(n,0),quantity:this._numberPeriods,periodToDate:this._incompletePeriods,minLevel:this._minLevel,rangeType:this._rangeType,offsetDateColumn:this._offsetDateColumn},this._periodComparison===`none`&&delete t.periodOverPeriod,this.dispatchEvent(new CustomEvent(`luzmo-slot-content-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{slotContent:t}}))}incompletePeriodsSetting(){return u`
3
3
  <div class="settings-row">
4
4
  <div class="setting">
5
5
  <luzmo-checkbox
@@ -1,5 +1,5 @@
1
1
 
2
- import{LitElement as e,css as t,html as n,property as r,query as i,state as a,styleMap as o}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";var s=(e,t)=>{let n=`The dashboard component encountered an error`;typeof t?.dashboardId==`string`&&(n+=` for dashboard with id ${t.dashboardId}`),typeof t?.dashboardSlug==`string`&&(n+=` for dashboard with slug ${t.dashboardSlug}`),typeof t?.container==`string`&&(n+=` in container ${t.container}`),e&&(n+=`:
2
+ import{LitElement as e,css as t,html as n,property as r,query as i,state as a,styleMap as o}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";var s=(e,t)=>{let n=`The dashboard component encountered an error`;typeof t?.dashboardId==`string`&&(n+=` for dashboard with id ${t.dashboardId}`),typeof t?.dashboardSlug==`string`&&(n+=` for dashboard with slug ${t.dashboardSlug}`),typeof t?.container==`string`&&(n+=` in container ${t.container}`),e&&(n+=`:
3
3
  ${e}`,console.warn(n))},c=e=>{let t=!1,n=``,r=(document.body||document.documentElement).style,i={svg:!!(`createElementNS`in document&&document.createElementNS(`http://www.w3.org/2000/svg`,`svg`).createSVGRect),flexbox:r.webkitFlexWrap===``||r.flexWrap===``,postMessage:!!window.postMessage};for(let r of[`svg`,`flexbox`,`postMessage`])i[r]||(t=!0,e.browserNotSupported=e.browserNotSupported||[],e.browserNotSupported.push(r),n+=`Your browser does not support: ${r}
4
4
  `);let a=window.navigator.userAgent,o=a.includes(`MSIE`),c=a.includes(`Trident/`);(o||c)&&(t=!0,n=`IE is not supported.`),t&&s(n)},l={appServer:`https://app.luzmo.com/`,apiHost:`https://api.luzmo.com/`,dashboardId:null,dashboardSlug:null,container:null,key:null,token:null,language:`auto`,editorLanguage:`auto`,editMode:null,screenMode:null,switchScreenModeOnResize:!0,itemId:null,theme:``,mainColor:``,itemDimensions:{width:`auto`,height:`auto`},loaderBackground:`#f9f9f9`,loaderFontColor:`#5a5a5a`,loaderSpinnerColor:`rgb(68, 52, 255)`,loaderSpinnerBackground:`rgba(169, 169, 169, 0.14)`,timezoneId:null,contextId:null},u=[{mode:`mobile`,width:[150,767]},{mode:`tablet`,width:[768,1199]},{mode:`desktop`,width:[1200,1599]},{mode:`largeScreen`,width:[1600,9999]},{mode:`fixed`,width:[]}],d={initializing:{en:`Initializing...`,nl:`Laden...`,fr:`Chargement...`,de:`Initialisiere...`,es:`Inicializando...`},errorDashboard:{en:`Oops, we could not load this dashboard!`,nl:`Oeps, we konden het dashboard niet laden.`,fr:`Le chargement a echoué.`,de:`Hoppla, wir konnten dieses Dashboard nicht laden!`,es:`¡Ups! No pudimos cargar este tablero.`},errorItem:{en:`Oops, we could not load this item!`,nl:`Oeps, we konden de grafiek niet laden.`,fr:`Le chargement a echoué.`,de:`Hoppla, wir konnten dieses Diagramm nicht laden!`,es:`¡Ups! No pudimos cargar este elemento.`}},f=e=>e?e.endsWith(`/`)?e:`${e}/`:``,p=e=>e?e.endsWith(`/`)?e.slice(0,-1):e:``,m=(e,t,n,r)=>{let i=(e,t)=>{let n=e.users.find(e=>e.id===t.id),r=n&&n.userAccessRight?{flagRead:n.userAccessRight.flagRead,flagUse:n.userAccessRight.flagUse,flagModify:n.userAccessRight.flagModify,flagOwn:n.userAccessRight.flagOwn}:{flagRead:!1,flagUse:!1,flagModify:!1,flagOwn:!1},i=e.groups.filter(e=>t.userGroups.includes(e.id)||e.public===!0).map(e=>{if(e.groupAccessRight)return e.groupAccessRight});for(let e of i)!r.flagRead&&e.flagRead&&(r.flagRead=e.flagRead),!r.flagUse&&e.flagUse&&(r.flagUse=e.flagUse),!r.flagModify&&e.flagModify&&(r.flagModify=e.flagModify),!r.flagOwn&&e.flagOwn&&(r.flagOwn=e.flagOwn);let a=e.integrations?.length>0?e.integrations.map(e=>{if(e.integrationAccessRight)return e.integrationAccessRight}):[];for(let e of a)!r.flagRead&&e.flagRead&&(r.flagRead=e.flagRead),!r.flagUse&&e.flagUse&&(r.flagUse=e.flagUse),!r.flagModify&&e.flagModify&&(r.flagModify=e.flagModify);return r},a=(e,t)=>{if(e==null)return``;if(typeof e!=`object`||Object.keys(e).length===0)return typeof e==`object`&&Object.keys(e).length===0?``:e;let n;return n=t&&e[t]?e[t]:e[Object.keys(e)[0]],n??=``,n},o=[];for(let s of e){let e={accessibleBy:[],accessRights:i(s,n),id:s.id,modifiedAt:s.modified_at,name:a(s.name,r.language),slug:null,tags:s.tags.map(e=>e.tag).sort((e,t)=>e.localeCompare(t))},c=s.integrations.find(e=>e.id===t);c?.integrationAccessRight?.slug&&(e.slug=c.integrationAccessRight.slug);let l=s.users.map(e=>({model:`User`,id:e.id,name:a(e.name,n.locale_id)})),u=s.groups.map(e=>({model:`Group`,id:e.id,name:a(e.name,n.locale_id)||{}})),d=s.integrations.map(e=>({model:`Integration`,id:e.id,name:a(e.name,n.locale_id)||{}}));e.accessibleBy=[...l,...u,...d],o.push(e)}return o},h=e=>{let t=/^(%20|\s)*(javascript|data)/im,n=/[^\u0020-\u007E]/gim,r=/^([^:]+):/gm,i=new Set([`.`,`/`]),a=e=>i.has(e[0]);if(!e)return`about:blank`;let o=e.replaceAll(n,``).trim();if(a(o))return o;let s=o.match(r);if(!s)return o;let c=s[0];return t.test(c)?`about:blank`:o},g=e=>JSON.parse(JSON.stringify(e)),_=e=>e&&typeof e==`object`,ee=(e,t)=>(Object.entries(t).forEach(([t,n])=>{t in e?e[t]===void 0?e[t]=n:e[t]=_(n)?ee(e[t],n):e[t]:e[t]=n}),e),v=()=>`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replaceAll(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==`x`?t:t&3|8).toString(16)}),te=e=>{let t=[],{appServer:n,language:r,editorLanguage:i,loaderBackground:a,loaderSpinnerColor:o,loaderSpinnerBackground:s,loaderFontColor:c,screenMode:l,key:u,token:d,timezoneId:p,itemEmbedding:m,itemDimensions:g,dashboardId:_,dashboardSlug:ee,itemId:v,theme:te,mainColor:ne,editMode:y}=e.params;r&&r!==`auto`&&t.push(`language=${r}`),i&&i!==`auto`&&t.push(`editorLanguage=${i}`),a&&t.push(`ldrbg=${a}`),c&&t.push(`ldrftclr=${c}`),o&&t.push(`ldrspclr=${o}`),s&&t.push(`ldrspbg=${s}`),te&&t.push(`theme=${te}`),ne&&t.push(`mainColor=${ne}`),l&&l!==`auto`&&t.push(`screenMode=${l}`),p&&t.push(`timezoneId=`+p),m&&g&&g.width&&t.push(`width=`+g.width),m&&g&&g.height&&t.push(`height=`+g.height),y&&t.push(`editMode=`+y);let b=u&&d?`#`+u+`:`+d:``;t.push(`version=`+(e.libVersion||`0.0.0-unknown-luzmo`));let re=f(n);return h(m?`${re}i/${_||ee}/${v}?${encodeURIComponent(t.join(`&`))}${b}`:`${re}i/${_||ee}?${encodeURIComponent(t.join(`&`))}${b}`)},ne=e=>{let t;(e.params.error||e.browserNotSupported.length>0)&&(e.params.error=!0,e.browserNotSupported&&(t=`Browser is not supported.`));let n=d.initializing[e.params.language]||d.initializing.en;return e.browserNotSupported||e.params.error?{loadingMsg:n,errorMsg:t}:{loadingMsg:n,errorMsg:``}};function y(e,t,n){e.promises[t]&&(e.promises[t].resolve(n),delete e.promises[t])}function b(e,t,n){e.promises[t]&&(e.promises[t].reject(n),delete e.promises[t])}function re(e){let t={};return e.params.loaderBackground&&!e.iframeLoaded&&(t.background=e.params.loaderBackground),t}function ie(e){let t=e.params.itemDimensions?.height||l.itemDimensions.height,n=e.params.itemEmbedding&&t!==`auto`;return{display:e.iframeLoaded?`none`:``,height:`${n?t:e.minHeight}px`}}function ae(e){let t=e.params.loaderBackground||l.loaderBackground;if(e.params.itemEmbedding){e.loaderSize=24,e.borderWidth=4,e.minHeight=200;let n=e.params.itemDimensions?.width||l.itemDimensions.width,r=e.params.itemDimensions?.height||l.itemDimensions.height,i=n!==`auto`,a=r!==`auto`;return{background:t,width:i?`${n}px`:`100%`,height:`${a?r:`200`}px`,"min-height":a?``:`200px`}}return{background:t}}function oe(e){let{loaderSpinnerColor:t,loaderSpinnerBackground:n}=l,r=le(e.borderWidth,e.params.loaderSpinnerColor||t),i=le(e.borderWidth,e.params.loaderSpinnerBackground||n),a=`${e.loaderSize}px`;return{"border-top":r,"border-right":r,"border-bottom":i,"border-left":i,width:a,height:a}}function se(e){let t=e.params.itemDimensions?.height||l.itemDimensions.height,n=e.params.itemEmbedding&&t!==`auto`;return{padding:`${e.params.itemId?(t=>`${(t-e.loaderSize-32)/2}px`)(n?Number.parseInt(`${t}`,10):e.minHeight):`128px`} 16px`}}function ce(e){let t=e.params.itemDimensions?.height||l.itemDimensions.height,n=e.params.itemDimensions?.width||l.itemDimensions.width;e.params.itemEmbedding&&t!==`auto`?e.iframeHeight=`${t}px`:e.params.itemEmbedding?e.iframeHeight=`200px`:[`editFull`,`editLimited`].includes(e.params.editMode)?e.iframeHeight=`100%`:e.iframeHeight=`400px`,e.iframeWidth=e.params.itemEmbedding&&n!==`auto`?`${n}px`:`100%`;let r={height:e.iframeHeight,width:e.iframeWidth};return e.iframeLoaded?r.opacity=1:e.error?(r.opacity=1,r.width=`100%`,r.height=`400px`):r.opacity=0,r}function le(e,t){return`${e}px solid ${t}`}var ue=(e,t)=>{e?.contentWindow&&e.contentWindow.location.replace(t)},de=(e,t,n)=>{let r=v();return t?.contentWindow?(t.contentWindow.postMessage({action:`exportDashboard`,format:n||`png`,_version:e.libVersion,requestId:r},`*`),new Promise((t,n)=>{e.promises[r]={resolve:t,reject:n},setTimeout(()=>{e.promises[r]&&(e.promises[r].reject(Error(`exportDashboard request timed out.`)),delete e.promises[r])},12e5)})):Promise.reject(Error(`Cannot retrieve contentWindow.`))},fe=async e=>{if(await e.updateComplete,(e.currentAuthKey??e.authKey)&&(e.currentAuthToken??e.authToken)){let t=new Promise((t,n)=>{(()=>{try{window.fetch(`${f(e.params.apiHost)}0.1.0/authorization`,{method:`POST`,mode:`cors`,cache:`no-cache`,headers:{"Content-Type":`application/json`},redirect:`follow`,body:JSON.stringify({action:`get`,version:`0.1.0`,key:e.currentAuthKey??e.authKey,token:e.currentAuthToken??e.authToken,find:{where:{id:e.authKey},attributes:[`id`,`integration_id`],include:[{model:`User`,attributes:[`id`,`name`,`locale_id`],include:[{model:`Group`}]}]}})}).then(e=>e.json()).then(e=>{!e||!e.rows||e.rows.length===0||!e.rows[0].user?n(`Authorization failed, please check authKey and authToken. If the problem persists, please contact support@luzmo.com.`):(e.rows[0].user.userGroups=e.rows[0].user.groups.map(e=>e.id),delete e.rows[0].user.groups,t({integrationId:e.rows[0].integration_id,user:e.rows[0].user}))})}catch(e){n(e)}})()});return new Promise((n,r)=>void(()=>{try{t.then(t=>{window.fetch(`${f(e.params.apiHost)}0.1.0/securable`,{method:`POST`,mode:`cors`,cache:`no-cache`,headers:{"Content-Type":`application/json`},redirect:`follow`,body:JSON.stringify({action:`get`,version:`0.1.0`,key:e.currentAuthKey??e.authKey,token:e.currentAuthToken??e.authToken,find:{where:{type:`dashboard`,is_variant:!1},attributes:[`id`,`name`,`modified_at`],order:[[`modified_at`,`desc`]],include:[{model:`Tag`,attributes:[`tag`]},{model:`User`,attributes:[`id`,`name`]},{model:`Group`,attributes:[`id`,`name`,`public`]},{model:`Integration`,attributes:[`id`,`name`]}]}})}).then(e=>e.json()).then(r=>{n(r.rows.length>0?m(r.rows,t.integrationId,t.user,e):[])})}).catch(e=>{r(e)})}catch(e){r(e)}})())}throw Error(`No authKey or authToken found in the luzmo-dashboard component.`)},pe=(e,t)=>{if(t?.contentWindow){let n=v();return t.contentWindow.postMessage({action:`getDashboardContext`,_version:e.libVersion,requestId:n},`*`),new Promise((t,r)=>{e.promises[n]={resolve:t,reject:r},setTimeout(()=>{e.promises[n]&&(e.promises[n].reject(Error(`getDashboardContext request timed out.`)),delete e.promises[n])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},me=(e,t,n)=>{if(t?.contentWindow){let r=v();return t.contentWindow.postMessage({action:`getData`,id:n,_version:e.libVersion,requestId:r},`*`),new Promise((t,n)=>{e.promises[r]={resolve:t,reject:n},setTimeout(()=>{e.promises[r]&&(e.promises[r].reject(Error(`getData request timed out.`)),delete e.promises[r])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},he=(e,t)=>{if(t?.contentWindow){let n=v();return t.contentWindow.postMessage({action:`getFilters`,_version:e.libVersion,requestId:n},`*`),new Promise((t,r)=>{e.promises[n]={resolve:t,reject:r},setTimeout(()=>{e.promises[n]&&(e.promises[n].reject(Error(`getFilters request timed out.`)),delete e.promises[n])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},ge=(e,t,n={})=>{if(!t?.contentWindow)return Promise.reject(Error(`Cannot retrieve contentWindow.`));let r=v();return t.contentWindow.postMessage({action:`getInsights`,options:n,_version:e.libVersion,requestId:r},`*`),new Promise((t,n)=>{e.promises[r]={resolve:t,reject:n},setTimeout(()=>{e.promises[r]&&(e.promises[r].reject(Error(`getInsights request timed out.`)),delete e.promises[r])},6e4)})},_e=(e,t,n)=>t?(t.contentWindow.postMessage({action:`refreshData`,id:n??null,_version:e.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),ve=(e,t)=>t?(t.contentWindow.postMessage({action:`reloadDashboard`,_version:e.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),ye=(e,t,n,r,i)=>t?(t.contentWindow.postMessage({action:`sendExportEmail`,type:n||`once`,subject:r,message:i,_version:e.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),be=(e,t,n,r)=>t?(t.contentWindow.postMessage({action:`setAuthorization`,key:n,token:r,_version:e.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),xe=(e,t,n)=>{if(t&&t.contentWindow){let r=v();return e.params.editMode===n?Promise.reject(Error(`editMode parameter is currently already set to `+n)):n!==`editFull`&&n!==`editLimited`&&n!==`view`?Promise.reject(Error(`The editMode parameter must be one of the following values: 'editFull', 'editLimited' or 'view'.`)):(t.contentWindow.postMessage({action:`setEditMode`,editMode:n,_version:e.libVersion,requestId:r},`*`),new Promise((t,n)=>{e.promises[r]={resolve:t,reject:n}}))}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},Se=(e,t,n)=>{if(t){let r=v();return t.contentWindow.postMessage({action:`setPreview`,preview:n,requestId:r,_version:e.libVersion},`*`),new Promise((t,n)=>{e.promises[r]={resolve:t,reject:n},setTimeout(()=>{e.promises[r]&&(e.promises[r].reject(Error(`setPreview request timed out.`)),delete e.promises[r])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},Ce=(e,t,n,r)=>{if(t){let i=v();return t.contentWindow.postMessage({action:`setSelectedData`,itemId:n,filters:r,_version:e.libVersion,requestId:i},`*`),new Promise((t,n)=>{e.promises[i]={resolve:t,reject:n},setTimeout(()=>{e.promises[i]&&(e.promises[i].reject(Error(`setSelectedData request timed out.`)),delete e.promises[i])},2e3)})}return Promise.reject()},we=e=>{if(!e.dimensions){e.params.error=!0,s(`Got no valid dimensions.`,e.params);return}let t=Object.keys(e.dimensions),n=[],r,i=0,a=0;if(!e.params.switchScreenModeOnResize&&e.currentScreenMode&&(e.params.screenMode=e.currentScreenMode),e.dimensions&&t?.[0]===`fixed`)r=`fixed`,i=e.dimensions.fixed[0],a=e.dimensions.fixed[1];else{let o=[`mobile`,`tablet`,`desktop`,`largeScreen`];if(e.params.itemEmbedding){let[n]=t,r=g(n);for(let n of o){let i=t.find(e=>e===n);i?r=g(i):e.dimensions[n]=e.dimensions[r]}}for(let r of t)if(o.includes(r)){let t=u.find(e=>e.mode===r);n.push({...t,height:e.dimensions[r][1]||50})}if(n.map(e=>e.mode).includes(e.params.screenMode)||(e.params.screenMode=`auto`),e.params.screenMode===`auto`){n.sort((e,t)=>o.indexOf(e.mode)-o.indexOf(t.mode));for(let t of n){let[n,o]=t.width;e.params.itemEmbedding&&e.params.itemDimensions&&e.params.itemDimensions.width!==`auto`&&e.params.itemDimensions.height===`auto`?n<e.params.itemDimensions.width&&(r=t.mode,i=Number.parseInt(e.params.itemDimensions.width,10),a=e.dimensions[r][1]):n<e.containerWidth&&(r=t.mode,e.params.itemEmbedding?(i=e.params.itemDimensions?.width&&e.params.itemDimensions?.width!==`auto`?Number.parseInt(e.params.itemDimensions.width,10):Math.min(e.containerWidth,o),a=e.params.itemDimensions?.height&&e.params.itemDimensions?.height!==`auto`?Number.parseInt(e.params.itemDimensions.height,10):e.dimensions[r][1],e.params.itemDimensions&&e.params.itemDimensions.width!==`auto`&&e.params.itemDimensions.height===`auto`&&(i=Number.parseInt(e.params.itemDimensions.width,10),a=e.dimensions[r][1])):(i=Math.max(Math.min(o,e.containerWidth),n),a=t.height))}}else{let{height:t,width:[o,s]}=n.find(t=>t.mode===e.params.screenMode);r=e.params.screenMode,i=Math.max(Math.min(s,e.containerWidth),o),a=t,e.params.itemEmbedding&&(e.params.itemDimensions?.width&&e.params.itemDimensions?.width!==`auto`&&(i=Number.parseInt(e.params.itemDimensions.width,10)),e.params.itemDimensions?.height&&e.params.itemDimensions?.height!==`auto`&&(a=Number.parseInt(e.params.itemDimensions.height,10)))}if(!r&&n.length>0){let[e]=n;r=e.mode,i=e.width[0],a=e.height}}e.currentScreenMode=r;let o={height:a===0?`100%`:`${String(a)}px`,width:i===0?`100%`:`${String(i)}px`,opacity:1};[`editFull`,`editLimited`].includes(e.params.editMode)?(o.height=`100%`,o.width=`100%`):e.params.itemEmbedding&&e.params.itemDimensions?(o.height=e.params.itemDimensions.height===`auto`?o.height:`${String(e.params.itemDimensions.height).replace(`px`,``)}px`,o.width=e.params.itemDimensions.width===`auto`?o.width:`${String(e.params.itemDimensions.width).replace(`px`,``)}px`):(o.height=a===0?`100%`:`${String(a)}px`,o.width=i===0?`100%`:`${String(i)}px`),e.currentScreenMode=r,e.iframeStyle=o},Te=e=>{let t=Object.keys(l),n=[],r=[`appServer`,`language`,`apiHost`],i=[`key`,`token`,`screenMode`,`timezoneId`,`itemId`,`container`,`loaderBackground`,`loaderFontColor`,`loaderSpinnerColor`,`loaderSpinnerBackground`],a=[`itemDimensions`],o=[`mobile`,`tablet`,`desktop`,`largeScreen`,`fixed`,`auto`];for(let n of t)e.params[n]===null&&delete e.params[n];e.params=ee(e.params,l),(!e.params.dashboardId||typeof e.params.dashboardId!=`string`)&&(!e.params.dashboardSlug||typeof e.params.dashboardSlug!=`string`)&&(delete e.params.dashboardId,delete e.params.dashboardSlug);for(let t of r)typeof e.params[t]!=`string`&&(delete e.params[t],n.push(`${t} needs to be of type string.`));for(let t of i)typeof e.params[t]!=`string`&&e.params[t]!==null&&e.params[t]!==void 0&&(delete e.params[t],n.push(`${t} needs to be of type string or empty.`));if(e.params.screenMode&&!o.includes(e.params.screenMode)){let t=o.map(e=>`"${e}"`).join(`, `);n.push(`"screenMode" needs should be one of these types: ${t}`),e.params.screenMode=`auto`}e.params.itemId&&(e.params.itemEmbedding=!0);for(let t of a)typeof e.params[t]!=`object`&&e.params[t]!==null&&(delete e.params[t],n.push(`${t} needs to be of type object or empty.`));if(typeof e.params.switchScreenModeOnResize!=`boolean`&&(n.push(`switchScreenModeOnResize needs to be of type boolean.`),e.params.switchScreenModeOnResize=!0),e.params.itemDimensions)for(let t of[`width`,`height`])![`string`,`number`].includes(typeof e.params.itemDimensions[t])&&e.params.itemDimensions[t]!==null&&n.push(`itemDimensions ${t} needs to be of type string, number or empty.`);e.params=ee(e.params,l),e.params.screenMode&&e.params.screenMode!==`auto`&&(e.params.switchScreenModeOnResize=!1),e.params.itemDimensions.width!==`auto`&&(e.params.itemDimensions.width=Number.parseInt(`${e.params.itemDimensions.width}`.replace(`px`,``),10)||`auto`),e.params.itemDimensions.height!==`auto`&&(e.params.itemDimensions.height=Number.parseInt(`${e.params.itemDimensions.height}`.replace(`px`,``),10)||`auto`),e.params.itemEmbedding=!!e.params.itemId,(e.params.error||n.length>0)&&s(n.join(`
5
5
  `),e.params)},Ee={type:`type`,slots:`slots`,options:`options`,appServer:`app-server`,apiHost:`api-host`,authKey:`auth-key`,authToken:`auth-token`,contextId:`context-id`,canFilter:`can-filter`,filters:`filters`,dashboardId:`dashboard-id`,itemId:`item-id`,aiMessageAssetId:`ai-message-asset-id`,dashboardContentsVersion:`dashboard-contents-version`,libVersion:`lib-version`},De=`luzmo-embed-container`,Oe=`FEDERATION_DEBUG`,x={AT:`@`,HYPHEN:`-`,SLASH:`/`},ke={[x.AT]:`scope_`,[x.HYPHEN]:`_`,[x.SLASH]:`__`};ke[x.AT],x.AT,ke[x.HYPHEN],x.HYPHEN,ke[x.SLASH],x.SLASH;var Ae=function(e){return e[e.UNKNOWN=1]=`UNKNOWN`,e[e.CALCULATED=2]=`CALCULATED`,e[e.NO_USE=0]=`NO_USE`,e}({}),S=typeof ENV_TARGET<`u`?ENV_TARGET===`web`:typeof window<`u`&&window.document!==void 0;function je(){return S}function Me(){return typeof navigator<`u`&&navigator?.product===`ReactNative`}function Ne(){try{if(je()&&window.localStorage)return!!localStorage.getItem(Oe)}catch{return!1}return!1}function Pe(){return typeof process<`u`&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:typeof FEDERATION_DEBUG<`u`&&FEDERATION_DEBUG?!0:Ne()}var Fe=`[ Federation Runtime ]`,Ie=function(...e){return e.length?e.reduce((e,t)=>t?e?`${e}:${t}`:t:e,``):``};function Le(e,t){if(`getPublicPath`in e){let n;return n=e.getPublicPath.startsWith(`function`)?Function(`return `+e.getPublicPath)()():Function(e.getPublicPath)(),`${n}${t}`}else if(`publicPath`in e)return!je()&&!Me()&&`ssrPublicPath`in e&&typeof e.ssrPublicPath==`string`?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`;else return console.warn(`Cannot get resource URL. If in debug mode, please ignore.`,e,t),``}var Re=e=>{console.warn(`${Fe}: ${e}`)};function ze(e){try{return JSON.stringify(e,null,2)}catch{return``}}var Be=(e,t)=>{if(!e)return t;let n=(e=>{if(e===`.`)return``;if(e.startsWith(`./`))return e.replace(`./`,``);if(e.startsWith(`/`)){let t=e.slice(1);return t.endsWith(`/`)?t.slice(0,-1):t}return e})(e);return n?n.endsWith(`/`)?`${n}${t}`:`${n}/${t}`:t};function Ve(e){return e.replace(/#.*$/,``).replace(/\?.*$/,``).replace(/\/[^\/]+$/,`/`)}function He(e,t={}){let{remotes:n={},overrides:r={},version:i}=t,a,o=()=>`publicPath`in e.metaData?(e.metaData.publicPath===`auto`||e.metaData.publicPath===``)&&i?Ve(i):e.metaData.publicPath:e.metaData.getPublicPath,s=Object.keys(r),c={};Object.keys(n).length||(c=e.remotes?.reduce((e,t)=>{let n,i=t.federationContainerName;return n=s.includes(i)?r[i]:`version`in t?t.version:t.entry,e[i]={matchedVersion:n},e},{})||{}),Object.keys(n).forEach(e=>c[e]={matchedVersion:s.includes(e)?r[e]:n[e]});let{remoteEntry:{path:l,name:u,type:d},types:f={path:``,name:``,zip:``,api:``},buildInfo:{buildVersion:p},globalName:m,ssrRemoteEntry:h}=e.metaData,{exposes:g}=e,_={version:i||``,buildVersion:p,globalName:m,remoteEntry:Be(l,u),remoteEntryType:d,remoteTypes:Be(f.path,f.name),remoteTypesZip:f.zip||``,remoteTypesAPI:f.api||``,remotesInfo:c,shared:e?.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version,usedExports:e.referenceExports||[]})),modules:g?.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(`publicPath`in e.metaData?(a={..._,publicPath:o()},typeof e.metaData.ssrPublicPath==`string`&&(a.ssrPublicPath=e.metaData.ssrPublicPath)):a={..._,getPublicPath:o()},h){let e=Be(h.path,h.name);a.ssrRemoteEntry=e,a.ssrRemoteEntryType=h.type||`commonjs-module`}return a}function Ue(e){return!!(`remoteEntry`in e&&e.remoteEntry.includes(`.json`))}var We=`[ Module Federation ]`,Ge=console,Ke=[`logger.ts`,`logger.js`,`captureStackTrace`,`Logger.emit`,`Logger.log`,`Logger.info`,`Logger.warn`,`Logger.error`,`Logger.debug`];function qe(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split(`
@@ -1,5 +1,5 @@
1
1
 
2
- import{n as e,t}from"./localized-mixin-YSDMfLKU.js";import{n,r}from"./lit-localize-CIGP-NUw.js";import{t as i}from"./localized-decorator-Buib6Rq1.js";import{t as a}from"./luzmoTrashOutline-DXZpJx7f.js";import{n as o,r as s,t as c}from"./calculate-data-field-icon-CrEVAfzJ.js";import{t as l}from"./luzmoPlus-Dyrrz0v8.js";import{t as u}from"./luzmo-icon-markup-JO3eup7O.js";import{t as d}from"./v4-CI0qP0ur.js";import{c as f}from"./type-check-CC6bgirK.js";import{t as p}from"./localize-BXHWaHdZ.js";import{n as m}from"./periods.const-Cie50jR4.js";import{t as h}from"./data-broker-CbKNAOhf.js";import"./load-data-fields-for-datasets-fBp1YEFi.js";import{html as g,ifDefined as ee,nothing as _,property as v,query as te,repeat as ne,state as y,unsafeCSS as b}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/icon.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/number-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/overlay.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/popover.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/progress-circle.js";import{ElementSizes as x,LuzmoElement as S,SizedMixin as C}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/utils.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/tooltip.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/menu.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/badge.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/select.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/divider.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/options.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/tags.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/text-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.0/standalone/date-time-picker.js";var w=[``,``,``],re=`⁣`;function T(e,t){let n=RegExp(`(${w.join(`|`)})`,`u`),r=[];for(let i of e.replaceAll(re,``).split(n)){let e=w.indexOf(i);e===-1?i&&r.push(i):r.push(t[e])}return r}var E=()=>[{id:`? = ?`,key:`? = ?`,expression:`? = ?`,name:n(`equals`,{desc:`Filter expression for equals comparison`}),description:n(`equals`,{desc:`Filter expression for equals comparison`}),tiny:n(`eq`,{desc:`Short form of equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? != ?`,key:`? != ?`,expression:`? != ?`,name:n(`not equals`,{desc:`Filter expression for not equals comparison`}),description:n(`not equals`,{desc:`Filter expression for not equals comparison`}),tiny:n(`not eq`,{desc:`Short form of not equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? in ?`,key:`? in ?`,expression:`? in ?`,name:n(`is in`,{desc:`Filter expression for in comparison`}),description:n(`is in`,{desc:`Filter expression for in comparison`}),tiny:n(`is in`,{desc:`Filter expression for in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? not in ?`,key:`? not in ?`,expression:`? not in ?`,name:n(`is not in`,{desc:`Filter expression for not in comparison`}),description:n(`is not in`,{desc:`Filter expression for not in comparison`}),tiny:n(`is not in`,{desc:`Filter expression for not in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? like ?`,key:`? like ?`,expression:`? like ?`,name:n(`contains`,{desc:`Filter expression for contains comparison`}),description:n(`contains`,{desc:`Filter expression for contains comparison`}),tiny:n(`cont`,{desc:`Short form of contains comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not like ?`,key:`? not like ?`,expression:`? not like ?`,name:n(`does not contain`,{desc:`Filter expression for does not contain comparison`}),description:n(`does not contain`,{desc:`Filter expression for does not contain comparison`}),tiny:n(`not cont`,{desc:`Short form of does not contain comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? starts with ?`,key:`? starts with ?`,expression:`? starts with ?`,name:n(`starts with`,{desc:`Filter expression for starts with comparison`}),description:n(`starts with`,{desc:`Filter expression for starts with comparison`}),tiny:n(`starts with`,{desc:`Filter expression for starts with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not starts with ?`,key:`? not starts with ?`,expression:`? not starts with ?`,name:n(`does not start with`,{desc:`Filter expression for does not start with comparison`}),description:n(`does not start with`,{desc:`Filter expression for does not start with comparison`}),tiny:n(`not starts with`,{desc:`Short form of does not start with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? ends with ?`,key:`? ends with ?`,expression:`? ends with ?`,name:n(`ends with`,{desc:`Filter expression for ends with comparison`}),description:n(`ends with`,{desc:`Filter expression for ends with comparison`}),tiny:n(`ends with`,{desc:`Filter expression for ends with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not ends with ?`,key:`? not ends with ?`,expression:`? not ends with ?`,name:n(`does not end with`,{desc:`Filter expression for does not end with comparison`}),description:n(`does not end with`,{desc:`Filter expression for does not end with comparison`}),tiny:n(`not ends with`,{desc:`Short form of does not end with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? < ?`,key:`? < ?`,expression:`? < ?`,name:n(`less than`,{desc:`Filter expression for less than comparison`}),description:n(`less than`,{desc:`Filter expression for less than comparison`}),tiny:`<`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? <= ?`,key:`? <= ?`,expression:`? <= ?`,name:n(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),description:n(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),tiny:`<=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? > ?`,key:`? > ?`,expression:`? > ?`,name:n(`greater than`,{desc:`Filter expression for greater than comparison`}),description:n(`greater than`,{desc:`Filter expression for greater than comparison`}),tiny:`>`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? >= ?`,key:`? >= ?`,expression:`? >= ?`,name:n(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),description:n(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),tiny:`>=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? between ?`,key:`? between ?`,expression:`? between ?`,name:n(`is between`,{desc:`Filter expression for between comparison`}),description:n(`is between`,{desc:`Filter expression for between comparison`}),tiny:n(`between`,{desc:`Short form of between comparison in filter expression`}),type:[],subtype:[`ip_address`]},{id:`last_now`,key:`last_now`,expression:`last_now`,name:n(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),description:n(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),tiny:n(`last`,{desc:`Short form of last (x) periods in filter expression`}),type:[`datetime`]},{id:`last_available`,key:`last_available`,expression:`last_available`,name:n(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),description:n(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),tiny:n(`last available`,{desc:`Short form of last (x) available periods in filter expression`}),type:[`datetime`]},{id:`last_completed`,key:`last_completed`,expression:`last_completed`,name:n(`last completed period`,{desc:`Filter expression for last completed period`}),description:n(`last completed (period)`,{desc:`Filter expression for last completed period`}),tiny:n(`last completed`,{desc:`Short form of last completed period in filter expression`}),type:[`datetime`]},{id:`next_now`,key:`next_now`,expression:`next_now`,name:n(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),description:n(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),tiny:n(`next`,{desc:`Short form of next (x) periods in filter expression`}),type:[`datetime`]},{id:`more_than_ago`,key:`more_than_ago`,expression:`more_than_ago`,name:n(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),description:n(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),tiny:n(`more than ago`,{desc:`Short form of more than (x) periods ago in filter expression`}),type:[`datetime`]},{id:`or_more_ago`,key:`or_more_ago`,expression:`or_more_ago`,name:n(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),description:n(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),tiny:n(`or more ago`,{desc:`Short form of (x) periods or more ago in filter expression`}),type:[`datetime`]},{id:`next_full`,key:`next_full`,expression:`next_full`,name:n(`next full (period)`,{desc:`Filter expression for next full period`}),description:n(`next full (period)`,{desc:`Filter expression for next full period`}),tiny:n(`next full`,{desc:`Short form of next full period in filter expression`}),type:[`datetime`]},{id:`WTD`,key:`to_date`,expression:`to_date`,unit:4,name:n(`week to date`,{desc:`Filter expression for week to date`}),description:n(`week to date`,{desc:`Filter expression for week to date`}),tiny:n(`WTD`,{desc:`Short form of week to date in filter expression`}),type:[`datetime`]},{id:`MTD`,key:`to_date`,expression:`to_date`,unit:3,name:n(`month to date`,{desc:`Filter expression for month to date`}),description:n(`month to date`,{desc:`Filter expression for month to date`}),tiny:n(`MTD`,{desc:`Short form of month to date in filter expression`}),type:[`datetime`]},{id:`QTD`,key:`to_date`,expression:`to_date`,unit:2,name:n(`quarter to date`,{desc:`Filter expression for quarter to date`}),description:n(`quarter to date`,{desc:`Filter expression for quarter to date`}),tiny:n(`QTD`,{desc:`Short form of quarter to date in filter expression`}),type:[`datetime`]},{id:`YTD`,key:`to_date`,expression:`to_date`,unit:1,name:n(`year to date`,{desc:`Filter expression for year to date`}),description:n(`year to date`,{desc:`Filter expression for year to date`}),tiny:n(`YTD`,{desc:`Short form of year to date in filter expression`}),type:[`datetime`]},{id:`? is null`,key:`? is null`,expression:`? is null`,name:n(`is missing`,{desc:`Filter expression for is missing`}),description:n(`is missing`,{desc:`Filter expression for is missing`}),tiny:n(`missing`,{desc:`Short form of is missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]},{id:`? is not null`,key:`? is not null`,expression:`? is not null`,name:n(`is not missing`,{desc:`Filter expression for is not missing`}),description:n(`is not missing`,{desc:`Filter expression for is not missing`}),tiny:n(`not missing`,{desc:`Short form of is not missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]}],ie=(e,t,n)=>{let r=new Set([`? in ?`,`? not in ?`]);return!e&&!t?E():E().filter(i=>(e&&i.type.includes(e)||t&&i.subtype?.includes(t))&&!(n&&r.has(i.key)))},ae=new Set([`last_now`,`last_available`,`next_now`,`more_than_ago`,`or_more_ago`]),oe=new Set([`last_completed`,`next_full`]),se=new Set([`? is null`,`? is not null`,`to_date`]),ce=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),le=3,ue=32;function D(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function O(e){return D(e)?typeof e.columnId==`string`||typeof e.column_id==`string`||typeof e.formulaId==`string`||typeof e.formula_id==`string`||typeof e.formula==`string`||(typeof e.datasetId==`string`||typeof e.dataset_id==`string`)&&(e.columnExpression!==void 0||e.expression!==void 0):!1}function de(e){return e.length<=ue?{display:e,truncated:!1}:{display:`${e.slice(0,ue-1)}…`,truncated:!0}}function fe(e,t,n){try{return new Intl.ListFormat(e||void 0,{style:`long`,type:n}).format(t)}catch{return t.join(`, `)}}function k(e,t,n){let r=Ee(e,t,n),{display:i,truncated:a}=de(r);return{label:i,full:r,truncated:a}}function pe(e){return e===1?n(`1 item`,{desc:`One selected hierarchy value whose name is still loading`}):n(r`${e} items`,{desc:`Selected hierarchy values whose names are still loading`})}function me(){return n(`Some item names could not be retrieved`,{desc:`Tooltip when a hierarchy filter value is still an id after name lookup`})}function he(e,t){return!!(t?.type===`hierarchy`&&t.datasetId&&t.fieldId&&!(D(e)&&e.name!==void 0)&&j(e))}function ge(e,t,n){let r=n?.datasetId,i=n?.fieldId;return!r||!i?[]:e.flatMap(e=>{if(!he(e,n))return[];let a=j(e);return a?t.hierarchyLabels?.get(Te(r,i,a))?[]:[a]:[]})}function _e(e,t,n){return n.hierarchyLabelsLoading&&t.length>0?{valueText:pe(t.length),valuePending:!0}:n.hierarchyLabels&&!n.hierarchyLabelsLoading&&t.length>0&&!e.valueTooltip?{...e,valueTooltip:me()}:e}function ve(e,t,i){let a=e.map(e=>k(e,t,i)),o=a.map(e=>e.full),s=fe(t.contentLanguage,o,`conjunction`);if(e.length===1){let[e]=a;return{valueText:e.label,valueTooltip:e.truncated?e.full:void 0}}let c=Math.min(le,a.length),l=a.length-c,u=a.slice(0,c).map(e=>e.label),d=a.some(e=>e.truncated),f;return f=l>0?n(r`${fe(t.contentLanguage,u,`unit`)}, and ${l} more`,{desc:`Filter values after the first few shown in a read-only sentence, e.g. "Dresses, Shoes, Shorts, and 1 more"`}):fe(t.contentLanguage,a.map(e=>e.label),`conjunction`),{valueText:f,valueTooltip:l>0||d?s:void 0}}function A(e,t,n){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`){let t=String(e);return t.length>0?t:n}if(e&&typeof e==`object`){let n=p(e,t);if(n)return n}return n}function ye(e,t){for(let n of t){let t=e[n];if(typeof t==`string`&&t.length>0)return t}}function be(e,t){let n=ye(e,[`datasetId`,`dataset_id`]),r=ye(e,[`columnId`,`column_id`]),i=ye(e,[`formulaId`,`formula_id`]),a=typeof e.formula==`string`?e.formula:void 0,o=t.datasets.find(e=>e.id===n),s=o?A(o.name,t.contentLanguage,``):``;if(i){let e=o?.formulas?.find(e=>e.id===i),r=A(e?.name,t.contentLanguage,i);return{label:r,tooltip:s?`${s} · ${r}`:r,type:e?.type,subtype:e?.subtype,formula:!0,datasetId:n,fieldId:i}}if(a)return{label:a,tooltip:s?`${s} · ${a}`:a,formula:!0,datasetId:n};let c=!r&&typeof e.expression==`string`?e.expression:void 0;if(c)return{label:c,tooltip:s?`${s} · ${c}`:c,formula:!0,datasetId:n};let l=r?o?.columns?.find(e=>e.id===r):void 0,u=r??(typeof e.columnExpression==`string`?e.columnExpression:``),d=A(l?.name,t.contentLanguage,u);return{label:d,tooltip:s?`${s} · ${d}`:d,type:l?.type,subtype:l?.subtype,formula:!1,datasetId:n,fieldId:r}}function xe(e){let t=m.find(t=>t.level===e);return t?t.i18n():``}function Se(e,t){switch(t){case 1:return e===1?n(r`${e} Year`,{desc:`Singular relative filter quantity in years`}):n(r`${e} Years`,{desc:`Plural relative filter quantity in years`});case 2:return e===1?n(r`${e} Quarter`,{desc:`Singular relative filter quantity in quarters`}):n(r`${e} Quarters`,{desc:`Plural relative filter quantity in quarters`});case 3:return e===1?n(r`${e} Month`,{desc:`Singular relative filter quantity in months`}):n(r`${e} Months`,{desc:`Plural relative filter quantity in months`});case 4:return e===1?n(r`${e} Week`,{desc:`Singular relative filter quantity in weeks`}):n(r`${e} Weeks`,{desc:`Plural relative filter quantity in weeks`});case 5:return e===1?n(r`${e} Day`,{desc:`Singular relative filter quantity in days`}):n(r`${e} Days`,{desc:`Plural relative filter quantity in days`});case 6:return e===1?n(r`${e} Hour`,{desc:`Singular relative filter quantity in hours`}):n(r`${e} Hours`,{desc:`Plural relative filter quantity in hours`});case 7:return e===1?n(r`${e} Minute`,{desc:`Singular relative filter quantity in minutes`}):n(r`${e} Minutes`,{desc:`Plural relative filter quantity in minutes`});case 8:return e===1?n(r`${e} Second`,{desc:`Singular relative filter quantity in seconds`}):n(r`${e} Seconds`,{desc:`Plural relative filter quantity in seconds`});case 9:return e===1?n(r`${e} Millisecond`,{desc:`Singular relative filter quantity in milliseconds`}):n(r`${e} Milliseconds`,{desc:`Plural relative filter quantity in milliseconds`});default:return n(r`${e}`,{desc:`Relative filter quantity`})}}function Ce(e,t){let n=new Date(e);if(Number.isNaN(n.getTime()))return e;try{return new Intl.DateTimeFormat(t.contentLanguage||void 0,{dateStyle:`medium`,timeStyle:`short`,...t.timeZone?{timeZone:t.timeZone}:{}}).format(n)}catch{return e}}function we(e){return/^\d{4}-\d{2}-\d{2}(?:T|$)/.test(e)}function Te(e,t,n){return`${e}:${t}:${n}`}function j(e){if(typeof e==`string`||typeof e==`number`)return String(e);if(D(e)&&(typeof e.id==`string`||typeof e.id==`number`))return String(e.id)}function Ee(e,t,n){if(n?.type===`hierarchy`&&n.datasetId&&n.fieldId&&!(D(e)&&e.name!==void 0)){let r=j(e),i=r===void 0?void 0:t.hierarchyLabels?.get(Te(n.datasetId,n.fieldId,r));if(i)return i}if(typeof e==`number`&&Number.isFinite(e))return new Intl.NumberFormat(t.contentLanguage||void 0).format(e);if(typeof e==`string`)return we(e)?Ce(e,t):e;if(typeof e==`boolean`)return String(e);if(D(e)){if(typeof e.parameter==`string`)return e.parameter;if(e.name!==void 0){let n=A(e.name,t.contentLanguage,``);if(n)return n}if(typeof e.id==`string`||typeof e.id==`number`)return String(e.id)}return``}function De(e,t){let n=E().filter(t=>t.expression===e),r=D(t)&&typeof t.unit==`number`?t.unit:void 0;return(e===`to_date`&&r!==void 0?n.find(e=>e.unit===r)??n[0]:n[0])?.tiny??e}function Oe(e,t,i,a){if(se.has(e)||t==null)return{valueText:``};if(D(t)&&typeof t.parameter==`string`){let e=t.parameter;if(!O(t))return{valueText:e}}if(ce.has(e)&&O(t))return{valueText:``,valueField:be(t,i)};if(e===`? between ?`&&Array.isArray(t)&&t.length===2){let e=k(t[0],i,a),o=k(t[1],i,a);return _e({valueText:n(r`${e.label} and ${o.label}`,{desc:`Inclusive range shown between two filter values`}),valueTooltip:e.truncated||o.truncated?n(r`${e.full} and ${o.full}`,{id:`filter-range-tooltip`,desc:`Full inclusive range shown in a tooltip`}):void 0},ge(t,i,a),i)}if(ae.has(e)&&D(t))return{valueText:Se(typeof t.quantity==`number`?t.quantity:1,t.unit)};if(oe.has(e)&&D(t))return{valueText:xe(t.unit)};if(Array.isArray(t))return t.length===0?{valueText:``}:_e(ve(t,i,a),ge(t,i,a),i);let o=k(t,i,a);return _e({valueText:o.label,valueTooltip:o.truncated?o.full:void 0},ge([t],i,a),i)}function ke(e,t){let n=e.parameters?.[0];if(!D(n)||!O(n))return null;let r=be(n,t),i=typeof e.expression==`string`?e.expression:``,a=e.parameters?.[1];return{field:r,expression:i?De(i,a):``,...Oe(i,a,t,r)}}function Ae(e){return`condition`in e&&`filters`in e}function je(e){if(e==null)return[];if(Array.isArray(e))return e.flatMap(je);if(D(e)){if(typeof e.parameter==`string`||e.name!==void 0||O(e))return[];let t=j(e);return t?[t]:[]}let t=j(e);return t?[t]:[]}function Me(e,t){let n=new Map,r=e=>{if(Ae(e)){e.filters.forEach(r);return}let i=e.parameters?.[0];if(!D(i)||!O(i))return;let a=be(i,t);if(a.type!==`hierarchy`||!a.datasetId||!a.fieldId)return;let o=[...new Set(je(e.parameters?.[1]))];if(o.length===0)return;let s=`${a.datasetId}:${a.fieldId}`,c=n.get(s);if(c){c.ids=[...new Set([...c.ids,...o])];return}n.set(s,{datasetId:a.datasetId,...a.formula?{formulaId:a.fieldId}:{columnId:a.fieldId},ids:o})};return r(e),[...n.values()]}async function Ne(e,t){let n=new Map;return await Promise.all(e.map(async e=>{let r={dataset_id:e.datasetId,column_id:e.columnId,formula_id:e.formulaId},i=await h.fetchData({dimensions:[r],where:[{expression:`? in ?`,parameters:[r,e.ids]}],limit:{by:e.ids.length,offset:0}}),a=e.columnId??e.formulaId??``;for(let r of i.data??[]){let i=r[0],o=i&&typeof i==`object`&&`id`in i?String(i.id):String(i),s=i&&typeof i==`object`&&`name`in i?p(i.name,t):``;s&&n.set(Te(e.datasetId,a,o),s)}})),n}var Pe=20,M=class extends Error{constructor(e){super(e),this.name=`FilterUnrepresentableError`}},Fe=new Set([`and`,`or`]),Ie=[`datasetId`,`dataset_id`,`columnId`,`column_id`,`formulaId`,`formula_id`,`formula`,`columnExpression`,`value`,`ignoredItemIds`];function N(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function P(e){return!N(e)||e.condition!==void 0&&(typeof e.condition!=`string`||!Fe.has(e.condition.toLowerCase()))?!1:`filters`in e||`subGroups`in e}function F(e){return N(e)&&`expression`in e&&!(`condition`in e)}function I(e){return Ie.some(t=>t in e)}function Le(e,t=!1){let n=[e.columnId!==void 0||e.column_id!==void 0,e.formulaId!==void 0||e.formula_id!==void 0,e.formula!==void 0].filter(Boolean).length;return n===1?!0:n>1?!1:e.columnExpression!==void 0||t&&e.expression!==void 0}function Re(e){return!F(e)||typeof e.expression!=`string`||e.expression.length===0||`parameters`in e||typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?!1:Le(e)}function ze(e){return!F(e)||!Array.isArray(e.parameters)?!1:!I(e)}function Be(e){if(!(`parameters`in e))return;let t=Ie.find(t=>t in e);if(t!==void 0)throw new M(`Filter leaf mixes "parameters" with the clean inline key "${t}".`)}function Ve(e){throw typeof e.expression!=`string`||e.expression.length===0?new M(`Clean filter leaf is missing a non-empty "expression".`):typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?new M(`Clean filter leaf "${e.expression}" is missing a "datasetId".`):new M(`Clean filter leaf "${e.expression}" must name exactly one of "columnId", "formulaId", "formula", or "columnExpression".`)}function He(e){return e===`where`||e===`having`}function L(e){if(e>20)throw new M(`Filter nesting exceeds the maximum depth of 20.`)}function Ue(e){if(e==null)return`empty`;if(!Array.isArray(e))return`unknown`;if(e.length===0)return`empty`;let t=!1,n=!1,r=!1,i=(e,a)=>{if(a>20){r=!0;return}if(P(e)){He(e.clause)&&(n=!0);let t=[...Array.isArray(e.filters)?e.filters:[],...Array.isArray(e.subGroups)?e.subGroups:[]];for(let e of t)i(e,a+1);return}if(F(e)){`parameters`in e&&I(e)?r=!0:Re(e)?n=!0:ze(e)?t=!0:r=!0;return}r=!0};for(let t of e)i(t,1);return r?`unknown`:n&&t?`mixed`:n?`clean`:t?`canonical`:`empty`}var We=new Set([`? is null`,`? is not null`]),Ge=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),Ke=new Set([`? in ?`,`? not in ?`,`? between ?`]),qe={"array[numeric]":`numeric[]`,"array[hierarchy]":`hierarchy[]`,"array[datetime]":`datetime[]`},Je=new Set([`level`,`lowestLevel`,`unnest`,`discretization`,`aggregation`,`index`,`include_nonoccurring`,`simplification`]);function R(e,t){return e!==`lowestLevel`&&!(t===null&&Je.has(e))}function z(e){return structuredClone(e)}function Ye(e){let t=e.datasetId??e.dataset_id;if(typeof t!=`string`||t.length===0)throw new M(`Filter reference is missing a "datasetId".`);return t}function Xe(e){return N(e)?typeof e.columnId==`string`||typeof e.column_id==`string`||typeof e.formulaId==`string`||typeof e.formula_id==`string`||typeof e.formula==`string`||(typeof e.datasetId==`string`||typeof e.dataset_id==`string`)&&(e.columnExpression!==void 0||e.expression!==void 0):!1}function Ze(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>it(e))),t}function Qe(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&R(`level`,e.level)&&(t.level=e.level),N(e.discretization)&&(t.discretization=Ze(e.discretization)),e.unnest!==void 0&&R(`unnest`,e.unnest)&&(t.unnest=e.unnest),t}function $e(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>N(e)?rt(e):e)),t}function et(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&(t.level=e.level),N(e.discretization)&&(t.discretization=$e(e.discretization)),e.unnest!==void 0&&(t.unnest=e.unnest),t}function tt(e,t){e.level!==void 0&&(t.level=z(e.level)),N(e.discretization)&&(t.discretization=$e(e.discretization)),N(e.aggregation)&&(t.aggregation=et(e.aggregation)),e.unnest!==void 0&&(t.unnest=z(e.unnest))}function nt(e,t){let n=e.columnId??e.column_id;if(n!==void 0)return{kind:`columnId`,value:n};let r=e.formulaId??e.formula_id;if(r!==void 0)return{kind:`formulaId`,value:r};if(e.formula!==void 0)return{kind:`formula`,value:e.formula};let i=e.columnExpression??(t?e.expression:void 0);if(i!==void 0)return{kind:`expression`,value:i}}function rt(e,t=!0){let n={datasetId:Ye(e)},r=nt(e,t);return r!==void 0&&(r.kind===`expression`?n.expression=r.value:n[r.kind]=r.value),tt(e,n),n}function it(e){if(!N(e))throw new M(`Cannot emit a clean filter reference.`);let t={datasetId:Ye(e)};e.level!==void 0&&R(`level`,e.level)&&(t.level=e.level),N(e.discretization)&&(t.discretization=Ze(e.discretization)),N(e.aggregation)&&(t.aggregation=Qe(e.aggregation)),e.unnest!==void 0&&R(`unnest`,e.unnest)&&(t.unnest=e.unnest);let n=nt(e,!0);if(n===void 0)throw new M(`Cannot emit a clean filter reference: no column, formula, or expression.`);return n.kind===`expression`?t.columnExpression=n.value:t[n.kind]=n.value,t}function at(e){if(!N(e)||typeof e.parameter!=`string`||typeof e.type!=`string`)return e;let t=qe[e.type];return t===void 0?e:{...e,type:t}}function ot(e,t){return N(t)&&typeof t.parameter==`string`?!0:Array.isArray(t)?e!==`? between ?`||t.length===2:!1}function st(e,t){let n=e.expression,r=[rt(e,!1)];if(!We.has(n)&&e.value!==void 0){let t=Ge.has(n)&&Xe(e.value);r.push(t?rt(e.value):z(e.value))}let i={};typeof e.id==`string`&&(i.id=e.id),`ignoredItemIds`in e&&(i.ignore=z(e.ignoredItemIds)),t!==void 0&&(i.type=t);let a={expression:n,parameters:r};return Object.keys(i).length>0&&(a.properties=i),a}function ct(e){let{expression:t}=e;if(typeof t!=`string`||t.length===0)return null;let n=Array.isArray(e.parameters)?e.parameters:[];if(!N(n[0]))throw new M(`Cannot emit a clean filter reference for "${t}".`);let r={...it(n[0]),expression:t};if(!We.has(t)){let e=n[1];if(e===void 0)throw new M(`Filter "${t}" is missing its value operand.`);if(r.value=Xe(e)&&Ge.has(t)?it(e):at(z(e)),Ke.has(t)&&!ot(t,r.value))throw new M(`Cannot emit an invalid clean filter value for "${t}".`)}let{properties:i}=e;return i?.id!==void 0&&(r.id=i.id),i!==void 0&&`ignore`in i&&(r.ignoredItemIds=z(i.ignore)),r}function lt(e){return P(e)}function ut(e){return Array.isArray(e.filters)?e.filters:[]}function dt(e,t){return e.properties?.type===`having`||e.properties?.type===`where`?e.properties.type:t??`where`}function B(e,t,n=1,r=new Set){L(n);let i=e.clause??t;for(let t of ut(e))lt(t)?B(t,i,n+1,r):typeof t.expression==`string`&&t.expression.length>0&&r.add(dt(t,i));return r}function ft(e,t,n=1){L(n);let r=e.clause??t;if(e.condition===`or`&&B(e,r,n).size>1)throw new M(`An "or" group mixes "where" and "having" filters, which clean output cannot represent.`);for(let t of ut(e))lt(t)&&ft(t,r,n+1)}function pt(e,t,n,r=1){L(r);let i=e.clause??n,a=[];for(let n of ut(e)){if(lt(n)){let e=pt(n,t,i,r+1);e.filters.length>0&&a.push(e);continue}if(dt(n,i)!==t)continue;let e=ct(n);e&&a.push(e)}let o={condition:e.condition===`or`?`or`:`and`,filters:a};return e.id!==void 0&&B(e,i,r).size<=1&&(o.id=e.id),o}function mt(e){let t=e.clause;ft(e,t);let n=B(e,t);return n.size===0&&n.add(t??`where`),[`where`,`having`].filter(e=>n.has(e)).map(n=>({...pt(e,n,t),clause:n})).filter(e=>e.filters.length>0)}var ht=[`origin`,`datasetId`,`vizId`,`itemId`,`isDrilldown`,`type`];function gt(e){return typeof e==`string`&&e.toLowerCase()===`or`?`or`:`and`}function _t(e){return P(e)}function vt(e){if(!Array.isArray(e)||e.length===0)return[];let t=N(e[0])?e[0]:void 0,n=e.length>1?e[1]:void 0;return e.length>1?[t,n]:[t]}function yt(e){if(typeof e.expression!=`string`||e.expression.length===0)return null;let t={expression:e.expression,parameters:vt(e.parameters)};return e.properties!==void 0&&Object.keys(e.properties).length>0&&(t.properties=structuredClone(e.properties)),t}function bt(e,t){let n=e,r=t;for(let e of ht)n[e]!==void 0&&(r[e]=n[e])}function xt(e){if(!e||!e.filters)return{condition:`and`,filters:[],subGroups:[]};let t=[],n=[];for(let r of e.filters)if(_t(r))n.push(xt(r));else{let e=yt(r);e&&t.push(e)}let r={condition:gt(e.condition),filters:t,subGroups:n};return e.id!==void 0&&(r.id=e.id),bt(e,r),r}function St(e,t){return e?t?.format===`clean`?mt(e):[xt(e)]:[]}function Ct(e,t){let n={expression:typeof e.expression==`string`?e.expression:void 0,parameters:Array.isArray(e.parameters)?[...e.parameters]:[]},r=N(e.properties)?structuredClone(e.properties):{};return t!==void 0&&r.type===void 0&&(r.type=t),Object.keys(r).length>0&&(n.properties=r),n}function wt(e,t,n){if(P(e))return Tt(e,t,n);if(!N(e))return;let r=e.expression;if(Be(e),Re(e))return st(e,t);if(I(e)&&Ve(e),ze(e))return Ct(e,t);throw new M(`Filter leaf "${String(r)}" matches neither a complete clean nor a complete canonical encoding.`)}function Tt(e,t,n){L(n);let r=He(e.clause)?e.clause:void 0,i=r??t,a=[];for(let t of Array.isArray(e.filters)?e.filters:[]){let e=wt(t,i,n+1);e!==void 0&&a.push(e)}for(let t of Array.isArray(e.subGroups)?e.subGroups:[])P(t)&&a.push(Tt(t,i,n+1));let o={condition:gt(e.condition),filters:a};return typeof e.id==`string`&&(o.id=e.id),r!==void 0&&(o.clause=r),bt(e,o),o}function Et(e){return!e||e.length===0?[]:e.filter(e=>P(e)).map(e=>Tt(e,void 0,1))}var Dt=`:host{font-family:var(--luzmo-font-family)}luzmo-select{width:100%}:host{--var:blue}`,V=class extends t(C(S,{validSizes:Object.values(x)})){constructor(...e){super(...e),this.hasLabel=!1,this.allowEmpty=!1,this.placeholder=``,this.disabled=!1,this.readonly=!1,this.quiet=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=E()}static get styles(){return[b(Dt)]}_sendChangeEvent(){if(this.disabled||this.readonly)return;let e={expression:this.filter?.expression};this.filter?.parameters?.[1]?.unit&&(e.unit=this.filter?.parameters?.[1]?.unit),this.dispatchEvent(new CustomEvent(`luzmo-expression-selected`,{bubbles:!0,composed:!0,cancelable:!0,detail:e}))}setExpression(e){this._richExpression=e?.detail?.value?.[0];let t=this._expressionConfigurations.find(e=>e.id===this._richExpression),n=structuredClone(this.filter);n.expression=t?.expression,t?.unit&&(this._unit=t.unit,n?.parameters[0]&&(n.parameters[1]={unit:this._unit})),this.filter=n,this._sendChangeEvent()}willUpdate(e){super.willUpdate(e);let t=e.has(`filter`),n=e.has(`type`),r=e.has(`subtype`),i=e.has(`isFormula`),a=ie(this.type,this.subtype,this.isFormula),o=[`YTD`,`QTD`,`MTD`,`WTD`];if(this.filter?.expression===`to_date`){let e=this.filter?.parameters[1]?.unit??1;this._unit=e,this._richExpression=o[e-1]??`YTD`}else this._richExpression=this.filter?.expression;(n||r||i||t)&&this.filter&&!this.disabled&&!this.readonly&&!a?.find(e=>e.expression===this.filter?.expression)?(this.invalid=!0,console.warn(`Warning: ${this.filter?.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!this.filter?.expression&&!this.allowEmpty&&(this._richExpression=a?.[0]?.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){let e=ie(this.type,this.subtype,this.isFormula)?.map(e=>({value:e.id,label:e.description,shortLabel:e.tiny})),t=this.disabled||!this.filter?.expression&&!this.allowEmpty,r=g`<luzmo-field-label
2
+ import{n as e,t}from"./localized-mixin-j1gjzMSn.js";import{n,r}from"./lit-localize-CIGP-NUw.js";import{t as i}from"./localized-decorator-Buib6Rq1.js";import{t as a}from"./luzmoTrashOutline-DXZpJx7f.js";import{n as o,r as s,t as c}from"./calculate-data-field-icon-CrEVAfzJ.js";import{t as l}from"./luzmoPlus-Dyrrz0v8.js";import{t as u}from"./luzmo-icon-markup-BENMHpB_.js";import{t as d}from"./v4-CI0qP0ur.js";import{c as f}from"./type-check-CC6bgirK.js";import{t as p}from"./localize-BXHWaHdZ.js";import{n as m}from"./periods.const-Cie50jR4.js";import{t as h}from"./data-broker-CbKNAOhf.js";import"./load-data-fields-for-datasets-D74yX8C2.js";import{html as g,ifDefined as ee,nothing as _,property as v,query as te,repeat as ne,state as y,unsafeCSS as b}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/lit.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/action-button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/field-label.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/icon.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/number-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/overlay.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/picker.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/popover.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/progress-circle.js";import{ElementSizes as x,LuzmoElement as S,SizedMixin as C}from"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/utils.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/tooltip.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/menu.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/button.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/badge.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/select.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/divider.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/options.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/tags.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/text-field.js";import"https://cdn.jsdelivr.net/npm/@luzmo/lucero@2.4.1/standalone/date-time-picker.js";var w=[``,``,``],re=`⁣`;function T(e,t){let n=RegExp(`(${w.join(`|`)})`,`u`),r=[];for(let i of e.replaceAll(re,``).split(n)){let e=w.indexOf(i);e===-1?i&&r.push(i):r.push(t[e])}return r}var E=()=>[{id:`? = ?`,key:`? = ?`,expression:`? = ?`,name:n(`equals`,{desc:`Filter expression for equals comparison`}),description:n(`equals`,{desc:`Filter expression for equals comparison`}),tiny:n(`eq`,{desc:`Short form of equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? != ?`,key:`? != ?`,expression:`? != ?`,name:n(`not equals`,{desc:`Filter expression for not equals comparison`}),description:n(`not equals`,{desc:`Filter expression for not equals comparison`}),tiny:n(`not eq`,{desc:`Short form of not equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? in ?`,key:`? in ?`,expression:`? in ?`,name:n(`is in`,{desc:`Filter expression for in comparison`}),description:n(`is in`,{desc:`Filter expression for in comparison`}),tiny:n(`is in`,{desc:`Filter expression for in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? not in ?`,key:`? not in ?`,expression:`? not in ?`,name:n(`is not in`,{desc:`Filter expression for not in comparison`}),description:n(`is not in`,{desc:`Filter expression for not in comparison`}),tiny:n(`is not in`,{desc:`Filter expression for not in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? like ?`,key:`? like ?`,expression:`? like ?`,name:n(`contains`,{desc:`Filter expression for contains comparison`}),description:n(`contains`,{desc:`Filter expression for contains comparison`}),tiny:n(`cont`,{desc:`Short form of contains comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not like ?`,key:`? not like ?`,expression:`? not like ?`,name:n(`does not contain`,{desc:`Filter expression for does not contain comparison`}),description:n(`does not contain`,{desc:`Filter expression for does not contain comparison`}),tiny:n(`not cont`,{desc:`Short form of does not contain comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? starts with ?`,key:`? starts with ?`,expression:`? starts with ?`,name:n(`starts with`,{desc:`Filter expression for starts with comparison`}),description:n(`starts with`,{desc:`Filter expression for starts with comparison`}),tiny:n(`starts with`,{desc:`Filter expression for starts with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not starts with ?`,key:`? not starts with ?`,expression:`? not starts with ?`,name:n(`does not start with`,{desc:`Filter expression for does not start with comparison`}),description:n(`does not start with`,{desc:`Filter expression for does not start with comparison`}),tiny:n(`not starts with`,{desc:`Short form of does not start with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? ends with ?`,key:`? ends with ?`,expression:`? ends with ?`,name:n(`ends with`,{desc:`Filter expression for ends with comparison`}),description:n(`ends with`,{desc:`Filter expression for ends with comparison`}),tiny:n(`ends with`,{desc:`Filter expression for ends with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not ends with ?`,key:`? not ends with ?`,expression:`? not ends with ?`,name:n(`does not end with`,{desc:`Filter expression for does not end with comparison`}),description:n(`does not end with`,{desc:`Filter expression for does not end with comparison`}),tiny:n(`not ends with`,{desc:`Short form of does not end with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? < ?`,key:`? < ?`,expression:`? < ?`,name:n(`less than`,{desc:`Filter expression for less than comparison`}),description:n(`less than`,{desc:`Filter expression for less than comparison`}),tiny:`<`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? <= ?`,key:`? <= ?`,expression:`? <= ?`,name:n(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),description:n(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),tiny:`<=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? > ?`,key:`? > ?`,expression:`? > ?`,name:n(`greater than`,{desc:`Filter expression for greater than comparison`}),description:n(`greater than`,{desc:`Filter expression for greater than comparison`}),tiny:`>`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? >= ?`,key:`? >= ?`,expression:`? >= ?`,name:n(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),description:n(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),tiny:`>=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? between ?`,key:`? between ?`,expression:`? between ?`,name:n(`is between`,{desc:`Filter expression for between comparison`}),description:n(`is between`,{desc:`Filter expression for between comparison`}),tiny:n(`between`,{desc:`Short form of between comparison in filter expression`}),type:[],subtype:[`ip_address`]},{id:`last_now`,key:`last_now`,expression:`last_now`,name:n(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),description:n(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),tiny:n(`last`,{desc:`Short form of last (x) periods in filter expression`}),type:[`datetime`]},{id:`last_available`,key:`last_available`,expression:`last_available`,name:n(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),description:n(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),tiny:n(`last available`,{desc:`Short form of last (x) available periods in filter expression`}),type:[`datetime`]},{id:`last_completed`,key:`last_completed`,expression:`last_completed`,name:n(`last completed period`,{desc:`Filter expression for last completed period`}),description:n(`last completed (period)`,{desc:`Filter expression for last completed period`}),tiny:n(`last completed`,{desc:`Short form of last completed period in filter expression`}),type:[`datetime`]},{id:`next_now`,key:`next_now`,expression:`next_now`,name:n(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),description:n(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),tiny:n(`next`,{desc:`Short form of next (x) periods in filter expression`}),type:[`datetime`]},{id:`more_than_ago`,key:`more_than_ago`,expression:`more_than_ago`,name:n(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),description:n(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),tiny:n(`more than ago`,{desc:`Short form of more than (x) periods ago in filter expression`}),type:[`datetime`]},{id:`or_more_ago`,key:`or_more_ago`,expression:`or_more_ago`,name:n(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),description:n(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),tiny:n(`or more ago`,{desc:`Short form of (x) periods or more ago in filter expression`}),type:[`datetime`]},{id:`next_full`,key:`next_full`,expression:`next_full`,name:n(`next full (period)`,{desc:`Filter expression for next full period`}),description:n(`next full (period)`,{desc:`Filter expression for next full period`}),tiny:n(`next full`,{desc:`Short form of next full period in filter expression`}),type:[`datetime`]},{id:`WTD`,key:`to_date`,expression:`to_date`,unit:4,name:n(`week to date`,{desc:`Filter expression for week to date`}),description:n(`week to date`,{desc:`Filter expression for week to date`}),tiny:n(`WTD`,{desc:`Short form of week to date in filter expression`}),type:[`datetime`]},{id:`MTD`,key:`to_date`,expression:`to_date`,unit:3,name:n(`month to date`,{desc:`Filter expression for month to date`}),description:n(`month to date`,{desc:`Filter expression for month to date`}),tiny:n(`MTD`,{desc:`Short form of month to date in filter expression`}),type:[`datetime`]},{id:`QTD`,key:`to_date`,expression:`to_date`,unit:2,name:n(`quarter to date`,{desc:`Filter expression for quarter to date`}),description:n(`quarter to date`,{desc:`Filter expression for quarter to date`}),tiny:n(`QTD`,{desc:`Short form of quarter to date in filter expression`}),type:[`datetime`]},{id:`YTD`,key:`to_date`,expression:`to_date`,unit:1,name:n(`year to date`,{desc:`Filter expression for year to date`}),description:n(`year to date`,{desc:`Filter expression for year to date`}),tiny:n(`YTD`,{desc:`Short form of year to date in filter expression`}),type:[`datetime`]},{id:`? is null`,key:`? is null`,expression:`? is null`,name:n(`is missing`,{desc:`Filter expression for is missing`}),description:n(`is missing`,{desc:`Filter expression for is missing`}),tiny:n(`missing`,{desc:`Short form of is missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]},{id:`? is not null`,key:`? is not null`,expression:`? is not null`,name:n(`is not missing`,{desc:`Filter expression for is not missing`}),description:n(`is not missing`,{desc:`Filter expression for is not missing`}),tiny:n(`not missing`,{desc:`Short form of is not missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]}],ie=(e,t,n)=>{let r=new Set([`? in ?`,`? not in ?`]);return!e&&!t?E():E().filter(i=>(e&&i.type.includes(e)||t&&i.subtype?.includes(t))&&!(n&&r.has(i.key)))},ae=new Set([`last_now`,`last_available`,`next_now`,`more_than_ago`,`or_more_ago`]),oe=new Set([`last_completed`,`next_full`]),se=new Set([`? is null`,`? is not null`,`to_date`]),ce=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),le=3,ue=32;function D(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function O(e){return D(e)?typeof e.columnId==`string`||typeof e.column_id==`string`||typeof e.formulaId==`string`||typeof e.formula_id==`string`||typeof e.formula==`string`||(typeof e.datasetId==`string`||typeof e.dataset_id==`string`)&&(e.columnExpression!==void 0||e.expression!==void 0):!1}function de(e){return e.length<=ue?{display:e,truncated:!1}:{display:`${e.slice(0,ue-1)}…`,truncated:!0}}function fe(e,t,n){try{return new Intl.ListFormat(e||void 0,{style:`long`,type:n}).format(t)}catch{return t.join(`, `)}}function k(e,t,n){let r=Ee(e,t,n),{display:i,truncated:a}=de(r);return{label:i,full:r,truncated:a}}function pe(e){return e===1?n(`1 item`,{desc:`One selected hierarchy value whose name is still loading`}):n(r`${e} items`,{desc:`Selected hierarchy values whose names are still loading`})}function me(){return n(`Some item names could not be retrieved`,{desc:`Tooltip when a hierarchy filter value is still an id after name lookup`})}function he(e,t){return!!(t?.type===`hierarchy`&&t.datasetId&&t.fieldId&&!(D(e)&&e.name!==void 0)&&j(e))}function ge(e,t,n){let r=n?.datasetId,i=n?.fieldId;return!r||!i?[]:e.flatMap(e=>{if(!he(e,n))return[];let a=j(e);return a?t.hierarchyLabels?.get(Te(r,i,a))?[]:[a]:[]})}function _e(e,t,n){return n.hierarchyLabelsLoading&&t.length>0?{valueText:pe(t.length),valuePending:!0}:n.hierarchyLabels&&!n.hierarchyLabelsLoading&&t.length>0&&!e.valueTooltip?{...e,valueTooltip:me()}:e}function ve(e,t,i){let a=e.map(e=>k(e,t,i)),o=a.map(e=>e.full),s=fe(t.contentLanguage,o,`conjunction`);if(e.length===1){let[e]=a;return{valueText:e.label,valueTooltip:e.truncated?e.full:void 0}}let c=Math.min(le,a.length),l=a.length-c,u=a.slice(0,c).map(e=>e.label),d=a.some(e=>e.truncated),f;return f=l>0?n(r`${fe(t.contentLanguage,u,`unit`)}, and ${l} more`,{desc:`Filter values after the first few shown in a read-only sentence, e.g. "Dresses, Shoes, Shorts, and 1 more"`}):fe(t.contentLanguage,a.map(e=>e.label),`conjunction`),{valueText:f,valueTooltip:l>0||d?s:void 0}}function A(e,t,n){if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`){let t=String(e);return t.length>0?t:n}if(e&&typeof e==`object`){let n=p(e,t);if(n)return n}return n}function ye(e,t){for(let n of t){let t=e[n];if(typeof t==`string`&&t.length>0)return t}}function be(e,t){let n=ye(e,[`datasetId`,`dataset_id`]),r=ye(e,[`columnId`,`column_id`]),i=ye(e,[`formulaId`,`formula_id`]),a=typeof e.formula==`string`?e.formula:void 0,o=t.datasets.find(e=>e.id===n),s=o?A(o.name,t.contentLanguage,``):``;if(i){let e=o?.formulas?.find(e=>e.id===i),r=A(e?.name,t.contentLanguage,i);return{label:r,tooltip:s?`${s} · ${r}`:r,type:e?.type,subtype:e?.subtype,formula:!0,datasetId:n,fieldId:i}}if(a)return{label:a,tooltip:s?`${s} · ${a}`:a,formula:!0,datasetId:n};let c=!r&&typeof e.expression==`string`?e.expression:void 0;if(c)return{label:c,tooltip:s?`${s} · ${c}`:c,formula:!0,datasetId:n};let l=r?o?.columns?.find(e=>e.id===r):void 0,u=r??(typeof e.columnExpression==`string`?e.columnExpression:``),d=A(l?.name,t.contentLanguage,u);return{label:d,tooltip:s?`${s} · ${d}`:d,type:l?.type,subtype:l?.subtype,formula:!1,datasetId:n,fieldId:r}}function xe(e){let t=m.find(t=>t.level===e);return t?t.i18n():``}function Se(e,t){switch(t){case 1:return e===1?n(r`${e} Year`,{desc:`Singular relative filter quantity in years`}):n(r`${e} Years`,{desc:`Plural relative filter quantity in years`});case 2:return e===1?n(r`${e} Quarter`,{desc:`Singular relative filter quantity in quarters`}):n(r`${e} Quarters`,{desc:`Plural relative filter quantity in quarters`});case 3:return e===1?n(r`${e} Month`,{desc:`Singular relative filter quantity in months`}):n(r`${e} Months`,{desc:`Plural relative filter quantity in months`});case 4:return e===1?n(r`${e} Week`,{desc:`Singular relative filter quantity in weeks`}):n(r`${e} Weeks`,{desc:`Plural relative filter quantity in weeks`});case 5:return e===1?n(r`${e} Day`,{desc:`Singular relative filter quantity in days`}):n(r`${e} Days`,{desc:`Plural relative filter quantity in days`});case 6:return e===1?n(r`${e} Hour`,{desc:`Singular relative filter quantity in hours`}):n(r`${e} Hours`,{desc:`Plural relative filter quantity in hours`});case 7:return e===1?n(r`${e} Minute`,{desc:`Singular relative filter quantity in minutes`}):n(r`${e} Minutes`,{desc:`Plural relative filter quantity in minutes`});case 8:return e===1?n(r`${e} Second`,{desc:`Singular relative filter quantity in seconds`}):n(r`${e} Seconds`,{desc:`Plural relative filter quantity in seconds`});case 9:return e===1?n(r`${e} Millisecond`,{desc:`Singular relative filter quantity in milliseconds`}):n(r`${e} Milliseconds`,{desc:`Plural relative filter quantity in milliseconds`});default:return n(r`${e}`,{desc:`Relative filter quantity`})}}function Ce(e,t){let n=new Date(e);if(Number.isNaN(n.getTime()))return e;try{return new Intl.DateTimeFormat(t.contentLanguage||void 0,{dateStyle:`medium`,timeStyle:`short`,...t.timeZone?{timeZone:t.timeZone}:{}}).format(n)}catch{return e}}function we(e){return/^\d{4}-\d{2}-\d{2}(?:T|$)/.test(e)}function Te(e,t,n){return`${e}:${t}:${n}`}function j(e){if(typeof e==`string`||typeof e==`number`)return String(e);if(D(e)&&(typeof e.id==`string`||typeof e.id==`number`))return String(e.id)}function Ee(e,t,n){if(n?.type===`hierarchy`&&n.datasetId&&n.fieldId&&!(D(e)&&e.name!==void 0)){let r=j(e),i=r===void 0?void 0:t.hierarchyLabels?.get(Te(n.datasetId,n.fieldId,r));if(i)return i}if(typeof e==`number`&&Number.isFinite(e))return new Intl.NumberFormat(t.contentLanguage||void 0).format(e);if(typeof e==`string`)return we(e)?Ce(e,t):e;if(typeof e==`boolean`)return String(e);if(D(e)){if(typeof e.parameter==`string`)return e.parameter;if(e.name!==void 0){let n=A(e.name,t.contentLanguage,``);if(n)return n}if(typeof e.id==`string`||typeof e.id==`number`)return String(e.id)}return``}function De(e,t){let n=E().filter(t=>t.expression===e),r=D(t)&&typeof t.unit==`number`?t.unit:void 0;return(e===`to_date`&&r!==void 0?n.find(e=>e.unit===r)??n[0]:n[0])?.tiny??e}function Oe(e,t,i,a){if(se.has(e)||t==null)return{valueText:``};if(D(t)&&typeof t.parameter==`string`){let e=t.parameter;if(!O(t))return{valueText:e}}if(ce.has(e)&&O(t))return{valueText:``,valueField:be(t,i)};if(e===`? between ?`&&Array.isArray(t)&&t.length===2){let e=k(t[0],i,a),o=k(t[1],i,a);return _e({valueText:n(r`${e.label} and ${o.label}`,{desc:`Inclusive range shown between two filter values`}),valueTooltip:e.truncated||o.truncated?n(r`${e.full} and ${o.full}`,{id:`filter-range-tooltip`,desc:`Full inclusive range shown in a tooltip`}):void 0},ge(t,i,a),i)}if(ae.has(e)&&D(t))return{valueText:Se(typeof t.quantity==`number`?t.quantity:1,t.unit)};if(oe.has(e)&&D(t))return{valueText:xe(t.unit)};if(Array.isArray(t))return t.length===0?{valueText:``}:_e(ve(t,i,a),ge(t,i,a),i);let o=k(t,i,a);return _e({valueText:o.label,valueTooltip:o.truncated?o.full:void 0},ge([t],i,a),i)}function ke(e,t){let n=e.parameters?.[0];if(!D(n)||!O(n))return null;let r=be(n,t),i=typeof e.expression==`string`?e.expression:``,a=e.parameters?.[1];return{field:r,expression:i?De(i,a):``,...Oe(i,a,t,r)}}function Ae(e){return`condition`in e&&`filters`in e}function je(e){if(e==null)return[];if(Array.isArray(e))return e.flatMap(je);if(D(e)){if(typeof e.parameter==`string`||e.name!==void 0||O(e))return[];let t=j(e);return t?[t]:[]}let t=j(e);return t?[t]:[]}function Me(e,t){let n=new Map,r=e=>{if(Ae(e)){e.filters.forEach(r);return}let i=e.parameters?.[0];if(!D(i)||!O(i))return;let a=be(i,t);if(a.type!==`hierarchy`||!a.datasetId||!a.fieldId)return;let o=[...new Set(je(e.parameters?.[1]))];if(o.length===0)return;let s=`${a.datasetId}:${a.fieldId}`,c=n.get(s);if(c){c.ids=[...new Set([...c.ids,...o])];return}n.set(s,{datasetId:a.datasetId,...a.formula?{formulaId:a.fieldId}:{columnId:a.fieldId},ids:o})};return r(e),[...n.values()]}async function Ne(e,t){let n=new Map;return await Promise.all(e.map(async e=>{let r={dataset_id:e.datasetId,column_id:e.columnId,formula_id:e.formulaId},i=await h.fetchData({dimensions:[r],where:[{expression:`? in ?`,parameters:[r,e.ids]}],limit:{by:e.ids.length,offset:0}}),a=e.columnId??e.formulaId??``;for(let r of i.data??[]){let i=r[0],o=i&&typeof i==`object`&&`id`in i?String(i.id):String(i),s=i&&typeof i==`object`&&`name`in i?p(i.name,t):``;s&&n.set(Te(e.datasetId,a,o),s)}})),n}var Pe=20,M=class extends Error{constructor(e){super(e),this.name=`FilterUnrepresentableError`}},Fe=new Set([`and`,`or`]),Ie=[`datasetId`,`dataset_id`,`columnId`,`column_id`,`formulaId`,`formula_id`,`formula`,`columnExpression`,`value`,`ignoredItemIds`];function N(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function P(e){return!N(e)||e.condition!==void 0&&(typeof e.condition!=`string`||!Fe.has(e.condition.toLowerCase()))?!1:`filters`in e||`subGroups`in e}function F(e){return N(e)&&`expression`in e&&!(`condition`in e)}function I(e){return Ie.some(t=>t in e)}function Le(e,t=!1){let n=[e.columnId!==void 0||e.column_id!==void 0,e.formulaId!==void 0||e.formula_id!==void 0,e.formula!==void 0].filter(Boolean).length;return n===1?!0:n>1?!1:e.columnExpression!==void 0||t&&e.expression!==void 0}function Re(e){return!F(e)||typeof e.expression!=`string`||e.expression.length===0||`parameters`in e||typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?!1:Le(e)}function ze(e){return!F(e)||!Array.isArray(e.parameters)?!1:!I(e)}function Be(e){if(!(`parameters`in e))return;let t=Ie.find(t=>t in e);if(t!==void 0)throw new M(`Filter leaf mixes "parameters" with the clean inline key "${t}".`)}function Ve(e){throw typeof e.expression!=`string`||e.expression.length===0?new M(`Clean filter leaf is missing a non-empty "expression".`):typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?new M(`Clean filter leaf "${e.expression}" is missing a "datasetId".`):new M(`Clean filter leaf "${e.expression}" must name exactly one of "columnId", "formulaId", "formula", or "columnExpression".`)}function He(e){return e===`where`||e===`having`}function L(e){if(e>20)throw new M(`Filter nesting exceeds the maximum depth of 20.`)}function Ue(e){if(e==null)return`empty`;if(!Array.isArray(e))return`unknown`;if(e.length===0)return`empty`;let t=!1,n=!1,r=!1,i=(e,a)=>{if(a>20){r=!0;return}if(P(e)){He(e.clause)&&(n=!0);let t=[...Array.isArray(e.filters)?e.filters:[],...Array.isArray(e.subGroups)?e.subGroups:[]];for(let e of t)i(e,a+1);return}if(F(e)){`parameters`in e&&I(e)?r=!0:Re(e)?n=!0:ze(e)?t=!0:r=!0;return}r=!0};for(let t of e)i(t,1);return r?`unknown`:n&&t?`mixed`:n?`clean`:t?`canonical`:`empty`}var We=new Set([`? is null`,`? is not null`]),Ge=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),Ke=new Set([`? in ?`,`? not in ?`,`? between ?`]),qe={"array[numeric]":`numeric[]`,"array[hierarchy]":`hierarchy[]`,"array[datetime]":`datetime[]`},Je=new Set([`level`,`lowestLevel`,`unnest`,`discretization`,`aggregation`,`index`,`include_nonoccurring`,`simplification`]);function R(e,t){return e!==`lowestLevel`&&!(t===null&&Je.has(e))}function z(e){return structuredClone(e)}function Ye(e){let t=e.datasetId??e.dataset_id;if(typeof t!=`string`||t.length===0)throw new M(`Filter reference is missing a "datasetId".`);return t}function Xe(e){return N(e)?typeof e.columnId==`string`||typeof e.column_id==`string`||typeof e.formulaId==`string`||typeof e.formula_id==`string`||typeof e.formula==`string`||(typeof e.datasetId==`string`||typeof e.dataset_id==`string`)&&(e.columnExpression!==void 0||e.expression!==void 0):!1}function Ze(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>it(e))),t}function Qe(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&R(`level`,e.level)&&(t.level=e.level),N(e.discretization)&&(t.discretization=Ze(e.discretization)),e.unnest!==void 0&&R(`unnest`,e.unnest)&&(t.unnest=e.unnest),t}function $e(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>N(e)?rt(e):e)),t}function et(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&(t.level=e.level),N(e.discretization)&&(t.discretization=$e(e.discretization)),e.unnest!==void 0&&(t.unnest=e.unnest),t}function tt(e,t){e.level!==void 0&&(t.level=z(e.level)),N(e.discretization)&&(t.discretization=$e(e.discretization)),N(e.aggregation)&&(t.aggregation=et(e.aggregation)),e.unnest!==void 0&&(t.unnest=z(e.unnest))}function nt(e,t){let n=e.columnId??e.column_id;if(n!==void 0)return{kind:`columnId`,value:n};let r=e.formulaId??e.formula_id;if(r!==void 0)return{kind:`formulaId`,value:r};if(e.formula!==void 0)return{kind:`formula`,value:e.formula};let i=e.columnExpression??(t?e.expression:void 0);if(i!==void 0)return{kind:`expression`,value:i}}function rt(e,t=!0){let n={datasetId:Ye(e)},r=nt(e,t);return r!==void 0&&(r.kind===`expression`?n.expression=r.value:n[r.kind]=r.value),tt(e,n),n}function it(e){if(!N(e))throw new M(`Cannot emit a clean filter reference.`);let t={datasetId:Ye(e)};e.level!==void 0&&R(`level`,e.level)&&(t.level=e.level),N(e.discretization)&&(t.discretization=Ze(e.discretization)),N(e.aggregation)&&(t.aggregation=Qe(e.aggregation)),e.unnest!==void 0&&R(`unnest`,e.unnest)&&(t.unnest=e.unnest);let n=nt(e,!0);if(n===void 0)throw new M(`Cannot emit a clean filter reference: no column, formula, or expression.`);return n.kind===`expression`?t.columnExpression=n.value:t[n.kind]=n.value,t}function at(e){if(!N(e)||typeof e.parameter!=`string`||typeof e.type!=`string`)return e;let t=qe[e.type];return t===void 0?e:{...e,type:t}}function ot(e,t){return N(t)&&typeof t.parameter==`string`?!0:Array.isArray(t)?e!==`? between ?`||t.length===2:!1}function st(e,t){let n=e.expression,r=[rt(e,!1)];if(!We.has(n)&&e.value!==void 0){let t=Ge.has(n)&&Xe(e.value);r.push(t?rt(e.value):z(e.value))}let i={};typeof e.id==`string`&&(i.id=e.id),`ignoredItemIds`in e&&(i.ignore=z(e.ignoredItemIds)),t!==void 0&&(i.type=t);let a={expression:n,parameters:r};return Object.keys(i).length>0&&(a.properties=i),a}function ct(e){let{expression:t}=e;if(typeof t!=`string`||t.length===0)return null;let n=Array.isArray(e.parameters)?e.parameters:[];if(!N(n[0]))throw new M(`Cannot emit a clean filter reference for "${t}".`);let r={...it(n[0]),expression:t};if(!We.has(t)){let e=n[1];if(e===void 0)throw new M(`Filter "${t}" is missing its value operand.`);if(r.value=Xe(e)&&Ge.has(t)?it(e):at(z(e)),Ke.has(t)&&!ot(t,r.value))throw new M(`Cannot emit an invalid clean filter value for "${t}".`)}let{properties:i}=e;return i?.id!==void 0&&(r.id=i.id),i!==void 0&&`ignore`in i&&(r.ignoredItemIds=z(i.ignore)),r}function lt(e){return P(e)}function ut(e){return Array.isArray(e.filters)?e.filters:[]}function dt(e,t){return e.properties?.type===`having`||e.properties?.type===`where`?e.properties.type:t??`where`}function B(e,t,n=1,r=new Set){L(n);let i=e.clause??t;for(let t of ut(e))lt(t)?B(t,i,n+1,r):typeof t.expression==`string`&&t.expression.length>0&&r.add(dt(t,i));return r}function ft(e,t,n=1){L(n);let r=e.clause??t;if(e.condition===`or`&&B(e,r,n).size>1)throw new M(`An "or" group mixes "where" and "having" filters, which clean output cannot represent.`);for(let t of ut(e))lt(t)&&ft(t,r,n+1)}function pt(e,t,n,r=1){L(r);let i=e.clause??n,a=[];for(let n of ut(e)){if(lt(n)){let e=pt(n,t,i,r+1);e.filters.length>0&&a.push(e);continue}if(dt(n,i)!==t)continue;let e=ct(n);e&&a.push(e)}let o={condition:e.condition===`or`?`or`:`and`,filters:a};return e.id!==void 0&&B(e,i,r).size<=1&&(o.id=e.id),o}function mt(e){let t=e.clause;ft(e,t);let n=B(e,t);return n.size===0&&n.add(t??`where`),[`where`,`having`].filter(e=>n.has(e)).map(n=>({...pt(e,n,t),clause:n})).filter(e=>e.filters.length>0)}var ht=[`origin`,`datasetId`,`vizId`,`itemId`,`isDrilldown`,`type`];function gt(e){return typeof e==`string`&&e.toLowerCase()===`or`?`or`:`and`}function _t(e){return P(e)}function vt(e){if(!Array.isArray(e)||e.length===0)return[];let t=N(e[0])?e[0]:void 0,n=e.length>1?e[1]:void 0;return e.length>1?[t,n]:[t]}function yt(e){if(typeof e.expression!=`string`||e.expression.length===0)return null;let t={expression:e.expression,parameters:vt(e.parameters)};return e.properties!==void 0&&Object.keys(e.properties).length>0&&(t.properties=structuredClone(e.properties)),t}function bt(e,t){let n=e,r=t;for(let e of ht)n[e]!==void 0&&(r[e]=n[e])}function xt(e){if(!e||!e.filters)return{condition:`and`,filters:[],subGroups:[]};let t=[],n=[];for(let r of e.filters)if(_t(r))n.push(xt(r));else{let e=yt(r);e&&t.push(e)}let r={condition:gt(e.condition),filters:t,subGroups:n};return e.id!==void 0&&(r.id=e.id),bt(e,r),r}function St(e,t){return e?t?.format===`clean`?mt(e):[xt(e)]:[]}function Ct(e,t){let n={expression:typeof e.expression==`string`?e.expression:void 0,parameters:Array.isArray(e.parameters)?[...e.parameters]:[]},r=N(e.properties)?structuredClone(e.properties):{};return t!==void 0&&r.type===void 0&&(r.type=t),Object.keys(r).length>0&&(n.properties=r),n}function wt(e,t,n){if(P(e))return Tt(e,t,n);if(!N(e))return;let r=e.expression;if(Be(e),Re(e))return st(e,t);if(I(e)&&Ve(e),ze(e))return Ct(e,t);throw new M(`Filter leaf "${String(r)}" matches neither a complete clean nor a complete canonical encoding.`)}function Tt(e,t,n){L(n);let r=He(e.clause)?e.clause:void 0,i=r??t,a=[];for(let t of Array.isArray(e.filters)?e.filters:[]){let e=wt(t,i,n+1);e!==void 0&&a.push(e)}for(let t of Array.isArray(e.subGroups)?e.subGroups:[])P(t)&&a.push(Tt(t,i,n+1));let o={condition:gt(e.condition),filters:a};return typeof e.id==`string`&&(o.id=e.id),r!==void 0&&(o.clause=r),bt(e,o),o}function Et(e){return!e||e.length===0?[]:e.filter(e=>P(e)).map(e=>Tt(e,void 0,1))}var Dt=`:host{font-family:var(--luzmo-font-family)}luzmo-select{width:100%}:host{--var:blue}`,V=class extends t(C(S,{validSizes:Object.values(x)})){constructor(...e){super(...e),this.hasLabel=!1,this.allowEmpty=!1,this.placeholder=``,this.disabled=!1,this.readonly=!1,this.quiet=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=E()}static get styles(){return[b(Dt)]}_sendChangeEvent(){if(this.disabled||this.readonly)return;let e={expression:this.filter?.expression};this.filter?.parameters?.[1]?.unit&&(e.unit=this.filter?.parameters?.[1]?.unit),this.dispatchEvent(new CustomEvent(`luzmo-expression-selected`,{bubbles:!0,composed:!0,cancelable:!0,detail:e}))}setExpression(e){this._richExpression=e?.detail?.value?.[0];let t=this._expressionConfigurations.find(e=>e.id===this._richExpression),n=structuredClone(this.filter);n.expression=t?.expression,t?.unit&&(this._unit=t.unit,n?.parameters[0]&&(n.parameters[1]={unit:this._unit})),this.filter=n,this._sendChangeEvent()}willUpdate(e){super.willUpdate(e);let t=e.has(`filter`),n=e.has(`type`),r=e.has(`subtype`),i=e.has(`isFormula`),a=ie(this.type,this.subtype,this.isFormula),o=[`YTD`,`QTD`,`MTD`,`WTD`];if(this.filter?.expression===`to_date`){let e=this.filter?.parameters[1]?.unit??1;this._unit=e,this._richExpression=o[e-1]??`YTD`}else this._richExpression=this.filter?.expression;(n||r||i||t)&&this.filter&&!this.disabled&&!this.readonly&&!a?.find(e=>e.expression===this.filter?.expression)?(this.invalid=!0,console.warn(`Warning: ${this.filter?.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!this.filter?.expression&&!this.allowEmpty&&(this._richExpression=a?.[0]?.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){let e=ie(this.type,this.subtype,this.isFormula)?.map(e=>({value:e.id,label:e.description,shortLabel:e.tiny})),t=this.disabled||!this.filter?.expression&&!this.allowEmpty,r=g`<luzmo-field-label
3
3
  for="expression"
4
4
  size=${this.size}
5
5
  >${this.label??n(`Select an expression`,{desc:`Label for expression picker`})}</luzmo-field-label