@luzmo/analytics-components-kit 1.3.0 → 1.4.0

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 (118) hide show
  1. package/README.md +6 -3
  2. package/angular/components/add-to-dashboard.ts +20 -6
  3. package/angular/components/data-fields-select.ts +5 -0
  4. package/angular/components/interactive-viz-item.ts +87 -22
  5. package/angular/components/item-grid-item-actions-menu.ts +5 -0
  6. package/angular/components/item-grid.ts +7 -0
  7. package/angular/components/item-option-color-picker.ts +28 -28
  8. package/angular/components/item-option-guidelines.ts +22 -1
  9. package/angular/components/item-option-multi-language-field.ts +7 -7
  10. package/angular/components/item-option-number-field.ts +14 -14
  11. package/angular/components/item-option-positions-number-field.ts +14 -14
  12. package/angular/components/item-option-radio-button-group.ts +7 -7
  13. package/angular/components/item-option-text-field.ts +7 -7
  14. package/angular/components/item-slot-picker-panel.ts +1 -1
  15. package/angular/components/item-slot-picker.ts +7 -7
  16. package/angular/esm/components/add-to-dashboard.d.ts +8 -4
  17. package/angular/esm/components/add-to-dashboard.js +23 -7
  18. package/angular/esm/components/data-fields-select.d.ts +2 -0
  19. package/angular/esm/components/data-fields-select.js +4 -0
  20. package/angular/esm/components/interactive-viz-item.d.ts +30 -9
  21. package/angular/esm/components/interactive-viz-item.js +98 -27
  22. package/angular/esm/components/item-grid-item-actions-menu.d.ts +2 -0
  23. package/angular/esm/components/item-grid-item-actions-menu.js +4 -0
  24. package/angular/esm/components/item-grid.d.ts +3 -1
  25. package/angular/esm/components/item-grid.js +9 -1
  26. package/angular/esm/components/item-option-color-picker.d.ts +10 -10
  27. package/angular/esm/components/item-option-color-picker.js +34 -34
  28. package/angular/esm/components/item-option-guidelines.d.ts +8 -2
  29. package/angular/esm/components/item-option-guidelines.js +26 -2
  30. package/angular/esm/components/item-option-multi-language-field.d.ts +3 -3
  31. package/angular/esm/components/item-option-multi-language-field.js +10 -10
  32. package/angular/esm/components/item-option-number-field.d.ts +5 -5
  33. package/angular/esm/components/item-option-number-field.js +18 -18
  34. package/angular/esm/components/item-option-positions-number-field.d.ts +5 -5
  35. package/angular/esm/components/item-option-positions-number-field.js +18 -18
  36. package/angular/esm/components/item-option-radio-button-group.d.ts +3 -3
  37. package/angular/esm/components/item-option-radio-button-group.js +10 -10
  38. package/angular/esm/components/item-option-text-field.d.ts +3 -3
  39. package/angular/esm/components/item-option-text-field.js +10 -10
  40. package/angular/esm/components/item-slot-picker-panel.d.ts +1 -1
  41. package/angular/esm/components/item-slot-picker-panel.js +1 -1
  42. package/angular/esm/components/item-slot-picker.d.ts +3 -3
  43. package/angular/esm/components/item-slot-picker.js +9 -9
  44. package/angular/package.json +2 -2
  45. package/components/add-to-dashboard/dashboard-actions.d.ts +2 -1
  46. package/components/add-to-dashboard/index.cjs +1 -1
  47. package/components/add-to-dashboard/index.js +1 -1
  48. package/components/{add-to-dashboard-CzIuDtAq.cjs → add-to-dashboard-BtzTZdjN.cjs} +1 -1
  49. package/components/{add-to-dashboard-DGC0_hRB.js → add-to-dashboard-Bu6S3qVz.js} +125 -120
  50. package/components/chart-helpers-BHxQbLBw.cjs +20 -0
  51. package/components/{chart-helpers-Cbl3sRra.js → chart-helpers-BKeMLhov.js} +51 -38
  52. package/components/filters/index.cjs +1 -1
  53. package/components/filters/index.js +1 -1
  54. package/components/{filters-CxIzuI5q.js → filters-DEpmh9Nj.js} +113 -102
  55. package/components/filters-LDXhe1Bp.cjs +187 -0
  56. package/components/index.cjs +1 -1
  57. package/components/index.js +6 -6
  58. package/components/interactive-viz-item/helpers/chart-helpers.d.ts +2 -1
  59. package/components/interactive-viz-item/index.cjs +1 -1
  60. package/components/interactive-viz-item/index.js +3 -3
  61. package/components/interactive-viz-item/interactive-viz-item.d.ts +44 -0
  62. package/components/{interactive-viz-item-BKLOmawA.js → interactive-viz-item-Cc3Ix95e.js} +151 -110
  63. package/components/interactive-viz-item-SF12d97t.cjs +269 -0
  64. package/components/item-grid/item-grid.d.ts +1 -0
  65. package/components/item-slot-picker-panel/index.cjs +1 -1
  66. package/components/item-slot-picker-panel/index.js +1 -1
  67. package/components/item-slot-picker-panel/item-slot-picker-panel.d.ts +19 -1
  68. package/components/item-slot-picker-panel-Cw3UCK03.cjs +84 -0
  69. package/components/{item-slot-picker-panel-fJqEmxeD.js → item-slot-picker-panel-DprM9Rli.js} +64 -33
  70. package/custom-elements.json +3044 -2532
  71. package/grid-core/item-grid-base.d.ts +5 -4
  72. package/package.json +1 -1
  73. package/react/package.json +2 -2
  74. package/standalone/add-to-dashboard.js +1 -1
  75. package/standalone/chunks/{chart-helpers-CR-EUEPf.js → chart-helpers-DZsidiCl.js} +1 -1
  76. package/standalone/chunks/data-broker-DpSrH3IP.js +2 -0
  77. package/standalone/chunks/{display-settings-binning-BeLLxd3i.js → display-settings-binning-DhHlclWH.js} +1 -1
  78. package/standalone/chunks/{display-settings-datetime-BkeiKIVV.js → display-settings-datetime-C8xvOvi4.js} +1 -1
  79. package/standalone/chunks/{display-settings-grand-totals-BuhpQKJ6.js → display-settings-grand-totals-CUpigDcs.js} +1 -1
  80. package/standalone/chunks/{display-settings-numeric-m30IYI7I.js → display-settings-numeric-BLWF54Jx.js} +1 -1
  81. package/standalone/chunks/{display-settings-period-over-period-CqDlOSRn.js → display-settings-period-over-period-COd4tvUw.js} +1 -1
  82. package/standalone/chunks/en-DNsyAwgq.js +2 -0
  83. package/standalone/chunks/en-GB-Di3OzVdL.js +2 -0
  84. package/standalone/chunks/en-US-DNsyAwgq.js +2 -0
  85. package/standalone/chunks/{filters-CxgBXUF1.js → filters-lhg_WVDK.js} +72 -72
  86. package/standalone/chunks/{formula-codemirror-Cq94j3-f.js → formula-codemirror-DZMzLE2I.js} +1 -1
  87. package/standalone/chunks/{item-option-action-button-group-BoyqF9vt.js → item-option-action-button-group-Bl1HR1JK.js} +1 -1
  88. package/standalone/chunks/{item-option-base-CBcDT8MX.js → item-option-base-DF24wTyv.js} +1 -1
  89. package/standalone/chunks/{item-option-color-palette-picker-C9PGAv4V.js → item-option-color-palette-picker-MkIIn56p.js} +1 -1
  90. package/standalone/chunks/{item-option-color-picker-D4fVJlqF.js → item-option-color-picker-CxosMo_p.js} +1 -1
  91. package/standalone/chunks/{item-option-color-range-BlAdTguE.js → item-option-color-range-C7C70r4J.js} +1 -1
  92. package/standalone/chunks/{item-option-guidelines-DMsYsHDu.js → item-option-guidelines-iu8yWRzr.js} +1 -1
  93. package/standalone/chunks/{item-option-multi-language-field-NUbm1drg.js → item-option-multi-language-field-foanqCdr.js} +1 -1
  94. package/standalone/chunks/{item-option-number-field-DRp7kbHL.js → item-option-number-field-ByVD4oq0.js} +1 -1
  95. package/standalone/chunks/{item-option-panel-cXrRclzM.js → item-option-panel-Bya-K7HH.js} +2 -2
  96. package/standalone/chunks/{item-option-picker-Ba09L4Cs.js → item-option-picker-CqNNVIML.js} +1 -1
  97. package/standalone/chunks/{item-option-position-picker-GEGTnhjw.js → item-option-position-picker-BjCFVtDH.js} +1 -1
  98. package/standalone/chunks/{item-option-positions-number-field-n44s1k5v.js → item-option-positions-number-field-BJJtXZL-.js} +1 -1
  99. package/standalone/chunks/{item-option-radio-button-group-3s_b1NvR.js → item-option-radio-button-group-C5bxsD85.js} +1 -1
  100. package/standalone/chunks/{item-option-slider-DtY65Gxk.js → item-option-slider-DUXWz70B.js} +1 -1
  101. package/standalone/chunks/{item-option-switch-4sJaI0mx.js → item-option-switch-BHyJuOkP.js} +1 -1
  102. package/standalone/chunks/{item-option-text-field-Bt6Lj6kh.js → item-option-text-field-rBZY9OX4.js} +1 -1
  103. package/standalone/chunks/{item-slot-picker-panel-BOSVFBIy.js → item-slot-picker-panel-BM82vSXi.js} +74 -72
  104. package/standalone/chunks/load-data-fields-for-datasets-DS9O1oyy.js +25 -0
  105. package/standalone/chunks/localize-DLl7tgQp.js +2 -0
  106. package/standalone/interactive-viz-item.js +54 -53
  107. package/standalone/manifest.json +31 -31
  108. package/types.d.ts +1 -1
  109. package/components/chart-helpers-fMnqHRzC.cjs +0 -20
  110. package/components/filters-BPbPFOu5.cjs +0 -187
  111. package/components/interactive-viz-item-ojdH1uk0.cjs +0 -268
  112. package/components/item-slot-picker-panel-BhhN54IM.cjs +0 -82
  113. package/standalone/chunks/data-broker-DXDyIrj_.js +0 -2
  114. package/standalone/chunks/en-63f7j4v7.js +0 -2
  115. package/standalone/chunks/en-GB-QAmXQf8W.js +0 -2
  116. package/standalone/chunks/en-US-63f7j4v7.js +0 -2
  117. package/standalone/chunks/load-data-fields-for-datasets-CDlut-6S.js +0 -25
  118. package/standalone/chunks/localize-DXRmGRe-.js +0 -2
@@ -0,0 +1,187 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2026 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ require("./tokens-BWMfo_w4.cjs");const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-EoNvtTBG.cjs"),n=require("./data-broker-DCghLjhq.cjs"),r=require("./type-check-BehV9ZL1.cjs"),i=require("./v4-Dyp-SQ1c.cjs"),a=require("./filter-item-DQNbp7Qn.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/button"),require("@luzmo/lucero/icon"),require("@luzmo/lucero/tooltip");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize"),u=require("lit/directives/repeat.js");require("@luzmo/lucero/progress-circle");let d=require("@luzmo/lucero/utils");var f=20,p=class extends Error{constructor(e){super(e),this.name=`FilterUnrepresentableError`}},m=new Set([`and`,`or`]),h=[`datasetId`,`dataset_id`,`columnId`,`column_id`,`formulaId`,`formula_id`,`formula`,`columnExpression`,`value`,`ignoredItemIds`];function g(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _(e){return!g(e)||e.condition!==void 0&&(typeof e.condition!=`string`||!m.has(e.condition.toLowerCase()))?!1:`filters`in e||`subGroups`in e}function v(e){return g(e)&&`expression`in e&&!(`condition`in e)}function y(e){return h.some(t=>t in e)}function ee(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 b(e){return!v(e)||typeof e.expression!=`string`||e.expression.length===0||`parameters`in e||typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?!1:ee(e)}function x(e){return!v(e)||!Array.isArray(e.parameters)?!1:!y(e)}function S(e){if(!(`parameters`in e))return;let t=h.find(t=>t in e);if(t!==void 0)throw new p(`Filter leaf mixes "parameters" with the clean inline key "${t}".`)}function te(e){throw typeof e.expression!=`string`||e.expression.length===0?new p(`Clean filter leaf is missing a non-empty "expression".`):typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?new p(`Clean filter leaf "${e.expression}" is missing a "datasetId".`):new p(`Clean filter leaf "${e.expression}" must name exactly one of "columnId", "formulaId", "formula", or "columnExpression".`)}function C(e){return e===`where`||e===`having`}function w(e){if(e>20)throw new p(`Filter nesting exceeds the maximum depth of 20.`)}function ne(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;else if(_(e)){C(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)}else v(e)?`parameters`in e&&y(e)?r=!0:b(e)?n=!0:x(e)?t=!0:r=!0:r=!0};for(let t of e)i(t,1);return r?`unknown`:n&&t?`mixed`:n?`clean`:t?`canonical`:`empty`}var T=new Set([`? is null`,`? is not null`]),E=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),re=new Set([`? in ?`,`? not in ?`,`? between ?`]),ie={"array[numeric]":`numeric[]`,"array[hierarchy]":`hierarchy[]`,"array[datetime]":`datetime[]`},ae=new Set([`level`,`lowestLevel`,`unnest`,`discretization`,`aggregation`,`index`,`include_nonoccurring`,`simplification`]);function D(e,t){return e!==`lowestLevel`&&!(t===null&&ae.has(e))}function O(e){return structuredClone(e)}function k(e){let t=e.datasetId??e.dataset_id;if(typeof t!=`string`||t.length===0)throw new p(`Filter reference is missing a "datasetId".`);return t}function A(e){return g(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 j(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=>F(e))),t}function oe(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&&D(`level`,e.level)&&(t.level=e.level),g(e.discretization)&&(t.discretization=j(e.discretization)),e.unnest!==void 0&&D(`unnest`,e.unnest)&&(t.unnest=e.unnest),t}function M(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=>g(e)?P(e):e)),t}function se(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),g(e.discretization)&&(t.discretization=M(e.discretization)),e.unnest!==void 0&&(t.unnest=e.unnest),t}function ce(e,t){e.level!==void 0&&(t.level=O(e.level)),g(e.discretization)&&(t.discretization=M(e.discretization)),g(e.aggregation)&&(t.aggregation=se(e.aggregation)),e.unnest!==void 0&&(t.unnest=O(e.unnest))}function N(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 P(e,t=!0){let n={datasetId:k(e)},r=N(e,t);return r!==void 0&&(r.kind===`expression`?n.expression=r.value:n[r.kind]=r.value),ce(e,n),n}function F(e){if(!g(e))throw new p(`Cannot emit a clean filter reference.`);let t={datasetId:k(e)};e.level!==void 0&&D(`level`,e.level)&&(t.level=e.level),g(e.discretization)&&(t.discretization=j(e.discretization)),g(e.aggregation)&&(t.aggregation=oe(e.aggregation)),e.unnest!==void 0&&D(`unnest`,e.unnest)&&(t.unnest=e.unnest);let n=N(e,!0);if(n===void 0)throw new p(`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 le(e){if(!g(e)||typeof e.parameter!=`string`||typeof e.type!=`string`)return e;let t=ie[e.type];return t===void 0?e:{...e,type:t}}function ue(e,t){return g(t)&&typeof t.parameter==`string`?!0:Array.isArray(t)?e!==`? between ?`||t.length===2:!1}function de(e,t){let n=e.expression,r=[P(e,!1)];if(!T.has(n)&&e.value!==void 0){let t=E.has(n)&&A(e.value);r.push(t?P(e.value):O(e.value))}let i={};typeof e.id==`string`&&(i.id=e.id),`ignoredItemIds`in e&&(i.ignore=O(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 fe(e){let{expression:t}=e;if(typeof t!=`string`||t.length===0)return null;let n=Array.isArray(e.parameters)?e.parameters:[];if(!g(n[0]))throw new p(`Cannot emit a clean filter reference for "${t}".`);let r={...F(n[0]),expression:t};if(!T.has(t)){let e=n[1];if(e===void 0)throw new p(`Filter "${t}" is missing its value operand.`);if(r.value=A(e)&&E.has(t)?F(e):le(O(e)),re.has(t)&&!ue(t,r.value))throw new p(`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=O(i.ignore)),r}function I(e){return _(e)}function L(e){return Array.isArray(e.filters)?e.filters:[]}function R(e,t){return e.properties?.type===`having`||e.properties?.type===`where`?e.properties.type:t??`where`}function z(e,t,n=1,r=new Set){w(n);let i=e.clause??t;for(let t of L(e))I(t)?z(t,i,n+1,r):typeof t.expression==`string`&&t.expression.length>0&&r.add(R(t,i));return r}function B(e,t,n=1){w(n);let r=e.clause??t;if(e.condition===`or`&&z(e,r,n).size>1)throw new p(`An "or" group mixes "where" and "having" filters, which clean output cannot represent.`);for(let t of L(e))I(t)&&B(t,r,n+1)}function V(e,t,n,r=1){w(r);let i=e.clause??n,a=[];for(let n of L(e)){if(I(n)){let e=V(n,t,i,r+1);e.filters.length>0&&a.push(e);continue}if(R(n,i)!==t)continue;let e=fe(n);e&&a.push(e)}let o={condition:e.condition===`or`?`or`:`and`,filters:a};return e.id!==void 0&&z(e,i,r).size<=1&&(o.id=e.id),o}function pe(e){let t=e.clause;B(e,t);let n=z(e,t);return n.size===0&&n.add(t??`where`),[`where`,`having`].filter(e=>n.has(e)).map(n=>({...V(e,n,t),clause:n})).filter(e=>e.filters.length>0)}var me=[`origin`,`datasetId`,`vizId`,`itemId`,`isDrilldown`,`type`];function H(e){return typeof e==`string`&&e.toLowerCase()===`or`?`or`:`and`}function he(e){return _(e)}function ge(e){if(!Array.isArray(e)||e.length===0)return[];let t=g(e[0])?e[0]:void 0,n=e.length>1?e[1]:void 0;return e.length>1?[t,n]:[t]}function _e(e){if(typeof e.expression!=`string`||e.expression.length===0)return null;let t={expression:e.expression,parameters:ge(e.parameters)};return e.properties!==void 0&&Object.keys(e.properties).length>0&&(t.properties=structuredClone(e.properties)),t}function U(e,t){let n=e,r=t;for(let e of me)n[e]!==void 0&&(r[e]=n[e])}function W(e){if(!e||!e.filters)return{condition:`and`,filters:[],subGroups:[]};let t=[],n=[];for(let r of e.filters)if(he(r))n.push(W(r));else{let e=_e(r);e&&t.push(e)}let r={condition:H(e.condition),filters:t,subGroups:n};return e.id!==void 0&&(r.id=e.id),U(e,r),r}function G(e,t){return e?t?.format===`clean`?pe(e):[W(e)]:[]}var K=[[`dataset_id`,`datasetId`],[`column_id`,`columnId`],[`formula_id`,`formulaId`]];function ve(e){if(!A(e)||!K.some(([t])=>t in e))return e;let t={...e};for(let[e,n]of K)e in t&&(t[n]??=t[e],delete t[e]);return t}function ye(e,t){let n={expression:typeof e.expression==`string`?e.expression:void 0,parameters:Array.isArray(e.parameters)?e.parameters.map(ve):[]},r=g(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 q(e,t,n){if(_(e))return J(e,t,n);if(!g(e))return;let r=e.expression;if(S(e),b(e))return de(e,t);if(y(e)&&te(e),x(e))return ye(e,t);throw new p(`Filter leaf "${String(r)}" matches neither a complete clean nor a complete canonical encoding.`)}function J(e,t,n){w(n);let r=C(e.clause)?e.clause:void 0,i=r??t,a=[];for(let t of Array.isArray(e.filters)?e.filters:[]){let e=q(t,i,n+1);e!==void 0&&a.push(e)}for(let t of Array.isArray(e.subGroups)?e.subGroups:[])_(t)&&a.push(J(t,i,n+1));let o={condition:H(e.condition),filters:a};return typeof e.id==`string`&&(o.id=e.id),r!==void 0&&(o.clause=r),U(e,o),o}function Y(e){return!e||e.length===0?[]:e.filter(e=>_(e)).map(e=>J(e,void 0,1))}var be=`:host{font-family:var(--luzmo-filters-font-family,var(--luzmo-font-family));color:var(--luzmo-filters-font-color,var(--luzmo-font-color));max-width:100%;display:block;container-type:inline-size}.filter-group-container{max-width:100%;padding:calc(var(--luzmo-indicator-gap) + 2 * var(--luzmo-indicator-width));overflow-x:hidden}.filter-group{flex-direction:row;min-width:0;max-width:100%;display:flex}.filter-group.nested{margin-top:var(--luzmo-filters-nested-group-margin-top,var(--filters-nested-group-margin-top));margin-bottom:var(--luzmo-filters-nested-group-margin-bottom,var(--filters-nested-group-margin-bottom))}.group-content{flex-direction:column;flex:1;min-width:0;display:flex}.filters-list{gap:var(--luzmo-filters-filters-list-gap,var(--filters-filters-list-gap));flex-direction:column;min-width:0;max-width:100%;display:flex}.filter-item-wrapper{align-items:flex-start;min-width:0;max-width:100%;display:flex;position:relative}.filter-item-content{align-items:flex-start;gap:var(--luzmo-filters-filter-line-gap,var(--filters-filter-line-gap));flex-wrap:nowrap;flex:1;min-width:0;display:flex}.filter-item-content luzmo-filter-item{flex:1;min-width:0}.filter-item-content .delete-filter-button{flex-shrink:0;align-self:flex-end;margin-inline-start:auto}.condition-wrapper{flex:0 0 var(--luzmo-filters-condition-warpper-width,var(--filters-condition-warpper-width));justify-content:center;align-items:center;display:flex;position:relative}.condition-wrapper:before{content:"";left:50%;top:var(--luzmo-filters-vertical-line-top,var(--filters-vertical-line-top));bottom:var(--luzmo-filters-vertical-line-bottom,var(--filters-vertical-line-bottom));width:var(--luzmo-filters-vertical-line-width,var(--filters-vertical-line-width));background:var(--luzmo-filters-vertical-line-color,var(--luzmo-border-color));position:absolute}.condition-badge{min-width:auto;padding-inline:var(--luzmo-filters-condition-padding-horizontal,var(--filters-condition-padding-horizontal));font-weight:var(--luzmo-filters-condition-font-weight,var(--filters-condition-font-weight-emphasized));text-transform:uppercase;background:var(--luzmo-filters-condition-badge-background,var(--luzmo-primary));color:var(--luzmo-filters-condition-badge-color,var(--luzmo-primary-inverse-color));border-radius:var(--luzmo-filters-condition-badge-border-radius,var(--luzmo-border-radius));box-shadow:0 0 0 var(--luzmo-filters-condition-badge-halo,var(--filters-condition-badge-halo)) var(--luzmo-filters-condition-badge-background,var(--luzmo-background-color))}.condition-badge:hover{background:var(--luzmo-filters-condition-badge-background-hover,var(--luzmo-primary-hover))}.group-actions{margin-top:var(--luzmo-filters-group-actions-margin-top,var(--filters-group-actions-margin-top));gap:var(--luzmo-filters-group-actions-gap,var(--filters-group-actions-gap));flex-wrap:wrap;display:flex}.delete-group-button{margin-left:auto}.add-root-group-container{margin-top:var(--luzmo-filters-add-root-group-container-margin-top,var(--filters-add-root-group-container-margin-top));padding-left:0}.add-subgroup-button,.add-filter-button{--luzmo-action-button-text-to-visual:var(--luzmo-filters-group-actions-text-to-visual,var(--filters-group-actions-text-to-visual));--luzmo-action-button-content-color-default:var(--luzmo-filters-group-actions-color,var(--luzmo-primary-hover));--luzmo-action-button-content-color-hover:var(--luzmo-filters-group-actions-color-hover,var(--luzmo-primary-hover));--luzmo-action-button-content-color-down:var(--luzmo-filters-group-actions-color-down,var(--luzmo-primary-down));--luzmo-action-button-content-color-focus:var(--luzmo-filters-group-actions-color-focus,var(--luzmo-primary-focus))}.add-group-button{--luzmo-button-padding-label-to-icon:var(--luzmo-filters-add-group-button-text-to-visual,var(--filters-add-group-button-text-to-visual))}.dataset-ids-empty-message{color:var(--luzmo-filters-error-message-color,var(--luzmo-disabled-color));font-size:var(--luzmo-filters-error-message-font-size,var(--filters-font-size))}@container (width<=480px){.condition-badge{--luzmo-action-button-font-size:.6875rem;--luzmo-action-button-height:1.2rem;--luzmo-button-line-height:1.2rem;font-size:.6875rem;line-height:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}:host([dir=rtl]) .condition-badge{transform:translate(-50%,-50%)rotate(90deg)}}.filters-loading{min-height:var(--filters-progress-circle-size);align-items:center;display:inline-flex}.filters-loading luzmo-progress-circle{--luzmo-progress-circle-size:var(--filters-progress-circle-size)}.filters-text,.filters-outline{font-size:var(--luzmo-filters-text-font-size,var(--filters-text-font-size));line-height:1.5}.filters-outline{--filters-outline-sentence-padding-block:calc((var(--filters-outline-row-min-height) - 1lh) / 2)}luzmo-filter-item[display=text]{--luzmo-filter-item-column-badge-color:var(--luzmo-filters-column-badge-color);--luzmo-filter-item-column-badge-font-color:var(--luzmo-filters-column-badge-font-color);--luzmo-filter-item-text-font-size:var(--luzmo-filters-text-font-size,var(--filters-text-font-size));--luzmo-filter-item-text-expression-color:var(--luzmo-filters-expression-color,var(--filters-expression-color));--luzmo-filter-item-text-expression-font-weight:var(--luzmo-filters-expression-font-weight,var(--filters-expression-font-weight))}.filters-text luzmo-filter-item[display=text],.filters-text-group luzmo-filter-item[display=text]{--luzmo-filter-item-text-icon-gap:var(--luzmo-filters-text-icon-gap,var(--filters-text-icon-gap))}.outline-sentence>luzmo-filter-item[display=text]{--luzmo-filter-item-text-icon-gap:var(--luzmo-filters-text-part-gap,var(--filters-text-part-gap))}.filters-text{white-space:pre-wrap;word-break:break-word}.filters-text .filters-text-condition{margin-inline-start:0;margin-inline-end:0}.filters-text-condition,.filters-text-paren{vertical-align:middle}.filters-text-condition{color:var(--luzmo-filters-condition-color,var(--filters-condition-color));font-weight:var(--luzmo-filters-condition-font-weight,var(--filters-condition-font-weight))}.outline-group{gap:var(--luzmo-spacing-1);flex-direction:column;min-width:0;display:flex}.outline-children>.outline-group:not(:first-child){margin-top:calc(var(--luzmo-spacing-1) + var(--filters-outline-sentence-padding-block) + var(--filters-outline-join-spacing) - var(--luzmo-spacing-2))}.outline-condition{color:var(--luzmo-filters-condition-color,var(--filters-condition-color));font-size:var(--luzmo-filters-outline-condition-font-size,var(--filters-outline-condition-font-size));font-weight:var(--luzmo-filters-condition-font-weight,var(--filters-condition-font-weight-emphasized));letter-spacing:.04em}.outline-children{gap:var(--luzmo-spacing-2);min-width:0;flex-direction:column;margin-inline-start:var(--luzmo-filters-outline-children-margin-inline-start,var(--filters-outline-children-margin-inline-start));padding-inline-start:var(--luzmo-filters-outline-children-padding-inline-start,var(--filters-outline-children-padding-inline-start));display:flex;position:relative}.outline-children:not(.outline-children--single):before{content:"";inset-block:var(--luzmo-filters-outline-bracket-inset,var(--filters-outline-bracket-inset));width:var(--luzmo-spacing-2);border-inline-start:1px solid var(--luzmo-border-color);border-block-start:1px solid var(--luzmo-border-color);border-block-end:1px solid var(--luzmo-border-color);position:absolute}.outline-children:not(.outline-children--single):not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{border-top-left-radius:var(--luzmo-border-radius);border-bottom-left-radius:var(--luzmo-border-radius);left:0}.outline-children:not(.outline-children--single):not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))):before{border-top-left-radius:var(--luzmo-border-radius);border-bottom-left-radius:var(--luzmo-border-radius);left:0}.outline-children:not(.outline-children--single):-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{border-top-right-radius:var(--luzmo-border-radius);border-bottom-right-radius:var(--luzmo-border-radius);right:0}.outline-children:not(.outline-children--single):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)):before{border-top-right-radius:var(--luzmo-border-radius);border-bottom-right-radius:var(--luzmo-border-radius);right:0}.outline-children--single{margin-inline-start:0;padding-inline-start:0}.outline-row{align-items:flex-start;column-gap:var(--luzmo-spacing-2);min-width:0;min-height:var(--filters-outline-row-min-height);flex-wrap:nowrap;display:flex}.outline-sentence{align-items:center;gap:var(--luzmo-filters-text-part-gap,var(--filters-text-part-gap));min-width:0;padding-block:var(--filters-outline-sentence-padding-block);flex-wrap:wrap;flex:auto;display:flex}.outline-delete{flex:none;align-self:flex-end;margin-inline-start:auto}:host{--filters-condition-warpper-width:56px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-3);--filters-filters-list-gap:var(--luzmo-spacing-3);--filters-nested-group-margin-top:var(--luzmo-spacing-3);--filters-nested-group-margin-bottom:var(--luzmo-spacing-3);--filters-vertical-line-top:var(--luzmo-spacing-2);--filters-vertical-line-bottom:var(--luzmo-spacing-2);--filters-vertical-line-width:1px;--filters-group-actions-text-to-visual:var(--luzmo-spacing-2);--filters-add-group-button-text-to-visual:var(--luzmo-spacing-3);--filters-group-actions-gap:var(--luzmo-spacing-3);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-4);--filters-filter-line-gap:var(--luzmo-spacing-3);--filters-group-actions-margin-top:var(--luzmo-spacing-3);--filters-error-message-font-size:var(--luzmo-font-size);--filters-text-font-size:var(--luzmo-font-size-m);--filters-outline-row-min-height:var(--luzmo-component-height);--filters-progress-circle-size:var(--luzmo-component-height);--filters-text-part-gap:var(--luzmo-spacing-2);--filters-text-icon-gap:var(--luzmo-spacing-1);--filters-outline-children-margin-inline-start:var(--luzmo-spacing-2);--filters-outline-children-padding-inline-start:var(--luzmo-spacing-3);--filters-outline-bracket-inset:var(--luzmo-spacing-2);--filters-outline-join-spacing:var(--luzmo-spacing-2);--filters-expression-color:var(--luzmo-filters-font-color,var(--luzmo-font-color));--filters-expression-font-weight:var(--luzmo-font-weight);--filters-condition-color:var(--luzmo-filters-font-color,var(--luzmo-font-color));--filters-condition-font-weight:var(--luzmo-font-weight);--filters-condition-font-weight-emphasized:var(--luzmo-font-weight-bold);--filters-outline-condition-font-size:var(--luzmo-font-size-s)}:host([size=s]){--filters-condition-warpper-width:48px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-2);--filters-filters-list-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-nested-group-margin-top:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-nested-group-margin-bottom:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-vertical-line-top:var(--luzmo-spacing-2);--filters-vertical-line-bottom:var(--luzmo-spacing-2);--filters-group-actions-text-to-visual:var(--luzmo-spacing-1);--filters-add-group-button-text-to-visual:var(--luzmo-spacing-2);--filters-group-actions-gap:var(--luzmo-spacing-2);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-3);--filters-filter-line-gap:var(--luzmo-spacing-2);--filters-group-actions-margin-top:var(--luzmo-spacing-2);--filters-error-message-font-size:var(--luzmo-font-size-s);--filters-text-font-size:var(--luzmo-font-size-s);--filters-outline-row-min-height:var(--luzmo-component-height-s);--filters-progress-circle-size:var(--luzmo-component-height-s);--filters-text-part-gap:var(--luzmo-spacing-1);--filters-text-icon-gap:var(--luzmo-spacing-1);--filters-outline-children-margin-inline-start:var(--luzmo-spacing-1);--filters-outline-children-padding-inline-start:var(--luzmo-spacing-3);--filters-outline-bracket-inset:var(--luzmo-spacing-1);--filters-outline-join-spacing:var(--luzmo-spacing-1);--filters-outline-condition-font-size:var(--luzmo-font-size-xs)}:host([size=l]){--filters-condition-warpper-width:64px;--filters-condition-padding-horizontal:var(--luzmo-spacing-3);--filters-condition-badge-halo:var(--luzmo-spacing-4);--filters-filters-list-gap:var(--luzmo-spacing-4);--filters-nested-group-margin-top:var(--luzmo-spacing-4);--filters-nested-group-margin-bottom:var(--luzmo-spacing-4);--filters-vertical-line-top:var(--luzmo-spacing-3);--filters-vertical-line-bottom:var(--luzmo-spacing-3);--filters-group-actions-text-to-visual:var(--luzmo-spacing-2);--filters-add-group-button-text-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--filters-group-actions-gap:var(--luzmo-spacing-3);--filters-add-root-group-container-margin-top:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-filter-line-gap:var(--luzmo-spacing-3);--filters-group-actions-margin-top:var(--luzmo-spacing-3);--filters-error-message-font-size:var(--luzmo-font-size-l);--filters-text-font-size:var(--luzmo-font-size-l);--filters-outline-row-min-height:var(--luzmo-component-height-l);--filters-progress-circle-size:var(--luzmo-component-height-l);--filters-text-part-gap:var(--luzmo-spacing-3);--filters-text-icon-gap:var(--luzmo-spacing-2);--filters-outline-children-margin-inline-start:var(--luzmo-spacing-3);--filters-outline-children-padding-inline-start:var(--luzmo-spacing-4);--filters-outline-bracket-inset:var(--luzmo-spacing-2);--filters-outline-join-spacing:var(--luzmo-spacing-3);--filters-outline-condition-font-size:var(--luzmo-font-size-m)}:host([size=xl]){--filters-condition-warpper-width:72px;--filters-condition-padding-horizontal:var(--luzmo-spacing-3);--filters-condition-badge-halo:var(--luzmo-spacing-4);--filters-filters-list-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-nested-group-margin-top:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-nested-group-margin-bottom:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-vertical-line-top:var(--luzmo-spacing-3);--filters-vertical-line-bottom:var(--luzmo-spacing-3);--filters-group-actions-text-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--filters-add-group-button-text-to-visual:var(--luzmo-spacing-4);--filters-group-actions-gap:var(--luzmo-spacing-4);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-5);--filters-filter-line-gap:var(--luzmo-spacing-4);--filters-group-actions-margin-top:var(--luzmo-spacing-4);--filters-error-message-font-size:var(--luzmo-font-size-xl);--filters-text-font-size:var(--luzmo-font-size-xl);--filters-outline-row-min-height:var(--luzmo-component-height-xl);--filters-progress-circle-size:var(--luzmo-component-height-xl);--filters-text-part-gap:var(--luzmo-spacing-4);--filters-text-icon-gap:var(--luzmo-spacing-2);--filters-outline-children-margin-inline-start:var(--luzmo-spacing-4);--filters-outline-children-padding-inline-start:var(--luzmo-spacing-5);--filters-outline-bracket-inset:var(--luzmo-spacing-3);--filters-outline-join-spacing:var(--luzmo-spacing-3);--filters-outline-condition-font-size:var(--luzmo-font-size-l)}@container (width<=480px){.filter-group-container{--filters-condition-warpper-width:32px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-2);--filters-filters-list-gap:var(--luzmo-spacing-5)}}`;function X(e){if(e instanceof p)return e;throw e}var Z={and:()=>(0,l.msg)(`AND`,{desc:`Logical AND condition for combining filters`}),or:()=>(0,l.msg)(`OR`,{desc:`Logical OR condition for combining filters`})};function Q(e){return e===`and`?`or`:`and`}var $=class extends t.t((0,d.SizedMixin)(d.LuzmoElement,{validSizes:Object.values(d.ElementSizes)})){constructor(...e){super(...e),this.apiUrl=`https://api.luzmo.com`,this.contentLanguage=`en`,this.filters=[],this.format=`canonical`,this.simple=!1,this.display=`rich`,this.columnDisplay=`text`,this.quiet=!1,this.readonly=!1,this.allowParameters=!1,this.parameters=[],this.debounce=300,this._internalFilterGroup=null,this._datasets=[],this._datasetsLoading=!1,this._hierarchyLabels=new Map,this._hierarchyLabelsLoading=!1,this._hasSyntheticRoot=!1,this._datasetRequest=0,this._hierarchyRequest=0,this._debounceTimeout=null,this._filterKeys=new WeakMap}static get styles(){return[(0,s.unsafeCSS)(be)]}_filterKey(e){let t=this._filterKeys.get(e);return t||(t={},this._filterKeys.set(e,t)),t}_preserveFilterKeys(e,t){this._isGroup(e)===this._isGroup(t)&&(this._filterKeys.set(t,this._filterKey(e)),this._isGroup(e)&&this._isGroup(t)&&t.filters.forEach((t,n)=>{let r=e.filters[n];r&&this._preserveFilterKeys(r,t)}))}_isCurrentGroup(e){return this._internalFilterGroup!==null&&(e===this._internalFilterGroup||this._findParentGroup(this._internalFilterGroup,e)!==null)}get _oneSizeSmaller(){return{xxs:`xxs`,xs:`xs`,s:`xs`,m:`s`,l:`m`,xl:`l`,xxl:`xl`}[this.size]||`s`}get _isDatasetIdsEmpty(){return!this.datasetIds||this.datasetIds.length===0}get _hasUnsupportedConditions(){let e=t=>t.condition===`or`||t.filters.some(t=>this._isGroup(t)&&e(t));return this.simple&&this._internalFilterGroup!==null&&e(this._internalFilterGroup)}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this.display!==`rich`&&this._loadDatasetsForDisplay()}disconnectedCallback(){super.disconnectedCallback(),this._datasetRequest+=1,this._hierarchyRequest+=1,this._debounceTimeout&&=(clearTimeout(this._debounceTimeout),null)}willUpdate(e){if(super.willUpdate(e),e.has(`filters`))try{let e=Y(this.filters),t=this._internalFilterGroup;this._debounceTimeout&&=(clearTimeout(this._debounceTimeout),null),e.length===0?(this._internalFilterGroup=null,this._hasSyntheticRoot=!1):e.length===1?(this._internalFilterGroup=structuredClone(e[0]),this._hasSyntheticRoot=!1):(this._internalFilterGroup={condition:`and`,filters:structuredClone(e)},this._hasSyntheticRoot=!0),t&&this._internalFilterGroup&&this._preserveFilterKeys(t,this._internalFilterGroup)}catch(t){console.warn(`[${this.localName}] Keeping the current filters, the new value cannot be normalized:`,X(t)),this.filters=e.get(`filters`)??[]}this.display!==`rich`&&(e.has(`display`)||e.has(`datasetIds`)||e.has(`authKey`)||e.has(`authToken`)||e.has(`apiUrl`)||e.has(`cacheTime`))&&this._loadDatasetsForDisplay(),this.display!==`rich`&&(e.has(`filters`)||e.has(`display`)||e.has(`contentLanguage`))&&this._loadHierarchyLabelsForDisplay()}async _loadDatasetsForDisplay(){let e=++this._datasetRequest;if(!this.datasetIds||this.datasetIds.length===0){this._datasets=[],this._datasetsLoading=!1,this._loadHierarchyLabelsForDisplay();return}let{valid:t,invalid:i}=r.c(this.datasetIds);if(i.length>0&&console.warn(`[${this.localName}] Invalid dataset IDs provided (not valid UUIDs): ${i.join(`, `)}. These will be skipped.`),t.length===0)this._datasets=[],this._datasetsLoading=!1,this._loadHierarchyLabelsForDisplay();else{this._datasetsLoading=!0,this._configureDataBroker();try{let r=await n.n.fetchDatasetsWithColumnsAndFormulas(t);if(!this.isConnected||e!==this._datasetRequest)return;this._datasets=r}catch(t){if(!this.isConnected||e!==this._datasetRequest)return;console.error(`[${this.localName}] Error fetching dataset columns & formulas:`,t),this._datasets=[]}finally{this.isConnected&&e===this._datasetRequest&&(this._datasetsLoading=!1,this._loadHierarchyLabelsForDisplay())}}}_configureDataBroker(){let e={authKey:this.authKey||``,authToken:this.authToken||``};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),n.n.configure(e)}async _loadHierarchyLabelsForDisplay(){let e=++this._hierarchyRequest;if(this.display===`rich`||!this._internalFilterGroup){if(!this.isConnected||e!==this._hierarchyRequest)return;this._hierarchyLabels=new Map,this._hierarchyLabelsLoading=!1;return}let t=a.n(this._internalFilterGroup,this._filterTextContext());if(t.length===0){if(!this.isConnected||e!==this._hierarchyRequest)return;this._hierarchyLabels=new Map,this._hierarchyLabelsLoading=!1}else{this._hierarchyLabelsLoading=!0,this._configureDataBroker();try{let n=await a.i(t,this.contentLanguage);if(!this.isConnected||e!==this._hierarchyRequest)return;this._hierarchyLabels=n}catch(t){if(!this.isConnected||e!==this._hierarchyRequest)return;console.error(`[${this.localName}] Error fetching hierarchy member names:`,t)}finally{this.isConnected&&e===this._hierarchyRequest&&(this._hierarchyLabelsLoading=!1)}}}_filterTextContext(){return{datasets:this._datasets,contentLanguage:this.contentLanguage,timeZone:this.timeZone,hierarchyLabels:this._hierarchyLabels,hierarchyLabelsLoading:this._hierarchyLabelsLoading}}_generateEmptyGroup(){return{id:i.t(),condition:`and`,filters:[]}}_generateEmptyFilter(){return{expression:void 0,parameters:[],properties:{id:i.t()}}}_rootGroupsForExport(){if(!this._internalFilterGroup)return[];let e=this._internalFilterGroup.filters.length>0&&this._internalFilterGroup.filters.every(e=>this._isGroup(e));return this._hasSyntheticRoot&&e?structuredClone(this._internalFilterGroup.filters):[structuredClone(this._internalFilterGroup)]}_getFiltersForExport(){let e=this._rootGroupsForExport(),t=this.format===`clean`?`clean`:`canonical`;if(e.length===0)return{filters:[],format:t};if(t===`clean`)try{return{filters:e.flatMap(e=>G(e,{format:`clean`})),format:`clean`}}catch(e){console.warn(`[${this.localName}] Cannot emit clean filters, falling back to canonical output:`,X(e))}return{filters:e.flatMap(e=>G(e)),format:`canonical`}}_sendChangeEvent(){this._debounceTimeout&&clearTimeout(this._debounceTimeout);let e=()=>{this._debounceTimeout=null,!this._hasUnsupportedConditions&&this.dispatchEvent(new CustomEvent(`luzmo-filters-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:this._getFiltersForExport()}))};this.debounce>0?this._debounceTimeout=setTimeout(e,this.debounce):e()}_isGroup(e){return`condition`in e&&`filters`in e}_handleParameterCreated(e){let t=e.detail?.parameter;this.readonly||!t||this.parameters.some(({parameter:e})=>e===t.parameter)||(this.parameters=[...this.parameters,t])}_toggleCondition(e){this.readonly||this.simple||(e.condition=Q(e.condition),e===this._internalFilterGroup&&(this._hasSyntheticRoot=!1),this.requestUpdate(),this._sendChangeEvent())}_addFilter(e){if(this.readonly||this._isDatasetIdsEmpty||this._hasUnsupportedConditions)return;let t=e;t||=(this._internalFilterGroup||=this._generateEmptyGroup(),this._internalFilterGroup),t.filters.push(this._generateEmptyFilter()),this.requestUpdate(),this._sendChangeEvent()}_addSubGroup(e){if(this.readonly||this._isDatasetIdsEmpty||this.simple)return;let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this.requestUpdate(),this._sendChangeEvent()}_removeFilter(e,t){if(this.readonly||!this._internalFilterGroup||!this._isCurrentGroup(e)||this._hasUnsupportedConditions)return;let n=e.filters.findIndex(e=>this._filterKey(e)===t);if(n!==-1){if(e.filters.splice(n,1),e!==this._internalFilterGroup&&e.filters.length===0){let t=this._findParentGroup(this._internalFilterGroup,e);if(t){let n=t.filters.indexOf(e);n!==-1&&t.filters.splice(n,1)}}this._collapseGroupsAfterDelete(),this.requestUpdate(),this._sendChangeEvent()}}_updateFilter(e,t,n){n.stopPropagation();let r=n.currentTarget;if(this.readonly||!r?.isConnected||this._hasUnsupportedConditions||!this._isCurrentGroup(e))return;let i=e.filters.findIndex(e=>this._filterKey(e)===t);i!==-1&&(this._isGroup(e.filters[i])||(this._filterKeys.set(n.detail.filter,t),e.filters[i]=n.detail.filter,this._sendChangeEvent()))}_addGroup(){if(this.readonly||this._isDatasetIdsEmpty||this.simple)return;this._internalFilterGroup||=this._generateEmptyGroup();let e=this._generateEmptyGroup();e.condition=Q(this._internalFilterGroup.condition),e.filters.push(this._internalFilterGroup);let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this._internalFilterGroup=e,this._hasSyntheticRoot=!1,this.requestUpdate(),this._sendChangeEvent()}_renderFilterItem(e,t){return s.html`
21
+ <div class="filter-item-wrapper">
22
+ <div class="filter-item-content">
23
+ <luzmo-filter-item
24
+ .apiUrl=${this.apiUrl}
25
+ .authKey=${this.authKey}
26
+ .authToken=${this.authToken}
27
+ .cacheTime=${this.cacheTime}
28
+ .language=${this.language}
29
+ .contentLanguage=${this.contentLanguage}
30
+ .timeZone=${this.timeZone}
31
+ .datasetIds=${this.datasetIds}
32
+ .filter=${e}
33
+ .allowParameters=${this.allowParameters}
34
+ .parameters=${this.parameters}
35
+ .size=${this.size}
36
+ .quiet=${this.quiet}
37
+ .readonly=${this.readonly}
38
+ @luzmo-filter-changed=${this._updateFilter.bind(this,t,this._filterKey(e))}
39
+ @luzmo-parameter-created=${this._handleParameterCreated}
40
+ ></luzmo-filter-item>
41
+ <luzmo-action-button
42
+ class="delete-filter-button"
43
+ .size=${this.size}
44
+ quiet
45
+ aria-disabled=${this.readonly?`true`:s.nothing}
46
+ .label=${(0,l.msg)(`Remove filter`,{desc:`Aria label for remove filter button`})}
47
+ @click=${this._removeFilter.bind(this,t,this._filterKey(e))}
48
+ >
49
+ <luzmo-icon slot="icon" .icon=${o.luzmoTrashOutline} .size=${this.size}></luzmo-icon>
50
+ </luzmo-action-button>
51
+ </div>
52
+ </div>
53
+ `}_renderGroup(e,t=!1){let n=e.filters.length>0,r=e.filters.length>1,i=Z[e.condition]?.()??e.condition;return s.html`
54
+ <div class="filter-group ${t&&!this.simple?`nested`:``}" role="group">
55
+ ${!this.simple&&(t||r)?s.html`
56
+ <div class="condition-wrapper">
57
+ ${r?s.html`
58
+ <luzmo-action-button
59
+ class="condition-badge"
60
+ .size=${this._oneSizeSmaller}
61
+ quiet
62
+ aria-disabled=${this.readonly?`true`:s.nothing}
63
+ aria-pressed=${e.condition===`and`?`true`:`false`}
64
+ .label=${(0,l.msg)(`Toggle filter condition, currently `,{desc:`Aria label prefix for filter condition toggle`})+i}
65
+ @click=${this._toggleCondition.bind(this,e)}
66
+ >
67
+ ${i}
68
+ </luzmo-action-button>
69
+ `:s.nothing}
70
+ </div>
71
+ `:s.nothing}
72
+ <div class="group-content">
73
+ ${n?s.html`
74
+ <div class="filters-list">
75
+ ${(0,u.repeat)(e.filters,e=>this._filterKey(e),t=>s.html`
76
+ ${this._isGroup(t)?this._renderGroup(t,!0):this._renderFilterItem(t,e)}
77
+ `)}
78
+ </div>
79
+ `:``}
80
+
81
+ <div class="group-actions">
82
+ <luzmo-action-button
83
+ class="add-filter-button"
84
+ .size=${this.size}
85
+ quiet
86
+ aria-disabled=${this.readonly?`true`:s.nothing}
87
+ ?disabled=${this._isDatasetIdsEmpty}
88
+ @click=${this._addFilter.bind(this,e)}
89
+ >
90
+ <luzmo-icon slot="icon" .icon=${o.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
91
+ ${(0,l.msg)(`Filter`,{desc:`Add filter button label`})}
92
+ </luzmo-action-button>
93
+
94
+ ${this.simple?s.nothing:s.html`<luzmo-action-button
95
+ class="add-subgroup-button"
96
+ .size=${this.size}
97
+ quiet
98
+ aria-disabled=${this.readonly?`true`:s.nothing}
99
+ ?disabled=${this._isDatasetIdsEmpty}
100
+ @click=${this._addSubGroup.bind(this,e)}
101
+ >
102
+ <luzmo-icon slot="icon" .icon=${o.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
103
+ ${(0,l.msg)(`Subgroup`,{desc:`Add subgroup button label`})}
104
+ </luzmo-action-button>`}
105
+ </div>
106
+ </div>
107
+ </div>
108
+ `}_findParentGroup(e,t){for(let n of e.filters){if(n===t)return e;if(this._isGroup(n)){let e=this._findParentGroup(n,t);if(e)return e}}return null}_collapseIfNeeded(e){if(e.filters.length===1&&this._isGroup(e.filters[0])){let t=e.filters[0];e.condition=t.condition,e.filters=t.filters,e.id=t.id,e.clause=t.clause,e.origin=t.origin,e.datasetId=t.datasetId,e.vizId=t.vizId,e.itemId=t.itemId,e.isDrilldown=t.isDrilldown,e.type=t.type,e===this._internalFilterGroup&&(this._hasSyntheticRoot=!1)}}_collapseGroupsAfterDelete(){if(!this._internalFilterGroup)return;let e=t=>{for(let n of t.filters)this._isGroup(n)&&e(n);this._collapseIfNeeded(t)};e(this._internalFilterGroup)}_renderTextLeaf(e){return a.r(e,this._filterTextContext())?s.html`<luzmo-filter-item
109
+ class="filters-text-leaf"
110
+ display="text"
111
+ .columnDisplay=${this.columnDisplay}
112
+ .filter=${e}
113
+ .textContext=${this._filterTextContext()}
114
+ .language=${this.language}
115
+ .contentLanguage=${this.contentLanguage}
116
+ .timeZone=${this.timeZone}
117
+ .size=${this.size}
118
+ readonly
119
+ ></luzmo-filter-item>`:s.nothing}_renderTextGroup(e,t){let n=[];for(let t of e.filters){let e=this._isGroup(t)?this._renderTextGroup(t,!1):this._renderTextLeaf(t);e!==s.nothing&&n.push(e)}if(n.length===0)return s.nothing;if(n.length===1)return n[0];let r=s.html`<span class="filters-text-condition">${Z[e.condition]()}</span>`,i=e.condition===`or`?(0,l.msg)(l.str`${a.a[0]}\u2063 ${a.a[1]}\u2063 ${a.a[2]}`,{id:`filters-sentence-or`,desc:`Left filter sentence, logical OR condition, and right filter sentence`}):(0,l.msg)(l.str`${a.a[0]}\u2063 ${a.a[1]}\u2063 ${a.a[2]}`,{id:`filters-sentence-and`,desc:`Left filter sentence, logical AND condition, and right filter sentence`}),o=n.slice(1).reduce((e,t)=>a.o(i,[s.html`${e}`,r,t]),[n[0]]);return t?s.html`${o}`:s.html`<span class="filters-text-group"
120
+ >${a.o((0,l.msg)(l.str`(${a.a[0]})`,{id:`filters-sentence-parentheses`,desc:`Nested filter sentence wrapped in parentheses`}),[s.html`${o}`]).map(e=>typeof e==`string`?s.html`<span class="filters-text-paren">${e}</span>`:e)}</span
121
+ >`}_renderDatasetLoading(){let e=(0,l.msg)(`Loading filters`,{desc:`Accessible label while filter column names are loading`});return s.html`<div class="filters-loading" role="status">
122
+ <luzmo-progress-circle indeterminate .label=${e} .size=${this.size}></luzmo-progress-circle>
123
+ </div>`}_renderTextDisplay(){return s.html`<span class="filters-text" part="filters-text"
124
+ >${this._internalFilterGroup?this._renderTextGroup(this._internalFilterGroup,!0):s.nothing}</span
125
+ >`}_deleteOutlineFilter(e,t){this.readonly||this.display!==`outline`||this._removeFilter(e,t)}_renderOutlineRow(e,t){let n=this._renderTextLeaf(e);if(n===s.nothing)return s.nothing;let r=(0,l.msg)(`Remove filter`,{desc:`Aria label for remove filter button`});return s.html`<div class="outline-row" part="filters-outline-row">
126
+ <span class="outline-sentence">${n}</span>
127
+ ${this.readonly?s.nothing:s.html`<luzmo-action-button
128
+ class="delete-filter-button outline-delete"
129
+ .size=${this.size}
130
+ quiet
131
+ .label=${r}
132
+ @click=${()=>this._deleteOutlineFilter(t,this._filterKey(e))}
133
+ >
134
+ <luzmo-icon slot="icon" .icon=${o.luzmoTrashOutline} .size=${this.size}></luzmo-icon>
135
+ </luzmo-action-button>`}
136
+ </div>`}_renderOutlineGroup(e,t=!0){let n=e.filters.some(e=>this._isGroup(e)),r=e.filters.length>1&&!(t&&!n&&e.condition===`and`),i=Z[e.condition]?.()??e.condition;return s.html`<div class="outline-group" role=${r?`group`:s.nothing} aria-label=${r?i:s.nothing}>
137
+ ${r?s.html`<div class="outline-condition">${i}</div>`:s.nothing}
138
+ <div class=${r?`outline-children`:`outline-children outline-children--single`}>
139
+ ${(0,u.repeat)(e.filters,e=>this._filterKey(e),t=>this._isGroup(t)?this._renderOutlineGroup(t,!1):this._renderOutlineRow(t,e))}
140
+ </div>
141
+ </div>`}_renderOutlineDisplay(){return s.html`<div class="filters-outline" part="filters-outline">
142
+ ${this._internalFilterGroup?this._renderOutlineGroup(this._internalFilterGroup):s.nothing}
143
+ </div>`}render(){if(this._hasUnsupportedConditions&&this.display!==`text`)return s.html`<div class="filter-group-container" role="status">
144
+ ${(0,l.msg)(`Filters containing OR cannot be edited in AND-only mode.`,{desc:`Explains why existing OR filters are not editable in the simplified filter editor`})}
145
+ </div>`;if(this.display===`text`||this.display===`outline`)return this._datasetsLoading&&this._datasets.length===0?this._renderDatasetLoading():this.display===`text`?this._renderTextDisplay():this._renderOutlineDisplay();if(this._isDatasetIdsEmpty)return s.html`
146
+ <div class="filter-group-container">
147
+ <div class="dataset-ids-empty-message" role="status">
148
+ ${(0,l.msg)(`Cannot retrieve dataset data fields`,{desc:`Error message when datasetIds is empty`})}
149
+ </div>
150
+ </div>
151
+ `;if(!this._internalFilterGroup||this._internalFilterGroup.filters.length===0)return s.html`
152
+ <div class="filter-group-container">
153
+ <luzmo-button
154
+ class="add-filter-button"
155
+ .size=${this.size}
156
+ treatment="outline"
157
+ ?quiet=${this.quiet}
158
+ aria-disabled=${this.readonly?`true`:s.nothing}
159
+ ?disabled=${this._isDatasetIdsEmpty}
160
+ @click=${()=>this._addFilter()}
161
+ >
162
+ <luzmo-icon slot="icon" .icon=${o.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
163
+ ${(0,l.msg)(`Add filter`,{desc:`Add filter button label`})}
164
+ </luzmo-button>
165
+ </div>
166
+ `;let e=this._internalFilterGroup.filters.length>1;return s.html`
167
+ <div class="filter-group-container">
168
+ ${this._renderGroup(this._internalFilterGroup)}
169
+
170
+ ${e&&!this.simple?s.html`
171
+ <div class="add-root-group-container">
172
+ <luzmo-button
173
+ class="add-group-button"
174
+ .size=${this.size}
175
+ treatment="outline"
176
+ ?quiet=${this.quiet}
177
+ aria-disabled=${this.readonly?`true`:s.nothing}
178
+ ?disabled=${this._isDatasetIdsEmpty}
179
+ @click=${this._addGroup}
180
+ >
181
+ <luzmo-icon slot="icon" .icon=${o.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
182
+ ${(0,l.msg)(`Group`,{desc:`Add group button label`})}
183
+ </luzmo-button>
184
+ </div>
185
+ `:``}
186
+ </div>
187
+ `}};e.t([(0,c.property)({type:String,attribute:`api-url`,reflect:!0})],$.prototype,`apiUrl`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-key`,reflect:!0})],$.prototype,`authKey`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-token`,reflect:!0})],$.prototype,`authToken`,void 0),e.t([(0,c.property)({type:Number,attribute:`cache-time`,reflect:!0})],$.prototype,`cacheTime`,void 0),e.t([(0,c.property)({type:String,attribute:`content-language`,reflect:!0})],$.prototype,`contentLanguage`,void 0),e.t([(0,c.property)({type:String,attribute:`time-zone`,reflect:!0})],$.prototype,`timeZone`,void 0),e.t([(0,c.property)({type:Array,attribute:`dataset-ids`,reflect:!0})],$.prototype,`datasetIds`,void 0),e.t([(0,c.property)({type:Array,reflect:!1})],$.prototype,`filters`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],$.prototype,`format`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0})],$.prototype,`simple`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],$.prototype,`display`,void 0),e.t([(0,c.property)({type:String,attribute:`column-display`,reflect:!0})],$.prototype,`columnDisplay`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0})],$.prototype,`quiet`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0})],$.prototype,`readonly`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`allow-parameters`,reflect:!0})],$.prototype,`allowParameters`,void 0),e.t([(0,c.property)({attribute:!1})],$.prototype,`parameters`,void 0),e.t([(0,c.property)({type:Number,reflect:!0})],$.prototype,`debounce`,void 0),e.t([(0,c.state)()],$.prototype,`_internalFilterGroup`,void 0),e.t([(0,c.state)()],$.prototype,`_datasets`,void 0),e.t([(0,c.state)()],$.prototype,`_datasetsLoading`,void 0),e.t([(0,c.state)()],$.prototype,`_hierarchyLabels`,void 0),e.t([(0,c.state)()],$.prototype,`_hierarchyLabelsLoading`,void 0),$=e.t([(0,l.localized)()],$),customElements.get(`luzmo-filters`)||customElements.define(`luzmo-filters`,$),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}});
@@ -17,4 +17,4 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("./tokens-BWMfo_w4.cjs");const e=require("./ai-interaction-textarea-BmvVVCmL.cjs"),t=require("./set-locale-BkMmLcm6.cjs"),n=require("./ai-chat-BNcSadGI.cjs"),r=require("./localize-D3i4Epy_.cjs"),i=require("./dataset-icon-CmgJeTKm.cjs"),a=require("./dataset-selector-row-mOGioXLM.cjs"),o=require("./interactive-viz-item-ojdH1uk0.cjs"),s=require("./chart-helpers-fMnqHRzC.cjs"),c=require("./add-to-dashboard-CzIuDtAq.cjs"),l=require("./item-slot-drop-panel-Oh8zdKJH.cjs"),u=require("./item-option-DpLdospV.cjs"),d=require("./dataset-selector-list-CmZaj20L.cjs"),f=require("./formatter-D_hJ1XXN.cjs"),p=require("./decompose-numeric-format-DGJua3rU.cjs"),m=require("./display-settings-DaZ3CiKB.cjs"),h=require("./formula-display-store-D7fzKNfW.cjs"),g=require("./convert-datasets-to-data-fields-B13rl1an.cjs"),_=require("./load-data-fields-for-datasets-DYgA0164.cjs"),v=require("./formula-CXrr9wJZ.cjs"),y=require("./display-settings-binning-D5zhoC7D.cjs"),b=require("./display-settings-datetime-t70VEfHe.cjs"),x=require("./display-settings-grand-totals-C_Fzk7oV.cjs"),S=require("./display-settings-numeric-BF8BA5MH.cjs"),C=require("./period-over-period-condition.const-C1NZ9Bkp.cjs"),w=require("./display-settings-period-over-period-B8Ne3lq-.cjs"),T=require("./data-field-level-DOEYwcvM.cjs"),E=require("./data-field-BORlpZZk.cjs"),D=require("./data-field-panel-DmMkAYAz.cjs"),O=require("./slot-menu-C8p0nkVS.cjs"),k=require("./slot-menu-list-C2nLODML.cjs"),A=require("./item-slot-drop-DLzi4Dik.cjs"),j=require("./themes-kvrISOTz.cjs"),M=require("./types-pVa6ut_v.cjs"),N=require("./item-option-panel-CU51qvgV.cjs"),P=require("./filter-item-DQNbp7Qn.cjs"),F=require("./filter-expression-picker-DDSI9bYq.cjs"),I=require("./filters-BPbPFOu5.cjs"),ee=require("./data-fields-select-BOqmoE7n.cjs"),L=require("./filter-parameter-picker-DjQVFIfg.cjs"),R=require("./filter-value-picker-CMNxLzj7.cjs"),z=require("./filter-value-picker-datetime-BVDQ-og5.cjs"),B=require("./utils-DIKmx9O1.cjs"),V=require("./filter-value-picker-hierarchy-CXPC_4MU.cjs"),H=require("./filter-value-picker-numeric-C7_-Fpol.cjs"),U=require("./formula-input-base-BoWiH97v.cjs"),W=require("./formula-field-DSSpI8LB.cjs"),G=require("./formula-editor-D_NRhjUI.cjs"),K=require("./item-option-action-button-group-BMgUwveA.cjs"),q=require("./item-option-color-palette-picker-CnM1Gi6o.cjs"),J=require("./item-option-color-picker-CNW7GsCO.cjs"),Y=require("./item-option-color-range-BqSbuSZh.cjs"),X=require("./item-option-guidelines-z9BsGR-l.cjs"),Z=require("./item-option-multi-language-field-DM2PENxV.cjs"),Q=require("./item-option-number-field-Cw2ofJL7.cjs"),$=require("./item-option-picker-EJlc0bmj.cjs"),te=require("./item-option-position-picker-Ba7cBvlL.cjs"),ne=require("./item-option-positions-number-field-BQ8gFOAn.cjs"),re=require("./item-option-radio-button-group-2hX-E2WV.cjs"),ie=require("./item-option-slider-Kz2eFBql.cjs"),ae=require("./item-option-switch-BUteU1mc.cjs"),oe=require("./item-option-text-field-BC9fR-yW.cjs"),se=require("./item-grid-DveTRc7D.cjs"),ce=require("./item-grid-item-actions-menu-xRrT9dkY.cjs"),le=require("./item-slot-picker-O9HKr3mv.cjs"),ue=require("./item-slot-picker-panel-BhhN54IM.cjs");require("./types.cjs");var de=[{key:`general`,label:`General`},{key:`filters`,label:`Filters`},{key:`bar-column`,label:`Bar & Column Charts`},{key:`line`,label:`Line Charts`},{key:`scatter-bubble`,label:`Scatter & Bubble Plots`},{key:`area`,label:`Area Charts`},{key:`pie-donut`,label:`Pie & Donut`},{key:`gauges`,label:`Gauges`},{key:`map`,label:`Map Charts`},{key:`hierarchical`,label:`Hierarchical Charts`},{key:`special`,label:`Special Charts`},{key:`financial`,label:`Financial Charts`}],fe=[{type:`area-chart`,label:`Area Chart`},{type:`bar-chart`,label:`Bar Chart`},{type:`box-plot`,label:`Box Plot`},{type:`bubble-chart`,label:`Bubble Chart`},{type:`bullet-chart`,label:`Bullet Chart`},{type:`choropleth-map`,label:`Choropleth Map`},{type:`circle-pack-chart`,label:`Circle Pack Chart`},{type:`circular-gauge`,label:`Circular Gauge`},{type:`column-chart`,label:`Column Chart`},{type:`combination-chart`,label:`Combination Chart`},{type:`conditional-number`,label:`Conditional Number`},{type:`date-comparison-filter`,label:`Date Comparison Filter`},{type:`date-filter`,label:`Date Filter`},{type:`donut-chart`,label:`Donut Chart`},{type:`dropdown-filter`,label:`Dropdown Filter`},{type:`evolution-number`,label:`Evolution Number`},{type:`funnel-chart`,label:`Funnel Chart`},{type:`heat-map`,label:`Heat Map`},{type:`heat-table`,label:`Heat Table`},{type:`hexbin-map`,label:`Hexbin Map`},{type:`image`,label:`Image`},{type:`line-chart`,label:`Line Chart`},{type:`marker-map`,label:`Marker Map`},{type:`ohlc-chart`,label:`OHLC Chart`},{type:`parallel-coordinates-plot`,label:`Parallel Coordinates Plot`},{type:`pivot-table`,label:`Pivot Table`},{type:`pyramid-chart`,label:`Pyramid Chart`},{type:`radar-chart`,label:`Radar Chart`},{type:`regular-table`,label:`Regular Table`},{type:`route-map`,label:`Route Map`},{type:`sankey-diagram`,label:`Sankey Diagram`},{type:`scatter-plot`,label:`Scatter Plot`},{type:`search-filter`,label:`Search Filter`},{type:`slicer-filter`,label:`Slicer Filter`},{type:`slider-filter`,label:`Slider Filter`},{type:`speedometer-chart`,label:`Speedometer Chart`},{type:`spike-map`,label:`Spike Map`},{type:`strip-plot`,label:`Strip Plot`},{type:`sunburst-chart`,label:`Sunburst Chart`},{type:`symbol-map`,label:`Symbol Map`},{type:`text`,label:`Text`},{type:`treemap-chart`,label:`Treemap Chart`},{type:`video`,label:`Video`},{type:`wordcloud-chart`,label:`Wordcloud Chart`}],pe=[{item:`text`,type:`text`,label:`Text`,group:`general`},{item:`image`,type:`image`,label:`Image`,group:`general`},{item:`evolution-number`,type:`evolution-number`,label:`Number with evolution`,group:`general`},{item:`video`,type:`video`,label:`Video`,group:`general`},{item:`regular-table`,type:`regular-table`,label:`Regular Table`,group:`general`},{item:`pivot-table`,type:`pivot-table`,label:`Pivot Table`,group:`general`},{item:`spacer`,type:`spacer`,label:`Spacer`,group:`general`},{item:`date-comparison-filter`,type:`date-comparison-filter`,label:`Date Comparison Filter`,group:`filters`},{item:`date-filter`,type:`date-filter`,label:`Date Filter`,group:`filters`},{item:`slider-filter`,type:`slider-filter`,label:`Slider Filter`,group:`filters`},{item:`search-filter`,type:`search-filter`,label:`Search Filter`,group:`filters`},{item:`dropdown-filter`,type:`dropdown-filter`,label:`Dropdown Filter`,group:`filters`},{item:`slicer-filter-vertical`,type:`slicer`,label:`Slicer Filter`,group:`filters`,options:{layout:{alignment:`vertical`}}},{item:`slicer-filter-horizontal`,type:`slicer`,label:`Slicer Filter Horizontal`,group:`filters`,options:{layout:{alignment:`horizontal`}}},{item:`slicer-filter-table`,type:`slicer`,label:`Slicer Filter Table`,group:`filters`,options:{layout:{alignment:`table`}}},{item:`rank-slicer-filter`,type:`slicer`,label:`Rank Slicer Filter`,group:`filters`,options:{layout:{alignment:`rank-vertical`}}},{item:`bar-chart`,type:`bar-chart`,label:`Bar Chart`,group:`bar-column`},{item:`grouped-bar-chart`,type:`bar-chart`,label:`Grouped Bar Chart`,group:`bar-column`,options:{mode:`grouped`}},{item:`stacked-bar-chart`,type:`bar-chart`,label:`Stacked Bar Chart`,group:`bar-column`,options:{mode:`stacked`}},{item:`column-chart`,type:`column-chart`,label:`Column Chart`,group:`bar-column`},{item:`grouped-column-chart`,type:`column-chart`,label:`Grouped Column Chart`,group:`bar-column`,options:{mode:`grouped`}},{item:`stacked-column-chart`,type:`column-chart`,label:`Stacked Column Chart`,group:`bar-column`,options:{mode:`stacked`}},{item:`line-chart`,type:`line-chart`,label:`Line Chart`,group:`line`},{item:`grouped-line-chart`,type:`line-chart`,label:`Grouped Line Chart`,group:`line`,options:{mode:`grouped`}},{item:`scatter-plot`,type:`scatter-plot`,label:`Scatter Plot`,group:`scatter-bubble`},{item:`scatter-group`,type:`scatter-plot`,label:`Scatter Group`,group:`scatter-bubble`},{item:`bubble-plot`,type:`scatter-plot`,label:`Bubble Plot`,group:`scatter-bubble`},{item:`colored-bubble-plot`,type:`scatter-plot`,label:`Colored Bubble Plot`,group:`scatter-bubble`},{item:`area-chart`,type:`area-chart`,label:`Area Chart`,group:`area`},{item:`stacked-area-chart`,type:`area-chart`,label:`Stacked Area Chart`,group:`area`,options:{mode:`stacked`}},{item:`100-area-chart`,type:`area-chart`,label:`100% Stacked Area Chart`,group:`area`,options:{mode:`100%`}},{item:`streamgraph`,type:`area-chart`,label:`Streamgraph`,group:`area`},{item:`pie-chart`,type:`donut-chart`,label:`Pie Chart`,group:`pie-donut`},{item:`donut-chart`,type:`donut-chart`,label:`Donut Chart`,group:`pie-donut`},{item:`semi-pie-chart`,type:`donut-chart`,label:`Semi Pie Chart`,group:`pie-donut`},{item:`semi-donut-chart`,type:`donut-chart`,label:`Semi Donut Chart`,group:`pie-donut`},{item:`bullet-chart`,type:`bullet-chart`,label:`Bullet Chart`,group:`gauges`},{item:`circular-gauge`,type:`circular-gauge`,label:`Circular Gauge`,group:`gauges`},{item:`conditional-number`,type:`conditional-number`,label:`Conditional Number`,group:`gauges`},{item:`speedometer-chart`,type:`speedometer-chart`,label:`Speedometer`,group:`gauges`},{item:`choropleth-map`,type:`choropleth-map`,label:`Choropleth Map`,group:`map`},{item:`symbol-map`,type:`symbol-map`,label:`Symbol Map`,group:`map`},{item:`marker-map`,type:`marker-map`,label:`Marker Map`,group:`map`},{item:`hexbin-map`,type:`hexbin-map`,label:`Hexbin Map`,group:`map`},{item:`heat-map`,type:`heat-map`,label:`Heat Map`,group:`map`},{item:`route-map`,type:`route-map`,label:`Route Map`,group:`map`},{item:`spike-map`,type:`spike-map`,label:`Spike Map`,group:`map`},{item:`treemap-chart`,type:`treemap-chart`,label:`Treemap Chart`,group:`hierarchical`},{item:`sunburst-chart`,type:`sunburst-chart`,label:`Sunburst Chart`,group:`hierarchical`},{item:`circle-pack-chart`,type:`circle-pack-chart`,label:`Circle Pack Chart`,group:`hierarchical`},{item:`combination-chart`,type:`combination-chart`,label:`Combination Chart`,group:`special`},{item:`parallel-coordinates-plot`,type:`parallel-coordinates-plot`,label:`Parallel Coordinates Plot`,group:`special`},{item:`bubble-chart`,type:`bubble-chart`,label:`Bubble Chart`,group:`special`},{item:`strip-plot`,type:`strip-plot`,label:`Strip Plot`,group:`special`},{item:`radar-chart`,type:`radar-chart`,label:`Radar Chart`,group:`special`},{item:`pyramid-chart`,type:`pyramid-chart`,label:`Pyramid Chart`,group:`special`},{item:`funnel-chart`,type:`funnel-chart`,label:`Funnel Chart`,group:`special`},{item:`alluvial-diagram`,type:`alluvial-diagram`,label:`Alluvial Diagram`,group:`special`},{item:`sankey-diagram`,type:`sankey-diagram`,label:`Sankey Diagram`,group:`special`},{item:`venn-diagram`,type:`venn-diagram`,label:`Venn Diagram`,group:`special`},{item:`box-plot`,type:`box-plot`,label:`Box Plot`,group:`special`},{item:`heat-table`,type:`heat-table`,label:`Heat Table`,group:`special`},{item:`wordcloud-chart`,type:`wordcloud-chart`,label:`Wordcloud Chart`,group:`special`},{item:`ohlc-chart`,type:`ohlc-chart`,label:`OHLC Chart`,group:`financial`},{item:`candlestick-chart`,type:`ohlc-chart`,label:`Candlestick Chart`,group:`financial`}];exports.AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES=e.c,exports.AI_PROMPT_MAX_ATTACHMENTS=e.l,exports.AiChatSession=n.i,exports.AiChatSessionController=n.r,exports.CARTESIAN_GUIDELINE_LINE_TYPES=M.t,exports.DATE_LEVEL_AND_ABOVE=B.t,exports.DEFAULT_GUIDELINE_COLOR_DARK=M.n,exports.DEFAULT_GUIDELINE_COLOR_LIGHT=M.r,exports.DEFAULT_GUIDELINE_DEBOUNCE=M.i,exports.DEFAULT_GUIDELINE_STYLE=M.a,exports.DEFAULT_NUMERIC_GUIDELINE_VALUE=M.o,exports.DEFAULT_RANKING_NUMBER=s.s,exports.FilterUnrepresentableError=I.a,exports.FormulaAggregationGrouping=h.g,exports.FormulaEditorStore=U.n,exports.GUIDELINE_LINE_TYPES=M.s,exports.GUIDELINE_STYLE_TYPES=M.c,exports.GUIDELINE_WIDTHS=M.l,Object.defineProperty(exports,"LuzmoAddToDashboard",{enumerable:!0,get:function(){return c.t}}),exports.LuzmoAiChat=n.n,exports.LuzmoAiChatEmptyState=n.D,Object.defineProperty(exports,"LuzmoAiInteractionTextarea",{enumerable:!0,get:function(){return e.t}}),Object.defineProperty(exports,"LuzmoDataField",{enumerable:!0,get:function(){return E.t}}),exports.LuzmoDataFieldLevel=T.t,Object.defineProperty(exports,"LuzmoDataFieldPanel",{enumerable:!0,get:function(){return D.t}}),Object.defineProperty(exports,"LuzmoDataFieldsSelect",{enumerable:!0,get:function(){return ee.t}}),exports.LuzmoDatasetIcon=i.t,exports.LuzmoDatasetSelectorList=d.t,Object.defineProperty(exports,"LuzmoDatasetSelectorRow",{enumerable:!0,get:function(){return a.t}}),exports.LuzmoDisplaySettings=m.t,Object.defineProperty(exports,"LuzmoDisplaySettingsBinning",{enumerable:!0,get:function(){return y.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsDatetime",{enumerable:!0,get:function(){return b.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsGrandTotals",{enumerable:!0,get:function(){return x.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsNumeric",{enumerable:!0,get:function(){return S.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsPeriodOverPeriod",{enumerable:!0,get:function(){return w.t}}),Object.defineProperty(exports,"LuzmoFilterExpressionPicker",{enumerable:!0,get:function(){return F.t}}),Object.defineProperty(exports,"LuzmoFilterItem",{enumerable:!0,get:function(){return P.t}}),Object.defineProperty(exports,"LuzmoFilterParameterPicker",{enumerable:!0,get:function(){return L.t}}),exports.LuzmoFilterValuePicker=R.t,Object.defineProperty(exports,"LuzmoFilterValuePickerDatetime",{enumerable:!0,get:function(){return z.t}}),Object.defineProperty(exports,"LuzmoFilterValuePickerHierarchy",{enumerable:!0,get:function(){return V.t}}),Object.defineProperty(exports,"LuzmoFilterValuePickerNumeric",{enumerable:!0,get:function(){return H.t}}),Object.defineProperty(exports,"LuzmoFilters",{enumerable:!0,get:function(){return I.t}}),Object.defineProperty(exports,"LuzmoFormula",{enumerable:!0,get:function(){return v.t}}),Object.defineProperty(exports,"LuzmoFormulaEditor",{enumerable:!0,get:function(){return G.t}}),Object.defineProperty(exports,"LuzmoFormulaField",{enumerable:!0,get:function(){return W.t}}),exports.LuzmoInteractiveVizItem=o.t,exports.LuzmoItemGrid=se.t,Object.defineProperty(exports,"LuzmoItemGridItemActionsMenu",{enumerable:!0,get:function(){return ce.t}}),exports.LuzmoItemOption=u.t,exports.LuzmoItemOptionActionButtonGroup=K.t,exports.LuzmoItemOptionColorPalettePicker=q.t,exports.LuzmoItemOptionColorPicker=J.t,exports.LuzmoItemOptionColorRange=Y.t,Object.defineProperty(exports,"LuzmoItemOptionGuidelines",{enumerable:!0,get:function(){return X.t}}),exports.LuzmoItemOptionMultiLangField=Z.t,exports.LuzmoItemOptionNumberField=Q.t,exports.LuzmoItemOptionPanel=N.t,exports.LuzmoItemOptionPicker=$.t,exports.LuzmoItemOptionPositionPicker=te.t,exports.LuzmoItemOptionPositionsNumberField=ne.t,exports.LuzmoItemOptionRadioButtonGroup=re.t,exports.LuzmoItemOptionSlider=ie.t,exports.LuzmoItemOptionSwitch=ae.t,exports.LuzmoItemOptionTextField=oe.t,Object.defineProperty(exports,"LuzmoItemSlotDrop",{enumerable:!0,get:function(){return A.t}}),Object.defineProperty(exports,"LuzmoItemSlotDropPanel",{enumerable:!0,get:function(){return l.t}}),Object.defineProperty(exports,"LuzmoItemSlotPicker",{enumerable:!0,get:function(){return le.t}}),Object.defineProperty(exports,"LuzmoItemSlotPickerPanel",{enumerable:!0,get:function(){return ue.t}}),exports.LuzmoSlotMenu=O.t,exports.LuzmoSlotMenuList=k.t,exports.MAX_FILTER_NESTING_DEPTH=I.o,exports.PeriodOverPeriodCondition=C.t,exports.ROOT_EDITOR_ID=U.r,exports.RankingDirection=s.c,exports.SortBy=s.l,exports.SortDirection=s.u,exports.applyChartMutation=s.t,exports.assertValidAiPromptAttachmentFiles=e.u,exports.assertValidAiPromptAttachmentUrls=e.d,exports.blobToBase64=e.n,exports.buildAiDictationRequest=e.r,exports.buildAiPromptDeleteRequest=n._,exports.buildAiPromptProperties=n.v,exports.buildAiPromptRequest=n.y,exports.buildAnalystAiPromptProperties=n.b,exports.buildCustomItemAiPromptProperties=n.x,exports.buildDashboardAiPromptProperties=n.S,exports.buildItemAiPromptProperties=n.C,exports.buildSavedAgentAiPromptProperties=n.w,exports.calculateChartActions=s.n,exports.chartToItemAsset=n.T,exports.convertDatasetsToDataFields=g.t,exports.convertSlotsToArray=s.r,exports.createAiChatSession=n.a,exports.createDashboardActions=c.n,exports.createFilterParameter=L.n,exports.createInitialProgress=n.f,exports.createInitialStreamState=n.o,exports.createStreamHandler=n.s,exports.decomposeNumericFormat=p.t,exports.detectFiltersFormat=I.s,exports.ensureFormulaCodeMirrorLoaded=h.s,exports.extractChartFromChunk=n.u,exports.extractDashboardFromChunk=n.d,exports.fetchStreamingResponse=n.m,exports.formatter=f.t,exports.formulaEditorContext=U.i,exports.getAgentStreamDefinition=n.c,exports.getAiDictationUrl=e.i,exports.getAiPromptUrl=n.E,exports.getChartDatasetIds=s.i,exports.getDefaultLiteralValue=L.r,exports.getLocale=t.t,exports.getParameterTypeLabel=L.i,exports.getSelectableParameterTypes=L.a,exports.getTheme=j.t,exports.getUploadUrl=e.o,exports.getValueForFormatter=B.n,exports.hasProgressChunk=n.p,exports.isAiPromptAcceptedImageFile=e.f,exports.isAiPromptAcceptedImageMimeType=e.p,exports.isAiPromptAcceptedImageUrl=e.m,exports.isFilterParameterDefinition=L.o,exports.isRecognizedStep=n.t,exports.itemGroups=de,exports.itemList=pe,exports.itemTypes=fe,exports.loadDataFieldsForDatasets=_.t,exports.localize=r.t,exports.mergeThemeIntoChart=s.a,exports.normalizeChartConfig=s.o,exports.normalizeParameterName=L.s,exports.parseStreamLine=n.h,exports.processStreamChunk=n.l,exports.readNdjsonStream=n.g,exports.reverseTransformFilters=I.n,exports.setLocale=t.n,exports.streamAiDictation=e.a,exports.switchItem=B.i,exports.systemThemeIds=j.n,exports.targetLocales=t.r,exports.toLogicalCondition=I.r,exports.transformDateToTimezone=B.r,exports.transformFilters=I.i,exports.uploadAiPromptImages=e.s;
20
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("./tokens-BWMfo_w4.cjs");const e=require("./ai-interaction-textarea-BmvVVCmL.cjs"),t=require("./set-locale-BkMmLcm6.cjs"),n=require("./ai-chat-BNcSadGI.cjs"),r=require("./localize-D3i4Epy_.cjs"),i=require("./dataset-icon-CmgJeTKm.cjs"),a=require("./dataset-selector-row-mOGioXLM.cjs"),o=require("./interactive-viz-item-SF12d97t.cjs"),s=require("./chart-helpers-BHxQbLBw.cjs"),c=require("./add-to-dashboard-BtzTZdjN.cjs"),l=require("./item-slot-drop-panel-Oh8zdKJH.cjs"),u=require("./item-option-DpLdospV.cjs"),d=require("./dataset-selector-list-CmZaj20L.cjs"),f=require("./formatter-D_hJ1XXN.cjs"),p=require("./decompose-numeric-format-DGJua3rU.cjs"),m=require("./display-settings-DaZ3CiKB.cjs"),h=require("./formula-display-store-D7fzKNfW.cjs"),g=require("./convert-datasets-to-data-fields-B13rl1an.cjs"),_=require("./load-data-fields-for-datasets-DYgA0164.cjs"),v=require("./formula-CXrr9wJZ.cjs"),y=require("./display-settings-binning-D5zhoC7D.cjs"),b=require("./display-settings-datetime-t70VEfHe.cjs"),x=require("./display-settings-grand-totals-C_Fzk7oV.cjs"),S=require("./display-settings-numeric-BF8BA5MH.cjs"),C=require("./period-over-period-condition.const-C1NZ9Bkp.cjs"),w=require("./display-settings-period-over-period-B8Ne3lq-.cjs"),T=require("./data-field-level-DOEYwcvM.cjs"),E=require("./data-field-BORlpZZk.cjs"),D=require("./data-field-panel-DmMkAYAz.cjs"),O=require("./slot-menu-C8p0nkVS.cjs"),k=require("./slot-menu-list-C2nLODML.cjs"),A=require("./item-slot-drop-DLzi4Dik.cjs"),j=require("./themes-kvrISOTz.cjs"),M=require("./types-pVa6ut_v.cjs"),N=require("./item-option-panel-CU51qvgV.cjs"),P=require("./filter-item-DQNbp7Qn.cjs"),F=require("./filter-expression-picker-DDSI9bYq.cjs"),I=require("./filters-LDXhe1Bp.cjs"),ee=require("./data-fields-select-BOqmoE7n.cjs"),L=require("./filter-parameter-picker-DjQVFIfg.cjs"),R=require("./filter-value-picker-CMNxLzj7.cjs"),z=require("./filter-value-picker-datetime-BVDQ-og5.cjs"),B=require("./utils-DIKmx9O1.cjs"),V=require("./filter-value-picker-hierarchy-CXPC_4MU.cjs"),H=require("./filter-value-picker-numeric-C7_-Fpol.cjs"),U=require("./formula-input-base-BoWiH97v.cjs"),W=require("./formula-field-DSSpI8LB.cjs"),G=require("./formula-editor-D_NRhjUI.cjs"),K=require("./item-option-action-button-group-BMgUwveA.cjs"),q=require("./item-option-color-palette-picker-CnM1Gi6o.cjs"),J=require("./item-option-color-picker-CNW7GsCO.cjs"),Y=require("./item-option-color-range-BqSbuSZh.cjs"),X=require("./item-option-guidelines-z9BsGR-l.cjs"),Z=require("./item-option-multi-language-field-DM2PENxV.cjs"),Q=require("./item-option-number-field-Cw2ofJL7.cjs"),$=require("./item-option-picker-EJlc0bmj.cjs"),te=require("./item-option-position-picker-Ba7cBvlL.cjs"),ne=require("./item-option-positions-number-field-BQ8gFOAn.cjs"),re=require("./item-option-radio-button-group-2hX-E2WV.cjs"),ie=require("./item-option-slider-Kz2eFBql.cjs"),ae=require("./item-option-switch-BUteU1mc.cjs"),oe=require("./item-option-text-field-BC9fR-yW.cjs"),se=require("./item-grid-DveTRc7D.cjs"),ce=require("./item-grid-item-actions-menu-xRrT9dkY.cjs"),le=require("./item-slot-picker-O9HKr3mv.cjs"),ue=require("./item-slot-picker-panel-Cw3UCK03.cjs");require("./types.cjs");var de=[{key:`general`,label:`General`},{key:`filters`,label:`Filters`},{key:`bar-column`,label:`Bar & Column Charts`},{key:`line`,label:`Line Charts`},{key:`scatter-bubble`,label:`Scatter & Bubble Plots`},{key:`area`,label:`Area Charts`},{key:`pie-donut`,label:`Pie & Donut`},{key:`gauges`,label:`Gauges`},{key:`map`,label:`Map Charts`},{key:`hierarchical`,label:`Hierarchical Charts`},{key:`special`,label:`Special Charts`},{key:`financial`,label:`Financial Charts`}],fe=[{type:`area-chart`,label:`Area Chart`},{type:`bar-chart`,label:`Bar Chart`},{type:`box-plot`,label:`Box Plot`},{type:`bubble-chart`,label:`Bubble Chart`},{type:`bullet-chart`,label:`Bullet Chart`},{type:`choropleth-map`,label:`Choropleth Map`},{type:`circle-pack-chart`,label:`Circle Pack Chart`},{type:`circular-gauge`,label:`Circular Gauge`},{type:`column-chart`,label:`Column Chart`},{type:`combination-chart`,label:`Combination Chart`},{type:`conditional-number`,label:`Conditional Number`},{type:`date-comparison-filter`,label:`Date Comparison Filter`},{type:`date-filter`,label:`Date Filter`},{type:`donut-chart`,label:`Donut Chart`},{type:`dropdown-filter`,label:`Dropdown Filter`},{type:`evolution-number`,label:`Evolution Number`},{type:`funnel-chart`,label:`Funnel Chart`},{type:`heat-map`,label:`Heat Map`},{type:`heat-table`,label:`Heat Table`},{type:`hexbin-map`,label:`Hexbin Map`},{type:`image`,label:`Image`},{type:`line-chart`,label:`Line Chart`},{type:`marker-map`,label:`Marker Map`},{type:`ohlc-chart`,label:`OHLC Chart`},{type:`parallel-coordinates-plot`,label:`Parallel Coordinates Plot`},{type:`pivot-table`,label:`Pivot Table`},{type:`pyramid-chart`,label:`Pyramid Chart`},{type:`radar-chart`,label:`Radar Chart`},{type:`regular-table`,label:`Regular Table`},{type:`route-map`,label:`Route Map`},{type:`sankey-diagram`,label:`Sankey Diagram`},{type:`scatter-plot`,label:`Scatter Plot`},{type:`search-filter`,label:`Search Filter`},{type:`slicer-filter`,label:`Slicer Filter`},{type:`slider-filter`,label:`Slider Filter`},{type:`speedometer-chart`,label:`Speedometer Chart`},{type:`spike-map`,label:`Spike Map`},{type:`strip-plot`,label:`Strip Plot`},{type:`sunburst-chart`,label:`Sunburst Chart`},{type:`symbol-map`,label:`Symbol Map`},{type:`text`,label:`Text`},{type:`treemap-chart`,label:`Treemap Chart`},{type:`video`,label:`Video`},{type:`wordcloud-chart`,label:`Wordcloud Chart`}],pe=[{item:`text`,type:`text`,label:`Text`,group:`general`},{item:`image`,type:`image`,label:`Image`,group:`general`},{item:`evolution-number`,type:`evolution-number`,label:`Number with evolution`,group:`general`},{item:`video`,type:`video`,label:`Video`,group:`general`},{item:`regular-table`,type:`regular-table`,label:`Regular Table`,group:`general`},{item:`pivot-table`,type:`pivot-table`,label:`Pivot Table`,group:`general`},{item:`spacer`,type:`spacer`,label:`Spacer`,group:`general`},{item:`date-comparison-filter`,type:`date-comparison-filter`,label:`Date Comparison Filter`,group:`filters`},{item:`date-filter`,type:`date-filter`,label:`Date Filter`,group:`filters`},{item:`slider-filter`,type:`slider-filter`,label:`Slider Filter`,group:`filters`},{item:`search-filter`,type:`search-filter`,label:`Search Filter`,group:`filters`},{item:`dropdown-filter`,type:`dropdown-filter`,label:`Dropdown Filter`,group:`filters`},{item:`slicer-filter-vertical`,type:`slicer`,label:`Slicer Filter`,group:`filters`,options:{layout:{alignment:`vertical`}}},{item:`slicer-filter-horizontal`,type:`slicer`,label:`Slicer Filter Horizontal`,group:`filters`,options:{layout:{alignment:`horizontal`}}},{item:`slicer-filter-table`,type:`slicer`,label:`Slicer Filter Table`,group:`filters`,options:{layout:{alignment:`table`}}},{item:`rank-slicer-filter`,type:`slicer`,label:`Rank Slicer Filter`,group:`filters`,options:{layout:{alignment:`rank-vertical`}}},{item:`bar-chart`,type:`bar-chart`,label:`Bar Chart`,group:`bar-column`},{item:`grouped-bar-chart`,type:`bar-chart`,label:`Grouped Bar Chart`,group:`bar-column`,options:{mode:`grouped`}},{item:`stacked-bar-chart`,type:`bar-chart`,label:`Stacked Bar Chart`,group:`bar-column`,options:{mode:`stacked`}},{item:`column-chart`,type:`column-chart`,label:`Column Chart`,group:`bar-column`},{item:`grouped-column-chart`,type:`column-chart`,label:`Grouped Column Chart`,group:`bar-column`,options:{mode:`grouped`}},{item:`stacked-column-chart`,type:`column-chart`,label:`Stacked Column Chart`,group:`bar-column`,options:{mode:`stacked`}},{item:`line-chart`,type:`line-chart`,label:`Line Chart`,group:`line`},{item:`grouped-line-chart`,type:`line-chart`,label:`Grouped Line Chart`,group:`line`,options:{mode:`grouped`}},{item:`scatter-plot`,type:`scatter-plot`,label:`Scatter Plot`,group:`scatter-bubble`},{item:`scatter-group`,type:`scatter-plot`,label:`Scatter Group`,group:`scatter-bubble`},{item:`bubble-plot`,type:`scatter-plot`,label:`Bubble Plot`,group:`scatter-bubble`},{item:`colored-bubble-plot`,type:`scatter-plot`,label:`Colored Bubble Plot`,group:`scatter-bubble`},{item:`area-chart`,type:`area-chart`,label:`Area Chart`,group:`area`},{item:`stacked-area-chart`,type:`area-chart`,label:`Stacked Area Chart`,group:`area`,options:{mode:`stacked`}},{item:`100-area-chart`,type:`area-chart`,label:`100% Stacked Area Chart`,group:`area`,options:{mode:`100%`}},{item:`streamgraph`,type:`area-chart`,label:`Streamgraph`,group:`area`},{item:`pie-chart`,type:`donut-chart`,label:`Pie Chart`,group:`pie-donut`},{item:`donut-chart`,type:`donut-chart`,label:`Donut Chart`,group:`pie-donut`},{item:`semi-pie-chart`,type:`donut-chart`,label:`Semi Pie Chart`,group:`pie-donut`},{item:`semi-donut-chart`,type:`donut-chart`,label:`Semi Donut Chart`,group:`pie-donut`},{item:`bullet-chart`,type:`bullet-chart`,label:`Bullet Chart`,group:`gauges`},{item:`circular-gauge`,type:`circular-gauge`,label:`Circular Gauge`,group:`gauges`},{item:`conditional-number`,type:`conditional-number`,label:`Conditional Number`,group:`gauges`},{item:`speedometer-chart`,type:`speedometer-chart`,label:`Speedometer`,group:`gauges`},{item:`choropleth-map`,type:`choropleth-map`,label:`Choropleth Map`,group:`map`},{item:`symbol-map`,type:`symbol-map`,label:`Symbol Map`,group:`map`},{item:`marker-map`,type:`marker-map`,label:`Marker Map`,group:`map`},{item:`hexbin-map`,type:`hexbin-map`,label:`Hexbin Map`,group:`map`},{item:`heat-map`,type:`heat-map`,label:`Heat Map`,group:`map`},{item:`route-map`,type:`route-map`,label:`Route Map`,group:`map`},{item:`spike-map`,type:`spike-map`,label:`Spike Map`,group:`map`},{item:`treemap-chart`,type:`treemap-chart`,label:`Treemap Chart`,group:`hierarchical`},{item:`sunburst-chart`,type:`sunburst-chart`,label:`Sunburst Chart`,group:`hierarchical`},{item:`circle-pack-chart`,type:`circle-pack-chart`,label:`Circle Pack Chart`,group:`hierarchical`},{item:`combination-chart`,type:`combination-chart`,label:`Combination Chart`,group:`special`},{item:`parallel-coordinates-plot`,type:`parallel-coordinates-plot`,label:`Parallel Coordinates Plot`,group:`special`},{item:`bubble-chart`,type:`bubble-chart`,label:`Bubble Chart`,group:`special`},{item:`strip-plot`,type:`strip-plot`,label:`Strip Plot`,group:`special`},{item:`radar-chart`,type:`radar-chart`,label:`Radar Chart`,group:`special`},{item:`pyramid-chart`,type:`pyramid-chart`,label:`Pyramid Chart`,group:`special`},{item:`funnel-chart`,type:`funnel-chart`,label:`Funnel Chart`,group:`special`},{item:`alluvial-diagram`,type:`alluvial-diagram`,label:`Alluvial Diagram`,group:`special`},{item:`sankey-diagram`,type:`sankey-diagram`,label:`Sankey Diagram`,group:`special`},{item:`venn-diagram`,type:`venn-diagram`,label:`Venn Diagram`,group:`special`},{item:`box-plot`,type:`box-plot`,label:`Box Plot`,group:`special`},{item:`heat-table`,type:`heat-table`,label:`Heat Table`,group:`special`},{item:`wordcloud-chart`,type:`wordcloud-chart`,label:`Wordcloud Chart`,group:`special`},{item:`ohlc-chart`,type:`ohlc-chart`,label:`OHLC Chart`,group:`financial`},{item:`candlestick-chart`,type:`ohlc-chart`,label:`Candlestick Chart`,group:`financial`}];exports.AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES=e.c,exports.AI_PROMPT_MAX_ATTACHMENTS=e.l,exports.AiChatSession=n.i,exports.AiChatSessionController=n.r,exports.CARTESIAN_GUIDELINE_LINE_TYPES=M.t,exports.DATE_LEVEL_AND_ABOVE=B.t,exports.DEFAULT_GUIDELINE_COLOR_DARK=M.n,exports.DEFAULT_GUIDELINE_COLOR_LIGHT=M.r,exports.DEFAULT_GUIDELINE_DEBOUNCE=M.i,exports.DEFAULT_GUIDELINE_STYLE=M.a,exports.DEFAULT_NUMERIC_GUIDELINE_VALUE=M.o,exports.DEFAULT_RANKING_NUMBER=s.c,exports.FilterUnrepresentableError=I.a,exports.FormulaAggregationGrouping=h.g,exports.FormulaEditorStore=U.n,exports.GUIDELINE_LINE_TYPES=M.s,exports.GUIDELINE_STYLE_TYPES=M.c,exports.GUIDELINE_WIDTHS=M.l,Object.defineProperty(exports,"LuzmoAddToDashboard",{enumerable:!0,get:function(){return c.t}}),exports.LuzmoAiChat=n.n,exports.LuzmoAiChatEmptyState=n.D,Object.defineProperty(exports,"LuzmoAiInteractionTextarea",{enumerable:!0,get:function(){return e.t}}),Object.defineProperty(exports,"LuzmoDataField",{enumerable:!0,get:function(){return E.t}}),exports.LuzmoDataFieldLevel=T.t,Object.defineProperty(exports,"LuzmoDataFieldPanel",{enumerable:!0,get:function(){return D.t}}),Object.defineProperty(exports,"LuzmoDataFieldsSelect",{enumerable:!0,get:function(){return ee.t}}),exports.LuzmoDatasetIcon=i.t,exports.LuzmoDatasetSelectorList=d.t,Object.defineProperty(exports,"LuzmoDatasetSelectorRow",{enumerable:!0,get:function(){return a.t}}),exports.LuzmoDisplaySettings=m.t,Object.defineProperty(exports,"LuzmoDisplaySettingsBinning",{enumerable:!0,get:function(){return y.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsDatetime",{enumerable:!0,get:function(){return b.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsGrandTotals",{enumerable:!0,get:function(){return x.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsNumeric",{enumerable:!0,get:function(){return S.t}}),Object.defineProperty(exports,"LuzmoDisplaySettingsPeriodOverPeriod",{enumerable:!0,get:function(){return w.t}}),Object.defineProperty(exports,"LuzmoFilterExpressionPicker",{enumerable:!0,get:function(){return F.t}}),Object.defineProperty(exports,"LuzmoFilterItem",{enumerable:!0,get:function(){return P.t}}),Object.defineProperty(exports,"LuzmoFilterParameterPicker",{enumerable:!0,get:function(){return L.t}}),exports.LuzmoFilterValuePicker=R.t,Object.defineProperty(exports,"LuzmoFilterValuePickerDatetime",{enumerable:!0,get:function(){return z.t}}),Object.defineProperty(exports,"LuzmoFilterValuePickerHierarchy",{enumerable:!0,get:function(){return V.t}}),Object.defineProperty(exports,"LuzmoFilterValuePickerNumeric",{enumerable:!0,get:function(){return H.t}}),Object.defineProperty(exports,"LuzmoFilters",{enumerable:!0,get:function(){return I.t}}),Object.defineProperty(exports,"LuzmoFormula",{enumerable:!0,get:function(){return v.t}}),Object.defineProperty(exports,"LuzmoFormulaEditor",{enumerable:!0,get:function(){return G.t}}),Object.defineProperty(exports,"LuzmoFormulaField",{enumerable:!0,get:function(){return W.t}}),exports.LuzmoInteractiveVizItem=o.t,exports.LuzmoItemGrid=se.t,Object.defineProperty(exports,"LuzmoItemGridItemActionsMenu",{enumerable:!0,get:function(){return ce.t}}),exports.LuzmoItemOption=u.t,exports.LuzmoItemOptionActionButtonGroup=K.t,exports.LuzmoItemOptionColorPalettePicker=q.t,exports.LuzmoItemOptionColorPicker=J.t,exports.LuzmoItemOptionColorRange=Y.t,Object.defineProperty(exports,"LuzmoItemOptionGuidelines",{enumerable:!0,get:function(){return X.t}}),exports.LuzmoItemOptionMultiLangField=Z.t,exports.LuzmoItemOptionNumberField=Q.t,exports.LuzmoItemOptionPanel=N.t,exports.LuzmoItemOptionPicker=$.t,exports.LuzmoItemOptionPositionPicker=te.t,exports.LuzmoItemOptionPositionsNumberField=ne.t,exports.LuzmoItemOptionRadioButtonGroup=re.t,exports.LuzmoItemOptionSlider=ie.t,exports.LuzmoItemOptionSwitch=ae.t,exports.LuzmoItemOptionTextField=oe.t,Object.defineProperty(exports,"LuzmoItemSlotDrop",{enumerable:!0,get:function(){return A.t}}),Object.defineProperty(exports,"LuzmoItemSlotDropPanel",{enumerable:!0,get:function(){return l.t}}),Object.defineProperty(exports,"LuzmoItemSlotPicker",{enumerable:!0,get:function(){return le.t}}),Object.defineProperty(exports,"LuzmoItemSlotPickerPanel",{enumerable:!0,get:function(){return ue.t}}),exports.LuzmoSlotMenu=O.t,exports.LuzmoSlotMenuList=k.t,exports.MAX_FILTER_NESTING_DEPTH=I.o,exports.PeriodOverPeriodCondition=C.t,exports.ROOT_EDITOR_ID=U.r,exports.RankingDirection=s.l,exports.SortBy=s.u,exports.SortDirection=s.d,exports.applyChartMutation=s.t,exports.assertValidAiPromptAttachmentFiles=e.u,exports.assertValidAiPromptAttachmentUrls=e.d,exports.blobToBase64=e.n,exports.buildAiDictationRequest=e.r,exports.buildAiPromptDeleteRequest=n._,exports.buildAiPromptProperties=n.v,exports.buildAiPromptRequest=n.y,exports.buildAnalystAiPromptProperties=n.b,exports.buildCustomItemAiPromptProperties=n.x,exports.buildDashboardAiPromptProperties=n.S,exports.buildItemAiPromptProperties=n.C,exports.buildSavedAgentAiPromptProperties=n.w,exports.calculateChartActions=s.n,exports.chartToItemAsset=n.T,exports.convertDatasetsToDataFields=g.t,exports.convertSlotsToArray=s.r,exports.createAiChatSession=n.a,exports.createDashboardActions=c.n,exports.createFilterParameter=L.n,exports.createInitialProgress=n.f,exports.createInitialStreamState=n.o,exports.createStreamHandler=n.s,exports.decomposeNumericFormat=p.t,exports.detectFiltersFormat=I.s,exports.ensureFormulaCodeMirrorLoaded=h.s,exports.extractChartFromChunk=n.u,exports.extractDashboardFromChunk=n.d,exports.fetchStreamingResponse=n.m,exports.formatter=f.t,exports.formulaEditorContext=U.i,exports.getAgentStreamDefinition=n.c,exports.getAiDictationUrl=e.i,exports.getAiPromptUrl=n.E,exports.getChartDatasetIds=s.i,exports.getDefaultLiteralValue=L.r,exports.getLocale=t.t,exports.getParameterTypeLabel=L.i,exports.getSelectableParameterTypes=L.a,exports.getTheme=j.t,exports.getUploadUrl=e.o,exports.getValueForFormatter=B.n,exports.hasProgressChunk=n.p,exports.isAiPromptAcceptedImageFile=e.f,exports.isAiPromptAcceptedImageMimeType=e.p,exports.isAiPromptAcceptedImageUrl=e.m,exports.isFilterParameterDefinition=L.o,exports.isRecognizedStep=n.t,exports.itemGroups=de,exports.itemList=pe,exports.itemTypes=fe,exports.loadDataFieldsForDatasets=_.t,exports.localize=r.t,exports.mergeThemeIntoChart=s.o,exports.normalizeChartConfig=s.s,exports.normalizeParameterName=L.s,exports.parseStreamLine=n.h,exports.processStreamChunk=n.l,exports.readNdjsonStream=n.g,exports.reverseTransformFilters=I.n,exports.setLocale=t.n,exports.streamAiDictation=e.a,exports.switchItem=B.i,exports.systemThemeIds=j.n,exports.targetLocales=t.r,exports.toLogicalCondition=I.r,exports.transformDateToTimezone=B.r,exports.transformFilters=I.i,exports.uploadAiPromptImages=e.s;
@@ -24,9 +24,9 @@ import { C as _, D as v, E as y, S as b, T as x, _ as S, a as C, b as w, c as T,
24
24
  import { t as W } from "./localize-BNystXyK.js";
25
25
  import { t as G } from "./dataset-icon-DAeC0MBI.js";
26
26
  import { t as K } from "./dataset-selector-row-D_7iBmdm.js";
27
- import { t as q } from "./interactive-viz-item-BKLOmawA.js";
28
- import { a as J, c as Y, i as X, l as Z, n as Q, o as $, r as ee, s as te, t as ne, u as re } from "./chart-helpers-Cbl3sRra.js";
29
- import { n as ie, t as ae } from "./add-to-dashboard-DGC0_hRB.js";
27
+ import { t as q } from "./interactive-viz-item-Cc3Ix95e.js";
28
+ import { c as J, d as Y, i as X, l as Z, n as Q, o as $, r as ee, s as te, t as ne, u as re } from "./chart-helpers-BKeMLhov.js";
29
+ import { n as ie, t as ae } from "./add-to-dashboard-Bu6S3qVz.js";
30
30
  import { t as oe } from "./item-slot-drop-panel-o5UdVrY_.js";
31
31
  import { t as se } from "./item-option-DKLRnicU.js";
32
32
  import { t as ce } from "./dataset-selector-list-BzI8n_dB.js";
@@ -54,7 +54,7 @@ import { a as je, c as Me, i as Ne, l as Pe, n as Fe, o as Ie, r as Le, s as Re,
54
54
  import { t as Be } from "./item-option-panel-BLXWIbjX.js";
55
55
  import { t as Ve } from "./filter-item-QJ3sDlmG.js";
56
56
  import { t as He } from "./filter-expression-picker-Cc3xfiGT.js";
57
- import { a as Ue, i as We, n as Ge, o as Ke, r as qe, s as Je, t as Ye } from "./filters-CxIzuI5q.js";
57
+ import { a as Ue, i as We, n as Ge, o as Ke, r as qe, s as Je, t as Ye } from "./filters-DEpmh9Nj.js";
58
58
  import { t as Xe } from "./data-fields-select-af1HZLWS.js";
59
59
  import { a as Ze, i as Qe, n as $e, o as et, r as tt, s as nt, t as rt } from "./filter-parameter-picker-C8qwIo_H.js";
60
60
  import { t as it } from "./filter-value-picker-DIYyMymr.js";
@@ -82,7 +82,7 @@ import { t as At } from "./item-option-text-field-Dy8pqVKJ.js";
82
82
  import { t as jt } from "./item-grid-DscQOFMu.js";
83
83
  import { t as Mt } from "./item-grid-item-actions-menu-B1bKfagj.js";
84
84
  import { t as Nt } from "./item-slot-picker-ilmmb0-8.js";
85
- import { t as Pt } from "./item-slot-picker-panel-fJqEmxeD.js";
85
+ import { t as Pt } from "./item-slot-picker-panel-DprM9Rli.js";
86
86
  import "./types.js";
87
87
  // src/item-definitions/item-list.ts
88
88
  var Ft = [
@@ -714,4 +714,4 @@ var Ft = [
714
714
  group: "financial"
715
715
  }
716
716
  ];
717
- export { t as AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES, a as AI_PROMPT_MAX_ATTACHMENTS, A as AiChatSession, I as AiChatSessionController, ze as CARTESIAN_GUIDELINE_LINE_TYPES, lt as DATE_LEVEL_AND_ABOVE, Fe as DEFAULT_GUIDELINE_COLOR_DARK, Le as DEFAULT_GUIDELINE_COLOR_LIGHT, Ne as DEFAULT_GUIDELINE_DEBOUNCE, je as DEFAULT_GUIDELINE_STYLE, Ie as DEFAULT_NUMERIC_GUIDELINE_VALUE, te as DEFAULT_RANKING_NUMBER, Ue as FilterUnrepresentableError, fe as FormulaAggregationGrouping, pt as FormulaEditorStore, Re as GUIDELINE_LINE_TYPES, Me as GUIDELINE_STYLE_TYPES, Pe as GUIDELINE_WIDTHS, ae as LuzmoAddToDashboard, N as LuzmoAiChat, v as LuzmoAiChatEmptyState, f as LuzmoAiInteractionTextarea, we as LuzmoDataField, Ce as LuzmoDataFieldLevel, Te as LuzmoDataFieldPanel, Xe as LuzmoDataFieldsSelect, G as LuzmoDatasetIcon, ce as LuzmoDatasetSelectorList, K as LuzmoDatasetSelectorRow, de as LuzmoDisplaySettings, _e as LuzmoDisplaySettingsBinning, ve as LuzmoDisplaySettingsDatetime, ye as LuzmoDisplaySettingsGrandTotals, be as LuzmoDisplaySettingsNumeric, Se as LuzmoDisplaySettingsPeriodOverPeriod, He as LuzmoFilterExpressionPicker, Ve as LuzmoFilterItem, rt as LuzmoFilterParameterPicker, it as LuzmoFilterValuePicker, at as LuzmoFilterValuePickerDatetime, ut as LuzmoFilterValuePickerHierarchy, dt as LuzmoFilterValuePickerNumeric, Ye as LuzmoFilters, ge as LuzmoFormula, gt as LuzmoFormulaEditor, ht as LuzmoFormulaField, q as LuzmoInteractiveVizItem, jt as LuzmoItemGrid, Mt as LuzmoItemGridItemActionsMenu, se as LuzmoItemOption, _t as LuzmoItemOptionActionButtonGroup, vt as LuzmoItemOptionColorPalettePicker, yt as LuzmoItemOptionColorPicker, bt as LuzmoItemOptionColorRange, xt as LuzmoItemOptionGuidelines, St as LuzmoItemOptionMultiLangField, Ct as LuzmoItemOptionNumberField, Be as LuzmoItemOptionPanel, wt as LuzmoItemOptionPicker, Tt as LuzmoItemOptionPositionPicker, Et as LuzmoItemOptionPositionsNumberField, Dt as LuzmoItemOptionRadioButtonGroup, Ot as LuzmoItemOptionSlider, kt as LuzmoItemOptionSwitch, At as LuzmoItemOptionTextField, Oe as LuzmoItemSlotDrop, oe as LuzmoItemSlotDropPanel, Nt as LuzmoItemSlotPicker, Pt as LuzmoItemSlotPickerPanel, Ee as LuzmoSlotMenu, De as LuzmoSlotMenuList, Ke as MAX_FILTER_NESTING_DEPTH, xe as PeriodOverPeriodCondition, mt as ROOT_EDITOR_ID, Y as RankingDirection, Z as SortBy, re as SortDirection, ne as applyChartMutation, p as assertValidAiPromptAttachmentFiles, n as assertValidAiPromptAttachmentUrls, s as blobToBase64, u as buildAiDictationRequest, S as buildAiPromptDeleteRequest, B as buildAiPromptProperties, U as buildAiPromptRequest, w as buildAnalystAiPromptProperties, H as buildCustomItemAiPromptProperties, b as buildDashboardAiPromptProperties, _ as buildItemAiPromptProperties, V as buildSavedAgentAiPromptProperties, Q as calculateChartActions, x as chartToItemAsset, me as convertDatasetsToDataFields, ee as convertSlotsToArray, C as createAiChatSession, ie as createDashboardActions, $e as createFilterParameter, D as createInitialProgress, P as createInitialStreamState, L as createStreamHandler, ue as decomposeNumericFormat, Je as detectFiltersFormat, pe as ensureFormulaCodeMirrorLoaded, z as extractChartFromChunk, E as extractDashboardFromChunk, M as fetchStreamingResponse, le as formatter, ft as formulaEditorContext, T as getAgentStreamDefinition, i as getAiDictationUrl, y as getAiPromptUrl, X as getChartDatasetIds, tt as getDefaultLiteralValue, g as getLocale, Qe as getParameterTypeLabel, Ze as getSelectableParameterTypes, Ae as getTheme, c as getUploadUrl, st as getValueForFormatter, F as hasProgressChunk, r as isAiPromptAcceptedImageFile, l as isAiPromptAcceptedImageMimeType, o as isAiPromptAcceptedImageUrl, et as isFilterParameterDefinition, R as isRecognizedStep, Ft as itemGroups, Lt as itemList, It as itemTypes, he as loadDataFieldsForDatasets, W as localize, J as mergeThemeIntoChart, $ as normalizeChartConfig, nt as normalizeParameterName, k as parseStreamLine, j as processStreamChunk, O as readNdjsonStream, Ge as reverseTransformFilters, m as setLocale, e as streamAiDictation, ot as switchItem, ke as systemThemeIds, h as targetLocales, qe as toLogicalCondition, ct as transformDateToTimezone, We as transformFilters, d as uploadAiPromptImages };
717
+ export { t as AI_PROMPT_ACCEPTED_IMAGE_MIME_TYPES, a as AI_PROMPT_MAX_ATTACHMENTS, A as AiChatSession, I as AiChatSessionController, ze as CARTESIAN_GUIDELINE_LINE_TYPES, lt as DATE_LEVEL_AND_ABOVE, Fe as DEFAULT_GUIDELINE_COLOR_DARK, Le as DEFAULT_GUIDELINE_COLOR_LIGHT, Ne as DEFAULT_GUIDELINE_DEBOUNCE, je as DEFAULT_GUIDELINE_STYLE, Ie as DEFAULT_NUMERIC_GUIDELINE_VALUE, J as DEFAULT_RANKING_NUMBER, Ue as FilterUnrepresentableError, fe as FormulaAggregationGrouping, pt as FormulaEditorStore, Re as GUIDELINE_LINE_TYPES, Me as GUIDELINE_STYLE_TYPES, Pe as GUIDELINE_WIDTHS, ae as LuzmoAddToDashboard, N as LuzmoAiChat, v as LuzmoAiChatEmptyState, f as LuzmoAiInteractionTextarea, we as LuzmoDataField, Ce as LuzmoDataFieldLevel, Te as LuzmoDataFieldPanel, Xe as LuzmoDataFieldsSelect, G as LuzmoDatasetIcon, ce as LuzmoDatasetSelectorList, K as LuzmoDatasetSelectorRow, de as LuzmoDisplaySettings, _e as LuzmoDisplaySettingsBinning, ve as LuzmoDisplaySettingsDatetime, ye as LuzmoDisplaySettingsGrandTotals, be as LuzmoDisplaySettingsNumeric, Se as LuzmoDisplaySettingsPeriodOverPeriod, He as LuzmoFilterExpressionPicker, Ve as LuzmoFilterItem, rt as LuzmoFilterParameterPicker, it as LuzmoFilterValuePicker, at as LuzmoFilterValuePickerDatetime, ut as LuzmoFilterValuePickerHierarchy, dt as LuzmoFilterValuePickerNumeric, Ye as LuzmoFilters, ge as LuzmoFormula, gt as LuzmoFormulaEditor, ht as LuzmoFormulaField, q as LuzmoInteractiveVizItem, jt as LuzmoItemGrid, Mt as LuzmoItemGridItemActionsMenu, se as LuzmoItemOption, _t as LuzmoItemOptionActionButtonGroup, vt as LuzmoItemOptionColorPalettePicker, yt as LuzmoItemOptionColorPicker, bt as LuzmoItemOptionColorRange, xt as LuzmoItemOptionGuidelines, St as LuzmoItemOptionMultiLangField, Ct as LuzmoItemOptionNumberField, Be as LuzmoItemOptionPanel, wt as LuzmoItemOptionPicker, Tt as LuzmoItemOptionPositionPicker, Et as LuzmoItemOptionPositionsNumberField, Dt as LuzmoItemOptionRadioButtonGroup, Ot as LuzmoItemOptionSlider, kt as LuzmoItemOptionSwitch, At as LuzmoItemOptionTextField, Oe as LuzmoItemSlotDrop, oe as LuzmoItemSlotDropPanel, Nt as LuzmoItemSlotPicker, Pt as LuzmoItemSlotPickerPanel, Ee as LuzmoSlotMenu, De as LuzmoSlotMenuList, Ke as MAX_FILTER_NESTING_DEPTH, xe as PeriodOverPeriodCondition, mt as ROOT_EDITOR_ID, Z as RankingDirection, re as SortBy, Y as SortDirection, ne as applyChartMutation, p as assertValidAiPromptAttachmentFiles, n as assertValidAiPromptAttachmentUrls, s as blobToBase64, u as buildAiDictationRequest, S as buildAiPromptDeleteRequest, B as buildAiPromptProperties, U as buildAiPromptRequest, w as buildAnalystAiPromptProperties, H as buildCustomItemAiPromptProperties, b as buildDashboardAiPromptProperties, _ as buildItemAiPromptProperties, V as buildSavedAgentAiPromptProperties, Q as calculateChartActions, x as chartToItemAsset, me as convertDatasetsToDataFields, ee as convertSlotsToArray, C as createAiChatSession, ie as createDashboardActions, $e as createFilterParameter, D as createInitialProgress, P as createInitialStreamState, L as createStreamHandler, ue as decomposeNumericFormat, Je as detectFiltersFormat, pe as ensureFormulaCodeMirrorLoaded, z as extractChartFromChunk, E as extractDashboardFromChunk, M as fetchStreamingResponse, le as formatter, ft as formulaEditorContext, T as getAgentStreamDefinition, i as getAiDictationUrl, y as getAiPromptUrl, X as getChartDatasetIds, tt as getDefaultLiteralValue, g as getLocale, Qe as getParameterTypeLabel, Ze as getSelectableParameterTypes, Ae as getTheme, c as getUploadUrl, st as getValueForFormatter, F as hasProgressChunk, r as isAiPromptAcceptedImageFile, l as isAiPromptAcceptedImageMimeType, o as isAiPromptAcceptedImageUrl, et as isFilterParameterDefinition, R as isRecognizedStep, Ft as itemGroups, Lt as itemList, It as itemTypes, he as loadDataFieldsForDatasets, W as localize, $ as mergeThemeIntoChart, te as normalizeChartConfig, nt as normalizeParameterName, k as parseStreamLine, j as processStreamChunk, O as readNdjsonStream, Ge as reverseTransformFilters, m as setLocale, e as streamAiDictation, ot as switchItem, ke as systemThemeIds, h as targetLocales, qe as toLogicalCondition, ct as transformDateToTimezone, We as transformFilters, d as uploadAiPromptImages };
@@ -1,7 +1,8 @@
1
- import { type ChartActionDescriptor, type ChartMutationRequest, type FlexChartConfig, type NormalizedChartConfig, type SlotConfig } from '../types';
1
+ import { type ChartActionDescriptor, type ChartMutationRequest, type ChartOptions, type FlexChartConfig, type NormalizedChartConfig, type SlotConfig } from '../types';
2
2
  export declare function convertSlotsToArray(slots: SlotConfig[] | Record<string, unknown>): SlotConfig[];
3
3
  export declare function getChartDatasetIds(slots: SlotConfig[]): string[];
4
4
  export declare function normalizeChartConfig(chart: FlexChartConfig): NormalizedChartConfig;
5
+ export declare function mergeRenderOptions(options: ChartOptions, renderOptions: ChartOptions | null): ChartOptions;
5
6
  export declare function mergeThemeIntoChart(chart: NormalizedChartConfig, theme: Record<string, unknown>): NormalizedChartConfig;
6
7
  export declare function calculateChartActions(chart: NormalizedChartConfig): ChartActionDescriptor[];
7
8
  export declare function applyChartMutation(chart: NormalizedChartConfig, mutation: ChartMutationRequest): NormalizedChartConfig;
@@ -17,4 +17,4 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../interactive-viz-item-ojdH1uk0.cjs"),t=require("../chart-helpers-fMnqHRzC.cjs");exports.DEFAULT_RANKING_NUMBER=t.s,exports.LuzmoInteractiveVizItem=e.t,exports.RankingDirection=t.c,exports.SortBy=t.l,exports.SortDirection=t.u,exports.applyChartMutation=t.t,exports.calculateChartActions=t.n,exports.convertSlotsToArray=t.r,exports.getChartDatasetIds=t.i,exports.mergeThemeIntoChart=t.a,exports.normalizeChartConfig=t.o;
20
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../interactive-viz-item-SF12d97t.cjs"),t=require("../chart-helpers-BHxQbLBw.cjs");exports.DEFAULT_RANKING_NUMBER=t.c,exports.LuzmoInteractiveVizItem=e.t,exports.RankingDirection=t.l,exports.SortBy=t.u,exports.SortDirection=t.d,exports.applyChartMutation=t.t,exports.calculateChartActions=t.n,exports.convertSlotsToArray=t.r,exports.getChartDatasetIds=t.i,exports.mergeThemeIntoChart=t.o,exports.normalizeChartConfig=t.s;
@@ -17,6 +17,6 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { t as e } from "../interactive-viz-item-BKLOmawA.js";
21
- import { a as t, c as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../chart-helpers-Cbl3sRra.js";
22
- export { c as DEFAULT_RANKING_NUMBER, e as LuzmoInteractiveVizItem, n as RankingDirection, i as SortBy, u as SortDirection, l as applyChartMutation, a as calculateChartActions, s as convertSlotsToArray, r as getChartDatasetIds, t as mergeThemeIntoChart, o as normalizeChartConfig };
20
+ import { t as e } from "../interactive-viz-item-Cc3Ix95e.js";
21
+ import { c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../chart-helpers-BKeMLhov.js";
22
+ export { t as DEFAULT_RANKING_NUMBER, e as LuzmoInteractiveVizItem, i as RankingDirection, u as SortBy, n as SortDirection, l as applyChartMutation, a as calculateChartActions, s as convertSlotsToArray, r as getChartDatasetIds, o as mergeThemeIntoChart, c as normalizeChartConfig };
@@ -1,4 +1,5 @@
1
1
  import '@luzmo/embed';
2
+ import type { OptionsConfig, SlotConfig, TranslationOverrides, TranslationsFile, VizItemExportType } from '@luzmo/dashboard-contents-types';
2
3
  import type { LuzmoEmbedVizItem } from '@luzmo/embed';
3
4
  import '@luzmo/lucero/action-button';
4
5
  import '@luzmo/lucero/action-group';
@@ -38,9 +39,17 @@ declare const LuzmoInteractiveVizItem_base: (new (...args: any[]) => {
38
39
  * @attr can-filter - Turns on click-to-filter on the embedded chart; sets `canFilter` to `'all'`.
39
40
  * @slot chart-actions-extra - Host-injected actions rendered at the end of the inline actions bar (e.g. copy-to-dashboard).
40
41
  * @csspart container - The viz item container.
42
+ * @csspart actions-bar - The bar above the chart holding the inline actions, the `chart-actions-extra` slot and add to dashboard.
43
+ * @csspart actions - The inline chart actions (ranking, display mode) inside the actions bar.
41
44
  * @csspart chart-container - The embedded chart wrapper.
45
+ * @csspart footer - The row below the chart holding the feedback buttons and the config-panel toggle.
42
46
  * @csspart config-panel - The expandable configuration panel.
47
+ * @cssprop --luzmo-interactive-viz-item-chart-height - Height of the embedded chart. Defaults to 20rem (17.5rem at size s, 22rem at l, 24rem at xl).
43
48
  * @cssprop --luzmo-interactive-viz-item-chart-narrow-offset - Subtracted from the chart height when the component is narrower than 768px. A length: use `0px`, not `0`, to turn it off.
49
+ * @cssprop --luzmo-interactive-viz-item-actions-gap - Gap between the inline action controls.
50
+ * @cssprop --luzmo-interactive-viz-item-actions-padding-block - Vertical padding of the actions bar.
51
+ * @cssprop --luzmo-interactive-viz-item-actions-margin-block-start - Space above the actions bar.
52
+ * @cssprop --luzmo-interactive-viz-item-feedback-padding-block - Vertical padding of the footer row.
44
53
  */
45
54
  export declare class LuzmoInteractiveVizItem extends LuzmoInteractiveVizItem_base {
46
55
  static get styles(): CSSResultArray;
@@ -72,6 +81,26 @@ export declare class LuzmoInteractiveVizItem extends LuzmoInteractiveVizItem_bas
72
81
  hideFeedback: boolean;
73
82
  /** When present, hides the config-panel toggle and the panel itself. */
74
83
  hideConfigPanel: boolean;
84
+ /** When present, hides the options tab of the config panel and keeps the data tab. */
85
+ hideConfigOptions: boolean;
86
+ /**
87
+ * Whether each slot in the config panel takes one field or several, forwarded to `luzmo-item-slot-picker-panel` as `selects`.
88
+ * @default 'multiple'
89
+ */
90
+ slotSelects: 'single' | 'multiple';
91
+ /** When present, the slot pickers in the config panel grow to full width, forwarded as `grows`. */
92
+ slotGrows: boolean;
93
+ /** Slots configuration for the config panel, for a chart type ACK has no definition for (e.g. a custom chart). */
94
+ slotsConfiguration: SlotConfig[] | null;
95
+ /** Options configuration for the config panel, for a chart type ACK has no definition for (e.g. a custom chart). */
96
+ customOptionsConfiguration: OptionsConfig | null;
97
+ /** Option label translations that go with `customOptionsConfiguration`. */
98
+ customTranslations: TranslationOverrides | TranslationsFile | null;
99
+ /**
100
+ * Options applied to the embedded chart only, merged one level deep over `chart.options` (e.g. `{ display: { title: false } }`).
101
+ * They are never emitted in chart events nor saved by add to dashboard.
102
+ */
103
+ chartRenderOptions: FlexChartConfig['options'] | null;
75
104
  /** When present, renders `luzmo-add-to-dashboard` in the actions bar. */
76
105
  addToDashboard: boolean;
77
106
  /** Host data operations for add to dashboard. When unset, the built-in adapter on the auth properties is used. */
@@ -86,8 +115,12 @@ export declare class LuzmoInteractiveVizItem extends LuzmoInteractiveVizItem_bas
86
115
  */
87
116
  liveInteractions: boolean;
88
117
  private _configPanelOpen;
118
+ private _actionsSlotHasContent;
119
+ private _embed?;
120
+ private _configTabs?;
89
121
  private _configPanelPending;
90
122
  private _configPanelLoadFailed;
123
+ private _exportWaitAbort?;
91
124
  private readonly _rankingTriggerId;
92
125
  /** Bumped when the chart is swapped or auth changes; a gesture only applies to the generation it started in. */
93
126
  private _interactionGeneration;
@@ -100,9 +133,19 @@ export declare class LuzmoInteractiveVizItem extends LuzmoInteractiveVizItem_bas
100
133
  private get _rating();
101
134
  private get _canShowConfigPanel();
102
135
  private _toggleConfigPanel;
136
+ /**
137
+ * Exports the embedded chart, forwarded to its `export(type)`. Waits for the embedded renderer when it has not
138
+ * loaded yet. Resolves without a value when there is no chart, when the embed fails, or when the chart is cleared
139
+ * or the element removed before the renderer loaded.
140
+ */
141
+ export(type?: VizItemExportType): Promise<string | void>;
142
+ private _waitForEmbedRendered;
143
+ private _cancelExportWaits;
103
144
  /** Ends open option gestures in the config panel now, keeping their values. Call before swapping `chart` or removing the element. */
104
145
  endInteraction(): void;
146
+ disconnectedCallback(): void;
105
147
  protected willUpdate(changes: PropertyValues<this>): void;
148
+ protected updated(changes: PropertyValues<this>): void;
106
149
  private _emitOptions;
107
150
  private _invalidatesInteractions;
108
151
  /** Ends open gestures for good: their later updates are dropped, and their end events still name the chart they started on. */
@@ -127,6 +170,7 @@ export declare class LuzmoInteractiveVizItem extends LuzmoInteractiveVizItem_bas
127
170
  private _handleSortByChange;
128
171
  private _handleSortDirectionChange;
129
172
  private _renderAddToDashboard;
173
+ private _handleActionsSlotChange;
130
174
  private _renderActions;
131
175
  private _renderChart;
132
176
  private _renderFeedback;