@luzmo/analytics-components-kit 1.0.8-beta.1 → 1.0.8-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.js +2 -2
- package/components/{ai-chat-Bo0ELL9Z.cjs → ai-chat-D1Rzwdxy.cjs} +1 -1
- package/components/{ai-chat-hOxsY5sO.js → ai-chat-Dy_utMXO.js} +1 -1
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/{ai-interaction-textarea-DvILxmFe.cjs → ai-interaction-textarea-CJO50_1F.cjs} +1 -1
- package/components/{ai-interaction-textarea-r77TFOk6.js → ai-interaction-textarea-DMT8RNUP.js} +2 -2
- package/components/{area-chart-positioning.config-BqKl3pFu.cjs → area-chart-positioning.config-BstzDLRL.cjs} +1 -1
- package/components/{area-chart-positioning.config-Br2P8CiM.js → area-chart-positioning.config-DeMlkQZO.js} +1 -1
- package/components/{bar-chart-positioning.config-BIIRV0eK.js → bar-chart-positioning.config-Cw4xXpaU.js} +1 -1
- package/components/{bar-chart-positioning.config-CuZ6-d9P.cjs → bar-chart-positioning.config-DDKGGZhU.cjs} +1 -1
- package/components/{base-store-DmDe0dTU.js → base-store-BhGpnbqi.js} +0 -8
- package/components/{base-store-DHC2m2Os.cjs → base-store-D5cDq6d4.cjs} +1 -1
- package/components/{box-plot-positioning.config-AHLRC1d-.js → box-plot-positioning.config-BQf8CX15.js} +1 -1
- package/components/{box-plot-positioning.config-DAYgLURB.cjs → box-plot-positioning.config-Cni8SYCB.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-0rqhisQ0.cjs → bubble-chart-positioning.config-1Q2GxFJ4.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-55OuqSo_.js → bubble-chart-positioning.config-BYeXJRKW.js} +1 -1
- package/components/{bullet-chart-positioning.config-CIkbLbi3.js → bullet-chart-positioning.config-D-fuuO8D.js} +1 -1
- package/components/{bullet-chart-positioning.config-COKnJxPm.cjs → bullet-chart-positioning.config-NSHvsWAf.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-C9QGy6XL.js → choropleth-map-positioning.config-Bk2lcbUF.js} +1 -1
- package/components/{choropleth-map-positioning.config-0EBrFMj-.cjs → choropleth-map-positioning.config-DZCuGwit.cjs} +1 -1
- package/components/{circle-pack-chart-positioning.config-BtQ9KsU9.cjs → circle-pack-chart-positioning.config-CuESD4oH.cjs} +1 -1
- package/components/{circle-pack-chart-positioning.config-vl4eZHhs.js → circle-pack-chart-positioning.config-pvlFSoeh.js} +1 -1
- package/components/{circular-gauge-positioning.config-B-65zgBL.js → circular-gauge-positioning.config-BI5_9VzK.js} +1 -1
- package/components/{circular-gauge-positioning.config-BjDwC0zc.cjs → circular-gauge-positioning.config-DIYxTFVO.cjs} +1 -1
- package/components/{column-chart-positioning.config-CDISLkz9.js → column-chart-positioning.config-CoekgrWc.js} +1 -1
- package/components/{column-chart-positioning.config-hIAFqQkL.cjs → column-chart-positioning.config-F5liDplz.cjs} +1 -1
- package/components/{combination-chart-positioning.config-CFo18WDh.cjs → combination-chart-positioning.config-BIqhiqPc.cjs} +1 -1
- package/components/{combination-chart-positioning.config-C0immu_Z.js → combination-chart-positioning.config-gfmXofUL.js} +1 -1
- package/components/{conditional-number-positioning.config-Bw0gHZ2o.cjs → conditional-number-positioning.config-7xN8yNaC.cjs} +1 -1
- package/components/{conditional-number-positioning.config-BfOZxdI3.js → conditional-number-positioning.config-DoA_qMvA.js} +1 -1
- package/components/{data-broker-Bdv5V8Yp.js → data-broker-B0uUO5er.js} +4 -0
- package/components/{data-broker-DWEXs6-2.cjs → data-broker-CyMYR6w1.cjs} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-bka3sr4V.cjs → data-field-panel-B9aYsBfe.cjs} +1 -1
- package/components/{data-field-panel-Y8MKxsTL.js → data-field-panel-COHppDw6.js} +2 -2
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/data-fields-select-BMDWXAMz.cjs +41 -0
- package/components/{data-fields-select-2P9sGs_9.js → data-fields-select-CvdABHum.js} +1 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/{dataset-selector-list-DhiiMGU8.cjs → dataset-selector-list-CekhYtbU.cjs} +1 -1
- package/components/{dataset-selector-list-qeYvQkeD.js → dataset-selector-list-yU9o-gBK.js} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/{dataset-selector-row-Cau2IKg2.cjs → dataset-selector-row-Cte3skmf.cjs} +1 -1
- package/components/{dataset-selector-row-C8_Hnlp5.js → dataset-selector-row-eb2fUxMB.js} +1 -1
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/{display-settings-C088VTeJ.cjs → display-settings-B_sY5MXH.cjs} +1 -1
- package/components/{display-settings-BShiJjYL.js → display-settings-DpPSk_da.js} +1 -1
- package/components/{donut-chart-positioning.config-BPY9_d1a.js → donut-chart-positioning.config-B-CWvQDP.js} +1 -1
- package/components/{donut-chart-positioning.config-D1CzQ5Xn.cjs → donut-chart-positioning.config-DsHR-HET.cjs} +1 -1
- package/components/{evolution-number-positioning.config-DLO4M9Cs.cjs → evolution-number-positioning.config-DWJlecZ8.cjs} +1 -1
- package/components/{evolution-number-positioning.config-Cylb9kiq.js → evolution-number-positioning.config-DogBtixy.js} +1 -1
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/{filter-expression-picker-CGgLtygy.cjs → filter-expression-picker-Dtd04YHa.cjs} +1 -1
- package/components/{filter-expression-picker-DC_fSNw3.js → filter-expression-picker-vZcmpdhp.js} +1 -1
- package/components/filter-item/filter-item.d.ts +4 -0
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +1 -1
- package/components/{filter-item-xi4ViBw6.js → filter-item-DhWm1nZ2.js} +26 -11
- package/components/filter-item-QGXrunyl.cjs +71 -0
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/{filter-value-picker-CaMy7sgw.js → filter-value-picker-DL-XI9zN.js} +3 -3
- package/components/{filter-value-picker-BhZ1btu2.cjs → filter-value-picker-DUPgUphE.cjs} +1 -1
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +2 -1
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +1 -1
- package/components/{filter-value-picker-datetime-DeXo9m9J.cjs → filter-value-picker-datetime-BYosmOVo.cjs} +1 -1
- package/components/{filter-value-picker-datetime-swmPuya2.js → filter-value-picker-datetime-DrtBsmhk.js} +1 -1
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +16 -0
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +1 -1
- package/components/filter-value-picker-hierarchy-Co7tEAF0.cjs +48 -0
- package/components/{filter-value-picker-hierarchy-CUrCfFBg.js → filter-value-picker-hierarchy-D9HPNjXi.js} +119 -52
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +1 -1
- package/components/{filter-value-picker-numeric-LHFsFwHY.cjs → filter-value-picker-numeric-BCaSriJT.cjs} +1 -1
- package/components/{filter-value-picker-numeric-_7THOfQ3.js → filter-value-picker-numeric-CLRBOcom.js} +2 -2
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +1 -1
- package/components/filters-DPh6G5_6.cjs +153 -0
- package/components/{filters-CGlwSB1c.js → filters-hIID3Ol5.js} +172 -169
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/{formula-Cs6dyuWv.js → formula-D6fZk242.js} +2 -2
- package/components/{formula-fK-POHy0.cjs → formula-DJa0m0vt.cjs} +1 -1
- package/components/{formula-codemirror-DQjUbRXS.js → formula-codemirror-CS38irmY.js} +2 -2
- package/components/{formula-codemirror-DWNgYsVG.cjs → formula-codemirror-ClMjdWte.cjs} +1 -1
- package/components/{formula-display-store-B7NE3yk2.js → formula-display-store-BVCcrqMB.js} +2 -2
- package/components/{formula-display-store-CIaihdJt.cjs → formula-display-store-riWDbPmO.cjs} +1 -1
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +3 -3
- package/components/{formula-editor-RrAmSugR.js → formula-editor-C63ifj9i.js} +4 -4
- package/components/{formula-editor-DHau0kyj.cjs → formula-editor-KuJjGn6h.cjs} +1 -1
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +1 -1
- package/components/{formula-field-YNbqmroG.cjs → formula-field-BIseRR26.cjs} +1 -1
- package/components/{formula-field-BU-tU8RC.js → formula-field-CZu-WBKI.js} +1 -1
- package/components/{formula-input-base-DbJu89ug.cjs → formula-input-base-B1D56Klw.cjs} +1 -1
- package/components/{formula-input-base-BL7QCVYc.js → formula-input-base-DhhV4mbQ.js} +1 -1
- package/components/{funnel-chart-positioning.config-si2pX2gx.js → funnel-chart-positioning.config-D7871iXX.js} +1 -1
- package/components/{funnel-chart-positioning.config-BBNWT_VE.cjs → funnel-chart-positioning.config-DswPJ8VG.cjs} +1 -1
- package/components/{groupings-Xmt8wNT9.js → groupings-BwzDflId.js} +1 -1
- package/components/{groupings-4QHaRJAm.cjs → groupings-Dt2yC9fH.cjs} +1 -1
- package/components/{heat-map-positioning.config-DI5FunDJ.cjs → heat-map-positioning.config-C9xyxr1p.cjs} +1 -1
- package/components/{heat-map-positioning.config-DOlrArXK.js → heat-map-positioning.config-sZTsAUnf.js} +1 -1
- package/components/{heat-table-positioning.config-iu4AP8qY.cjs → heat-table-positioning.config-B5XgRMIn.cjs} +1 -1
- package/components/{heat-table-positioning.config-COaenQ4o.js → heat-table-positioning.config-DSsD8apM.js} +1 -1
- package/components/{hexbin-map-positioning.config-BhuH9uzL.js → hexbin-map-positioning.config-Dc9wAdAv.js} +1 -1
- package/components/{marker-map-positioning.config-Bt-iQQTT.cjs → hexbin-map-positioning.config-Dq2TuFz1.cjs} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +38 -38
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/{interactive-viz-item-Ckksv6BC.cjs → interactive-viz-item-Bn9IhEvD.cjs} +1 -1
- package/components/{interactive-viz-item-diknEJmH.js → interactive-viz-item-CXHq9Csp.js} +3 -3
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/{item-grid-Dv_KLkHv.cjs → item-grid-B8tT6ztQ.cjs} +2 -2
- package/components/{item-grid-BxeW2lFX.js → item-grid-D7b0blK6.js} +47 -47
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-n8o2amMX.js → item-option-Dc4GNRMW.js} +120 -126
- package/components/item-option-dwknAAj9.cjs +269 -0
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-h1z2MCbr.js → item-option-panel-DIU-3auc.js} +1 -1
- package/components/{item-option-panel-m9BDbDRw.cjs → item-option-panel-Dv6v7RzM.cjs} +1 -1
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/{item-slot-drop-iXidsCW1.js → item-slot-drop-BL7DOudd.js} +12 -12
- package/components/{item-slot-drop-CViqm_N2.cjs → item-slot-drop-Ds06u_vn.cjs} +1 -1
- 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-BjOPdyYH.cjs → item-slot-drop-panel-D_EFyM9J.cjs} +1 -1
- package/components/{item-slot-drop-panel-DwNCcxm1.js → item-slot-drop-panel-DkHylw7i.js} +37 -37
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/{item-slot-picker-D8e1NtDd.cjs → item-slot-picker-BbpPIoIq.cjs} +3 -3
- package/components/{item-slot-picker-DpnpGTvR.js → item-slot-picker-CywUgvNX.js} +15 -15
- 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-l53YLi4e.js → item-slot-picker-panel-Bi8xZaYc.js} +2 -2
- package/components/{item-slot-picker-panel-DyP6Uls5.cjs → item-slot-picker-panel-DQLwQXdI.cjs} +1 -1
- package/components/{line-chart-positioning.config-BAt_nsVA.cjs → line-chart-positioning.config-CCsZMpp-.cjs} +1 -1
- package/components/{line-chart-positioning.config-A4TQKtrY.js → line-chart-positioning.config-q_XJiQBO.js} +1 -1
- package/components/{load-data-fields-for-datasets-BNnr8x3m.js → load-data-fields-for-datasets-B3XcFFfg.js} +1 -1
- package/components/{load-data-fields-for-datasets-CW4Voiex.cjs → load-data-fields-for-datasets-rL24A68g.cjs} +1 -1
- package/components/{hexbin-map-positioning.config-CZGNbr60.cjs → marker-map-positioning.config-B4GDDPUn.cjs} +1 -1
- package/components/{marker-map-positioning.config-B-EQ3Kdq.js → marker-map-positioning.config-qEo6YbOG.js} +1 -1
- package/components/{ohlc-chart-positioning.config-Shmm9MJf.js → ohlc-chart-positioning.config-CU7qaa8y.js} +1 -1
- package/components/{ohlc-chart-positioning.config-COj7yt6H.cjs → ohlc-chart-positioning.config-TquTA1gZ.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-ClvpDIFu.cjs → parallel-coordinates-plot-positioning.config-C8_F3uzs.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-C05rBaKD.js → parallel-coordinates-plot-positioning.config-DuQWnPKv.js} +1 -1
- package/components/{pivot-table-positioning.config-BGlPvMyz.js → pivot-table-positioning.config-B6ra1dbJ.js} +1 -1
- package/components/{pivot-table-positioning.config-CDJ5gAfT.cjs → pivot-table-positioning.config-DhtDGn-Z.cjs} +1 -1
- package/components/{pyramid-chart-positioning.config-DvhVY2uQ.cjs → pyramid-chart-positioning.config-5bWhJBP_.cjs} +1 -1
- package/components/{pyramid-chart-positioning.config-BcqgH441.js → pyramid-chart-positioning.config-C_KASxlG.js} +1 -1
- package/components/{radar-chart-positioning.config-COMI8Da1.cjs → radar-chart-positioning.config-D2NVgsg1.cjs} +1 -1
- package/components/{radar-chart-positioning.config-C9tXOa0G.js → radar-chart-positioning.config-l6ioKbxT.js} +1 -1
- package/components/{route-map-positioning.config-Bi8-Dmc4.cjs → route-map-positioning.config-5Xju6VM-.cjs} +1 -1
- package/components/{route-map-positioning.config-BUIlsZig.js → route-map-positioning.config-HDuhd3TI.js} +1 -1
- package/components/{sankey-diagram-positioning.config-DUAsNKP9.js → sankey-diagram-positioning.config-BKeksOQ2.js} +1 -1
- package/components/{sankey-diagram-positioning.config-DgZpfj7d.cjs → sankey-diagram-positioning.config-BXseVUED.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-8c9ToDBN.cjs → scatter-plot-positioning.config-Ci_UFZZ7.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-D6dyNojk.js → scatter-plot-positioning.config-MFGPELRh.js} +1 -1
- package/components/set-nested-value-B-4IelRl.cjs +20 -0
- package/components/set-nested-value-V1TdquO3.js +33 -0
- package/components/{slicer-filter-positioning.config-CqPOeeeg.cjs → slicer-filter-positioning.config-C2w10p-X.cjs} +1 -1
- package/components/{slicer-filter-positioning.config-BnxE_Ac2.js → slicer-filter-positioning.config-CKyzt_nF.js} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/slot-menu-7Lsnn5mp.cjs +71 -0
- package/components/{slot-menu-BsaFfMfl.js → slot-menu-JcmVjv2g.js} +15 -12
- package/components/{speedometer-chart-positioning.config-B6ydcNl1.js → speedometer-chart-positioning.config-BEWibjyH.js} +1 -1
- package/components/{speedometer-chart-positioning.config-CWVs9wdL.cjs → speedometer-chart-positioning.config-Df5CIOwp.cjs} +1 -1
- package/components/{spike-map-positioning.config-CzTPhLvN.cjs → spike-map-positioning.config-C6aRn7nn.cjs} +1 -1
- package/components/{spike-map-positioning.config-BUDKv3D-.js → spike-map-positioning.config-CdT1dVMG.js} +1 -1
- package/components/{strip-plot-positioning.config-d8qB2u-P.js → strip-plot-positioning.config-B8vN0A44.js} +1 -1
- package/components/{strip-plot-positioning.config-C6-0AgIF.cjs → strip-plot-positioning.config-DXJci5zk.cjs} +1 -1
- package/components/{sunburst-chart-positioning.config-DcYT58kl.js → sunburst-chart-positioning.config-D-qWT3sC.js} +1 -1
- package/components/{sunburst-chart-positioning.config-D_APT9mf.cjs → sunburst-chart-positioning.config-XfxGkqp6.cjs} +1 -1
- package/components/{symbol-map-positioning.config-CWkkURYU.cjs → symbol-map-positioning.config-BB8-Feba.cjs} +1 -1
- package/components/{symbol-map-positioning.config-D12TczYa.js → symbol-map-positioning.config-CAC8XCec.js} +1 -1
- package/components/{treemap-chart-positioning.config-BmxLpNn2.js → treemap-chart-positioning.config-CJKe5rf1.js} +1 -1
- package/components/{treemap-chart-positioning.config-BS-BO3sD.cjs → treemap-chart-positioning.config-Daf9Kk3k.cjs} +1 -1
- package/components/utils/store.cjs +1 -1
- package/components/utils/store.js +59 -58
- package/components/{utils-DUeh8VMp.js → utils-BMmRy1Nn.js} +1 -1
- package/components/{utils-pKA3Rwn3.cjs → utils-D9CBsoMV.cjs} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +2 -2
- package/components/{venn-diagram-positioning.config-B-4Uoe_o.js → venn-diagram-positioning.config-8pfbiReM.js} +1 -1
- package/components/{venn-diagram-positioning.config-D4Zhdh2X.cjs → venn-diagram-positioning.config-DqxSgLGR.cjs} +1 -1
- package/components/{wordcloud-chart-positioning.config-DTEauH2w.cjs → wordcloud-chart-positioning.config-Cb7lzr9N.cjs} +1 -1
- package/components/{wordcloud-chart-positioning.config-Cr9lzAHP.js → wordcloud-chart-positioning.config-DUazjx5M.js} +1 -1
- package/custom-elements.json +21 -1
- package/package.json +2 -2
- package/react/package.json +2 -2
- package/utils/data-broker/index.d.ts +20 -14
- package/utils/set-nested-value.d.ts +6 -0
- package/utils/store/base-store.d.ts +0 -4
- package/angular/README.md +0 -40
- package/angular/components/ai-chat-empty-state.ts +0 -98
- package/angular/components/ai-chat.ts +0 -412
- package/angular/components/ai-interaction-textarea.ts +0 -263
- package/angular/components/data-field-level.ts +0 -130
- package/angular/components/data-field-panel.ts +0 -256
- package/angular/components/data-field.ts +0 -130
- package/angular/components/data-fields-select.ts +0 -212
- package/angular/components/dataset-icon.ts +0 -83
- package/angular/components/dataset-selector-list.ts +0 -140
- package/angular/components/dataset-selector-row.ts +0 -157
- package/angular/components/display-settings-binning.ts +0 -92
- package/angular/components/display-settings-datetime.ts +0 -100
- package/angular/components/display-settings-grand-totals.ts +0 -92
- package/angular/components/display-settings-numeric.ts +0 -113
- package/angular/components/display-settings-period-over-period.ts +0 -107
- package/angular/components/display-settings.ts +0 -227
- package/angular/components/filter-expression-picker.ts +0 -168
- package/angular/components/filter-item.ts +0 -175
- package/angular/components/filter-parameter-picker.ts +0 -155
- package/angular/components/filter-value-picker-datetime.ts +0 -125
- package/angular/components/filter-value-picker-hierarchy.ts +0 -146
- package/angular/components/filter-value-picker-numeric.ts +0 -146
- package/angular/components/filter-value-picker.ts +0 -160
- package/angular/components/filters.ts +0 -209
- package/angular/components/formula-editor.ts +0 -229
- package/angular/components/formula-field.ts +0 -198
- package/angular/components/formula.ts +0 -170
- package/angular/components/interactive-viz-item.ts +0 -186
- package/angular/components/item-grid-item-actions-menu.ts +0 -113
- package/angular/components/item-grid.ts +0 -242
- package/angular/components/item-option-action-button-group.ts +0 -105
- package/angular/components/item-option-color-palette-picker.ts +0 -126
- package/angular/components/item-option-color-picker.ts +0 -134
- package/angular/components/item-option-color-range.ts +0 -168
- package/angular/components/item-option-guidelines.ts +0 -84
- package/angular/components/item-option-multi-language-field.ts +0 -133
- package/angular/components/item-option-number-field.ts +0 -161
- package/angular/components/item-option-panel.ts +0 -149
- package/angular/components/item-option-picker.ts +0 -120
- package/angular/components/item-option-position-picker.ts +0 -98
- package/angular/components/item-option-positions-number-field.ts +0 -140
- package/angular/components/item-option-radio-button-group.ts +0 -119
- package/angular/components/item-option-slider.ts +0 -126
- package/angular/components/item-option-switch.ts +0 -98
- package/angular/components/item-option-text-field.ts +0 -112
- package/angular/components/item-option.ts +0 -163
- package/angular/components/item-slot-drop-panel.ts +0 -236
- package/angular/components/item-slot-drop.ts +0 -231
- package/angular/components/item-slot-picker-panel.ts +0 -299
- package/angular/components/item-slot-picker.ts +0 -241
- package/angular/components/slot-menu-list.ts +0 -121
- package/angular/components/slot-menu.ts +0 -304
- package/angular/components/viz-item-menu.ts +0 -118
- package/angular/esm/components/ai-chat-empty-state.d.ts +0 -39
- package/angular/esm/components/ai-chat-empty-state.js +0 -99
- package/angular/esm/components/ai-chat.d.ts +0 -137
- package/angular/esm/components/ai-chat.js +0 -423
- package/angular/esm/components/ai-interaction-textarea.d.ts +0 -99
- package/angular/esm/components/ai-interaction-textarea.js +0 -281
- package/angular/esm/components/data-field-level.d.ts +0 -50
- package/angular/esm/components/data-field-level.js +0 -129
- package/angular/esm/components/data-field-panel.d.ts +0 -86
- package/angular/esm/components/data-field-panel.js +0 -268
- package/angular/esm/components/data-field.d.ts +0 -50
- package/angular/esm/components/data-field.js +0 -129
- package/angular/esm/components/data-fields-select.d.ts +0 -81
- package/angular/esm/components/data-fields-select.js +0 -227
- package/angular/esm/components/dataset-icon.d.ts +0 -34
- package/angular/esm/components/dataset-icon.js +0 -86
- package/angular/esm/components/dataset-selector-list.d.ts +0 -53
- package/angular/esm/components/dataset-selector-list.js +0 -147
- package/angular/esm/components/dataset-selector-row.d.ts +0 -58
- package/angular/esm/components/dataset-selector-row.js +0 -161
- package/angular/esm/components/display-settings-binning.d.ts +0 -37
- package/angular/esm/components/display-settings-binning.js +0 -91
- package/angular/esm/components/display-settings-datetime.d.ts +0 -40
- package/angular/esm/components/display-settings-datetime.js +0 -99
- package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
- package/angular/esm/components/display-settings-grand-totals.js +0 -91
- package/angular/esm/components/display-settings-numeric.d.ts +0 -45
- package/angular/esm/components/display-settings-numeric.js +0 -115
- package/angular/esm/components/display-settings-period-over-period.d.ts +0 -44
- package/angular/esm/components/display-settings-period-over-period.js +0 -107
- package/angular/esm/components/display-settings.d.ts +0 -83
- package/angular/esm/components/display-settings.js +0 -231
- package/angular/esm/components/filter-expression-picker.d.ts +0 -64
- package/angular/esm/components/filter-expression-picker.js +0 -179
- package/angular/esm/components/filter-item.d.ts +0 -63
- package/angular/esm/components/filter-item.js +0 -187
- package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
- package/angular/esm/components/filter-parameter-picker.js +0 -151
- package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
- package/angular/esm/components/filter-value-picker-datetime.js +0 -131
- package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
- package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
- package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
- package/angular/esm/components/filter-value-picker-numeric.js +0 -155
- package/angular/esm/components/filter-value-picker.d.ts +0 -57
- package/angular/esm/components/filter-value-picker.js +0 -171
- package/angular/esm/components/filters.d.ts +0 -75
- package/angular/esm/components/filters.js +0 -215
- package/angular/esm/components/formula-editor.d.ts +0 -78
- package/angular/esm/components/formula-editor.js +0 -236
- package/angular/esm/components/formula-field.d.ts +0 -70
- package/angular/esm/components/formula-field.js +0 -209
- package/angular/esm/components/formula.d.ts +0 -60
- package/angular/esm/components/formula.js +0 -177
- package/angular/esm/components/interactive-viz-item.d.ts +0 -63
- package/angular/esm/components/interactive-viz-item.js +0 -188
- package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
- package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
- package/angular/esm/components/item-grid.d.ts +0 -80
- package/angular/esm/components/item-grid.js +0 -245
- package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
- package/angular/esm/components/item-option-action-button-group.js +0 -107
- package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
- package/angular/esm/components/item-option-color-palette-picker.js +0 -131
- package/angular/esm/components/item-option-color-picker.d.ts +0 -51
- package/angular/esm/components/item-option-color-picker.js +0 -139
- package/angular/esm/components/item-option-color-range.d.ts +0 -66
- package/angular/esm/components/item-option-color-range.js +0 -179
- package/angular/esm/components/item-option-guidelines.d.ts +0 -34
- package/angular/esm/components/item-option-guidelines.js +0 -83
- package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
- package/angular/esm/components/item-option-multi-language-field.js +0 -139
- package/angular/esm/components/item-option-number-field.d.ts +0 -58
- package/angular/esm/components/item-option-number-field.js +0 -171
- package/angular/esm/components/item-option-panel.d.ts +0 -54
- package/angular/esm/components/item-option-panel.js +0 -155
- package/angular/esm/components/item-option-picker.d.ts +0 -46
- package/angular/esm/components/item-option-picker.js +0 -123
- package/angular/esm/components/item-option-position-picker.d.ts +0 -39
- package/angular/esm/components/item-option-position-picker.js +0 -99
- package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
- package/angular/esm/components/item-option-positions-number-field.js +0 -147
- package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
- package/angular/esm/components/item-option-radio-button-group.js +0 -123
- package/angular/esm/components/item-option-slider.d.ts +0 -46
- package/angular/esm/components/item-option-slider.js +0 -131
- package/angular/esm/components/item-option-switch.d.ts +0 -40
- package/angular/esm/components/item-option-switch.js +0 -99
- package/angular/esm/components/item-option-text-field.d.ts +0 -44
- package/angular/esm/components/item-option-text-field.js +0 -115
- package/angular/esm/components/item-option.d.ts +0 -58
- package/angular/esm/components/item-option.js +0 -171
- package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
- package/angular/esm/components/item-slot-drop-panel.js +0 -249
- package/angular/esm/components/item-slot-drop.d.ts +0 -77
- package/angular/esm/components/item-slot-drop.js +0 -227
- package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
- package/angular/esm/components/item-slot-picker-panel.js +0 -309
- package/angular/esm/components/item-slot-picker.d.ts +0 -86
- package/angular/esm/components/item-slot-picker.js +0 -259
- package/angular/esm/components/slot-menu-list.d.ts +0 -46
- package/angular/esm/components/slot-menu-list.js +0 -123
- package/angular/esm/components/slot-menu.d.ts +0 -104
- package/angular/esm/components/slot-menu.js +0 -300
- package/angular/esm/components/viz-item-menu.d.ts +0 -42
- package/angular/esm/components/viz-item-menu.js +0 -111
- package/angular/esm/index.d.ts +0 -109
- package/angular/esm/index.js +0 -217
- package/angular/index.ts +0 -223
- package/angular/package.json +0 -40
- package/angular/tsconfig.json +0 -36
- package/angular/type-fallbacks.d.ts +0 -0
- package/angular/utils/ai-prompt/attachments.d.ts +0 -10
- package/angular/utils/ai-prompt/dictation.d.ts +0 -50
- package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
- package/angular/utils/ai-prompt/index.d.ts +0 -6
- package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
- package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
- package/angular/utils/base/base.d.ts +0 -16
- package/angular/utils/base/focus-visible.d.ts +0 -29
- package/angular/utils/base/focusable.d.ts +0 -58
- package/angular/utils/base/index.d.ts +0 -5
- package/angular/utils/base/localized-mixin.d.ts +0 -22
- package/angular/utils/base/sized-mixin.d.ts +0 -17
- package/angular/utils/color/color-palettes.d.ts +0 -17
- package/angular/utils/color/extrapolate-color.d.ts +0 -1
- package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
- package/angular/utils/data-broker/index.d.ts +0 -257
- package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
- package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
- package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
- package/angular/utils/drag/draggable.d.ts +0 -13
- package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
- package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
- package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
- package/angular/utils/filters/expressions.d.ts +0 -15
- package/angular/utils/filters/index.d.ts +0 -1
- package/angular/utils/formatter/calculate-duration.d.ts +0 -2
- package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
- package/angular/utils/formatter/default-local-formats.d.ts +0 -20
- package/angular/utils/formatter/formats/cs.d.ts +0 -20
- package/angular/utils/formatter/formats/da.d.ts +0 -20
- package/angular/utils/formatter/formats/de.d.ts +0 -21
- package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
- package/angular/utils/formatter/formats/en-US.d.ts +0 -1
- package/angular/utils/formatter/formats/en.d.ts +0 -1
- package/angular/utils/formatter/formats/es.d.ts +0 -54
- package/angular/utils/formatter/formats/fi.d.ts +0 -20
- package/angular/utils/formatter/formats/fr.d.ts +0 -54
- package/angular/utils/formatter/formats/he.d.ts +0 -20
- package/angular/utils/formatter/formats/hu.d.ts +0 -20
- package/angular/utils/formatter/formats/it.d.ts +0 -54
- package/angular/utils/formatter/formats/ja.d.ts +0 -20
- package/angular/utils/formatter/formats/ko.d.ts +0 -20
- package/angular/utils/formatter/formats/mk.d.ts +0 -20
- package/angular/utils/formatter/formats/nl.d.ts +0 -21
- package/angular/utils/formatter/formats/no.d.ts +0 -21
- package/angular/utils/formatter/formats/pl.d.ts +0 -20
- package/angular/utils/formatter/formats/pt.d.ts +0 -20
- package/angular/utils/formatter/formats/ru.d.ts +0 -20
- package/angular/utils/formatter/formats/sv.d.ts +0 -20
- package/angular/utils/formatter/formats/tr.d.ts +0 -21
- package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
- package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
- package/angular/utils/formatter/formatter.d.ts +0 -9
- package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
- package/angular/utils/formatter/localize.d.ts +0 -3
- package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
- package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
- package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
- package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
- package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
- package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
- package/angular/utils/formula/base/formula-base.d.ts +0 -117
- package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
- package/angular/utils/formula/codemirror/actions.d.ts +0 -47
- package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
- package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
- package/angular/utils/formula/codemirror/parser.d.ts +0 -16
- package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
- package/angular/utils/formula/codemirror/theme.d.ts +0 -20
- package/angular/utils/formula/codemirror/widget.d.ts +0 -18
- package/angular/utils/formula/config/aggregations.d.ts +0 -9
- package/angular/utils/formula/config/build-datasets.d.ts +0 -10
- package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
- package/angular/utils/formula/config/functions.d.ts +0 -3
- package/angular/utils/formula/config/groupings.d.ts +0 -9
- package/angular/utils/formula/config/regex.d.ts +0 -39
- package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
- package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
- package/angular/utils/formula/config/validate-expression.d.ts +0 -19
- package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
- package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
- package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
- package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
- package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
- package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
- package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
- package/angular/utils/get-css-variable.d.ts +0 -1
- package/angular/utils/index.d.ts +0 -10
- package/angular/utils/localize/set-locale.d.ts +0 -7
- package/angular/utils/map-tile-providers/index.d.ts +0 -93
- package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
- package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
- package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
- package/angular/utils/slot-state/slot-context.d.ts +0 -4
- package/angular/utils/slot-state/slot-store.d.ts +0 -39
- package/angular/utils/store/base-store.d.ts +0 -162
- package/angular/utils/store/dashboard-store.d.ts +0 -49
- package/angular/utils/store/index.d.ts +0 -135
- package/angular/utils/store/item-store.d.ts +0 -33
- package/angular/utils/store/store-registry.d.ts +0 -170
- package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
- package/angular/utils/store/tests/item-store.test.d.ts +0 -1
- package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
- package/angular/utils/store/types.d.ts +0 -270
- package/angular/utils/switch-item/index.d.ts +0 -34
- package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
- package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
- package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
- package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
- package/angular/utils/themes/bliss.d.ts +0 -2
- package/angular/utils/themes/classic-dark.d.ts +0 -2
- package/angular/utils/themes/classic.d.ts +0 -2
- package/angular/utils/themes/default-dark.d.ts +0 -2
- package/angular/utils/themes/default.d.ts +0 -2
- package/angular/utils/themes/index.d.ts +0 -4
- package/angular/utils/themes/orion.d.ts +0 -2
- package/angular/utils/themes/pinky.d.ts +0 -2
- package/angular/utils/themes/radiant.d.ts +0 -2
- package/angular/utils/themes/royale.d.ts +0 -2
- package/angular/utils/themes/seasonal.d.ts +0 -2
- package/angular/utils/themes/urban.d.ts +0 -2
- package/angular/utils/themes/vivid.d.ts +0 -2
- package/angular/utils/time/formats.const.d.ts +0 -4
- package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
- package/angular/utils/time/periods.const.d.ts +0 -15
- package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
- package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
- package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
- package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
- package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
- package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
- package/angular/utils/types/tests/type-check.test.d.ts +0 -1
- package/angular/utils/types/type-check.d.ts +0 -28
- package/components/data-fields-select-CAyr7ju6.cjs +0 -41
- package/components/filter-item-DMerwomA.cjs +0 -71
- package/components/filter-value-picker-hierarchy-DxluZMYy.cjs +0 -47
- package/components/filters-qljuVmv3.cjs +0 -153
- package/components/item-option-B8J9IqkK.cjs +0 -269
- package/components/slot-menu-11KQJc_U.cjs +0 -71
- /package/{angular/utils/ai-prompt/tests/attachments.test.d.ts → utils/tests/set-nested-value.test.d.ts} +0 -0
|
@@ -19,22 +19,23 @@
|
|
|
19
19
|
* */
|
|
20
20
|
import { t as e } from "./decorate-DyMgX_Uh.js";
|
|
21
21
|
import { t } from "./localized-mixin-D1ss6vE4.js";
|
|
22
|
-
import "./
|
|
23
|
-
import
|
|
22
|
+
import { t as n } from "./v4-DIjJgmR0.js";
|
|
23
|
+
import "./filter-item-DhWm1nZ2.js";
|
|
24
|
+
import { luzmoPlus as r, luzmoTrashOutline as i } from "@luzmo/icons";
|
|
24
25
|
import "@luzmo/lucero/button";
|
|
25
26
|
import "@luzmo/lucero/icon";
|
|
26
|
-
import { html as
|
|
27
|
-
import { property as
|
|
28
|
-
import { localized as ee, msg as
|
|
27
|
+
import { html as a, unsafeCSS as o } from "lit";
|
|
28
|
+
import { property as s, state as c } from "lit/decorators.js";
|
|
29
|
+
import { localized as ee, msg as l } from "@lit/localize";
|
|
29
30
|
import "@luzmo/lucero/action-button";
|
|
30
|
-
import { repeat as
|
|
31
|
-
import { ElementSizes as
|
|
31
|
+
import { repeat as u } from "lit/directives/repeat.js";
|
|
32
|
+
import { ElementSizes as d, LuzmoElement as te, SizedMixin as f } from "@luzmo/lucero/utils";
|
|
32
33
|
//#region src/components/filters/transformations/filter-format.ts
|
|
33
|
-
var
|
|
34
|
+
var p = 20, m = class extends Error {
|
|
34
35
|
constructor(e) {
|
|
35
36
|
super(e), this.name = "FilterUnrepresentableError";
|
|
36
37
|
}
|
|
37
|
-
},
|
|
38
|
+
}, ne = /* @__PURE__ */ new Set(["and", "or"]), h = [
|
|
38
39
|
"datasetId",
|
|
39
40
|
"dataset_id",
|
|
40
41
|
"columnId",
|
|
@@ -46,19 +47,19 @@ var re = 20, d = class extends Error {
|
|
|
46
47
|
"value",
|
|
47
48
|
"ignoredItemIds"
|
|
48
49
|
];
|
|
49
|
-
function
|
|
50
|
+
function g(e) {
|
|
50
51
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
51
52
|
}
|
|
52
|
-
function
|
|
53
|
-
return !
|
|
53
|
+
function _(e) {
|
|
54
|
+
return !g(e) || e.condition !== void 0 && (typeof e.condition != "string" || !ne.has(e.condition.toLowerCase())) ? !1 : "filters" in e || "subGroups" in e;
|
|
54
55
|
}
|
|
55
|
-
function
|
|
56
|
-
return
|
|
56
|
+
function v(e) {
|
|
57
|
+
return g(e) && "expression" in e && !("condition" in e);
|
|
57
58
|
}
|
|
58
|
-
function
|
|
59
|
-
return
|
|
59
|
+
function y(e) {
|
|
60
|
+
return h.some((t) => t in e);
|
|
60
61
|
}
|
|
61
|
-
function
|
|
62
|
+
function re(e, t = !1) {
|
|
62
63
|
let n = [
|
|
63
64
|
e.columnId !== void 0 || e.column_id !== void 0,
|
|
64
65
|
e.formulaId !== void 0 || e.formula_id !== void 0,
|
|
@@ -66,27 +67,27 @@ function ie(e, t = !1) {
|
|
|
66
67
|
].filter(Boolean).length;
|
|
67
68
|
return n === 1 ? !0 : n > 1 ? !1 : e.columnExpression !== void 0 || t && e.expression !== void 0;
|
|
68
69
|
}
|
|
69
|
-
function
|
|
70
|
-
return !
|
|
70
|
+
function b(e) {
|
|
71
|
+
return !v(e) || typeof e.expression != "string" || e.expression.length === 0 || "parameters" in e || typeof e.datasetId != "string" && typeof e.dataset_id != "string" ? !1 : re(e);
|
|
71
72
|
}
|
|
72
|
-
function
|
|
73
|
-
return !
|
|
73
|
+
function x(e) {
|
|
74
|
+
return !v(e) || !Array.isArray(e.parameters) ? !1 : !y(e);
|
|
74
75
|
}
|
|
75
|
-
function
|
|
76
|
+
function ie(e) {
|
|
76
77
|
if (!("parameters" in e)) return;
|
|
77
|
-
let t =
|
|
78
|
-
if (t !== void 0) throw new
|
|
78
|
+
let t = h.find((t) => t in e);
|
|
79
|
+
if (t !== void 0) throw new m(`Filter leaf mixes "parameters" with the clean inline key "${t}".`);
|
|
79
80
|
}
|
|
80
|
-
function
|
|
81
|
-
throw typeof e.expression != "string" || e.expression.length === 0 ? new
|
|
81
|
+
function ae(e) {
|
|
82
|
+
throw typeof e.expression != "string" || e.expression.length === 0 ? new m("Clean filter leaf is missing a non-empty \"expression\".") : typeof e.datasetId != "string" && typeof e.dataset_id != "string" ? new m(`Clean filter leaf "${e.expression}" is missing a "datasetId".`) : new m(`Clean filter leaf "${e.expression}" must name exactly one of "columnId", "formulaId", "formula", or "columnExpression".`);
|
|
82
83
|
}
|
|
83
|
-
function
|
|
84
|
+
function S(e) {
|
|
84
85
|
return e === "where" || e === "having";
|
|
85
86
|
}
|
|
86
|
-
function
|
|
87
|
-
if (e > 20) throw new
|
|
87
|
+
function C(e) {
|
|
88
|
+
if (e > 20) throw new m("Filter nesting exceeds the maximum depth of 20.");
|
|
88
89
|
}
|
|
89
|
-
function
|
|
90
|
+
function oe(e) {
|
|
90
91
|
if (e == null) return "empty";
|
|
91
92
|
if (!Array.isArray(e)) return "unknown";
|
|
92
93
|
if (e.length === 0) return "empty";
|
|
@@ -95,14 +96,14 @@ function S(e) {
|
|
|
95
96
|
r = !0;
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
98
|
-
if (
|
|
99
|
-
|
|
99
|
+
if (_(e)) {
|
|
100
|
+
S(e.clause) && (n = !0);
|
|
100
101
|
let t = [...Array.isArray(e.filters) ? e.filters : [], ...Array.isArray(e.subGroups) ? e.subGroups : []];
|
|
101
102
|
for (let e of t) i(e, a + 1);
|
|
102
103
|
return;
|
|
103
104
|
}
|
|
104
|
-
if (
|
|
105
|
-
"parameters" in e &&
|
|
105
|
+
if (v(e)) {
|
|
106
|
+
"parameters" in e && y(e) ? r = !0 : b(e) ? n = !0 : x(e) ? t = !0 : r = !0;
|
|
106
107
|
return;
|
|
107
108
|
}
|
|
108
109
|
r = !0;
|
|
@@ -112,7 +113,7 @@ function S(e) {
|
|
|
112
113
|
}
|
|
113
114
|
//#endregion
|
|
114
115
|
//#region src/components/filters/transformations/clean-filters.ts
|
|
115
|
-
var
|
|
116
|
+
var w = /* @__PURE__ */ new Set(["? is null", "? is not null"]), T = /* @__PURE__ */ new Set([
|
|
116
117
|
"? = ?",
|
|
117
118
|
"? != ?",
|
|
118
119
|
"? < ?",
|
|
@@ -137,40 +138,40 @@ var C = /* @__PURE__ */ new Set(["? is null", "? is not null"]), w = /* @__PURE_
|
|
|
137
138
|
"include_nonoccurring",
|
|
138
139
|
"simplification"
|
|
139
140
|
]);
|
|
140
|
-
function
|
|
141
|
+
function E(e, t) {
|
|
141
142
|
return e !== "lowestLevel" && !(t === null && le.has(e));
|
|
142
143
|
}
|
|
143
|
-
function
|
|
144
|
+
function D(e) {
|
|
144
145
|
return structuredClone(e);
|
|
145
146
|
}
|
|
146
|
-
function
|
|
147
|
+
function O(e) {
|
|
147
148
|
let t = e.datasetId ?? e.dataset_id;
|
|
148
|
-
if (typeof t != "string" || t.length === 0) throw new
|
|
149
|
+
if (typeof t != "string" || t.length === 0) throw new m("Filter reference is missing a \"datasetId\".");
|
|
149
150
|
return t;
|
|
150
151
|
}
|
|
151
|
-
function O(e) {
|
|
152
|
-
return m(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;
|
|
153
|
-
}
|
|
154
152
|
function k(e) {
|
|
153
|
+
return g(e) ? typeof e.columnId == "string" || typeof e.column_id == "string" || typeof e.formulaId == "string" || typeof e.formula_id == "string" || typeof e.formula == "string" || (typeof e.datasetId == "string" || typeof e.dataset_id == "string") && (e.columnExpression !== void 0 || e.expression !== void 0) : !1;
|
|
154
|
+
}
|
|
155
|
+
function A(e) {
|
|
155
156
|
let t = { type: e.type };
|
|
156
|
-
return e.bins !== void 0 && (t.bins = e.bins), Array.isArray(e.over) && (t.over = e.over.map((e) =>
|
|
157
|
+
return e.bins !== void 0 && (t.bins = e.bins), Array.isArray(e.over) && (t.over = e.over.map((e) => P(e))), t;
|
|
157
158
|
}
|
|
158
159
|
function ue(e) {
|
|
159
160
|
let t = { type: e.type }, n = e.datasetId ?? e.dataset_id, r = e.columnId ?? e.column_id;
|
|
160
|
-
return n !== void 0 && (t.datasetId = n), r !== void 0 && (t.columnId = r), e.level !== void 0 &&
|
|
161
|
+
return n !== void 0 && (t.datasetId = n), r !== void 0 && (t.columnId = r), e.level !== void 0 && E("level", e.level) && (t.level = e.level), g(e.discretization) && (t.discretization = A(e.discretization)), e.unnest !== void 0 && E("unnest", e.unnest) && (t.unnest = e.unnest), t;
|
|
161
162
|
}
|
|
162
|
-
function
|
|
163
|
+
function j(e) {
|
|
163
164
|
let t = { type: e.type };
|
|
164
|
-
return e.bins !== void 0 && (t.bins = e.bins), Array.isArray(e.over) && (t.over = e.over.map((e) =>
|
|
165
|
+
return e.bins !== void 0 && (t.bins = e.bins), Array.isArray(e.over) && (t.over = e.over.map((e) => g(e) ? N(e) : e)), t;
|
|
165
166
|
}
|
|
166
167
|
function de(e) {
|
|
167
168
|
let t = { type: e.type }, n = e.datasetId ?? e.dataset_id, r = e.columnId ?? e.column_id;
|
|
168
|
-
return n !== void 0 && (t.datasetId = n), r !== void 0 && (t.columnId = r), e.level !== void 0 && (t.level = e.level),
|
|
169
|
+
return n !== void 0 && (t.datasetId = n), r !== void 0 && (t.columnId = r), e.level !== void 0 && (t.level = e.level), g(e.discretization) && (t.discretization = j(e.discretization)), e.unnest !== void 0 && (t.unnest = e.unnest), t;
|
|
169
170
|
}
|
|
170
171
|
function fe(e, t) {
|
|
171
|
-
e.level !== void 0 && (t.level =
|
|
172
|
+
e.level !== void 0 && (t.level = D(e.level)), g(e.discretization) && (t.discretization = j(e.discretization)), g(e.aggregation) && (t.aggregation = de(e.aggregation)), e.unnest !== void 0 && (t.unnest = D(e.unnest));
|
|
172
173
|
}
|
|
173
|
-
function
|
|
174
|
+
function M(e, t) {
|
|
174
175
|
let n = e.columnId ?? e.column_id;
|
|
175
176
|
if (n !== void 0) return {
|
|
176
177
|
kind: "columnId",
|
|
@@ -191,106 +192,106 @@ function j(e, t) {
|
|
|
191
192
|
value: i
|
|
192
193
|
};
|
|
193
194
|
}
|
|
194
|
-
function
|
|
195
|
-
let n = { datasetId:
|
|
195
|
+
function N(e, t = !0) {
|
|
196
|
+
let n = { datasetId: O(e) }, r = M(e, t);
|
|
196
197
|
return r !== void 0 && (r.kind === "expression" ? n.expression = r.value : n[r.kind] = r.value), fe(e, n), n;
|
|
197
198
|
}
|
|
198
|
-
function
|
|
199
|
-
if (!
|
|
200
|
-
let t = { datasetId:
|
|
201
|
-
e.level !== void 0 &&
|
|
202
|
-
let n =
|
|
203
|
-
if (n === void 0) throw new
|
|
199
|
+
function P(e) {
|
|
200
|
+
if (!g(e)) throw new m("Cannot emit a clean filter reference.");
|
|
201
|
+
let t = { datasetId: O(e) };
|
|
202
|
+
e.level !== void 0 && E("level", e.level) && (t.level = e.level), g(e.discretization) && (t.discretization = A(e.discretization)), g(e.aggregation) && (t.aggregation = ue(e.aggregation)), e.unnest !== void 0 && E("unnest", e.unnest) && (t.unnest = e.unnest);
|
|
203
|
+
let n = M(e, !0);
|
|
204
|
+
if (n === void 0) throw new m("Cannot emit a clean filter reference: no column, formula, or expression.");
|
|
204
205
|
return n.kind === "expression" ? t.columnExpression = n.value : t[n.kind] = n.value, t;
|
|
205
206
|
}
|
|
206
|
-
function
|
|
207
|
-
if (!
|
|
207
|
+
function F(e) {
|
|
208
|
+
if (!g(e) || typeof e.parameter != "string" || typeof e.type != "string") return e;
|
|
208
209
|
let t = ce[e.type];
|
|
209
210
|
return t === void 0 ? e : {
|
|
210
211
|
...e,
|
|
211
212
|
type: t
|
|
212
213
|
};
|
|
213
214
|
}
|
|
214
|
-
function F(e, t) {
|
|
215
|
-
return m(t) && typeof t.parameter == "string" ? !0 : Array.isArray(t) ? e !== "? between ?" || t.length === 2 : !1;
|
|
216
|
-
}
|
|
217
215
|
function I(e, t) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
216
|
+
return g(t) && typeof t.parameter == "string" ? !0 : Array.isArray(t) ? e !== "? between ?" || t.length === 2 : !1;
|
|
217
|
+
}
|
|
218
|
+
function L(e, t) {
|
|
219
|
+
let n = e.expression, r = [N(e, !1)];
|
|
220
|
+
if (!w.has(n) && e.value !== void 0) {
|
|
221
|
+
let t = T.has(n) && k(e.value);
|
|
222
|
+
r.push(t ? N(e.value) : D(e.value));
|
|
222
223
|
}
|
|
223
224
|
let i = {};
|
|
224
|
-
typeof e.id == "string" && (i.id = e.id), "ignoredItemIds" in e && (i.ignore =
|
|
225
|
+
typeof e.id == "string" && (i.id = e.id), "ignoredItemIds" in e && (i.ignore = D(e.ignoredItemIds)), t !== void 0 && (i.type = t);
|
|
225
226
|
let a = {
|
|
226
227
|
expression: n,
|
|
227
228
|
parameters: r
|
|
228
229
|
};
|
|
229
230
|
return Object.keys(i).length > 0 && (a.properties = i), a;
|
|
230
231
|
}
|
|
231
|
-
function
|
|
232
|
+
function R(e) {
|
|
232
233
|
let { expression: t } = e;
|
|
233
234
|
if (typeof t != "string" || t.length === 0) return null;
|
|
234
235
|
let n = Array.isArray(e.parameters) ? e.parameters : [];
|
|
235
|
-
if (!
|
|
236
|
+
if (!g(n[0])) throw new m(`Cannot emit a clean filter reference for "${t}".`);
|
|
236
237
|
let r = {
|
|
237
|
-
...
|
|
238
|
+
...P(n[0]),
|
|
238
239
|
expression: t
|
|
239
240
|
};
|
|
240
|
-
if (!
|
|
241
|
+
if (!w.has(t)) {
|
|
241
242
|
let e = n[1];
|
|
242
|
-
if (e === void 0) throw new
|
|
243
|
-
if (r.value =
|
|
243
|
+
if (e === void 0) throw new m(`Filter "${t}" is missing its value operand.`);
|
|
244
|
+
if (r.value = k(e) && T.has(t) ? P(e) : F(D(e)), se.has(t) && !I(t, r.value)) throw new m(`Cannot emit an invalid clean filter value for "${t}".`);
|
|
244
245
|
}
|
|
245
246
|
let { properties: i } = e;
|
|
246
|
-
return i?.id !== void 0 && (r.id = i.id), i !== void 0 && "ignore" in i && (r.ignoredItemIds =
|
|
247
|
-
}
|
|
248
|
-
function R(e) {
|
|
249
|
-
return h(e);
|
|
247
|
+
return i?.id !== void 0 && (r.id = i.id), i !== void 0 && "ignore" in i && (r.ignoredItemIds = D(i.ignore)), r;
|
|
250
248
|
}
|
|
251
249
|
function z(e) {
|
|
250
|
+
return _(e);
|
|
251
|
+
}
|
|
252
|
+
function B(e) {
|
|
252
253
|
return Array.isArray(e.filters) ? e.filters : [];
|
|
253
254
|
}
|
|
254
|
-
function
|
|
255
|
+
function V(e, t) {
|
|
255
256
|
return e.properties?.type === "having" || e.properties?.type === "where" ? e.properties.type : t ?? "where";
|
|
256
257
|
}
|
|
257
|
-
function
|
|
258
|
-
|
|
258
|
+
function H(e, t, n = 1, r = /* @__PURE__ */ new Set()) {
|
|
259
|
+
C(n);
|
|
259
260
|
let i = e.clause ?? t;
|
|
260
|
-
for (let t of
|
|
261
|
+
for (let t of B(e)) z(t) ? H(t, i, n + 1, r) : typeof t.expression == "string" && t.expression.length > 0 && r.add(V(t, i));
|
|
261
262
|
return r;
|
|
262
263
|
}
|
|
263
|
-
function
|
|
264
|
-
|
|
264
|
+
function U(e, t, n = 1) {
|
|
265
|
+
C(n);
|
|
265
266
|
let r = e.clause ?? t;
|
|
266
|
-
if (e.condition === "or" &&
|
|
267
|
-
for (let t of
|
|
267
|
+
if (e.condition === "or" && H(e, r, n).size > 1) throw new m("An \"or\" group mixes \"where\" and \"having\" filters, which clean output cannot represent.");
|
|
268
|
+
for (let t of B(e)) z(t) && U(t, r, n + 1);
|
|
268
269
|
}
|
|
269
|
-
function
|
|
270
|
-
|
|
270
|
+
function W(e, t, n, r = 1) {
|
|
271
|
+
C(r);
|
|
271
272
|
let i = e.clause ?? n, a = [];
|
|
272
|
-
for (let n of
|
|
273
|
-
if (
|
|
274
|
-
let e =
|
|
273
|
+
for (let n of B(e)) {
|
|
274
|
+
if (z(n)) {
|
|
275
|
+
let e = W(n, t, i, r + 1);
|
|
275
276
|
e.filters.length > 0 && a.push(e);
|
|
276
277
|
continue;
|
|
277
278
|
}
|
|
278
|
-
if (
|
|
279
|
-
let e =
|
|
279
|
+
if (V(n, i) !== t) continue;
|
|
280
|
+
let e = R(n);
|
|
280
281
|
e && a.push(e);
|
|
281
282
|
}
|
|
282
283
|
let o = {
|
|
283
284
|
condition: e.condition === "or" ? "or" : "and",
|
|
284
285
|
filters: a
|
|
285
286
|
};
|
|
286
|
-
return e.id !== void 0 &&
|
|
287
|
+
return e.id !== void 0 && H(e, i, r).size <= 1 && (o.id = e.id), o;
|
|
287
288
|
}
|
|
288
289
|
function pe(e) {
|
|
289
290
|
let t = e.clause;
|
|
290
|
-
|
|
291
|
-
let n =
|
|
291
|
+
U(e, t);
|
|
292
|
+
let n = H(e, t);
|
|
292
293
|
return n.size === 0 && n.add(t ?? "where"), ["where", "having"].filter((e) => n.has(e)).map((n) => ({
|
|
293
|
-
...
|
|
294
|
+
...W(e, n, t),
|
|
294
295
|
clause: n
|
|
295
296
|
})).filter((e) => e.filters.length > 0);
|
|
296
297
|
}
|
|
@@ -304,15 +305,15 @@ var me = [
|
|
|
304
305
|
"isDrilldown",
|
|
305
306
|
"type"
|
|
306
307
|
];
|
|
307
|
-
function
|
|
308
|
+
function G(e) {
|
|
308
309
|
return typeof e == "string" && e.toLowerCase() === "or" ? "or" : "and";
|
|
309
310
|
}
|
|
310
311
|
function he(e) {
|
|
311
|
-
return
|
|
312
|
+
return _(e);
|
|
312
313
|
}
|
|
313
314
|
function ge(e) {
|
|
314
315
|
if (!Array.isArray(e) || e.length === 0) return [];
|
|
315
|
-
let t =
|
|
316
|
+
let t = g(e[0]) ? e[0] : void 0, n = e.length > 1 ? e[1] : void 0;
|
|
316
317
|
return e.length > 1 ? [t, n] : [t];
|
|
317
318
|
}
|
|
318
319
|
function _e(e) {
|
|
@@ -323,86 +324,86 @@ function _e(e) {
|
|
|
323
324
|
};
|
|
324
325
|
return e.properties !== void 0 && Object.keys(e.properties).length > 0 && (t.properties = structuredClone(e.properties)), t;
|
|
325
326
|
}
|
|
326
|
-
function
|
|
327
|
+
function K(e, t) {
|
|
327
328
|
let n = e, r = t;
|
|
328
329
|
for (let e of me) n[e] !== void 0 && (r[e] = n[e]);
|
|
329
330
|
}
|
|
330
|
-
function
|
|
331
|
+
function q(e) {
|
|
331
332
|
if (!e || !e.filters) return {
|
|
332
333
|
condition: "and",
|
|
333
334
|
filters: [],
|
|
334
335
|
subGroups: []
|
|
335
336
|
};
|
|
336
337
|
let t = [], n = [];
|
|
337
|
-
for (let r of e.filters) if (he(r)) n.push(
|
|
338
|
+
for (let r of e.filters) if (he(r)) n.push(q(r));
|
|
338
339
|
else {
|
|
339
340
|
let e = _e(r);
|
|
340
341
|
e && t.push(e);
|
|
341
342
|
}
|
|
342
343
|
let r = {
|
|
343
|
-
condition:
|
|
344
|
+
condition: G(e.condition),
|
|
344
345
|
filters: t,
|
|
345
346
|
subGroups: n
|
|
346
347
|
};
|
|
347
|
-
return e.id !== void 0 && (r.id = e.id),
|
|
348
|
+
return e.id !== void 0 && (r.id = e.id), K(e, r), r;
|
|
348
349
|
}
|
|
349
|
-
function
|
|
350
|
-
return e ? t?.format === "clean" ? pe(e) : [
|
|
350
|
+
function J(e, t) {
|
|
351
|
+
return e ? t?.format === "clean" ? pe(e) : [q(e)] : [];
|
|
351
352
|
}
|
|
352
353
|
function ve(e, t) {
|
|
353
354
|
let n = {
|
|
354
355
|
expression: typeof e.expression == "string" ? e.expression : void 0,
|
|
355
356
|
parameters: Array.isArray(e.parameters) ? [...e.parameters] : []
|
|
356
|
-
}, r =
|
|
357
|
+
}, r = g(e.properties) ? structuredClone(e.properties) : {};
|
|
357
358
|
return t !== void 0 && r.type === void 0 && (r.type = t), Object.keys(r).length > 0 && (n.properties = r), n;
|
|
358
359
|
}
|
|
359
360
|
function ye(e, t, n) {
|
|
360
|
-
if (
|
|
361
|
-
if (!
|
|
361
|
+
if (_(e)) return Y(e, t, n);
|
|
362
|
+
if (!g(e)) return;
|
|
362
363
|
let r = e.expression;
|
|
363
|
-
if (
|
|
364
|
-
if (
|
|
365
|
-
throw new
|
|
364
|
+
if (ie(e), b(e)) return L(e, t);
|
|
365
|
+
if (y(e) && ae(e), x(e)) return ve(e, t);
|
|
366
|
+
throw new m(`Filter leaf "${String(r)}" matches neither a complete clean nor a complete canonical encoding.`);
|
|
366
367
|
}
|
|
367
|
-
function
|
|
368
|
-
|
|
369
|
-
let r =
|
|
368
|
+
function Y(e, t, n) {
|
|
369
|
+
C(n);
|
|
370
|
+
let r = S(e.clause) ? e.clause : void 0, i = r ?? t, a = [];
|
|
370
371
|
for (let t of Array.isArray(e.filters) ? e.filters : []) {
|
|
371
372
|
let e = ye(t, i, n + 1);
|
|
372
373
|
e !== void 0 && a.push(e);
|
|
373
374
|
}
|
|
374
|
-
for (let t of Array.isArray(e.subGroups) ? e.subGroups : [])
|
|
375
|
+
for (let t of Array.isArray(e.subGroups) ? e.subGroups : []) _(t) && a.push(Y(t, i, n + 1));
|
|
375
376
|
let o = {
|
|
376
|
-
condition:
|
|
377
|
+
condition: G(e.condition),
|
|
377
378
|
filters: a
|
|
378
379
|
};
|
|
379
|
-
return typeof e.id == "string" && (o.id = e.id), r !== void 0 && (o.clause = r),
|
|
380
|
+
return typeof e.id == "string" && (o.id = e.id), r !== void 0 && (o.clause = r), K(e, o), o;
|
|
380
381
|
}
|
|
381
|
-
function
|
|
382
|
-
return !e || e.length === 0 ? [] : e.filter((e) =>
|
|
382
|
+
function X(e) {
|
|
383
|
+
return !e || e.length === 0 ? [] : e.filter((e) => _(e)).map((e) => Y(e, void 0, 1));
|
|
383
384
|
}
|
|
384
385
|
//#endregion
|
|
385
386
|
//#region src/components/filters/filters.module.scss?inline
|
|
386
|
-
var
|
|
387
|
+
var be = ":host{font-family:var(--luzmo-filters-font-family,var(--luzmo-font-family));color:var(--luzmo-filters-font-color,var(--luzmo-font-color));max-width:100%;display:block;container-type:inline-size}.filter-group-container{max-width:100%;padding:calc(var(--luzmo-indicator-gap) + 2 * var(--luzmo-indicator-width));overflow-x:hidden}.filter-group{flex-direction:row;min-width:0;max-width:100%;display:flex}.filter-group.nested{margin-top:var(--luzmo-filters-nested-group-margin-top,var(--filters-nested-group-margin-top));margin-bottom:var(--luzmo-filters-nested-group-margin-bottom,var(--filters-nested-group-margin-bottom))}.group-content{flex-direction:column;flex:1;min-width:0;display:flex}.filters-list{gap:var(--luzmo-filters-filters-list-gap,var(--filters-filters-list-gap));flex-direction:column;min-width:0;max-width:100%;display:flex}.filter-item-wrapper{align-items:flex-start;min-width:0;max-width:100%;display:flex;position:relative}.filter-item-content{align-items:flex-start;gap:var(--luzmo-filters-filter-line-gap,var(--filters-filter-line-gap));flex-wrap:nowrap;flex:1;min-width:0;display:flex}.filter-item-content luzmo-filter-item{flex:1;min-width:0}.filter-item-content .delete-filter-button{flex-shrink:0;align-self:flex-end;margin-inline-start:auto}.condition-wrapper{flex:0 0 var(--luzmo-filters-condition-warpper-width,var(--filters-condition-warpper-width));justify-content:center;align-items:center;display:flex;position:relative}.condition-wrapper:before{content:\"\";left:50%;top:var(--luzmo-filters-vertical-line-top,var(--filters-vertical-line-top));bottom:var(--luzmo-filters-vertical-line-bottom,var(--filters-vertical-line-bottom));width:var(--luzmo-filters-vertical-line-width,var(--filters-vertical-line-width));background:var(--luzmo-filters-vertical-line-color,var(--luzmo-border-color));position:absolute}.condition-badge{min-width:auto;padding-inline:var(--luzmo-filters-condition-padding-horizontal,var(--filters-condition-padding-horizontal));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)}}";
|
|
387
388
|
//#endregion
|
|
388
389
|
//#region src/components/filters/filters.ts
|
|
389
390
|
function Z(e) {
|
|
390
|
-
if (e instanceof
|
|
391
|
+
if (e instanceof m) return e;
|
|
391
392
|
throw e;
|
|
392
393
|
}
|
|
393
|
-
var
|
|
394
|
-
and: () =>
|
|
395
|
-
or: () =>
|
|
394
|
+
var xe = {
|
|
395
|
+
and: () => l("AND", { desc: "Logical AND condition for combining filters" }),
|
|
396
|
+
or: () => l("OR", { desc: "Logical OR condition for combining filters" })
|
|
396
397
|
};
|
|
397
398
|
function Q(e) {
|
|
398
399
|
return e === "and" ? "or" : "and";
|
|
399
400
|
}
|
|
400
|
-
var $ = class extends t(
|
|
401
|
+
var $ = class extends t(f(te, { validSizes: Object.values(d) })) {
|
|
401
402
|
constructor(...e) {
|
|
402
403
|
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;
|
|
403
404
|
}
|
|
404
405
|
static get styles() {
|
|
405
|
-
return [
|
|
406
|
+
return [o(be)];
|
|
406
407
|
}
|
|
407
408
|
get _oneSizeSmaller() {
|
|
408
409
|
return {
|
|
@@ -423,7 +424,7 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
423
424
|
}
|
|
424
425
|
willUpdate(e) {
|
|
425
426
|
if (super.willUpdate(e), e.has("filters")) try {
|
|
426
|
-
let e =
|
|
427
|
+
let e = X(this.filters);
|
|
427
428
|
e.length === 0 ? (this._internalFilterGroup = null, this._hasSyntheticRoot = !1) : e.length === 1 ? (this._internalFilterGroup = structuredClone(e[0]), this._hasSyntheticRoot = !1) : (this._internalFilterGroup = {
|
|
428
429
|
condition: "and",
|
|
429
430
|
filters: structuredClone(e)
|
|
@@ -434,6 +435,7 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
434
435
|
}
|
|
435
436
|
_generateEmptyGroup() {
|
|
436
437
|
return {
|
|
438
|
+
id: n(),
|
|
437
439
|
condition: "and",
|
|
438
440
|
filters: []
|
|
439
441
|
};
|
|
@@ -441,7 +443,8 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
441
443
|
_generateEmptyFilter() {
|
|
442
444
|
return {
|
|
443
445
|
expression: void 0,
|
|
444
|
-
parameters: []
|
|
446
|
+
parameters: [],
|
|
447
|
+
properties: { id: n() }
|
|
445
448
|
};
|
|
446
449
|
}
|
|
447
450
|
_rootGroupsForExport() {
|
|
@@ -457,14 +460,14 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
457
460
|
};
|
|
458
461
|
if (t === "clean") try {
|
|
459
462
|
return {
|
|
460
|
-
filters: e.flatMap((e) =>
|
|
463
|
+
filters: e.flatMap((e) => J(e, { format: "clean" })),
|
|
461
464
|
format: "clean"
|
|
462
465
|
};
|
|
463
466
|
} catch (e) {
|
|
464
467
|
console.warn(`[${this.localName}] Cannot emit clean filters, falling back to canonical output:`, Z(e));
|
|
465
468
|
}
|
|
466
469
|
return {
|
|
467
|
-
filters: e.flatMap((e) =>
|
|
470
|
+
filters: e.flatMap((e) => J(e)),
|
|
468
471
|
format: "canonical"
|
|
469
472
|
};
|
|
470
473
|
}
|
|
@@ -524,7 +527,7 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
524
527
|
t.condition = Q(e.condition), t.filters.push(this._generateEmptyFilter()), e.filters.push(t), this._internalFilterGroup = e, this._hasSyntheticRoot = !1, this.requestUpdate(), this._sendChangeEvent();
|
|
525
528
|
}
|
|
526
529
|
_renderFilterItem(e, t, n) {
|
|
527
|
-
return
|
|
530
|
+
return a`
|
|
528
531
|
<div class="filter-item-wrapper">
|
|
529
532
|
<div class="filter-item-content">
|
|
530
533
|
<luzmo-filter-item
|
|
@@ -547,42 +550,42 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
547
550
|
class="delete-filter-button"
|
|
548
551
|
.size=${this.size}
|
|
549
552
|
quiet
|
|
550
|
-
.label=${
|
|
553
|
+
.label=${l("Remove filter", { desc: "Aria label for remove filter button" })}
|
|
551
554
|
@click=${this._removeFilter.bind(this, t, n)}
|
|
552
555
|
>
|
|
553
|
-
<luzmo-icon slot="icon" .icon=${
|
|
556
|
+
<luzmo-icon slot="icon" .icon=${i} .size=${this.size}></luzmo-icon>
|
|
554
557
|
</luzmo-action-button>
|
|
555
558
|
</div>
|
|
556
559
|
</div>
|
|
557
560
|
`;
|
|
558
561
|
}
|
|
559
562
|
_renderGroup(e, t = !1) {
|
|
560
|
-
let
|
|
561
|
-
return
|
|
563
|
+
let n = e.filters.length > 0, i = e.filters.length > 1, o = xe[e.condition]?.() ?? e.condition;
|
|
564
|
+
return a`
|
|
562
565
|
<div class="filter-group ${t ? "nested" : ""}" role="group">
|
|
563
|
-
${t ?
|
|
566
|
+
${t ? a`
|
|
564
567
|
<div class="condition-wrapper">
|
|
565
|
-
${
|
|
568
|
+
${i ? a`
|
|
566
569
|
<luzmo-action-button
|
|
567
570
|
class="condition-badge"
|
|
568
571
|
.size=${this._oneSizeSmaller}
|
|
569
572
|
quiet
|
|
570
573
|
aria-pressed=${e.condition === "and" ? "true" : "false"}
|
|
571
|
-
.label=${
|
|
574
|
+
.label=${l("Toggle filter condition, currently ", { desc: "Aria label prefix for filter condition toggle" }) + o}
|
|
572
575
|
@click=${this._toggleCondition.bind(this, e)}
|
|
573
576
|
>
|
|
574
577
|
${o}
|
|
575
578
|
</luzmo-action-button>
|
|
576
579
|
` : ""}
|
|
577
580
|
</div>
|
|
578
|
-
` :
|
|
581
|
+
` : i ? a`
|
|
579
582
|
<div class="condition-wrapper">
|
|
580
583
|
<luzmo-action-button
|
|
581
584
|
class="condition-badge"
|
|
582
585
|
.size=${this._oneSizeSmaller}
|
|
583
586
|
quiet
|
|
584
587
|
aria-pressed=${e.condition === "and" ? "true" : "false"}
|
|
585
|
-
.label=${
|
|
588
|
+
.label=${l("Toggle filter condition, currently ", { desc: "Aria label prefix for filter condition toggle" }) + o}
|
|
586
589
|
@click=${this._toggleCondition.bind(this, e)}
|
|
587
590
|
>
|
|
588
591
|
${o}
|
|
@@ -590,9 +593,9 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
590
593
|
</div>
|
|
591
594
|
` : ""}
|
|
592
595
|
<div class="group-content">
|
|
593
|
-
${
|
|
596
|
+
${n ? a`
|
|
594
597
|
<div class="filters-list">
|
|
595
|
-
${
|
|
598
|
+
${u(e.filters, (e, t) => t, (t, n) => a`
|
|
596
599
|
${this._isGroup(t) ? this._renderGroup(t, !0) : this._renderFilterItem(t, e, n)}
|
|
597
600
|
`)}
|
|
598
601
|
</div>
|
|
@@ -606,8 +609,8 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
606
609
|
?disabled=${this._isDatasetIdsEmpty}
|
|
607
610
|
@click=${this._addFilter.bind(this, e)}
|
|
608
611
|
>
|
|
609
|
-
<luzmo-icon slot="icon" .icon=${
|
|
610
|
-
${
|
|
612
|
+
<luzmo-icon slot="icon" .icon=${r} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
613
|
+
${l("Filter", { desc: "Add filter button label" })}
|
|
611
614
|
</luzmo-action-button>
|
|
612
615
|
|
|
613
616
|
<luzmo-action-button
|
|
@@ -617,8 +620,8 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
617
620
|
?disabled=${this._isDatasetIdsEmpty}
|
|
618
621
|
@click=${this._addSubGroup.bind(this, e)}
|
|
619
622
|
>
|
|
620
|
-
<luzmo-icon slot="icon" .icon=${
|
|
621
|
-
${
|
|
623
|
+
<luzmo-icon slot="icon" .icon=${r} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
624
|
+
${l("Subgroup", { desc: "Add subgroup button label" })}
|
|
622
625
|
</luzmo-action-button>
|
|
623
626
|
</div>
|
|
624
627
|
</div>
|
|
@@ -650,14 +653,14 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
650
653
|
e(this._internalFilterGroup);
|
|
651
654
|
}
|
|
652
655
|
render() {
|
|
653
|
-
if (this._isDatasetIdsEmpty) return
|
|
656
|
+
if (this._isDatasetIdsEmpty) return a`
|
|
654
657
|
<div class="filter-group-container">
|
|
655
658
|
<div class="dataset-ids-empty-message" role="status">
|
|
656
|
-
${
|
|
659
|
+
${l("Cannot retrieve dataset data fields", { desc: "Error message when datasetIds is empty" })}
|
|
657
660
|
</div>
|
|
658
661
|
</div>
|
|
659
662
|
`;
|
|
660
|
-
if (!this._internalFilterGroup || this._internalFilterGroup.filters.length === 0) return
|
|
663
|
+
if (!this._internalFilterGroup || this._internalFilterGroup.filters.length === 0) return a`
|
|
661
664
|
<div class="filter-group-container">
|
|
662
665
|
<luzmo-button
|
|
663
666
|
class="add-filter-button"
|
|
@@ -666,17 +669,17 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
666
669
|
?disabled=${this._isDatasetIdsEmpty}
|
|
667
670
|
@click=${() => this._addFilter()}
|
|
668
671
|
>
|
|
669
|
-
<luzmo-icon slot="icon" .icon=${
|
|
670
|
-
${
|
|
672
|
+
<luzmo-icon slot="icon" .icon=${r} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
673
|
+
${l("Add filter", { desc: "Add filter button label" })}
|
|
671
674
|
</luzmo-button>
|
|
672
675
|
</div>
|
|
673
676
|
`;
|
|
674
677
|
let e = this._internalFilterGroup.filters.length > 1;
|
|
675
|
-
return
|
|
678
|
+
return a`
|
|
676
679
|
<div class="filter-group-container">
|
|
677
680
|
${this._renderGroup(this._internalFilterGroup)}
|
|
678
681
|
|
|
679
|
-
${e ?
|
|
682
|
+
${e ? a`
|
|
680
683
|
<div class="add-root-group-container">
|
|
681
684
|
<luzmo-button
|
|
682
685
|
class="add-group-button"
|
|
@@ -685,8 +688,8 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
685
688
|
?disabled=${this._isDatasetIdsEmpty}
|
|
686
689
|
@click=${this._addGroup}
|
|
687
690
|
>
|
|
688
|
-
<luzmo-icon slot="icon" .icon=${
|
|
689
|
-
${
|
|
691
|
+
<luzmo-icon slot="icon" .icon=${r} .size=${this._oneSizeSmaller}></luzmo-icon>
|
|
692
|
+
${l("Group", { desc: "Add group button label" })}
|
|
690
693
|
</luzmo-button>
|
|
691
694
|
</div>
|
|
692
695
|
` : ""}
|
|
@@ -696,47 +699,47 @@ var $ = class extends t(ne(te, { validSizes: Object.values(u) })) {
|
|
|
696
699
|
};
|
|
697
700
|
//#endregion
|
|
698
701
|
//#region src/components/filters/index.ts
|
|
699
|
-
e([
|
|
702
|
+
e([s({
|
|
700
703
|
type: String,
|
|
701
704
|
attribute: "api-url",
|
|
702
705
|
reflect: !0
|
|
703
|
-
})], $.prototype, "apiUrl", void 0), e([
|
|
706
|
+
})], $.prototype, "apiUrl", void 0), e([s({
|
|
704
707
|
type: String,
|
|
705
708
|
attribute: "auth-key",
|
|
706
709
|
reflect: !0
|
|
707
|
-
})], $.prototype, "authKey", void 0), e([
|
|
710
|
+
})], $.prototype, "authKey", void 0), e([s({
|
|
708
711
|
type: String,
|
|
709
712
|
attribute: "auth-token",
|
|
710
713
|
reflect: !0
|
|
711
|
-
})], $.prototype, "authToken", void 0), e([
|
|
714
|
+
})], $.prototype, "authToken", void 0), e([s({
|
|
712
715
|
type: Number,
|
|
713
716
|
attribute: "cache-time",
|
|
714
717
|
reflect: !0
|
|
715
|
-
})], $.prototype, "cacheTime", void 0), e([
|
|
718
|
+
})], $.prototype, "cacheTime", void 0), e([s({
|
|
716
719
|
type: String,
|
|
717
720
|
attribute: "content-language",
|
|
718
721
|
reflect: !0
|
|
719
|
-
})], $.prototype, "contentLanguage", void 0), e([
|
|
722
|
+
})], $.prototype, "contentLanguage", void 0), e([s({
|
|
720
723
|
type: String,
|
|
721
724
|
attribute: "time-zone",
|
|
722
725
|
reflect: !0
|
|
723
|
-
})], $.prototype, "timeZone", void 0), e([
|
|
726
|
+
})], $.prototype, "timeZone", void 0), e([s({
|
|
724
727
|
type: Array,
|
|
725
728
|
attribute: "dataset-ids",
|
|
726
729
|
reflect: !0
|
|
727
|
-
})], $.prototype, "datasetIds", void 0), e([
|
|
730
|
+
})], $.prototype, "datasetIds", void 0), e([s({
|
|
728
731
|
type: Array,
|
|
729
732
|
reflect: !1
|
|
730
|
-
})], $.prototype, "filters", void 0), e([
|
|
733
|
+
})], $.prototype, "filters", void 0), e([s({
|
|
731
734
|
type: String,
|
|
732
735
|
reflect: !0
|
|
733
|
-
})], $.prototype, "format", void 0), e([
|
|
736
|
+
})], $.prototype, "format", void 0), e([s({
|
|
734
737
|
type: Boolean,
|
|
735
738
|
attribute: "allow-parameters",
|
|
736
739
|
reflect: !0
|
|
737
|
-
})], $.prototype, "allowParameters", void 0), e([
|
|
740
|
+
})], $.prototype, "allowParameters", void 0), e([s({ attribute: !1 })], $.prototype, "parameters", void 0), e([s({
|
|
738
741
|
type: Number,
|
|
739
742
|
reflect: !0
|
|
740
|
-
})], $.prototype, "debounce", void 0), e([
|
|
743
|
+
})], $.prototype, "debounce", void 0), e([c()], $.prototype, "_internalFilterGroup", void 0), $ = e([ee()], $), customElements.get("luzmo-filters") || customElements.define("luzmo-filters", $);
|
|
741
744
|
//#endregion
|
|
742
|
-
export {
|
|
745
|
+
export { m as a, J as i, X as n, p as o, G as r, oe as s, $ as t };
|