@luzmo/analytics-components-kit 1.0.8-beta.7 → 1.0.9-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.js +2 -2
- package/components/{ai-chat-CG-eIiBr.cjs → ai-chat-1OlRpimu.cjs} +1 -1
- package/components/{ai-chat-CMc_9Oo2.js → ai-chat-PesGGOLP.js} +2 -2
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/{ai-interaction-textarea-D9g9G0T1.js → ai-interaction-textarea-BXKG2elT.js} +3 -3
- package/components/{ai-interaction-textarea-B6tZgh5k.cjs → ai-interaction-textarea-CmFGJzbb.cjs} +1 -1
- package/components/{area-chart-options.config-B94ERc30.js → area-chart-options.config-DJnPr93H.js} +1 -1
- package/components/{area-chart-positioning.config-CS-5H8-C.cjs → area-chart-positioning.config-C37nmNfP.cjs} +1 -1
- package/components/{area-chart-positioning.config-BEwDQj3T.js → area-chart-positioning.config-CF8Z7PuX.js} +1 -1
- package/components/{area-chart-slots.config-DdPO34_g.js → area-chart-slots.config-ClE-gYVY.js} +1 -1
- package/components/{bar-chart-options.config-B1C3t6uk.js → bar-chart-options.config-D1x5WPbL.js} +1 -1
- package/components/{bar-chart-positioning.config-DkIvwJI5.cjs → bar-chart-positioning.config-C4ii41mE.cjs} +1 -1
- package/components/{bar-chart-positioning.config-CBbTYesB.js → bar-chart-positioning.config-vuRQZsYr.js} +1 -1
- package/components/{bar-chart-slots.config-BnbZRLIr.js → bar-chart-slots.config-rMFwFprg.js} +1 -1
- package/components/{base-DSeXdW9S.js → base-8L8Jt2vi.js} +2 -2
- package/components/{base-D6QPZnpu.cjs → base-K-bf6_7X.cjs} +1 -1
- package/components/{box-plot-options.config-sBfVzPTw.js → box-plot-options.config-CooBIc6N.js} +1 -1
- package/components/{box-plot-positioning.config-o5D-mRFr.cjs → box-plot-positioning.config-D2LpbgQ_.cjs} +1 -1
- package/components/{box-plot-positioning.config-CNC-RTwl.js → box-plot-positioning.config-DMIsI9yU.js} +1 -1
- package/components/{box-plot-slots.config-D6F2R2dw.js → box-plot-slots.config-DS2UIfRF.js} +1 -1
- package/components/{bubble-chart-options.config-DKeBF5A0.js → bubble-chart-options.config-B6aLA_1d.js} +1 -1
- package/components/{bubble-chart-positioning.config-CtreNdST.cjs → bubble-chart-positioning.config-Btak-zwN.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-3ilPXLpZ.js → bubble-chart-positioning.config-jYu0Q0Mc.js} +1 -1
- package/components/{bubble-chart-slots.config-BJdtdpS0.js → bubble-chart-slots.config-2qy2RqaU.js} +1 -1
- package/components/{bullet-chart-options.config-DdTBWTAF.js → bullet-chart-options.config-CBmbmhzI.js} +1 -1
- package/components/{bullet-chart-positioning.config-CkFhShBk.js → bullet-chart-positioning.config-BWHfPPyA.js} +1 -1
- package/components/{bullet-chart-positioning.config-dHj3YrT_.cjs → bullet-chart-positioning.config-CwoRVgNS.cjs} +1 -1
- package/components/{bullet-chart-slots.config-NeUTKgYI.js → bullet-chart-slots.config-BaMmwIH0.js} +1 -1
- package/components/{choropleth-map-options.config-nOE0NWaD.js → choropleth-map-options.config-DWWydGJ3.js} +1 -1
- package/components/{choropleth-map-positioning.config-BSs-bRGv.cjs → choropleth-map-positioning.config-DttV0Dk_.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-DOt86t59.js → choropleth-map-positioning.config-KtxcLW7E.js} +1 -1
- package/components/{choropleth-map-slots.config-BbBwTeuw.js → choropleth-map-slots.config-DqOi1kCn.js} +1 -1
- package/components/{circle-pack-chart-options.config-CgE8vGP9.js → circle-pack-chart-options.config-D2RCikyA.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-CVNdIYau.cjs → circle-pack-chart-positioning.config-N-rZvQjR.cjs} +1 -1
- package/components/{circle-pack-chart-positioning.config-BkFATJjC.js → circle-pack-chart-positioning.config-QBO-pwDr.js} +1 -1
- package/components/{circle-pack-chart-slots.config-CJFjalBn.js → circle-pack-chart-slots.config-B7_1p86m.js} +1 -1
- package/components/{circular-gauge-options.config-DtNYelhq.js → circular-gauge-options.config-syWQJHKT.js} +1 -1
- package/components/{circular-gauge-positioning.config-SrbCaaOr.cjs → circular-gauge-positioning.config-Cf1zuLXa.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-BV2xb5TF.js → circular-gauge-positioning.config-DKGmEpFj.js} +1 -1
- package/components/{circular-gauge-slots.config-DAKsa5Hq.js → circular-gauge-slots.config-BxjCP1ao.js} +1 -1
- package/components/{column-chart-options.config-C2GGiHOI.js → column-chart-options.config-B2LIl9lL.js} +1 -1
- package/components/{column-chart-positioning.config-DTQe3h_H.cjs → column-chart-positioning.config-DcErS56C.cjs} +1 -1
- package/components/{column-chart-positioning.config-T7juV3XT.js → column-chart-positioning.config-LkQSNtSH.js} +1 -1
- package/components/{column-chart-slots.config-Bpr-WaCi.js → column-chart-slots.config-D6MBTcj4.js} +1 -1
- package/components/{combination-chart-options.config-LddX4naq.js → combination-chart-options.config-0ATFph8S.js} +1 -1
- package/components/{combination-chart-positioning.config-78C7wKnS.js → combination-chart-positioning.config-7iAEpO7h.js} +1 -1
- package/components/{combination-chart-positioning.config-BrSmdan-.cjs → combination-chart-positioning.config-Dzi93oAp.cjs} +1 -1
- package/components/{combination-chart-slots.config-u-QLoQQ-.js → combination-chart-slots.config-dYT9lz8M.js} +1 -1
- package/components/{conditional-number-options.config-qdX9T4zu.js → conditional-number-options.config-Bv2xONtI.js} +1 -1
- package/components/{conditional-number-positioning.config-z_eEfpud.js → conditional-number-positioning.config-Bse6AKPP.js} +1 -1
- package/components/{conditional-number-positioning.config-_9ySKU1z.cjs → conditional-number-positioning.config-CTy0zLXu.cjs} +1 -1
- package/components/{conditional-number-slots.config-CiLUXRSe.js → conditional-number-slots.config-DtYkqtN8.js} +1 -1
- package/components/create-lazy-loader-BO_oTDF5.js +31 -0
- package/components/create-lazy-loader-DYPgQh0L.cjs +20 -0
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/{data-field-D1WW_V0N.js → data-field-CSm9APdz.js} +3 -3
- package/components/{data-field-9ZZFw68C.cjs → data-field-D2y4cv9j.cjs} +1 -1
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +1 -1
- package/components/{data-field-level-DR_dXjnL.js → data-field-level-B0aj8c5M.js} +3 -3
- package/components/{data-field-level-Dc-EMhC3.cjs → data-field-level-Llx0Y9m-.cjs} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-U-5Q-TRp.js → data-field-panel-DpBWJnes.js} +4 -4
- package/components/data-field-panel-Dv60lRUC.cjs +87 -0
- package/components/data-fields-select/data-fields-select.d.ts +5 -1
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/{data-fields-select-BYhAzdA6.js → data-fields-select-69TDpIG_.js} +14 -5
- package/components/data-fields-select-BHa8THub.cjs +43 -0
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/{dataset-selector-list-BXg6DIKI.cjs → dataset-selector-list-D5lBv2sD.cjs} +1 -1
- package/components/{dataset-selector-list-q6qWA7B-.js → dataset-selector-list-DTMXvqfO.js} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/{dataset-selector-row-bqwY3zaf.cjs → dataset-selector-row-gHWsZlrC.cjs} +1 -1
- package/components/{dataset-selector-row-ZKET7lVc.js → dataset-selector-row-kiHtzZcP.js} +2 -2
- package/components/{date-comparison-filter-options.config-BSzzAJPM.js → date-comparison-filter-options.config-DgLx-m3L.js} +1 -1
- package/components/{date-comparison-filter-slots.config-Cvze969w.js → date-comparison-filter-slots.config-BKZ13uzB.js} +1 -1
- package/components/{date-filter-options.config-C6VvDjd8.js → date-filter-options.config-Cbiy0QKd.js} +1 -1
- package/components/{date-filter-slots.config-Y8hmQh0S.js → date-filter-slots.config-SzWky1y7.js} +1 -1
- package/components/{de-C5CMIy08.js → de-BhKtDR6p.js} +34 -0
- package/components/de-DXFLsh4N.cjs +20 -0
- package/components/{convert-data-field-to-slot-content-C6IIqU7G.js → default-acceptable-data-field-types-DFOFWWnT.js} +12 -12
- package/components/default-acceptable-data-field-types-fPsz64ka.cjs +20 -0
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/{display-settings-D_wBgzm1.js → display-settings-DKuvd62j.js} +11 -9
- package/components/{display-settings-BlMhlvVS.cjs → display-settings-DPqTRJ7E.cjs} +3 -1
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +1 -1
- package/components/{display-settings-binning-GIE6ww1Q.js → display-settings-binning-BkCNSkgf.js} +2 -2
- package/components/{display-settings-binning-HrXOdGwO.cjs → display-settings-binning-DZKo_tBm.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +1 -1
- package/components/{display-settings-datetime-YS7_TUet.js → display-settings-datetime-BTgriFcv.js} +14 -14
- package/components/{display-settings-datetime-DNeLEl3L.cjs → display-settings-datetime-DD7Oh-2T.cjs} +8 -8
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +1 -1
- package/components/{display-settings-grand-totals-C-7s1Tyo.cjs → display-settings-grand-totals-BsIZg67h.cjs} +1 -1
- package/components/{display-settings-grand-totals-Bt_ju8jp.js → display-settings-grand-totals-DH7AoyQY.js} +2 -2
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +1 -1
- package/components/{display-settings-numeric-OHmktQsz.js → display-settings-numeric-CkFpOoWU.js} +2 -2
- package/components/{display-settings-numeric--uwJWzC1.cjs → display-settings-numeric-CsmrnEp2.cjs} +1 -1
- package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +8 -0
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +1 -1
- package/components/{display-settings-period-over-period-B1_IJjWK.js → display-settings-period-over-period-CdI5wuL_.js} +19 -10
- package/components/{display-settings-period-over-period-C4X8c-_R.cjs → display-settings-period-over-period-Co37HcSm.cjs} +7 -9
- package/components/{donut-chart-options.config-CPHgS1Wi.js → donut-chart-options.config-C8wpZzyJ.js} +1 -1
- package/components/{donut-chart-positioning.config-BY2TIeeY.cjs → donut-chart-positioning.config-BThtaJEt.cjs} +1 -1
- package/components/{donut-chart-positioning.config-D34HegyZ.js → donut-chart-positioning.config-D2uG_Irk.js} +1 -1
- package/components/{donut-chart-slots.config-DilGk7ju.js → donut-chart-slots.config-fGqtoKZi.js} +1 -1
- package/components/{dropdown-filter-options.config-DFJKns3l.js → dropdown-filter-options.config-DkiapYtc.js} +1 -1
- package/components/{dropdown-filter-slots.config-7heZtoEY.js → dropdown-filter-slots.config-DPcT6v-9.js} +1 -1
- package/components/es-DK-49nGv.cjs +20 -0
- package/components/{es-BCur0-77.js → es-DUENN-m1.js} +34 -0
- package/components/{evolution-number-options.config-DT7iGQA8.js → evolution-number-options.config-Ca9ABNVM.js} +1 -1
- package/components/{evolution-number-positioning.config-CKzCTjdO.js → evolution-number-positioning.config-BtjobZqK.js} +1 -1
- package/components/{evolution-number-positioning.config-BBvULr59.cjs → evolution-number-positioning.config-DtYiv9oB.cjs} +1 -1
- package/components/{evolution-number-slots.config-noZzIHkT.js → evolution-number-slots.config-CKawNqUS.js} +1 -1
- package/components/filter-expression-picker/filter-expression-picker.d.ts +4 -0
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/{filter-expression-picker-DurfSgRY.js → filter-expression-picker-C4kE_Thd.js} +14 -6
- package/components/{filter-expression-picker-BOLyxG2r.cjs → filter-expression-picker-CU-OfSmI.cjs} +4 -2
- package/components/filter-item/filter-item.d.ts +39 -0
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.d.ts +1 -0
- package/components/filter-item/index.js +1 -1
- package/components/filter-item-Be6Z7NMz.js +792 -0
- package/components/filter-item-CxPrwF-R.cjs +111 -0
- package/components/filter-parameter-picker/filter-parameter-picker.d.ts +4 -0
- package/components/filter-parameter-picker/index.cjs +1 -1
- package/components/filter-parameter-picker/index.js +1 -1
- package/components/{filter-parameter-picker-BWNBc8BI.js → filter-parameter-picker-Ba8bvoPZ.js} +18 -10
- package/components/{filter-parameter-picker-DSYaE9Sv.cjs → filter-parameter-picker-BtJLCUbT.cjs} +5 -4
- package/components/filter-value-picker/filter-value-picker.d.ts +6 -0
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/{filter-value-picker-kzIrnmdp.js → filter-value-picker-DD206JZl.js} +26 -8
- package/components/{filter-value-picker-DYl_1pis.cjs → filter-value-picker-Dpua1vcJ.cjs} +11 -2
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +6 -0
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +1 -1
- package/components/{filter-value-picker-datetime-CP5__ua6.js → filter-value-picker-datetime-Bj0YaPtB.js} +25 -5
- package/components/{filter-value-picker-datetime-BFbmCKs3.cjs → filter-value-picker-datetime-DWgI83nJ.cjs} +11 -2
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +6 -0
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +1 -1
- package/components/filter-value-picker-hierarchy-BEoqkQq0.cjs +54 -0
- package/components/{filter-value-picker-hierarchy-j0LRYW1c.js → filter-value-picker-hierarchy-ZMThNJYm.js} +22 -6
- package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +6 -0
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +1 -1
- package/components/filter-value-picker-numeric-1Vxp_Vam.cjs +54 -0
- package/components/{filter-value-picker-numeric-BmKmeOol.js → filter-value-picker-numeric-CVaDogFQ.js} +21 -4
- package/components/filters/filters.d.ts +62 -2
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.d.ts +2 -1
- package/components/filters/index.js +1 -1
- package/components/filters/types.d.ts +2 -0
- package/components/filters-Cnm0Kwk3.js +926 -0
- package/components/filters-Dtbt99BP.cjs +199 -0
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/{formula-BYx4gH6i.js → formula-BE9bipho.js} +2 -2
- package/components/{formula-cc2AaiLt.cjs → formula-DGMnKmnR.cjs} +1 -1
- package/components/{formula-codemirror-EMK3MCNZ.cjs → formula-codemirror-B14vsZXJ.cjs} +1 -1
- package/components/{formula-codemirror-CVzyYNLO.js → formula-codemirror-xfm0QtJN.js} +5 -5
- package/components/formula-display-store-8hohve9v.cjs +20 -0
- package/components/{formula-display-store-BPn9m5TL.js → formula-display-store-JAaWuYNB.js} +229 -235
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +3 -3
- package/components/{formula-editor-CWKXcUTF.cjs → formula-editor-CkW-JfyT.cjs} +1 -1
- package/components/{formula-editor-BxoIkARr.js → formula-editor-DN87mT8q.js} +7 -7
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +1 -1
- package/components/{formula-field-BtvaOWki.js → formula-field-B1EMJOfK.js} +1 -1
- package/components/{formula-field-CzS2pKJI.cjs → formula-field-CQYFSBHL.cjs} +1 -1
- package/components/formula-input-base-BCQXmd1P.cjs +49 -0
- package/components/{formula-input-base-DVtGLoyA.js → formula-input-base-HL0Fg74x.js} +7 -7
- package/components/{fr-BnECl1nx.js → fr-CePmGBUH.js} +34 -0
- package/components/fr-uE3fb3kc.cjs +20 -0
- package/components/{funnel-chart-options.config-D21WdHBI.js → funnel-chart-options.config-CygQsQVD.js} +1 -1
- package/components/{funnel-chart-positioning.config-BPSmV76y.cjs → funnel-chart-positioning.config-DeLnAGGT.cjs} +1 -1
- package/components/{funnel-chart-positioning.config-CvhpE7rN.js → funnel-chart-positioning.config-TVzSiV6I.js} +1 -1
- package/components/{funnel-chart-slots.config-BWszdEe8.js → funnel-chart-slots.config-CfnSH4Ay.js} +1 -1
- package/components/{get-css-variable-B8sJUuig.cjs → get-css-variable-CBXsAxR6.cjs} +1 -1
- package/components/{get-css-variable-r1spgqX0.js → get-css-variable-DYnldi15.js} +1 -1
- package/components/{get-dataset-name-D53TN7N9.js → get-dataset-name-DLjeChNS.js} +1 -1
- package/components/{get-dataset-name-DYLdbEs-.cjs → get-dataset-name-mGNEfkAv.cjs} +1 -1
- package/components/{groupings-BtmmUlPK.js → groupings-CODDxpbZ.js} +1 -1
- package/components/{groupings-Bn9384Zw.cjs → groupings-DKMq8DgS.cjs} +1 -1
- package/components/{heat-map-options.config-DkuYkbWu.js → heat-map-options.config-X96sw-BV.js} +1 -1
- package/components/{heat-map-positioning.config-AOHTEJf7.js → heat-map-positioning.config--wm9l7bB.js} +1 -1
- package/components/{heat-map-positioning.config-CHDHFIo2.cjs → heat-map-positioning.config-ddrgZXa9.cjs} +1 -1
- package/components/{heat-map-slots.config-Cwun49Qb.js → heat-map-slots.config-D2ypExJQ.js} +1 -1
- package/components/{heat-table-options.config-BJP1jVB8.js → heat-table-options.config-D6dA9J97.js} +1 -1
- package/components/{heat-table-positioning.config-DprOfmlW.js → heat-table-positioning.config-CIhhBEMg.js} +1 -1
- package/components/{heat-table-positioning.config-DCLE9cy4.cjs → heat-table-positioning.config-qMDSRhZR.cjs} +1 -1
- package/components/{heat-table-slots.config-nGB_B2mh.js → heat-table-slots.config-B1iOn6ay.js} +1 -1
- package/components/{hexbin-map-options.config-Bqp3u2bH.js → hexbin-map-options.config-FK9DrXGD.js} +1 -1
- package/components/{hexbin-map-positioning.config-BmLljWez.cjs → hexbin-map-positioning.config-E_BpcIFy.cjs} +1 -1
- package/components/{hexbin-map-positioning.config-BjxkoqGh.js → hexbin-map-positioning.config-S7VYUwVD.js} +1 -1
- package/components/{hexbin-map-slots.config-BK-ftozd.js → hexbin-map-slots.config-CC1xZINm.js} +1 -1
- package/components/{image-options.config-Cz55iN7J.js → image-options.config-DxF0RSUF.js} +1 -1
- package/components/{image-slots.config-kvHutBFK.js → image-slots.config-Ba8NXeCH.js} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +62 -62
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/interactive-viz-item/interactive-viz-item.d.ts +4 -3
- package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
- package/components/interactive-viz-item--kqitfEZ.cjs +249 -0
- package/components/{interactive-viz-item-DL5aqkvx.js → interactive-viz-item-cdShBZQA.js} +124 -95
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/{item-grid-CcwnD_u5.cjs → item-grid-BfhqMuQA.cjs} +2 -2
- package/components/{item-grid-C_OTtv4T.js → item-grid-xCM8AqRH.js} +24 -24
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-h8URFjZ2.cjs → item-option-B5FraAiv.cjs} +5 -5
- package/components/{item-option-DRWLN89_.js → item-option-DaAlj_OB.js} +52 -52
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +1 -1
- package/components/{item-option-action-button-group-B9ghoHeh.js → item-option-action-button-group-4w8ub3cT.js} +1 -1
- package/components/{item-option-action-button-group-Byg9h7uo.cjs → item-option-action-button-group-DHu8VjCy.cjs} +1 -1
- package/components/{item-option-base-Dwf3dByS.cjs → item-option-base-4Bwn-3Fc.cjs} +1 -1
- package/components/{item-option-base-pYrkqt6q.js → item-option-base-BxQUwXzg.js} +1 -1
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +1 -1
- package/components/{item-option-color-palette-picker-DnVqGnm4.js → item-option-color-palette-picker-D5nO-Bqb.js} +1 -1
- package/components/{item-option-color-palette-picker-v6TBE-I0.cjs → item-option-color-palette-picker-DrhHKaAK.cjs} +1 -1
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +1 -1
- package/components/{item-option-color-picker-CNkNZ1p-.cjs → item-option-color-picker-Bhv_k1uW.cjs} +1 -1
- package/components/{item-option-color-picker-CO-OAFOs.js → item-option-color-picker-CKokPQcS.js} +1 -1
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +1 -1
- package/components/{item-option-color-range-BveD6fsp.cjs → item-option-color-range-CwDkzRcx.cjs} +1 -1
- package/components/{item-option-color-range-bdYUxgQ9.js → item-option-color-range-DYsMbFEb.js} +1 -1
- package/components/item-option-guidelines/index.cjs +1 -1
- package/components/item-option-guidelines/index.js +1 -1
- package/components/{item-option-guidelines-Ce88dTV-.js → item-option-guidelines-CXl4Yla4.js} +3 -3
- package/components/{item-option-guidelines-D8UjylMx.cjs → item-option-guidelines-DMjA-h3h.cjs} +1 -1
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +1 -1
- package/components/{item-option-multi-language-field-D0jRPAjY.cjs → item-option-multi-language-field-C75Hd2fG.cjs} +1 -1
- package/components/{item-option-multi-language-field-0qfdBanp.js → item-option-multi-language-field-S6Mt3k23.js} +1 -1
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +1 -1
- package/components/{item-option-number-field-DYJ0eIf7.cjs → item-option-number-field-Bg5r0IAX.cjs} +1 -1
- package/components/{item-option-number-field-CcEav5C3.js → item-option-number-field-CALw8q_J.js} +1 -1
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-6Voh87nt.cjs → item-option-panel-DBXgOsM4.cjs} +1 -1
- package/components/{item-option-panel-DrI7HYrY.js → item-option-panel-v7yUS9hb.js} +3 -3
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +1 -1
- package/components/{item-option-picker-Bv4aGaCO.js → item-option-picker-CZyzd3Nq.js} +1 -1
- package/components/{item-option-picker-DkEgfEE7.cjs → item-option-picker-RFstpFwI.cjs} +1 -1
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +1 -1
- package/components/{item-option-position-picker-1d7qZmDv.js → item-option-position-picker-C8cnHEH4.js} +1 -1
- package/components/{item-option-position-picker-CKgaqFJR.cjs → item-option-position-picker-CKHbHHl1.cjs} +1 -1
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +1 -1
- package/components/{item-option-positions-number-field-BJXer0y5.cjs → item-option-positions-number-field-BGs3WWaz.cjs} +1 -1
- package/components/{item-option-positions-number-field-DUlBsbUL.js → item-option-positions-number-field-BJTY1qZR.js} +1 -1
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +1 -1
- package/components/{item-option-radio-button-group-ChtTIO3B.cjs → item-option-radio-button-group-CN8TLtsV.cjs} +1 -1
- package/components/{item-option-radio-button-group-DuMcIZvr.js → item-option-radio-button-group-vhm4r4_k.js} +1 -1
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/{item-option-slider-CWxRoAbA.js → item-option-slider-CQOKWBZQ.js} +1 -1
- package/components/{item-option-slider-CBSnkHVq.cjs → item-option-slider-DbLPhpJd.cjs} +1 -1
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/{item-option-switch-dO66fjoD.cjs → item-option-switch-CWpb0nf3.cjs} +1 -1
- package/components/{item-option-switch-DvMLATBO.js → item-option-switch-azZX2vJr.js} +1 -1
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +1 -1
- package/components/{item-option-text-field-DS-gn_Gc.js → item-option-text-field-CIM_38yi.js} +1 -1
- package/components/{item-option-text-field-Furz80ho.cjs → item-option-text-field-CS3Lccda.cjs} +1 -1
- package/components/item-options-configs.js +45 -45
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/item-slot-drop-C8WYPu_w.cjs +91 -0
- package/components/{item-slot-drop-DE90FDdS.js → item-slot-drop-DeZ2GvAu.js} +27 -27
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +1 -1
- package/components/{item-slot-drop-panel-DLqyYvKj.cjs → item-slot-drop-panel-BcBHDDTT.cjs} +6 -6
- package/components/{item-slot-drop-panel-CyfhbUlE.js → item-slot-drop-panel-LpfX7ap0.js} +48 -48
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/{item-slot-picker-BM03UNRE.js → item-slot-picker-BSO1ltXC.js} +42 -42
- package/components/{item-slot-picker-CgEtqhqe.cjs → item-slot-picker-CvySq194.cjs} +17 -17
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +1 -1
- package/components/{item-slot-picker-panel-DPaabfv5.js → item-slot-picker-panel-CsntXcAp.js} +15 -15
- package/components/{item-slot-picker-panel-CuH3OcmV.cjs → item-slot-picker-panel-DQ_OzMO_.cjs} +8 -8
- package/components/item-slots-configs.js +45 -45
- package/components/{line-chart-options.config-D8gRtfj3.js → line-chart-options.config-C3_RnROS.js} +1 -1
- package/components/{line-chart-positioning.config-CPGyHeJF.js → line-chart-positioning.config-CrreArf5.js} +1 -1
- package/components/{line-chart-positioning.config-BnDYCjGX.cjs → line-chart-positioning.config-DMe1Ldwk.cjs} +1 -1
- package/components/{line-chart-slots.config-C6LEwEwh.js → line-chart-slots.config-CA-I6B6o.js} +1 -1
- package/components/{localized-mixin-DBUkUh0o.js → localized-mixin-DaLXe5J9.js} +1 -1
- package/components/{localized-mixin-CtNoCjjI.cjs → localized-mixin-DiUJOd06.cjs} +1 -1
- package/components/{marker-map-options.config-BE8GnY_T.js → marker-map-options.config-OMdgbAc4.js} +1 -1
- package/components/{marker-map-positioning.config-Bq1EPg3J.cjs → marker-map-positioning.config-CpI8nCtC.cjs} +1 -1
- package/components/{marker-map-positioning.config-CBERtxkG.js → marker-map-positioning.config-DW9tMO2M.js} +1 -1
- package/components/{marker-map-slots.config-Cyk-QFPT.js → marker-map-slots.config-CcGNgr1_.js} +1 -1
- package/components/{nl-h9vVAk2e.js → nl-BaZM3WoR.js} +34 -0
- package/components/nl-BoEhzeIh.cjs +20 -0
- package/components/{ohlc-chart-options.config-xgegn34C.js → ohlc-chart-options.config-CWRI5bXI.js} +1 -1
- package/components/{ohlc-chart-positioning.config-aCf-SEt7.cjs → ohlc-chart-positioning.config-9DETh4xy.cjs} +1 -1
- package/components/{ohlc-chart-positioning.config-CpPJyyLB.js → ohlc-chart-positioning.config-CkX8gyS2.js} +1 -1
- package/components/{ohlc-chart-slots.config-CQFi8BIT.js → ohlc-chart-slots.config-Pv0xst-Y.js} +1 -1
- package/components/{parallel-coordinates-plot-options.config-BUQLHO1k.js → parallel-coordinates-plot-options.config-DbuNgevO.js} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs → parallel-coordinates-plot-positioning.config-CLDZdGdh.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-DsNDp1G7.js → parallel-coordinates-plot-positioning.config-DTJZLEeT.js} +1 -1
- package/components/{parallel-coordinates-plot-slots.config-D5o-5y_j.js → parallel-coordinates-plot-slots.config-GvYC-RXK.js} +1 -1
- package/components/{pivot-table-options.config-DW9UDipI.js → pivot-table-options.config-CTz4bcGJ.js} +1 -1
- package/components/{pivot-table-positioning.config-gBHM1_-K.cjs → pivot-table-positioning.config-B-SALuVb.cjs} +1 -1
- package/components/{pivot-table-positioning.config-BFWS3Yk_.js → pivot-table-positioning.config-CtSYHD-n.js} +1 -1
- package/components/{pivot-table-slots.config-Cl5z3IQo.js → pivot-table-slots.config-BAW0U3nh.js} +1 -1
- package/components/{pragmatic-element-adapter-C_7HSvGV.js → pragmatic-element-adapter-D0LRKx5U.js} +75 -74
- package/components/{pragmatic-element-adapter-DPWYJiW9.cjs → pragmatic-element-adapter-DdyH32ix.cjs} +4 -4
- package/components/{pyramid-chart-options.config-Cbg351Yy.js → pyramid-chart-options.config-C7btzuZj.js} +1 -1
- package/components/{pyramid-chart-positioning.config-B8dbZhvt.js → pyramid-chart-positioning.config-0Juiava5.js} +1 -1
- package/components/{pyramid-chart-positioning.config-DD64vCwl.cjs → pyramid-chart-positioning.config-BllFtneP.cjs} +1 -1
- package/components/{pyramid-chart-slots.config-DNzq2hMx.js → pyramid-chart-slots.config-CsMMyhV3.js} +1 -1
- package/components/{radar-chart-options.config-DrNyOkHq.js → radar-chart-options.config-CtA6MpUp.js} +1 -1
- package/components/{radar-chart-positioning.config-C2DWQu8V.js → radar-chart-positioning.config-BPbb63S6.js} +1 -1
- package/components/{radar-chart-positioning.config-DN51_Tzb.cjs → radar-chart-positioning.config-BY4RKNDi.cjs} +1 -1
- package/components/{radar-chart-slots.config-CXgfvAkt.js → radar-chart-slots.config-8Kf_WAFi.js} +1 -1
- package/components/{regular-table-options.config-CweBtAvm.js → regular-table-options.config-BRmS77t-.js} +1 -1
- package/components/{regular-table-slots.config-DCkw4Xkq.js → regular-table-slots.config-r-N9A-qA.js} +1 -1
- package/components/{route-map-options.config-DXHqb8Ve.js → route-map-options.config-C65J81_7.js} +1 -1
- package/components/{route-map-positioning.config-D7X6QuWY.js → route-map-positioning.config-D6nZFd8f.js} +1 -1
- package/components/{route-map-positioning.config-ryk_dUkh.cjs → route-map-positioning.config-GQ9AJfej.cjs} +1 -1
- package/components/{route-map-slots.config-DJ76FOsJ.js → route-map-slots.config-DMII2UuP.js} +1 -1
- package/components/{sankey-diagram-options.config-1lSECht4.js → sankey-diagram-options.config-nQDCRhKs.js} +1 -1
- package/components/{sankey-diagram-positioning.config-CJfGpnPS.cjs → sankey-diagram-positioning.config-DAuj5A08.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-A_7xM06n.js → sankey-diagram-positioning.config-R1EjoR5F.js} +1 -1
- package/components/{sankey-diagram-slots.config-BCc8P4j0.js → sankey-diagram-slots.config-DmWIGut0.js} +1 -1
- package/components/{scatter-plot-options.config-9zL4v24E.js → scatter-plot-options.config-BplrME7w.js} +1 -1
- package/components/{scatter-plot-positioning.config-qpwrugRe.js → scatter-plot-positioning.config-DGoMnNZy.js} +1 -1
- package/components/{scatter-plot-positioning.config-Duao2ftU.cjs → scatter-plot-positioning.config-o4c-wuRo.cjs} +1 -1
- package/components/{scatter-plot-slots.config-BMTdhTZG.js → scatter-plot-slots.config-B7wQVEEj.js} +1 -1
- package/components/{search-filter-options.config-B_qQjr68.js → search-filter-options.config-yAz6IIto.js} +1 -1
- package/components/{search-filter-slots.config-qCILSYzs.js → search-filter-slots.config-D8-V0BT5.js} +1 -1
- package/components/{set-locale-B-GvqA1H.cjs → set-locale-Xh_1AFbC.cjs} +1 -1
- package/components/{set-locale-CgCeLPlb.js → set-locale-ydAPif-7.js} +4 -4
- package/components/{slicer-filter-options.config-DK62SCMp.js → slicer-filter-options.config-BtGkT2hI.js} +1 -1
- package/components/{slicer-filter-positioning.config-DxhC39ak.cjs → slicer-filter-positioning.config-BqpIENEm.cjs} +1 -1
- package/components/{slicer-filter-positioning.config-93hC7jID.js → slicer-filter-positioning.config-D_didkcw.js} +1 -1
- package/components/{slicer-filter-slots.config-C9_NdJm4.js → slicer-filter-slots.config-DR0Wg_Zr.js} +1 -1
- package/components/{slider-filter-options.config-CP5bXdih.js → slider-filter-options.config-D_yZ_nFz.js} +1 -1
- package/components/{slider-filter-slots.config-15eAAGVn.js → slider-filter-slots.config-BUHw-32u.js} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/{slot-menu-DHJtAZ5_.js → slot-menu-CUdbaW3K.js} +35 -36
- package/components/slot-menu-DRx1Ffla.cjs +71 -0
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +1 -1
- package/components/{slot-menu-list-QltpaoWh.js → slot-menu-list-DVSxamVa.js} +3 -3
- package/components/{slot-menu-list-CeWcE4KK.cjs → slot-menu-list-DaHzz_ve.cjs} +1 -1
- package/components/slots-config-GlSNH7Gr.js +76 -0
- package/components/{speedometer-chart-options.config-dsUupCqm.js → speedometer-chart-options.config-BL7evgzP.js} +1 -1
- package/components/{speedometer-chart-positioning.config-CZbwyYsk.js → speedometer-chart-positioning.config-CmxsV4-x.js} +1 -1
- package/components/{speedometer-chart-positioning.config-DtRG3-e5.cjs → speedometer-chart-positioning.config-eVUWDhkL.cjs} +1 -1
- package/components/{speedometer-chart-slots.config-DfTw7JTF.js → speedometer-chart-slots.config-2Y_x52Gy.js} +1 -1
- package/components/{spike-map-options.config-Dh4Ky5ZP.js → spike-map-options.config-DjoTrAsC.js} +1 -1
- package/components/{spike-map-positioning.config-CevjyQ5F.cjs → spike-map-positioning.config-B38djRlf.cjs} +1 -1
- package/components/{spike-map-positioning.config-LBqSYD2n.js → spike-map-positioning.config-Bta7ar9e.js} +1 -1
- package/components/{spike-map-slots.config-i-c0F9QM.js → spike-map-slots.config-DJWMFPIR.js} +1 -1
- package/components/{strip-plot-options.config-Vw3GoLef.js → strip-plot-options.config-tDmVlu9U.js} +1 -1
- package/components/{strip-plot-positioning.config-cCdQxMM_.js → strip-plot-positioning.config-0vlAfmDB.js} +1 -1
- package/components/{strip-plot-positioning.config-DF5VxzvB.cjs → strip-plot-positioning.config-atH68L8u.cjs} +1 -1
- package/components/{strip-plot-slots.config-BuF7X3xN.js → strip-plot-slots.config-suFyIf5-.js} +1 -1
- package/components/{sunburst-chart-options.config-CXOrVmIe.js → sunburst-chart-options.config-Bjue_lQN.js} +1 -1
- package/components/{sunburst-chart-positioning.config-DmkZEexM.js → sunburst-chart-positioning.config-B2x6afBV.js} +1 -1
- package/components/{sunburst-chart-positioning.config-CERBvfoF.cjs → sunburst-chart-positioning.config-NFzFNuXB.cjs} +1 -1
- package/components/{sunburst-chart-slots.config-Cq-E6kyI.js → sunburst-chart-slots.config-BqVT-h0Z.js} +1 -1
- package/components/{symbol-map-options.config-Dultd0tF.js → symbol-map-options.config-Dyeya5Z2.js} +1 -1
- package/components/{symbol-map-positioning.config-BwG_G6He.js → symbol-map-positioning.config-B6v9PFTk.js} +1 -1
- package/components/{symbol-map-positioning.config-DhYxG8RC.cjs → symbol-map-positioning.config-DGpmp_N1.cjs} +1 -1
- package/components/{symbol-map-slots.config-BfdBHkzN.js → symbol-map-slots.config-Rhpher5o.js} +1 -1
- package/components/{text-options.config-BUiRyi3L.js → text-options.config-CXhvzzPF.js} +1 -1
- package/components/{text-slots.config-CM_ZaW3p.js → text-slots.config-Dzj4-x2G.js} +1 -1
- package/components/{treemap-chart-options.config-6l3HzikF.js → treemap-chart-options.config-BzOCEWog.js} +1 -1
- package/components/{treemap-chart-positioning.config-arjPT6b_.js → treemap-chart-positioning.config-Bf2VNVRQ.js} +1 -1
- package/components/{treemap-chart-positioning.config-BwrrXs4a.cjs → treemap-chart-positioning.config-NMULB8UM.cjs} +1 -1
- package/components/{treemap-chart-slots.config-CHkGtIOa.js → treemap-chart-slots.config-DRcafVU-.js} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/utils/store.js +1 -1
- package/components/utils-SzKvwZ9-.cjs +20 -0
- package/components/{utils-B_rE5b7a.js → utils-_8LPCz9-.js} +47 -47
- package/components/utils.cjs +1 -1
- package/components/utils.js +9 -9
- package/components/{venn-diagram-options.config-Wi0dQsAu.js → venn-diagram-options.config-BMlduwIp.js} +1 -1
- package/components/{venn-diagram-positioning.config-GGLCcrqp.cjs → venn-diagram-positioning.config-D4cODPGV.cjs} +1 -1
- package/components/{venn-diagram-positioning.config-DSh3Ns9L.js → venn-diagram-positioning.config-DgOl0Vh-.js} +1 -1
- package/components/{venn-diagram-slots.config-DY04aeYK.js → venn-diagram-slots.config-CMDndPVi.js} +1 -1
- package/components/{video-options.config-B6pQUPB7.js → video-options.config-DdfSTJEJ.js} +1 -1
- package/components/{video-slots.config-C-kXGzo3.js → video-slots.config-Utnn0DBW.js} +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/{viz-item-menu-hLdU-02Q.cjs → viz-item-menu-CNHv6qDa.cjs} +1 -1
- package/components/{viz-item-menu-B7yRaSAU.js → viz-item-menu-L_j0L08h.js} +1 -1
- package/components/{wordcloud-chart-options.config-CpMtpG7q.js → wordcloud-chart-options.config-y9Z5I_ZN.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-B8ZzwIdd.js → wordcloud-chart-positioning.config-BP6iqy-N.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-Cxyhs6gk.cjs → wordcloud-chart-positioning.config-DZEkWvb0.cjs} +1 -1
- package/components/{wordcloud-chart-slots.config-Cc5F92Tv.js → wordcloud-chart-slots.config-CvabtgbP.js} +1 -1
- package/custom-elements.json +402 -3
- package/package.json +2 -2
- package/react/components/filters.component.ts +1 -1
- package/react/esm/components/filters.component.d.ts +1 -1
- package/react/esm/components/filters.component.js +1 -1
- package/react/package.json +2 -2
- package/utils/create-lazy-loader.d.ts +5 -0
- package/utils/filters/filter-text.d.ts +64 -0
- package/utils/filters/index.d.ts +1 -0
- package/utils/filters/presentation.d.ts +4 -0
- package/utils/filters/tests/filter-text.test.d.ts +1 -0
- package/utils/formatter/localized-template.d.ts +4 -0
- package/utils/formatter/tests/localized-template.test.d.ts +1 -0
- package/utils/slot-state/slot-store.d.ts +4 -0
- package/utils/slot-state/tests/slot-store.test.d.ts +1 -0
- package/utils/tests/create-lazy-loader.test.d.ts +1 -0
- package/components/convert-data-field-to-slot-content-DLzkk6dT.cjs +0 -20
- package/components/data-field-panel-DFA97_8o.cjs +0 -87
- package/components/data-fields-select-BtXNFZy9.cjs +0 -41
- package/components/de-CdZnQbKI.cjs +0 -20
- package/components/es-7RD7O4q3.cjs +0 -20
- package/components/filter-item-C58zIpPh.js +0 -316
- package/components/filter-item-obyHcs9f.cjs +0 -71
- package/components/filter-value-picker-hierarchy-BTf992WX.cjs +0 -48
- package/components/filter-value-picker-numeric-DJi0Utk_.cjs +0 -48
- package/components/filters-BddhKRZC.js +0 -745
- package/components/filters-Dx6g0xl9.cjs +0 -153
- package/components/formula-display-store-DER7C0GG.cjs +0 -20
- package/components/formula-input-base-CvD0b2cO.cjs +0 -49
- package/components/fr-CGw2IwXh.cjs +0 -20
- package/components/interactive-viz-item-DTr14-9-.cjs +0 -247
- package/components/item-slot-drop-f8jm-34W.cjs +0 -91
- package/components/nl-BnzS_ZtB.cjs +0 -20
- package/components/slot-menu-CPxyyKSe.cjs +0 -71
- package/components/slots-config-D3ivNWtC.js +0 -76
- package/components/utils-BwJNkc-z.cjs +0 -20
|
@@ -1,316 +0,0 @@
|
|
|
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
|
-
import { t as e } from "./decorate-DyMgX_Uh.js";
|
|
21
|
-
import { t } from "./localized-mixin-DBUkUh0o.js";
|
|
22
|
-
import { t as n } from "./data-broker-B0uUO5er.js";
|
|
23
|
-
import { c as r } from "./type-check-CGREdneG.js";
|
|
24
|
-
import { n as i } from "./filter-expression-picker-DurfSgRY.js";
|
|
25
|
-
import "./data-fields-select-BYhAzdA6.js";
|
|
26
|
-
import { a, o, r as s } from "./filter-parameter-picker-BWNBc8BI.js";
|
|
27
|
-
import "./filter-value-picker-kzIrnmdp.js";
|
|
28
|
-
import { html as c, unsafeCSS as l } from "lit";
|
|
29
|
-
import { property as u, state as d } from "lit/decorators.js";
|
|
30
|
-
import { localized as f, msg as p } from "@lit/localize";
|
|
31
|
-
import { ElementSizes as m, LuzmoElement as h, SizedMixin as g } from "@luzmo/lucero/utils";
|
|
32
|
-
import { ifDefined as _ } from "lit/directives/if-defined.js";
|
|
33
|
-
//#region src/components/filter-item/filter-item.module.scss?inline
|
|
34
|
-
var v = ":host{box-sizing:border-box;flex-direction:row;min-width:0;max-width:100%;display:flex}[role=group]{box-sizing:border-box;align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-flow:wrap;width:100%;min-width:0;max-width:100%;display:flex}luzmo-data-fields-select{flex:0 1 var(--luzmo-filter-item-field-width,var(--filter-item-field-width));min-width:min(100%, var(--luzmo-filter-item-field-min-width,var(--filter-item-field-min-width)));max-width:100%}luzmo-filter-expression-picker{flex:0 0 var(--luzmo-filter-item-expression-width,var(--filter-item-expression-width));max-width:100%}.value-controls{align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-wrap:nowrap;flex:var(--luzmo-filter-item-value-grow,var(--filter-item-value-grow)) 1 var(--luzmo-filter-item-value-width,var(--filter-item-value-width));min-width:min(100%, var(--luzmo-filter-item-value-min-width,var(--filter-item-value-min-width)));max-width:100%;display:flex}luzmo-filter-value-picker{flex:auto;min-width:0;max-width:100%}luzmo-filter-parameter-picker{flex:0 auto;min-width:0;max-width:100%}:host{--filter-item-gap:var(--luzmo-spacing-3);--filter-item-field-width:auto;--filter-item-expression-width:auto;--filter-item-value-width:auto;--filter-item-value-grow:0;--filter-item-field-min-width:4.5rem;--filter-item-value-min-width:4.5rem}:host([size=s]){--filter-item-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap:var(--luzmo-spacing-4)}", y = class extends t(g(h, { validSizes: Object.values(m) })) {
|
|
35
|
-
constructor(...e) {
|
|
36
|
-
super(...e), this.apiUrl = "https://api.luzmo.com", this.contentLanguage = "en", this.filter = {}, this.allowParameters = !1, this.parameters = [], this._loading = !1, this._datasetsDataFields = [];
|
|
37
|
-
}
|
|
38
|
-
static get styles() {
|
|
39
|
-
return [l(v)];
|
|
40
|
-
}
|
|
41
|
-
connectedCallback() {
|
|
42
|
-
super.connectedCallback();
|
|
43
|
-
let e = {};
|
|
44
|
-
this.apiUrl && (e.apiUrl = this.apiUrl), this.cacheTime && (e.staleTime = this.cacheTime, e.gcTime = this.cacheTime * 2), e.authKey = this.authKey || "", e.authToken = this.authToken || "", n.configure(e);
|
|
45
|
-
}
|
|
46
|
-
_clearTypeState() {
|
|
47
|
-
this._type = void 0, this._subType = void 0, this._isFormula = void 0;
|
|
48
|
-
}
|
|
49
|
-
async _fetchDatasetDataFields() {
|
|
50
|
-
if (!this.datasetIds || this.datasetIds.length === 0) {
|
|
51
|
-
this._error = "Missing dataset ids to fetch columns & formulas", this._datasetsDataFields = [], this._loading = !1;
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
let { valid: e, invalid: t } = r(this.datasetIds);
|
|
55
|
-
if (t.length > 0 && console.warn(`[LuzmoFilterItem] Invalid dataset IDs provided (not valid UUIDs): ${t.join(", ")}. These will be skipped.`), e.length === 0) {
|
|
56
|
-
this._error = "Invalid dataset IDs provided. Dataset IDs must be valid UUIDs.", this._datasetsDataFields = [], this._loading = !1;
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this._loading = !0, this._error = null;
|
|
60
|
-
try {
|
|
61
|
-
let t = await n.fetchDatasetsWithColumnsAndFormulas(e);
|
|
62
|
-
for (let e of t) for (let t of [...e.columns, ...e.formulas]) t.datasetId = e.id;
|
|
63
|
-
this._datasetsDataFields = t;
|
|
64
|
-
} catch (e) {
|
|
65
|
-
console.error("Error fetching dataset columns & formulas:", e), this._error = e instanceof Error ? e.message : "Unknown error", this._datasetsDataFields = [];
|
|
66
|
-
} finally {
|
|
67
|
-
this._loading = !1;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
willUpdate(e) {
|
|
71
|
-
super.willUpdate(e);
|
|
72
|
-
let t = e.has("filter"), r = e.has("datasetIds"), i = e.has("authKey"), c = e.has("authToken"), l = e.has("_datasetsDataFields"), u = e.has("parameters");
|
|
73
|
-
if (t || r || l && (this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId) && this.filter?.parameters?.[0]?.datasetId) if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) this._clearTypeState();
|
|
74
|
-
else {
|
|
75
|
-
let e = this._datasetsDataFields.find((e) => e.id === this.filter.parameters?.[0]?.datasetId);
|
|
76
|
-
if (e) {
|
|
77
|
-
let t = !1;
|
|
78
|
-
for (let n of [...e.columns || [], ...e?.formulas || []]) if (n.id === this.filter.parameters?.[0]?.columnId || n.id === this.filter.parameters?.[0]?.formulaId) {
|
|
79
|
-
this._type = n.type, this._subType = n.subtype, this._isFormula = n.id === this.filter.parameters?.[0]?.formulaId, t = !0;
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
t || this._clearTypeState();
|
|
83
|
-
} else this._clearTypeState();
|
|
84
|
-
}
|
|
85
|
-
if (i || c) {
|
|
86
|
-
let e = {
|
|
87
|
-
authKey: this.authKey || "",
|
|
88
|
-
authToken: this.authToken || ""
|
|
89
|
-
};
|
|
90
|
-
n.configure(e);
|
|
91
|
-
}
|
|
92
|
-
(r || i || c) && this._fetchDatasetDataFields();
|
|
93
|
-
let d = this.filter?.parameters?.[1], f = e.get("filter"), p = !!f && f.expression !== this.filter?.expression;
|
|
94
|
-
if (this.allowParameters && this._type && (u || e.has("_type") || p) && o(d)) {
|
|
95
|
-
let t = this.parameters.find((e) => e.parameter === d.parameter), n = a(this._type, this.filter?.expression), r = u || e.has("_type");
|
|
96
|
-
if (p && !n.includes(d.type) || r && (!t || !n.includes(t.type))) {
|
|
97
|
-
let e = structuredClone(this.filter), t = s(this._type, e.expression);
|
|
98
|
-
e.parameters = t === void 0 ? [e.parameters[0]] : [e.parameters[0], t], this.filter = e, this._sendChangeEvent();
|
|
99
|
-
} else if (r && t && JSON.stringify(t) !== JSON.stringify(d)) {
|
|
100
|
-
let e = structuredClone(this.filter);
|
|
101
|
-
e.parameters[1] = structuredClone(t), this.filter = e, this._sendChangeEvent();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
_sendChangeEvent() {
|
|
106
|
-
this.dispatchEvent(new CustomEvent("luzmo-filter-changed", {
|
|
107
|
-
bubbles: !0,
|
|
108
|
-
composed: !0,
|
|
109
|
-
cancelable: !0,
|
|
110
|
-
detail: { filter: this.filter }
|
|
111
|
-
}));
|
|
112
|
-
}
|
|
113
|
-
setFilterDataField(e) {
|
|
114
|
-
if (this._cannotReferenceColumn()) return;
|
|
115
|
-
let t = e.detail?.dataFields?.[0], n = this._type, r = this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId, a = !!this.filter?.parameters?.[0]?.formulaId, c = t?.columnId || t?.formulaId, l = o(this.filter?.parameters?.[1]);
|
|
116
|
-
this._type = t?.type, this._subType = t?.subtype, this._isFormula = !!t?.formulaId;
|
|
117
|
-
let u = i(this._type, this._subType, this._isFormula);
|
|
118
|
-
this.filter = structuredClone(this.filter ?? {}), u?.includes(this.filter?.expression) || (this.filter.expression = u?.[0]?.expression), this.filter.parameters = this.filter?.parameters ?? [], this.filter.parameters[0] = { datasetId: t?.datasetId }, this._isFormula ? this.filter.parameters[0].formulaId = t?.formulaId : this.filter.parameters[0].columnId = t?.columnId;
|
|
119
|
-
let d = this.filter.properties ?? {};
|
|
120
|
-
if (this._isFormula ? a && d.type !== void 0 || (this.filter.properties = {
|
|
121
|
-
...d,
|
|
122
|
-
type: "having"
|
|
123
|
-
}) : (d.type === void 0 || a && d.type === "having") && (this.filter.properties = {
|
|
124
|
-
...d,
|
|
125
|
-
type: "where"
|
|
126
|
-
}), t?.lowestLevel, n !== this._type) this._type === "hierarchy" ? (this.filter.expression = "? like ?", this.filter.parameters[1] = "") : this._type === "numeric" ? (this.filter.expression = "? > ?", this.filter.parameters[1] = 0) : this._type === "datetime" ? (this.filter.expression = "? < ?", this.filter.parameters[1] = (/* @__PURE__ */ new Date()).toISOString()) : (this.filter.expression = "? is not null", this.filter.parameters = [this.filter.parameters[0]]);
|
|
127
|
-
else if (l && r !== c) {
|
|
128
|
-
let e = s(this._type, this.filter.expression);
|
|
129
|
-
this.filter.parameters = e === void 0 ? [this.filter.parameters[0]] : [this.filter.parameters[0], e];
|
|
130
|
-
} else r !== c && this._type === "hierarchy" && (this.filter.parameters[1] = ["? in ?", "? not in ?"].includes(this.filter.expression) ? [] : "");
|
|
131
|
-
this._sendChangeEvent();
|
|
132
|
-
}
|
|
133
|
-
setFilterExpression(e) {
|
|
134
|
-
if (this._cannotReferenceColumn()) return;
|
|
135
|
-
let t = structuredClone(this.filter ?? {}), n = t.expression;
|
|
136
|
-
if (t.expression = e.detail?.expression, n !== t.expression) {
|
|
137
|
-
if (o(t.parameters?.[1])) {
|
|
138
|
-
let e = t.parameters[1];
|
|
139
|
-
if (!a(this._type, t.expression).some((t) => t === e.type)) {
|
|
140
|
-
let e = s(this._type, t.expression);
|
|
141
|
-
t.parameters = e === void 0 ? [t.parameters[0]] : [t.parameters[0], e];
|
|
142
|
-
}
|
|
143
|
-
} else if (["? is null", "? is not null"].includes(t.expression)) t.parameters = [t.parameters[0]];
|
|
144
|
-
else if (this._type === "datetime") if ([
|
|
145
|
-
"YTD",
|
|
146
|
-
"QTD",
|
|
147
|
-
"MTD",
|
|
148
|
-
"WTD"
|
|
149
|
-
].includes(t.expression)) {
|
|
150
|
-
let n = e?.detail?.unit;
|
|
151
|
-
n && (t.parameters[1] = { unit: typeof n == "number" ? n : 1 });
|
|
152
|
-
} else if ([
|
|
153
|
-
"last_completed",
|
|
154
|
-
"next_full",
|
|
155
|
-
"to_date"
|
|
156
|
-
].includes(t.expression)) {
|
|
157
|
-
let e = t?.parameters?.[1]?.unit;
|
|
158
|
-
t.parameters[1] = { unit: typeof e == "number" ? e : 1 };
|
|
159
|
-
} else if ([
|
|
160
|
-
"last_now",
|
|
161
|
-
"last_available",
|
|
162
|
-
"next_now",
|
|
163
|
-
"more_than_ago",
|
|
164
|
-
"or_more_ago"
|
|
165
|
-
].includes(t.expression)) {
|
|
166
|
-
let e = t?.parameters?.[1]?.unit, n = t?.parameters?.[1]?.quantity;
|
|
167
|
-
t.parameters[1] = {
|
|
168
|
-
unit: typeof e == "number" ? e : 1,
|
|
169
|
-
quantity: typeof n == "number" ? n : 1
|
|
170
|
-
};
|
|
171
|
-
} else t.parameters[1] = (/* @__PURE__ */ new Date()).toISOString();
|
|
172
|
-
else if (this._type === "hierarchy") if (["? in ?", "? not in ?"].includes(t.expression)) ["? = ?", "? != ?"].includes(n) ? t.parameters[1] = t.parameters[1] ? [t.parameters[1]] : [] : t.parameters[1] = [];
|
|
173
|
-
else if (["? = ?", "? != ?"].includes(t.expression)) if (["? in ?", "? not in ?"].includes(n)) t.parameters[1] = Array.isArray(t.parameters[1]) && t.parameters[1][0] != null ? t.parameters[1][0] : "";
|
|
174
|
-
else {
|
|
175
|
-
let e = t.parameters[1];
|
|
176
|
-
t.parameters[1] = typeof e == "string" || typeof e == "number" ? e : "";
|
|
177
|
-
}
|
|
178
|
-
else t.parameters[1] = ["? in ?", "? not in ?"].includes(n) ? "" : t.parameters[1] ?? "";
|
|
179
|
-
else this._type === "numeric" && (["? in ?", "? not in ?"].includes(t.expression) && ["? in ?", "? not in ?"].includes(n) ? t.parameters[1] = t.parameters[1] ?? [] : ["? in ?", "? not in ?"].includes(t.expression) ? t.parameters[1] = [] : t.parameters[1] = ["? in ?", "? not in ?"].includes(n) ? 0 : t.parameters[1] ?? 0);
|
|
180
|
-
this.filter = t, this._sendChangeEvent();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
setFilterValue(e) {
|
|
184
|
-
this._cannotReferenceColumn() || (this.filter.parameters[1] = e?.detail?.value, this._sendChangeEvent());
|
|
185
|
-
}
|
|
186
|
-
handleFilterParameterSelected(e) {
|
|
187
|
-
let t = e.detail?.parameter;
|
|
188
|
-
if (!t) return;
|
|
189
|
-
let n = structuredClone(this.filter ?? {});
|
|
190
|
-
n.parameters = n.parameters ?? [], n.parameters[1] = structuredClone(t), this.filter = n, this._sendChangeEvent();
|
|
191
|
-
}
|
|
192
|
-
handleFilterParameterRemoved() {
|
|
193
|
-
if (!o(this.filter?.parameters?.[1])) return;
|
|
194
|
-
let e = structuredClone(this.filter), t = s(this._type, e.expression);
|
|
195
|
-
e.parameters = t === void 0 ? [e.parameters[0]] : [e.parameters[0], t], this.filter = e, this._sendChangeEvent();
|
|
196
|
-
}
|
|
197
|
-
_cannotReferenceColumn() {
|
|
198
|
-
if (!(this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId)) return !1;
|
|
199
|
-
if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) return !0;
|
|
200
|
-
let e = this.filter?.parameters?.[0]?.datasetId, t = this._datasetsDataFields.find((t) => t.id === e);
|
|
201
|
-
return !t || ![...t.columns || [], ...t.formulas || []].find((e) => e.id === this.filter?.parameters?.[0]?.columnId || e.id === this.filter?.parameters?.[0]?.formulaId);
|
|
202
|
-
}
|
|
203
|
-
renderDataFieldPicker() {
|
|
204
|
-
let e = this._cannotReferenceColumn(), t = e ? p("Unknown") : void 0, n = e || this._loading ? "" : this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId;
|
|
205
|
-
return c`<luzmo-data-fields-select
|
|
206
|
-
.language=${this.language}
|
|
207
|
-
.contentLanguage=${this.contentLanguage}
|
|
208
|
-
.size=${this.size}
|
|
209
|
-
.value=${n ? [n] : []}
|
|
210
|
-
selects="single"
|
|
211
|
-
levels="off"
|
|
212
|
-
.datasetsDataFields=${this._datasetsDataFields}
|
|
213
|
-
placeholder=${_(t)}
|
|
214
|
-
.invalid=${!!this._error || e}
|
|
215
|
-
?disabled=${e}
|
|
216
|
-
.retrieving=${this._loading}
|
|
217
|
-
.pending=${this._loading}
|
|
218
|
-
@luzmo-data-fields-selected=${this.setFilterDataField}
|
|
219
|
-
></luzmo-data-fields-select>`;
|
|
220
|
-
}
|
|
221
|
-
renderExpressionPicker() {
|
|
222
|
-
let e = this._cannotReferenceColumn(), t = this.filter?.parameters?.[0], n = !t?.datasetId || !t?.columnId && !t?.formulaId || e;
|
|
223
|
-
return c`<luzmo-filter-expression-picker
|
|
224
|
-
.language=${this.language}
|
|
225
|
-
.size=${this.size}
|
|
226
|
-
.type=${this._type}
|
|
227
|
-
.subtype=${this._subType}
|
|
228
|
-
.filter=${this.filter}
|
|
229
|
-
?isFormula=${this._isFormula}
|
|
230
|
-
?disabled=${n}
|
|
231
|
-
@luzmo-expression-selected=${this.setFilterExpression}
|
|
232
|
-
></luzmo-filter-expression-picker>`;
|
|
233
|
-
}
|
|
234
|
-
renderValuePicker() {
|
|
235
|
-
let e = this._cannotReferenceColumn(), t = this.filter?.parameters?.[0], n = !t?.datasetId || !t?.columnId && !t?.formulaId || e;
|
|
236
|
-
return c`<luzmo-filter-value-picker
|
|
237
|
-
.apiUrl=${this.apiUrl}
|
|
238
|
-
.authKey=${this.authKey}
|
|
239
|
-
.authToken=${this.authToken}
|
|
240
|
-
.cacheTime=${this.cacheTime}
|
|
241
|
-
.language=${this.language}
|
|
242
|
-
.contentLanguage=${this.contentLanguage}
|
|
243
|
-
.timeZone=${this.timeZone}
|
|
244
|
-
.size=${this.size}
|
|
245
|
-
.filter=${this.filter}
|
|
246
|
-
.valueType=${this._type}
|
|
247
|
-
?disabled=${n}
|
|
248
|
-
@luzmo-filter-value-changed=${this.setFilterValue}
|
|
249
|
-
></luzmo-filter-value-picker>`;
|
|
250
|
-
}
|
|
251
|
-
renderParameterPicker() {
|
|
252
|
-
if (!this.allowParameters) return null;
|
|
253
|
-
let e = a(this._type, this.filter?.expression);
|
|
254
|
-
if (e.length === 0) return null;
|
|
255
|
-
let t = o(this.filter?.parameters?.[1]) ? this.filter.parameters[1] : void 0;
|
|
256
|
-
return c`<luzmo-filter-parameter-picker
|
|
257
|
-
.language=${this.language}
|
|
258
|
-
.size=${this.size}
|
|
259
|
-
.parameters=${this.parameters}
|
|
260
|
-
.allowedTypes=${e}
|
|
261
|
-
.selectedParameter=${t}
|
|
262
|
-
.currentValue=${t ? t.value : this.filter?.parameters?.[1]}
|
|
263
|
-
?disabled=${this._cannotReferenceColumn()}
|
|
264
|
-
@luzmo-parameter-selected=${this.handleFilterParameterSelected}
|
|
265
|
-
@luzmo-parameter-removed=${this.handleFilterParameterRemoved}
|
|
266
|
-
></luzmo-filter-parameter-picker>`;
|
|
267
|
-
}
|
|
268
|
-
render() {
|
|
269
|
-
let e = o(this.filter?.parameters?.[1]);
|
|
270
|
-
return c`<div role="group" aria-label=${p("Filter condition", { desc: "Accessible label for filter item group" })}>
|
|
271
|
-
${this.renderDataFieldPicker()} ${this.renderExpressionPicker()}
|
|
272
|
-
<div class="value-controls">
|
|
273
|
-
${e ? null : this.renderValuePicker()} ${this.renderParameterPicker()}
|
|
274
|
-
</div>
|
|
275
|
-
</div>`;
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
//#endregion
|
|
279
|
-
//#region src/components/filter-item/index.ts
|
|
280
|
-
e([u({
|
|
281
|
-
type: String,
|
|
282
|
-
attribute: "api-url",
|
|
283
|
-
reflect: !0
|
|
284
|
-
})], y.prototype, "apiUrl", void 0), e([u({
|
|
285
|
-
type: String,
|
|
286
|
-
attribute: "auth-key",
|
|
287
|
-
reflect: !0
|
|
288
|
-
})], y.prototype, "authKey", void 0), e([u({
|
|
289
|
-
type: String,
|
|
290
|
-
attribute: "auth-token",
|
|
291
|
-
reflect: !0
|
|
292
|
-
})], y.prototype, "authToken", void 0), e([u({
|
|
293
|
-
type: Number,
|
|
294
|
-
attribute: "cache-time",
|
|
295
|
-
reflect: !0
|
|
296
|
-
})], y.prototype, "cacheTime", void 0), e([u({
|
|
297
|
-
type: String,
|
|
298
|
-
reflect: !0
|
|
299
|
-
})], y.prototype, "contentLanguage", void 0), e([u({
|
|
300
|
-
type: String,
|
|
301
|
-
attribute: "time-zone",
|
|
302
|
-
reflect: !0
|
|
303
|
-
})], y.prototype, "timeZone", void 0), e([u({
|
|
304
|
-
type: Array,
|
|
305
|
-
attribute: "dataset-ids",
|
|
306
|
-
reflect: !0
|
|
307
|
-
})], y.prototype, "datasetIds", void 0), e([u({
|
|
308
|
-
type: Object,
|
|
309
|
-
reflect: !1
|
|
310
|
-
})], y.prototype, "filter", void 0), e([u({
|
|
311
|
-
type: Boolean,
|
|
312
|
-
attribute: "allow-parameters",
|
|
313
|
-
reflect: !0
|
|
314
|
-
})], y.prototype, "allowParameters", void 0), e([u({ attribute: !1 })], y.prototype, "parameters", void 0), e([d()], y.prototype, "_type", void 0), e([d()], y.prototype, "_subType", void 0), e([d()], y.prototype, "_isFormula", void 0), e([d()], y.prototype, "_error", void 0), e([d()], y.prototype, "_loading", void 0), e([d()], y.prototype, "_datasetsDataFields", void 0), y = e([f()], y), customElements.get("luzmo-filter-item") || customElements.define("luzmo-filter-item", y);
|
|
315
|
-
//#endregion
|
|
316
|
-
export { y as t };
|
|
@@ -1,71 +0,0 @@
|
|
|
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
|
-
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-CtNoCjjI.cjs"),n=require("./data-broker-CyMYR6w1.cjs"),r=require("./type-check-BehV9ZL1.cjs"),i=require("./filter-expression-picker-BOLyxG2r.cjs");require("./data-fields-select-BtXNFZy9.cjs");const a=require("./filter-parameter-picker-DSYaE9Sv.cjs");require("./filter-value-picker-DYl_1pis.cjs");let o=require("lit"),s=require("lit/decorators.js"),c=require("@lit/localize"),l=require("@luzmo/lucero/utils"),u=require("lit/directives/if-defined.js");var d=`:host{box-sizing:border-box;flex-direction:row;min-width:0;max-width:100%;display:flex}[role=group]{box-sizing:border-box;align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-flow:wrap;width:100%;min-width:0;max-width:100%;display:flex}luzmo-data-fields-select{flex:0 1 var(--luzmo-filter-item-field-width,var(--filter-item-field-width));min-width:min(100%, var(--luzmo-filter-item-field-min-width,var(--filter-item-field-min-width)));max-width:100%}luzmo-filter-expression-picker{flex:0 0 var(--luzmo-filter-item-expression-width,var(--filter-item-expression-width));max-width:100%}.value-controls{align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-wrap:nowrap;flex:var(--luzmo-filter-item-value-grow,var(--filter-item-value-grow)) 1 var(--luzmo-filter-item-value-width,var(--filter-item-value-width));min-width:min(100%, var(--luzmo-filter-item-value-min-width,var(--filter-item-value-min-width)));max-width:100%;display:flex}luzmo-filter-value-picker{flex:auto;min-width:0;max-width:100%}luzmo-filter-parameter-picker{flex:0 auto;min-width:0;max-width:100%}:host{--filter-item-gap:var(--luzmo-spacing-3);--filter-item-field-width:auto;--filter-item-expression-width:auto;--filter-item-value-width:auto;--filter-item-value-grow:0;--filter-item-field-min-width:4.5rem;--filter-item-value-min-width:4.5rem}:host([size=s]){--filter-item-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap:var(--luzmo-spacing-4)}`,f=class extends t.t((0,l.SizedMixin)(l.LuzmoElement,{validSizes:Object.values(l.ElementSizes)})){constructor(...e){super(...e),this.apiUrl=`https://api.luzmo.com`,this.contentLanguage=`en`,this.filter={},this.allowParameters=!1,this.parameters=[],this._loading=!1,this._datasetsDataFields=[]}static get styles(){return[(0,o.unsafeCSS)(d)]}connectedCallback(){super.connectedCallback();let e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),e.authKey=this.authKey||``,e.authToken=this.authToken||``,n.t.configure(e)}_clearTypeState(){this._type=void 0,this._subType=void 0,this._isFormula=void 0}async _fetchDatasetDataFields(){if(!this.datasetIds||this.datasetIds.length===0){this._error=`Missing dataset ids to fetch columns & formulas`,this._datasetsDataFields=[],this._loading=!1;return}let{valid:e,invalid:t}=r.c(this.datasetIds);if(t.length>0&&console.warn(`[LuzmoFilterItem] Invalid dataset IDs provided (not valid UUIDs): ${t.join(`, `)}. These will be skipped.`),e.length===0){this._error=`Invalid dataset IDs provided. Dataset IDs must be valid UUIDs.`,this._datasetsDataFields=[],this._loading=!1;return}this._loading=!0,this._error=null;try{let t=await n.t.fetchDatasetsWithColumnsAndFormulas(e);for(let e of t)for(let t of[...e.columns,...e.formulas])t.datasetId=e.id;this._datasetsDataFields=t}catch(e){console.error(`Error fetching dataset columns & formulas:`,e),this._error=e instanceof Error?e.message:`Unknown error`,this._datasetsDataFields=[]}finally{this._loading=!1}}willUpdate(e){super.willUpdate(e);let t=e.has(`filter`),r=e.has(`datasetIds`),i=e.has(`authKey`),o=e.has(`authToken`),s=e.has(`_datasetsDataFields`),c=e.has(`parameters`);if(t||r||s&&(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId)&&this.filter?.parameters?.[0]?.datasetId)if(!this.datasetIds||this.datasetIds.length===0||this._datasetsDataFields.length===0)this._clearTypeState();else{let e=this._datasetsDataFields.find(e=>e.id===this.filter.parameters?.[0]?.datasetId);if(e){let t=!1;for(let n of[...e.columns||[],...e?.formulas||[]])if(n.id===this.filter.parameters?.[0]?.columnId||n.id===this.filter.parameters?.[0]?.formulaId){this._type=n.type,this._subType=n.subtype,this._isFormula=n.id===this.filter.parameters?.[0]?.formulaId,t=!0;break}t||this._clearTypeState()}else this._clearTypeState()}if(i||o){let e={authKey:this.authKey||``,authToken:this.authToken||``};n.t.configure(e)}(r||i||o)&&this._fetchDatasetDataFields();let l=this.filter?.parameters?.[1],u=e.get(`filter`),d=!!u&&u.expression!==this.filter?.expression;if(this.allowParameters&&this._type&&(c||e.has(`_type`)||d)&&a.o(l)){let t=this.parameters.find(e=>e.parameter===l.parameter),n=a.a(this._type,this.filter?.expression),r=c||e.has(`_type`);if(d&&!n.includes(l.type)||r&&(!t||!n.includes(t.type))){let e=structuredClone(this.filter),t=a.r(this._type,e.expression);e.parameters=t===void 0?[e.parameters[0]]:[e.parameters[0],t],this.filter=e,this._sendChangeEvent()}else if(r&&t&&JSON.stringify(t)!==JSON.stringify(l)){let e=structuredClone(this.filter);e.parameters[1]=structuredClone(t),this.filter=e,this._sendChangeEvent()}}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent(`luzmo-filter-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{filter:this.filter}}))}setFilterDataField(e){if(this._cannotReferenceColumn())return;let t=e.detail?.dataFields?.[0],n=this._type,r=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId,o=!!this.filter?.parameters?.[0]?.formulaId,s=t?.columnId||t?.formulaId,c=a.o(this.filter?.parameters?.[1]);this._type=t?.type,this._subType=t?.subtype,this._isFormula=!!t?.formulaId;let l=i.n(this._type,this._subType,this._isFormula);this.filter=structuredClone(this.filter??{}),l?.includes(this.filter?.expression)||(this.filter.expression=l?.[0]?.expression),this.filter.parameters=this.filter?.parameters??[],this.filter.parameters[0]={datasetId:t?.datasetId},this._isFormula?this.filter.parameters[0].formulaId=t?.formulaId:this.filter.parameters[0].columnId=t?.columnId;let u=this.filter.properties??{};if(this._isFormula?o&&u.type!==void 0||(this.filter.properties={...u,type:`having`}):(u.type===void 0||o&&u.type===`having`)&&(this.filter.properties={...u,type:`where`}),t?.lowestLevel,n!==this._type)this._type===`hierarchy`?(this.filter.expression=`? like ?`,this.filter.parameters[1]=``):this._type===`numeric`?(this.filter.expression=`? > ?`,this.filter.parameters[1]=0):this._type===`datetime`?(this.filter.expression=`? < ?`,this.filter.parameters[1]=new Date().toISOString()):(this.filter.expression=`? is not null`,this.filter.parameters=[this.filter.parameters[0]]);else if(c&&r!==s){let e=a.r(this._type,this.filter.expression);this.filter.parameters=e===void 0?[this.filter.parameters[0]]:[this.filter.parameters[0],e]}else r!==s&&this._type===`hierarchy`&&(this.filter.parameters[1]=[`? in ?`,`? not in ?`].includes(this.filter.expression)?[]:``);this._sendChangeEvent()}setFilterExpression(e){if(this._cannotReferenceColumn())return;let t=structuredClone(this.filter??{}),n=t.expression;if(t.expression=e.detail?.expression,n!==t.expression){if(a.o(t.parameters?.[1])){let e=t.parameters[1];if(!a.a(this._type,t.expression).some(t=>t===e.type)){let e=a.r(this._type,t.expression);t.parameters=e===void 0?[t.parameters[0]]:[t.parameters[0],e]}}else if([`? is null`,`? is not null`].includes(t.expression))t.parameters=[t.parameters[0]];else if(this._type===`datetime`)if([`YTD`,`QTD`,`MTD`,`WTD`].includes(t.expression)){let n=e?.detail?.unit;n&&(t.parameters[1]={unit:typeof n==`number`?n:1})}else if([`last_completed`,`next_full`,`to_date`].includes(t.expression)){let e=t?.parameters?.[1]?.unit;t.parameters[1]={unit:typeof e==`number`?e:1}}else if([`last_now`,`last_available`,`next_now`,`more_than_ago`,`or_more_ago`].includes(t.expression)){let e=t?.parameters?.[1]?.unit,n=t?.parameters?.[1]?.quantity;t.parameters[1]={unit:typeof e==`number`?e:1,quantity:typeof n==`number`?n:1}}else t.parameters[1]=new Date().toISOString();else if(this._type===`hierarchy`)if([`? in ?`,`? not in ?`].includes(t.expression))[`? = ?`,`? != ?`].includes(n)?t.parameters[1]=t.parameters[1]?[t.parameters[1]]:[]:t.parameters[1]=[];else if([`? = ?`,`? != ?`].includes(t.expression))if([`? in ?`,`? not in ?`].includes(n))t.parameters[1]=Array.isArray(t.parameters[1])&&t.parameters[1][0]!=null?t.parameters[1][0]:``;else{let e=t.parameters[1];t.parameters[1]=typeof e==`string`||typeof e==`number`?e:``}else t.parameters[1]=[`? in ?`,`? not in ?`].includes(n)?``:t.parameters[1]??``;else this._type===`numeric`&&([`? in ?`,`? not in ?`].includes(t.expression)&&[`? in ?`,`? not in ?`].includes(n)?t.parameters[1]=t.parameters[1]??[]:[`? in ?`,`? not in ?`].includes(t.expression)?t.parameters[1]=[]:t.parameters[1]=[`? in ?`,`? not in ?`].includes(n)?0:t.parameters[1]??0);this.filter=t,this._sendChangeEvent()}}setFilterValue(e){this._cannotReferenceColumn()||(this.filter.parameters[1]=e?.detail?.value,this._sendChangeEvent())}handleFilterParameterSelected(e){let t=e.detail?.parameter;if(!t)return;let n=structuredClone(this.filter??{});n.parameters=n.parameters??[],n.parameters[1]=structuredClone(t),this.filter=n,this._sendChangeEvent()}handleFilterParameterRemoved(){if(!a.o(this.filter?.parameters?.[1]))return;let e=structuredClone(this.filter),t=a.r(this._type,e.expression);e.parameters=t===void 0?[e.parameters[0]]:[e.parameters[0],t],this.filter=e,this._sendChangeEvent()}_cannotReferenceColumn(){if(!(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId))return!1;if(!this.datasetIds||this.datasetIds.length===0||this._datasetsDataFields.length===0)return!0;let e=this.filter?.parameters?.[0]?.datasetId,t=this._datasetsDataFields.find(t=>t.id===e);return!t||![...t.columns||[],...t.formulas||[]].find(e=>e.id===this.filter?.parameters?.[0]?.columnId||e.id===this.filter?.parameters?.[0]?.formulaId)}renderDataFieldPicker(){let e=this._cannotReferenceColumn(),t=e?(0,c.msg)(`Unknown`):void 0,n=e||this._loading?``:this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;return o.html`<luzmo-data-fields-select
|
|
21
|
-
.language=${this.language}
|
|
22
|
-
.contentLanguage=${this.contentLanguage}
|
|
23
|
-
.size=${this.size}
|
|
24
|
-
.value=${n?[n]:[]}
|
|
25
|
-
selects="single"
|
|
26
|
-
levels="off"
|
|
27
|
-
.datasetsDataFields=${this._datasetsDataFields}
|
|
28
|
-
placeholder=${(0,u.ifDefined)(t)}
|
|
29
|
-
.invalid=${!!this._error||e}
|
|
30
|
-
?disabled=${e}
|
|
31
|
-
.retrieving=${this._loading}
|
|
32
|
-
.pending=${this._loading}
|
|
33
|
-
@luzmo-data-fields-selected=${this.setFilterDataField}
|
|
34
|
-
></luzmo-data-fields-select>`}renderExpressionPicker(){let e=this._cannotReferenceColumn(),t=this.filter?.parameters?.[0],n=!t?.datasetId||!t?.columnId&&!t?.formulaId||e;return o.html`<luzmo-filter-expression-picker
|
|
35
|
-
.language=${this.language}
|
|
36
|
-
.size=${this.size}
|
|
37
|
-
.type=${this._type}
|
|
38
|
-
.subtype=${this._subType}
|
|
39
|
-
.filter=${this.filter}
|
|
40
|
-
?isFormula=${this._isFormula}
|
|
41
|
-
?disabled=${n}
|
|
42
|
-
@luzmo-expression-selected=${this.setFilterExpression}
|
|
43
|
-
></luzmo-filter-expression-picker>`}renderValuePicker(){let e=this._cannotReferenceColumn(),t=this.filter?.parameters?.[0],n=!t?.datasetId||!t?.columnId&&!t?.formulaId||e;return o.html`<luzmo-filter-value-picker
|
|
44
|
-
.apiUrl=${this.apiUrl}
|
|
45
|
-
.authKey=${this.authKey}
|
|
46
|
-
.authToken=${this.authToken}
|
|
47
|
-
.cacheTime=${this.cacheTime}
|
|
48
|
-
.language=${this.language}
|
|
49
|
-
.contentLanguage=${this.contentLanguage}
|
|
50
|
-
.timeZone=${this.timeZone}
|
|
51
|
-
.size=${this.size}
|
|
52
|
-
.filter=${this.filter}
|
|
53
|
-
.valueType=${this._type}
|
|
54
|
-
?disabled=${n}
|
|
55
|
-
@luzmo-filter-value-changed=${this.setFilterValue}
|
|
56
|
-
></luzmo-filter-value-picker>`}renderParameterPicker(){if(!this.allowParameters)return null;let e=a.a(this._type,this.filter?.expression);if(e.length===0)return null;let t=a.o(this.filter?.parameters?.[1])?this.filter.parameters[1]:void 0;return o.html`<luzmo-filter-parameter-picker
|
|
57
|
-
.language=${this.language}
|
|
58
|
-
.size=${this.size}
|
|
59
|
-
.parameters=${this.parameters}
|
|
60
|
-
.allowedTypes=${e}
|
|
61
|
-
.selectedParameter=${t}
|
|
62
|
-
.currentValue=${t?t.value:this.filter?.parameters?.[1]}
|
|
63
|
-
?disabled=${this._cannotReferenceColumn()}
|
|
64
|
-
@luzmo-parameter-selected=${this.handleFilterParameterSelected}
|
|
65
|
-
@luzmo-parameter-removed=${this.handleFilterParameterRemoved}
|
|
66
|
-
></luzmo-filter-parameter-picker>`}render(){let e=a.o(this.filter?.parameters?.[1]);return o.html`<div role="group" aria-label=${(0,c.msg)(`Filter condition`,{desc:`Accessible label for filter item group`})}>
|
|
67
|
-
${this.renderDataFieldPicker()} ${this.renderExpressionPicker()}
|
|
68
|
-
<div class="value-controls">
|
|
69
|
-
${e?null:this.renderValuePicker()} ${this.renderParameterPicker()}
|
|
70
|
-
</div>
|
|
71
|
-
</div>`}};e.t([(0,s.property)({type:String,attribute:`api-url`,reflect:!0})],f.prototype,`apiUrl`,void 0),e.t([(0,s.property)({type:String,attribute:`auth-key`,reflect:!0})],f.prototype,`authKey`,void 0),e.t([(0,s.property)({type:String,attribute:`auth-token`,reflect:!0})],f.prototype,`authToken`,void 0),e.t([(0,s.property)({type:Number,attribute:`cache-time`,reflect:!0})],f.prototype,`cacheTime`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],f.prototype,`contentLanguage`,void 0),e.t([(0,s.property)({type:String,attribute:`time-zone`,reflect:!0})],f.prototype,`timeZone`,void 0),e.t([(0,s.property)({type:Array,attribute:`dataset-ids`,reflect:!0})],f.prototype,`datasetIds`,void 0),e.t([(0,s.property)({type:Object,reflect:!1})],f.prototype,`filter`,void 0),e.t([(0,s.property)({type:Boolean,attribute:`allow-parameters`,reflect:!0})],f.prototype,`allowParameters`,void 0),e.t([(0,s.property)({attribute:!1})],f.prototype,`parameters`,void 0),e.t([(0,s.state)()],f.prototype,`_type`,void 0),e.t([(0,s.state)()],f.prototype,`_subType`,void 0),e.t([(0,s.state)()],f.prototype,`_isFormula`,void 0),e.t([(0,s.state)()],f.prototype,`_error`,void 0),e.t([(0,s.state)()],f.prototype,`_loading`,void 0),e.t([(0,s.state)()],f.prototype,`_datasetsDataFields`,void 0),f=e.t([(0,c.localized)()],f),customElements.get(`luzmo-filter-item`)||customElements.define(`luzmo-filter-item`,f),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
|
|
@@ -1,48 +0,0 @@
|
|
|
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
|
-
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-CtNoCjjI.cjs"),n=require("./data-broker-CyMYR6w1.cjs"),r=require("./localize-D3i4Epy_.cjs");require("./utils-BwJNkc-z.cjs");let i=require("lit"),a=require("lit/decorators.js"),o=require("@lit/localize");require("@luzmo/lucero/select");let s=require("@luzmo/lucero/utils");require("@luzmo/lucero/text-field");var c=`:host{flex-direction:row;flex-shrink:1;min-width:0;display:flex}luzmo-select,luzmo-text-field{min-width:var(--luzmo-filter-value-picker-hierarchy-control-min-width,var(--filter-value-picker-hierarchy-control-min-width));flex:auto;max-width:100%}.missing-value{color:var(--luzmo-filter-value-picker-hierarchy-missing-value-color,#767676)}:host{--filter-value-picker-hierarchy-control-min-width:0}`,l=5e3,u=class extends t.t((0,s.SizedMixin)(s.LuzmoElement,{validSizes:Object.values(s.ElementSizes)})){constructor(...e){super(...e),this.contentLanguage=`en`,this._hierarchyValues=[],this._retrieving=!1,this._search=``,this._error=null,this._pending=!1,this._allValuesRetrieved=!1,this._hierarchyRequestGeneration=0,this._runningQueries=[]}static get styles(){return[(0,i.unsafeCSS)(c)]}connectedCallback(){super.connectedCallback();let e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),n.t.configure(e)}willUpdate(e){if(super.willUpdate(e),e.has(`filter`)&&this.filter){let t=e.get(`filter`),n=t?.expression,r=t?.parameters?.[0],i=this.filter?.parameters?.[0],a=(r?.columnId||r?.formulaId)!==(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId)||r?.datasetId!==i?.datasetId;this.filter?.parameters?.[1]!==this._lastResolvedOutput&&(this._lastResolutionKey=void 0),a&&(this._hierarchyRequestGeneration++,this._pending=!1,this._retrieving=!1),a&&([`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(this.filter?.expression)||![`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(n))&&(this._hierarchyValues=[],this._allValuesRetrieved=!1),[`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(this.filter.expression)&&this._hierarchyValues.length===0&&this._restoreCachedFirstPage()}}updated(e){if(super.updated(e),!e.has(`filter`)||!this.filter)return;let t=e.get(`filter`)?.expression,n=[`? = ?`,`? != ?`].includes(this.filter.expression)&&t!==void 0&&![`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(t);n&&this._hierarchyValues.length>0?this._resolveSingleSelectValue():n&&!this._retrieving&&queueMicrotask(()=>{[`? = ?`,`? != ?`].includes(this.filter?.expression)&&this._hierarchyValues.length===0&&!this._retrieving&&this._fetchHierarchyValues(0,!0)})}_buildHierarchyQuery(e=0,t=this._search){let n=this.filter?.parameters?.[0];if(!n?.datasetId||!n.columnId&&!n.formulaId)return null;let r={column_id:n.columnId,formula_id:n.formulaId,dataset_id:n.datasetId},i={dimensions:[r],where:[],order:[{...r,order:`asc`}],limit:{by:l,offset:e}};return t&&i.where.push({expression:`? like ?`,parameters:[r,t]}),i}_getValues(e){return e&&Array.isArray(e.data)?e.data.map(e=>e[0]):[]}_applyHierarchyResult(e,t,n){let r=this._getValues(e);n||(this._allValuesRetrieved=r.length<l),this._hierarchyValues=t>0?[...this._hierarchyValues,...r]:r}_restoreCachedFirstPage(){let e=this._buildHierarchyQuery(0,``);if(!e)return!1;let t=n.t.getCachedData(e);return t?(this._applyHierarchyResult(t,0,``),this._retrieving=!1,this._error=null,!0):!1}_getMemberLabel(e){let t=r.t(e?.name,this.contentLanguage,{allowEmpty:!0});return typeof t==`string`?t:``}_findExactMember(e){return this._hierarchyValues.find(t=>String(t?.id)===e||this._getMemberLabel(t)===e)}_resolveSingleSelectValue(){if(![`? = ?`,`? != ?`].includes(this.filter?.expression)||this._hierarchyValues.length===0)return;let e=this.filter?.parameters?.[1];if(typeof e!=`string`&&typeof e!=`number`)return;let t=String(e),n=this._findExactMember(t),r=t.toLocaleLowerCase(this.contentLanguage),i=n??this._hierarchyValues.find(e=>String(e?.id).toLocaleLowerCase(this.contentLanguage).includes(r)||this._getMemberLabel(e).toLocaleLowerCase(this.contentLanguage).includes(r)),a=(n??i??this._hierarchyValues[0])?.id;if(typeof a!=`string`&&typeof a!=`number`)return;let o=this.filter.parameters[0],s=[o.datasetId,o.columnId??o.formulaId,this.filter.expression,String(e),String(a)].join(`|`);s!==this._lastResolutionKey&&(this._lastResolutionKey=s,this._lastResolvedOutput=a,this._value=a,this.filter={...this.filter,parameters:[{...this.filter.parameters[0]},a]},this._sendChangeEvent())}async _fetchHierarchyValues(e=0,t=!1){let r=this._search;if(!r&&this._allValuesRetrieved){this._retrieving=!1;return}if(e===0&&!r&&(this._restoreCachedFirstPage()||this._hierarchyValues.length>0)){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error=`Missing column parameters`;return}let i=this.filter.parameters[0],a=i.columnId,o=i.formulaId,s=i.datasetId;if(!a&&!o){this._retrieving=!1,this._error=`Missing column id or formula id`;return}else if(!s){this._retrieving=!1,this._error=`Missing dataset id`;return}let c=this._buildHierarchyQuery(e,r);if(!c)return;let l=this._hierarchyRequestGeneration;this._pending=t,this._retrieving=!0,this._error=null;let u=new AbortController,d=new Promise((e,t)=>{n.t.fetchData(c).then(e).catch(t),u.signal.addEventListener(`abort`,()=>{console.warn(`Request aborted`),t({status:`aborted`})})}),f={promise:d,abortController:u};this._runningQueries.push(f);try{let n=await d;if(l!==this._hierarchyRequestGeneration)return;this._applyHierarchyResult(n,e,r),t&&!r&&this._resolveSingleSelectValue()}catch(e){if(l!==this._hierarchyRequestGeneration||e?.status===`aborted`)return;this._error=e instanceof Error?e.message:`Unknown error`,this._hierarchyValues=[]}finally{this._runningQueries=this._runningQueries.filter(e=>e.promise!==d),l===this._hierarchyRequestGeneration&&(this._pending=!1,this._retrieving=!1)}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent(`luzmo-filter-value-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setHierarchy(e){let t;t=[`? in ?`,`? not in ?`].includes(this.filter?.expression)?e?.detail?.value:[`? = ?`,`? != ?`].includes(this.filter?.expression)?e?.detail?.value?.[0]:e?.target?.value,this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},this._value]},this._sendChangeEvent())}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._hierarchyValues.length-1&&this._fetchHierarchyValues(this._hierarchyValues.length)}renderTextField(){return i.html`<luzmo-text-field
|
|
21
|
-
label=${(0,o.msg)(`Filter value`,{desc:`Label for filter value text field`})}
|
|
22
|
-
.size=${this.size}
|
|
23
|
-
@change=${this.setHierarchy}
|
|
24
|
-
@input=${this.setHierarchy}
|
|
25
|
-
.value=${this.filter?.parameters?.[1]??``}
|
|
26
|
-
></luzmo-text-field>`}setSearchString(e){this._search=e?.detail?.string??``,this._allValuesRetrieved||(this._searchQueryTimeout&&(this._runningQueries.forEach(e=>{e?.abortController&&e.abortController.abort()}),this._runningQueries=[],clearTimeout(this._searchQueryTimeout)),this._searchQueryTimeout=setTimeout(()=>{this._fetchHierarchyValues()},500))}resetSearchString(){this._search=``,this._hierarchyRequestGeneration++,this._pending=!1,this._retrieving=!1,this._restoreCachedFirstPage()}onOpened(){this._fetchHierarchyValues()}_getSelectedOptionValue(){let e=this.filter?.parameters?.[1];return typeof e!=`string`&&typeof e!=`number`?e:this._findExactMember(String(e))?.id??e}renderHierarchyPicker(){if(this._error)return i.html`<div class="error" role="alert">Error: ${this._error}</div>`;let e=(this._search?this._hierarchyValues.filter(e=>r.t(e.name,this.contentLanguage,{allowEmpty:!0})?.toLowerCase().includes(this._search.toLowerCase())||e.toString().toLowerCase().includes(this._search.toLowerCase())):this._hierarchyValues).map(e=>{let t=r.t(e?.name,this.contentLanguage)??`N/A`;return typeof t!=`string`&&(t=`N/A`),{value:e?.id,label:t}}),t=this.filter?.expression,n=[`? = ?`,`? != ?`].includes(t),a=(0,o.msg)(`Selected {count} items`),s=(0,o.msg)(`Search`),c=(0,o.msg)(`No data`),l=(0,o.msg)(`No results`),u=(0,o.msg)(`Select...`);return i.html`<luzmo-select
|
|
27
|
-
.size=${this.size}
|
|
28
|
-
.label=${u}
|
|
29
|
-
.retrieving=${this._retrieving}
|
|
30
|
-
.pending=${this._pending}
|
|
31
|
-
.selects=${n?`single`:`multiple`}
|
|
32
|
-
.variant=${n?`highlight`:`checkboxes`}
|
|
33
|
-
emphasized
|
|
34
|
-
no-wrap
|
|
35
|
-
?invalid=${!!this._error}
|
|
36
|
-
.multipleLabelTemplate=${a}
|
|
37
|
-
.searchLabel=${s}
|
|
38
|
-
.noDataLabel=${c}
|
|
39
|
-
.noResultsLabel=${l}
|
|
40
|
-
@change=${this.setHierarchy}
|
|
41
|
-
@luzmo-search=${this.setSearchString}
|
|
42
|
-
@luzmo-opened=${this.onOpened}
|
|
43
|
-
@luzmo-closed=${this.resetSearchString}
|
|
44
|
-
@luzmo-scrolled=${this.onScrolled}
|
|
45
|
-
.options=${e}
|
|
46
|
-
.value=${n?[this._getSelectedOptionValue()]:this.filter?.parameters?.[1]}
|
|
47
|
-
>
|
|
48
|
-
</luzmo-select>`}render(){let e=this.filter?.expression;return[`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(e)?this.renderHierarchyPicker():this.renderTextField()}};e.t([(0,a.property)({type:String,attribute:`api-url`,reflect:!0})],u.prototype,`apiUrl`,void 0),e.t([(0,a.property)({type:String,attribute:`auth-key`,reflect:!0})],u.prototype,`authKey`,void 0),e.t([(0,a.property)({type:String,attribute:`auth-token`,reflect:!0})],u.prototype,`authToken`,void 0),e.t([(0,a.property)({type:Number,attribute:`cache-time`,reflect:!0})],u.prototype,`cacheTime`,void 0),e.t([(0,a.property)({type:String,attribute:`content-language`,reflect:!0})],u.prototype,`contentLanguage`,void 0),e.t([(0,a.property)({type:Object,reflect:!1})],u.prototype,`filter`,void 0),e.t([(0,a.state)()],u.prototype,`_hierarchyValues`,void 0),e.t([(0,a.state)()],u.prototype,`_retrieving`,void 0),e.t([(0,a.state)()],u.prototype,`_search`,void 0),e.t([(0,a.state)()],u.prototype,`_error`,void 0),e.t([(0,a.state)()],u.prototype,`_pending`,void 0),u=e.t([(0,o.localized)()],u),customElements.get(`luzmo-filter-value-picker-hierarchy`)||customElements.define(`luzmo-filter-value-picker-hierarchy`,u),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
|
|
@@ -1,48 +0,0 @@
|
|
|
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
|
-
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-CtNoCjjI.cjs"),n=require("./data-broker-CyMYR6w1.cjs");let r=require("lit"),i=require("lit/decorators.js"),a=require("@lit/localize");require("@luzmo/lucero/select"),require("@luzmo/lucero/number-field");let o=require("@luzmo/lucero/utils");var s=`:host{flex-direction:row;flex-shrink:1;min-width:0;display:flex}luzmo-number-field,luzmo-select{min-width:var(--luzmo-filter-value-picker-numeric-control-min-width,var(--filter-value-picker-numeric-control-min-width));flex:auto;max-width:100%}.missing-value{opacity:.4}:host{--filter-value-picker-numeric-control-min-width:0}`,c=5e3,l=class extends t.t((0,o.SizedMixin)(o.LuzmoElement,{validSizes:Object.values(o.ElementSizes)})){constructor(...e){super(...e),this.contentLanguage=`en`,this._numericValues=[],this._retrieving=!0,this._search=``,this._error=null,this._allValuesRetrieved=!1,this._runningQueries=[]}static get styles(){return[(0,r.unsafeCSS)(s)]}connectedCallback(){super.connectedCallback();let e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),n.t.configure(e)}willUpdate(e){if(super.willUpdate(e),e.has(`filter`)&&this.filter){let t=e.get(`filter`)?.expression,n=this.filter?.expression;((e.get(`filter`)?.parameters?.[0]?.columnId||e.get(`filter`)?.parameters?.[0]?.formulaId)!==(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId)||![`? in ?`,`? not in ?`].includes(t))&&[`? in ?`,`? not in ?`].includes(n)&&(this._numericValues=[],this._allValuesRetrieved=!1,this._retrieving=!0)}}async _fetchNumericValues(e=0){if(this._allValuesRetrieved){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error=`Missing column parameters`;return}let t=this.filter.parameters[0],r=t.columnId,i=t.formulaId,a=t.datasetId;if(!r&&!i){this._retrieving=!1,this._error=`Missing column id or formula id`;return}else if(!a){this._retrieving=!1,this._error=`Missing dataset id`;return}this._retrieving=!0,this._error=null;let o={expression:`? like ?`,parameters:[{dataset_id:a,expression:`CAST({${a}:${r??i}},hierarchy)`},this._search]},s={dimensions:[{column_id:r,formula_id:i,dataset_id:a}],where:[],order:[{column_id:r,formula_id:i,dataset_id:a,order:`asc`}],limit:{by:c,offset:e}};this._search&&!this._allValuesRetrieved&&s.where.push(o);let l=new AbortController,u=new Promise((e,t)=>{n.t.fetchData(s).then(e).catch(t),l.signal.addEventListener(`abort`,()=>{console.warn(`Request aborted`),t({status:`aborted`})})}),d={promise:u,abortController:l};this._runningQueries.push(d);try{let t=await u,n=t&&Array.isArray(t.data)?t.data.map(e=>e[0]):[];this._search||(this._allValuesRetrieved=n.length<c),this._numericValues=e>0?[...this._numericValues,...n]:n}catch(e){if(e?.status===`aborted`)return;this._error=e instanceof Error?e.message:`Unknown error`,this._numericValues=[]}finally{this._runningQueries=this._runningQueries.filter(e=>e.promise!==u),this._retrieving=!1}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent(`luzmo-filter-value-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setValue(e){let t=[`? in ?`,`? not in ?`].includes(this.filter?.expression)?e?.detail?.value:e?.target?.value;this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},t]},this._sendChangeEvent())}selectValue(e){let t=(e.detail?.value??``).map(e=>Number.parseFloat(e));this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},t]},this._value=t,this._sendChangeEvent()}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._numericValues.length-1&&this._fetchNumericValues(this._numericValues.length)}renderNumberField(){return r.html`<luzmo-number-field
|
|
21
|
-
label="Numeric filter value"
|
|
22
|
-
grows
|
|
23
|
-
.size=${this.size}
|
|
24
|
-
@change=${this.setValue}
|
|
25
|
-
@input=${this.setValue}
|
|
26
|
-
.value=${this.filter?.parameters?.[1]}
|
|
27
|
-
></luzmo-number-field>`}setSearchString(e){this._search=e?.detail?.string??``,this._allValuesRetrieved||(this._searchQueryTimeout&&(this._runningQueries.forEach(e=>{e?.abortController&&e.abortController.abort()}),this._runningQueries=[],clearTimeout(this._searchQueryTimeout)),this._searchQueryTimeout=setTimeout(()=>{this._fetchNumericValues()},500))}resetSearchString(){this._search=``}onOpened(){this._fetchNumericValues()}renderValuePicker(){if(this._error)return r.html`<div class="error" role="alert">${this._error}</div>`;let e=this._numericValues.filter(e=>e.toString().toLowerCase().includes(this._search.toLowerCase())).map(e=>({value:e,label:e})),t=(0,a.msg)(`Selected {count} items`),n=(0,a.msg)(`Search`),i=(0,a.msg)(`No data`),o=(0,a.msg)(`No results`),s=(0,a.msg)(`Select...`);return r.html`<luzmo-select
|
|
28
|
-
.size=${this.size}
|
|
29
|
-
.label=${s}
|
|
30
|
-
.retrieving=${this._retrieving}
|
|
31
|
-
selects="multiple"
|
|
32
|
-
variant="checkboxes"
|
|
33
|
-
emphasized
|
|
34
|
-
no-wrap
|
|
35
|
-
?invalid=${!!this._error}
|
|
36
|
-
.multipleLabelTemplate=${t}
|
|
37
|
-
.searchLabel=${n}
|
|
38
|
-
.noDataLabel=${i}
|
|
39
|
-
.noResultsLabel=${o}
|
|
40
|
-
@change=${this.selectValue}
|
|
41
|
-
@luzmo-search=${this.setSearchString}
|
|
42
|
-
@luzmo-opened=${this.onOpened}
|
|
43
|
-
@luzmo-closed=${this.resetSearchString}
|
|
44
|
-
@luzmo-scrolled=${this.onScrolled}
|
|
45
|
-
.options=${e}
|
|
46
|
-
.value=${this.filter?.parameters?.[1]}
|
|
47
|
-
>
|
|
48
|
-
</luzmo-select>`}render(){let e=this.filter?.expression;return[`? in ?`,`? not in ?`].includes(e)?this.renderValuePicker():this.renderNumberField()}};e.t([(0,i.property)({type:String,attribute:`api-url`,reflect:!0})],l.prototype,`apiUrl`,void 0),e.t([(0,i.property)({type:String,attribute:`auth-key`,reflect:!0})],l.prototype,`authKey`,void 0),e.t([(0,i.property)({type:String,attribute:`auth-token`,reflect:!0})],l.prototype,`authToken`,void 0),e.t([(0,i.property)({type:Number,attribute:`cache-time`,reflect:!0})],l.prototype,`cacheTime`,void 0),e.t([(0,i.property)({type:String,attribute:`content-language`,reflect:!0})],l.prototype,`contentLanguage`,void 0),e.t([(0,i.property)({type:Object,reflect:!1})],l.prototype,`filter`,void 0),e.t([(0,i.state)()],l.prototype,`_numericValues`,void 0),e.t([(0,i.state)()],l.prototype,`_retrieving`,void 0),e.t([(0,i.state)()],l.prototype,`_search`,void 0),e.t([(0,i.state)()],l.prototype,`_error`,void 0),l=e.t([(0,a.localized)()],l),customElements.get(`luzmo-filter-value-picker-numeric`)||customElements.define(`luzmo-filter-value-picker-numeric`,l),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});
|