@luzmo/analytics-components-kit 1.0.8-beta.7 → 1.0.9-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.js +2 -2
- package/components/{ai-chat-CG-eIiBr.cjs → ai-chat-1OlRpimu.cjs} +1 -1
- package/components/{ai-chat-CMc_9Oo2.js → ai-chat-PesGGOLP.js} +2 -2
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/{ai-interaction-textarea-D9g9G0T1.js → ai-interaction-textarea-BXKG2elT.js} +3 -3
- package/components/{ai-interaction-textarea-B6tZgh5k.cjs → ai-interaction-textarea-CmFGJzbb.cjs} +1 -1
- package/components/{area-chart-options.config-B94ERc30.js → area-chart-options.config-DJnPr93H.js} +1 -1
- package/components/{area-chart-positioning.config-CS-5H8-C.cjs → area-chart-positioning.config-C37nmNfP.cjs} +1 -1
- package/components/{area-chart-positioning.config-BEwDQj3T.js → area-chart-positioning.config-CF8Z7PuX.js} +1 -1
- package/components/{area-chart-slots.config-DdPO34_g.js → area-chart-slots.config-ClE-gYVY.js} +1 -1
- package/components/{bar-chart-options.config-B1C3t6uk.js → bar-chart-options.config-D1x5WPbL.js} +1 -1
- package/components/{bar-chart-positioning.config-DkIvwJI5.cjs → bar-chart-positioning.config-C4ii41mE.cjs} +1 -1
- package/components/{bar-chart-positioning.config-CBbTYesB.js → bar-chart-positioning.config-vuRQZsYr.js} +1 -1
- package/components/{bar-chart-slots.config-BnbZRLIr.js → bar-chart-slots.config-rMFwFprg.js} +1 -1
- package/components/{base-DSeXdW9S.js → base-8L8Jt2vi.js} +2 -2
- package/components/{base-D6QPZnpu.cjs → base-K-bf6_7X.cjs} +1 -1
- package/components/{box-plot-options.config-sBfVzPTw.js → box-plot-options.config-CooBIc6N.js} +1 -1
- package/components/{box-plot-positioning.config-o5D-mRFr.cjs → box-plot-positioning.config-D2LpbgQ_.cjs} +1 -1
- package/components/{box-plot-positioning.config-CNC-RTwl.js → box-plot-positioning.config-DMIsI9yU.js} +1 -1
- package/components/{box-plot-slots.config-D6F2R2dw.js → box-plot-slots.config-DS2UIfRF.js} +1 -1
- package/components/{bubble-chart-options.config-DKeBF5A0.js → bubble-chart-options.config-B6aLA_1d.js} +1 -1
- package/components/{bubble-chart-positioning.config-CtreNdST.cjs → bubble-chart-positioning.config-Btak-zwN.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-3ilPXLpZ.js → bubble-chart-positioning.config-jYu0Q0Mc.js} +1 -1
- package/components/{bubble-chart-slots.config-BJdtdpS0.js → bubble-chart-slots.config-2qy2RqaU.js} +1 -1
- package/components/{bullet-chart-options.config-DdTBWTAF.js → bullet-chart-options.config-CBmbmhzI.js} +1 -1
- package/components/{bullet-chart-positioning.config-CkFhShBk.js → bullet-chart-positioning.config-BWHfPPyA.js} +1 -1
- package/components/{bullet-chart-positioning.config-dHj3YrT_.cjs → bullet-chart-positioning.config-CwoRVgNS.cjs} +1 -1
- package/components/{bullet-chart-slots.config-NeUTKgYI.js → bullet-chart-slots.config-BaMmwIH0.js} +1 -1
- package/components/{choropleth-map-options.config-nOE0NWaD.js → choropleth-map-options.config-DWWydGJ3.js} +1 -1
- package/components/{choropleth-map-positioning.config-BSs-bRGv.cjs → choropleth-map-positioning.config-DttV0Dk_.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-DOt86t59.js → choropleth-map-positioning.config-KtxcLW7E.js} +1 -1
- package/components/{choropleth-map-slots.config-BbBwTeuw.js → choropleth-map-slots.config-DqOi1kCn.js} +1 -1
- package/components/{circle-pack-chart-options.config-CgE8vGP9.js → circle-pack-chart-options.config-D2RCikyA.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-CVNdIYau.cjs → circle-pack-chart-positioning.config-N-rZvQjR.cjs} +1 -1
- package/components/{circle-pack-chart-positioning.config-BkFATJjC.js → circle-pack-chart-positioning.config-QBO-pwDr.js} +1 -1
- package/components/{circle-pack-chart-slots.config-CJFjalBn.js → circle-pack-chart-slots.config-B7_1p86m.js} +1 -1
- package/components/{circular-gauge-options.config-DtNYelhq.js → circular-gauge-options.config-syWQJHKT.js} +1 -1
- package/components/{circular-gauge-positioning.config-SrbCaaOr.cjs → circular-gauge-positioning.config-Cf1zuLXa.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-BV2xb5TF.js → circular-gauge-positioning.config-DKGmEpFj.js} +1 -1
- package/components/{circular-gauge-slots.config-DAKsa5Hq.js → circular-gauge-slots.config-BxjCP1ao.js} +1 -1
- package/components/{column-chart-options.config-C2GGiHOI.js → column-chart-options.config-B2LIl9lL.js} +1 -1
- package/components/{column-chart-positioning.config-DTQe3h_H.cjs → column-chart-positioning.config-DcErS56C.cjs} +1 -1
- package/components/{column-chart-positioning.config-T7juV3XT.js → column-chart-positioning.config-LkQSNtSH.js} +1 -1
- package/components/{column-chart-slots.config-Bpr-WaCi.js → column-chart-slots.config-D6MBTcj4.js} +1 -1
- package/components/{combination-chart-options.config-LddX4naq.js → combination-chart-options.config-0ATFph8S.js} +1 -1
- package/components/{combination-chart-positioning.config-78C7wKnS.js → combination-chart-positioning.config-7iAEpO7h.js} +1 -1
- package/components/{combination-chart-positioning.config-BrSmdan-.cjs → combination-chart-positioning.config-Dzi93oAp.cjs} +1 -1
- package/components/{combination-chart-slots.config-u-QLoQQ-.js → combination-chart-slots.config-dYT9lz8M.js} +1 -1
- package/components/{conditional-number-options.config-qdX9T4zu.js → conditional-number-options.config-Bv2xONtI.js} +1 -1
- package/components/{conditional-number-positioning.config-z_eEfpud.js → conditional-number-positioning.config-Bse6AKPP.js} +1 -1
- package/components/{conditional-number-positioning.config-_9ySKU1z.cjs → conditional-number-positioning.config-CTy0zLXu.cjs} +1 -1
- package/components/{conditional-number-slots.config-CiLUXRSe.js → conditional-number-slots.config-DtYkqtN8.js} +1 -1
- package/components/create-lazy-loader-BO_oTDF5.js +31 -0
- package/components/create-lazy-loader-DYPgQh0L.cjs +20 -0
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/{data-field-D1WW_V0N.js → data-field-CSm9APdz.js} +3 -3
- package/components/{data-field-9ZZFw68C.cjs → data-field-D2y4cv9j.cjs} +1 -1
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +1 -1
- package/components/{data-field-level-DR_dXjnL.js → data-field-level-B0aj8c5M.js} +3 -3
- package/components/{data-field-level-Dc-EMhC3.cjs → data-field-level-Llx0Y9m-.cjs} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-U-5Q-TRp.js → data-field-panel-DpBWJnes.js} +4 -4
- package/components/data-field-panel-Dv60lRUC.cjs +87 -0
- package/components/data-fields-select/data-fields-select.d.ts +5 -1
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/{data-fields-select-BYhAzdA6.js → data-fields-select-69TDpIG_.js} +14 -5
- package/components/data-fields-select-BHa8THub.cjs +43 -0
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/{dataset-selector-list-BXg6DIKI.cjs → dataset-selector-list-D5lBv2sD.cjs} +1 -1
- package/components/{dataset-selector-list-q6qWA7B-.js → dataset-selector-list-DTMXvqfO.js} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/{dataset-selector-row-bqwY3zaf.cjs → dataset-selector-row-gHWsZlrC.cjs} +1 -1
- package/components/{dataset-selector-row-ZKET7lVc.js → dataset-selector-row-kiHtzZcP.js} +2 -2
- package/components/{date-comparison-filter-options.config-BSzzAJPM.js → date-comparison-filter-options.config-DgLx-m3L.js} +1 -1
- package/components/{date-comparison-filter-slots.config-Cvze969w.js → date-comparison-filter-slots.config-BKZ13uzB.js} +1 -1
- package/components/{date-filter-options.config-C6VvDjd8.js → date-filter-options.config-Cbiy0QKd.js} +1 -1
- package/components/{date-filter-slots.config-Y8hmQh0S.js → date-filter-slots.config-SzWky1y7.js} +1 -1
- package/components/{de-C5CMIy08.js → de-BhKtDR6p.js} +34 -0
- package/components/de-DXFLsh4N.cjs +20 -0
- package/components/{convert-data-field-to-slot-content-C6IIqU7G.js → default-acceptable-data-field-types-DFOFWWnT.js} +12 -12
- package/components/default-acceptable-data-field-types-fPsz64ka.cjs +20 -0
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/{display-settings-D_wBgzm1.js → display-settings-DKuvd62j.js} +11 -9
- package/components/{display-settings-BlMhlvVS.cjs → display-settings-DPqTRJ7E.cjs} +3 -1
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +1 -1
- package/components/{display-settings-binning-GIE6ww1Q.js → display-settings-binning-BkCNSkgf.js} +2 -2
- package/components/{display-settings-binning-HrXOdGwO.cjs → display-settings-binning-DZKo_tBm.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +1 -1
- package/components/{display-settings-datetime-YS7_TUet.js → display-settings-datetime-BTgriFcv.js} +14 -14
- package/components/{display-settings-datetime-DNeLEl3L.cjs → display-settings-datetime-DD7Oh-2T.cjs} +8 -8
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +1 -1
- package/components/{display-settings-grand-totals-C-7s1Tyo.cjs → display-settings-grand-totals-BsIZg67h.cjs} +1 -1
- package/components/{display-settings-grand-totals-Bt_ju8jp.js → display-settings-grand-totals-DH7AoyQY.js} +2 -2
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +1 -1
- package/components/{display-settings-numeric-OHmktQsz.js → display-settings-numeric-CkFpOoWU.js} +2 -2
- package/components/{display-settings-numeric--uwJWzC1.cjs → display-settings-numeric-CsmrnEp2.cjs} +1 -1
- package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +8 -0
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +1 -1
- package/components/{display-settings-period-over-period-B1_IJjWK.js → display-settings-period-over-period-CdI5wuL_.js} +19 -10
- package/components/{display-settings-period-over-period-C4X8c-_R.cjs → display-settings-period-over-period-Co37HcSm.cjs} +7 -9
- package/components/{donut-chart-options.config-CPHgS1Wi.js → donut-chart-options.config-C8wpZzyJ.js} +1 -1
- package/components/{donut-chart-positioning.config-BY2TIeeY.cjs → donut-chart-positioning.config-BThtaJEt.cjs} +1 -1
- package/components/{donut-chart-positioning.config-D34HegyZ.js → donut-chart-positioning.config-D2uG_Irk.js} +1 -1
- package/components/{donut-chart-slots.config-DilGk7ju.js → donut-chart-slots.config-fGqtoKZi.js} +1 -1
- package/components/{dropdown-filter-options.config-DFJKns3l.js → dropdown-filter-options.config-DkiapYtc.js} +1 -1
- package/components/{dropdown-filter-slots.config-7heZtoEY.js → dropdown-filter-slots.config-DPcT6v-9.js} +1 -1
- package/components/es-DK-49nGv.cjs +20 -0
- package/components/{es-BCur0-77.js → es-DUENN-m1.js} +34 -0
- package/components/{evolution-number-options.config-DT7iGQA8.js → evolution-number-options.config-Ca9ABNVM.js} +1 -1
- package/components/{evolution-number-positioning.config-CKzCTjdO.js → evolution-number-positioning.config-BtjobZqK.js} +1 -1
- package/components/{evolution-number-positioning.config-BBvULr59.cjs → evolution-number-positioning.config-DtYiv9oB.cjs} +1 -1
- package/components/{evolution-number-slots.config-noZzIHkT.js → evolution-number-slots.config-CKawNqUS.js} +1 -1
- package/components/filter-expression-picker/filter-expression-picker.d.ts +4 -0
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/{filter-expression-picker-DurfSgRY.js → filter-expression-picker-C4kE_Thd.js} +14 -6
- package/components/{filter-expression-picker-BOLyxG2r.cjs → filter-expression-picker-CU-OfSmI.cjs} +4 -2
- package/components/filter-item/filter-item.d.ts +39 -0
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.d.ts +1 -0
- package/components/filter-item/index.js +1 -1
- package/components/filter-item-Be6Z7NMz.js +792 -0
- package/components/filter-item-CxPrwF-R.cjs +111 -0
- package/components/filter-parameter-picker/filter-parameter-picker.d.ts +4 -0
- package/components/filter-parameter-picker/index.cjs +1 -1
- package/components/filter-parameter-picker/index.js +1 -1
- package/components/{filter-parameter-picker-BWNBc8BI.js → filter-parameter-picker-Ba8bvoPZ.js} +18 -10
- package/components/{filter-parameter-picker-DSYaE9Sv.cjs → filter-parameter-picker-BtJLCUbT.cjs} +5 -4
- package/components/filter-value-picker/filter-value-picker.d.ts +6 -0
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/{filter-value-picker-kzIrnmdp.js → filter-value-picker-DD206JZl.js} +26 -8
- package/components/{filter-value-picker-DYl_1pis.cjs → filter-value-picker-Dpua1vcJ.cjs} +11 -2
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +6 -0
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +1 -1
- package/components/{filter-value-picker-datetime-CP5__ua6.js → filter-value-picker-datetime-Bj0YaPtB.js} +25 -5
- package/components/{filter-value-picker-datetime-BFbmCKs3.cjs → filter-value-picker-datetime-DWgI83nJ.cjs} +11 -2
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +6 -0
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +1 -1
- package/components/filter-value-picker-hierarchy-BEoqkQq0.cjs +54 -0
- package/components/{filter-value-picker-hierarchy-j0LRYW1c.js → filter-value-picker-hierarchy-ZMThNJYm.js} +22 -6
- package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +6 -0
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +1 -1
- package/components/filter-value-picker-numeric-1Vxp_Vam.cjs +54 -0
- package/components/{filter-value-picker-numeric-BmKmeOol.js → filter-value-picker-numeric-CVaDogFQ.js} +21 -4
- package/components/filters/filters.d.ts +62 -2
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.d.ts +2 -1
- package/components/filters/index.js +1 -1
- package/components/filters/types.d.ts +2 -0
- package/components/filters-Cnm0Kwk3.js +926 -0
- package/components/filters-Dtbt99BP.cjs +199 -0
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/{formula-BYx4gH6i.js → formula-BE9bipho.js} +2 -2
- package/components/{formula-cc2AaiLt.cjs → formula-DGMnKmnR.cjs} +1 -1
- package/components/{formula-codemirror-EMK3MCNZ.cjs → formula-codemirror-B14vsZXJ.cjs} +1 -1
- package/components/{formula-codemirror-CVzyYNLO.js → formula-codemirror-xfm0QtJN.js} +5 -5
- package/components/formula-display-store-8hohve9v.cjs +20 -0
- package/components/{formula-display-store-BPn9m5TL.js → formula-display-store-JAaWuYNB.js} +229 -235
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +3 -3
- package/components/{formula-editor-CWKXcUTF.cjs → formula-editor-CkW-JfyT.cjs} +1 -1
- package/components/{formula-editor-BxoIkARr.js → formula-editor-DN87mT8q.js} +7 -7
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +1 -1
- package/components/{formula-field-BtvaOWki.js → formula-field-B1EMJOfK.js} +1 -1
- package/components/{formula-field-CzS2pKJI.cjs → formula-field-CQYFSBHL.cjs} +1 -1
- package/components/formula-input-base-BCQXmd1P.cjs +49 -0
- package/components/{formula-input-base-DVtGLoyA.js → formula-input-base-HL0Fg74x.js} +7 -7
- package/components/{fr-BnECl1nx.js → fr-CePmGBUH.js} +34 -0
- package/components/fr-uE3fb3kc.cjs +20 -0
- package/components/{funnel-chart-options.config-D21WdHBI.js → funnel-chart-options.config-CygQsQVD.js} +1 -1
- package/components/{funnel-chart-positioning.config-BPSmV76y.cjs → funnel-chart-positioning.config-DeLnAGGT.cjs} +1 -1
- package/components/{funnel-chart-positioning.config-CvhpE7rN.js → funnel-chart-positioning.config-TVzSiV6I.js} +1 -1
- package/components/{funnel-chart-slots.config-BWszdEe8.js → funnel-chart-slots.config-CfnSH4Ay.js} +1 -1
- package/components/{get-css-variable-B8sJUuig.cjs → get-css-variable-CBXsAxR6.cjs} +1 -1
- package/components/{get-css-variable-r1spgqX0.js → get-css-variable-DYnldi15.js} +1 -1
- package/components/{get-dataset-name-D53TN7N9.js → get-dataset-name-DLjeChNS.js} +1 -1
- package/components/{get-dataset-name-DYLdbEs-.cjs → get-dataset-name-mGNEfkAv.cjs} +1 -1
- package/components/{groupings-BtmmUlPK.js → groupings-CODDxpbZ.js} +1 -1
- package/components/{groupings-Bn9384Zw.cjs → groupings-DKMq8DgS.cjs} +1 -1
- package/components/{heat-map-options.config-DkuYkbWu.js → heat-map-options.config-X96sw-BV.js} +1 -1
- package/components/{heat-map-positioning.config-AOHTEJf7.js → heat-map-positioning.config--wm9l7bB.js} +1 -1
- package/components/{heat-map-positioning.config-CHDHFIo2.cjs → heat-map-positioning.config-ddrgZXa9.cjs} +1 -1
- package/components/{heat-map-slots.config-Cwun49Qb.js → heat-map-slots.config-D2ypExJQ.js} +1 -1
- package/components/{heat-table-options.config-BJP1jVB8.js → heat-table-options.config-D6dA9J97.js} +1 -1
- package/components/{heat-table-positioning.config-DprOfmlW.js → heat-table-positioning.config-CIhhBEMg.js} +1 -1
- package/components/{heat-table-positioning.config-DCLE9cy4.cjs → heat-table-positioning.config-qMDSRhZR.cjs} +1 -1
- package/components/{heat-table-slots.config-nGB_B2mh.js → heat-table-slots.config-B1iOn6ay.js} +1 -1
- package/components/{hexbin-map-options.config-Bqp3u2bH.js → hexbin-map-options.config-FK9DrXGD.js} +1 -1
- package/components/{hexbin-map-positioning.config-BmLljWez.cjs → hexbin-map-positioning.config-E_BpcIFy.cjs} +1 -1
- package/components/{hexbin-map-positioning.config-BjxkoqGh.js → hexbin-map-positioning.config-S7VYUwVD.js} +1 -1
- package/components/{hexbin-map-slots.config-BK-ftozd.js → hexbin-map-slots.config-CC1xZINm.js} +1 -1
- package/components/{image-options.config-Cz55iN7J.js → image-options.config-DxF0RSUF.js} +1 -1
- package/components/{image-slots.config-kvHutBFK.js → image-slots.config-Ba8NXeCH.js} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +62 -62
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/interactive-viz-item/interactive-viz-item.d.ts +4 -3
- package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
- package/components/interactive-viz-item--kqitfEZ.cjs +249 -0
- package/components/{interactive-viz-item-DL5aqkvx.js → interactive-viz-item-cdShBZQA.js} +124 -95
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/{item-grid-CcwnD_u5.cjs → item-grid-BfhqMuQA.cjs} +2 -2
- package/components/{item-grid-C_OTtv4T.js → item-grid-xCM8AqRH.js} +24 -24
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-h8URFjZ2.cjs → item-option-B5FraAiv.cjs} +5 -5
- package/components/{item-option-DRWLN89_.js → item-option-DaAlj_OB.js} +52 -52
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +1 -1
- package/components/{item-option-action-button-group-B9ghoHeh.js → item-option-action-button-group-4w8ub3cT.js} +1 -1
- package/components/{item-option-action-button-group-Byg9h7uo.cjs → item-option-action-button-group-DHu8VjCy.cjs} +1 -1
- package/components/{item-option-base-Dwf3dByS.cjs → item-option-base-4Bwn-3Fc.cjs} +1 -1
- package/components/{item-option-base-pYrkqt6q.js → item-option-base-BxQUwXzg.js} +1 -1
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +1 -1
- package/components/{item-option-color-palette-picker-DnVqGnm4.js → item-option-color-palette-picker-D5nO-Bqb.js} +1 -1
- package/components/{item-option-color-palette-picker-v6TBE-I0.cjs → item-option-color-palette-picker-DrhHKaAK.cjs} +1 -1
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +1 -1
- package/components/{item-option-color-picker-CNkNZ1p-.cjs → item-option-color-picker-Bhv_k1uW.cjs} +1 -1
- package/components/{item-option-color-picker-CO-OAFOs.js → item-option-color-picker-CKokPQcS.js} +1 -1
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +1 -1
- package/components/{item-option-color-range-BveD6fsp.cjs → item-option-color-range-CwDkzRcx.cjs} +1 -1
- package/components/{item-option-color-range-bdYUxgQ9.js → item-option-color-range-DYsMbFEb.js} +1 -1
- package/components/item-option-guidelines/index.cjs +1 -1
- package/components/item-option-guidelines/index.js +1 -1
- package/components/{item-option-guidelines-Ce88dTV-.js → item-option-guidelines-CXl4Yla4.js} +3 -3
- package/components/{item-option-guidelines-D8UjylMx.cjs → item-option-guidelines-DMjA-h3h.cjs} +1 -1
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +1 -1
- package/components/{item-option-multi-language-field-D0jRPAjY.cjs → item-option-multi-language-field-C75Hd2fG.cjs} +1 -1
- package/components/{item-option-multi-language-field-0qfdBanp.js → item-option-multi-language-field-S6Mt3k23.js} +1 -1
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +1 -1
- package/components/{item-option-number-field-DYJ0eIf7.cjs → item-option-number-field-Bg5r0IAX.cjs} +1 -1
- package/components/{item-option-number-field-CcEav5C3.js → item-option-number-field-CALw8q_J.js} +1 -1
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-6Voh87nt.cjs → item-option-panel-DBXgOsM4.cjs} +1 -1
- package/components/{item-option-panel-DrI7HYrY.js → item-option-panel-v7yUS9hb.js} +3 -3
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +1 -1
- package/components/{item-option-picker-Bv4aGaCO.js → item-option-picker-CZyzd3Nq.js} +1 -1
- package/components/{item-option-picker-DkEgfEE7.cjs → item-option-picker-RFstpFwI.cjs} +1 -1
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +1 -1
- package/components/{item-option-position-picker-1d7qZmDv.js → item-option-position-picker-C8cnHEH4.js} +1 -1
- package/components/{item-option-position-picker-CKgaqFJR.cjs → item-option-position-picker-CKHbHHl1.cjs} +1 -1
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +1 -1
- package/components/{item-option-positions-number-field-BJXer0y5.cjs → item-option-positions-number-field-BGs3WWaz.cjs} +1 -1
- package/components/{item-option-positions-number-field-DUlBsbUL.js → item-option-positions-number-field-BJTY1qZR.js} +1 -1
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +1 -1
- package/components/{item-option-radio-button-group-ChtTIO3B.cjs → item-option-radio-button-group-CN8TLtsV.cjs} +1 -1
- package/components/{item-option-radio-button-group-DuMcIZvr.js → item-option-radio-button-group-vhm4r4_k.js} +1 -1
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/{item-option-slider-CWxRoAbA.js → item-option-slider-CQOKWBZQ.js} +1 -1
- package/components/{item-option-slider-CBSnkHVq.cjs → item-option-slider-DbLPhpJd.cjs} +1 -1
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/{item-option-switch-dO66fjoD.cjs → item-option-switch-CWpb0nf3.cjs} +1 -1
- package/components/{item-option-switch-DvMLATBO.js → item-option-switch-azZX2vJr.js} +1 -1
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +1 -1
- package/components/{item-option-text-field-DS-gn_Gc.js → item-option-text-field-CIM_38yi.js} +1 -1
- package/components/{item-option-text-field-Furz80ho.cjs → item-option-text-field-CS3Lccda.cjs} +1 -1
- package/components/item-options-configs.js +45 -45
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/item-slot-drop-C8WYPu_w.cjs +91 -0
- package/components/{item-slot-drop-DE90FDdS.js → item-slot-drop-DeZ2GvAu.js} +27 -27
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +1 -1
- package/components/{item-slot-drop-panel-DLqyYvKj.cjs → item-slot-drop-panel-BcBHDDTT.cjs} +6 -6
- package/components/{item-slot-drop-panel-CyfhbUlE.js → item-slot-drop-panel-LpfX7ap0.js} +48 -48
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/{item-slot-picker-BM03UNRE.js → item-slot-picker-BSO1ltXC.js} +42 -42
- package/components/{item-slot-picker-CgEtqhqe.cjs → item-slot-picker-CvySq194.cjs} +17 -17
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +1 -1
- package/components/{item-slot-picker-panel-DPaabfv5.js → item-slot-picker-panel-CsntXcAp.js} +15 -15
- package/components/{item-slot-picker-panel-CuH3OcmV.cjs → item-slot-picker-panel-DQ_OzMO_.cjs} +8 -8
- package/components/item-slots-configs.js +45 -45
- package/components/{line-chart-options.config-D8gRtfj3.js → line-chart-options.config-C3_RnROS.js} +1 -1
- package/components/{line-chart-positioning.config-CPGyHeJF.js → line-chart-positioning.config-CrreArf5.js} +1 -1
- package/components/{line-chart-positioning.config-BnDYCjGX.cjs → line-chart-positioning.config-DMe1Ldwk.cjs} +1 -1
- package/components/{line-chart-slots.config-C6LEwEwh.js → line-chart-slots.config-CA-I6B6o.js} +1 -1
- package/components/{localized-mixin-DBUkUh0o.js → localized-mixin-DaLXe5J9.js} +1 -1
- package/components/{localized-mixin-CtNoCjjI.cjs → localized-mixin-DiUJOd06.cjs} +1 -1
- package/components/{marker-map-options.config-BE8GnY_T.js → marker-map-options.config-OMdgbAc4.js} +1 -1
- package/components/{marker-map-positioning.config-Bq1EPg3J.cjs → marker-map-positioning.config-CpI8nCtC.cjs} +1 -1
- package/components/{marker-map-positioning.config-CBERtxkG.js → marker-map-positioning.config-DW9tMO2M.js} +1 -1
- package/components/{marker-map-slots.config-Cyk-QFPT.js → marker-map-slots.config-CcGNgr1_.js} +1 -1
- package/components/{nl-h9vVAk2e.js → nl-BaZM3WoR.js} +34 -0
- package/components/nl-BoEhzeIh.cjs +20 -0
- package/components/{ohlc-chart-options.config-xgegn34C.js → ohlc-chart-options.config-CWRI5bXI.js} +1 -1
- package/components/{ohlc-chart-positioning.config-aCf-SEt7.cjs → ohlc-chart-positioning.config-9DETh4xy.cjs} +1 -1
- package/components/{ohlc-chart-positioning.config-CpPJyyLB.js → ohlc-chart-positioning.config-CkX8gyS2.js} +1 -1
- package/components/{ohlc-chart-slots.config-CQFi8BIT.js → ohlc-chart-slots.config-Pv0xst-Y.js} +1 -1
- package/components/{parallel-coordinates-plot-options.config-BUQLHO1k.js → parallel-coordinates-plot-options.config-DbuNgevO.js} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs → parallel-coordinates-plot-positioning.config-CLDZdGdh.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-DsNDp1G7.js → parallel-coordinates-plot-positioning.config-DTJZLEeT.js} +1 -1
- package/components/{parallel-coordinates-plot-slots.config-D5o-5y_j.js → parallel-coordinates-plot-slots.config-GvYC-RXK.js} +1 -1
- package/components/{pivot-table-options.config-DW9UDipI.js → pivot-table-options.config-CTz4bcGJ.js} +1 -1
- package/components/{pivot-table-positioning.config-gBHM1_-K.cjs → pivot-table-positioning.config-B-SALuVb.cjs} +1 -1
- package/components/{pivot-table-positioning.config-BFWS3Yk_.js → pivot-table-positioning.config-CtSYHD-n.js} +1 -1
- package/components/{pivot-table-slots.config-Cl5z3IQo.js → pivot-table-slots.config-BAW0U3nh.js} +1 -1
- package/components/{pragmatic-element-adapter-C_7HSvGV.js → pragmatic-element-adapter-D0LRKx5U.js} +75 -74
- package/components/{pragmatic-element-adapter-DPWYJiW9.cjs → pragmatic-element-adapter-DdyH32ix.cjs} +4 -4
- package/components/{pyramid-chart-options.config-Cbg351Yy.js → pyramid-chart-options.config-C7btzuZj.js} +1 -1
- package/components/{pyramid-chart-positioning.config-B8dbZhvt.js → pyramid-chart-positioning.config-0Juiava5.js} +1 -1
- package/components/{pyramid-chart-positioning.config-DD64vCwl.cjs → pyramid-chart-positioning.config-BllFtneP.cjs} +1 -1
- package/components/{pyramid-chart-slots.config-DNzq2hMx.js → pyramid-chart-slots.config-CsMMyhV3.js} +1 -1
- package/components/{radar-chart-options.config-DrNyOkHq.js → radar-chart-options.config-CtA6MpUp.js} +1 -1
- package/components/{radar-chart-positioning.config-C2DWQu8V.js → radar-chart-positioning.config-BPbb63S6.js} +1 -1
- package/components/{radar-chart-positioning.config-DN51_Tzb.cjs → radar-chart-positioning.config-BY4RKNDi.cjs} +1 -1
- package/components/{radar-chart-slots.config-CXgfvAkt.js → radar-chart-slots.config-8Kf_WAFi.js} +1 -1
- package/components/{regular-table-options.config-CweBtAvm.js → regular-table-options.config-BRmS77t-.js} +1 -1
- package/components/{regular-table-slots.config-DCkw4Xkq.js → regular-table-slots.config-r-N9A-qA.js} +1 -1
- package/components/{route-map-options.config-DXHqb8Ve.js → route-map-options.config-C65J81_7.js} +1 -1
- package/components/{route-map-positioning.config-D7X6QuWY.js → route-map-positioning.config-D6nZFd8f.js} +1 -1
- package/components/{route-map-positioning.config-ryk_dUkh.cjs → route-map-positioning.config-GQ9AJfej.cjs} +1 -1
- package/components/{route-map-slots.config-DJ76FOsJ.js → route-map-slots.config-DMII2UuP.js} +1 -1
- package/components/{sankey-diagram-options.config-1lSECht4.js → sankey-diagram-options.config-nQDCRhKs.js} +1 -1
- package/components/{sankey-diagram-positioning.config-CJfGpnPS.cjs → sankey-diagram-positioning.config-DAuj5A08.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-A_7xM06n.js → sankey-diagram-positioning.config-R1EjoR5F.js} +1 -1
- package/components/{sankey-diagram-slots.config-BCc8P4j0.js → sankey-diagram-slots.config-DmWIGut0.js} +1 -1
- package/components/{scatter-plot-options.config-9zL4v24E.js → scatter-plot-options.config-BplrME7w.js} +1 -1
- package/components/{scatter-plot-positioning.config-qpwrugRe.js → scatter-plot-positioning.config-DGoMnNZy.js} +1 -1
- package/components/{scatter-plot-positioning.config-Duao2ftU.cjs → scatter-plot-positioning.config-o4c-wuRo.cjs} +1 -1
- package/components/{scatter-plot-slots.config-BMTdhTZG.js → scatter-plot-slots.config-B7wQVEEj.js} +1 -1
- package/components/{search-filter-options.config-B_qQjr68.js → search-filter-options.config-yAz6IIto.js} +1 -1
- package/components/{search-filter-slots.config-qCILSYzs.js → search-filter-slots.config-D8-V0BT5.js} +1 -1
- package/components/{set-locale-B-GvqA1H.cjs → set-locale-Xh_1AFbC.cjs} +1 -1
- package/components/{set-locale-CgCeLPlb.js → set-locale-ydAPif-7.js} +4 -4
- package/components/{slicer-filter-options.config-DK62SCMp.js → slicer-filter-options.config-BtGkT2hI.js} +1 -1
- package/components/{slicer-filter-positioning.config-DxhC39ak.cjs → slicer-filter-positioning.config-BqpIENEm.cjs} +1 -1
- package/components/{slicer-filter-positioning.config-93hC7jID.js → slicer-filter-positioning.config-D_didkcw.js} +1 -1
- package/components/{slicer-filter-slots.config-C9_NdJm4.js → slicer-filter-slots.config-DR0Wg_Zr.js} +1 -1
- package/components/{slider-filter-options.config-CP5bXdih.js → slider-filter-options.config-D_yZ_nFz.js} +1 -1
- package/components/{slider-filter-slots.config-15eAAGVn.js → slider-filter-slots.config-BUHw-32u.js} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/{slot-menu-DHJtAZ5_.js → slot-menu-CUdbaW3K.js} +35 -36
- package/components/slot-menu-DRx1Ffla.cjs +71 -0
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +1 -1
- package/components/{slot-menu-list-QltpaoWh.js → slot-menu-list-DVSxamVa.js} +3 -3
- package/components/{slot-menu-list-CeWcE4KK.cjs → slot-menu-list-DaHzz_ve.cjs} +1 -1
- package/components/slots-config-GlSNH7Gr.js +76 -0
- package/components/{speedometer-chart-options.config-dsUupCqm.js → speedometer-chart-options.config-BL7evgzP.js} +1 -1
- package/components/{speedometer-chart-positioning.config-CZbwyYsk.js → speedometer-chart-positioning.config-CmxsV4-x.js} +1 -1
- package/components/{speedometer-chart-positioning.config-DtRG3-e5.cjs → speedometer-chart-positioning.config-eVUWDhkL.cjs} +1 -1
- package/components/{speedometer-chart-slots.config-DfTw7JTF.js → speedometer-chart-slots.config-2Y_x52Gy.js} +1 -1
- package/components/{spike-map-options.config-Dh4Ky5ZP.js → spike-map-options.config-DjoTrAsC.js} +1 -1
- package/components/{spike-map-positioning.config-CevjyQ5F.cjs → spike-map-positioning.config-B38djRlf.cjs} +1 -1
- package/components/{spike-map-positioning.config-LBqSYD2n.js → spike-map-positioning.config-Bta7ar9e.js} +1 -1
- package/components/{spike-map-slots.config-i-c0F9QM.js → spike-map-slots.config-DJWMFPIR.js} +1 -1
- package/components/{strip-plot-options.config-Vw3GoLef.js → strip-plot-options.config-tDmVlu9U.js} +1 -1
- package/components/{strip-plot-positioning.config-cCdQxMM_.js → strip-plot-positioning.config-0vlAfmDB.js} +1 -1
- package/components/{strip-plot-positioning.config-DF5VxzvB.cjs → strip-plot-positioning.config-atH68L8u.cjs} +1 -1
- package/components/{strip-plot-slots.config-BuF7X3xN.js → strip-plot-slots.config-suFyIf5-.js} +1 -1
- package/components/{sunburst-chart-options.config-CXOrVmIe.js → sunburst-chart-options.config-Bjue_lQN.js} +1 -1
- package/components/{sunburst-chart-positioning.config-DmkZEexM.js → sunburst-chart-positioning.config-B2x6afBV.js} +1 -1
- package/components/{sunburst-chart-positioning.config-CERBvfoF.cjs → sunburst-chart-positioning.config-NFzFNuXB.cjs} +1 -1
- package/components/{sunburst-chart-slots.config-Cq-E6kyI.js → sunburst-chart-slots.config-BqVT-h0Z.js} +1 -1
- package/components/{symbol-map-options.config-Dultd0tF.js → symbol-map-options.config-Dyeya5Z2.js} +1 -1
- package/components/{symbol-map-positioning.config-BwG_G6He.js → symbol-map-positioning.config-B6v9PFTk.js} +1 -1
- package/components/{symbol-map-positioning.config-DhYxG8RC.cjs → symbol-map-positioning.config-DGpmp_N1.cjs} +1 -1
- package/components/{symbol-map-slots.config-BfdBHkzN.js → symbol-map-slots.config-Rhpher5o.js} +1 -1
- package/components/{text-options.config-BUiRyi3L.js → text-options.config-CXhvzzPF.js} +1 -1
- package/components/{text-slots.config-CM_ZaW3p.js → text-slots.config-Dzj4-x2G.js} +1 -1
- package/components/{treemap-chart-options.config-6l3HzikF.js → treemap-chart-options.config-BzOCEWog.js} +1 -1
- package/components/{treemap-chart-positioning.config-arjPT6b_.js → treemap-chart-positioning.config-Bf2VNVRQ.js} +1 -1
- package/components/{treemap-chart-positioning.config-BwrrXs4a.cjs → treemap-chart-positioning.config-NMULB8UM.cjs} +1 -1
- package/components/{treemap-chart-slots.config-CHkGtIOa.js → treemap-chart-slots.config-DRcafVU-.js} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/utils/store.js +1 -1
- package/components/utils-SzKvwZ9-.cjs +20 -0
- package/components/{utils-B_rE5b7a.js → utils-_8LPCz9-.js} +47 -47
- package/components/utils.cjs +1 -1
- package/components/utils.js +9 -9
- package/components/{venn-diagram-options.config-Wi0dQsAu.js → venn-diagram-options.config-BMlduwIp.js} +1 -1
- package/components/{venn-diagram-positioning.config-GGLCcrqp.cjs → venn-diagram-positioning.config-D4cODPGV.cjs} +1 -1
- package/components/{venn-diagram-positioning.config-DSh3Ns9L.js → venn-diagram-positioning.config-DgOl0Vh-.js} +1 -1
- package/components/{venn-diagram-slots.config-DY04aeYK.js → venn-diagram-slots.config-CMDndPVi.js} +1 -1
- package/components/{video-options.config-B6pQUPB7.js → video-options.config-DdfSTJEJ.js} +1 -1
- package/components/{video-slots.config-C-kXGzo3.js → video-slots.config-Utnn0DBW.js} +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/{viz-item-menu-hLdU-02Q.cjs → viz-item-menu-CNHv6qDa.cjs} +1 -1
- package/components/{viz-item-menu-B7yRaSAU.js → viz-item-menu-L_j0L08h.js} +1 -1
- package/components/{wordcloud-chart-options.config-CpMtpG7q.js → wordcloud-chart-options.config-y9Z5I_ZN.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-B8ZzwIdd.js → wordcloud-chart-positioning.config-BP6iqy-N.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-Cxyhs6gk.cjs → wordcloud-chart-positioning.config-DZEkWvb0.cjs} +1 -1
- package/components/{wordcloud-chart-slots.config-Cc5F92Tv.js → wordcloud-chart-slots.config-CvabtgbP.js} +1 -1
- package/custom-elements.json +402 -3
- package/package.json +2 -2
- package/react/components/filters.component.ts +1 -1
- package/react/esm/components/filters.component.d.ts +1 -1
- package/react/esm/components/filters.component.js +1 -1
- package/react/package.json +2 -2
- package/utils/create-lazy-loader.d.ts +5 -0
- package/utils/filters/filter-text.d.ts +64 -0
- package/utils/filters/index.d.ts +1 -0
- package/utils/filters/presentation.d.ts +4 -0
- package/utils/filters/tests/filter-text.test.d.ts +1 -0
- package/utils/formatter/localized-template.d.ts +4 -0
- package/utils/formatter/tests/localized-template.test.d.ts +1 -0
- package/utils/slot-state/slot-store.d.ts +4 -0
- package/utils/slot-state/tests/slot-store.test.d.ts +1 -0
- package/utils/tests/create-lazy-loader.test.d.ts +1 -0
- package/components/convert-data-field-to-slot-content-DLzkk6dT.cjs +0 -20
- package/components/data-field-panel-DFA97_8o.cjs +0 -87
- package/components/data-fields-select-BtXNFZy9.cjs +0 -41
- package/components/de-CdZnQbKI.cjs +0 -20
- package/components/es-7RD7O4q3.cjs +0 -20
- package/components/filter-item-C58zIpPh.js +0 -316
- package/components/filter-item-obyHcs9f.cjs +0 -71
- package/components/filter-value-picker-hierarchy-BTf992WX.cjs +0 -48
- package/components/filter-value-picker-numeric-DJi0Utk_.cjs +0 -48
- package/components/filters-BddhKRZC.js +0 -745
- package/components/filters-Dx6g0xl9.cjs +0 -153
- package/components/formula-display-store-DER7C0GG.cjs +0 -20
- package/components/formula-input-base-CvD0b2cO.cjs +0 -49
- package/components/fr-CGw2IwXh.cjs +0 -20
- package/components/interactive-viz-item-DTr14-9-.cjs +0 -247
- package/components/item-slot-drop-f8jm-34W.cjs +0 -91
- package/components/nl-BnzS_ZtB.cjs +0 -20
- package/components/slot-menu-CPxyyKSe.cjs +0 -71
- package/components/slots-config-D3ivNWtC.js +0 -76
- package/components/utils-BwJNkc-z.cjs +0 -20
|
@@ -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-CtNoCjjI.cjs"),n=require("./v4-Dyp-SQ1c.cjs"),r=require("./color-Bl8h58rV.cjs"),i=require("./themes-kvrISOTz.cjs"),a=require("./item-list.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/icon");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/tooltip");let u=require("lit/directives/repeat.js"),d=require("lit/directives/guard.js");require("@luzmo/embed"),require("@luzmo/lucero/action-group");let f=require("@luzmo/lucero/utils");var p=`.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;width:auto;margin:0;position:absolute;z-index:0!important}.grid-stack>.grid-stack-item{width:var(--gs-column-width);height:var(--gs-cell-height);padding:0;position:absolute;top:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{width:auto;margin:0;position:absolute;overflow:hidden auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{-ms-touch-action:none;touch-action:none;font-size:.1px;display:block;position:absolute}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\\"http://www.w3.org/2000/svg\\" fill=\\"none\\" stroke=\\"%23666\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" viewBox=\\"0 0 20 20\\"><path d=\\"m10 3 2 2H8l2-2v14l-2-2h4l-2 2\\"/></svg>");background-position:50%;background-repeat:no-repeat}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{opacity:.8;box-shadow:1px 4px 6px #0003}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left,right,top,height,width}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}`,m=(e,t)=>{e.forEach(e=>{let n=e.querySelector(`luzmo-embed-viz-item`);n&&(n.options={...n.options,locale:t})})},h=({action:e,actionType:t,active:n,items:r,element:i,itemId:a,item:o,deletedId:s,originalElement:c,updatedItems:l})=>({action:e,actionType:t,active:n,items:r,element:i,item:{...o,id:a,filters:o?.filters??[]},...s&&{deletedId:s},...c&&{originalElement:c},...l&&{updatedItems:l}}),g=({target:e,action:t,actionType:n,active:r,items:i,element:a,itemId:o,item:s,deletedId:c,originalElement:l,updatedItems:u})=>{e.dispatchEvent(new CustomEvent(`luzmo-item-grid-item-action`,{detail:h({action:t,actionType:n,active:r,items:i,element:a,itemId:o,item:s,deletedId:c,originalElement:l,updatedItems:u}),bubbles:!0,composed:!0,cancelable:!0}))},_=({target:e,itemStates:t,updatedItemStates:n,changedItemStates:r})=>{e.dispatchEvent(new CustomEvent(`luzmo-item-grid-item-states-changed`,{detail:{itemStates:t,updatedItemStates:n,changedItemStates:r},bubbles:!0,composed:!0}))},v=({target:e,eventName:t,detail:n})=>{e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))},y=e=>e instanceof Element?e:void 0,b=e=>y(e)?.closest(`.grid-stack-item`),x=({event:e,gridItem:t})=>!y(e.relatedTarget)?.closest(`.grid-item-actions-popover`)&&!t.hasAttribute(`active`),ee=({event:e,focusedItemElement:t,removeItemActionsMenuPopover:n})=>{let r=b(e.target);return r?(t&&t!==r&&(t.removeAttribute(`focused`),n(t)),r.setAttribute(`focused`,`true`),r):t},S=({event:e,focusedItemElement:t,removeItemActionsMenuPopover:n})=>t?y(e.relatedTarget)?.closest(`luzmo-item-grid-item-actions-menu`)?{focusedItemElement:t,shouldFocusGrid:!1}:(t.removeAttribute(`focused`),n(t),{focusedItemElement:void 0,shouldFocusGrid:!0}):{focusedItemElement:void 0,shouldFocusGrid:!1},C=({item:e,activeItemElement:t,gridElement:n,removeItemActionsMenuPopover:r})=>{if(e.removeAttribute(`active`),r(e),t===e){n.removeAttribute(`has-active-item`);return}return t},w=({event:e,gridElement:t,items:n,state:r,cleanupActiveItem:i,dispatchItemActionEvent:a,createItemActionsMenuPopover:o})=>{e.stopPropagation();let s=e.detail,c=e.target?.closest(`.grid-stack-item`);if(!c)return r;let l=c.getAttribute(`gs-id`),u=n.find(e=>e.id===l);return s.type===`toggle`&&s.action===r.activeItemActionToggle&&c===r.activeItemElement?(r.activeItemElement=void 0,r.activeItemActionToggle=void 0,t.removeAttribute(`has-active-item`),c.removeAttribute(`active`),i(c),l&&a(s.action,s.type,!1,c,l,u),r):(t.querySelectorAll(`.grid-stack-item`).forEach(e=>{e!==c&&i(e)}),s.type===`toggle`?(r.activeItemElement=c,r.activeItemActionToggle=s.action,t.setAttribute(`has-active-item`,`true`),c.setAttribute(`active`,`true`),o(c,[s.action])):r.activeItemElement&&r.activeItemElement!==c&&(r.activeItemElement=void 0,r.activeItemActionToggle=void 0),l&&a(s.action,s.type,s.active,c,l,u),r)},te=({event:e,gridElement:t,hostElement:n,items:r,activeItemActionToggle:i,cleanupActiveItem:a,dispatchItemActionEvent:o})=>{let s=e.composedPath();if(!s.includes(t)&&!s.includes(n))return{activeItemActionToggle:i};let c=t.querySelector(`.grid-stack-item[active]`);if(!c||s.includes(c))return{activeItemActionToggle:i};let l=c.querySelector(`.grid-item-actions-popover`);if(l&&s.includes(l))return{activeItemActionToggle:i};let u=c.getAttribute(`gs-id`),d=r.find(e=>e.id===u);return a(c),i&&u&&o(i,`toggle`,!1,c,u,d),{activeItemActionToggle:void 0}},ne=({gridElement:e,items:t,gridItemData:n,itemId:r,action:i,options:a,state:o,cleanupActiveItem:s,dispatchItemActionEvent:c,createItemActionsMenuPopover:l})=>{if(!n?.element)return{result:void 0,state:o};let u=n.element,d=n.item,f=i===o.activeItemActionToggle&&u===o.activeItemElement,p=a?.active??!f;if(a?.active!==void 0&&p===f)return{result:f,state:o};if(!p)return o.activeItemElement=void 0,o.activeItemActionToggle=void 0,e.removeAttribute(`has-active-item`),u.removeAttribute(`active`),s(u),c(i,`toggle`,!1,u,r,d),{result:!1,state:o};if(o.activeItemElement&&o.activeItemElement!==u){let e=o.activeItemElement.getAttribute(`gs-id`),n=t.find(t=>t.id===e),r=o.activeItemActionToggle,i=o.activeItemElement;s(o.activeItemElement),o.activeItemElement=void 0,o.activeItemActionToggle=void 0,r&&e&&n&&c(r,`toggle`,!1,i,e,n)}return o.activeItemElement=u,o.activeItemActionToggle=i,e.setAttribute(`has-active-item`,`true`),u.setAttribute(`active`,`true`),l(u,[i]),c(i,`toggle`,!0,u,r,d),{result:!0,state:o}},re=({gridElement:e,items:t,state:n,cleanupActiveItem:r,dispatchItemActionEvent:i})=>{let a=0;if(n.activeItemElement&&n.activeItemActionToggle){let o=n.activeItemElement.getAttribute(`gs-id`),s=t.find(e=>e.id===o),c=n.activeItemActionToggle,l=n.activeItemElement;r(n.activeItemElement),n.activeItemElement=void 0,n.activeItemActionToggle=void 0,e.removeAttribute(`has-active-item`),c&&o&&s&&(i(c,`toggle`,!1,l,o,s),a++)}return{deactivatedCount:a,state:n}},ie={sizeX:1,sizeY:1,col:0,row:0},ae=e=>{e.forEach(e=>{if(!e.id)throw Error(`Grid item id is required`)})},oe=e=>{if(!e.id)throw Error(`Grid item id is required`);return e.id},se=(e,t)=>({id:t,x:e?.position?.col??0,y:e?.position?.row??0,w:e?.position?.sizeX??1,h:e?.position?.sizeY??1}),ce=(e,t)=>({...structuredClone(e),id:t,position:{...ie,...structuredClone(e.position)},canFilter:e.canFilter??`all`}),le=(e,t)=>{if(t){for(let n of e)if(n.getAttribute(`luzmo-item-grid-item-id`)===t)return n}},ue=(e,t)=>e.map(e=>{let n={item:e,element:t.querySelector(`[gs-id="${e.id}"]`)},r=n.element?.querySelector(`luzmo-embed-viz-item`);return r&&(n.luzmoElement=r),n}),de=({item:e,engine:t,existingItems:n,autoPosition:r,excludeNodeId:i})=>{let a=e.position,o=i?t.nodes.filter(e=>e.id!==i):t.nodes,s=new t.constructor({column:t.column,float:t.float,nodes:o.map(e=>({...e}))}),c={x:a.col,y:a.row,w:a.sizeX,h:a.sizeY,id:e.id,autoPosition:r};s.addNode(c);let l={...e,position:{col:c.x??a.col,row:c.y??a.row,sizeX:c.w??a.sizeX,sizeY:c.h??a.sizeY}};return{resolvedItem:l,updatedItems:[...n.map(e=>{let t=s.nodes.find(t=>t.id===e.id);return t&&t.x!=null&&t.y!=null&&t.w!=null&&t.h!=null?{...e,position:{col:t.x,row:t.y,sizeX:t.w,sizeY:t.h}}:e}),l]}},fe=({itemId:e,patch:t,engine:n,existingItems:r})=>{let i=r.find(t=>t.id===e);if(!i?.position)return r;let{resolvedItem:a,updatedItems:o}=de({item:{...i,position:{...i.position,...t}},engine:n,existingItems:r.filter(t=>t.id!==e),autoPosition:!1,excludeNodeId:e});return r.map(t=>t.id===e?a:o.find(e=>e.id===t.id)??t)},pe=e=>ce(e,e.id),me=Math.min,T=Math.max,he=Math.round,ge=Math.floor,E=e=>({x:e,y:e}),_e={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ve(e,t){return typeof e==`function`?e(t):e}function D(e){return e.split(`-`)[0]}function ye(e){return e.split(`-`)[1]}function be(e){return e===`x`?`y`:`x`}function xe(e){return e===`y`?`height`:`width`}function O(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Se(e){return be(O(e))}function Ce(e,t,n){n===void 0&&(n=!1);let r=ye(e),i=Se(e),a=xe(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Me(o)),[o,Me(o)]}function we(e){let t=Me(e);return[Te(e),t,Te(t)]}function Te(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ee=[`left`,`right`],De=[`right`,`left`],Oe=[`top`,`bottom`],ke=[`bottom`,`top`];function Ae(e,t,n){switch(e){case`top`:case`bottom`:return n?t?De:Ee:t?Ee:De;case`left`:case`right`:return t?Oe:ke;default:return[]}}function je(e,t,n,r){let i=ye(e),a=Ae(D(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Te)))),a}function Me(e){let t=D(e);return _e[t]+e.slice(t.length)}function Ne(e){return{top:0,right:0,bottom:0,left:0,...e}}function Pe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Ne(e)}function Fe(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ie(e,t,n){let{reference:r,floating:i}=e,a=O(t),o=Se(t),s=xe(o),c=D(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(ye(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Le(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=ve(t,e),p=Pe(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Fe(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Fe(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Re=50,ze=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Le},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ie(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Re&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Ie(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Be=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=ve(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=D(r),_=O(o),v=D(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Me(o)]:we(o)),x=p!==`none`;!d&&x&&b.push(...je(o,m,p,y));let ee=[o,...b],S=await s.detectOverflow(t,h),C=[],w=i.flip?.overflows||[];if(l&&C.push(S[g]),u){let e=Ce(r,a,y);C.push(S[e[0]],S[e[1]])}if(w=[...w,{placement:r,overflows:C}],!C.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=ee[e];if(t&&(!(u===`alignment`&&_!==O(t))||w.every(e=>O(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:w},reset:{placement:t}};let n=w.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=w.filter(e=>{if(x){let t=O(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Ve=new Set([`left`,`top`]);async function He(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=D(n),s=ye(n),c=O(n)===`y`,l=Ve.has(o)?-1:1,u=a&&c?-1:1,d=ve(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ue=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await He(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}};function We(){return typeof window<`u`}function k(e){return Ge(e)?(e.nodeName||``).toLowerCase():`#document`}function A(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function j(e){return((Ge(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Ge(e){return We()?e instanceof Node||e instanceof A(e).Node:!1}function M(e){return We()?e instanceof Element||e instanceof A(e).Element:!1}function N(e){return We()?e instanceof HTMLElement||e instanceof A(e).HTMLElement:!1}function Ke(e){return!We()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof A(e).ShadowRoot}function P(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=L(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function qe(e){return/^(table|td|th)$/.test(k(e))}function Je(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ye=/transform|translate|scale|rotate|perspective|filter/,Xe=/paint|layout|strict|content/,F=e=>!!e&&e!==`none`,Ze;function Qe(e){let t=M(e)?L(e):e;return F(t.transform)||F(t.translate)||F(t.scale)||F(t.rotate)||F(t.perspective)||!et()&&(F(t.backdropFilter)||F(t.filter))||Ye.test(t.willChange||``)||Xe.test(t.contain||``)}function $e(e){let t=R(e);for(;N(t)&&!I(t);){if(Qe(t))return t;if(Je(t))return null;t=R(t)}return null}function et(){return Ze??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ze}function I(e){return/^(html|body|#document)$/.test(k(e))}function L(e){return A(e).getComputedStyle(e)}function tt(e){return M(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function R(e){if(k(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ke(e)&&e.host||j(e);return Ke(t)?t.host:t}function nt(e){let t=R(e);return I(t)?e.ownerDocument?e.ownerDocument.body:e.body:N(t)&&P(t)?t:nt(t)}function z(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=nt(e),i=r===e.ownerDocument?.body,a=A(r);if(i){let e=rt(a);return t.concat(a,a.visualViewport||[],P(r)?r:[],e&&n?z(e):[])}else return t.concat(r,z(r,[],n))}function rt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function it(e){let t=L(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=N(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=he(n)!==a||he(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function at(e){return M(e)?e:e.contextElement}function B(e){let t=at(e);if(!N(t))return E(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=it(t),o=(a?he(n.width):n.width)/r,s=(a?he(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ot=E(0);function st(e){let t=A(e);return!et()||!t.visualViewport?ot:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ct(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==A(e)?!1:t}function V(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=at(e),o=E(1);t&&(r?M(r)&&(o=B(r)):o=B(e));let s=ct(a,n,r)?st(a):E(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=A(a),t=r&&M(r)?A(r):r,n=e,i=rt(n);for(;i&&r&&t!==n;){let e=B(i),t=i.getBoundingClientRect(),r=L(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=A(i),i=rt(n)}}return Fe({width:u,height:d,x:c,y:l})}function H(e,t){let n=tt(e).scrollLeft;return t?t.left+n:V(j(e)).left+n}function lt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-H(e,n),y:n.top+t.scrollTop}}function ut(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=j(r),s=t?Je(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=E(1),u=E(0),d=N(r);if((d||!d&&!a)&&((k(r)!==`body`||P(o))&&(c=tt(r)),d)){let e=V(r);l=B(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?lt(o,c):E(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function dt(e){return Array.from(e.getClientRects())}function ft(e){let t=j(e),n=tt(e),r=e.ownerDocument.body,i=T(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=T(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+H(e),s=-n.scrollTop;return L(r).direction===`rtl`&&(o+=T(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var pt=25;function mt(e,t){let n=A(e),r=j(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=et();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=H(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=pt&&(a-=o)}else l<=pt&&(a+=l);return{width:a,height:o,x:s,y:c}}function ht(e,t){let n=V(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=N(e)?B(e):E(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function gt(e,t,n){let r;if(t===`viewport`)r=mt(e,n);else if(t===`document`)r=ft(j(e));else if(M(t))r=ht(t,n);else{let n=st(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Fe(r)}function _t(e,t){let n=R(e);return n===t||!M(n)||I(n)?!1:L(n).position===`fixed`||_t(n,t)}function vt(e,t){let n=t.get(e);if(n)return n;let r=z(e,[],!1).filter(e=>M(e)&&k(e)!==`body`),i=null,a=L(e).position===`fixed`,o=a?R(e):e;for(;M(o)&&!I(o);){let t=L(o),n=Qe(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||P(o)&&!n&&_t(e,o))?r=r.filter(e=>e!==o):i=t,o=R(o)}return t.set(e,r),r}function yt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Je(t)?[]:vt(t,this._c):[].concat(n),r],o=gt(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=gt(t,a[e],i);s=T(n.top,s),c=me(n.right,c),l=me(n.bottom,l),u=T(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function bt(e){let{width:t,height:n}=it(e);return{width:t,height:n}}function xt(e,t,n){let r=N(t),i=j(t),a=n===`fixed`,o=V(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=E(0);function l(){c.x=H(i)}if(r||!r&&!a)if((k(t)!==`body`||P(i))&&(s=tt(t)),r){let e=V(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?lt(i,s):E(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function St(e){return L(e).position===`static`}function Ct(e,t){if(!N(e)||L(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return j(e)===n&&(n=n.ownerDocument.body),n}function wt(e,t){let n=A(e);if(Je(e))return n;if(!N(e)){let t=R(e);for(;t&&!I(t);){if(M(t)&&!St(t))return t;t=R(t)}return n}let r=Ct(e,t);for(;r&&qe(r)&&St(r);)r=Ct(r,t);return r&&I(r)&&St(r)&&!Qe(r)?n:r||$e(e)||n}var Tt=async function(e){let t=this.getOffsetParent||wt,n=this.getDimensions,r=await n(e.floating);return{reference:xt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Et(e){return L(e).direction===`rtl`}var Dt={convertOffsetParentRelativeRectToViewportRelativeRect:ut,getDocumentElement:j,getClippingRect:yt,getOffsetParent:wt,getElementRects:Tt,getClientRects:dt,getDimensions:bt,getScale:B,isElement:M,isRTL:Et};function Ot(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function kt(e,t){let n=null,r,i=j(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=ge(d),h=ge(i.clientWidth-(u+f)),g=ge(i.clientHeight-(d+p)),_=ge(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:T(0,me(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Ot(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function At(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=at(e),u=i||a?[...l?z(l):[],...t?z(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?kt(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?V(e):null;c&&g();function g(){let t=V(e);h&&!Ot(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var jt=Ue,Mt=Be,Nt=(e,t,n)=>{let r=new Map,i={platform:Dt,...n},a={...i.platform,_c:r};return ze(e,t,{...i,platform:a})},Pt=new WeakMap,Ft=(e,t)=>{It(e),Pt.set(e,t)},It=e=>{let t=Pt.get(e);t&&(t(),Pt.delete(e))},Lt=({element:e,activeActions:t,getGridItemById:n,placementItemActionsMenu:r,renderOverlayContent:i,removeItemActionsMenuPopover:a,itemActionsDocumentPopover:o=!0})=>{let c=e.querySelector(`.grid-item-actions-popover`),l=e.querySelector(`.grid-stack-item-content`),u=n(e.getAttribute(`gs-id`)??``);if(t&&t.length>0&&c&&(a(e),c=null),!c){let n=document.createDocumentFragment();(0,s.render)(i(u?.item,t),n),c=n.querySelector(`.grid-item-actions-popover`),e.append(c)}let d=o?`absolute`:`fixed`,f=At(l,c,async()=>{let{x:e,y:t}=await Nt(l,c,{placement:u?.item?.placementActionsMenu??r??`right-start`,strategy:d,middleware:[jt(0),Mt({crossAxis:!1})]});c.style.left=`${e}px`,c.style.top=`${t}px`,o||(c.style.position=`fixed`,c.style.right=`auto`,c.style.bottom=`auto`,c.style.margin=`0`)});Ft(c,f),o&&c.isConnected&&!c.matches(`:popover-open`)&&c.showPopover()},Rt=e=>{let t=e.querySelector(`.grid-item-actions-popover`);t&&(It(t),t.hasAttribute(`popover`)&&t.matches(`:popover-open`)&&t.hidePopover(),t.remove())},zt=e=>e===`ArrowLeft`||e===`ArrowRight`||e===`ArrowUp`||e===`ArrowDown`,Bt=({key:e,node:t,maxColumns:n,shiftKey:r,ctrlKey:i,metaKey:a})=>{let o={ArrowLeft:{move:{x:t.x-1},resize:{x:t.x-1,w:t.w+1},shrink:{w:t.w-1},canMove:t.x>0,canResize:t.x>0,canShrink:t.w>1},ArrowRight:{move:{x:t.x+1},resize:{w:t.w+1},shrink:{x:t.x+1,w:t.w-1},canMove:t.x<n-t.w,canResize:t.x+t.w<n,canShrink:t.w>1},ArrowUp:{move:{y:t.y-1},resize:{y:t.y-1,h:t.h+1},shrink:{h:t.h-1},canMove:t.y>0,canResize:t.y>0,canShrink:t.h>1},ArrowDown:{move:{y:t.y+1},resize:{h:t.h+1},shrink:{y:t.y+1,h:t.h-1},canMove:!0,canResize:!0,canShrink:t.h>1}}[e];if(r&&o.canResize)return o.resize;if((i||a)&&o.canShrink)return o.shrink;if(o.canMove)return o.move},Vt=({event:e,viewMode:t,focusedItemElement:n,activeItemElement:r,gridElement:i,grid:a,columns:o,onDeleteRequest:s,removeItemActionsMenuPopover:c,createItemActionsMenuPopover:l})=>{if(t)return{focusedItemElement:n,activeItemElement:r};let u=n,d=r;if(e.key===`Delete`&&n){let e=n.nextElementSibling??n.previousElementSibling;s(n),u=e??void 0,u?requestAnimationFrame(()=>u?.focus()):i.focus(),r===n&&(d=void 0)}else if(e.key===`Escape`&&n)n.removeAttribute(`focused`),c(n),u=void 0,i.focus();else if(e.key===`Enter`&&n)e.preventDefault(),e.stopPropagation(),r&&(r.removeAttribute(`active`),i.removeAttribute(`has-active-item`),c(r),d=void 0),i.querySelectorAll(`.grid-stack-item`).forEach(e=>{e!==n&&c(e)}),l(n),requestAnimationFrame(()=>{let e=n.querySelector(`luzmo-item-grid-item-actions-menu`);e&&e.focus()});else if(n&&a&&zt(e.key)){e.preventDefault(),e.stopPropagation();let t=n.gridstackNode;if(!t)return{focusedItemElement:u,activeItemElement:d};let r=Bt({key:e.key,node:t,maxColumns:o,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey});r&&a.update(n,r)}return{focusedItemElement:u,activeItemElement:d}},U={lock:{icon:o.luzmoLockOutline,label:`Lock`,tooltip:`Lock`,action:`lock`,type:`toggle`},edit:{icon:o.luzmoPencil,label:`Edit`,tooltip:`Edit`,action:`edit`,type:`toggle`},"edit-data":{icon:o.luzmoTable,label:`Edit data`,tooltip:`Data`,action:`edit-data`,type:`toggle`},"item-options":{icon:o.luzmoCog,label:`Item options`,tooltip:`Options`,action:`item-options`,type:`toggle`},filters:{icon:o.luzmoFilterOutline,label:`Filters`,tooltip:`Filters`,action:`filters`,type:`toggle`},clone:{icon:o.luzmoClone,label:`Clone`,tooltip:`Clone`,action:`clone`,type:`button`},delete:{icon:o.luzmoTrashOutline,label:`Delete`,tooltip:`Delete`,action:`delete`,type:`button`}},Ht=e=>{if(e)return structuredClone(e).map(e=>{if(e.type===`group`)return e.actions=e.actions??[],e.actions=e.actions.map(e=>{if(typeof e==`string`&&Object.hasOwn(U,e))return{...U[e]};if(typeof e==`object`)return e.icon=e.icon??o.luzmoCircle,e.label=e.label??e.action,e.tooltip=e.tooltip??e.label??e.action,e.type=[`toggle`,`button`].includes(e.type??``)?e.type:`button`,e}).filter(Boolean),e}).filter(Boolean)},Ut=()=>[{type:`group`,actions:[{...U[`edit-data`]},{...U[`item-options`]},{...U.clone}]},{type:`group`,actions:[{...U.delete}]}],Wt=16,Gt=10,W=(e,t)=>t>=1?`rgba(${e.r},${e.g},${e.b},1)`:t<=0?`rgba(${e.r},${e.g},${e.b},0)`:`rgba(${e.r},${e.g},${e.b},${t})`,Kt=async({theme:e,currentTheme:t})=>e?.type===`custom`?structuredClone(e):e?.id&&i.n.includes(e.id)&&t?.id!==e.id?{...await i.t(e.id),id:e.id}:e?.id&&t?.id!==e.id||!e&&t?t:await i.t(`default`),qt=e=>[(e?.margins?.[0]??Wt)/2,(e?.margins?.[1]??Wt)/2],Jt=e=>Gt-(e?.margins?.[0]??Gt),Yt=e=>{let t=e?.boxShadow;if(!t)return``;let n=new r.t(t.color),i={r:Math.round(n.srgb.r*255),g:Math.round(n.srgb.g*255),b:Math.round(n.srgb.b*255)},a=e?.margins?.[0]??Wt,o=Math.min(a/10,2);return t.size===`none`?`none`:t.size===`S`?`0 ${o*2}px ${o*4}px ${W(i,.16)}, 0 ${o*2}px ${o*4}px ${W(i,.23)}`:t.size===`M`?`0 ${o*8}px ${o*16}px ${W(i,.19)}, 0 ${o*4}px ${o*4}px ${W(i,.23)}`:t.size===`L`?`0 ${o*12}px ${o*24}px ${W(i,.25)}, 0 ${o*8}px ${o*8}px ${W(i,.22)}`:``},Xt=e=>{let t=Yt(e);return new Map([[`--grid-font-family`,e?.font?.fontFamily],[`--grid-background`,e?.background],[`--grid-item-box-shadow`,t],[`--grid-item-background`,e?.itemsBackground],[`--grid-item-border-color`,e?.borders?.[`border-color`]],[`--grid-item-border-style`,e?.borders?.[`border-style`]],[`--grid-item-border-radius`,e?.borders?.[`border-radius`]],[`--grid-item-border-width`,`${e?.borders?.[`border-top-width`]}`],[`--grid-item-border-top-width`,e?.borders?.[`border-top-width`]],[`--grid-item-border-right-width`,e?.borders?.[`border-right-width`]],[`--grid-item-border-bottom-width`,e?.borders?.[`border-bottom-width`]],[`--grid-item-border-left-width`,e?.borders?.[`border-left-width`]]])},Zt=e=>{let t=e?.itemsBackground??e?.background;return t?new r.t(t).luminance<.5:!1},Qt=(e,t)=>{t&&Xt(t).forEach((t,n)=>{t?e.setProperty(n,t):e.removeProperty(n)})},$t=({item:e,defaultItemActionsMenu:t,activeActions:n})=>{let r=Ht(e?.actionsMenu)??Ht(t)??Ut();if(!a.itemTypes.find(t=>t.type===e?.type)?.containsData&&!e?.actionsMenu&&!t&&(r=r.map(e=>({...e,actions:e.actions?.filter(e=>e.action!==`edit-data`)}))),n&&n.length>0){let e=new Set(n);r=r.map(t=>({...t,actions:t.actions?.map(t=>({...t,active:t.action&&e.has(t.action)?!0:t.active}))}))}return r},en=({item:e,activeActions:t,defaultItemActionsMenu:n,placementItemActionsMenu:r,language:i,handleAction:a,itemActionsDocumentPopover:o=!0})=>{let c=$t({item:e,defaultItemActionsMenu:n,activeActions:t});return s.html`
|
|
20
|
+
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-DiUJOd06.cjs"),n=require("./color-Bl8h58rV.cjs"),r=require("./v4-Dyp-SQ1c.cjs"),i=require("./themes-kvrISOTz.cjs"),a=require("./item-list.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/icon");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/tooltip");let u=require("lit/directives/repeat.js"),d=require("lit/directives/guard.js");require("@luzmo/embed"),require("@luzmo/lucero/action-group");let f=require("@luzmo/lucero/utils");var p=`.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;width:auto;margin:0;position:absolute;z-index:0!important}.grid-stack>.grid-stack-item{width:var(--gs-column-width);height:var(--gs-cell-height);padding:0;position:absolute;top:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{width:auto;margin:0;position:absolute;overflow:hidden auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{-ms-touch-action:none;touch-action:none;font-size:.1px;display:block;position:absolute}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\\"http://www.w3.org/2000/svg\\" fill=\\"none\\" stroke=\\"%23666\\" stroke-linecap=\\"round\\" stroke-linejoin=\\"round\\" stroke-width=\\"2\\" viewBox=\\"0 0 20 20\\"><path d=\\"m10 3 2 2H8l2-2v14l-2-2h4l-2 2\\"/></svg>");background-position:50%;background-repeat:no-repeat}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{opacity:.8;box-shadow:1px 4px 6px #0003}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left,right,top,height,width}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}`,m=(e,t)=>{e.forEach(e=>{let n=e.querySelector(`luzmo-embed-viz-item`);n&&(n.options={...n.options,locale:t})})},h=({action:e,actionType:t,active:n,items:r,element:i,itemId:a,item:o,deletedId:s,originalElement:c,updatedItems:l})=>({action:e,actionType:t,active:n,items:r,element:i,item:{...o,id:a,filters:o?.filters??[]},...s&&{deletedId:s},...c&&{originalElement:c},...l&&{updatedItems:l}}),g=({target:e,action:t,actionType:n,active:r,items:i,element:a,itemId:o,item:s,deletedId:c,originalElement:l,updatedItems:u})=>{e.dispatchEvent(new CustomEvent(`luzmo-item-grid-item-action`,{detail:h({action:t,actionType:n,active:r,items:i,element:a,itemId:o,item:s,deletedId:c,originalElement:l,updatedItems:u}),bubbles:!0,composed:!0,cancelable:!0}))},_=({target:e,itemStates:t,updatedItemStates:n,changedItemStates:r})=>{e.dispatchEvent(new CustomEvent(`luzmo-item-grid-item-states-changed`,{detail:{itemStates:t,updatedItemStates:n,changedItemStates:r},bubbles:!0,composed:!0}))},v=({target:e,eventName:t,detail:n})=>{e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))},y=e=>e instanceof Element?e:void 0,b=e=>y(e)?.closest(`.grid-stack-item`),x=({event:e,gridItem:t})=>!y(e.relatedTarget)?.closest(`.grid-item-actions-popover`)&&!t.hasAttribute(`active`),ee=({event:e,focusedItemElement:t,removeItemActionsMenuPopover:n})=>{let r=b(e.target);return r?(t&&t!==r&&(t.removeAttribute(`focused`),n(t)),r.setAttribute(`focused`,`true`),r):t},S=({event:e,focusedItemElement:t,removeItemActionsMenuPopover:n})=>t?y(e.relatedTarget)?.closest(`luzmo-item-grid-item-actions-menu`)?{focusedItemElement:t,shouldFocusGrid:!1}:(t.removeAttribute(`focused`),n(t),{focusedItemElement:void 0,shouldFocusGrid:!0}):{focusedItemElement:void 0,shouldFocusGrid:!1},C=({item:e,activeItemElement:t,gridElement:n,removeItemActionsMenuPopover:r})=>{if(e.removeAttribute(`active`),r(e),t===e){n.removeAttribute(`has-active-item`);return}return t},w=({event:e,gridElement:t,items:n,state:r,cleanupActiveItem:i,dispatchItemActionEvent:a,createItemActionsMenuPopover:o})=>{e.stopPropagation();let s=e.detail,c=e.target?.closest(`.grid-stack-item`);if(!c)return r;let l=c.getAttribute(`gs-id`),u=n.find(e=>e.id===l);return s.type===`toggle`&&s.action===r.activeItemActionToggle&&c===r.activeItemElement?(r.activeItemElement=void 0,r.activeItemActionToggle=void 0,t.removeAttribute(`has-active-item`),c.removeAttribute(`active`),i(c),l&&a(s.action,s.type,!1,c,l,u),r):(t.querySelectorAll(`.grid-stack-item`).forEach(e=>{e!==c&&i(e)}),s.type===`toggle`?(r.activeItemElement=c,r.activeItemActionToggle=s.action,t.setAttribute(`has-active-item`,`true`),c.setAttribute(`active`,`true`),o(c,[s.action])):r.activeItemElement&&r.activeItemElement!==c&&(r.activeItemElement=void 0,r.activeItemActionToggle=void 0),l&&a(s.action,s.type,s.active,c,l,u),r)},te=({event:e,gridElement:t,hostElement:n,items:r,activeItemActionToggle:i,cleanupActiveItem:a,dispatchItemActionEvent:o})=>{let s=e.composedPath();if(!s.includes(t)&&!s.includes(n))return{activeItemActionToggle:i};let c=t.querySelector(`.grid-stack-item[active]`);if(!c||s.includes(c))return{activeItemActionToggle:i};let l=c.querySelector(`.grid-item-actions-popover`);if(l&&s.includes(l))return{activeItemActionToggle:i};let u=c.getAttribute(`gs-id`),d=r.find(e=>e.id===u);return a(c),i&&u&&o(i,`toggle`,!1,c,u,d),{activeItemActionToggle:void 0}},ne=({gridElement:e,items:t,gridItemData:n,itemId:r,action:i,options:a,state:o,cleanupActiveItem:s,dispatchItemActionEvent:c,createItemActionsMenuPopover:l})=>{if(!n?.element)return{result:void 0,state:o};let u=n.element,d=n.item,f=i===o.activeItemActionToggle&&u===o.activeItemElement,p=a?.active??!f;if(a?.active!==void 0&&p===f)return{result:f,state:o};if(!p)return o.activeItemElement=void 0,o.activeItemActionToggle=void 0,e.removeAttribute(`has-active-item`),u.removeAttribute(`active`),s(u),c(i,`toggle`,!1,u,r,d),{result:!1,state:o};if(o.activeItemElement&&o.activeItemElement!==u){let e=o.activeItemElement.getAttribute(`gs-id`),n=t.find(t=>t.id===e),r=o.activeItemActionToggle,i=o.activeItemElement;s(o.activeItemElement),o.activeItemElement=void 0,o.activeItemActionToggle=void 0,r&&e&&n&&c(r,`toggle`,!1,i,e,n)}return o.activeItemElement=u,o.activeItemActionToggle=i,e.setAttribute(`has-active-item`,`true`),u.setAttribute(`active`,`true`),l(u,[i]),c(i,`toggle`,!0,u,r,d),{result:!0,state:o}},re=({gridElement:e,items:t,state:n,cleanupActiveItem:r,dispatchItemActionEvent:i})=>{let a=0;if(n.activeItemElement&&n.activeItemActionToggle){let o=n.activeItemElement.getAttribute(`gs-id`),s=t.find(e=>e.id===o),c=n.activeItemActionToggle,l=n.activeItemElement;r(n.activeItemElement),n.activeItemElement=void 0,n.activeItemActionToggle=void 0,e.removeAttribute(`has-active-item`),c&&o&&s&&(i(c,`toggle`,!1,l,o,s),a++)}return{deactivatedCount:a,state:n}},ie={sizeX:1,sizeY:1,col:0,row:0},ae=e=>{e.forEach(e=>{if(!e.id)throw Error(`Grid item id is required`)})},oe=e=>{if(!e.id)throw Error(`Grid item id is required`);return e.id},se=(e,t)=>({id:t,x:e?.position?.col??0,y:e?.position?.row??0,w:e?.position?.sizeX??1,h:e?.position?.sizeY??1}),ce=(e,t)=>({...structuredClone(e),id:t,position:{...ie,...structuredClone(e.position)},canFilter:e.canFilter??`all`}),le=(e,t)=>{if(t){for(let n of e)if(n.getAttribute(`luzmo-item-grid-item-id`)===t)return n}},ue=(e,t)=>e.map(e=>{let n={item:e,element:t.querySelector(`[gs-id="${e.id}"]`)},r=n.element?.querySelector(`luzmo-embed-viz-item`);return r&&(n.luzmoElement=r),n}),de=({item:e,engine:t,existingItems:n,autoPosition:r,excludeNodeId:i})=>{let a=e.position,o=i?t.nodes.filter(e=>e.id!==i):t.nodes,s=new t.constructor({column:t.column,float:t.float,nodes:o.map(e=>({...e}))}),c={x:a.col,y:a.row,w:a.sizeX,h:a.sizeY,id:e.id,autoPosition:r};s.addNode(c);let l={...e,position:{col:c.x??a.col,row:c.y??a.row,sizeX:c.w??a.sizeX,sizeY:c.h??a.sizeY}};return{resolvedItem:l,updatedItems:[...n.map(e=>{let t=s.nodes.find(t=>t.id===e.id);return t&&t.x!=null&&t.y!=null&&t.w!=null&&t.h!=null?{...e,position:{col:t.x,row:t.y,sizeX:t.w,sizeY:t.h}}:e}),l]}},fe=({itemId:e,patch:t,engine:n,existingItems:r})=>{let i=r.find(t=>t.id===e);if(!i?.position)return r;let{resolvedItem:a,updatedItems:o}=de({item:{...i,position:{...i.position,...t}},engine:n,existingItems:r.filter(t=>t.id!==e),autoPosition:!1,excludeNodeId:e});return r.map(t=>t.id===e?a:o.find(e=>e.id===t.id)??t)},pe=e=>ce(e,e.id),me=Math.min,T=Math.max,he=Math.round,ge=Math.floor,E=e=>({x:e,y:e}),_e={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ve(e,t){return typeof e==`function`?e(t):e}function D(e){return e.split(`-`)[0]}function ye(e){return e.split(`-`)[1]}function be(e){return e===`x`?`y`:`x`}function xe(e){return e===`y`?`height`:`width`}function O(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Se(e){return be(O(e))}function Ce(e,t,n){n===void 0&&(n=!1);let r=ye(e),i=Se(e),a=xe(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Me(o)),[o,Me(o)]}function we(e){let t=Me(e);return[Te(e),t,Te(t)]}function Te(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ee=[`left`,`right`],De=[`right`,`left`],Oe=[`top`,`bottom`],ke=[`bottom`,`top`];function Ae(e,t,n){switch(e){case`top`:case`bottom`:return n?t?De:Ee:t?Ee:De;case`left`:case`right`:return t?Oe:ke;default:return[]}}function je(e,t,n,r){let i=ye(e),a=Ae(D(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Te)))),a}function Me(e){let t=D(e);return _e[t]+e.slice(t.length)}function Ne(e){return{top:0,right:0,bottom:0,left:0,...e}}function Pe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Ne(e)}function Fe(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Ie(e,t,n){let{reference:r,floating:i}=e,a=O(t),o=Se(t),s=xe(o),c=D(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(ye(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Le(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=ve(t,e),p=Pe(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Fe(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Fe(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Re=50,ze=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Le},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ie(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Re&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Ie(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Be=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=ve(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=D(r),_=O(o),v=D(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Me(o)]:we(o)),x=p!==`none`;!d&&x&&b.push(...je(o,m,p,y));let ee=[o,...b],S=await s.detectOverflow(t,h),C=[],w=i.flip?.overflows||[];if(l&&C.push(S[g]),u){let e=Ce(r,a,y);C.push(S[e[0]],S[e[1]])}if(w=[...w,{placement:r,overflows:C}],!C.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=ee[e];if(t&&(!(u===`alignment`&&_!==O(t))||w.every(e=>O(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:w},reset:{placement:t}};let n=w.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=w.filter(e=>{if(x){let t=O(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Ve=new Set([`left`,`top`]);async function He(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=D(n),s=ye(n),c=O(n)===`y`,l=Ve.has(o)?-1:1,u=a&&c?-1:1,d=ve(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ue=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await He(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}};function We(){return typeof window<`u`}function k(e){return Ge(e)?(e.nodeName||``).toLowerCase():`#document`}function A(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function j(e){return((Ge(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Ge(e){return We()?e instanceof Node||e instanceof A(e).Node:!1}function M(e){return We()?e instanceof Element||e instanceof A(e).Element:!1}function N(e){return We()?e instanceof HTMLElement||e instanceof A(e).HTMLElement:!1}function Ke(e){return!We()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof A(e).ShadowRoot}function P(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=L(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function qe(e){return/^(table|td|th)$/.test(k(e))}function Je(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ye=/transform|translate|scale|rotate|perspective|filter/,Xe=/paint|layout|strict|content/,F=e=>!!e&&e!==`none`,Ze;function Qe(e){let t=M(e)?L(e):e;return F(t.transform)||F(t.translate)||F(t.scale)||F(t.rotate)||F(t.perspective)||!et()&&(F(t.backdropFilter)||F(t.filter))||Ye.test(t.willChange||``)||Xe.test(t.contain||``)}function $e(e){let t=R(e);for(;N(t)&&!I(t);){if(Qe(t))return t;if(Je(t))return null;t=R(t)}return null}function et(){return Ze??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ze}function I(e){return/^(html|body|#document)$/.test(k(e))}function L(e){return A(e).getComputedStyle(e)}function tt(e){return M(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function R(e){if(k(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ke(e)&&e.host||j(e);return Ke(t)?t.host:t}function nt(e){let t=R(e);return I(t)?e.ownerDocument?e.ownerDocument.body:e.body:N(t)&&P(t)?t:nt(t)}function z(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=nt(e),i=r===e.ownerDocument?.body,a=A(r);if(i){let e=rt(a);return t.concat(a,a.visualViewport||[],P(r)?r:[],e&&n?z(e):[])}else return t.concat(r,z(r,[],n))}function rt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function it(e){let t=L(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=N(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=he(n)!==a||he(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function at(e){return M(e)?e:e.contextElement}function B(e){let t=at(e);if(!N(t))return E(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=it(t),o=(a?he(n.width):n.width)/r,s=(a?he(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var ot=E(0);function st(e){let t=A(e);return!et()||!t.visualViewport?ot:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ct(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==A(e)?!1:t}function V(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=at(e),o=E(1);t&&(r?M(r)&&(o=B(r)):o=B(e));let s=ct(a,n,r)?st(a):E(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=A(a),t=r&&M(r)?A(r):r,n=e,i=rt(n);for(;i&&r&&t!==n;){let e=B(i),t=i.getBoundingClientRect(),r=L(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=A(i),i=rt(n)}}return Fe({width:u,height:d,x:c,y:l})}function H(e,t){let n=tt(e).scrollLeft;return t?t.left+n:V(j(e)).left+n}function lt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-H(e,n),y:n.top+t.scrollTop}}function ut(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=j(r),s=t?Je(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=E(1),u=E(0),d=N(r);if((d||!d&&!a)&&((k(r)!==`body`||P(o))&&(c=tt(r)),d)){let e=V(r);l=B(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?lt(o,c):E(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function dt(e){return Array.from(e.getClientRects())}function ft(e){let t=j(e),n=tt(e),r=e.ownerDocument.body,i=T(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=T(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+H(e),s=-n.scrollTop;return L(r).direction===`rtl`&&(o+=T(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var pt=25;function mt(e,t){let n=A(e),r=j(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=et();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=H(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=pt&&(a-=o)}else l<=pt&&(a+=l);return{width:a,height:o,x:s,y:c}}function ht(e,t){let n=V(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=N(e)?B(e):E(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function gt(e,t,n){let r;if(t===`viewport`)r=mt(e,n);else if(t===`document`)r=ft(j(e));else if(M(t))r=ht(t,n);else{let n=st(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Fe(r)}function _t(e,t){let n=R(e);return n===t||!M(n)||I(n)?!1:L(n).position===`fixed`||_t(n,t)}function vt(e,t){let n=t.get(e);if(n)return n;let r=z(e,[],!1).filter(e=>M(e)&&k(e)!==`body`),i=null,a=L(e).position===`fixed`,o=a?R(e):e;for(;M(o)&&!I(o);){let t=L(o),n=Qe(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||P(o)&&!n&&_t(e,o))?r=r.filter(e=>e!==o):i=t,o=R(o)}return t.set(e,r),r}function yt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Je(t)?[]:vt(t,this._c):[].concat(n),r],o=gt(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=gt(t,a[e],i);s=T(n.top,s),c=me(n.right,c),l=me(n.bottom,l),u=T(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function bt(e){let{width:t,height:n}=it(e);return{width:t,height:n}}function xt(e,t,n){let r=N(t),i=j(t),a=n===`fixed`,o=V(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=E(0);function l(){c.x=H(i)}if(r||!r&&!a)if((k(t)!==`body`||P(i))&&(s=tt(t)),r){let e=V(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?lt(i,s):E(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function St(e){return L(e).position===`static`}function Ct(e,t){if(!N(e)||L(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return j(e)===n&&(n=n.ownerDocument.body),n}function wt(e,t){let n=A(e);if(Je(e))return n;if(!N(e)){let t=R(e);for(;t&&!I(t);){if(M(t)&&!St(t))return t;t=R(t)}return n}let r=Ct(e,t);for(;r&&qe(r)&&St(r);)r=Ct(r,t);return r&&I(r)&&St(r)&&!Qe(r)?n:r||$e(e)||n}var Tt=async function(e){let t=this.getOffsetParent||wt,n=this.getDimensions,r=await n(e.floating);return{reference:xt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Et(e){return L(e).direction===`rtl`}var Dt={convertOffsetParentRelativeRectToViewportRelativeRect:ut,getDocumentElement:j,getClippingRect:yt,getOffsetParent:wt,getElementRects:Tt,getClientRects:dt,getDimensions:bt,getScale:B,isElement:M,isRTL:Et};function Ot(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function kt(e,t){let n=null,r,i=j(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=ge(d),h=ge(i.clientWidth-(u+f)),g=ge(i.clientHeight-(d+p)),_=ge(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:T(0,me(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Ot(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function At(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=at(e),u=i||a?[...l?z(l):[],...t?z(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?kt(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?V(e):null;c&&g();function g(){let t=V(e);h&&!Ot(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var jt=Ue,Mt=Be,Nt=(e,t,n)=>{let r=new Map,i={platform:Dt,...n},a={...i.platform,_c:r};return ze(e,t,{...i,platform:a})},Pt=new WeakMap,Ft=(e,t)=>{It(e),Pt.set(e,t)},It=e=>{let t=Pt.get(e);t&&(t(),Pt.delete(e))},Lt=({element:e,activeActions:t,getGridItemById:n,placementItemActionsMenu:r,renderOverlayContent:i,removeItemActionsMenuPopover:a,itemActionsDocumentPopover:o=!0})=>{let c=e.querySelector(`.grid-item-actions-popover`),l=e.querySelector(`.grid-stack-item-content`),u=n(e.getAttribute(`gs-id`)??``);if(t&&t.length>0&&c&&(a(e),c=null),!c){let n=document.createDocumentFragment();(0,s.render)(i(u?.item,t),n),c=n.querySelector(`.grid-item-actions-popover`),e.append(c)}let d=o?`absolute`:`fixed`,f=At(l,c,async()=>{let{x:e,y:t}=await Nt(l,c,{placement:u?.item?.placementActionsMenu??r??`right-start`,strategy:d,middleware:[jt(0),Mt({crossAxis:!1})]});c.style.left=`${e}px`,c.style.top=`${t}px`,o||(c.style.position=`fixed`,c.style.right=`auto`,c.style.bottom=`auto`,c.style.margin=`0`)});Ft(c,f),o&&c.isConnected&&!c.matches(`:popover-open`)&&c.showPopover()},Rt=e=>{let t=e.querySelector(`.grid-item-actions-popover`);t&&(It(t),t.hasAttribute(`popover`)&&t.matches(`:popover-open`)&&t.hidePopover(),t.remove())},zt=e=>e===`ArrowLeft`||e===`ArrowRight`||e===`ArrowUp`||e===`ArrowDown`,Bt=({key:e,node:t,maxColumns:n,shiftKey:r,ctrlKey:i,metaKey:a})=>{let o={ArrowLeft:{move:{x:t.x-1},resize:{x:t.x-1,w:t.w+1},shrink:{w:t.w-1},canMove:t.x>0,canResize:t.x>0,canShrink:t.w>1},ArrowRight:{move:{x:t.x+1},resize:{w:t.w+1},shrink:{x:t.x+1,w:t.w-1},canMove:t.x<n-t.w,canResize:t.x+t.w<n,canShrink:t.w>1},ArrowUp:{move:{y:t.y-1},resize:{y:t.y-1,h:t.h+1},shrink:{h:t.h-1},canMove:t.y>0,canResize:t.y>0,canShrink:t.h>1},ArrowDown:{move:{y:t.y+1},resize:{h:t.h+1},shrink:{y:t.y+1,h:t.h-1},canMove:!0,canResize:!0,canShrink:t.h>1}}[e];if(r&&o.canResize)return o.resize;if((i||a)&&o.canShrink)return o.shrink;if(o.canMove)return o.move},Vt=({event:e,viewMode:t,focusedItemElement:n,activeItemElement:r,gridElement:i,grid:a,columns:o,onDeleteRequest:s,removeItemActionsMenuPopover:c,createItemActionsMenuPopover:l})=>{if(t)return{focusedItemElement:n,activeItemElement:r};let u=n,d=r;if(e.key===`Delete`&&n){let e=n.nextElementSibling??n.previousElementSibling;s(n),u=e??void 0,u?requestAnimationFrame(()=>u?.focus()):i.focus(),r===n&&(d=void 0)}else if(e.key===`Escape`&&n)n.removeAttribute(`focused`),c(n),u=void 0,i.focus();else if(e.key===`Enter`&&n)e.preventDefault(),e.stopPropagation(),r&&(r.removeAttribute(`active`),i.removeAttribute(`has-active-item`),c(r),d=void 0),i.querySelectorAll(`.grid-stack-item`).forEach(e=>{e!==n&&c(e)}),l(n),requestAnimationFrame(()=>{let e=n.querySelector(`luzmo-item-grid-item-actions-menu`);e&&e.focus()});else if(n&&a&&zt(e.key)){e.preventDefault(),e.stopPropagation();let t=n.gridstackNode;if(!t)return{focusedItemElement:u,activeItemElement:d};let r=Bt({key:e.key,node:t,maxColumns:o,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey});r&&a.update(n,r)}return{focusedItemElement:u,activeItemElement:d}},U={lock:{icon:o.luzmoLockOutline,label:`Lock`,tooltip:`Lock`,action:`lock`,type:`toggle`},edit:{icon:o.luzmoPencil,label:`Edit`,tooltip:`Edit`,action:`edit`,type:`toggle`},"edit-data":{icon:o.luzmoTable,label:`Edit data`,tooltip:`Data`,action:`edit-data`,type:`toggle`},"item-options":{icon:o.luzmoCog,label:`Item options`,tooltip:`Options`,action:`item-options`,type:`toggle`},filters:{icon:o.luzmoFilterOutline,label:`Filters`,tooltip:`Filters`,action:`filters`,type:`toggle`},clone:{icon:o.luzmoClone,label:`Clone`,tooltip:`Clone`,action:`clone`,type:`button`},delete:{icon:o.luzmoTrashOutline,label:`Delete`,tooltip:`Delete`,action:`delete`,type:`button`}},Ht=e=>{if(e)return structuredClone(e).map(e=>{if(e.type===`group`)return e.actions=e.actions??[],e.actions=e.actions.map(e=>{if(typeof e==`string`&&Object.hasOwn(U,e))return{...U[e]};if(typeof e==`object`)return e.icon=e.icon??o.luzmoCircle,e.label=e.label??e.action,e.tooltip=e.tooltip??e.label??e.action,e.type=[`toggle`,`button`].includes(e.type??``)?e.type:`button`,e}).filter(Boolean),e}).filter(Boolean)},Ut=()=>[{type:`group`,actions:[{...U[`edit-data`]},{...U[`item-options`]},{...U.clone}]},{type:`group`,actions:[{...U.delete}]}],Wt=16,Gt=10,W=(e,t)=>t>=1?`rgba(${e.r},${e.g},${e.b},1)`:t<=0?`rgba(${e.r},${e.g},${e.b},0)`:`rgba(${e.r},${e.g},${e.b},${t})`,Kt=async({theme:e,currentTheme:t})=>e?.type===`custom`?structuredClone(e):e?.id&&i.n.includes(e.id)&&t?.id!==e.id?{...await i.t(e.id),id:e.id}:e?.id&&t?.id!==e.id||!e&&t?t:await i.t(`default`),qt=e=>[(e?.margins?.[0]??Wt)/2,(e?.margins?.[1]??Wt)/2],Jt=e=>Gt-(e?.margins?.[0]??Gt),Yt=e=>{let t=e?.boxShadow;if(!t)return``;let r=new n.t(t.color),i={r:Math.round(r.srgb.r*255),g:Math.round(r.srgb.g*255),b:Math.round(r.srgb.b*255)},a=e?.margins?.[0]??Wt,o=Math.min(a/10,2);return t.size===`none`?`none`:t.size===`S`?`0 ${o*2}px ${o*4}px ${W(i,.16)}, 0 ${o*2}px ${o*4}px ${W(i,.23)}`:t.size===`M`?`0 ${o*8}px ${o*16}px ${W(i,.19)}, 0 ${o*4}px ${o*4}px ${W(i,.23)}`:t.size===`L`?`0 ${o*12}px ${o*24}px ${W(i,.25)}, 0 ${o*8}px ${o*8}px ${W(i,.22)}`:``},Xt=e=>{let t=Yt(e);return new Map([[`--grid-font-family`,e?.font?.fontFamily],[`--grid-background`,e?.background],[`--grid-item-box-shadow`,t],[`--grid-item-background`,e?.itemsBackground],[`--grid-item-border-color`,e?.borders?.[`border-color`]],[`--grid-item-border-style`,e?.borders?.[`border-style`]],[`--grid-item-border-radius`,e?.borders?.[`border-radius`]],[`--grid-item-border-width`,`${e?.borders?.[`border-top-width`]}`],[`--grid-item-border-top-width`,e?.borders?.[`border-top-width`]],[`--grid-item-border-right-width`,e?.borders?.[`border-right-width`]],[`--grid-item-border-bottom-width`,e?.borders?.[`border-bottom-width`]],[`--grid-item-border-left-width`,e?.borders?.[`border-left-width`]]])},Zt=e=>{let t=e?.itemsBackground??e?.background;return t?new n.t(t).luminance<.5:!1},Qt=(e,t)=>{t&&Xt(t).forEach((t,n)=>{t?e.setProperty(n,t):e.removeProperty(n)})},$t=({item:e,defaultItemActionsMenu:t,activeActions:n})=>{let r=Ht(e?.actionsMenu)??Ht(t)??Ut();if(!a.itemTypes.find(t=>t.type===e?.type)?.containsData&&!e?.actionsMenu&&!t&&(r=r.map(e=>({...e,actions:e.actions?.filter(e=>e.action!==`edit-data`)}))),n&&n.length>0){let e=new Set(n);r=r.map(t=>({...t,actions:t.actions?.map(t=>({...t,active:t.action&&e.has(t.action)?!0:t.active}))}))}return r},en=({item:e,activeActions:t,defaultItemActionsMenu:n,placementItemActionsMenu:r,language:i,handleAction:a,itemActionsDocumentPopover:o=!0})=>{let c=$t({item:e,defaultItemActionsMenu:n,activeActions:t});return s.html`
|
|
21
21
|
<div class="grid-item-actions-popover" popover=${o?`manual`:s.nothing}>
|
|
22
22
|
<luzmo-item-grid-item-actions-menu
|
|
23
23
|
.actions=${c}
|
|
@@ -110,4 +110,4 @@ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the
|
|
|
110
110
|
<div class="grid-item-content">
|
|
111
111
|
<div class="grid-item-type">${e.type}</div>
|
|
112
112
|
</div>
|
|
113
|
-
`,this._internalItemStates={},this._initialItemStatesApplied=!1,this._internalItems=[],this._initialItemsApplied=!1,this._hasWarnedControlledAndInitialItems=!1,this._hasWarnedIgnoredInitialItems=!1,this._suppressItemStatesEvent=!1,this._suppressNextLayoutChangedEvent=!1,this._hasWarnedControlledAndInitialStates=!1,this._internalItemsVersion=0,this._handleMouseout=e=>{if(this.viewMode)return;let t=b(e.target);t&&x({event:e,gridItem:t})&&this._removeItemActionsMenuPopover(t)},this._handleKeyDown=e=>{let t=Vt({event:e,viewMode:this.viewMode,focusedItemElement:this._focusedItemElement,activeItemElement:this._activeItemElement,gridElement:this._gridElement,grid:this._grid,columns:this.columns??48,onDeleteRequest:e=>{let t=e.getAttribute(`gs-id`);if(!t)return;let n=this._effectiveItems,r=n.find(e=>e.id===t);if(!r)return;this._isControlled||this._clearGridItemUiStateForDelete(e);let i=n.filter(e=>e.id!==t);g({target:this,action:`delete`,actionType:`button`,active:!1,items:n,element:e,itemId:t,item:r,updatedItems:i}),this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0})},removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this),createItemActionsMenuPopover:this._createItemActionsMenuPopover.bind(this)});this._focusedItemElement=t.focusedItemElement,this._activeItemElement=t.activeItemElement},this._handleFocus=e=>{this._focusedItemElement=ee({event:e,focusedItemElement:this._focusedItemElement,removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this)})},this._handleBlur=e=>{let t=S({event:e,focusedItemElement:this._focusedItemElement,removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this)});this._focusedItemElement=t.focusedItemElement,t.shouldFocusGrid&&this._gridElement.focus()},this._handleGridClick=e=>{if(this._isControlled){this._emitControlledClickAwayDeactivation(e);return}let t=te({event:e,gridElement:this._gridElement,hostElement:this,items:this.items,activeItemActionToggle:this._activeItemActionToggle,cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this)});this._activeItemActionToggle=t.activeItemActionToggle},this._handleAction=e=>{let t=e.detail,r=e.target?.closest(`.grid-stack-item`),i=r?.getAttribute(`gs-id`);if([`delete`,`clone`].includes(t.action)){if(e.stopPropagation(),!i)return;let a=this._effectiveItems,o=a.find(e=>e.id===i);if(!o)return;let s=this._gridElement.querySelector(`.grid-stack-item[active]`)??this._activeItemElement;if(!this._isControlled&&s&&s!==r){let e=s.getAttribute(`gs-id`),t=a.find(t=>t.id===e),n=this._activeItemActionToggle,r=s;this._cleanupActiveItem(s),n&&e&&t&&this._dispatchItemActionEvent(n,`toggle`,!1,r,e,t),this._activeItemElement=void 0,this._activeItemActionToggle=void 0,this._internalItemStates={}}if(t.action===`delete`){this._isControlled||this._clearGridItemUiStateForDelete(r);let e=a.filter(e=>e.id!==i);g({target:this,action:`delete`,actionType:t.type,active:t.active,items:a,element:r,itemId:i,item:o,updatedItems:e}),this._isItemsControlled||this._setInternalItems(e,{reconcileStates:!0})}else{let e={...structuredClone(o),id:n.t()},i=this._simulateCloneLayout(e,o),s=i.find(t=>t.id===e.id)??e;g({target:this,action:`clone`,actionType:t.type,active:t.active,items:a,element:r,itemId:e.id,item:s,originalElement:r,updatedItems:i}),this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0})}return}if(this._isControlled){if(e.stopPropagation(),!i)return;let n=this.items.find(e=>e.id===i);if(t.type===`toggle`){let e=this._effectiveItemStates,n=t.active,r=this._computeNextItemStates(i,t.action,n);_({target:this,itemStates:e,updatedItemStates:r,changedItemStates:{[i]:[t.action]}})}else g({target:this,action:t.action,actionType:t.type,active:t.active,items:this.items,element:r,itemId:i,item:n});r&&!r.hasAttribute(`active`)&&this._removeItemActionsMenuPopover(r);return}this._suppressItemStatesEvent=!0;let a=w({event:e,gridElement:this._gridElement,items:this.items,state:{activeItemElement:this._activeItemElement,activeItemActionToggle:this._activeItemActionToggle},cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this),createItemActionsMenuPopover:this._createItemActionsMenuPopover.bind(this)});if(this._suppressItemStatesEvent=!1,this._activeItemElement=a.activeItemElement,this._activeItemActionToggle=a.activeItemActionToggle,t.type===`toggle`&&i){let e=this._effectiveItemStates,n=a.activeItemElement===r&&a.activeItemActionToggle===t.action,o=this._computeNextItemStates(i,t.action,n);this._internalItemStates=o,_({target:this,itemStates:e,updatedItemStates:o,changedItemStates:this._diffItemStates(e,o)})}}}static get styles(){return[(0,s.unsafeCSS)(p),(0,s.unsafeCSS)(On)]}set items(e){let t=this._items,n=structuredClone(e??[]);this._validateItemsHaveIds(n,`items`),this._items=n,this._hasControlledItems=e!==void 0,this._isItemsControlled&&!this._hasControlledItems&&(this._setInternalItems(t,{reconcileStates:!0}),this._initialItemsApplied=!0),this.requestUpdate(`items`,t)}get items(){return this._effectiveItems}set initialItems(e){let t=this._initialItems,n=structuredClone(e??[]);this._validateItemsHaveIds(n,`initialItems`),!(!this._isItemsControlled&&this._initialItemsApplied)&&(this._initialItems=n,this._isItemsControlled||(this._initialItemsApplied=!1),this.requestUpdate(`initialItems`,t))}get initialItems(){return this._initialItems}set itemStates(e){let t=this._itemStates;this._itemStates=e??void 0,this.requestUpdate(`itemStates`,t)}get itemStates(){return this._itemStates}get _isControlled(){return this.itemStates!==void 0}get _isItemsControlled(){return this._hasControlledItems}get _effectiveItems(){return this._isItemsControlled?this._items:this._internalItems}get _effectiveItemStates(){return this._isControlled?this.itemStates:this._internalItemStates}_validateItemsHaveIds(e,t){for(let n=0;n<e.length;n+=1)if(!e[n]?.id)throw Error(`luzmo-item-grid: ${t}[${n}] is missing required id`)}async _loadTheme(e){let t=this._initialized;if(this._fullTheme=await Kt({theme:e,currentTheme:this._fullTheme}),this._initialized&&Qt(this.style,this._fullTheme),!this._initialized&&this._gridElement&&await new Promise(e=>{requestAnimationFrame(()=>{this._initializeGrid(),e()})}),this._grid){let[e,t]=qt(this.theme);this._grid.margin([e,t].join(` `))}t&&this.requestUpdate()}firstUpdated(){document.addEventListener(`click`,this._handleGridClick),this.addEventListener(`keydown`,this._handleKeyDown)}disconnectedCallback(){super.disconnectedCallback(),this._cleanup(),document.removeEventListener(`click`,this._handleGridClick),this.removeEventListener(`keydown`,this._handleKeyDown)}willUpdate(e){if(super.willUpdate(e),e.has(`_initialized`)&&(Qt(this.style,this._fullTheme),this._initialized&&this._grid&&this._fullTheme?.margins)){let[e,t]=qt(this._fullTheme);this._grid.margin([e,t].join(` `))}}updated(e){super.updated(e);let t=e.has(`contentLanguage`),n=e.has(`viewMode`),r=e.has(`items`),i=e.has(`initialItems`),a=r||e.has(`_internalItemsVersion`),o=e.has(`theme`),s=e.has(`itemStates`);this._isItemsControlled&&this.initialItems&&this.initialItems.length>0?this._hasWarnedControlledAndInitialItems||=(console.warn(`luzmo-item-grid: Both items and initialItems are set. The component will be treated as controlled (initialItems is ignored).`),!0):this._hasWarnedControlledAndInitialItems=!1,!this._initialItemsApplied&&!this._isItemsControlled&&this._initialItems.length>0?(this._setInternalItems(this._initialItems,{reconcileStates:!0}),this._initialItemsApplied=!0):i&&!this._isItemsControlled&&this._initialItems.length===0&&!this._initialItemsApplied&&(this._setInternalItems([],{reconcileStates:!0}),this._initialItemsApplied=!0),this.itemStates!==void 0&&this.initialItemStates!==void 0?this._hasWarnedControlledAndInitialStates||=(console.warn(`luzmo-item-grid: Both itemStates and initialItemStates are set. The component will be treated as controlled (initialItemStates is ignored).`),!0):this._hasWarnedControlledAndInitialStates=!1,!this._initialItemStatesApplied&&this.initialItemStates&&!this._isControlled&&(this._internalItemStates=this._sanitizeInitialItemStates(this.initialItemStates),this._initialItemStatesApplied=!0),ae(this._effectiveItems),Tn({initialized:this._initialized,grid:this._grid,hasItemsChanged:a,gridItemElements:this._gridItemElements,items:this._effectiveItems}),r&&this._reconcileStaleItemStates(),t&&m(this._gridItemElements,this.contentLanguage),this._activeItemElement=En({initialized:this._initialized,grid:this._grid,hasViewModeChanged:n,viewMode:this.viewMode,previousViewMode:e.get(`viewMode`),activeItemElement:this._activeItemElement,gridElement:this._gridElement,cleanupActiveItem:this._cleanupActiveItem.bind(this)}),(o||!this._fullTheme&&!this._initialized)&&this._loadTheme(this.theme),(a||s)&&this._initialized&&this._applyItemStates()}_setInternalItems(e,t={}){let n=structuredClone(e);this._validateItemsHaveIds(n,`internalItems`),this._internalItems=n,ae(this._internalItems),this._internalItemsVersion+=1,t.reconcileStates&&this._reconcileStaleItemStates()}_handleMouseover(e){if(this.viewMode)return;let t=b(e.target);t&&this._createItemActionsMenuPopover(t)}_emitControlledClickAwayDeactivation(e){let t=this._effectiveItemStates,n=Object.entries(t).filter(([,e])=>e.length>0);if(!this._gridElement||n.length===0)return;let r=e.composedPath();if(n.some(([e])=>{let t=Array.from(this._gridElement.querySelectorAll(`.grid-stack-item`)).find(t=>t.getAttribute(`gs-id`)===e);if(!t)return!1;if(r.includes(t))return!0;let n=t.querySelector(`.grid-item-actions-popover`);return n?r.includes(n):!1}))return;let i={},a={...t};for(let[e,t]of n){for(let n of t)a=this._computeNextItemStates(e,n,!1,a);i[e]=[...t]}_({target:this,itemStates:t,updatedItemStates:a,changedItemStates:i})}_cleanupActiveItem(e){this._activeItemElement=C({item:e,activeItemElement:this._activeItemElement,gridElement:this._gridElement,removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this)})}_clearGridItemUiStateForDelete(e){e.hasAttribute(`focused`)&&e.removeAttribute(`focused`),e.hasAttribute(`active`)&&e.removeAttribute(`active`),this._removeItemActionsMenuPopover(e),this._focusedItemElement===e&&(this._focusedItemElement=void 0),this._activeItemElement===e&&(this._activeItemElement=void 0,this._activeItemActionToggle=void 0),this._gridElement.querySelector(`.grid-stack-item[active]`)||this._gridElement.removeAttribute(`has-active-item`)}_dispatchItemActionEvent(e,t,n,r,i,a,o,s){if(g({target:this,action:e,actionType:t,active:n,items:this.items,element:r,itemId:i,item:a,deletedId:o,originalElement:s}),t===`toggle`&&!this._suppressItemStatesEvent){let t=this._effectiveItemStates,r=this._computeNextItemStates(i,e,n);this._isControlled||(this._internalItemStates=r),_({target:this,itemStates:t,updatedItemStates:r,changedItemStates:{[i]:[e]}})}}_sanitizeInitialItemStates(e){let t=Object.entries(e).filter(([,e])=>e.length>0),n=t.length,r=t.reduce((e,[,t])=>e+t.length,0);if(n>1||r>1){console.warn(`luzmo-item-grid: initialItemStates contains multiple items or actions. In uncontrolled mode, only one item with one active action is supported at a time. Only the first item and its first action will be applied. Use controlled mode (itemStates) for multiple simultaneous active items.`);let[e,n]=t[0];return{[e]:[n[0]]}}return{...e}}_diffItemStates(e,t){let n={},r=new Set([...Object.keys(e),...Object.keys(t)]);for(let i of r){let r=e[i]??[],a=t[i]??[],o=a.filter(e=>!r.includes(e)),s=r.filter(e=>!a.includes(e)),c=[...o,...s];c.length>0&&(n[i]=c)}return n}_computeNextItemStates(e,t,n,r){if(!this._isControlled)return n?{[e]:[t]}:{};let i={...r??this._effectiveItemStates};if(n){let n=i[e]??[];n.includes(t)||(i[e]=[...n,t])}else{let n=i[e];if(n){let r=n.filter(e=>e!==t);r.length===0?delete i[e]:i[e]=r}}return i}_filterItemStatesToExistingItems(e){let t=new Set(this.items.map(e=>e.id).filter(e=>!!e)),n={};for(let[r,i]of Object.entries(e))!t.has(r)||i.length===0||(n[r]=[...i]);return n}_reconcileStaleItemStates(){let e=this._isControlled?this._effectiveItemStates:this._internalItemStates,t=this._filterItemStatesToExistingItems(e),n={};for(let[r,i]of Object.entries(e))!t[r]&&i.length>0&&(n[r]=[...i]);Object.keys(n).length>0&&_({target:this,itemStates:e,updatedItemStates:t,changedItemStates:n}),this._isControlled||(this._internalItemStates=t)}_simulateCloneLayout(e,t){let n=this._effectiveItems;if(!this._grid)return[...n,e];let r=e.position??this._resolvePositionFromEngine(t.id);if(!r)return[...n,e];e={...e,position:{...r}};let i=t.position??this._resolvePositionFromEngine(t.id);this.clonedItemPositioning===`below-item`&&i&&(e.position={...e.position,col:i.col,row:i.row+i.sizeY});let a=this.clonedItemPositioning!==`below-item`||!i,{updatedItems:o}=de({item:e,engine:this._grid.engine,existingItems:this._enrichItemsWithEnginePositions(n),autoPosition:a});return o}_cleanup(){for(let e of this._gridItemElements)this._cleanupActiveItem(e);this._grid&&=(this._grid.destroy(),void 0),this._initialized=!1}_restoreItemsLayout(e){if(!this._grid||!this._gridElement||e.length===0||!this._isItemsControlled)return;let t=[];for(let n of e){if(!n.id)continue;let e=this._effectiveItems.find(e=>e.id===n.id);if(!e)continue;let r=e.position??this._resolvePositionFromEngine(e.id);if(!r)continue;let i=this._gridElement.querySelector(`.grid-stack-item[gs-id="${e.id}"]`);i&&(n.x!==r.col||n.y!==r.row||n.w!==r.sizeX||n.h!==r.sizeY)&&t.push({element:i,position:r})}if(t.length!==0){this._suppressNextLayoutChangedEvent=!0,this._grid.batchUpdate();for(let e of t)this._grid.update(e.element,{x:e.position.col,y:e.position.row,w:e.position.sizeX,h:e.position.sizeY});this._grid.batchUpdate(!1),setTimeout(()=>{this._suppressNextLayoutChangedEvent&&=!1},0)}}_initializeGrid(){this._initialized||!this._gridElement||(this._grid=xn({gridElement:this._gridElement,gridItemElements:this._gridItemElements,items:this._effectiveItems,columns:this.columns??48,rowHeight:this.rowHeight??16,viewMode:this.viewMode,fullTheme:this._fullTheme,onCreateOrUpdateDimensionsHint:this._createOrUpdateDimensionsHint.bind(this),onRemoveDimensionsHint:this._removeDimensionsHint.bind(this),onChange:e=>{if(this._suppressNextLayoutChangedEvent){this._suppressNextLayoutChangedEvent=!1;return}let t=this._effectiveItems,n=Sn(t,e);this._isItemsControlled||this._setInternalItems(n,{reconcileStates:!0}),v({target:this,eventName:`luzmo-item-grid-layout-changed`,detail:{element:this._gridElement,grid:this._grid,items:t,updatedItems:n}}),this._restoreItemsLayout(e)}}),this._initialized=!0,v({target:this,eventName:`luzmo-item-grid-ready`,detail:{element:this._gridElement,grid:this._grid,items:this._effectiveItems}}),this._applyItemStates())}_applyItemStates(){let e=this._filterItemStatesToExistingItems(this._effectiveItemStates),t=new Set(Object.entries(e).filter(([,e])=>e.length>0).map(([e])=>e)),n=[],r=this._gridElement?.querySelectorAll(`.grid-stack-item[active]`);if(r)for(let e of r){let n=e.getAttribute(`gs-id`);(!n||!t.has(n))&&(e.removeAttribute(`active`),this._removeItemActionsMenuPopover(e))}if(this._activeItemElement=void 0,this._activeItemActionToggle=void 0,t.size===0){this._gridElement?.removeAttribute(`has-active-item`);return}for(let[t,r]of Object.entries(e)){if(r.length===0)continue;let e=this.getGridItemById(t);if(!e?.element)continue;let i=e.element;i.setAttribute(`active`,`true`),this._gridElement?.setAttribute(`has-active-item`,`true`),this._createItemActionsMenuPopover(i,r);for(let e of r)n.push({element:i,action:e})}if(n.length===0){this._gridElement?.removeAttribute(`has-active-item`),this._activeItemElement=void 0,this._activeItemActionToggle=void 0;return}n.length===1?(this._activeItemElement=n[0].element,this._activeItemActionToggle=n[0].action):(this._activeItemElement=void 0,this._activeItemActionToggle=void 0)}_createOrUpdateDimensionsHint(e,t,n){Cn({element:e,numberOfColumns:t,numberOfRows:n,offsetHint:Jt(this.theme)})}_removeDimensionsHint(e){wn(e)}get grid(){return this._grid}get gridItems(){return ue(this.items,this._gridElement)}registerRenderer(e,t){this.renderers={...this.renderers,[e]:t}}_renderOverlayContent(e,t){return en({item:e,activeActions:t,defaultItemActionsMenu:this.defaultItemActionsMenu,placementItemActionsMenu:this.placementItemActionsMenu,language:this.language,handleAction:this._handleAction,itemActionsDocumentPopover:this.itemActionsDocumentPopover})}_createItemActionsMenuPopover(e,t){Lt({element:e,activeActions:t,getGridItemById:this.getGridItemById.bind(this),placementItemActionsMenu:this.placementItemActionsMenu,renderOverlayContent:this._renderOverlayContent.bind(this),removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this),itemActionsDocumentPopover:this.itemActionsDocumentPopover})}_removeItemActionsMenuPopover(e){Rt(e)}getGridItemById(e){return this.gridItems.find(t=>t.item.id===e)}scrollToItem(e){let t=this.getGridItemById(e);if(!t?.element)return;let n=t.element.getBoundingClientRect();(n.bottom>window.innerHeight||n.top<0)&&t.element.scrollIntoView({behavior:`smooth`,block:`center`})}_createMissingItemError(e){return Error(`Grid item with id "${e}" not found`)}_requireGridItem(e){let t=this._effectiveItems.find(t=>t.id===e);if(!t)throw this._createMissingItemError(e);return t}_resolvePositionFromEngine(e){let t=this._grid?.engine.nodes.find(t=>t.id===e);if(!(!t||t.x==null||t.y==null||t.w==null||t.h==null))return{col:t.x,row:t.y,sizeX:t.w,sizeY:t.h}}_requireGridItemWithPosition(e){let t=this._requireGridItem(e);if(!t.position){let n=this._resolvePositionFromEngine(e);if(!n)throw Error(`Grid item with id "${e}" does not have a position`);return{...t,position:n}}return t}_assertAddItemHasId(e){if(!e.id)throw Error(`addGridItem requires newItem.id`)}addGridItem(e){if(this._assertAddItemHasId(e),this._effectiveItems.some(t=>t.id===e.id))throw Error(`addGridItem rejected: an item with id "${e.id}" already exists`);let t=pe(e),n=this._effectiveItems;if(!this._grid){let r=e.position?.col==null||e.position?.row==null?{...t,position:void 0}:t,i=[...n,r];return this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0}),i}if(!t.position){let e=[...n,t];return this._isItemsControlled||this._setInternalItems(e,{reconcileStates:!0}),e}let r=e.position?.col==null||e.position?.row==null,{updatedItems:i}=de({item:t,engine:this._grid.engine,existingItems:n,autoPosition:r});return this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0}),i}_enrichItemsWithEnginePositions(e){return this._grid?e.map(e=>{if(e.position)return e;let t=this._resolvePositionFromEngine(e.id);return t?{...e,position:t}:e}):e}_updateGridItemPosition(e,t){let n=this._effectiveItems,r=this._requireGridItemWithPosition(e);return n.map(n=>{if(n.id!==e)return n;let i=n.position??r.position;return{...n,position:{...i,...t}}})}_dispatchLayoutChangedEvent(e,t){v({target:this,eventName:`luzmo-item-grid-layout-changed`,detail:{element:this._gridElement,grid:this._grid,items:e,updatedItems:t}})}_updateItemField(e,t){let n=this._effectiveItems;this._requireGridItem(e);let r=n.map(n=>n.id===e?{...n,...t}:n);return this._isItemsControlled||this._setInternalItems(r,{reconcileStates:!0}),r}removeGridItem(e){let t=this._effectiveItems,n=this._requireGridItem(e),r=t.filter(t=>t.id!==e);return g({target:this,action:`delete`,actionType:`button`,active:!1,items:t,element:this.getGridItemById(e)?.element??this,itemId:e,item:n,updatedItems:r}),this._isItemsControlled||this._setInternalItems(r,{reconcileStates:!0}),r}cloneGridItem(e){let t=this._effectiveItems,r=this._requireGridItem(e),i={...structuredClone(r),id:n.t()},a=this._simulateCloneLayout(i,r),o=a.find(e=>e.id===i.id)??i;return g({target:this,action:`clone`,actionType:`button`,active:!1,items:t,element:this.getGridItemById(e)?.element??this,itemId:i.id,item:o,originalElement:this.getGridItemById(e)?.element,updatedItems:a}),this._isItemsControlled||this._setInternalItems(a,{reconcileStates:!0}),a}updateGridItemPosition(e,t){let n=this._updateGridItemPosition(e,t);return this._dispatchLayoutChangedEvent(this._effectiveItems,n),this._isItemsControlled||this._setInternalItems(n,{reconcileStates:!0}),n}updateGridItemSize(e,t){let n=this._updateGridItemPosition(e,t);return this._dispatchLayoutChangedEvent(this._effectiveItems,n),this._isItemsControlled||this._setInternalItems(n,{reconcileStates:!0}),n}updateGridItemSlots(e,t){return this._updateItemField(e,{slots:t})}updateGridItemOptions(e,t){return this._updateItemField(e,{options:t})}updateGridItemFilters(e,t){return this._updateItemField(e,{filters:t})}updateGridItemType(e,t){return this._updateItemField(e,{type:t})}updateGridItem(e,t){let n=this._effectiveItems;this._requireGridItem(e);let{position:r,...i}=t,a;return r&&this._grid?(a=fe({itemId:e,patch:r,engine:this._grid.engine,existingItems:this._enrichItemsWithEnginePositions(n)}),a=a.map(t=>t.id===e?{...t,...i}:t)):a=n.map(t=>t.id===e?{...t,...i,...r&&t.position?{position:{...t.position,...r}}:r?{position:r}:{}}:t),t.position&&this._dispatchLayoutChangedEvent(n,a),this._isItemsControlled||this._setInternalItems(a,{reconcileStates:!0}),a}async triggerItemAction(e,t,n){await this.updateComplete;let r=this.getGridItemById(e);if(!r?.element){console.warn(`Grid item with id "${e}" not found`);return}if(this._isControlled)return this._triggerControlledItemAction(e,t,n);this._suppressItemStatesEvent=!0;let i=ne({gridElement:this._gridElement,items:this.items,gridItemData:r,itemId:e,action:t,options:n,state:{activeItemElement:this._activeItemElement,activeItemActionToggle:this._activeItemActionToggle},cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this),createItemActionsMenuPopover:this._createItemActionsMenuPopover.bind(this)});if(this._suppressItemStatesEvent=!1,this._activeItemElement=i.state.activeItemElement,this._activeItemActionToggle=i.state.activeItemActionToggle,i.result!==void 0){let n=this._effectiveItemStates,r=this._computeNextItemStates(e,t,i.result);this._internalItemStates=r,_({target:this,itemStates:n,updatedItemStates:r,changedItemStates:this._diffItemStates(n,r)})}return i.result}activateItemAction(e,t,n){return this.triggerItemAction(e,t,n)}_triggerControlledItemAction(e,t,n){let r=(this._effectiveItemStates[e]??[]).includes(t),i=n?.active??!r;if(n?.active!==void 0&&i===r)return r;let a=this._effectiveItemStates,o=this._computeNextItemStates(e,t,i);return _({target:this,itemStates:a,updatedItemStates:o,changedItemStates:{[e]:[t]}}),i}deactivateItems(){if(this._isControlled){let e=this._effectiveItemStates,t=Object.entries(e).flatMap(([e,t])=>t.map(t=>({itemId:e,action:t})));if(t.length===0)return 0;let n={},r={...e};for(let e of t)r=this._computeNextItemStates(e.itemId,e.action,!1,r),n[e.itemId]=[...n[e.itemId]??[],e.action];return _({target:this,itemStates:e,updatedItemStates:r,changedItemStates:n}),new Set(t.map(e=>e.itemId)).size}let e=this._effectiveItemStates,t=Object.entries(e).flatMap(([e,t])=>t.map(t=>({itemId:e,action:t})));this._suppressItemStatesEvent=!0;let n=re({gridElement:this._gridElement,items:this.items,state:{activeItemElement:this._activeItemElement,activeItemActionToggle:this._activeItemActionToggle},cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this)});if(this._suppressItemStatesEvent=!1,this._activeItemElement=n.state.activeItemElement,this._activeItemActionToggle=n.state.activeItemActionToggle,this._isControlled||(this._internalItemStates={}),t.length>0){let n={};for(let e of t)n[e.itemId]=[...n[e.itemId]??[],e.action];_({target:this,itemStates:e,updatedItemStates:{},changedItemStates:n})}return n.deactivatedCount}_renderGrid(){return rn({items:this.items,initialized:this._initialized,viewMode:this.viewMode,contentLanguage:this.contentLanguage,fullTheme:this._fullTheme,appServer:this.appServer,apiHost:this.apiHost,authKey:this.authKey,authToken:this.authToken,columns:this.columns??48,ensureGridItemId:e=>oe(e),handleMouseover:this._handleMouseover.bind(this),handleMouseout:this._handleMouseout,handleFocus:this._handleFocus,handleBlur:this._handleBlur})}render(){return this._renderGrid()}};e.t([(0,c.property)({type:String,attribute:`app-server`,reflect:!0})],$.prototype,`appServer`,void 0),e.t([(0,c.property)({type:String,attribute:`api-host`,reflect:!0})],$.prototype,`apiHost`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-key`,reflect:!0})],$.prototype,`authKey`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-token`,reflect:!0})],$.prototype,`authToken`,void 0),e.t([(0,c.property)({type:Number,attribute:`cache-time`,reflect:!0})],$.prototype,`cacheTime`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],$.prototype,`language`,void 0),e.t([(0,c.property)({type:String,attribute:`content-language`,reflect:!0})],$.prototype,`contentLanguage`,void 0),e.t([(0,c.property)({type:Number,reflect:!0})],$.prototype,`columns`,void 0),e.t([(0,c.property)({type:Number,reflect:!0,attribute:`row-height`})],$.prototype,`rowHeight`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`view-mode`})],$.prototype,`viewMode`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`item-actions-document-popover`})],$.prototype,`itemActionsDocumentPopover`,void 0),e.t([(0,c.property)({type:String,reflect:!0,attribute:`placement-item-actions-menu`})],$.prototype,`placementItemActionsMenu`,void 0),e.t([(0,c.property)({type:Array,reflect:!0,attribute:`default-item-actions-menu`})],$.prototype,`defaultItemActionsMenu`,void 0),e.t([(0,c.property)({type:String,reflect:!0,attribute:`cloned-item-positioning`})],$.prototype,`clonedItemPositioning`,void 0),e.t([(0,c.property)({type:Object,reflect:!0})],$.prototype,`theme`,void 0),e.t([(0,c.property)({type:Array,reflect:!1})],$.prototype,`items`,null),e.t([(0,c.property)({type:Array,reflect:!1,attribute:`initial-items`})],$.prototype,`initialItems`,null),e.t([(0,c.property)({type:Object,reflect:!1})],$.prototype,`renderers`,void 0),e.t([(0,c.property)({type:Object,reflect:!1,attribute:`item-states`})],$.prototype,`itemStates`,null),e.t([(0,c.property)({type:Object,reflect:!1,attribute:`initial-item-states`})],$.prototype,`initialItemStates`,void 0),e.t([(0,c.state)()],$.prototype,`_initialized`,void 0),e.t([(0,c.query)(`.grid-stack`)],$.prototype,`_gridElement`,void 0),e.t([(0,c.queryAll)(`.luzmo-item-grid-item`)],$.prototype,`_gridItemElements`,void 0),e.t([(0,c.state)()],$.prototype,`_internalItemsVersion`,void 0),customElements.get(`luzmo-item-grid`)||customElements.define(`luzmo-item-grid`,$),customElements.get(`luzmo-item-grid-item-actions-menu`)||customElements.define(`luzmo-item-grid-item-actions-menu`,Q),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}});
|
|
113
|
+
`,this._internalItemStates={},this._initialItemStatesApplied=!1,this._internalItems=[],this._initialItemsApplied=!1,this._hasWarnedControlledAndInitialItems=!1,this._hasWarnedIgnoredInitialItems=!1,this._suppressItemStatesEvent=!1,this._suppressNextLayoutChangedEvent=!1,this._hasWarnedControlledAndInitialStates=!1,this._internalItemsVersion=0,this._handleMouseout=e=>{if(this.viewMode)return;let t=b(e.target);t&&x({event:e,gridItem:t})&&this._removeItemActionsMenuPopover(t)},this._handleKeyDown=e=>{let t=Vt({event:e,viewMode:this.viewMode,focusedItemElement:this._focusedItemElement,activeItemElement:this._activeItemElement,gridElement:this._gridElement,grid:this._grid,columns:this.columns??48,onDeleteRequest:e=>{let t=e.getAttribute(`gs-id`);if(!t)return;let n=this._effectiveItems,r=n.find(e=>e.id===t);if(!r)return;this._isControlled||this._clearGridItemUiStateForDelete(e);let i=n.filter(e=>e.id!==t);g({target:this,action:`delete`,actionType:`button`,active:!1,items:n,element:e,itemId:t,item:r,updatedItems:i}),this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0})},removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this),createItemActionsMenuPopover:this._createItemActionsMenuPopover.bind(this)});this._focusedItemElement=t.focusedItemElement,this._activeItemElement=t.activeItemElement},this._handleFocus=e=>{this._focusedItemElement=ee({event:e,focusedItemElement:this._focusedItemElement,removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this)})},this._handleBlur=e=>{let t=S({event:e,focusedItemElement:this._focusedItemElement,removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this)});this._focusedItemElement=t.focusedItemElement,t.shouldFocusGrid&&this._gridElement.focus()},this._handleGridClick=e=>{if(this._isControlled){this._emitControlledClickAwayDeactivation(e);return}let t=te({event:e,gridElement:this._gridElement,hostElement:this,items:this.items,activeItemActionToggle:this._activeItemActionToggle,cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this)});this._activeItemActionToggle=t.activeItemActionToggle},this._handleAction=e=>{let t=e.detail,n=e.target?.closest(`.grid-stack-item`),i=n?.getAttribute(`gs-id`);if([`delete`,`clone`].includes(t.action)){if(e.stopPropagation(),!i)return;let a=this._effectiveItems,o=a.find(e=>e.id===i);if(!o)return;let s=this._gridElement.querySelector(`.grid-stack-item[active]`)??this._activeItemElement;if(!this._isControlled&&s&&s!==n){let e=s.getAttribute(`gs-id`),t=a.find(t=>t.id===e),n=this._activeItemActionToggle,r=s;this._cleanupActiveItem(s),n&&e&&t&&this._dispatchItemActionEvent(n,`toggle`,!1,r,e,t),this._activeItemElement=void 0,this._activeItemActionToggle=void 0,this._internalItemStates={}}if(t.action===`delete`){this._isControlled||this._clearGridItemUiStateForDelete(n);let e=a.filter(e=>e.id!==i);g({target:this,action:`delete`,actionType:t.type,active:t.active,items:a,element:n,itemId:i,item:o,updatedItems:e}),this._isItemsControlled||this._setInternalItems(e,{reconcileStates:!0})}else{let e={...structuredClone(o),id:r.t()},i=this._simulateCloneLayout(e,o),s=i.find(t=>t.id===e.id)??e;g({target:this,action:`clone`,actionType:t.type,active:t.active,items:a,element:n,itemId:e.id,item:s,originalElement:n,updatedItems:i}),this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0})}return}if(this._isControlled){if(e.stopPropagation(),!i)return;let r=this.items.find(e=>e.id===i);if(t.type===`toggle`){let e=this._effectiveItemStates,n=t.active,r=this._computeNextItemStates(i,t.action,n);_({target:this,itemStates:e,updatedItemStates:r,changedItemStates:{[i]:[t.action]}})}else g({target:this,action:t.action,actionType:t.type,active:t.active,items:this.items,element:n,itemId:i,item:r});n&&!n.hasAttribute(`active`)&&this._removeItemActionsMenuPopover(n);return}this._suppressItemStatesEvent=!0;let a=w({event:e,gridElement:this._gridElement,items:this.items,state:{activeItemElement:this._activeItemElement,activeItemActionToggle:this._activeItemActionToggle},cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this),createItemActionsMenuPopover:this._createItemActionsMenuPopover.bind(this)});if(this._suppressItemStatesEvent=!1,this._activeItemElement=a.activeItemElement,this._activeItemActionToggle=a.activeItemActionToggle,t.type===`toggle`&&i){let e=this._effectiveItemStates,r=a.activeItemElement===n&&a.activeItemActionToggle===t.action,o=this._computeNextItemStates(i,t.action,r);this._internalItemStates=o,_({target:this,itemStates:e,updatedItemStates:o,changedItemStates:this._diffItemStates(e,o)})}}}static get styles(){return[(0,s.unsafeCSS)(p),(0,s.unsafeCSS)(On)]}set items(e){let t=this._items,n=structuredClone(e??[]);this._validateItemsHaveIds(n,`items`),this._items=n,this._hasControlledItems=e!==void 0,this._isItemsControlled&&!this._hasControlledItems&&(this._setInternalItems(t,{reconcileStates:!0}),this._initialItemsApplied=!0),this.requestUpdate(`items`,t)}get items(){return this._effectiveItems}set initialItems(e){let t=this._initialItems,n=structuredClone(e??[]);this._validateItemsHaveIds(n,`initialItems`),!(!this._isItemsControlled&&this._initialItemsApplied)&&(this._initialItems=n,this._isItemsControlled||(this._initialItemsApplied=!1),this.requestUpdate(`initialItems`,t))}get initialItems(){return this._initialItems}set itemStates(e){let t=this._itemStates;this._itemStates=e??void 0,this.requestUpdate(`itemStates`,t)}get itemStates(){return this._itemStates}get _isControlled(){return this.itemStates!==void 0}get _isItemsControlled(){return this._hasControlledItems}get _effectiveItems(){return this._isItemsControlled?this._items:this._internalItems}get _effectiveItemStates(){return this._isControlled?this.itemStates:this._internalItemStates}_validateItemsHaveIds(e,t){for(let n=0;n<e.length;n+=1)if(!e[n]?.id)throw Error(`luzmo-item-grid: ${t}[${n}] is missing required id`)}async _loadTheme(e){let t=this._initialized;if(this._fullTheme=await Kt({theme:e,currentTheme:this._fullTheme}),this._initialized&&Qt(this.style,this._fullTheme),!this._initialized&&this._gridElement&&await new Promise(e=>{requestAnimationFrame(()=>{this._initializeGrid(),e()})}),this._grid){let[e,t]=qt(this.theme);this._grid.margin([e,t].join(` `))}t&&this.requestUpdate()}firstUpdated(){document.addEventListener(`click`,this._handleGridClick),this.addEventListener(`keydown`,this._handleKeyDown)}disconnectedCallback(){super.disconnectedCallback(),this._cleanup(),document.removeEventListener(`click`,this._handleGridClick),this.removeEventListener(`keydown`,this._handleKeyDown)}willUpdate(e){if(super.willUpdate(e),e.has(`_initialized`)&&(Qt(this.style,this._fullTheme),this._initialized&&this._grid&&this._fullTheme?.margins)){let[e,t]=qt(this._fullTheme);this._grid.margin([e,t].join(` `))}}updated(e){super.updated(e);let t=e.has(`contentLanguage`),n=e.has(`viewMode`),r=e.has(`items`),i=e.has(`initialItems`),a=r||e.has(`_internalItemsVersion`),o=e.has(`theme`),s=e.has(`itemStates`);this._isItemsControlled&&this.initialItems&&this.initialItems.length>0?this._hasWarnedControlledAndInitialItems||=(console.warn(`luzmo-item-grid: Both items and initialItems are set. The component will be treated as controlled (initialItems is ignored).`),!0):this._hasWarnedControlledAndInitialItems=!1,!this._initialItemsApplied&&!this._isItemsControlled&&this._initialItems.length>0?(this._setInternalItems(this._initialItems,{reconcileStates:!0}),this._initialItemsApplied=!0):i&&!this._isItemsControlled&&this._initialItems.length===0&&!this._initialItemsApplied&&(this._setInternalItems([],{reconcileStates:!0}),this._initialItemsApplied=!0),this.itemStates!==void 0&&this.initialItemStates!==void 0?this._hasWarnedControlledAndInitialStates||=(console.warn(`luzmo-item-grid: Both itemStates and initialItemStates are set. The component will be treated as controlled (initialItemStates is ignored).`),!0):this._hasWarnedControlledAndInitialStates=!1,!this._initialItemStatesApplied&&this.initialItemStates&&!this._isControlled&&(this._internalItemStates=this._sanitizeInitialItemStates(this.initialItemStates),this._initialItemStatesApplied=!0),ae(this._effectiveItems),Tn({initialized:this._initialized,grid:this._grid,hasItemsChanged:a,gridItemElements:this._gridItemElements,items:this._effectiveItems}),r&&this._reconcileStaleItemStates(),t&&m(this._gridItemElements,this.contentLanguage),this._activeItemElement=En({initialized:this._initialized,grid:this._grid,hasViewModeChanged:n,viewMode:this.viewMode,previousViewMode:e.get(`viewMode`),activeItemElement:this._activeItemElement,gridElement:this._gridElement,cleanupActiveItem:this._cleanupActiveItem.bind(this)}),(o||!this._fullTheme&&!this._initialized)&&this._loadTheme(this.theme),(a||s)&&this._initialized&&this._applyItemStates()}_setInternalItems(e,t={}){let n=structuredClone(e);this._validateItemsHaveIds(n,`internalItems`),this._internalItems=n,ae(this._internalItems),this._internalItemsVersion+=1,t.reconcileStates&&this._reconcileStaleItemStates()}_handleMouseover(e){if(this.viewMode)return;let t=b(e.target);t&&this._createItemActionsMenuPopover(t)}_emitControlledClickAwayDeactivation(e){let t=this._effectiveItemStates,n=Object.entries(t).filter(([,e])=>e.length>0);if(!this._gridElement||n.length===0)return;let r=e.composedPath();if(n.some(([e])=>{let t=Array.from(this._gridElement.querySelectorAll(`.grid-stack-item`)).find(t=>t.getAttribute(`gs-id`)===e);if(!t)return!1;if(r.includes(t))return!0;let n=t.querySelector(`.grid-item-actions-popover`);return n?r.includes(n):!1}))return;let i={},a={...t};for(let[e,t]of n){for(let n of t)a=this._computeNextItemStates(e,n,!1,a);i[e]=[...t]}_({target:this,itemStates:t,updatedItemStates:a,changedItemStates:i})}_cleanupActiveItem(e){this._activeItemElement=C({item:e,activeItemElement:this._activeItemElement,gridElement:this._gridElement,removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this)})}_clearGridItemUiStateForDelete(e){e.hasAttribute(`focused`)&&e.removeAttribute(`focused`),e.hasAttribute(`active`)&&e.removeAttribute(`active`),this._removeItemActionsMenuPopover(e),this._focusedItemElement===e&&(this._focusedItemElement=void 0),this._activeItemElement===e&&(this._activeItemElement=void 0,this._activeItemActionToggle=void 0),this._gridElement.querySelector(`.grid-stack-item[active]`)||this._gridElement.removeAttribute(`has-active-item`)}_dispatchItemActionEvent(e,t,n,r,i,a,o,s){if(g({target:this,action:e,actionType:t,active:n,items:this.items,element:r,itemId:i,item:a,deletedId:o,originalElement:s}),t===`toggle`&&!this._suppressItemStatesEvent){let t=this._effectiveItemStates,r=this._computeNextItemStates(i,e,n);this._isControlled||(this._internalItemStates=r),_({target:this,itemStates:t,updatedItemStates:r,changedItemStates:{[i]:[e]}})}}_sanitizeInitialItemStates(e){let t=Object.entries(e).filter(([,e])=>e.length>0),n=t.length,r=t.reduce((e,[,t])=>e+t.length,0);if(n>1||r>1){console.warn(`luzmo-item-grid: initialItemStates contains multiple items or actions. In uncontrolled mode, only one item with one active action is supported at a time. Only the first item and its first action will be applied. Use controlled mode (itemStates) for multiple simultaneous active items.`);let[e,n]=t[0];return{[e]:[n[0]]}}return{...e}}_diffItemStates(e,t){let n={},r=new Set([...Object.keys(e),...Object.keys(t)]);for(let i of r){let r=e[i]??[],a=t[i]??[],o=a.filter(e=>!r.includes(e)),s=r.filter(e=>!a.includes(e)),c=[...o,...s];c.length>0&&(n[i]=c)}return n}_computeNextItemStates(e,t,n,r){if(!this._isControlled)return n?{[e]:[t]}:{};let i={...r??this._effectiveItemStates};if(n){let n=i[e]??[];n.includes(t)||(i[e]=[...n,t])}else{let n=i[e];if(n){let r=n.filter(e=>e!==t);r.length===0?delete i[e]:i[e]=r}}return i}_filterItemStatesToExistingItems(e){let t=new Set(this.items.map(e=>e.id).filter(e=>!!e)),n={};for(let[r,i]of Object.entries(e))!t.has(r)||i.length===0||(n[r]=[...i]);return n}_reconcileStaleItemStates(){let e=this._isControlled?this._effectiveItemStates:this._internalItemStates,t=this._filterItemStatesToExistingItems(e),n={};for(let[r,i]of Object.entries(e))!t[r]&&i.length>0&&(n[r]=[...i]);Object.keys(n).length>0&&_({target:this,itemStates:e,updatedItemStates:t,changedItemStates:n}),this._isControlled||(this._internalItemStates=t)}_simulateCloneLayout(e,t){let n=this._effectiveItems;if(!this._grid)return[...n,e];let r=e.position??this._resolvePositionFromEngine(t.id);if(!r)return[...n,e];e={...e,position:{...r}};let i=t.position??this._resolvePositionFromEngine(t.id);this.clonedItemPositioning===`below-item`&&i&&(e.position={...e.position,col:i.col,row:i.row+i.sizeY});let a=this.clonedItemPositioning!==`below-item`||!i,{updatedItems:o}=de({item:e,engine:this._grid.engine,existingItems:this._enrichItemsWithEnginePositions(n),autoPosition:a});return o}_cleanup(){for(let e of this._gridItemElements)this._cleanupActiveItem(e);this._grid&&=(this._grid.destroy(),void 0),this._initialized=!1}_restoreItemsLayout(e){if(!this._grid||!this._gridElement||e.length===0||!this._isItemsControlled)return;let t=[];for(let n of e){if(!n.id)continue;let e=this._effectiveItems.find(e=>e.id===n.id);if(!e)continue;let r=e.position??this._resolvePositionFromEngine(e.id);if(!r)continue;let i=this._gridElement.querySelector(`.grid-stack-item[gs-id="${e.id}"]`);i&&(n.x!==r.col||n.y!==r.row||n.w!==r.sizeX||n.h!==r.sizeY)&&t.push({element:i,position:r})}if(t.length!==0){this._suppressNextLayoutChangedEvent=!0,this._grid.batchUpdate();for(let e of t)this._grid.update(e.element,{x:e.position.col,y:e.position.row,w:e.position.sizeX,h:e.position.sizeY});this._grid.batchUpdate(!1),setTimeout(()=>{this._suppressNextLayoutChangedEvent&&=!1},0)}}_initializeGrid(){this._initialized||!this._gridElement||(this._grid=xn({gridElement:this._gridElement,gridItemElements:this._gridItemElements,items:this._effectiveItems,columns:this.columns??48,rowHeight:this.rowHeight??16,viewMode:this.viewMode,fullTheme:this._fullTheme,onCreateOrUpdateDimensionsHint:this._createOrUpdateDimensionsHint.bind(this),onRemoveDimensionsHint:this._removeDimensionsHint.bind(this),onChange:e=>{if(this._suppressNextLayoutChangedEvent){this._suppressNextLayoutChangedEvent=!1;return}let t=this._effectiveItems,n=Sn(t,e);this._isItemsControlled||this._setInternalItems(n,{reconcileStates:!0}),v({target:this,eventName:`luzmo-item-grid-layout-changed`,detail:{element:this._gridElement,grid:this._grid,items:t,updatedItems:n}}),this._restoreItemsLayout(e)}}),this._initialized=!0,v({target:this,eventName:`luzmo-item-grid-ready`,detail:{element:this._gridElement,grid:this._grid,items:this._effectiveItems}}),this._applyItemStates())}_applyItemStates(){let e=this._filterItemStatesToExistingItems(this._effectiveItemStates),t=new Set(Object.entries(e).filter(([,e])=>e.length>0).map(([e])=>e)),n=[],r=this._gridElement?.querySelectorAll(`.grid-stack-item[active]`);if(r)for(let e of r){let n=e.getAttribute(`gs-id`);(!n||!t.has(n))&&(e.removeAttribute(`active`),this._removeItemActionsMenuPopover(e))}if(this._activeItemElement=void 0,this._activeItemActionToggle=void 0,t.size===0){this._gridElement?.removeAttribute(`has-active-item`);return}for(let[t,r]of Object.entries(e)){if(r.length===0)continue;let e=this.getGridItemById(t);if(!e?.element)continue;let i=e.element;i.setAttribute(`active`,`true`),this._gridElement?.setAttribute(`has-active-item`,`true`),this._createItemActionsMenuPopover(i,r);for(let e of r)n.push({element:i,action:e})}if(n.length===0){this._gridElement?.removeAttribute(`has-active-item`),this._activeItemElement=void 0,this._activeItemActionToggle=void 0;return}n.length===1?(this._activeItemElement=n[0].element,this._activeItemActionToggle=n[0].action):(this._activeItemElement=void 0,this._activeItemActionToggle=void 0)}_createOrUpdateDimensionsHint(e,t,n){Cn({element:e,numberOfColumns:t,numberOfRows:n,offsetHint:Jt(this.theme)})}_removeDimensionsHint(e){wn(e)}get grid(){return this._grid}get gridItems(){return ue(this.items,this._gridElement)}registerRenderer(e,t){this.renderers={...this.renderers,[e]:t}}_renderOverlayContent(e,t){return en({item:e,activeActions:t,defaultItemActionsMenu:this.defaultItemActionsMenu,placementItemActionsMenu:this.placementItemActionsMenu,language:this.language,handleAction:this._handleAction,itemActionsDocumentPopover:this.itemActionsDocumentPopover})}_createItemActionsMenuPopover(e,t){Lt({element:e,activeActions:t,getGridItemById:this.getGridItemById.bind(this),placementItemActionsMenu:this.placementItemActionsMenu,renderOverlayContent:this._renderOverlayContent.bind(this),removeItemActionsMenuPopover:this._removeItemActionsMenuPopover.bind(this),itemActionsDocumentPopover:this.itemActionsDocumentPopover})}_removeItemActionsMenuPopover(e){Rt(e)}getGridItemById(e){return this.gridItems.find(t=>t.item.id===e)}scrollToItem(e){let t=this.getGridItemById(e);if(!t?.element)return;let n=t.element.getBoundingClientRect();(n.bottom>window.innerHeight||n.top<0)&&t.element.scrollIntoView({behavior:`smooth`,block:`center`})}_createMissingItemError(e){return Error(`Grid item with id "${e}" not found`)}_requireGridItem(e){let t=this._effectiveItems.find(t=>t.id===e);if(!t)throw this._createMissingItemError(e);return t}_resolvePositionFromEngine(e){let t=this._grid?.engine.nodes.find(t=>t.id===e);if(!(!t||t.x==null||t.y==null||t.w==null||t.h==null))return{col:t.x,row:t.y,sizeX:t.w,sizeY:t.h}}_requireGridItemWithPosition(e){let t=this._requireGridItem(e);if(!t.position){let n=this._resolvePositionFromEngine(e);if(!n)throw Error(`Grid item with id "${e}" does not have a position`);return{...t,position:n}}return t}_assertAddItemHasId(e){if(!e.id)throw Error(`addGridItem requires newItem.id`)}addGridItem(e){if(this._assertAddItemHasId(e),this._effectiveItems.some(t=>t.id===e.id))throw Error(`addGridItem rejected: an item with id "${e.id}" already exists`);let t=pe(e),n=this._effectiveItems;if(!this._grid){let r=e.position?.col==null||e.position?.row==null?{...t,position:void 0}:t,i=[...n,r];return this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0}),i}if(!t.position){let e=[...n,t];return this._isItemsControlled||this._setInternalItems(e,{reconcileStates:!0}),e}let r=e.position?.col==null||e.position?.row==null,{updatedItems:i}=de({item:t,engine:this._grid.engine,existingItems:n,autoPosition:r});return this._isItemsControlled||this._setInternalItems(i,{reconcileStates:!0}),i}_enrichItemsWithEnginePositions(e){return this._grid?e.map(e=>{if(e.position)return e;let t=this._resolvePositionFromEngine(e.id);return t?{...e,position:t}:e}):e}_updateGridItemPosition(e,t){let n=this._effectiveItems,r=this._requireGridItemWithPosition(e);return n.map(n=>{if(n.id!==e)return n;let i=n.position??r.position;return{...n,position:{...i,...t}}})}_dispatchLayoutChangedEvent(e,t){v({target:this,eventName:`luzmo-item-grid-layout-changed`,detail:{element:this._gridElement,grid:this._grid,items:e,updatedItems:t}})}_updateItemField(e,t){let n=this._effectiveItems;this._requireGridItem(e);let r=n.map(n=>n.id===e?{...n,...t}:n);return this._isItemsControlled||this._setInternalItems(r,{reconcileStates:!0}),r}removeGridItem(e){let t=this._effectiveItems,n=this._requireGridItem(e),r=t.filter(t=>t.id!==e);return g({target:this,action:`delete`,actionType:`button`,active:!1,items:t,element:this.getGridItemById(e)?.element??this,itemId:e,item:n,updatedItems:r}),this._isItemsControlled||this._setInternalItems(r,{reconcileStates:!0}),r}cloneGridItem(e){let t=this._effectiveItems,n=this._requireGridItem(e),i={...structuredClone(n),id:r.t()},a=this._simulateCloneLayout(i,n),o=a.find(e=>e.id===i.id)??i;return g({target:this,action:`clone`,actionType:`button`,active:!1,items:t,element:this.getGridItemById(e)?.element??this,itemId:i.id,item:o,originalElement:this.getGridItemById(e)?.element,updatedItems:a}),this._isItemsControlled||this._setInternalItems(a,{reconcileStates:!0}),a}updateGridItemPosition(e,t){let n=this._updateGridItemPosition(e,t);return this._dispatchLayoutChangedEvent(this._effectiveItems,n),this._isItemsControlled||this._setInternalItems(n,{reconcileStates:!0}),n}updateGridItemSize(e,t){let n=this._updateGridItemPosition(e,t);return this._dispatchLayoutChangedEvent(this._effectiveItems,n),this._isItemsControlled||this._setInternalItems(n,{reconcileStates:!0}),n}updateGridItemSlots(e,t){return this._updateItemField(e,{slots:t})}updateGridItemOptions(e,t){return this._updateItemField(e,{options:t})}updateGridItemFilters(e,t){return this._updateItemField(e,{filters:t})}updateGridItemType(e,t){return this._updateItemField(e,{type:t})}updateGridItem(e,t){let n=this._effectiveItems;this._requireGridItem(e);let{position:r,...i}=t,a;return r&&this._grid?(a=fe({itemId:e,patch:r,engine:this._grid.engine,existingItems:this._enrichItemsWithEnginePositions(n)}),a=a.map(t=>t.id===e?{...t,...i}:t)):a=n.map(t=>t.id===e?{...t,...i,...r&&t.position?{position:{...t.position,...r}}:r?{position:r}:{}}:t),t.position&&this._dispatchLayoutChangedEvent(n,a),this._isItemsControlled||this._setInternalItems(a,{reconcileStates:!0}),a}async triggerItemAction(e,t,n){await this.updateComplete;let r=this.getGridItemById(e);if(!r?.element){console.warn(`Grid item with id "${e}" not found`);return}if(this._isControlled)return this._triggerControlledItemAction(e,t,n);this._suppressItemStatesEvent=!0;let i=ne({gridElement:this._gridElement,items:this.items,gridItemData:r,itemId:e,action:t,options:n,state:{activeItemElement:this._activeItemElement,activeItemActionToggle:this._activeItemActionToggle},cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this),createItemActionsMenuPopover:this._createItemActionsMenuPopover.bind(this)});if(this._suppressItemStatesEvent=!1,this._activeItemElement=i.state.activeItemElement,this._activeItemActionToggle=i.state.activeItemActionToggle,i.result!==void 0){let n=this._effectiveItemStates,r=this._computeNextItemStates(e,t,i.result);this._internalItemStates=r,_({target:this,itemStates:n,updatedItemStates:r,changedItemStates:this._diffItemStates(n,r)})}return i.result}activateItemAction(e,t,n){return this.triggerItemAction(e,t,n)}_triggerControlledItemAction(e,t,n){let r=(this._effectiveItemStates[e]??[]).includes(t),i=n?.active??!r;if(n?.active!==void 0&&i===r)return r;let a=this._effectiveItemStates,o=this._computeNextItemStates(e,t,i);return _({target:this,itemStates:a,updatedItemStates:o,changedItemStates:{[e]:[t]}}),i}deactivateItems(){if(this._isControlled){let e=this._effectiveItemStates,t=Object.entries(e).flatMap(([e,t])=>t.map(t=>({itemId:e,action:t})));if(t.length===0)return 0;let n={},r={...e};for(let e of t)r=this._computeNextItemStates(e.itemId,e.action,!1,r),n[e.itemId]=[...n[e.itemId]??[],e.action];return _({target:this,itemStates:e,updatedItemStates:r,changedItemStates:n}),new Set(t.map(e=>e.itemId)).size}let e=this._effectiveItemStates,t=Object.entries(e).flatMap(([e,t])=>t.map(t=>({itemId:e,action:t})));this._suppressItemStatesEvent=!0;let n=re({gridElement:this._gridElement,items:this.items,state:{activeItemElement:this._activeItemElement,activeItemActionToggle:this._activeItemActionToggle},cleanupActiveItem:this._cleanupActiveItem.bind(this),dispatchItemActionEvent:this._dispatchItemActionEvent.bind(this)});if(this._suppressItemStatesEvent=!1,this._activeItemElement=n.state.activeItemElement,this._activeItemActionToggle=n.state.activeItemActionToggle,this._isControlled||(this._internalItemStates={}),t.length>0){let n={};for(let e of t)n[e.itemId]=[...n[e.itemId]??[],e.action];_({target:this,itemStates:e,updatedItemStates:{},changedItemStates:n})}return n.deactivatedCount}_renderGrid(){return rn({items:this.items,initialized:this._initialized,viewMode:this.viewMode,contentLanguage:this.contentLanguage,fullTheme:this._fullTheme,appServer:this.appServer,apiHost:this.apiHost,authKey:this.authKey,authToken:this.authToken,columns:this.columns??48,ensureGridItemId:e=>oe(e),handleMouseover:this._handleMouseover.bind(this),handleMouseout:this._handleMouseout,handleFocus:this._handleFocus,handleBlur:this._handleBlur})}render(){return this._renderGrid()}};e.t([(0,c.property)({type:String,attribute:`app-server`,reflect:!0})],$.prototype,`appServer`,void 0),e.t([(0,c.property)({type:String,attribute:`api-host`,reflect:!0})],$.prototype,`apiHost`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-key`,reflect:!0})],$.prototype,`authKey`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-token`,reflect:!0})],$.prototype,`authToken`,void 0),e.t([(0,c.property)({type:Number,attribute:`cache-time`,reflect:!0})],$.prototype,`cacheTime`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],$.prototype,`language`,void 0),e.t([(0,c.property)({type:String,attribute:`content-language`,reflect:!0})],$.prototype,`contentLanguage`,void 0),e.t([(0,c.property)({type:Number,reflect:!0})],$.prototype,`columns`,void 0),e.t([(0,c.property)({type:Number,reflect:!0,attribute:`row-height`})],$.prototype,`rowHeight`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`view-mode`})],$.prototype,`viewMode`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`item-actions-document-popover`})],$.prototype,`itemActionsDocumentPopover`,void 0),e.t([(0,c.property)({type:String,reflect:!0,attribute:`placement-item-actions-menu`})],$.prototype,`placementItemActionsMenu`,void 0),e.t([(0,c.property)({type:Array,reflect:!0,attribute:`default-item-actions-menu`})],$.prototype,`defaultItemActionsMenu`,void 0),e.t([(0,c.property)({type:String,reflect:!0,attribute:`cloned-item-positioning`})],$.prototype,`clonedItemPositioning`,void 0),e.t([(0,c.property)({type:Object,reflect:!0})],$.prototype,`theme`,void 0),e.t([(0,c.property)({type:Array,reflect:!1})],$.prototype,`items`,null),e.t([(0,c.property)({type:Array,reflect:!1,attribute:`initial-items`})],$.prototype,`initialItems`,null),e.t([(0,c.property)({type:Object,reflect:!1})],$.prototype,`renderers`,void 0),e.t([(0,c.property)({type:Object,reflect:!1,attribute:`item-states`})],$.prototype,`itemStates`,null),e.t([(0,c.property)({type:Object,reflect:!1,attribute:`initial-item-states`})],$.prototype,`initialItemStates`,void 0),e.t([(0,c.state)()],$.prototype,`_initialized`,void 0),e.t([(0,c.query)(`.grid-stack`)],$.prototype,`_gridElement`,void 0),e.t([(0,c.queryAll)(`.luzmo-item-grid-item`)],$.prototype,`_gridItemElements`,void 0),e.t([(0,c.state)()],$.prototype,`_internalItemsVersion`,void 0),customElements.get(`luzmo-item-grid`)||customElements.define(`luzmo-item-grid`,$),customElements.get(`luzmo-item-grid-item-actions-menu`)||customElements.define(`luzmo-item-grid-item-actions-menu`,Q),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}});
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
20
|
import { t as e } from "./decorate-DyMgX_Uh.js";
|
|
21
|
-
import { t } from "./localized-mixin-
|
|
22
|
-
import { t as n } from "./
|
|
23
|
-
import { t as r } from "./
|
|
21
|
+
import { t } from "./localized-mixin-DaLXe5J9.js";
|
|
22
|
+
import { t as n } from "./color-BWnYpOu7.js";
|
|
23
|
+
import { t as r } from "./v4-DIjJgmR0.js";
|
|
24
24
|
import { n as i, t as a } from "./themes-CQZd578_.js";
|
|
25
25
|
import { itemTypes as o } from "./item-list.js";
|
|
26
26
|
import { luzmoArrows as s, luzmoCircle as c, luzmoClone as l, luzmoCog as u, luzmoFilterOutline as d, luzmoLockOutline as f, luzmoPencil as p, luzmoTable as m, luzmoTrashOutline as h } from "@luzmo/icons";
|
|
@@ -1147,10 +1147,10 @@ var qt = rt, Jt = et, Yt = (e, t, n) => {
|
|
|
1147
1147
|
} : e?.id && t?.id !== e.id || !e && t ? t : await a("default"), un = (e) => [(e?.margins?.[0] ?? sn) / 2, (e?.margins?.[1] ?? sn) / 2], dn = (e) => cn - (e?.margins?.[0] ?? cn), fn = (e) => {
|
|
1148
1148
|
let t = e?.boxShadow;
|
|
1149
1149
|
if (!t) return "";
|
|
1150
|
-
let
|
|
1151
|
-
r: Math.round(
|
|
1152
|
-
g: Math.round(
|
|
1153
|
-
b: Math.round(
|
|
1150
|
+
let r = new n(t.color), i = {
|
|
1151
|
+
r: Math.round(r.srgb.r * 255),
|
|
1152
|
+
g: Math.round(r.srgb.g * 255),
|
|
1153
|
+
b: Math.round(r.srgb.b * 255)
|
|
1154
1154
|
}, a = e?.margins?.[0] ?? sn, o = Math.min(a / 10, 2);
|
|
1155
1155
|
return t.size === "none" ? "none" : t.size === "S" ? `0 ${o * 2}px ${o * 4}px ${W(i, .16)}, 0 ${o * 2}px ${o * 4}px ${W(i, .23)}` : t.size === "M" ? `0 ${o * 8}px ${o * 16}px ${W(i, .19)}, 0 ${o * 4}px ${o * 4}px ${W(i, .23)}` : t.size === "L" ? `0 ${o * 12}px ${o * 24}px ${W(i, .25)}, 0 ${o * 8}px ${o * 8}px ${W(i, .22)}` : "";
|
|
1156
1156
|
}, pn = (e) => {
|
|
@@ -1171,7 +1171,7 @@ var qt = rt, Jt = et, Yt = (e, t, n) => {
|
|
|
1171
1171
|
]);
|
|
1172
1172
|
}, mn = (e) => {
|
|
1173
1173
|
let t = e?.itemsBackground ?? e?.background;
|
|
1174
|
-
return t ? new
|
|
1174
|
+
return t ? new n(t).luminance < .5 : !1;
|
|
1175
1175
|
}, hn = (e, t) => {
|
|
1176
1176
|
t && pn(t).forEach((t, n) => {
|
|
1177
1177
|
t ? e.setProperty(n, t) : e.removeProperty(n);
|
|
@@ -3722,18 +3722,18 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
3722
3722
|
});
|
|
3723
3723
|
this._activeItemActionToggle = t.activeItemActionToggle;
|
|
3724
3724
|
}, this._handleAction = (e) => {
|
|
3725
|
-
let t = e.detail,
|
|
3725
|
+
let t = e.detail, n = e.target?.closest(".grid-stack-item"), i = n?.getAttribute("gs-id");
|
|
3726
3726
|
if (["delete", "clone"].includes(t.action)) {
|
|
3727
3727
|
if (e.stopPropagation(), !i) return;
|
|
3728
3728
|
let a = this._effectiveItems, o = a.find((e) => e.id === i);
|
|
3729
3729
|
if (!o) return;
|
|
3730
3730
|
let s = this._gridElement.querySelector(".grid-stack-item[active]") ?? this._activeItemElement;
|
|
3731
|
-
if (!this._isControlled && s && s !==
|
|
3731
|
+
if (!this._isControlled && s && s !== n) {
|
|
3732
3732
|
let e = s.getAttribute("gs-id"), t = a.find((t) => t.id === e), n = this._activeItemActionToggle, r = s;
|
|
3733
3733
|
this._cleanupActiveItem(s), n && e && t && this._dispatchItemActionEvent(n, "toggle", !1, r, e, t), this._activeItemElement = void 0, this._activeItemActionToggle = void 0, this._internalItemStates = {};
|
|
3734
3734
|
}
|
|
3735
3735
|
if (t.action === "delete") {
|
|
3736
|
-
this._isControlled || this._clearGridItemUiStateForDelete(
|
|
3736
|
+
this._isControlled || this._clearGridItemUiStateForDelete(n);
|
|
3737
3737
|
let e = a.filter((e) => e.id !== i);
|
|
3738
3738
|
T({
|
|
3739
3739
|
target: this,
|
|
@@ -3741,7 +3741,7 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
3741
3741
|
actionType: t.type,
|
|
3742
3742
|
active: t.active,
|
|
3743
3743
|
items: a,
|
|
3744
|
-
element:
|
|
3744
|
+
element: n,
|
|
3745
3745
|
itemId: i,
|
|
3746
3746
|
item: o,
|
|
3747
3747
|
updatedItems: e
|
|
@@ -3749,7 +3749,7 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
3749
3749
|
} else {
|
|
3750
3750
|
let e = {
|
|
3751
3751
|
...structuredClone(o),
|
|
3752
|
-
id:
|
|
3752
|
+
id: r()
|
|
3753
3753
|
}, i = this._simulateCloneLayout(e, o), s = i.find((t) => t.id === e.id) ?? e;
|
|
3754
3754
|
T({
|
|
3755
3755
|
target: this,
|
|
@@ -3757,10 +3757,10 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
3757
3757
|
actionType: t.type,
|
|
3758
3758
|
active: t.active,
|
|
3759
3759
|
items: a,
|
|
3760
|
-
element:
|
|
3760
|
+
element: n,
|
|
3761
3761
|
itemId: e.id,
|
|
3762
3762
|
item: s,
|
|
3763
|
-
originalElement:
|
|
3763
|
+
originalElement: n,
|
|
3764
3764
|
updatedItems: i
|
|
3765
3765
|
}), this._isItemsControlled || this._setInternalItems(i, { reconcileStates: !0 });
|
|
3766
3766
|
}
|
|
@@ -3768,7 +3768,7 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
3768
3768
|
}
|
|
3769
3769
|
if (this._isControlled) {
|
|
3770
3770
|
if (e.stopPropagation(), !i) return;
|
|
3771
|
-
let
|
|
3771
|
+
let r = this.items.find((e) => e.id === i);
|
|
3772
3772
|
if (t.type === "toggle") {
|
|
3773
3773
|
let e = this._effectiveItemStates, n = t.active, r = this._computeNextItemStates(i, t.action, n);
|
|
3774
3774
|
E({
|
|
@@ -3783,11 +3783,11 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
3783
3783
|
actionType: t.type,
|
|
3784
3784
|
active: t.active,
|
|
3785
3785
|
items: this.items,
|
|
3786
|
-
element:
|
|
3786
|
+
element: n,
|
|
3787
3787
|
itemId: i,
|
|
3788
|
-
item:
|
|
3788
|
+
item: r
|
|
3789
3789
|
});
|
|
3790
|
-
|
|
3790
|
+
n && !n.hasAttribute("active") && this._removeItemActionsMenuPopover(n);
|
|
3791
3791
|
return;
|
|
3792
3792
|
}
|
|
3793
3793
|
this._suppressItemStatesEvent = !0;
|
|
@@ -3804,7 +3804,7 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
3804
3804
|
createItemActionsMenuPopover: this._createItemActionsMenuPopover.bind(this)
|
|
3805
3805
|
});
|
|
3806
3806
|
if (this._suppressItemStatesEvent = !1, this._activeItemElement = a.activeItemElement, this._activeItemActionToggle = a.activeItemActionToggle, t.type === "toggle" && i) {
|
|
3807
|
-
let e = this._effectiveItemStates,
|
|
3807
|
+
let e = this._effectiveItemStates, r = a.activeItemElement === n && a.activeItemActionToggle === t.action, o = this._computeNextItemStates(i, t.action, r);
|
|
3808
3808
|
this._internalItemStates = o, E({
|
|
3809
3809
|
target: this,
|
|
3810
3810
|
itemStates: e,
|
|
@@ -4306,10 +4306,10 @@ var Wn = ":host{width:100%;display:block}.grid-stack{width:100%;min-height:var(-
|
|
|
4306
4306
|
}), this._isItemsControlled || this._setInternalItems(r, { reconcileStates: !0 }), r;
|
|
4307
4307
|
}
|
|
4308
4308
|
cloneGridItem(e) {
|
|
4309
|
-
let t = this._effectiveItems,
|
|
4310
|
-
...structuredClone(
|
|
4311
|
-
id:
|
|
4312
|
-
}, a = this._simulateCloneLayout(i,
|
|
4309
|
+
let t = this._effectiveItems, n = this._requireGridItem(e), i = {
|
|
4310
|
+
...structuredClone(n),
|
|
4311
|
+
id: r()
|
|
4312
|
+
}, a = this._simulateCloneLayout(i, n), o = a.find((e) => e.id === i.id) ?? i;
|
|
4313
4313
|
return T({
|
|
4314
4314
|
target: this,
|
|
4315
4315
|
action: "clone",
|
|
@@ -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("../item-option-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../item-option-B5FraAiv.cjs");exports.LuzmoItemOption=e.t;
|
|
@@ -24,5 +24,5 @@
|
|
|
24
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 "../item-option-
|
|
27
|
+
import { t as e } from "../item-option-DaAlj_OB.js";
|
|
28
28
|
export { e as LuzmoItemOption };
|