@luzmo/analytics-components-kit 1.0.5 → 1.0.7
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 +17 -4
- package/angular/components/data-fields-select.ts +7 -0
- package/angular/components/filter-item.ts +15 -0
- package/angular/components/filter-parameter-picker.ts +70 -18
- package/angular/components/filters.ts +46 -6
- package/angular/esm/components/data-fields-select.d.ts +3 -1
- package/angular/esm/components/data-fields-select.js +9 -1
- package/angular/esm/components/filter-item.d.ts +7 -1
- package/angular/esm/components/filter-item.js +18 -2
- package/angular/esm/components/filter-parameter-picker.d.ts +22 -7
- package/angular/esm/components/filter-parameter-picker.js +63 -22
- package/angular/esm/components/filters.d.ts +21 -7
- package/angular/esm/components/filters.js +41 -5
- package/angular/package.json +2 -2
- package/angular/utils/formula/store/formula-display-store.d.ts +6 -0
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.js +3 -3
- package/components/{ai-chat-BtQaM37y.js → ai-chat-CDSRFmJK.js} +713 -677
- package/components/ai-chat-CVNU2mCV.cjs +319 -0
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +2 -2
- package/components/{ai-interaction-textarea-CQBP9-DW.cjs → ai-interaction-textarea-BXDeplJF.cjs} +1 -1
- package/components/{ai-interaction-textarea-Bgd3y_cP.js → ai-interaction-textarea-BiMbUGCy.js} +3 -3
- package/components/{area-chart-positioning.config-QGEo5sr-.js → area-chart-positioning.config-SLtTkKJB.js} +1 -1
- package/components/{area-chart-positioning.config-1YVSxjRa.cjs → area-chart-positioning.config-dwRUFC--.cjs} +1 -1
- package/components/{bar-chart-positioning.config-Cs56EAWY.cjs → bar-chart-positioning.config-CcQ2iQdl.cjs} +1 -1
- package/components/{bar-chart-positioning.config-KLzBnoCu.js → bar-chart-positioning.config-Ch4sVyJS.js} +1 -1
- package/components/{base-DMQUzJ4L.js → base-2sulw8ws.js} +1 -1
- package/components/{base-DRFleWoz.cjs → base-DYRe99_q.cjs} +1 -1
- package/components/{box-plot-positioning.config-DKGY1Qqb.js → box-plot-positioning.config-Bb7r-Rfl.js} +1 -1
- package/components/{box-plot-positioning.config-BpDEb4Uo.cjs → box-plot-positioning.config-Dwtiqho4.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-BZsvCSyT.cjs → bubble-chart-positioning.config-Bp_l4Cw1.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-CL3mDsC-.js → bubble-chart-positioning.config-Q7mIfpcz.js} +1 -1
- package/components/{bullet-chart-positioning.config-DxXEGnbz.js → bullet-chart-positioning.config-B7aXCajU.js} +1 -1
- package/components/{bullet-chart-positioning.config-DA-1zmsD.cjs → bullet-chart-positioning.config-sj7E3xEM.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-BicHLfN0.js → choropleth-map-positioning.config-CtoJov9H.js} +1 -1
- package/components/{choropleth-map-positioning.config-D_1MCD5i.cjs → choropleth-map-positioning.config-DM-iNbgs.cjs} +1 -1
- package/components/{circle-pack-chart-positioning.config-a_vo4VFg.js → circle-pack-chart-positioning.config-BgxnBOQT.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-oTUkvFFJ.cjs → circle-pack-chart-positioning.config-Cs9xMDpi.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-TG1wPyHz.cjs → circular-gauge-positioning.config-Bzulob5F.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-BEM85XhO.js → circular-gauge-positioning.config-FEkbw6hK.js} +1 -1
- package/components/{column-chart-positioning.config-D1kXKreT.cjs → column-chart-positioning.config-9ho9oUo8.cjs} +1 -1
- package/components/{column-chart-positioning.config-x-wEIoTZ.js → column-chart-positioning.config-BeVOSQaJ.js} +1 -1
- package/components/{combination-chart-positioning.config-COksdK7F.cjs → combination-chart-positioning.config-CaShl4vv.cjs} +1 -1
- package/components/{combination-chart-positioning.config-DLyPa1Im.js → combination-chart-positioning.config-D4VUK54k.js} +1 -1
- package/components/{conditional-number-positioning.config-5SBhp4Kh.cjs → conditional-number-positioning.config-BEMjjhdi.cjs} +1 -1
- package/components/{conditional-number-positioning.config-6ZQHIgAA.js → conditional-number-positioning.config-C-LpjCJN.js} +1 -1
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +2 -2
- package/components/{data-field-D1lrRnLX.js → data-field-Dz0XFrep.js} +3 -3
- package/components/{data-field-D050EJkx.cjs → data-field-lGJ557o4.cjs} +1 -1
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +2 -2
- package/components/{data-field-level-CKlijSjc.cjs → data-field-level-B9r4ucP6.cjs} +1 -1
- package/components/{data-field-level-Da8Pwva2.js → data-field-level-DJoidlHN.js} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +2 -2
- package/components/{data-field-panel-47PGrrIi.cjs → data-field-panel-BzyjbJO5.cjs} +1 -1
- package/components/{data-field-panel-CgqJ1bLg.js → data-field-panel-CdeJxZCr.js} +3 -3
- package/components/data-fields-select/data-fields-select.d.ts +6 -0
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +2 -2
- package/components/data-fields-select-BBzzUG2u.cjs +41 -0
- package/components/{data-fields-select-B40TXGd7.js → data-fields-select-BRBBrS-x.js} +23 -5
- package/components/dataset-icon/index.js +1 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +2 -2
- package/components/{dataset-selector-list-C0dheupb.js → dataset-selector-list-DGCh1bvb.js} +1 -1
- package/components/{dataset-selector-list-CKQ7OgMN.cjs → dataset-selector-list-xF3yKGan.cjs} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +2 -2
- package/components/{dataset-selector-row-DP6QUWYs.js → dataset-selector-row-BbnjxfIz.js} +1 -1
- package/components/{dataset-selector-row-_FZPTBE1.cjs → dataset-selector-row-fmrY3y86.cjs} +1 -1
- package/components/de-BzcAVqyW.cjs +20 -0
- package/components/{de-CPcJgwTx.js → de-CRrCVuH7.js} +15 -0
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +2 -2
- package/components/{display-settings-B-eamVdN.js → display-settings-C9OQ4Eou.js} +3 -3
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +2 -2
- package/components/{display-settings-binning-BGtp0Wvl.js → display-settings-binning-B8E2H5cY.js} +2 -2
- package/components/{display-settings-binning-Cs8MS7BY.cjs → display-settings-binning-BBNL97l9.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +2 -2
- package/components/{display-settings-datetime-CbTnG486.js → display-settings-datetime-BBzvzwl5.js} +2 -2
- package/components/{display-settings-datetime-q20qbrOL.cjs → display-settings-datetime-czjk5Msv.cjs} +1 -1
- package/components/display-settings-eSQCidqh.cjs +140 -0
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +2 -2
- package/components/{display-settings-grand-totals-BDeeC6-h.js → display-settings-grand-totals-CF01m8x-.js} +2 -2
- package/components/{display-settings-grand-totals-DdEXs_mA.cjs → display-settings-grand-totals-RwMnGwFZ.cjs} +1 -1
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +2 -2
- package/components/{display-settings-numeric-C5FlahN_.js → display-settings-numeric-BcpwYX16.js} +2 -2
- package/components/{display-settings-numeric-PtcxP80Z.cjs → display-settings-numeric-C4X7oOEU.cjs} +1 -1
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +2 -2
- package/components/{display-settings-period-over-period-CUlsSQZv.js → display-settings-period-over-period-B8UNYZ0I.js} +2 -2
- package/components/{display-settings-period-over-period-Csv7Kwri.cjs → display-settings-period-over-period-BG9YAcCw.cjs} +1 -1
- package/components/{donut-chart-positioning.config-EudGY45O.js → donut-chart-positioning.config-CaADC7Qr.js} +1 -1
- package/components/{donut-chart-positioning.config-m_uVKoNn.cjs → donut-chart-positioning.config-Dfws3ojS.cjs} +1 -1
- package/components/{es-fXPjX3vY.js → es-BIgv-ijQ.js} +15 -0
- package/components/es-mPmtD7j4.cjs +20 -0
- package/components/{evolution-number-positioning.config-BcLsEydB.js → evolution-number-positioning.config-C-OV1wpL.js} +1 -1
- package/components/{evolution-number-positioning.config-CJii0q3V.cjs → evolution-number-positioning.config-CI_2m2Sr.cjs} +1 -1
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +2 -2
- package/components/{filter-expression-picker-nW1Hff7C.js → filter-expression-picker-CH2Fna8C.js} +1 -1
- package/components/{filter-expression-picker-D28THjzU.cjs → filter-expression-picker-_mfcXZ-n.cjs} +1 -1
- package/components/filter-item/filter-item.d.ts +15 -0
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +2 -2
- package/components/filter-item-5HCSM9cu.cjs +71 -0
- package/components/{filter-item-BoYKU9tK.js → filter-item-CL3S9HOx.js} +100 -41
- package/components/filter-parameter-picker/filter-parameter-picker.d.ts +71 -9
- package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
- package/components/filter-parameter-picker/index.cjs +1 -3
- package/components/filter-parameter-picker/index.d.ts +2 -0
- package/components/filter-parameter-picker/index.js +3 -33
- package/components/filter-parameter-picker/types.d.ts +4 -0
- package/components/filter-parameter-picker-CU48aEOS.js +363 -0
- package/components/filter-parameter-picker-CxbAY5hy.cjs +123 -0
- package/components/filter-value-picker/filter-value-picker.d.ts +1 -0
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +2 -2
- package/components/{filter-value-picker-1kMJ9slB.js → filter-value-picker-CD8DjcHo.js} +5 -5
- package/components/{filter-value-picker-D08bAAKt.cjs → filter-value-picker-CRrUhngj.cjs} +1 -1
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +2 -0
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +2 -2
- package/components/{filter-value-picker-datetime-Cnwlipah.js → filter-value-picker-datetime-DS7IK9aN.js} +2 -2
- package/components/{filter-value-picker-datetime-OIgFSdU2.cjs → filter-value-picker-datetime-dXaHpCRX.cjs} +1 -1
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +2 -0
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +2 -2
- package/components/{filter-value-picker-hierarchy-DdMLbCO3.js → filter-value-picker-hierarchy-k0T56CvH.js} +3 -3
- package/components/{filter-value-picker-hierarchy-BGgHIji-.cjs → filter-value-picker-hierarchy-kwnEzxIk.cjs} +1 -1
- package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +1 -0
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +2 -2
- package/components/{filter-value-picker-numeric-BL2gD2ED.cjs → filter-value-picker-numeric-BVei4Vlc.cjs} +1 -1
- package/components/{filter-value-picker-numeric-BqrsENh6.js → filter-value-picker-numeric-BaQe4r82.js} +2 -2
- package/components/filters/filters.d.ts +38 -4
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.d.ts +4 -1
- package/components/filters/index.js +3 -3
- package/components/filters/transformations/clean-filters.d.ts +37 -0
- package/components/filters/transformations/filter-format.d.ts +54 -0
- package/components/filters/transformations/transform-filters.d.ts +27 -12
- package/components/filters/types.d.ts +48 -3
- package/components/filters-B70hF2NT.js +742 -0
- package/components/filters-ms2gFstA.cjs +153 -0
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +2 -2
- package/components/{formula-CNzBOTRQ.js → formula-DdgD312W.js} +2 -2
- package/components/{formula-codemirror-pnijOvXU.js → formula-codemirror-D3Z1Qa0J.js} +4 -4
- package/components/{formula-codemirror-D1hgPIW_.cjs → formula-codemirror-GoFCSp6r.cjs} +1 -1
- package/components/{formula-display-store-BBMmHCRp.js → formula-display-store-bPGDv_xk.js} +10 -7
- package/components/formula-display-store-eE3zaCyB.cjs +20 -0
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +4 -4
- package/components/{formula-editor-Uejdzkm6.cjs → formula-editor-8wWzGGJr.cjs} +1 -1
- package/components/{formula-editor-DvDB6JYI.js → formula-editor-BnWiiFr5.js} +5 -5
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +2 -2
- package/components/{formula-field-o_zZQACN.js → formula-field-DlEgUu58.js} +1 -1
- package/components/{formula-field-CNyKz9wY.cjs → formula-field-IHf6I8mL.cjs} +1 -1
- package/components/{formula-DeRjtboJ.cjs → formula-glPlLx_5.cjs} +1 -1
- package/components/{formula-input-base-DlVNZBUA.js → formula-input-base-7I069pOJ.js} +1 -1
- package/components/{formula-input-base-fTF1KXpl.cjs → formula-input-base-D5yx7RYX.cjs} +1 -1
- package/components/fr-BHUhOl6R.cjs +20 -0
- package/components/{fr-B50vb6LP.js → fr-CI9fC-NM.js} +15 -0
- package/components/{funnel-chart-positioning.config-B_C8nr1y.js → funnel-chart-positioning.config-CNEeOwuT.js} +1 -1
- package/components/{funnel-chart-positioning.config-DhrMsuyt.cjs → funnel-chart-positioning.config-Cz8gQRh_.cjs} +1 -1
- package/components/{get-dataset-name-DrTVBElb.cjs → get-dataset-name-Bae0I2_J.cjs} +1 -1
- package/components/{get-dataset-name-DYLJB67F.js → get-dataset-name-OJK38mEs.js} +1 -1
- package/components/{groupings-BPlu4GFe.cjs → groupings-B0qMZHSd.cjs} +1 -1
- package/components/{groupings-DAj2iFeA.js → groupings-BZJTnpwR.js} +1 -1
- package/components/{heat-map-positioning.config-Bya2_TR8.cjs → heat-map-positioning.config-CEH6qyrN.cjs} +1 -1
- package/components/{heat-map-positioning.config-Cxembqle.js → heat-map-positioning.config-D-Ba4Ts_.js} +1 -1
- package/components/{heat-table-positioning.config-CNeTnuHy.js → heat-table-positioning.config-DCnowqOc.js} +1 -1
- package/components/{heat-table-positioning.config-CYZr5ksc.cjs → heat-table-positioning.config-DWNETZMx.cjs} +1 -1
- package/components/{hexbin-map-positioning.config-Dfdgub0y.js → hexbin-map-positioning.config-Br0pjvMN.js} +1 -1
- package/components/{hexbin-map-positioning.config-bXZEY4nP.cjs → hexbin-map-positioning.config-DoiUVZ8h.cjs} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +64 -63
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +2 -2
- package/components/{interactive-viz-item-D-hR2G5x.cjs → interactive-viz-item-DZoRqeJW.cjs} +1 -1
- package/components/{interactive-viz-item-C3fzZq7j.js → interactive-viz-item-Dogksvpq.js} +5 -5
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +2 -2
- package/components/{item-grid-BruAZOla.cjs → item-grid-VPRvzGCa.cjs} +1 -1
- package/components/{item-grid-cyMiRw7P.js → item-grid-ZQpp1brq.js} +1 -1
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +2 -2
- package/components/{item-option-CZb01VJb.js → item-option-B9tALelF.js} +1 -1
- package/components/{item-option-BclNWwdZ.cjs → item-option-BRgOBMM0.cjs} +1 -1
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +2 -2
- package/components/{item-option-action-button-group-AkMaJHuv.cjs → item-option-action-button-group-BYE7i8Zd.cjs} +1 -1
- package/components/{item-option-action-button-group-HfUtaTi9.js → item-option-action-button-group-WrHKP761.js} +1 -1
- package/components/{item-option-base-CZegYACf.cjs → item-option-base-CTBIeARi.cjs} +1 -1
- package/components/{item-option-base-DlHZAfWZ.js → item-option-base-CuxvyS-a.js} +1 -1
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +2 -2
- package/components/{item-option-color-palette-picker-B336qQRk.cjs → item-option-color-palette-picker-CyailqDd.cjs} +1 -1
- package/components/{item-option-color-palette-picker-Dt4z0c4W.js → item-option-color-palette-picker-eYAyoXM1.js} +1 -1
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +2 -2
- package/components/{item-option-color-picker-BRO416_T.js → item-option-color-picker-D_x6FgZy.js} +1 -1
- package/components/{item-option-color-picker-Hfu2fhRF.cjs → item-option-color-picker-DsfZKPDo.cjs} +1 -1
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +2 -2
- package/components/{item-option-color-range-DgalNZ9b.js → item-option-color-range-CHSbql1w.js} +1 -1
- package/components/{item-option-color-range-DWoaz57E.cjs → item-option-color-range-tAMMKg6y.cjs} +1 -1
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +2 -2
- package/components/{item-option-multi-language-field-BvJXIFgu.js → item-option-multi-language-field-D51cJ4BM.js} +1 -1
- package/components/{item-option-multi-language-field-IQP6fbgB.cjs → item-option-multi-language-field-DjWm-jWC.cjs} +1 -1
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +2 -2
- package/components/{item-option-number-field-B07NhNSm.cjs → item-option-number-field-Dep43Ym5.cjs} +1 -1
- package/components/{item-option-number-field-CvGknDpu.js → item-option-number-field-Df56sivV.js} +1 -1
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +2 -2
- package/components/{item-option-panel-RYdx8Hfk.js → item-option-panel-BYCfnDeP.js} +3 -3
- package/components/{item-option-panel-BWP9E8cW.cjs → item-option-panel-ClDspg51.cjs} +1 -1
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +2 -2
- package/components/{item-option-picker-DM1pU3w9.js → item-option-picker-BCsB7psT.js} +1 -1
- package/components/{item-option-picker-C7SZfnLP.cjs → item-option-picker-CBfFgSKs.cjs} +1 -1
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +2 -2
- package/components/{item-option-position-picker-BuDvx3SX.js → item-option-position-picker-CXJGmmWF.js} +1 -1
- package/components/{item-option-position-picker-M9CBH9NE.cjs → item-option-position-picker-CYoOkH1m.cjs} +1 -1
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +2 -2
- package/components/{item-option-positions-number-field-C4zW5-Hc.cjs → item-option-positions-number-field-CNUCVm78.cjs} +1 -1
- package/components/{item-option-positions-number-field-RN5AG-Ic.js → item-option-positions-number-field-CkfSHCFO.js} +1 -1
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +2 -2
- package/components/{item-option-radio-button-group-Ce780UyR.js → item-option-radio-button-group-CSyh4eS2.js} +1 -1
- package/components/{item-option-radio-button-group-DRiwqorh.cjs → item-option-radio-button-group-ZIvbpJf9.cjs} +1 -1
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +2 -2
- package/components/item-option-slider/item-option-slider.d.ts +5 -0
- package/components/{item-option-slider-BUdWMAzT.js → item-option-slider-CTt5aYbb.js} +31 -16
- package/components/{item-option-slider-CycHQFnr.cjs → item-option-slider-CaxIGDWN.cjs} +3 -3
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +2 -2
- package/components/{item-option-switch-CvcZSytb.js → item-option-switch-B91r65eW.js} +1 -1
- package/components/{item-option-switch-CM5R8wO_.cjs → item-option-switch-wEx5JkSe.cjs} +1 -1
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +2 -2
- package/components/{item-option-text-field-BZjOilSu.cjs → item-option-text-field-BLcYkH-j.cjs} +1 -1
- package/components/{item-option-text-field-CyuYUITv.js → item-option-text-field-BvSCGhuH.js} +1 -1
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +2 -2
- package/components/{item-slot-drop-C6DO5mPk.js → item-slot-drop-Box1wnvM.js} +5 -5
- package/components/{item-slot-drop-CrzFRobc.cjs → item-slot-drop-n-lD8Zyh.cjs} +1 -1
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +2 -2
- package/components/{item-slot-drop-panel-DvmPk1pJ.js → item-slot-drop-panel-KtZKw0Ly.js} +39 -39
- package/components/{item-slot-drop-panel-ChazcNSe.cjs → item-slot-drop-panel-sCkQ0dUU.cjs} +1 -1
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +2 -2
- package/components/{item-slot-picker-CmG71mGy.js → item-slot-picker-Cm8o4A00.js} +6 -6
- package/components/{item-slot-picker-DQkG3Lt7.cjs → item-slot-picker-DKPE2NQn.cjs} +1 -1
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +2 -2
- package/components/{item-slot-picker-panel-Bi2jXvQA.cjs → item-slot-picker-panel-DK5jRBYs.cjs} +1 -1
- package/components/{item-slot-picker-panel-DmGYI5YI.js → item-slot-picker-panel-DOHi_8UO.js} +3 -3
- package/components/{line-chart-positioning.config-Cqnfz4Lc.cjs → line-chart-positioning.config-C05IZ4Jj.cjs} +1 -1
- package/components/{line-chart-positioning.config-CFHFq0wp.js → line-chart-positioning.config-DQfyOkWV.js} +1 -1
- package/components/{localized-mixin-CUuRZu9t.cjs → localized-mixin-BForHr3t.cjs} +1 -1
- package/components/{localized-mixin-B4fDdsF0.js → localized-mixin-D-vXCJuU.js} +1 -1
- package/components/{marker-map-positioning.config-x3KUsgzD.js → marker-map-positioning.config-CD7n0uLB.js} +1 -1
- package/components/{marker-map-positioning.config-BM-ZrmE9.cjs → marker-map-positioning.config-DOhXf-CR.cjs} +1 -1
- package/components/{nl-Do6FfV7U.js → nl-HLnZHvTS.js} +15 -0
- package/components/nl-NxeHJ8X8.cjs +20 -0
- package/components/{ohlc-chart-positioning.config-C-vx6lt-.js → ohlc-chart-positioning.config-Bl-ckdlQ.js} +1 -1
- package/components/{ohlc-chart-positioning.config-SIhJhFel.cjs → ohlc-chart-positioning.config-CDf77OgH.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-Br1OGTEZ.cjs → parallel-coordinates-plot-positioning.config-DfsKsUdv.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-BaofZgit.js → parallel-coordinates-plot-positioning.config-Tbzzr5L6.js} +1 -1
- package/components/{pivot-table-positioning.config-BaBkuXV0.cjs → pivot-table-positioning.config-DwuKN2xz.cjs} +1 -1
- package/components/{pivot-table-positioning.config-DeeS1MaO.js → pivot-table-positioning.config-_YDPeFQz.js} +1 -1
- package/components/{pyramid-chart-positioning.config-g55mkotb.cjs → pyramid-chart-positioning.config-7AJy2_zR.cjs} +1 -1
- package/components/{pyramid-chart-positioning.config-D14NnyH1.js → pyramid-chart-positioning.config-Btm_8m46.js} +1 -1
- package/components/{radar-chart-positioning.config-CWGfQ7-j.cjs → radar-chart-positioning.config-7Kx_uKbW.cjs} +1 -1
- package/components/{radar-chart-positioning.config-C9fiYOnB.js → radar-chart-positioning.config-DWziVqMW.js} +1 -1
- package/components/{route-map-positioning.config-Cd4azpuW.js → route-map-positioning.config-C4-2zLGp.js} +1 -1
- package/components/{route-map-positioning.config-Dswq4pH_.cjs → route-map-positioning.config-DDgEAW4k.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-CAHzdKBq.cjs → sankey-diagram-positioning.config-BxVJaOKN.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-CzGCvTeX.js → sankey-diagram-positioning.config-DQcUg8Cg.js} +1 -1
- package/components/{scatter-plot-positioning.config-CrVJZ-X9.cjs → scatter-plot-positioning.config-D3xI_5P8.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-C7nu7quv.js → scatter-plot-positioning.config-DOgeShUF.js} +1 -1
- package/components/{set-locale-DBVSKk_b.js → set-locale-D9gR8t-s.js} +4 -4
- package/components/{set-locale-1r0lDa7J.cjs → set-locale-MQpiifTB.cjs} +1 -1
- package/components/{slicer-filter-positioning.config-7sucz3_y.js → slicer-filter-positioning.config-CiHfPrM5.js} +1 -1
- package/components/{slicer-filter-positioning.config-D9Tehydc.cjs → slicer-filter-positioning.config-bN36DdLc.cjs} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +2 -2
- package/components/{slot-menu-AavTGkLk.cjs → slot-menu-K5QiEu6o.cjs} +1 -1
- package/components/{slot-menu-Dz-O1ypQ.js → slot-menu-Qy35BZZ_.js} +3 -3
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +2 -2
- package/components/{slot-menu-list-BegM0w8C.js → slot-menu-list-BKMbIFg1.js} +1 -1
- package/components/{slot-menu-list-Cahst0TY.cjs → slot-menu-list-DmQe7882.cjs} +1 -1
- package/components/{speedometer-chart-positioning.config-DiDSe44G.js → speedometer-chart-positioning.config-B7M91sKN.js} +1 -1
- package/components/{speedometer-chart-positioning.config-CZgXkEsG.cjs → speedometer-chart-positioning.config-Ce70l0Ei.cjs} +1 -1
- package/components/{spike-map-positioning.config-RExJASrJ.cjs → spike-map-positioning.config-D3wIf0RU.cjs} +1 -1
- package/components/{spike-map-positioning.config-W-xJbchu.js → spike-map-positioning.config-Qf4LOPvB.js} +1 -1
- package/components/{strip-plot-positioning.config-C70pTRqg.cjs → strip-plot-positioning.config-BIoncLjm.cjs} +1 -1
- package/components/{strip-plot-positioning.config-DsKb9ton.js → strip-plot-positioning.config-MbfBVHf8.js} +1 -1
- package/components/{sunburst-chart-positioning.config-BAhEnZtE.js → sunburst-chart-positioning.config-CqyXZPxE.js} +1 -1
- package/components/{sunburst-chart-positioning.config-BHvaDZCC.cjs → sunburst-chart-positioning.config-zqPLL8yF.cjs} +1 -1
- package/components/{symbol-map-positioning.config-B2RZQPND.cjs → symbol-map-positioning.config-CQ4Vxu96.cjs} +1 -1
- package/components/{symbol-map-positioning.config-DNPiG975.js → symbol-map-positioning.config-plXDTBA3.js} +1 -1
- package/components/{treemap-chart-positioning.config-C0LbkC6B.js → treemap-chart-positioning.config-BTGBN1f9.js} +1 -1
- package/components/{treemap-chart-positioning.config-CIYguC9V.cjs → treemap-chart-positioning.config-CSZXzuT5.cjs} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/{utils-Cx4X0PBr.cjs → utils-BDvDwAn7.cjs} +1 -1
- package/components/{utils-C8ATDm66.js → utils-Z9xbTTWG.js} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +2 -2
- package/components/{venn-diagram-positioning.config-CGmfYuoj.cjs → venn-diagram-positioning.config-C4vcZDtW.cjs} +1 -1
- package/components/{venn-diagram-positioning.config-CPUT2LXS.js → venn-diagram-positioning.config-fPvrjtfX.js} +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +2 -2
- package/components/{viz-item-menu-BKXdr3_Q.cjs → viz-item-menu-DxA295eM.cjs} +1 -1
- package/components/{viz-item-menu-XoCSn7z_.js → viz-item-menu-vckPQBdf.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-roHRUT_m.cjs → wordcloud-chart-positioning.config-Cf1ErL-B.cjs} +1 -1
- package/components/{wordcloud-chart-positioning.config-CqCOWKL4.js → wordcloud-chart-positioning.config-ChUx_Ahc.js} +1 -1
- package/custom-elements.json +1325 -122
- package/index.d.ts +1 -0
- package/package.json +5 -5
- package/react/components/filter-parameter-picker.component.ts +15 -4
- package/react/components/filters.component.ts +9 -3
- package/react/esm/components/filter-parameter-picker.component.d.ts +11 -3
- package/react/esm/components/filter-parameter-picker.component.js +9 -1
- package/react/esm/components/filters.component.d.ts +10 -2
- package/react/esm/components/filters.component.js +6 -2
- package/react/luzmo-stub.d.ts +2 -1
- package/react/package.json +2 -2
- package/storybook/register-components.d.ts +18 -13
- package/utils/formula/store/formula-display-store.d.ts +6 -0
- package/components/ai-chat-CBLWbv9C.cjs +0 -319
- package/components/data-fields-select-CQVqxMCS.cjs +0 -41
- package/components/de-CFFG1QN7.cjs +0 -20
- package/components/display-settings-1AdcENcv.cjs +0 -140
- package/components/es-Bd7rtLnM.cjs +0 -20
- package/components/filter-item-BirgEXGE.cjs +0 -58
- package/components/filters-BLss6wBx.js +0 -407
- package/components/filters-rjc5xsF_.cjs +0 -150
- package/components/formula-display-store-Dn7r5kK8.cjs +0 -20
- package/components/fr-kmzf1vls.cjs +0 -20
- package/components/nl-FcPtgtcL.cjs +0 -20
package/components/{filter-expression-picker-D28THjzU.cjs → filter-expression-picker-_mfcXZ-n.cjs}
RENAMED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-CUuRZu9t.cjs");let n=require("lit"),r=require("lit/decorators.js"),i=require("@lit/localize");require("@luzmo/lucero/select"),require("@luzmo/lucero/field-label");let a=require("@luzmo/lucero/utils");require("@luzmo/lucero/menu");var o=()=>[{id:`? = ?`,key:`? = ?`,expression:`? = ?`,name:(0,i.msg)(`equals`,{desc:`Filter expression for equals comparison`}),description:(0,i.msg)(`equals`,{desc:`Filter expression for equals comparison`}),tiny:(0,i.msg)(`eq`,{desc:`Short form of equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? != ?`,key:`? != ?`,expression:`? != ?`,name:(0,i.msg)(`not equals`,{desc:`Filter expression for not equals comparison`}),description:(0,i.msg)(`not equals`,{desc:`Filter expression for not equals comparison`}),tiny:(0,i.msg)(`not eq`,{desc:`Short form of not equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? in ?`,key:`? in ?`,expression:`? in ?`,name:(0,i.msg)(`is in`,{desc:`Filter expression for in comparison`}),description:(0,i.msg)(`is in`,{desc:`Filter expression for in comparison`}),tiny:(0,i.msg)(`is in`,{desc:`Filter expression for in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? not in ?`,key:`? not in ?`,expression:`? not in ?`,name:(0,i.msg)(`is not in`,{desc:`Filter expression for not in comparison`}),description:(0,i.msg)(`is not in`,{desc:`Filter expression for not in comparison`}),tiny:(0,i.msg)(`is not in`,{desc:`Filter expression for not in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? like ?`,key:`? like ?`,expression:`? like ?`,name:(0,i.msg)(`contains`,{desc:`Filter expression for contains comparison`}),description:(0,i.msg)(`contains`,{desc:`Filter expression for contains comparison`}),tiny:(0,i.msg)(`cont`,{desc:`Short form of contains comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not like ?`,key:`? not like ?`,expression:`? not like ?`,name:(0,i.msg)(`does not contain`,{desc:`Filter expression for does not contain comparison`}),description:(0,i.msg)(`does not contain`,{desc:`Filter expression for does not contain comparison`}),tiny:(0,i.msg)(`not cont`,{desc:`Short form of does not contain comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? starts with ?`,key:`? starts with ?`,expression:`? starts with ?`,name:(0,i.msg)(`starts with`,{desc:`Filter expression for starts with comparison`}),description:(0,i.msg)(`starts with`,{desc:`Filter expression for starts with comparison`}),tiny:(0,i.msg)(`starts with`,{desc:`Filter expression for starts with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not starts with ?`,key:`? not starts with ?`,expression:`? not starts with ?`,name:(0,i.msg)(`does not start with`,{desc:`Filter expression for does not start with comparison`}),description:(0,i.msg)(`does not start with`,{desc:`Filter expression for does not start with comparison`}),tiny:(0,i.msg)(`not starts with`,{desc:`Short form of does not start with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? ends with ?`,key:`? ends with ?`,expression:`? ends with ?`,name:(0,i.msg)(`ends with`,{desc:`Filter expression for ends with comparison`}),description:(0,i.msg)(`ends with`,{desc:`Filter expression for ends with comparison`}),tiny:(0,i.msg)(`ends with`,{desc:`Filter expression for ends with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not ends with ?`,key:`? not ends with ?`,expression:`? not ends with ?`,name:(0,i.msg)(`does not end with`,{desc:`Filter expression for does not end with comparison`}),description:(0,i.msg)(`does not end with`,{desc:`Filter expression for does not end with comparison`}),tiny:(0,i.msg)(`not ends with`,{desc:`Short form of does not end with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? < ?`,key:`? < ?`,expression:`? < ?`,name:(0,i.msg)(`less than`,{desc:`Filter expression for less than comparison`}),description:(0,i.msg)(`less than`,{desc:`Filter expression for less than comparison`}),tiny:`<`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? <= ?`,key:`? <= ?`,expression:`? <= ?`,name:(0,i.msg)(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),description:(0,i.msg)(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),tiny:`<=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? > ?`,key:`? > ?`,expression:`? > ?`,name:(0,i.msg)(`greater than`,{desc:`Filter expression for greater than comparison`}),description:(0,i.msg)(`greater than`,{desc:`Filter expression for greater than comparison`}),tiny:`>`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? >= ?`,key:`? >= ?`,expression:`? >= ?`,name:(0,i.msg)(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),description:(0,i.msg)(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),tiny:`>=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? between ?`,key:`? between ?`,expression:`? between ?`,name:(0,i.msg)(`is between`,{desc:`Filter expression for between comparison`}),description:(0,i.msg)(`is between`,{desc:`Filter expression for between comparison`}),tiny:(0,i.msg)(`between`,{desc:`Short form of between comparison in filter expression`}),type:[],subtype:[`ip_address`]},{id:`last_now`,key:`last_now`,expression:`last_now`,name:(0,i.msg)(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),description:(0,i.msg)(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),tiny:(0,i.msg)(`last`,{desc:`Short form of last (x) periods in filter expression`}),type:[`datetime`]},{id:`last_available`,key:`last_available`,expression:`last_available`,name:(0,i.msg)(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),description:(0,i.msg)(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),tiny:(0,i.msg)(`last available`,{desc:`Short form of last (x) available periods in filter expression`}),type:[`datetime`]},{id:`last_completed`,key:`last_completed`,expression:`last_completed`,name:(0,i.msg)(`last completed period`,{desc:`Filter expression for last completed period`}),description:(0,i.msg)(`last completed (period)`,{desc:`Filter expression for last completed period`}),tiny:(0,i.msg)(`last completed`,{desc:`Short form of last completed period in filter expression`}),type:[`datetime`]},{id:`next_now`,key:`next_now`,expression:`next_now`,name:(0,i.msg)(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),description:(0,i.msg)(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),tiny:(0,i.msg)(`next`,{desc:`Short form of next (x) periods in filter expression`}),type:[`datetime`]},{id:`more_than_ago`,key:`more_than_ago`,expression:`more_than_ago`,name:(0,i.msg)(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),description:(0,i.msg)(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),tiny:(0,i.msg)(`more than ago`,{desc:`Short form of more than (x) periods ago in filter expression`}),type:[`datetime`]},{id:`or_more_ago`,key:`or_more_ago`,expression:`or_more_ago`,name:(0,i.msg)(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),description:(0,i.msg)(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),tiny:(0,i.msg)(`or more ago`,{desc:`Short form of (x) periods or more ago in filter expression`}),type:[`datetime`]},{id:`next_full`,key:`next_full`,expression:`next_full`,name:(0,i.msg)(`next full (period)`,{desc:`Filter expression for next full period`}),description:(0,i.msg)(`next full (period)`,{desc:`Filter expression for next full period`}),tiny:(0,i.msg)(`next full`,{desc:`Short form of next full period in filter expression`}),type:[`datetime`]},{id:`WTD`,key:`to_date`,expression:`to_date`,unit:4,name:(0,i.msg)(`week to date`,{desc:`Filter expression for week to date`}),description:(0,i.msg)(`week to date`,{desc:`Filter expression for week to date`}),tiny:(0,i.msg)(`WTD`,{desc:`Short form of week to date in filter expression`}),type:[`datetime`]},{id:`MTD`,key:`to_date`,expression:`to_date`,unit:3,name:(0,i.msg)(`month to date`,{desc:`Filter expression for month to date`}),description:(0,i.msg)(`month to date`,{desc:`Filter expression for month to date`}),tiny:(0,i.msg)(`MTD`,{desc:`Short form of month to date in filter expression`}),type:[`datetime`]},{id:`QTD`,key:`to_date`,expression:`to_date`,unit:2,name:(0,i.msg)(`quarter to date`,{desc:`Filter expression for quarter to date`}),description:(0,i.msg)(`quarter to date`,{desc:`Filter expression for quarter to date`}),tiny:(0,i.msg)(`QTD`,{desc:`Short form of quarter to date in filter expression`}),type:[`datetime`]},{id:`YTD`,key:`to_date`,expression:`to_date`,unit:1,name:(0,i.msg)(`year to date`,{desc:`Filter expression for year to date`}),description:(0,i.msg)(`year to date`,{desc:`Filter expression for year to date`}),tiny:(0,i.msg)(`YTD`,{desc:`Short form of year to date in filter expression`}),type:[`datetime`]},{id:`? is null`,key:`? is null`,expression:`? is null`,name:(0,i.msg)(`is missing`,{desc:`Filter expression for is missing`}),description:(0,i.msg)(`is missing`,{desc:`Filter expression for is missing`}),tiny:(0,i.msg)(`missing`,{desc:`Short form of is missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]},{id:`? is not null`,key:`? is not null`,expression:`? is not null`,name:(0,i.msg)(`is not missing`,{desc:`Filter expression for is not missing`}),description:(0,i.msg)(`is not missing`,{desc:`Filter expression for is not missing`}),tiny:(0,i.msg)(`not missing`,{desc:`Short form of is not missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]}],s=(e,t,n)=>{let r=new Set([`? in ?`,`? not in ?`]);return!e&&!t?o():o().filter(i=>(e&&i.type.includes(e)||t&&i.subtype?.includes(t))&&!(n&&r.has(i.key)))},c=`:host{font-family:var(--luzmo-font-family);--var:blue}`,l=class extends t.t((0,a.SizedMixin)(a.LuzmoElement,{validSizes:Object.values(a.ElementSizes)})){constructor(...e){super(...e),this.hasLabel=!1,this.allowEmpty=!1,this.placeholder=``,this.disabled=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=o()}static get styles(){return[(0,n.unsafeCSS)(c)]}_sendChangeEvent(){if(this.disabled)return;let e={expression:this.filter?.expression};this.filter?.parameters?.[1]?.unit&&(e.unit=this.filter?.parameters?.[1]?.unit),this.dispatchEvent(new CustomEvent(`luzmo-expression-selected`,{bubbles:!0,composed:!0,cancelable:!0,detail:e}))}setExpression(e){this._richExpression=e?.detail?.value?.[0];let t=this._expressionConfigurations.find(e=>e.id===this._richExpression),n=structuredClone(this.filter);n.expression=t?.expression,t?.unit&&(this._unit=t.unit,n?.parameters[0]&&(n.parameters[1]={unit:this._unit})),this.filter=n,this._sendChangeEvent()}willUpdate(e){super.willUpdate(e);let t=e.has(`filter`),n=e.has(`type`),r=e.has(`subtype`),i=e.has(`isFormula`),a=s(this.type,this.subtype,this.isFormula),o=[`YTD`,`QTD`,`MTD`,`WTD`];if(this.filter?.expression===`to_date`){let e=this.filter?.parameters[1]?.unit??1;this._unit=e,this._richExpression=o[e-1]??`YTD`}else this._richExpression=this.filter?.expression;(n||r||i||t)&&this.filter&&!this.disabled&&!a?.find(e=>e.expression===this.filter?.expression)?(this.invalid=!0,console.warn(`Warning: ${this.filter?.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!this.filter?.expression&&!this.allowEmpty&&(this._richExpression=a?.[0]?.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){let e=s(this.type,this.subtype,this.isFormula)?.map(e=>({value:e.id,label:e.description,shortLabel:e.tiny})),t=this.disabled||!this.filter?.expression&&!this.allowEmpty,r=n.html`<luzmo-field-label
|
|
20
|
+
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-BForHr3t.cjs");let n=require("lit"),r=require("lit/decorators.js"),i=require("@lit/localize");require("@luzmo/lucero/select"),require("@luzmo/lucero/field-label");let a=require("@luzmo/lucero/utils");require("@luzmo/lucero/menu");var o=()=>[{id:`? = ?`,key:`? = ?`,expression:`? = ?`,name:(0,i.msg)(`equals`,{desc:`Filter expression for equals comparison`}),description:(0,i.msg)(`equals`,{desc:`Filter expression for equals comparison`}),tiny:(0,i.msg)(`eq`,{desc:`Short form of equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? != ?`,key:`? != ?`,expression:`? != ?`,name:(0,i.msg)(`not equals`,{desc:`Filter expression for not equals comparison`}),description:(0,i.msg)(`not equals`,{desc:`Filter expression for not equals comparison`}),tiny:(0,i.msg)(`not eq`,{desc:`Short form of not equals comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? in ?`,key:`? in ?`,expression:`? in ?`,name:(0,i.msg)(`is in`,{desc:`Filter expression for in comparison`}),description:(0,i.msg)(`is in`,{desc:`Filter expression for in comparison`}),tiny:(0,i.msg)(`is in`,{desc:`Filter expression for in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? not in ?`,key:`? not in ?`,expression:`? not in ?`,name:(0,i.msg)(`is not in`,{desc:`Filter expression for not in comparison`}),description:(0,i.msg)(`is not in`,{desc:`Filter expression for not in comparison`}),tiny:(0,i.msg)(`is not in`,{desc:`Filter expression for not in comparison`}),type:[`numeric`,`hierarchy`],subtype:[`ip_address`]},{id:`? like ?`,key:`? like ?`,expression:`? like ?`,name:(0,i.msg)(`contains`,{desc:`Filter expression for contains comparison`}),description:(0,i.msg)(`contains`,{desc:`Filter expression for contains comparison`}),tiny:(0,i.msg)(`cont`,{desc:`Short form of contains comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not like ?`,key:`? not like ?`,expression:`? not like ?`,name:(0,i.msg)(`does not contain`,{desc:`Filter expression for does not contain comparison`}),description:(0,i.msg)(`does not contain`,{desc:`Filter expression for does not contain comparison`}),tiny:(0,i.msg)(`not cont`,{desc:`Short form of does not contain comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? starts with ?`,key:`? starts with ?`,expression:`? starts with ?`,name:(0,i.msg)(`starts with`,{desc:`Filter expression for starts with comparison`}),description:(0,i.msg)(`starts with`,{desc:`Filter expression for starts with comparison`}),tiny:(0,i.msg)(`starts with`,{desc:`Filter expression for starts with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not starts with ?`,key:`? not starts with ?`,expression:`? not starts with ?`,name:(0,i.msg)(`does not start with`,{desc:`Filter expression for does not start with comparison`}),description:(0,i.msg)(`does not start with`,{desc:`Filter expression for does not start with comparison`}),tiny:(0,i.msg)(`not starts with`,{desc:`Short form of does not start with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? ends with ?`,key:`? ends with ?`,expression:`? ends with ?`,name:(0,i.msg)(`ends with`,{desc:`Filter expression for ends with comparison`}),description:(0,i.msg)(`ends with`,{desc:`Filter expression for ends with comparison`}),tiny:(0,i.msg)(`ends with`,{desc:`Filter expression for ends with comparison`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? not ends with ?`,key:`? not ends with ?`,expression:`? not ends with ?`,name:(0,i.msg)(`does not end with`,{desc:`Filter expression for does not end with comparison`}),description:(0,i.msg)(`does not end with`,{desc:`Filter expression for does not end with comparison`}),tiny:(0,i.msg)(`not ends with`,{desc:`Short form of does not end with comparison in filter expression`}),type:[`hierarchy`],subtype:[`ip_address`]},{id:`? < ?`,key:`? < ?`,expression:`? < ?`,name:(0,i.msg)(`less than`,{desc:`Filter expression for less than comparison`}),description:(0,i.msg)(`less than`,{desc:`Filter expression for less than comparison`}),tiny:`<`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? <= ?`,key:`? <= ?`,expression:`? <= ?`,name:(0,i.msg)(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),description:(0,i.msg)(`less than or equal`,{desc:`Filter expression for less than or equal comparison`}),tiny:`<=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? > ?`,key:`? > ?`,expression:`? > ?`,name:(0,i.msg)(`greater than`,{desc:`Filter expression for greater than comparison`}),description:(0,i.msg)(`greater than`,{desc:`Filter expression for greater than comparison`}),tiny:`>`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? >= ?`,key:`? >= ?`,expression:`? >= ?`,name:(0,i.msg)(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),description:(0,i.msg)(`greater than or equal`,{desc:`Filter expression for greater than or equal comparison`}),tiny:`>=`,type:[`numeric`,`datetime`],subtype:[`ip_address`]},{id:`? between ?`,key:`? between ?`,expression:`? between ?`,name:(0,i.msg)(`is between`,{desc:`Filter expression for between comparison`}),description:(0,i.msg)(`is between`,{desc:`Filter expression for between comparison`}),tiny:(0,i.msg)(`between`,{desc:`Short form of between comparison in filter expression`}),type:[],subtype:[`ip_address`]},{id:`last_now`,key:`last_now`,expression:`last_now`,name:(0,i.msg)(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),description:(0,i.msg)(`last (x) periods`,{desc:`Filter expression for last (x) periods`}),tiny:(0,i.msg)(`last`,{desc:`Short form of last (x) periods in filter expression`}),type:[`datetime`]},{id:`last_available`,key:`last_available`,expression:`last_available`,name:(0,i.msg)(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),description:(0,i.msg)(`last (x) available periods`,{desc:`Filter expression for last (x) available periods`}),tiny:(0,i.msg)(`last available`,{desc:`Short form of last (x) available periods in filter expression`}),type:[`datetime`]},{id:`last_completed`,key:`last_completed`,expression:`last_completed`,name:(0,i.msg)(`last completed period`,{desc:`Filter expression for last completed period`}),description:(0,i.msg)(`last completed (period)`,{desc:`Filter expression for last completed period`}),tiny:(0,i.msg)(`last completed`,{desc:`Short form of last completed period in filter expression`}),type:[`datetime`]},{id:`next_now`,key:`next_now`,expression:`next_now`,name:(0,i.msg)(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),description:(0,i.msg)(`next (x) periods`,{desc:`Filter expression for next (x) periods`}),tiny:(0,i.msg)(`next`,{desc:`Short form of next (x) periods in filter expression`}),type:[`datetime`]},{id:`more_than_ago`,key:`more_than_ago`,expression:`more_than_ago`,name:(0,i.msg)(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),description:(0,i.msg)(`more than (x) periods ago`,{desc:`Filter expression for more than (x) periods ago`}),tiny:(0,i.msg)(`more than ago`,{desc:`Short form of more than (x) periods ago in filter expression`}),type:[`datetime`]},{id:`or_more_ago`,key:`or_more_ago`,expression:`or_more_ago`,name:(0,i.msg)(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),description:(0,i.msg)(`(x) periods or more ago`,{desc:`Filter expression for (x) periods or more ago`}),tiny:(0,i.msg)(`or more ago`,{desc:`Short form of (x) periods or more ago in filter expression`}),type:[`datetime`]},{id:`next_full`,key:`next_full`,expression:`next_full`,name:(0,i.msg)(`next full (period)`,{desc:`Filter expression for next full period`}),description:(0,i.msg)(`next full (period)`,{desc:`Filter expression for next full period`}),tiny:(0,i.msg)(`next full`,{desc:`Short form of next full period in filter expression`}),type:[`datetime`]},{id:`WTD`,key:`to_date`,expression:`to_date`,unit:4,name:(0,i.msg)(`week to date`,{desc:`Filter expression for week to date`}),description:(0,i.msg)(`week to date`,{desc:`Filter expression for week to date`}),tiny:(0,i.msg)(`WTD`,{desc:`Short form of week to date in filter expression`}),type:[`datetime`]},{id:`MTD`,key:`to_date`,expression:`to_date`,unit:3,name:(0,i.msg)(`month to date`,{desc:`Filter expression for month to date`}),description:(0,i.msg)(`month to date`,{desc:`Filter expression for month to date`}),tiny:(0,i.msg)(`MTD`,{desc:`Short form of month to date in filter expression`}),type:[`datetime`]},{id:`QTD`,key:`to_date`,expression:`to_date`,unit:2,name:(0,i.msg)(`quarter to date`,{desc:`Filter expression for quarter to date`}),description:(0,i.msg)(`quarter to date`,{desc:`Filter expression for quarter to date`}),tiny:(0,i.msg)(`QTD`,{desc:`Short form of quarter to date in filter expression`}),type:[`datetime`]},{id:`YTD`,key:`to_date`,expression:`to_date`,unit:1,name:(0,i.msg)(`year to date`,{desc:`Filter expression for year to date`}),description:(0,i.msg)(`year to date`,{desc:`Filter expression for year to date`}),tiny:(0,i.msg)(`YTD`,{desc:`Short form of year to date in filter expression`}),type:[`datetime`]},{id:`? is null`,key:`? is null`,expression:`? is null`,name:(0,i.msg)(`is missing`,{desc:`Filter expression for is missing`}),description:(0,i.msg)(`is missing`,{desc:`Filter expression for is missing`}),tiny:(0,i.msg)(`missing`,{desc:`Short form of is missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]},{id:`? is not null`,key:`? is not null`,expression:`? is not null`,name:(0,i.msg)(`is not missing`,{desc:`Filter expression for is not missing`}),description:(0,i.msg)(`is not missing`,{desc:`Filter expression for is not missing`}),tiny:(0,i.msg)(`not missing`,{desc:`Short form of is not missing in filter expression`}),type:[`numeric`,`datetime`,`hierarchy`,`spatial`],subtype:[`ip_address`]}],s=(e,t,n)=>{let r=new Set([`? in ?`,`? not in ?`]);return!e&&!t?o():o().filter(i=>(e&&i.type.includes(e)||t&&i.subtype?.includes(t))&&!(n&&r.has(i.key)))},c=`:host{font-family:var(--luzmo-font-family);--var:blue}`,l=class extends t.t((0,a.SizedMixin)(a.LuzmoElement,{validSizes:Object.values(a.ElementSizes)})){constructor(...e){super(...e),this.hasLabel=!1,this.allowEmpty=!1,this.placeholder=``,this.disabled=!1,this.invalid=!1,this.isFormula=!1,this._expressionConfigurations=o()}static get styles(){return[(0,n.unsafeCSS)(c)]}_sendChangeEvent(){if(this.disabled)return;let e={expression:this.filter?.expression};this.filter?.parameters?.[1]?.unit&&(e.unit=this.filter?.parameters?.[1]?.unit),this.dispatchEvent(new CustomEvent(`luzmo-expression-selected`,{bubbles:!0,composed:!0,cancelable:!0,detail:e}))}setExpression(e){this._richExpression=e?.detail?.value?.[0];let t=this._expressionConfigurations.find(e=>e.id===this._richExpression),n=structuredClone(this.filter);n.expression=t?.expression,t?.unit&&(this._unit=t.unit,n?.parameters[0]&&(n.parameters[1]={unit:this._unit})),this.filter=n,this._sendChangeEvent()}willUpdate(e){super.willUpdate(e);let t=e.has(`filter`),n=e.has(`type`),r=e.has(`subtype`),i=e.has(`isFormula`),a=s(this.type,this.subtype,this.isFormula),o=[`YTD`,`QTD`,`MTD`,`WTD`];if(this.filter?.expression===`to_date`){let e=this.filter?.parameters[1]?.unit??1;this._unit=e,this._richExpression=o[e-1]??`YTD`}else this._richExpression=this.filter?.expression;(n||r||i||t)&&this.filter&&!this.disabled&&!a?.find(e=>e.expression===this.filter?.expression)?(this.invalid=!0,console.warn(`Warning: ${this.filter?.expression} is not valid given the type: ${this.type} and subtype: ${this.subtype}`)):this.invalid=!1,!this.filter?.expression&&!this.allowEmpty&&(this._richExpression=a?.[0]?.id,this.filter={...this.filter,expression:this._richExpression},this._sendChangeEvent())}render(){let e=s(this.type,this.subtype,this.isFormula)?.map(e=>({value:e.id,label:e.description,shortLabel:e.tiny})),t=this.disabled||!this.filter?.expression&&!this.allowEmpty,r=n.html`<luzmo-field-label
|
|
21
21
|
for="expression"
|
|
22
22
|
size=${this.size}
|
|
23
23
|
>${this.label??(0,i.msg)(`Select an expression`,{desc:`Label for expression picker`})}</luzmo-field-label
|
|
@@ -3,6 +3,7 @@ import { LuzmoElement } from '@luzmo/lucero/utils';
|
|
|
3
3
|
import './../data-fields-select';
|
|
4
4
|
import './../filter-expression-picker';
|
|
5
5
|
import './../filter-value-picker';
|
|
6
|
+
import type { FilterParameter } from './../filters/types';
|
|
6
7
|
declare const LuzmoFilterItem_base: (new (...args: any[]) => {
|
|
7
8
|
language: string;
|
|
8
9
|
}) & typeof LuzmoElement & {
|
|
@@ -12,6 +13,9 @@ declare const LuzmoFilterItem_base: (new (...args: any[]) => {
|
|
|
12
13
|
/**
|
|
13
14
|
* @customElement luzmo-filter-item
|
|
14
15
|
* @fires {CustomEvent} luzmo-filter-changed - Fired when any part of the filter changes; `detail.filter` holds the updated filter.
|
|
16
|
+
* @cssprop --luzmo-filter-item-gap - Gap between the field, expression and value controls of a filter row.
|
|
17
|
+
* @cssprop --luzmo-filter-item-field-min-width - Smallest width the data field select may shrink to in a narrow filter row.
|
|
18
|
+
* @cssprop --luzmo-filter-item-value-min-width - Smallest width of the value and parameter button cell in a narrow filter row.
|
|
15
19
|
*/
|
|
16
20
|
export declare class LuzmoFilterItem extends LuzmoFilterItem_base {
|
|
17
21
|
static get styles(): CSSResultArray;
|
|
@@ -51,6 +55,14 @@ export declare class LuzmoFilterItem extends LuzmoFilterItem_base {
|
|
|
51
55
|
* The filter to display
|
|
52
56
|
*/
|
|
53
57
|
filter: any;
|
|
58
|
+
/**
|
|
59
|
+
* Whether parameter-backed filter values can be created and selected.
|
|
60
|
+
*/
|
|
61
|
+
allowParameters: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Consumer-owned parameter definitions available for selection.
|
|
64
|
+
*/
|
|
65
|
+
parameters: FilterParameter[];
|
|
54
66
|
private _type?;
|
|
55
67
|
private _subType?;
|
|
56
68
|
private _isFormula?;
|
|
@@ -71,6 +83,8 @@ export declare class LuzmoFilterItem extends LuzmoFilterItem_base {
|
|
|
71
83
|
private setFilterDataField;
|
|
72
84
|
private setFilterExpression;
|
|
73
85
|
private setFilterValue;
|
|
86
|
+
private handleFilterParameterSelected;
|
|
87
|
+
private handleFilterParameterRemoved;
|
|
74
88
|
/**
|
|
75
89
|
* Check if the column/formula in the filter cannot be referenced
|
|
76
90
|
* (because datasetIds is empty or the column doesn't exist in loaded datasets)
|
|
@@ -79,6 +93,7 @@ export declare class LuzmoFilterItem extends LuzmoFilterItem_base {
|
|
|
79
93
|
protected renderDataFieldPicker(): TemplateResult<1>;
|
|
80
94
|
protected renderExpressionPicker(): TemplateResult<1>;
|
|
81
95
|
protected renderValuePicker(): TemplateResult<1>;
|
|
96
|
+
protected renderParameterPicker(): TemplateResult | null;
|
|
82
97
|
protected render(): TemplateResult;
|
|
83
98
|
}
|
|
84
99
|
export {};
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../filter-item-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../filter-item-5HCSM9cu.cjs");Object.defineProperty(exports,"LuzmoFilterItem",{enumerable:!0,get:function(){return e.t}});
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
(function() {
|
|
22
22
|
if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
|
|
23
23
|
let e = document.createElement("style");
|
|
24
|
-
e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
|
|
24
|
+
e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-shadow-color-rgb: 0, 0, 0;--luzmo-shadow-opacity: 0.1;--luzmo-shadow-color: rgba(var(--luzmo-shadow-color-rgb), var(--luzmo-shadow-opacity));--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
|
|
25
25
|
}
|
|
26
26
|
})();
|
|
27
|
-
import { t as e } from "../filter-item-
|
|
27
|
+
import { t as e } from "../filter-item-CL3S9HOx.js";
|
|
28
28
|
export { e as LuzmoFilterItem };
|
|
@@ -0,0 +1,71 @@
|
|
|
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-BForHr3t.cjs"),n=require("./data-broker-DWEXs6-2.cjs"),r=require("./type-check-BehV9ZL1.cjs"),i=require("./filter-expression-picker-_mfcXZ-n.cjs");require("./data-fields-select-BBzzUG2u.cjs");const a=require("./filter-parameter-picker-CxbAY5hy.cjs");require("./filter-value-picker-CRrUhngj.cjs");let o=require("lit"),s=require("lit/decorators.js"),c=require("@lit/localize"),l=require("@luzmo/lucero/utils"),u=require("lit/directives/if-defined.js");var d=`:host{box-sizing:border-box;flex-direction:row;min-width:0;max-width:100%;display:flex}[role=group]{box-sizing:border-box;align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-flow:wrap;width:100%;min-width:0;max-width:100%;display:flex}luzmo-data-fields-select{min-width:min(100%, var(--luzmo-filter-item-field-min-width,var(--filter-item-field-min-width)));flex:0 auto;max-width:100%}luzmo-filter-expression-picker{flex:none;max-width:100%}.value-controls{align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));min-width:min(100%, var(--luzmo-filter-item-value-min-width,var(--filter-item-value-min-width)));flex-wrap:nowrap;flex:0 auto;max-width:100%;display:flex}luzmo-filter-value-picker,luzmo-filter-parameter-picker{flex:0 auto;min-width:0;max-width:100%}:host{--filter-item-gap:var(--luzmo-spacing-3);--filter-item-field-min-width:4.5rem;--filter-item-value-min-width:4.5rem}:host([size=s]){--filter-item-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap:var(--luzmo-spacing-4)}`,f=class extends t.t((0,l.SizedMixin)(l.LuzmoElement,{validSizes:Object.values(l.ElementSizes)})){constructor(...e){super(...e),this.apiUrl=`https://api.luzmo.com`,this.contentLanguage=`en`,this.filter={},this.allowParameters=!1,this.parameters=[],this._loading=!1,this._datasetsDataFields=[]}static get styles(){return[(0,o.unsafeCSS)(d)]}connectedCallback(){super.connectedCallback();let e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),e.authKey=this.authKey||``,e.authToken=this.authToken||``,n.t.configure(e)}_clearTypeState(){this._type=void 0,this._subType=void 0,this._isFormula=void 0}async _fetchDatasetDataFields(){if(!this.datasetIds||this.datasetIds.length===0){this._error=`Missing dataset ids to fetch columns & formulas`,this._datasetsDataFields=[],this._loading=!1;return}let{valid:e,invalid:t}=r.c(this.datasetIds);if(t.length>0&&console.warn(`[LuzmoFilterItem] Invalid dataset IDs provided (not valid UUIDs): ${t.join(`, `)}. These will be skipped.`),e.length===0){this._error=`Invalid dataset IDs provided. Dataset IDs must be valid UUIDs.`,this._datasetsDataFields=[],this._loading=!1;return}this._loading=!0,this._error=null;try{let t=await n.t.fetchDatasetsWithColumnsAndFormulas(e);for(let e of t)for(let t of[...e.columns,...e.formulas])t.datasetId=e.id;this._datasetsDataFields=t}catch(e){console.error(`Error fetching dataset columns & formulas:`,e),this._error=e instanceof Error?e.message:`Unknown error`,this._datasetsDataFields=[]}finally{this._loading=!1}}willUpdate(e){super.willUpdate(e);let t=e.has(`filter`),r=e.has(`datasetIds`),i=e.has(`authKey`),o=e.has(`authToken`),s=e.has(`_datasetsDataFields`),c=e.has(`parameters`);if(t||r||s&&(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId)&&this.filter?.parameters?.[0]?.datasetId)if(!this.datasetIds||this.datasetIds.length===0||this._datasetsDataFields.length===0)this._clearTypeState();else{let e=this._datasetsDataFields.find(e=>e.id===this.filter.parameters?.[0]?.datasetId);if(e){let t=!1;for(let n of[...e.columns||[],...e?.formulas||[]])if(n.id===this.filter.parameters?.[0]?.columnId||n.id===this.filter.parameters?.[0]?.formulaId){this._type=n.type,this._subType=n.subtype,this._isFormula=n.id===this.filter.parameters?.[0]?.formulaId,t=!0;break}t||this._clearTypeState()}else this._clearTypeState()}if(i||o){let e={authKey:this.authKey||``,authToken:this.authToken||``};n.t.configure(e)}(r||i||o)&&this._fetchDatasetDataFields();let l=this.filter?.parameters?.[1],u=e.get(`filter`),d=!!u&&u.expression!==this.filter?.expression;if(this.allowParameters&&this._type&&(c||e.has(`_type`)||d)&&a.o(l)){let t=this.parameters.find(e=>e.parameter===l.parameter),n=a.a(this._type,this.filter?.expression),r=c||e.has(`_type`);if(d&&!n.includes(l.type)||r&&(!t||!n.includes(t.type))){let e=structuredClone(this.filter),t=a.r(this._type,e.expression);e.parameters=t===void 0?[e.parameters[0]]:[e.parameters[0],t],this.filter=e,this._sendChangeEvent()}else if(r&&t&&JSON.stringify(t)!==JSON.stringify(l)){let e=structuredClone(this.filter);e.parameters[1]=structuredClone(t),this.filter=e,this._sendChangeEvent()}}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent(`luzmo-filter-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{filter:this.filter}}))}setFilterDataField(e){if(this._cannotReferenceColumn())return;let t=e.detail?.dataFields?.[0],n=this._type,r=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId,o=t?.columnId||t?.formulaId,s=a.o(this.filter?.parameters?.[1]);this._type=t?.type,this._subType=t?.subtype,this._isFormula=!!t?.formulaId;let c=i.n(this._type,this._subType,this._isFormula);if(this.filter=structuredClone(this.filter??{}),c?.includes(this.filter?.expression)||(this.filter.expression=c?.[0]?.expression),this.filter.parameters=this.filter?.parameters??[],this.filter.parameters[0]={datasetId:t?.datasetId},this._isFormula?this.filter.parameters[0].formulaId=t?.formulaId:this.filter.parameters[0].columnId=t?.columnId,t?.lowestLevel,n!==this._type)this._type===`hierarchy`?(this.filter.expression=`? like ?`,this.filter.parameters[1]=``):this._type===`numeric`?(this.filter.expression=`? > ?`,this.filter.parameters[1]=0):this._type===`datetime`?(this.filter.expression=`? < ?`,this.filter.parameters[1]=new Date().toISOString()):(this.filter.expression=`? is not null`,this.filter.parameters=[this.filter.parameters[0]]);else if(s&&r!==o){let e=a.r(this._type,this.filter.expression);this.filter.parameters=e===void 0?[this.filter.parameters[0]]:[this.filter.parameters[0],e]}else r!==o&&this._type===`hierarchy`&&(this.filter.parameters[1]=[`? in ?`,`? not in ?`].includes(this.filter.expression)?[]:``);this._sendChangeEvent()}setFilterExpression(e){if(this._cannotReferenceColumn())return;let t=structuredClone(this.filter??{}),n=t.expression;if(t.expression=e.detail?.expression,n!==t.expression){if(a.o(t.parameters?.[1])){let e=t.parameters[1];if(!a.a(this._type,t.expression).some(t=>t===e.type)){let e=a.r(this._type,t.expression);t.parameters=e===void 0?[t.parameters[0]]:[t.parameters[0],e]}}else if([`? is null`,`? is not null`].includes(t.expression))t.parameters=[t.parameters[0]];else if(this._type===`datetime`)if([`YTD`,`QTD`,`MTD`,`WTD`].includes(t.expression)){let n=e?.detail?.unit;n&&(t.parameters[1]={unit:typeof n==`number`?n:1})}else if([`last_completed`,`next_full`,`to_date`].includes(t.expression)){let e=t?.parameters?.[1]?.unit;t.parameters[1]={unit:typeof e==`number`?e:1}}else if([`last_now`,`last_available`,`next_now`,`more_than_ago`,`or_more_ago`].includes(t.expression)){let e=t?.parameters?.[1]?.unit,n=t?.parameters?.[1]?.quantity;t.parameters[1]={unit:typeof e==`number`?e:1,quantity:typeof n==`number`?n:1}}else t.parameters[1]=new Date().toISOString();else this._type===`hierarchy`?[`? in ?`,`? not in ?`].includes(t.expression)?[`? = ?`,`? != ?`].includes(n)?t.parameters[1]=t.parameters[1]?[t.parameters[1]]:[]:t.parameters[1]=[]:[`? = ?`,`? != ?`].includes(t.expression)?[`? in ?`,`? not in ?`].includes(n)?t.parameters[1]=Array.isArray(t.parameters[1])&&t.parameters[1][0]?t.parameters[1][0]:``:t.parameters[1]=``:t.parameters[1]=[`? in ?`,`? not in ?`].includes(n)?``:t.parameters[1]??``:this._type===`numeric`&&([`? in ?`,`? not in ?`].includes(t.expression)&&[`? in ?`,`? not in ?`].includes(n)?t.parameters[1]=t.parameters[1]??[]:[`? in ?`,`? not in ?`].includes(t.expression)?t.parameters[1]=[]:t.parameters[1]=[`? in ?`,`? not in ?`].includes(n)?0:t.parameters[1]??0);this.filter=t,this._sendChangeEvent()}}setFilterValue(e){this._cannotReferenceColumn()||(this.filter.parameters[1]=e?.detail?.value,this._sendChangeEvent())}handleFilterParameterSelected(e){let t=e.detail?.parameter;if(!t)return;let n=structuredClone(this.filter??{});n.parameters=n.parameters??[],n.parameters[1]=structuredClone(t),this.filter=n,this._sendChangeEvent()}handleFilterParameterRemoved(){if(!a.o(this.filter?.parameters?.[1]))return;let e=structuredClone(this.filter),t=a.r(this._type,e.expression);e.parameters=t===void 0?[e.parameters[0]]:[e.parameters[0],t],this.filter=e,this._sendChangeEvent()}_cannotReferenceColumn(){if(!(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId))return!1;if(!this.datasetIds||this.datasetIds.length===0||this._datasetsDataFields.length===0)return!0;let e=this.filter?.parameters?.[0]?.datasetId,t=this._datasetsDataFields.find(t=>t.id===e);return!t||![...t.columns||[],...t.formulas||[]].find(e=>e.id===this.filter?.parameters?.[0]?.columnId||e.id===this.filter?.parameters?.[0]?.formulaId)}renderDataFieldPicker(){let e=this._cannotReferenceColumn(),t=e?(0,c.msg)(`Unknown`):void 0,n=e||this._loading?``:this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;return o.html`<luzmo-data-fields-select
|
|
21
|
+
.language=${this.language}
|
|
22
|
+
.contentLanguage=${this.contentLanguage}
|
|
23
|
+
.size=${this.size}
|
|
24
|
+
.value=${n?[n]:[]}
|
|
25
|
+
selects="single"
|
|
26
|
+
levels="off"
|
|
27
|
+
.datasetsDataFields=${this._datasetsDataFields}
|
|
28
|
+
placeholder=${(0,u.ifDefined)(t)}
|
|
29
|
+
.invalid=${!!this._error||e}
|
|
30
|
+
?disabled=${e}
|
|
31
|
+
.retrieving=${this._loading}
|
|
32
|
+
.pending=${this._loading}
|
|
33
|
+
@luzmo-data-fields-selected=${this.setFilterDataField}
|
|
34
|
+
></luzmo-data-fields-select>`}renderExpressionPicker(){let e=this._cannotReferenceColumn(),t=this.filter?.parameters?.[0],n=!t?.datasetId||!t?.columnId&&!t?.formulaId||e;return o.html`<luzmo-filter-expression-picker
|
|
35
|
+
.language=${this.language}
|
|
36
|
+
.size=${this.size}
|
|
37
|
+
.type=${this._type}
|
|
38
|
+
.subtype=${this._subType}
|
|
39
|
+
.filter=${this.filter}
|
|
40
|
+
?isFormula=${this._isFormula}
|
|
41
|
+
?disabled=${n}
|
|
42
|
+
@luzmo-expression-selected=${this.setFilterExpression}
|
|
43
|
+
></luzmo-filter-expression-picker>`}renderValuePicker(){let e=this._cannotReferenceColumn(),t=this.filter?.parameters?.[0],n=!t?.datasetId||!t?.columnId&&!t?.formulaId||e;return o.html`<luzmo-filter-value-picker
|
|
44
|
+
.apiUrl=${this.apiUrl}
|
|
45
|
+
.authKey=${this.authKey}
|
|
46
|
+
.authToken=${this.authToken}
|
|
47
|
+
.cacheTime=${this.cacheTime}
|
|
48
|
+
.language=${this.language}
|
|
49
|
+
.contentLanguage=${this.contentLanguage}
|
|
50
|
+
.timeZone=${this.timeZone}
|
|
51
|
+
.size=${this.size}
|
|
52
|
+
.filter=${this.filter}
|
|
53
|
+
.valueType=${this._type}
|
|
54
|
+
?disabled=${n}
|
|
55
|
+
@luzmo-filter-value-changed=${this.setFilterValue}
|
|
56
|
+
></luzmo-filter-value-picker>`}renderParameterPicker(){if(!this.allowParameters)return null;let e=a.a(this._type,this.filter?.expression);if(e.length===0)return null;let t=a.o(this.filter?.parameters?.[1])?this.filter.parameters[1]:void 0;return o.html`<luzmo-filter-parameter-picker
|
|
57
|
+
.language=${this.language}
|
|
58
|
+
.size=${this.size}
|
|
59
|
+
.parameters=${this.parameters}
|
|
60
|
+
.allowedTypes=${e}
|
|
61
|
+
.selectedParameter=${t}
|
|
62
|
+
.currentValue=${t?t.value:this.filter?.parameters?.[1]}
|
|
63
|
+
?disabled=${this._cannotReferenceColumn()}
|
|
64
|
+
@luzmo-parameter-selected=${this.handleFilterParameterSelected}
|
|
65
|
+
@luzmo-parameter-removed=${this.handleFilterParameterRemoved}
|
|
66
|
+
></luzmo-filter-parameter-picker>`}render(){let e=a.o(this.filter?.parameters?.[1]);return o.html`<div role="group" aria-label=${(0,c.msg)(`Filter condition`,{desc:`Accessible label for filter item group`})}>
|
|
67
|
+
${this.renderDataFieldPicker()} ${this.renderExpressionPicker()}
|
|
68
|
+
<div class="value-controls">
|
|
69
|
+
${e?null:this.renderValuePicker()} ${this.renderParameterPicker()}
|
|
70
|
+
</div>
|
|
71
|
+
</div>`}};e.t([(0,s.property)({type:String,attribute:`api-url`,reflect:!0})],f.prototype,`apiUrl`,void 0),e.t([(0,s.property)({type:String,attribute:`auth-key`,reflect:!0})],f.prototype,`authKey`,void 0),e.t([(0,s.property)({type:String,attribute:`auth-token`,reflect:!0})],f.prototype,`authToken`,void 0),e.t([(0,s.property)({type:Number,attribute:`cache-time`,reflect:!0})],f.prototype,`cacheTime`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],f.prototype,`contentLanguage`,void 0),e.t([(0,s.property)({type:String,attribute:`time-zone`,reflect:!0})],f.prototype,`timeZone`,void 0),e.t([(0,s.property)({type:Array,attribute:`dataset-ids`,reflect:!0})],f.prototype,`datasetIds`,void 0),e.t([(0,s.property)({type:Object,reflect:!1})],f.prototype,`filter`,void 0),e.t([(0,s.property)({type:Boolean,attribute:`allow-parameters`,reflect:!0})],f.prototype,`allowParameters`,void 0),e.t([(0,s.property)({attribute:!1})],f.prototype,`parameters`,void 0),e.t([(0,s.state)()],f.prototype,`_type`,void 0),e.t([(0,s.state)()],f.prototype,`_subType`,void 0),e.t([(0,s.state)()],f.prototype,`_isFormula`,void 0),e.t([(0,s.state)()],f.prototype,`_error`,void 0),e.t([(0,s.state)()],f.prototype,`_loading`,void 0),e.t([(0,s.state)()],f.prototype,`_datasetsDataFields`,void 0),f=e.t([(0,c.localized)()],f),customElements.get(`luzmo-filter-item`)||customElements.define(`luzmo-filter-item`,f),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
|
|
@@ -18,24 +18,25 @@
|
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
20
|
import { t as e } from "./decorate-DyMgX_Uh.js";
|
|
21
|
-
import { t } from "./localized-mixin-
|
|
21
|
+
import { t } from "./localized-mixin-D-vXCJuU.js";
|
|
22
22
|
import { t as n } from "./data-broker-Bdv5V8Yp.js";
|
|
23
23
|
import { c as r } from "./type-check-CGREdneG.js";
|
|
24
|
-
import { n as i } from "./filter-expression-picker-
|
|
25
|
-
import "./data-fields-select-
|
|
26
|
-
import "./filter-
|
|
27
|
-
import
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
24
|
+
import { n as i } from "./filter-expression-picker-CH2Fna8C.js";
|
|
25
|
+
import "./data-fields-select-BRBBrS-x.js";
|
|
26
|
+
import { a, o, r as s } from "./filter-parameter-picker-CU48aEOS.js";
|
|
27
|
+
import "./filter-value-picker-CD8DjcHo.js";
|
|
28
|
+
import { html as c, unsafeCSS as l } from "lit";
|
|
29
|
+
import { property as u, state as d } from "lit/decorators.js";
|
|
30
|
+
import { localized as f, msg as p } from "@lit/localize";
|
|
31
|
+
import { ElementSizes as m, LuzmoElement as h, SizedMixin as g } from "@luzmo/lucero/utils";
|
|
32
|
+
import { ifDefined as _ } from "lit/directives/if-defined.js";
|
|
32
33
|
//#region src/components/filter-item/filter-item.module.scss?inline
|
|
33
|
-
var
|
|
34
|
+
var v = ":host{box-sizing:border-box;flex-direction:row;min-width:0;max-width:100%;display:flex}[role=group]{box-sizing:border-box;align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-flow:wrap;width:100%;min-width:0;max-width:100%;display:flex}luzmo-data-fields-select{min-width:min(100%, var(--luzmo-filter-item-field-min-width,var(--filter-item-field-min-width)));flex:0 auto;max-width:100%}luzmo-filter-expression-picker{flex:none;max-width:100%}.value-controls{align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));min-width:min(100%, var(--luzmo-filter-item-value-min-width,var(--filter-item-value-min-width)));flex-wrap:nowrap;flex:0 auto;max-width:100%;display:flex}luzmo-filter-value-picker,luzmo-filter-parameter-picker{flex:0 auto;min-width:0;max-width:100%}:host{--filter-item-gap:var(--luzmo-spacing-3);--filter-item-field-min-width:4.5rem;--filter-item-value-min-width:4.5rem}:host([size=s]){--filter-item-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap:var(--luzmo-spacing-4)}", y = class extends t(g(h, { validSizes: Object.values(m) })) {
|
|
34
35
|
constructor(...e) {
|
|
35
|
-
super(...e), this.apiUrl = "https://api.luzmo.com", this.contentLanguage = "en", this.filter = {}, this._loading = !1, this._datasetsDataFields = [];
|
|
36
|
+
super(...e), this.apiUrl = "https://api.luzmo.com", this.contentLanguage = "en", this.filter = {}, this.allowParameters = !1, this.parameters = [], this._loading = !1, this._datasetsDataFields = [];
|
|
36
37
|
}
|
|
37
38
|
static get styles() {
|
|
38
|
-
return [
|
|
39
|
+
return [l(v)];
|
|
39
40
|
}
|
|
40
41
|
connectedCallback() {
|
|
41
42
|
super.connectedCallback();
|
|
@@ -68,8 +69,8 @@ var h = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=
|
|
|
68
69
|
}
|
|
69
70
|
willUpdate(e) {
|
|
70
71
|
super.willUpdate(e);
|
|
71
|
-
let t = e.has("filter"), r = e.has("datasetIds"), i = e.has("authKey"),
|
|
72
|
-
if (t || r ||
|
|
72
|
+
let t = e.has("filter"), r = e.has("datasetIds"), i = e.has("authKey"), c = e.has("authToken"), l = e.has("_datasetsDataFields"), u = e.has("parameters");
|
|
73
|
+
if (t || r || l && (this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId) && this.filter?.parameters?.[0]?.datasetId) if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) this._clearTypeState();
|
|
73
74
|
else {
|
|
74
75
|
let e = this._datasetsDataFields.find((e) => e.id === this.filter.parameters?.[0]?.datasetId);
|
|
75
76
|
if (e) {
|
|
@@ -81,14 +82,25 @@ var h = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=
|
|
|
81
82
|
t || this._clearTypeState();
|
|
82
83
|
} else this._clearTypeState();
|
|
83
84
|
}
|
|
84
|
-
if (i ||
|
|
85
|
+
if (i || c) {
|
|
85
86
|
let e = {
|
|
86
87
|
authKey: this.authKey || "",
|
|
87
88
|
authToken: this.authToken || ""
|
|
88
89
|
};
|
|
89
90
|
n.configure(e);
|
|
90
91
|
}
|
|
91
|
-
(r || i ||
|
|
92
|
+
(r || i || c) && this._fetchDatasetDataFields();
|
|
93
|
+
let d = this.filter?.parameters?.[1], f = e.get("filter"), p = !!f && f.expression !== this.filter?.expression;
|
|
94
|
+
if (this.allowParameters && this._type && (u || e.has("_type") || p) && o(d)) {
|
|
95
|
+
let t = this.parameters.find((e) => e.parameter === d.parameter), n = a(this._type, this.filter?.expression), r = u || e.has("_type");
|
|
96
|
+
if (p && !n.includes(d.type) || r && (!t || !n.includes(t.type))) {
|
|
97
|
+
let e = structuredClone(this.filter), t = s(this._type, e.expression);
|
|
98
|
+
e.parameters = t === void 0 ? [e.parameters[0]] : [e.parameters[0], t], this.filter = e, this._sendChangeEvent();
|
|
99
|
+
} else if (r && t && JSON.stringify(t) !== JSON.stringify(d)) {
|
|
100
|
+
let e = structuredClone(this.filter);
|
|
101
|
+
e.parameters[1] = structuredClone(t), this.filter = e, this._sendChangeEvent();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
92
104
|
}
|
|
93
105
|
_sendChangeEvent() {
|
|
94
106
|
this.dispatchEvent(new CustomEvent("luzmo-filter-changed", {
|
|
@@ -100,16 +112,27 @@ var h = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=
|
|
|
100
112
|
}
|
|
101
113
|
setFilterDataField(e) {
|
|
102
114
|
if (this._cannotReferenceColumn()) return;
|
|
103
|
-
let t = e.detail?.dataFields?.[0], n = this._type, r = this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId, a = t?.columnId || t?.formulaId;
|
|
115
|
+
let t = e.detail?.dataFields?.[0], n = this._type, r = this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId, a = t?.columnId || t?.formulaId, c = o(this.filter?.parameters?.[1]);
|
|
104
116
|
this._type = t?.type, this._subType = t?.subtype, this._isFormula = !!t?.formulaId;
|
|
105
|
-
let
|
|
106
|
-
this.filter = structuredClone(this.filter ?? {}),
|
|
117
|
+
let l = i(this._type, this._subType, this._isFormula);
|
|
118
|
+
if (this.filter = structuredClone(this.filter ?? {}), l?.includes(this.filter?.expression) || (this.filter.expression = l?.[0]?.expression), this.filter.parameters = this.filter?.parameters ?? [], this.filter.parameters[0] = { datasetId: t?.datasetId }, this._isFormula ? this.filter.parameters[0].formulaId = t?.formulaId : this.filter.parameters[0].columnId = t?.columnId, t?.lowestLevel, n !== this._type) this._type === "hierarchy" ? (this.filter.expression = "? like ?", this.filter.parameters[1] = "") : this._type === "numeric" ? (this.filter.expression = "? > ?", this.filter.parameters[1] = 0) : this._type === "datetime" ? (this.filter.expression = "? < ?", this.filter.parameters[1] = (/* @__PURE__ */ new Date()).toISOString()) : (this.filter.expression = "? is not null", this.filter.parameters = [this.filter.parameters[0]]);
|
|
119
|
+
else if (c && r !== a) {
|
|
120
|
+
let e = s(this._type, this.filter.expression);
|
|
121
|
+
this.filter.parameters = e === void 0 ? [this.filter.parameters[0]] : [this.filter.parameters[0], e];
|
|
122
|
+
} else r !== a && this._type === "hierarchy" && (this.filter.parameters[1] = ["? in ?", "? not in ?"].includes(this.filter.expression) ? [] : "");
|
|
123
|
+
this._sendChangeEvent();
|
|
107
124
|
}
|
|
108
125
|
setFilterExpression(e) {
|
|
109
126
|
if (this._cannotReferenceColumn()) return;
|
|
110
127
|
let t = structuredClone(this.filter ?? {}), n = t.expression;
|
|
111
128
|
if (t.expression = e.detail?.expression, n !== t.expression) {
|
|
112
|
-
if (
|
|
129
|
+
if (o(t.parameters?.[1])) {
|
|
130
|
+
let e = t.parameters[1];
|
|
131
|
+
if (!a(this._type, t.expression).some((t) => t === e.type)) {
|
|
132
|
+
let e = s(this._type, t.expression);
|
|
133
|
+
t.parameters = e === void 0 ? [t.parameters[0]] : [t.parameters[0], e];
|
|
134
|
+
}
|
|
135
|
+
} else if (["? is null", "? is not null"].includes(t.expression)) t.parameters = [t.parameters[0]];
|
|
113
136
|
else if (this._type === "datetime") if ([
|
|
114
137
|
"YTD",
|
|
115
138
|
"QTD",
|
|
@@ -145,6 +168,17 @@ var h = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=
|
|
|
145
168
|
setFilterValue(e) {
|
|
146
169
|
this._cannotReferenceColumn() || (this.filter.parameters[1] = e?.detail?.value, this._sendChangeEvent());
|
|
147
170
|
}
|
|
171
|
+
handleFilterParameterSelected(e) {
|
|
172
|
+
let t = e.detail?.parameter;
|
|
173
|
+
if (!t) return;
|
|
174
|
+
let n = structuredClone(this.filter ?? {});
|
|
175
|
+
n.parameters = n.parameters ?? [], n.parameters[1] = structuredClone(t), this.filter = n, this._sendChangeEvent();
|
|
176
|
+
}
|
|
177
|
+
handleFilterParameterRemoved() {
|
|
178
|
+
if (!o(this.filter?.parameters?.[1])) return;
|
|
179
|
+
let e = structuredClone(this.filter), t = s(this._type, e.expression);
|
|
180
|
+
e.parameters = t === void 0 ? [e.parameters[0]] : [e.parameters[0], t], this.filter = e, this._sendChangeEvent();
|
|
181
|
+
}
|
|
148
182
|
_cannotReferenceColumn() {
|
|
149
183
|
if (!(this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId)) return !1;
|
|
150
184
|
if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) return !0;
|
|
@@ -152,15 +186,16 @@ var h = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=
|
|
|
152
186
|
return !t || ![...t.columns || [], ...t.formulas || []].find((e) => e.id === this.filter?.parameters?.[0]?.columnId || e.id === this.filter?.parameters?.[0]?.formulaId);
|
|
153
187
|
}
|
|
154
188
|
renderDataFieldPicker() {
|
|
155
|
-
let e = this._cannotReferenceColumn(), t = e ?
|
|
156
|
-
return
|
|
189
|
+
let e = this._cannotReferenceColumn(), t = e ? p("Unknown") : void 0, n = e || this._loading ? "" : this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId;
|
|
190
|
+
return c`<luzmo-data-fields-select
|
|
157
191
|
.language=${this.language}
|
|
158
192
|
.contentLanguage=${this.contentLanguage}
|
|
159
193
|
.size=${this.size}
|
|
160
194
|
.value=${n ? [n] : []}
|
|
161
195
|
selects="single"
|
|
196
|
+
levels="off"
|
|
162
197
|
.datasetsDataFields=${this._datasetsDataFields}
|
|
163
|
-
placeholder=${
|
|
198
|
+
placeholder=${_(t)}
|
|
164
199
|
.invalid=${!!this._error || e}
|
|
165
200
|
?disabled=${e}
|
|
166
201
|
.retrieving=${this._loading}
|
|
@@ -169,21 +204,21 @@ var h = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=
|
|
|
169
204
|
></luzmo-data-fields-select>`;
|
|
170
205
|
}
|
|
171
206
|
renderExpressionPicker() {
|
|
172
|
-
let e = this._cannotReferenceColumn(), t =
|
|
173
|
-
return
|
|
207
|
+
let e = this._cannotReferenceColumn(), t = this.filter?.parameters?.[0], n = !t?.datasetId || !t?.columnId && !t?.formulaId || e;
|
|
208
|
+
return c`<luzmo-filter-expression-picker
|
|
174
209
|
.language=${this.language}
|
|
175
210
|
.size=${this.size}
|
|
176
211
|
.type=${this._type}
|
|
177
212
|
.subtype=${this._subType}
|
|
178
213
|
.filter=${this.filter}
|
|
179
214
|
?isFormula=${this._isFormula}
|
|
180
|
-
?disabled=${
|
|
215
|
+
?disabled=${n}
|
|
181
216
|
@luzmo-expression-selected=${this.setFilterExpression}
|
|
182
217
|
></luzmo-filter-expression-picker>`;
|
|
183
218
|
}
|
|
184
219
|
renderValuePicker() {
|
|
185
|
-
let e = this._cannotReferenceColumn(), t =
|
|
186
|
-
return
|
|
220
|
+
let e = this._cannotReferenceColumn(), t = this.filter?.parameters?.[0], n = !t?.datasetId || !t?.columnId && !t?.formulaId || e;
|
|
221
|
+
return c`<luzmo-filter-value-picker
|
|
187
222
|
.apiUrl=${this.apiUrl}
|
|
188
223
|
.authKey=${this.authKey}
|
|
189
224
|
.authToken=${this.authToken}
|
|
@@ -194,49 +229,73 @@ var h = ":host{flex-direction:row;min-width:0;max-width:100%;display:flex}[role=
|
|
|
194
229
|
.size=${this.size}
|
|
195
230
|
.filter=${this.filter}
|
|
196
231
|
.valueType=${this._type}
|
|
197
|
-
?disabled=${
|
|
232
|
+
?disabled=${n}
|
|
198
233
|
@luzmo-filter-value-changed=${this.setFilterValue}
|
|
199
234
|
></luzmo-filter-value-picker>`;
|
|
235
|
+
}
|
|
236
|
+
renderParameterPicker() {
|
|
237
|
+
if (!this.allowParameters) return null;
|
|
238
|
+
let e = a(this._type, this.filter?.expression);
|
|
239
|
+
if (e.length === 0) return null;
|
|
240
|
+
let t = o(this.filter?.parameters?.[1]) ? this.filter.parameters[1] : void 0;
|
|
241
|
+
return c`<luzmo-filter-parameter-picker
|
|
242
|
+
.language=${this.language}
|
|
243
|
+
.size=${this.size}
|
|
244
|
+
.parameters=${this.parameters}
|
|
245
|
+
.allowedTypes=${e}
|
|
246
|
+
.selectedParameter=${t}
|
|
247
|
+
.currentValue=${t ? t.value : this.filter?.parameters?.[1]}
|
|
248
|
+
?disabled=${this._cannotReferenceColumn()}
|
|
249
|
+
@luzmo-parameter-selected=${this.handleFilterParameterSelected}
|
|
250
|
+
@luzmo-parameter-removed=${this.handleFilterParameterRemoved}
|
|
251
|
+
></luzmo-filter-parameter-picker>`;
|
|
200
252
|
}
|
|
201
253
|
render() {
|
|
202
|
-
|
|
254
|
+
let e = o(this.filter?.parameters?.[1]);
|
|
255
|
+
return c`<div role="group" aria-label=${p("Filter condition", { desc: "Accessible label for filter item group" })}>
|
|
203
256
|
${this.renderDataFieldPicker()} ${this.renderExpressionPicker()}
|
|
204
|
-
|
|
257
|
+
<div class="value-controls">
|
|
258
|
+
${e ? null : this.renderValuePicker()} ${this.renderParameterPicker()}
|
|
259
|
+
</div>
|
|
205
260
|
</div>`;
|
|
206
261
|
}
|
|
207
262
|
};
|
|
208
263
|
//#endregion
|
|
209
264
|
//#region src/components/filter-item/index.ts
|
|
210
|
-
e([
|
|
265
|
+
e([u({
|
|
211
266
|
type: String,
|
|
212
267
|
attribute: "api-url",
|
|
213
268
|
reflect: !0
|
|
214
|
-
})],
|
|
269
|
+
})], y.prototype, "apiUrl", void 0), e([u({
|
|
215
270
|
type: String,
|
|
216
271
|
attribute: "auth-key",
|
|
217
272
|
reflect: !0
|
|
218
|
-
})],
|
|
273
|
+
})], y.prototype, "authKey", void 0), e([u({
|
|
219
274
|
type: String,
|
|
220
275
|
attribute: "auth-token",
|
|
221
276
|
reflect: !0
|
|
222
|
-
})],
|
|
277
|
+
})], y.prototype, "authToken", void 0), e([u({
|
|
223
278
|
type: Number,
|
|
224
279
|
attribute: "cache-time",
|
|
225
280
|
reflect: !0
|
|
226
|
-
})],
|
|
281
|
+
})], y.prototype, "cacheTime", void 0), e([u({
|
|
227
282
|
type: String,
|
|
228
283
|
reflect: !0
|
|
229
|
-
})],
|
|
284
|
+
})], y.prototype, "contentLanguage", void 0), e([u({
|
|
230
285
|
type: String,
|
|
231
286
|
attribute: "time-zone",
|
|
232
287
|
reflect: !0
|
|
233
|
-
})],
|
|
288
|
+
})], y.prototype, "timeZone", void 0), e([u({
|
|
234
289
|
type: Array,
|
|
235
290
|
attribute: "dataset-ids",
|
|
236
291
|
reflect: !0
|
|
237
|
-
})],
|
|
292
|
+
})], y.prototype, "datasetIds", void 0), e([u({
|
|
238
293
|
type: Object,
|
|
239
294
|
reflect: !1
|
|
240
|
-
})],
|
|
295
|
+
})], y.prototype, "filter", void 0), e([u({
|
|
296
|
+
type: Boolean,
|
|
297
|
+
attribute: "allow-parameters",
|
|
298
|
+
reflect: !0
|
|
299
|
+
})], y.prototype, "allowParameters", void 0), e([u({ attribute: !1 })], y.prototype, "parameters", void 0), e([d()], y.prototype, "_type", void 0), e([d()], y.prototype, "_subType", void 0), e([d()], y.prototype, "_isFormula", void 0), e([d()], y.prototype, "_error", void 0), e([d()], y.prototype, "_loading", void 0), e([d()], y.prototype, "_datasetsDataFields", void 0), y = e([f()], y), customElements.get("luzmo-filter-item") || customElements.define("luzmo-filter-item", y);
|
|
241
300
|
//#endregion
|
|
242
|
-
export {
|
|
301
|
+
export { y as t };
|
|
@@ -1,25 +1,87 @@
|
|
|
1
|
-
import '@luzmo/
|
|
2
|
-
import
|
|
1
|
+
import type { ItemFilterParameterDefinition } from '@luzmo/dashboard-contents-types';
|
|
2
|
+
import '@luzmo/lucero/action-button';
|
|
3
|
+
import '@luzmo/lucero/button';
|
|
4
|
+
import '@luzmo/lucero/divider';
|
|
5
|
+
import '@luzmo/lucero/icon';
|
|
6
|
+
import '@luzmo/lucero/options';
|
|
7
|
+
import '@luzmo/lucero/overlay';
|
|
8
|
+
import '@luzmo/lucero/popover';
|
|
9
|
+
import '@luzmo/lucero/tags';
|
|
10
|
+
import '@luzmo/lucero/text-field';
|
|
11
|
+
import '@luzmo/lucero/tooltip';
|
|
3
12
|
import { LuzmoElement } from '@luzmo/lucero/utils';
|
|
4
|
-
|
|
13
|
+
import { CSSResultArray, TemplateResult } from 'lit';
|
|
14
|
+
import type { FilterParameterType } from '../filters/types';
|
|
15
|
+
declare const LuzmoFilterParameterPicker_base: (new (...args: any[]) => {
|
|
16
|
+
language: string;
|
|
17
|
+
}) & typeof LuzmoElement & {
|
|
5
18
|
new (...args: any[]): import("@luzmo/lucero").SizedElementInterface;
|
|
6
19
|
prototype: import("@luzmo/lucero").SizedElementInterface;
|
|
7
20
|
};
|
|
8
21
|
/**
|
|
9
22
|
* @customElement luzmo-filter-parameter-picker
|
|
23
|
+
* @fires {CustomEvent<FilterParameterPickerEventDetail>} luzmo-parameter-selected - Fired when a parameter is selected.
|
|
24
|
+
* @fires {CustomEvent<FilterParameterPickerEventDetail>} luzmo-parameter-created - Fired when a parameter is created.
|
|
25
|
+
* @fires {CustomEvent<FilterParameterPickerEventDetail>} luzmo-parameter-removed - Fired when a parameter is detached from the filter.
|
|
10
26
|
*/
|
|
11
27
|
export declare class LuzmoFilterParameterPicker extends LuzmoFilterParameterPicker_base {
|
|
12
28
|
static get styles(): CSSResultArray;
|
|
13
29
|
/**
|
|
14
|
-
*
|
|
30
|
+
* Parameter definitions available for selection.
|
|
15
31
|
*/
|
|
16
|
-
|
|
32
|
+
parameters: ItemFilterParameterDefinition[];
|
|
33
|
+
/**
|
|
34
|
+
* Parameter types compatible with the active field and expression.
|
|
35
|
+
*/
|
|
36
|
+
allowedTypes: FilterParameterType[];
|
|
37
|
+
/**
|
|
38
|
+
* The parameter currently attached to the filter.
|
|
39
|
+
*/
|
|
40
|
+
selectedParameter?: ItemFilterParameterDefinition;
|
|
41
|
+
/**
|
|
42
|
+
* The current literal filter value used as the default for a new parameter.
|
|
43
|
+
*/
|
|
44
|
+
currentValue?: unknown;
|
|
45
|
+
/**
|
|
46
|
+
* Whether parameter selection is disabled.
|
|
47
|
+
*/
|
|
48
|
+
disabled: boolean;
|
|
49
|
+
private _open;
|
|
50
|
+
private _newParameterName;
|
|
51
|
+
private _overlay?;
|
|
52
|
+
private _triggerElement?;
|
|
53
|
+
private _optionsElement?;
|
|
54
|
+
private _handleDocumentClick;
|
|
55
|
+
connectedCallback(): void;
|
|
56
|
+
disconnectedCallback(): void;
|
|
57
|
+
private get _selectableParameters();
|
|
58
|
+
private get _parameterOptions();
|
|
59
|
+
/**
|
|
60
|
+
* The type a parameter on this filter holds: the attached one, or the type a new parameter gets.
|
|
61
|
+
*/
|
|
62
|
+
private get _parameterType();
|
|
63
|
+
private get _duplicateName();
|
|
64
|
+
private get _triggerIconSize();
|
|
65
|
+
private get _hasParameterName();
|
|
66
|
+
private _dispatchSelected;
|
|
67
|
+
private _dispatchCreated;
|
|
68
|
+
private _dispatchRemoved;
|
|
69
|
+
private _handleTriggerClick;
|
|
70
|
+
private _handleTriggerKeydown;
|
|
71
|
+
private _handleOpened;
|
|
72
|
+
private _handleClosed;
|
|
73
|
+
private _close;
|
|
74
|
+
private _handlePanelKeydown;
|
|
75
|
+
private _handleNameInput;
|
|
76
|
+
private _selectParameter;
|
|
77
|
+
private _handleOptionsChange;
|
|
17
78
|
/**
|
|
18
|
-
*
|
|
79
|
+
* Creating only makes a parameter available; the user attaches it by picking it from the list.
|
|
19
80
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
81
|
+
private _handleCreateParameter;
|
|
82
|
+
private _handleNameKeydown;
|
|
83
|
+
private _handleRemoveParameter;
|
|
84
|
+
private _renderParameterType;
|
|
23
85
|
protected render(): TemplateResult;
|
|
24
86
|
}
|
|
25
87
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ColumnType, ItemFilterParameterDefinition, ItemFilterParameterValue, ItemQueryFilterExpression } from '@luzmo/dashboard-contents-types';
|
|
2
|
+
import type { FilterParameterType } from '../filters/types';
|
|
3
|
+
export declare function getSelectableParameterTypes(columnType: ColumnType | undefined, expression: ItemQueryFilterExpression | undefined): FilterParameterType[];
|
|
4
|
+
export declare function getParameterTypeLabel(type: FilterParameterType): string;
|
|
5
|
+
export declare function isFilterParameterDefinition(value: unknown): value is ItemFilterParameterDefinition;
|
|
6
|
+
export declare function normalizeParameterName(name: string): string;
|
|
7
|
+
export declare function createFilterParameter(name: string, type: FilterParameterType, currentValue?: unknown): ItemFilterParameterDefinition;
|
|
8
|
+
export declare function getDefaultLiteralValue(columnType: ColumnType | undefined, expression: ItemQueryFilterExpression | undefined): ItemFilterParameterValue | undefined;
|