@luzmo/analytics-components-kit 1.2.1 → 1.3.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 (98) hide show
  1. package/README.md +2 -0
  2. package/angular/components/interactive-viz-item.ts +2 -2
  3. package/angular/esm/components/interactive-viz-item.d.ts +2 -2
  4. package/angular/esm/components/interactive-viz-item.js +1 -1
  5. package/angular/package.json +2 -2
  6. package/components/add-to-dashboard/index.cjs +1 -1
  7. package/components/add-to-dashboard/index.js +1 -1
  8. package/components/{add-to-dashboard-NwsCPIlg.cjs → add-to-dashboard-CzIuDtAq.cjs} +1 -1
  9. package/components/{add-to-dashboard-NcVHlqrc.js → add-to-dashboard-DGC0_hRB.js} +1 -1
  10. package/components/{chart-helpers-Dng_LGfq.js → chart-helpers-Cbl3sRra.js} +3 -2
  11. package/components/chart-helpers-fMnqHRzC.cjs +20 -0
  12. package/components/index.cjs +1 -1
  13. package/components/index.js +3 -3
  14. package/components/interactive-viz-item/index.cjs +1 -1
  15. package/components/interactive-viz-item/index.d.ts +1 -1
  16. package/components/interactive-viz-item/index.js +2 -2
  17. package/components/interactive-viz-item/interactive-viz-item.d.ts +3 -1
  18. package/components/interactive-viz-item/types.d.ts +4 -0
  19. package/components/{interactive-viz-item-CwRRaCZB.js → interactive-viz-item-BKLOmawA.js} +25 -19
  20. package/components/{interactive-viz-item-CxdrGRKc.cjs → interactive-viz-item-ojdH1uk0.cjs} +21 -18
  21. package/custom-elements.json +9 -1
  22. package/package.json +2 -2
  23. package/react/package.json +2 -2
  24. package/standalone/add-to-dashboard.js +40 -40
  25. package/standalone/chunks/{chart-helpers-DsIGsaDc.js → chart-helpers-CR-EUEPf.js} +2 -2
  26. package/standalone/chunks/{choropleth-map-options.config-rUJsEJcm.js → choropleth-map-options.config-CDMjKnJD.js} +1 -1
  27. package/standalone/chunks/{color-range-utils-DxOtqAKB.js → color-range-utils-BVyHBRiq.js} +1 -1
  28. package/standalone/chunks/de-BkB0q1Eg.js +2 -0
  29. package/standalone/chunks/display-settings-binning-BeLLxd3i.js +38 -0
  30. package/standalone/chunks/display-settings-datetime-BkeiKIVV.js +199 -0
  31. package/standalone/chunks/display-settings-grand-totals-BuhpQKJ6.js +26 -0
  32. package/standalone/chunks/display-settings-numeric-m30IYI7I.js +172 -0
  33. package/standalone/chunks/display-settings-period-over-period-CqDlOSRn.js +209 -0
  34. package/standalone/chunks/embed-Bv1ps-EM.js +260 -0
  35. package/standalone/chunks/en-63f7j4v7.js +2 -0
  36. package/standalone/chunks/en-GB-QAmXQf8W.js +2 -0
  37. package/standalone/chunks/en-US-63f7j4v7.js +2 -0
  38. package/standalone/chunks/es-Bo0jStZn.js +2 -0
  39. package/standalone/chunks/{filters-DKgJcQGP.js → filters-CxgBXUF1.js} +61 -61
  40. package/standalone/chunks/{formula-codemirror-BbyvNEVD.js → formula-codemirror-Cq94j3-f.js} +17 -17
  41. package/standalone/chunks/fr-Co_qVhhV.js +2 -0
  42. package/standalone/chunks/{heat-map-options.config-D93AeYFi.js → heat-map-options.config-DDQMD38W.js} +1 -1
  43. package/standalone/chunks/{heat-table-options.config-ZVML76FK.js → heat-table-options.config-B4K0Ygug.js} +1 -1
  44. package/standalone/chunks/{is-same-option-value-Di-A7Wmg.js → is-same-option-value-7kXNF4st.js} +1 -1
  45. package/standalone/chunks/item-option-action-button-group-BoyqF9vt.js +35 -0
  46. package/standalone/chunks/item-option-base-CBcDT8MX.js +38 -0
  47. package/standalone/chunks/item-option-color-palette-picker-C9PGAv4V.js +22 -0
  48. package/standalone/chunks/item-option-color-picker-D4fVJlqF.js +19 -0
  49. package/standalone/chunks/item-option-color-range-BlAdTguE.js +83 -0
  50. package/standalone/chunks/item-option-guidelines-DMsYsHDu.js +120 -0
  51. package/standalone/chunks/{item-option-multi-language-field-DPPpN2qg.js → item-option-multi-language-field-NUbm1drg.js} +1 -1
  52. package/standalone/chunks/{item-option-number-field-CkqJjInE.js → item-option-number-field-DRp7kbHL.js} +1 -1
  53. package/standalone/chunks/item-option-panel-cXrRclzM.js +316 -0
  54. package/standalone/chunks/{item-option-picker-BnwQPT9A.js → item-option-picker-Ba09L4Cs.js} +1 -1
  55. package/standalone/chunks/item-option-position-picker-GEGTnhjw.js +14 -0
  56. package/standalone/chunks/item-option-positions-number-field-n44s1k5v.js +31 -0
  57. package/standalone/chunks/{item-option-radio-button-group-BkymJq3E.js → item-option-radio-button-group-3s_b1NvR.js} +1 -1
  58. package/standalone/chunks/item-option-slider-DtY65Gxk.js +18 -0
  59. package/standalone/chunks/item-option-switch-4sJaI0mx.js +12 -0
  60. package/standalone/chunks/{item-option-text-field-D7bkuhsv.js → item-option-text-field-Bt6Lj6kh.js} +1 -1
  61. package/standalone/chunks/{item-slot-picker-panel-D4BMxGs9.js → item-slot-picker-panel-BOSVFBIy.js} +43 -43
  62. package/standalone/chunks/load-data-fields-for-datasets-CDlut-6S.js +25 -0
  63. package/standalone/chunks/localized-decorator-DosMCCQo.js +2 -0
  64. package/standalone/chunks/{version-BW4Ixl63.js → localized-mixin-BWJj88bd.js} +1 -1
  65. package/standalone/chunks/nl-CQz2jrVx.js +2 -0
  66. package/standalone/chunks/{option-interaction-controller-BslAXAHF.js → option-interaction-controller-BuwRr21c.js} +1 -1
  67. package/standalone/chunks/{route-map-options.config-Dwy0JSVq.js → route-map-options.config-CGBkHnhM.js} +1 -1
  68. package/standalone/chunks/{spike-map-options.config-DFmuNxym.js → spike-map-options.config-CSenlJ_F.js} +1 -1
  69. package/standalone/interactive-viz-item.js +45 -42
  70. package/standalone/item-grid.js +10 -10
  71. package/standalone/manifest.json +44 -44
  72. package/components/chart-helpers-ufZ6VbXs.cjs +0 -20
  73. package/standalone/chunks/de-mdZT2W1G.js +0 -2
  74. package/standalone/chunks/display-settings-binning-Byffw2Kl.js +0 -38
  75. package/standalone/chunks/display-settings-datetime-CD52d6Sv.js +0 -199
  76. package/standalone/chunks/display-settings-grand-totals-Cky99LX9.js +0 -26
  77. package/standalone/chunks/display-settings-numeric-C9ea7Tgc.js +0 -172
  78. package/standalone/chunks/display-settings-period-over-period-BLSGumkD.js +0 -209
  79. package/standalone/chunks/embed-CBu7iQRx.js +0 -231
  80. package/standalone/chunks/en-CSboh17P.js +0 -2
  81. package/standalone/chunks/en-GB-HoXKQBOY.js +0 -2
  82. package/standalone/chunks/en-US-CSboh17P.js +0 -2
  83. package/standalone/chunks/es-Di5D8JFd.js +0 -2
  84. package/standalone/chunks/fr-DZku7iB9.js +0 -2
  85. package/standalone/chunks/item-option-action-button-group-BEAwPHVw.js +0 -35
  86. package/standalone/chunks/item-option-base-CRUxNhJQ.js +0 -38
  87. package/standalone/chunks/item-option-color-palette-picker-CBz61iZb.js +0 -22
  88. package/standalone/chunks/item-option-color-picker-lLvBPnKA.js +0 -19
  89. package/standalone/chunks/item-option-color-range-BqeatOei.js +0 -83
  90. package/standalone/chunks/item-option-guidelines-Cop8rM8y.js +0 -120
  91. package/standalone/chunks/item-option-panel-CzSKFCVl.js +0 -316
  92. package/standalone/chunks/item-option-position-picker-Bkc4JvJX.js +0 -14
  93. package/standalone/chunks/item-option-positions-number-field-Dr_315TE.js +0 -31
  94. package/standalone/chunks/item-option-slider-K_bsNci8.js +0 -18
  95. package/standalone/chunks/item-option-switch-DeihDHhM.js +0 -12
  96. package/standalone/chunks/load-data-fields-for-datasets-ClctSj6y.js +0 -25
  97. package/standalone/chunks/localized-decorator-DJVBmJVH.js +0 -2
  98. package/standalone/chunks/nl-CViTevL3.js +0 -2
package/README.md CHANGED
@@ -26,6 +26,8 @@ To render the configured charts, also install Luzmo Embed (optional):
26
26
  npm install @luzmo/embed
27
27
  ```
28
28
 
29
+ `@luzmo/embed` works from 7.5.0 within 7.x and on any 8.x (peer range `^7.5.0 || ^8.0.0`); 9 is not supported. A chart's `inlineData` (in `luzmo-interactive-viz-item`) needs 8.1.0 or a later 8.x and is a no-op on 7.x. The config panel loads its columns from the chart's datasets, so it hides itself for a chart with `inlineData` and no dataset columns. Embed applies no filters or ranking to `inlineData`, so a chart with it has no filters editor in the panel and no top-N ranking action. Saving a chart to a dashboard keeps `inlineData`, and the server rejects the save when the dashboard's inline data passes 2 MB in total. Embed treats `inlineData` as already-authorized output and does not apply viewer token filters to it, also after a dashboard save, so remove records the viewer must not see before you pass them.
30
+
29
31
  Optional framework wrappers for embedding: `@luzmo/react-embed`, `@luzmo/ngx-embed`, `@luzmo/vue-embed`.
30
32
 
31
33
  > **Important**: This package is linked to `@luzmo/dashboard-contents-types@1.0.47`. Ensure you are using this version when working with `slotsContents`, `slotConfiguration`, `options`, and grid configurations.
@@ -1,7 +1,7 @@
1
1
  import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
2
  import '@luzmo/analytics-components-kit/interactive-viz-item';
3
3
  import type { LuzmoInteractiveVizItem as LuzmoInteractiveVizItemHostElement, AddToDashboardChartAddFailedEventDetail, AddToDashboardChartAddedEventDetail, ChartFeedback, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail } from '@luzmo/analytics-components-kit/interactive-viz-item';
4
- export type { AddToDashboardChartAddFailedEventDetail, AddToDashboardChartAddedEventDetail, ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, DashboardActions, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail, ItemOptionInteraction, ItemOptionInteractionEventDetail, NormalizedChartConfig, Ranking, Sort } from '@luzmo/analytics-components-kit/interactive-viz-item';
4
+ export type { AddToDashboardChartAddFailedEventDetail, AddToDashboardChartAddedEventDetail, ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, DashboardActions, FlexChartConfig, InlineData, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail, ItemOptionInteraction, ItemOptionInteractionEventDetail, NormalizedChartConfig, Ranking, Sort } from '@luzmo/analytics-components-kit/interactive-viz-item';
5
5
  import type { LuzmoEmbedVizItem } from '@luzmo/embed';
6
6
 
7
7
  @Component({
@@ -43,7 +43,7 @@ export class LuzmoInteractiveVizItem implements OnChanges {
43
43
  @Input({ alias: 'canFilter' })
44
44
  canFilter?: LuzmoEmbedVizItem['canFilter'];
45
45
 
46
- /** Loose chart config (type, options, slots, filters); slots may use the keyed-object form. */
46
+ /** Loose chart config (type, options, slots, filters, inlineData); slots may use the keyed-object form. */
47
47
  @Input({ alias: 'chart' })
48
48
  chart?: FlexChartConfig | null;
49
49
 
@@ -3,7 +3,7 @@ import '@luzmo/analytics-components-kit/interactive-viz-item';
3
3
  import type { LuzmoInteractiveVizItem as LuzmoInteractiveVizItemHostElement, AddToDashboardChartAddFailedEventDetail, AddToDashboardChartAddedEventDetail, ChartFeedback, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail } from '@luzmo/analytics-components-kit/interactive-viz-item';
4
4
  import type { LuzmoEmbedVizItem } from '@luzmo/embed';
5
5
  import * as i0 from "@angular/core";
6
- export type { AddToDashboardChartAddFailedEventDetail, AddToDashboardChartAddedEventDetail, ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, DashboardActions, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail, ItemOptionInteraction, ItemOptionInteractionEventDetail, NormalizedChartConfig, Ranking, Sort } from '@luzmo/analytics-components-kit/interactive-viz-item';
6
+ export type { AddToDashboardChartAddFailedEventDetail, AddToDashboardChartAddedEventDetail, ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, DashboardActions, FlexChartConfig, InlineData, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail, ItemOptionInteraction, ItemOptionInteractionEventDetail, NormalizedChartConfig, Ranking, Sort } from '@luzmo/analytics-components-kit/interactive-viz-item';
7
7
  export declare class LuzmoInteractiveVizItem implements OnChanges {
8
8
  private readonly elementRef;
9
9
  private readonly renderer;
@@ -18,7 +18,7 @@ export declare class LuzmoInteractiveVizItem implements OnChanges {
18
18
  addToDashboard?: boolean;
19
19
  /** Click-to-filter on the embedded chart, forwarded as its `canFilter`. The `can-filter` attribute means `'all'`; unset keeps it off. */
20
20
  canFilter?: LuzmoEmbedVizItem['canFilter'];
21
- /** Loose chart config (type, options, slots, filters); slots may use the keyed-object form. */
21
+ /** Loose chart config (type, options, slots, filters, inlineData); slots may use the keyed-object form. */
22
22
  chart?: FlexChartConfig | null;
23
23
  /** Current feedback (drives the thumbs up/down selection). */
24
24
  feedback?: ChartFeedback | null;
@@ -26,7 +26,7 @@ export class LuzmoInteractiveVizItem {
26
26
  addToDashboard;
27
27
  /** Click-to-filter on the embedded chart, forwarded as its `canFilter`. The `can-filter` attribute means `'all'`; unset keeps it off. */
28
28
  canFilter;
29
- /** Loose chart config (type, options, slots, filters); slots may use the keyed-object form. */
29
+ /** Loose chart config (type, options, slots, filters, inlineData); slots may use the keyed-object form. */
30
30
  chart;
31
31
  /** Current feedback (drives the thumbs up/down selection). */
32
32
  feedback;
@@ -29,9 +29,9 @@
29
29
  "peerDependencies": {
30
30
  "@angular/core": "^17.3.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
31
31
  "@angular/forms": "^17.3.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0",
32
- "@luzmo/analytics-components-kit": "1.2.1"
32
+ "@luzmo/analytics-components-kit": "1.3.0"
33
33
  },
34
- "version": "1.2.1",
34
+ "version": "1.3.0",
35
35
  "repository": {
36
36
  "type": "git",
37
37
  "url": "git+https://github.com/cumulio-internal/analytics-components-kit.git"
@@ -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("../add-to-dashboard-NwsCPIlg.cjs");Object.defineProperty(exports,"LuzmoAddToDashboard",{enumerable:!0,get:function(){return e.t}}),exports.createDashboardActions=e.n;
20
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../add-to-dashboard-CzIuDtAq.cjs");Object.defineProperty(exports,"LuzmoAddToDashboard",{enumerable:!0,get:function(){return e.t}}),exports.createDashboardActions=e.n;
@@ -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
- export { t as LuzmoAddToDashboard, n as createDashboardActions } from "../add-to-dashboard-NcVHlqrc.js";
20
+ export { t as LuzmoAddToDashboard, n as createDashboardActions } from "../add-to-dashboard-DGC0_hRB.js";
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- require("./tokens-BWMfo_w4.cjs");const e=require("./base-CGDNY_7v.cjs"),t=require("./decorate-DCJt-2rt.cjs"),n=require("./localized-mixin-EoNvtTBG.cjs"),r=require("./data-broker-DCghLjhq.cjs"),i=require("./localize-D3i4Epy_.cjs"),a=require("./chart-helpers-ufZ6VbXs.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/button"),require("@luzmo/lucero/icon"),require("@luzmo/lucero/overlay"),require("@luzmo/lucero/popover"),require("@luzmo/lucero/tooltip");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/progress-circle"),require("@luzmo/lucero/checkbox"),require("@luzmo/lucero/divider"),require("@luzmo/lucero/field-group"),require("@luzmo/lucero/menu"),require("@luzmo/lucero/notice"),require("@luzmo/lucero/search");let u=require("lit/directives/if-defined.js");var d=`:host{align-items:flex-end;gap:var(--luzmo-spacing-2);font-family:var(--luzmo-font-family);flex-direction:column;display:inline-flex}.trigger-spinner{--luzmo-progress-circle-size:var(--luzmo-icon-size-xs)}.trigger-chevron{margin-inline-start:var(--luzmo-spacing-1)}.picker{gap:var(--luzmo-spacing-3);width:var(--luzmo-add-to-dashboard-picker-width,var(--add-to-dashboard-picker-width));max-width:90vw;padding:var(--luzmo-spacing-2);color:var(--luzmo-font-color);font-size:var(--luzmo-font-size-s);flex-direction:column;display:flex}luzmo-search{width:100%}.list{max-height:var(--luzmo-add-to-dashboard-list-max-height,var(--add-to-dashboard-list-max-height));flex-direction:column;display:flex;overflow-y:auto}.menu{--luzmo-menu-max-height:none;flex:none;width:100%;overflow:visible}.create-row{--luzmo-menu-item-label-icon-color-default:var(--luzmo-primary)}.thumbnail{object-fit:cover;border:var(--luzmo-border-width) solid var(--luzmo-border-color);border-radius:var(--luzmo-border-radius);width:2.75rem;height:2rem}.drill-in{color:var(--luzmo-font-color-extra-dimmed)}.header{align-items:center;gap:var(--luzmo-spacing-2);display:flex}.header-title{font-weight:var(--luzmo-font-weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{align-items:center;gap:var(--luzmo-spacing-3);padding:var(--luzmo-spacing-4);text-align:center;flex-direction:column;display:flex}.loading{padding:var(--luzmo-spacing-3);justify-content:center;display:flex}.screen-modes{gap:var(--luzmo-spacing-2);flex-direction:column;display:flex}.screen-mode{align-items:center;gap:var(--luzmo-spacing-2);display:flex}.screen-mode-size{color:var(--luzmo-font-color-extra-dimmed)}.footer{justify-content:flex-end;display:flex}.status{justify-content:flex-end;width:0;min-width:100%;display:flex}.status:empty{display:none}.alert{flex:none;inline-size:max-content}.alert-body{align-items:center;gap:var(--luzmo-spacing-3);block-size:1lh;min-inline-size:0;display:flex}.alert-text{min-inline-size:0;font-weight:var(--luzmo-font-weight-semibold);white-space:pre;display:flex}.alert[variant=negative] .alert-text{white-space:normal}.alert-name{min-inline-size:0;font-weight:var(--luzmo-font-weight-bold);text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext;overflow:hidden}.alert-open{flex:none}:host{--add-to-dashboard-picker-width:18rem;--add-to-dashboard-list-max-height:16rem}`,f=`0.1.107`,p=`0.1.0`,m=[`id`,`name`,`contents`,`modified_at`,`is_variant`,`original_id`],h=new Set([`designer`,`owner`]),g=`flag_dashboard_variants`,_=[`desktop`,`tablet`,`mobile`];async function v(e,t,n){let r=[],i=t,a=0;for(let t of e){let e=n-r.length,o=await t(i,Math.max(e,1));e>0&&r.push(...o.rows.slice(0,e)),i=Math.max(0,i-o.count),a+=o.count}return{rows:r,total:a}}async function y(e){let t=await e.fetchApi(`/user`,{action:`get`,version:p,find:{where:{id:`me`},attributes:[`id`,`flags`]}});return{id:t.rows?.[0]?.id??``,flags:t.rows?.[0]?.flags??[]}}async function b(e,t){return(await e.fetchApi(`/authorization`,{action:`get`,version:p,find:{where:{id:t}}})).rows?.[0]}async function x(e,t,n){let r={...t,where:{...t.where,type:`dashboard`}},i=await e.fetchApi(`/securable`,{action:`get`,version:p,find:r},{signal:n});return{rows:i.rows??[],count:i.count??i.rows?.length??0}}function S(e){let t={modifyIds:new Set,useOnlyIds:new Set};for(let n of e?.access?.dashboards??[])n.rights?.Modify?t.modifyIds.add(n.id):n.rights?.Use&&t.useOnlyIds.add(n.id);return t}function C(){return{version:f,syncScreenModes:!0,views:_.map(e=>({screenModus:e,options:{theme:{id:`default`}},filterGroups:[],items:[]})),timezone:{type:`fixed`,id:`UTC`}}}function w(e){return e?{search:{match_types:[`name`,`description`],keyphrase:e,securable_types:[`dashboard`]}}:{}}function T(e,t){return{include:[{model:`User`,as:`allUsers`,attributes:[],required:!0,where:{id:e,...Object.fromEntries(Object.entries(t).map(([e,t])=>[`securableAccessRight.${e}`,t]))}}]}}async function E(e){let t=new r.t({apiUrl:e.apiUrl,authKey:e.authKey,authToken:e.authToken,skipNetworkListeners:!0}),[n,a]=await Promise.all([y(t),b(t,e.authKey)]),o=S(a),s=a?.type!==`embed`||h.has(a.role??``),c=!!n.id&&n.flags.includes(g),u=[...o.modifyIds,...c?o.useOnlyIds:[]],d=u.length>0?{id:{notIn:u}}:{},f=(t,n=!1)=>{let r=[...new Set((t.contents?.views??[]).map(e=>e.screenModus))];return{id:t.id,name:i.t(t.name??{},e.language),syncScreenModes:t.contents?.syncScreenModes!==!1,screenModes:r.length>0?r:[`desktop`],...n?{requiresVariant:n}:{}}},_,E=(e,n)=>async(r,i)=>{if(u.length===0)return{count:0,rows:[]};let a=r>0&&_?.search===e?_.rows:void 0;return a||(a=(await x(t,{where:{is_variant:!1,archived_at:null,id:{in:u}},attributes:m,...w(e)},n)).rows.map(e=>f(e,!o.modifyIds.has(e.id))).sort((e,t)=>e.name.localeCompare(t.name)),_={search:e,rows:a}),{count:a.length,rows:a.slice(r,r+i)}},D=(e,r,i,a)=>async(o,s)=>{let c=await x(t,{where:{is_variant:!1,archived_at:null,...d},attributes:m,...T(n.id,i),...w(e),limit:s,offset:o,order:[[`modified_at`,`desc`]]},r);return{count:c.count,rows:c.rows.map(e=>f(e,a))}},O=async(e,n,r,i)=>{await t.fetchApi(`/securable`,{action:`update`,version:p,id:e,properties:{append_item:{item:n,...r?.length?{screenModes:r}:{}}}},{signal:i})},k=async(e,n,r)=>{try{await O(e.id,n,r)}catch(n){throw await t.fetchApi(`/securable`,{action:`delete`,version:p,id:e.id}).catch(()=>void 0),n}},A=async(e,n)=>await t.fetchApi(`/securable`,{action:`create`,version:p,properties:{...e,type:`dashboard`},associations:n});return{async list(e,t){return n.id?await v([E(e.search,t.signal),...c?[D(e.search,t.signal,{flagUse:!0,flagModify:!1},!0)]:[],D(e.search,t.signal,{flagModify:!0},!1)],e.offset,e.limit):{rows:[],total:0}},async add(e,t,n,r){await O(e.id,t,n.screenModes,r.signal)},...s?{async create(t,n){let r=await A({name:n.name?{[e.language]:n.name}:{},contents:C()});return await k(r,t,void 0),f(r)}}:{},...c?{async listVariants(e,r){return(await x(t,{where:{is_variant:!0,original_id:e.id,archived_at:null},attributes:m,...T(n.id,{flagModify:!0}),order:[[`modified_at`,`desc`]]},r.signal)).rows.map(e=>f(e))}}:{},...c&&s?{async addToVariant(n,r,i){let a=(await x(t,{where:{id:n.id},attributes:[`id`,`name`,`contents`]})).rows[0];if(!a?.contents)throw Error((0,l.msg)(`The dashboard was not found.`,{desc:`Adding the chart to a variant failed because the original dashboard could not be loaded`}));let o=a.name??{},s=await A({name:i.name?{...o,[e.language]:i.name}:o,contents:a.contents},[{role:`original`,id:n.id}]);return await k(s,r,i.screenModes),f({...s,contents:s.contents??a.contents})}}:{}}}function D(e){let{theme:t,...n}=e.options??{};return{...a.o(e),options:n}}function O(e,t){let n=new Set(e),r=e.length+1;for(;n.has(t(r));)r+=1;return r}var k=20,A=300,j=8,M=48,N=`__luzmo-new-dashboard`,P=`__luzmo-new-variant`,F=new Map,I=0,L=class extends n.t(e.n(e.i,{validSizes:Object.values(e.t)})){constructor(...e){super(...e),this.chart=null,this.dashboardActions=null,this.authKey=``,this.authToken=``,this.apiUrl=`https://api.luzmo.com`,this.placement=`bottom-end`,this.disabled=!1,this._open=!1,this._actions=null,this._step=`list`,this._rows=[],this._hasMore=!1,this._loading=!1,this._listFailed=!1,this._original=null,this._variants=[],this._variantsLoading=!1,this._variantsFailed=!1,this._pending=null,this._screenModes=[],this._saving=!1,this._status=null,this._triggerId=`add-to-dashboard-trigger-${++I}`,this._search=``,this._actionsGeneration=0,this._reloadOnUpdate=!1}static get styles(){let e=super.styles??[];return[...Array.isArray(e)?e:[e],(0,s.unsafeCSS)(d)]}get _hasSource(){return!!this.dashboardActions||!!(this.authKey&&this.authToken)}connectedCallback(){super.connectedCallback(),this._status&&this._startFittingAlert()}disconnectedCallback(){super.disconnectedCallback(),this._handleClosed(),this._actionsGeneration+=1,this._saveAbort?.abort(),this._stopFittingAlert()}willUpdate(e){super.willUpdate(e),(e.has(`dashboardActions`)||e.has(`authKey`)||e.has(`authToken`)||e.has(`apiUrl`)||e.has(`language`))&&(this._actions=null,this._actionsGeneration+=1,this._open&&(this._listAbort?.abort(),this._variantsAbort?.abort(),this._step=`list`,this._original=null,this._pending=null,this._rows=[],this._open=this._hasSource,this._reloadOnUpdate=this._hasSource)),e.has(`disabled`)&&this.disabled&&(this._open=!1),e.has(`chart`)&&!this.chart&&this._handleClosed()}updated(e){super.updated(e),this._reloadOnUpdate&&(this._reloadOnUpdate=!1,this._loadList()),e.has(`_step`)&&this._open&&this._focusStep(),e.has(`_status`)&&(this._status?this._startFittingAlert():this._stopFittingAlert())}get _alertContainer(){let e=this.getRootNode();return this.parentElement??(e instanceof ShadowRoot?e.host:null)}_startFittingAlert(){this._fitAlert();let e=this._alertContainer;!this._alertResizeObserver&&e&&(this._alertResizeObserver=new ResizeObserver(()=>this._fitAlert()),this._alertResizeObserver.observe(this),this._alertResizeObserver.observe(e))}_stopFittingAlert(){this._alertResizeObserver?.disconnect(),this._alertResizeObserver=void 0}_fitAlert(){let e=this._noticeElement,t=this._alertContainer;if(!e||!t)return;let n=this.getBoundingClientRect(),r=t.getBoundingClientRect(),i=Number.parseFloat(getComputedStyle(t).paddingInlineStart)||0,a=(this.isLTR?n.right-r.left:r.right-n.left)-i;e.style.setProperty(`--luzmo-notice-max-inline-size`,`${Math.max(0,a)}px`)}async _resolveActions(){if(this.dashboardActions)return this.dashboardActions;let e={apiUrl:this.apiUrl,authKey:this.authKey,authToken:this.authToken,language:this.language},t=JSON.stringify(e),n=F.get(t);return n||(F.clear(),n=E(e),F.set(t,n),n.catch(()=>F.delete(t))),await n}_dispatch(e,t){let n=new CustomEvent(e,{detail:t,bubbles:!0,composed:!0});this.dispatchEvent(n)}_displayName(e){return e.name.trim()||(0,l.msg)(`Untitled dashboard`,{desc:`Fallback name of a dashboard without a name`})}_variantName(e,t){let n=this._displayName(e);return(0,l.msg)(l.str`${n} (variant ${t})`,{desc:`Name of a new dashboard variant`})}_screenModeChoices(){return[{name:`mobile`,label:(0,l.msg)(`Smartphone`,{desc:`Screen mode name`}),size:`< 768px`,icon:o.luzmoMobile},{name:`tablet`,label:(0,l.msg)(`Tablet`,{desc:`Screen mode name`}),size:`≥ 768px`,icon:o.luzmoTablet},{name:`desktop`,label:(0,l.msg)(`Desktop`,{desc:`Screen mode name`}),size:`≥ 1200px`,icon:o.luzmoLaptop},{name:`largeScreen`,label:(0,l.msg)(`Large screen`,{desc:`Screen mode name`}),size:`≥ 1600px`,icon:o.luzmoDesktop},{name:`fixed`,label:(0,l.msg)(`Fixed width`,{desc:`Screen mode name`}),icon:o.luzmoArrowsHorizontal}]}async _handleOpened(e){e.target===e.currentTarget&&(this._open=!0,this._step=`list`,this._search=``,this._original=null,this._pending=null,this._rows=[],await this.updateComplete,this._searchElement?.focus(),await this._loadList())}async _loadList(){let e=this._actionsGeneration;this._loading=!0,this._listFailed=!1;try{let t=this._actions??await this._resolveActions();if(e!==this._actionsGeneration)return;this._actions=t}catch(t){if(!this.isConnected||e!==this._actionsGeneration)return;console.error(`Failed to resolve the add to dashboard actions:`,t),this._loading=!1,this._listFailed=!0;return}this.isConnected&&this._open&&await this._loadPage(!1)}_handleClosed(e){e&&e.target!==e.currentTarget||(this._open=!1,clearTimeout(this._searchTimer),this._listAbort?.abort(),this._variantsAbort?.abort())}async _loadPage(e){let t=this._actions;if(!t)return;this._listAbort?.abort();let n=new AbortController;this._listAbort=n,this._loading=!0,this._listFailed=!1,e||(this._rows=[]);try{let e=await t.list({search:this._search,offset:this._rows.length,limit:k},{signal:n.signal});if(n.signal.aborted)return;this._rows=[...this._rows,...e.rows],this._hasMore=e.total===void 0?e.rows.length===k:this._rows.length<e.total}catch(e){if(n.signal.aborted)return;console.error(`Failed to load dashboards:`,e),this._listFailed=!0}finally{n.signal.aborted||(this._loading=!1)}}_handleSearchInput(e){this._search=String(e.target?.value??``),clearTimeout(this._searchTimer),this._searchTimer=setTimeout(()=>void this._loadPage(!1),A)}_handleListScroll(e){let t=e.target;this._hasMore&&!this._loading&&t.scrollHeight-t.scrollTop-t.clientHeight<=M&&this._loadPage(!0)}_menuValue(e){return e.stopPropagation(),e.target.value??``}_handleListChange(e){let t=this._menuValue(e);if(t===N){this._actions?.create&&this._save({kind:`create`});return}let n=this._rows.find(e=>e.id===t);n&&(n.requiresVariant?(this._original=n,this._step=`variants`,this._loadVariants()):this._selectTarget({kind:`add`,dashboard:n,isVariant:!1},n))}_handleVariantChange(e){let t=this._menuValue(e),n=this._original;if(!n)return;if(t===P){if(!this._actions?.addToVariant)return;let e=this._variants.map(e=>this._displayName(e)),t=this._variantName(n,O(e,e=>this._variantName(n,e)));this._selectTarget({kind:`variant`,original:n,name:t},n);return}let r=this._variants.find(e=>e.id===t);r&&this._selectTarget({kind:`add`,dashboard:r,isVariant:!0},r)}_selectTarget(e,t){t.syncScreenModes!==!1||!t.screenModes?.length?this._save(e):(this._pending=e,this._screenModes=[...t.screenModes??[]],this._step=`screenModes`)}async _loadVariants(){let e=this._actions,t=this._original;if(this._variantsAbort?.abort(),this._variants=[],this._variantsLoading=!1,this._variantsFailed=!1,!e?.listVariants||!t)return;let n=new AbortController;this._variantsAbort=n,this._variantsLoading=!0;try{let r=await e.listVariants(t,{signal:n.signal});n.signal.aborted||(this._variants=r)}catch(e){n.signal.aborted||(console.error(`Failed to load dashboard variants:`,e),this._variantsFailed=!0)}finally{n.signal.aborted||(this._variantsLoading=!1)}}_handleBack(){this._step===`screenModes`&&this._original?this._step=`variants`:(this._step=`list`,this._original=null),this._pending=null}_toggleScreenMode(e){this._screenModes=this._screenModes.includes(e)?this._screenModes.filter(t=>t!==e):[...this._screenModes,e]}_handleConfirmScreenModes(){this._pending&&this._screenModes.length>0&&this._save(this._pending,{screenModes:[...this._screenModes]})}async _save(e,t={}){let n=this._actions;if(!n||!this.chart||this._saving)return;this._open=!1,this._saving=!0,this._setStatus(null),this._saveAbort=new AbortController;let r=D(this.chart),i={signal:this._saveAbort.signal};try{let a;if(e.kind===`create`&&n.create)a=await n.create(r,t,i);else if(e.kind===`variant`&&n.addToVariant)a=await n.addToVariant(e.original,r,{...t,name:e.name},i);else if(e.kind===`add`)a=await n.add(e.dashboard,r,t,i)||e.dashboard;else return;if(i.signal.aborted)return;this._setStatus({kind:`success`,dashboard:a,isVariant:e.kind===`variant`||e.kind===`add`&&e.isVariant,openDashboard:n.openDashboard?.bind(n)}),this._dispatch(`luzmo-chart-added`,{dashboard:a})}catch(e){if(i.signal.aborted)return;console.error(`Failed to add the chart to a dashboard:`,e),this._setStatus({kind:`error`,message:e instanceof Error&&e.message?e.message:void 0}),this._dispatch(`luzmo-chart-add-failed`,{error:e})}finally{this._saving=!1}await this.updateComplete,this.isConnected&&this._isFocusLost()&&this._focusTrigger()}_setStatus(e){this._status=e}_focusTrigger(){this._triggerElement?.focus()}_isFocusLost(){return!document.activeElement||document.activeElement===document.body}async _handleNoticeClose(e){e.stopPropagation();let t=e.currentTarget.matches(`:focus-within`);this._setStatus(null),await this.updateComplete,t&&this._isFocusLost()&&this._focusTrigger()}async _focusStep(){let e=this._step===`list`?this._searchElement:this._backElement;await e?.updateComplete,e?.focus()}_renderRow(e){return s.html`
20
+ require("./tokens-BWMfo_w4.cjs");const e=require("./base-CGDNY_7v.cjs"),t=require("./decorate-DCJt-2rt.cjs"),n=require("./localized-mixin-EoNvtTBG.cjs"),r=require("./data-broker-DCghLjhq.cjs"),i=require("./localize-D3i4Epy_.cjs"),a=require("./chart-helpers-fMnqHRzC.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/button"),require("@luzmo/lucero/icon"),require("@luzmo/lucero/overlay"),require("@luzmo/lucero/popover"),require("@luzmo/lucero/tooltip");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/progress-circle"),require("@luzmo/lucero/checkbox"),require("@luzmo/lucero/divider"),require("@luzmo/lucero/field-group"),require("@luzmo/lucero/menu"),require("@luzmo/lucero/notice"),require("@luzmo/lucero/search");let u=require("lit/directives/if-defined.js");var d=`:host{align-items:flex-end;gap:var(--luzmo-spacing-2);font-family:var(--luzmo-font-family);flex-direction:column;display:inline-flex}.trigger-spinner{--luzmo-progress-circle-size:var(--luzmo-icon-size-xs)}.trigger-chevron{margin-inline-start:var(--luzmo-spacing-1)}.picker{gap:var(--luzmo-spacing-3);width:var(--luzmo-add-to-dashboard-picker-width,var(--add-to-dashboard-picker-width));max-width:90vw;padding:var(--luzmo-spacing-2);color:var(--luzmo-font-color);font-size:var(--luzmo-font-size-s);flex-direction:column;display:flex}luzmo-search{width:100%}.list{max-height:var(--luzmo-add-to-dashboard-list-max-height,var(--add-to-dashboard-list-max-height));flex-direction:column;display:flex;overflow-y:auto}.menu{--luzmo-menu-max-height:none;flex:none;width:100%;overflow:visible}.create-row{--luzmo-menu-item-label-icon-color-default:var(--luzmo-primary)}.thumbnail{object-fit:cover;border:var(--luzmo-border-width) solid var(--luzmo-border-color);border-radius:var(--luzmo-border-radius);width:2.75rem;height:2rem}.drill-in{color:var(--luzmo-font-color-extra-dimmed)}.header{align-items:center;gap:var(--luzmo-spacing-2);display:flex}.header-title{font-weight:var(--luzmo-font-weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{align-items:center;gap:var(--luzmo-spacing-3);padding:var(--luzmo-spacing-4);text-align:center;flex-direction:column;display:flex}.loading{padding:var(--luzmo-spacing-3);justify-content:center;display:flex}.screen-modes{gap:var(--luzmo-spacing-2);flex-direction:column;display:flex}.screen-mode{align-items:center;gap:var(--luzmo-spacing-2);display:flex}.screen-mode-size{color:var(--luzmo-font-color-extra-dimmed)}.footer{justify-content:flex-end;display:flex}.status{justify-content:flex-end;width:0;min-width:100%;display:flex}.status:empty{display:none}.alert{flex:none;inline-size:max-content}.alert-body{align-items:center;gap:var(--luzmo-spacing-3);block-size:1lh;min-inline-size:0;display:flex}.alert-text{min-inline-size:0;font-weight:var(--luzmo-font-weight-semibold);white-space:pre;display:flex}.alert[variant=negative] .alert-text{white-space:normal}.alert-name{min-inline-size:0;font-weight:var(--luzmo-font-weight-bold);text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext;overflow:hidden}.alert-open{flex:none}:host{--add-to-dashboard-picker-width:18rem;--add-to-dashboard-list-max-height:16rem}`,f=`0.1.107`,p=`0.1.0`,m=[`id`,`name`,`contents`,`modified_at`,`is_variant`,`original_id`],h=new Set([`designer`,`owner`]),g=`flag_dashboard_variants`,_=[`desktop`,`tablet`,`mobile`];async function v(e,t,n){let r=[],i=t,a=0;for(let t of e){let e=n-r.length,o=await t(i,Math.max(e,1));e>0&&r.push(...o.rows.slice(0,e)),i=Math.max(0,i-o.count),a+=o.count}return{rows:r,total:a}}async function y(e){let t=await e.fetchApi(`/user`,{action:`get`,version:p,find:{where:{id:`me`},attributes:[`id`,`flags`]}});return{id:t.rows?.[0]?.id??``,flags:t.rows?.[0]?.flags??[]}}async function b(e,t){return(await e.fetchApi(`/authorization`,{action:`get`,version:p,find:{where:{id:t}}})).rows?.[0]}async function x(e,t,n){let r={...t,where:{...t.where,type:`dashboard`}},i=await e.fetchApi(`/securable`,{action:`get`,version:p,find:r},{signal:n});return{rows:i.rows??[],count:i.count??i.rows?.length??0}}function S(e){let t={modifyIds:new Set,useOnlyIds:new Set};for(let n of e?.access?.dashboards??[])n.rights?.Modify?t.modifyIds.add(n.id):n.rights?.Use&&t.useOnlyIds.add(n.id);return t}function C(){return{version:f,syncScreenModes:!0,views:_.map(e=>({screenModus:e,options:{theme:{id:`default`}},filterGroups:[],items:[]})),timezone:{type:`fixed`,id:`UTC`}}}function w(e){return e?{search:{match_types:[`name`,`description`],keyphrase:e,securable_types:[`dashboard`]}}:{}}function T(e,t){return{include:[{model:`User`,as:`allUsers`,attributes:[],required:!0,where:{id:e,...Object.fromEntries(Object.entries(t).map(([e,t])=>[`securableAccessRight.${e}`,t]))}}]}}async function E(e){let t=new r.t({apiUrl:e.apiUrl,authKey:e.authKey,authToken:e.authToken,skipNetworkListeners:!0}),[n,a]=await Promise.all([y(t),b(t,e.authKey)]),o=S(a),s=a?.type!==`embed`||h.has(a.role??``),c=!!n.id&&n.flags.includes(g),u=[...o.modifyIds,...c?o.useOnlyIds:[]],d=u.length>0?{id:{notIn:u}}:{},f=(t,n=!1)=>{let r=[...new Set((t.contents?.views??[]).map(e=>e.screenModus))];return{id:t.id,name:i.t(t.name??{},e.language),syncScreenModes:t.contents?.syncScreenModes!==!1,screenModes:r.length>0?r:[`desktop`],...n?{requiresVariant:n}:{}}},_,E=(e,n)=>async(r,i)=>{if(u.length===0)return{count:0,rows:[]};let a=r>0&&_?.search===e?_.rows:void 0;return a||(a=(await x(t,{where:{is_variant:!1,archived_at:null,id:{in:u}},attributes:m,...w(e)},n)).rows.map(e=>f(e,!o.modifyIds.has(e.id))).sort((e,t)=>e.name.localeCompare(t.name)),_={search:e,rows:a}),{count:a.length,rows:a.slice(r,r+i)}},D=(e,r,i,a)=>async(o,s)=>{let c=await x(t,{where:{is_variant:!1,archived_at:null,...d},attributes:m,...T(n.id,i),...w(e),limit:s,offset:o,order:[[`modified_at`,`desc`]]},r);return{count:c.count,rows:c.rows.map(e=>f(e,a))}},O=async(e,n,r,i)=>{await t.fetchApi(`/securable`,{action:`update`,version:p,id:e,properties:{append_item:{item:n,...r?.length?{screenModes:r}:{}}}},{signal:i})},k=async(e,n,r)=>{try{await O(e.id,n,r)}catch(n){throw await t.fetchApi(`/securable`,{action:`delete`,version:p,id:e.id}).catch(()=>void 0),n}},A=async(e,n)=>await t.fetchApi(`/securable`,{action:`create`,version:p,properties:{...e,type:`dashboard`},associations:n});return{async list(e,t){return n.id?await v([E(e.search,t.signal),...c?[D(e.search,t.signal,{flagUse:!0,flagModify:!1},!0)]:[],D(e.search,t.signal,{flagModify:!0},!1)],e.offset,e.limit):{rows:[],total:0}},async add(e,t,n,r){await O(e.id,t,n.screenModes,r.signal)},...s?{async create(t,n){let r=await A({name:n.name?{[e.language]:n.name}:{},contents:C()});return await k(r,t,void 0),f(r)}}:{},...c?{async listVariants(e,r){return(await x(t,{where:{is_variant:!0,original_id:e.id,archived_at:null},attributes:m,...T(n.id,{flagModify:!0}),order:[[`modified_at`,`desc`]]},r.signal)).rows.map(e=>f(e))}}:{},...c&&s?{async addToVariant(n,r,i){let a=(await x(t,{where:{id:n.id},attributes:[`id`,`name`,`contents`]})).rows[0];if(!a?.contents)throw Error((0,l.msg)(`The dashboard was not found.`,{desc:`Adding the chart to a variant failed because the original dashboard could not be loaded`}));let o=a.name??{},s=await A({name:i.name?{...o,[e.language]:i.name}:o,contents:a.contents},[{role:`original`,id:n.id}]);return await k(s,r,i.screenModes),f({...s,contents:s.contents??a.contents})}}:{}}}function D(e){let{theme:t,...n}=e.options??{};return{...a.o(e),options:n}}function O(e,t){let n=new Set(e),r=e.length+1;for(;n.has(t(r));)r+=1;return r}var k=20,A=300,j=8,M=48,N=`__luzmo-new-dashboard`,P=`__luzmo-new-variant`,F=new Map,I=0,L=class extends n.t(e.n(e.i,{validSizes:Object.values(e.t)})){constructor(...e){super(...e),this.chart=null,this.dashboardActions=null,this.authKey=``,this.authToken=``,this.apiUrl=`https://api.luzmo.com`,this.placement=`bottom-end`,this.disabled=!1,this._open=!1,this._actions=null,this._step=`list`,this._rows=[],this._hasMore=!1,this._loading=!1,this._listFailed=!1,this._original=null,this._variants=[],this._variantsLoading=!1,this._variantsFailed=!1,this._pending=null,this._screenModes=[],this._saving=!1,this._status=null,this._triggerId=`add-to-dashboard-trigger-${++I}`,this._search=``,this._actionsGeneration=0,this._reloadOnUpdate=!1}static get styles(){let e=super.styles??[];return[...Array.isArray(e)?e:[e],(0,s.unsafeCSS)(d)]}get _hasSource(){return!!this.dashboardActions||!!(this.authKey&&this.authToken)}connectedCallback(){super.connectedCallback(),this._status&&this._startFittingAlert()}disconnectedCallback(){super.disconnectedCallback(),this._handleClosed(),this._actionsGeneration+=1,this._saveAbort?.abort(),this._stopFittingAlert()}willUpdate(e){super.willUpdate(e),(e.has(`dashboardActions`)||e.has(`authKey`)||e.has(`authToken`)||e.has(`apiUrl`)||e.has(`language`))&&(this._actions=null,this._actionsGeneration+=1,this._open&&(this._listAbort?.abort(),this._variantsAbort?.abort(),this._step=`list`,this._original=null,this._pending=null,this._rows=[],this._open=this._hasSource,this._reloadOnUpdate=this._hasSource)),e.has(`disabled`)&&this.disabled&&(this._open=!1),e.has(`chart`)&&!this.chart&&this._handleClosed()}updated(e){super.updated(e),this._reloadOnUpdate&&(this._reloadOnUpdate=!1,this._loadList()),e.has(`_step`)&&this._open&&this._focusStep(),e.has(`_status`)&&(this._status?this._startFittingAlert():this._stopFittingAlert())}get _alertContainer(){let e=this.getRootNode();return this.parentElement??(e instanceof ShadowRoot?e.host:null)}_startFittingAlert(){this._fitAlert();let e=this._alertContainer;!this._alertResizeObserver&&e&&(this._alertResizeObserver=new ResizeObserver(()=>this._fitAlert()),this._alertResizeObserver.observe(this),this._alertResizeObserver.observe(e))}_stopFittingAlert(){this._alertResizeObserver?.disconnect(),this._alertResizeObserver=void 0}_fitAlert(){let e=this._noticeElement,t=this._alertContainer;if(!e||!t)return;let n=this.getBoundingClientRect(),r=t.getBoundingClientRect(),i=Number.parseFloat(getComputedStyle(t).paddingInlineStart)||0,a=(this.isLTR?n.right-r.left:r.right-n.left)-i;e.style.setProperty(`--luzmo-notice-max-inline-size`,`${Math.max(0,a)}px`)}async _resolveActions(){if(this.dashboardActions)return this.dashboardActions;let e={apiUrl:this.apiUrl,authKey:this.authKey,authToken:this.authToken,language:this.language},t=JSON.stringify(e),n=F.get(t);return n||(F.clear(),n=E(e),F.set(t,n),n.catch(()=>F.delete(t))),await n}_dispatch(e,t){let n=new CustomEvent(e,{detail:t,bubbles:!0,composed:!0});this.dispatchEvent(n)}_displayName(e){return e.name.trim()||(0,l.msg)(`Untitled dashboard`,{desc:`Fallback name of a dashboard without a name`})}_variantName(e,t){let n=this._displayName(e);return(0,l.msg)(l.str`${n} (variant ${t})`,{desc:`Name of a new dashboard variant`})}_screenModeChoices(){return[{name:`mobile`,label:(0,l.msg)(`Smartphone`,{desc:`Screen mode name`}),size:`< 768px`,icon:o.luzmoMobile},{name:`tablet`,label:(0,l.msg)(`Tablet`,{desc:`Screen mode name`}),size:`≥ 768px`,icon:o.luzmoTablet},{name:`desktop`,label:(0,l.msg)(`Desktop`,{desc:`Screen mode name`}),size:`≥ 1200px`,icon:o.luzmoLaptop},{name:`largeScreen`,label:(0,l.msg)(`Large screen`,{desc:`Screen mode name`}),size:`≥ 1600px`,icon:o.luzmoDesktop},{name:`fixed`,label:(0,l.msg)(`Fixed width`,{desc:`Screen mode name`}),icon:o.luzmoArrowsHorizontal}]}async _handleOpened(e){e.target===e.currentTarget&&(this._open=!0,this._step=`list`,this._search=``,this._original=null,this._pending=null,this._rows=[],await this.updateComplete,this._searchElement?.focus(),await this._loadList())}async _loadList(){let e=this._actionsGeneration;this._loading=!0,this._listFailed=!1;try{let t=this._actions??await this._resolveActions();if(e!==this._actionsGeneration)return;this._actions=t}catch(t){if(!this.isConnected||e!==this._actionsGeneration)return;console.error(`Failed to resolve the add to dashboard actions:`,t),this._loading=!1,this._listFailed=!0;return}this.isConnected&&this._open&&await this._loadPage(!1)}_handleClosed(e){e&&e.target!==e.currentTarget||(this._open=!1,clearTimeout(this._searchTimer),this._listAbort?.abort(),this._variantsAbort?.abort())}async _loadPage(e){let t=this._actions;if(!t)return;this._listAbort?.abort();let n=new AbortController;this._listAbort=n,this._loading=!0,this._listFailed=!1,e||(this._rows=[]);try{let e=await t.list({search:this._search,offset:this._rows.length,limit:k},{signal:n.signal});if(n.signal.aborted)return;this._rows=[...this._rows,...e.rows],this._hasMore=e.total===void 0?e.rows.length===k:this._rows.length<e.total}catch(e){if(n.signal.aborted)return;console.error(`Failed to load dashboards:`,e),this._listFailed=!0}finally{n.signal.aborted||(this._loading=!1)}}_handleSearchInput(e){this._search=String(e.target?.value??``),clearTimeout(this._searchTimer),this._searchTimer=setTimeout(()=>void this._loadPage(!1),A)}_handleListScroll(e){let t=e.target;this._hasMore&&!this._loading&&t.scrollHeight-t.scrollTop-t.clientHeight<=M&&this._loadPage(!0)}_menuValue(e){return e.stopPropagation(),e.target.value??``}_handleListChange(e){let t=this._menuValue(e);if(t===N){this._actions?.create&&this._save({kind:`create`});return}let n=this._rows.find(e=>e.id===t);n&&(n.requiresVariant?(this._original=n,this._step=`variants`,this._loadVariants()):this._selectTarget({kind:`add`,dashboard:n,isVariant:!1},n))}_handleVariantChange(e){let t=this._menuValue(e),n=this._original;if(!n)return;if(t===P){if(!this._actions?.addToVariant)return;let e=this._variants.map(e=>this._displayName(e)),t=this._variantName(n,O(e,e=>this._variantName(n,e)));this._selectTarget({kind:`variant`,original:n,name:t},n);return}let r=this._variants.find(e=>e.id===t);r&&this._selectTarget({kind:`add`,dashboard:r,isVariant:!0},r)}_selectTarget(e,t){t.syncScreenModes!==!1||!t.screenModes?.length?this._save(e):(this._pending=e,this._screenModes=[...t.screenModes??[]],this._step=`screenModes`)}async _loadVariants(){let e=this._actions,t=this._original;if(this._variantsAbort?.abort(),this._variants=[],this._variantsLoading=!1,this._variantsFailed=!1,!e?.listVariants||!t)return;let n=new AbortController;this._variantsAbort=n,this._variantsLoading=!0;try{let r=await e.listVariants(t,{signal:n.signal});n.signal.aborted||(this._variants=r)}catch(e){n.signal.aborted||(console.error(`Failed to load dashboard variants:`,e),this._variantsFailed=!0)}finally{n.signal.aborted||(this._variantsLoading=!1)}}_handleBack(){this._step===`screenModes`&&this._original?this._step=`variants`:(this._step=`list`,this._original=null),this._pending=null}_toggleScreenMode(e){this._screenModes=this._screenModes.includes(e)?this._screenModes.filter(t=>t!==e):[...this._screenModes,e]}_handleConfirmScreenModes(){this._pending&&this._screenModes.length>0&&this._save(this._pending,{screenModes:[...this._screenModes]})}async _save(e,t={}){let n=this._actions;if(!n||!this.chart||this._saving)return;this._open=!1,this._saving=!0,this._setStatus(null),this._saveAbort=new AbortController;let r=D(this.chart),i={signal:this._saveAbort.signal};try{let a;if(e.kind===`create`&&n.create)a=await n.create(r,t,i);else if(e.kind===`variant`&&n.addToVariant)a=await n.addToVariant(e.original,r,{...t,name:e.name},i);else if(e.kind===`add`)a=await n.add(e.dashboard,r,t,i)||e.dashboard;else return;if(i.signal.aborted)return;this._setStatus({kind:`success`,dashboard:a,isVariant:e.kind===`variant`||e.kind===`add`&&e.isVariant,openDashboard:n.openDashboard?.bind(n)}),this._dispatch(`luzmo-chart-added`,{dashboard:a})}catch(e){if(i.signal.aborted)return;console.error(`Failed to add the chart to a dashboard:`,e),this._setStatus({kind:`error`,message:e instanceof Error&&e.message?e.message:void 0}),this._dispatch(`luzmo-chart-add-failed`,{error:e})}finally{this._saving=!1}await this.updateComplete,this.isConnected&&this._isFocusLost()&&this._focusTrigger()}_setStatus(e){this._status=e}_focusTrigger(){this._triggerElement?.focus()}_isFocusLost(){return!document.activeElement||document.activeElement===document.body}async _handleNoticeClose(e){e.stopPropagation();let t=e.currentTarget.matches(`:focus-within`);this._setStatus(null),await this.updateComplete,t&&this._isFocusLost()&&this._focusTrigger()}async _focusStep(){let e=this._step===`list`?this._searchElement:this._backElement;await e?.updateComplete,e?.focus()}_renderRow(e){return s.html`
21
21
  <luzmo-menu-item value=${e.id} no-wrap ?disabled=${this._saving}>
22
22
  ${e.thumbnailUrl?s.html`<img slot="icon" class="thumbnail" alt="" src=${e.thumbnailUrl} />`:s.nothing}
23
23
  ${this._displayName(e)}
@@ -23,7 +23,7 @@ import { t as r } from "./decorate-B2TzfnLZ.js";
23
23
  import { t as i } from "./localized-mixin-FPDNaZhb.js";
24
24
  import { t as a } from "./data-broker-C1Iz71TN.js";
25
25
  import { t as o } from "./localize-BNystXyK.js";
26
- import { o as s } from "./chart-helpers-Dng_LGfq.js";
26
+ import { o as s } from "./chart-helpers-Cbl3sRra.js";
27
27
  import { luzmoAlertOutline as c, luzmoAngleDown as l, luzmoAngleLeft as u, luzmoAngleRight as d, luzmoArrowLeft as f, luzmoArrowRight as p, luzmoArrowsHorizontal as m, luzmoCheckCircleOutline as h, luzmoDesktop as g, luzmoLaptop as _, luzmoLink as v, luzmoMobile as ee, luzmoPlus as y, luzmoTablet as te } from "@luzmo/icons";
28
28
  import "@luzmo/lucero/action-button";
29
29
  import "@luzmo/lucero/button";
@@ -61,7 +61,8 @@ function l(e) {
61
61
  ...e,
62
62
  content: i(e.content) ? e.content.map((e) => o(e)) : []
63
63
  })),
64
- filters: e.filters
64
+ filters: e.filters,
65
+ inlineData: e.inlineData
65
66
  };
66
67
  }
67
68
  function u(e, t) {
@@ -88,7 +89,7 @@ function f(r) {
88
89
  case "area-chart":
89
90
  case "bar-chart":
90
91
  case "column-chart":
91
- if (i.push({
92
+ if (r.inlineData || i.push({
92
93
  type: "rankingPicker",
93
94
  mutationType: "rankAndSort",
94
95
  ranking: a.ranking ?? {
@@ -0,0 +1,20 @@
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
+ var e=function(e){return e.Top=`top`,e.Bottom=`bottom`,e}({}),t=function(e){return e.Asc=`asc`,e.Desc=`desc`,e}({}),n=function(e){return e.Measure=`measure`,e.Category=`category`,e}({}),r=5,i=Array.isArray;function a(e){return typeof e==`string`}function o(e){let t={...e};return!t.datasetId&&t.set&&(t.datasetId=t.set),!t.set&&t.datasetId&&(t.set=t.datasetId),!t.columnId&&t.column&&(t.columnId=t.column),!t.column&&t.columnId&&(t.column=t.columnId),!t.formulaId&&t.formula&&(t.formulaId=t.formula),!t.formula&&t.formulaId&&(t.formula=t.formulaId),t}function s(e){return i(e)?e:Object.entries(e).map(([e,t])=>({name:e,content:i(t)?t:[]}))}function c(e){let t=new Set;for(let n of e)for(let e of n.content){let n=e.datasetId??e.set;a(n)&&t.add(n)}return[...t]}function l(e){let t=s(e.slots??[]),n=e.options??{},r=n.interactivity;return{type:e.type,options:{...n,interactivity:{...r,scheduledExport:!1}},slots:t.map(e=>({...e,content:i(e.content)?e.content.map(e=>o(e)):[]})),filters:e.filters,inlineData:e.inlineData}}function u(e,t){return{...e,options:{...e.options,theme:{...e.options.theme,...t}}}}function d(e){let t=e.find(e=>e.name===`measure`||e.name===`measures`);if(t&&t.content.length>1)return!0;let n=e.find(e=>e.name===`legend`);return n?n.content.length>0:!1}function f(r){let i=[],a=r.options;switch(r.type){case`area-chart`:case`bar-chart`:case`column-chart`:if(r.inlineData||i.push({type:`rankingPicker`,mutationType:`rankAndSort`,ranking:a.ranking??{active:!1,number:5,direction:e.Top},sort:a.sort??{direction:t.Desc,by:n.Measure},importance:100}),d(r.slots)){let e=r.type===`area-chart`,t=e?[{key:`stacked`,label:`Stacked`},{key:`unstacked`,label:`Unstacked`},{key:`100`,label:`100%`},{key:`stream`,label:`Stream`}]:[{key:`grouped`,label:`Grouped`},{key:`stacked`,label:`Stacked`},{key:`100`,label:`100%`}],n=e?`stacked`:`grouped`;i.push({type:`optionDropdown`,mutationType:`mode`,values:t,currentValue:a.mode??n,importance:90})}break;case`donut-chart`:{let e=a.display??{};i.push({type:`optionDropdown`,mutationType:`donutLabelDisplay`,values:[{key:`withLegend`,label:`With legend`},{key:`withLabels`,label:`With labels`}],currentValue:e.categoryLabels===!0?`withLabels`:`withLegend`,importance:90});break}case`bubble-chart`:{let e=a.display??{};i.push({type:`optionDropdown`,mutationType:`bubbleValues`,values:[{key:`none`,label:`No values`},{key:`absolute`,label:`Absolute`},{key:`percentage`,label:`Percentage`}],currentValue:e.bubbleValues??e.values??`none`,importance:100});break}}return i.sort((e,t)=>t.importance-e.importance)}function p(e,t,n){let r=e.options;switch(t){case`mode`:return{...e,options:{...r,mode:n}};case`donutLabelDisplay`:{let t={...r.display??{}};return n===`withLabels`?(t.legend=!1,t.categoryLabels=!0):(t.legend=!0,t.categoryLabels=!1),{...e,options:{...r,display:t}}}case`bubbleValues`:{let t={...r.display??{}};return t.bubbleLabels=t.bubbleLabels!==!1,t.bubbleValues=n,{...e,options:{...r,display:t}}}default:return e}}function m(e,t){switch(t.type){case`slots`:return{...e,slots:t.slotsContents};case`options`:return{...e,options:t.options};case`filters`:return{...e,filters:t.filters};case`chartAction`:return p(e,t.actionType,t.key);case`rankAndSort`:return{...e,options:{...e.options,ranking:t.ranking,sort:t.sort}};case`fullReplace`:return t.chart;default:return e}}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return t}});
@@ -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-CxdrGRKc.cjs"),s=require("./chart-helpers-ufZ6VbXs.cjs"),c=require("./add-to-dashboard-NwsCPIlg.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-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;
@@ -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-CwRRaCZB.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-Dng_LGfq.js";
29
- import { n as ie, t as ae } from "./add-to-dashboard-NcVHlqrc.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";
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";
@@ -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-CxdrGRKc.cjs"),t=require("../chart-helpers-ufZ6VbXs.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-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;
@@ -9,5 +9,5 @@ export { DEFAULT_RANKING_NUMBER, RankingDirection, SortBy, SortDirection } from
9
9
  export type { AddToDashboardChartAddedEventDetail, AddToDashboardChartAddFailedEventDetail } from '../add-to-dashboard/types';
10
10
  export type { DashboardActions } from '../../types/add-to-dashboard.types';
11
11
  export type { ItemOptionInteraction, ItemOptionInteractionEventDetail } from '../item-option/types';
12
- export type { InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail, ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, FlexChartConfig, NormalizedChartConfig, Ranking, Sort } from './types';
12
+ export type { InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, InteractiveVizItemInteractionEventDetail, ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, FlexChartConfig, InlineData, NormalizedChartConfig, Ranking, Sort } from './types';
13
13
  export { applyChartMutation, calculateChartActions, convertSlotsToArray, getChartDatasetIds, mergeThemeIntoChart, normalizeChartConfig } from './helpers/chart-helpers';
@@ -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-CwRRaCZB.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-Dng_LGfq.js";
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
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 };
@@ -44,7 +44,7 @@ declare const LuzmoInteractiveVizItem_base: (new (...args: any[]) => {
44
44
  */
45
45
  export declare class LuzmoInteractiveVizItem extends LuzmoInteractiveVizItem_base {
46
46
  static get styles(): CSSResultArray;
47
- /** Loose chart config (type, options, slots, filters); slots may use the keyed-object form. */
47
+ /** Loose chart config (type, options, slots, filters, inlineData); slots may use the keyed-object form. */
48
48
  chart: FlexChartConfig | null;
49
49
  /** Current feedback (drives the thumbs up/down selection). */
50
50
  feedback: ChartFeedback | null;
@@ -131,6 +131,8 @@ export declare class LuzmoInteractiveVizItem extends LuzmoInteractiveVizItem_bas
131
131
  private _renderChart;
132
132
  private _renderFeedback;
133
133
  private _toggleRating;
134
+ /** Embed applies no filters to inline data, so the editor is left out for a chart with `inlineData`. */
135
+ private _renderFilters;
134
136
  private _renderConfigPanel;
135
137
  private _handleSlotsChanged;
136
138
  private _handleFiltersChanged;
@@ -1,4 +1,6 @@
1
+ import type { InlineData } from '@luzmo/dashboard-contents-types';
1
2
  import type { ItemOptionInteraction, ItemOptionInteractionEventDetail } from '../item-option/types';
3
+ export type { InlineData };
2
4
  /**
3
5
  * A single field descriptor inside a chart slot. Deliberately loose because the
4
6
  * chart config is produced by the AI stream: it may carry either the short
@@ -36,12 +38,14 @@ export interface FlexChartConfig {
36
38
  options: ChartOptions;
37
39
  slots: SlotConfig[] | Record<string, unknown>;
38
40
  filters?: unknown[];
41
+ inlineData?: InlineData;
39
42
  }
40
43
  export interface NormalizedChartConfig {
41
44
  type: string;
42
45
  options: ChartOptions;
43
46
  slots: SlotConfig[];
44
47
  filters?: unknown[];
48
+ inlineData?: InlineData;
45
49
  }
46
50
  export type ChartActionType = 'optionDropdown' | 'rankingPicker';
47
51
  export interface ChartOption {
@@ -22,7 +22,7 @@ import { i as e, n as t, t as n } from "./base-rAte-QzM.js";
22
22
  import { t as r } from "./decorate-B2TzfnLZ.js";
23
23
  import { t as i } from "./localized-mixin-FPDNaZhb.js";
24
24
  import { n as a } from "./is-same-option-value-B2oyvEqT.js";
25
- import { c as o, i as s, l as c, n as l, o as u, r as d, t as f, u as p } from "./chart-helpers-Dng_LGfq.js";
25
+ import { c as o, i as s, l as c, n as l, o as u, r as d, t as f, u as p } from "./chart-helpers-Cbl3sRra.js";
26
26
  import { t as m } from "./create-lazy-loader-BFqDG_WK.js";
27
27
  import { luzmoAlignLeft as h, luzmoInfoCircle as g, luzmoThumbsDown as _, luzmoThumbsUp as v } from "@luzmo/icons";
28
28
  import "@luzmo/lucero/action-button";
@@ -113,7 +113,7 @@ var T = ":host{box-sizing:border-box;display:block;container-type:inline-size}.a
113
113
  return this.feedback?.rating ?? 0;
114
114
  }
115
115
  get _canShowConfigPanel() {
116
- return !!this.chart && !this.hideConfigPanel;
116
+ return !this.chart || this.hideConfigPanel ? !1 : !this.chart.inlineData || s(u(this.chart).slots).length > 0;
117
117
  }
118
118
  async _toggleConfigPanel() {
119
119
  if (this._configPanelLoadFailed = !1, this._configPanelOpen) this.endInteraction(), this._configPanelOpen = !1;
@@ -384,6 +384,7 @@ var T = ":host{box-sizing:border-box;display:block;container-type:inline-size}.a
384
384
  .options=${e.options}
385
385
  .slots=${e.slots}
386
386
  .filters=${e.filters ?? []}
387
+ .inlineData=${e.inlineData}
387
388
  .authKey=${this.authKey}
388
389
  .authToken=${this.authToken}
389
390
  .apiHost=${this.apiUrl}
@@ -447,8 +448,28 @@ var T = ":host{box-sizing:border-box;display:block;container-type:inline-size}.a
447
448
  comment: this.feedback?.comment
448
449
  });
449
450
  }
451
+ _renderFilters(e, t) {
452
+ return e.inlineData ? b : y`
453
+ <div class="edit-column edit-column-filters">
454
+ <luzmo-field-label size=${this.size}
455
+ >${w("Filters", { desc: "Label for the filters section" })}</luzmo-field-label
456
+ >
457
+ <luzmo-filters
458
+ size=${this.size}
459
+ .datasetIds=${t}
460
+ .filters=${e.filters ?? []}
461
+ .authKey=${this.authKey}
462
+ .authToken=${this.authToken}
463
+ .apiUrl=${this.apiUrl}
464
+ .language=${this.language}
465
+ .contentLanguage=${this._effectiveContentLanguage}
466
+ @luzmo-filters-changed=${this._handleFiltersChanged}
467
+ ></luzmo-filters>
468
+ </div>
469
+ `;
470
+ }
450
471
  _renderConfigPanel() {
451
- if (!this.chart || this.hideConfigPanel || !this._configPanelOpen) return b;
472
+ if (!this.chart || !this._canShowConfigPanel || !this._configPanelOpen) return b;
452
473
  let e = this.chart, t = d(e.slots ?? []), n = s(t), r = e.options.theme ?? M;
453
474
  return y`
454
475
  <div class="config-panel" part="config-panel">
@@ -473,22 +494,7 @@ var T = ":host{box-sizing:border-box;display:block;container-type:inline-size}.a
473
494
  @luzmo-slots-contents-changed=${this._handleSlotsChanged}
474
495
  ></luzmo-item-slot-picker-panel>
475
496
  </div>
476
- <div class="edit-column edit-column-filters">
477
- <luzmo-field-label size=${this.size}
478
- >${w("Filters", { desc: "Label for the filters section" })}</luzmo-field-label
479
- >
480
- <luzmo-filters
481
- size=${this.size}
482
- .datasetIds=${n}
483
- .filters=${e.filters ?? []}
484
- .authKey=${this.authKey}
485
- .authToken=${this.authToken}
486
- .apiUrl=${this.apiUrl}
487
- .language=${this.language}
488
- .contentLanguage=${this._effectiveContentLanguage}
489
- @luzmo-filters-changed=${this._handleFiltersChanged}
490
- ></luzmo-filters>
491
- </div>
497
+ ${this._renderFilters(e, n)}
492
498
  </div>
493
499
  </luzmo-tab-panel>
494
500