@luzmo/analytics-components-kit 1.0.4-beta.4 → 1.0.5-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 +11 -5
- package/components/ad-hoc-slot-content-BxpvfmjT.js +29 -0
- package/components/ad-hoc-slot-content-DJUmB7pS.cjs +20 -0
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.js +1 -1
- package/components/ai-chat-BBc330Jm.js +3832 -0
- package/components/ai-chat-DLDSaC7W.cjs +300 -0
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/ai-interaction-textarea-BCH5_GBO.cjs +68 -0
- package/components/ai-interaction-textarea-DzHetSBZ.js +299 -0
- package/components/area-chart-options.config-CJYI-zcZ.cjs +20 -0
- package/components/area-chart-options.config-CxJWxcD9.js +146 -0
- package/components/area-chart-positioning.config-CjeYLy6C.js +55 -0
- package/components/area-chart-positioning.config-DVrykBho.cjs +20 -0
- package/components/area-chart-slots.config-B56LJaky.cjs +20 -0
- package/components/area-chart-slots.config-C22ZF9l0.js +55 -0
- package/components/bar-chart-options.config-BAatAyhW.js +220 -0
- package/components/bar-chart-options.config-D2a-U6kG.cjs +20 -0
- package/components/bar-chart-positioning.config-DpF15KcV.cjs +20 -0
- package/components/bar-chart-positioning.config-e-SAdpBe.js +59 -0
- package/components/bar-chart-slots.config-BbgFihbK.js +50 -0
- package/components/bar-chart-slots.config-CkOVmYcA.cjs +20 -0
- package/components/base-DSXeP3BL.cjs +20 -0
- package/components/base-a89RuUMb.js +249 -0
- package/components/base-store-D0jbv0bE.js +160 -0
- package/components/base-store-ab2wBsBE.cjs +20 -0
- package/components/box-plot-options.config-BuX2wNhp.js +296 -0
- package/components/box-plot-options.config-Di28EvZb.cjs +20 -0
- package/components/box-plot-positioning.config-Bq2INEtG.js +48 -0
- package/components/box-plot-positioning.config-DbwtHJ4q.cjs +20 -0
- package/components/box-plot-slots.config-DL-tTTn9.cjs +20 -0
- package/components/box-plot-slots.config-OeublT6p.js +40 -0
- package/components/bubble-chart-options.config-C_XQOHgH.js +115 -0
- package/components/bubble-chart-options.config-CnpBrIo6.cjs +20 -0
- package/components/bubble-chart-positioning.config--EBfDgdN.cjs +20 -0
- package/components/bubble-chart-positioning.config-DFnW4mJ9.js +55 -0
- package/components/bubble-chart-slots.config-Bdy20Xqs.js +47 -0
- package/components/bubble-chart-slots.config-smlOOwcK.cjs +20 -0
- package/components/bullet-chart-options.config-6nATAuC3.cjs +20 -0
- package/components/bullet-chart-options.config-h5BFyszP.js +75 -0
- package/components/bullet-chart-positioning.config-CZ46z07k.cjs +20 -0
- package/components/bullet-chart-positioning.config-DS2OmjBY.js +56 -0
- package/components/bullet-chart-slots.config-BaTbWYvU.cjs +20 -0
- package/components/bullet-chart-slots.config-Cqj3i1qo.js +46 -0
- package/components/choropleth-map-options.config-CmtZtBAC.cjs +20 -0
- package/components/choropleth-map-options.config-YCo77O3q.js +348 -0
- package/components/choropleth-map-positioning.config-Clm5IUT6.cjs +20 -0
- package/components/choropleth-map-positioning.config-DgANsGq1.js +55 -0
- package/components/choropleth-map-slots.config-ClMcW8wV.cjs +20 -0
- package/components/choropleth-map-slots.config-D4vxtdtH.js +53 -0
- package/components/circle-pack-chart-options.config-BA_G1sQ8.cjs +20 -0
- package/components/circle-pack-chart-options.config-C0cEtjgC.js +54 -0
- package/components/circle-pack-chart-positioning.config-2H1CrfH_.js +48 -0
- package/components/circle-pack-chart-positioning.config-qF0qGcEO.cjs +20 -0
- package/components/circle-pack-chart-slots.config-Dks8K3uQ.js +38 -0
- package/components/circle-pack-chart-slots.config-IH2KV7z1.cjs +20 -0
- package/components/circular-gauge-options.config-BtP-YDIr.cjs +20 -0
- package/components/circular-gauge-options.config-Cdnk-Sp0.js +188 -0
- package/components/circular-gauge-positioning.config-CMttD_BW.cjs +20 -0
- package/components/circular-gauge-positioning.config-CusKP9Tq.js +48 -0
- package/components/circular-gauge-slots.config-B6ajddW-.cjs +20 -0
- package/components/circular-gauge-slots.config-Wf4sHmk6.js +39 -0
- package/components/color-CXw2IfjN.js +3812 -0
- package/components/color-range-utils-u4ziqRRA.js +63 -0
- package/components/column-chart-options.config-DoZLlIRM.js +219 -0
- package/components/column-chart-options.config-eJ1Cexxe.cjs +20 -0
- package/components/column-chart-positioning.config-ColoutIT.cjs +20 -0
- package/components/column-chart-positioning.config-rRwPVTbj.js +55 -0
- package/components/column-chart-slots.config-BY6y_rvE.cjs +20 -0
- package/components/column-chart-slots.config-BhVqSbKw.js +50 -0
- package/components/combination-chart-options.config-C3kZ2fpK.cjs +20 -0
- package/components/combination-chart-options.config-D7ZXfn61.js +87 -0
- package/components/combination-chart-positioning.config-DAVrKW-6.cjs +20 -0
- package/components/combination-chart-positioning.config-uLf1RJQr.js +48 -0
- package/components/combination-chart-slots.config-CK8YBgUl.js +43 -0
- package/components/combination-chart-slots.config-Ciza_y3a.cjs +20 -0
- package/components/conditional-number-options.config-BwSMI5Ax.js +205 -0
- package/components/conditional-number-options.config-CadHLi0m.cjs +20 -0
- package/components/conditional-number-positioning.config-DZjwZfsH.js +48 -0
- package/components/conditional-number-positioning.config-Nwsh-WyG.cjs +20 -0
- package/components/conditional-number-slots.config-CWX6OuUa.cjs +20 -0
- package/components/conditional-number-slots.config-xSNaYD4u.js +39 -0
- package/components/convert-data-field-to-slot-content-BQkSy_8B.cjs +20 -0
- package/components/data-broker-BH5WDG0j.cjs +20 -0
- package/components/data-broker-CVDImE1j.js +1674 -0
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/data-field-CFX9bhKN.js +121 -0
- package/components/data-field-bRmOqmAe.cjs +54 -0
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +1 -1
- package/components/data-field-level-Cc6yEETi.js +246 -0
- package/components/data-field-level-Dnl27sxs.cjs +55 -0
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/data-field-panel-BDExLalA.cjs +87 -0
- package/components/data-field-panel-DcqVOzMO.js +385 -0
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/data-fields-select-B5aGtDYe.cjs +41 -0
- package/components/data-fields-select-CfAfiV-K.js +262 -0
- package/components/dataset-icon/index.js +1 -1
- package/components/dataset-icon-BXEgg_8O.js +125 -0
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/dataset-selector-list-WT2ZHjQ4.cjs +75 -0
- package/components/dataset-selector-list-bAFTW1Hr.js +313 -0
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/dataset-selector-row-CXrEKQrA.js +273 -0
- package/components/dataset-selector-row-CwkXH93E.cjs +79 -0
- package/components/date-comparison-filter-options.config--clPxHFt.cjs +20 -0
- package/components/date-comparison-filter-options.config-DCCm5Adt.js +126 -0
- package/components/date-comparison-filter-slots.config-KO9B0lfS.cjs +20 -0
- package/components/date-comparison-filter-slots.config-s7FcuKia.js +33 -0
- package/components/date-filter-options.config-BdNFe-Ds.cjs +20 -0
- package/components/date-filter-options.config-DBwcMXzp.js +118 -0
- package/components/date-filter-slots.config-BrQoD-EF.cjs +20 -0
- package/components/date-filter-slots.config-pbd3rG9z.js +37 -0
- package/components/de-DqwsqE-U.js +478 -0
- package/components/de-tUSOg_BJ.cjs +20 -0
- package/components/decorate-CaYbmmmm.js +28 -0
- package/components/display-settings/display-settings.d.ts +21 -2
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/display-settings-DrcpHnKo.cjs +140 -0
- package/components/display-settings-Ec_smyRC.js +313 -0
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +1 -1
- package/components/display-settings-binning-COpQPUin.js +110 -0
- package/components/display-settings-binning-XXJdJeGU.cjs +56 -0
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +1 -1
- package/components/display-settings-datetime-DhSW10ln.cjs +217 -0
- package/components/display-settings-datetime-qj86dnHh.js +413 -0
- 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-D6IDs0U1.js +89 -0
- package/components/display-settings-grand-totals-DTF0sqA1.cjs +44 -0
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +1 -1
- package/components/display-settings-numeric-Dt34JHyR.cjs +190 -0
- package/components/display-settings-numeric-Dy2EMcKa.js +479 -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-B-ULI6yW.cjs +229 -0
- package/components/display-settings-period-over-period-BMzBnywY.js +433 -0
- package/components/donut-chart-options.config-Buas8fzJ.js +207 -0
- package/components/donut-chart-options.config-K-HkE7sL.cjs +20 -0
- package/components/donut-chart-positioning.config-BnmePhBH.cjs +20 -0
- package/components/donut-chart-positioning.config-CnZRc3e8.js +48 -0
- package/components/donut-chart-slots.config-CZWRHxZe.js +39 -0
- package/components/donut-chart-slots.config-RxPnpO6M.cjs +20 -0
- package/components/dropdown-filter-options.config-B-Vvy0Nq.cjs +20 -0
- package/components/dropdown-filter-options.config-gv1y1OkC.js +153 -0
- package/components/dropdown-filter-slots.config-BBZChIHC.cjs +20 -0
- package/components/dropdown-filter-slots.config-aP5hvp2K.js +38 -0
- package/components/en-B34alchz.cjs +20 -0
- package/components/en-GB-B3xz84vF.cjs +20 -0
- package/components/en-US-B34alchz.cjs +20 -0
- package/components/es-C-5Yqnck.js +478 -0
- package/components/es-Czecz2xB.cjs +20 -0
- package/components/evolution-number-options.config-B1IomzV1.js +228 -0
- package/components/evolution-number-options.config-Bt1FZqqQ.cjs +20 -0
- package/components/evolution-number-positioning.config-CKgGLWTm.cjs +20 -0
- package/components/evolution-number-positioning.config-DiKxJqRO.js +48 -0
- package/components/evolution-number-slots.config-CYxdcD-x.cjs +20 -0
- package/components/evolution-number-slots.config-eOQDWZyb.js +37 -0
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/filter-expression-picker-DMZ4sgJ6.js +425 -0
- package/components/filter-expression-picker-Dq0X2lo3.cjs +38 -0
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +1 -1
- package/components/filter-item-BEe-Y6l0.js +242 -0
- package/components/filter-item-BnxKP0Zg.cjs +58 -0
- package/components/filter-parameter-picker/index.js +1 -1
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/filter-value-picker-BxaX9BML.cjs +60 -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-BryAsOYH.cjs +42 -0
- package/components/filter-value-picker-datetime-DtZDr9fY.js +139 -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-BSKoZJ0F.cjs +47 -0
- package/components/filter-value-picker-hierarchy-D9BcuttQ.js +232 -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-B2EcfNUR.cjs +48 -0
- package/components/filter-value-picker-numeric-CoU9l9wS.js +219 -0
- package/components/filter-value-picker-r1zs2IHx.js +151 -0
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +1 -1
- package/components/filters-C9DVFS6T.cjs +150 -0
- package/components/filters-DVTYmlI1.js +400 -0
- package/components/formatter-8m-wrIM-.cjs +20 -0
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/formula--lwYaW2w.cjs +45 -0
- package/components/formula-Ekyv6mpo.js +138 -0
- package/components/formula-codemirror-BZuBN5sE.cjs +215 -0
- package/components/formula-codemirror-DgTmL2Id.js +11973 -0
- package/components/formula-display-store-BunPLkc0.cjs +20 -0
- package/components/formula-display-store-ezef6EvF.js +1090 -0
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +3 -3
- package/components/formula-editor-CjVohoJB.cjs +218 -0
- package/components/formula-editor-DRpm9ej7.js +666 -0
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +1 -1
- package/components/formula-field-DcgWLGBD.cjs +20 -0
- package/components/formula-field-TwMnyN0t.js +40 -0
- package/components/formula-input-base-D6QdnUOa.cjs +49 -0
- package/components/formula-input-base-Dxk5euNb.js +236 -0
- package/components/fr-BvgQLvx5.js +478 -0
- package/components/fr-CQyhQN6j.cjs +20 -0
- package/components/funnel-chart-options.config-BAIgb6x9.cjs +20 -0
- package/components/funnel-chart-options.config-DAv3185m.js +187 -0
- package/components/funnel-chart-positioning.config-DaHDyj7V.cjs +20 -0
- package/components/funnel-chart-positioning.config-DysRV01G.js +48 -0
- package/components/funnel-chart-slots.config-BsNj6Mbb.js +43 -0
- package/components/funnel-chart-slots.config-CSI5mdma.cjs +20 -0
- package/components/get-css-variable-B1BZoBcs.cjs +20 -0
- package/components/get-css-variable-COcan5CX.js +63 -0
- package/components/get-dataset-name-D4smY8ms.cjs +20 -0
- package/components/get-dataset-name-D_ZiWu64.js +27 -0
- package/components/groupings-Bzp2EA65.js +52 -0
- package/components/groupings-Wfp8piEu.cjs +20 -0
- package/components/heat-map-options.config-Ckw8voNV.js +224 -0
- package/components/heat-map-options.config-Ct-93RVQ.cjs +20 -0
- package/components/heat-map-positioning.config-C6CqosaH.js +48 -0
- package/components/heat-map-positioning.config-hFwq08ML.cjs +20 -0
- package/components/heat-map-slots.config-BFK5TF9k.js +37 -0
- package/components/heat-map-slots.config-D0mwjImu.cjs +20 -0
- package/components/heat-table-options.config-7IS5wa9l.cjs +20 -0
- package/components/heat-table-options.config-PpOf4o94.js +372 -0
- package/components/heat-table-positioning.config-B2RuWLH5.js +55 -0
- package/components/heat-table-positioning.config-MJ_ox9iT.cjs +20 -0
- package/components/heat-table-slots.config-3q2hG4nF.js +49 -0
- package/components/heat-table-slots.config-CH6Q9203.cjs +20 -0
- package/components/hexbin-map-options.config-CUAv6zuD.cjs +20 -0
- package/components/hexbin-map-options.config-D88DHYrl.js +276 -0
- package/components/hexbin-map-positioning.config-Dua5Z8M2.cjs +20 -0
- package/components/hexbin-map-positioning.config-IiGTpp68.js +48 -0
- package/components/hexbin-map-slots.config-BdkQVzI7.cjs +20 -0
- package/components/hexbin-map-slots.config-BfbHCCUe.js +37 -0
- package/components/image-options.config-ByIPpr29.js +153 -0
- package/components/image-options.config-DXqA7sAa.cjs +20 -0
- package/components/image-slots.config-B4MFjNWt.js +24 -0
- package/components/image-slots.config-DprzKxj3.cjs +20 -0
- package/components/index.cjs +1 -1
- package/components/index.js +55 -55
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/interactive-viz-item-O2zj8Ix3.cjs +247 -0
- package/components/interactive-viz-item-lBrlvX4F.js +693 -0
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/item-grid-CmuMl0eC.cjs +113 -0
- package/components/item-grid-Cqi995vx.js +4559 -0
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/item-option-CQw6Xsi2.cjs +252 -0
- package/components/item-option-Cg3zRKlU.js +969 -0
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +1 -1
- package/components/item-option-action-button-group-C1TU-ng7.js +118 -0
- package/components/item-option-action-button-group-DBdpU9Ac.cjs +53 -0
- package/components/item-option-base-4mpxvTpE.js +123 -0
- package/components/item-option-base-BtYcXg-E.cjs +56 -0
- 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-4so22U-2.cjs +40 -0
- package/components/item-option-color-palette-picker-BBnhEOQj.js +2041 -0
- 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-CTTEHFVR.js +87 -0
- package/components/item-option-color-picker-CUBaIdL-.cjs +34 -0
- 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-BuLEgB7a.js +220 -0
- package/components/item-option-color-range-H4nV-HoV.cjs +98 -0
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +1 -1
- package/components/item-option-multi-language-field-CXQj3kSW.js +82 -0
- package/components/item-option-multi-language-field-d25tETIC.cjs +33 -0
- 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-CEQEjnu8.js +102 -0
- package/components/item-option-number-field-waG1zcr8.cjs +38 -0
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/item-option-panel-Bh4d0Ueb.cjs +67 -0
- package/components/item-option-panel-CVjT-rr8.js +183 -0
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +1 -1
- package/components/item-option-picker-CiEMwzho.js +77 -0
- package/components/item-option-picker-YTJ6noOW.cjs +37 -0
- 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-DExAtVBF.cjs +32 -0
- package/components/item-option-position-picker-DVsG8inN.js +117 -0
- 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-7F1_3pxp.js +164 -0
- package/components/item-option-positions-number-field-Ju4e_B6g.cjs +49 -0
- 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-6w11UJC-.cjs +37 -0
- package/components/item-option-radio-button-group-CHZKF_oZ.js +74 -0
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/item-option-slider-CQCvF7wI.js +81 -0
- package/components/item-option-slider-DdkgydGa.cjs +33 -0
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/item-option-switch-68EoGXKU.js +69 -0
- package/components/item-option-switch-IP4wvB7i.cjs +30 -0
- 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-0CCtgD5i.js +80 -0
- package/components/item-option-text-field-Be4frWhI.cjs +33 -0
- package/components/item-options-configs.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/item-slot-drop.d.ts +1 -0
- package/components/item-slot-drop-C7BJJcZz.cjs +91 -0
- package/components/item-slot-drop-PlCmap_s.js +331 -0
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +1 -1
- package/components/item-slot-drop-panel-BevGCcMh.js +355 -0
- package/components/item-slot-drop-panel-hs0gFwb-.cjs +57 -0
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/item-slot-picker/item-slot-picker.d.ts +3 -0
- package/components/item-slot-picker-BzXlX-Zd.js +505 -0
- package/components/item-slot-picker-dmoR1ZyZ.cjs +174 -0
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +1 -1
- package/components/item-slot-picker-panel-B2TtJUIs.cjs +81 -0
- package/components/item-slot-picker-panel-DnvwcLGy.js +448 -0
- package/components/item-slots-configs.cjs +1 -1
- package/components/item-slots-configs.js +45 -45
- package/components/line-chart-options.config-DKQ1k4lg.cjs +20 -0
- package/components/line-chart-options.config-DMjvCs-4.js +168 -0
- package/components/line-chart-positioning.config-CYqzjNzS.cjs +20 -0
- package/components/line-chart-positioning.config-DAs0y-O6.js +55 -0
- package/components/line-chart-slots.config-Cjp4btvG.cjs +20 -0
- package/components/line-chart-slots.config-CrQEwa4W.js +55 -0
- package/components/load-data-fields-for-datasets-BVGaku2J.cjs +20 -0
- package/components/load-data-fields-for-datasets-DeXLqWt4.js +42 -0
- package/components/localized-mixin-BNAt_iYb.cjs +20 -0
- package/components/localized-mixin-GXZQgVAD.js +45 -0
- package/components/marker-map-options.config-C52a3boH.js +117 -0
- package/components/marker-map-options.config-DBPPcGN4.cjs +20 -0
- package/components/marker-map-positioning.config-BQ-kNUJI.js +48 -0
- package/components/marker-map-positioning.config-C5h5ydGa.cjs +20 -0
- package/components/marker-map-slots.config-BOQ8AwRv.cjs +20 -0
- package/components/marker-map-slots.config-eJAxjIaQ.js +37 -0
- package/components/nl-BwK5iXtO.cjs +20 -0
- package/components/nl-D-Wa6DnD.js +478 -0
- package/components/ohlc-chart-options.config-38qB2VKc.js +65 -0
- package/components/ohlc-chart-options.config-D9h-VLdq.cjs +20 -0
- package/components/ohlc-chart-positioning.config-BQyRY4rj.js +78 -0
- package/components/ohlc-chart-positioning.config-fqniDSHf.cjs +20 -0
- package/components/ohlc-chart-slots.config-CUBUexI-.cjs +20 -0
- package/components/ohlc-chart-slots.config-SOs4oD-Q.js +68 -0
- package/components/parallel-coordinates-plot-options.config-DfZ80jLX.js +42 -0
- package/components/parallel-coordinates-plot-options.config-ovgY0A7j.cjs +20 -0
- package/components/parallel-coordinates-plot-positioning.config-Bhyk-q40.cjs +20 -0
- package/components/parallel-coordinates-plot-positioning.config-DMUrvTKC.js +48 -0
- package/components/parallel-coordinates-plot-slots.config-BXZ-NmbH.cjs +20 -0
- package/components/parallel-coordinates-plot-slots.config-DgsHiCqT.js +46 -0
- package/components/pivot-table-options.config-5udtucDD.js +245 -0
- package/components/pivot-table-options.config-BxKo1DCU.cjs +20 -0
- package/components/pivot-table-positioning.config-CRPJ6cp9.cjs +20 -0
- package/components/pivot-table-positioning.config-kgOD7qg4.js +55 -0
- package/components/pivot-table-slots.config-CRL6EW5R.js +55 -0
- package/components/pivot-table-slots.config-VxbOGtmB.cjs +20 -0
- package/components/pragmatic-element-adapter-U3ppsQDe.cjs +24 -0
- package/components/pragmatic-element-adapter-e5LbH_lv.js +1252 -0
- package/components/pyramid-chart-options.config-iP2MzTeb.js +240 -0
- package/components/pyramid-chart-options.config-lioHQSoq.cjs +20 -0
- package/components/pyramid-chart-positioning.config-B3g4J0Fc.cjs +20 -0
- package/components/pyramid-chart-positioning.config-DzmnUNOa.js +55 -0
- package/components/pyramid-chart-slots.config-CN_Q2YsP.cjs +20 -0
- package/components/pyramid-chart-slots.config-DM3lYlDg.js +50 -0
- package/components/radar-chart-options.config-DhnoFEzo.cjs +20 -0
- package/components/radar-chart-options.config-aR5sQal-.js +130 -0
- package/components/radar-chart-positioning.config-DeMZx8WU.cjs +20 -0
- package/components/radar-chart-positioning.config-DtCHigcZ.js +55 -0
- package/components/radar-chart-slots.config-BISYnTom.cjs +20 -0
- package/components/radar-chart-slots.config-msW05r4n.js +53 -0
- package/components/regular-table-options.config-Bk6CBPgj.cjs +20 -0
- package/components/regular-table-options.config-kbARlJ1E.js +148 -0
- package/components/regular-table-slots.config-BU6Ff96U.cjs +20 -0
- package/components/regular-table-slots.config-DAwLOM5T.js +35 -0
- package/components/route-map-options.config-CAi93e7I.cjs +20 -0
- package/components/route-map-options.config-DCBAfq09.js +326 -0
- package/components/route-map-positioning.config-CNNkOriH.js +66 -0
- package/components/route-map-positioning.config-GRnTnxOT.cjs +20 -0
- package/components/route-map-slots.config-DNiRtoRC.js +59 -0
- package/components/route-map-slots.config-Dznp0DT3.cjs +20 -0
- package/components/sankey-diagram-options.config-CKjVnYnF.js +126 -0
- package/components/sankey-diagram-options.config-D7ZrZV0g.cjs +20 -0
- package/components/sankey-diagram-positioning.config-B4dTAI_t.cjs +20 -0
- package/components/sankey-diagram-positioning.config-DZzxWrlG.js +66 -0
- package/components/sankey-diagram-slots.config-CVD2P6RJ.js +61 -0
- package/components/sankey-diagram-slots.config-TKCUvHOD.cjs +20 -0
- package/components/scatter-plot-options.config--AfAxaGf.js +302 -0
- package/components/scatter-plot-options.config-DXqKb34r.cjs +20 -0
- package/components/scatter-plot-positioning.config-7DccAqx9.js +77 -0
- package/components/scatter-plot-positioning.config-CUxiLfKj.cjs +20 -0
- package/components/scatter-plot-slots.config-CPsk9FUg.cjs +20 -0
- package/components/scatter-plot-slots.config-D57rd66g.js +74 -0
- package/components/search-filter-options.config-DQwMOiXm.js +103 -0
- package/components/search-filter-options.config-DojMfRR_.cjs +20 -0
- package/components/search-filter-slots.config-AhwsTdYC.cjs +20 -0
- package/components/search-filter-slots.config-DQybwP4H.js +39 -0
- package/components/set-locale-BCnD4yp_.cjs +20 -0
- package/components/set-locale-CamOWu7o.js +43 -0
- package/components/slicer-filter-options.config-BhLn4U1W.cjs +20 -0
- package/components/slicer-filter-options.config-DVE33GEz.js +226 -0
- package/components/slicer-filter-positioning.config-DUivNE2P.cjs +20 -0
- package/components/slicer-filter-positioning.config-aOkoNRyY.js +48 -0
- package/components/slicer-filter-slots.config-Bcz9RsdR.js +44 -0
- package/components/slicer-filter-slots.config-zV15NWWS.cjs +20 -0
- package/components/slider-filter-options.config-B8am9mmE.cjs +20 -0
- package/components/slider-filter-options.config-BwaAvOvt.js +72 -0
- package/components/slider-filter-slots.config-Bc8Qk7fb.js +43 -0
- package/components/slider-filter-slots.config-D9Hra0zE.cjs +20 -0
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/slot-menu/slot-menu.d.ts +7 -2
- package/components/slot-menu-Bgoo0gWv.cjs +71 -0
- package/components/slot-menu-Cb8piPji.js +422 -0
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +1 -1
- package/components/slot-menu-list/slot-menu-list.d.ts +7 -2
- package/components/slot-menu-list-Cy6tegSf.cjs +44 -0
- package/components/slot-menu-list-VuVIRNtr.js +346 -0
- package/components/slot-role-classification-Bvt3bI01.cjs +20 -0
- package/components/slot-role-classification-CCzj4WgN.js +133 -0
- package/components/slots-config-P_GXW0tl.js +77 -0
- package/components/slots-config-YdyClHLc.cjs +20 -0
- package/components/speedometer-chart-options.config-D4-8n5pn.js +246 -0
- package/components/speedometer-chart-options.config-DEW_D9w1.cjs +20 -0
- package/components/speedometer-chart-positioning.config-Dj6XK0gq.js +48 -0
- package/components/speedometer-chart-positioning.config-DzCh70X-.cjs +20 -0
- package/components/speedometer-chart-slots.config-1BqQZ2vP.cjs +20 -0
- package/components/speedometer-chart-slots.config-B4zqf0f_.js +39 -0
- package/components/spike-map-options.config-CM46vw7B.js +413 -0
- package/components/spike-map-options.config-LPAyKMHe.cjs +20 -0
- package/components/spike-map-positioning.config-BG2pKkf7.js +55 -0
- package/components/spike-map-positioning.config-BQIg4Z0U.cjs +20 -0
- package/components/spike-map-slots.config-B7OehIoc.cjs +20 -0
- package/components/spike-map-slots.config-BeXzuzh0.js +47 -0
- package/components/strip-plot-options.config-BlneYJOy.js +53 -0
- package/components/strip-plot-options.config-vBd38UQs.cjs +20 -0
- package/components/strip-plot-positioning.config-D3ZNgtC4.cjs +20 -0
- package/components/strip-plot-positioning.config-HZCVc6kX.js +48 -0
- package/components/strip-plot-slots.config-BGQIQtMK.js +38 -0
- package/components/strip-plot-slots.config-CAU0z3q4.cjs +20 -0
- package/components/sunburst-chart-options.config-8xopRyBB.js +160 -0
- package/components/sunburst-chart-options.config-CUFOuT2J.cjs +20 -0
- package/components/sunburst-chart-positioning.config-0O9eMweg.js +48 -0
- package/components/sunburst-chart-positioning.config-B-hCz3bI.cjs +20 -0
- package/components/sunburst-chart-slots.config-BCNUNkd9.cjs +20 -0
- package/components/sunburst-chart-slots.config-BhKeTqTo.js +38 -0
- package/components/symbol-map-options.config-CR07hvK0.cjs +20 -0
- package/components/symbol-map-options.config-nJAvVQIh.js +157 -0
- package/components/symbol-map-positioning.config-Dod98HkQ.js +55 -0
- package/components/symbol-map-positioning.config-aHnkaWU6.cjs +20 -0
- package/components/symbol-map-slots.config-D9E-oBE4.js +53 -0
- package/components/symbol-map-slots.config-Dz_tor5P.cjs +20 -0
- package/components/text-options.config-DCF3IVzO.js +67 -0
- package/components/text-options.config-JI2D64hs.cjs +20 -0
- package/components/text-slots.config-0A6csMfd.cjs +20 -0
- package/components/text-slots.config-C60nJ0OX.js +24 -0
- package/components/treemap-chart-options.config-RFQTphEG.js +184 -0
- package/components/treemap-chart-options.config-p21eSXKG.cjs +20 -0
- package/components/treemap-chart-positioning.config-XB1_FmX-.js +55 -0
- package/components/treemap-chart-positioning.config-qhPL49um.cjs +20 -0
- package/components/treemap-chart-slots.config-BJqqnUEF.cjs +20 -0
- package/components/treemap-chart-slots.config-CZRP7PZH.js +47 -0
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/utils/store.cjs +1 -1
- package/components/utils/store.js +2 -2
- package/components/utils-B1BzV2xl.cjs +20 -0
- package/components/utils-BMOxXnnX.js +240 -0
- package/components/utils.cjs +1 -1
- package/components/utils.js +3 -3
- package/components/v4-BK7K-jy_.js +49 -0
- package/components/validate-CJkVJaL1.cjs +20 -0
- package/components/validate-J3P0rm_n.js +28 -0
- package/components/venn-diagram-options.config-EmRhf40r.cjs +20 -0
- package/components/venn-diagram-options.config-uCJ5dei5.js +24 -0
- package/components/venn-diagram-positioning.config-Bh1ypVKP.js +55 -0
- package/components/venn-diagram-positioning.config-CimHfhlV.cjs +20 -0
- package/components/venn-diagram-slots.config-DOljH_uI.js +47 -0
- package/components/venn-diagram-slots.config-MpkJTf5q.cjs +20 -0
- package/components/video-options.config-Dh_lU4c1.cjs +20 -0
- package/components/video-options.config-DkLrX1gP.js +127 -0
- package/components/video-slots.config-Bmh6mcUv.cjs +20 -0
- package/components/video-slots.config-CqMIkttE.js +24 -0
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/viz-item-menu-CTPd7QMx.cjs +55 -0
- package/components/viz-item-menu-sOvrO3Ku.js +170 -0
- package/components/wordcloud-chart-options.config-C2ZILp7a.js +90 -0
- package/components/wordcloud-chart-options.config-mx2CbmrI.cjs +20 -0
- package/components/wordcloud-chart-positioning.config-BR_g8Now.cjs +20 -0
- package/components/wordcloud-chart-positioning.config-CmakCQG0.js +55 -0
- package/components/wordcloud-chart-slots.config-B8s8B47F.js +45 -0
- package/components/wordcloud-chart-slots.config-C303nwAz.cjs +20 -0
- package/custom-elements.json +142 -5
- package/package.json +3 -3
- package/react/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
- package/react/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
- package/react/utils/slot-content/render-calculation-label.d.ts +7 -0
- package/react/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
- package/react/utils/slot-state/slot-store.d.ts +2 -2
- package/react/utils/store/index.d.ts +5 -5
- package/react/utils/store/store-registry.d.ts +1 -1
- package/types/slot.types.d.ts +10 -1
- package/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
- package/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
- package/utils/slot-content/render-calculation-label.d.ts +7 -0
- package/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
- package/utils/slot-state/slot-store.d.ts +2 -2
- package/utils/store/index.d.ts +5 -5
- package/utils/store/store-registry.d.ts +1 -1
- package/components/ai-chat-CpK99nb7.cjs +0 -300
- package/components/ai-chat-e2lg3FLg.js +0 -3835
- package/components/ai-interaction-textarea-CSrEsHXV.cjs +0 -68
- package/components/ai-interaction-textarea-cAXXLnoj.js +0 -299
- package/components/area-chart-options.config-Cf1VrUNv.cjs +0 -20
- package/components/area-chart-options.config-DdYBA1_Q.js +0 -146
- package/components/area-chart-positioning.config-CZgo9lkr.cjs +0 -20
- package/components/area-chart-positioning.config-DAEbeAVX.js +0 -55
- package/components/area-chart-slots.config-BOhwdLnr.cjs +0 -20
- package/components/area-chart-slots.config-Cmdkui4v.js +0 -55
- package/components/bar-chart-options.config-BF7Q15FL.cjs +0 -20
- package/components/bar-chart-options.config-Cx3n0tCr.js +0 -220
- package/components/bar-chart-positioning.config-71sM-GEA.js +0 -59
- package/components/bar-chart-positioning.config-9_GWwUur.cjs +0 -20
- package/components/bar-chart-slots.config-BWvrLYv5.js +0 -50
- package/components/bar-chart-slots.config-DMWjAd5a.cjs +0 -20
- package/components/base-DbEAseAh.cjs +0 -20
- package/components/base-store-DHC2m2Os.cjs +0 -20
- package/components/base-store-DmDe0dTU.js +0 -160
- package/components/base-vk9LuivN.js +0 -249
- package/components/box-plot-options.config-BkD5CYGz.cjs +0 -20
- package/components/box-plot-options.config-DB9iCCZg.js +0 -296
- package/components/box-plot-positioning.config-BxIFcn-c.cjs +0 -20
- package/components/box-plot-positioning.config-DIck_I13.js +0 -48
- package/components/box-plot-slots.config-5B_pTjPJ.cjs +0 -20
- package/components/box-plot-slots.config-BknEys-m.js +0 -40
- package/components/bubble-chart-options.config-4f9FUNhc.cjs +0 -20
- package/components/bubble-chart-options.config-D8o_9z0b.js +0 -115
- package/components/bubble-chart-positioning.config-BJi-Te33.js +0 -55
- package/components/bubble-chart-positioning.config-Cf7K70G6.cjs +0 -20
- package/components/bubble-chart-slots.config-Djb-py0h.js +0 -47
- package/components/bubble-chart-slots.config-VHKuntJk.cjs +0 -20
- package/components/bullet-chart-options.config-CmC75LQ8.js +0 -75
- package/components/bullet-chart-options.config-DDygYBiy.cjs +0 -20
- package/components/bullet-chart-positioning.config-3yE6MOJU.cjs +0 -20
- package/components/bullet-chart-positioning.config-ByVG8aFe.js +0 -56
- package/components/bullet-chart-slots.config-BECcf-yZ.js +0 -46
- package/components/bullet-chart-slots.config-CZfTgKZ4.cjs +0 -20
- package/components/choropleth-map-options.config-5W6nNlL7.cjs +0 -20
- package/components/choropleth-map-options.config-Bt-vXkKW.js +0 -348
- package/components/choropleth-map-positioning.config-BmUOKuYh.js +0 -55
- package/components/choropleth-map-positioning.config-QpuHLCDR.cjs +0 -20
- package/components/choropleth-map-slots.config-CZKWF1qV.cjs +0 -20
- package/components/choropleth-map-slots.config-DVrgJYSA.js +0 -53
- package/components/circle-pack-chart-options.config-CD8MWMTw.cjs +0 -20
- package/components/circle-pack-chart-options.config-CLA-ur8J.js +0 -54
- package/components/circle-pack-chart-positioning.config-EN3LKHeo.cjs +0 -20
- package/components/circle-pack-chart-positioning.config-K_yHBCSG.js +0 -48
- package/components/circle-pack-chart-slots.config-BG6Gh03S.js +0 -38
- package/components/circle-pack-chart-slots.config-GL7T5_o4.cjs +0 -20
- package/components/circular-gauge-options.config-BFBmfsPn.js +0 -188
- package/components/circular-gauge-options.config-D9gcbX57.cjs +0 -20
- package/components/circular-gauge-positioning.config-AH32vSIN.js +0 -48
- package/components/circular-gauge-positioning.config-CurZIsZj.cjs +0 -20
- package/components/circular-gauge-slots.config-BSzOAb8B.js +0 -39
- package/components/circular-gauge-slots.config-DUHabt3G.cjs +0 -20
- package/components/color-BWnYpOu7.js +0 -3812
- package/components/color-range-utils-CwwtLDX_.js +0 -63
- package/components/column-chart-options.config-CiIw23Yo.cjs +0 -20
- package/components/column-chart-options.config-V7v9PtQA.js +0 -219
- package/components/column-chart-positioning.config-DS8sLc1p.js +0 -55
- package/components/column-chart-positioning.config-Dn7Ri3op.cjs +0 -20
- package/components/column-chart-slots.config-5BjkTrbt.js +0 -50
- package/components/column-chart-slots.config-CM5aytbj.cjs +0 -20
- package/components/combination-chart-options.config-CgSqqLLE.js +0 -87
- package/components/combination-chart-options.config-DaTYSfnr.cjs +0 -20
- package/components/combination-chart-positioning.config-RNhQd78t.cjs +0 -20
- package/components/combination-chart-positioning.config-u9poMkSd.js +0 -48
- package/components/combination-chart-slots.config-BwUOXFCR.cjs +0 -20
- package/components/combination-chart-slots.config-DgM_T-9r.js +0 -43
- package/components/conditional-number-options.config-3_vXSC0j.js +0 -205
- package/components/conditional-number-options.config-BPzCxo2q.cjs +0 -20
- package/components/conditional-number-positioning.config-Cq4uJ35g.cjs +0 -20
- package/components/conditional-number-positioning.config-Dnq3OP76.js +0 -48
- package/components/conditional-number-slots.config-B7maHIaG.cjs +0 -20
- package/components/conditional-number-slots.config-CzVPP4me.js +0 -39
- package/components/convert-data-field-to-slot-content-DLzkk6dT.cjs +0 -20
- package/components/data-broker-Bdv5V8Yp.js +0 -1680
- package/components/data-broker-DWEXs6-2.cjs +0 -20
- package/components/data-field-CGY-TeOZ.js +0 -121
- package/components/data-field-CXK_vezu.cjs +0 -54
- package/components/data-field-level-BsJ3eRQt.js +0 -247
- package/components/data-field-level-CxF3DZmD.cjs +0 -55
- package/components/data-field-panel-Brzkhc5r.cjs +0 -87
- package/components/data-field-panel-CNiGw9_F.js +0 -385
- package/components/data-fields-select-BcMFFFJV.js +0 -262
- package/components/data-fields-select-D-nSjOep.cjs +0 -41
- package/components/dataset-icon-CWT5Ju8w.js +0 -125
- package/components/dataset-selector-list-2Kz1oNFa.cjs +0 -75
- package/components/dataset-selector-list-CvjSPfPj.js +0 -313
- package/components/dataset-selector-row-Beo9owAy.js +0 -273
- package/components/dataset-selector-row-DOhPbfDh.cjs +0 -79
- package/components/date-comparison-filter-options.config-4yHPEJSU.cjs +0 -20
- package/components/date-comparison-filter-options.config-CsDlmT6L.js +0 -126
- package/components/date-comparison-filter-slots.config-EEgNP09x.js +0 -33
- package/components/date-comparison-filter-slots.config-oABOLs3D.cjs +0 -20
- package/components/date-filter-options.config-AFAngO_i.cjs +0 -20
- package/components/date-filter-options.config-b8EHOjR1.js +0 -118
- package/components/date-filter-slots.config-Cuzz0RjE.cjs +0 -20
- package/components/date-filter-slots.config-PJ_h3Aj7.js +0 -37
- package/components/de-BY1wWZE8.cjs +0 -20
- package/components/de-D-xQoqdB.js +0 -473
- package/components/decorate-DyMgX_Uh.js +0 -28
- package/components/display-settings-BNoRfE1e.js +0 -272
- package/components/display-settings-JuegpHpn.cjs +0 -120
- package/components/display-settings-binning-D4fXWXY_.js +0 -110
- package/components/display-settings-binning-DFA-s8JY.cjs +0 -56
- package/components/display-settings-datetime-CcZ-aQjs.js +0 -413
- package/components/display-settings-datetime-DjfBfyzM.cjs +0 -217
- package/components/display-settings-grand-totals-CUlIPreM.js +0 -89
- package/components/display-settings-grand-totals-lf_RFqaR.cjs +0 -44
- package/components/display-settings-numeric-C707pX1_.cjs +0 -190
- package/components/display-settings-numeric-VVEUpoAy.js +0 -479
- package/components/display-settings-period-over-period-02Elu2Rn.js +0 -433
- package/components/display-settings-period-over-period-Be_A5whA.cjs +0 -229
- package/components/donut-chart-options.config-D8Bvo6Cc.cjs +0 -20
- package/components/donut-chart-options.config-N0MWtn-o.js +0 -207
- package/components/donut-chart-positioning.config-ByXtDyY9.cjs +0 -20
- package/components/donut-chart-positioning.config-CH5pTYpi.js +0 -48
- package/components/donut-chart-slots.config-Bi08z-XB.cjs +0 -20
- package/components/donut-chart-slots.config-dQrT0g_x.js +0 -39
- package/components/dropdown-filter-options.config-BRzYD0KE.cjs +0 -20
- package/components/dropdown-filter-options.config-CziqJFPz.js +0 -153
- package/components/dropdown-filter-slots.config-CQo3-kIo.js +0 -38
- package/components/dropdown-filter-slots.config-CR-Ko6q_.cjs +0 -20
- package/components/en-GB-uxY5qmIM.cjs +0 -20
- package/components/en-US-q_Ruzags.cjs +0 -20
- package/components/en-q_Ruzags.cjs +0 -20
- package/components/es-BIaD4kOL.cjs +0 -20
- package/components/es-CLnBAiLu.js +0 -473
- package/components/evolution-number-options.config-BfYN1Qgk.js +0 -228
- package/components/evolution-number-options.config-CkqNYgWn.cjs +0 -20
- package/components/evolution-number-positioning.config-B2_CNZP0.js +0 -48
- package/components/evolution-number-positioning.config-IFgvO_iZ.cjs +0 -20
- package/components/evolution-number-slots.config-CBS0b0Yk.js +0 -37
- package/components/evolution-number-slots.config-CikuQYgm.cjs +0 -20
- package/components/filter-expression-picker-0eNf_L9I.cjs +0 -38
- package/components/filter-expression-picker-C0FJhbHk.js +0 -425
- package/components/filter-item-C0AXDA_F.js +0 -242
- package/components/filter-item-C5O2G3Um.cjs +0 -58
- package/components/filter-value-picker-BOL1zvCR.cjs +0 -60
- package/components/filter-value-picker-DZORmKwM.js +0 -151
- package/components/filter-value-picker-datetime-0gRfWBzr.js +0 -139
- package/components/filter-value-picker-datetime-dCo1_pma.cjs +0 -42
- package/components/filter-value-picker-hierarchy-D8n6gV78.cjs +0 -47
- package/components/filter-value-picker-hierarchy-Dt7VNcSd.js +0 -232
- package/components/filter-value-picker-numeric-Cr7ll53O.js +0 -219
- package/components/filter-value-picker-numeric-DBw1TZtm.cjs +0 -48
- package/components/filters-B3zHSR73.js +0 -400
- package/components/filters-DIDatBfn.cjs +0 -150
- package/components/formatter-BeXmurVe.cjs +0 -20
- package/components/formula-CPrZC9BC.cjs +0 -45
- package/components/formula-codemirror-DycN-ivp.js +0 -12018
- package/components/formula-codemirror-uXTVVacE.cjs +0 -215
- package/components/formula-display-store-B6dtlBPk.js +0 -1086
- package/components/formula-display-store-CCxSWPEB.cjs +0 -20
- package/components/formula-editor-BPMeTS5F.cjs +0 -218
- package/components/formula-editor-BqHWUVdh.js +0 -666
- package/components/formula-field-Bfy1qysp.js +0 -40
- package/components/formula-field-CAtaDtSP.cjs +0 -20
- package/components/formula-ibsKYWEh.js +0 -138
- package/components/formula-input-base-Cs71sKh1.js +0 -236
- package/components/formula-input-base-_-8MncrA.cjs +0 -49
- package/components/fr-CHG2Tcby.cjs +0 -20
- package/components/fr-DIwbOnwC.js +0 -473
- package/components/funnel-chart-options.config-BVmrhzna.cjs +0 -20
- package/components/funnel-chart-options.config-D8fqrJvi.js +0 -187
- package/components/funnel-chart-positioning.config-BUMX4e-7.js +0 -48
- package/components/funnel-chart-positioning.config-CY042Tro.cjs +0 -20
- package/components/funnel-chart-slots.config-B8zC6Q6_.cjs +0 -20
- package/components/funnel-chart-slots.config-CeGu8stc.js +0 -43
- package/components/get-css-variable-B8sJUuig.cjs +0 -20
- package/components/get-css-variable-r1spgqX0.js +0 -63
- package/components/get-dataset-name-Dwuh7DWE.cjs +0 -20
- package/components/get-dataset-name-SfDNjsuR.js +0 -27
- package/components/groupings-DuX9SnZa.cjs +0 -20
- package/components/groupings-OLk5e7JO.js +0 -52
- package/components/heat-map-options.config-5zjlVaa0.js +0 -224
- package/components/heat-map-options.config-xPdOcXDk.cjs +0 -20
- package/components/heat-map-positioning.config-C7W5YbvL.js +0 -48
- package/components/heat-map-positioning.config-CjaNs9QU.cjs +0 -20
- package/components/heat-map-slots.config-DBkkcvMN.js +0 -37
- package/components/heat-map-slots.config-Wp_oS8JQ.cjs +0 -20
- package/components/heat-table-options.config-Blcs4JjF.js +0 -372
- package/components/heat-table-options.config-DPbTFoRn.cjs +0 -20
- package/components/heat-table-positioning.config-B2ko43lN.cjs +0 -20
- package/components/heat-table-positioning.config-C6d8wmTk.js +0 -55
- package/components/heat-table-slots.config-BN7rtHZG.cjs +0 -20
- package/components/heat-table-slots.config-CJOXI-Sf.js +0 -49
- package/components/hexbin-map-options.config-CSFSqpMU.cjs +0 -20
- package/components/hexbin-map-options.config-D5o0k890.js +0 -276
- package/components/hexbin-map-positioning.config-B9Af5odq.js +0 -48
- package/components/hexbin-map-positioning.config-CaP2fsiE.cjs +0 -20
- package/components/hexbin-map-slots.config-CpJIfl6o.js +0 -37
- package/components/hexbin-map-slots.config-mx5zUTrA.cjs +0 -20
- package/components/image-options.config-C46UQpMq.js +0 -153
- package/components/image-options.config-DZ5q1D63.cjs +0 -20
- package/components/image-slots.config-DjaT4mUk.js +0 -24
- package/components/image-slots.config-ODQBVz5H.cjs +0 -20
- package/components/interactive-viz-item-CKRpHIwI.js +0 -693
- package/components/interactive-viz-item-D8btvzeg.cjs +0 -247
- package/components/item-grid-BEwohat_.js +0 -4559
- package/components/item-grid-CtW-2roU.cjs +0 -113
- package/components/item-option-CSc3jmeo.js +0 -919
- package/components/item-option-DkqkbwtF.cjs +0 -252
- package/components/item-option-action-button-group-BoZWUGPs.cjs +0 -53
- package/components/item-option-action-button-group-D_K-T_wB.js +0 -118
- package/components/item-option-base-Do3zK0fN.js +0 -123
- package/components/item-option-base-yH3-Snf-.cjs +0 -56
- package/components/item-option-color-palette-picker-B9Umcsw_.cjs +0 -40
- package/components/item-option-color-palette-picker-CTvaiVJ1.js +0 -2041
- package/components/item-option-color-picker-BLF9-2WR.js +0 -87
- package/components/item-option-color-picker-FIPCBMIC.cjs +0 -34
- package/components/item-option-color-range-BznRsx45.cjs +0 -98
- package/components/item-option-color-range-mvlBVdZK.js +0 -220
- package/components/item-option-multi-language-field-BMJdbHOd.js +0 -82
- package/components/item-option-multi-language-field-Rypasjvk.cjs +0 -33
- package/components/item-option-number-field-Bu4IYyNe.js +0 -102
- package/components/item-option-number-field-sNlrQ5mG.cjs +0 -38
- package/components/item-option-panel-Bmm9IeZR.js +0 -183
- package/components/item-option-panel-DEPAMt-A.cjs +0 -67
- package/components/item-option-picker-6-VRIzb5.js +0 -77
- package/components/item-option-picker-DXZce4bl.cjs +0 -37
- package/components/item-option-position-picker-DBy46OLT.js +0 -117
- package/components/item-option-position-picker-DW12bwRL.cjs +0 -32
- package/components/item-option-positions-number-field-BFW0c-PE.js +0 -164
- package/components/item-option-positions-number-field-HofP9ee6.cjs +0 -49
- package/components/item-option-radio-button-group-BN_a7dSl.cjs +0 -37
- package/components/item-option-radio-button-group-CpdXh9GA.js +0 -74
- package/components/item-option-slider-B-CM9FzR.cjs +0 -33
- package/components/item-option-slider-CRjRQP3Z.js +0 -81
- package/components/item-option-switch-CY6zMkI-.cjs +0 -30
- package/components/item-option-switch-Q-IaH1Xr.js +0 -69
- package/components/item-option-text-field-BzHaYPud.js +0 -80
- package/components/item-option-text-field-C2_1-zLs.cjs +0 -33
- package/components/item-slot-drop-CNX2TBXB.js +0 -324
- package/components/item-slot-drop-CR-dvLaD.cjs +0 -91
- package/components/item-slot-drop-panel-BaJoR9Zc.js +0 -355
- package/components/item-slot-drop-panel-DTvbJtNW.cjs +0 -57
- package/components/item-slot-picker-CnKeeXp5.cjs +0 -158
- package/components/item-slot-picker-panel-BMapBAxj.js +0 -448
- package/components/item-slot-picker-panel-Dw682RiT.cjs +0 -81
- package/components/item-slot-picker-tHRu_jaI.js +0 -474
- package/components/line-chart-options.config-BkK829A2.cjs +0 -20
- package/components/line-chart-options.config-KFAaQqB_.js +0 -168
- package/components/line-chart-positioning.config-Bwe9-1yw.js +0 -55
- package/components/line-chart-positioning.config-CfVRqaxT.cjs +0 -20
- package/components/line-chart-slots.config-D0jaC82U.js +0 -55
- package/components/line-chart-slots.config-vv66fcoE.cjs +0 -20
- package/components/load-data-fields-for-datasets-BNnr8x3m.js +0 -42
- package/components/load-data-fields-for-datasets-CW4Voiex.cjs +0 -20
- package/components/localized-mixin-BvQbkZEL.js +0 -45
- package/components/localized-mixin-DrK3QZNa.cjs +0 -20
- package/components/marker-map-options.config-BfPFVxpD.cjs +0 -20
- package/components/marker-map-options.config-D0RmFKKM.js +0 -117
- package/components/marker-map-positioning.config-DLXbw6Yd.cjs +0 -20
- package/components/marker-map-positioning.config-DLehY4Lv.js +0 -48
- package/components/marker-map-slots.config-DigZk7lN.cjs +0 -20
- package/components/marker-map-slots.config-DsMklO0v.js +0 -37
- package/components/nl-C_g1Le3t.js +0 -473
- package/components/nl-PxN5EqzT.cjs +0 -20
- package/components/ohlc-chart-options.config-BBdUKmJ9.js +0 -65
- package/components/ohlc-chart-options.config-BsBVP-Io.cjs +0 -20
- package/components/ohlc-chart-positioning.config-BGU-mDPW.cjs +0 -20
- package/components/ohlc-chart-positioning.config-Cz3zieDp.js +0 -78
- package/components/ohlc-chart-slots.config-BiQn5Kdg.js +0 -68
- package/components/ohlc-chart-slots.config-D3fzoQJH.cjs +0 -20
- package/components/parallel-coordinates-plot-options.config--6iJkURT.cjs +0 -20
- package/components/parallel-coordinates-plot-options.config-KJrOL0Sr.js +0 -42
- package/components/parallel-coordinates-plot-positioning.config-CXIMbncP.cjs +0 -20
- package/components/parallel-coordinates-plot-positioning.config-Cc8k6gqG.js +0 -48
- package/components/parallel-coordinates-plot-slots.config-B7QY714-.js +0 -46
- package/components/parallel-coordinates-plot-slots.config-s_tLqGA-.cjs +0 -20
- package/components/pivot-table-options.config-CKGnnXa_.cjs +0 -20
- package/components/pivot-table-options.config-DEmZ_EQi.js +0 -245
- package/components/pivot-table-positioning.config-BBd6xf8q.cjs +0 -20
- package/components/pivot-table-positioning.config-BK7wgw1A.js +0 -55
- package/components/pivot-table-slots.config-DpDaXLdw.js +0 -55
- package/components/pivot-table-slots.config-KlYXL90k.cjs +0 -20
- package/components/pragmatic-element-adapter-C_7HSvGV.js +0 -1252
- package/components/pragmatic-element-adapter-DPWYJiW9.cjs +0 -24
- package/components/pyramid-chart-options.config-8QtjhcJC.cjs +0 -20
- package/components/pyramid-chart-options.config-DiD3QFps.js +0 -240
- package/components/pyramid-chart-positioning.config-C7STytAm.cjs +0 -20
- package/components/pyramid-chart-positioning.config-CGjiKyPG.js +0 -55
- package/components/pyramid-chart-slots.config-BrKgartT.js +0 -50
- package/components/pyramid-chart-slots.config-CreUpxI2.cjs +0 -20
- package/components/radar-chart-options.config-COBM2L3R.js +0 -130
- package/components/radar-chart-options.config-DvW36_zk.cjs +0 -20
- package/components/radar-chart-positioning.config-6xWEPHjC.js +0 -55
- package/components/radar-chart-positioning.config-p0s42Zyt.cjs +0 -20
- package/components/radar-chart-slots.config-B3oIp-8w.cjs +0 -20
- package/components/radar-chart-slots.config-SivEBhuj.js +0 -53
- package/components/regular-table-options.config-B0WNqEjR.cjs +0 -20
- package/components/regular-table-options.config-B0zRcsWM.js +0 -148
- package/components/regular-table-slots.config-M2axBXl4.js +0 -35
- package/components/regular-table-slots.config-UwzWj6gg.cjs +0 -20
- package/components/route-map-options.config-CYNKz_Xm.cjs +0 -20
- package/components/route-map-options.config-CrMrDQ_l.js +0 -326
- package/components/route-map-positioning.config-B2qAh6WW.js +0 -66
- package/components/route-map-positioning.config-C8KmQ33c.cjs +0 -20
- package/components/route-map-slots.config-COCoP99E.js +0 -59
- package/components/route-map-slots.config-DfYT65BF.cjs +0 -20
- package/components/sankey-diagram-options.config-BYLiy1UX.js +0 -126
- package/components/sankey-diagram-options.config-D49IZ1y3.cjs +0 -20
- package/components/sankey-diagram-positioning.config-CBLQktr4.js +0 -66
- package/components/sankey-diagram-positioning.config-DAF803wR.cjs +0 -20
- package/components/sankey-diagram-slots.config-C-sqtrS-.js +0 -61
- package/components/sankey-diagram-slots.config-D-_u4w36.cjs +0 -20
- package/components/scatter-plot-options.config-BETVLevv.cjs +0 -20
- package/components/scatter-plot-options.config-BpUYcLt-.js +0 -302
- package/components/scatter-plot-positioning.config-0hj66nn4.cjs +0 -20
- package/components/scatter-plot-positioning.config-Be9hQ727.js +0 -77
- package/components/scatter-plot-slots.config-CrG6wQtV.cjs +0 -20
- package/components/scatter-plot-slots.config-Dg78lS25.js +0 -74
- package/components/search-filter-options.config-B-dGVPhS.cjs +0 -20
- package/components/search-filter-options.config-lGQ-biU5.js +0 -103
- package/components/search-filter-slots.config-BhDSDpNd.js +0 -39
- package/components/search-filter-slots.config-DP06ulJA.cjs +0 -20
- package/components/set-locale-DB1FMgtK.js +0 -43
- package/components/set-locale-DKCZkJVL.cjs +0 -20
- package/components/slicer-filter-options.config-7OXpRWtw.cjs +0 -20
- package/components/slicer-filter-options.config-B6rxZYcl.js +0 -226
- package/components/slicer-filter-positioning.config-BQoRGx8R.js +0 -48
- package/components/slicer-filter-positioning.config-CvcZ3qkf.cjs +0 -20
- package/components/slicer-filter-slots.config-CHKpdJvF.cjs +0 -20
- package/components/slicer-filter-slots.config-XtuZoiId.js +0 -44
- package/components/slider-filter-options.config-C7-5aoaC.js +0 -72
- package/components/slider-filter-options.config-CRdbX1IJ.cjs +0 -20
- package/components/slider-filter-slots.config-9R298H0t.cjs +0 -20
- package/components/slider-filter-slots.config-BYkIGVvh.js +0 -43
- package/components/slot-menu-CkiIhk9e.cjs +0 -64
- package/components/slot-menu-DZPe7qUA.js +0 -404
- package/components/slot-menu-list-BRsAe3-b.js +0 -326
- package/components/slot-menu-list-CCrkNqq8.cjs +0 -38
- package/components/slots-config-DMC15sjT.js +0 -77
- package/components/slots-config-DVH0lz6t.cjs +0 -20
- package/components/speedometer-chart-options.config-Bd3-G7S7.js +0 -246
- package/components/speedometer-chart-options.config-BsIu28S3.cjs +0 -20
- package/components/speedometer-chart-positioning.config-CAsBGyZ7.cjs +0 -20
- package/components/speedometer-chart-positioning.config-CsgmgREh.js +0 -48
- package/components/speedometer-chart-slots.config-CkeiXSCy.js +0 -39
- package/components/speedometer-chart-slots.config-S_hQm2MV.cjs +0 -20
- package/components/spike-map-options.config-B_2BXI_9.js +0 -413
- package/components/spike-map-options.config-aaiZyME6.cjs +0 -20
- package/components/spike-map-positioning.config-BS8MuRkQ.js +0 -55
- package/components/spike-map-positioning.config-D4isshlL.cjs +0 -20
- package/components/spike-map-slots.config-C44Vxsit.js +0 -47
- package/components/spike-map-slots.config-cKfaD6dQ.cjs +0 -20
- package/components/strip-plot-options.config-By62J2Jj.js +0 -53
- package/components/strip-plot-options.config-TB3rkoj2.cjs +0 -20
- package/components/strip-plot-positioning.config-CufC8vJi.js +0 -48
- package/components/strip-plot-positioning.config-NpwP9QGU.cjs +0 -20
- package/components/strip-plot-slots.config-DNYlrK_c.cjs +0 -20
- package/components/strip-plot-slots.config-xsNFXerT.js +0 -38
- package/components/sunburst-chart-options.config-Ckk_kY_s.cjs +0 -20
- package/components/sunburst-chart-options.config-DwQwkQxR.js +0 -160
- package/components/sunburst-chart-positioning.config-C5UCbZWE.cjs +0 -20
- package/components/sunburst-chart-positioning.config-D60TNhUU.js +0 -48
- package/components/sunburst-chart-slots.config-D6Z2_Kh_.js +0 -38
- package/components/sunburst-chart-slots.config-DkUUt5RF.cjs +0 -20
- package/components/symbol-map-options.config-56eoWz4w.cjs +0 -20
- package/components/symbol-map-options.config-uXEbOHWD.js +0 -157
- package/components/symbol-map-positioning.config-D1esOfIw.js +0 -55
- package/components/symbol-map-positioning.config-D__gPAF-.cjs +0 -20
- package/components/symbol-map-slots.config-CHTIkMw4.js +0 -53
- package/components/symbol-map-slots.config-DwNf547A.cjs +0 -20
- package/components/text-options.config-B5y7YAqT.js +0 -67
- package/components/text-options.config-BwBCG2yo.cjs +0 -20
- package/components/text-slots.config-CPghLc8b.cjs +0 -20
- package/components/text-slots.config-sFoowMc6.js +0 -24
- package/components/treemap-chart-options.config-BouAbrk0.js +0 -184
- package/components/treemap-chart-options.config-r6biULUj.cjs +0 -20
- package/components/treemap-chart-positioning.config-BZ1yMqy5.cjs +0 -20
- package/components/treemap-chart-positioning.config-DEnYiZKj.js +0 -55
- package/components/treemap-chart-slots.config-BjHBRWDJ.js +0 -47
- package/components/treemap-chart-slots.config-CS3ot6ZJ.cjs +0 -20
- package/components/utils-Bn8v7iuu.cjs +0 -20
- package/components/utils-CIxpLDLh.js +0 -352
- package/components/v4-DIjJgmR0.js +0 -49
- package/components/venn-diagram-options.config-BZWBYEhB.js +0 -24
- package/components/venn-diagram-options.config-BamlR1qo.cjs +0 -20
- package/components/venn-diagram-positioning.config-DMceiBb8.js +0 -55
- package/components/venn-diagram-positioning.config-DUvGRRSh.cjs +0 -20
- package/components/venn-diagram-slots.config-CM0HPIPD.js +0 -47
- package/components/venn-diagram-slots.config-DYTmU8v2.cjs +0 -20
- package/components/video-options.config-BhBpkaLJ.cjs +0 -20
- package/components/video-options.config-DWuy1OHa.js +0 -127
- package/components/video-slots.config-B_aDlTp6.js +0 -24
- package/components/video-slots.config-DMut7o7r.cjs +0 -20
- package/components/viz-item-menu-BisYrhhJ.js +0 -170
- package/components/viz-item-menu-DEpm1w7U.cjs +0 -55
- package/components/wordcloud-chart-options.config-D041tFDG.js +0 -90
- package/components/wordcloud-chart-options.config-DgH4JgN2.cjs +0 -20
- package/components/wordcloud-chart-positioning.config-CeP0_j_m.cjs +0 -20
- package/components/wordcloud-chart-positioning.config-tVRXTpdQ.js +0 -55
- package/components/wordcloud-chart-slots.config-Cy-Jgcaq.js +0 -45
- package/components/wordcloud-chart-slots.config-V29v2Fhr.cjs +0 -20
- /package/components/{rolldown-runtime-mLOUI7ql.cjs → chunk-mLOUI7ql.cjs} +0 -0
|
@@ -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-grid-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../item-grid-CmuMl0eC.cjs");exports.LuzmoItemGrid=e.t,Object.defineProperty(exports,"LuzmoItemGridItemActionsMenu",{enumerable:!0,get:function(){return e.n}});
|
|
@@ -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-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 { n as e, t } from "../item-grid-
|
|
27
|
+
import { n as e, t } from "../item-grid-Cqi995vx.js";
|
|
28
28
|
export { t as LuzmoItemGrid, e as LuzmoItemGridItemActionsMenu };
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*! * A kit of modern Luzmo Web Components for analytics in your web application.
|
|
2
|
+
*
|
|
3
|
+
* Copyright © 2026 Luzmo
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Luzmo web components (“Luzmo Web Components”)
|
|
6
|
+
* must be used according to the Luzmo Terms of Service.
|
|
7
|
+
* This license allows users with a current active Luzmo account
|
|
8
|
+
* to use the Luzmo Web Components. This license terminates
|
|
9
|
+
* automatically if a user no longer has an active Luzmo account.
|
|
10
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
|
11
|
+
*
|
|
12
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
+
* SOFTWARE.
|
|
19
|
+
* */
|
|
20
|
+
const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-BNAt_iYb.cjs"),n=require("./color-Bl8h58rV.cjs"),r=require("./themes-kvrISOTz.cjs"),i=require("./v4-Dyp-SQ1c.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/tooltip");let u=require("lit/directives/repeat.js");require("@luzmo/lucero/action-button"),require("@luzmo/embed"),require("@luzmo/lucero/action-group");let d=require("@luzmo/lucero/utils"),f=require("lit/directives/guard.js");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`)?!1:!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:!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&&r.n.includes(e.id)&&t?.id!==e.id?{...await r.t(e.id),id:e.id}:e?.id&&t?.id!==e.id||!e&&t?t:await r.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
|
+
<div class="grid-item-actions-popover" popover=${o?`manual`:s.nothing}>
|
|
22
|
+
<luzmo-item-grid-item-actions-menu
|
|
23
|
+
.actions=${c}
|
|
24
|
+
placement=${e?.placementActionsMenu??r??`right-start`}
|
|
25
|
+
.language=${i}
|
|
26
|
+
@luzmo-item-grid-item-action=${a}
|
|
27
|
+
>
|
|
28
|
+
</luzmo-item-grid-item-actions-menu>
|
|
29
|
+
</div>
|
|
30
|
+
`},tn=({item:e,index:t,initialized:n,viewMode:r,contentLanguage:i,fullTheme:a,appServer:c,apiHost:u,authKey:d,authToken:f,handleMouseover:p,handleMouseout:m,handleFocus:h,handleBlur:g})=>{let _={...e.options,locale:i};_.theme||=a?.id?{id:a.id}:structuredClone(a);let v=!r;return s.html`
|
|
31
|
+
<div
|
|
32
|
+
class="luzmo-item-grid-item has-luzmo-viz-item"
|
|
33
|
+
luzmo-item-grid-item-id=${e.id??``}
|
|
34
|
+
tabindex="0"
|
|
35
|
+
role="row"
|
|
36
|
+
@mouseover=${p}
|
|
37
|
+
@mouseout=${m}
|
|
38
|
+
@focus=${h}
|
|
39
|
+
@blur=${g}
|
|
40
|
+
>
|
|
41
|
+
<div
|
|
42
|
+
class="grid-stack-item-content"
|
|
43
|
+
role="gridcell"
|
|
44
|
+
aria-label=${(0,l.msg)(`Grid item`,{desc:`Accessible label prefix for grid items`})+` ${t+1}`}
|
|
45
|
+
>
|
|
46
|
+
${v?s.html`
|
|
47
|
+
<div class="grid-item-drag-handle">
|
|
48
|
+
<luzmo-icon .icon=${o.luzmoArrows} size="s"></luzmo-icon>
|
|
49
|
+
</div>
|
|
50
|
+
`:s.html`
|
|
51
|
+
|
|
52
|
+
`}
|
|
53
|
+
${n?s.html`
|
|
54
|
+
<luzmo-embed-viz-item
|
|
55
|
+
.appServer=${c}
|
|
56
|
+
.apiHost=${u}
|
|
57
|
+
.authKey=${d}
|
|
58
|
+
.authToken=${f}
|
|
59
|
+
.type=${e.type}
|
|
60
|
+
.slots=${e.slots}
|
|
61
|
+
.options=${_}
|
|
62
|
+
.filters=${e.filters}
|
|
63
|
+
.language=${i}
|
|
64
|
+
.canFilter=${e.canFilter??`all`}
|
|
65
|
+
></luzmo-embed-viz-item>`:s.html`
|
|
66
|
+
|
|
67
|
+
`}
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
`},nn=({items:e,initialized:t,viewMode:n,contentLanguage:r,fullTheme:i,appServer:a,apiHost:o,authKey:s,authToken:c,renderItem:l})=>(0,u.repeat)(e,e=>e.id,(e,u)=>(0,f.guard)([e,t,n,r,i,a,o,s,c],()=>l(e,u))),rn=({items:e,initialized:t,viewMode:n,contentLanguage:r,fullTheme:i,appServer:a,apiHost:o,authKey:c,authToken:u,columns:d,ensureGridItemId:f,handleMouseover:p,handleMouseout:m,handleFocus:h,handleBlur:g})=>{e.forEach(e=>{f(e)});let _=nn({items:e,initialized:t,viewMode:n,contentLanguage:r,fullTheme:i,appServer:a,apiHost:o,authKey:c,authToken:u,renderItem:(e,s)=>tn({item:e,index:s,initialized:t,viewMode:n,contentLanguage:r,fullTheme:i,appServer:a,apiHost:o,authKey:c,authToken:u,handleMouseover:p,handleMouseout:m,handleFocus:h,handleBlur:g})});return s.html`
|
|
71
|
+
<div
|
|
72
|
+
?dark-background=${t?Zt(i):!1}
|
|
73
|
+
class="grid-stack"
|
|
74
|
+
data-grid-columns=${d}
|
|
75
|
+
role="grid"
|
|
76
|
+
aria-label=${(0,l.msg)(`Dashboard grid`,{desc:`Accessible label for the dashboard grid`})}
|
|
77
|
+
>
|
|
78
|
+
${_}
|
|
79
|
+
</div>
|
|
80
|
+
`},G=class e{static getElements(e,t=document){if(typeof e==`string`){let n=`getElementById`in t?t:void 0;if(n&&!isNaN(+e[0])){let t=n.getElementById(e);return t?[t]:[]}let r=t.querySelectorAll(e);if(!r.length&&e[0]!==`.`&&e[0]!==`#`&&(r=t.querySelectorAll(`.`+e),r.length||(r=t.querySelectorAll(`#`+e)),!r.length)){let n=t.querySelector(`[gs-id="${e}"]`);return n?[n]:[]}return Array.from(r)}return[e]}static getElement(e,t=document){if(typeof e==`string`){let n=`getElementById`in t?t:void 0;if(!e.length)return null;if(n&&e[0]===`#`)return n.getElementById(e.substring(1));if(e[0]===`#`||e[0]===`.`||e[0]===`[`)return t.querySelector(e);if(n&&!isNaN(+e[0]))return n.getElementById(e);let r=t.querySelector(e);return n&&!r&&(r=n.getElementById(e)),r||=t.querySelector(`.`+e),r}return e}static lazyLoad(e){return e.lazyLoad||e.grid?.opts?.lazyLoad&&e.lazyLoad!==!1}static createDiv(e,t){let n=document.createElement(`div`);return e.forEach(e=>{e&&n.classList.add(e)}),t?.appendChild(n),n}static shouldSizeToContent(e,t=!1){return e?.grid&&(t?e.sizeToContent===!0||e.grid.opts.sizeToContent===!0&&e.sizeToContent===void 0:!!e.sizeToContent||e.grid.opts.sizeToContent&&e.sizeToContent!==!1)}static isIntercepted(e,t){return!(e.y>=t.y+t.h||e.y+e.h<=t.y||e.x+e.w<=t.x||e.x>=t.x+t.w)}static isTouching(t,n){return e.isIntercepted(t,{x:n.x-.5,y:n.y-.5,w:n.w+1,h:n.h+1})}static areaIntercept(e,t){let n=e.x>t.x?e.x:t.x,r=e.x+e.w<t.x+t.w?e.x+e.w:t.x+t.w;if(r<=n)return 0;let i=e.y>t.y?e.y:t.y,a=e.y+e.h<t.y+t.h?e.y+e.h:t.y+t.h;return a<=i?0:(r-n)*(a-i)}static area(e){return e.w*e.h}static sort(e,t=1){let n=1e4;return e.sort((e,r)=>{let i=t*((e.y??n)-(r.y??n));return i===0?t*((e.x??n)-(r.x??n)):i})}static find(e,t){return t?e.find(e=>e.id===t):void 0}static toBool(e){return typeof e==`boolean`?e:typeof e==`string`?(e=e.toLowerCase(),!(e===``||e===`no`||e===`false`||e===`0`)):!!e}static toNumber(e){return e===null||e.length===0?void 0:Number(e)}static parseHeight(e){let t,n=`px`;if(typeof e==`string`)if(e===`auto`||e===``)t=0;else{let r=e.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw|%|cm|mm)?$/);if(!r)throw Error(`Invalid height val = ${e}`);n=r[2]||`px`,t=parseFloat(r[1])}else t=e;return{h:t,unit:n}}static defaults(t,...n){return n.forEach(n=>{for(let r in n){if(!n.hasOwnProperty(r))return;t[r]===null||t[r]===void 0?t[r]=n[r]:typeof n[r]==`object`&&typeof t[r]==`object`&&e.defaults(t[r],n[r])}}),t}static same(e,t){if(typeof e!=`object`)return e==t;if(typeof e!=typeof t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}static copyPos(e,t,n=!1){return t.x!==void 0&&(e.x=t.x),t.y!==void 0&&(e.y=t.y),t.w!==void 0&&(e.w=t.w),t.h!==void 0&&(e.h=t.h),n&&(t.minW&&(e.minW=t.minW),t.minH&&(e.minH=t.minH),t.maxW&&(e.maxW=t.maxW),t.maxH&&(e.maxH=t.maxH)),e}static samePos(e,t){return e&&t&&e.x===t.x&&e.y===t.y&&(e.w||1)===(t.w||1)&&(e.h||1)===(t.h||1)}static sanitizeMinMax(e){e.minW||delete e.minW,e.minH||delete e.minH,e.maxW||delete e.maxW,e.maxH||delete e.maxH}static removeInternalAndSame(t,n){if(!(typeof t!=`object`||typeof n!=`object`)&&!(Array.isArray(t)||Array.isArray(n)))for(let r in t){let i=t[r],a=n[r];r[0]===`_`||i===a?delete t[r]:i&&typeof i==`object`&&a!==void 0&&(e.removeInternalAndSame(i,a),Object.keys(i).length||delete t[r])}}static removeInternalForSave(e,t=!0){for(let t in e)(t[0]===`_`||e[t]===null||e[t]===void 0)&&delete e[t];delete e.grid,t&&delete e.el,e.autoPosition||delete e.autoPosition,e.noResize||delete e.noResize,e.noMove||delete e.noMove,e.locked||delete e.locked,(e.w===1||e.w===e.minW)&&delete e.w,(e.h===1||e.h===e.minH)&&delete e.h}static throttle(e,t){let n=!1;return(...r)=>{n||(n=!0,setTimeout(()=>{e(...r),n=!1},t))}}static removePositioningStyles(e){let t=e.style;t.position&&t.removeProperty(`position`),t.left&&t.removeProperty(`left`),t.top&&t.removeProperty(`top`),t.width&&t.removeProperty(`width`),t.height&&t.removeProperty(`height`)}static getScrollElement(t){if(!t)return document.scrollingElement||document.documentElement;let n=getComputedStyle(t).overflowY;return(n===`auto`||n===`scroll`)&&t.scrollHeight>t.clientHeight?t:e.getScrollElement(t.parentElement)}static updateScrollResize(t,n,r){let i=e.getScrollElement(n),a=i.clientHeight,o=i===e.getScrollElement()?0:i.getBoundingClientRect().top,s=t.clientY-o,c=s<r,l=s>a-r;c?i.scrollBy({behavior:`smooth`,top:s-r}):l&&i.scrollBy({behavior:`smooth`,top:r-(a-s)})}static clone(e){return typeof e!=`object`||!e?e:e instanceof Array?[...e]:{...e}}static cloneDeep(t){let n=[`parentGrid`,`el`,`grid`,`subGrid`,`engine`],r=e.clone(t);for(let i in r)r.hasOwnProperty(i)&&typeof r[i]==`object`&&i.substring(0,2)!==`__`&&!n.find(e=>e===i)&&(r[i]=e.cloneDeep(t[i]));return r}static cloneNode(e){let t=e.cloneNode(!0);return t.removeAttribute(`id`),t}static appendTo(t,n){let r;r=typeof n==`string`?e.getElement(n):n,r&&r.appendChild(t)}static addElStyles(e,t){if(t instanceof Object)for(let n in t)t.hasOwnProperty(n)&&(Array.isArray(t[n])?t[n].forEach(t=>{e.style[n]=t}):e.style[n]=t[n])}static initEvent(e,t){let n={type:t.type},r={button:0,which:0,buttons:1,bubbles:!0,cancelable:!0,target:t.target?t.target:e.target};return[`altKey`,`ctrlKey`,`metaKey`,`shiftKey`].forEach(t=>n[t]=e[t]),[`pageX`,`pageY`,`clientX`,`clientY`,`screenX`,`screenY`].forEach(t=>n[t]=e[t]),{...n,...r}}static simulateMouseEvent(e,t,n){let r=e,i=new MouseEvent(t,{bubbles:!0,composed:!0,cancelable:!0,view:window,detail:1,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY,ctrlKey:r.ctrlKey??!1,altKey:r.altKey??!1,shiftKey:r.shiftKey??!1,metaKey:r.metaKey??!1,button:0,relatedTarget:e.target});(n||e.target).dispatchEvent(i)}static getValuesFromTransformedElement(t){let n=document.createElement(`div`);e.addElStyles(n,{opacity:`0`,position:`fixed`,top:`0px`,left:`0px`,width:`1px`,height:`1px`,zIndex:`-999999`}),t.appendChild(n);let r=n.getBoundingClientRect();return t.removeChild(n),n.remove(),{xScale:1/r.width,yScale:1/r.height,xOffset:r.left,yOffset:r.top}}static swap(e,t,n){if(!e)return;let r=e[t];e[t]=e[n],e[n]=r}static canBeRotated(e){return!(!e||e.w===e.h||e.locked||e.noResize||e.grid?.opts.disableResize||e.minW&&e.minW===e.maxW||e.minH&&e.minH===e.maxH)}},an=class e{constructor(e={}){this.addedNodes=[],this.removedNodes=[],this.defaultColumn=12,this.column=e.column||this.defaultColumn,this.column>this.defaultColumn&&(this.defaultColumn=this.column),this.maxRow=e.maxRow,this._float=e.float,this.nodes=e.nodes||[],this.onChange=e.onChange}batchUpdate(e=!0,t=!0){return!!this.batchMode===e?this:(this.batchMode=e,e?(this._prevFloat=this._float,this._float=!0,this.cleanNodes(),this.saveInitial()):(this._float=this._prevFloat,delete this._prevFloat,t&&this._packNodes(),this._notify()),this)}_useEntireRowArea(e,t){return(!this.float||this.batchMode&&!this._prevFloat)&&!this._hasLocked&&(!e._moving||e._skipDown||t.y<=e.y)}_fixCollisions(e,t=e,n,r={}){if(this.sortNodes(-1),n||=this.collide(e,t),!n)return!1;if(e._moving&&!r.nested&&!this.float&&this.swap(e,n))return!0;let i=t;!this._loading&&this._useEntireRowArea(e,t)&&(i={x:0,w:this.column,y:t.y,h:t.h},n=this.collide(e,i,r.skip));let a=!1,o={nested:!0,pack:!1},s=0;for(;n||=this.collide(e,i,r.skip);){if(s++>this.nodes.length*2)throw Error(`Infinite collide check`);let i;if(n.locked||this._loading||e._moving&&!e._skipDown&&t.y>e.y&&!this.float&&(!this.collide(n,{...n,y:e.y},e)||!this.collide(n,{...n,y:t.y-n.h},e))){e._skipDown=e._skipDown||t.y>e.y;let s={...t,y:n.y+n.h,...o};i=this._loading&&G.samePos(e,s)?!0:this.moveNode(e,s),(n.locked||this._loading)&&i?G.copyPos(t,e):!n.locked&&i&&r.pack&&(this._packNodes(),t.y=n.y+n.h,G.copyPos(e,t)),a||=i}else i=this.moveNode(n,{...n,y:t.y+t.h,skip:e,...o});if(!i)return a;n=void 0}return a}collide(e,t=e,n){let r=e._id,i=n?._id;return this.nodes.find(e=>e._id!==r&&e._id!==i&&G.isIntercepted(e,t))}collideAll(e,t=e,n){let r=e._id,i=n?._id;return this.nodes.filter(e=>e._id!==r&&e._id!==i&&G.isIntercepted(e,t))}directionCollideCoverage(e,t,n){if(!t.rect||!e._rect)return;let r=e._rect,i={...t.rect};i.y>r.y?(i.h+=i.y-r.y,i.y=r.y):i.h+=r.y-i.y,i.x>r.x?(i.w+=i.x-r.x,i.x=r.x):i.w+=r.x-i.x;let a,o=.5;for(let e of n){if(e.locked||!e._rect)break;let t=e._rect,n=Number.MAX_VALUE,s=Number.MAX_VALUE;r.y<t.y?n=(i.y+i.h-t.y)/t.h:r.y+r.h>t.y+t.h&&(n=(t.y+t.h-i.y)/t.h),r.x<t.x?s=(i.x+i.w-t.x)/t.w:r.x+r.w>t.x+t.w&&(s=(t.x+t.w-i.x)/t.w);let c=Math.min(s,n);c>o&&(o=c,a=e)}return t.collide=a,a}cacheRects(e,t,n,r,i,a){return this.nodes.forEach(o=>o._rect={y:o.y*t+n,x:o.x*e+a,w:o.w*e-a-r,h:o.h*t-n-i}),this}swap(e,t){if(!t||t.locked||!e||e.locked)return!1;function n(){let n=t.x,r=t.y;return t.x=e.x,t.y=e.y,e.h==t.h?e.w==t.w?(e.x=n,e.y=r):(e.x=t.x+t.w,e.y=r):(e.x=n,e.y=t.y+t.h),e._dirty=t._dirty=!0,!0}let r;if(e.w===t.w&&e.h===t.h&&(e.x===t.x||e.y===t.y)&&(r=G.isTouching(e,t)))return n();if(r!==!1){if(e.w===t.w&&e.x===t.x&&(r||=G.isTouching(e,t))){if(t.y<e.y){let n=e;e=t,t=n}return n()}if(r!==!1){if(e.h===t.h&&e.y===t.y&&(r||=G.isTouching(e,t))){if(t.x<e.x){let n=e;e=t,t=n}return n()}return!1}}}isAreaEmpty(e,t,n,r){let i={x:e||0,y:t||0,w:n||1,h:r||1};return!this.collide(i)}compact(e=`compact`,t=!0){if(this.nodes.length===0)return this;t&&this.sortNodes();let n=this.batchMode;n||this.batchUpdate();let r=this._inColumnResize;r||(this._inColumnResize=!0);let i=this.nodes;return this.nodes=[],i.forEach((t,n,r)=>{let i;t.locked||(t.autoPosition=!0,e===`list`&&n&&(i=r[n-1])),this.addNode(t,!1,i)}),r||delete this._inColumnResize,n||this.batchUpdate(!1),this}set float(e){this._float!==e&&(this._float=e||!1,e||this._packNodes()._notify())}get float(){return this._float||!1}sortNodes(e=1){return this.nodes=G.sort(this.nodes,e),this}_packNodes(){return this.batchMode?this:(this.sortNodes(),this.float?this.nodes.forEach(e=>{if(e._updating||e._orig===void 0||e.y===e._orig.y)return;let t=e.y;for(;t>e._orig.y;)--t,this.collide(e,{x:e.x,y:t,w:e.w,h:e.h})||(e._dirty=!0,e.y=t)}):this.nodes.forEach((e,t)=>{if(!e.locked)for(;e.y>0;){let n=t===0?0:e.y-1;if(!(t===0||!this.collide(e,{x:e.x,y:n,w:e.w,h:e.h})))break;e._dirty=e.y!==n,e.y=n}}),this)}prepareNode(t,n){t._id=t._id??e._idSeq++;let r=t.id;if(r){let e=1;for(;this.nodes.find(e=>e.id===t.id&&e!==t);)t.id=r+`_`+ e++}(t.x===void 0||t.y===void 0||t.x===null||t.y===null)&&(t.autoPosition=!0);let i={x:0,y:0,w:1,h:1};return G.defaults(t,i),t.autoPosition||delete t.autoPosition,t.noResize||delete t.noResize,t.noMove||delete t.noMove,G.sanitizeMinMax(t),typeof t.x==`string`&&(t.x=Number(t.x)),typeof t.y==`string`&&(t.y=Number(t.y)),typeof t.w==`string`&&(t.w=Number(t.w)),typeof t.h==`string`&&(t.h=Number(t.h)),isNaN(t.x)&&(t.x=i.x,t.autoPosition=!0),isNaN(t.y)&&(t.y=i.y,t.autoPosition=!0),isNaN(t.w)&&(t.w=i.w),isNaN(t.h)&&(t.h=i.h),this.nodeBoundFix(t,n),t}nodeBoundFix(e,t){let n=e._orig||G.copyPos({},e);if(e.maxW&&(e.w=Math.min(e.w||1,e.maxW)),e.maxH&&(e.h=Math.min(e.h||1,e.maxH)),e.minW&&(e.w=Math.max(e.w||1,e.minW)),e.minH&&(e.h=Math.max(e.h||1,e.minH)),(e.x||0)+(e.w||1)>this.column&&this.column<this.defaultColumn&&!this._inColumnResize&&!this.skipCacheUpdate&&e._id!=null&&this.findCacheLayout(e,this.defaultColumn)===-1){let t={...e};t.autoPosition||t.x===void 0?(delete t.x,delete t.y):t.x=Math.min(this.defaultColumn-1,t.x),t.w=Math.min(this.defaultColumn,t.w||1),this.cacheOneLayout(t,this.defaultColumn)}return e.w>this.column?e.w=this.column:e.w<1&&(e.w=1),this.maxRow&&e.h>this.maxRow?e.h=this.maxRow:e.h<1&&(e.h=1),e.x<0&&(e.x=0),e.y<0&&(e.y=0),e.x+e.w>this.column&&(t?e.w=this.column-e.x:e.x=this.column-e.w),this.maxRow&&e.y+e.h>this.maxRow&&(t?e.h=this.maxRow-e.y:e.y=this.maxRow-e.h),G.samePos(e,n)||(e._dirty=!0),this}getDirtyNodes(e){return e?this.nodes.filter(e=>e._dirty&&!G.samePos(e,e._orig)):this.nodes.filter(e=>e._dirty)}_notify(e){if(this.batchMode||!this.onChange)return this;let t=(e||[]).concat(this.getDirtyNodes());return this.onChange(t),this}cleanNodes(){return this.batchMode||this.nodes.forEach(e=>{delete e._dirty,delete e._lastTried}),this}saveInitial(){return this.nodes.forEach(e=>{e._orig=G.copyPos({},e),delete e._dirty}),this._hasLocked=this.nodes.some(e=>e.locked),this}restoreInitial(){return this.nodes.forEach(e=>{!e._orig||G.samePos(e,e._orig)||(G.copyPos(e,e._orig),e._dirty=!0)}),this._notify(),this}findEmptyPosition(e,t=this.nodes,n=this.column,r){let i=r?r.y*n+(r.x+r.w):0,a=!1;for(let r=i;!a;++r){let i=r%n,o=Math.floor(r/n);if(i+e.w>n)continue;let s={x:i,y:o,w:e.w,h:e.h};t.find(e=>G.isIntercepted(s,e))||((e.x!==i||e.y!==o)&&(e._dirty=!0),e.x=i,e.y=o,delete e.autoPosition,a=!0)}return a}addNode(e,t=!1,n){let r=this.nodes.find(t=>t._id===e._id);if(r)return r;this._inColumnResize?this.nodeBoundFix(e):this.prepareNode(e),delete e._temporaryRemoved,delete e._removeDOM;let i;return e.autoPosition&&this.findEmptyPosition(e,this.nodes,this.column,n)&&(delete e.autoPosition,i=!0),this.nodes.push(e),t&&this.addedNodes.push(e),i||this._fixCollisions(e),this.batchMode||this._packNodes()._notify(),e}removeNode(e,t=!0,n=!1){return this.nodes.find(t=>t._id===e._id)?(n&&this.removedNodes.push(e),t&&(e._removeDOM=!0),this.nodes=this.nodes.filter(t=>t._id!==e._id),e._isAboutToRemove||this._packNodes(),this._notify([e]),this):this}removeAll(e=!0,t=!0){if(delete this._layouts,!this.nodes.length)return this;e&&this.nodes.forEach(e=>e._removeDOM=!0);let n=this.nodes;return this.removedNodes=t?n:[],this.nodes=[],this._notify(n)}moveNodeCheck(t,n){if(!this.changedPosConstrain(t,n))return!1;if(n.pack=!0,!this.maxRow)return this.moveNode(t,n);let r,i=new e({column:this.column,float:this.float,nodes:this.nodes.map(e=>e._id===t._id?(r={...e},r):{...e})});if(!r)return!1;let a=i.moveNode(r,n)&&i.getRow()<=Math.max(this.getRow(),this.maxRow);if(!a&&!n.resizing&&n.collide){let e=n.collide.el.gridstackNode;if(this.swap(t,e))return this._notify(),!0}return a?(i.nodes.filter(e=>e._dirty).forEach(e=>{let t=this.nodes.find(t=>t._id===e._id);t&&(G.copyPos(t,e),t._dirty=!0)}),this._notify(),!0):!1}willItFit(t){if(delete t._willFitPos,!this.maxRow)return!0;let n=new e({column:this.column,float:this.float,nodes:this.nodes.map(e=>({...e}))}),r={...t};return this.cleanupNode(r),delete r.el,delete r._id,delete r.content,delete r.grid,n.addNode(r),n.getRow()<=this.maxRow?(t._willFitPos=G.copyPos({},r),!0):!1}changedPosConstrain(e,t){return t.w=t.w||e.w,t.h=t.h||e.h,e.x!==t.x||e.y!==t.y?!0:(e.maxW&&(t.w=Math.min(t.w,e.maxW)),e.maxH&&(t.h=Math.min(t.h,e.maxH)),e.minW&&(t.w=Math.max(t.w,e.minW)),e.minH&&(t.h=Math.max(t.h,e.minH)),e.w!==t.w||e.h!==t.h)}moveNode(e,t){if(!e||!t)return!1;let n;t.pack===void 0&&!this.batchMode&&(n=t.pack=!0),typeof t.x!=`number`&&(t.x=e.x),typeof t.y!=`number`&&(t.y=e.y),typeof t.w!=`number`&&(t.w=e.w),typeof t.h!=`number`&&(t.h=e.h);let r=e.w!==t.w||e.h!==t.h,i=G.copyPos({},e,!0);if(G.copyPos(i,t),this.nodeBoundFix(i,r),G.copyPos(t,i),!t.forceCollide&&G.samePos(e,t))return!1;let a=G.copyPos({},e),o=this.collideAll(e,i,t.skip),s=!0;if(o.length){let r=e._moving&&!t.nested,a=r?this.directionCollideCoverage(e,t,o):o[0];if(r&&a&&e.grid?.opts?.subGridDynamic&&!e.grid._isTemp){let n=G.areaIntercept(t.rect,a._rect),r=G.area(t.rect),i=G.area(a._rect);n/(r<i?r:i)>.8&&(a.grid.makeSubGrid(a.el,void 0,e),a=void 0)}a?s=!this._fixCollisions(e,i,a,t):(s=!1,n&&delete t.pack)}return s&&!G.samePos(e,i)&&(e._dirty=!0,G.copyPos(e,i)),t.pack&&this._packNodes()._notify(),!G.samePos(e,a)}getRow(){return this.nodes.reduce((e,t)=>Math.max(e,t.y+t.h),0)}beginUpdate(e){return e._updating||(e._updating=!0,delete e._skipDown,this.batchMode||this.saveInitial()),this}endUpdate(){let e=this.nodes.find(e=>e._updating);return e&&(delete e._updating,delete e._skipDown),this}save(e=!0,t,n){let r=this._layouts?.length||0,i;r&&(n?n!==this.column&&(i=this._layouts[n]):this.column!==r-1&&(i=this._layouts[r-1]));let a=[];return this.sortNodes(),this.nodes.forEach(n=>{let r=i?.find(e=>e._id===n._id),o={...n,...r||{}};G.removeInternalForSave(o,!e),t&&t(n,o),a.push(o)}),a}layoutsNodesChange(e){return!this._layouts||this._inColumnResize||this._layouts.forEach((t,n)=>{if(!t||n===this.column)return this;if(n<this.column)this._layouts[n]=void 0;else{let r=n/this.column;e.forEach(e=>{if(!e._orig)return;let n=t.find(t=>t._id===e._id);n&&(n.y>=0&&e.y!==e._orig.y&&(n.y+=e.y-e._orig.y,n.y<0&&(n.y=0)),e.x!==e._orig.x&&(n.x=Math.round(e.x*r),n.x<0&&(n.x=0)),e.w!==e._orig.w&&(n.w=Math.round(e.w*r),n.w<1&&(n.w=1)))})}}),this}columnChanged(e,t,n=`moveScale`){if(!this.nodes.length||!t||e===t)return this;let r=n===`compact`||n===`list`;r&&this.sortNodes(1),t<e&&this.cacheLayout(this.nodes,e),this.batchUpdate();let i=[],a=r?this.nodes:G.sort(this.nodes,-1);if(t>e&&this._layouts){let n=this._layouts[t]||[],o=this._layouts.length-1;!n.length&&e!==o&&this._layouts[o]?.length&&(e=o,this._layouts[o].forEach(e=>{let t=a.find(t=>t._id===e._id);t&&(!r&&!e.autoPosition&&(t.x=e.x??t.x,t.y=e.y??t.y),t.w=e.w??t.w,(e.x==null||e.y===void 0)&&(t.autoPosition=!0))})),n.forEach(e=>{let t=a.findIndex(t=>t._id===e._id);if(t!==-1){let n=a[t];if(r){n.w=e.w;return}(e.autoPosition||isNaN(e.x)||isNaN(e.y))&&this.findEmptyPosition(e,i),e.autoPosition||(n.x=e.x??n.x,n.y=e.y??n.y,n.w=e.w??n.w,i.push(n)),a.splice(t,1)}})}if(r)this.compact(n,!1);else{if(a.length)if(typeof n==`function`)n(t,e,i,a);else{let o=r||n===`none`?1:t/e,s=n===`move`||n===`moveScale`,c=n===`scale`||n===`moveScale`;a.forEach(n=>{n.x=t===1?0:s?Math.round(n.x*o):Math.min(n.x,t-1),n.w=t===1||e===1?1:c?Math.round(n.w*o)||1:Math.min(n.w,t),i.push(n)}),a=[]}i=G.sort(i,-1),this._inColumnResize=!0,this.nodes=[],i.forEach(e=>{this.addNode(e,!1),delete e._orig})}return this.nodes.forEach(e=>delete e._orig),this.batchUpdate(!1,!r),delete this._inColumnResize,this}cacheLayout(t,n,r=!1){let i=[];return t.forEach((t,n)=>{t._id===void 0&&(t._id=(t.id?this.nodes.find(e=>e.id===t.id):void 0)?._id??e._idSeq++),i[n]={x:t.x,y:t.y,w:t.w,_id:t._id}}),this._layouts=r?[]:this._layouts||[],this._layouts[n]=i,this}cacheOneLayout(t,n){t._id=t._id??e._idSeq++;let r={x:t.x,y:t.y,w:t.w,_id:t._id};(t.autoPosition||t.x===void 0)&&(delete r.x,delete r.y,t.autoPosition&&(r.autoPosition=!0)),this._layouts=this._layouts||[],this._layouts[n]=this._layouts[n]||[];let i=this.findCacheLayout(t,n);return i===-1?this._layouts[n].push(r):this._layouts[n][i]=r,this}findCacheLayout(e,t){return this._layouts?.[t]?.findIndex(t=>t._id===e._id)??-1}removeNodeFromLayoutCache(e){if(this._layouts)for(let t=0;t<this._layouts.length;t++){let n=this.findCacheLayout(e,t);n!==-1&&this._layouts[t].splice(n,1)}}cleanupNode(e){for(let t in e)t[0]===`_`&&t!==`_id`&&delete e[t];return this}};an._idSeq=0;var K={alwaysShowResizeHandle:`mobile`,animate:!0,auto:!0,cellHeight:`auto`,cellHeightThrottle:100,cellHeightUnit:`px`,column:12,draggable:{handle:`.grid-stack-item-content`,appendTo:`body`,scroll:!0},handle:`.grid-stack-item-content`,itemClass:`grid-stack-item`,margin:10,marginUnit:`px`,maxRow:0,minRow:0,placeholderClass:`grid-stack-placeholder`,placeholderText:``,removableOptions:{accept:`grid-stack-item`,decline:`grid-stack-non-removable`},resizable:{handles:`se`},rtl:`auto`},q=class{},J=typeof window<`u`&&typeof document<`u`&&(`ontouchstart`in document||`ontouchstart`in window||window.DocumentTouch&&document instanceof window.DocumentTouch||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0),Y=class{};function on(e,t){e.touches.length>1||(e.cancelable&&e.preventDefault(),G.simulateMouseEvent(e.changedTouches[0],t))}function sn(e,t){e.cancelable&&e.preventDefault(),G.simulateMouseEvent(e,t)}function cn(e){Y.touchHandled||(Y.touchHandled=!0,on(e,`mousedown`))}function ln(e){Y.touchHandled&&on(e,`mousemove`)}function un(e){if(!Y.touchHandled)return;Y.pointerLeaveTimeout&&(window.clearTimeout(Y.pointerLeaveTimeout),delete Y.pointerLeaveTimeout);let t=!!q.dragElement;on(e,`mouseup`),t||on(e,`click`),Y.touchHandled=!1}function dn(e){e.pointerType!==`mouse`&&e.target.releasePointerCapture(e.pointerId)}function fn(e){q.dragElement&&e.pointerType!==`mouse`&&sn(e,`mouseenter`)}function pn(e){q.dragElement&&e.pointerType!==`mouse`&&(Y.pointerLeaveTimeout=window.setTimeout(()=>{delete Y.pointerLeaveTimeout,sn(e,`mouseleave`)},10))}var mn=class e{constructor(e,t,n){this.host=e,this.dir=t,this.option=n,this.moving=!1,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this._init()}_init(){if(this.option.element)try{this.el=this.option.element instanceof HTMLElement?this.option.element:this.host.querySelector(this.option.element)}catch(e){this.option.element=void 0,console.error(`Query for resizeable handle failed, falling back`,e)}return this.el||(this.el=document.createElement(`div`),this.host.appendChild(this.el)),this.el.classList.add(`ui-resizable-handle`),this.el.classList.add(`${e.prefix}${this.dir}`),this.el.style.zIndex=`100`,this.el.style.userSelect=`none`,this.el.addEventListener(`mousedown`,this._mouseDown),J&&(this.el.addEventListener(`touchstart`,cn),this.el.addEventListener(`pointerdown`,dn)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener(`mousedown`,this._mouseDown),J&&(this.el.removeEventListener(`touchstart`,cn),this.el.removeEventListener(`pointerdown`,dn)),this.option.element||this.host.removeChild(this.el),delete this.el,delete this.host,this}_mouseDown(e){this.mouseDownEvent=e,document.addEventListener(`mousemove`,this._mouseMove,{capture:!0,passive:!0}),document.addEventListener(`mouseup`,this._mouseUp,!0),J&&(this.el.addEventListener(`touchmove`,ln),this.el.addEventListener(`touchend`,un)),e.stopPropagation(),e.preventDefault()}_mouseMove(e){let t=this.mouseDownEvent;this.moving?this._triggerEvent(`move`,e):Math.abs(e.x-t.x)+Math.abs(e.y-t.y)>2&&(this.moving=!0,this._triggerEvent(`start`,this.mouseDownEvent),this._triggerEvent(`move`,e),document.addEventListener(`keydown`,this._keyEvent)),e.stopPropagation()}_mouseUp(e){this.moving&&(this._triggerEvent(`stop`,e),document.removeEventListener(`keydown`,this._keyEvent)),document.removeEventListener(`mousemove`,this._mouseMove,!0),document.removeEventListener(`mouseup`,this._mouseUp,!0),J&&(this.el.removeEventListener(`touchmove`,ln),this.el.removeEventListener(`touchend`,un)),delete this.moving,delete this.mouseDownEvent,e.stopPropagation(),e.preventDefault()}_keyEvent(e){e.key===`Escape`&&(this.host.gridstackNode?.grid?.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent))}_triggerEvent(e,t){return this.option[e]&&this.option[e](t),this}};mn.prefix=`ui-resizable-`;var hn=class{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(e,t){this._eventRegister[e]=t}off(e){delete this._eventRegister[e]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){delete this._eventRegister}triggerEvent(e,t){if(!this.disabled&&this._eventRegister&&this._eventRegister[e])return this._eventRegister[e](t)}},gn=class e extends hn{constructor(e,t={}){super(),this.el=e,this.option=t,this.rectScale={x:1,y:1},this._ui=()=>{let e=this.el.parentElement.getBoundingClientRect(),t={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},n=this.temporalRect||t;return{position:{left:this.option.rtl?(e.right-n.right)*this.rectScale.x:(n.left-e.left)*this.rectScale.x,top:(n.top-e.top)*this.rectScale.y},size:{width:n.width*this.rectScale.x,height:n.height*this.rectScale.y}}},this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(this.option.autoHide),this._setupHandlers()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){super.enable(),this.el.classList.remove(`ui-resizable-disabled`),this._setupAutoHide(this.option.autoHide)}disable(){super.disable(),this.el.classList.add(`ui-resizable-disabled`),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),delete this.el,super.destroy()}updateOption(e){let t=e.handles&&e.handles!==this.option.handles,n=e.autoHide&&e.autoHide!==this.option.autoHide;return Object.keys(e).forEach(t=>this.option[t]=e[t]),t&&(this._removeHandlers(),this._setupHandlers()),n&&this._setupAutoHide(this.option.autoHide),this}_setupAutoHide(e){return e?(this.el.classList.add(`ui-resizable-autohide`),this.el.addEventListener(`mouseover`,this._mouseOver),this.el.addEventListener(`mouseout`,this._mouseOut)):(this.el.classList.remove(`ui-resizable-autohide`),this.el.removeEventListener(`mouseover`,this._mouseOver),this.el.removeEventListener(`mouseout`,this._mouseOut),q.overResizeElement===this&&delete q.overResizeElement),this}_mouseOver(e){q.overResizeElement||q.dragElement||(q.overResizeElement=this,this.el.classList.remove(`ui-resizable-autohide`))}_mouseOut(e){q.overResizeElement===this&&(delete q.overResizeElement,this.el.classList.add(`ui-resizable-autohide`))}_setupHandlers(){return this.handlers=this.option.handles.split(`,`).map(e=>e.trim()).map(e=>new mn(this.el,e,{element:this.option.element,start:e=>this._resizeStart(e),stop:e=>this._resizeStop(e),move:t=>this._resizing(t,e)})),this}_resizeStart(e){this.sizeToContent=G.shouldSizeToContent(this.el.gridstackNode,!0),this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=G.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=e,this._setupHelper(),this._applyChange();let t=G.initEvent(e,{type:`resizestart`,target:this.el});return this.option.start&&this.option.start(t,this._ui()),this.el.classList.add(`ui-resizable-resizing`),this.triggerEvent(`resizestart`,t),this}_resizing(e,t){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(e,t),this._applyChange();let n=G.initEvent(e,{type:`resize`,target:this.el});return n.resizeDir=t,n.hasMovedX=this.option.rtl?t.includes(`e`):t.includes(`w`),n.hasMovedY=t.includes(`n`),this.option.resize&&this.option.resize(n,this._ui()),this.triggerEvent(`resize`,n),this}_resizeStop(e){let t=G.initEvent(e,{type:`resizestop`,target:this.el});return this._cleanHelper(),this.option.stop&&this.option.stop(t),this.el.classList.remove(`ui-resizable-resizing`),this.triggerEvent(`resizestop`,t),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){this.elOriginStyleVal=e._originStyleProp.map(e=>this.el.style[e]),this.parentOriginStylePosition=this.el.parentElement.style.position;let t=this.el.parentElement,n=G.getValuesFromTransformedElement(t);return this.rectScale={x:n.xScale,y:n.yScale},getComputedStyle(this.el.parentElement).position.match(/static/)&&(this.el.parentElement.style.position=`relative`),this.el.style.position=`absolute`,this.el.style.opacity=`0.8`,this}_cleanHelper(){return e._originStyleProp.forEach((e,t)=>{this.el.style[e]=this.elOriginStyleVal[t]||null}),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(e,t){let n=this.startEvent,r={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},i=e.clientX-n.clientX,a=this.sizeToContent?0:e.clientY-n.clientY,o,s,c=this.option.rtl;!c&&t.indexOf(`e`)>-1?r.width+=i:c&&t.indexOf(`w`)>-1?r.width-=i:!c&&t.indexOf(`w`)>-1?(r.width-=i,r.left+=i,o=!0):c&&t.indexOf(`e`)>-1&&(r.width+=i,r.right+=i,o=!0),t.indexOf(`s`)>-1?r.height+=a:t.indexOf(`n`)>-1&&(r.height-=a,r.top+=a,s=!0);let l=this._constrainSize(r.width,r.height,o,s);return Math.round(r.width)!==Math.round(l.width)&&(!c&&t.indexOf(`w`)>-1?r.left+=r.width-l.width:c&&t.indexOf(`e`)>-1&&(r.right-=r.width-l.width),r.width=l.width),Math.round(r.height)!==Math.round(l.height)&&(t.indexOf(`n`)>-1&&(r.top+=r.height-l.height),r.height=l.height),r}_constrainSize(e,t,n,r){let i=this.option,a=(n?i.maxWidthMoveLeft:i.maxWidth)||2**53-1,o=i.minWidth/this.rectScale.x||e,s=(r?i.maxHeightMoveUp:i.maxHeight)||2**53-1,c=i.minHeight/this.rectScale.y||t;return{width:Math.min(a,Math.max(o,e)),height:Math.min(s,Math.max(c,t))}}_applyChange(){let e={left:0,right:0,top:0,width:0,height:0};if(this.el.style.position===`absolute`){let{left:t,right:n,top:r}=this.el.parentElement.getBoundingClientRect();e={left:t,right:n,top:r,width:0,height:0}}return this.temporalRect&&Object.entries(this.temporalRect).forEach(([t,n])=>{if(this.option.rtl?t===`left`:t===`right`)return;let r=t===`width`||t===`left`||t===`right`?this.rectScale.x:t===`height`||t===`top`?this.rectScale.y:1,i;i=t===`right`?(e.right-n)*this.rectScale.x+`px`:(n-e[t])*r+`px`,this.el.style[t]=i}),this}_removeHandlers(){return this.handlers.forEach(e=>e.destroy()),delete this.handlers,this}};gn._originStyleProp=[`width`,`height`,`position`,`left`,`right`,`top`,`opacity`,`zIndex`];var _n=`input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle`,vn=class e extends hn{constructor(e,t={}){super(),this.el=e,this.option=t,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},this._autoScrollTick=()=>{let e=this.helper,t=this._autoScrollContainer;if(!e||!t){this._stopScrolling();return}let n=this._getClipping(e,t);if(n===0){this._stopScrolling();return}if(!this._autoScrollMaxSpeed){let e=window.innerHeight||document.documentElement.clientHeight;this._autoScrollMaxSpeed=Math.max(e/150,4)}let r=Math.min(Math.abs(n)*.5,this._autoScrollMaxSpeed),i=n>0?r:-r,a=t.scrollTop;if(t.scrollTop+=i,t.scrollTop===a){this._stopScrolling();return}this.dragging&&this.lastDrag&&(this._dragFollow(this.lastDrag),this._callDrag(this.lastDrag)),this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick)};let n=t?.handle?.substring(1),r=e.gridstackNode;this.dragEls=!n||e.classList.contains(n)?[e]:r?.subGrid?[e.querySelector(t.handle)||e]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[e]),this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this.enable()}getAllHandles(){return Array.from(this.el.querySelectorAll(this.option.handle)).filter(e=>{if(!(e instanceof HTMLElement))return!1;let t=e.closest(`.grid-stack-item`);return t===this.el||!t})}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){this.disabled!==!1&&(super.enable(),this.dragEls.forEach(e=>{e.addEventListener(`mousedown`,this._mouseDown),J&&(e.addEventListener(`touchstart`,cn),e.addEventListener(`pointerdown`,dn))}),this.el.classList.remove(`ui-draggable-disabled`))}disable(e=!1){this.disabled!==!0&&(super.disable(),this.dragEls.forEach(e=>{e.removeEventListener(`mousedown`,this._mouseDown),J&&(e.removeEventListener(`touchstart`,cn),e.removeEventListener(`pointerdown`,dn))}),e||this.el.classList.add(`ui-draggable-disabled`))}destroy(){this.dragTimeout&&window.clearTimeout(this.dragTimeout),delete this.dragTimeout,this.mouseDownEvent&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.helper,delete this.option,super.destroy()}updateOption(e){return Object.keys(e).forEach(t=>this.option[t]=e[t]),this}_mouseDown(e){if(Y.touchHandled&&e.isTrusted&&(Y.touchHandled=!1),!q.mouseHandled)return e.button!==0||!this.dragEls.find(t=>t===e.target)&&e.target.closest(_n)||this.option.cancel&&e.target.closest(this.option.cancel)?!0:(this.mouseDownEvent=e,delete this.dragging,delete q.dragElement,delete q.dropElement,delete this._autoScrollMaxSpeed,delete this._autoScrollContainer,document.addEventListener(`mousemove`,this._mouseMove,{capture:!0,passive:!0}),document.addEventListener(`mouseup`,this._mouseUp,!0),J&&(e.currentTarget.addEventListener(`touchmove`,ln),e.currentTarget.addEventListener(`touchend`,un)),e.preventDefault(),document.activeElement&&document.activeElement.blur(),q.mouseHandled=!0,!0)}_callDrag(e){if(!this.dragging)return;let t=G.initEvent(e,{target:this.el,type:`drag`});this.option.drag&&this.option.drag(t,this.ui()),this.triggerEvent(`drag`,t)}_mouseMove(e){let t=this.mouseDownEvent;if(this.lastDrag=e,this.dragging)if(this._dragFollow(e),q.pauseDrag){let t=Number.isInteger(q.pauseDrag)?q.pauseDrag:100;this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>this._callDrag(e),t)}else this._callDrag(e);else if(Math.abs(e.x-t.x)+Math.abs(e.y-t.y)>3){this.dragging=!0,q.dragElement=this;let t=this.el.gridstackNode?.grid;t?q.dropElement=t.el.ddElement.ddDroppable:delete q.dropElement,this.helper=this._createHelper(),this._setupHelperContainmentStyle(),this.dragTransform=G.getValuesFromTransformedElement(this.helperContainment),this.dragOffset=this._getDragOffset(e,this.el,this.helperContainment),this._setupHelperStyle(e);let n=G.initEvent(e,{target:this.el,type:`dragstart`});this.option.start&&this.option.start(n,this.ui()),this.triggerEvent(`dragstart`,n),document.addEventListener(`keydown`,this._keyEvent)}return!0}_mouseUp(e){if(this._stopScrolling(),document.removeEventListener(`mousemove`,this._mouseMove,!0),document.removeEventListener(`mouseup`,this._mouseUp,!0),J&&e.currentTarget&&(e.currentTarget.removeEventListener(`touchmove`,ln,!0),e.currentTarget.removeEventListener(`touchend`,un,!0)),this.dragging){delete this.dragging,delete this.el.gridstackNode?._origRotate,document.removeEventListener(`keydown`,this._keyEvent),q.dropElement?.el===this.el.parentElement&&delete q.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper!==this.el&&this.helper.remove(),this._removeHelperStyle();let t=G.initEvent(e,{target:this.el,type:`dragstop`});this.option.stop&&this.option.stop(t),this.triggerEvent(`dragstop`,t),q.dropElement&&q.dropElement.drop(e)}delete this.helper,delete this.mouseDownEvent,delete q.dragElement,delete q.dropElement,delete q.mouseHandled,e.preventDefault()}_keyEvent(e){let t=this.el.gridstackNode,n=t?.grid||q.dropElement?.el?.gridstack;if(e.key===`Escape`)t&&t._origRotate&&(t._orig=t._origRotate,delete t._origRotate),n?.cancelDrag(),this._mouseUp(this.mouseDownEvent);else if(t&&n&&(e.key===`r`||e.key===`R`)){if(!G.canBeRotated(t))return;t._origRotate=t._origRotate||{...t._orig},delete t._moving,n.setAnimation(!1).rotate(t.el,{top:-this.dragOffset.offsetTop,left:-this.dragOffset.offsetX}).setAnimation(),t._moving=!0,this.dragOffset=this._getDragOffset(this.lastDrag,t.el,this.helperContainment),this.helper.style.width=this.dragOffset.width+`px`,this.helper.style.height=this.dragOffset.height+`px`,G.swap(t._orig,`w`,`h`),delete t._rect,this._mouseMove(this.lastDrag)}}_createHelper(){let t=this.el;return typeof this.option.helper==`function`?t=this.option.helper(this.el):this.option.helper===`clone`&&(t=G.cloneNode(this.el)),t.parentElement||G.appendTo(t,this.option.appendTo===`parent`?this.el.parentElement:this.option.appendTo),this.dragElementOriginStyle=e.originStyleProp.map(e=>this.el.style[e]),t}_setupHelperStyle(e){this.helper.classList.add(`ui-draggable-dragging`),this.el.gridstackNode?.grid?.el.classList.add(`grid-stack-dragging`);let t=this.helper.style;return t.pointerEvents=`none`,t.width=this.dragOffset.width+`px`,t.height=this.dragOffset.height+`px`,t.willChange=`left, right, top`,t.position=`fixed`,this._dragFollow(e),t.transition=`none`,setTimeout(()=>{this.helper&&(t.transition=null)},0),this}_removeHelperStyle(){if(this.helper.classList.remove(`ui-draggable-dragging`),this.el.gridstackNode?.grid?.el.classList.remove(`grid-stack-dragging`),!this.helper?.gridstackNode?._isAboutToRemove&&this.dragElementOriginStyle){let t=this.helper,n=this.dragElementOriginStyle.transition||null;t.style.transition=this.dragElementOriginStyle.transition=`none`,e.originStyleProp.forEach(e=>t.style[e]=this.dragElementOriginStyle[e]||null),setTimeout(()=>t.style.transition=n,50)}return delete this.dragElementOriginStyle,this}_dragFollow(e){let t=this.helper.style,n=this.dragOffset;this.option.rtl?(t.right=(window.innerWidth-e.clientX+n.offsetX)*this.dragTransform.xScale+`px`,t.left&&=``):(t.left=(e.clientX+n.offsetX)*this.dragTransform.xScale+`px`,t.right&&=``),t.top=(e.clientY+n.offsetTop)*this.dragTransform.yScale+`px`}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,this.helper.style.position!==`fixed`&&(this.parentOriginStylePosition=this.helperContainment.style.position,getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position=`relative`)),this}_getDragOffset(e,t,n){let r=0,i=0;n&&(r=this.dragTransform.xOffset,i=this.dragTransform.yOffset);let a=t.getBoundingClientRect(),o=this.option.rtl?a.right:a.left,s=this.option.rtl?e.clientX-a.right+r:-e.clientX+a.left-r;return{x:o,top:a.top,offsetX:s,offsetTop:-e.clientY+a.top-i,width:a.width*this.dragTransform.xScale,height:a.height*this.dragTransform.yScale}}updateScrollPosition(e){this._autoScrollContainer=G.getScrollElement(e),this._getClipping(this.helper,this._autoScrollContainer)===0?this._stopScrolling():this._autoScrollAnimId||=requestAnimationFrame(this._autoScrollTick)}_getClipping(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight;if(n.bottom<r.top||n.top>r.bottom)return 0;let a=n.bottom-Math.min(r.bottom,i),o=n.top-Math.max(r.top,0);return o<0?o:a>0?a:0}_stopScrolling(){this._autoScrollAnimId&&(cancelAnimationFrame(this._autoScrollAnimId),delete this._autoScrollAnimId)}ui(){let e=this.el.parentElement.getBoundingClientRect(),t=this.helper.getBoundingClientRect(),n=this.option.rtl?(e.right-t.right)*this.dragTransform.xScale:(t.left-e.left)*this.dragTransform.xScale;return{position:{top:(t.top-e.top)*this.dragTransform.yScale,left:n}}}};vn.originStyleProp=[`width`,`height`,`transform`,`transform-origin`,`transition`,`pointerEvents`,`position`,`left`,`right`,`top`,`minWidth`,`willChange`];var yn=class extends hn{constructor(e,t={}){super(),this.el=e,this.option=t,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.enable(),this._setupAccept()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){this.disabled!==!1&&(super.enable(),this.el.classList.add(`ui-droppable`),this.el.classList.remove(`ui-droppable-disabled`),this.el.addEventListener(`mouseenter`,this._mouseEnter),this.el.addEventListener(`mouseleave`,this._mouseLeave),J&&(this.el.addEventListener(`pointerenter`,fn),this.el.addEventListener(`pointerleave`,pn)))}disable(e=!1){this.disabled!==!0&&(super.disable(),this.el.classList.remove(`ui-droppable`),e||this.el.classList.add(`ui-droppable-disabled`),this.el.removeEventListener(`mouseenter`,this._mouseEnter),this.el.removeEventListener(`mouseleave`,this._mouseLeave),J&&(this.el.removeEventListener(`pointerenter`,fn),this.el.removeEventListener(`pointerleave`,pn)))}destroy(){this.disable(!0),this.el.classList.remove(`ui-droppable`),this.el.classList.remove(`ui-droppable-disabled`),super.destroy()}updateOption(e){return Object.keys(e).forEach(t=>this.option[t]=e[t]),this._setupAccept(),this}_mouseEnter(e){if(!q.dragElement||Y.touchHandled&&e.isTrusted||!this._canDrop(q.dragElement.el))return;e.preventDefault(),e.stopPropagation(),q.dragElement._stopScrolling(),q.dropElement&&q.dropElement!==this&&q.dropElement._mouseLeave(e,!0),q.dropElement=this;let t=G.initEvent(e,{target:this.el,type:`dropover`});this.option.over&&this.option.over(t,this._ui(q.dragElement)),this.triggerEvent(`dropover`,t),this.el.classList.add(`ui-droppable-over`)}_mouseLeave(e,t=!1){if(!q.dragElement||q.dropElement!==this)return;e.preventDefault(),e.stopPropagation(),t&&q.dragElement._stopScrolling();let n=G.initEvent(e,{target:this.el,type:`dropout`});if(this.option.out&&this.option.out(n,this._ui(q.dragElement)),this.triggerEvent(`dropout`,n),q.dropElement===this&&(delete q.dropElement,!t)){let t,n=this.el.parentElement;for(;!t&&n;)t=n.ddElement?.ddDroppable,n=n.parentElement;t&&t._mouseEnter(e)}}drop(e){e.preventDefault();let t=G.initEvent(e,{target:this.el,type:`drop`});this.option.drop&&this.option.drop(t,this._ui(q.dragElement)),this.triggerEvent(`drop`,t)}_canDrop(e){return e&&(!this.accept||this.accept(e))}_setupAccept(){return this.option.accept&&(typeof this.option.accept==`string`?this.accept=e=>e.classList.contains(this.option.accept)||e.matches(this.option.accept):this.accept=this.option.accept),this}_ui(e){return{draggable:e.el,...e.ui()}}},bn=class e{static init(t){return t.ddElement||=new e(t),t.ddElement}constructor(e){this.el=e}on(e,t){return this.ddDraggable&&[`drag`,`dragstart`,`dragstop`].indexOf(e)>-1?this.ddDraggable.on(e,t):this.ddDroppable&&[`drop`,`dropover`,`dropout`].indexOf(e)>-1?this.ddDroppable.on(e,t):this.ddResizable&&[`resizestart`,`resize`,`resizestop`].indexOf(e)>-1&&this.ddResizable.on(e,t),this}off(e){return this.ddDraggable&&[`drag`,`dragstart`,`dragstop`].indexOf(e)>-1?this.ddDraggable.off(e):this.ddDroppable&&[`drop`,`dropover`,`dropout`].indexOf(e)>-1?this.ddDroppable.off(e):this.ddResizable&&[`resizestart`,`resize`,`resizestop`].indexOf(e)>-1&&this.ddResizable.off(e),this}setupDraggable(e){return this.ddDraggable?this.ddDraggable.updateOption(e):this.ddDraggable=new vn(this.el,e),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(e){return this.ddResizable?this.ddResizable.updateOption(e):this.ddResizable=new gn(this.el,e),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(e){return this.ddDroppable?this.ddDroppable.updateOption(e):this.ddDroppable=new yn(this.el,e),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}},X=new class{resizable(e,t,n,r){return this._getDDElements(e,t).forEach(e=>{if(t===`disable`||t===`enable`)e.ddResizable&&e.ddResizable[t]();else if(t===`destroy`)e.ddResizable&&e.cleanResizable();else if(t===`option`)e.setupResizable({[n]:r});else{let n=e.el.gridstackNode.grid,r=e.el.getAttribute(`gs-resize-handles`)||n.opts.resizable.handles||`e,s,se`;r===`all`&&(r=`n,e,s,w,se,sw,ne,nw`);let i=!n.opts.alwaysShowResizeHandle;e.setupResizable({...n.opts.resizable,handles:r,autoHide:i,start:t.start,stop:t.stop,resize:t.resize,rtl:t.rtl})}}),this}draggable(e,t,n,r){return this._getDDElements(e,t).forEach(e=>{if(t===`disable`||t===`enable`)e.ddDraggable&&e.ddDraggable[t]();else if(t===`destroy`)e.ddDraggable&&e.cleanDraggable();else if(t===`option`)e.setupDraggable({[n]:r});else{let n=e.el.gridstackNode.grid;e.setupDraggable({...n.opts.draggable,start:t.start,stop:t.stop,drag:t.drag,rtl:t.rtl})}}),this}dragIn(e,t){return this._getDDElements(e).forEach(e=>e.setupDraggable(t)),this}droppable(e,t,n,r){return typeof t.accept==`function`&&!t._accept&&(t._accept=t.accept,t.accept=e=>t._accept(e)),this._getDDElements(e,t).forEach(e=>{t===`disable`||t===`enable`?e.ddDroppable&&e.ddDroppable[t]():t===`destroy`?e.ddDroppable&&e.cleanDroppable():t===`option`?e.setupDroppable({[n]:r}):e.setupDroppable(t)}),this}isDroppable(e){return!!(e?.ddElement?.ddDroppable&&!e.ddElement.ddDroppable.disabled)}isDraggable(e){return!!(e?.ddElement?.ddDraggable&&!e.ddElement.ddDraggable.disabled)}isResizable(e){return!!(e?.ddElement?.ddResizable&&!e.ddElement.ddResizable.disabled)}on(e,t,n){return this._getDDElements(e).forEach(e=>e.on(t,e=>{n(e,q.dragElement?q.dragElement.el:e.target,q.dragElement?q.dragElement.helper:null)})),this}off(e,t){return this._getDDElements(e).forEach(e=>e.off(t)),this}_getDDElements(e,t){let n=e.gridstack||t!==`destroy`&&t!==`disable`,r=G.getElements(e);return r.length?r.map(e=>e.ddElement||(n?bn.init(e):null)).filter(e=>e):[]}},Z=class e{static init(t={},n=`.grid-stack`){if(typeof document>`u`)return null;let r=e.getGridElement(n);return r?(r.gridstack||=new e(r,G.cloneDeep(t)),r.gridstack):(console.error(typeof n==`string`?`GridStack.initAll() no grid was found with selector "`+n+`" - element missing or wrong selector ?
|
|
81
|
+
Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`:`GridStack.init() no grid element was passed.`),null)}static initAll(t={},n=`.grid-stack`){let r=[];return typeof document>`u`?r:(e.getGridElements(n).forEach(n=>{n.gridstack||=new e(n,G.cloneDeep(t)),r.push(n.gridstack)}),r.length===0&&console.error(`GridStack.initAll() no grid was found with selector "`+n+`" - element missing or wrong selector ?
|
|
82
|
+
Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`),r)}static addGrid(t,n={}){if(!t)return null;let r=t;if(r.gridstack){let e=r.gridstack;return n&&(e.opts={...e.opts,...n}),n.children!==void 0&&e.load(n.children),e}return(!t.classList.contains(`grid-stack`)||e.addRemoveCB)&&(r=e.addRemoveCB?e.addRemoveCB(t,n,!0,!0):G.createDiv([`grid-stack`,n.class],t)),e.init(n,r)}static registerEngine(t){e.engineClass=t}get placeholder(){if(!this._placeholder){this._placeholder=G.createDiv([this.opts.placeholderClass,K.itemClass,this.opts.itemClass]);let e=G.createDiv([`placeholder-content`],this._placeholder);this.opts.placeholderText&&(e.textContent=this.opts.placeholderText)}return this._placeholder}constructor(t,n={}){this.el=t,this.opts=n,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},t.gridstack=this,this.opts=n||={},t.classList.contains(`grid-stack`)||this.el.classList.add(`grid-stack`),n.row&&(n.minRow=n.maxRow=n.row,delete n.row);let r=G.toNumber(t.getAttribute(`gs-row`));n.column===`auto`&&delete n.column,n.alwaysShowResizeHandle!==void 0&&(n._alwaysShowResizeHandle=n.alwaysShowResizeHandle);let i=n.columnOpts;if(i){let e=i.breakpoints;!i.columnWidth&&!e?.length?delete n.columnOpts:(i.columnMax=i.columnMax||12,e?.length>1&&e.sort((e,t)=>(t.w||0)-(e.w||0)))}let a={...G.cloneDeep(K),column:G.toNumber(t.getAttribute(`gs-column`))||K.column,minRow:r||G.toNumber(t.getAttribute(`gs-min-row`))||K.minRow,maxRow:r||G.toNumber(t.getAttribute(`gs-max-row`))||K.maxRow,staticGrid:G.toBool(t.getAttribute(`gs-static`))||K.staticGrid,sizeToContent:G.toBool(t.getAttribute(`gs-size-to-content`))||void 0,draggable:{handle:(n.handleClass?`.`+n.handleClass:n.handle?n.handle:``)||K.draggable.handle},removableOptions:{accept:n.itemClass||K.removableOptions.accept,decline:K.removableOptions.decline}};t.getAttribute(`gs-animate`)&&(a.animate=G.toBool(t.getAttribute(`gs-animate`))),n=G.defaults(n,a),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(n),n.rtl===`auto`&&(n.rtl=t.style.direction===`rtl`),n.rtl&&this.el.classList.add(`grid-stack-rtl`);let o=this.el.closest(`.`+K.itemClass)?.gridstackNode;if(o&&(o.subGrid=this,this.parentGridNode=o,this.el.classList.add(`grid-stack-nested`),o.el.classList.add(`grid-stack-sub-grid`)),this._isAutoCellHeight=n.cellHeight===`auto`,this._isAutoCellHeight||n.cellHeight===`initial`)this.cellHeight(void 0);else{typeof n.cellHeight==`number`&&n.cellHeightUnit&&n.cellHeightUnit!==K.cellHeightUnit&&(n.cellHeight+=n.cellHeightUnit,delete n.cellHeightUnit);let e=n.cellHeight;delete n.cellHeight,this.cellHeight(e)}n.alwaysShowResizeHandle===`mobile`&&(n.alwaysShowResizeHandle=J),this._setStaticClass();let s=n.engineClass||e.engineClass||an;if(this.engine=new s({column:this.getColumn(),float:n.float,maxRow:n.maxRow,onChange:e=>{e.forEach(e=>{let t=e.el;t&&(e._removeDOM?(t&&t.remove(),delete e._removeDOM):this._writePosAttr(t,e))}),this._updateContainerHeight()}}),n.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(e=>this._prepareElement(e)),delete this.engine._loading,this.batchUpdate(!1)),n.children){let e=n.children;delete n.children,e.length&&this.load(e)}this.setAnimation(),n.subGridDynamic&&!q.pauseDrag&&(q.pauseDrag=!0),n.draggable?.pause!==void 0&&(q.pauseDrag=n.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(e=this.opts){this.el.classList.add(`gs-`+e.column),typeof e.column==`number`&&this.el.style.setProperty(`--gs-column-width`,`${100/e.column}%`)}addWidget(t){if(!t)return;if(typeof t==`string`){console.error(`V11: GridStack.addWidget() does not support string anymore. see #2736`);return}if(t.ELEMENT_NODE)return console.error(`V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()`),this.makeWidget(t);let n,r=t;if(r.grid=this,n=r.el?r.el:e.addRemoveCB?e.addRemoveCB(this.el,t,!0,!1):this.createWidgetDivs(r),!n)return;if(r=n.gridstackNode,r&&n.parentElement===this.el&&this.engine.nodes.find(e=>e._id===r._id))return n;let i=this._readAttr(n);return G.defaults(t,i),this.engine.prepareNode(t),this.el.appendChild(n),this.makeWidget(n,t),n}createWidgetDivs(t){let n=G.createDiv([`grid-stack-item`,this.opts.itemClass]),r=G.createDiv([`grid-stack-item-content`],n);return G.lazyLoad(t)?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([n])=>{n.isIntersecting&&(t.visibleObservable?.disconnect(),delete t.visibleObservable,e.renderCB(r,t),t.grid?.prepareDragDrop(t.el))}),window.setTimeout(()=>t.visibleObservable?.observe(n))):e.renderCB(r,t),n}makeSubGrid(t,n,r,i=!0){let a=t.gridstackNode;if(a||=this.makeWidget(t).gridstackNode,a.subGrid?.el)return a.subGrid;let o,s=this;for(;s&&!o;)o=s.opts?.subGridOpts,s=s.parentGridNode?.grid;n=G.cloneDeep({...this.opts,id:void 0,children:void 0,column:`auto`,columnOpts:void 0,layout:`list`,subGridOpts:void 0,...o||{},...n||a.subGridOpts||{}}),a.subGridOpts=n;let c;n.column===`auto`&&(c=!0,n.column=Math.max(a.w||1,r?.w||1),delete n.columnOpts);let l=a.el.querySelector(`.grid-stack-item-content`),u,d;if(i&&(this._removeDD(a.el),d={...a,x:0,y:0},G.removeInternalForSave(d),delete d.subGridOpts,a.content&&(d.content=a.content,delete a.content),e.addRemoveCB?u=e.addRemoveCB(this.el,d,!0,!1):(u=G.createDiv([`grid-stack-item`]),u.appendChild(l),l=G.createDiv([`grid-stack-item-content`],a.el)),this.prepareDragDrop(a.el)),r){let e=c?n.column:a.w,t=a.h+r.h,i=a.el.style;i.transition=`none`,this.update(a.el,{w:e,h:t}),setTimeout(()=>i.transition=null)}let f=a.subGrid=e.addGrid(l,n);return r?._moving&&(f._isTemp=!0),c&&(f._autoColumn=!0),i&&f.makeWidget(u,d),r&&(r._moving?window.setTimeout(()=>G.simulateMouseEvent(r._event,`mouseenter`,f.el),0):f.makeWidget(a.el,a)),this.resizeToContentCheck(!1,a),f}removeAsSubGrid(e){let t=this.parentGridNode?.grid;t&&(t.batchUpdate(),t.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(e=>{e.x+=this.parentGridNode.x,e.y+=this.parentGridNode.y,t.makeWidget(e.el,e)}),t.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,e&&window.setTimeout(()=>G.simulateMouseEvent(e._event,`mouseenter`,t.el),0))}save(t=!0,n=!1,r=e.saveCB,i){let a=this.engine.save(t,r,i);if(a.forEach(e=>{if(t&&e.el&&!e.subGrid&&!r)e.content=e.el.querySelector(`.grid-stack-item-content`)?.innerHTML,e.content||delete e.content;else if(!t&&!r&&delete e.content,e.subGrid?.el){let i=e.w||e.subGrid.getColumn(),a=e.subGrid.save(t,n,r,i);e.subGridOpts=n?a:{children:a},delete e.subGrid}delete e.el}),n){let e=G.cloneDeep(this.opts);e.marginBottom===e.marginTop&&e.marginRight===e.marginLeft&&e.marginTop===e.marginRight&&(e.margin=e.marginTop,delete e.marginTop,delete e.marginRight,delete e.marginBottom,delete e.marginLeft),e.rtl===(this.el.style.direction===`rtl`)&&(e.rtl=`auto`),this._isAutoCellHeight&&(e.cellHeight=`auto`),this._autoColumn&&(e.column=`auto`);let t=e._alwaysShowResizeHandle;return delete e._alwaysShowResizeHandle,t===void 0?delete e.alwaysShowResizeHandle:e.alwaysShowResizeHandle=t,G.removeInternalAndSame(e,K),e.children=a,e}return a}load(t,n=e.addRemoveCB||!0){t.forEach(e=>{e.w=e.w||e.minW||1,e.h=e.h||e.minH||1}),t=G.sort(t),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let r=0;t.forEach(e=>{r=Math.max(r,(e.x||0)+e.w)}),r>this.engine.defaultColumn&&(this.engine.defaultColumn=r);let i=this.getColumn();r>i&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=t,this.engine.columnChanged(r,i,this.responseLayout),t=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(t,r,!0));let a=e.addRemoveCB;typeof n==`function`&&(e.addRemoveCB=n);let o=[];this.batchUpdate();let s=!this.engine.nodes.length,c=s&&this.opts.animate;c&&this.setAnimation(!1),!s&&n&&[...this.engine.nodes].forEach(n=>{n.id&&(G.find(t,n.id)||(e.addRemoveCB&&e.addRemoveCB(this.el,n,!1,!1),o.push(n),this.removeWidget(n.el,!0,!1)))}),this.engine._loading=!0;let l=[];return this.engine.nodes=this.engine.nodes.filter(e=>G.find(t,e.id)?(l.push(e),!1):!0),t.forEach(e=>{let t=G.find(l,e.id);if(t){if(G.shouldSizeToContent(t)&&(e.h=t.h),this.engine.nodeBoundFix(e),(e.autoPosition||e.x===void 0||e.y===void 0)&&(e.w=e.w||t.w,e.h=e.h||t.h,this.engine.findEmptyPosition(e)),this.engine.nodes.push(t),G.samePos(t,e)&&this.engine.nodes.length>1&&(this.moveNode(t,{...e,forceCollide:!0}),G.copyPos(e,t)),this.update(t.el,e),e.subGridOpts?.children){let n=t.el.querySelector(`.grid-stack`);n&&n.gridstack&&n.gridstack.load(e.subGridOpts.children)}}else n&&this.addWidget(e)}),delete this.engine._loading,this.engine.removedNodes=o,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,a?e.addRemoveCB=a:delete e.addRemoveCB,c&&this.setAnimation(!0,!0),this}batchUpdate(e=!0){return this.engine.batchUpdate(e),e||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(e=!1){if(this.opts.cellHeight&&this.opts.cellHeight!==`auto`&&(!e||!this.opts.cellHeightUnit||this.opts.cellHeightUnit===`px`))return this.opts.cellHeight;if(this.opts.cellHeightUnit===`rem`)return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit===`em`)return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit===`cm`)return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit===`mm`)return this.opts.cellHeight*(96/2.54)/10;let t=this.el.querySelector(`.`+this.opts.itemClass);if(t){let e=G.toNumber(t.getAttribute(`gs-h`))||1;return Math.round(t.offsetHeight/e)}let n=parseInt(this.el.getAttribute(`gs-current-row`));return n?Math.round(this.el.getBoundingClientRect().height/n):this.opts.cellHeight}cellHeight(e){if(e!==void 0&&this._isAutoCellHeight!==(e===`auto`)&&(this._isAutoCellHeight=e===`auto`,this._updateResizeEvent()),(e===`initial`||e===`auto`)&&(e=void 0),e===void 0){let t=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;e=this.cellWidth()+t}let t=G.parseHeight(e);return this.opts.cellHeightUnit===t.unit&&this.opts.cellHeight===t.h?this:(this.opts.cellHeightUnit=t.unit,this.opts.cellHeight=t.h,this.el.style.setProperty(`--gs-cell-height`,`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(e=!1){return e&&this.opts.columnOpts?.breakpointForWindow?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){let e=this.opts.columnOpts;if(!e||!e.columnWidth&&!e.breakpoints?.length)return!1;let t=this.getColumn(),n=t,r=this._widthOrContainer(!0);if(e.columnWidth)n=Math.min(Math.round(r/e.columnWidth)||1,e.columnMax);else{n=e.columnMax;let i=0;for(;i<e.breakpoints.length&&r<=e.breakpoints[i].w;)n=e.breakpoints[i++].c||t}if(n!==t){let t=e.breakpoints?.find(e=>e.c===n);return this.column(n,t?.layout||e.layout),!0}return!1}compact(e=`compact`,t=!0){return this.engine.compact(e,t),this._triggerChangeEvent(),this}column(e,t=`moveScale`){if(!e||e<1||this.opts.column===e)return this;let n=this.getColumn();return this.opts.column=e,this.engine?(this.engine.column=e,this.el.classList.remove(`gs-`+n),this._updateColumnVar(),this.engine.columnChanged(n,e,t),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=t,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(e=>e.matches(`.`+this.opts.itemClass)&&!e.matches(`.`+this.opts.placeholderClass))}isIgnoreChangeCB(){return this._ignoreLayoutsNodeChange}destroy(e=!0){if(this.el)return this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),e?this.el.parentNode.removeChild(this.el):(this.removeAll(e),this.el.removeAttribute(`gs-current-row`)),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,delete this._placeholder?.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this}float(e){return this.opts.float!==e&&(this.opts.float=this.engine.float=e,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(e,t=!1){let n=this.el.getBoundingClientRect(),r;r=t?{top:n.top+document.documentElement.scrollTop,left:n.left}:{top:this.el.offsetTop,left:this.el.offsetLeft};let i=e.left-r.left,a=e.top-r.top,o=n.width/this.getColumn(),s=n.height/parseInt(this.el.getAttribute(`gs-current-row`));return{x:Math.floor(i/o),y:Math.floor(a/s)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(e,t,n,r){return this.engine.isAreaEmpty(e,t,n,r)}makeWidget(t,n){let r=e.getElement(t);if(!r||r.gridstackNode)return r;r.parentElement||this.el.appendChild(r),this._prepareElement(r,!0,n);let i=r.gridstackNode;this._updateContainerHeight(),i.subGridOpts&&this.makeSubGrid(r,i.subGridOpts,void 0,!1);let a;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(a=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),a&&delete this._ignoreLayoutsNodeChange,r}on(e,t){return e.indexOf(` `)===-1?(e===`change`||e===`added`||e===`removed`||e===`enable`||e===`disable`?(e===`enable`||e===`disable`?this._gsEventHandler[e]=e=>t(e):this._gsEventHandler[e]=e=>{e.detail&&t(e,e.detail)},this.el.addEventListener(e,this._gsEventHandler[e])):e===`drag`||e===`dragstart`||e===`dragstop`||e===`resizestart`||e===`resize`||e===`resizestop`||e===`dropped`||e===`resizecontent`?this._gsEventHandler[e]=t:console.error(`GridStack.on(`+e+`) event not supported`),this):(e.split(` `).forEach(e=>this.on(e,t)),this)}off(e){return e.indexOf(` `)===-1?((e===`change`||e===`added`||e===`removed`||e===`enable`||e===`disable`)&&this._gsEventHandler[e]&&this.el.removeEventListener(e,this._gsEventHandler[e]),delete this._gsEventHandler[e],this):(e.split(` `).forEach(e=>this.off(e)),this)}offAll(){return Object.keys(this._gsEventHandler).forEach(e=>this.off(e)),this}removeWidget(t,n=!0,r=!0){return t?(e.getElements(t).forEach(t=>{if(t.parentElement&&t.parentElement!==this.el)return;let i=t.gridstackNode;i||=this.engine.nodes.find(e=>t===e.el),i&&(n&&e.addRemoveCB&&e.addRemoveCB(this.el,i,!1,!1),delete t.gridstackNode,this._removeDD(t),this.engine.removeNode(i,n,r),n&&t.parentElement&&t.remove())}),r&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error(`Error: GridStack.removeWidget(undefined) called`),this)}removeAll(t=!0,n=!0){return this.engine.nodes.forEach(n=>{t&&e.addRemoveCB&&e.addRemoveCB(this.el,n,!1,!1),delete n.el.gridstackNode,this.opts.staticGrid||this._removeDD(n.el)}),this.engine.removeAll(t,n),n&&this._triggerRemoveEvent(),this}setAnimation(e=this.opts.animate,t){return t?setTimeout(()=>{this.opts&&this.setAnimation(e)}):e?this.el.classList.add(`grid-stack-animate`):this.el.classList.remove(`grid-stack-animate`),this.opts.animate=e,this}hasAnimationCSS(){return this.el.classList.contains(`grid-stack-animate`)}setStatic(e,t=!0,n=!0){return!!this.opts.staticGrid===e?this:(e?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(r=>{this.prepareDragDrop(r.el),r.subGrid&&n&&r.subGrid.setStatic(e,t,n)}),t&&this._setStaticClass(),this)}updateOptions(e){let t=this.opts;if(e===t)return this;if(e.acceptWidgets!==void 0&&(t.acceptWidgets=e.acceptWidgets,this._setupAcceptWidget()),e.animate!==void 0&&this.setAnimation(e.animate),e.cellHeight&&this.cellHeight(e.cellHeight),e.class!==void 0&&e.class!==t.class&&(t.class&&this.el.classList.remove(t.class),e.class&&this.el.classList.add(e.class)),e.columnOpts){let t=!!this.opts.columnOpts;this.opts.columnOpts=e.columnOpts,t!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else e.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof e.column==`number`&&this.column(e.column);return e.margin!==void 0&&this.margin(e.margin),e.staticGrid!==void 0&&this.setStatic(e.staticGrid),e.disableDrag!==void 0&&!e.staticGrid&&this.enableMove(!e.disableDrag),e.disableResize!==void 0&&!e.staticGrid&&this.enableResize(!e.disableResize),e.float!==void 0&&this.float(e.float),e.row===void 0?(e.minRow!==void 0&&(t.minRow=e.minRow,this._updateContainerHeight()),e.maxRow!==void 0&&(t.maxRow=this.engine.maxRow=e.maxRow)):(t.minRow=t.maxRow=t.row=e.row,this._updateContainerHeight()),e.lazyLoad!==void 0&&(t.lazyLoad=e.lazyLoad),e.children?.length&&this.load(e.children),this}update(t,n){return e.getElements(t).forEach(t=>{let r=t?.gridstackNode;if(!r)return;let i={...G.copyPos({},r),...G.cloneDeep(n)};this.engine.nodeBoundFix(i),delete i.autoPosition;let a=[`x`,`y`,`w`,`h`],o;if(a.some(e=>i[e]!==void 0&&i[e]!==r[e])&&(o={},a.forEach(e=>{o[e]=i[e]===void 0?r[e]:i[e],delete i[e]})),!o&&(i.minW||i.minH||i.maxW||i.maxH)&&(o={}),i.content!==void 0){let n=t.querySelector(`.grid-stack-item-content`);n&&n.textContent!==i.content&&(r.content=i.content,e.renderCB(n,i),r.subGrid?.el&&(n.appendChild(r.subGrid.el),r.subGrid._updateContainerHeight())),delete i.content}let s=!1,c=!1;for(let e in i)e[0]!==`_`&&r[e]!==i[e]&&(r[e]=i[e],s=!0,c||=!this.opts.staticGrid&&(e===`noResize`||e===`noMove`||e===`locked`));if(G.sanitizeMinMax(r),o){let e=o.w!==void 0&&o.w!==r.w;this.moveNode(r,o),e&&r.subGrid?r.subGrid.onResize(this.hasAnimationCSS()?r.w:void 0):this.resizeToContentCheck(e,r),delete r._orig}(o||s)&&this._writeAttr(t,r),c&&this.prepareDragDrop(r.el),e.updateCB&&e.updateCB(r)}),this}moveNode(e,t){let n=e._updating;n||this.engine.cleanNodes().beginUpdate(e),this.engine.moveNode(e,t),this._updateContainerHeight(),n||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(t){if(!t||(t.classList.remove(`size-to-content-max`),!t.clientHeight))return;let n=t.gridstackNode;if(!n)return;let r=n.grid;if(!r||t.parentElement!==r.el)return;let i=r.getCellHeight(!0);if(!i)return;let a=n.h?n.h*i:t.clientHeight,o;if(n.resizeToContentParent&&(o=t.querySelector(n.resizeToContentParent)),o||=t.querySelector(e.resizeToContentParent),!o)return;let s=t.clientHeight-o.clientHeight,c=n.h?n.h*i-s:o.clientHeight,l;if(n.subGrid){l=n.subGrid.getRow()*n.subGrid.getCellHeight(!0);let e=n.subGrid.el.getBoundingClientRect(),r=t.getBoundingClientRect();l+=e.top-r.top}else if(n.subGridOpts?.children?.length)return;else{let t=o.firstElementChild;if(!t){console.error(`Error: GridStack.resizeToContent() widget id:${n.id} '${e.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}l=t.getBoundingClientRect().height||c}if(c===l)return;a+=l-c;let u=Math.ceil(a/i),d=Number.isInteger(n.sizeToContent)?n.sizeToContent:0;d&&u>d&&(u=d,t.classList.add(`size-to-content-max`)),n.minH&&u<n.minH?u=n.minH:n.maxH&&u>n.maxH&&(u=n.maxH),u!==n.h&&(r._ignoreLayoutsNodeChange=!0,r.moveNode(n,{h:u}),delete r._ignoreLayoutsNodeChange)}resizeToContentCBCheck(t){e.resizeToContentCB?e.resizeToContentCB(t):this.resizeToContent(t)}rotate(t,n){return e.getElements(t).forEach(e=>{let t=e.gridstackNode;if(!G.canBeRotated(t))return;let r={w:t.h,h:t.w,minH:t.minW,minW:t.minH,maxH:t.maxW,maxW:t.maxH};if(n){let e=n.left>0?Math.floor(n.left/this.cellWidth()):0,i=n.top>0?Math.floor(n.top/this.opts.cellHeight):0;r.x=t.x+e-(t.h-(i+1)),r.y=t.y+i-e}Object.keys(r).forEach(e=>{r[e]===void 0&&delete r[e]});let i=t._orig;this.update(e,r),t._orig=i}),this}margin(e){if(!(typeof e==`string`&&e.split(` `).length>1)){let t=G.parseHeight(e);if(this.opts.marginUnit===t.unit&&this.opts.margin===t.h)return}return this.opts.margin=e,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(e){return this.engine.willItFit(e)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let e=this.engine.getDirtyNodes(!0);return e&&e.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(e),this._triggerEvent(`change`,e)),this.engine.saveInitial(),this}_triggerAddEvent(){if(this.engine.batchMode)return this;if(this.engine.addedNodes?.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(e=>{delete e._dirty});let e=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent(`added`,e)}return this}_triggerRemoveEvent(){if(this.engine.batchMode)return this;if(this.engine.removedNodes?.length){let e=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent(`removed`,e)}return this}_triggerEvent(e,t){let n=t?new CustomEvent(e,{bubbles:!1,detail:t}):new Event(e),r=this;for(;r.parentGridNode;)r=r.parentGridNode.grid;return r.el.dispatchEvent(n),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let e=this.parentGridNode,t=this.getRow()+this._extraDragRow,n=this.opts.cellHeight,r=this.opts.cellHeightUnit;if(!n)return this;if(!e&&!this.opts.minRow){let e=G.parseHeight(getComputedStyle(this.el).minHeight);if(e.h>0&&e.unit===r){let r=Math.floor(e.h/n);t<r&&(t=r)}}return this.el.setAttribute(`gs-current-row`,String(t)),this.el.style.removeProperty(`min-height`),this.el.style.removeProperty(`height`),t&&(this.el.style[e?`minHeight`:`height`]=t*n+r),e&&G.shouldSizeToContent(e)&&e.grid.resizeToContentCBCheck(e.el),this}_prepareElement(e,t=!1,n){n||=this._readAttr(e),e.gridstackNode=n,n.el=e,n.grid=this,n=this.engine.addNode(n,t),this._writeAttr(e,n),e.classList.add(K.itemClass,this.opts.itemClass);let r=G.shouldSizeToContent(n);return r?e.classList.add(`size-to-content`):e.classList.remove(`size-to-content`),r&&this.resizeToContentCheck(!1,n),G.lazyLoad(n)||this.prepareDragDrop(n.el),this}_writePosAttr(e,t){if(!t._moving&&!t._resizing||this._placeholder===e){let n=this.opts.rtl?`right`:`left`;e.style.top=t.y?t.y===1?`var(--gs-cell-height)`:`calc(${t.y} * var(--gs-cell-height))`:null,e.style[n]=t.x?t.x===1?`var(--gs-column-width)`:`calc(${t.x} * var(--gs-column-width))`:null,e.style.width=t.w>1?`calc(${t.w} * var(--gs-column-width))`:null,e.style.height=t.h>1?`calc(${t.h} * var(--gs-cell-height))`:null}return e.setAttribute(`gs-x`,String(t.x)),e.setAttribute(`gs-y`,String(t.y)),t.w>1?e.setAttribute(`gs-w`,String(t.w)):e.removeAttribute(`gs-w`),t.h>1?e.setAttribute(`gs-h`,String(t.h)):e.removeAttribute(`gs-h`),this}_writeAttr(e,t){if(!t)return this;this._writePosAttr(e,t);let n={noResize:`gs-no-resize`,noMove:`gs-no-move`,locked:`gs-locked`,id:`gs-id`,sizeToContent:`gs-size-to-content`};for(let r in n)t[r]?e.setAttribute(n[r],String(t[r])):e.removeAttribute(n[r]);return this}_readAttr(e,t=!0){let n={};n.x=G.toNumber(e.getAttribute(`gs-x`)),n.y=G.toNumber(e.getAttribute(`gs-y`)),n.w=G.toNumber(e.getAttribute(`gs-w`)),n.h=G.toNumber(e.getAttribute(`gs-h`)),n.autoPosition=G.toBool(e.getAttribute(`gs-auto-position`)),n.noResize=G.toBool(e.getAttribute(`gs-no-resize`)),n.noMove=G.toBool(e.getAttribute(`gs-no-move`)),n.locked=G.toBool(e.getAttribute(`gs-locked`));let r=e.getAttribute(`gs-size-to-content`);r&&(r===`true`||r===`false`?n.sizeToContent=G.toBool(r):n.sizeToContent=parseInt(r,10)),n.id=e.getAttribute(`gs-id`),n.maxW=G.toNumber(e.getAttribute(`gs-max-w`)),n.minW=G.toNumber(e.getAttribute(`gs-min-w`)),n.maxH=G.toNumber(e.getAttribute(`gs-max-h`)),n.minH=G.toNumber(e.getAttribute(`gs-min-h`)),t&&(n.w===1&&e.removeAttribute(`gs-w`),n.h===1&&e.removeAttribute(`gs-h`),n.maxW&&e.removeAttribute(`gs-max-w`),n.minW&&e.removeAttribute(`gs-min-w`),n.maxH&&e.removeAttribute(`gs-max-h`),n.minH&&e.removeAttribute(`gs-min-h`));for(let e in n){if(!n.hasOwnProperty(e))return;!n[e]&&n[e]!==0&&e!==`sizeToContent`&&delete n[e]}return n}_setStaticClass(){let e=[`grid-stack-static`];return this.opts.staticGrid?(this.el.classList.add(...e),this.el.setAttribute(`gs-static`,`true`)):(this.el.classList.remove(...e),this.el.removeAttribute(`gs-static`)),this}onResize(e=this.el?.clientWidth){if(!e||this.prevWidth===e)return;this.prevWidth=e,this.batchUpdate();let t=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||`list`),t=!0):t=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(e=>{e.subGrid&&e.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(t),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(e=!1,t=void 0){if(this.engine){if(e&&this.hasAnimationCSS())return setTimeout(()=>this.resizeToContentCheck(!1,t),this.animationDelay);if(t)G.shouldSizeToContent(t)&&this.resizeToContentCBCheck(t.el);else if(this.engine.nodes.some(e=>G.shouldSizeToContent(e))){let e=[...this.engine.nodes];this.batchUpdate(),e.forEach(e=>{G.shouldSizeToContent(e)&&this.resizeToContentCBCheck(e.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}this._gsEventHandler.resizecontent&&this._gsEventHandler.resizecontent(null,t?[t]:this.engine.nodes)}}_updateResizeEvent(e=!1){let t=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(e=>e.sizeToContent));return!e&&t&&!this.resizeObserver?(this._sizeThrottle=G.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(e||!t)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(e=`.grid-stack-item`){return G.getElement(e)}static getElements(e=`.grid-stack-item`){return G.getElements(e)}static getGridElement(t){return e.getElement(t)}static getGridElements(e){return G.getElements(e)}_initMargin(){let e,t=0,n=[];typeof this.opts.margin==`string`&&(n=this.opts.margin.split(` `)),n.length===2?(this.opts.marginTop=this.opts.marginBottom=n[0],this.opts.marginLeft=this.opts.marginRight=n[1]):n.length===4?(this.opts.marginTop=n[0],this.opts.marginRight=n[1],this.opts.marginBottom=n[2],this.opts.marginLeft=n[3]):(e=G.parseHeight(this.opts.margin),this.opts.marginUnit=e.unit,t=this.opts.margin=e.h),[`marginTop`,`marginRight`,`marginBottom`,`marginLeft`].forEach(n=>{this.opts[n]===void 0?this.opts[n]=t:(e=G.parseHeight(this.opts[n]),this.opts[n]=e.h,delete this.opts.margin)}),this.opts.marginUnit=e.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);let r=this.el.style;return r.setProperty(`--gs-item-margin-top`,`${this.opts.marginTop}${this.opts.marginUnit}`),r.setProperty(`--gs-item-margin-bottom`,`${this.opts.marginBottom}${this.opts.marginUnit}`),r.setProperty(`--gs-item-margin-right`,`${this.opts.marginRight}${this.opts.marginUnit}`),r.setProperty(`--gs-item-margin-left`,`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return X}static setupDragIn(e,t,n,r=document){t?.pause!==void 0&&(q.pauseDrag=t.pause),t={appendTo:`body`,helper:`clone`,...t||{}},(typeof e==`string`?G.getElements(e,r):e).forEach((e,r)=>{X.isDraggable(e)||X.dragIn(e,t),n?.[r]&&(e.gridstackNode=n[r])})}movable(t,n){return this.opts.staticGrid||e.getElements(t).forEach(e=>{let t=e.gridstackNode;t&&(n?delete t.noMove:t.noMove=!0,this.prepareDragDrop(t.el))}),this}resizable(t,n){return this.opts.staticGrid||e.getElements(t).forEach(e=>{let t=e.gridstackNode;t&&(n?delete t.noResize:t.noResize=!0,this.prepareDragDrop(t.el))}),this}disable(e=!0){if(!this.opts.staticGrid)return this.enableMove(!1,e),this.enableResize(!1,e),this._triggerEvent(`disable`),this}enable(e=!0){if(!this.opts.staticGrid)return this.enableMove(!0,e),this.enableResize(!0,e),this._triggerEvent(`enable`),this}enableMove(e,t=!0){return this.opts.staticGrid?this:(e?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&t&&n.subGrid.enableMove(e,t)}),this)}enableResize(e,t=!0){return this.opts.staticGrid?this:(e?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(n=>{this.prepareDragDrop(n.el),n.subGrid&&t&&n.subGrid.enableResize(e,t)}),this)}cancelDrag(){let t=this._placeholder?.gridstackNode;t&&(t._isExternal?(t._isAboutToRemove=!0,this.engine.removeNode(t)):t._isAboutToRemove&&e._itemRemoving(t.el,!1),this.engine.restoreInitial())}_removeDD(e){return X.draggable(e,`destroy`).resizable(e,`destroy`),e.gridstackNode&&delete e.gridstackNode._initDD,delete e.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return X.droppable(this.el,`destroy`),this;let t,n,r=(e,r,i)=>{i||=r;let a=i.gridstackNode;if(!a)return;if(!a.grid?.el){i.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let t=i.getBoundingClientRect();i.style.left=t.x+(this.dragTransform.xScale-1)*(e.clientX-t.x)/this.dragTransform.xScale+`px`,i.style.top=t.y+(this.dragTransform.yScale-1)*(e.clientY-t.y)/this.dragTransform.yScale+`px`,i.style.transformOrigin=`0px 0px`}let{top:o,left:s}=i.getBoundingClientRect(),c=this.el.getBoundingClientRect();s-=c.left,o-=c.top;let l={position:{top:o*this.dragTransform.xScale,left:s*this.dragTransform.yScale}};if(a._temporaryRemoved){if(a.x=Math.max(0,Math.round(s/n)),a.y=Math.max(0,Math.round(o/t)),delete a.autoPosition,this.engine.nodeBoundFix(a),!this.engine.willItFit(a)){if(a.autoPosition=!0,!this.engine.willItFit(a)){X.off(r,`drag`);return}a._willFitPos&&(G.copyPos(a,a._willFitPos),delete a._willFitPos)}this._onStartMoving(i,e,l,a,n,t)}else this._dragOrResize(i,e,l,a,n,t)};return X.droppable(this.el,{accept:e=>{let t=e.gridstackNode||this._readAttr(e,!1);if(t?.grid===this)return!0;if(!this.opts.acceptWidgets)return!1;let n=!0;if(typeof this.opts.acceptWidgets==`function`)n=this.opts.acceptWidgets(e);else{let t=this.opts.acceptWidgets===!0?`.grid-stack-item`:this.opts.acceptWidgets;n=e.matches(t)}if(n&&t&&this.opts.maxRow){let e={w:t.w,h:t.h,minW:t.minW,minH:t.minH};n=this.engine.willItFit(e)}return n}}).on(this.el,`dropover`,(i,a,o)=>{let s=o?.gridstackNode||a.gridstackNode;if(s?.grid===this&&!s._temporaryRemoved)return!1;if(s?._sidebarOrig&&(s.w=s._sidebarOrig.w,s.h=s._sidebarOrig.h),s?.grid&&s.grid!==this&&!s._temporaryRemoved&&s.grid._leave(a,o),o||=a,n=this.cellWidth(),t=this.getCellHeight(!0),!s){let e=o.getAttribute(`data-gs-widget`)||o.getAttribute(`gridstacknode`);if(e){try{s=JSON.parse(e)}catch{console.error(`Gridstack dropover: Bad JSON format: `,e)}o.removeAttribute(`data-gs-widget`),o.removeAttribute(`gridstacknode`)}s||=this._readAttr(o),s._sidebarOrig={w:s.w,h:s.h}}s.grid||(s.el||(s={...s}),s._isExternal=!0,o.gridstackNode=s);let c=s.w||Math.round(o.offsetWidth/n)||1,l=s.h||Math.round(o.offsetHeight/t)||1;return s.grid&&s.grid!==this?(a._gridstackNodeOrig||=s,a.gridstackNode=s={...s,w:c,h:l,grid:this},delete s.x,delete s.y,this.engine.cleanupNode(s).nodeBoundFix(s),s._initDD=s._isExternal=s._temporaryRemoved=!0):(s.w=c,s.h=l,s._temporaryRemoved=!0),e._itemRemoving(s.el,!1),X.on(a,`drag`,r),r(i,a,o),!1}).on(this.el,`dropout`,(e,t,n)=>{let r=n?.gridstackNode||t.gridstackNode;return r&&(!r.grid||r.grid===this)&&(this._leave(t,n),this._isTemp&&this.removeAsSubGrid(r)),!1}).on(this.el,`drop`,(t,n,r)=>{let i=r?.gridstackNode||n.gridstackNode;if(i?.grid===this&&!i._isExternal)return!1;let a=!!this.placeholder.parentElement,o=n!==r;this.placeholder.remove(),delete this.placeholder.gridstackNode,a&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));let s=n._gridstackNodeOrig;if(delete n._gridstackNodeOrig,a&&s?.grid&&s.grid!==this){let e=s.grid;e.engine.removeNodeFromLayoutCache(s),e.engine.removedNodes.push(s),e._triggerRemoveEvent()._triggerChangeEvent(),e.parentGridNode&&!e.engine.nodes.length&&e.opts.subGridDynamic&&e.removeAsSubGrid()}if(!i||(a&&(this.engine.cleanupNode(i),i.grid=this),delete i.grid?._isTemp,X.off(n,`drag`),r===n?n.remove():(r.remove(),n=r),this._removeDD(n),!a))return!1;let c=i.subGrid?.el?.gridstack;return G.copyPos(i,this._readAttr(this.placeholder)),G.removePositioningStyles(n),o&&(i.content||i.subGridOpts||e.addRemoveCB)?(delete i.el,n=this.addWidget(i)):(this._prepareElement(n,!0,i),this.el.appendChild(n),this.resizeToContentCheck(!1,i),c&&(c.parentGridNode=i),this._updateContainerHeight()),this.engine.addedNodes.push(i),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped({...t,type:`dropped`},s&&s.grid?s:void 0,i),!1}),this}static _itemRemoving(e,t){if(!e)return;let n=e?e.gridstackNode:void 0;!n?.grid||e.classList.contains(n.grid.opts.removableOptions.decline)||(t?n._isAboutToRemove=!0:delete n._isAboutToRemove,t?e.classList.add(`grid-stack-item-removing`):e.classList.remove(`grid-stack-item-removing`))}_setupRemoveDrop(){if(typeof this.opts.removable!=`string`)return this;let t=document.querySelector(this.opts.removable);return t&&!this.opts.staticGrid&&!X.isDroppable(t)&&X.droppable(t,this.opts.removableOptions).on(t,`dropover`,(t,n)=>e._itemRemoving(n,!0)).on(t,`dropout`,(t,n)=>e._itemRemoving(n,!1)),this}prepareDragDrop(e,t=!1){let n=e?.gridstackNode;if(!n)return;let r=n.noMove||this.opts.disableDrag,i=n.noResize||this.opts.disableResize,a=this.opts.staticGrid||r&&i;if((t||a)&&(n._initDD&&(this._removeDD(e),delete n._initDD),a))return e.classList.add(`ui-draggable-disabled`,`ui-resizable-disabled`),this;if(!n._initDD){let t,r,i=(i,a)=>{this.triggerEvent(i,i.target),t=this.cellWidth(),r=this.getCellHeight(!0),this._onStartMoving(e,i,a,n,t,r)},a=(i,a)=>{this._dragOrResize(e,i,a,n,t,r)},o=t=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete n._moving,delete n._resizing,delete n._event,delete n._lastTried;let r=n.w!==n._orig.w,i=t.target;if(!(!i.gridstackNode||i.gridstackNode.grid!==this)){if(n.el=i,n._isAboutToRemove){let r=e.gridstackNode.grid;r._gsEventHandler[t.type]&&r._gsEventHandler[t.type](t,i),r.engine.nodes.push(n),r.removeWidget(e,!0,!0)}else G.removePositioningStyles(i),n._temporaryRemoved?(this._writePosAttr(i,n),this.engine.addNode(n)):this._writePosAttr(i,n),this.triggerEvent(t,i);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),t.type===`resizestop`&&(Number.isInteger(n.sizeToContent)&&(n.sizeToContent=n.h),this.resizeToContentCheck(r,n))}};X.draggable(e,{start:i,stop:o,drag:a,rtl:this.opts.rtl}).resizable(e,{start:i,stop:o,resize:a,rtl:this.opts.rtl}),n._initDD=!0}return X.draggable(e,r?`disable`:`enable`).resizable(e,i?`disable`:`enable`),this}_onStartMoving(e,t,n,r,i,a){if(this.engine.cleanNodes().beginUpdate(r),this._writePosAttr(this.placeholder,r),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=r,r.grid?.el)this.dragTransform=G.getValuesFromTransformedElement(e);else if(this.placeholder&&this.placeholder.closest(`.grid-stack`)){let e=this.placeholder.closest(`.grid-stack`);this.dragTransform=G.getValuesFromTransformedElement(e)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(r.el=this.placeholder,r._lastUiPosition=n.position,r._prevYPix=n.position.top,r._moving=t.type===`dragstart`,r._resizing=t.type===`resizestart`,delete r._lastTried,t.type===`dropover`&&r._temporaryRemoved&&(this.engine.addNode(r),r._moving=!0),this.engine.cacheRects(i,a,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),t.type===`resizestart`){let t=this.getColumn()-r.x,n=(this.opts.maxRow||2**53-1)-r.y;X.resizable(e,`option`,`minWidth`,i*Math.min(r.minW||1,t)).resizable(e,`option`,`minHeight`,a*Math.min(r.minH||1,n)).resizable(e,`option`,`maxWidth`,i*Math.min(r.maxW||2**53-1,t)).resizable(e,`option`,`maxWidthMoveLeft`,i*Math.min(r.maxW||2**53-1,r.x+r.w)).resizable(e,`option`,`maxHeight`,a*Math.min(r.maxH||2**53-1,n)).resizable(e,`option`,`maxHeightMoveUp`,a*Math.min(r.maxH||2**53-1,r.y+r.h))}}_dragOrResize(e,t,n,r,i,a){let o={...r._orig},s,c=this.opts.marginLeft,l=this.opts.marginRight,u=this.opts.marginTop,d=this.opts.marginBottom,f=Math.round(a*.1),p=Math.round(i*.1);if(c=Math.min(c,p),l=Math.min(l,p),u=Math.min(u,f),d=Math.min(d,f),t.type===`drag`){if(r._temporaryRemoved)return;r._prevYPix=n.position.top,this.opts.draggable.scroll!==!1&&q.dragElement?.updateScrollPosition(this.el);let e=n.position.left+(n.position.left>r._lastUiPosition.left?-l:c),t=n.position.top+(n.position.top>r._lastUiPosition.top?-d:u);o.x=Math.round(e/i),o.y=Math.round(t/a);let s=this._extraDragRow;if(this.engine.collide(r,o)){let e=this.getRow(),t=Math.max(0,o.y+r.h-e);this.opts.maxRow&&e+t>this.opts.maxRow&&(t=Math.max(0,this.opts.maxRow-e)),this._extraDragRow=t}else this._extraDragRow=0;if(this._extraDragRow!==s&&this._updateContainerHeight(),r.x===o.x&&r.y===o.y)return}else if(t.type===`resize`){if(o.x<0||(G.updateScrollResize(t,e,a),o.w=Math.round((n.size.width-c)/i),o.h=Math.round((n.size.height-u)/a),r.w===o.w&&r.h===o.h)||r._lastTried&&r._lastTried.w===o.w&&r._lastTried.h===o.h)return;if(t.hasMovedX){let e=n.position.left+c;o.x=Math.round(e/i)}if(t.hasMovedY){let e=n.position.top+u;o.y=Math.round(e/a)}s=!0}r._event=t,r._lastTried=o;let m={x:n.position.left+c,y:n.position.top+u,w:(n.size?n.size.width:r.w*i)-c-l,h:(n.size?n.size.height:r.h*a)-u-d};if(this.engine.moveNodeCheck(r,{...o,cellWidth:i,cellHeight:a,rect:m,resizing:s})){r._lastUiPosition=n.position,this.engine.cacheRects(i,a,u,l,d,c),delete r._skipDown,s&&r.subGrid&&r.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let e=t.target;r._sidebarOrig||this._writePosAttr(e,r),this.triggerEvent(t,e)}}triggerEvent(e,t){let n=this;for(;n.parentGridNode;)n=n.parentGridNode.grid;n._gsEventHandler[e.type]&&n._gsEventHandler[e.type](e,t)}_leave(t,n){n||=t;let r=n.gridstackNode;if(!r||(n.style.transform=n.style.transformOrigin=null,X.off(t,`drag`),r._temporaryRemoved))return;r._temporaryRemoved=!0,this.engine.removeNode(r),r.el=r._isExternal&&n?n:t;let i=r._sidebarOrig;r._isExternal&&this.engine.cleanupNode(r),r._sidebarOrig=i,this.opts.removable===!0&&e._itemRemoving(t,!0),t._gridstackNodeOrig?(t.gridstackNode=t._gridstackNodeOrig,delete t._gridstackNodeOrig):r._isExternal&&this.engine.restoreInitial()}};Z.renderCB=(e,t)=>{e&&t?.content&&(e.textContent=t.content)},Z.resizeToContentParent=`.grid-stack-item-content`,Z.Utils=G,Z.Engine=an,Z.GDRev=`12.6.0`;var xn=({gridElement:e,gridItemElements:t,items:n,columns:r,rowHeight:i,viewMode:a,fullTheme:o,onCreateOrUpdateDimensionsHint:s,onRemoveDimensionsHint:c,onChange:l})=>{let[u,d]=qt(o),f={column:r,cellHeight:i,marginTop:u,marginLeft:d,marginRight:d,marginBottom:u,animate:!0,auto:!1,float:!1,removable:!1,acceptWidgets:!0,disableDrag:a,disableResize:a,minRow:1,resizable:{handles:[`n`,`ne`,`e`,`se`,`s`,`sw`,`w`,`nw`].join(`, `)},handle:`.grid-item-drag-handle`},p=Z.init(f,e);return p.batchUpdate(),t.forEach(e=>{let t=e.getAttribute(`luzmo-item-grid-item-id`),r=se(n.find(e=>e.id===t),t??void 0);p.makeWidget(e,r)}),p.batchUpdate(!1),p.on(`resizestart`,(e,t)=>{s(t,t.getAttribute(`gs-w`)??``,t.getAttribute(`gs-h`)??``)}),p.on(`resize`,(e,t)=>{s(t,t.getAttribute(`gs-w`)??``,t.getAttribute(`gs-h`)??``)}),p.on(`resizestop`,(e,t)=>{c(t)}),p.on(`change`,(e,t)=>{l(t)}),p},Sn=(e,t)=>{let n=new Map(t.filter(e=>e.id).map(e=>[e.id,e]));return e.map(e=>{let t=e.id?n.get(e.id):void 0;return t?{...e,position:{sizeX:t.w??1,sizeY:t.h??1,row:t.y??0,col:t.x??0}}:e})},Cn=({element:e,numberOfColumns:t,numberOfRows:n,offsetHint:r})=>{let i=e.querySelector(`.dimensions-hint-popover`);if(i){i.style.display=t.length>0&&n.length>0?`block`:`none`,i.textContent=`${t} × ${n}`;return}let a=document.createElement(`div`);a.className=`dimensions-hint-popover`,a.setAttribute(`popover`,`hint`),a.style.display=t.length>0&&n.length>0?`block`:`none`,a.textContent=`${t} × ${n}`,e.append(a),Ft(a,At(e,a,async()=>{let{x:t,y:n}=await Nt(e,a,{placement:`bottom`,middleware:[jt(r),Mt()]});a.style.left=`${t}px`,a.style.top=`${n}px`})),a.matches(`:popover-open`)||a.showPopover()},wn=e=>{let t=e.querySelector(`.dimensions-hint-popover`);t&&(It(t),t.matches(`:popover-open`)&&t.hidePopover(),t.remove())},Tn=({initialized:e,grid:t,hasItemsChanged:n,gridItemElements:r,items:i})=>{!e||!t||!n||(t.setAnimation(!1),t.batchUpdate(),t.removeAll(!1),i.forEach(e=>{let n=le(r,e.id);n&&t.makeWidget(n,se(e,e.id))}),t.batchUpdate(!1),t.setAnimation(!0))},En=({initialized:e,grid:t,hasViewModeChanged:n,viewMode:r,previousViewMode:i,activeItemElement:a,gridElement:o,cleanupActiveItem:s})=>{if(!e||!t||!n||r===i)return a;if(r){if(t.disable(),a){s(a),o.removeAttribute(`has-active-item`);return}return a}return t.enable(),a},Dn=`:host{--luzmo-action-button-content-color-default:var(--luzmo-item-grid-item-action-button-content-color-default,#fff);--luzmo-action-button-content-color-hover:var(--luzmo-item-grid-item-action-button-content-color-hover,#fff);--luzmo-action-button-content-color-down:var(--luzmo-item-grid-item-action-button-content-color-down,#fff);--luzmo-action-button-content-color-focus:var(--luzmo-item-grid-item-action-button-content-color-focus,#fff);--luzmo-action-button-background-color-default:var(--luzmo-item-grid-item-action-button-background-color-default,#333);--luzmo-action-button-background-color-hover:var(--luzmo-item-grid-item-action-button-background-color-hover,#444);--luzmo-action-button-background-color-down:var(--luzmo-item-grid-item-action-button-background-color-down,#555);--luzmo-action-button-background-color-focus:var(--luzmo-item-grid-item-action-button-background-color-focus,#666);--grid-item-actions-flex-direction:column;display:block}.action-buttons{gap:var(--luzmo-item-grid-item-action-group-gap,.5rem);flex-direction:var(--luzmo-item-grid-item-actions-flex-direction,var(--grid-item-actions-flex-direction));outline:none;display:flex}.action-button[selected]{--luzmo-action-button-background-color-default:var(--luzmo-primary);--luzmo-action-button-background-color-hover:var(--luzmo-primary-hover);--luzmo-action-button-background-color-down:var(--luzmo-primary-down);--luzmo-action-button-background-color-focus:var(--luzmo-primary-focus);--luzmo-action-button-content-color-default:var(--luzmo-primary-inverse-color);--luzmo-action-button-content-color-hover:var(--luzmo-primary-inverse-color);--luzmo-action-button-content-color-down:var(--luzmo-primary-inverse-color);--luzmo-action-button-content-color-focus:var(--luzmo-primary-inverse-color)}:host .action-buttons{--luzmo-action-button-content-color-default:var(--luzmo-item-grid-item-action-button-content-color-default,#fff);--luzmo-action-button-content-color-hover:var(--luzmo-item-grid-item-action-button-content-color-hover,#fff);--luzmo-action-button-content-color-down:var(--luzmo-item-grid-item-action-button-content-color-down,#fff);--luzmo-action-button-content-color-focus:var(--luzmo-item-grid-item-action-button-content-color-focus,#fff);--luzmo-action-button-background-color-default:var(--luzmo-item-grid-item-action-button-background-color-default,#333);--luzmo-action-button-background-color-hover:var(--luzmo-item-grid-item-action-button-background-color-hover,#444);--luzmo-action-button-background-color-down:var(--luzmo-item-grid-item-action-button-background-color-down,#555);--luzmo-action-button-background-color-focus:var(--luzmo-item-grid-item-action-button-background-color-focus,#666)}.delete-button{--luzmo-action-button-background-color-hover:var(--luzmo-item-grid-item-delete-button-background-color-hover,var(--luzmo-negative-color));--luzmo-action-button-content-color-hover:var(--luzmo-item-grid-item-delete-button-content-color-hover,#fff);--luzmo-action-button-background-color-focus:var(--luzmo-item-grid-item-delete-button-background-color-focus,var(--luzmo-negative-color-focus));--luzmo-action-button-content-color-focus:var(--luzmo-item-grid-item-delete-button-content-color-focus,#fff);--luzmo-action-button-background-color-down:var(--luzmo-item-grid-item-delete-button-background-color-down,var(--luzmo-negative-color-down));--luzmo-action-button-content-color-down:var(--luzmo-item-grid-item-delete-button-content-color-down,#fff)}:host([placement=top-start]),:host([placement=top]),:host([placement=top-end]),:host([placement=bottom-start]),:host([placement=bottom]),:host([placement=bottom-end]){--grid-item-actions-flex-direction:row}`,Q=class extends t.t(d.LuzmoElement){constructor(...e){super(...e),this.placement=`right-start`,this.actions=Ut()}static get styles(){return[(0,s.unsafeCSS)(Dn)]}get isVertical(){return this.placement.includes(`left`)||this.placement.includes(`right`)}_dispatchAction(e){this.dispatchEvent(new CustomEvent(`luzmo-item-grid-item-action`,{bubbles:!0,composed:!0,detail:{action:e.action,type:e.type,active:e.active}}))}_handleActionClick(e,t){e.stopPropagation(),t.type===`toggle`&&(t.active=!t.active,this.actions.forEach(e=>{e.actions?.forEach(e=>{t!==e&&e.active&&(e.active=!1)})})),this._dispatchAction(t),this.requestUpdate()}clearActiveToggles(){this.actions=this.actions.map(e=>({...e,actions:e.actions?.map(e=>(e.type===`toggle`&&(e.active=!1),e))??[]}))}focus(){let e=this.shadowRoot?.querySelectorAll(`luzmo-action-button[toggles]`);e&&e[0]?.focus()}_generateActionButton(e){let t={Data:(0,l.msg)(`Data`,{desc:`Label for the data section`}),Options:(0,l.msg)(`Options`,{desc:`Label for the options section`}),Clone:(0,l.msg)(`Clone`,{desc:`Grid item action tooltip`}),Delete:(0,l.msg)(`Delete`,{desc:`Delete action label`}),Edit:(0,l.msg)(`Edit`,{desc:`Edit action label`}),Lock:(0,l.msg)(`Lock`,{desc:`Grid item action tooltip`}),Filters:(0,l.msg)(`Filters`,{desc:`Label for the filters section`})};return s.html`
|
|
83
|
+
<luzmo-action-button
|
|
84
|
+
class="${e.action}-button action-button"
|
|
85
|
+
.label=${e.label}
|
|
86
|
+
?toggles=${e.type===`toggle`}
|
|
87
|
+
?selected=${e.type===`toggle`&&e.active}
|
|
88
|
+
@click=${t=>this._handleActionClick(t,e)}
|
|
89
|
+
>
|
|
90
|
+
<luzmo-icon slot="icon" .icon=${e.icon} size="s"></luzmo-icon>
|
|
91
|
+
${e.tooltip?s.html`
|
|
92
|
+
<luzmo-tooltip
|
|
93
|
+
self-managed
|
|
94
|
+
delayed
|
|
95
|
+
placement=${this.placement?.includes(`right`)?`right`:this.placement?.includes(`left`)?`left`:this.placement?.includes(`bottom`)?`bottom`:this.placement?.includes(`top`)?`top`:`right`}
|
|
96
|
+
>
|
|
97
|
+
${t[e.tooltip]??e.tooltip}
|
|
98
|
+
</luzmo-tooltip>
|
|
99
|
+
`:``}
|
|
100
|
+
</luzmo-action-button>
|
|
101
|
+
`}_generateActionGroup(e){let t=e?.actions?.map(e=>this._generateActionButton(e))??[];return t.length>0?s.html`
|
|
102
|
+
<luzmo-action-group ?vertical=${this.isVertical} compact
|
|
103
|
+
>${t}</luzmo-action-group
|
|
104
|
+
>
|
|
105
|
+
`:s.html`
|
|
106
|
+
|
|
107
|
+
`}render(){let e=this.actions.map(e=>this._generateActionGroup(e));return s.html`
|
|
108
|
+
<div class="action-buttons" tabindex="0" role="toolbar" aria-label=${(0,l.msg)(`Item actions`,{desc:`Item actions toolbar label`})}>${e}</div>
|
|
109
|
+
`}};e.t([(0,c.property)({type:String,reflect:!0})],Q.prototype,`placement`,void 0),e.t([(0,c.property)({type:Array})],Q.prototype,`actions`,void 0),Q=e.t([(0,l.localized)()],Q);var On=`:host{width:100%;display:block}.grid-stack{width:100%;min-height:var(--luzmo-item-grid-min-height);background:var(--luzmo-item-grid-background,var(--grid-background,var(--luzmo-background-color)));position:relative}.grid-stack[has-active-item] .grid-stack-item:not([active])>.grid-stack-item-content,.grid-stack[has-active-item] .grid-stack-item:not([active])>.grid-item-actions-popover{opacity:.5}.grid-stack .grid-stack-item[active]>.ui-resizable-handle,.grid-stack .grid-stack-item[active].ui-resizable-autohide>.ui-resizable-handle{display:block}.grid-stack .grid-stack-item.ui-resizable-resizing,.grid-stack .grid-stack-item.ui-resizable-resizing>.grid-stack-item-content{opacity:var(--luzmo-item-grid-item-resizing-opacity,.8)!important}.grid-item-drag-handle{color:var(--luzmo-item-grid-item-drag-handle-color,#000);top:var(--luzmo-item-grid-item-drag-handle-position-top,0);left:var(--luzmo-item-grid-item-drag-handle-position-left,0);right:var(--luzmo-item-grid-item-drag-handle-position-right,auto);bottom:var(--luzmo-item-grid-item-drag-handle-position-bottom,auto);padding:var(--luzmo-item-grid-item-drag-handle-padding,.5rem);z-index:var(--luzmo-item-grid-item-drag-handle-z-index,3);cursor:var(--luzmo-item-grid-item-drag-handle-cursor,move);position:absolute}.grid-stack[dark-background] .grid-item-drag-handle{color:var(--luzmo-item-grid-item-drag-handle-color,#fff)}.grid-stack .grid-stack-item .grid-stack-item-content{border-radius:var(--luzmo-item-grid-item-border-radius,var(--grid-item-border-radius,4px));background:var(--luzmo-item-grid-item-background,var(--grid-item-background,transparent));box-shadow:var(--luzmo-item-grid-item-box-shadow,var(--grid-item-box-shadow,none));border-style:var(--luzmo-item-grid-item-border-style,none);border-color:var(--luzmo-item-grid-item-border-color,transparent);-webkit-backdrop-filter:var(--luzmo-item-grid-item-backdrop-filter,none);backdrop-filter:var(--luzmo-item-grid-item-backdrop-filter,none);overflow:hidden}.grid-stack .grid-stack-item:not(.has-luzmo-viz-item) .grid-stack-item-content{border-style:var(--luzmo-item-grid-item-border-style,var(--grid-item-border-style,none));border-color:var(--luzmo-item-grid-item-border-color,var(--grid-item-border-color,transparent));border-width:var(--luzmo-item-grid-item-border-width,var(--grid-item-border-width,0));border-top-width:var(--luzmo-item-grid-item-border-top-width,var(--grid-item-border-top-width,0));border-right-width:var(--luzmo-item-grid-item-border-right-width,var(--grid-item-border-right-width,0));border-bottom-width:var(--luzmo-item-grid-item-border-bottom-width,var(--grid-item-border-bottom-width,0));border-left-width:var(--luzmo-item-grid-item-border-left-width,var(--grid-item-border-left-width,0))}.grid-stack .grid-stack-placeholder>.placeholder-content{border-radius:var(--grid-item-border-radius,4px)}:host .grid-stack-item[active]>.ui-resizable-handle,:host .grid-stack-item:hover>.ui-resizable-handle{z-index:var(--luzmo-item-grid-resize-handle-z-index,100);background:var(--luzmo-item-grid-resize-handle-background,#fff);border-radius:var(--luzmo-item-grid-resize-handle-border-radius,3px);opacity:var(--luzmo-item-grid-resize-handle-opacity,0);transition:var(--luzmo-item-grid-resize-handle-transition,opacity .2s ease);box-shadow:0 0 6px #0000001a,0 0 2px #000000bf;display:block!important;position:absolute!important}:host .grid-stack[dark-background]>.grid-stack-item[active]>.ui-resizable-handle,:host .grid-stack[dark-background]>.grid-stack-item:hover>.ui-resizable-handle{background:var(--luzmo-item-grid-resize-handle-background,#333);box-shadow:0 0 6px #ffffff1a,0 0 2px #ffffffbf}:host .grid-stack-item[active]>.ui-resizable-handle,:host .grid-stack-item:hover>.ui-resizable-handle{opacity:var(--luzmo-item-grid-resize-handle-opacity-hover,1)}:host .grid-stack-item>.ui-resizable-handle:hover{opacity:var(--luzmo-item-grid-resize-handle-opacity-active,1);background:var(--luzmo-item-grid-resize-handle-background-hover,var(--luzmo-background-color-highlight))}:host .grid-stack-item>.ui-resizable-n,:host .grid-stack-item>.ui-resizable-s{height:var(--luzmo-item-grid-resize-handle-edge-size,8px);width:var(--luzmo-item-grid-resize-handle-side-size,18px);left:calc(50% - var(--luzmo-item-grid-resize-handle-side-size,18px) / 2)}:host .grid-stack-item>.ui-resizable-n{cursor:n-resize;top:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-4px) + var(--gs-item-margin-top,0px))}:host .grid-stack-item>.ui-resizable-s{cursor:s-resize;bottom:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-4px) + var(--gs-item-margin-bottom,0px))}:host .grid-stack-item>.ui-resizable-e,:host .grid-stack-item>.ui-resizable-w{width:var(--luzmo-item-grid-resize-handle-edge-size,8px);height:var(--luzmo-item-grid-resize-handle-side-size,18px);top:calc(50% - var(--luzmo-item-grid-resize-handle-side-size,18px) / 2)}:host .grid-stack-item>.ui-resizable-e{cursor:e-resize;right:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-4px) + var(--gs-item-margin-right,0px))}:host .grid-stack-item>.ui-resizable-w{cursor:w-resize;left:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-4px) + var(--gs-item-margin-left,0px))}:host .grid-stack-item>.ui-resizable-ne,:host .grid-stack-item>.ui-resizable-nw,:host .grid-stack-item>.ui-resizable-se,:host .grid-stack-item>.ui-resizable-sw{width:var(--luzmo-item-grid-resize-handle-corner-size,12px);height:var(--luzmo-item-grid-resize-handle-corner-size,12px);background-image:none;transform:none}:host .grid-stack-item>.ui-resizable-ne{cursor:ne-resize;top:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-6px) + var(--gs-item-margin-top,0px));right:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-6px) + var(--gs-item-margin-right,0px))}:host .grid-stack-item>.ui-resizable-nw{cursor:nw-resize;top:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-6px) + var(--gs-item-margin-top,0px));left:calc(var(--luzmo-item-grid-resize-handle-edge-offset,-6px) + var(--gs-item-margin-left,0px))}:host .grid-stack-item>.ui-resizable-se{cursor:se-resize;right:calc(var(--luzmo-item-grid-resize-handle-corner-offset,-4px) + var(--gs-item-margin-right,0px));bottom:calc(var(--luzmo-item-grid-resize-handle-corner-offset,-4px) + var(--gs-item-margin-bottom,0px))}:host .grid-stack-item>.ui-resizable-sw{cursor:sw-resize;left:calc(var(--luzmo-item-grid-resize-handle-corner-offset,-4px) + var(--gs-item-margin-left,0px));bottom:calc(var(--luzmo-item-grid-resize-handle-corner-offset,-4px) + var(--gs-item-margin-bottom,0px))}:host .grid-stack-item>.ui-resizable-resizing .ui-resizable-handle{background:var(--luzmo-item-grid-resize-handle-background-active,var(--luzmo-background-color-highlight));opacity:1!important}.grid-item-actions-popover{z-index:2;background:0 0;border:none;outline:none;margin:0;padding:0;position:absolute;overflow:visible}.grid-item-actions-popover:not([popover]){z-index:var(--luzmo-item-grid-item-actions-in-tree-z-index,50);position:fixed}luzmo-item-grid-item-actions-menu{padding:var(--luzmo-item-grid-item-actions-padding,var(--grid-item-actions-padding))}.dimensions-hint-popover{font-size:var(--luzmo-item-grid-item-dimensions-hint-font-size,var(--luzmo-font-size-xs,10px));font-family:var(--luzmo-item-grid-item-dimensions-hint-font-family,var(--luzmo-font-family,inherit));border-width:var(--luzmo-item-grid-item-dimensions-hint-border-width,var(--luzmo-border-width));border-style:solid;border-color:var(--luzmo-item-grid-item-dimensions-hint-border-color,var(--luzmo-border-color));border-radius:var(--luzmo-item-grid-item-dimensions-hint-border-radius,var(--luzmo-border-radius));padding:var(--luzmo-item-grid-item-dimensions-hint-padding,var(--luzmo-spacing-1) var(--luzmo-spacing-2));z-index:3;background:var(--luzmo-item-grid-item-dimensions-hint-background,var(--luzmo-background-color));color:var(--luzmo-item-grid-item-dimensions-hint-color,var(--luzmo-font-color));pointer-events:none;outline:none;margin:0;position:absolute;overflow:visible}luzmo-item-grid-item-actions-menu{--grid-item-actions-padding:0 .75rem}luzmo-item-grid-item-actions-menu[placement=top-start],luzmo-item-grid-item-actions-menu[placement=top],luzmo-item-grid-item-actions-menu[placement=top-end],luzmo-item-grid-item-actions-menu[placement=bottom-start],luzmo-item-grid-item-actions-menu[placement=bottom],luzmo-item-grid-item-actions-menu[placement=bottom-end]{--grid-item-actions-padding:.75rem 0}.grid-stack-item:focus-visible{outline:none}.grid-stack-item:focus-visible .grid-stack-item-content:after{content:"";border:var(--luzmo-indicator-width) solid var(--luzmo-indicator-color,var(--luzmo-primary));box-sizing:border-box;border-radius:var(--luzmo-item-grid-item-border-radius,var(--grid-item-border-radius,4px));z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}`,$=class extends d.LuzmoElement{constructor(...e){super(...e),this.appServer=`https://app.luzmo.com/`,this.apiHost=`https://api.luzmo.com`,this.language=`en`,this.contentLanguage=`en`,this.columns=48,this.rowHeight=16,this.viewMode=!1,this.itemActionsDocumentPopover=!0,this.placementItemActionsMenu=`right-start`,this.clonedItemPositioning=`below-item`,this._items=[],this._hasControlledItems=!1,this._initialItems=[],this.renderers={},this._initialized=!1,this.defaultRenderer=e=>s.html`
|
|
110
|
+
<div class="grid-item-content">
|
|
111
|
+
<div class="grid-item-type">${e.type}</div>
|
|
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,n=e.target?.closest(`.grid-stack-item`),r=n?.getAttribute(`gs-id`);if([`delete`,`clone`].includes(t.action)){if(e.stopPropagation(),!r)return;let a=this._effectiveItems,o=a.find(e=>e.id===r);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!==r);g({target:this,action:`delete`,actionType:t.type,active:t.active,items:a,element:n,itemId:r,item:o,updatedItems:e}),this._isItemsControlled||this._setInternalItems(e,{reconcileStates:!0})}else{let e={...structuredClone(o),id:i.t()},r=this._simulateCloneLayout(e,o),s=r.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:r}),this._isItemsControlled||this._setInternalItems(r,{reconcileStates:!0})}return}if(this._isControlled){if(e.stopPropagation(),!r)return;let i=this.items.find(e=>e.id===r);if(t.type===`toggle`){let e=this._effectiveItemStates,n=t.active,i=this._computeNextItemStates(r,t.action,n);_({target:this,itemStates:e,updatedItemStates:i,changedItemStates:{[r]:[t.action]}})}else g({target:this,action:t.action,actionType:t.type,active:t.active,items:this.items,element:n,itemId:r,item:i});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`&&r){let e=this._effectiveItemStates,i=a.activeItemElement===n&&a.activeItemActionToggle===t.action,o=this._computeNextItemStates(r,t.action,i);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),r={...structuredClone(n),id:i.t()},a=this._simulateCloneLayout(r,n),o=a.find(e=>e.id===r.id)??r;return g({target:this,action:`clone`,actionType:`button`,active:!1,items:t,element:this.getGridItemById(e)?.element??this,itemId:r.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 $}});
|