@luzmo/analytics-components-kit 1.0.8-beta.7 → 1.0.8
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/components/{area-chart-positioning.config-BEwDQj3T.js → area-chart-positioning.config-BJK4Q4NL.js} +1 -1
- package/components/{area-chart-positioning.config-CS-5H8-C.cjs → area-chart-positioning.config-Cbeon6-x.cjs} +1 -1
- package/components/{bar-chart-positioning.config-CBbTYesB.js → bar-chart-positioning.config-B4UuSMIW.js} +1 -1
- package/components/{bar-chart-positioning.config-DkIvwJI5.cjs → bar-chart-positioning.config-BnhZQUtb.cjs} +1 -1
- package/components/base-BtRS5vm6.cjs +20 -0
- package/components/{base-DSeXdW9S.js → base-IE9Qxmub.js} +1 -2
- package/components/{box-plot-positioning.config-CNC-RTwl.js → box-plot-positioning.config-CYk5koLu.js} +1 -1
- package/components/{box-plot-positioning.config-o5D-mRFr.cjs → box-plot-positioning.config-DsldCFWm.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-3ilPXLpZ.js → bubble-chart-positioning.config-BSDmuPwq.js} +1 -1
- package/components/{bubble-chart-positioning.config-CtreNdST.cjs → bubble-chart-positioning.config-BV-T_2cy.cjs} +1 -1
- package/components/{bullet-chart-positioning.config-CkFhShBk.js → bullet-chart-positioning.config-B3GeLs8o.js} +1 -1
- package/components/{bullet-chart-positioning.config-dHj3YrT_.cjs → bullet-chart-positioning.config-BoqQq4g_.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-DOt86t59.js → choropleth-map-positioning.config-6OT0sZa5.js} +1 -1
- package/components/{choropleth-map-positioning.config-BSs-bRGv.cjs → choropleth-map-positioning.config-C_I3wf8H.cjs} +1 -1
- package/components/{circle-pack-chart-positioning.config-BkFATJjC.js → circle-pack-chart-positioning.config-BuuhKB85.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-CVNdIYau.cjs → circle-pack-chart-positioning.config-D7Oke8BW.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-SrbCaaOr.cjs → circular-gauge-positioning.config-B_IJzIBn.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-BV2xb5TF.js → circular-gauge-positioning.config-DlWvKl0e.js} +1 -1
- package/components/{column-chart-positioning.config-T7juV3XT.js → column-chart-positioning.config-BLacEiY5.js} +1 -1
- package/components/{column-chart-positioning.config-DTQe3h_H.cjs → column-chart-positioning.config-DngsP5So.cjs} +1 -1
- package/components/{combination-chart-positioning.config-BrSmdan-.cjs → combination-chart-positioning.config-BVV0Bq-d.cjs} +1 -1
- package/components/{combination-chart-positioning.config-78C7wKnS.js → combination-chart-positioning.config-DxnmzV6O.js} +1 -1
- package/components/{conditional-number-positioning.config-_9ySKU1z.cjs → conditional-number-positioning.config-DfitbPT6.cjs} +1 -1
- package/components/{conditional-number-positioning.config-z_eEfpud.js → conditional-number-positioning.config-YEo_yFBu.js} +1 -1
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.d.ts +0 -1
- package/components/data-field/index.js +1 -1
- package/components/data-field-fvlYzmfX.cjs +89 -0
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.d.ts +0 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-U-5Q-TRp.js → data-field-panel-BWBr1Fog.js} +4 -5
- package/components/data-field-panel-Yrqn4L79.cjs +87 -0
- package/components/{data-field-level-DR_dXjnL.js → data-field-yTJb-R63.js} +141 -47
- package/components/{data-fields-select-BYhAzdA6.js → data-fields-select-Bb1HXwlO.js} +3 -4
- package/components/data-fields-select-Cor6sfzL.cjs +41 -0
- package/components/{display-settings-binning-GIE6ww1Q.js → display-settings-binning-CaE87u3h.js} +19 -17
- package/components/{display-settings-binning-HrXOdGwO.cjs → display-settings-binning-CjvB12ds.cjs} +2 -2
- package/components/{display-settings-datetime-YS7_TUet.js → display-settings-datetime-5rq55OAn.js} +71 -69
- package/components/display-settings-datetime-B23w7aH4.cjs +217 -0
- package/components/display-settings-grand-totals-BZ0nlLhu.cjs +44 -0
- package/components/{display-settings-grand-totals-Bt_ju8jp.js → display-settings-grand-totals-DnKvI34n.js} +19 -17
- package/components/{display-settings-numeric-OHmktQsz.js → display-settings-numeric-B8MCRz-V.js} +81 -79
- package/components/display-settings-numeric-DoScgfRy.cjs +190 -0
- package/components/display-settings-period-over-period-C-hp0ZKN.cjs +227 -0
- package/components/{display-settings-period-over-period-B1_IJjWK.js → display-settings-period-over-period-W3dPK8LR.js} +98 -88
- package/components/{donut-chart-positioning.config-BY2TIeeY.cjs → donut-chart-positioning.config-QOZXaJmt.cjs} +1 -1
- package/components/{donut-chart-positioning.config-D34HegyZ.js → donut-chart-positioning.config-fGckMun2.js} +1 -1
- package/components/{en-q_Ruzags.cjs → en-CSPDwq2y.cjs} +1 -1
- package/components/{en-US-CcLhGxIh.js → en-DdS5q1ZT.js} +1 -1
- package/components/{en-GB-uxY5qmIM.cjs → en-GB-CJR66Ci_.cjs} +1 -1
- package/components/{en-GB-DzkdeUQh.js → en-GB-Cn0xDC0K.js} +1 -1
- package/components/{en-US-q_Ruzags.cjs → en-US-CSPDwq2y.cjs} +1 -1
- package/components/{en-CcLhGxIh.js → en-US-DdS5q1ZT.js} +1 -1
- package/components/{evolution-number-positioning.config-BBvULr59.cjs → evolution-number-positioning.config-B7lBArog.cjs} +1 -1
- package/components/{evolution-number-positioning.config-CKzCTjdO.js → evolution-number-positioning.config-CVIysE4H.js} +1 -1
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +2 -2
- package/components/filters-DndJU6D5.js +2454 -0
- package/components/filters-oB9qOk_M.cjs +443 -0
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/formula-BFvxm8kj.cjs +45 -0
- package/components/{formula-BYx4gH6i.js → formula-CdAkO1za.js} +14 -15
- package/components/{formula-codemirror-CVzyYNLO.js → formula-codemirror-jVC8mjQ3.js} +19 -21
- package/components/formula-codemirror-ucFOD-2a.cjs +215 -0
- package/components/{formula-display-store-BPn9m5TL.js → formula-display-store-CLAt_fik.js} +271 -242
- package/components/formula-display-store-DmT65fUB.cjs +20 -0
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.d.ts +0 -1
- package/components/formula-editor/index.js +3 -4
- package/components/{formula-editor-BxoIkARr.js → formula-editor-Bd9F-xdZ.js} +351 -146
- package/components/formula-editor-BeZ-fu-7.cjs +253 -0
- package/components/{funnel-chart-positioning.config-CvhpE7rN.js → funnel-chart-positioning.config-BGi7ixet.js} +1 -1
- package/components/{funnel-chart-positioning.config-BPSmV76y.cjs → funnel-chart-positioning.config-zEqgz9Wz.cjs} +1 -1
- package/components/{heat-map-positioning.config-CHDHFIo2.cjs → heat-map-positioning.config-3dxU6qwG.cjs} +1 -1
- package/components/{heat-map-positioning.config-AOHTEJf7.js → heat-map-positioning.config-CK2DBngE.js} +1 -1
- package/components/{heat-table-positioning.config-DprOfmlW.js → heat-table-positioning.config-C55D814C.js} +1 -1
- package/components/{heat-table-positioning.config-DCLE9cy4.cjs → heat-table-positioning.config-CbscS7w1.cjs} +1 -1
- package/components/{hexbin-map-positioning.config-BjxkoqGh.js → hexbin-map-positioning.config-9nnyZGzx.js} +1 -1
- package/components/{marker-map-positioning.config-Bq1EPg3J.cjs → hexbin-map-positioning.config-CHecaD9p.cjs} +1 -1
- package/components/index.cjs +840 -1
- package/components/index.js +6783 -67
- 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-C2ZvM04g.cjs} +22 -22
- package/components/{item-grid-C_OTtv4T.js → item-grid-D4xYhMOD.js} +1 -2
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-DRWLN89_.js → item-option-28BU_oaD.js} +2 -2
- package/components/item-option-BQpS6rM_.cjs +269 -0
- 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-BwBxRLzB.cjs +53 -0
- package/components/{item-option-action-button-group-B9ghoHeh.js → item-option-action-button-group-D_g6aoYd.js} +2 -2
- package/components/item-option-base-C6uwowJD.cjs +56 -0
- package/components/{item-option-base-pYrkqt6q.js → item-option-base-CxQhI83u.js} +2 -2
- 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-BjHadiN0.cjs +40 -0
- package/components/{item-option-color-palette-picker-DnVqGnm4.js → item-option-color-palette-picker-CRDFqhWx.js} +2 -2
- 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-BJgpBbDp.cjs} +2 -2
- package/components/{item-option-color-picker-CO-OAFOs.js → item-option-color-picker-BlkpWjQh.js} +2 -2
- 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-bdYUxgQ9.js → item-option-color-range-3Wp-Ywz6.js} +2 -2
- package/components/item-option-color-range-CQo8uThO.cjs +98 -0
- 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-CQ_yb7Ar.js} +3 -4
- package/components/item-option-guidelines-Daf8Ce5z.cjs +135 -0
- 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-BApbe3pp.cjs} +2 -2
- package/components/{item-option-multi-language-field-0qfdBanp.js → item-option-multi-language-field-aLIpQWiQ.js} +2 -2
- 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-B72ZYOAX.cjs} +2 -2
- package/components/{item-option-number-field-CcEav5C3.js → item-option-number-field-Bv5eGoxB.js} +2 -2
- 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-A8Jxzwml.cjs} +2 -2
- package/components/{item-option-panel-DrI7HYrY.js → item-option-panel-kRH7GbzA.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-BuUtW6gD.js} +2 -2
- package/components/{item-option-picker-DkEgfEE7.cjs → item-option-picker-DOFJ1CnI.cjs} +2 -2
- 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-Cnis4wLA.cjs +32 -0
- package/components/{item-option-position-picker-1d7qZmDv.js → item-option-position-picker-mf3JQu5q.js} +2 -2
- 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-B7gI1IKO.cjs +49 -0
- package/components/{item-option-positions-number-field-DUlBsbUL.js → item-option-positions-number-field-BIBWpagB.js} +2 -2
- 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-B2HYZguB.cjs} +2 -2
- package/components/{item-option-radio-button-group-DuMcIZvr.js → item-option-radio-button-group-CFnfadK2.js} +2 -2
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/item-option-slider--7hmhi97.cjs +33 -0
- package/components/{item-option-slider-CWxRoAbA.js → item-option-slider-CH1l0Ena.js} +2 -2
- 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-hUFRE9MC.cjs} +2 -2
- package/components/{item-option-switch-DvMLATBO.js → item-option-switch-rqu2ePVU.js} +2 -2
- 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-Furz80ho.cjs → item-option-text-field-C6CocZ5q.cjs} +2 -2
- package/components/{item-option-text-field-DS-gn_Gc.js → item-option-text-field-CBFMmuK2.js} +2 -2
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.d.ts +0 -2
- package/components/item-slot-drop/index.js +1 -1
- package/components/{item-slot-drop-DE90FDdS.js → item-slot-drop-DDGclwbP.js} +12 -17
- package/components/item-slot-drop-hK-rLhwa.cjs +91 -0
- 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-CE4f9X6F.cjs +57 -0
- package/components/{item-slot-drop-panel-CyfhbUlE.js → item-slot-drop-panel-Cj6vbgJl.js} +40 -41
- 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-CjQH3MU-.js} +17 -22
- package/components/item-slot-picker-Wf50lM5u.cjs +174 -0
- 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-7IFk5QFC.js} +4 -5
- package/components/item-slot-picker-panel-Csn1tabr.cjs +81 -0
- package/components/{line-chart-positioning.config-CPGyHeJF.js → line-chart-positioning.config-D5WVvIZT.js} +1 -1
- package/components/{line-chart-positioning.config-BnDYCjGX.cjs → line-chart-positioning.config-DuXn1WD-.cjs} +1 -1
- package/components/load-data-fields-for-datasets-B76UR0sG.js +86 -0
- package/components/load-data-fields-for-datasets-DFYeACsu.cjs +20 -0
- package/components/{ad-hoc-slot-content-BwcFfXCV.cjs → localized-mixin-DfpurTYo.cjs} +1 -1
- package/components/{decorate-DyMgX_Uh.js → localized-mixin-DhiGdPMj.js} +26 -2
- package/components/{marker-map-positioning.config-CBERtxkG.js → marker-map-positioning.config-D2L7cvCP.js} +1 -1
- package/components/{hexbin-map-positioning.config-BmLljWez.cjs → marker-map-positioning.config-DfN39a-Q.cjs} +1 -1
- package/components/{ohlc-chart-positioning.config-CpPJyyLB.js → ohlc-chart-positioning.config-C53dCwaT.js} +1 -1
- package/components/{ohlc-chart-positioning.config-aCf-SEt7.cjs → ohlc-chart-positioning.config-DsBuB0VU.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-DsNDp1G7.js → parallel-coordinates-plot-positioning.config-DhoVstsb.js} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs → parallel-coordinates-plot-positioning.config-aiFzLnnh.cjs} +1 -1
- package/components/period-over-period-condition.const-DDgiXIfR.cjs +20 -0
- package/components/{formatter-Cq5dFCyU.js → period-over-period-condition.const-IOVIrgKJ.js} +234 -44
- package/components/{pivot-table-positioning.config-gBHM1_-K.cjs → pivot-table-positioning.config-Bq9BoQWM.cjs} +1 -1
- package/components/{pivot-table-positioning.config-BFWS3Yk_.js → pivot-table-positioning.config-Cnai84AH.js} +1 -1
- package/components/{pyramid-chart-positioning.config-B8dbZhvt.js → pyramid-chart-positioning.config-BeJ5R_Ln.js} +1 -1
- package/components/{pyramid-chart-positioning.config-DD64vCwl.cjs → pyramid-chart-positioning.config-D5AKNCPb.cjs} +1 -1
- package/components/{radar-chart-positioning.config-DN51_Tzb.cjs → radar-chart-positioning.config-BEIwrzhb.cjs} +1 -1
- package/components/{radar-chart-positioning.config-C2DWQu8V.js → radar-chart-positioning.config-DsfUBq4B.js} +1 -1
- package/components/{route-map-positioning.config-ryk_dUkh.cjs → route-map-positioning.config-4Wyvj5OH.cjs} +1 -1
- package/components/{route-map-positioning.config-D7X6QuWY.js → route-map-positioning.config-CuiRWzbs.js} +1 -1
- package/components/{sankey-diagram-positioning.config-CJfGpnPS.cjs → sankey-diagram-positioning.config-CZ-zVCQo.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-A_7xM06n.js → sankey-diagram-positioning.config-DtN7dARd.js} +1 -1
- package/components/{scatter-plot-positioning.config-qpwrugRe.js → scatter-plot-positioning.config-BXrzdLIc.js} +1 -1
- package/components/{scatter-plot-positioning.config-Duao2ftU.cjs → scatter-plot-positioning.config-CfAf_FUW.cjs} +1 -1
- package/components/{slicer-filter-positioning.config-93hC7jID.js → slicer-filter-positioning.config-BLGeCJys.js} +1 -1
- package/components/{slicer-filter-positioning.config-DxhC39ak.cjs → slicer-filter-positioning.config-CU86hJi6.cjs} +1 -1
- package/components/slot-menu-1zlmyLVl.js +1060 -0
- package/components/slot-menu-BSu8wKLi.cjs +217 -0
- package/components/{speedometer-chart-positioning.config-DtRG3-e5.cjs → speedometer-chart-positioning.config-AeMlNxSj.cjs} +1 -1
- package/components/{speedometer-chart-positioning.config-CZbwyYsk.js → speedometer-chart-positioning.config-Dam0wOqp.js} +1 -1
- package/components/{spike-map-positioning.config-CevjyQ5F.cjs → spike-map-positioning.config-9ShV1fUh.cjs} +1 -1
- package/components/{spike-map-positioning.config-LBqSYD2n.js → spike-map-positioning.config-BVzewpfi.js} +1 -1
- package/components/{strip-plot-positioning.config-DF5VxzvB.cjs → strip-plot-positioning.config-BVBdHZvL.cjs} +1 -1
- package/components/{strip-plot-positioning.config-cCdQxMM_.js → strip-plot-positioning.config-OHm3LEo3.js} +1 -1
- package/components/{sunburst-chart-positioning.config-DmkZEexM.js → sunburst-chart-positioning.config-BynNbbxB.js} +1 -1
- package/components/{sunburst-chart-positioning.config-CERBvfoF.cjs → sunburst-chart-positioning.config-DQmuKm-N.cjs} +1 -1
- package/components/{symbol-map-positioning.config-DhYxG8RC.cjs → symbol-map-positioning.config-D6rgxXTO.cjs} +1 -1
- package/components/{symbol-map-positioning.config-BwG_G6He.js → symbol-map-positioning.config-bQk_pdAr.js} +1 -1
- package/components/{treemap-chart-positioning.config-arjPT6b_.js → treemap-chart-positioning.config-BB1-rZKL.js} +1 -1
- package/components/{treemap-chart-positioning.config-BwrrXs4a.cjs → treemap-chart-positioning.config-ZaoIngRn.cjs} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/utils-CPIzW8sp.cjs +20 -0
- package/components/{utils-B_rE5b7a.js → utils-ZoJ1cp2P.js} +41 -42
- package/components/utils.cjs +1 -1
- package/components/utils.js +5 -8
- package/components/{venn-diagram-positioning.config-DSh3Ns9L.js → venn-diagram-positioning.config-C9ARqREi.js} +1 -1
- package/components/{venn-diagram-positioning.config-GGLCcrqp.cjs → venn-diagram-positioning.config-Cb10sStL.cjs} +1 -1
- package/components/{wordcloud-chart-positioning.config-B8ZzwIdd.js → wordcloud-chart-positioning.config-D59ntNtd.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-Cxyhs6gk.cjs → wordcloud-chart-positioning.config-DC89_DYc.cjs} +1 -1
- package/custom-elements.json +6756 -18314
- package/index.d.ts +0 -25
- package/package.json +1 -126
- package/react/esm/index.d.ts +2 -27
- package/react/esm/index.js +2 -102
- package/react/index.ts +2 -102
- package/react/luzmo-stub.d.ts +0 -140
- package/react/package.json +2 -2
- package/types.d.ts +0 -9
- package/utils/slot-state/slot-store.d.ts +4 -0
- package/components/ad-hoc-slot-content-hSlT62VS.js +0 -29
- package/components/ai-chat/ai-chat-events.d.ts +0 -139
- package/components/ai-chat/ai-chat-request.d.ts +0 -25
- package/components/ai-chat/ai-chat.d.ts +0 -347
- package/components/ai-chat/ai-prompt-types.d.ts +0 -133
- package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +0 -46
- package/components/ai-chat/empty-state/index.d.ts +0 -8
- package/components/ai-chat/empty-state/types.d.ts +0 -14
- package/components/ai-chat/helpers/agent-config.d.ts +0 -12
- package/components/ai-chat/helpers/elicitation-template.d.ts +0 -18
- package/components/ai-chat/index.cjs +0 -20
- package/components/ai-chat/index.d.ts +0 -24
- package/components/ai-chat/index.js +0 -29
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +0 -60
- package/components/ai-chat/session/ai-chat-session-types.d.ts +0 -119
- package/components/ai-chat/session/ai-chat-session.d.ts +0 -119
- package/components/ai-chat/session/index.d.ts +0 -2
- package/components/ai-chat/stream/chunk-extractors.d.ts +0 -29
- package/components/ai-chat/stream/index.d.ts +0 -53
- package/components/ai-chat/stream/progress.d.ts +0 -3
- package/components/ai-chat/stream/registry.d.ts +0 -6
- package/components/ai-chat/stream/stream-processor.d.ts +0 -2
- package/components/ai-chat/stream/transport.d.ts +0 -26
- package/components/ai-chat/stream/types.d.ts +0 -59
- package/components/ai-chat/types.d.ts +0 -24
- package/components/ai-chat-CG-eIiBr.cjs +0 -337
- package/components/ai-chat-CMc_9Oo2.js +0 -4350
- package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +0 -232
- package/components/ai-interaction-textarea/index.cjs +0 -20
- package/components/ai-interaction-textarea/index.d.ts +0 -10
- package/components/ai-interaction-textarea/index.js +0 -28
- package/components/ai-interaction-textarea/types.d.ts +0 -12
- package/components/ai-interaction-textarea-B6tZgh5k.cjs +0 -99
- package/components/ai-interaction-textarea-D9g9G0T1.js +0 -820
- package/components/base-D6QPZnpu.cjs +0 -20
- package/components/convert-data-field-to-slot-content-C6IIqU7G.js +0 -53
- package/components/convert-data-field-to-slot-content-DLzkk6dT.cjs +0 -20
- package/components/convert-datasets-to-data-fields-B13rl1an.cjs +0 -20
- package/components/convert-datasets-to-data-fields-PmQzeVLG.js +0 -68
- package/components/data-field-9ZZFw68C.cjs +0 -54
- package/components/data-field-D1WW_V0N.js +0 -121
- package/components/data-field-level/data-field-level.d.ts +0 -40
- package/components/data-field-level/helpers/generate-preview.d.ts +0 -9
- package/components/data-field-level/index.cjs +0 -20
- package/components/data-field-level/index.d.ts +0 -8
- package/components/data-field-level/index.js +0 -28
- package/components/data-field-level-Dc-EMhC3.cjs +0 -55
- package/components/data-field-panel-DFA97_8o.cjs +0 -87
- package/components/data-fields-select/data-fields-select.d.ts +0 -133
- package/components/data-fields-select/index.cjs +0 -20
- package/components/data-fields-select/index.d.ts +0 -9
- package/components/data-fields-select/index.js +0 -28
- package/components/data-fields-select/types.d.ts +0 -4
- package/components/data-fields-select-BtXNFZy9.cjs +0 -41
- package/components/dataset-icon/dataset-icon.d.ts +0 -45
- package/components/dataset-icon/index.cjs +0 -20
- package/components/dataset-icon/index.d.ts +0 -8
- package/components/dataset-icon/index.js +0 -28
- package/components/dataset-icon/types.d.ts +0 -11
- package/components/dataset-icon-BAV0S4sZ.cjs +0 -64
- package/components/dataset-icon-CWT5Ju8w.js +0 -125
- package/components/dataset-selector-list/dataset-selector-list.d.ts +0 -106
- package/components/dataset-selector-list/index.cjs +0 -20
- package/components/dataset-selector-list/index.d.ts +0 -8
- package/components/dataset-selector-list/index.js +0 -28
- package/components/dataset-selector-list-BXg6DIKI.cjs +0 -75
- package/components/dataset-selector-list-q6qWA7B-.js +0 -323
- package/components/dataset-selector-row/dataset-selector-row.d.ts +0 -135
- package/components/dataset-selector-row/index.cjs +0 -20
- package/components/dataset-selector-row/index.d.ts +0 -9
- package/components/dataset-selector-row/index.js +0 -28
- package/components/dataset-selector-row-ZKET7lVc.js +0 -427
- package/components/dataset-selector-row-bqwY3zaf.cjs +0 -102
- package/components/decompose-numeric-format-DGJua3rU.cjs +0 -20
- package/components/decompose-numeric-format-DS0j2wa1.js +0 -36
- package/components/decorate-DCJt-2rt.cjs +0 -20
- package/components/display-settings/display-settings.d.ts +0 -117
- package/components/display-settings/index.cjs +0 -20
- package/components/display-settings/index.d.ts +0 -8
- package/components/display-settings/index.js +0 -28
- package/components/display-settings/types.d.ts +0 -9
- package/components/display-settings-BlMhlvVS.cjs +0 -140
- package/components/display-settings-D_wBgzm1.js +0 -313
- package/components/display-settings-binning/display-settings-binning.d.ts +0 -32
- package/components/display-settings-binning/index.cjs +0 -20
- package/components/display-settings-binning/index.d.ts +0 -8
- package/components/display-settings-binning/index.js +0 -28
- package/components/display-settings-datetime/display-settings-datetime.d.ts +0 -86
- package/components/display-settings-datetime/index.cjs +0 -20
- package/components/display-settings-datetime/index.d.ts +0 -8
- package/components/display-settings-datetime/index.js +0 -28
- package/components/display-settings-datetime-DNeLEl3L.cjs +0 -217
- package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +0 -29
- package/components/display-settings-grand-totals/index.cjs +0 -20
- package/components/display-settings-grand-totals/index.d.ts +0 -8
- package/components/display-settings-grand-totals/index.js +0 -28
- package/components/display-settings-grand-totals-C-7s1Tyo.cjs +0 -44
- package/components/display-settings-numeric/display-settings-numeric.d.ts +0 -82
- package/components/display-settings-numeric/helpers/constants.d.ts +0 -19
- package/components/display-settings-numeric/index.cjs +0 -20
- package/components/display-settings-numeric/index.d.ts +0 -8
- package/components/display-settings-numeric/index.js +0 -28
- package/components/display-settings-numeric--uwJWzC1.cjs +0 -190
- package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +0 -68
- package/components/display-settings-period-over-period/helpers/constants.d.ts +0 -44
- package/components/display-settings-period-over-period/index.cjs +0 -20
- package/components/display-settings-period-over-period/index.d.ts +0 -8
- package/components/display-settings-period-over-period/index.js +0 -28
- package/components/display-settings-period-over-period-C4X8c-_R.cjs +0 -229
- package/components/filter-expression-picker/filter-expression-picker.d.ts +0 -73
- package/components/filter-expression-picker/index.cjs +0 -20
- package/components/filter-expression-picker/index.d.ts +0 -7
- package/components/filter-expression-picker/index.js +0 -28
- package/components/filter-expression-picker-BOLyxG2r.cjs +0 -38
- package/components/filter-expression-picker-DurfSgRY.js +0 -425
- package/components/filter-item/filter-item.d.ts +0 -103
- package/components/filter-item/index.cjs +0 -20
- package/components/filter-item/index.d.ts +0 -7
- package/components/filter-item/index.js +0 -28
- package/components/filter-item-C58zIpPh.js +0 -316
- package/components/filter-item-obyHcs9f.cjs +0 -71
- package/components/filter-parameter-picker/filter-parameter-picker.d.ts +0 -87
- package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +0 -8
- package/components/filter-parameter-picker/index.cjs +0 -20
- package/components/filter-parameter-picker/index.d.ts +0 -9
- package/components/filter-parameter-picker/index.js +0 -28
- package/components/filter-parameter-picker/types.d.ts +0 -4
- package/components/filter-parameter-picker-BWNBc8BI.js +0 -363
- package/components/filter-parameter-picker-DSYaE9Sv.cjs +0 -123
- package/components/filter-value-picker/filter-value-picker.d.ts +0 -66
- package/components/filter-value-picker/index.cjs +0 -20
- package/components/filter-value-picker/index.d.ts +0 -7
- package/components/filter-value-picker/index.js +0 -28
- package/components/filter-value-picker-DYl_1pis.cjs +0 -60
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +0 -45
- package/components/filter-value-picker-datetime/index.cjs +0 -20
- package/components/filter-value-picker-datetime/index.d.ts +0 -7
- package/components/filter-value-picker-datetime/index.js +0 -28
- package/components/filter-value-picker-datetime-BFbmCKs3.cjs +0 -42
- package/components/filter-value-picker-datetime-CP5__ua6.js +0 -139
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +0 -99
- package/components/filter-value-picker-hierarchy/index.cjs +0 -20
- package/components/filter-value-picker-hierarchy/index.d.ts +0 -7
- package/components/filter-value-picker-hierarchy/index.js +0 -28
- package/components/filter-value-picker-hierarchy-BTf992WX.cjs +0 -48
- package/components/filter-value-picker-hierarchy-j0LRYW1c.js +0 -299
- package/components/filter-value-picker-kzIrnmdp.js +0 -151
- package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +0 -83
- package/components/filter-value-picker-numeric/index.cjs +0 -20
- package/components/filter-value-picker-numeric/index.d.ts +0 -7
- package/components/filter-value-picker-numeric/index.js +0 -28
- package/components/filter-value-picker-numeric-BmKmeOol.js +0 -219
- 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/formatter-BeXmurVe.cjs +0 -20
- package/components/formula-cc2AaiLt.cjs +0 -45
- package/components/formula-codemirror/formula-codemirror.d.ts +0 -79
- package/components/formula-codemirror/index.d.ts +0 -7
- package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +0 -125
- package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +0 -7
- package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +0 -28
- package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +0 -7
- package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +0 -38
- package/components/formula-codemirror-EMK3MCNZ.cjs +0 -215
- package/components/formula-display-store-DER7C0GG.cjs +0 -20
- package/components/formula-draggable-field/formula-draggable-field.d.ts +0 -53
- package/components/formula-draggable-field/index.d.ts +0 -8
- package/components/formula-draggable-field/types.d.ts +0 -24
- package/components/formula-editor-CWKXcUTF.cjs +0 -224
- package/components/formula-field/formula-field.d.ts +0 -20
- package/components/formula-field/index.cjs +0 -20
- package/components/formula-field/index.d.ts +0 -7
- package/components/formula-field/index.js +0 -28
- package/components/formula-field-BtvaOWki.js +0 -40
- package/components/formula-field-CzS2pKJI.cjs +0 -20
- package/components/formula-input-base-CvD0b2cO.cjs +0 -49
- package/components/formula-input-base-DVtGLoyA.js +0 -236
- package/components/get-dataset-name-D53TN7N9.js +0 -32
- package/components/get-dataset-name-DYLdbEs-.cjs +0 -20
- package/components/groupings-Bn9384Zw.cjs +0 -20
- package/components/groupings-BtmmUlPK.js +0 -52
- package/components/interactive-viz-item/helpers/chart-helpers.d.ts +0 -7
- package/components/interactive-viz-item/index.cjs +0 -20
- package/components/interactive-viz-item/index.d.ts +0 -10
- package/components/interactive-viz-item/index.js +0 -28
- package/components/interactive-viz-item/interactive-viz-item.d.ts +0 -96
- package/components/interactive-viz-item/types.d.ts +0 -117
- package/components/interactive-viz-item-DL5aqkvx.js +0 -693
- package/components/interactive-viz-item-DTr14-9-.cjs +0 -247
- package/components/item-menu/item-list/item-list.d.ts +0 -37
- package/components/item-option-action-button-group-Byg9h7uo.cjs +0 -53
- package/components/item-option-base/item-option-base.d.ts +0 -23
- package/components/item-option-base-Dwf3dByS.cjs +0 -56
- package/components/item-option-color-palette-picker-v6TBE-I0.cjs +0 -40
- package/components/item-option-color-range-BveD6fsp.cjs +0 -98
- package/components/item-option-guidelines-D8UjylMx.cjs +0 -135
- package/components/item-option-h8URFjZ2.cjs +0 -269
- package/components/item-option-position-picker-CKgaqFJR.cjs +0 -32
- package/components/item-option-positions-number-field-BJXer0y5.cjs +0 -49
- package/components/item-option-slider-CBSnkHVq.cjs +0 -33
- package/components/item-slot-drop-f8jm-34W.cjs +0 -91
- package/components/item-slot-drop-panel-DLqyYvKj.cjs +0 -57
- package/components/item-slot-picker-CgEtqhqe.cjs +0 -174
- package/components/item-slot-picker-panel-CuH3OcmV.cjs +0 -81
- package/components/load-data-fields-for-datasets-B3XcFFfg.js +0 -42
- package/components/load-data-fields-for-datasets-rL24A68g.cjs +0 -20
- package/components/localized-mixin-CtNoCjjI.cjs +0 -20
- package/components/localized-mixin-DBUkUh0o.js +0 -45
- package/components/period-over-period-condition.const-BZ7j5Z5t.js +0 -29
- package/components/period-over-period-condition.const-C1NZ9Bkp.cjs +0 -20
- package/components/slot-menu/index.cjs +0 -20
- package/components/slot-menu/index.d.ts +0 -10
- package/components/slot-menu/index.js +0 -28
- package/components/slot-menu/slot-menu.d.ts +0 -148
- package/components/slot-menu/types.d.ts +0 -24
- package/components/slot-menu-CPxyyKSe.cjs +0 -71
- package/components/slot-menu-DHJtAZ5_.js +0 -429
- package/components/slot-menu-list/index.cjs +0 -20
- package/components/slot-menu-list/index.d.ts +0 -8
- package/components/slot-menu-list/index.js +0 -28
- package/components/slot-menu-list/slot-menu-list.d.ts +0 -47
- package/components/slot-menu-list-CeWcE4KK.cjs +0 -44
- package/components/slot-menu-list-QltpaoWh.js +0 -347
- package/components/slot-role-classification-2wChhpcq.cjs +0 -20
- package/components/slot-role-classification-B8bkGhQ_.js +0 -133
- package/components/slots-config-Cd4xAG4H.cjs +0 -20
- package/components/slots-config-D3ivNWtC.js +0 -76
- package/components/utils-BwJNkc-z.cjs +0 -20
- package/components/viz-item-menu/index.cjs +0 -20
- package/components/viz-item-menu/index.d.ts +0 -8
- package/components/viz-item-menu/index.js +0 -28
- package/components/viz-item-menu/types.d.ts +0 -9
- package/components/viz-item-menu/viz-item-menu.d.ts +0 -78
- package/components/viz-item-menu-B7yRaSAU.js +0 -170
- package/components/viz-item-menu-hLdU-02Q.cjs +0 -55
- package/deprecated-react/components/ai-chat.component.cjs +0 -1
- package/deprecated-react/components/ai-interaction-textarea.component.cjs +0 -1
- package/deprecated-react/components/data-field-level.component.cjs +0 -1
- package/deprecated-react/components/data-fields-select.component.cjs +0 -1
- package/deprecated-react/components/dataset-icon.component.cjs +0 -1
- package/deprecated-react/components/dataset-selector-list.component.cjs +0 -1
- package/deprecated-react/components/dataset-selector-row.component.cjs +0 -1
- package/deprecated-react/components/display-settings-binning.component.cjs +0 -1
- package/deprecated-react/components/display-settings-datetime.component.cjs +0 -1
- package/deprecated-react/components/display-settings-grand-totals.component.cjs +0 -1
- package/deprecated-react/components/display-settings-numeric.component.cjs +0 -1
- package/deprecated-react/components/display-settings-period-over-period.component.cjs +0 -1
- package/deprecated-react/components/display-settings.component.cjs +0 -1
- package/deprecated-react/components/filter-expression-picker.component.cjs +0 -1
- package/deprecated-react/components/filter-item.component.cjs +0 -1
- package/deprecated-react/components/filter-parameter-picker.component.cjs +0 -1
- package/deprecated-react/components/filter-value-picker-datetime.component.cjs +0 -1
- package/deprecated-react/components/filter-value-picker-hierarchy.component.cjs +0 -1
- package/deprecated-react/components/filter-value-picker-numeric.component.cjs +0 -1
- package/deprecated-react/components/filter-value-picker.component.cjs +0 -1
- package/deprecated-react/components/formula-field.component.cjs +0 -1
- package/deprecated-react/components/interactive-viz-item.component.cjs +0 -1
- package/deprecated-react/components/slot-menu-list.component.cjs +0 -1
- package/deprecated-react/components/slot-menu.component.cjs +0 -1
- package/deprecated-react/components/viz-item-menu.component.cjs +0 -1
- package/react/components/ai-chat.component.ts +0 -45
- package/react/components/ai-interaction-textarea.component.ts +0 -30
- package/react/components/data-field-level.component.ts +0 -30
- package/react/components/data-fields-select.component.ts +0 -27
- package/react/components/dataset-icon.component.ts +0 -22
- package/react/components/dataset-selector-list.component.ts +0 -27
- package/react/components/dataset-selector-row.component.ts +0 -36
- package/react/components/display-settings-binning.component.ts +0 -27
- package/react/components/display-settings-datetime.component.ts +0 -27
- package/react/components/display-settings-grand-totals.component.ts +0 -27
- package/react/components/display-settings-numeric.component.ts +0 -27
- package/react/components/display-settings-period-over-period.component.ts +0 -27
- package/react/components/display-settings.component.ts +0 -33
- package/react/components/filter-expression-picker.component.ts +0 -27
- package/react/components/filter-item.component.ts +0 -27
- package/react/components/filter-parameter-picker.component.ts +0 -33
- package/react/components/filter-value-picker-datetime.component.ts +0 -27
- package/react/components/filter-value-picker-hierarchy.component.ts +0 -27
- package/react/components/filter-value-picker-numeric.component.ts +0 -27
- package/react/components/filter-value-picker.component.ts +0 -27
- package/react/components/formula-field.component.ts +0 -30
- package/react/components/interactive-viz-item.component.ts +0 -33
- package/react/components/slot-menu-list.component.ts +0 -27
- package/react/components/slot-menu.component.ts +0 -42
- package/react/components/viz-item-menu.component.ts +0 -33
- package/react/esm/components/ai-chat.component.d.ts +0 -24
- package/react/esm/components/ai-chat.component.js +0 -29
- package/react/esm/components/ai-interaction-textarea.component.d.ts +0 -14
- package/react/esm/components/ai-interaction-textarea.component.js +0 -19
- package/react/esm/components/data-field-level.component.d.ts +0 -14
- package/react/esm/components/data-field-level.component.js +0 -19
- package/react/esm/components/data-fields-select.component.d.ts +0 -12
- package/react/esm/components/data-fields-select.component.js +0 -17
- package/react/esm/components/dataset-icon.component.d.ts +0 -8
- package/react/esm/components/dataset-icon.component.js +0 -13
- package/react/esm/components/dataset-selector-list.component.d.ts +0 -12
- package/react/esm/components/dataset-selector-list.component.js +0 -17
- package/react/esm/components/dataset-selector-row.component.d.ts +0 -18
- package/react/esm/components/dataset-selector-row.component.js +0 -23
- package/react/esm/components/display-settings-binning.component.d.ts +0 -12
- package/react/esm/components/display-settings-binning.component.js +0 -17
- package/react/esm/components/display-settings-datetime.component.d.ts +0 -12
- package/react/esm/components/display-settings-datetime.component.js +0 -17
- package/react/esm/components/display-settings-grand-totals.component.d.ts +0 -12
- package/react/esm/components/display-settings-grand-totals.component.js +0 -17
- package/react/esm/components/display-settings-numeric.component.d.ts +0 -12
- package/react/esm/components/display-settings-numeric.component.js +0 -17
- package/react/esm/components/display-settings-period-over-period.component.d.ts +0 -12
- package/react/esm/components/display-settings-period-over-period.component.js +0 -17
- package/react/esm/components/display-settings.component.d.ts +0 -16
- package/react/esm/components/display-settings.component.js +0 -21
- package/react/esm/components/filter-expression-picker.component.d.ts +0 -12
- package/react/esm/components/filter-expression-picker.component.js +0 -17
- package/react/esm/components/filter-item.component.d.ts +0 -12
- package/react/esm/components/filter-item.component.js +0 -17
- package/react/esm/components/filter-parameter-picker.component.d.ts +0 -16
- package/react/esm/components/filter-parameter-picker.component.js +0 -21
- package/react/esm/components/filter-value-picker-datetime.component.d.ts +0 -12
- package/react/esm/components/filter-value-picker-datetime.component.js +0 -17
- package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +0 -12
- package/react/esm/components/filter-value-picker-hierarchy.component.js +0 -17
- package/react/esm/components/filter-value-picker-numeric.component.d.ts +0 -12
- package/react/esm/components/filter-value-picker-numeric.component.js +0 -17
- package/react/esm/components/filter-value-picker.component.d.ts +0 -12
- package/react/esm/components/filter-value-picker.component.js +0 -17
- package/react/esm/components/formula-field.component.d.ts +0 -14
- package/react/esm/components/formula-field.component.js +0 -19
- package/react/esm/components/interactive-viz-item.component.d.ts +0 -16
- package/react/esm/components/interactive-viz-item.component.js +0 -21
- package/react/esm/components/slot-menu-list.component.d.ts +0 -12
- package/react/esm/components/slot-menu-list.component.js +0 -17
- package/react/esm/components/slot-menu.component.d.ts +0 -22
- package/react/esm/components/slot-menu.component.js +0 -27
- package/react/esm/components/viz-item-menu.component.d.ts +0 -16
- package/react/esm/components/viz-item-menu.component.js +0 -21
- package/storybook/register-components.d.ts +0 -57
- package/types/agent.types.d.ts +0 -4
- package/types/ai-chat.types.d.ts +0 -104
- package/types/data-field-events.types.d.ts +0 -7
- /package/{storybook/inject-global-vars.d.ts → utils/slot-state/tests/slot-store.test.d.ts} +0 -0
|
@@ -1,153 +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("./v4-Dyp-SQ1c.cjs");require("./filter-item-obyHcs9f.cjs");let r=require("@luzmo/icons");require("@luzmo/lucero/button"),require("@luzmo/lucero/icon");let i=require("lit"),a=require("lit/decorators.js"),o=require("@lit/localize");require("@luzmo/lucero/action-button");let s=require("lit/directives/repeat.js"),c=require("@luzmo/lucero/utils");var l=20,u=class extends Error{constructor(e){super(e),this.name=`FilterUnrepresentableError`}},d=new Set([`and`,`or`]),f=[`datasetId`,`dataset_id`,`columnId`,`column_id`,`formulaId`,`formula_id`,`formula`,`columnExpression`,`value`,`ignoredItemIds`];function p(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function m(e){return!p(e)||e.condition!==void 0&&(typeof e.condition!=`string`||!d.has(e.condition.toLowerCase()))?!1:`filters`in e||`subGroups`in e}function h(e){return p(e)&&`expression`in e&&!(`condition`in e)}function g(e){return f.some(t=>t in e)}function ee(e,t=!1){let n=[e.columnId!==void 0||e.column_id!==void 0,e.formulaId!==void 0||e.formula_id!==void 0,e.formula!==void 0].filter(Boolean).length;return n===1?!0:n>1?!1:e.columnExpression!==void 0||t&&e.expression!==void 0}function _(e){return!h(e)||typeof e.expression!=`string`||e.expression.length===0||`parameters`in e||typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?!1:ee(e)}function v(e){return!h(e)||!Array.isArray(e.parameters)?!1:!g(e)}function te(e){if(!(`parameters`in e))return;let t=f.find(t=>t in e);if(t!==void 0)throw new u(`Filter leaf mixes "parameters" with the clean inline key "${t}".`)}function ne(e){throw typeof e.expression!=`string`||e.expression.length===0?new u(`Clean filter leaf is missing a non-empty "expression".`):typeof e.datasetId!=`string`&&typeof e.dataset_id!=`string`?new u(`Clean filter leaf "${e.expression}" is missing a "datasetId".`):new u(`Clean filter leaf "${e.expression}" must name exactly one of "columnId", "formulaId", "formula", or "columnExpression".`)}function y(e){return e===`where`||e===`having`}function b(e){if(e>20)throw new u(`Filter nesting exceeds the maximum depth of 20.`)}function re(e){if(e==null)return`empty`;if(!Array.isArray(e))return`unknown`;if(e.length===0)return`empty`;let t=!1,n=!1,r=!1,i=(e,a)=>{if(a>20){r=!0;return}if(m(e)){y(e.clause)&&(n=!0);let t=[...Array.isArray(e.filters)?e.filters:[],...Array.isArray(e.subGroups)?e.subGroups:[]];for(let e of t)i(e,a+1);return}if(h(e)){`parameters`in e&&g(e)?r=!0:_(e)?n=!0:v(e)?t=!0:r=!0;return}r=!0};for(let t of e)i(t,1);return r?`unknown`:n&&t?`mixed`:n?`clean`:t?`canonical`:`empty`}var x=new Set([`? is null`,`? is not null`]),S=new Set([`? = ?`,`? != ?`,`? < ?`,`? <= ?`,`? > ?`,`? >= ?`]),ie=new Set([`? in ?`,`? not in ?`,`? between ?`]),C={"array[numeric]":`numeric[]`,"array[hierarchy]":`hierarchy[]`,"array[datetime]":`datetime[]`},ae=new Set([`level`,`lowestLevel`,`unnest`,`discretization`,`aggregation`,`index`,`include_nonoccurring`,`simplification`]);function w(e,t){return e!==`lowestLevel`&&!(t===null&&ae.has(e))}function T(e){return structuredClone(e)}function E(e){let t=e.datasetId??e.dataset_id;if(typeof t!=`string`||t.length===0)throw new u(`Filter reference is missing a "datasetId".`);return t}function D(e){return p(e)?typeof e.columnId==`string`||typeof e.column_id==`string`||typeof e.formulaId==`string`||typeof e.formula_id==`string`||typeof e.formula==`string`||(typeof e.datasetId==`string`||typeof e.dataset_id==`string`)&&(e.columnExpression!==void 0||e.expression!==void 0):!1}function O(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>F(e))),t}function k(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&w(`level`,e.level)&&(t.level=e.level),p(e.discretization)&&(t.discretization=O(e.discretization)),e.unnest!==void 0&&w(`unnest`,e.unnest)&&(t.unnest=e.unnest),t}function A(e){let t={type:e.type};return e.bins!==void 0&&(t.bins=e.bins),Array.isArray(e.over)&&(t.over=e.over.map(e=>p(e)?P(e):e)),t}function j(e){let t={type:e.type},n=e.datasetId??e.dataset_id,r=e.columnId??e.column_id;return n!==void 0&&(t.datasetId=n),r!==void 0&&(t.columnId=r),e.level!==void 0&&(t.level=e.level),p(e.discretization)&&(t.discretization=A(e.discretization)),e.unnest!==void 0&&(t.unnest=e.unnest),t}function M(e,t){e.level!==void 0&&(t.level=T(e.level)),p(e.discretization)&&(t.discretization=A(e.discretization)),p(e.aggregation)&&(t.aggregation=j(e.aggregation)),e.unnest!==void 0&&(t.unnest=T(e.unnest))}function N(e,t){let n=e.columnId??e.column_id;if(n!==void 0)return{kind:`columnId`,value:n};let r=e.formulaId??e.formula_id;if(r!==void 0)return{kind:`formulaId`,value:r};if(e.formula!==void 0)return{kind:`formula`,value:e.formula};let i=e.columnExpression??(t?e.expression:void 0);if(i!==void 0)return{kind:`expression`,value:i}}function P(e,t=!0){let n={datasetId:E(e)},r=N(e,t);return r!==void 0&&(r.kind===`expression`?n.expression=r.value:n[r.kind]=r.value),M(e,n),n}function F(e){if(!p(e))throw new u(`Cannot emit a clean filter reference.`);let t={datasetId:E(e)};e.level!==void 0&&w(`level`,e.level)&&(t.level=e.level),p(e.discretization)&&(t.discretization=O(e.discretization)),p(e.aggregation)&&(t.aggregation=k(e.aggregation)),e.unnest!==void 0&&w(`unnest`,e.unnest)&&(t.unnest=e.unnest);let n=N(e,!0);if(n===void 0)throw new u(`Cannot emit a clean filter reference: no column, formula, or expression.`);return n.kind===`expression`?t.columnExpression=n.value:t[n.kind]=n.value,t}function oe(e){if(!p(e)||typeof e.parameter!=`string`||typeof e.type!=`string`)return e;let t=C[e.type];return t===void 0?e:{...e,type:t}}function se(e,t){return p(t)&&typeof t.parameter==`string`?!0:Array.isArray(t)?e!==`? between ?`||t.length===2:!1}function ce(e,t){let n=e.expression,r=[P(e,!1)];if(!x.has(n)&&e.value!==void 0){let t=S.has(n)&&D(e.value);r.push(t?P(e.value):T(e.value))}let i={};typeof e.id==`string`&&(i.id=e.id),`ignoredItemIds`in e&&(i.ignore=T(e.ignoredItemIds)),t!==void 0&&(i.type=t);let a={expression:n,parameters:r};return Object.keys(i).length>0&&(a.properties=i),a}function le(e){let{expression:t}=e;if(typeof t!=`string`||t.length===0)return null;let n=Array.isArray(e.parameters)?e.parameters:[];if(!p(n[0]))throw new u(`Cannot emit a clean filter reference for "${t}".`);let r={...F(n[0]),expression:t};if(!x.has(t)){let e=n[1];if(e===void 0)throw new u(`Filter "${t}" is missing its value operand.`);if(r.value=D(e)&&S.has(t)?F(e):oe(T(e)),ie.has(t)&&!se(t,r.value))throw new u(`Cannot emit an invalid clean filter value for "${t}".`)}let{properties:i}=e;return i?.id!==void 0&&(r.id=i.id),i!==void 0&&`ignore`in i&&(r.ignoredItemIds=T(i.ignore)),r}function I(e){return m(e)}function L(e){return Array.isArray(e.filters)?e.filters:[]}function R(e,t){return e.properties?.type===`having`||e.properties?.type===`where`?e.properties.type:t??`where`}function z(e,t,n=1,r=new Set){b(n);let i=e.clause??t;for(let t of L(e))I(t)?z(t,i,n+1,r):typeof t.expression==`string`&&t.expression.length>0&&r.add(R(t,i));return r}function B(e,t,n=1){b(n);let r=e.clause??t;if(e.condition===`or`&&z(e,r,n).size>1)throw new u(`An "or" group mixes "where" and "having" filters, which clean output cannot represent.`);for(let t of L(e))I(t)&&B(t,r,n+1)}function V(e,t,n,r=1){b(r);let i=e.clause??n,a=[];for(let n of L(e)){if(I(n)){let e=V(n,t,i,r+1);e.filters.length>0&&a.push(e);continue}if(R(n,i)!==t)continue;let e=le(n);e&&a.push(e)}let o={condition:e.condition===`or`?`or`:`and`,filters:a};return e.id!==void 0&&z(e,i,r).size<=1&&(o.id=e.id),o}function H(e){let t=e.clause;B(e,t);let n=z(e,t);return n.size===0&&n.add(t??`where`),[`where`,`having`].filter(e=>n.has(e)).map(n=>({...V(e,n,t),clause:n})).filter(e=>e.filters.length>0)}var U=[`origin`,`datasetId`,`vizId`,`itemId`,`isDrilldown`,`type`];function W(e){return typeof e==`string`&&e.toLowerCase()===`or`?`or`:`and`}function ue(e){return m(e)}function de(e){if(!Array.isArray(e)||e.length===0)return[];let t=p(e[0])?e[0]:void 0,n=e.length>1?e[1]:void 0;return e.length>1?[t,n]:[t]}function fe(e){if(typeof e.expression!=`string`||e.expression.length===0)return null;let t={expression:e.expression,parameters:de(e.parameters)};return e.properties!==void 0&&Object.keys(e.properties).length>0&&(t.properties=structuredClone(e.properties)),t}function G(e,t){let n=e,r=t;for(let e of U)n[e]!==void 0&&(r[e]=n[e])}function K(e){if(!e||!e.filters)return{condition:`and`,filters:[],subGroups:[]};let t=[],n=[];for(let r of e.filters)if(ue(r))n.push(K(r));else{let e=fe(r);e&&t.push(e)}let r={condition:W(e.condition),filters:t,subGroups:n};return e.id!==void 0&&(r.id=e.id),G(e,r),r}function q(e,t){return e?t?.format===`clean`?H(e):[K(e)]:[]}function pe(e,t){let n={expression:typeof e.expression==`string`?e.expression:void 0,parameters:Array.isArray(e.parameters)?[...e.parameters]:[]},r=p(e.properties)?structuredClone(e.properties):{};return t!==void 0&&r.type===void 0&&(r.type=t),Object.keys(r).length>0&&(n.properties=r),n}function J(e,t,n){if(m(e))return Y(e,t,n);if(!p(e))return;let r=e.expression;if(te(e),_(e))return ce(e,t);if(g(e)&&ne(e),v(e))return pe(e,t);throw new u(`Filter leaf "${String(r)}" matches neither a complete clean nor a complete canonical encoding.`)}function Y(e,t,n){b(n);let r=y(e.clause)?e.clause:void 0,i=r??t,a=[];for(let t of Array.isArray(e.filters)?e.filters:[]){let e=J(t,i,n+1);e!==void 0&&a.push(e)}for(let t of Array.isArray(e.subGroups)?e.subGroups:[])m(t)&&a.push(Y(t,i,n+1));let o={condition:W(e.condition),filters:a};return typeof e.id==`string`&&(o.id=e.id),r!==void 0&&(o.clause=r),G(e,o),o}function X(e){return!e||e.length===0?[]:e.filter(e=>m(e)).map(e=>Y(e,void 0,1))}var me=`:host{font-family:var(--luzmo-filters-font-family,var(--luzmo-font-family));color:var(--luzmo-filters-font-color,var(--luzmo-font-color));max-width:100%;display:block;container-type:inline-size}.filter-group-container{max-width:100%;padding:calc(var(--luzmo-indicator-gap) + 2 * var(--luzmo-indicator-width));overflow-x:hidden}.filter-group{flex-direction:row;min-width:0;max-width:100%;display:flex}.filter-group.nested{margin-top:var(--luzmo-filters-nested-group-margin-top,var(--filters-nested-group-margin-top));margin-bottom:var(--luzmo-filters-nested-group-margin-bottom,var(--filters-nested-group-margin-bottom))}.group-content{flex-direction:column;flex:1;min-width:0;display:flex}.filters-list{gap:var(--luzmo-filters-filters-list-gap,var(--filters-filters-list-gap));flex-direction:column;min-width:0;max-width:100%;display:flex}.filter-item-wrapper{align-items:flex-start;min-width:0;max-width:100%;display:flex;position:relative}.filter-item-content{align-items:flex-start;gap:var(--luzmo-filters-filter-line-gap,var(--filters-filter-line-gap));flex-wrap:nowrap;flex:1;min-width:0;display:flex}.filter-item-content luzmo-filter-item{flex:1;min-width:0}.filter-item-content .delete-filter-button{flex-shrink:0;align-self:flex-end;margin-inline-start:auto}.condition-wrapper{flex:0 0 var(--luzmo-filters-condition-warpper-width,var(--filters-condition-warpper-width));justify-content:center;align-items:center;display:flex;position:relative}.condition-wrapper:before{content:"";left:50%;top:var(--luzmo-filters-vertical-line-top,var(--filters-vertical-line-top));bottom:var(--luzmo-filters-vertical-line-bottom,var(--filters-vertical-line-bottom));width:var(--luzmo-filters-vertical-line-width,var(--filters-vertical-line-width));background:var(--luzmo-filters-vertical-line-color,var(--luzmo-border-color));position:absolute}.condition-badge{min-width:auto;padding-inline:var(--luzmo-filters-condition-padding-horizontal,var(--filters-condition-padding-horizontal));text-transform:uppercase;background:var(--luzmo-filters-condition-badge-background,var(--luzmo-primary));color:var(--luzmo-filters-condition-badge-color,var(--luzmo-primary-inverse-color));border-radius:var(--luzmo-filters-condition-badge-border-radius,var(--luzmo-border-radius));box-shadow:0 0 0 var(--luzmo-filters-condition-badge-halo,var(--filters-condition-badge-halo)) var(--luzmo-filters-condition-badge-background,var(--luzmo-background-color));font-weight:700}.condition-badge:hover{background:var(--luzmo-filters-condition-badge-background-hover,var(--luzmo-primary-hover))}.group-actions{margin-top:var(--luzmo-filters-group-actions-margin-top,var(--filters-group-actions-margin-top));gap:var(--luzmo-filters-group-actions-gap,var(--filters-group-actions-gap));flex-wrap:wrap;display:flex}.delete-group-button{margin-left:auto}.add-root-group-container{margin-top:var(--luzmo-filters-add-root-group-container-margin-top,var(--filters-add-root-group-container-margin-top));padding-left:0}.add-subgroup-button,.add-filter-button{--luzmo-action-button-text-to-visual:var(--luzmo-filters-group-actions-text-to-visual,var(--filters-group-actions-text-to-visual));--luzmo-action-button-content-color-default:var(--luzmo-filters-group-actions-color,var(--luzmo-primary-hover));--luzmo-action-button-content-color-hover:var(--luzmo-filters-group-actions-color-hover,var(--luzmo-primary-hover));--luzmo-action-button-content-color-down:var(--luzmo-filters-group-actions-color-down,var(--luzmo-primary-down));--luzmo-action-button-content-color-focus:var(--luzmo-filters-group-actions-color-focus,var(--luzmo-primary-focus))}.add-group-button{--luzmo-button-padding-label-to-icon:var(--luzmo-filters-add-group-button-text-to-visual,var(--filters-add-group-button-text-to-visual))}.dataset-ids-empty-message{color:var(--luzmo-filters-error-message-color,var(--luzmo-disabled-color));font-size:var(--luzmo-filters-error-message-font-size,var(--filters-font-size))}@container (width<=480px){.condition-badge{--luzmo-action-button-font-size:.6875rem;--luzmo-action-button-height:1.2rem;--luzmo-button-line-height:1.2rem;font-size:.6875rem;line-height:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}:host([dir=rtl]) .condition-badge{transform:translate(-50%,-50%)rotate(90deg)}}:host{--filters-condition-warpper-width:56px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-3);--filters-filters-list-gap:var(--luzmo-spacing-3);--filters-nested-group-margin-top:var(--luzmo-spacing-3);--filters-nested-group-margin-bottom:var(--luzmo-spacing-3);--filters-vertical-line-top:var(--luzmo-spacing-2);--filters-vertical-line-bottom:var(--luzmo-spacing-2);--filters-vertical-line-width:1px;--filters-group-actions-text-to-visual:var(--luzmo-spacing-2);--filters-add-group-button-text-to-visual:var(--luzmo-spacing-3);--filters-group-actions-gap:var(--luzmo-spacing-3);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-4);--filters-filter-line-gap:var(--luzmo-spacing-3);--filters-group-actions-margin-top:var(--luzmo-spacing-3);--filters-error-message-font-size:var(--luzmo-font-size)}:host([size=s]){--filters-condition-warpper-width:48px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-2);--filters-filters-list-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-nested-group-margin-top:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-nested-group-margin-bottom:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--filters-vertical-line-top:var(--luzmo-spacing-2);--filters-vertical-line-bottom:var(--luzmo-spacing-2);--filters-group-actions-text-to-visual:var(--luzmo-spacing-1);--filters-add-group-button-text-to-visual:var(--luzmo-spacing-2);--filters-group-actions-gap:var(--luzmo-spacing-2);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-3);--filters-filter-line-gap:var(--luzmo-spacing-2);--filters-group-actions-margin-top:var(--luzmo-spacing-2);--filters-error-message-font-size:var(--luzmo-font-size-s)}:host([size=l]){--filters-condition-warpper-width:64px;--filters-condition-padding-horizontal:var(--luzmo-spacing-3);--filters-condition-badge-halo:var(--luzmo-spacing-4);--filters-filters-list-gap:var(--luzmo-spacing-4);--filters-nested-group-margin-top:var(--luzmo-spacing-4);--filters-nested-group-margin-bottom:var(--luzmo-spacing-4);--filters-vertical-line-top:var(--luzmo-spacing-3);--filters-vertical-line-bottom:var(--luzmo-spacing-3);--filters-group-actions-text-to-visual:var(--luzmo-spacing-2);--filters-add-group-button-text-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--filters-group-actions-gap:var(--luzmo-spacing-3);--filters-add-root-group-container-margin-top:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-filter-line-gap:var(--luzmo-spacing-3);--filters-group-actions-margin-top:var(--luzmo-spacing-3);--filters-error-message-font-size:var(--luzmo-font-size-l)}:host([size=xl]){--filters-condition-warpper-width:72px;--filters-condition-padding-horizontal:var(--luzmo-spacing-3);--filters-condition-badge-halo:var(--luzmo-spacing-4);--filters-filters-list-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-nested-group-margin-top:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-nested-group-margin-bottom:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--filters-vertical-line-top:var(--luzmo-spacing-3);--filters-vertical-line-bottom:var(--luzmo-spacing-3);--filters-group-actions-text-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--filters-add-group-button-text-to-visual:var(--luzmo-spacing-4);--filters-group-actions-gap:var(--luzmo-spacing-4);--filters-add-root-group-container-margin-top:var(--luzmo-spacing-5);--filters-filter-line-gap:var(--luzmo-spacing-4);--filters-group-actions-margin-top:var(--luzmo-spacing-4);--filters-error-message-font-size:var(--luzmo-font-size-xl)}@container (width<=480px){.filter-group-container{--filters-condition-warpper-width:32px;--filters-condition-padding-horizontal:var(--luzmo-spacing-2);--filters-condition-badge-halo:var(--luzmo-spacing-2);--filters-filters-list-gap:var(--luzmo-spacing-5)}}`;function Z(e){if(e instanceof u)return e;throw e}var he={and:()=>(0,o.msg)(`AND`,{desc:`Logical AND condition for combining filters`}),or:()=>(0,o.msg)(`OR`,{desc:`Logical OR condition for combining filters`})};function Q(e){return e===`and`?`or`:`and`}var $=class extends t.t((0,c.SizedMixin)(c.LuzmoElement,{validSizes:Object.values(c.ElementSizes)})){constructor(...e){super(...e),this.apiUrl=`https://api.luzmo.com`,this.contentLanguage=`en`,this.filters=[],this.format=`canonical`,this.allowParameters=!1,this.parameters=[],this.debounce=300,this._internalFilterGroup=null,this._hasSyntheticRoot=!1,this._debounceTimeout=null}static get styles(){return[(0,i.unsafeCSS)(me)]}get _oneSizeSmaller(){return{xxs:`xxs`,xs:`xs`,s:`xs`,m:`s`,l:`m`,xl:`l`,xxl:`xl`}[this.size]||`s`}get _isDatasetIdsEmpty(){return!this.datasetIds||this.datasetIds.length===0}disconnectedCallback(){super.disconnectedCallback(),this._debounceTimeout&&=(clearTimeout(this._debounceTimeout),null)}willUpdate(e){if(super.willUpdate(e),e.has(`filters`))try{let e=X(this.filters);e.length===0?(this._internalFilterGroup=null,this._hasSyntheticRoot=!1):e.length===1?(this._internalFilterGroup=structuredClone(e[0]),this._hasSyntheticRoot=!1):(this._internalFilterGroup={condition:`and`,filters:structuredClone(e)},this._hasSyntheticRoot=!0)}catch(t){console.warn(`[${this.localName}] Keeping the current filters, the new value cannot be normalized:`,Z(t)),this.filters=e.get(`filters`)??[]}}_generateEmptyGroup(){return{id:n.t(),condition:`and`,filters:[]}}_generateEmptyFilter(){return{expression:void 0,parameters:[],properties:{id:n.t()}}}_rootGroupsForExport(){if(!this._internalFilterGroup)return[];let e=this._internalFilterGroup.filters.length>0&&this._internalFilterGroup.filters.every(e=>this._isGroup(e));return this._hasSyntheticRoot&&e?structuredClone(this._internalFilterGroup.filters):[structuredClone(this._internalFilterGroup)]}_getFiltersForExport(){let e=this._rootGroupsForExport(),t=this.format===`clean`?`clean`:`canonical`;if(e.length===0)return{filters:[],format:t};if(t===`clean`)try{return{filters:e.flatMap(e=>q(e,{format:`clean`})),format:`clean`}}catch(e){console.warn(`[${this.localName}] Cannot emit clean filters, falling back to canonical output:`,Z(e))}return{filters:e.flatMap(e=>q(e)),format:`canonical`}}_sendChangeEvent(){this._debounceTimeout&&clearTimeout(this._debounceTimeout);let e=()=>{this.dispatchEvent(new CustomEvent(`luzmo-filters-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:this._getFiltersForExport()}))};this.debounce>0?this._debounceTimeout=setTimeout(e,this.debounce):e()}_isGroup(e){return`condition`in e&&`filters`in e}_handleParameterCreated(e){let t=e.detail?.parameter;!t||this.parameters.some(({parameter:e})=>e===t.parameter)||(this.parameters=[...this.parameters,t])}_toggleCondition(e){e.condition=Q(e.condition),e===this._internalFilterGroup&&(this._hasSyntheticRoot=!1),this.requestUpdate(),this._sendChangeEvent()}_addFilter(e){if(this._isDatasetIdsEmpty)return;let t=e;t||=(this._internalFilterGroup||=this._generateEmptyGroup(),this._internalFilterGroup),t.filters.push(this._generateEmptyFilter()),this.requestUpdate(),this._sendChangeEvent()}_addSubGroup(e){if(this._isDatasetIdsEmpty)return;let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this.requestUpdate(),this._sendChangeEvent()}_removeFilter(e,t){if(this._internalFilterGroup){if(e.filters.splice(t,1),e!==this._internalFilterGroup&&e.filters.length===0){let t=this._findParentGroup(this._internalFilterGroup,e);if(t){let n=t.filters.indexOf(e);n!==-1&&t.filters.splice(n,1)}}this._collapseGroupsAfterDelete(),this.requestUpdate(),this._sendChangeEvent()}}_updateFilter(e,t,n){n.stopPropagation(),this._isGroup(e.filters[t])||(e.filters[t]=n.detail.filter,this._sendChangeEvent())}_addGroup(){if(this._isDatasetIdsEmpty)return;this._internalFilterGroup||=this._generateEmptyGroup();let e=this._generateEmptyGroup();e.condition=Q(this._internalFilterGroup.condition),e.filters.push(this._internalFilterGroup);let t=this._generateEmptyGroup();t.condition=Q(e.condition),t.filters.push(this._generateEmptyFilter()),e.filters.push(t),this._internalFilterGroup=e,this._hasSyntheticRoot=!1,this.requestUpdate(),this._sendChangeEvent()}_renderFilterItem(e,t,n){return i.html`
|
|
21
|
-
<div class="filter-item-wrapper">
|
|
22
|
-
<div class="filter-item-content">
|
|
23
|
-
<luzmo-filter-item
|
|
24
|
-
.apiUrl=${this.apiUrl}
|
|
25
|
-
.authKey=${this.authKey}
|
|
26
|
-
.authToken=${this.authToken}
|
|
27
|
-
.cacheTime=${this.cacheTime}
|
|
28
|
-
.language=${this.language}
|
|
29
|
-
.contentLanguage=${this.contentLanguage}
|
|
30
|
-
.timeZone=${this.timeZone}
|
|
31
|
-
.datasetIds=${this.datasetIds}
|
|
32
|
-
.filter=${e}
|
|
33
|
-
.allowParameters=${this.allowParameters}
|
|
34
|
-
.parameters=${this.parameters}
|
|
35
|
-
.size=${this.size}
|
|
36
|
-
@luzmo-filter-changed=${this._updateFilter.bind(this,t,n)}
|
|
37
|
-
@luzmo-parameter-created=${this._handleParameterCreated}
|
|
38
|
-
></luzmo-filter-item>
|
|
39
|
-
<luzmo-action-button
|
|
40
|
-
class="delete-filter-button"
|
|
41
|
-
.size=${this.size}
|
|
42
|
-
quiet
|
|
43
|
-
.label=${(0,o.msg)(`Remove filter`,{desc:`Aria label for remove filter button`})}
|
|
44
|
-
@click=${this._removeFilter.bind(this,t,n)}
|
|
45
|
-
>
|
|
46
|
-
<luzmo-icon slot="icon" .icon=${r.luzmoTrashOutline} .size=${this.size}></luzmo-icon>
|
|
47
|
-
</luzmo-action-button>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
`}_renderGroup(e,t=!1){let n=e.filters.length>0,a=e.filters.length>1,c=he[e.condition]?.()??e.condition;return i.html`
|
|
51
|
-
<div class="filter-group ${t?`nested`:``}" role="group">
|
|
52
|
-
${t?i.html`
|
|
53
|
-
<div class="condition-wrapper">
|
|
54
|
-
${a?i.html`
|
|
55
|
-
<luzmo-action-button
|
|
56
|
-
class="condition-badge"
|
|
57
|
-
.size=${this._oneSizeSmaller}
|
|
58
|
-
quiet
|
|
59
|
-
aria-pressed=${e.condition===`and`?`true`:`false`}
|
|
60
|
-
.label=${(0,o.msg)(`Toggle filter condition, currently `,{desc:`Aria label prefix for filter condition toggle`})+c}
|
|
61
|
-
@click=${this._toggleCondition.bind(this,e)}
|
|
62
|
-
>
|
|
63
|
-
${c}
|
|
64
|
-
</luzmo-action-button>
|
|
65
|
-
`:``}
|
|
66
|
-
</div>
|
|
67
|
-
`:a?i.html`
|
|
68
|
-
<div class="condition-wrapper">
|
|
69
|
-
<luzmo-action-button
|
|
70
|
-
class="condition-badge"
|
|
71
|
-
.size=${this._oneSizeSmaller}
|
|
72
|
-
quiet
|
|
73
|
-
aria-pressed=${e.condition===`and`?`true`:`false`}
|
|
74
|
-
.label=${(0,o.msg)(`Toggle filter condition, currently `,{desc:`Aria label prefix for filter condition toggle`})+c}
|
|
75
|
-
@click=${this._toggleCondition.bind(this,e)}
|
|
76
|
-
>
|
|
77
|
-
${c}
|
|
78
|
-
</luzmo-action-button>
|
|
79
|
-
</div>
|
|
80
|
-
`:``}
|
|
81
|
-
<div class="group-content">
|
|
82
|
-
${n?i.html`
|
|
83
|
-
<div class="filters-list">
|
|
84
|
-
${(0,s.repeat)(e.filters,(e,t)=>t,(t,n)=>i.html`
|
|
85
|
-
${this._isGroup(t)?this._renderGroup(t,!0):this._renderFilterItem(t,e,n)}
|
|
86
|
-
`)}
|
|
87
|
-
</div>
|
|
88
|
-
`:``}
|
|
89
|
-
|
|
90
|
-
<div class="group-actions">
|
|
91
|
-
<luzmo-action-button
|
|
92
|
-
class="add-filter-button"
|
|
93
|
-
.size=${this.size}
|
|
94
|
-
quiet
|
|
95
|
-
?disabled=${this._isDatasetIdsEmpty}
|
|
96
|
-
@click=${this._addFilter.bind(this,e)}
|
|
97
|
-
>
|
|
98
|
-
<luzmo-icon slot="icon" .icon=${r.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
99
|
-
${(0,o.msg)(`Filter`,{desc:`Add filter button label`})}
|
|
100
|
-
</luzmo-action-button>
|
|
101
|
-
|
|
102
|
-
<luzmo-action-button
|
|
103
|
-
class="add-subgroup-button"
|
|
104
|
-
.size=${this.size}
|
|
105
|
-
quiet
|
|
106
|
-
?disabled=${this._isDatasetIdsEmpty}
|
|
107
|
-
@click=${this._addSubGroup.bind(this,e)}
|
|
108
|
-
>
|
|
109
|
-
<luzmo-icon slot="icon" .icon=${r.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
110
|
-
${(0,o.msg)(`Subgroup`,{desc:`Add subgroup button label`})}
|
|
111
|
-
</luzmo-action-button>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
</div>
|
|
115
|
-
`}_findParentGroup(e,t){for(let n of e.filters){if(n===t)return e;if(this._isGroup(n)){let e=this._findParentGroup(n,t);if(e)return e}}return null}_collapseIfNeeded(e){if(e.filters.length===1&&this._isGroup(e.filters[0])){let t=e.filters[0];e.condition=t.condition,e.filters=t.filters,e.id=t.id,e.clause=t.clause,e.origin=t.origin,e.datasetId=t.datasetId,e.vizId=t.vizId,e.itemId=t.itemId,e.isDrilldown=t.isDrilldown,e.type=t.type,e===this._internalFilterGroup&&(this._hasSyntheticRoot=!1)}}_collapseGroupsAfterDelete(){if(!this._internalFilterGroup)return;let e=t=>{for(let n of t.filters)this._isGroup(n)&&e(n);this._collapseIfNeeded(t)};e(this._internalFilterGroup)}render(){if(this._isDatasetIdsEmpty)return i.html`
|
|
116
|
-
<div class="filter-group-container">
|
|
117
|
-
<div class="dataset-ids-empty-message" role="status">
|
|
118
|
-
${(0,o.msg)(`Cannot retrieve dataset data fields`,{desc:`Error message when datasetIds is empty`})}
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
`;if(!this._internalFilterGroup||this._internalFilterGroup.filters.length===0)return i.html`
|
|
122
|
-
<div class="filter-group-container">
|
|
123
|
-
<luzmo-button
|
|
124
|
-
class="add-filter-button"
|
|
125
|
-
.size=${this.size}
|
|
126
|
-
treatment="outline"
|
|
127
|
-
?disabled=${this._isDatasetIdsEmpty}
|
|
128
|
-
@click=${()=>this._addFilter()}
|
|
129
|
-
>
|
|
130
|
-
<luzmo-icon slot="icon" .icon=${r.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
131
|
-
${(0,o.msg)(`Add filter`,{desc:`Add filter button label`})}
|
|
132
|
-
</luzmo-button>
|
|
133
|
-
</div>
|
|
134
|
-
`;let e=this._internalFilterGroup.filters.length>1;return i.html`
|
|
135
|
-
<div class="filter-group-container">
|
|
136
|
-
${this._renderGroup(this._internalFilterGroup)}
|
|
137
|
-
|
|
138
|
-
${e?i.html`
|
|
139
|
-
<div class="add-root-group-container">
|
|
140
|
-
<luzmo-button
|
|
141
|
-
class="add-group-button"
|
|
142
|
-
.size=${this.size}
|
|
143
|
-
treatment="outline"
|
|
144
|
-
?disabled=${this._isDatasetIdsEmpty}
|
|
145
|
-
@click=${this._addGroup}
|
|
146
|
-
>
|
|
147
|
-
<luzmo-icon slot="icon" .icon=${r.luzmoPlus} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
148
|
-
${(0,o.msg)(`Group`,{desc:`Add group button label`})}
|
|
149
|
-
</luzmo-button>
|
|
150
|
-
</div>
|
|
151
|
-
`:``}
|
|
152
|
-
</div>
|
|
153
|
-
`}};e.t([(0,a.property)({type:String,attribute:`api-url`,reflect:!0})],$.prototype,`apiUrl`,void 0),e.t([(0,a.property)({type:String,attribute:`auth-key`,reflect:!0})],$.prototype,`authKey`,void 0),e.t([(0,a.property)({type:String,attribute:`auth-token`,reflect:!0})],$.prototype,`authToken`,void 0),e.t([(0,a.property)({type:Number,attribute:`cache-time`,reflect:!0})],$.prototype,`cacheTime`,void 0),e.t([(0,a.property)({type:String,attribute:`content-language`,reflect:!0})],$.prototype,`contentLanguage`,void 0),e.t([(0,a.property)({type:String,attribute:`time-zone`,reflect:!0})],$.prototype,`timeZone`,void 0),e.t([(0,a.property)({type:Array,attribute:`dataset-ids`,reflect:!0})],$.prototype,`datasetIds`,void 0),e.t([(0,a.property)({type:Array,reflect:!1})],$.prototype,`filters`,void 0),e.t([(0,a.property)({type:String,reflect:!0})],$.prototype,`format`,void 0),e.t([(0,a.property)({type:Boolean,attribute:`allow-parameters`,reflect:!0})],$.prototype,`allowParameters`,void 0),e.t([(0,a.property)({attribute:!1})],$.prototype,`parameters`,void 0),e.t([(0,a.property)({type:Number,reflect:!0})],$.prototype,`debounce`,void 0),e.t([(0,a.state)()],$.prototype,`_internalFilterGroup`,void 0),$=e.t([(0,o.localized)()],$),customElements.get(`luzmo-filters`)||customElements.define(`luzmo-filters`,$),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}});
|
|
@@ -1,20 +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("./type-check-BehV9ZL1.cjs"),t=require("./localize-D3i4Epy_.cjs"),n=require("./decompose-numeric-format-DGJua3rU.cjs");function r(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function i(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function a(e){return e=i(Math.abs(e)),e?e[1]:NaN}function o(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function s(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var c=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function l(e){if(!(t=c.exec(e)))throw Error(`invalid format: `+e);var t;return new u({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}l.prototype=u.prototype;function u(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}u.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function d(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var f;function p(e,t){var n=i(e,t);if(!n)return f=void 0,e.toPrecision(t);var r=n[0],a=n[1],o=a-(f=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=r.length;return o===s?r:o>s?r+Array(o-s+1).join(`0`):o>0?r.slice(0,o)+`.`+r.slice(o):`0.`+Array(1-o).join(`0`)+i(e,Math.max(0,t+o-1))[0]}function m(e,t){var n=i(e,t);if(!n)return e+``;var r=n[0],a=n[1];return a<0?`0.`+Array(-a).join(`0`)+r:r.length>a+1?r.slice(0,a+1)+`.`+r.slice(a+1):r+Array(a-r.length+2).join(`0`)}var h={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:r,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>m(e*100,t),r:m,s:p,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function g(e){return e}var _=Array.prototype.map,v=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function y(e){var t=e.grouping===void 0||e.thousands===void 0?g:o(_.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,c=e.numerals===void 0?g:s(_.call(e.numerals,String)),u=e.percent===void 0?`%`:e.percent+``,p=e.minus===void 0?`−`:e.minus+``,m=e.nan===void 0?`NaN`:e.nan+``;function y(e,a){e=l(e);var o=e.fill,s=e.align,g=e.sign,_=e.symbol,y=e.zero,b=e.width,x=e.comma,S=e.precision,C=e.trim,w=e.type;w===`n`?(x=!0,w=`g`):h[w]||(S===void 0&&(S=12),C=!0,w=`g`),(y||o===`0`&&s===`=`)&&(y=!0,o=`0`,s=`=`);var T=(a&&a.prefix!==void 0?a.prefix:``)+(_===`$`?n:_===`#`&&/[boxX]/.test(w)?`0`+w.toLowerCase():``),E=(_===`$`?r:/[%p]/.test(w)?u:``)+(a&&a.suffix!==void 0?a.suffix:``),D=h[w],O=/[defgprs%]/.test(w);S=S===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,S)):Math.max(0,Math.min(20,S));function k(e){var n=T,r=E,a,l,u;if(w===`c`)r=D(e)+r,e=``;else{e=+e;var h=e<0||1/e<0;if(e=isNaN(e)?m:D(Math.abs(e),S),C&&(e=d(e)),h&&+e==0&&g!==`+`&&(h=!1),n=(h?g===`(`?g:p:g===`-`||g===`(`?``:g)+n,r=(w===`s`&&!isNaN(e)&&f!==void 0?v[8+f/3]:``)+r+(h&&g===`(`?`)`:``),O){for(a=-1,l=e.length;++a<l;)if(u=e.charCodeAt(a),48>u||u>57){r=(u===46?i+e.slice(a+1):e.slice(a))+r,e=e.slice(0,a);break}}}x&&!y&&(e=t(e,1/0));var _=n.length+e.length+r.length,k=_<b?Array(b-_+1).join(o):``;switch(x&&y&&(e=t(k+e,k.length?b-r.length:1/0),k=``),s){case`<`:e=n+e+r+k;break;case`=`:e=n+k+e+r;break;case`^`:e=k.slice(0,_=k.length>>1)+n+e+r+k.slice(_);break;default:e=k+n+e+r;break}return c(e)}return k.toString=function(){return e+``},k}function b(e,t){var n=Math.max(-8,Math.min(8,Math.floor(a(t)/3)))*3,r=10**-n,i=y((e=l(e),e.type=`f`,e),{suffix:v[8+n/3]});return function(e){return i(r*e)}}return{format:y,formatPrefix:b}}var b=new Date,x=new Date;function S(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>S(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}),n&&(i.count=(t,r)=>(b.setTime(+t),x.setTime(+r),e(b),e(x),Math.floor(n(b,x))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var C=1e3,w=C*60,T=w*60,E=T*24,D=E*7;E*30,E*365;var O=S(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*C)},(e,t)=>(t-e)/C,e=>e.getUTCSeconds());O.range;var k=S(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*C)},(e,t)=>{e.setTime(+e+t*w)},(e,t)=>(t-e)/w,e=>e.getMinutes());k.range,S(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*w)},(e,t)=>(t-e)/w,e=>e.getUTCMinutes()).range;var A=S(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*C-e.getMinutes()*w)},(e,t)=>{e.setTime(+e+t*T)},(e,t)=>(t-e)/T,e=>e.getHours());A.range,S(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*T)},(e,t)=>(t-e)/T,e=>e.getUTCHours()).range;var j=S(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*w)/E,e=>e.getDate()-1);j.range;var M=S(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/E,e=>e.getUTCDate()-1);M.range,S(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/E,e=>Math.floor(e/E)).range;function N(e){return S(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*w)/D)}var P=N(0),F=N(1),ee=N(2),te=N(3),I=N(4),ne=N(5),re=N(6);P.range,F.range,ee.range,te.range,I.range,ne.range,re.range;function L(e){return S(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/D)}var R=L(0),z=L(1),ie=L(2),ae=L(3),B=L(4),oe=L(5),se=L(6);R.range,z.range,ie.range,ae.range,B.range,oe.range,se.range;var ce=S(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());ce.range,S(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()).range;var V=S(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());V.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:S(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),V.range;var H=S(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());H.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:S(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),H.range;function U(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function W(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function G(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function K(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=Y(i),u=X(i),d=Y(a),f=X(a),p=Y(o),m=X(o),h=Y(s),g=X(s),_=Y(c),v=X(c),y={a:ee,A:te,b:I,B:ne,c:null,d:Ne,e:Ne,f:Re,g:Ye,G:Ze,H:Pe,I:Fe,j:Ie,L:Le,m:ze,M:Be,p:re,q:L,Q:bt,s:xt,S:Ve,u:He,U:Ue,V:Ge,w:Ke,W:qe,x:null,X:null,y:Je,Y:Xe,Z:Qe,"%":yt},b={a:R,A:ie,b:ae,B,c:null,d:$e,e:$e,f:it,g:ht,G:_t,H:et,I:tt,j:nt,L:rt,m:at,M:ot,p:oe,q:se,Q:bt,s:xt,S:st,u:ct,U:lt,V:dt,w:ft,W:pt,x:null,X:null,y:mt,Y:gt,Z:vt,"%":yt},x={a:E,A:D,b:O,B:k,c:A,d:Ce,e:Ce,f:ke,g:ye,G:ve,H:Te,I:Te,j:we,L:Oe,m:Se,M:Ee,p:T,q:xe,Q:je,s:Me,S:De,u:me,U:he,V:ge,w:pe,W:_e,x:N,X:P,y:ye,Y:ve,Z:be,"%":Ae};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=le[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=G(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=W(G(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?z.ceil(a):z(a),a=M.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=U(G(r.y,0,1)),o=a.getDay(),a=o>4||o===0?F.ceil(a):F(a),a=j.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?W(G(r.y,0,1)).getUTCDay():U(G(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,W(r)):U(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in le?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function N(e,t,r){return w(e,n,t,r)}function P(e,t,n){return w(e,r,t,n)}function ee(e){return o[e.getDay()]}function te(e){return a[e.getDay()]}function I(e){return c[e.getMonth()]}function ne(e){return s[e.getMonth()]}function re(e){return i[+(e.getHours()>=12)]}function L(e){return 1+~~(e.getMonth()/3)}function R(e){return o[e.getUTCDay()]}function ie(e){return a[e.getUTCDay()]}function ae(e){return c[e.getUTCMonth()]}function B(e){return s[e.getUTCMonth()]}function oe(e){return i[+(e.getUTCHours()>=12)]}function se(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var le={"-":``,_:` `,0:`0`},q=/^\s*\d+/,ue=/^%/,de=/[\\^$*+?|[\]().{}]/g;function J(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function fe(e){return e.replace(de,`\\$&`)}function Y(e){return RegExp(`^(?:`+e.map(fe).join(`|`)+`)`,`i`)}function X(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function pe(e,t,n){var r=q.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function me(e,t,n){var r=q.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function he(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function ge(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function _e(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function ve(e,t,n){var r=q.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function ye(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function be(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function xe(e,t,n){var r=q.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Se(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Ce(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function we(e,t,n){var r=q.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Te(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Ee(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function De(e,t,n){var r=q.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Oe(e,t,n){var r=q.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ke(e,t,n){var r=q.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ae(e,t,n){var r=ue.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function je(e,t,n){var r=q.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Me(e,t,n){var r=q.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Ne(e,t){return J(e.getDate(),t,2)}function Pe(e,t){return J(e.getHours(),t,2)}function Fe(e,t){return J(e.getHours()%12||12,t,2)}function Ie(e,t){return J(1+j.count(V(e),e),t,3)}function Le(e,t){return J(e.getMilliseconds(),t,3)}function Re(e,t){return Le(e,t)+`000`}function ze(e,t){return J(e.getMonth()+1,t,2)}function Be(e,t){return J(e.getMinutes(),t,2)}function Ve(e,t){return J(e.getSeconds(),t,2)}function He(e){var t=e.getDay();return t===0?7:t}function Ue(e,t){return J(P.count(V(e)-1,e),t,2)}function We(e){var t=e.getDay();return t>=4||t===0?I(e):I.ceil(e)}function Ge(e,t){return e=We(e),J(I.count(V(e),e)+(V(e).getDay()===4),t,2)}function Ke(e){return e.getDay()}function qe(e,t){return J(F.count(V(e)-1,e),t,2)}function Je(e,t){return J(e.getFullYear()%100,t,2)}function Ye(e,t){return e=We(e),J(e.getFullYear()%100,t,2)}function Xe(e,t){return J(e.getFullYear()%1e4,t,4)}function Ze(e,t){var n=e.getDay();return e=n>=4||n===0?I(e):I.ceil(e),J(e.getFullYear()%1e4,t,4)}function Qe(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+J(t/60|0,`0`,2)+J(t%60,`0`,2)}function $e(e,t){return J(e.getUTCDate(),t,2)}function et(e,t){return J(e.getUTCHours(),t,2)}function tt(e,t){return J(e.getUTCHours()%12||12,t,2)}function nt(e,t){return J(1+M.count(H(e),e),t,3)}function rt(e,t){return J(e.getUTCMilliseconds(),t,3)}function it(e,t){return rt(e,t)+`000`}function at(e,t){return J(e.getUTCMonth()+1,t,2)}function ot(e,t){return J(e.getUTCMinutes(),t,2)}function st(e,t){return J(e.getUTCSeconds(),t,2)}function ct(e){var t=e.getUTCDay();return t===0?7:t}function lt(e,t){return J(R.count(H(e)-1,e),t,2)}function ut(e){var t=e.getUTCDay();return t>=4||t===0?B(e):B.ceil(e)}function dt(e,t){return e=ut(e),J(B.count(H(e),e)+(H(e).getUTCDay()===4),t,2)}function ft(e){return e.getUTCDay()}function pt(e,t){return J(z.count(H(e)-1,e),t,2)}function mt(e,t){return J(e.getUTCFullYear()%100,t,2)}function ht(e,t){return e=ut(e),J(e.getUTCFullYear()%100,t,2)}function gt(e,t){return J(e.getUTCFullYear()%1e4,t,4)}function _t(e,t){var n=e.getUTCDay();return e=n>=4||n===0?B(e):B.ceil(e),J(e.getUTCFullYear()%1e4,t,4)}function vt(){return`+0000`}function yt(){return`%`}function bt(e){return+e}function xt(e){return Math.floor(e/1e3)}var Z,Q;St({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function St(e){return Z=K(e),Q=Z.format,Z.parse,Z.utcFormat,Z.utcParse,Z}var $=[[1,4,12,52,365,365*24,365*24*60,365*24*60*60,365*24*60*60*1e3],[1/4,1,3,13,91,2184,2184*60,2184*60*60,2184*60*60*1e3],[1/12,1/3,1,4,30,720,720*60,720*60*60,720*60*60*1e3],[1/52,1/13,1/4,1,7,168,10080,10080*60,10080*60*1e3],[1/365,1/91,1/30,1/7,1,24,1440,1440*60,1440*60*1e3],[1/(365*24),1/2184,1/720,1/168,1/24,1,60,3600,3600*1e3],[1/(365*24*60),1/(2184*60),1/(720*60),1/10080,1/1440,1/60,1,60,60*1e3],[1/(365*24*60*60),1/(2184*60*60),1/(720*60*60),1/(10080*60),1/(1440*60),1/3600,1/60,1,1e3],[1/(365*24*60*60*1e3),1/(2184*60*60*1e3),1/(720*60*60*1e3),1/(10080*60*1e3),1/(1440*60*1e3),1/(3600*1e3),1/(60*1e3),1/1e3,1]];function Ct(t,n,r){if(e.n(t))return;if(!n||!r||n===r)return t;let i=$[n-1][r-1];if(i)return t*i}function wt(t,n,r,i){if(e.n(t)||!n.lowestLevel||r.length===0)return``;let a=[],o=0,s=Math.round(t*$[n.lowestLevel-1][8]);for(let[,e]of r.entries())if(t){s-=o;let t=$[e-1][8],n=Math.floor(s/t);o=n*t,a.push({level:e,value:n})}else a.push({level:e,value:0});let c=``;for(let[e,t]of a.entries())if(n.duration.format===`time`){let n=t.value;[6,7,8].includes(t.level)&&t.value<10?n=`0`+t.value.toString():t.level===9&&t.value<10?n=`00`+t.value.toString():t.level===9&&t.value<100&&(n=`0`+t.value.toString()),c+=(e===0?``:t.level===9?`.`:`:`)+n}else if(n.duration.format===`long`){let n=i.durationLongSuffix;c+=t.value+` `+n[t.level]+(e===a.length-1?``:` `)}else{let n=i.durationShortSuffix;c+=t.value+``+n[t.level]+(e===a.length-1?``:` `)}return c}var Tt={decimal:`.`,thousands:`,`,grouping:[3],currency:[`$`,``],dateTime:`%a %b %e %X %Y`,date:`%m/%d/%Y`,dateSeparator:`/`,time:`%H:%M:%S`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],levels:[`All`,`Year`,`Quarter`,`Month`,`Week`,`Date`,`Hour`,`Minute`,`Second`,`Millisecond`],shortLevels:[`All`,`Yr`,`Qtr`,`Mth`,`Wk`,`Date`,`Hr`,`Min`,`Sec`,`Msec`],durationLongSuffix:[``,`years`,`quarters`,`months`,`weeks`,`days`,`hours`,`minutes`,`seconds`,`milliseconds`],durationShortSuffix:[``,`y`,`q`,`mo`,`w`,`d`,`h`,`m`,`s`,`ms`],multi:[`.%L`,`:%S`,`%I:%M`,`%I %p`,`%a %d`,`W%G`,`%b %d`,`%B`,`%Y`]},Et=`%d-%m-%Y`,Dt=[{key:`%a %e %b %Y`,lev1:`%Y`,lev2:`Q%q-%Y`,lev3:`%b %Y`,lev4:`Wk %V-%G`,lev5:`%a %e %b %Y`,monthType:`name`,longText:!1,weekday:!0},{key:`%e %b %Y`,lev1:`%Y`,lev2:`Q%q-%Y`,lev3:`%b %Y`,lev4:`Wk %V-%G`,lev5:`%e %b %Y`,monthType:`name`,longText:!1,weekday:!1},{key:`%a %e %B %Y`,lev1:`%Y`,lev2:`Q%q-%Y`,lev3:`%B %Y`,lev4:`Week %V, %G`,lev5:`%a %e %B %Y`,monthType:`name`,longText:!0,weekday:!0},{key:`%e %B %Y`,lev1:`%Y`,lev2:`Q%q-%Y`,lev3:`%B %Y`,lev4:`Week %V, %G`,lev5:`%e %B %Y`,monthType:`name`,longText:!0,weekday:!1},{key:`%d/%m/%Y`,lev1:`%Y`,lev2:`Q%q/%Y`,lev3:`%m/%Y`,lev4:`W%V/%G`,lev5:`%d/%m/%Y`,monthType:`number`,mmdd:!1,separator:`/`},{key:`%d-%m-%Y`,lev1:`%Y`,lev2:`Q%q-%Y`,lev3:`%m-%Y`,lev4:`W%V-%G`,lev5:`%d-%m-%Y`,monthType:`number`,mmdd:!1,separator:`-`},{key:`%d.%m.%Y`,lev1:`%Y`,lev2:`Q%q.%Y`,lev3:`%m.%Y`,lev4:`W%V.%G`,lev5:`%d.%m.%Y`,monthType:`number`,mmdd:!1,separator:`.`},{key:`%d~%m~%Y`,lev1:`%Y`,lev2:`Q%q~%Y`,lev3:`%m~%Y`,lev4:`W%V~%G`,lev5:`%d~%m~%Y`,monthType:`number`,mmdd:!1,separator:`~`},{key:`%m/%d/%Y`,lev1:`%Y`,lev2:`Q%q/%Y`,lev3:`%m/%Y`,lev4:`%G/W%V`,lev5:`%m/%d/%Y`,monthType:`number`,mmdd:!0,separator:`/`},{key:`%m-%d-%Y`,lev1:`%Y`,lev2:`Q%q-%Y`,lev3:`%m-%Y`,lev4:`%G-W%V`,lev5:`%m-%d-%Y`,monthType:`number`,mmdd:!0,separator:`-`},{key:`%m.%d.%Y`,lev1:`%Y`,lev2:`Q%q.%Y`,lev3:`%m.%Y`,lev4:`%G.W%V`,lev5:`%m.%d.%Y`,monthType:`number`,mmdd:!0,separator:`.`},{key:`%m~%d~%Y`,lev1:`%Y`,lev2:`Q%q~%Y`,lev3:`%m~%Y`,lev4:`%G~W%V`,lev5:`%m~%d~%Y`,monthType:`number`,mmdd:!0,separator:`~`},{key:`%amd/%Y`,lev1:`%Y`,lev2:`Q%q/%Y`,lev3:`%m/%Y`,lev4:`%G/W%V`,lev5:`%amd/%Y`,monthType:`number`,mmdd:null,separator:`/`},{key:`%amd-%Y`,lev1:`%Y`,lev2:`Q%q-%Y`,lev3:`%m-%Y`,lev4:`%G-W%V`,lev5:`%amd-%Y`,monthType:`number`,mmdd:null,separator:`-`},{key:`%amd.%Y`,lev1:`%Y`,lev2:`Q%q.%Y`,lev3:`%m.%Y`,lev4:`%G.W%V`,lev5:`%amd.%Y`,monthType:`number`,mmdd:null,separator:`.`},{key:`%amd~%Y`,lev1:`%Y`,lev2:`Q%q~%Y`,lev3:`%m~%Y`,lev4:`%G~W%V`,lev5:`%amd~%Y`,monthType:`number`,mmdd:null,separator:`~`}],Ot=[{key:`%H:%M:%S.%L`,lev6:`%H:00`,lev7:`%H:%M`,lev8:`%H:%M:%S`,lev9:`%H:%M:%S.%L`,ampm:!1},{key:`%I:%M:%S.%L %p`,lev6:`%I:00 %p`,lev7:`%I:%M %p`,lev8:`%I:%M:%S %p`,lev9:`%I:%M:%S.%L %p`,ampm:!0}],kt=(e,t,n)=>t===`letter`?e.shortNames?.length>0&&e.shortNames[n]?.length>0?e.shortNames[n]?.charAt(0):`N/A`:t===`short`?e.shortNames?.length>0&&e.shortNames[n]?e.shortNames[n]:`N/A`:e.longNames?.length>0&&e.longNames[n]?e.longNames[n]:`N/A`;function At(r,i){i||={};let a=i.localFormats||Tt,o,s,c,l=[],u=[],d=`datetime`,f;i&&i.multi&&(d=`datetime`),(!r||!r.format)&&(d=`hierarchy`),r&&r.type&&(d=r.type),f=r&&r.format?r.format:d===`numeric`?`,.0f`:d===`datetime`?Et:``;let p=n.t(f);switch(p.precision&&p.typeFormat&&(d=`numeric`),d){case`numeric`:if(r.subtype===`duration`&&r.duration&&r.duration.levels&&r.duration.levels.length>1&&!i.hideDuration)o=t=>e.n(t)?``:wt(t,r,r.duration.levels,a);else{let t={...a},n=p.typeFormat,c=!1;switch(n.length===2&&n.startsWith(`a`)&&(c=!0,n=n.slice(1,2),f=f.replace(/a/,``)),c?(t.decimal=a.decimal,t.thousands=a.thousands):[`z`,`y`,`w`].includes(n)?(t.decimal=`,`,t.thousands=`.`):(t.decimal=`.`,t.thousands=`,`),n){case`z`:f=f.replace(`z`,`f`);break;case`y`:f=f.replace(`y`,`%`);break;case`w`:f=f.replace(`w`,`s`);break}if(r?.subtype===`currency`&&r.currency){let e=t.currency.findIndex(e=>e.length>0),n=t.currency[e].startsWith(`\xA0`),i=t.currency[e].endsWith(`\xA0`),a=`${n?`\xA0`:``}${r.currency}${i?`\xA0`:``}`;t.currency[e]=a}let l=y(t);n!==`%`&&r?.subtype===`currency`&&r.currency&&t.currency&&!i?.hideCurrency&&![`count`,`distinctcount`].includes(r.aggregationFunc)&&!(r.aggregationFunc===`rate`&&r.aggregationWeight?.columnSubType===`currency`)&&r.periodOverPeriod?.type!==`percentageChange`&&(f=`$`+f),s=i?.trimZero&&[`y`,`%`].includes(n)&&t.decimal===`,`?e=>l.format(f)(e).replace(/(,\d*?)0+%$/,`$1%`).replace(/,%$/,`%`):i?.trimZero&&[`y`,`%`].includes(n)&&t.decimal===`.`?e=>l.format(f)(e).replace(/(\.\d*?)0+%$/,`$1%`).replace(/\.%$/,`%`):i?.trimZero&&[`z`,`f`].includes(n)&&t.decimal===`,`?e=>l.format(f)(e).replace(/(,\d*?)0+$/,`$1`).replace(/,$/,``):i?.trimZero&&[`z`,`f`].includes(n)&&t.decimal===`.`?e=>l.format(f)(e).replace(/(\.\d*?)0+$/,`$1`).replace(/\.$/,``):r?.subtype===`currency`&&r.currency&&t.currency&&n===`s`?e=>l.format(f)(e).replace(/G/,`B`):e.n(p.precision)?l.format(`,.0f`):l.format(f),o=t=>{if(e.n(t))return``;if(r.subtype===`duration`&&r.duration&&!i.hideDuration){let e=r.duration.levels?r.duration.levels[0]:r.lowestLevel;return e!==r.lowestLevel&&(t=Ct(t,r.lowestLevel,e)),s(t)+a?.durationShortSuffix?.[e]}return s(t)}}break;case`datetime`:if(l=a?.smartDateFormats??Dt,u=a?.smartTimeFormats??Ot,e.n(r.datetimeDisplayMode)||r.datetimeDisplayMode==="default"){if(i?.level){let e=i.level,t=l.find(e=>f.includes(e.key)),n=u.find(e=>f.includes(e.key)),r=t?t[`lev`+Math.min(e,5)]:l[0][`lev`+Math.min(e,5)],o=e>5?n?n[`lev`+e]:u[0][`lev`+e]:``;f=e>5?r+`, `+o:r;let s=f.includes(`%amd`)&&i.level>=5,c=t?i.level>=2&&t.separator===`~`:!1;f=s?c?f.replaceAll(/%amd[.~/-]%Y/g,a.date.slice(0,8)):f.replaceAll(/%amd[.~/-]%Y/g,a.date.slice(0,8).replaceAll(/[.~/-]/g,t.separator)):c?f.replaceAll(/[~]/g,a.dateSeparator):f}if(i?.multi){let e=Q(a.multi[0]),t=Q(a.multi[1]),n=Q(a.multi[2]),r=Q(a.multi[3]),i=Q(a.multi[4]),o=Q(a.multi[6]),s=Q(a.multi[7]),l=Q(a.multi[8]);c=a=>{let c;return c=O(a)<a?e:k(a)<a?t:A(a)<a?n:j(a)<a?r:ce(a)<a?P(a)<a?i:o:V(a)<a?s:l,c(a)}}else c=K(a).format(f)}else{let t={quarter_number:{min:1,max:4},month_name:{min:1,max:12},month_number:{min:1,max:12},week_number:{min:1,max:53},day_in_month:{min:1,max:31},day_in_year:{min:1,max:366},weekday_name:{min:0,max:7},weekday_number:{min:0,max:7},hour_in_day:{min:0,max:23},minute_in_hour:{min:0,max:59},second_in_minute:{min:0,max:59}};c=[`quarter_number`,`month_number`,`week_number`,`day_in_month`,`day_in_year`,`weekday_number`,`hour_in_day`,`minute_in_hour`,`second_in_minute`].includes(r.datetimeDisplayMode)?n=>e.i(n)&&n>=t[r.datetimeDisplayMode].min&&n<=t[r.datetimeDisplayMode].max?n:`N/A`:r.datetimeDisplayMode===`month_name`?n=>{let i=[...a.shortMonths],o=[...a.months];return e.i(n)&&n>=t[r.datetimeDisplayMode].min&&n<=t[r.datetimeDisplayMode].max?kt({shortNames:i,longNames:o},r.monthNameFormat,n-1):`N/A`}:r.datetimeDisplayMode===`weekday_name`?n=>{let i=[...a.shortDays],o=[...a.days];return r.weekStart===`monday`&&(i.push(i.shift()??``),o.push(o.shift()??``)),e.i(n)&&n>=t[r.datetimeDisplayMode].min&&n<=t[r.datetimeDisplayMode].max?kt({shortNames:i,longNames:o},r.weekDayNameFormat,n-1):`N/A`}:K(a).format(f)}o=t=>{if(e.n(t))return``;let n=c(t);return e.o(n)?n.trim():n};break;case`hierarchy`:o=e=>t.t(e,i?i.locale:void 0);break;default:o=e=>e;break}return o}Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return At}});
|
|
@@ -1,45 +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("./calculate-data-field-icon-DenGmW74.cjs"),n=require("./localize-D3i4Epy_.cjs"),r=require("./formula-display-store-DER7C0GG.cjs"),i=require("./groupings-Bn9384Zw.cjs"),a=require("./resolve-column-presentation-DUETRVCH.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/icon");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/progress-circle");var u=`:host{box-sizing:border-box;font-family:var(--luzmo-font-family);color:var(--luzmo-font-color);display:inline-block}.formula-text{font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));white-space:pre-wrap;word-break:break-word;line-height:1.5}.formula-text-column{white-space:nowrap}.formula-text-column-icon{margin-inline-end:var(--luzmo-spacing-1)}.formula-pills{align-items:center;gap:var(--luzmo-spacing-1) 0;font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));flex-wrap:wrap;line-height:1.5;display:inline-flex}.formula-operator{white-space:pre-wrap}.column-pill-wrapper{vertical-align:middle;padding-inline-end:var(--luzmo-formula-column-pill-trailing-space,var(--luzmo-spacing-1));display:inline-flex}.column-pill{justify-content:center;align-items:center;gap:var(--luzmo-spacing-2);box-sizing:border-box;max-width:16rem;min-height:var(--luzmo-formula-control-height,1.375rem);padding:0 var(--luzmo-formula-column-pill-padding-inline,calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1)));border-radius:var(--luzmo-border-radius-s);background-color:var(--luzmo-formula-column-pill-background,var(--luzmo-background-color-highlight));color:var(--luzmo-font-color);white-space:nowrap;font-size:.85em;line-height:1.2;display:inline-flex}.column-pill-icon{flex:none;display:inline-flex}.column-pill-label{text-overflow:ellipsis;overflow:hidden}.column-pill-loading{--luzmo-progress-circle-size:1em;align-items:center;display:inline-flex}.agg-pill{padding-block:var(--luzmo-spacing-1);border-radius:var(--luzmo-border-radius);background-color:var(--agg-accent,var(--luzmo-primary));color:var(--luzmo-primary-inverse-color);font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));vertical-align:middle;padding-inline:0;display:inline-flex}.agg-pill-row{align-items:center;gap:var(--luzmo-spacing-1);min-height:var(--luzmo-formula-control-height,1.375rem);display:inline-flex}.agg-fn{text-transform:uppercase;padding-inline-start:var(--luzmo-spacing-3);padding-inline-end:var(--luzmo-spacing-3);font-size:.85em}.agg-value{min-height:var(--luzmo-formula-control-height,1.375rem);padding:0 var(--luzmo-spacing-2);border-radius:var(--luzmo-border-radius-s);background-color:var(--luzmo-background-color);color:var(--luzmo-font-color);--luzmo-formula-column-pill-background:transparent;--luzmo-formula-column-pill-padding-inline:0px;align-items:center;line-height:1;display:inline-flex}.agg-grouping{align-items:center;gap:var(--luzmo-spacing-1);padding-inline:var(--luzmo-spacing-2) var(--luzmo-spacing-3);font-size:var(--luzmo-formula-grouping-icon-size,var(--luzmo-icon-size-m));display:inline-flex}.agg-grouping--no-value{padding-inline-start:0}.agg-grouping-count{border-radius:var(--luzmo-border-radius-full,999rem);background:var(--luzmo-primary-inverse-color);min-width:1.25em;color:var(--agg-accent,var(--luzmo-primary));font-size:.6875rem;font-weight:var(--luzmo-font-weight-bold);justify-content:center;align-items:center;padding:0 .25em;line-height:1.4;display:inline-flex}:host{--luzmo-formula-font-size:var(--luzmo-font-size);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-m);--luzmo-formula-control-height:calc(var(--luzmo-component-height) - 2 * var(--luzmo-spacing-1))}:host([size=s]){--luzmo-formula-font-size:var(--luzmo-font-size-s);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-s);--luzmo-formula-control-height:calc(var(--luzmo-component-height-s) - 2 * var(--luzmo-spacing-1))}:host([size=l]){--luzmo-formula-font-size:var(--luzmo-font-size-l);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-l);--luzmo-formula-control-height:calc(var(--luzmo-component-height-l) - 2 * var(--luzmo-spacing-1))}:host([size=xl]){--luzmo-formula-font-size:var(--luzmo-font-size-xl);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-xl);--luzmo-formula-control-height:calc(var(--luzmo-component-height-xl) - 2 * var(--luzmo-spacing-1))}`,d=class extends r.o{constructor(...e){super(...e),this.display=`rich`,this._groupingDataMap=i.n()}static{this.styles=(0,s.unsafeCSS)(u)}_createStore(){return new r.t}_shouldLoadInput(){return!1}_canEmitExpression(){return!1}_applyExternalExpression(){if(this.display===`text`){this._rootContent=``;return}this._store.clearWidgets(),this._rootContent=this._store.transformToAggregationWidgetSyntax(this.expression??``)}willUpdate(e){super.willUpdate(e),e.has(`display`)&&!e.has(`expression`)&&this._applyExternalExpression()}render(){return this.display===`text`?this._renderTextFormula():this._renderPillFormula()}_renderPillFormula(){return s.html`<span class="formula-pills" part="formula">${this._renderPillNodes(this._rootContent)}</span>`}_renderPillNodes(e){let t=[],n=new RegExp(r.h.source,`gm`),i=0,a;for(;(a=n.exec(e))!==null;){a.index>i&&t.push(this._renderOperatorText(e.slice(i,a.index)));let r=a[2],o=a[3];r?t.push(this._renderColumnPill(r)):o&&t.push(this._renderAggregationPill(o)),i=n.lastIndex}return i<e.length&&t.push(this._renderOperatorText(e.slice(i))),t}_renderOperatorText(e){return s.html`<span class="formula-operator">${e}</span>`}_renderColumnPill(e){let[t,n]=e.split(`:`),r=this._datasets.find(e=>e.id===t)?.columns.find(e=>e.columnId===n);if(this._store.loading&&!r){let e=(0,l.msg)(`Loading column`,{desc:`Accessible label for a column pill whose label is still loading`});return s.html`<span class="column-pill-wrapper"
|
|
21
|
-
><span class="column-pill" title=${e}
|
|
22
|
-
><span class="column-pill-loading">
|
|
23
|
-
<luzmo-progress-circle indeterminate size="s" .label=${e}></luzmo-progress-circle></span
|
|
24
|
-
></span
|
|
25
|
-
></span>`}let{icon:i,label:c}=a.t(r,this.contentLanguage,n);return s.html`<span class="column-pill-wrapper"
|
|
26
|
-
><span class="column-pill" title=${c}
|
|
27
|
-
><span class="column-pill-icon">${(0,o.luzmoIcon)(i)}</span
|
|
28
|
-
><span class="column-pill-label">${c}</span></span
|
|
29
|
-
></span>`}_renderAggregationPill(e){let t=this._store.getWidget(e);if(!t)return s.html`${s.nothing}`;let n=this._groupingDataMap[t.grouping],i=n?.color??``,a=this._store.aggregationFunctionDataMap[t.aggregationFunction]?.arity??0,c=n?.label()??``,l=t.grouping===r.g.GROUPINEX?(t.includedColumns?.length??0)+(t.excludedColumns?.length??0):0;return s.html`<span class="agg-pill" style=${i?`--agg-accent: ${i}`:``}>
|
|
30
|
-
<span class="agg-pill-row">
|
|
31
|
-
<span class="agg-fn">${t.aggregationFunction}</span>
|
|
32
|
-
${a>0?s.html`<span class="agg-value">${this._renderPillNodes(t.content)}</span>`:s.nothing}
|
|
33
|
-
<span
|
|
34
|
-
class="agg-grouping${a>0?``:` agg-grouping--no-value`}"
|
|
35
|
-
title=${c}
|
|
36
|
-
aria-label=${c}
|
|
37
|
-
>
|
|
38
|
-
${n?.icon?(0,o.luzmoIcon)(n.icon):s.nothing}
|
|
39
|
-
${l>0?s.html`<span class="agg-grouping-count">${l}</span>`:s.nothing}
|
|
40
|
-
</span>
|
|
41
|
-
</span>
|
|
42
|
-
</span>`}_renderTextFormula(){let e=this.expression??``,t=[],n=new RegExp(r.f.source,`g`),i=0,a;for(;(a=n.exec(e))!==null;){a.index>i&&t.push(e.slice(i,a.index));let[r,o]=a[1].split(`:`);t.push(this._renderColumnReference(r,o)),i=n.lastIndex}return i<e.length&&t.push(e.slice(i)),s.html`<span class="formula-text" part="formula-text">${t}</span>`}_renderColumnReference(e,r){let i=this._datasets.find(t=>t.id===e),a=i?.columns.find(e=>e.columnId===r),c=a?n.t(a.name,this.contentLanguage):r,l=i?n.t(i.name,this.contentLanguage):``;return s.html`<span class="formula-text-column" part="formula-text-column" title=${l?`${l} · ${c}`:c}>
|
|
43
|
-
<span class="formula-text-column-icon">${(0,o.luzmoIcon)(t.t({type:a?.type??`hierarchy`},`s`))}</span>
|
|
44
|
-
<span class="formula-text-column-name">${c}</span>
|
|
45
|
-
</span>`}};e.t([(0,c.property)({type:String,reflect:!0})],d.prototype,`display`,void 0),d=e.t([(0,l.localized)()],d),customElements.get(`luzmo-formula`)||customElements.define(`luzmo-formula`,d),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { type Completion } from '@codemirror/autocomplete';
|
|
2
|
-
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
|
-
import { LuzmoElement } from '../../utils/base';
|
|
4
|
-
import type { FormulaEditorStore } from '../../utils/formula/store/formula-editor-store';
|
|
5
|
-
import type { FormulaEditorDataset } from '../../types/formula.types';
|
|
6
|
-
import '@luzmo/lucero/progress-circle';
|
|
7
|
-
import './pills/formula-empty-argument-pill';
|
|
8
|
-
import './pills/formula-aggregation';
|
|
9
|
-
declare const LuzmoFormulaCodeMirror_base: (new (...args: any[]) => {
|
|
10
|
-
language: string;
|
|
11
|
-
}) & typeof LuzmoElement;
|
|
12
|
-
/**
|
|
13
|
-
* @customElement luzmo-formula-codemirror
|
|
14
|
-
* @description Internal CodeMirror-backed expression engine for the formula
|
|
15
|
-
* family. Renders columns, empty arguments and aggregation widgets as inline pills,
|
|
16
|
-
* supports drag-to-insert at the cursor and autocompletion. Used as the editing
|
|
17
|
-
* surface of `luzmo-formula-field` and `luzmo-formula-editor`, and inside nested
|
|
18
|
-
* aggregation widgets. Not part of the public API - prefer `luzmo-formula-field`
|
|
19
|
-
* / `luzmo-formula-editor`, which wire its store + autocompletion for you.
|
|
20
|
-
*
|
|
21
|
-
* @fires {CustomEvent<{ content: string }>} luzmo-input-content-changed - Fired when the editor content changes.
|
|
22
|
-
* @fires {CustomEvent<void>} luzmo-input-focused - Fired when the editor gains focus.
|
|
23
|
-
*/
|
|
24
|
-
export declare class LuzmoFormulaCodeMirror extends LuzmoFormulaCodeMirror_base {
|
|
25
|
-
static styles: import("lit").CSSResult;
|
|
26
|
-
/** The shared formula editor store. */
|
|
27
|
-
store?: FormulaEditorStore;
|
|
28
|
-
/** Id of the aggregation widget this input belongs to, or null for the root editor. */
|
|
29
|
-
aggregationWidgetId: string | null;
|
|
30
|
-
/** Datasets used to render column pills. */
|
|
31
|
-
datasets: FormulaEditorDataset[];
|
|
32
|
-
contentLanguage: string;
|
|
33
|
-
placeholder: string;
|
|
34
|
-
readonly: boolean;
|
|
35
|
-
singleLine: boolean;
|
|
36
|
-
hasError: boolean;
|
|
37
|
-
editorHeight?: string;
|
|
38
|
-
/** Number of text lines the input is sized to start with. Defaults to 3. */
|
|
39
|
-
rows: number;
|
|
40
|
-
/** Maximum number of text lines before a scrollbar appears (only when `grows`). */
|
|
41
|
-
maxRows?: number;
|
|
42
|
-
/** Whether the input grows in height with its content (up to `maxRows` if set). */
|
|
43
|
-
grows: boolean;
|
|
44
|
-
/** The autocompletion options to offer. */
|
|
45
|
-
autoCompletionList: Completion[];
|
|
46
|
-
private _view?;
|
|
47
|
-
private _pendingContent;
|
|
48
|
-
private readonly _themeCompartment;
|
|
49
|
-
private readonly _readonlyCompartment;
|
|
50
|
-
get content(): string;
|
|
51
|
-
/** Replaces the whole editor content. */
|
|
52
|
-
setContent(content: string): void;
|
|
53
|
-
focusEditor(): void;
|
|
54
|
-
/** Forces the inline pill decorations to be recomputed. */
|
|
55
|
-
refresh(): void;
|
|
56
|
-
disconnectedCallback(): void;
|
|
57
|
-
/** Rebuilds pill decorations when the store signals a refresh (e.g. loading state changed). */
|
|
58
|
-
private _handleStoreRefresh;
|
|
59
|
-
protected firstUpdated(_changedProperties: PropertyValues): void;
|
|
60
|
-
protected updated(changedProperties: PropertyValues): void;
|
|
61
|
-
/**
|
|
62
|
-
* Read-only extensions, kept in a compartment so toggling `readonly` after the
|
|
63
|
-
* view is created can reconfigure them. `readOnly` blocks edits but the view
|
|
64
|
-
* stays focusable and keeps painting a blinking caret; `editable.of(false)`
|
|
65
|
-
* also drops the caret (and the contenteditable), which is what a read-only
|
|
66
|
-
* rendering should show.
|
|
67
|
-
*/
|
|
68
|
-
private _readonlyExtensions;
|
|
69
|
-
private _buildDynamicTheme;
|
|
70
|
-
private _buildExtensions;
|
|
71
|
-
private _buildDecorations;
|
|
72
|
-
private _autoComplete;
|
|
73
|
-
private _cleanupDroppable;
|
|
74
|
-
private _attachDroppable;
|
|
75
|
-
private _canDrop;
|
|
76
|
-
private _handleDrop;
|
|
77
|
-
protected render(): TemplateResult;
|
|
78
|
-
}
|
|
79
|
-
export {};
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import '@luzmo/lucero/icon';
|
|
2
|
-
import '@luzmo/lucero/overlay';
|
|
3
|
-
import '@luzmo/lucero/popover';
|
|
4
|
-
import '@luzmo/lucero/select';
|
|
5
|
-
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
6
|
-
import { LuzmoElement } from '../../../../utils/base';
|
|
7
|
-
import type { FormulaEditorStore } from '../../../../utils/formula/store/formula-editor-store';
|
|
8
|
-
import { type AggregationWidgetConfig } from '../../../../types/formula.types';
|
|
9
|
-
declare const LuzmoFormulaAggregation_base: (new (...args: any[]) => {
|
|
10
|
-
language: string;
|
|
11
|
-
}) & typeof LuzmoElement;
|
|
12
|
-
/**
|
|
13
|
-
* @customElement luzmo-formula-aggregation
|
|
14
|
-
* @description A nested aggregation widget rendered inline inside the formula
|
|
15
|
-
* editor: an aggregation-function selector, a grouping-scope selector, a nested
|
|
16
|
-
* expression input and (for `GROUPINEX`) an include / exclude column panel.
|
|
17
|
-
*/
|
|
18
|
-
export declare class LuzmoFormulaAggregation extends LuzmoFormulaAggregation_base {
|
|
19
|
-
static styles: import("lit").CSSResult;
|
|
20
|
-
/** Configuration for this aggregation widget (set by the CodeMirror widget). */
|
|
21
|
-
config: AggregationWidgetConfig['data'];
|
|
22
|
-
/** The shared formula editor store (set by the CodeMirror widget). */
|
|
23
|
-
store?: FormulaEditorStore;
|
|
24
|
-
private _nestedCodeMirror?;
|
|
25
|
-
private _groupingOverlay?;
|
|
26
|
-
private _functionSelect?;
|
|
27
|
-
/** The element the focus/blur listeners are currently bound to, for clean teardown. */
|
|
28
|
-
private _functionFocusTarget?;
|
|
29
|
-
/**
|
|
30
|
-
* Explicit page override for the grouping popover. When `null` the page is
|
|
31
|
-
* derived from the current grouping (include/exclude scope -> the detail page,
|
|
32
|
-
* any other scope -> the scope chooser). Deriving the page - rather than
|
|
33
|
-
* resetting a stored page on open/close - keeps the (still hidden) popover on
|
|
34
|
-
* the correct page, so reopening a configured include/exclude pill no longer
|
|
35
|
-
* flashes the scope chooser for a frame.
|
|
36
|
-
*/
|
|
37
|
-
private _groupingPageOverride;
|
|
38
|
-
/** Autocompletion options offered while typing inside this aggregation's nested input. */
|
|
39
|
-
private _autoCompletionList;
|
|
40
|
-
/** Whether the CodeMirror-backed nested input module has finished loading. */
|
|
41
|
-
private _codeMirrorLoaded;
|
|
42
|
-
/**
|
|
43
|
-
* Whether the aggregation-function select currently holds keyboard-driven focus.
|
|
44
|
-
* The select's focusable button lives in its shadow DOM, so a pure CSS
|
|
45
|
-
* `:focus-visible` can't reach it from here; instead we read the browser's own
|
|
46
|
-
* `:focus-visible` verdict off the focused element so the focus ring only shows
|
|
47
|
-
* for keyboard users (not after a mouse switch).
|
|
48
|
-
*/
|
|
49
|
-
private _functionKeyboardFocus;
|
|
50
|
-
private readonly _groupingTriggerId;
|
|
51
|
-
private readonly _aggregationDataMap;
|
|
52
|
-
private readonly _groupingDataMap;
|
|
53
|
-
connectedCallback(): void;
|
|
54
|
-
disconnectedCallback(): void;
|
|
55
|
-
/**
|
|
56
|
-
* Binds the keyboard-focus tracking to the `.function-select` element (not the
|
|
57
|
-
* host). The select swallows the bubbling focusin/focusout, so we use the
|
|
58
|
-
* capturing focus/blur events; and they must be bound to `.function-select`
|
|
59
|
-
* rather than the host so focus moving *within* the pill (e.g. Shift+Tab from
|
|
60
|
-
* the nested value input into the select) still crosses into the listener's
|
|
61
|
-
* subtree and is detected. Idempotent and safe to call before first render.
|
|
62
|
-
*/
|
|
63
|
-
private _bindFunctionFocusListeners;
|
|
64
|
-
private _unbindFunctionFocusListeners;
|
|
65
|
-
private _handleFunctionFocus;
|
|
66
|
-
private _handleFunctionBlur;
|
|
67
|
-
private _handleWidgetsChanged;
|
|
68
|
-
/**
|
|
69
|
-
* Datasets reach the pill once (via `config.linkedDatasets`) when the widget
|
|
70
|
-
* is created. When the editor loads its datasets asynchronously the store is
|
|
71
|
-
* updated later, so this re-resolves the nested column labels and completions.
|
|
72
|
-
*/
|
|
73
|
-
private _handleDatasetsRefresh;
|
|
74
|
-
/** The datasets to use for the nested input: the freshly loaded store ones take precedence. */
|
|
75
|
-
private get _linkedDatasets();
|
|
76
|
-
private _recomputeAutoCompletion;
|
|
77
|
-
private get _widget();
|
|
78
|
-
/** The grouping popover page: an explicit override (e.g. after pressing back), else derived from the grouping scope. */
|
|
79
|
-
private get _groupingPage();
|
|
80
|
-
protected willUpdate(changedProperties: PropertyValues): void;
|
|
81
|
-
/** Lazily loads the CodeMirror-backed input used for this aggregation's nested expression. */
|
|
82
|
-
private _ensureCodeMirrorLoaded;
|
|
83
|
-
protected firstUpdated(): void;
|
|
84
|
-
protected updated(_changedProperties: PropertyValues): void;
|
|
85
|
-
/**
|
|
86
|
-
* When this pill was just created via a list insert / autocomplete, move the
|
|
87
|
-
* cursor into its nested input so the user can immediately keep typing.
|
|
88
|
-
*/
|
|
89
|
-
private _focusNestedIfPending;
|
|
90
|
-
private _updateWidget;
|
|
91
|
-
private _handleFunctionChange;
|
|
92
|
-
private _handleGroupingOptionClick;
|
|
93
|
-
private _handleGroupingBack;
|
|
94
|
-
private _handleGroupingMenuOpened;
|
|
95
|
-
private _handleGroupingMenuClosed;
|
|
96
|
-
/**
|
|
97
|
-
* Dismiss the grouping overlay on an outside pointerdown.
|
|
98
|
-
*
|
|
99
|
-
* The overlay is a `type="manual"` popover (see render) so the browser's native
|
|
100
|
-
* Popover-API light-dismiss never collapses it when a nested include / exclude
|
|
101
|
-
* select opens its own `auto` popover - the bug this works around. Manual
|
|
102
|
-
* overlays also opt out of the overlay stack's outside-pointer dismissal, so we
|
|
103
|
-
* reinstate it here. Clicks inside the popover - which include the DOM-nested
|
|
104
|
-
* include / exclude selects and their dropdowns - keep it open; a pointerdown on
|
|
105
|
-
* the trigger closes it (the click controller suppresses its own toggle while
|
|
106
|
-
* the overlay is already open). Escape still closes it through the stack's
|
|
107
|
-
* keydown handler, which does dismiss manual overlays.
|
|
108
|
-
*/
|
|
109
|
-
private _handleDocumentPointerdown;
|
|
110
|
-
/**
|
|
111
|
-
* Whether a pointerdown landed inside the grouping popover content. The popover
|
|
112
|
-
* content is promoted to the top layer (native popover) but stays in the DOM
|
|
113
|
-
* tree, so we match the popover / panel by class along the composed path:
|
|
114
|
-
* after a nested select opens (and re-renders) an element reference can stop
|
|
115
|
-
* resolving, but the elements are still present in the click's composed path.
|
|
116
|
-
*/
|
|
117
|
-
private _isPointerInsidePopover;
|
|
118
|
-
private _closeGroupingMenu;
|
|
119
|
-
private _handleNestedContentChanged;
|
|
120
|
-
private _handleIncludeExcludeChange;
|
|
121
|
-
private _renderGroupingTypesPage;
|
|
122
|
-
private _renderIncludeExcludePage;
|
|
123
|
-
protected render(): TemplateResult;
|
|
124
|
-
}
|
|
125
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
-
import { LuzmoElement } from '../../../../utils/base';
|
|
3
|
-
import type { FormulaEditorStore } from '../../../../utils/formula/store/formula-editor-store';
|
|
4
|
-
declare const LuzmoFormulaEmptyArgumentPill_base: (new (...args: any[]) => {
|
|
5
|
-
language: string;
|
|
6
|
-
}) & typeof LuzmoElement;
|
|
7
|
-
/**
|
|
8
|
-
* @customElement luzmo-formula-empty-argument-pill
|
|
9
|
-
* @description An empty argument rendered inline inside the formula editor. Accepts
|
|
10
|
-
* dropped columns / functions / aggregations and lets the user type a literal value.
|
|
11
|
-
*/
|
|
12
|
-
export declare class LuzmoFormulaEmptyArgumentPill extends LuzmoFormulaEmptyArgumentPill_base {
|
|
13
|
-
static styles: import("lit").CSSResult;
|
|
14
|
-
emptyArgumentId: string;
|
|
15
|
-
parentAggregationWidgetId: string | null;
|
|
16
|
-
store?: FormulaEditorStore;
|
|
17
|
-
private _cleanupDroppable;
|
|
18
|
-
connectedCallback(): void;
|
|
19
|
-
disconnectedCallback(): void;
|
|
20
|
-
protected firstUpdated(_changedProperties: PropertyValues): void;
|
|
21
|
-
private _attachDroppable;
|
|
22
|
-
private _canDrop;
|
|
23
|
-
private _handleDrop;
|
|
24
|
-
private _handleFocus;
|
|
25
|
-
private _handleInput;
|
|
26
|
-
protected render(): TemplateResult;
|
|
27
|
-
}
|
|
28
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { LuzmoFormulaEmptyArgumentPill } from './formula-empty-argument-pill';
|
|
2
|
-
declare global {
|
|
3
|
-
interface HTMLElementTagNameMap {
|
|
4
|
-
'luzmo-formula-empty-argument-pill': LuzmoFormulaEmptyArgumentPill;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export { LuzmoFormulaEmptyArgumentPill } from './formula-empty-argument-pill';
|