@syidax/advanced 0.0.0-stage → 1.0.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/LICENSE.md +360 -0
- package/NOTICE.md +8554 -0
- package/README.md +28 -2
- package/dist/advanced/advanced.esm.js +1 -0
- package/dist/advanced/index.esm.js +1 -0
- package/dist/advanced/p-047a8d2a.entry.js +1 -0
- package/dist/advanced/p-0d722333.entry.js +1 -0
- package/dist/advanced/p-10092cd7.entry.js +1 -0
- package/dist/advanced/p-3bfe768d.entry.js +1 -0
- package/dist/advanced/p-3c0e11bb.entry.js +1 -0
- package/dist/advanced/p-425cc46f.entry.js +1 -0
- package/dist/advanced/p-46a30369.entry.js +1 -0
- package/dist/advanced/p-4729eab2.entry.js +1 -0
- package/dist/advanced/p-4CjYGJmq.js +1 -0
- package/dist/advanced/p-4c936a0b.entry.js +1 -0
- package/dist/advanced/p-4d4d7a4e.entry.js +1 -0
- package/dist/advanced/p-52ccaa06.entry.js +2 -0
- package/dist/advanced/p-5a331221.entry.js +1 -0
- package/dist/advanced/p-5a901d75.entry.js +1 -0
- package/dist/advanced/p-5fe7ccff.entry.js +1 -0
- package/dist/advanced/p-6cc14adc.entry.js +1 -0
- package/dist/advanced/p-754e1389.entry.js +1 -0
- package/dist/advanced/p-7953cc9e.entry.js +1 -0
- package/dist/advanced/p-81391f84.entry.js +1 -0
- package/dist/advanced/p-84491b0f.entry.js +1 -0
- package/dist/advanced/p-84631cf9.entry.js +1 -0
- package/dist/advanced/p-87416587.entry.js +1 -0
- package/dist/advanced/p-89b3d2c2.entry.js +1 -0
- package/dist/advanced/p-8d7b586a.entry.js +1 -0
- package/dist/advanced/p-9d1f8f10.entry.js +1 -0
- package/dist/advanced/p-AzDRbG7D.js +1 -0
- package/dist/advanced/p-B6K1arcd.js +1 -0
- package/dist/advanced/p-BKZM2o7w.js +1 -0
- package/dist/advanced/p-BVmDGX0a.js +1 -0
- package/dist/advanced/p-BYBaMhHn.js +1 -0
- package/dist/advanced/p-Bl66fnTv.js +1 -0
- package/dist/advanced/p-Brtcd7ZV.js +1 -0
- package/dist/advanced/p-BsBcTKjx.js +1 -0
- package/dist/advanced/p-BwM4aW0R.js +1 -0
- package/dist/advanced/p-BwtrZuf8.js +1 -0
- package/dist/advanced/p-C-xxpQIO.js +1 -0
- package/dist/advanced/p-C0f63Npv.js +1 -0
- package/dist/advanced/p-C1RaN8eG.js +1 -0
- package/dist/advanced/p-C1vfsnDY.js +1 -0
- package/dist/advanced/p-C374wsaF.js +1 -0
- package/dist/advanced/p-CFyLRM--.js +1 -0
- package/dist/advanced/p-CIwqM40T.js +1 -0
- package/dist/advanced/p-CKEqyWf8.js +1 -0
- package/dist/advanced/p-CMRCw_kT.js +4 -0
- package/dist/advanced/p-CTrT2jn4.js +1 -0
- package/dist/advanced/p-C_2TIPHD.js +1 -0
- package/dist/advanced/p-CitzwxIw.js +1 -0
- package/dist/advanced/p-D4a88iaH.js +7 -0
- package/dist/advanced/p-D5aEHK78.js +1 -0
- package/dist/advanced/p-D6sPnRDQ.js +1 -0
- package/dist/advanced/p-D8Cooryu.js +1 -0
- package/dist/advanced/p-DChj4qx2.js +1 -0
- package/dist/advanced/p-DEKAlpFE.js +1 -0
- package/dist/advanced/p-DO6vGxJP.js +1 -0
- package/dist/advanced/p-DQ1RB1XB.js +1 -0
- package/dist/advanced/p-DQuL1Twl.js +1 -0
- package/dist/advanced/p-DTZUbymc.js +1 -0
- package/dist/advanced/p-DUELYDa7.js +1 -0
- package/dist/advanced/p-DXJS1EXW.js +1 -0
- package/dist/advanced/p-DYKIyOfR.js +1 -0
- package/dist/advanced/p-Dd9TQ3qQ.js +1 -0
- package/dist/advanced/p-DdNwMQsx.js +1 -0
- package/dist/advanced/p-Dl9apb8A.js +1 -0
- package/dist/advanced/p-DogpgTFv.js +1 -0
- package/dist/advanced/p-Dx-FsUbT.js +1 -0
- package/dist/advanced/p-Dz9vozhJ.js +1 -0
- package/dist/advanced/p-EXuVQfpl.js +1 -0
- package/dist/advanced/p-HAy9hTj2.js +1 -0
- package/dist/advanced/p-I8kmugWt.js +1 -0
- package/dist/advanced/p-S3uzYKsD.js +1 -0
- package/dist/advanced/p-WQSantHg.js +1 -0
- package/dist/advanced/p-Yjd8T1ZK.js +1 -0
- package/dist/advanced/p-_AFoWkvk.js +1 -0
- package/dist/advanced/p-aafa98ca.entry.js +1 -0
- package/dist/advanced/p-ab6a2087.entry.js +1 -0
- package/dist/advanced/p-aed71cba.entry.js +1 -0
- package/dist/advanced/p-e0549f37.entry.js +1 -0
- package/dist/advanced/p-ea07ff0e.entry.js +1 -0
- package/dist/advanced/p-ee62b647.entry.js +1 -0
- package/dist/advanced/p-f5148ac0.entry.js +1 -0
- package/dist/advanced/p-f8102c9d.entry.js +1 -0
- package/dist/advanced/p-f87fee01.entry.js +1 -0
- package/dist/advanced/p-gsi3BtH2.js +1 -0
- package/dist/advanced/p-kJe8wHkN.js +1 -0
- package/dist/advanced/p-nxlSIIWU.js +1 -0
- package/dist/advanced/p-smFnxv_V.js +1 -0
- package/dist/advanced/p-x7RF8NVg.js +1 -0
- package/dist/advanced/p-zrH7aO3p.js +1 -0
- package/dist/assets/style/advanced.css +1 -0
- package/dist/assets/style/board.css +0 -0
- package/dist/assets/style/chart.css +1 -0
- package/dist/assets/style/grid.css +0 -0
- package/dist/cjs/_syidax-chart-build-tier-De_XDaQO.js +1 -0
- package/dist/cjs/advanced.cjs.js +1 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +1 -0
- package/dist/cjs/auto-labels-biCCU4IR.js +1 -0
- package/dist/cjs/axis-label-thinning-xlRYEkLr.js +1 -0
- package/dist/cjs/brand-logo-CJN4NV6G.js +1 -0
- package/dist/cjs/brand-mark-default-DvQHU2qS.js +1 -0
- package/dist/cjs/brush-interaction-DLBwLxOH.js +1 -0
- package/dist/cjs/cartesian-contract-BVApIzMy.js +1 -0
- package/dist/cjs/cartesian-frame-interaction-w1OfXe9B.js +1 -0
- package/dist/cjs/cartesian-series-contract-IfUitFYk.js +1 -0
- package/dist/cjs/cf-builder-chunk-D6ajo9Mh.js +1 -0
- package/dist/cjs/chart-brand-CEKOnWyE.js +1 -0
- package/dist/cjs/chart-brand-license-COyo1Vbl.js +1 -0
- package/dist/cjs/chart-element-loader-BGPJwN21.js +1 -0
- package/dist/cjs/chart-license-bridge-DAODso1A.js +1 -0
- package/dist/cjs/chart-streaming-gate-DX4tlXCx.js +1 -0
- package/dist/cjs/column-stack-BbD_lcgG.js +1 -0
- package/dist/cjs/component-runtime-chunk-BCXKlIzs.js +1 -0
- package/dist/cjs/connector-8ebOKxbI.js +1 -0
- package/dist/cjs/contracts-CtPI2qPw.js +1 -0
- package/dist/cjs/data-zoom-model-DWEnQJnh.js +1 -0
- package/dist/cjs/data-zoom-target-BO1_-I0t.js +1 -0
- package/dist/cjs/device-pixel-box-COQLb1eD.js +1 -0
- package/dist/cjs/drawing-export-CdJsjlzv.js +1 -0
- package/dist/cjs/engine-swap-license-BYrMn26A.js +1 -0
- package/dist/cjs/errors-DNua3ZWy.js +1 -0
- package/dist/cjs/grid-import-chunk-BlBvP3p6.js +1 -0
- package/dist/cjs/grid-license-session-BRxDNKOX.js +7 -0
- package/dist/cjs/index-BS2KctDY.js +1 -0
- package/dist/cjs/index-CKeHnO3Q.js +5 -0
- package/dist/cjs/index.cjs.js +1 -0
- package/dist/cjs/interpolate-BWPQ5Hyd.js +1 -0
- package/dist/cjs/legend-CbjQG1uh.js +1 -0
- package/dist/cjs/legend-interaction-Cc6htppF.js +1 -0
- package/dist/cjs/live-object-model-CjPqHT6U.js +1 -0
- package/dist/cjs/loader.cjs.js +1 -0
- package/dist/cjs/number-Dq6GiQsL.js +1 -0
- package/dist/cjs/parse-CoFqMZ-2.js +1 -0
- package/dist/cjs/pie-animator-Bvgo8ICN.js +1 -0
- package/dist/cjs/pie-geometry-d5pwtOxJ.js +1 -0
- package/dist/cjs/point-context-menu-CWB4nv9m.js +1 -0
- package/dist/cjs/resolve-Cti85ZtE.js +1 -0
- package/dist/cjs/row-drag-chunk-kA4TVsmj.js +1 -0
- package/dist/cjs/row-layout-chunk-CyH-tG1Y.js +1 -0
- package/dist/cjs/safe-formatter-B0DDURao.js +1 -0
- package/dist/cjs/scheme-KzZHS7kW.js +1 -0
- package/dist/cjs/standard-engine-status-C4zMZsEh.js +1 -0
- package/dist/cjs/stream-interp-CVi5SGFf.js +1 -0
- package/dist/cjs/sy-area-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-bar-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-bubble-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-chart.cjs.entry.js +2 -0
- package/dist/cjs/sy-column-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-data-zoom.cjs.entry.js +1 -0
- package/dist/cjs/sy-dot-plot-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-dumbbell-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-funnel-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-gauge-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-grid.sy-grid-standard-BNEY4YEK.js +4 -0
- package/dist/cjs/sy-grid_2.cjs.entry.js +1 -0
- package/dist/cjs/sy-histogram-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-item-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-line-chart-path-Cfasx_t5.js +1 -0
- package/dist/cjs/sy-line-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-lollipop-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-marimekko-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-navigator.cjs.entry.js +1 -0
- package/dist/cjs/sy-pareto-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-pictorial-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-pie-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-polar-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-radar-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-scatter-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-stem-leaf-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-tilemap.cjs.entry.js +1 -0
- package/dist/cjs/sy-tornado-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-variwide-chart.cjs.entry.js +1 -0
- package/dist/cjs/sy-visual-map.cjs.entry.js +1 -0
- package/dist/cjs/sy-wafer-correlation.cjs.entry.js +1 -0
- package/dist/cjs/sy-wafer-map.cjs.entry.js +1 -0
- package/dist/cjs/sy-wafer-stack.cjs.entry.js +1 -0
- package/dist/cjs/sy-word-cloud.cjs.entry.js +1 -0
- package/dist/cjs/sy-yield-zone-chart.cjs.entry.js +1 -0
- package/dist/cjs/types-jSXHeK-g.js +1 -0
- package/dist/cjs/viewport-zoom-h9w4q7XJ.js +1 -0
- package/dist/cjs/visual-map-binding-Ddnoet7F.js +1 -0
- package/dist/cjs/wafer-stack-1qlPI-im.js +1 -0
- package/dist/cjs/wafer-value-CZzFL0S-.js +1 -0
- package/dist/cjs/zoom-interaction-C3K9MKr2.js +1 -0
- package/dist/cjs/zoom-window-oCyi6HPg.js +1 -0
- package/dist/collection/collection-manifest.json +213 -0
- package/dist/collection/components/_shared/brand/brand-decision.js +1 -0
- package/dist/collection/components/_shared/brand/brand-export-default.js +1 -0
- package/dist/collection/components/_shared/brand/brand-export.js +1 -0
- package/dist/collection/components/_shared/brand/brand-integrity.js +1 -0
- package/dist/collection/components/_shared/brand/brand-lockup-default.js +1 -0
- package/dist/collection/components/_shared/brand/brand-logo.js +1 -0
- package/dist/collection/components/_shared/brand/brand-mark-default.js +1 -0
- package/dist/collection/components/_shared/brand/brand-mark.js +1 -0
- package/dist/collection/components/_shared/brand/index.js +1 -0
- package/dist/collection/components/_shared/brand/types.js +1 -0
- package/dist/collection/components/chart/_shared/core/a11y/a11y.js +1 -0
- package/dist/collection/components/chart/_shared/core/a11y/contrast.js +1 -0
- package/dist/collection/components/chart/_shared/core/a11y/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/action/action-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/action/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/adapter/animatable-mark.js +1 -0
- package/dist/collection/components/chart/_shared/core/adapter/deferred-pro-renderer.js +1 -0
- package/dist/collection/components/chart/_shared/core/adapter/gpu-availability.js +1 -0
- package/dist/collection/components/chart/_shared/core/adapter/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/adapter/streamable-series.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/flip.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/heatmap-animator.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/interruptible.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/morph-paint-order.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/scene3d-exit.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/stream-interp.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/transition.js +1 -0
- package/dist/collection/components/chart/_shared/core/animation/tween.js +1 -0
- package/dist/collection/components/chart/_shared/core/annotation/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/auto-labels.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/axis-base.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/category-axis.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/label-collision.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/linear-axis.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/log-axis.js +1 -0
- package/dist/collection/components/chart/_shared/core/axis/time-axis.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/brand-placement.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/chart-brand-config.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/chart-brand-export.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/chart-brand-host.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/chart-brand-lazy.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/chart-brand-palette.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/chart-brand-theme.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/chart-brand.js +1 -0
- package/dist/collection/components/chart/_shared/core/brand/license/chart-brand-license.js +1 -0
- package/dist/collection/components/chart/_shared/core/brush/brush-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/brush/brush-geometry.js +1 -0
- package/dist/collection/components/chart/_shared/core/brush/brush-interaction.js +1 -0
- package/dist/collection/components/chart/_shared/core/brush/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/heatmap-color.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/interpolate.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/named-colors.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/parse.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/resolve.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/rgba.js +1 -0
- package/dist/collection/components/chart/_shared/core/color/scheme.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/bar3d-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/box-plot-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/bubble-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/calendar-heatmap-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/candlestick-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/cartesian-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/cartesian-series-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/chord-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/dendrogram-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/density-map-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/error-bar-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/flow-lines-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/gantt-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/geo-map-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/geo-map-features-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/heatmap-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/icicle-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/network-graph-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/parallel-coordinates-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/sankey-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/scatter3d-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/scene3d-camera-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/scene3d-chart-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/scene3d-lighting-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/scene3d-orbit-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/spectrogram-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/sunburst-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/surface3d-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/theme-river-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/treemap-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/contract/waterfall-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/crosshair/category-snap.js +1 -0
- package/dist/collection/components/chart/_shared/core/crosshair/crosshair.js +1 -0
- package/dist/collection/components/chart/_shared/core/crosshair/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/data/dataset.js +1 -0
- package/dist/collection/components/chart/_shared/core/data/encode.js +1 -0
- package/dist/collection/components/chart/_shared/core/data/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/data/transforms.js +1 -0
- package/dist/collection/components/chart/_shared/core/data/values-attribute.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-cursor.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-export.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-hit.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-interaction.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-measure.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-projection.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/drawing-tools.js +1 -0
- package/dist/collection/components/chart/_shared/core/drawing/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/engine/resolve-chart-engine.js +1 -0
- package/dist/collection/components/chart/_shared/core/engine/types.js +1 -0
- package/dist/collection/components/chart/_shared/core/event/hit-test.js +1 -0
- package/dist/collection/components/chart/_shared/core/event/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/event/point-context-menu.js +1 -0
- package/dist/collection/components/chart/_shared/core/event/pointer.js +1 -0
- package/dist/collection/components/chart/_shared/core/export/chart-export.js +2 -0
- package/dist/collection/components/chart/_shared/core/export/data-table.js +1 -0
- package/dist/collection/components/chart/_shared/core/export/html-overlay.js +1 -0
- package/dist/collection/components/chart/_shared/core/export/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/export/svg-fonts.js +1 -0
- package/dist/collection/components/chart/_shared/core/financial-bars.js +1 -0
- package/dist/collection/components/chart/_shared/core/format/datetime.js +1 -0
- package/dist/collection/components/chart/_shared/core/format/duration.js +1 -0
- package/dist/collection/components/chart/_shared/core/format/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/format/number.js +1 -0
- package/dist/collection/components/chart/_shared/core/format/safe-formatter.js +1 -0
- package/dist/collection/components/chart/_shared/core/graph/strongly-connected.js +1 -0
- package/dist/collection/components/chart/_shared/core/hover/highlight.js +1 -0
- package/dist/collection/components/chart/_shared/core/hover/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/axis-label-thinning.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/cartesian-frame-interaction.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/cartesian-frame.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/cartesian-render-domain.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/device-pixel-box.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/frame.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/label-geometry.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/label-obstacle-index.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/legend-interaction.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/legend.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/plot-area.js +1 -0
- package/dist/collection/components/chart/_shared/core/layout/title.js +1 -0
- package/dist/collection/components/chart/_shared/core/license/chart-license-bridge.js +1 -0
- package/dist/collection/components/chart/_shared/core/license/chart-license-features.js +1 -0
- package/dist/collection/components/chart/_shared/core/license/chart-license-notice.js +1 -0
- package/dist/collection/components/chart/_shared/core/limits/point-cap.js +1 -0
- package/dist/collection/components/chart/_shared/core/loading/chart-build-tier.js +1 -0
- package/dist/collection/components/chart/_shared/core/loading/chart-element-loader.js +1 -0
- package/dist/collection/components/chart/_shared/core/loading/chart-load-controller.js +1 -0
- package/dist/collection/components/chart/_shared/core/loading/chart-type-rows.js +1 -0
- package/dist/collection/components/chart/_shared/core/loading/chart-type-table.js +1 -0
- package/dist/collection/components/chart/_shared/core/loading/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/locale/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/locale/locale.js +1 -0
- package/dist/collection/components/chart/_shared/core/math/ease.js +1 -0
- package/dist/collection/components/chart/_shared/core/math/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/math/primitives.js +1 -0
- package/dist/collection/components/chart/_shared/core/math/stat.js +1 -0
- package/dist/collection/components/chart/_shared/core/menu/context-menu.js +1 -0
- package/dist/collection/components/chart/_shared/core/menu/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/numeric/quickselect.js +1 -0
- package/dist/collection/components/chart/_shared/core/numeric/safe-numeric.js +1 -0
- package/dist/collection/components/chart/_shared/core/progressive/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/progressive/progressive-draw.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/band.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/diverging.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/linear.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/log.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/ordinal.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/point.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/pow.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/quantile.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/quantize.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/sequential.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/symlog.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/threshold.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/tick-strategy.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/time-tick-strategy.js +1 -0
- package/dist/collection/components/chart/_shared/core/scale/time.js +1 -0
- package/dist/collection/components/chart/_shared/core/spatial/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/spatial/kdtree.js +1 -0
- package/dist/collection/components/chart/_shared/core/spatial/kernel.js +1 -0
- package/dist/collection/components/chart/_shared/core/spatial/quadtree.js +1 -0
- package/dist/collection/components/chart/_shared/core/state/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/state/state-model.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/batch-flush-runtime.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/batch-flush.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/category-upserts.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/frame-budget.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/keyed-object-stream-runtime.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/keyed-object-stream.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/ring-buffer-runtime.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/ring-buffer.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/stream-source.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/time-window-runtime.js +1 -0
- package/dist/collection/components/chart/_shared/core/stream/time-window.js +1 -0
- package/dist/collection/components/chart/_shared/core/theme/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/theme/theme.js +1 -0
- package/dist/collection/components/chart/_shared/core/tooltip/card-a11y.js +1 -0
- package/dist/collection/components/chart/_shared/core/tooltip/cell-tooltip-controller.js +1 -0
- package/dist/collection/components/chart/_shared/core/tooltip/connector.js +1 -0
- package/dist/collection/components/chart/_shared/core/tooltip/formatter.js +1 -0
- package/dist/collection/components/chart/_shared/core/tooltip/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/tooltip/tooltip-engine.js +1 -0
- package/dist/collection/components/chart/_shared/core/tooltip/tooltip-transfer.js +1 -0
- package/dist/collection/components/chart/_shared/core/types.js +1 -0
- package/dist/collection/components/chart/_shared/core/visual-map/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/visual-map/visual-map-binding.js +1 -0
- package/dist/collection/components/chart/_shared/core/visual-map/visual-map-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/crosshair-sync.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/index.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/viewport-zoom.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/zoom-connect.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/zoom-contract.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/zoom-drag.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/zoom-host.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/zoom-interaction.js +1 -0
- package/dist/collection/components/chart/_shared/core/zoom/zoom-window.js +1 -0
- package/dist/collection/components/chart/_shared/render/canvas.js +1 -0
- package/dist/collection/components/chart/_shared/render/index.js +1 -0
- package/dist/collection/components/chart/_shared/render/series.js +1 -0
- package/dist/collection/components/chart/area-chart/core/animation/animator.js +1 -0
- package/dist/collection/components/chart/area-chart/core/animation/easing.js +1 -0
- package/dist/collection/components/chart/area-chart/core/animation/index.js +1 -0
- package/dist/collection/components/chart/area-chart/core/animation/path-morph.js +1 -0
- package/dist/collection/components/chart/area-chart/core/area-chart-core.js +1 -0
- package/dist/collection/components/chart/area-chart/core/area-pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/area-chart/core/pattern-kind.js +1 -0
- package/dist/collection/components/chart/area-chart/core/streaming/index.js +1 -0
- package/dist/collection/components/chart/area-chart/core/streaming/ring-buffer-runtime.js +1 -0
- package/dist/collection/components/chart/area-chart/core/streaming/ring-buffer.js +1 -0
- package/dist/collection/components/chart/area-chart/core/streaming/stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/area-chart/core/streaming/stream-source.js +1 -0
- package/dist/collection/components/chart/area-chart/core/types.js +1 -0
- package/dist/collection/components/chart/area-chart/core/visual-regression/baseline.js +1 -0
- package/dist/collection/components/chart/area-chart/core/visual-regression/dom-snapshot.js +1 -0
- package/dist/collection/components/chart/area-chart/core/visual-regression/stream-frame-snapshot.js +1 -0
- package/dist/collection/components/chart/area-chart/engines/standard/area-chart-standard-renderer.js +1 -0
- package/dist/collection/components/chart/area-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/area-chart/engines/standard/sy-area-chart-path.js +1 -0
- package/dist/collection/components/chart/area-chart/index.js +1 -0
- package/dist/collection/components/chart/area-chart/sy-area-chart.css +1 -0
- package/dist/collection/components/chart/area-chart/sy-area-chart.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/animation/animator.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/animation/baseline-grow.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/animation/easing.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/animation/index.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/animation/path-morph.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/bar-border.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/bar-chart-core.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/bar-layout.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/bar-pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/streaming/index.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/streaming/ring-buffer-runtime.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/streaming/ring-buffer.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/streaming/stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/streaming/stream-source.js +1 -0
- package/dist/collection/components/chart/bar-chart/core/types.js +1 -0
- package/dist/collection/components/chart/bar-chart/engines/standard/bar-chart-standard-renderer.js +1 -0
- package/dist/collection/components/chart/bar-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/bar-chart/engines/standard/sy-bar-chart-path.js +1 -0
- package/dist/collection/components/chart/bar-chart/index.js +1 -0
- package/dist/collection/components/chart/bar-chart/sy-bar-chart.css +1 -0
- package/dist/collection/components/chart/bar-chart/sy-bar-chart.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-chart-core.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-color.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-data.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-geometry.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-morph.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-pack.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-projection.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/bubble-stream-source.js +1 -0
- package/dist/collection/components/chart/bubble-chart/core/types.js +1 -0
- package/dist/collection/components/chart/bubble-chart/engines/standard/bubble-standard-renderer.js +1 -0
- package/dist/collection/components/chart/bubble-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/bubble-chart/index.js +1 -0
- package/dist/collection/components/chart/bubble-chart/sy-bubble-chart.css +1 -0
- package/dist/collection/components/chart/bubble-chart/sy-bubble-chart.js +1 -0
- package/dist/collection/components/chart/column-chart/core/animation/animator.js +1 -0
- package/dist/collection/components/chart/column-chart/core/animation/easing.js +1 -0
- package/dist/collection/components/chart/column-chart/core/animation/index.js +1 -0
- package/dist/collection/components/chart/column-chart/core/animation/path-morph.js +1 -0
- package/dist/collection/components/chart/column-chart/core/column-border.js +1 -0
- package/dist/collection/components/chart/column-chart/core/column-chart-core.js +1 -0
- package/dist/collection/components/chart/column-chart/core/column-pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/column-chart/core/column-stack.js +1 -0
- package/dist/collection/components/chart/column-chart/core/streaming/index.js +1 -0
- package/dist/collection/components/chart/column-chart/core/streaming/ring-buffer-runtime.js +1 -0
- package/dist/collection/components/chart/column-chart/core/streaming/ring-buffer.js +1 -0
- package/dist/collection/components/chart/column-chart/core/streaming/stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/column-chart/core/streaming/stream-source.js +1 -0
- package/dist/collection/components/chart/column-chart/core/types.js +1 -0
- package/dist/collection/components/chart/column-chart/engines/standard/column-chart-standard-renderer.js +1 -0
- package/dist/collection/components/chart/column-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/column-chart/engines/standard/sy-column-chart-path.js +1 -0
- package/dist/collection/components/chart/column-chart/index.js +1 -0
- package/dist/collection/components/chart/column-chart/sy-column-chart.css +1 -0
- package/dist/collection/components/chart/column-chart/sy-column-chart.js +1 -0
- package/dist/collection/components/chart/data-zoom/core/data-zoom-model.js +1 -0
- package/dist/collection/components/chart/data-zoom/core/data-zoom-target.js +1 -0
- package/dist/collection/components/chart/data-zoom/sy-data-zoom.css +1 -0
- package/dist/collection/components/chart/data-zoom/sy-data-zoom.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/core/dot-plot-animator.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/core/dot-plot-chart-core.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/core/dot-plot-geometry.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/core/dot-plot-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/core/dot-plot-stream-source.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/core/types.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/index.js +1 -0
- package/dist/collection/components/chart/dot-plot-chart/sy-dot-plot-chart.css +1 -0
- package/dist/collection/components/chart/dot-plot-chart/sy-dot-plot-chart.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/core/dumbbell-animator.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/core/dumbbell-chart-core.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/core/dumbbell-data.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/core/dumbbell-geometry.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/core/dumbbell-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/core/dumbbell-stream-source.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/core/types.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/index.js +1 -0
- package/dist/collection/components/chart/dumbbell-chart/sy-dumbbell-chart.css +1 -0
- package/dist/collection/components/chart/dumbbell-chart/sy-dumbbell-chart.js +1 -0
- package/dist/collection/components/chart/facade-types.js +1 -0
- package/dist/collection/components/chart/funnel-chart/core/funnel-animator.js +1 -0
- package/dist/collection/components/chart/funnel-chart/core/funnel-chart-core.js +1 -0
- package/dist/collection/components/chart/funnel-chart/core/funnel-geometry.js +1 -0
- package/dist/collection/components/chart/funnel-chart/core/funnel-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/funnel-chart/core/funnel-stream-source.js +1 -0
- package/dist/collection/components/chart/funnel-chart/core/funnel-tooltip.js +1 -0
- package/dist/collection/components/chart/funnel-chart/core/types.js +1 -0
- package/dist/collection/components/chart/funnel-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/funnel-chart/index.js +1 -0
- package/dist/collection/components/chart/funnel-chart/sy-funnel-chart.css +1 -0
- package/dist/collection/components/chart/funnel-chart/sy-funnel-chart.js +1 -0
- package/dist/collection/components/chart/gauge-chart/core/gauge-animator.js +1 -0
- package/dist/collection/components/chart/gauge-chart/core/gauge-chart-core.js +1 -0
- package/dist/collection/components/chart/gauge-chart/core/gauge-geometry.js +1 -0
- package/dist/collection/components/chart/gauge-chart/core/gauge-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/gauge-chart/core/gauge-stream-source.js +1 -0
- package/dist/collection/components/chart/gauge-chart/core/gauge-tooltip.js +1 -0
- package/dist/collection/components/chart/gauge-chart/core/types.js +1 -0
- package/dist/collection/components/chart/gauge-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/gauge-chart/index.js +1 -0
- package/dist/collection/components/chart/gauge-chart/sy-gauge-chart.css +1 -0
- package/dist/collection/components/chart/gauge-chart/sy-gauge-chart.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/histogram-animator.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/histogram-binning.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/histogram-chart-core.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/histogram-measure.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/histogram-pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/histogram-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/histogram-stream-source.js +1 -0
- package/dist/collection/components/chart/histogram-chart/core/types.js +1 -0
- package/dist/collection/components/chart/histogram-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/histogram-chart/index.js +1 -0
- package/dist/collection/components/chart/histogram-chart/sy-histogram-chart.css +1 -0
- package/dist/collection/components/chart/histogram-chart/sy-histogram-chart.js +1 -0
- package/dist/collection/components/chart/item-chart/core/item-chart-core.js +1 -0
- package/dist/collection/components/chart/item-chart/core/item-geometry.js +1 -0
- package/dist/collection/components/chart/item-chart/core/item-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/item-chart/core/item-stream-source.js +1 -0
- package/dist/collection/components/chart/item-chart/core/item-tooltip.js +1 -0
- package/dist/collection/components/chart/item-chart/core/types.js +1 -0
- package/dist/collection/components/chart/item-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/item-chart/index.js +1 -0
- package/dist/collection/components/chart/item-chart/sy-item-chart.css +1 -0
- package/dist/collection/components/chart/item-chart/sy-item-chart.js +1 -0
- package/dist/collection/components/chart/line-chart/core/animation/animator.js +1 -0
- package/dist/collection/components/chart/line-chart/core/animation/easing.js +1 -0
- package/dist/collection/components/chart/line-chart/core/animation/index.js +1 -0
- package/dist/collection/components/chart/line-chart/core/animation/path-morph.js +1 -0
- package/dist/collection/components/chart/line-chart/core/event/hit-test.js +1 -0
- package/dist/collection/components/chart/line-chart/core/event/index.js +1 -0
- package/dist/collection/components/chart/line-chart/core/license/engine-swap-license.js +1 -0
- package/dist/collection/components/chart/line-chart/core/line-chart-core.js +1 -0
- package/dist/collection/components/chart/line-chart/core/pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/line-chart/core/streaming/index.js +1 -0
- package/dist/collection/components/chart/line-chart/core/streaming/ring-buffer-runtime.js +1 -0
- package/dist/collection/components/chart/line-chart/core/streaming/ring-buffer.js +1 -0
- package/dist/collection/components/chart/line-chart/core/streaming/stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/line-chart/core/streaming/stream-source.js +1 -0
- package/dist/collection/components/chart/line-chart/core/types.js +1 -0
- package/dist/collection/components/chart/line-chart/core/visual-regression/baseline.js +1 -0
- package/dist/collection/components/chart/line-chart/core/visual-regression/dom-snapshot.js +1 -0
- package/dist/collection/components/chart/line-chart/core/visual-regression/stream-frame-snapshot.js +1 -0
- package/dist/collection/components/chart/line-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/line-chart/engines/standard/line-chart-standard-renderer.js +1 -0
- package/dist/collection/components/chart/line-chart/engines/standard/sy-line-chart-path.js +1 -0
- package/dist/collection/components/chart/line-chart/index.js +1 -0
- package/dist/collection/components/chart/line-chart/sy-line-chart.css +1 -0
- package/dist/collection/components/chart/line-chart/sy-line-chart.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/core/lollipop-animator.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/core/lollipop-chart-core.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/core/lollipop-geometry.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/core/lollipop-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/core/lollipop-stream-source.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/core/types.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/index.js +1 -0
- package/dist/collection/components/chart/lollipop-chart/sy-lollipop-chart.css +1 -0
- package/dist/collection/components/chart/lollipop-chart/sy-lollipop-chart.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/core/marimekko-animator.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/core/marimekko-chart-core.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/core/marimekko-geometry.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/core/marimekko-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/core/marimekko-stream-source.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/core/types.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/index.js +1 -0
- package/dist/collection/components/chart/marimekko-chart/sy-marimekko-chart.css +1 -0
- package/dist/collection/components/chart/marimekko-chart/sy-marimekko-chart.js +1 -0
- package/dist/collection/components/chart/navigator/core/navigator-preview.js +1 -0
- package/dist/collection/components/chart/navigator/sy-navigator.css +1 -0
- package/dist/collection/components/chart/navigator/sy-navigator.js +1 -0
- package/dist/collection/components/chart/pareto-chart/core/pareto-animator.js +1 -0
- package/dist/collection/components/chart/pareto-chart/core/pareto-chart-core.js +1 -0
- package/dist/collection/components/chart/pareto-chart/core/pareto-geometry.js +1 -0
- package/dist/collection/components/chart/pareto-chart/core/pareto-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/pareto-chart/core/pareto-stream-source.js +1 -0
- package/dist/collection/components/chart/pareto-chart/core/types.js +1 -0
- package/dist/collection/components/chart/pareto-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/pareto-chart/index.js +1 -0
- package/dist/collection/components/chart/pareto-chart/sy-pareto-chart.css +1 -0
- package/dist/collection/components/chart/pareto-chart/sy-pareto-chart.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/core/path-bounds.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/core/pictorial-animator.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/core/pictorial-chart-core.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/core/pictorial-geometry.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/core/pictorial-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/core/pictorial-stream-source.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/core/types.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/index.js +1 -0
- package/dist/collection/components/chart/pictorial-chart/sy-pictorial-chart.css +1 -0
- package/dist/collection/components/chart/pictorial-chart/sy-pictorial-chart.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-animator.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-chart-core.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-flip.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-geometry.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-labels.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-leader-lines.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-stream-source.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/pie-tooltip.js +1 -0
- package/dist/collection/components/chart/pie-chart/core/types.js +1 -0
- package/dist/collection/components/chart/pie-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/pie-chart/index.js +1 -0
- package/dist/collection/components/chart/pie-chart/license/chart-streaming-gate.js +1 -0
- package/dist/collection/components/chart/pie-chart/license/standard-engine-status.js +1 -0
- package/dist/collection/components/chart/pie-chart/sy-pie-chart.css +1 -0
- package/dist/collection/components/chart/pie-chart/sy-pie-chart.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-chart-core.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-geometry.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-pro-records.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-sector-bounds.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-stream-source.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/polar-tooltip.js +1 -0
- package/dist/collection/components/chart/polar-chart/core/types.js +1 -0
- package/dist/collection/components/chart/polar-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/polar-chart/index.js +1 -0
- package/dist/collection/components/chart/polar-chart/sy-polar-chart.css +1 -0
- package/dist/collection/components/chart/polar-chart/sy-polar-chart.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/radar-animator.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/radar-chart-core.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/radar-crosshair.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/radar-geometry.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/radar-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/radar-stream-source.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/radar-tooltip.js +1 -0
- package/dist/collection/components/chart/radar-chart/core/types.js +1 -0
- package/dist/collection/components/chart/radar-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/radar-chart/index.js +1 -0
- package/dist/collection/components/chart/radar-chart/sy-radar-chart.css +1 -0
- package/dist/collection/components/chart/radar-chart/sy-radar-chart.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/animation/easing.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/animation/index.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/animation/scatter-animator.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/perf.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/scatter-chart-core.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/scatter-draw-signature.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/scatter-pro-renderer-loader.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/streaming/index.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/streaming/scatter-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/streaming/scatter-stream-source.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/types.js +1 -0
- package/dist/collection/components/chart/scatter-chart/core/visual-map.js +1 -0
- package/dist/collection/components/chart/scatter-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/scatter-chart/engines/standard/scatter-chart-standard-renderer.js +1 -0
- package/dist/collection/components/chart/scatter-chart/engines/standard/sy-scatter-chart-path.js +1 -0
- package/dist/collection/components/chart/scatter-chart/index.js +1 -0
- package/dist/collection/components/chart/scatter-chart/sy-scatter-chart.css +1 -0
- package/dist/collection/components/chart/scatter-chart/sy-scatter-chart.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/core/stem-leaf-core.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/core/stem-leaf-model.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/core/stem-leaf-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/core/stem-leaf-stream-source.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/core/stem-leaf-tooltip.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/core/types.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/index.js +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/sy-stem-leaf-chart.css +1 -0
- package/dist/collection/components/chart/stem-leaf-chart/sy-stem-leaf-chart.js +1 -0
- package/dist/collection/components/chart/sy-chart.css +1 -0
- package/dist/collection/components/chart/sy-chart.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/core/tilemap-core.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/core/tilemap-geometry.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/core/tilemap-legend.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/core/tilemap-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/core/tilemap-stream-source.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/core/tilemap-tooltip.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/core/types.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/index.js +1 -0
- package/dist/collection/components/chart/tilemap-chart/sy-tilemap.css +1 -0
- package/dist/collection/components/chart/tilemap-chart/sy-tilemap.js +1 -0
- package/dist/collection/components/chart/tornado-chart/core/tornado-animator.js +1 -0
- package/dist/collection/components/chart/tornado-chart/core/tornado-chart-core.js +1 -0
- package/dist/collection/components/chart/tornado-chart/core/tornado-geometry.js +1 -0
- package/dist/collection/components/chart/tornado-chart/core/tornado-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/tornado-chart/core/tornado-stream-source.js +1 -0
- package/dist/collection/components/chart/tornado-chart/core/types.js +1 -0
- package/dist/collection/components/chart/tornado-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/tornado-chart/index.js +1 -0
- package/dist/collection/components/chart/tornado-chart/sy-tornado-chart.css +1 -0
- package/dist/collection/components/chart/tornado-chart/sy-tornado-chart.js +1 -0
- package/dist/collection/components/chart/variwide-chart/core/types.js +1 -0
- package/dist/collection/components/chart/variwide-chart/core/variwide-animator.js +1 -0
- package/dist/collection/components/chart/variwide-chart/core/variwide-chart-core.js +1 -0
- package/dist/collection/components/chart/variwide-chart/core/variwide-geometry.js +1 -0
- package/dist/collection/components/chart/variwide-chart/core/variwide-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/variwide-chart/core/variwide-stream-source.js +1 -0
- package/dist/collection/components/chart/variwide-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/variwide-chart/index.js +1 -0
- package/dist/collection/components/chart/variwide-chart/sy-variwide-chart.css +1 -0
- package/dist/collection/components/chart/variwide-chart/sy-variwide-chart.js +1 -0
- package/dist/collection/components/chart/visual-map/sy-visual-map.css +1 -0
- package/dist/collection/components/chart/visual-map/sy-visual-map.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/types.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-animator.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-bin.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-correlation.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-defect.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-die-index.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-geometry.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-legend.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-map-core.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-render.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-shot.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-stack.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-stream-source.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-value.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/core/wafer-yield-zone.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/index.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/sy-wafer-correlation.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/sy-wafer-map.css +1 -0
- package/dist/collection/components/chart/wafer-map-chart/sy-wafer-map.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/sy-wafer-stack.js +1 -0
- package/dist/collection/components/chart/wafer-map-chart/sy-yield-zone-chart.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/core/types.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/core/word-cloud-core.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/core/word-layout.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/core/word-measure.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/core/word-stream-source-runtime.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/core/word-stream-source.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/core/word-tooltip.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/engines/standard/index.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/index.js +1 -0
- package/dist/collection/components/chart/word-cloud-chart/sy-word-cloud.css +1 -0
- package/dist/collection/components/chart/word-cloud-chart/sy-word-cloud.js +1 -0
- package/dist/collection/components/dynamic-source.js +1 -0
- package/dist/collection/components/grid/core/a11y/aria-grid.js +1 -0
- package/dist/collection/components/grid/core/a11y/audit-checklist.js +1 -0
- package/dist/collection/components/grid/core/a11y/contrast.js +1 -0
- package/dist/collection/components/grid/core/a11y/screen-reader-transcript.js +1 -0
- package/dist/collection/components/grid/core/a11y/snapshot.js +1 -0
- package/dist/collection/components/grid/core/api/base-types.js +1 -0
- package/dist/collection/components/grid/core/api/contracts.js +1 -0
- package/dist/collection/components/grid/core/api/index.js +1 -0
- package/dist/collection/components/grid/core/api/live-object-model.js +1 -0
- package/dist/collection/components/grid/core/audit/audit-export.js +1 -0
- package/dist/collection/components/grid/core/audit/audit-log.js +1 -0
- package/dist/collection/components/grid/core/brand/grid-brand.js +2 -0
- package/dist/collection/components/grid/core/build-tier.js +1 -0
- package/dist/collection/components/grid/core/cell/cell-class-rules.js +1 -0
- package/dist/collection/components/grid/core/cell/cell-style.js +1 -0
- package/dist/collection/components/grid/core/cell/expression-runtime.js +1 -0
- package/dist/collection/components/grid/core/cell/index.js +1 -0
- package/dist/collection/components/grid/core/cell/renderer-registry.js +1 -0
- package/dist/collection/components/grid/core/cell/value-formatter.js +1 -0
- package/dist/collection/components/grid/core/cell/value-getter.js +1 -0
- package/dist/collection/components/grid/core/cell-cycle.js +1 -0
- package/dist/collection/components/grid/core/cell-flash/cell-flash.js +1 -0
- package/dist/collection/components/grid/core/cell-tooltip/hover-delay.js +1 -0
- package/dist/collection/components/grid/core/cell-tooltip/index.js +1 -0
- package/dist/collection/components/grid/core/cell-tooltip/tooltip-text.js +1 -0
- package/dist/collection/components/grid/core/chart-link/chart-bridge-types-probe.js +1 -0
- package/dist/collection/components/grid/core/clipboard/parse.js +1 -0
- package/dist/collection/components/grid/core/clipboard/paste-plan.js +1 -0
- package/dist/collection/components/grid/core/clipboard/serialize.js +1 -0
- package/dist/collection/components/grid/core/collab-css.js +1 -0
- package/dist/collection/components/grid/core/collab-loader.js +1 -0
- package/dist/collection/components/grid/core/collab-mentions.js +1 -0
- package/dist/collection/components/grid/core/collab-types.js +1 -0
- package/dist/collection/components/grid/core/column/column-auto-size.js +1 -0
- package/dist/collection/components/grid/core/column/column-groups.js +1 -0
- package/dist/collection/components/grid/core/column/column-pin.js +1 -0
- package/dist/collection/components/grid/core/column/column-reorder.js +1 -0
- package/dist/collection/components/grid/core/column/column-resize.js +1 -0
- package/dist/collection/components/grid/core/column/column-sort.js +1 -0
- package/dist/collection/components/grid/core/column/column-state.js +1 -0
- package/dist/collection/components/grid/core/column/column-visibility.js +1 -0
- package/dist/collection/components/grid/core/column/index.js +1 -0
- package/dist/collection/components/grid/core/component/async-value-source.js +1 -0
- package/dist/collection/components/grid/core/component/component-runtime-chunk.js +1 -0
- package/dist/collection/components/grid/core/component/contracts.js +1 -0
- package/dist/collection/components/grid/core/component/editor-adapter.js +1 -0
- package/dist/collection/components/grid/core/component/editor-facade-controller.js +1 -0
- package/dist/collection/components/grid/core/component/editor-validation-presentation.js +1 -0
- package/dist/collection/components/grid/core/component/filter-adapter.js +1 -0
- package/dist/collection/components/grid/core/component/filter-facade-controller.js +1 -0
- package/dist/collection/components/grid/core/component/framework-bridge.js +1 -0
- package/dist/collection/components/grid/core/component/index.js +1 -0
- package/dist/collection/components/grid/core/component/popup-placement.js +1 -0
- package/dist/collection/components/grid/core/component/registry.js +1 -0
- package/dist/collection/components/grid/core/component/renderer-adapter.js +1 -0
- package/dist/collection/components/grid/core/component/renderer-controller.js +1 -0
- package/dist/collection/components/grid/core/component/rich-select-editor.js +1 -0
- package/dist/collection/components/grid/core/component/runtime.js +1 -0
- package/dist/collection/components/grid/core/conditional-format/cf-builder-chunk.js +1 -0
- package/dist/collection/components/grid/core/conditional-format/cf-builder.js +1 -0
- package/dist/collection/components/grid/core/conditional-format/conditional-format.js +1 -0
- package/dist/collection/components/grid/core/context-menu/clipboard.js +1 -0
- package/dist/collection/components/grid/core/context-menu/index.js +1 -0
- package/dist/collection/components/grid/core/context-menu/menu.js +1 -0
- package/dist/collection/components/grid/core/context-menu/types.js +1 -0
- package/dist/collection/components/grid/core/edit/checkbox-editor-render.js +1 -0
- package/dist/collection/components/grid/core/edit/checkbox-editor.js +1 -0
- package/dist/collection/components/grid/core/edit/date-editor-render.js +1 -0
- package/dist/collection/components/grid/core/edit/date-editor.js +1 -0
- package/dist/collection/components/grid/core/edit/date-picker.js +1 -0
- package/dist/collection/components/grid/core/edit/index.js +1 -0
- package/dist/collection/components/grid/core/edit/large-text-editor.js +1 -0
- package/dist/collection/components/grid/core/edit/number-editor-render.js +1 -0
- package/dist/collection/components/grid/core/edit/number-editor.js +1 -0
- package/dist/collection/components/grid/core/edit/prospective-edit.js +1 -0
- package/dist/collection/components/grid/core/edit/row-edit.js +1 -0
- package/dist/collection/components/grid/core/edit/select-editor-render.js +1 -0
- package/dist/collection/components/grid/core/edit/select-editor.js +1 -0
- package/dist/collection/components/grid/core/edit/text-editor-render.js +1 -0
- package/dist/collection/components/grid/core/edit/text-editor.js +1 -0
- package/dist/collection/components/grid/core/edit/textarea-editor-render.js +1 -0
- package/dist/collection/components/grid/core/edit/textarea-editor.js +1 -0
- package/dist/collection/components/grid/core/edit/transaction-api.js +1 -0
- package/dist/collection/components/grid/core/edit/transaction.js +1 -0
- package/dist/collection/components/grid/core/edit/undo-redo.js +1 -0
- package/dist/collection/components/grid/core/empty-state-cycle.js +1 -0
- package/dist/collection/components/grid/core/event/index.js +1 -0
- package/dist/collection/components/grid/core/event/row-click.js +1 -0
- package/dist/collection/components/grid/core/export/csv.js +1 -0
- package/dist/collection/components/grid/core/export/index.js +1 -0
- package/dist/collection/components/grid/core/filter/advanced-query.js +1 -0
- package/dist/collection/components/grid/core/filter/condition-builder.js +1 -0
- package/dist/collection/components/grid/core/filter/date.js +1 -0
- package/dist/collection/components/grid/core/filter/filter-ui-types.js +1 -0
- package/dist/collection/components/grid/core/filter/number.js +1 -0
- package/dist/collection/components/grid/core/filter/quick-filter.js +1 -0
- package/dist/collection/components/grid/core/filter/text.js +1 -0
- package/dist/collection/components/grid/core/filter-cycle.js +1 -0
- package/dist/collection/components/grid/core/floating/index.js +1 -0
- package/dist/collection/components/grid/core/floating/positioning.js +1 -0
- package/dist/collection/components/grid/core/formula-acceleration-loader.js +1 -0
- package/dist/collection/components/grid/core/formula-text.js +1 -0
- package/dist/collection/components/grid/core/grid-core.js +1 -0
- package/dist/collection/components/grid/core/hover/row.js +1 -0
- package/dist/collection/components/grid/core/import/csv/index.js +1 -0
- package/dist/collection/components/grid/core/import/csv/parse-csv.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/cell-ref.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/errors.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/formula.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/grid-import-chunk.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/index.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/inflate.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/merged-cells.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/number-format.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/parse-xlsx.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/pick-sheet.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/shared-strings.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/sheet-streaming.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/sheet.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/styles.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/workbook.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/xml-parser.js +1 -0
- package/dist/collection/components/grid/core/import/xlsx/zip-reader.js +1 -0
- package/dist/collection/components/grid/core/license/grid-acceleration-port.js +3 -0
- package/dist/collection/components/grid/core/license/grid-feature.js +1 -0
- package/dist/collection/components/grid/core/license/grid-license-facade.js +4 -0
- package/dist/collection/components/grid/core/license/grid-license-runtime.js +1 -0
- package/dist/collection/components/grid/core/license/grid-license-session.js +1 -0
- package/dist/collection/components/grid/core/license/grid-license.js +5 -0
- package/dist/collection/components/grid/core/license/grid-method-route.js +1 -0
- package/dist/collection/components/grid/core/license/grid-method-table.js +1 -0
- package/dist/collection/components/grid/core/loader/chunk-contract.js +1 -0
- package/dist/collection/components/grid/core/loader/chunk-loader.js +1 -0
- package/dist/collection/components/grid/core/loading-cycle.js +1 -0
- package/dist/collection/components/grid/core/locale/messages.js +1 -0
- package/dist/collection/components/grid/core/locale/presets.js +1 -0
- package/dist/collection/components/grid/core/locale/resolve.js +1 -0
- package/dist/collection/components/grid/core/numeric/safe-numeric.js +1 -0
- package/dist/collection/components/grid/core/pagination-cycle.js +1 -0
- package/dist/collection/components/grid/core/pipeline/comparator-default.js +1 -0
- package/dist/collection/components/grid/core/pipeline/engine-rows-memo.js +1 -0
- package/dist/collection/components/grid/core/pipeline/filter.js +1 -0
- package/dist/collection/components/grid/core/pipeline/paginate.js +1 -0
- package/dist/collection/components/grid/core/pipeline/pipeline.js +1 -0
- package/dist/collection/components/grid/core/pipeline/sort.js +1 -0
- package/dist/collection/components/grid/core/pipeline/types.js +1 -0
- package/dist/collection/components/grid/core/pivot/combination-warnings.js +1 -0
- package/dist/collection/components/grid/core/pro-chunk-sources.js +1 -0
- package/dist/collection/components/grid/core/pro-engine-loader.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/engine-precedence.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-chunk-backstop.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-chunk-features.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-clipboard-policy.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-declarations.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-engine-license.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-formula-freeze.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-freeze-work.js +1 -0
- package/dist/collection/components/grid/core/pro-gate/grid-pro-gate.js +2 -0
- package/dist/collection/components/grid/core/pro-gate/grid-state-requirements.js +1 -0
- package/dist/collection/components/grid/core/rbac/cell-access.js +1 -0
- package/dist/collection/components/grid/core/row-drag/drag-safety.js +1 -0
- package/dist/collection/components/grid/core/row-drag/drop-zones.js +1 -0
- package/dist/collection/components/grid/core/row-drag/reorder.js +1 -0
- package/dist/collection/components/grid/core/row-drag/row-drag-chunk.js +1 -0
- package/dist/collection/components/grid/core/row-drag/row-drag-facade.js +1 -0
- package/dist/collection/components/grid/core/row-drag/unmanaged-drag.js +1 -0
- package/dist/collection/components/grid/core/row-layout/aligned-grids-facade.js +1 -0
- package/dist/collection/components/grid/core/row-layout/aligned-grids.js +1 -0
- package/dist/collection/components/grid/core/row-layout/col-span.js +1 -0
- package/dist/collection/components/grid/core/row-layout/full-width-facade.js +1 -0
- package/dist/collection/components/grid/core/row-layout/full-width-rows.js +1 -0
- package/dist/collection/components/grid/core/row-layout/pinned-row-policy.js +1 -0
- package/dist/collection/components/grid/core/row-layout/pinned-rows-facade.js +1 -0
- package/dist/collection/components/grid/core/row-layout/pinned-rows.js +1 -0
- package/dist/collection/components/grid/core/row-layout/row-layout-chunk.js +1 -0
- package/dist/collection/components/grid/core/row-layout/row-layout-facade.js +1 -0
- package/dist/collection/components/grid/core/row-layout/row-span.js +1 -0
- package/dist/collection/components/grid/core/row-layout/span-interaction.js +1 -0
- package/dist/collection/components/grid/core/row-markers.js +1 -0
- package/dist/collection/components/grid/core/row-model/block-cache.js +1 -0
- package/dist/collection/components/grid/core/row-model/client-side.js +1 -0
- package/dist/collection/components/grid/core/row-model/datasource.js +1 -0
- package/dist/collection/components/grid/core/row-model/index.js +1 -0
- package/dist/collection/components/grid/core/row-model/infinite.js +1 -0
- package/dist/collection/components/grid/core/row-model/placeholder-row.js +1 -0
- package/dist/collection/components/grid/core/row-model/viewport-adapters.js +1 -0
- package/dist/collection/components/grid/core/selection/canonical-ranges.js +1 -0
- package/dist/collection/components/grid/core/selection/checkbox-column.js +1 -0
- package/dist/collection/components/grid/core/selection/range-bounds.js +1 -0
- package/dist/collection/components/grid/core/selection/row.js +1 -0
- package/dist/collection/components/grid/core/side-bar/side-bar.js +1 -0
- package/dist/collection/components/grid/core/snapshot/snapshot-diff.js +1 -0
- package/dist/collection/components/grid/core/snapshot/snapshot.js +1 -0
- package/dist/collection/components/grid/core/sort-cycle.js +1 -0
- package/dist/collection/components/grid/core/sort-model.js +1 -0
- package/dist/collection/components/grid/core/spreadsheet-text.js +1 -0
- package/dist/collection/components/grid/core/state/canonical.js +1 -0
- package/dist/collection/components/grid/core/state/contracts.js +1 -0
- package/dist/collection/components/grid/core/state/filter-handlers.js +1 -0
- package/dist/collection/components/grid/core/state/find-state.js +1 -0
- package/dist/collection/components/grid/core/state/grid-state.js +1 -0
- package/dist/collection/components/grid/core/state/migrate.js +1 -0
- package/dist/collection/components/grid/core/state/ownership.js +1 -0
- package/dist/collection/components/grid/core/state/persistence.js +1 -0
- package/dist/collection/components/grid/core/state/slices/columns.js +1 -0
- package/dist/collection/components/grid/core/state/slices/filter.js +1 -0
- package/dist/collection/components/grid/core/state/slices/rows.js +1 -0
- package/dist/collection/components/grid/core/state/slices/ui.js +1 -0
- package/dist/collection/components/grid/core/state/state-events.js +1 -0
- package/dist/collection/components/grid/core/state/validate.js +1 -0
- package/dist/collection/components/grid/core/status-bar/status-bar.js +1 -0
- package/dist/collection/components/grid/core/sync/array.js +1 -0
- package/dist/collection/components/grid/core/sync/collab-bridge.js +1 -0
- package/dist/collection/components/grid/core/sync/id.js +1 -0
- package/dist/collection/components/grid/core/sync/text.js +1 -0
- package/dist/collection/components/grid/core/sync/undo-manager.js +1 -0
- package/dist/collection/components/grid/core/theme/apply.js +1 -0
- package/dist/collection/components/grid/core/theme/presets.js +1 -0
- package/dist/collection/components/grid/core/theme/tokens.js +1 -0
- package/dist/collection/components/grid/core/types.js +1 -0
- package/dist/collection/components/grid/core/utils/structural.js +1 -0
- package/dist/collection/components/grid/core/validation/validation.js +1 -0
- package/dist/collection/components/grid/core/virtualizer/cell-virtualizer.js +1 -0
- package/dist/collection/components/grid/core/virtualizer/column-virtualizer.js +1 -0
- package/dist/collection/components/grid/core/virtualizer/index.js +1 -0
- package/dist/collection/components/grid/core/virtualizer/row-virtualizer.js +1 -0
- package/dist/collection/components/grid/core/visual-regression/baseline.js +1 -0
- package/dist/collection/components/grid/core/visual-regression/dom-snapshot.js +1 -0
- package/dist/collection/components/grid/core/visual-regression/real-dom-canonicalise.js +1 -0
- package/dist/collection/components/grid/core/vnode-factory.js +1 -0
- package/dist/collection/components/grid/engines/standard/index.js +1 -0
- package/dist/collection/components/grid/engines/standard/sy-grid-standard.css +1 -0
- package/dist/collection/components/grid/engines/standard/sy-grid-standard.js +1 -0
- package/dist/collection/components/grid/index.js +1 -0
- package/dist/collection/components/grid/sy-grid.css +1 -0
- package/dist/collection/components/grid/sy-grid.js +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/license/base64url.js +1 -0
- package/dist/collection/license/certificate.js +1 -0
- package/dist/collection/license/constants.js +1 -0
- package/dist/collection/license/context.js +1 -0
- package/dist/collection/license/deployment.js +1 -0
- package/dist/collection/license/diagnostic-constants.js +1 -0
- package/dist/collection/license/discovery.js +1 -0
- package/dist/collection/license/errors.js +1 -0
- package/dist/collection/license/evaluate.js +1 -0
- package/dist/collection/license/failure.js +1 -0
- package/dist/collection/license/fetch-license.js +1 -0
- package/dist/collection/license/generated/chart-features.generated.js +1 -0
- package/dist/collection/license/generated/core-features.generated.js +1 -0
- package/dist/collection/license/generated/feature-map.generated.js +1 -0
- package/dist/collection/license/generated/grid-features.generated.js +1 -0
- package/dist/collection/license/generated/products.generated.js +1 -0
- package/dist/collection/license/index.js +1 -0
- package/dist/collection/license/json.js +1 -0
- package/dist/collection/license/jws.js +1 -0
- package/dist/collection/license/registry.js +1 -0
- package/dist/collection/license/release.generated.js +1 -0
- package/dist/collection/license/runtime.js +1 -0
- package/dist/collection/license/subtle.js +1 -0
- package/dist/collection/license/timers.js +1 -0
- package/dist/collection/license/timestamp.js +1 -0
- package/dist/collection/license/trust-keys.generated.js +1 -0
- package/dist/collection/license/trust-store.js +1 -0
- package/dist/collection/license/types.js +1 -0
- package/dist/collection/license/verify.js +1 -0
- package/dist/collection/license/watch.js +1 -0
- package/dist/collection/utils/story-template.js +1 -0
- package/dist/components/chart-types.d.ts +112 -0
- package/dist/components/chart-types.js +1 -0
- package/dist/components/index.d.ts +10 -0
- package/dist/components/index.js +1 -0
- package/dist/components/p-4CjYGJmq.js +1 -0
- package/dist/components/p-B2xXnkZp.js +1 -0
- package/dist/components/p-B3gMdXEP.js +1 -0
- package/dist/components/p-BEKrg3SG.js +1 -0
- package/dist/components/p-BKZM2o7w.js +1 -0
- package/dist/components/p-BMJUs2xT.js +1 -0
- package/dist/components/p-BPmwlQtL.js +1 -0
- package/dist/components/p-BVmDGX0a.js +1 -0
- package/dist/components/p-BXmzh2Uk.js +1 -0
- package/dist/components/p-BY5ObKGD.js +1 -0
- package/dist/components/p-BYBaMhHn.js +1 -0
- package/dist/components/p-BjWO1Np_.js +7 -0
- package/dist/components/p-BsBcTKjx.js +1 -0
- package/dist/components/p-BwM4aW0R.js +1 -0
- package/dist/components/p-BwtrZuf8.js +1 -0
- package/dist/components/p-C0f63Npv.js +1 -0
- package/dist/components/p-C1RaN8eG.js +1 -0
- package/dist/components/p-C374wsaF.js +1 -0
- package/dist/components/p-C3jLZ9n2.js +1 -0
- package/dist/components/p-C4HtF7VM.js +1 -0
- package/dist/components/p-C7iceRLc.js +1 -0
- package/dist/components/p-CChSqEEO.js +1 -0
- package/dist/components/p-CHzVSIZc.js +1 -0
- package/dist/components/p-COVKN1k-.js +1 -0
- package/dist/components/p-COqnXkRL.js +1 -0
- package/dist/components/p-CTw0rE8p.js +1 -0
- package/dist/components/p-C_2TIPHD.js +1 -0
- package/dist/components/p-CgUI9S4_.js +1 -0
- package/dist/components/p-Cr85dazN.js +1 -0
- package/dist/components/p-CsYy63Zk.js +1 -0
- package/dist/components/p-D0Zr5HHA.js +1 -0
- package/dist/components/p-D3LVx-JL.js +1 -0
- package/dist/components/p-D5aEHK78.js +1 -0
- package/dist/components/p-D5noTyYE.js +1 -0
- package/dist/components/p-D7cSRpbb.js +1 -0
- package/dist/components/p-D8Cooryu.js +1 -0
- package/dist/components/p-DC8q69mD.js +1 -0
- package/dist/components/p-DH8K7zqB.js +1 -0
- package/dist/components/p-DO6vGxJP.js +1 -0
- package/dist/components/p-DQ1RB1XB.js +1 -0
- package/dist/components/p-DTZUbymc.js +1 -0
- package/dist/components/p-DaxJ0D3O.js +1 -0
- package/dist/components/p-DhcQQtwn.js +1 -0
- package/dist/components/p-DlE5rQTs.js +1 -0
- package/dist/components/p-DmhWH-SN.js +1 -0
- package/dist/components/p-DovcCKwV.js +1 -0
- package/dist/components/p-Dx-FsUbT.js +1 -0
- package/dist/components/p-EXuVQfpl.js +1 -0
- package/dist/components/p-GI1Zoo93.js +1 -0
- package/dist/components/p-Qu4itcma.js +1 -0
- package/dist/components/p-S3uzYKsD.js +1 -0
- package/dist/components/p-WQSantHg.js +1 -0
- package/dist/components/p-kJe8wHkN.js +1 -0
- package/dist/components/p-rwo1tgqX.js +1 -0
- package/dist/components/package.json +1 -0
- package/dist/components/sy-area-chart.d.ts +8 -0
- package/dist/components/sy-area-chart.js +1 -0
- package/dist/components/sy-bar-chart.d.ts +8 -0
- package/dist/components/sy-bar-chart.js +1 -0
- package/dist/components/sy-bubble-chart.d.ts +8 -0
- package/dist/components/sy-bubble-chart.js +1 -0
- package/dist/components/sy-chart.d.ts +8 -0
- package/dist/components/sy-chart.js +1 -0
- package/dist/components/sy-column-chart.d.ts +8 -0
- package/dist/components/sy-column-chart.js +1 -0
- package/dist/components/sy-data-zoom.d.ts +8 -0
- package/dist/components/sy-data-zoom.js +1 -0
- package/dist/components/sy-dot-plot-chart.d.ts +8 -0
- package/dist/components/sy-dot-plot-chart.js +1 -0
- package/dist/components/sy-dumbbell-chart.d.ts +8 -0
- package/dist/components/sy-dumbbell-chart.js +1 -0
- package/dist/components/sy-funnel-chart.d.ts +8 -0
- package/dist/components/sy-funnel-chart.js +1 -0
- package/dist/components/sy-gauge-chart.d.ts +8 -0
- package/dist/components/sy-gauge-chart.js +1 -0
- package/dist/components/sy-grid-standard.d.ts +8 -0
- package/dist/components/sy-grid-standard.js +1 -0
- package/dist/components/sy-grid.d.ts +8 -0
- package/dist/components/sy-grid.js +4 -0
- package/dist/components/sy-histogram-chart.d.ts +8 -0
- package/dist/components/sy-histogram-chart.js +1 -0
- package/dist/components/sy-item-chart.d.ts +8 -0
- package/dist/components/sy-item-chart.js +1 -0
- package/dist/components/sy-line-chart.d.ts +8 -0
- package/dist/components/sy-line-chart.js +1 -0
- package/dist/components/sy-lollipop-chart.d.ts +8 -0
- package/dist/components/sy-lollipop-chart.js +1 -0
- package/dist/components/sy-marimekko-chart.d.ts +8 -0
- package/dist/components/sy-marimekko-chart.js +1 -0
- package/dist/components/sy-navigator.d.ts +8 -0
- package/dist/components/sy-navigator.js +1 -0
- package/dist/components/sy-pareto-chart.d.ts +8 -0
- package/dist/components/sy-pareto-chart.js +1 -0
- package/dist/components/sy-pictorial-chart.d.ts +8 -0
- package/dist/components/sy-pictorial-chart.js +1 -0
- package/dist/components/sy-pie-chart.d.ts +8 -0
- package/dist/components/sy-pie-chart.js +1 -0
- package/dist/components/sy-polar-chart.d.ts +8 -0
- package/dist/components/sy-polar-chart.js +1 -0
- package/dist/components/sy-radar-chart.d.ts +8 -0
- package/dist/components/sy-radar-chart.js +1 -0
- package/dist/components/sy-scatter-chart.d.ts +8 -0
- package/dist/components/sy-scatter-chart.js +1 -0
- package/dist/components/sy-stem-leaf-chart.d.ts +8 -0
- package/dist/components/sy-stem-leaf-chart.js +1 -0
- package/dist/components/sy-tilemap.d.ts +8 -0
- package/dist/components/sy-tilemap.js +1 -0
- package/dist/components/sy-tornado-chart.d.ts +8 -0
- package/dist/components/sy-tornado-chart.js +1 -0
- package/dist/components/sy-variwide-chart.d.ts +8 -0
- package/dist/components/sy-variwide-chart.js +1 -0
- package/dist/components/sy-visual-map.d.ts +8 -0
- package/dist/components/sy-visual-map.js +1 -0
- package/dist/components/sy-wafer-correlation.d.ts +8 -0
- package/dist/components/sy-wafer-correlation.js +1 -0
- package/dist/components/sy-wafer-map.d.ts +8 -0
- package/dist/components/sy-wafer-map.js +1 -0
- package/dist/components/sy-wafer-stack.d.ts +8 -0
- package/dist/components/sy-wafer-stack.js +1 -0
- package/dist/components/sy-word-cloud.d.ts +8 -0
- package/dist/components/sy-word-cloud.js +1 -0
- package/dist/components/sy-yield-zone-chart.d.ts +8 -0
- package/dist/components/sy-yield-zone-chart.js +1 -0
- package/dist/esm/_syidax-chart-build-tier-C374wsaF.js +1 -0
- package/dist/esm/advanced.js +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js +1 -0
- package/dist/esm/auto-labels-DYKIyOfR.js +1 -0
- package/dist/esm/axis-label-thinning-S3uzYKsD.js +1 -0
- package/dist/esm/brand-logo-BXzIll5N.js +1 -0
- package/dist/esm/brand-mark-default-AzDRbG7D.js +1 -0
- package/dist/esm/brush-interaction-Dz9vozhJ.js +1 -0
- package/dist/esm/cartesian-contract-DogpgTFv.js +1 -0
- package/dist/esm/cartesian-frame-interaction-BC4761vn.js +1 -0
- package/dist/esm/cartesian-series-contract-zrH7aO3p.js +1 -0
- package/dist/esm/cf-builder-chunk-BqLdIDeK.js +1 -0
- package/dist/esm/chart-brand-_HhzGz4E.js +1 -0
- package/dist/esm/chart-brand-license-2N_At2Bk.js +1 -0
- package/dist/esm/chart-element-loader-DdX3JJh2.js +1 -0
- package/dist/esm/chart-license-bridge-BuvMRxsm.js +1 -0
- package/dist/esm/chart-streaming-gate-CXnkXyxT.js +1 -0
- package/dist/esm/column-stack-C61nYCOk.js +1 -0
- package/dist/esm/component-runtime-chunk-BDJ-kk9r.js +1 -0
- package/dist/esm/connector-C0f63Npv.js +1 -0
- package/dist/esm/contracts-Dx-FsUbT.js +1 -0
- package/dist/esm/data-zoom-model-C76mzN9Y.js +1 -0
- package/dist/esm/data-zoom-target-Dd9TQ3qQ.js +1 -0
- package/dist/esm/device-pixel-box-BKZM2o7w.js +1 -0
- package/dist/esm/drawing-export-BYBaMhHn.js +1 -0
- package/dist/esm/engine-swap-license-CwIR5SyJ.js +1 -0
- package/dist/esm/errors-DUELYDa7.js +1 -0
- package/dist/esm/grid-import-chunk-4CjYGJmq.js +1 -0
- package/dist/esm/grid-license-session-ChWa3h9U.js +7 -0
- package/dist/esm/index-D6-RUOhD.js +1 -0
- package/dist/esm/index-DChj4qx2.js +5 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/interpolate-D5aEHK78.js +1 -0
- package/dist/esm/legend-BwM4aW0R.js +1 -0
- package/dist/esm/legend-interaction-BVmDGX0a.js +1 -0
- package/dist/esm/live-object-model-BsBcTKjx.js +1 -0
- package/dist/esm/loader.js +1 -0
- package/dist/esm/number-D8Cooryu.js +1 -0
- package/dist/esm/parse-EXuVQfpl.js +1 -0
- package/dist/esm/pie-animator-DQ1RB1XB.js +1 -0
- package/dist/esm/pie-geometry-C1RaN8eG.js +1 -0
- package/dist/esm/point-context-menu-B6K1arcd.js +1 -0
- package/dist/esm/resolve-CitzwxIw.js +1 -0
- package/dist/esm/row-drag-chunk-DorjnyoH.js +1 -0
- package/dist/esm/row-layout-chunk-HmpHDcvM.js +1 -0
- package/dist/esm/safe-formatter-DO6vGxJP.js +1 -0
- package/dist/esm/scheme-BwtrZuf8.js +1 -0
- package/dist/esm/standard-engine-status-mIwM2Z1u.js +1 -0
- package/dist/esm/stream-interp-DTZUbymc.js +1 -0
- package/dist/esm/sy-area-chart.entry.js +1 -0
- package/dist/esm/sy-bar-chart.entry.js +1 -0
- package/dist/esm/sy-bubble-chart.entry.js +1 -0
- package/dist/esm/sy-chart.entry.js +2 -0
- package/dist/esm/sy-column-chart.entry.js +1 -0
- package/dist/esm/sy-data-zoom.entry.js +1 -0
- package/dist/esm/sy-dot-plot-chart.entry.js +1 -0
- package/dist/esm/sy-dumbbell-chart.entry.js +1 -0
- package/dist/esm/sy-funnel-chart.entry.js +1 -0
- package/dist/esm/sy-gauge-chart.entry.js +1 -0
- package/dist/esm/sy-grid.sy-grid-standard-BXtFit4h.js +4 -0
- package/dist/esm/sy-grid_2.entry.js +1 -0
- package/dist/esm/sy-histogram-chart.entry.js +1 -0
- package/dist/esm/sy-item-chart.entry.js +1 -0
- package/dist/esm/sy-line-chart-path-CIwqM40T.js +1 -0
- package/dist/esm/sy-line-chart.entry.js +1 -0
- package/dist/esm/sy-lollipop-chart.entry.js +1 -0
- package/dist/esm/sy-marimekko-chart.entry.js +1 -0
- package/dist/esm/sy-navigator.entry.js +1 -0
- package/dist/esm/sy-pareto-chart.entry.js +1 -0
- package/dist/esm/sy-pictorial-chart.entry.js +1 -0
- package/dist/esm/sy-pie-chart.entry.js +1 -0
- package/dist/esm/sy-polar-chart.entry.js +1 -0
- package/dist/esm/sy-radar-chart.entry.js +1 -0
- package/dist/esm/sy-scatter-chart.entry.js +1 -0
- package/dist/esm/sy-stem-leaf-chart.entry.js +1 -0
- package/dist/esm/sy-tilemap.entry.js +1 -0
- package/dist/esm/sy-tornado-chart.entry.js +1 -0
- package/dist/esm/sy-variwide-chart.entry.js +1 -0
- package/dist/esm/sy-visual-map.entry.js +1 -0
- package/dist/esm/sy-wafer-correlation.entry.js +1 -0
- package/dist/esm/sy-wafer-map.entry.js +1 -0
- package/dist/esm/sy-wafer-stack.entry.js +1 -0
- package/dist/esm/sy-word-cloud.entry.js +1 -0
- package/dist/esm/sy-yield-zone-chart.entry.js +1 -0
- package/dist/esm/types-x7RF8NVg.js +1 -0
- package/dist/esm/viewport-zoom-WQSantHg.js +1 -0
- package/dist/esm/visual-map-binding-DiSr3bTW.js +1 -0
- package/dist/esm/wafer-stack-Bg3YP3SU.js +1 -0
- package/dist/esm/wafer-value-BntCdxpN.js +1 -0
- package/dist/esm/zoom-interaction-DIwGXfJu.js +1 -0
- package/dist/esm/zoom-window-D6sPnRDQ.js +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/license/base64url.d.ts +3 -0
- package/dist/license/base64url.js +1 -0
- package/dist/license/certificate.d.ts +48 -0
- package/dist/license/certificate.js +1 -0
- package/dist/license/constants.d.ts +38 -0
- package/dist/license/constants.js +1 -0
- package/dist/license/context.d.ts +6 -0
- package/dist/license/context.js +1 -0
- package/dist/license/deployment.d.ts +9 -0
- package/dist/license/deployment.js +1 -0
- package/dist/license/diagnostic-constants.d.ts +7 -0
- package/dist/license/diagnostic-constants.js +1 -0
- package/dist/license/discovery.d.ts +10 -0
- package/dist/license/discovery.js +1 -0
- package/dist/license/errors.d.ts +47 -0
- package/dist/license/errors.js +1 -0
- package/dist/license/evaluate.d.ts +19 -0
- package/dist/license/evaluate.js +1 -0
- package/dist/license/failure.d.ts +11 -0
- package/dist/license/failure.js +1 -0
- package/dist/license/fetch-license.d.ts +12 -0
- package/dist/license/fetch-license.js +1 -0
- package/dist/license/generated/chart-features.generated.d.ts +2244 -0
- package/dist/license/generated/chart-features.generated.js +1 -0
- package/dist/license/generated/core-features.generated.d.ts +349 -0
- package/dist/license/generated/core-features.generated.js +1 -0
- package/dist/license/generated/feature-map.generated.d.ts +4 -0
- package/dist/license/generated/feature-map.generated.js +1 -0
- package/dist/license/generated/grid-features.generated.d.ts +3681 -0
- package/dist/license/generated/grid-features.generated.js +1 -0
- package/dist/license/generated/products.generated.d.ts +26 -0
- package/dist/license/generated/products.generated.js +1 -0
- package/dist/license/index.d.ts +15 -0
- package/dist/license/index.js +1 -0
- package/dist/license/json.d.ts +4 -0
- package/dist/license/json.js +1 -0
- package/dist/license/jws.d.ts +9 -0
- package/dist/license/jws.js +1 -0
- package/dist/license/registry.d.ts +37 -0
- package/dist/license/registry.js +1 -0
- package/dist/license/release.generated.d.ts +6 -0
- package/dist/license/release.generated.js +1 -0
- package/dist/license/runtime.d.ts +27 -0
- package/dist/license/runtime.js +1 -0
- package/dist/license/subtle.d.ts +5 -0
- package/dist/license/subtle.js +1 -0
- package/dist/license/timers.d.ts +6 -0
- package/dist/license/timers.js +1 -0
- package/dist/license/timestamp.d.ts +1 -0
- package/dist/license/timestamp.js +1 -0
- package/dist/license/trust-keys.generated.d.ts +3 -0
- package/dist/license/trust-keys.generated.js +1 -0
- package/dist/license/trust-store.d.ts +6 -0
- package/dist/license/trust-store.js +1 -0
- package/dist/license/types.d.ts +85 -0
- package/dist/license/types.js +1 -0
- package/dist/license/verify.d.ts +30 -0
- package/dist/license/verify.js +1 -0
- package/dist/license/watch.d.ts +18 -0
- package/dist/license/watch.js +1 -0
- package/dist/types/components/_shared/brand/brand-decision.d.ts +3 -0
- package/dist/types/components/_shared/brand/brand-export-default.d.ts +32 -0
- package/dist/types/components/_shared/brand/brand-export.d.ts +34 -0
- package/dist/types/components/_shared/brand/brand-integrity.d.ts +2 -0
- package/dist/types/components/_shared/brand/brand-lockup-default.d.ts +5 -0
- package/dist/types/components/_shared/brand/brand-logo.d.ts +22 -0
- package/dist/types/components/_shared/brand/brand-mark-default.d.ts +52 -0
- package/dist/types/components/_shared/brand/brand-mark.d.ts +22 -0
- package/dist/types/components/_shared/brand/index.d.ts +5 -0
- package/dist/types/components/_shared/brand/types.d.ts +41 -0
- package/dist/types/components/chart/_shared/core/a11y/a11y.d.ts +16 -0
- package/dist/types/components/chart/_shared/core/a11y/contrast.d.ts +24 -0
- package/dist/types/components/chart/_shared/core/a11y/index.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/action/action-contract.d.ts +29 -0
- package/dist/types/components/chart/_shared/core/action/index.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/adapter/animatable-mark.d.ts +51 -0
- package/dist/types/components/chart/_shared/core/adapter/deferred-pro-renderer.d.ts +8 -0
- package/dist/types/components/chart/_shared/core/adapter/gpu-availability.d.ts +10 -0
- package/dist/types/components/chart/_shared/core/adapter/index.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/adapter/streamable-series.d.ts +18 -0
- package/dist/types/components/chart/_shared/core/animation/flip.d.ts +65 -0
- package/dist/types/components/chart/_shared/core/animation/heatmap-animator.d.ts +27 -0
- package/dist/types/components/chart/_shared/core/animation/index.d.ts +4 -0
- package/dist/types/components/chart/_shared/core/animation/interruptible.d.ts +48 -0
- package/dist/types/components/chart/_shared/core/animation/morph-paint-order.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/animation/scene3d-exit.d.ts +24 -0
- package/dist/types/components/chart/_shared/core/animation/stream-interp.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/animation/transition.d.ts +83 -0
- package/dist/types/components/chart/_shared/core/animation/tween.d.ts +16 -0
- package/dist/types/components/chart/_shared/core/annotation/index.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/axis/auto-labels.d.ts +21 -0
- package/dist/types/components/chart/_shared/core/axis/axis-base.d.ts +40 -0
- package/dist/types/components/chart/_shared/core/axis/category-axis.d.ts +24 -0
- package/dist/types/components/chart/_shared/core/axis/index.d.ts +7 -0
- package/dist/types/components/chart/_shared/core/axis/label-collision.d.ts +34 -0
- package/dist/types/components/chart/_shared/core/axis/linear-axis.d.ts +23 -0
- package/dist/types/components/chart/_shared/core/axis/log-axis.d.ts +25 -0
- package/dist/types/components/chart/_shared/core/axis/time-axis.d.ts +25 -0
- package/dist/types/components/chart/_shared/core/brand/brand-placement.d.ts +29 -0
- package/dist/types/components/chart/_shared/core/brand/chart-brand-config.d.ts +12 -0
- package/dist/types/components/chart/_shared/core/brand/chart-brand-export.d.ts +20 -0
- package/dist/types/components/chart/_shared/core/brand/chart-brand-host.d.ts +30 -0
- package/dist/types/components/chart/_shared/core/brand/chart-brand-lazy.d.ts +6 -0
- package/dist/types/components/chart/_shared/core/brand/chart-brand-palette.d.ts +7 -0
- package/dist/types/components/chart/_shared/core/brand/chart-brand-theme.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/brand/chart-brand.d.ts +13 -0
- package/dist/types/components/chart/_shared/core/brand/license/chart-brand-license.d.ts +20 -0
- package/dist/types/components/chart/_shared/core/brush/brush-contract.d.ts +101 -0
- package/dist/types/components/chart/_shared/core/brush/brush-geometry.d.ts +61 -0
- package/dist/types/components/chart/_shared/core/brush/brush-interaction.d.ts +63 -0
- package/dist/types/components/chart/_shared/core/brush/index.d.ts +6 -0
- package/dist/types/components/chart/_shared/core/color/heatmap-color.d.ts +28 -0
- package/dist/types/components/chart/_shared/core/color/index.d.ts +5 -0
- package/dist/types/components/chart/_shared/core/color/interpolate.d.ts +33 -0
- package/dist/types/components/chart/_shared/core/color/named-colors.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/color/parse.d.ts +8 -0
- package/dist/types/components/chart/_shared/core/color/resolve.d.ts +20 -0
- package/dist/types/components/chart/_shared/core/color/rgba.d.ts +6 -0
- package/dist/types/components/chart/_shared/core/color/scheme.d.ts +43 -0
- package/dist/types/components/chart/_shared/core/contract/bar3d-contract.d.ts +140 -0
- package/dist/types/components/chart/_shared/core/contract/box-plot-contract.d.ts +138 -0
- package/dist/types/components/chart/_shared/core/contract/bubble-contract.d.ts +118 -0
- package/dist/types/components/chart/_shared/core/contract/calendar-heatmap-contract.d.ts +77 -0
- package/dist/types/components/chart/_shared/core/contract/candlestick-contract.d.ts +204 -0
- package/dist/types/components/chart/_shared/core/contract/cartesian-contract.d.ts +186 -0
- package/dist/types/components/chart/_shared/core/contract/cartesian-series-contract.d.ts +270 -0
- package/dist/types/components/chart/_shared/core/contract/chord-contract.d.ts +183 -0
- package/dist/types/components/chart/_shared/core/contract/dendrogram-contract.d.ts +168 -0
- package/dist/types/components/chart/_shared/core/contract/density-map-contract.d.ts +115 -0
- package/dist/types/components/chart/_shared/core/contract/error-bar-contract.d.ts +98 -0
- package/dist/types/components/chart/_shared/core/contract/flow-lines-contract.d.ts +138 -0
- package/dist/types/components/chart/_shared/core/contract/gantt-contract.d.ts +358 -0
- package/dist/types/components/chart/_shared/core/contract/geo-map-contract.d.ts +367 -0
- package/dist/types/components/chart/_shared/core/contract/geo-map-features-contract.d.ts +42 -0
- package/dist/types/components/chart/_shared/core/contract/heatmap-contract.d.ts +94 -0
- package/dist/types/components/chart/_shared/core/contract/icicle-contract.d.ts +141 -0
- package/dist/types/components/chart/_shared/core/contract/index.d.ts +15 -0
- package/dist/types/components/chart/_shared/core/contract/network-graph-contract.d.ts +271 -0
- package/dist/types/components/chart/_shared/core/contract/parallel-coordinates-contract.d.ts +274 -0
- package/dist/types/components/chart/_shared/core/contract/sankey-contract.d.ts +189 -0
- package/dist/types/components/chart/_shared/core/contract/scatter3d-contract.d.ts +124 -0
- package/dist/types/components/chart/_shared/core/contract/scene3d-camera-contract.d.ts +27 -0
- package/dist/types/components/chart/_shared/core/contract/scene3d-chart-contract.d.ts +29 -0
- package/dist/types/components/chart/_shared/core/contract/scene3d-lighting-contract.d.ts +42 -0
- package/dist/types/components/chart/_shared/core/contract/scene3d-orbit-contract.d.ts +38 -0
- package/dist/types/components/chart/_shared/core/contract/spectrogram-contract.d.ts +82 -0
- package/dist/types/components/chart/_shared/core/contract/sunburst-contract.d.ts +145 -0
- package/dist/types/components/chart/_shared/core/contract/surface3d-contract.d.ts +150 -0
- package/dist/types/components/chart/_shared/core/contract/theme-river-contract.d.ts +167 -0
- package/dist/types/components/chart/_shared/core/contract/treemap-contract.d.ts +138 -0
- package/dist/types/components/chart/_shared/core/contract/waterfall-contract.d.ts +96 -0
- package/dist/types/components/chart/_shared/core/crosshair/category-snap.d.ts +20 -0
- package/dist/types/components/chart/_shared/core/crosshair/crosshair.d.ts +65 -0
- package/dist/types/components/chart/_shared/core/crosshair/index.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/data/dataset.d.ts +42 -0
- package/dist/types/components/chart/_shared/core/data/encode.d.ts +40 -0
- package/dist/types/components/chart/_shared/core/data/index.d.ts +4 -0
- package/dist/types/components/chart/_shared/core/data/transforms.d.ts +106 -0
- package/dist/types/components/chart/_shared/core/data/values-attribute.d.ts +4 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-contract.d.ts +240 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-cursor.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-export.d.ts +11 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-hit.d.ts +12 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-interaction.d.ts +79 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-measure.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-projection.d.ts +35 -0
- package/dist/types/components/chart/_shared/core/drawing/drawing-tools.d.ts +68 -0
- package/dist/types/components/chart/_shared/core/drawing/index.d.ts +14 -0
- package/dist/types/components/chart/_shared/core/engine/resolve-chart-engine.d.ts +25 -0
- package/dist/types/components/chart/_shared/core/engine/types.d.ts +44 -0
- package/dist/types/components/chart/_shared/core/event/hit-test.d.ts +37 -0
- package/dist/types/components/chart/_shared/core/event/index.d.ts +3 -0
- package/dist/types/components/chart/_shared/core/event/point-context-menu.d.ts +22 -0
- package/dist/types/components/chart/_shared/core/event/pointer.d.ts +25 -0
- package/dist/types/components/chart/_shared/core/export/chart-export.d.ts +37 -0
- package/dist/types/components/chart/_shared/core/export/data-table.d.ts +22 -0
- package/dist/types/components/chart/_shared/core/export/html-overlay.d.ts +61 -0
- package/dist/types/components/chart/_shared/core/export/index.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/export/svg-fonts.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/financial-bars.d.ts +29 -0
- package/dist/types/components/chart/_shared/core/format/datetime.d.ts +14 -0
- package/dist/types/components/chart/_shared/core/format/duration.d.ts +10 -0
- package/dist/types/components/chart/_shared/core/format/index.d.ts +3 -0
- package/dist/types/components/chart/_shared/core/format/number.d.ts +15 -0
- package/dist/types/components/chart/_shared/core/format/safe-formatter.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/graph/strongly-connected.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/hover/highlight.d.ts +37 -0
- package/dist/types/components/chart/_shared/core/hover/index.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/index.d.ts +16 -0
- package/dist/types/components/chart/_shared/core/layout/axis-label-thinning.d.ts +19 -0
- package/dist/types/components/chart/_shared/core/layout/cartesian-frame-interaction.d.ts +56 -0
- package/dist/types/components/chart/_shared/core/layout/cartesian-frame.d.ts +119 -0
- package/dist/types/components/chart/_shared/core/layout/cartesian-render-domain.d.ts +14 -0
- package/dist/types/components/chart/_shared/core/layout/device-pixel-box.d.ts +13 -0
- package/dist/types/components/chart/_shared/core/layout/frame.d.ts +54 -0
- package/dist/types/components/chart/_shared/core/layout/index.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/layout/label-geometry.d.ts +19 -0
- package/dist/types/components/chart/_shared/core/layout/label-obstacle-index.d.ts +35 -0
- package/dist/types/components/chart/_shared/core/layout/legend-interaction.d.ts +39 -0
- package/dist/types/components/chart/_shared/core/layout/legend.d.ts +81 -0
- package/dist/types/components/chart/_shared/core/layout/plot-area.d.ts +83 -0
- package/dist/types/components/chart/_shared/core/layout/title.d.ts +55 -0
- package/dist/types/components/chart/_shared/core/license/chart-license-bridge.d.ts +46 -0
- package/dist/types/components/chart/_shared/core/license/chart-license-features.d.ts +13 -0
- package/dist/types/components/chart/_shared/core/license/chart-license-notice.d.ts +24 -0
- package/dist/types/components/chart/_shared/core/limits/point-cap.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/loading/chart-build-tier.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/loading/chart-element-loader.d.ts +51 -0
- package/dist/types/components/chart/_shared/core/loading/chart-load-controller.d.ts +51 -0
- package/dist/types/components/chart/_shared/core/loading/chart-type-rows.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/loading/chart-type-table.d.ts +33 -0
- package/dist/types/components/chart/_shared/core/loading/index.d.ts +6 -0
- package/dist/types/components/chart/_shared/core/locale/index.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/locale/locale.d.ts +39 -0
- package/dist/types/components/chart/_shared/core/math/ease.d.ts +31 -0
- package/dist/types/components/chart/_shared/core/math/index.d.ts +3 -0
- package/dist/types/components/chart/_shared/core/math/primitives.d.ts +11 -0
- package/dist/types/components/chart/_shared/core/math/stat.d.ts +15 -0
- package/dist/types/components/chart/_shared/core/menu/context-menu.d.ts +24 -0
- package/dist/types/components/chart/_shared/core/menu/index.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/numeric/quickselect.d.ts +4 -0
- package/dist/types/components/chart/_shared/core/numeric/safe-numeric.d.ts +17 -0
- package/dist/types/components/chart/_shared/core/progressive/index.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/progressive/progressive-draw.d.ts +31 -0
- package/dist/types/components/chart/_shared/core/scale/band.d.ts +27 -0
- package/dist/types/components/chart/_shared/core/scale/diverging.d.ts +19 -0
- package/dist/types/components/chart/_shared/core/scale/index.d.ts +15 -0
- package/dist/types/components/chart/_shared/core/scale/linear.d.ts +28 -0
- package/dist/types/components/chart/_shared/core/scale/log.d.ts +30 -0
- package/dist/types/components/chart/_shared/core/scale/ordinal.d.ts +12 -0
- package/dist/types/components/chart/_shared/core/scale/point.d.ts +23 -0
- package/dist/types/components/chart/_shared/core/scale/pow.d.ts +31 -0
- package/dist/types/components/chart/_shared/core/scale/quantile.d.ts +14 -0
- package/dist/types/components/chart/_shared/core/scale/quantize.d.ts +20 -0
- package/dist/types/components/chart/_shared/core/scale/sequential.d.ts +17 -0
- package/dist/types/components/chart/_shared/core/scale/symlog.d.ts +30 -0
- package/dist/types/components/chart/_shared/core/scale/threshold.d.ts +13 -0
- package/dist/types/components/chart/_shared/core/scale/tick-strategy.d.ts +16 -0
- package/dist/types/components/chart/_shared/core/scale/time-tick-strategy.d.ts +32 -0
- package/dist/types/components/chart/_shared/core/scale/time.d.ts +30 -0
- package/dist/types/components/chart/_shared/core/spatial/index.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/spatial/kdtree.d.ts +5 -0
- package/dist/types/components/chart/_shared/core/spatial/kernel.d.ts +12 -0
- package/dist/types/components/chart/_shared/core/spatial/quadtree.d.ts +8 -0
- package/dist/types/components/chart/_shared/core/state/index.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/state/state-model.d.ts +18 -0
- package/dist/types/components/chart/_shared/core/stream/batch-flush-runtime.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/stream/batch-flush.d.ts +44 -0
- package/dist/types/components/chart/_shared/core/stream/category-upserts.d.ts +9 -0
- package/dist/types/components/chart/_shared/core/stream/frame-budget.d.ts +37 -0
- package/dist/types/components/chart/_shared/core/stream/index.d.ts +5 -0
- package/dist/types/components/chart/_shared/core/stream/keyed-object-stream-runtime.d.ts +10 -0
- package/dist/types/components/chart/_shared/core/stream/keyed-object-stream.d.ts +19 -0
- package/dist/types/components/chart/_shared/core/stream/ring-buffer-runtime.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/stream/ring-buffer.d.ts +30 -0
- package/dist/types/components/chart/_shared/core/stream/stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/stream/stream-source.d.ts +40 -0
- package/dist/types/components/chart/_shared/core/stream/time-window-runtime.d.ts +2 -0
- package/dist/types/components/chart/_shared/core/stream/time-window.d.ts +21 -0
- package/dist/types/components/chart/_shared/core/theme/index.d.ts +1 -0
- package/dist/types/components/chart/_shared/core/theme/theme.d.ts +21 -0
- package/dist/types/components/chart/_shared/core/tooltip/card-a11y.d.ts +5 -0
- package/dist/types/components/chart/_shared/core/tooltip/cell-tooltip-controller.d.ts +139 -0
- package/dist/types/components/chart/_shared/core/tooltip/connector.d.ts +18 -0
- package/dist/types/components/chart/_shared/core/tooltip/formatter.d.ts +44 -0
- package/dist/types/components/chart/_shared/core/tooltip/index.d.ts +3 -0
- package/dist/types/components/chart/_shared/core/tooltip/tooltip-engine.d.ts +90 -0
- package/dist/types/components/chart/_shared/core/tooltip/tooltip-transfer.d.ts +11 -0
- package/dist/types/components/chart/_shared/core/types.d.ts +51 -0
- package/dist/types/components/chart/_shared/core/visual-map/index.d.ts +4 -0
- package/dist/types/components/chart/_shared/core/visual-map/visual-map-binding.d.ts +50 -0
- package/dist/types/components/chart/_shared/core/visual-map/visual-map-contract.d.ts +125 -0
- package/dist/types/components/chart/_shared/core/zoom/crosshair-sync.d.ts +18 -0
- package/dist/types/components/chart/_shared/core/zoom/index.d.ts +16 -0
- package/dist/types/components/chart/_shared/core/zoom/viewport-zoom.d.ts +33 -0
- package/dist/types/components/chart/_shared/core/zoom/zoom-connect.d.ts +44 -0
- package/dist/types/components/chart/_shared/core/zoom/zoom-contract.d.ts +93 -0
- package/dist/types/components/chart/_shared/core/zoom/zoom-drag.d.ts +13 -0
- package/dist/types/components/chart/_shared/core/zoom/zoom-host.d.ts +58 -0
- package/dist/types/components/chart/_shared/core/zoom/zoom-interaction.d.ts +91 -0
- package/dist/types/components/chart/_shared/core/zoom/zoom-window.d.ts +74 -0
- package/dist/types/components/chart/_shared/render/canvas.d.ts +11 -0
- package/dist/types/components/chart/_shared/render/index.d.ts +6 -0
- package/dist/types/components/chart/_shared/render/series.d.ts +46 -0
- package/dist/types/components/chart/area-chart/core/animation/animator.d.ts +23 -0
- package/dist/types/components/chart/area-chart/core/animation/easing.d.ts +2 -0
- package/dist/types/components/chart/area-chart/core/animation/index.d.ts +3 -0
- package/dist/types/components/chart/area-chart/core/animation/path-morph.d.ts +2 -0
- package/dist/types/components/chart/area-chart/core/area-chart-core.d.ts +45 -0
- package/dist/types/components/chart/area-chart/core/area-pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/area-chart/core/pattern-kind.d.ts +11 -0
- package/dist/types/components/chart/area-chart/core/streaming/index.d.ts +2 -0
- package/dist/types/components/chart/area-chart/core/streaming/ring-buffer-runtime.d.ts +2 -0
- package/dist/types/components/chart/area-chart/core/streaming/ring-buffer.d.ts +11 -0
- package/dist/types/components/chart/area-chart/core/streaming/stream-source-runtime.d.ts +5 -0
- package/dist/types/components/chart/area-chart/core/streaming/stream-source.d.ts +27 -0
- package/dist/types/components/chart/area-chart/core/types.d.ts +121 -0
- package/dist/types/components/chart/area-chart/core/visual-regression/baseline.d.ts +4 -0
- package/dist/types/components/chart/area-chart/core/visual-regression/dom-snapshot.d.ts +14 -0
- package/dist/types/components/chart/area-chart/core/visual-regression/stream-frame-snapshot.d.ts +5 -0
- package/dist/types/components/chart/area-chart/engines/standard/area-chart-standard-renderer.d.ts +11 -0
- package/dist/types/components/chart/area-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/area-chart/engines/standard/sy-area-chart-path.d.ts +94 -0
- package/dist/types/components/chart/area-chart/index.d.ts +3 -0
- package/dist/types/components/chart/area-chart/sy-area-chart.d.ts +448 -0
- package/dist/types/components/chart/bar-chart/core/animation/animator.d.ts +23 -0
- package/dist/types/components/chart/bar-chart/core/animation/baseline-grow.d.ts +12 -0
- package/dist/types/components/chart/bar-chart/core/animation/easing.d.ts +2 -0
- package/dist/types/components/chart/bar-chart/core/animation/index.d.ts +4 -0
- package/dist/types/components/chart/bar-chart/core/animation/path-morph.d.ts +2 -0
- package/dist/types/components/chart/bar-chart/core/bar-border.d.ts +37 -0
- package/dist/types/components/chart/bar-chart/core/bar-chart-core.d.ts +44 -0
- package/dist/types/components/chart/bar-chart/core/bar-layout.d.ts +34 -0
- package/dist/types/components/chart/bar-chart/core/bar-pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/bar-chart/core/streaming/index.d.ts +2 -0
- package/dist/types/components/chart/bar-chart/core/streaming/ring-buffer-runtime.d.ts +2 -0
- package/dist/types/components/chart/bar-chart/core/streaming/ring-buffer.d.ts +11 -0
- package/dist/types/components/chart/bar-chart/core/streaming/stream-source-runtime.d.ts +5 -0
- package/dist/types/components/chart/bar-chart/core/streaming/stream-source.d.ts +27 -0
- package/dist/types/components/chart/bar-chart/core/types.d.ts +80 -0
- package/dist/types/components/chart/bar-chart/engines/standard/bar-chart-standard-renderer.d.ts +34 -0
- package/dist/types/components/chart/bar-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/bar-chart/engines/standard/sy-bar-chart-path.d.ts +29 -0
- package/dist/types/components/chart/bar-chart/index.d.ts +5 -0
- package/dist/types/components/chart/bar-chart/sy-bar-chart.d.ts +431 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-chart-core.d.ts +24 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-color.d.ts +18 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-data.d.ts +41 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-geometry.d.ts +14 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-morph.d.ts +15 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-pack.d.ts +26 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-projection.d.ts +37 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-stream-source-runtime.d.ts +3 -0
- package/dist/types/components/chart/bubble-chart/core/bubble-stream-source.d.ts +7 -0
- package/dist/types/components/chart/bubble-chart/core/types.d.ts +39 -0
- package/dist/types/components/chart/bubble-chart/engines/standard/bubble-standard-renderer.d.ts +29 -0
- package/dist/types/components/chart/bubble-chart/engines/standard/index.d.ts +1 -0
- package/dist/types/components/chart/bubble-chart/index.d.ts +10 -0
- package/dist/types/components/chart/bubble-chart/sy-bubble-chart.d.ts +285 -0
- package/dist/types/components/chart/column-chart/core/animation/animator.d.ts +23 -0
- package/dist/types/components/chart/column-chart/core/animation/easing.d.ts +2 -0
- package/dist/types/components/chart/column-chart/core/animation/index.d.ts +3 -0
- package/dist/types/components/chart/column-chart/core/animation/path-morph.d.ts +2 -0
- package/dist/types/components/chart/column-chart/core/column-border.d.ts +16 -0
- package/dist/types/components/chart/column-chart/core/column-chart-core.d.ts +47 -0
- package/dist/types/components/chart/column-chart/core/column-pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/column-chart/core/column-stack.d.ts +49 -0
- package/dist/types/components/chart/column-chart/core/streaming/index.d.ts +2 -0
- package/dist/types/components/chart/column-chart/core/streaming/ring-buffer-runtime.d.ts +2 -0
- package/dist/types/components/chart/column-chart/core/streaming/ring-buffer.d.ts +11 -0
- package/dist/types/components/chart/column-chart/core/streaming/stream-source-runtime.d.ts +5 -0
- package/dist/types/components/chart/column-chart/core/streaming/stream-source.d.ts +27 -0
- package/dist/types/components/chart/column-chart/core/types.d.ts +79 -0
- package/dist/types/components/chart/column-chart/engines/standard/column-chart-standard-renderer.d.ts +11 -0
- package/dist/types/components/chart/column-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/column-chart/engines/standard/sy-column-chart-path.d.ts +29 -0
- package/dist/types/components/chart/column-chart/index.d.ts +3 -0
- package/dist/types/components/chart/column-chart/sy-column-chart.d.ts +457 -0
- package/dist/types/components/chart/data-zoom/core/data-zoom-model.d.ts +54 -0
- package/dist/types/components/chart/data-zoom/core/data-zoom-target.d.ts +11 -0
- package/dist/types/components/chart/data-zoom/sy-data-zoom.d.ts +64 -0
- package/dist/types/components/chart/dot-plot-chart/core/dot-plot-animator.d.ts +27 -0
- package/dist/types/components/chart/dot-plot-chart/core/dot-plot-chart-core.d.ts +10 -0
- package/dist/types/components/chart/dot-plot-chart/core/dot-plot-geometry.d.ts +50 -0
- package/dist/types/components/chart/dot-plot-chart/core/dot-plot-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/dot-plot-chart/core/dot-plot-stream-source.d.ts +34 -0
- package/dist/types/components/chart/dot-plot-chart/core/types.d.ts +42 -0
- package/dist/types/components/chart/dot-plot-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/dot-plot-chart/index.d.ts +3 -0
- package/dist/types/components/chart/dot-plot-chart/sy-dot-plot-chart.d.ts +215 -0
- package/dist/types/components/chart/dumbbell-chart/core/dumbbell-animator.d.ts +27 -0
- package/dist/types/components/chart/dumbbell-chart/core/dumbbell-chart-core.d.ts +10 -0
- package/dist/types/components/chart/dumbbell-chart/core/dumbbell-data.d.ts +12 -0
- package/dist/types/components/chart/dumbbell-chart/core/dumbbell-geometry.d.ts +38 -0
- package/dist/types/components/chart/dumbbell-chart/core/dumbbell-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/dumbbell-chart/core/dumbbell-stream-source.d.ts +36 -0
- package/dist/types/components/chart/dumbbell-chart/core/types.d.ts +48 -0
- package/dist/types/components/chart/dumbbell-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/dumbbell-chart/index.d.ts +3 -0
- package/dist/types/components/chart/dumbbell-chart/sy-dumbbell-chart.d.ts +237 -0
- package/dist/types/components/chart/facade-types.d.ts +167 -0
- package/dist/types/components/chart/funnel-chart/core/funnel-animator.d.ts +27 -0
- package/dist/types/components/chart/funnel-chart/core/funnel-chart-core.d.ts +10 -0
- package/dist/types/components/chart/funnel-chart/core/funnel-geometry.d.ts +38 -0
- package/dist/types/components/chart/funnel-chart/core/funnel-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/funnel-chart/core/funnel-stream-source.d.ts +29 -0
- package/dist/types/components/chart/funnel-chart/core/funnel-tooltip.d.ts +57 -0
- package/dist/types/components/chart/funnel-chart/core/types.d.ts +78 -0
- package/dist/types/components/chart/funnel-chart/engines/standard/index.d.ts +69 -0
- package/dist/types/components/chart/funnel-chart/index.d.ts +8 -0
- package/dist/types/components/chart/funnel-chart/sy-funnel-chart.d.ts +232 -0
- package/dist/types/components/chart/gauge-chart/core/gauge-animator.d.ts +49 -0
- package/dist/types/components/chart/gauge-chart/core/gauge-chart-core.d.ts +10 -0
- package/dist/types/components/chart/gauge-chart/core/gauge-geometry.d.ts +61 -0
- package/dist/types/components/chart/gauge-chart/core/gauge-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/gauge-chart/core/gauge-stream-source.d.ts +28 -0
- package/dist/types/components/chart/gauge-chart/core/gauge-tooltip.d.ts +65 -0
- package/dist/types/components/chart/gauge-chart/core/types.d.ts +156 -0
- package/dist/types/components/chart/gauge-chart/engines/standard/index.d.ts +110 -0
- package/dist/types/components/chart/gauge-chart/index.d.ts +7 -0
- package/dist/types/components/chart/gauge-chart/sy-gauge-chart.d.ts +296 -0
- package/dist/types/components/chart/histogram-chart/core/histogram-animator.d.ts +27 -0
- package/dist/types/components/chart/histogram-chart/core/histogram-binning.d.ts +30 -0
- package/dist/types/components/chart/histogram-chart/core/histogram-chart-core.d.ts +19 -0
- package/dist/types/components/chart/histogram-chart/core/histogram-measure.d.ts +21 -0
- package/dist/types/components/chart/histogram-chart/core/histogram-pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/histogram-chart/core/histogram-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/histogram-chart/core/histogram-stream-source.d.ts +32 -0
- package/dist/types/components/chart/histogram-chart/core/types.d.ts +97 -0
- package/dist/types/components/chart/histogram-chart/engines/standard/index.d.ts +23 -0
- package/dist/types/components/chart/histogram-chart/index.d.ts +6 -0
- package/dist/types/components/chart/histogram-chart/sy-histogram-chart.d.ts +255 -0
- package/dist/types/components/chart/item-chart/core/item-chart-core.d.ts +10 -0
- package/dist/types/components/chart/item-chart/core/item-geometry.d.ts +13 -0
- package/dist/types/components/chart/item-chart/core/item-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/item-chart/core/item-stream-source.d.ts +28 -0
- package/dist/types/components/chart/item-chart/core/item-tooltip.d.ts +68 -0
- package/dist/types/components/chart/item-chart/core/types.d.ts +81 -0
- package/dist/types/components/chart/item-chart/engines/standard/index.d.ts +37 -0
- package/dist/types/components/chart/item-chart/index.d.ts +7 -0
- package/dist/types/components/chart/item-chart/sy-item-chart.d.ts +276 -0
- package/dist/types/components/chart/line-chart/core/animation/animator.d.ts +23 -0
- package/dist/types/components/chart/line-chart/core/animation/easing.d.ts +2 -0
- package/dist/types/components/chart/line-chart/core/animation/index.d.ts +3 -0
- package/dist/types/components/chart/line-chart/core/animation/path-morph.d.ts +2 -0
- package/dist/types/components/chart/line-chart/core/event/hit-test.d.ts +22 -0
- package/dist/types/components/chart/line-chart/core/event/index.d.ts +1 -0
- package/dist/types/components/chart/line-chart/core/license/engine-swap-license.d.ts +100 -0
- package/dist/types/components/chart/line-chart/core/line-chart-core.d.ts +43 -0
- package/dist/types/components/chart/line-chart/core/pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/line-chart/core/streaming/index.d.ts +2 -0
- package/dist/types/components/chart/line-chart/core/streaming/ring-buffer-runtime.d.ts +2 -0
- package/dist/types/components/chart/line-chart/core/streaming/ring-buffer.d.ts +46 -0
- package/dist/types/components/chart/line-chart/core/streaming/stream-source-runtime.d.ts +5 -0
- package/dist/types/components/chart/line-chart/core/streaming/stream-source.d.ts +29 -0
- package/dist/types/components/chart/line-chart/core/types.d.ts +127 -0
- package/dist/types/components/chart/line-chart/core/visual-regression/baseline.d.ts +4 -0
- package/dist/types/components/chart/line-chart/core/visual-regression/dom-snapshot.d.ts +14 -0
- package/dist/types/components/chart/line-chart/core/visual-regression/stream-frame-snapshot.d.ts +5 -0
- package/dist/types/components/chart/line-chart/engines/standard/index.d.ts +1 -0
- package/dist/types/components/chart/line-chart/engines/standard/line-chart-standard-renderer.d.ts +12 -0
- package/dist/types/components/chart/line-chart/engines/standard/sy-line-chart-path.d.ts +49 -0
- package/dist/types/components/chart/line-chart/index.d.ts +2 -0
- package/dist/types/components/chart/line-chart/sy-line-chart.d.ts +509 -0
- package/dist/types/components/chart/lollipop-chart/core/lollipop-animator.d.ts +27 -0
- package/dist/types/components/chart/lollipop-chart/core/lollipop-chart-core.d.ts +10 -0
- package/dist/types/components/chart/lollipop-chart/core/lollipop-geometry.d.ts +37 -0
- package/dist/types/components/chart/lollipop-chart/core/lollipop-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/lollipop-chart/core/lollipop-stream-source.d.ts +34 -0
- package/dist/types/components/chart/lollipop-chart/core/types.d.ts +20 -0
- package/dist/types/components/chart/lollipop-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/lollipop-chart/index.d.ts +3 -0
- package/dist/types/components/chart/lollipop-chart/sy-lollipop-chart.d.ts +194 -0
- package/dist/types/components/chart/marimekko-chart/core/marimekko-animator.d.ts +27 -0
- package/dist/types/components/chart/marimekko-chart/core/marimekko-chart-core.d.ts +10 -0
- package/dist/types/components/chart/marimekko-chart/core/marimekko-geometry.d.ts +41 -0
- package/dist/types/components/chart/marimekko-chart/core/marimekko-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/marimekko-chart/core/marimekko-stream-source.d.ts +34 -0
- package/dist/types/components/chart/marimekko-chart/core/types.d.ts +32 -0
- package/dist/types/components/chart/marimekko-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/marimekko-chart/index.d.ts +3 -0
- package/dist/types/components/chart/marimekko-chart/sy-marimekko-chart.d.ts +224 -0
- package/dist/types/components/chart/navigator/core/navigator-preview.d.ts +42 -0
- package/dist/types/components/chart/navigator/sy-navigator.d.ts +51 -0
- package/dist/types/components/chart/pareto-chart/core/pareto-animator.d.ts +27 -0
- package/dist/types/components/chart/pareto-chart/core/pareto-chart-core.d.ts +10 -0
- package/dist/types/components/chart/pareto-chart/core/pareto-geometry.d.ts +37 -0
- package/dist/types/components/chart/pareto-chart/core/pareto-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/pareto-chart/core/pareto-stream-source.d.ts +34 -0
- package/dist/types/components/chart/pareto-chart/core/types.d.ts +28 -0
- package/dist/types/components/chart/pareto-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/pareto-chart/index.d.ts +3 -0
- package/dist/types/components/chart/pareto-chart/sy-pareto-chart.d.ts +218 -0
- package/dist/types/components/chart/pictorial-chart/core/path-bounds.d.ts +9 -0
- package/dist/types/components/chart/pictorial-chart/core/pictorial-animator.d.ts +27 -0
- package/dist/types/components/chart/pictorial-chart/core/pictorial-chart-core.d.ts +10 -0
- package/dist/types/components/chart/pictorial-chart/core/pictorial-geometry.d.ts +36 -0
- package/dist/types/components/chart/pictorial-chart/core/pictorial-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/pictorial-chart/core/pictorial-stream-source.d.ts +34 -0
- package/dist/types/components/chart/pictorial-chart/core/types.d.ts +21 -0
- package/dist/types/components/chart/pictorial-chart/engines/standard/index.d.ts +3 -0
- package/dist/types/components/chart/pictorial-chart/index.d.ts +4 -0
- package/dist/types/components/chart/pictorial-chart/sy-pictorial-chart.d.ts +232 -0
- package/dist/types/components/chart/pie-chart/core/pie-animator.d.ts +36 -0
- package/dist/types/components/chart/pie-chart/core/pie-chart-core.d.ts +12 -0
- package/dist/types/components/chart/pie-chart/core/pie-flip.d.ts +21 -0
- package/dist/types/components/chart/pie-chart/core/pie-geometry.d.ts +44 -0
- package/dist/types/components/chart/pie-chart/core/pie-labels.d.ts +40 -0
- package/dist/types/components/chart/pie-chart/core/pie-leader-lines.d.ts +15 -0
- package/dist/types/components/chart/pie-chart/core/pie-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/pie-chart/core/pie-stream-source.d.ts +28 -0
- package/dist/types/components/chart/pie-chart/core/pie-tooltip.d.ts +66 -0
- package/dist/types/components/chart/pie-chart/core/types.d.ts +142 -0
- package/dist/types/components/chart/pie-chart/engines/standard/index.d.ts +27 -0
- package/dist/types/components/chart/pie-chart/index.d.ts +10 -0
- package/dist/types/components/chart/pie-chart/license/chart-streaming-gate.d.ts +77 -0
- package/dist/types/components/chart/pie-chart/license/standard-engine-status.d.ts +9 -0
- package/dist/types/components/chart/pie-chart/sy-pie-chart.d.ts +278 -0
- package/dist/types/components/chart/polar-chart/core/polar-chart-core.d.ts +19 -0
- package/dist/types/components/chart/polar-chart/core/polar-geometry.d.ts +45 -0
- package/dist/types/components/chart/polar-chart/core/polar-pro-records.d.ts +55 -0
- package/dist/types/components/chart/polar-chart/core/polar-pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/polar-chart/core/polar-sector-bounds.d.ts +8 -0
- package/dist/types/components/chart/polar-chart/core/polar-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/polar-chart/core/polar-stream-source.d.ts +32 -0
- package/dist/types/components/chart/polar-chart/core/polar-tooltip.d.ts +68 -0
- package/dist/types/components/chart/polar-chart/core/types.d.ts +141 -0
- package/dist/types/components/chart/polar-chart/engines/standard/index.d.ts +64 -0
- package/dist/types/components/chart/polar-chart/index.d.ts +9 -0
- package/dist/types/components/chart/polar-chart/sy-polar-chart.d.ts +319 -0
- package/dist/types/components/chart/radar-chart/core/radar-animator.d.ts +27 -0
- package/dist/types/components/chart/radar-chart/core/radar-chart-core.d.ts +10 -0
- package/dist/types/components/chart/radar-chart/core/radar-crosshair.d.ts +29 -0
- package/dist/types/components/chart/radar-chart/core/radar-geometry.d.ts +67 -0
- package/dist/types/components/chart/radar-chart/core/radar-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/radar-chart/core/radar-stream-source.d.ts +29 -0
- package/dist/types/components/chart/radar-chart/core/radar-tooltip.d.ts +57 -0
- package/dist/types/components/chart/radar-chart/core/types.d.ts +104 -0
- package/dist/types/components/chart/radar-chart/engines/standard/index.d.ts +84 -0
- package/dist/types/components/chart/radar-chart/index.d.ts +8 -0
- package/dist/types/components/chart/radar-chart/sy-radar-chart.d.ts +262 -0
- package/dist/types/components/chart/scatter-chart/core/animation/easing.d.ts +2 -0
- package/dist/types/components/chart/scatter-chart/core/animation/index.d.ts +2 -0
- package/dist/types/components/chart/scatter-chart/core/animation/scatter-animator.d.ts +31 -0
- package/dist/types/components/chart/scatter-chart/core/perf.d.ts +15 -0
- package/dist/types/components/chart/scatter-chart/core/scatter-chart-core.d.ts +34 -0
- package/dist/types/components/chart/scatter-chart/core/scatter-draw-signature.d.ts +16 -0
- package/dist/types/components/chart/scatter-chart/core/scatter-pro-renderer-loader.d.ts +3 -0
- package/dist/types/components/chart/scatter-chart/core/streaming/index.d.ts +1 -0
- package/dist/types/components/chart/scatter-chart/core/streaming/scatter-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/scatter-chart/core/streaming/scatter-stream-source.d.ts +28 -0
- package/dist/types/components/chart/scatter-chart/core/types.d.ts +125 -0
- package/dist/types/components/chart/scatter-chart/core/visual-map.d.ts +68 -0
- package/dist/types/components/chart/scatter-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/scatter-chart/engines/standard/scatter-chart-standard-renderer.d.ts +29 -0
- package/dist/types/components/chart/scatter-chart/engines/standard/sy-scatter-chart-path.d.ts +30 -0
- package/dist/types/components/chart/scatter-chart/index.d.ts +5 -0
- package/dist/types/components/chart/scatter-chart/sy-scatter-chart.d.ts +438 -0
- package/dist/types/components/chart/stem-leaf-chart/core/stem-leaf-core.d.ts +10 -0
- package/dist/types/components/chart/stem-leaf-chart/core/stem-leaf-model.d.ts +36 -0
- package/dist/types/components/chart/stem-leaf-chart/core/stem-leaf-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/stem-leaf-chart/core/stem-leaf-stream-source.d.ts +32 -0
- package/dist/types/components/chart/stem-leaf-chart/core/stem-leaf-tooltip.d.ts +65 -0
- package/dist/types/components/chart/stem-leaf-chart/core/types.d.ts +39 -0
- package/dist/types/components/chart/stem-leaf-chart/engines/standard/index.d.ts +33 -0
- package/dist/types/components/chart/stem-leaf-chart/index.d.ts +7 -0
- package/dist/types/components/chart/stem-leaf-chart/sy-stem-leaf-chart.d.ts +220 -0
- package/dist/types/components/chart/sy-chart.d.ts +1552 -0
- package/dist/types/components/chart/tilemap-chart/core/tilemap-core.d.ts +10 -0
- package/dist/types/components/chart/tilemap-chart/core/tilemap-geometry.d.ts +44 -0
- package/dist/types/components/chart/tilemap-chart/core/tilemap-legend.d.ts +32 -0
- package/dist/types/components/chart/tilemap-chart/core/tilemap-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/tilemap-chart/core/tilemap-stream-source.d.ts +28 -0
- package/dist/types/components/chart/tilemap-chart/core/tilemap-tooltip.d.ts +67 -0
- package/dist/types/components/chart/tilemap-chart/core/types.d.ts +80 -0
- package/dist/types/components/chart/tilemap-chart/engines/standard/index.d.ts +40 -0
- package/dist/types/components/chart/tilemap-chart/index.d.ts +7 -0
- package/dist/types/components/chart/tilemap-chart/sy-tilemap.d.ts +266 -0
- package/dist/types/components/chart/tornado-chart/core/tornado-animator.d.ts +27 -0
- package/dist/types/components/chart/tornado-chart/core/tornado-chart-core.d.ts +10 -0
- package/dist/types/components/chart/tornado-chart/core/tornado-geometry.d.ts +35 -0
- package/dist/types/components/chart/tornado-chart/core/tornado-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/tornado-chart/core/tornado-stream-source.d.ts +34 -0
- package/dist/types/components/chart/tornado-chart/core/types.d.ts +28 -0
- package/dist/types/components/chart/tornado-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/tornado-chart/index.d.ts +3 -0
- package/dist/types/components/chart/tornado-chart/sy-tornado-chart.d.ts +202 -0
- package/dist/types/components/chart/variwide-chart/core/types.d.ts +27 -0
- package/dist/types/components/chart/variwide-chart/core/variwide-animator.d.ts +27 -0
- package/dist/types/components/chart/variwide-chart/core/variwide-chart-core.d.ts +10 -0
- package/dist/types/components/chart/variwide-chart/core/variwide-geometry.d.ts +37 -0
- package/dist/types/components/chart/variwide-chart/core/variwide-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/variwide-chart/core/variwide-stream-source.d.ts +36 -0
- package/dist/types/components/chart/variwide-chart/engines/standard/index.d.ts +2 -0
- package/dist/types/components/chart/variwide-chart/index.d.ts +3 -0
- package/dist/types/components/chart/variwide-chart/sy-variwide-chart.d.ts +207 -0
- package/dist/types/components/chart/visual-map/sy-visual-map.d.ts +121 -0
- package/dist/types/components/chart/wafer-map-chart/core/types.d.ts +56 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-animator.d.ts +30 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-bin.d.ts +24 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-correlation.d.ts +20 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-defect.d.ts +26 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-die-index.d.ts +30 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-geometry.d.ts +78 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-legend.d.ts +35 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-map-core.d.ts +10 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-render.d.ts +29 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-shot.d.ts +33 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-stack.d.ts +24 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-stream-source-runtime.d.ts +3 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-stream-source.d.ts +12 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-value.d.ts +35 -0
- package/dist/types/components/chart/wafer-map-chart/core/wafer-yield-zone.d.ts +25 -0
- package/dist/types/components/chart/wafer-map-chart/engines/standard/index.d.ts +40 -0
- package/dist/types/components/chart/wafer-map-chart/index.d.ts +17 -0
- package/dist/types/components/chart/wafer-map-chart/sy-wafer-correlation.d.ts +41 -0
- package/dist/types/components/chart/wafer-map-chart/sy-wafer-map.d.ts +302 -0
- package/dist/types/components/chart/wafer-map-chart/sy-wafer-stack.d.ts +37 -0
- package/dist/types/components/chart/wafer-map-chart/sy-yield-zone-chart.d.ts +33 -0
- package/dist/types/components/chart/word-cloud-chart/core/types.d.ts +87 -0
- package/dist/types/components/chart/word-cloud-chart/core/word-cloud-core.d.ts +10 -0
- package/dist/types/components/chart/word-cloud-chart/core/word-layout.d.ts +39 -0
- package/dist/types/components/chart/word-cloud-chart/core/word-measure.d.ts +6 -0
- package/dist/types/components/chart/word-cloud-chart/core/word-stream-source-runtime.d.ts +2 -0
- package/dist/types/components/chart/word-cloud-chart/core/word-stream-source.d.ts +35 -0
- package/dist/types/components/chart/word-cloud-chart/core/word-tooltip.d.ts +67 -0
- package/dist/types/components/chart/word-cloud-chart/engines/standard/index.d.ts +53 -0
- package/dist/types/components/chart/word-cloud-chart/index.d.ts +8 -0
- package/dist/types/components/chart/word-cloud-chart/sy-word-cloud.d.ts +249 -0
- package/dist/types/components/dynamic-source.d.ts +7 -0
- package/dist/types/components/grid/core/a11y/aria-grid.d.ts +57 -0
- package/dist/types/components/grid/core/a11y/audit-checklist.d.ts +48 -0
- package/dist/types/components/grid/core/a11y/contrast.d.ts +13 -0
- package/dist/types/components/grid/core/a11y/screen-reader-transcript.d.ts +53 -0
- package/dist/types/components/grid/core/a11y/snapshot.d.ts +58 -0
- package/dist/types/components/grid/core/api/base-types.d.ts +15 -0
- package/dist/types/components/grid/core/api/contracts.d.ts +2104 -0
- package/dist/types/components/grid/core/api/index.d.ts +3 -0
- package/dist/types/components/grid/core/api/live-object-model.d.ts +186 -0
- package/dist/types/components/grid/core/audit/audit-export.d.ts +29 -0
- package/dist/types/components/grid/core/audit/audit-log.d.ts +70 -0
- package/dist/types/components/grid/core/brand/grid-brand.d.ts +12 -0
- package/dist/types/components/grid/core/build-tier.d.ts +3 -0
- package/dist/types/components/grid/core/cell/cell-class-rules.d.ts +57 -0
- package/dist/types/components/grid/core/cell/cell-style.d.ts +36 -0
- package/dist/types/components/grid/core/cell/expression-runtime.d.ts +29 -0
- package/dist/types/components/grid/core/cell/index.d.ts +5 -0
- package/dist/types/components/grid/core/cell/renderer-registry.d.ts +55 -0
- package/dist/types/components/grid/core/cell/value-formatter.d.ts +42 -0
- package/dist/types/components/grid/core/cell/value-getter.d.ts +59 -0
- package/dist/types/components/grid/core/cell-cycle.d.ts +19 -0
- package/dist/types/components/grid/core/cell-flash/cell-flash.d.ts +4 -0
- package/dist/types/components/grid/core/cell-tooltip/hover-delay.d.ts +15 -0
- package/dist/types/components/grid/core/cell-tooltip/index.d.ts +2 -0
- package/dist/types/components/grid/core/cell-tooltip/tooltip-text.d.ts +16 -0
- package/dist/types/components/grid/core/chart-link/chart-bridge-types-probe.d.ts +12 -0
- package/dist/types/components/grid/core/chart-link/chart-bridge.d.ts +79 -0
- package/dist/types/components/grid/core/chart-link/chart-cross-filter.d.ts +99 -0
- package/dist/types/components/grid/core/chart-link/chart-events.d.ts +245 -0
- package/dist/types/components/grid/core/chart-link/chart-instances.d.ts +217 -0
- package/dist/types/components/grid/core/chart-link/chart-link-chunk.d.ts +185 -0
- package/dist/types/components/grid/core/chart-link/chart-menu.d.ts +154 -0
- package/dist/types/components/grid/core/chart-link/chart-model.d.ts +176 -0
- package/dist/types/components/grid/core/chart-link/chart-multi.d.ts +178 -0
- package/dist/types/components/grid/core/chart-link/chart-pivot.d.ts +152 -0
- package/dist/types/components/grid/core/chart-link/chart-sync.d.ts +157 -0
- package/dist/types/components/grid/core/clipboard/parse.d.ts +2 -0
- package/dist/types/components/grid/core/clipboard/paste-plan.d.ts +25 -0
- package/dist/types/components/grid/core/clipboard/serialize.d.ts +12 -0
- package/dist/types/components/grid/core/collab-css.d.ts +2 -0
- package/dist/types/components/grid/core/collab-loader.d.ts +10 -0
- package/dist/types/components/grid/core/collab-mentions.d.ts +8 -0
- package/dist/types/components/grid/core/collab-types.d.ts +157 -0
- package/dist/types/components/grid/core/column/column-auto-size.d.ts +20 -0
- package/dist/types/components/grid/core/column/column-groups.d.ts +24 -0
- package/dist/types/components/grid/core/column/column-pin.d.ts +15 -0
- package/dist/types/components/grid/core/column/column-reorder.d.ts +66 -0
- package/dist/types/components/grid/core/column/column-resize.d.ts +75 -0
- package/dist/types/components/grid/core/column/column-sort.d.ts +20 -0
- package/dist/types/components/grid/core/column/column-state.d.ts +44 -0
- package/dist/types/components/grid/core/column/column-visibility.d.ts +28 -0
- package/dist/types/components/grid/core/column/index.d.ts +6 -0
- package/dist/types/components/grid/core/component/async-value-source.d.ts +38 -0
- package/dist/types/components/grid/core/component/component-runtime-chunk.d.ts +34 -0
- package/dist/types/components/grid/core/component/contracts.d.ts +189 -0
- package/dist/types/components/grid/core/component/editor-adapter.d.ts +101 -0
- package/dist/types/components/grid/core/component/editor-facade-controller.d.ts +172 -0
- package/dist/types/components/grid/core/component/editor-validation-presentation.d.ts +6 -0
- package/dist/types/components/grid/core/component/filter-adapter.d.ts +107 -0
- package/dist/types/components/grid/core/component/filter-facade-controller.d.ts +118 -0
- package/dist/types/components/grid/core/component/framework-bridge.d.ts +17 -0
- package/dist/types/components/grid/core/component/index.d.ts +12 -0
- package/dist/types/components/grid/core/component/popup-placement.d.ts +29 -0
- package/dist/types/components/grid/core/component/registry.d.ts +39 -0
- package/dist/types/components/grid/core/component/renderer-adapter.d.ts +17 -0
- package/dist/types/components/grid/core/component/renderer-controller.d.ts +88 -0
- package/dist/types/components/grid/core/component/rich-select-editor.d.ts +16 -0
- package/dist/types/components/grid/core/component/runtime.d.ts +90 -0
- package/dist/types/components/grid/core/conditional-format/cf-builder-chunk.d.ts +19 -0
- package/dist/types/components/grid/core/conditional-format/cf-builder.d.ts +23 -0
- package/dist/types/components/grid/core/conditional-format/conditional-format.d.ts +32 -0
- package/dist/types/components/grid/core/context-menu/clipboard.d.ts +9 -0
- package/dist/types/components/grid/core/context-menu/index.d.ts +3 -0
- package/dist/types/components/grid/core/context-menu/menu.d.ts +6 -0
- package/dist/types/components/grid/core/context-menu/types.d.ts +22 -0
- package/dist/types/components/grid/core/edit/autocomplete-editor.d.ts +21 -0
- package/dist/types/components/grid/core/edit/batch-edit.d.ts +237 -0
- package/dist/types/components/grid/core/edit/checkbox-editor-render.d.ts +27 -0
- package/dist/types/components/grid/core/edit/checkbox-editor.d.ts +10 -0
- package/dist/types/components/grid/core/edit/date-editor-render.d.ts +35 -0
- package/dist/types/components/grid/core/edit/date-editor.d.ts +26 -0
- package/dist/types/components/grid/core/edit/date-picker.d.ts +27 -0
- package/dist/types/components/grid/core/edit/index.d.ts +2 -0
- package/dist/types/components/grid/core/edit/large-text-editor.d.ts +20 -0
- package/dist/types/components/grid/core/edit/number-editor-render.d.ts +37 -0
- package/dist/types/components/grid/core/edit/number-editor.d.ts +27 -0
- package/dist/types/components/grid/core/edit/prospective-edit.d.ts +42 -0
- package/dist/types/components/grid/core/edit/row-edit.d.ts +303 -0
- package/dist/types/components/grid/core/edit/select-editor-render.d.ts +60 -0
- package/dist/types/components/grid/core/edit/select-editor.d.ts +19 -0
- package/dist/types/components/grid/core/edit/text-editor-render.d.ts +31 -0
- package/dist/types/components/grid/core/edit/text-editor.d.ts +13 -0
- package/dist/types/components/grid/core/edit/textarea-editor-render.d.ts +35 -0
- package/dist/types/components/grid/core/edit/textarea-editor.d.ts +19 -0
- package/dist/types/components/grid/core/edit/transaction-api.d.ts +41 -0
- package/dist/types/components/grid/core/edit/transaction.d.ts +39 -0
- package/dist/types/components/grid/core/edit/undo-redo.d.ts +55 -0
- package/dist/types/components/grid/core/empty-state-cycle.d.ts +8 -0
- package/dist/types/components/grid/core/event/index.d.ts +1 -0
- package/dist/types/components/grid/core/event/row-click.d.ts +34 -0
- package/dist/types/components/grid/core/export/csv.d.ts +30 -0
- package/dist/types/components/grid/core/export/grid-pdf-export.d.ts +41 -0
- package/dist/types/components/grid/core/export/index.d.ts +3 -0
- package/dist/types/components/grid/core/filter/advanced-query.d.ts +1 -0
- package/dist/types/components/grid/core/filter/condition-builder.d.ts +21 -0
- package/dist/types/components/grid/core/filter/date.d.ts +13 -0
- package/dist/types/components/grid/core/filter/filter-ui-types.d.ts +35 -0
- package/dist/types/components/grid/core/filter/multi.d.ts +22 -0
- package/dist/types/components/grid/core/filter/number.d.ts +11 -0
- package/dist/types/components/grid/core/filter/quick-filter.d.ts +11 -0
- package/dist/types/components/grid/core/filter/set.d.ts +24 -0
- package/dist/types/components/grid/core/filter/text.d.ts +10 -0
- package/dist/types/components/grid/core/filter-cycle.d.ts +32 -0
- package/dist/types/components/grid/core/floating/index.d.ts +1 -0
- package/dist/types/components/grid/core/floating/positioning.d.ts +24 -0
- package/dist/types/components/grid/core/formula/workbook-binding.d.ts +54 -0
- package/dist/types/components/grid/core/formula/workbook-reference.d.ts +37 -0
- package/dist/types/components/grid/core/formula/workbook-registry.d.ts +86 -0
- package/dist/types/components/grid/core/formula-acceleration-loader.d.ts +12 -0
- package/dist/types/components/grid/core/formula-text.d.ts +1 -0
- package/dist/types/components/grid/core/grid-core.d.ts +20 -0
- package/dist/types/components/grid/core/grouping/display-types.d.ts +165 -0
- package/dist/types/components/grid/core/grouping/group-selection.d.ts +165 -0
- package/dist/types/components/grid/core/hover/row.d.ts +8 -0
- package/dist/types/components/grid/core/import/csv/index.d.ts +1 -0
- package/dist/types/components/grid/core/import/csv/parse-csv.d.ts +30 -0
- package/dist/types/components/grid/core/import/xlsx/cell-ref.d.ts +11 -0
- package/dist/types/components/grid/core/import/xlsx/errors.d.ts +9 -0
- package/dist/types/components/grid/core/import/xlsx/formula.d.ts +4 -0
- package/dist/types/components/grid/core/import/xlsx/grid-import-chunk.d.ts +3 -0
- package/dist/types/components/grid/core/import/xlsx/index.d.ts +26 -0
- package/dist/types/components/grid/core/import/xlsx/inflate.d.ts +2 -0
- package/dist/types/components/grid/core/import/xlsx/merged-cells.d.ts +9 -0
- package/dist/types/components/grid/core/import/xlsx/number-format.d.ts +16 -0
- package/dist/types/components/grid/core/import/xlsx/parse-xlsx.d.ts +34 -0
- package/dist/types/components/grid/core/import/xlsx/pick-sheet.d.ts +2 -0
- package/dist/types/components/grid/core/import/xlsx/shared-strings.d.ts +2 -0
- package/dist/types/components/grid/core/import/xlsx/sheet-streaming.d.ts +11 -0
- package/dist/types/components/grid/core/import/xlsx/sheet.d.ts +31 -0
- package/dist/types/components/grid/core/import/xlsx/styles.d.ts +21 -0
- package/dist/types/components/grid/core/import/xlsx/workbook.d.ts +22 -0
- package/dist/types/components/grid/core/import/xlsx/xml-parser.d.ts +15 -0
- package/dist/types/components/grid/core/import/xlsx/zip-reader.d.ts +28 -0
- package/dist/types/components/grid/core/license/grid-acceleration-port.d.ts +13 -0
- package/dist/types/components/grid/core/license/grid-feature.d.ts +40 -0
- package/dist/types/components/grid/core/license/grid-license-facade.d.ts +50 -0
- package/dist/types/components/grid/core/license/grid-license-runtime.d.ts +2 -0
- package/dist/types/components/grid/core/license/grid-license-session.d.ts +85 -0
- package/dist/types/components/grid/core/license/grid-license.d.ts +40 -0
- package/dist/types/components/grid/core/license/grid-method-route.d.ts +7 -0
- package/dist/types/components/grid/core/license/grid-method-table.d.ts +7 -0
- package/dist/types/components/grid/core/loader/chunk-contract.d.ts +95 -0
- package/dist/types/components/grid/core/loader/chunk-loader.d.ts +62 -0
- package/dist/types/components/grid/core/loading-cycle.d.ts +14 -0
- package/dist/types/components/grid/core/locale/messages.d.ts +13 -0
- package/dist/types/components/grid/core/locale/presets.d.ts +8 -0
- package/dist/types/components/grid/core/locale/resolve.d.ts +12 -0
- package/dist/types/components/grid/core/notes/cell-notes.d.ts +47 -0
- package/dist/types/components/grid/core/numeric/safe-numeric.d.ts +10 -0
- package/dist/types/components/grid/core/pagination-cycle.d.ts +15 -0
- package/dist/types/components/grid/core/pipeline/aggregate.d.ts +30 -0
- package/dist/types/components/grid/core/pipeline/comparator-default.d.ts +1 -0
- package/dist/types/components/grid/core/pipeline/engine-rows-memo.d.ts +10 -0
- package/dist/types/components/grid/core/pipeline/filter.d.ts +9 -0
- package/dist/types/components/grid/core/pipeline/group.d.ts +32 -0
- package/dist/types/components/grid/core/pipeline/index.d.ts +25 -0
- package/dist/types/components/grid/core/pipeline/master-detail.d.ts +7 -0
- package/dist/types/components/grid/core/pipeline/multi-group.d.ts +22 -0
- package/dist/types/components/grid/core/pipeline/paginate.d.ts +12 -0
- package/dist/types/components/grid/core/pipeline/pipeline.d.ts +3 -0
- package/dist/types/components/grid/core/pipeline/pivot-columns.d.ts +15 -0
- package/dist/types/components/grid/core/pipeline/pivot-panel.d.ts +135 -0
- package/dist/types/components/grid/core/pipeline/pivot.d.ts +52 -0
- package/dist/types/components/grid/core/pipeline/sort.d.ts +10 -0
- package/dist/types/components/grid/core/pipeline/tree.d.ts +32 -0
- package/dist/types/components/grid/core/pipeline/types.d.ts +11 -0
- package/dist/types/components/grid/core/pivot/combination-warnings.d.ts +4 -0
- package/dist/types/components/grid/core/pivot/secondary-columns.d.ts +153 -0
- package/dist/types/components/grid/core/pro-chunk-sources.d.ts +4 -0
- package/dist/types/components/grid/core/pro-engine-loader.d.ts +4 -0
- package/dist/types/components/grid/core/pro-gate/engine-precedence.d.ts +16 -0
- package/dist/types/components/grid/core/pro-gate/grid-chunk-backstop.d.ts +5 -0
- package/dist/types/components/grid/core/pro-gate/grid-chunk-features.d.ts +2 -0
- package/dist/types/components/grid/core/pro-gate/grid-clipboard-policy.d.ts +8 -0
- package/dist/types/components/grid/core/pro-gate/grid-declarations.d.ts +25 -0
- package/dist/types/components/grid/core/pro-gate/grid-engine-license.d.ts +23 -0
- package/dist/types/components/grid/core/pro-gate/grid-formula-freeze.d.ts +15 -0
- package/dist/types/components/grid/core/pro-gate/grid-freeze-work.d.ts +38 -0
- package/dist/types/components/grid/core/pro-gate/grid-pro-gate.d.ts +51 -0
- package/dist/types/components/grid/core/pro-gate/grid-state-requirements.d.ts +21 -0
- package/dist/types/components/grid/core/pro-panels/column-menu.d.ts +38 -0
- package/dist/types/components/grid/core/rbac/cell-access.d.ts +12 -0
- package/dist/types/components/grid/core/row-drag/drag-safety.d.ts +268 -0
- package/dist/types/components/grid/core/row-drag/drop-zones.d.ts +266 -0
- package/dist/types/components/grid/core/row-drag/reorder.d.ts +12 -0
- package/dist/types/components/grid/core/row-drag/reparent-facade.d.ts +64 -0
- package/dist/types/components/grid/core/row-drag/row-drag-chunk.d.ts +5 -0
- package/dist/types/components/grid/core/row-drag/row-drag-facade.d.ts +293 -0
- package/dist/types/components/grid/core/row-drag/unmanaged-drag.d.ts +262 -0
- package/dist/types/components/grid/core/row-layout/aligned-grids-facade.d.ts +61 -0
- package/dist/types/components/grid/core/row-layout/aligned-grids.d.ts +154 -0
- package/dist/types/components/grid/core/row-layout/col-span.d.ts +147 -0
- package/dist/types/components/grid/core/row-layout/full-width-facade.d.ts +63 -0
- package/dist/types/components/grid/core/row-layout/full-width-rows.d.ts +261 -0
- package/dist/types/components/grid/core/row-layout/pinned-row-policy.d.ts +142 -0
- package/dist/types/components/grid/core/row-layout/pinned-rows-facade.d.ts +72 -0
- package/dist/types/components/grid/core/row-layout/pinned-rows.d.ts +116 -0
- package/dist/types/components/grid/core/row-layout/row-layout-chunk.d.ts +11 -0
- package/dist/types/components/grid/core/row-layout/row-layout-facade.d.ts +143 -0
- package/dist/types/components/grid/core/row-layout/row-span.d.ts +102 -0
- package/dist/types/components/grid/core/row-layout/span-interaction.d.ts +140 -0
- package/dist/types/components/grid/core/row-markers.d.ts +19 -0
- package/dist/types/components/grid/core/row-model/block-cache.d.ts +46 -0
- package/dist/types/components/grid/core/row-model/client-side.d.ts +10 -0
- package/dist/types/components/grid/core/row-model/datasource.d.ts +16 -0
- package/dist/types/components/grid/core/row-model/index.d.ts +1 -0
- package/dist/types/components/grid/core/row-model/infinite.d.ts +1 -0
- package/dist/types/components/grid/core/row-model/placeholder-row.d.ts +9 -0
- package/dist/types/components/grid/core/row-model/server-datasource-lifecycle.d.ts +80 -0
- package/dist/types/components/grid/core/row-model/server-group-selection.d.ts +123 -0
- package/dist/types/components/grid/core/row-model/server-pivot-results.d.ts +234 -0
- package/dist/types/components/grid/core/row-model/server-refresh.d.ts +63 -0
- package/dist/types/components/grid/core/row-model/server-selection.d.ts +76 -0
- package/dist/types/components/grid/core/row-model/server-side-retry.d.ts +37 -0
- package/dist/types/components/grid/core/row-model/server-side.d.ts +109 -0
- package/dist/types/components/grid/core/row-model/server-store-events.d.ts +160 -0
- package/dist/types/components/grid/core/row-model/server-store-inspection.d.ts +80 -0
- package/dist/types/components/grid/core/row-model/server-store-routes.d.ts +142 -0
- package/dist/types/components/grid/core/row-model/server-transaction-queue.d.ts +96 -0
- package/dist/types/components/grid/core/row-model/server-transactions.d.ts +29 -0
- package/dist/types/components/grid/core/row-model/ssrm-ops-chunk.d.ts +93 -0
- package/dist/types/components/grid/core/row-model/ssrm-selection-facade.d.ts +49 -0
- package/dist/types/components/grid/core/row-model/ssrm-selection.d.ts +107 -0
- package/dist/types/components/grid/core/row-model/viewport-adapters.d.ts +45 -0
- package/dist/types/components/grid/core/row-model/viewport.d.ts +37 -0
- package/dist/types/components/grid/core/selection/canonical-ranges.d.ts +59 -0
- package/dist/types/components/grid/core/selection/checkbox-column.d.ts +28 -0
- package/dist/types/components/grid/core/selection/fill-gestures.d.ts +26 -0
- package/dist/types/components/grid/core/selection/fill-handle.d.ts +78 -0
- package/dist/types/components/grid/core/selection/fill-series.d.ts +57 -0
- package/dist/types/components/grid/core/selection/fill-transaction.d.ts +111 -0
- package/dist/types/components/grid/core/selection/fill-values.d.ts +29 -0
- package/dist/types/components/grid/core/selection/range-bounds.d.ts +2 -0
- package/dist/types/components/grid/core/selection/range.d.ts +32 -0
- package/dist/types/components/grid/core/selection/row.d.ts +31 -0
- package/dist/types/components/grid/core/side-bar/side-bar.d.ts +12 -0
- package/dist/types/components/grid/core/snapshot/snapshot-diff.d.ts +21 -0
- package/dist/types/components/grid/core/snapshot/snapshot.d.ts +24 -0
- package/dist/types/components/grid/core/sort-cycle.d.ts +13 -0
- package/dist/types/components/grid/core/sort-model.d.ts +15 -0
- package/dist/types/components/grid/core/spreadsheet-text.d.ts +7 -0
- package/dist/types/components/grid/core/state/canonical.d.ts +9 -0
- package/dist/types/components/grid/core/state/contracts.d.ts +42 -0
- package/dist/types/components/grid/core/state/filter-handlers.d.ts +34 -0
- package/dist/types/components/grid/core/state/find-state.d.ts +11 -0
- package/dist/types/components/grid/core/state/grid-state.d.ts +61 -0
- package/dist/types/components/grid/core/state/migrate.d.ts +21 -0
- package/dist/types/components/grid/core/state/ownership.d.ts +2 -0
- package/dist/types/components/grid/core/state/persistence.d.ts +21 -0
- package/dist/types/components/grid/core/state/slices/columns.d.ts +55 -0
- package/dist/types/components/grid/core/state/slices/filter.d.ts +45 -0
- package/dist/types/components/grid/core/state/slices/rows.d.ts +73 -0
- package/dist/types/components/grid/core/state/slices/ui.d.ts +77 -0
- package/dist/types/components/grid/core/state/state-events.d.ts +50 -0
- package/dist/types/components/grid/core/state/validate.d.ts +9 -0
- package/dist/types/components/grid/core/status-bar/status-bar.d.ts +18 -0
- package/dist/types/components/grid/core/status-bar/status-panels.d.ts +11 -0
- package/dist/types/components/grid/core/sync/array.d.ts +44 -0
- package/dist/types/components/grid/core/sync/clock.d.ts +32 -0
- package/dist/types/components/grid/core/sync/collab-bridge.d.ts +28 -0
- package/dist/types/components/grid/core/sync/doc.d.ts +35 -0
- package/dist/types/components/grid/core/sync/id.d.ts +11 -0
- package/dist/types/components/grid/core/sync/map.d.ts +33 -0
- package/dist/types/components/grid/core/sync/text.d.ts +11 -0
- package/dist/types/components/grid/core/sync/undo-manager.d.ts +23 -0
- package/dist/types/components/grid/core/theme/apply.d.ts +12 -0
- package/dist/types/components/grid/core/theme/presets.d.ts +9 -0
- package/dist/types/components/grid/core/theme/tokens.d.ts +13 -0
- package/dist/types/components/grid/core/tree/reparent.d.ts +159 -0
- package/dist/types/components/grid/core/tree/tree-data-chunk.d.ts +4 -0
- package/dist/types/components/grid/core/tree/tree-data.d.ts +19 -0
- package/dist/types/components/grid/core/types.d.ts +247 -0
- package/dist/types/components/grid/core/utils/structural.d.ts +2 -0
- package/dist/types/components/grid/core/validation/validation.d.ts +24 -0
- package/dist/types/components/grid/core/virtualizer/cell-virtualizer.d.ts +1 -0
- package/dist/types/components/grid/core/virtualizer/column-virtualizer.d.ts +14 -0
- package/dist/types/components/grid/core/virtualizer/index.d.ts +1 -0
- package/dist/types/components/grid/core/virtualizer/row-virtualizer.d.ts +52 -0
- package/dist/types/components/grid/core/visual-regression/baseline.d.ts +2 -0
- package/dist/types/components/grid/core/visual-regression/dom-snapshot.d.ts +14 -0
- package/dist/types/components/grid/core/visual-regression/real-dom-canonicalise.d.ts +1 -0
- package/dist/types/components/grid/core/vnode-factory.d.ts +1 -0
- package/dist/types/components/grid/engines/standard/index.d.ts +1 -0
- package/dist/types/components/grid/engines/standard/sy-grid-standard.d.ts +24 -0
- package/dist/types/components/grid/index.d.ts +21 -0
- package/dist/types/components/grid/sy-grid.d.ts +2136 -0
- package/dist/types/components.d.ts +10597 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/license/base64url.d.ts +3 -0
- package/dist/types/license/certificate.d.ts +48 -0
- package/dist/types/license/constants.d.ts +38 -0
- package/dist/types/license/context.d.ts +6 -0
- package/dist/types/license/deployment.d.ts +9 -0
- package/dist/types/license/diagnostic-constants.d.ts +7 -0
- package/dist/types/license/discovery.d.ts +10 -0
- package/dist/types/license/errors.d.ts +47 -0
- package/dist/types/license/evaluate.d.ts +19 -0
- package/dist/types/license/failure.d.ts +11 -0
- package/dist/types/license/fetch-license.d.ts +12 -0
- package/dist/types/license/generated/chart-features.generated.d.ts +2244 -0
- package/dist/types/license/generated/core-features.generated.d.ts +349 -0
- package/dist/types/license/generated/feature-map.generated.d.ts +4 -0
- package/dist/types/license/generated/grid-features.generated.d.ts +3681 -0
- package/dist/types/license/generated/products.generated.d.ts +26 -0
- package/dist/types/license/index.d.ts +15 -0
- package/dist/types/license/json.d.ts +4 -0
- package/dist/types/license/jws.d.ts +9 -0
- package/dist/types/license/registry.d.ts +37 -0
- package/dist/types/license/release.generated.d.ts +6 -0
- package/dist/types/license/runtime.d.ts +27 -0
- package/dist/types/license/subtle.d.ts +5 -0
- package/dist/types/license/timers.d.ts +6 -0
- package/dist/types/license/timestamp.d.ts +1 -0
- package/dist/types/license/trust-keys.generated.d.ts +3 -0
- package/dist/types/license/trust-store.d.ts +6 -0
- package/dist/types/license/types.d.ts +85 -0
- package/dist/types/license/verify.d.ts +30 -0
- package/dist/types/license/watch.d.ts +18 -0
- package/dist/types/stencil-public-runtime.d.ts +1356 -0
- package/dist/types/utils/story-template.d.ts +17 -0
- package/loader/cdn.js +1 -0
- package/loader/chart-scope.d.ts +21 -0
- package/loader/chart-scope.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +13 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +1 -0
- package/package.json +108 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{p as t,H as e,c as i,h as n,d as r,t as s}from"./p-BPmwlQtL.js";import{S as o,d as l,w as a,L as d,a as u}from"./p-CgUI9S4_.js";import{a as c,s as h,b as f,t as g,h as p,g as y,k as b,l as m,u as w}from"./p-D3LVx-JL.js";import{p as v,g as x,b as _,h as C,c as k,a as S,d as I,e as R}from"./p-Cr85dazN.js";function M(t2,e2,i2){return Error(`SG-EXPR-${t2} pos=${e2}${void 0===i2?"":` token="${i2}"`}`)}function F(t2,e2,i2,n2,r2){const s2=`[Syidax] sy-grid: SG-EXPR-${t2} field="${e2}" row=${i2}${void 0===n2?"":" "+n2}`;void 0===r2?console.warn(s2):console.warn(s2,r2)}function D(t2){return" "===t2||" "===t2||"\n"===t2||"\r"===t2||"\f"===t2||"\v"===t2}function A(t2){if("_"===t2||"$"===t2)return true;const e2=t2.charCodeAt(0);return e2>=65&&e2<=90||e2>=97&&e2<=122}function E(t2){if(A(t2))return true;const e2=t2.charCodeAt(0);return e2>=48&&e2<=57}function P(t2){const e2=t2.charCodeAt(0);return e2>=48&&e2<=57}function $(t2){return t2.pos<t2.tokens.length?t2.tokens[t2.pos]:null}function T(t2){const e2=t2.tokens[t2.pos];return t2.pos++,e2}function j(t2){return(function(t3){let e2=N(t3);for(;;){const i2=$(t3);if(null===i2||"logic"!==i2.kind||"||"!==i2.op)break;T(t3),e2={kind:"binary",op:"||",left:e2,right:N(t3)}}return e2})(t2)}function N(t2){let e2=O(t2);for(;;){const i2=$(t2);if(null===i2||"logic"!==i2.kind||"&&"!==i2.op)break;T(t2),e2={kind:"binary",op:"&&",left:e2,right:O(t2)}}return e2}function O(t2){const e2=B(t2),i2=$(t2);if(null===i2||"cmp"!==i2.kind)return e2;T(t2);const n2=B(t2),r2=$(t2);if(null!==r2&&"cmp"===r2.kind)throw M("CHAIN",r2.pos,r2.op);return{kind:"binary",op:i2.op,left:e2,right:n2}}function B(t2){let e2=z(t2);for(;;){const i2=$(t2);if(null===i2||"op"!==i2.kind||"+"!==i2.op&&"-"!==i2.op)break;T(t2),e2={kind:"binary",op:i2.op,left:e2,right:z(t2)}}return e2}function z(t2){let e2=G(t2);for(;;){const i2=$(t2);if(null===i2||"op"!==i2.kind||"*"!==i2.op&&"/"!==i2.op)break;T(t2),e2={kind:"binary",op:i2.op,left:e2,right:G(t2)}}return e2}function G(t2){const e2=$(t2);return null!==e2&&"op"===e2.kind&&"-"===e2.op?(T(t2),{kind:"unary",op:"-",operand:G(t2)}):(function(t3){const e3=$(t3);if(null===e3)throw M("END",t3.end);if("number"===e3.kind)return T(t3),{kind:"number",value:e3.value};if("string"===e3.kind)return T(t3),{kind:"string",value:e3.value};if("identifier"===e3.kind){T(t3);const i2=$(t3);if(null!==i2&&"lparen"===i2.kind)throw M("CALL",i2.pos,e3.name);return t3.identifiers.add(e3.name),{kind:"identifier",name:e3.name}}if("lparen"===e3.kind){T(t3);const e4=j(t3),i2=$(t3);if(null===i2||"rparen"!==i2.kind)throw M("RPAREN",null===i2?t3.end:i2.pos,null===i2?")":L(i2));return T(t3),{kind:"group",inner:e4}}throw M("TOKEN",e3.pos,L(e3))})(t2)}function L(t2){return"op"===t2.kind||"cmp"===t2.kind||"logic"===t2.kind?t2.op:"lparen"===t2.kind?"(":"rparen"===t2.kind?")":"number"===t2.kind?t2.value+"":"string"===t2.kind?`"${t2.value}"`:t2.name}function V(t2,e2){if("string"!=typeof t2)throw M("TYPE",0);if(0===t2.trim().length)throw M("EMPTY",0);const i2=(function(t3,e3){const i3=[],n3=t3.length;let r3=0;for(;r3<n3;){const s2=t3[r3];if(D(s2))r3++;else if(P(s2)){const e4=r3;for(;r3<n3&&P(t3[r3]);)r3++;if(r3<n3&&"."===t3[r3])for(r3++;r3<n3&&P(t3[r3]);)r3++;const s3=t3.slice(e4,r3),o2=Number(s3);if(!Number.isFinite(o2))throw M("NUM",e4,s3);i3.push({kind:"number",value:o2,pos:e4})}else if('"'!==s2&&"'"!==s2)if(A(s2)){const e4=r3;for(;r3<n3&&E(t3[r3]);)r3++;i3.push({kind:"identifier",name:t3.slice(e4,r3),pos:e4})}else{if(e3){const e4=r3+1<n3?t3[r3+1]:"";if("="===s2&&"="===e4){i3.push({kind:"cmp",op:"==",pos:r3}),r3+=2;continue}if("!"===s2&&"="===e4){i3.push({kind:"cmp",op:"!=",pos:r3}),r3+=2;continue}if(">"===s2&&"="===e4){i3.push({kind:"cmp",op:">=",pos:r3}),r3+=2;continue}if("<"===s2&&"="===e4){i3.push({kind:"cmp",op:"<=",pos:r3}),r3+=2;continue}if(">"===s2||"<"===s2){i3.push({kind:"cmp",op:s2,pos:r3}),r3++;continue}if("&"===s2&&"&"===e4){i3.push({kind:"logic",op:"&&",pos:r3}),r3+=2;continue}if("|"===s2&&"|"===e4){i3.push({kind:"logic",op:"||",pos:r3}),r3+=2;continue}}if("+"!==s2&&"-"!==s2&&"*"!==s2&&"/"!==s2)if("("!==s2){if(")"!==s2){if("."===s2)throw M("PROP",r3,s2);if("["===s2||"]"===s2)throw M("BRACKET",r3,s2);if("="===s2)throw M("ASSIGN",r3,s2);if("<"===s2||">"===s2)throw M("CMP",r3,s2);if("|"===s2||"&"===s2||"^"===s2||"~"===s2)throw M("BITWISE",r3,s2);if("!"===s2)throw M("NOT",r3,s2);if("?"===s2||":"===s2)throw M("TERNARY",r3,s2);if(","===s2)throw M("COMMA",r3,s2);if(";"===s2)throw M("STMT",r3,s2);if("`"===s2)throw M("TEMPLATE",r3,s2);if("%"===s2)throw M("MOD",r3,s2);throw M("CHAR",r3,s2)}i3.push({kind:"rparen",pos:r3}),r3++}else i3.push({kind:"lparen",pos:r3}),r3++;else i3.push({kind:"op",op:s2,pos:r3}),r3++}else{const e4=r3,o2=s2;r3++;const l2=[];for(;r3<n3&&t3[r3]!==o2;)l2.push(t3[r3]),r3++;if(r3>=n3)throw M("QUOTE",e4,o2);r3++,i3.push({kind:"string",value:l2.join(""),pos:e4})}}return i3})(t2,e2);if(0===i2.length)throw M("EMPTY",0);const n2={tokens:i2,pos:0,identifiers:new Set,end:t2.length},r2=j(n2);if(n2.pos<i2.length){const t3=i2[n2.pos];throw M("TRAIL",t3.pos,L(t3))}return{ast:r2,identifiers:Array.from(n2.identifiers)}}function H(t2,e2){if("number"===t2.kind)return t2.value;if("string"===t2.kind)return t2.value;if("identifier"===t2.kind)return e2(t2.name);if("group"===t2.kind)return H(t2.inner,e2);if("unary"===t2.kind)return-Number(H(t2.operand,e2));const i2=t2.op;if("&&"===i2){const i3=H(t2.left,e2);return i3?H(t2.right,e2):i3}if("||"===i2){return H(t2.left,e2)||H(t2.right,e2)}const n2=H(t2.left,e2),r2=H(t2.right,e2);return"+"===i2?"string"==typeof n2||"string"==typeof r2?n2+""+r2:Number(n2)+Number(r2):"-"===i2?Number(n2)-Number(r2):"*"===i2?Number(n2)*Number(r2):"/"===i2?Number(n2)/Number(r2):"=="===i2?n2===r2:"!="===i2?n2!==r2:">"===i2?Number(n2)>Number(r2):"<"===i2?Number(n2)<Number(r2):">="===i2?Number(n2)>=Number(r2):Number(n2)<=Number(r2)}const W="[Syidax] sy-grid:";function q(t2){return t2.length>0&&"__proto__"!==t2&&"prototype"!==t2&&"constructor"!==t2}function U(t2){if("string"!=typeof t2||0===t2.length)return null;const e2=t2.split(".");return e2.every(q)?e2:null}function K(t2){if(null===t2||"object"!=typeof t2)return false;if(Array.isArray(t2))return true;const e2=Object.getPrototypeOf(t2);return e2===Object.prototype||null===e2}function Y(t2){const e2=+t2>>>0;return e2<4294967295&&e2+""===t2?e2:null}function J(t2,e2,i2){if(Array.isArray(t2)){const n3=t2.slice();return n3[+e2]=i2,n3}const n2={...t2,[e2]:i2};return Object.setPrototypeOf(n2,Object.getPrototypeOf(t2)),n2}function Q(t2,e2){if("string"!=typeof e2||0===e2.length)return;if(-1===e2.indexOf("."))return q(e2)&&null!==t2&&"object"==typeof t2&&Object.hasOwn(t2,e2)?t2[e2]:void 0;const i2=U(e2);if(null===i2)return;let n2=t2;for(const t3 of i2){if(null===n2||"object"!=typeof n2||!Object.hasOwn(n2,t3))return;n2=n2[t3]}return n2}function X(t2,e2,i2){const n2=U(e2);if(null===n2||!K(t2))return t2;const r2=[t2];for(let e3=0;e3<n2.length-1;e3++){const i3=r2[e3],s3=n2[e3];if(Array.isArray(i3)&&null===Y(s3)||!Object.hasOwn(i3,s3))return t2;const o3=i3[s3];if(!K(o3))return t2;r2.push(o3)}const s2=r2[r2.length-1],o2=n2[n2.length-1];if(Array.isArray(s2)){const e3=Y(o2);if(null===e3||e3>s2.length)return t2}let l2=i2;for(let t3=r2.length-1;t3>=0;t3--)l2=J(r2[t3],n2[t3],l2);return l2}function Z(t2){if(null==t2||"object"!=typeof t2)return console.warn(W+" resolveCellValue called with non-object input."),null;const e2=t2.row;if(null==e2||"object"!=typeof e2)return console.warn(W+" resolveCellValue: row is not an object."),null;const i2="string"==typeof t2.field&&t2.field.length>0?t2.field:t2.colId;if("string"!=typeof i2||0===i2.length)return console.warn(W+" resolveCellValue: colId / field is empty."),null;const n2=t2.valueGetter;if(null==n2)return Q(e2,i2);const r2=t2.inFlight??new Set,s2=!r2.has(i2);s2&&r2.add(i2);const o2=t2.getOtherValue;function l2(i3){if("string"==typeof i3&&0!==i3.length){if(r2.has(i3))return F("VG-CYCLE",i3,t2.rowIndex),null;r2.add(i3);try{return"function"==typeof o2?o2(i3):Q(e2,i3)}finally{r2.delete(i3)}}}try{if("function"==typeof n2){const r3={data:e2,node:{rowIndex:t2.rowIndex,rowId:t2.rowId},colId:i2,getValue:l2,colDef:t2.colDef,rowIndex:t2.rowIndex,context:t2.context,api:t2.api};try{return n2(r3)}catch(e3){return F("VG-FN",i2,t2.rowIndex,void 0,e3),null}}if("string"==typeof n2){let e3;try{e3=(function(t3){return V(t3,false)})(n2)}catch(e4){return F("VG-PARSE",i2,t2.rowIndex,e4 instanceof Error?e4.message:e4+""),null}const r3=t3=>l2(t3);try{return(function(t3,e4){return H(t3,e4)})(e3.ast,r3)}catch(e4){return F("VG-EVAL",i2,t2.rowIndex,void 0,e4),null}}return F("VG-TYPE",i2,t2.rowIndex),Q(e2,i2)}finally{s2&&r2.delete(i2)}}const tt="[Syidax] sy-grid:";function et(t2){const e2=t2.split("|").map((t3=>t3.trim())),i2=e2[0]??"",n2=[];for(let t3=1;t3<e2.length;t3++){const i3=e2[t3];if(0===i3.length)continue;const r2=i3.indexOf(":");if(r2<0){n2.push({name:i3,args:[]});continue}const s2=i3.slice(0,r2).trim(),o2=i3.slice(r2+1);n2.push({name:s2,args:[o2]})}return{kind:"interp",varName:i2,pipes:n2}}function it(t2,e2,i2,n2){const r2=e2.name,s2=e2.args.length>0?e2.args[0]:void 0;if("upper"===r2)return rt(t2).toUpperCase();if("lower"===r2)return rt(t2).toLowerCase();if("trim"===r2)return rt(t2).trim();if("round"===r2){if(null==t2)return"";const e3=nt(s2,0,r2,n2),i3=Number(t2);return Number.isFinite(i3)?i3.toFixed(e3):rt(t2)}if("percent"===r2){if(null==t2)return"";const e3=nt(s2,0,r2,n2),i3=Number(t2);return Number.isFinite(i3)?(100*i3).toFixed(e3)+"%":rt(t2)}if("currency"===r2){if(null==t2)return"";const e3="string"==typeof s2&&s2.length>0?s2:"USD",r3=Number(t2);if(!Number.isFinite(r3))return rt(t2);try{return new Intl.NumberFormat(i2,{style:"currency",currency:e3}).format(r3)}catch(t3){const i3="currency:"+e3;return n2.has(i3)||(n2.add(i3),console.warn(`${tt} valueFormatter currency pipe rejected code "${e3}":`,t3)),r3.toFixed(2)}}return"date"===r2?(function(t3,e3){const i3=(function(t4){if(t4 instanceof Date)return Number.isFinite(t4.getTime())?t4:null;if("number"==typeof t4){const e4=new Date(t4);return Number.isFinite(e4.getTime())?e4:null}if("string"==typeof t4){const e4=Date.parse(t4);return Number.isFinite(e4)?new Date(e4):null}return null})(t3);if(null===i3)return rt(t3);const n3=(i3.getFullYear()+"").padStart(4,"0"),r3=(i3.getMonth()+1+"").padStart(2,"0"),s3=(i3.getDate()+"").padStart(2,"0"),o2=(i3.getHours()+"").padStart(2,"0"),l2=(i3.getMinutes()+"").padStart(2,"0"),a2=(i3.getSeconds()+"").padStart(2,"0");return e3.replace(/YYYY/g,n3).replace(/MM/g,r3).replace(/DD/g,s3).replace(/HH/g,o2).replace(/mm/g,l2).replace(/ss/g,a2)})(t2,"string"==typeof s2&&s2.length>0?s2:"YYYY-MM-DD"):"default"===r2?(function(t3){return null==t3||"string"==typeof t3&&0===t3.length})(t2)?"string"==typeof s2?s2:"":t2:(n2.has("unknown:"+r2)||(n2.add("unknown:"+r2),console.warn(`${tt} valueFormatter unknown pipe "${r2}"; skipping.`)),t2)}function nt(t2,e2,i2,n2){if(void 0===t2)return e2;const r2=t2.trim();if(0===r2.length)return e2;const s2=Number(r2);if(!Number.isFinite(s2)){const t3=`arg:${i2}:${r2}`;return n2.has(t3)||(n2.add(t3),console.warn(`${tt} valueFormatter "${i2}" arg "${r2}" is not a number; using ${e2}.`)),e2}const o2=Math.floor(s2);return o2<0?0:o2>100?100:o2}function rt(t2){return null==t2?"":"string"==typeof t2?t2:t2+""}function st(t2,e2,i2,n2){let r2=t2;for(let t3=0;t3<e2.length;t3++)r2=it(r2,e2[t3],i2,n2);return rt(r2)}function ot(t2){const e2=[t2.varName];for(let i2=0;i2<t2.pipes.length;i2++){const n2=t2.pipes[i2];e2.push(n2.args.length>0?`${n2.name}:${n2.args.join(":")}`:n2.name)}return`{{${e2.join(" | ")}}}`}function lt(t2){if(null==t2||"object"!=typeof t2)return console.warn(tt+" formatCellValue called with non-object input."),"";const e2=t2.value,i2=t2.valueFormatter,n2="string"==typeof t2.locale&&t2.locale.length>0?t2.locale:"en";if(null==i2)return null==e2?"":e2+"";if("function"==typeof i2)try{const r2=i2({value:e2,data:t2.row,node:{rowIndex:t2.rowIndex},colId:t2.colId,locale:n2,context:t2.context,api:t2.api});return"string"==typeof r2?r2:rt(r2)}catch(i3){return console.warn(`${tt} valueFormatter for "${t2.colId}" threw on row ${t2.rowIndex}:`,i3),null==e2?"":e2+""}return"string"==typeof i2?i2.indexOf("{{")<0?i2:(function(t3,e3,i3,n3){const r2=[];for(let s2=0;s2<t3.segments.length;s2++){const o2=t3.segments[s2];if("literal"===o2.kind){r2.push(o2.text);continue}if("value"===o2.varName){r2.push(st(e3,o2.pipes,i3,n3));continue}const l2="var:"+o2.varName;n3.has(l2)||(n3.add(l2),console.warn(`${tt} valueFormatter unknown variable "${o2.varName}".`)),r2.push(ot(o2))}return r2.join("")})((function(t3){if("string"!=typeof t3)return{segments:[{kind:"literal",text:""}]};const e3=[],i3=t3.length;let n3=0,r2=0;for(;n3<i3;)if("{"===t3[n3]&&n3+1<i3&&"{"===t3[n3+1]){n3>r2&&e3.push({kind:"literal",text:t3.slice(r2,n3)});const s2=n3;n3+=2;let o2=-1;for(let e4=n3;e4+1<i3;e4++)if("}"===t3[e4]&&"}"===t3[e4+1]){o2=e4;break}if(o2<0)return console.warn(`${tt} valueFormatter template missing closing "}}" starting at ${s2}.`),e3.push({kind:"literal",text:t3.slice(s2)}),{segments:e3};const l2=t3.slice(n3,o2);e3.push(et(l2)),n3=o2+2,r2=n3}else n3++;return r2<i3&&e3.push({kind:"literal",text:t3.slice(r2)}),0===e3.length&&e3.push({kind:"literal",text:""}),{segments:e3}})(i2),e2,n2,new Set):(console.warn(`${tt} valueFormatter for "${t2.colId}" is not a function / string; ignoring.`),null==e2?"":e2+"")}const at=/^[\u0000-\u001f\u007f-\u009f]/,dt=/^[\s\u0000-\u001f\u007f-\u009f\ufeff]*[=+\-@\uff1d\uff0b\uff0d\uff20]/;function ut(t2){return null!=t2&&("string"==typeof t2||"number"!=typeof t2&&"bigint"!=typeof t2&&"boolean"!=typeof t2&&!(t2 instanceof Date))}function ct(t2,e2={}){const i2="string"==typeof t2?t2:(t2??"")+"",n2=e2.textual??ut(t2);return false!==e2.escapeFormulae&&n2&&(function(t3){return"string"==typeof t3&&0!==t3.length&&(at.test(t3)||dt.test(t3))})(i2)?"'"+i2:i2}function ht(t2,e2,i2=false){if("string"!=typeof t2&&(t2=(t2??"")+""),0===t2.length&&!i2)return"";let n2=i2;return(t2.indexOf(e2)>=0||t2.indexOf('"')>=0||t2.indexOf("\n")>=0||t2.indexOf("\r")>=0)&&(n2=true),n2?`"${t2.replace(/"/g,'""')}"`:t2}function ft(t2,e2){const i2="string"==typeof t2?t2:(t2??"")+"",n2=ct(i2);return ht(n2,e2,n2!==i2)}function gt(t2,e2){if(null==t2)return e2?"":t2+"";if("string"==typeof t2)return t2;if(t2 instanceof Date){const e3=t2.getTime();return Number.isFinite(e3)?t2.toISOString():""}return t2+""}function pt(t2){const e2=t2.trim();if(""===e2)return t2;const i2=e2.toLowerCase();if("true"===i2)return true;if("false"===i2)return false;if(/^-?0\d/.test(e2))return t2;if(/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/.test(e2)){if(yt(e2)>15)return t2;const i3=Number(e2);if(Number.isFinite(i3))return i3}if(/^-?\d{1,3}(,\d{3})+(\.\d+)?$/.test(e2)){const i3=e2.replace(/,/g,"");if(yt(i3)>15)return t2;const n2=Number(i3);if(Number.isFinite(n2))return n2}return t2}function yt(t2){return t2.replace(/^[+-]/,"").split(/[eE]/)[0].replace(".","").replace(/^0+/,"").length}function bt(t2){if(""===t2)return[];const e2=t2.endsWith("\r\n")?t2.slice(0,-2):t2.endsWith("\n")||t2.endsWith("\r")?t2.slice(0,-1):t2;if(""===e2)return[];const i2=[];let n2=[],r2="",s2=0;const o2=e2.length;for(;s2<o2;){const t3=e2[s2];if(""!==r2||'"'!==t3)" "!==t3?"\n"!==t3&&"\r"!==t3?(r2+=t3,s2++):(n2.push(r2),i2.push(n2),n2=[],r2="",s2+="\r"===t3&&"\n"===e2[s2+1]?2:1):(n2.push(r2),r2="",s2++);else for(s2++;s2<o2;){const t4=e2[s2];if('"'===t4){if('"'===e2[s2+1]){r2+='"',s2+=2;continue}s2++;break}r2+=t4,s2++}}return n2.push(r2),i2.push(n2),i2}const mt=[",",";"," ","|"];function wt(t2,e2={}){if("string"!=typeof t2||""===t2)return[];const i2=e2.delimiter&&e2.delimiter.length>0?e2.delimiter:",";let n2=t2;if(n2.endsWith("\r\n")?n2=n2.slice(0,-2):(n2.endsWith("\n")||n2.endsWith("\r"))&&(n2=n2.slice(0,-1)),""===n2)return[];const r2=[];let s2=[],o2="",l2=0;const a2=n2.length,d2=i2.length,u2=t3=>1===d2?n2[t3]===i2:n2.startsWith(i2,t3);for(;l2<a2;){const t3=n2[l2];if(""!==o2||'"'!==t3)u2(l2)?(s2.push(o2),o2="",l2+=d2):"\r"!==t3&&"\n"!==t3?(o2+=t3,l2++):(s2.push(o2),r2.push(s2),s2=[],o2="",l2+="\r"===t3&&"\n"===n2[l2+1]?2:1);else for(l2++;l2<a2;){const t4=n2[l2];if('"'===t4){if('"'===n2[l2+1]){o2+='"',l2+=2;continue}l2++;break}o2+=t4,l2++}}return s2.push(o2),r2.push(s2),r2}function vt(t2,e2,i2){let n2=t2.trim().replace(/\s+/g,"_").replace(/[^\w]/g,"");(""===n2||/^\d/.test(n2))&&(n2=""===n2?"col"+(e2+1):"col_"+n2);let r2=n2,s2=2;for(;i2.has(r2);)r2=`${n2}_${s2++}`;return i2.add(r2),r2}function xt(t2,e2={}){const i2=e2.delimiter&&e2.delimiter.length>0?e2.delimiter:(function(t3){if("string"!=typeof t3||""===t3)return",";let e3=",",i3=-1;for(const n3 of mt){const r3=wt(t3,{delimiter:n3}).slice(0,10);if(0===r3.length)continue;const s3=new Map;for(const t4 of r3)s3.set(t4.length,(s3.get(t4.length)??0)+1);let o3=0,l3=0;for(const[t4,e4]of s3)t4<2||(e4>l3||e4===l3&&t4>o3)&&(l3=e4,o3=t4);if(o3<2)continue;const a3=100*l3+o3;a3>i3&&(i3=a3,e3=n3)}return e3})(t2),n2=wt(t2,{delimiter:i2});if(0===n2.length)return{columns:[],rowData:[],delimiter:i2};const r2=false!==e2.hasHeader,s2=n2.reduce(((t3,e3)=>Math.max(t3,e3.length)),0),o2=r2?n2[0]:[],l2=r2?n2.slice(1):n2,a2=(function(t3,e3){const i3=[];for(let n3=0;n3<e3;n3++){let e4=false,r3=true,s3=true;for(const i4 of t3){const t4=i4[n3];if(void 0===t4||""===t4.trim())continue;e4=true;const o3=pt(t4);if("number"!=typeof o3&&(r3=false),"boolean"!=typeof o3&&(s3=false),!r3&&!s3)break}i3.push(e4?r3?"number":s3?"boolean":"string":"string")}return i3})(l2,s2),d2=new Set,u2=[];for(let t3=0;t3<s2;t3++){const e3=r2&&o2[t3]?.trim()||"Column "+(t3+1);u2.push({field:vt(r2?o2[t3]??"col"+(t3+1):"col"+(t3+1),t3,d2),headerName:e3,type:a2[t3]})}const c2=l2.map((t3=>{const e3={};for(let i3=0;i3<s2;i3++){const n3=u2[i3],r3=t3[i3];e3[n3.field]=void 0===r3||"string"!==n3.type&&""===r3.trim()?"string"===n3.type?r3??"":null:""!==r3?"number"===n3.type?(()=>{const t4=pt(r3);return"number"==typeof t4?t4:r3})():"boolean"===n3.type?(()=>{const t4=pt(r3);return"boolean"==typeof t4?t4:r3})():r3:"string"===n3.type?"":null}return e3}));return{columns:u2,rowData:c2,delimiter:i2}}const _t={copyCell:"Copy cell",copyRow:"Copy row",exportCsv:"Export CSV"};async function Ct(t2){"string"!=typeof t2&&(t2=(t2??"")+"");const e2=globalThis.navigator?.clipboard;if(e2&&"function"==typeof e2.writeText)try{return await e2.writeText(t2),true}catch{return false}return false}function kt(t2){if(!t2||"object"!=typeof t2)return"";const{row:e2,rowIndex:i2,column:n2,displayedText:r2,isOverflowing:s2,locale:o2,context:l2,api:a2}=t2;if(!n2||"string"!=typeof n2.field)return"";const d2="string"==typeof n2.tooltipField&&n2.tooltipField.length>0?n2.tooltipField:void 0;return n2.tooltipValueGetter||d2?St(Z({row:e2,rowIndex:i2,colId:d2??n2.field,field:d2??n2.field,valueGetter:n2.tooltipValueGetter??(d2?void 0:n2.valueGetter),colDef:n2,context:l2,api:a2})):true===s2?(function(t3,e3,i3,n3,r3,s3,o3){if("string"==typeof r3&&r3.length>0)return r3;const l3=Z({row:t3,rowIndex:e3,colId:i3.field,field:i3.field,valueGetter:i3.valueGetter,colDef:i3,context:s3,api:o3});return i3.valueFormatter?lt({value:l3,row:t3,rowIndex:e3,colId:i3.field,valueFormatter:i3.valueFormatter,locale:n3??"en",context:s3,api:o3}):St(l3)})(e2,i2,n2,o2,r2,l2,a2):""}function St(t2){return null==t2?"":"string"==typeof t2?t2:t2+""}function It(t2){const e2=Number.isFinite(t2.showMs)&&t2.showMs>=0?t2.showMs:400,i2=Number.isFinite(t2.hideMs)&&t2.hideMs>=0?t2.hideMs:100,n2=t2.schedule??((t3,e3)=>setTimeout(t3,e3)),r2=t2.cancel??(t3=>clearTimeout(t3));let s2="idle",o2=null,l2=null;function a2(){null!==o2&&(r2(o2),o2=null)}return{get state(){return s2},enter(i3){const r3=l2;return l2=i3,"shown"===s2||"pending-hide"===s2?(a2(),s2="shown",void(r3!==i3&&t2.onShow(i3))):(a2(),s2="pending-show",void(o2=n2((()=>{o2=null,s2="shown",null!==l2&&t2.onShow(l2)}),e2)))},leave(){if("idle"!==s2){if("pending-show"===s2)return a2(),s2="idle",void(l2=null);a2(),s2="pending-hide",o2=n2((()=>{o2=null,s2="idle",l2=null,t2.onHide()}),i2)}},cancel(){a2(),s2="idle",l2=null}}}function Rt(t2){const e2=Number.isFinite(t2.dragThresholdPx)?t2.dragThresholdPx:5,i2=Number.isFinite(t2.doubleClickThresholdMs)?t2.doubleClickThresholdMs:400,n2=(function(t3){const e3=t3?.button;return 0===e3?"left":1===e3?"middle":2===e3?"right":"other"})(t2.upEvent),r2=(function(t3){return{ctrl:true===t3?.ctrlKey,shift:true===t3?.shiftKey,meta:true===t3?.metaKey,alt:true===t3?.altKey}})(t2.upEvent),s2=(function(t3,e3,i3,n3,r3=5){if(!Number.isFinite(t3)||!Number.isFinite(e3))return false;if(!Number.isFinite(i3)||!Number.isFinite(n3))return false;const s3=i3-t3,o2=n3-e3;return s3*s3+o2*o2>r3*r3})(t2.downEvent.clientX??0,t2.downEvent.clientY??0,t2.upEvent.clientX??0,t2.upEvent.clientY??0,e2);return{button:n2,modifiers:r2,doubleClick:"number"==typeof t2.lastClickAt&&Number.isFinite(t2.lastClickAt)&&t2.timestamp-t2.lastClickAt<=i2,dragged:s2}}const Mt=["bottom","top","right","left"];function Ft(t2){const e2=Number.isFinite(t2.offset)?t2.offset:4,i2=t2.preferred??"bottom",n2=false!==t2.flip?[i2,...Mt.filter((t3=>t3!==i2))]:[i2];for(let i3=0;i3<n2.length;i3++){const r3=n2[i3],s2=Dt(t2.anchor,t2.floating,r3,e2);if(At(s2,t2.floating,t2.viewport))return{x:s2.x,y:s2.y,placement:r3}}const r2=(function(t3,e3,i3){const n3=i3.y+i3.height-e3.height;return{x:Math.max(i3.x,Math.min(t3.x,i3.x+i3.width-e3.width)),y:Math.max(i3.y,Math.min(t3.y,n3))}})(Dt(t2.anchor,t2.floating,i2,e2),t2.floating,t2.viewport);return{x:r2.x,y:r2.y,placement:i2}}function Dt(t2,e2,i2,n2){const r2=t2.x+t2.width/2,s2=t2.y+t2.height/2;return"top"===i2?{x:r2-e2.width/2,y:t2.y-e2.height-n2}:"bottom"===i2?{x:r2-e2.width/2,y:t2.y+t2.height+n2}:"left"===i2?{x:t2.x-e2.width-n2,y:s2-e2.height/2}:{x:t2.x+t2.width+n2,y:s2-e2.height/2}}function At(t2,e2,i2){return!(t2.x<i2.x||t2.y<i2.y||t2.x+e2.width>i2.x+i2.width||t2.y+e2.height>i2.y+i2.height)}const Et="community",Pt=()=>import("./p-DlE5rQTs.js"),$t=(function(){const t2=new Map;for(const e2 of"advanced-filter:getConditionFilter! getConditionPresets! setConditionFilter setConditionPresets;batch-editing:cancelBatchEdit! commitBatchEdit getPendingBatchCells! isBatchEditing! stageBatchCell startBatchEdit;cell-notes:addCellComment closeCellCommentPanel! deleteCellComment getCellComments! openCellCommentPanel setCellCommentResolved;collaboration:connectCollabRoom disconnectCollabRoom! getCollaborators! getSyncStatus!;context-menu:getContextMenuItems!;excel-export:exportDataAsExcel getDataAsExcel;fill-handle:fillRange;formulas:applySpillFormula clearSpillFormula disconnectWorkbook! flushWorkbookPropagation getSpillReport! getWorkbookBinding! getWorkbookIntegrityReport! getWorkbookPropagationState! getWorkbookSnapshotReport! reconnectWorkbook undoSpillTransaction;integrated-charts:activateChartToolPanelItem applyChartCrossFilter closeChartToolPanel!chart-link createRangeChart destroyChart!chart-link exportChartImage getChartAccessibleSummary!chart-link getChartFleetReport!chart-link getChartMenuModel!chart-link getChartModels!chart-link getChartRefs!chart-link getChartToolPanelReport!chart-link openChartToolPanel resetChartCrossFilter!chart-link restoreChartModels syncCharts updateChart;master-detail:collapseAllDetailRows! expandAllDetailRows setDetailRowExpanded;pdf-export:exportDataAsPdf getDataAsPdf;pivot:getPivotCombinationReport!group-pivot getPivotSecondaryColumns! setPivotColumns setValueColumns;range-clipboard:copyRangeToClipboard pasteFromClipboard;range-selection:clearCellRanges! getCanonicalRanges! getCellRanges! setCanonicalRanges;row-grouping:collapseAllRowGroups expandAllRowGroups getDisplayRowInfo!group-pivot getGroupCheckStates!group-pivot getRegisteredAggFuncNames! registerAggFunc setRowGroupExpanded unregisterAggFunc;server-side-row-model:applyServerSideTransaction applyServerSideTransactionAsync auditServerPivotResultColumns! flushServerSideAsyncTransactions getServerGroupSelectionState!ssrm-ops getServerPivotResultColumns! getServerSideSelectionState!ssrm-ops getServerSideStoreState! refreshServerSide selectAllServerSide selectServerGroupChildren setServerGroupSelectionState setServerSideSelectionState;tool-panels:closeToolPanel! getOpenedToolPanel! openToolPanel;tree-data:collapseAllTreeNodes expandAllTreeNodes reparentRows setTreeNodeExpanded;wasm-acceleration:getActiveTier!".split(";")){const[i2,n2]=e2.split(":");for(const e3 of n2.split(" ")){const[n3,r2]=e3.split("!");t2.set(n3,{feature:"grid."+i2,open:void 0===r2?null:""===r2?[]:r2.split("+")})}}return t2})(),Tt="sy-grid",jt=t2=>({attrs:{class:c,"aria-hidden":"true",[f]:t2,[h]:"grid",..."pending"===t2?{hidden:"hidden"}:{}},image:null}),Nt=jt("default");class Ot{grid;loadLayer;prefetchRuntime;session=null;loading=null;failed=false;prefetched=false;detached=false;asked=new Set;reported=new Set;lastRefused;constructor(t2,e2=()=>import("./p-BjWO1Np_.js"),i2=Pt){this.grid=t2,this.loadLayer=e2,this.prefetchRuntime=i2}get layer(){return this.session}get state(){return this.failed?"load-failed":"pending"}load(t2,e2=false){return null!==this.session?Promise.resolve(this.session):(void 0!==t2&&(this.asked.add(t2),this.prefetched||(this.prefetched=true,this.prefetchRuntime().catch((()=>{})))),null!==this.loading||this.failed&&!e2||(this.failed=false,this.loading=this.loadLayer().then((t3=>{const e3=t3.createGridLicenseSession(this.grid);for(const t4 of this.asked)e3.gate.displayState(t4);return this.asked.clear(),this.detached&&e3.detach(),this.session=e3,e3}),(()=>(this.failed=true,null))).then((t3=>(this.loading=null,this.grid.licenseRenderTick+=1,t3)))),this.loading??Promise.resolve(this.session))}ask(t2){return null===this.session&&this.load(t2),this.session}refusal(t2,e2,i2,n2=false){const r2=new o({code:i2,product:"grid",feature:t2,state:"pending",tag:Tt,method:e2,reason:"load-failed"===i2?"license layer unavailable":void 0});if(n2||this.detached)return r2;this.lastRefused=t2;try{l(this.grid.host,u,{product:"grid",feature:t2,state:"pending",code:i2,tag:Tt,...void 0!==e2?{method:e2}:{}})}catch{}return a(`${Tt}
|
|
2
|
+
${t2}
|
|
3
|
+
pending`,r2.message),this.grid.licenseRenderTick+=1,r2}noteFailed(t2,e2,i2){const n2=`${t2}
|
|
4
|
+
${i2}`;this.failed&&!this.reported.has(n2)&&(this.reported.add(n2),Promise.resolve().then((()=>this.refusal(t2,e2,"load-failed"))))}allowed(t2,e2){const i2=this.ask(t2);return null!==i2?i2.gate.allowed(t2,e2):(this.noteFailed(t2,e2,"inert"),false)}workAllowed(t2,e2){const i2=this.ask(t2);return null!==i2?i2.gate.workAllowed(t2,e2):(this.noteFailed(t2,e2,"refused"),false)}newWorkAllowed(t2,e2){return this.allowed(t2,e2)&&this.workAllowed(t2,e2)}moduleAvailable(t2,e2,i2,n2){return!!n2||(this.session?.gate.moduleAvailable(t2,e2,i2,false),false)}displayState(t2){const e2=this.ask(t2);return null!==e2?e2.gate.displayState(t2):this.state}frozen(t2){return this.session?.gate.frozen(t2)??false}entitled(t2){return this.session?.gate.entitled(t2)??false}lost(t2){return this.session?.gate.lost(t2)??false}live(t2){return"valid"===this.session?.gate.license().liveState(t2)}awaiting(t2){if(0===t2.length)return false;for(const e2 of t2)this.ask(e2);return null!==this.session?this.session.gate.awaiting(t2):!this.failed}async settle(t2){if(0===t2.length)return;const e2=await this.load(t2[0],true);await e2?.gate.settle(t2)}refuseRequest(t2,e2){if(0===t2.length)return[];const i2=this.ask(t2[0]);if(null!==i2)return i2.gate.refuseRequest(t2,e2);for(const e3 of t2)this.ask(e3);return[...new Set(t2)].map((t3=>this.refusal(t3,e2,this.failed?"load-failed":"license-pending")))}async admitAny(t2,e2){if(0===t2.length)return;const i2=await this.load(t2[0],true);if(null===i2)throw this.refusal(t2[0],e2,"load-failed");return i2.gate.admitAny(t2,e2)}admitChunk(t2,e2){if(0!==e2.length)return null!==this.session?this.session.gate.admitChunk(t2,e2):this.load(e2[0],true).then((i2=>{if(null===i2)throw this.refusal(e2[0],"chunk:"+t2,"load-failed");return i2.gate.admitChunk(t2,e2)}))}async method(t2,e2,i2){const n2=$t.get(t2),r2=i2.validate?.();if(r2)return r2.result;if(n2?.open?.every(e2)){let e3;try{const t3=i2.load?await i2.load():void 0;e3=await i2.exec(t3,(()=>{}))}catch(e4){throw null!==this.session?this.session.gate.moduleFailure(e4,n2.feature,t2):e4}return i2.publish?i2.publish(e3):e3}const s2=await this.load(n2?.feature,true);if(null===s2){if(void 0===n2)throw new TypeError(`${Tt}: not a Grid Pro method: ${t2}`);throw this.refusal(n2.feature,t2,"load-failed")}return s2.gate.method(t2,e2,{...i2,validate:void 0})}refusalError(t2,e2){return null!==this.session?this.session.gate.refusalError(t2,e2):this.refusal(t2,e2,this.failed?"load-failed":"license-pending",true)}attributes(){return null!==this.session?this.session.gate.attributes():0===this.asked.size&&void 0===this.lastRefused?{}:{[d.state]:this.state,[d.feature]:[...this.asked].sort()[0],[d.refused]:this.lastRefused}}afterRender(){this.session?.afterRender()}rebind(){this.detached=false,this.session?.gate.rebind()}detach(){this.detached=true,this.session?.detach()}brandView(t2){return null!==this.session?this.session.brandView(t2):(this.load(),this.failed?Nt:jt("pending"))}brandChanged(){this.session?.brandChanged()}brandImageFailed(t2){this.session?.brandImageFailed(t2)}}const Bt=new WeakSet,zt=Object.freeze(Object.assign(Object.create(null),{"batch-edit":Object.freeze(["grid.batch-editing"]),"chart-link":Object.freeze(["grid.integrated-charts"]),collab:Object.freeze(["grid.collaboration"]),"export-pdf":Object.freeze(["grid.pdf-export"]),"export-xlsx":Object.freeze(["grid.excel-export"]),fill:Object.freeze(["grid.fill-handle"]),"formula-acceleration":Object.freeze(["grid.formulas","grid.wasm-acceleration"]),"formula-core":Object.freeze(["grid.formulas"]),"formula-engine":Object.freeze(["grid.formulas","grid.wasm-acceleration"]),"formula-wasm":Object.freeze(["grid.wasm-acceleration"]),"formula-worker":Object.freeze(["grid.wasm-acceleration"]),"group-pivot":Object.freeze(["grid.pivot","grid.row-grouping"]),"master-detail":Object.freeze(["grid.master-detail"]),pivot:Object.freeze(["grid.pivot"]),"pro-filters":Object.freeze(["grid.advanced-filter","grid.multi-filter","grid.set-filter"]),"pro-panels":Object.freeze(["grid.batch-editing","grid.cell-notes","grid.column-menu","grid.context-menu","grid.find","grid.status-bar","grid.tool-panels"]),"range-selection":Object.freeze(["grid.range-clipboard","grid.range-selection"]),"rich-select":Object.freeze(["grid.rich-select"]),"ssrm-ops":Object.freeze(["grid.server-side-row-model"]),"tree-data":Object.freeze(["grid.tree-data"]),"viewport-row-model":Object.freeze(["grid.viewport-row-model"]),"workbook-ops":Object.freeze(["grid.formulas"])}));function Gt(t2,e2){const i2=[];if(!t2.ok)return i2;const n2=new Set(t2.appliedSlices),r2=(t3,e3,n3)=>{i2.push({feature:t3,path:e3,detail:n3})},s2=t2.columns;if(null!==s2&&n2.has("columns")){const t3=(function(t4){const e3=new Map,i3=t4?.slices?.columns;return(Array.isArray(i3?.entries)?i3.entries:[]).forEach(((t5,i4)=>{null===t5||"object"!=typeof t5||"string"!=typeof t5.colId||e3.has(t5.colId)||e3.set(t5.colId,i4)})),e3})(e2);for(const e3 of s2.rowGroupFields){const i3=t3.get(e3);r2("grid.row-grouping",void 0===i3?"$/slices/columns/entries":`$/slices/columns/entries/${i3}/rowGroupIndex`,`row grouping by "${e3}"`)}true===s2.pivotMode&&r2("grid.pivot","$/slices/columns/pivotMode","pivot mode")}const o2=t2.filter;null!==o2&&n2.has("filter")&&i2.push(...Lt(o2,"$/slices/filter"));const l2=t2.rows;null!==l2&&(n2.has("rowGrouping")&&l2.collapsedGroupRoutes.length>0&&r2("grid.row-grouping","$/slices/rowGrouping/collapsedGroupRoutes","collapsed row groups"),n2.has("pivot")&&l2.pivotCollapsedGroupRoutes.length>0&&r2("grid.pivot","$/slices/pivot/collapsedGroupRoutes","collapsed pivot groups"),n2.has("expansion")&&l2.collapsedTreeNodePaths.length>0&&r2("grid.tree-data","$/slices/expansion/collapsedTreeNodePaths","collapsed tree nodes"),n2.has("expansion")&&l2.expandedDetailRowIds.length>0&&r2("grid.master-detail","$/slices/expansion/expandedDetailRowIds","expanded detail rows"),n2.has("selection")&&l2.ranges.length>0&&r2("grid.range-selection","$/slices/selection/ranges","cell ranges"));const a2=t2.ui;return t2.find&&n2.has("find")&&r2("grid.find","$/slices/find","find query and options"),null!==a2&&n2.has("sideBar")&&null!==a2.immediate.sideBar.openPanelId&&r2("grid.tool-panels","$/slices/sideBar/openPanelId",`open tool panel "${a2.immediate.sideBar.openPanelId}"`),i2}function Lt(t2,e2){const i2=[];for(const[n2,r2]of Object.entries(t2.builtIn)){const t3=r2,s2=`${e2}/builtIn/${n2}`;"set"===t3?.kind?i2.push({feature:"grid.set-filter",path:s2,detail:`set filter on "${n2}"`}):"multi"===t3?.kind&&(i2.push({feature:"grid.multi-filter",path:s2,detail:`multi filter on "${n2}"`}),(Array.isArray(t3.spec?.parts)?t3.spec.parts:[]).some((t4=>"set"===t4?.kind))&&i2.push({feature:"grid.set-filter",path:s2,detail:`set filter part on "${n2}"`}))}return null!==t2.conditionTree&&i2.push({feature:"grid.advanced-filter",path:e2+"/conditionTree",detail:"advanced filter condition tree"}),i2}function Vt(t2){const e2=[];for(const i2 of t2)e2.includes(i2.feature)||e2.push(i2.feature);return e2}function Ht(t2){return"license-pending"===t2.code?"license verification pending":"load-failed"===t2.code?"license runtime unavailable":"disposed"===t2.code?"the grid was disconnected":"license state: "+t2.state}function Wt(t2,e2){const i2=new Map(e2.map((t3=>[t3.feature,t3]))),n2=[];for(const e3 of t2){const t3=i2.get(e3.feature);void 0!==t3&&n2.push({code:"not-entitled",path:e3.path,detail:`${e3.detail} needs the Grid Pro feature "${e3.feature}" (${Ht(t3)})`})}return n2}const qt=new Set(["grid.set-filter","grid.multi-filter","grid.advanced-filter"]);function Ut(t2){return t2.filter((t3=>qt.has(t3.feature)))}function Kt(t2,e2,i2){const n2="module-missing"===e2?"not in this build":"the module failed to load";return t2.map((t3=>({code:"not-entitled",path:t3.path,detail:`${t3.detail} needs the Grid Pro module '${i2}' of "${t3.feature}" (${e2}: ${n2})`})))}function Yt(t2,e2){return{...t2,ok:false,issues:[...t2.issues,...e2],appliedSlices:[],columns:null,filter:null,rows:null,ui:null}}function Jt(t2){return t2.length>1||1===t2.length&&t2[0].length>1}function Qt(t2){if(t2.length>1)return true;if(0===t2.length)return false;const[e2]=t2;return e2.top!==e2.bottom||e2.left!==e2.right}class Xt{heldBack=false;edited=new WeakMap;get held(){return this.heldBack}holdRebuild(){this.heldBack=true}holdEdit(t2,e2){this.heldBack=true;let i2=this.edited.get(t2);void 0===i2&&(i2=new Set,this.edited.set(t2,i2)),i2.add(e2)}showsRaw(t2,e2,i2){return!!this.heldBack&&(true===this.edited.get(i2)?.has(e2)||null===t2.cellCoordinate(e2,i2))}reset(){this.heldBack=false,this.edited=new WeakMap}}class Zt{feature;same;applied=null;heldBack=false;constructor(t2,e2){this.feature=t2,this.same=e2}get held(){return this.heldBack}get current(){return this.applied}resolve(t2,e2){if(null===t2)return this.applied=null,this.heldBack=false,null;const i2=this.applied;return null!==i2&&this.same(t2,i2)?(this.heldBack=false,t2):e2.entitled(this.feature)?(this.applied=t2,this.heldBack=false,t2):(this.heldBack=true,i2)}clear(){this.applied=null,this.heldBack=false}resume(t2){return!(!this.heldBack||!t2.entitled(this.feature)||(this.heldBack=false,0))}}class te{held=new Map;hold(t2,e2){this.held.set(t2,e2)}drop(t2){this.held.delete(t2)}has(t2){return this.held.has(t2)}release(t2){const e2=[];for(const[i2,n2]of[...this.held])t2.entitled(n2)&&(this.held.delete(i2),e2.push(i2));return e2}}const ee="grid.collaboration";class ie{stoppedByLicense=false;get stopped(){return this.stoppedByLicense}holdJoin(){this.stoppedByLicense=true}onLicenseChange(t2,e2){return!(!e2.running()||!t2.lost(ee)||(e2.stop(),this.stoppedByLicense=true,0))}resume(t2,e2){return!(!this.stoppedByLicense||!t2.entitled(ee)||(this.stoppedByLicense=false,!e2.roomDeclared()||e2.running()||(e2.rejoin(),0)))}reset(){this.stoppedByLicense=false}}const ne="1.22.0",re=Object.freeze({reason:"network",maxAttempts:2,delayMs:250}),se=Object.freeze({contractVersion:ne,entries:Object.freeze([Object.freeze({id:"batch-edit",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:4096,countsTowardFirstUsePayload:true}),Object.freeze({id:"chart-link",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:28672,countsTowardFirstUsePayload:true}),Object.freeze({id:"collab",kind:"esm",tier:"pro",family:"collabGovernance",contractVersion:ne,budgetGzipBytes:20480,countsTowardFirstUsePayload:true}),Object.freeze({id:"component-runtime",kind:"esm",tier:"community",family:"base",contractVersion:ne,budgetGzipBytes:29696,countsTowardFirstUsePayload:true}),Object.freeze({id:"conditional-format",kind:"esm",tier:"community",family:"base",contractVersion:ne,budgetGzipBytes:3072,countsTowardFirstUsePayload:true}),Object.freeze({id:"export-pdf",kind:"esm",tier:"pro",family:"export",contractVersion:ne,budgetGzipBytes:20480,countsTowardFirstUsePayload:true}),Object.freeze({id:"export-xlsx",kind:"esm",tier:"pro",family:"export",contractVersion:ne,budgetGzipBytes:16384,countsTowardFirstUsePayload:true}),Object.freeze({id:"fill",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:11264,countsTowardFirstUsePayload:true}),Object.freeze({id:"formula-acceleration",kind:"esm",tier:"pro",family:"formula",contractVersion:ne,budgetGzipBytes:33792,countsTowardFirstUsePayload:true}),Object.freeze({id:"formula-core",kind:"esm",tier:"pro",family:"formula",contractVersion:ne,budgetGzipBytes:25600,countsTowardFirstUsePayload:true}),Object.freeze({id:"formula-engine",kind:"wasm",tier:"pro",family:"formula",contractVersion:ne,budgetGzipBytes:106496,countsTowardFirstUsePayload:true}),Object.freeze({id:"formula-wasm",kind:"wasm",tier:"pro",family:"formula",contractVersion:ne,budgetGzipBytes:20480,countsTowardFirstUsePayload:true}),Object.freeze({id:"formula-worker",kind:"worker",tier:"pro",family:"formula",contractVersion:ne,budgetGzipBytes:12288,countsTowardFirstUsePayload:true}),Object.freeze({id:"group-pivot",kind:"esm",tier:"pro",family:"pivot",contractVersion:ne,budgetGzipBytes:14336,countsTowardFirstUsePayload:true}),Object.freeze({id:"import-xlsx",kind:"esm",tier:"community",family:"export",contractVersion:ne,budgetGzipBytes:12288,countsTowardFirstUsePayload:true}),Object.freeze({id:"live-api",kind:"esm",tier:"community",family:"base",contractVersion:ne,budgetGzipBytes:4096,countsTowardFirstUsePayload:true}),Object.freeze({id:"master-detail",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:1024,countsTowardFirstUsePayload:true}),Object.freeze({id:"pivot",kind:"esm",tier:"pro",family:"pivot",contractVersion:ne,budgetGzipBytes:6144,countsTowardFirstUsePayload:true}),Object.freeze({id:"pro-filters",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:5120,countsTowardFirstUsePayload:true}),Object.freeze({id:"pro-panels",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:11264,countsTowardFirstUsePayload:true}),Object.freeze({id:"range-selection",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:2048,countsTowardFirstUsePayload:true}),Object.freeze({id:"rich-select",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:3072,countsTowardFirstUsePayload:true}),Object.freeze({id:"row-drag",kind:"esm",tier:"community",family:"base",contractVersion:ne,budgetGzipBytes:24576,countsTowardFirstUsePayload:true}),Object.freeze({id:"row-layout",kind:"esm",tier:"community",family:"base",contractVersion:ne,budgetGzipBytes:24576,countsTowardFirstUsePayload:true}),Object.freeze({id:"ssrm-ops",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:17408,countsTowardFirstUsePayload:true}),Object.freeze({id:"tree-data",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:7168,countsTowardFirstUsePayload:true}),Object.freeze({id:"viewport-row-model",kind:"esm",tier:"pro",family:"base",contractVersion:ne,budgetGzipBytes:1024,countsTowardFirstUsePayload:true}),Object.freeze({id:"workbook-ops",kind:"esm",tier:"pro",family:"formula",contractVersion:ne,budgetGzipBytes:36864,countsTowardFirstUsePayload:true})])});function oe(t2,e2){return t2===re.reason&&e2<re.maxAttempts?{retry:true,delayMs:re.delayMs}:{retry:false,delayMs:0}}class le extends Error{chunkId;reason;httpStatus;constructor(t2,e2,i2,n2){super(i2),this.name="GridChunkLoadError",this.chunkId=t2,this.reason=e2,this.httpStatus=n2}}const ae=t2=>new Promise((e2=>setTimeout(e2,t2)));async function de(t2){const e2=globalThis.crypto?.subtle;if(void 0===e2)throw new le("formula-wasm","integrity","crypto");const i2=await e2.digest("SHA-256",t2.slice().buffer);return[...new Uint8Array(i2)].map((t3=>t3.toString(16).padStart(2,"0"))).join("")}const ue=(function(){const t2=[];for(const e2 of"advanced-filter:conditionBuilder;collaboration:collaborationRoom realtimeUrl collabUserName collabUserColor collabPersistence=indexeddb collabPresence- collabConflictUi-;context-menu:contextMenu contextMenuItemsCallback;column-menu:columnMenu columnMenuItems;find:find;cell-notes:cellNotes cellNotesAdapter;batch-editing:batchEditToolbar;fill-handle:enableFillHandle fillHandleAxes fillHandleMode;formulas:formulas formulaBar showFormulas workbookId sheetName;master-detail:masterDetail detailRowHeight!160 detailCellRenderer detailGridOptions getDetailRowData detailNestingLevel!0;pdf-export:pdfFontUrl pdfAutoFont-;pivot:pivotMode pivotRowGroupColumns pivotColumns pivotValueColumns pivotAggFuncs pivotSubtotals!off pivotGrandTotal!bottom pivotPanelShow=always|onlyWhenPivoting pivotPanel;range-selection:rangeSelection;row-grouping:groupBy groupPanel;server-side-row-model:serverSideDatasource serverSideGroupCols serverSideTransactionWaitMs;status-bar:statusBar;tool-panels:sideBar;tree-data:getDataPath treeIdField treeParentField treeLabelField;viewport-row-model:viewportDatasource;wasm-acceleration:engine=pro proThreshold!100000 unavailable=error".split(";")){const[i2,n2]=e2.split(":");for(const e3 of n2.split(" ")){const n3=/^([A-Za-z]+)(?:(-)|!(.+)|=(.+))?$/.exec(e3);if(null===n3)throw new TypeError(`grid Pro declaration table: bad entry "${e3}"`);const[,r2,s2,o2,l2]=n3,a2=void 0!==s2?{kind:"never"}:void 0!==o2?{kind:"not-default",value:o2}:void 0!==l2?{kind:"one-of",values:l2.split("|")}:{kind:"present"};t2.push({prop:r2,feature:"grid."+i2,rule:a2})}}return t2})();function ce(t2){return null!=t2&&false!==t2&&""!==t2&&!(Array.isArray(t2)&&0===t2.length)}function he(t2,e2){switch(t2.kind){case"never":return false;case"present":return ce(e2);case"not-default":return ce(e2)&&e2+""!==t2.value;case"one-of":return("string"==typeof e2||"number"==typeof e2)&&t2.values.includes(e2+"")}}const fe=Object.freeze({"grid.advanced-filter":"pro-filters","grid.context-menu":"pro-panels","grid.column-menu":"pro-panels","grid.find":"pro-panels","grid.cell-notes":"pro-panels","grid.batch-editing":"pro-panels","grid.fill-handle":"fill","grid.formulas":"formula-core","grid.master-detail":"master-detail","grid.pivot":"group-pivot","grid.range-selection":"range-selection","grid.row-grouping":"group-pivot","grid.server-side-row-model":"ssrm-ops","grid.status-bar":"pro-panels","grid.tool-panels":"pro-panels","grid.tree-data":"tree-data","grid.viewport-row-model":"viewport-row-model"});function ge(t2,e2,i2){for(const n2 of Reflect.ownKeys(t2)){if(Array.isArray(t2)&&"length"===n2)continue;const r2=Object.getOwnPropertyDescriptor(t2,n2);void 0!==r2&&("value"in r2&&(r2.value=i2(r2.value)),Object.defineProperty(e2,n2,r2))}}function pe(t2){const e2=new Map,i2=t3=>{if(null===t3||"object"!=typeof t3&&"function"!=typeof t3)return t3;if("function"==typeof t3)return t3;const n2=e2.get(t3);if(void 0!==n2)return n2;if(t3 instanceof Date){const i3=new Date(t3.getTime());return e2.set(t3,i3),i3}if(t3 instanceof RegExp){const i3=RegExp(t3.source,t3.flags);return i3.lastIndex=t3.lastIndex,e2.set(t3,i3),i3}if(t3 instanceof ArrayBuffer){const i3=t3.slice(0);return e2.set(t3,i3),i3}if(ArrayBuffer.isView(t3)){const n3=i2(t3.buffer);let r3;return r3=t3 instanceof DataView?new DataView(n3,t3.byteOffset,t3.byteLength):new(0,t3.constructor)(n3,t3.byteOffset,t3.length),e2.set(t3,r3),r3}if(t3 instanceof Map){const n3=new Map;e2.set(t3,n3);for(const[e3,r3]of t3)n3.set(i2(e3),i2(r3));return n3}if(t3 instanceof Set){const n3=new Set;e2.set(t3,n3);for(const e3 of t3)n3.add(i2(e3));return n3}if(Array.isArray(t3)){const n3=Array(t3.length);return e2.set(t3,n3),ge(t3,n3,i2),n3}const r2=Object.create(Object.getPrototypeOf(t3));return e2.set(t3,r2),ge(t3,r2,i2),r2};return i2(t2)}function ye(t2,e2){if(t2.byteLength!==e2.byteLength)return false;const i2=new Uint8Array(t2.buffer,t2.byteOffset,t2.byteLength),n2=new Uint8Array(e2.buffer,e2.byteOffset,e2.byteLength);for(let t3=0;t3<i2.length;t3+=1)if(i2[t3]!==n2[t3])return false;return true}function be(t2,e2){const i2=new Map,n2=new Map,r2=(t3,e3)=>{if(Object.is(t3,e3))return true;if(null===t3||null===e3||"object"!=typeof t3||"object"!=typeof e3)return false;const s2=i2.get(t3);if(void 0!==s2)return s2===e3;const o2=n2.get(e3);if(void 0!==o2)return o2===t3;if(i2.set(t3,e3),n2.set(e3,t3),t3 instanceof Date||e3 instanceof Date)return t3 instanceof Date&&e3 instanceof Date&&Object.is(t3.getTime(),e3.getTime());if(t3 instanceof RegExp||e3 instanceof RegExp)return t3 instanceof RegExp&&e3 instanceof RegExp&&t3.source===e3.source&&t3.flags===e3.flags&&t3.lastIndex===e3.lastIndex;if(t3 instanceof ArrayBuffer||e3 instanceof ArrayBuffer)return t3 instanceof ArrayBuffer&&e3 instanceof ArrayBuffer&&ye(new Uint8Array(t3),new Uint8Array(e3));if(ArrayBuffer.isView(t3)||ArrayBuffer.isView(e3))return ArrayBuffer.isView(t3)&&ArrayBuffer.isView(e3)&&t3.constructor===e3.constructor&&ye(t3,e3);if(t3 instanceof Map||e3 instanceof Map){if(!(t3 instanceof Map&&e3 instanceof Map&&t3.size===e3.size))return false;const i3=t3.entries(),n3=e3.entries();for(let t4=i3.next(),e4=n3.next();!t4.done&&!e4.done;t4=i3.next(),e4=n3.next())if(!r2(t4.value[0],e4.value[0])||!r2(t4.value[1],e4.value[1]))return false;return true}if(t3 instanceof Set||e3 instanceof Set){if(!(t3 instanceof Set&&e3 instanceof Set&&t3.size===e3.size))return false;const i3=t3.values(),n3=e3.values();for(let t4=i3.next(),e4=n3.next();!t4.done&&!e4.done;t4=i3.next(),e4=n3.next())if(!r2(t4.value,e4.value))return false;return true}if(Object.getPrototypeOf(t3)!==Object.getPrototypeOf(e3))return false;const l2=Reflect.ownKeys(t3),a2=Reflect.ownKeys(e3);if(l2.length!==a2.length)return false;for(const i3 of l2){if(!Object.prototype.hasOwnProperty.call(e3,i3))return false;const n3=Object.getOwnPropertyDescriptor(t3,i3),s3=Object.getOwnPropertyDescriptor(e3,i3);if(void 0===n3||void 0===s3)return false;if(n3.enumerable!==s3.enumerable||n3.configurable!==s3.configurable||"writable"in n3&&n3.writable!==s3.writable)return false;if("value"in n3){if(!("value"in s3)||!r2(n3.value,s3.value))return false}else if("value"in s3||n3.get!==s3.get||n3.set!==s3.set)return false}return true};return r2(t2,e2)}function me(t2){const e2=Number.isFinite(t2)?Math.floor(t2):0;return e2>0?e2:1e3}class we{maxEntries;now;buf=[];seqCounter=0;recordedCount=0;constructor(t2={}){this.maxEntries=me(t2.maxEntries??1e3),this.now=t2.now??Date.now}record(t2){this.seqCounter+=1,this.recordedCount+=1;const e2=pe({...t2,seq:this.seqCounter,ts:t2.ts??this.now()});return this.buf.push(e2),this.buf.length>this.maxEntries&&this.buf.splice(0,this.buf.length-this.maxEntries),pe(e2)}entries(t2){if(void 0===t2)return pe(this.buf);const e2=void 0===t2.kind?null:new Set(Array.isArray(t2.kind)?t2.kind:[t2.kind]),i2=void 0===t2.source?null:new Set(Array.isArray(t2.source)?t2.source:[t2.source]);return pe(this.buf.filter((n2=>(null===e2||e2.has(n2.kind))&&(null===i2||i2.has(n2.source))&&(void 0===t2.sinceSeq||n2.seq>=t2.sinceSeq)&&(void 0===t2.sinceTs||n2.ts>=t2.sinceTs))))}size(){return this.buf.length}totalRecorded(){return this.recordedCount}last(){return this.buf.length>0?pe(this.buf[this.buf.length-1]):null}resize(t2){this.maxEntries=me(t2),this.buf.length>this.maxEntries&&this.buf.splice(0,this.buf.length-this.maxEntries)}clear(){this.buf=[]}}function ve(t2,e2){if("function"==typeof t2)try{t2(e2)}catch{}}function xe(t2,e2,i2){if(null==e2)return true;if("function"!=typeof e2)return ve(i2,new TypeError("Cell access policy must be a function, null, or undefined.")),false;let n2;try{n2=e2(t2)}catch(t3){return ve(i2,t3),false}return true===n2||(n2 instanceof Promise&&n2.catch((()=>{})),false!==n2&&ve(i2,(function(t3){return new TypeError(`Cell access policy must return the synchronous literal boolean true; received ${null===t3?"null":typeof t3}.`)})(n2)),false)}const _e=t2=>null==t2||""===t2;function Ce(t2){if("number"==typeof t2)return Number.isFinite(t2)?t2:null;if("string"==typeof t2&&""!==t2.trim()){const e2=Number(t2);return Number.isFinite(e2)?e2:null}return null}function ke(t2,e2){const i2=null==t2?"":t2+"";return true===e2?i2:i2.toLowerCase()}function Se(t2,e2,i2){const n2=Ce(t2),r2=Ce(e2);return null!==n2&&null!==r2?n2===r2:ke(t2,i2)===ke(e2,i2)}function Ie(t2,e2){return null!==t2&&"object"==typeof t2&&void 0!==t2.condition&&(void 0===t2.field||t2.field===e2.field)&&(function(t3,e3){if(null===t3||"object"!=typeof t3)return false;switch(t3.type){case"blank":return _e(e3);case"notBlank":return!_e(e3);case"equals":return Se(e3,t3.value,t3.caseSensitive);case"notEquals":return!Se(e3,t3.value,t3.caseSensitive);case"greaterThan":case"greaterThanOrEqual":case"lessThan":case"lessThanOrEqual":{const i2=Ce(e3),n2=Ce(t3.value);return null!==i2&&null!==n2&&("greaterThan"===t3.type?i2>n2:"greaterThanOrEqual"===t3.type?i2>=n2:"lessThan"===t3.type?i2<n2:i2<=n2)}case"between":{const i2=Ce(e3),n2=Ce(t3.value),r2=Ce(t3.value2);return null!==i2&&null!==n2&&null!==r2&&i2>=Math.min(n2,r2)&&i2<=Math.max(n2,r2)}case"contains":return!_e(e3)&&ke(e3,t3.caseSensitive).includes(ke(t3.value,t3.caseSensitive));case"notContains":return!!_e(e3)||!ke(e3,t3.caseSensitive).includes(ke(t3.value,t3.caseSensitive));case"startsWith":return!_e(e3)&&ke(e3,t3.caseSensitive).startsWith(ke(t3.value,t3.caseSensitive));case"endsWith":return!_e(e3)&&ke(e3,t3.caseSensitive).endsWith(ke(t3.value,t3.caseSensitive));default:return false}})(t2.condition,e2.value)}function Re(t2,e2){if(!Array.isArray(t2)||0===t2.length)return null;let i2=null;for(const n2 of t2)if(Ie(n2,e2)&&(i2={...i2??{},...n2.style??{}},true===n2.stopIfTrue))break;return i2}const Me=/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Fe=/^(?:rgb|rgba|hsl|hsla)\(\s*[0-9a-z%.,\s/]+\)$/i,De=/^[a-z]+$/i;function Ae(t2){if("string"!=typeof t2)return false;const e2=t2.trim();return!(""===e2||e2.length>64)&&!/[;{}]|url\(|expression|\/\*|<|>/i.test(e2)&&(Me.test(e2)||Fe.test(e2)||De.test(e2))}const Ee={valid:true},Pe=t2=>null==t2||""===t2;function $e(t2){if("number"==typeof t2)return Number.isFinite(t2)?t2:null;if("string"==typeof t2&&""!==t2.trim()){const e2=Number(t2);return Number.isFinite(e2)?e2:null}return null}function Te(t2){switch(t2.type){case"required":return"Required";case"number":return"Must be a number";case"integer":return"Must be a whole number";case"min":return"Must be ≥ "+t2.value;case"max":return"Must be ≤ "+t2.value;case"range":return`Must be between ${t2.value+""} and ${t2.value2+""}`;case"minLength":return`Must be at least ${t2.value+""} characters`;case"maxLength":return`Must be at most ${t2.value+""} characters`;case"pattern":return"Invalid format";case"oneOf":return"Must be one of: "+(t2.values??[]).join(", ");default:return"Invalid value"}}function je(t2,e2){return{valid:false,ruleType:t2.type,message:e2??t2.message??Te(t2)}}function Ne(t2,e2){if(null===t2||"object"!=typeof t2)return Ee;if("custom"===t2.type&&"function"==typeof t2.validator&&!Pe(e2.value)){let i2;try{i2=t2.validator(e2.value,e2.data)}catch{return je(t2)}return true===i2?Ee:je(t2,"string"==typeof i2?i2:void 0)}return(function(t3,e3,i2){if("required"===t3.type)return!Pe(e3);if(Pe(e3))return true;switch(t3.type){case"number":return null!==$e(e3);case"integer":{const t4=$e(e3);return null!==t4&&Number.isInteger(t4)}case"min":{const i3=$e(e3),n2=$e(t3.value);return null!==i3&&null!==n2&&i3>=n2}case"max":{const i3=$e(e3),n2=$e(t3.value);return null!==i3&&null!==n2&&i3<=n2}case"range":{const i3=$e(e3),n2=$e(t3.value),r2=$e(t3.value2);return null!==i3&&null!==n2&&null!==r2&&i3>=Math.min(n2,r2)&&i3<=Math.max(n2,r2)}case"minLength":case"maxLength":{const i3=(function(t4){const e4=$e(t4);return null!==e4&&Number.isInteger(e4)&&e4>=0?e4:null})(t3.value);return null!==i3&&("minLength"===t3.type?(e3+"").length>=i3:(e3+"").length<=i3)}case"pattern":{const i3="string"==typeof t3.pattern?t3.pattern:"string"==typeof t3.value?t3.value:null;if(null===i3)return false;try{return RegExp(i3).test(e3+"")}catch{return false}}case"oneOf":return Array.isArray(t3.values)&&t3.values.some((t4=>t4===e3||t4+""==e3+""));case"custom":if("function"!=typeof t3.validator)return false;try{return true===t3.validator(e3,i2)}catch{return false}default:return false}})(t2,e2.value,e2.data)?Ee:je(t2)}function Oe(t2,e2){if(!Array.isArray(t2)||0===t2.length)return Ee;for(const i2 of t2){if(i2.field!==e2.field)continue;const t3=Ne(i2,e2);if(!t3.valid)return t3}return Ee}function Be(t2){const e2=Number.isFinite(t2)?Math.floor(t2):0;return e2>0?e2:20}function ze(t2){if("function"==typeof structuredClone)try{return structuredClone(t2)}catch{}return pe(t2)}function Ge(t2,e2){return t2.find((t3=>t3.id===e2))??null}function Le(t2,e2){return null!==t2&&"object"==typeof t2&&"id"in t2&&null!=t2.id?t2.id:"__index_"+e2}function Ve(t2){return"string"==typeof t2&&t2.length>0||"number"==typeof t2&&Number.isFinite(t2)}function He(t2){return"string"==typeof t2?JSON.stringify(t2):Object.is(t2,-0)?"-0":t2+""}function We(t2,e2,i2){const n2=new Map,r2=new Map;for(let s2=0;s2<t2.length;s2+=1){let o2;try{o2=i2(t2[s2],s2)}catch(t3){const i3=Error(`Snapshot diff ${e2} row ${s2} id resolver threw.`);throw i3.cause=t3,i3}if(!Ve(o2))throw new TypeError(`Snapshot diff ${e2} row ${s2} has an invalid row id; expected a non-empty string or finite number.`);if(n2.has(o2))throw Error(`Snapshot diff ${e2} rows ${r2.get(o2)} and ${s2} share duplicate row id ${He(o2)}.`);n2.set(o2,t2[s2]),r2.set(o2,s2)}return n2}function qe(t2,e2){const i2=[];for(const n2 of(function(t3,e3){const i3=new Set;for(const e4 of Object.keys(t3))i3.add(e4);for(const t4 of Object.keys(e3))i3.add(t4);return[...i3]})(t2,e2))be(t2[n2],e2[n2])||i2.push({field:n2,before:pe(t2[n2]),after:pe(e2[n2])});return i2}const Ue=Object.freeze({valid:true});function Ke(t2,e2,i2,n2,r2=Ue,s2="keep"){return{kind:"rejected",reason:e2,action:s2,previousRow:t2.previousRow,oldValue:i2,value:n2,validation:r2}}const Ye=["seq","ts","kind","source","txId","rowId","field","oldValue","newValue","added","updated","removed","selectedCount","addedIds","removedIds","action","undoDepth","redoDepth"];function Je(t2,e2){return"number"==typeof e2?`${t2}[${e2}]`:/^[A-Za-z_$][\w$]*$/.test(e2)?`${t2}.${e2}`:`${t2}[${JSON.stringify(e2)}]`}function Qe(t2){const e2=new Map,i2=(t3,n2)=>{if(null===t3||"string"==typeof t3||"boolean"==typeof t3)return t3;if("number"==typeof t3)return Number.isFinite(t3)?t3:`[Number:${Number.isNaN(t3)?"NaN":t3>0?"Infinity":"-Infinity"}]`;if("bigint"==typeof t3)return`[BigInt:${""+t3}]`;if(void 0===t3)return"[Undefined]";if("symbol"==typeof t3)return`[Symbol:${t3.description??""}]`;if("function"==typeof t3)return`[Function:${t3.name||"anonymous"}]`;if("object"!=typeof t3)return"[Unsupported:Value]";const r2=e2.get(t3);if(void 0!==r2)return`[Circular:${r2}]`;if(t3 instanceof Date)return Number.isNaN(t3.getTime())?null:t3.toISOString();if(t3 instanceof RegExp)return`[RegExp:${""+t3}]`;e2.set(t3,n2);try{if(t3 instanceof ArrayBuffer)return{$type:"ArrayBuffer",bytes:Array.from(new Uint8Array(t3))};if(ArrayBuffer.isView(t3))return{$type:t3.constructor.name,bytes:Array.from(new Uint8Array(t3.buffer,t3.byteOffset,t3.byteLength))};if(t3 instanceof Map)return{$type:"Map",entries:Array.from(t3.entries(),(([t4,e4],r4)=>[i2(t4,`${n2}.entries[${r4}][0]`),i2(e4,`${n2}.entries[${r4}][1]`)]))};if(t3 instanceof Set)return{$type:"Set",items:Array.from(t3.values(),((t4,e4)=>i2(t4,`${n2}.items[${e4}]`)))};if(t3 instanceof Error)return{$type:t3.name||"Error",message:t3.message};if(Array.isArray(t3)){const e4=Array(t3.length);for(let r4=0;r4<t3.length;r4+=1)try{e4[r4]=i2(t3[r4],Je(n2,r4))}catch{e4[r4]="[Unserializable:ArrayItem]"}return e4}const e3=Object.create(null);let r3;try{r3=Object.keys(t3)}catch{return"[Unserializable:Object]"}if(0===r3.length&&Object.getPrototypeOf(t3)!==Object.prototype)return`[Unsupported:${t3.constructor?.name??"Object"}]`;for(const s2 of r3)try{e3[s2]=i2(t3[s2],Je(n2,s2))}catch{e3[s2]="[Unserializable:Property]"}return e3}finally{e2.delete(t3)}};return i2(t2,"$")}function Xe(t2){if(null==t2)return"";const e2=Qe(t2);return"object"==typeof e2&&null!==e2?JSON.stringify(e2):e2+""}function Ze(t2,e2){return t2[e2]}const ti=/^[+-]?\d+$/;function ei(t2){return"bigint"==typeof t2?t2>=-2147483648n&&t2<=2147483647n:Number.isFinite(t2)&&t2>=-2147483648&&t2<=2147483647}function ii(t2){if("number"==typeof t2)return Number.isFinite(t2)?Number.isInteger(t2)&&!ei(t2)?BigInt(t2):t2:null;if("bigint"==typeof t2)return ei(t2)?Number(t2):t2;if("string"==typeof t2){const e2=t2.trim();if(0===e2.length)return null;if(ti.test(e2)){const t3=BigInt(e2);return ei(t3)?Number(t3):t3}const i2=Number(e2);return Number.isFinite(i2)?Number.isInteger(i2)&&!ei(i2)?BigInt(i2):i2:null}return null}const ni=Object.freeze({});function ri(t2){return Object.freeze(t2.source),Object.freeze(t2.rows),Object.freeze(t2.meta),Object.freeze(t2)}function si(t2,e2){const i2=[...t2];let n2=ri({source:i2,rows:i2,stage:"source",meta:ni});for(const t3 of e2){const e3=t3.run(n2);n2=ri(e3.source===i2?e3:{...e3,source:i2})}return n2}function oi(t2){const e2=t2.filters,i2=Object.freeze(e2.map((t3=>t3.id))),n2=e2.length,r2=e2.map((t3=>t3.predicate));return{name:"filtered",run(t3){const e3=t3.rows.slice();let s2;if(0===n2)s2=e3;else{s2=[];for(let t4=0;t4<e3.length;t4++){const i3=e3[t4];let n3=true;for(let t5=0;t5<r2.length;t5++)if(!r2[t5](i3)){n3=false;break}n3&&s2.push(i3)}}return{source:t3.source,rows:s2,stage:"filtered",meta:{...t3.meta,filterCount:n2,filterIds:i2}}}}}function li(t2){return null==t2||!("number"!=typeof t2||!Number.isNaN(t2))||!!(t2 instanceof Date&&Number.isNaN(t2.getTime()))}function ai(t2,e2){const i2=li(t2),n2=li(e2);if(i2&&n2)return 0;if(i2)return 1;if(n2)return-1;const r2=typeof t2,s2=typeof e2;if(!("number"!==r2&&"bigint"!==r2||"number"!==s2&&"bigint"!==s2))return t2<e2?-1:t2>e2?1:0;if(r2!==s2)return r2<s2?-1:1;switch(r2){case"number":return di(t2,e2);case"string":return t2<e2?-1:t2>e2?1:0;case"boolean":return t2===e2?0:t2?1:-1;case"object":return t2 instanceof Date&&e2 instanceof Date?di(t2.getTime(),e2.getTime()):0;default:return 0}}function di(t2,e2){return t2<e2?-1:t2>e2?1:0}function ui(t2){const e2=t2.pageSize;if("number"!=typeof e2||!Number.isFinite(e2)||!Number.isInteger(e2)||e2<1)throw new RangeError("pageSize must be a positive integer");const i2=t2.pageIndex;return{name:"paginated",run(t3){const n2=t3.rows.length,r2=Math.max(1,Math.ceil(n2/e2));let s2=i2;if("number"==typeof s2&&Number.isFinite(s2)){if(!Number.isInteger(s2)){const t4=Math.floor(s2);console.warn(`pageIndex must be an integer, flooring ${s2} to ${t4}`),s2=t4}}else console.warn("pageIndex must be a finite number, defaulting to 0"),s2=0;s2<0?(console.warn("pageIndex must be ≥ 0, clamped to 0"),s2=0):s2>=r2&&(s2=r2-1);const o2=s2*e2,l2=t3.rows.slice(o2,o2+e2);return{source:t3.source,rows:l2,stage:"paginated",meta:{...t3.meta,pagination:{totalRows:n2,pageCount:r2,pageIndex:s2,pageSize:e2}}}}}}function ci(t2,e2){const i2=hi(t2),n2=hi(e2);if(i2&&n2)return 0;if(i2)return 1;if(n2)return-1;const r2=typeof t2,s2=typeof e2;if(!("number"!==r2&&"bigint"!==r2||"number"!==s2&&"bigint"!==s2))return t2<e2?-1:t2>e2?1:0;if(r2!==s2)return r2<s2?-1:1;switch(r2){case"number":return fi(t2,e2);case"string":return t2<e2?-1:t2>e2?1:0;case"boolean":return t2===e2?0:t2?1:-1;case"object":return t2 instanceof Date&&e2 instanceof Date?fi(t2.getTime(),e2.getTime()):0;default:return 0}}function hi(t2){return null==t2||!("number"!=typeof t2||!Number.isNaN(t2))||!!(t2 instanceof Date&&Number.isNaN(t2.getTime()))}function fi(t2,e2){return t2<e2?-1:t2>e2?1:0}function gi(t2,e2){if(t2===e2)return true;const i2=Object.keys(t2);if(i2.length!==Object.keys(e2).length)return false;for(const n2 of i2){if(!Object.prototype.hasOwnProperty.call(e2,n2))return false;if(t2[n2]!==e2[n2])return false}return true}const pi=" __sy_blank__";function yi(t2){return null!==t2&&"object"==typeof t2&&true===t2.__syGroupRow}function bi(t2){return null!==t2&&"object"==typeof t2&&true===t2.__syGroupFooter}function mi(t2){if(null==t2)return null;if("number"==typeof t2&&Number.isNaN(t2))return null;if(t2 instanceof Date){const e2=t2.getTime();return Number.isNaN(e2)?null:t2.toISOString()}return t2+""}function wi(t2){return null!==t2&&"object"==typeof t2&&true===t2.__syTreeRow}const vi="";function xi(t2){return t2.join(vi)}function _i(t2){return null!==t2&&"object"==typeof t2&&true===t2.__syDetailRow}function Ci(t2){return"object"==typeof t2&&null!==t2&&true===t2.__syPivotRow}function ki(t2){return"object"==typeof t2&&null!==t2&&true===t2.__syPivotGrandTotal}function Si(t2){let e2="";for(const i2 of t2)e2+=`${i2.length}${i2}`;return e2}const Ii="__sy_pivot_rowheader__";function Ri(t2){return"string"==typeof t2&&t2.startsWith("__sy_pivot__")}function Mi(t2,e2){return Math.floor(t2/e2)}function Fi(t2,e2){const i2=t2*e2;return{startRow:i2,endRow:i2+e2}}function Di(t2){return"number"==typeof t2&&Number.isInteger(t2)&&t2>=1?t2:100}function Ai(t2){return null==t2?null:Number.isInteger(t2)&&t2>=1?t2:null}function Ei(t2,e2,i2){const n2=[];if(e2<=t2)return n2;const r2=Mi(Math.max(0,t2),i2),s2=Mi(Math.max(0,e2-1),i2);for(let t3=r2;t3<=s2;t3++)n2.push(t3);return n2}function Pi(t2,e2){if(e2<0)return{status:"missing"};const i2=t2.blocks[Mi(e2,t2.blockSize)];if(void 0===i2)return{status:"missing"};if("loading"===i2.status)return{status:"loading"};if("failed"===i2.status)return{status:"failed"};const n2=i2.rows;if(null===n2)return{status:"missing"};const r2=e2-i2.blockNumber*t2.blockSize;return r2<0||r2>=n2.length?{status:"missing"}:{status:"loaded",row:n2[r2]}}function $i(t2,e2){const i2=t2.blocks[e2];if(void 0!==i2&&"loading"===i2.status)return t2;const n2=t2.accessSeq+1;return{...t2,accessSeq:n2,blocks:{...t2.blocks,[e2]:{blockNumber:e2,status:"loading",rows:null,lastAccess:n2}}}}function Ti(t2,e2){return{__syLoadingRow:true,rowIndex:t2,status:e2}}function ji(t2){return"object"==typeof t2&&null!==t2&&true===t2.__syLoadingRow}function Ni(t2,e2,i2){return t2.overIndex===e2&&t2.position===i2?t2:{sourceIndex:t2.sourceIndex,overIndex:e2,position:i2}}function Oi(t2,e2){return null===t2?null:"above"===e2?t2:t2+1}function Bi(t2,e2){return null===e2||e2===t2||e2===t2+1}function zi(t2,e2,i2){if(!Number.isInteger(e2)||e2<0||e2>=t2.length)return t2;if(null===i2)return t2;const n2=i2<0?0:i2>t2.length?t2.length:i2;if(Bi(e2,n2))return t2;const r2=t2.slice(),[s2]=r2.splice(e2,1);return r2.splice(n2>e2?n2-1:n2,0,s2),r2}function Gi(t2,e2){return`${t2}::${e2}`}function Li(t2,e2){return t2.has(e2)}const Vi=Object.freeze({startIndex:0,endIndex:0,paddingTop:0,paddingBottom:0,totalHeight:0,visibleCount:0});function Hi(t2,e2=0){return"number"!=typeof t2?e2:Number.isFinite(t2)?t2<=0?0===e2?0:Math.max(0,Math.floor(e2)):Math.floor(t2):e2}function Wi(t2,e2=0){return"number"==typeof t2&&Number.isFinite(t2)?t2<=0?0:t2:e2}function qi(t2){const{rowHeight:e2}=t2;if("number"!=typeof e2||!Number.isFinite(e2)||e2<=0)throw new RangeError(`[Syidax] computeVirtualWindow: rowHeight must be a finite positive number, got ${e2}.`);const i2=Hi(t2.totalRows);if(0===i2)return Vi;const n2=Wi(t2.viewportHeight),r2=i2*e2;if(0===n2)return{startIndex:0,endIndex:0,paddingTop:0,paddingBottom:r2,totalHeight:r2,visibleCount:0};const s2=Hi(t2.overscan??3),o2=Math.max(0,r2-n2),l2=Wi(t2.scrollTop),a2=Math.min(l2,o2),d2=Math.floor(a2/e2),u2=Math.ceil((a2+n2)/e2),c2=Math.max(0,d2-s2),h2=Math.min(i2,u2+s2);return{startIndex:c2,endIndex:h2,paddingTop:c2*e2,paddingBottom:(i2-h2)*e2,totalHeight:r2,visibleCount:Math.max(0,h2-c2)}}const Ui=Object.freeze({startIndex:0,endIndex:0,paddingTop:0,paddingBottom:0,totalHeight:0,visibleCount:0});function Ki(t2,e2){return"number"!=typeof t2?e2:Number.isFinite(t2)?t2<=0?e2:t2:e2}function Yi(t2,e2,i2){if(e2<=0)return 0;if(t2<=0)return 0;let n2=0,r2=e2;for(;n2<r2;){const e3=n2+r2>>>1;i2(e3)<=t2?n2=e3+1:r2=e3}return Math.max(0,n2-1)}function Ji(t2){if("function"!=typeof t2.rowHeight)throw new TypeError("[Syidax] computeVariableVirtualWindow: rowHeight must be a function (index) => number.");const e2=Hi(t2.totalRows);if(0===e2)return Ui;const i2=t2.estimatedRowHeight,n2="number"==typeof i2&&Number.isFinite(i2)&&i2>0?i2:30,r2=new Float64Array(e2+1);let s2=0;for(let i3=0;i3<e2;i3++){const e3=Ki(t2.rowHeight(i3),n2);r2[i3]=s2,s2+=e3}r2[e2]=s2;const o2=s2,l2=Wi(t2.viewportHeight);if(0===l2)return{startIndex:0,endIndex:0,paddingTop:0,paddingBottom:o2,totalHeight:o2,visibleCount:0};const a2=Hi(t2.overscan??3),d2=Math.max(0,o2-l2),u2=Wi(t2.scrollTop),c2=Math.min(u2,d2),h2=t3=>r2[t3],f2=Yi(c2,e2,h2),g2=(function(t3,e3,i3){if(e3<=0)return 0;if(t3<=0)return 0;let n3=0,r3=e3;for(;n3<r3;){const e4=n3+r3>>>1;i3(e4)<t3?n3=e4+1:r3=e4}return n3})(c2+l2,e2,h2),p2=Math.max(0,f2-a2),y2=Math.min(e2,g2+a2);return{startIndex:p2,endIndex:y2,paddingTop:r2[p2],paddingBottom:o2-r2[y2],totalHeight:o2,visibleCount:Math.max(0,y2-p2)}}function Qi(t2){return null===t2?"asc":"asc"===t2?"desc":null}function Xi(t2,e2,i2){const n2=t2.find((t3=>t3.field===e2))??null;if("replace"===i2){const t3=(function(t4,e3){if(!t4||t4.field!==e3)return{field:e3,direction:"asc"};const i3=Qi(t4.direction);return null===i3?null:{field:e3,direction:i3}})(n2?{field:n2.field,direction:n2.direction}:null,e2);return null===t3?[]:[{field:t3.field,direction:t3.direction}]}if(null===n2)return[...t2,{field:e2,direction:"asc"}];const r2=Qi(n2.direction);return null===r2?t2.filter((t3=>t3.field!==e2)):t2.map((t3=>t3.field===e2?{field:e2,direction:r2}:t3))}function Zi(t2,e2){if(t2.length!==e2.length)return false;for(let i2=0;i2<t2.length;i2++)if(t2[i2].field!==e2[i2].field||t2[i2].direction!==e2[i2].direction)return false;return true}function tn(t2,e2){return{...t2,[e2.field]:e2}}function en(t2,e2){if(!(e2 in t2))return{...t2};const{[e2]:i2,...n2}=t2;return n2}function nn(t2,e2,i2){return{...t2,field:e2,...i2?{valueGetter:i2}:{}}}const rn=[10,25,50,100];function sn(t2){return t2&&Number.isFinite(t2.pageCount)?Math.max(1,Math.floor(t2.pageCount)):1}function on(t2,e2,i2){if("number"!=typeof e2||!Number.isFinite(e2)||!Number.isInteger(e2)||e2<1)throw new RangeError("pageSize must be a positive integer");if(e2===t2.pageSize)return t2;const n2=i2?i2.totalRows:null;let r2=Math.floor(t2.pageIndex*t2.pageSize/e2);if(null!=n2){const t3=Math.max(1,Math.ceil(n2/e2));r2>t3-1&&(r2=t3-1)}return r2<0&&(r2=0),{pageIndex:r2,pageSize:e2}}function ln(t2,e2){return void 0!==t2&&Number.isFinite(t2)?Math.max(0,Math.floor(t2)):e2}function an(t2,e2,i2){let n2=t2;return e2&&(n2=n2.trim()),i2||(n2=n2.toLowerCase()),n2}function dn(t2,e2){return"number"==typeof t2&&"number"==typeof e2?t2===e2:!(t2<e2||t2>e2)}function un(t2){return null==t2||!("number"!=typeof t2||!Number.isNaN(t2))}const cn=864e5;function hn(t2){if(t2 instanceof Date){const e2=t2.getTime();return Number.isNaN(e2)?null:e2}if("number"==typeof t2)return Number.isFinite(t2)?t2:null;if("string"==typeof t2){const e2=new Date(t2).getTime();return Number.isNaN(e2)?null:e2}return null}function fn(t2){return Math.floor(t2/cn)*cn}function gn(t2){return t2}function pn(t2,e2,i2,n2){if(i2&&n2){let e3;try{e3=n2(t2)}catch{return null}return Array.isArray(e3)?e3:null}if(e2){const i3=Array(e2.length);for(let n3=0;n3<e2.length;n3++)i3[n3]=Q(t2,e2[n3]);return i3}return"object"==typeof t2?Object.values(t2):[t2]}function yn(t2,e2,i2){let n2;if(null==t2)n2="";else if("number"==typeof t2)n2=Number.isNaN(t2)?"":t2+"";else if("boolean"==typeof t2)n2=t2?"true":"false";else if("string"==typeof t2)n2=t2;else if(t2 instanceof Date){const e3=t2.getTime();n2=Number.isNaN(e3)?"":t2.toISOString()}else try{n2=t2+""}catch{n2=""}return e2&&(n2=n2.trim()),i2||(n2=n2.toLowerCase()),n2}const bn={text:{contains:true,notContains:true,equals:true,notEqual:true,startsWith:true,endsWith:true},number:{equals:true,notEqual:true,gt:true,gte:true,lt:true,lte:true,between:true,notBetween:true},date:{equals:true,notEqual:true,before:true,after:true,onOrBefore:true,onOrAfter:true,between:true,notBetween:true}};function mn(t2){const e2=[],i2=[],n2=(t3,r2,s2)=>{if(null===t3||"object"!=typeof t3)return void e2.push(r2+": not an object");const o2=t3;if(void 0!==o2.op||void 0!==o2.children)return"and"!==o2.op&&"or"!==o2.op?void e2.push(r2+": group op must be 'and' | 'or'"):Array.isArray(o2.children)?s2>=8?void e2.push(r2+": exceeds max depth 8"):(0===o2.children.length&&i2.push(r2+": empty group (universal match — prune before persisting)"),void o2.children.forEach(((t4,e3)=>n2(t4,`${r2}.${e3}`,s2+1)))):void e2.push(r2+": group children must be an array");const l2=t3;if("text"!==l2.kind&&"number"!==l2.kind&&"date"!==l2.kind&&"set"!==l2.kind)return void e2.push(r2+": leaf kind must be text | number | date | set");const a2=l2.kind;if(null===l2.spec||"object"!=typeof l2.spec)return void e2.push(r2+": leaf spec missing");const d2=l2.spec.field;if("string"==typeof d2&&""!==d2||e2.push(r2+": leaf spec.field must be a non-empty string"),"set"===a2){const t4=l2.spec.values;null===t4||Array.isArray(t4)||e2.push(r2+": set leaf spec.values must be null or an array")}else{const t4=bn[a2],i3=l2.spec.op;"string"==typeof i3&&true===t4[i3]||e2.push(`${r2}: ${a2} leaf op ${"string"==typeof i3?`'${i3}'`:i3+""} is not one of ${Object.keys(t4).join("|")}`)}};return n2(t2,"root",1),{ok:0===e2.length,errors:e2,warnings:i2}}class wn extends Error{problems;constructor(t2){super("condition tree parse failed: "+t2.join("; ")),this.name="ConditionTreeParseError",this.problems=t2}}function vn(t2){return JSON.stringify(t2,((t3,e2)=>"bigint"==typeof e2?{__sy_bigint__:""+e2}:e2))}function xn(t2){let e2;try{e2=JSON.parse(t2,((t3,e3)=>e3&&"object"==typeof e3&&"string"==typeof e3.__sy_bigint__?BigInt(e3.__sy_bigint__):e3))}catch(t3){throw new wn(["invalid JSON: "+t3.message])}const i2=mn(e2);if(!i2.ok)throw new wn(i2.errors);return e2}const _n=150;function Cn(t2,e2){const i2="string"==typeof t2.field?t2.field:"";if(""!==i2&&e2&&e2.has(i2)){const t3=e2.get(i2);return"left"===t3||"right"===t3?t3:null}return"left"===t2.pinned||"right"===t2.pinned?t2.pinned:null}function kn(t2,e2){const i2=(function(t3,e3){const i3=[],n2=[],r2=[];for(const s2 of t3){const t4=Cn(s2,e3);"left"===t4?i3.push(s2):"right"===t4?r2.push(s2):n2.push(s2)}return{left:i3,middle:n2,right:r2}})(t2,e2);return[...i2.left,...i2.middle,...i2.right]}function Sn(t2,e2,i2,n2){const r2=new Map,s2=t3=>{const e3=i2(t3);return"number"==typeof e3&&Number.isFinite(e3)&&e3>0?e3:_n};if("left"===e2){let e3=n2;for(const i3 of t2)"string"==typeof i3.field&&""!==i3.field&&r2.set(i3.field,e3),e3+=s2(i3);return r2}let o2=n2;for(let e3=t2.length-1;e3>=0;e3--){const i3=t2[e3];"string"==typeof i3.field&&""!==i3.field&&r2.set(i3.field,o2),o2+=s2(i3)}return r2}function In(t2){return Array.isArray(t2.children)}function Rn(t2){const e2=[],i2=t3=>{for(const n2 of t3)null!=n2&&(In(n2)?i2(n2.children):e2.push(n2))};return i2(t2),e2}function Mn(t2){for(const e2 of t2.children){if(null==e2)continue;const t3=e2.columnGroupShow;if("open"===t3||"closed"===t3)return true}return false}function Fn(t2){let e2=0;const i2=(t3,n2)=>{for(const r2 of t3)null!=r2&&In(r2)&&(n2+1>e2&&(e2=n2+1),i2(r2.children,n2+1))};return i2(t2,0),e2}function Dn(t2,e2,i2){const n2=Fn(t2);if(0===n2)return[];const r2=new Map,s2=(t3,e3,i3)=>{t3.forEach(((t4,n3)=>{if(null==t4)return;const o3=""===i3?n3+"":`${i3}.${n3}`;if(In(t4))return void s2(t4.children,[...e3,{ref:t4,id:t4.groupId??o3}],o3);const l2=t4.field;"string"!=typeof l2||""===l2||r2.has(l2)||r2.set(l2,e3)}))};s2(t2,[],"");const o2=[];for(let t3=0;t3<n2;t3++){const n3=[];let s3=null,l2=null;for(const o3 of e2){const e3=r2.get(o3)?.[t3],a2=e3?"g:"+e3.id:"null";null===s3||a2!==l2?(s3=e3?{label:e3.ref.headerName,leaves:[o3],groupId:e3.id,collapsible:Mn(e3.ref),open:!i2?.has(e3.id)}:{label:null,leaves:[o3]},l2=a2,n3.push(s3)):s3.leaves.push(o3)}o2.push(n3)}return o2}function An(t2){return"number"==typeof t2&&Number.isFinite(t2)?t2<0?0:Math.floor(t2):0}function En(t2){if("off"===t2.mode)return false;const e2=true===t2.externalLoading;return"auto"===t2.mode?e2||true===t2.asyncInFlight:e2}function Pn(t2=200){const e2=(function(t3){const e3="number"==typeof t3?t3:Number(t3);return!Number.isFinite(e3)||e3<0?0:e3})(t2);let i2=false,n2=null;return{update(t3,r2){if(true===t3)return i2||(i2=true,n2=$n(r2)?r2:0),i2;if(!i2)return false;if(e2<=0)return i2=false,n2=null,false;const s2=n2??($n(r2)?r2:0);return!(($n(r2)?r2:s2)-s2>=e2&&(i2=false,n2=null,1))},remaining(t3){if(!i2||e2<=0||null===n2)return 0;const r2=$n(t3)?t3:n2;return Math.max(0,e2-(r2-n2))},clear(){i2=false,n2=null}}}function $n(t2){return"number"==typeof t2&&Number.isFinite(t2)}function Tn(t2){return"number"==typeof t2&&Number.isFinite(t2)?t2<=0?0:Math.floor(t2):0}function jn(t2,e2,i2){return!(!t2||"number"!=typeof t2.rowIndex||"number"!=typeof t2.colIndex||!Number.isInteger(t2.rowIndex)||!Number.isInteger(t2.colIndex)||t2.rowIndex<0||t2.colIndex<0||t2.rowIndex>=e2||t2.colIndex>=i2)}function Nn(t2,e2,i2,n2){const r2=Tn(i2),s2=Tn(n2);if(0===r2||0===s2)return null;if(!jn(t2,r2,s2))return{rowIndex:0,colIndex:0};switch(e2){case"up":return t2.rowIndex<=0?t2:{rowIndex:t2.rowIndex-1,colIndex:t2.colIndex};case"down":return t2.rowIndex>=r2-1?t2:{rowIndex:t2.rowIndex+1,colIndex:t2.colIndex};case"left":return t2.colIndex<=0?t2:{rowIndex:t2.rowIndex,colIndex:t2.colIndex-1};case"right":return t2.colIndex>=s2-1?t2:{rowIndex:t2.rowIndex,colIndex:t2.colIndex+1};default:return t2}}function On(t2,e2,i2,n2,r2){const s2=Tn(n2),o2=Tn(r2);if(0===s2||0===o2)return null;const l2=Tn(i2);if(!jn(t2,s2,o2))return"down"===e2?{rowIndex:0,colIndex:0}:{rowIndex:s2-1,colIndex:o2-1};if(0===l2)return t2;let a2;return"down"===e2?(a2=t2.rowIndex+l2,a2>s2-1&&(a2=s2-1)):(a2=t2.rowIndex-l2,a2<0&&(a2=0)),a2===t2.rowIndex?t2:{rowIndex:a2,colIndex:t2.colIndex}}function Bn(t2,e2,i2,n2){const r2=Tn(i2),s2=Tn(n2);return 0===r2||0===s2?null:jn(t2,r2,s2)?"up"===e2||"down"===e2?Nn(t2,e2,r2,s2):"right"===e2?t2.colIndex<s2-1?{rowIndex:t2.rowIndex,colIndex:t2.colIndex+1}:t2.rowIndex<r2-1?{rowIndex:t2.rowIndex+1,colIndex:0}:t2:t2.colIndex>0?{rowIndex:t2.rowIndex,colIndex:t2.colIndex-1}:t2.rowIndex>0?{rowIndex:t2.rowIndex-1,colIndex:s2-1}:t2:{rowIndex:0,colIndex:0}}const zn=Object.freeze({"--sy-grid-bg":"#ffffff","--sy-grid-viewport-bg":"#ffffff","--sy-grid-toolbar-bg":"#ffffff","--sy-grid-border":"#e5e7eb","--sy-grid-toolbar-border":"#e5e7eb","--sy-grid-text":"#111827","--sy-grid-text-muted":"#6b7280","--sy-grid-header-bg":"#f9fafb","--sy-grid-header-bg-hover":"#f3f4f6","--sy-grid-header-border":"#e5e7eb","--sy-grid-header-color":"#111827","--sy-grid-header-font-weight":"600","--sy-grid-row-height":"32px","--sy-grid-row-bg-odd":"#ffffff","--sy-grid-row-bg-even":"#f9fafb","--sy-grid-row-border":"#f3f4f6","--sy-grid-row-color":"#111827","--sy-grid-row-bg-hover":"rgba(37, 99, 235, 0.06)","--sy-grid-row-bg-selected":"rgba(37, 99, 235, 0.12)","--sy-grid-cell-padding-x":"12px","--sy-grid-cell-font-size":"13px","--sy-grid-cell-editor-bg":"#ffffff","--sy-grid-cell-editor-color":"#111827","--sy-grid-cell-editor-border":"#2563eb","--sy-grid-cell-editor-shadow":"inset 0 0 0 1px rgba(37, 99, 235, 0.22)","--sy-grid-active-cell-outline":"#2563eb","--sy-grid-active-row-bg":"rgba(37, 99, 235, 0.08)","--sy-grid-viewport-focus-outline":"#2563eb","--sy-grid-scrollbar-thumb":"rgba(15, 23, 42, 0.18)","--sy-grid-scrollbar-track":"transparent","--sy-grid-sort-indicator-color":"#9ca3af","--sy-grid-sort-indicator-active-color":"#2563eb","--sy-grid-filter-icon-color":"currentColor","--sy-grid-filter-icon-active-color":"#2563eb","--sy-grid-filter-dropdown-bg":"#ffffff","--sy-grid-filter-dropdown-color":"#111827","--sy-grid-filter-dropdown-border":"#e5e7eb","--sy-grid-filter-dropdown-shadow":"0 8px 20px rgba(15, 23, 42, 0.12)","--sy-grid-filter-button-primary-bg":"#2563eb","--sy-grid-filter-button-primary-color":"#ffffff","--sy-grid-quick-filter-input-bg":"#ffffff","--sy-grid-quick-filter-input-color":"#111827","--sy-grid-quick-filter-input-border":"#d1d5db","--sy-grid-quick-filter-input-placeholder":"#9ca3af","--sy-grid-quick-filter-input-focus":"#2563eb","--sy-grid-quick-filter-clear-color":"#6b7280","--sy-grid-quick-filter-clear-hover":"rgba(15, 23, 42, 0.08)","--sy-grid-pagination-bg":"#f9fafb","--sy-grid-pagination-color":"#111827","--sy-grid-pagination-border":"#e5e7eb","--sy-grid-pagination-active-bg":"#2563eb","--sy-grid-pagination-active-color":"#ffffff","--sy-grid-pagination-disabled-color":"#9ca3af","--sy-grid-pagination-hover-bg":"rgba(15, 23, 42, 0.06)","--sy-grid-empty-state-bg":"rgba(255, 255, 255, 0.92)","--sy-grid-empty-state-color":"#4b5563","--sy-grid-empty-state-icon-color":"#9ca3af","--sy-grid-empty-state-action-bg":"#2563eb","--sy-grid-empty-state-action-color":"#ffffff","--sy-grid-loading-backdrop":"rgba(255, 255, 255, 0.7)","--sy-grid-loading-spinner-color":"#2563eb","--sy-grid-loading-message-color":"#4b5563"});function Gn(t2){return Object.prototype.hasOwnProperty.call(zn,t2)}const Ln=Object.freeze({"--sy-grid-bg":"#ffffff","--sy-grid-viewport-bg":"#ffffff","--sy-grid-toolbar-bg":"#ffffff","--sy-grid-border":"#e5e7eb","--sy-grid-toolbar-border":"#e5e7eb","--sy-grid-text":"#111827","--sy-grid-text-muted":"#6b7280","--sy-grid-header-bg":"#f9fafb","--sy-grid-header-bg-hover":"#f3f4f6","--sy-grid-header-border":"#e5e7eb","--sy-grid-header-color":"#111827","--sy-grid-header-font-weight":"600","--sy-grid-row-height":"32px","--sy-grid-row-bg-odd":"#ffffff","--sy-grid-row-bg-even":"#f9fafb","--sy-grid-row-border":"#f3f4f6","--sy-grid-row-color":"#111827","--sy-grid-row-bg-hover":"rgba(37, 99, 235, 0.06)","--sy-grid-row-bg-selected":"rgba(37, 99, 235, 0.12)","--sy-grid-cell-padding-x":"12px","--sy-grid-cell-font-size":"13px","--sy-grid-cell-editor-bg":"#ffffff","--sy-grid-cell-editor-color":"#111827","--sy-grid-cell-editor-border":"#2563eb","--sy-grid-cell-editor-shadow":"inset 0 0 0 1px rgba(37, 99, 235, 0.22)","--sy-grid-active-cell-outline":"#2563eb","--sy-grid-active-row-bg":"rgba(37, 99, 235, 0.08)","--sy-grid-viewport-focus-outline":"#2563eb","--sy-grid-sort-indicator-active-color":"#2563eb","--sy-grid-filter-icon-active-color":"#2563eb","--sy-grid-filter-button-primary-bg":"#2563eb","--sy-grid-quick-filter-input-focus":"#2563eb","--sy-grid-pagination-active-bg":"#2563eb","--sy-grid-empty-state-action-bg":"#2563eb","--sy-grid-loading-spinner-color":"#2563eb"}),Vn=Object.freeze({"--sy-grid-bg":"#ffffff","--sy-grid-viewport-bg":"#ffffff","--sy-grid-toolbar-bg":"#f4f6f8","--sy-grid-border":"#bdc3c7","--sy-grid-toolbar-border":"#bdc3c7","--sy-grid-text":"#000000","--sy-grid-text-muted":"#5c6671","--sy-grid-header-bg":"#e2e9eb","--sy-grid-header-bg-hover":"#d2d9db","--sy-grid-header-border":"#9ea7ad","--sy-grid-header-color":"#000000","--sy-grid-header-font-weight":"700","--sy-grid-row-height":"28px","--sy-grid-row-bg-odd":"#ffffff","--sy-grid-row-bg-even":"#fcfdfe","--sy-grid-row-border":"#dde2e4","--sy-grid-row-color":"#000000","--sy-grid-row-bg-hover":"rgba(33, 150, 243, 0.08)","--sy-grid-row-bg-selected":"rgba(33, 150, 243, 0.18)","--sy-grid-cell-padding-x":"8px","--sy-grid-cell-font-size":"12px","--sy-grid-cell-editor-bg":"#ffffff","--sy-grid-cell-editor-color":"#000000","--sy-grid-cell-editor-border":"#0091ea","--sy-grid-cell-editor-shadow":"inset 0 0 0 1px rgba(0, 145, 234, 0.22)","--sy-grid-active-cell-outline":"#0091ea","--sy-grid-active-row-bg":"rgba(0, 145, 234, 0.10)","--sy-grid-viewport-focus-outline":"#0091ea","--sy-grid-sort-indicator-color":"#7e8a91","--sy-grid-sort-indicator-active-color":"#0091ea","--sy-grid-filter-icon-active-color":"#0091ea","--sy-grid-filter-button-primary-bg":"#0091ea","--sy-grid-quick-filter-input-focus":"#0091ea","--sy-grid-pagination-bg":"#e2e9eb","--sy-grid-pagination-border":"#bdc3c7","--sy-grid-pagination-active-bg":"#0091ea","--sy-grid-empty-state-action-bg":"#0091ea","--sy-grid-loading-spinner-color":"#0091ea"}),Hn=Object.freeze({"--sy-grid-bg":"#0f172a","--sy-grid-viewport-bg":"#111827","--sy-grid-toolbar-bg":"#111827","--sy-grid-border":"#374151","--sy-grid-toolbar-border":"#374151","--sy-grid-text":"#f3f4f6","--sy-grid-text-muted":"#9ca3af","--sy-grid-header-bg":"#1f2937","--sy-grid-header-bg-hover":"#283447","--sy-grid-header-border":"#374151","--sy-grid-header-color":"#f3f4f6","--sy-grid-row-bg-odd":"#111827","--sy-grid-row-bg-even":"#1f2937","--sy-grid-row-border":"#374151","--sy-grid-row-color":"#f3f4f6","--sy-grid-row-bg-hover":"rgba(96, 165, 250, 0.12)","--sy-grid-row-bg-selected":"rgba(96, 165, 250, 0.22)","--sy-grid-active-cell-outline":"#60a5fa","--sy-grid-active-row-bg":"rgba(96, 165, 250, 0.16)","--sy-grid-viewport-focus-outline":"#60a5fa","--sy-grid-cell-editor-bg":"#0f172a","--sy-grid-cell-editor-color":"#f3f4f6","--sy-grid-cell-editor-border":"#60a5fa","--sy-grid-cell-editor-shadow":"inset 0 0 0 1px rgba(96, 165, 250, 0.34)","--sy-grid-sort-indicator-color":"#6b7280","--sy-grid-sort-indicator-active-color":"#60a5fa","--sy-grid-filter-icon-active-color":"#60a5fa","--sy-grid-filter-dropdown-bg":"#1f2937","--sy-grid-filter-dropdown-color":"#f3f4f6","--sy-grid-filter-dropdown-border":"#374151","--sy-grid-filter-dropdown-shadow":"0 8px 20px rgba(0, 0, 0, 0.45)","--sy-grid-filter-button-primary-bg":"#60a5fa","--sy-grid-filter-button-primary-color":"#0f172a","--sy-grid-quick-filter-input-bg":"#1f2937","--sy-grid-quick-filter-input-color":"#f3f4f6","--sy-grid-quick-filter-input-border":"#374151","--sy-grid-quick-filter-input-placeholder":"#6b7280","--sy-grid-quick-filter-input-focus":"#60a5fa","--sy-grid-quick-filter-clear-color":"#9ca3af","--sy-grid-quick-filter-clear-hover":"rgba(255, 255, 255, 0.08)","--sy-grid-pagination-bg":"#111827","--sy-grid-pagination-color":"#f3f4f6","--sy-grid-pagination-border":"#374151","--sy-grid-pagination-active-bg":"#60a5fa","--sy-grid-pagination-active-color":"#0f172a","--sy-grid-pagination-disabled-color":"#4b5563","--sy-grid-pagination-hover-bg":"rgba(255, 255, 255, 0.06)","--sy-grid-empty-state-bg":"rgba(17, 24, 39, 0.9)","--sy-grid-empty-state-color":"#d1d5db","--sy-grid-empty-state-icon-color":"#6b7280","--sy-grid-empty-state-action-bg":"#60a5fa","--sy-grid-empty-state-action-color":"#0f172a","--sy-grid-loading-backdrop":"rgba(17, 24, 39, 0.7)","--sy-grid-loading-spinner-color":"#60a5fa","--sy-grid-loading-message-color":"#d1d5db","--sy-grid-scrollbar-thumb":"rgba(255, 255, 255, 0.18)"}),Wn=Object.freeze({"--sy-grid-bg":"#0d1117","--sy-grid-viewport-bg":"#161b22","--sy-grid-toolbar-bg":"#161b22","--sy-grid-border":"#30363d","--sy-grid-toolbar-border":"#30363d","--sy-grid-text":"#e6edf3","--sy-grid-text-muted":"#8b949e","--sy-grid-header-bg":"#21262d","--sy-grid-header-bg-hover":"#2d333b","--sy-grid-header-border":"#30363d","--sy-grid-header-color":"#e6edf3","--sy-grid-row-bg-odd":"#161b22","--sy-grid-row-bg-even":"#1b2129","--sy-grid-row-border":"#30363d","--sy-grid-row-color":"#e6edf3","--sy-grid-row-bg-hover":"rgba(56, 139, 253, 0.12)","--sy-grid-row-bg-selected":"rgba(56, 139, 253, 0.22)","--sy-grid-active-cell-outline":"#58a6ff","--sy-grid-active-row-bg":"rgba(56, 139, 253, 0.16)","--sy-grid-viewport-focus-outline":"#58a6ff","--sy-grid-cell-editor-bg":"#0d1117","--sy-grid-cell-editor-color":"#e6edf3","--sy-grid-cell-editor-border":"#58a6ff","--sy-grid-cell-editor-shadow":"inset 0 0 0 1px rgba(88, 166, 255, 0.34)","--sy-grid-sort-indicator-color":"#6e7681","--sy-grid-sort-indicator-active-color":"#58a6ff","--sy-grid-filter-icon-active-color":"#58a6ff","--sy-grid-filter-dropdown-bg":"#1b2129","--sy-grid-filter-dropdown-color":"#e6edf3","--sy-grid-filter-dropdown-border":"#30363d","--sy-grid-filter-dropdown-shadow":"0 8px 20px rgba(0, 0, 0, 0.55)","--sy-grid-filter-button-primary-bg":"#58a6ff","--sy-grid-filter-button-primary-color":"#0d1117","--sy-grid-quick-filter-input-bg":"#1b2129","--sy-grid-quick-filter-input-color":"#e6edf3","--sy-grid-quick-filter-input-border":"#30363d","--sy-grid-quick-filter-input-placeholder":"#6e7681","--sy-grid-quick-filter-input-focus":"#58a6ff","--sy-grid-quick-filter-clear-color":"#8b949e","--sy-grid-quick-filter-clear-hover":"rgba(255, 255, 255, 0.06)","--sy-grid-pagination-bg":"#161b22","--sy-grid-pagination-color":"#e6edf3","--sy-grid-pagination-border":"#30363d","--sy-grid-pagination-active-bg":"#58a6ff","--sy-grid-pagination-active-color":"#0d1117","--sy-grid-pagination-disabled-color":"#484f58","--sy-grid-pagination-hover-bg":"rgba(255, 255, 255, 0.06)","--sy-grid-empty-state-bg":"rgba(13, 17, 23, 0.9)","--sy-grid-empty-state-color":"#c9d1d9","--sy-grid-empty-state-icon-color":"#6e7681","--sy-grid-empty-state-action-bg":"#58a6ff","--sy-grid-empty-state-action-color":"#0d1117","--sy-grid-loading-backdrop":"rgba(13, 17, 23, 0.7)","--sy-grid-loading-spinner-color":"#58a6ff","--sy-grid-loading-message-color":"#c9d1d9","--sy-grid-scrollbar-thumb":"rgba(255, 255, 255, 0.18)"});function qn(t2){return"alpine"===t2||"balham"===t2||"alpine-dark"===t2||"balham-dark"===t2}function Un(t2){switch(t2){case"alpine":return Ln;case"balham":return Vn;case"alpine-dark":return{...Ln,...Hn};case"balham-dark":return{...Vn,...Wn}}}function Kn(t2,e2){if(null==t2)return{};if("string"==typeof t2)return qn(t2)?Un(t2):(console.warn("theme:name",t2),Un("alpine"));if("object"==typeof t2){if(e2>=16)return console.warn("theme:depth",16),{};const i2=Kn(t2.extends??"alpine",e2+1),n2={};if(t2.tokens)for(const e3 of Object.keys(t2.tokens)){if(!Gn(e3)){console.warn("theme:token",e3);continue}const i3=t2.tokens[e3];"string"==typeof i3&&(n2[e3]=i3)}return{...i2,...n2}}return console.warn("theme:type",typeof t2),Un("alpine")}function Yn(t2){const e2=Kn(t2,0),i2={...zn};for(const t3 of Object.keys(e2)){if(!Gn(t3))continue;const n2=e2[t3];"string"==typeof n2&&(i2[t3]=n2)}return i2}function Jn(t2){if(null!=t2)return"string"==typeof t2?qn(t2)?t2:"alpine":"object"==typeof t2?"custom":"alpine"}function Qn(t2,e2){if(!t2)return;const i2=t2.style;if(!i2||"function"!=typeof i2.setProperty)return;const n2=Yn(e2);for(const t3 of Object.keys(n2))i2.setProperty(t3,n2[t3])}const Xn=Object.freeze({"toolbar.quickFilterPlaceholder":"Filter…","toolbar.quickFilterAriaLabel":"Quick filter","toolbar.quickFilterClearAriaLabel":"Clear quick filter","pagination.previousPage":"Previous page","pagination.nextPage":"Next page","pagination.navAriaLabel":"Pagination","pagination.rowsLabel":"Rows","pagination.rowsPerPageAriaLabel":"Rows per page","pagination.pageOf":"Page {{current}} of {{total}}","pagination.rangeOf":"{{start}}-{{end}} of {{total}}","filter.operatorLabel":"Operator","filter.valueLabel":"Value","filter.fromLabel":"From","filter.toLabel":"To","filter.dateLabel":"Date","filter.granularityLabel":"Granularity","filter.granularityUtcOption":"UTC timestamp","filter.granularityDayOption":"Day (UTC midnight)","filter.caseSensitiveLabel":"Case sensitive","filter.valuePlaceholder":"filter value","filter.numberPlaceholder":"number","filter.numberLowPlaceholder":"lo (blank = -∞)","filter.numberHighPlaceholder":"hi (blank = +∞)","filter.applyButton":"Apply","filter.clearButton":"Clear","filter.cancelButton":"Cancel","filter.setSearchPlaceholder":"Search values","filter.setSelectAllLabel":"(Select all)","filter.setBlanksLabel":"(Blanks)","filter.setNoMatches":"No values match","filter.headerRowOpen":"All","filter.headerRowSelected":"{{count}} selected","filter.headerRowParts":"{{count}} conditions","conditionBuilder.title":"Advanced filter","conditionBuilder.activeBadge":"ON","conditionBuilder.matchAll":"ALL conditions (AND)","conditionBuilder.matchAny":"ANY condition (OR)","conditionBuilder.addRule":"+ Condition","conditionBuilder.addGroup":"+ Group","conditionBuilder.remove":"Remove","conditionBuilder.empty":"No conditions — the grid is unfiltered","conditionBuilder.presetsLabel":"Presets","conditionBuilder.presetPlaceholder":"Preset name","conditionBuilder.savePreset":"Save","conditionBuilder.deletePreset":"Delete preset","group.footerLabel":"{{label}} total","group.panelPlaceholder":"Drag a column here to group by it","group.panelRemove":"Stop grouping by {{column}}","pivotPanel.title":"Pivot","pivotPanel.mode":"Pivot mode","pivotPanel.availableFields":"Available Fields","pivotPanel.rowGroups":"Row Groups","pivotPanel.columnLabels":"Column Labels","pivotPanel.values":"Values","pivotPanel.noFields":"No fields","pivotPanel.moveTo":"Move to...","pivotPanel.moveField":"Move {{field}}","pivotPanel.aggregation":"Aggregation for {{field}}","pivotPanel.moveUp":"Move {{field}} up","pivotPanel.moveDown":"Move {{field}} down","pivotPanel.remove":"Remove {{field}}","pivotPanel.changed":"{{field}} moved to {{lane}}","detail.toggleLabel":"Toggle detail for {{id}}","statusBar.ariaLabel":"Status bar","statusBar.totalRows":"Rows: {{count}}","statusBar.filteredRows":"Filtered: {{count}}","statusBar.totalAndFilteredRows":"Rows: {{filtered}} of {{total}}","statusBar.selectedRows":"Selected: {{count}}","statusBar.aggCount":"Count: {{count}}","statusBar.aggSum":"Sum: {{sum}}","statusBar.aggAvg":"Avg: {{avg}}","sideBar.ariaLabel":"Side bar","sideBar.columnsLabel":"Columns","sideBar.filtersLabel":"Filters","sideBar.closeLabel":"Close panel","sideBar.noActiveFilters":"No active filters","sideBar.searchColumns":"Search columns","sideBar.searchFilters":"Search filters","filter.op.contains":"contains","filter.op.notContains":"not contains","filter.op.equals":"equals","filter.op.notEqual":"not equal","filter.op.startsWith":"starts with","filter.op.endsWith":"ends with","filter.op.greaterThan":"greater than","filter.op.greaterOrEqual":"greater or equal","filter.op.lessThan":"less than","filter.op.lessOrEqual":"less or equal","filter.op.between":"between","filter.op.notBetween":"not between","filter.op.before":"before","filter.op.after":"after","filter.op.onOrBefore":"on or before","filter.op.onOrAfter":"on or after","empty.noData":"No data to display","empty.noMatches":"No rows match your filters","empty.clearFiltersAction":"Clear filters","loading.message":"Loading…","header.filterLabel":"Filter {{column}}","header.pageLabel":"Page {{page}}","sort.ascendingTooltip":"Sort ascending","sort.descendingTooltip":"Sort descending","sort.removeTooltip":"Remove sort","comments.title":"Comments","comments.empty":"No comments yet","comments.placeholder":"Write a comment…","comments.add":"Comment","comments.resolve":"Resolve","comments.reopen":"Reopen","comments.delete":"Delete","comments.anonymous":"Anonymous","comments.close":"Close comments","collab.conflictOverridden":"Your edit to {{column}} (row {{row}}) was replaced by {{user}}","collab.anotherUser":"another user","watermark.fallbackToStandard":"Syidax — fell back to standard engine","a11y.gridLabel":"Data grid","a11y.filterButton":"Filter column","a11y.paginationPrev":"Previous page","a11y.paginationNext":"Next page","a11y.paginationPageSize":"Rows per page","a11y.quickFilterLabel":"Search rows","a11y.selectRowCheckbox":"Select row","a11y.selectAllCheckbox":"Select all visible rows","a11y.cellEditingHint":"Editing cell {{row}}, {{column}}. Press Enter to save, Escape to cancel.","a11y.cellEditorAriaLabel":"Cell editor for {{column}}, row {{row}}","a11y.rowDragHandle":"Drag to reorder row {{row}}","a11y.fillHandle":"Fill handle: drag or use arrow keys to fill from row {{row}}","pivot.subtotalLabel":"{{label}} total","editor.numberConstraintViolation":"Value must be {{constraint}} {{value}}.","editor.dateConstraintViolation":"Date must be {{constraint}} {{value}}.","editor.dateInvalidFormat":"Date must be in YYYY-MM-DD format.","editor.selectPlaceholder":"Choose…","editor.selectExpand":"Open options","editor.selectCollapse":"Close options","editor.checkboxAriaLabelOn":"Checked","editor.checkboxAriaLabelOff":"Unchecked","editor.checkboxAriaLabelMixed":"Mixed","editor.textareaCommitHint":"Press Shift+Enter or Tab to save, Escape to cancel.","editor.largeTextSave":"OK","editor.largeTextCancel":"Cancel","rowModel.loadingRow":"Loading…","rowModel.retry":"Retry","csvImport.button":"Import CSV","csvImport.title":"Import CSV","csvImport.firstRowHeader":"First row is a header","csvImport.delimiter":"Delimiter","csvImport.delimiterAuto":"Auto","csvImport.cancel":"Cancel","csvImport.import":"Import"});function Zn(t2){return Object.prototype.hasOwnProperty.call(Xn,t2)}const tr=Object.keys(Xn);function er(t2){const e2={};for(let i2=0;i2<tr.length;i2+=1)e2[tr[i2]]=t2[i2];return Object.freeze(e2)}const ir=Object.freeze({}),nr=er(["검색…","빠른 검색","검색어 지우기","이전 페이지","다음 페이지","페이지 이동","행","페이지당 행 수","{{current}} / {{total}} 페이지","{{start}}-{{end}} / 총 {{total}}","연산자","값","시작","끝","날짜","단위","UTC 타임스탬프","일 단위 (UTC 자정)","대소문자 구분","필터 값","숫자","하한 (빈 값 = -∞)","상한 (빈 값 = +∞)","적용","지우기","취소","값 검색","(전체 선택)","(빈 값)","일치하는 값이 없습니다","전체","{{count}}개 선택","조건 {{count}}개","고급 필터","적용 중","모든 조건 일치 (AND)","하나 이상 일치 (OR)","+ 조건","+ 그룹","제거","조건 없음 — 필터가 적용되지 않습니다","프리셋","프리셋 이름","저장","프리셋 삭제","{{label}} 소계","여기로 열을 드래그하여 그룹화","{{column}} 그룹화 해제","피벗","피벗 모드","사용 가능한 필드","행 그룹","열 레이블","값","필드 없음","이동 대상...","{{field}} 이동","{{field}} 집계 방식","{{field}} 위로 이동","{{field}} 아래로 이동","{{field}} 제거","{{field}}: {{lane}}으로 이동","{{id}} 상세 전환","상태 표시줄","행: {{count}}","필터됨: {{count}}","행: {{total}}개 중 {{filtered}}개","선택됨: {{count}}","개수: {{count}}","합계: {{sum}}","평균: {{avg}}","사이드 바","컬럼","필터","패널 닫기","활성 필터 없음","컬럼 검색","필터 검색","포함","포함 안함","같음","같지 않음","시작 문자열","끝 문자열","초과","이상","미만","이하","범위 내","범위 밖","이전","이후","이전 또는 같음","이후 또는 같음","표시할 데이터가 없습니다","필터 조건에 맞는 행이 없습니다","필터 지우기","불러오는 중…","{{column}} 필터","{{page}} 페이지","오름차순 정렬","내림차순 정렬","정렬 해제","코멘트","아직 코멘트가 없습니다","코멘트를 입력하세요…","등록","해결","다시 열기","삭제","익명","코멘트 닫기","{{column}}(행 {{row}}) 편집이 {{user}}의 값으로 대체되었습니다","다른 사용자","Syidax — 표준 엔진으로 전환됨","데이터 그리드","컬럼 필터","이전 페이지로","다음 페이지로","한 페이지에 표시할 행 수","행 검색","행 선택","보이는 모든 행 선택","{{row}}행, {{column}}열 편집 중입니다. Enter 키로 저장하고 Esc 키로 취소합니다.","{{row}}행 {{column}} 셀 편집기","{{row}}행을 드래그하여 순서 변경","채우기 핸들: 드래그하거나 화살표 키로 {{row}}행부터 채우기","{{label}} 합계","값은 {{constraint}} {{value}} 이어야 합니다.","날짜는 {{constraint}} {{value}} 이어야 합니다.","날짜는 YYYY-MM-DD 형식이어야 합니다.","선택…","옵션 열기","옵션 닫기","선택됨","선택 해제됨","혼합","Shift+Enter 또는 Tab 키로 저장하고, Esc 키로 취소합니다.","확인","취소","불러오는 중…","다시 시도","CSV 가져오기","CSV 가져오기","첫 행을 헤더로 사용","구분자","자동","취소","가져오기"]),rr=er(["検索…","クイック検索","検索をクリア","前のページ","次のページ","ページネーション","行","1ページあたりの行数","{{current}} / {{total}} ページ","{{start}}-{{end}} / 全 {{total}} 件","演算子","値","開始","終了","日付","粒度","UTC タイムスタンプ","日単位 (UTC 0時)","大文字小文字を区別","フィルター値","数値","下限 (空欄 = -∞)","上限 (空欄 = +∞)","適用","クリア","キャンセル","値を検索","(すべて選択)","(空白)","一致する値がありません","すべて","{{count}}件選択","条件{{count}}件","高度なフィルター","適用中","すべての条件に一致 (AND)","いずれかに一致 (OR)","+ 条件","+ グループ","削除","条件なし — フィルターは適用されません","プリセット","プリセット名","保存","プリセット削除","{{label}} 小計","ここに列をドラッグしてグループ化","{{column}} のグループ化を解除","ピボット","ピボットモード","使用可能なフィールド","行グループ","列ラベル","値","フィールドなし","移動先...","{{field}} を移動","{{field}} の集計","{{field}} を上へ移動","{{field}} を下へ移動","{{field}} を削除","{{field}}: {{lane}} に移動","{{id}} の詳細を切替","ステータスバー","行: {{count}}","フィルター済み: {{count}}","行: {{total}}件中{{filtered}}件","選択: {{count}}","件数: {{count}}","合計: {{sum}}","平均: {{avg}}","サイドバー","列","フィルター","パネルを閉じる","有効なフィルターなし","列を検索","フィルターを検索","含む","含まない","一致","一致しない","前方一致","後方一致","より大きい","以上","より小さい","以下","範囲内","範囲外","以前","以降","その日以前","その日以降","表示するデータがありません","フィルター条件に一致する行がありません","フィルターをクリア","読み込み中…","{{column}} のフィルター","{{page}} ページ","昇順で並べ替え","降順で並べ替え","並べ替えを解除","コメント","コメントはまだありません","コメントを入力…","投稿","解決","再オープン","削除","匿名","コメントを閉じる","{{column}}(行 {{row}})の編集は{{user}}の値に置き換えられました","別のユーザー","Syidax — 標準エンジンにフォールバックしました","データ グリッド","列を絞り込む","前のページへ","次のページへ","1ページに表示する行数","行を検索","行を選択","表示中のすべての行を選択","{{row}}行 {{column}}列を編集中です。Enter で保存、Esc でキャンセルします。","{{row}}行 {{column}} のセル エディター","{{row}}行をドラッグして並べ替え","フィルハンドル: ドラッグまたは矢印キーで{{row}}行から入力","{{label}} 合計","値は {{constraint}} {{value}} である必要があります。","日付は {{constraint}} {{value}} である必要があります。","日付は YYYY-MM-DD 形式である必要があります。","選択…","オプションを開く","オプションを閉じる","チェック済み","チェックなし","混在","Shift+Enter または Tab で保存、Esc でキャンセルします。","確定","キャンセル","読み込み中…","再試行","CSV読み込み","CSVインポート","先頭行をヘッダーにする","区切り文字","自動","キャンセル","インポート"]);function sr(t2){switch(t2){case"en":return ir;case"ko":return nr;case"ja":return rr}}function or(t2,e2){if(null==t2)return{};if("string"==typeof t2)return(function(t3){return"en"===t3||"ko"===t3||"ja"===t3})(t2)?sr(t2):(console.warn("locale:name",t2),sr("en"));if("object"==typeof t2){if(e2>=16)return console.warn("locale:depth",16),{};const i2=or(t2.extends??"en",e2+1),n2={};if(t2.messages)for(const e3 of Object.keys(t2.messages)){if(!Zn(e3)){console.warn("locale:message",e3);continue}const i3=t2.messages[e3];"string"==typeof i3&&(n2[e3]=i3)}return{...i2,...n2}}return console.warn("locale:type",typeof t2),sr("en")}function lr(t2){const e2=or(t2,0),i2={...Xn};for(const t3 of Object.keys(e2)){if(!Zn(t3))continue;const n2=e2[t3];"string"==typeof n2&&(i2[t3]=n2)}return i2}function ar(t2,e2,i2){const n2=t2[e2];return"string"!=typeof n2?e2:(function(t3,e3){return"string"!=typeof t3?"":e3&&0!==Object.keys(e3).length?t3.replace(/\{\{(\w+)\}\}/g,((t4,i3)=>{if(!Object.prototype.hasOwnProperty.call(e3,i3))return t4;const n3=e3[i3];return null==n3?t4:n3+""})):t3})(n2,i2)}function dr(t2){return"string"==typeof t2?t2.length>0:"number"==typeof t2&&Number.isFinite(t2)}function ur(t2){console.warn(`[Syidax] sy-grid: ${t2} ignored invalid rowId.`)}function cr(t2){const e2="single"===t2||"multi"===t2||"none"===t2?t2:"none";return e2!==t2&&console.warn(`[Syidax] sy-grid: unknown rowSelection mode "${t2+""}", falling back to "none".`),{mode:e2,selectedRowIds:new Set}}function hr(t2,e2){if(!dr(e2))return ur("selectRow"),t2;if("none"===t2.mode)return t2;if("single"===t2.mode){if(1===t2.selectedRowIds.size&&t2.selectedRowIds.has(e2))return t2;const i3=new Set([e2]);return{mode:t2.mode,selectedRowIds:i3}}if(t2.selectedRowIds.has(e2))return t2;const i2=new Set(t2.selectedRowIds);return i2.add(e2),{mode:t2.mode,selectedRowIds:i2}}function fr(t2,e2){return dr(e2)?t2.selectedRowIds.has(e2)?(function(t3,e3){if(!dr(e3))return ur("deselectRow"),t3;if(!t3.selectedRowIds.has(e3))return t3;const i2=new Set(t3.selectedRowIds);return i2.delete(e3),{mode:t3.mode,selectedRowIds:i2}})(t2,e2):hr(t2,e2):(ur("toggleRow"),t2)}function gr(t2,e2){if(!Array.isArray(e2)||0===e2.length)return"none";let i2=0,n2=0;for(const r2 of e2)dr(r2)&&(n2++,t2.selectedRowIds.has(r2)&&i2++);return 0===n2||0===i2?"none":i2===n2?"all":"partial"}function pr(t2,e2){if(null===e2)return null;if(!Array.isArray(t2)||0===t2.length)return null;if(!dr(e2))return null;for(let i2=0;i2<t2.length;i2++)if(t2[i2]===e2)return i2;return null}function yr(t2,e2){const i2=[],n2=[];for(const n3 of e2.selectedRowIds)t2.selectedRowIds.has(n3)||i2.push(n3);for(const i3 of t2.selectedRowIds)e2.selectedRowIds.has(i3)||n2.push(i3);return{addedIds:i2,removedIds:n2}}const br=Object.freeze({kind:"selection-checkbox",width:40,field:"__sy_selection__",sortable:false,resizable:false,filter:false});function mr(t2,e2){return{role:"checkbox","aria-checked":t2?"true":"false","aria-label":"string"==typeof e2&&e2.length>0?e2:"Select row",tabindex:0}}function wr(t2){if(null==t2)return false;if("object"!=typeof t2)return false;const e2=t2.key;return"string"==typeof e2&&(" "===e2||"Spacebar"===e2||"Enter"===e2)}function vr(t2,e2={}){const i2=ct(t2,e2);return/[\t\n\r"]/.test(i2)?`"${i2.replace(/"/g,'""')}"`:i2}function xr(t2,e2,i2=()=>true,n2={}){const r2=t2.map((t3=>(function(t4,e3,i3=()=>true,n3={}){const r3=[];for(let s2=t4.top;s2<=t4.bottom;s2++){if(!i3(s2))continue;const o2=[];for(let i4=t4.left;i4<=t4.right;i4++)o2.push(vr(e3(s2,i4),n3));r3.push(o2.join(" "))}return r3.join("\n")})(t3,e2,i2,n2))).filter((t3=>""!==t3));return r2.join("\n")}const _r=Object.freeze(["totalRows","filteredRows","totalAndFilteredRows","selectedRows","aggregation"]),Cr=Object.freeze(["left","center","right"]),kr=Object.freeze([{panel:"totalAndFilteredRows",align:"left"},{panel:"selectedRows",align:"right"},{panel:"aggregation",align:"right"}]),Sr=Object.freeze(["columns","filters"]),Ir=Object.freeze([{id:"columns"},{id:"filters"}]);function Rr(t2){return"string"==typeof t2&&Sr.includes(t2)}function Mr(t2){if(false===t2||null==t2)return null;if(true===t2)return{panels:Ir,defaultOpen:null,invalid:[]};if("string"==typeof t2)return Rr(t2)?{panels:[{id:t2}],defaultOpen:t2,invalid:[]}:{panels:Ir,defaultOpen:null,invalid:[t2]};if("object"!=typeof t2)return{panels:Ir,defaultOpen:null,invalid:[`sideBar value "${t2+""}" is not boolean/string/object`]};const e2=t2.panels,i2=[];let n2;if(Array.isArray(e2)){n2=[];const t3=new Set;for(const r3 of e2){const e3=null!==r3&&"object"==typeof r3?r3.id:r3;Rr(e3)?t3.has(e3)||(t3.add(e3),n2.push({id:e3})):i2.push(e3+"")}}else void 0===e2||i2.push("sideBar.panels is not an array"),n2=[...Ir];const r2=t2.defaultOpen;let s2=null;return null!=r2&&(Rr(r2)&&n2.some((t3=>t3.id===r2))?s2=r2:i2.push("defaultOpen: "+r2)),{panels:n2,defaultOpen:s2,invalid:i2}}function Fr(t2){return{top:Math.min(t2.anchorRow,t2.focusRow),left:Math.min(t2.anchorCol,t2.focusCol),bottom:Math.max(t2.anchorRow,t2.focusRow),right:Math.max(t2.anchorCol,t2.focusCol)}}const Dr=t2=>Number.isFinite(t2)?Math.max(0,Math.floor(t2)):0,Ar=t2=>{const e2=Dr(t2.row),i2=Dr(t2.col);return e2===t2.row&&i2===t2.col?t2:{row:e2,col:i2}};function Er(t2,e2,i2){const n2=Ar(e2),r2={id:t2.nextId,anchor:n2,focus:void 0===i2?n2:Ar(i2)};return{set:{ranges:[...t2.ranges,r2],nextId:t2.nextId+1},changes:[{kind:"added",id:r2.id,range:r2}]}}function Pr(t2){return t2.ranges.map((t3=>({anchorRow:t3.anchor.row,anchorCol:t3.anchor.col,focusRow:t3.focus.row,focusCol:t3.focus.col})))}const $r=Object.freeze(["normal","pinned-top","pinned-bottom","group","master","detail","ssrm-loaded","ssrm-unloaded"]),Tr=Object.freeze({normal:"editable","pinned-top":"editable","pinned-bottom":"editable",group:"read-only-row",master:"editable",detail:"editable","ssrm-loaded":"editable","ssrm-unloaded":"unsupported"}),jr=Object.freeze(["enter","tab","escape","blur","mouse","api","replacement","virtual-scroll","disconnect"]),Nr=Object.freeze({enter:"commit",tab:"commit",escape:"cancel",blur:"blur-policy",mouse:"blur-policy",api:"commit",replacement:"cancel","virtual-scroll":"cancel",disconnect:"cancel"}),Or=new Map,Br=Object.freeze([]),zr=Object.freeze([]),Gr=t2=>"string"==typeof t2&&t2.length>0||"number"==typeof t2&&Number.isFinite(t2),Lr=t2=>"object"==typeof t2&&null!==t2&&true===t2.ok,Vr=(t2,e2,i2)=>{const n2=i2.rbac??null;if(null!==n2&&"allow"!==n2(t2,e2.colId))return"rbac";const r2=i2.validate??null;if(null!==r2){let i3;try{i3=r2(t2,e2.colId,e2.value)}catch{return"validation"}if(!Lr(i3))return"validation"}return null},Hr=(t2,e2,i2)=>{if(null===t2.cellReasons)return Br;const n2=[];for(const r2 of i2){const i3=t2.cellReasons[""+r2.colId];"string"==typeof i3&&n2.push({rowId:e2,colId:r2.colId,colIndex:r2.colIndex,reason:"validation",detail:i3})}return 0===n2.length?Br:n2},Wr=t2=>{const{mutationId:e2,status:i2,session:n2}=t2,r2=t2.readCurrent??(()=>{}),s2=[],o2=[],l2=[],a2={},d2={},u2=[{type:"rowEditStart",detail:{mutationId:e2,sessionId:n2.sessionId,rowId:n2.rowId,rowKind:n2.rowKind,displayRow:n2.displayRow,stagedCount:t2.stagedCount}}];for(const i3 of t2.accepted){const t3=r2(n2.rowId,i3.colId);u2.push({type:"cellValueChanged",detail:{mutationId:e2,rowId:n2.rowId,colId:i3.colId,colIndex:i3.colIndex,oldValue:t3,newValue:i3.value,excludedReason:null}}),s2.push({rowId:n2.rowId,colId:i3.colId,colIndex:i3.colIndex,value:i3.value,oldValue:t3}),o2.push({rowId:n2.rowId,colId:i3.colId,colIndex:i3.colIndex,value:t3}),l2.push({rowId:n2.rowId,colId:i3.colId,colIndex:i3.colIndex,oldValue:t3,newValue:i3.value}),a2[""+i3.colId]=t3,d2[""+i3.colId]=i3.value}return"committed"===i2&&u2.push({type:"rowValueChanged",detail:{mutationId:e2,rowId:n2.rowId,writtenCount:s2.length,oldRow:a2,newRow:d2}}),u2.push({type:"rowEditEnd",detail:"cancelled"===i2?{mutationId:e2,status:i2,writtenCount:0,rejectedCells:t2.rejectedCells,reason:t2.cancel?.reason,droppedCount:t2.cancel?.droppedCount??0}:{mutationId:e2,status:i2,writtenCount:s2.length,rejectedCells:t2.rejectedCells}}),{status:i2,mutationId:e2,events:u2,commit:{writes:s2},undo:{writes:o2},rejectedCells:t2.rejectedCells,mutationRecord:{mutationId:e2,kind:"row-edit",sessionId:n2.sessionId,rowId:n2.rowId,rowKind:n2.rowKind,writes:l2,rejectedCells:t2.rejectedCells,timestampSlot:null}}};function qr(t2){return null!==t2.session}function Ur(t2,e2,i2,n2){const r2=t2.session;if(null===r2)return{state:t2,staged:{kind:"ignored",ignored:"no-row-edit"}};const s2=r2.editableColIds.findIndex((t3=>t3===e2));if(s2<0)return{state:t2,staged:{kind:"ignored",ignored:"column-not-editable"}};const o2=r2.pending.get(s2)??null,l2=null===o2?{colId:r2.editableColIds[s2],colIndex:s2,value:i2,oldValue:n2}:{...o2,value:i2},a2=new Map(r2.pending);return a2.set(s2,l2),{state:{session:{...r2,pending:a2},nextSessionId:t2.nextSessionId},staged:{kind:"staged",cell:l2,replaced:null!==o2}}}function Kr(t2,e2){const i2=t2.session;if(null===i2)return{state:t2,result:{kind:"ignored",ignored:"no-row-edit"}};const n2=(t3=>jr.includes(t3)?t3:"api")(e2.reason),r2=((t3,e3)=>{const i3=Nr[t3];return"blur-policy"!==i3?i3:"cancel"===e3?"cancel":"commit"})(n2,e2.stopOnBlur),s2=e2.mintMutationId(),o2={session:null,nextSessionId:t2.nextSessionId};if("cancel"===r2){const t3=i2.pending.size;return{state:o2,result:{kind:"cancelled",reason:n2,plan:Wr({status:"cancelled",mutationId:s2,session:i2,stagedCount:t3,accepted:zr,rejectedCells:Br,cancel:{reason:n2,droppedCount:t3}}),droppedCount:t3}}}const l2=((t3,e3)=>{const i3=(t4=>{const e4=[];for(let i4=0;i4<t4.editableColIds.length;i4+=1){const n4=t4.pending.get(i4);void 0!==n4&&e4.push(n4)}return e4})(t3),n3=[];for(const r4 of i3){const i4=Vr(t3.rowId,r4,e3);null!==i4&&n3.push({rowId:t3.rowId,colId:r4.colId,colIndex:r4.colIndex,reason:i4,detail:null})}const r3=0===n3.length?Br:n3;if(r3.length>0||!e3.validateRow)return{staged:i3,gateRejected:r3,rowVerdictRaw:{ok:true},rowThrew:false};const s3=i3.map((t4=>({colId:t4.colId,colIndex:t4.colIndex,value:t4.value,oldValue:t4.oldValue})));try{return{staged:i3,gateRejected:r3,rowVerdictRaw:e3.validateRow(t3.rowId,s3),rowThrew:false}}catch{return{staged:i3,gateRejected:r3,rowVerdictRaw:null,rowThrew:true}}})(i2,e2);if(l2.gateRejected.length>0)return{state:t2,result:{kind:"rejected",reason:n2,plan:Wr({status:"rejected",mutationId:s2,session:i2,stagedCount:l2.staged.length,accepted:zr,rejectedCells:l2.gateRejected}),rowInvalid:null}};const a2=(t3=>{if(Lr(t3))return{ok:true};const e3="object"!=typeof t3||null===t3||(t4=>"object"==typeof t4&&null!==t4&&"function"==typeof t4.then)(t3)?{}:t3;return{cellReasons:"object"==typeof e3.cellReasons&&null!==e3.cellReasons?e3.cellReasons:null,rowReason:"string"==typeof e3.rowReason?e3.rowReason:null}})(l2.rowThrew?null:l2.rowVerdictRaw);return"ok"in a2?{state:o2,result:{kind:"committed",reason:n2,plan:Wr({status:"committed",mutationId:s2,session:i2,stagedCount:l2.staged.length,accepted:l2.staged,rejectedCells:Br,readCurrent:e2.readCurrent})}}:{state:t2,result:{kind:"rejected",reason:n2,plan:Wr({status:"rejected",mutationId:s2,session:i2,stagedCount:l2.staged.length,accepted:zr,rejectedCells:Hr(a2,i2.rowId,l2.staged)}),rowInvalid:a2}}}function Yr(t2){return null===t2.hoveredRowId?t2:{hoveredRowId:null}}function Jr(t2){return"number"==typeof t2&&Number.isFinite(t2)&&Number.isInteger(t2)&&t2>=0}function Qr(t2,e2){console.warn(`[Syidax] sy-grid: ${t2} ${e2}`)}function Xr(t2,e2){return void 0===t2?{}:null===t2||"object"!=typeof t2||Array.isArray(t2)?(Qr(e2,"received malformed meta; coerced to {}."),{}):{...t2}}function Zr(t2,e2){return null===t2.active?(Qr("setDraft","called with no active transaction; ignoring."),t2):"pending"!==t2.active.phase?(Qr("setDraft",`called on a transaction in phase '${t2.active.phase}'; ignoring.`),t2):t2.active.draftValue===e2?t2:{active:{...t2.active,draftValue:e2},nextId:t2.nextId}}function ts(t2){return null===t2.active||"pending"!==t2.active.phase?t2:{active:{...t2.active,phase:"cancelled"},nextId:t2.nextId}}function es(t2){return null===t2.active?t2:"pending"===t2.active.phase?(Qr("clearEdit","called on a 'pending' transaction; resolve it first."),t2):{active:null,nextId:t2.nextId+1}}let is=0;function ns(){return is+=1,is}function rs(t2,e2){console.warn(`[Syidax] sy-grid: ${t2} ${e2}`)}function ss(t2){return Array.isArray(t2)?t2:[]}function os(t2,e2){if(null==t2||"object"!=typeof t2)return{ok:false,reason:"row is not an object"};const i2=e2??(t3=>t3.id);let n2;try{n2=i2(t2)}catch{return rs("applyRowTransaction","getRowId threw; row rejected."),{ok:false,reason:"getRowId threw"}}return"string"==typeof n2&&n2.length>0||"number"==typeof n2&&Number.isFinite(n2)?{ok:true,id:n2}:{ok:false,reason:"missing id"}}function ls(t2,e2){if("function"!=typeof e2)return{valid:true};let i2;try{i2=e2(t2)}catch{return rs("applyRowTransaction","validate threw; row rejected."),{valid:false,reason:"validate threw"}}return null===i2||"object"!=typeof i2?{valid:true}:false===i2.valid?{valid:false,reason:"string"==typeof i2.reason&&i2.reason.length>0?i2.reason:"invalid"}:{valid:true}}function as(t2,e2,i2={}){is+=1;const n2=is,r2=Date.now(),s2=Array.isArray(t2)?t2.slice():[],o2=[],l2=[],a2=[],d2=[];if(null==e2)return rs("applyRowTransaction","received null/undefined transaction; no-op."),{rows:s2,added:o2,updated:l2,removed:a2,rejected:d2,meta:{txId:n2,timestamp:r2}};const{getRowId:u2,validate:c2}=i2,h2=ss(e2.remove),f2=ss(e2.update),g2=ss(e2.add),p2=new Map;for(let t3=0;t3<s2.length;t3++){const e3=os(s2[t3],u2);e3.ok&&p2.set(e3.id,t3)}let y2=s2;if(h2.length>0){const t3=[],e3=new Set;for(let i3=0;i3<h2.length;i3++){const n3=h2[i3],r3=os(n3,u2);if(!r3.ok){const t4=r3.reason;d2.push({kind:"remove",row:n3,reason:"missing id"===t4?"remove missing id":t4});continue}if(e3.has(r3.id)){d2.push({kind:"remove",row:n3,reason:"duplicate id"});continue}const s3=p2.get(r3.id);void 0!==s3?(e3.add(r3.id),t3.push(s3)):d2.push({kind:"remove",row:n3,reason:"unknown id"})}if(t3.length>0){const e4=t3.slice().sort(((t4,e5)=>t4-e5));for(let t4=0;t4<e4.length;t4++){const i4=e4[t4];a2.push({row:y2[i4],index:i4})}const i3=y2.slice(),n3=t3.slice().sort(((t4,e5)=>e5-t4));for(let t4=0;t4<n3.length;t4++)i3.splice(n3[t4],1);y2=i3,p2.clear();for(let t4=0;t4<y2.length;t4++){const e5=os(y2[t4],u2);e5.ok&&p2.set(e5.id,t4)}}}if(f2.length>0){let t3=false;const e3=y2.slice();for(let i3=0;i3<f2.length;i3++){const n3=f2[i3];if(null==n3||"object"!=typeof n3){d2.push({kind:"update",row:n3,reason:"update missing id"});continue}const r3=os(n3,u2);if(!r3.ok){const t4=r3.reason;d2.push({kind:"update",row:n3,reason:"missing id"===t4?"update missing id":t4});continue}const s3=p2.get(r3.id);if(void 0===s3){d2.push({kind:"update",row:n3,reason:"unknown id"});continue}const o3=e3[s3],a3={...o3,...n3},h3=ls(a3,c2);h3.valid?(e3[s3]=a3,l2.push({row:a3,previous:o3,index:s3}),t3=true):d2.push({kind:"update",row:n3,reason:h3.reason})}t3&&(y2=e3)}if(g2.length>0){const t3=(function(t4,e3){return"number"==typeof t4&&Number.isFinite(t4)&&Number.isInteger(t4)?t4<0||t4>e3?e3:t4:e3})(e2.addIndex,y2.length),i3=new Set,n3=[];for(let t4=0;t4<g2.length;t4++){const e3=g2[t4],r3=os(e3,u2);if(!r3.ok){d2.push({kind:"add",row:e3,reason:r3.reason});continue}if(p2.has(r3.id)||i3.has(r3.id)){d2.push({kind:"add",row:e3,reason:"duplicate id"});continue}const s3=ls(e3,c2);s3.valid?(i3.add(r3.id),n3.push({row:e3,id:r3.id})):d2.push({kind:"add",row:e3,reason:s3.reason})}if(n3.length>0){const e3=y2.slice();for(let i4=0;i4<n3.length;i4++){const r3=t3+i4;e3.splice(r3,0,n3[i4].row),o2.push({row:n3[i4].row,index:r3})}y2=e3}}return{rows:y2,added:o2,updated:l2,removed:a2,rejected:d2,meta:{txId:n2,timestamp:r2}}}const ds=100;let us=0;function cs(t2,e2){console.warn(`[Syidax] sy-grid: ${t2} ${e2}`)}function hs(t2){return null!=t2&&"object"==typeof t2}function fs(t2){function e2(t3,e3,i3,n3,r3,s3){const o2=e3.has(t3)?e3.get(t3):null,l2=null!==i3&&i3.has(t3)?i3.get(t3):null,a2=n3.has(t3);let d2=null;for(let e4=0;e4<r3.length;e4++)if(r3[e4].field===t3){d2=e4;break}const u2=null!==d2;return{field:t3,width:o2,order:l2,hidden:a2,sortDirection:u2?r3[d2].direction:null,isSorted:u2,sortIndex:d2,pinned:void 0!==s3?s3.get(t3)??null:null}}const i2=(function(t3,e3){if(null===e3)return t3.slice();const i3=new Set(t3),n3=[];for(let t4=0;t4<e3.length;t4++){const r3=e3[t4];i3.has(r3)&&(n3.push(r3),i3.delete(r3))}for(const t4 of i3)n3.push(t4);return n3})(t2.fields,t2.columnOrder),n2=(function(t3,e3){if(null===e3)return null;const i3=new Set(t3),n3=new Map;let r3=0;for(let t4=0;t4<e3.length;t4++){const s3=e3[t4];i3.has(s3)&&!n3.has(s3)&&(n3.set(s3,r3),r3+=1)}return n3})(t2.fields,t2.columnOrder),r2=(function(t3,e3){return void 0!==t3?t3:null===e3?[]:[e3]})(t2.sortModel,t2.activeSort),s2=[];for(let o2=0;o2<i2.length;o2++)s2.push(e2(i2[o2],t2.columnWidths,n2,t2.columnHidden,r2,t2.pinnedSides));return s2}function gs(t2,e2){const i2=(function(t3){const e3=[],i3=new Set;for(let n2=0;n2<t3.length;n2++){const r2=t3[n2];r2.isSorted&&null!==r2.sortDirection&&!i3.has(r2.field)&&(i3.add(r2.field),e3.push({field:r2.field,direction:r2.sortDirection,sortIndex:"number"==typeof r2.sortIndex&&Number.isFinite(r2.sortIndex)?r2.sortIndex:1/0,position:n2}))}return e3.sort(((t4,e4)=>t4.sortIndex-e4.sortIndex||t4.position-e4.position)),e3.map((t4=>({field:t4.field,direction:t4.direction})))})(t2);return{widths:(function(t3){const e3=new Map;for(let i3=0;i3<t3.length;i3++){const n2=t3[i3];e3.set(n2.field,n2.width)}return e3})(t2),visibility:(function(t3){const e3=new Map;for(let i3=0;i3<t3.length;i3++)e3.set(t3[i3].field,t3[i3].hidden);return e3})(t2),order:(function(t3,e3){if(!e3)return null;const i3=[],n2=[];for(let e4=0;e4<t3.length;e4++){const r2=t3[e4];null!==r2.order?i3.push({field:r2.field,order:r2.order}):n2.push(r2.field)}return i3.sort(((t4,e4)=>t4.order-e4.order)),[...i3.map((t4=>t4.field)),...n2]})(t2,e2?.applyOrder),activeSort:i2.length>0?i2[0]:null,sortModel:i2,pinned:(function(t3){const e3=new Map;for(let i3=0;i3<t3.length;i3++){const n2=t3[i3];"pinned"in n2&&void 0!==n2.pinned&&e3.set(n2.field,"left"===n2.pinned||"right"===n2.pinned?n2.pinned:null)}return e3})(t2)}}const ps="sy-grid-state/1.0.0",ys=Object.freeze(["columns","filter","rowGrouping","pivot","expansion","selection","focus","scroll","pagination","pinnedRows","sideBar","find"]),bs=(t2,e2,i2)=>({path:t2,kind:e2,detail:i2});function ms(t2,e2,i2,n2,r2){if(null===t2)return null;switch(typeof t2){case"string":case"boolean":return t2;case"number":return Number.isFinite(t2)?0===t2?0:t2:(r2.push(bs(e2,"non-finite-number",t2+" is not JSON-serializable")),null);case"bigint":return r2.push(bs(e2,"bigint","bigint is not JSON-serializable")),null;case"function":return r2.push(bs(e2,"function","functions cannot be part of grid state")),null;case"symbol":return r2.push(bs(e2,"symbol","symbols cannot be part of grid state")),null;case"undefined":return r2.push(bs(e2,"undefined-in-array","undefined is not JSON-serializable")),null}const s2=t2;if(i2>=32)return r2.push(bs(e2,"excessive-depth","nesting exceeds 32 levels")),null;if(n2.has(s2))return r2.push(bs(e2,"circular-reference","value references itself")),null;if(Array.isArray(s2)){n2.add(s2);const t3=[];for(let o3=0;o3<s2.length;o3+=1){const l3=`${e2}/${o3}`;Object.hasOwn(s2,o3)&&void 0!==s2[o3]?t3.push(ms(s2[o3],l3,i2+1,n2,r2)):r2.push(bs(l3,"undefined-in-array","arrays may not contain undefined holes"))}return n2.delete(s2),t3}if(!(function(t3){const e3=Object.getPrototypeOf(t3);return e3===Object.prototype||null===e3})(s2))return r2.push(bs(e2,"unsupported-object",(s2.constructor?.name??"unknown")+" instances are not plain serializable objects")),null;n2.add(s2);const o2=s2,l2={};for(const t3 of Object.keys(o2).sort())void 0!==o2[t3]&&("__proto__"!==t3?l2[t3]=ms(o2[t3],`${e2}/${t3}`,i2+1,n2,r2):r2.push(bs(`${e2}/${t3}`,"unsupported-object","prototype-pollution key rejected")));return n2.delete(s2),l2}function ws(t2){const e2=[],i2=ms(t2,"$",0,new WeakSet,e2);return e2.length>0?{value:null,issues:e2}:{value:i2,issues:e2}}const vs=/^sy-grid-state\/(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/u;function xs(t2){if("string"!=typeof t2)return null;const e2=t2.match(vs);return e2?{major:Number(e2[1]),minor:Number(e2[2]),patch:Number(e2[3])}:null}const _s=(()=>{const t2=xs(ps);if(!t2)throw new TypeError("SY_GRID_STATE_VERSION must satisfy the version pattern");return t2})(),Cs=new Set(ys),ks=t2=>null!==t2&&"object"==typeof t2&&!Array.isArray(t2);function Ss(t2,e2={}){const i2=e2.unknownSlices??"reject",n2=[];if(!ks(t2))return{ok:false,state:null,issues:[{code:"not-an-object",path:"$",detail:"grid state must be a plain object envelope"}]};const r2=t2.version;if(void 0===r2)n2.push({code:"missing-version",path:"$/version",detail:"grid state must declare its version"});else{const t3=xs(r2);t3?t3.major>_s.major&&n2.push({code:"newer-major-version",path:"$/version",detail:`state major ${t3.major} is newer than runtime major ${_s.major}`}):n2.push({code:"malformed-version",path:"$/version",detail:`"${r2+""}" does not match sy-grid-state/<major>.<minor>.<patch>`})}const s2=t2.slices;void 0===s2?n2.push({code:"missing-slices",path:"$/slices",detail:"grid state must carry a slices object (empty is allowed)"}):ks(s2)||n2.push({code:"malformed-slices",path:"$/slices",detail:"slices must be a plain object keyed by slice name"});const o2={};if(ks(s2)){const t3=Object.keys(s2);for(const e3 of t3){if(!Cs.has(e3)){n2.push({code:"unknown-slice",path:"$/slices/"+e3,detail:"reject"===i2?`unknown slice "${e3}" rejected by policy`:`unknown slice "${e3}" reported and ignored by policy`});continue}if(void 0===s2[e3])continue;const t4=ws(s2[e3]);if(t4.issues.length>0)for(const i3 of t4.issues)n2.push({code:"non-serializable",path:`$/slices/${e3}${i3.path.slice(1)}`,detail:`${i3.kind}: ${i3.detail}`});else o2[e3]=t4.value}}if(n2.some((t3=>"unknown-slice"!==t3.code||"reject"===i2)))return{ok:false,state:null,issues:n2};const l2={};for(const t3 of ys)t3 in o2&&(l2[t3]=o2[t3]);return{ok:true,state:{version:r2,slices:l2},issues:n2}}const Is=(t2,e2)=>{if(!t2)return null;const i2=t2.indexOf(e2);return i2<0?null:i2},Rs=(t2,e2)=>t2.map(((t3,i2)=>({entry:t3,position:i2,index:e2(t3)}))).filter((t3=>null!==t3.index)).sort(((t3,e3)=>t3.index-e3.index||t3.position-e3.position)).map((t3=>t3.entry.colId)),Ms=t2=>null!==t2&&"object"==typeof t2&&!Array.isArray(t2),Fs=t2=>null===t2||"number"==typeof t2&&Number.isInteger(t2)&&t2>=0,Ds=new Set(["text","number","date","set","multi"]);function As(t2){const e2=[],i2={};for(const n3 of Object.keys(t2.activeFilters).sort()){const r3=ws(t2.activeFilters[n3]);if(r3.issues.length>0)for(const t3 of r3.issues)e2.push({path:`$/builtIn/${n3}${t3.path.slice(1)}`,detail:`built-in filter not serializable (${t3.kind}): ${t3.detail}`});else i2[n3]=r3.value}let n2=null;if(null!==t2.customModels){n2={};for(const i3 of Object.keys(t2.customModels).sort()){const r3=ws(t2.customModels[i3]);if(r3.issues.length>0)for(const t3 of r3.issues)e2.push({path:`$/customModels/${i3}${t3.path.slice(1)}`,detail:`custom filter model not serializable (${t3.kind}): ${t3.detail}`});else n2[i3]=r3.value}}for(const i3 of t2.customModelErrors??[])e2.push({path:"$/customModels",detail:"facade snapshot error: "+i3});let r2=null;if(null!==t2.conditionTree)try{r2=vn(t2.conditionTree)}catch(t3){e2.push({path:"$/conditionTree",detail:"condition tree failed to serialize: "+(t3 instanceof Error?t3.message:t3+"")})}return{slice:{builtIn:i2,customModels:n2,quickFilter:t2.quickFilter,conditionTree:r2,externalFilterActive:t2.externalFilterActive},issues:e2}}const Es=t2=>null!==t2&&"object"==typeof t2&&!Array.isArray(t2);function Ps(t2,e2){const i2=new Set(e2.fields),n2={},r2=[],s2=[];for(const e3 of Object.keys(t2.builtIn).sort()){const o3=t2.builtIn[e3];i2.has(e3)?Es(o3)&&"string"==typeof o3.kind&&Ds.has(o3.kind)&&o3.field===e3&&Es(o3.spec)?n2[e3]=o3:s2.push({path:"$/builtIn/"+e3,detail:"entry must be an ActiveFilter whose field matches its column id"}):r2.push(e3)}const o2={},l2=[];for(const i3 of Object.keys(t2.customModels??{}).sort())e2.customFilterColumnIds.has(i3)?o2[i3]=t2.customModels[i3]:l2.push(i3);let a2=null,d2=null;if(null!==t2.conditionTree)try{const e3=xn(t2.conditionTree),i3=mn(e3);i3.ok?a2=e3:d2=i3.errors.join("; ")}catch(t3){d2=t3 instanceof Error?t3.message:t3+""}return{builtIn:n2,customModels:o2,quickFilter:t2.quickFilter,conditionTree:a2,report:{unknownBuiltInColumns:r2,invalidBuiltIn:s2,unavailableCustomFilters:l2,conditionTreeError:d2,externalFilterWasActive:t2.externalFilterActive}}}function $s(t2){const e2=[];return Es(t2)?(Es(t2.builtIn)||e2.push({path:"$/builtIn",detail:"builtIn must be an object keyed by column id"}),null===t2.customModels||Es(t2.customModels)||e2.push({path:"$/customModels",detail:"customModels must be null or an object keyed by column id"}),null!==t2.quickFilter&&"string"!=typeof t2.quickFilter&&e2.push({path:"$/quickFilter",detail:"quickFilter must be null or a string"}),null!==t2.conditionTree&&"string"!=typeof t2.conditionTree&&e2.push({path:"$/conditionTree",detail:"conditionTree must be null or a condition wire string"}),"boolean"!=typeof t2.externalFilterActive&&e2.push({path:"$/externalFilterActive",detail:"externalFilterActive must be a boolean"}),e2):[{path:"$",detail:"filter slice must be an object"}]}function Ts(t2,e2){const i2="number"==typeof t2,n2="number"==typeof e2;return i2&&n2?t2-e2:i2?-1:n2?1:t2<e2?-1:t2>e2?1:0}const js=t2=>[...t2].sort(),Ns=t2=>[...t2].sort(Ts),Os=(t2,e2)=>{if(null===e2)return{applied:[...t2],missing:[],unverified:[...t2]};const i2=[],n2=[];for(const r2 of t2)(e2.has(r2)?i2:n2).push(r2);return{applied:i2,missing:n2,unverified:[]}},Bs=(t2,e2,i2)=>[t2.anchorRow,t2.focusRow].every((t3=>t3>=0&&t3<e2))&&[t2.anchorCol,t2.focusCol].every((t3=>t3>=0&&t3<i2)),zs=t2=>null!==t2&&"object"==typeof t2&&!Array.isArray(t2),Gs=(t2,e2,i2)=>{Array.isArray(t2)&&!t2.some((t3=>"string"!=typeof t3))||i2.push({path:e2,detail:"must be an array of strings"})},Ls=(t2,e2,i2)=>{Array.isArray(t2)&&!t2.some((t3=>!(t4=>"string"==typeof t4&&t4.length>0||"number"==typeof t4&&Number.isFinite(t4))(t3)))||i2.push({path:e2,detail:"must be an array of non-empty-string or finite-number row ids"})},Vs=Object.freeze({pageIndex:0,pageSize:25}),Hs=t2=>null!==t2&&"object"==typeof t2&&!Array.isArray(t2),Ws=t2=>"number"==typeof t2&&Number.isInteger(t2)&&t2>=0,qs=t2=>"number"==typeof t2&&Number.isFinite(t2)&&t2>=0,Us=t2=>"string"==typeof t2&&t2.length>0||"number"==typeof t2&&Number.isFinite(t2);function Ks(t2){if(!Hs(t2))return[{path:"$",detail:"pinnedRows slice must be an object"}];const e2=[];for(const i2 of["topRowIds","bottomRowIds"])Array.isArray(t2[i2])&&!t2[i2].some((t3=>!Us(t3)))||e2.push({path:"$/"+i2,detail:i2+" must be an array of row ids"});return e2}function Ys(t2){const e2=(function(t3){return{entries:fs(t3).map((e3=>({colId:e3.field,width:e3.width,order:e3.order,hidden:e3.hidden,pinned:e3.pinned??null,sort:e3.isSorted&&null!==e3.sortDirection?{direction:e3.sortDirection,index:"number"==typeof e3.sortIndex?e3.sortIndex:0}:null,aggFunc:t3.aggFuncs?.get(e3.field)??null,rowGroupIndex:Is(t3.rowGroupFields,e3.field),pivotRowGroupIndex:Is(t3.pivotRowGroupFields,e3.field),pivotIndex:Is(t3.pivotFields,e3.field),valueIndex:Is(t3.valueFields,e3.field)}))),collapsedGroupIds:[...t3.collapsedGroupIds??[]].sort(),pivotMode:t3.pivotMode??false}})(t2.columns),i2=As(t2.filter),n2=(function(t3){return{rowGrouping:{collapsedGroupRoutes:js(t3.collapsedGroupRoutes)},pivot:{collapsedGroupRoutes:js(t3.pivotCollapsedGroupRoutes)},expansion:{collapsedTreeNodePaths:js(t3.collapsedTreeNodePaths),expandedDetailRowIds:Ns(t3.expandedDetailRowIds)},selection:{rows:{mode:t3.rowSelection.mode,ids:Ns(t3.rowSelection.selectedRowIds)},ranges:t3.cellRanges.map((t4=>({...t4})))}}})(t2.rows),r2=(function(t3){return{focus:{activeCell:null===t3.activeCell?null:{rowIndex:t3.activeCell.rowIndex,colIndex:t3.activeCell.colIndex}},scroll:{top:Math.max(0,t3.scrollTop),left:Math.max(0,t3.scrollLeft)},pagination:null===t3.pagination?Vs:{pageIndex:t3.pagination.pageIndex,pageSize:t3.pagination.pageSize},sideBar:{openPanelId:t3.openPanelId},pinnedRows:void 0===t3.pinnedRows?{topRowIds:[],bottomRowIds:[]}:{topRowIds:[...t3.pinnedRows.topRowIds],bottomRowIds:[...t3.pinnedRows.bottomRowIds]}}})(t2.ui),s2=Ss({version:ps,slices:{columns:e2,filter:i2.slice,rowGrouping:n2.rowGrouping,pivot:n2.pivot,expansion:n2.expansion,selection:n2.selection,focus:r2.focus,scroll:r2.scroll,pagination:r2.pagination,pinnedRows:r2.pinnedRows,sideBar:r2.sideBar,...void 0===t2.find?{}:{find:t2.find}}});if(!s2.ok||null===s2.state)throw new TypeError("grid state capture produced an invalid envelope: "+s2.issues.map((t3=>`${t3.path} ${t3.detail}`)).join("; "));return{state:s2.state,issues:i2.issues}}const Js={columns:function(t2){const e2=[];if(!Ms(t2))return[{path:"$",detail:"columns slice must be an object"}];if(Array.isArray(t2.entries)){const i2=new Set;t2.entries.forEach(((t3,n2)=>{const r2="$/entries/"+n2;if(Ms(t3)){"string"!=typeof t3.colId||0===t3.colId.length?e2.push({path:r2+"/colId",detail:"colId must be a non-empty string"}):i2.has(t3.colId)?e2.push({path:r2+"/colId",detail:`duplicate colId "${t3.colId}"`}):i2.add(t3.colId),null!==t3.width&&("number"!=typeof t3.width||!Number.isFinite(t3.width)||t3.width<0)&&e2.push({path:r2+"/width",detail:"width must be null or a non-negative finite number"}),Fs(t3.order)||e2.push({path:r2+"/order",detail:"order must be null or a non-negative integer"}),"boolean"!=typeof t3.hidden&&e2.push({path:r2+"/hidden",detail:"hidden must be a boolean"}),null!==t3.pinned&&"left"!==t3.pinned&&"right"!==t3.pinned&&e2.push({path:r2+"/pinned",detail:'pinned must be null, "left", or "right"'}),null!==t3.sort&&(!Ms(t3.sort)||"asc"!==t3.sort.direction&&"desc"!==t3.sort.direction||!Number.isInteger(t3.sort.index)||t3.sort.index<0)&&e2.push({path:r2+"/sort",detail:"sort must be null or { direction: asc|desc, index: >=0 }"}),(t4=>null===t4||"string"==typeof t4)(t3.aggFunc)||e2.push({path:r2+"/aggFunc",detail:"aggFunc must be null or a string"});for(const i3 of["rowGroupIndex","pivotRowGroupIndex","pivotIndex","valueIndex"])Fs(t3[i3])||e2.push({path:`${r2}/${i3}`,detail:i3+" must be null or a non-negative integer"})}else e2.push({path:r2,detail:"entry must be an object"})}))}else e2.push({path:"$/entries",detail:"entries must be an array"});return Array.isArray(t2.collapsedGroupIds)&&!t2.collapsedGroupIds.some((t3=>"string"!=typeof t3||0===t3.length))||e2.push({path:"$/collapsedGroupIds",detail:"collapsedGroupIds must be an array of non-empty strings"}),"boolean"!=typeof t2.pivotMode&&e2.push({path:"$/pivotMode",detail:"pivotMode must be a boolean"}),e2},filter:$s,rowGrouping:function(t2){if(!zs(t2))return[{path:"$",detail:"rowGrouping slice must be an object"}];const e2=[];return Gs(t2.collapsedGroupRoutes,"$/collapsedGroupRoutes",e2),e2},pivot:function(t2){if(!zs(t2))return[{path:"$",detail:"pivot slice must be an object"}];const e2=[];return Gs(t2.collapsedGroupRoutes,"$/collapsedGroupRoutes",e2),e2},expansion:function(t2){if(!zs(t2))return[{path:"$",detail:"expansion slice must be an object"}];const e2=[];return Gs(t2.collapsedTreeNodePaths,"$/collapsedTreeNodePaths",e2),Ls(t2.expandedDetailRowIds,"$/expandedDetailRowIds",e2),e2},selection:function(t2){if(!zs(t2))return[{path:"$",detail:"selection slice must be an object"}];const e2=[];return zs(t2.rows)?("none"!==t2.rows.mode&&"single"!==t2.rows.mode&&"multi"!==t2.rows.mode&&e2.push({path:"$/rows/mode",detail:"mode must be none, single, or multi"}),Ls(t2.rows.ids,"$/rows/ids",e2)):e2.push({path:"$/rows",detail:"rows must be an object"}),Array.isArray(t2.ranges)?t2.ranges.forEach(((t3,i2)=>{zs(t3)&&!["anchorRow","anchorCol","focusRow","focusCol"].some((e3=>"number"!=typeof t3[e3]||!Number.isInteger(t3[e3])||t3[e3]<0))||e2.push({path:"$/ranges/"+i2,detail:"range must carry non-negative integer anchor/focus row and column indices"})})):e2.push({path:"$/ranges",detail:"ranges must be an array"}),e2},focus:function(t2){return Hs(t2)?null===t2.activeCell||Hs(t2.activeCell)&&Ws(t2.activeCell.rowIndex)&&Ws(t2.activeCell.colIndex)?[]:[{path:"$/activeCell",detail:"activeCell must be null or non-negative integer indices"}]:[{path:"$",detail:"focus slice must be an object"}]},scroll:function(t2){if(!Hs(t2))return[{path:"$",detail:"scroll slice must be an object"}];const e2=[];return qs(t2.top)||e2.push({path:"$/top",detail:"top must be a non-negative number"}),qs(t2.left)||e2.push({path:"$/left",detail:"left must be a non-negative number"}),e2},pagination:function(t2){if(!Hs(t2))return[{path:"$",detail:"pagination slice must be an object"}];const e2=[];return Ws(t2.pageIndex)||e2.push({path:"$/pageIndex",detail:"pageIndex must be a non-negative integer"}),Ws(t2.pageSize)&&0!==t2.pageSize||e2.push({path:"$/pageSize",detail:"pageSize must be a positive integer"}),e2},pinnedRows:Ks,sideBar:function(t2){return Hs(t2)?null!==t2.openPanelId&&"columns"!==t2.openPanelId&&"filters"!==t2.openPanelId?[{path:"$/openPanelId",detail:'openPanelId must be null, "columns", or "filters"'}]:[]:[{path:"$",detail:"sideBar slice must be an object"}]},find:function(t2){if(null===t2||"object"!=typeof t2||Array.isArray(t2))return[{path:"$",detail:"find slice must be an object"}];const e2=[],i2=t2;return"string"!=typeof i2.query&&e2.push({path:"$/query",detail:"query must be a string"}),"boolean"!=typeof i2.caseSensitive&&e2.push({path:"$/caseSensitive",detail:"caseSensitive must be a boolean"}),"visible"!==i2.scope&&"all"!==i2.scope&&e2.push({path:"$/scope",detail:'scope must be "visible" or "all"'}),void 0!==i2.displayValues&&"boolean"!=typeof i2.displayValues&&e2.push({path:"$/displayValues",detail:"displayValues must be a boolean"}),e2}},Qs={rowGrouping:{collapsedGroupRoutes:[]},pivot:{collapsedGroupRoutes:[]},expansion:{collapsedTreeNodePaths:[],expandedDetailRowIds:[]},selection:{rows:{mode:"none",ids:[]},ranges:[]}},Xs={focus:{activeCell:null},scroll:{top:0,left:0},pagination:{pageIndex:0,pageSize:25},sideBar:{openPanelId:null},pinnedRows:{topRowIds:[],bottomRowIds:[]}};function Zs(t2,e2,i2={}){const n2=Ss(t2,{unknownSlices:"report-and-ignore"}),r2=[...n2.issues];if(!n2.ok||null===n2.state)return{ok:false,issues:r2,requestedAbsentSlices:[],unrestorableSlices:[],appliedSlices:[],columns:null,filter:null,rows:null,ui:null};const s2=n2.state,o2=ys.filter((t3=>t3 in s2.slices)),l2=void 0===i2.slices?o2:ys.filter((t3=>i2.slices?.includes(t3))),a2=l2.filter((t3=>!o2.includes(t3))),d2=new Set(l2.filter((t3=>o2.includes(t3)))),u2=[];d2.has("find")&&true!==e2.findAvailable&&(d2.delete("find"),u2.push("find"));for(const t3 of d2)for(const e3 of Js[t3](s2.slices[t3]))r2.push({code:"non-serializable",path:`$/slices/${t3}${e3.path.slice(1)}`,detail:e3.detail});const c2=r2.some((t3=>"unknown-slice"!==t3.code));if(c2)return{ok:false,issues:r2,requestedAbsentSlices:a2,unrestorableSlices:u2,appliedSlices:[],columns:null,filter:null,rows:null,ui:null};const h2=d2.has("columns")?(function(t3,e3,i3={}){const n3=new Set(e3),r3=new Set,s3=[],o3=[];for(const e4 of t3.entries)r3.has(e4.colId)||(r3.add(e4.colId),n3.has(e4.colId)?s3.push(e4):o3.push(e4.colId));const l3=e3.filter((t4=>!r3.has(t4))),a3=s3.map((t4=>({field:t4.colId,width:t4.width,order:t4.order,hidden:t4.hidden,sortDirection:t4.sort?.direction??null,isSorted:null!==t4.sort,sortIndex:t4.sort?.index??null,pinned:t4.pinned}))),d3=new Map;for(const t4 of s3)d3.set(t4.colId,t4.aggFunc);const u3=gs(a3,{applyOrder:i3.applyOrder??true});return{columnState:s3.length>0&&s3.every((t4=>null===t4.order))?{...u3,order:null}:u3,aggFuncs:d3,rowGroupFields:Rs(s3,(t4=>t4.rowGroupIndex)),pivotRowGroupFields:Rs(s3,(t4=>t4.pivotRowGroupIndex)),pivotMode:t3.pivotMode,pivotFields:Rs(s3,(t4=>t4.pivotIndex)),valueFields:Rs(s3,(t4=>t4.valueIndex)),collapsedGroupIds:[...t3.collapsedGroupIds].sort(),report:{missingColumns:o3,newColumns:l3}}})(s2.slices.columns,e2.liveFields,{applyOrder:i2.applyOrder??true}):null,f2=d2.has("filter")?Ps(s2.slices.filter,e2.filter):null,g2=["rowGrouping","pivot","expansion","selection"].filter((t3=>d2.has(t3))).length>0?(function(t3,e3){const i3=Os(t3.expansion.expandedDetailRowIds,e3.liveRowIds),n3=Os(t3.selection.rows.ids,e3.liveRowIds),r3=((t4,e4)=>{if(null===e4)return{applied:[...t4],missing:[],unverified:[...t4]};const i4=[],n4=[];for(const r4 of t4)(e4.has(r4)?i4:n4).push(r4);return{applied:i4,missing:n4,unverified:[]}})(t3.expansion.collapsedTreeNodePaths,e3.liveTreeNodePaths),s3=[],o3=[];for(const i4 of t3.selection.ranges)Bs(i4,e3.rowCount,e3.columnCount)?s3.push({...i4}):o3.push({...i4});return{collapsedGroupRoutes:[...t3.rowGrouping.collapsedGroupRoutes],pivotCollapsedGroupRoutes:[...t3.pivot.collapsedGroupRoutes],collapsedTreeNodePaths:r3.applied,expandedDetailRowIds:i3.applied,selection:{mode:t3.selection.rows.mode,ids:n3.applied},ranges:s3,report:{missingDetailRowIds:i3.missing,unverifiedDetailRowIds:i3.unverified,missingSelectedRowIds:n3.missing,unverifiedSelectedRowIds:n3.unverified,missingTreeNodePaths:r3.missing,unverifiedTreeNodePaths:r3.unverified,deferredPivotRoutes:e3.pivotModeActive?[]:[...t3.pivot.collapsedGroupRoutes],droppedRanges:o3}}})({rowGrouping:d2.has("rowGrouping")?s2.slices.rowGrouping:Qs.rowGrouping,pivot:d2.has("pivot")?s2.slices.pivot:Qs.pivot,expansion:d2.has("expansion")?s2.slices.expansion:Qs.expansion,selection:d2.has("selection")?s2.slices.selection:Qs.selection},e2.rows):null,p2=["focus","scroll","pagination","pinnedRows","sideBar"].filter((t3=>d2.has(t3))).length>0?(function(t3,e3){const i3=[];let n3=t3.focus;null!==n3.activeCell&&(n3.activeCell.rowIndex>=e3.rowCount||n3.activeCell.colIndex>=e3.columnCount)&&(i3.push({slice:"focus",path:"$/focus/activeCell",reason:`active cell (${n3.activeCell.rowIndex}, ${n3.activeCell.colIndex}) is outside the ${e3.rowCount}x${e3.columnCount} display`}),n3={activeCell:null});const r3=t3.pinnedRows.topRowIds.length>0||t3.pinnedRows.bottomRowIds.length>0;return!e3.pinnedRowsSupported&&r3&&i3.push({slice:"pinnedRows",path:"$/pinnedRows",reason:"pinned top/bottom rows are not supported by this build (Phase F Day 65 feature)"}),{immediate:{sideBar:t3.sideBar,pagination:t3.pagination},afterData:{scroll:t3.scroll,focus:n3,pinnedRows:e3.pinnedRowsSupported&&r3?t3.pinnedRows:null},unavailable:i3}})({focus:d2.has("focus")?s2.slices.focus:Xs.focus,scroll:d2.has("scroll")?s2.slices.scroll:Xs.scroll,pagination:d2.has("pagination")?s2.slices.pagination:Xs.pagination,sideBar:d2.has("sideBar")?s2.slices.sideBar:Xs.sideBar,pinnedRows:d2.has("pinnedRows")?s2.slices.pinnedRows:Xs.pinnedRows},e2.ui):null;return{ok:true,issues:r2,requestedAbsentSlices:a2,unrestorableSlices:u2,appliedSlices:[...d2].sort(),...d2.has("find")?{find:s2.slices.find}:{},columns:h2,filter:f2,rows:g2,ui:p2}}function to(t2,e2){return{ok:t2.ok,issues:t2.issues,appliedSlices:t2.appliedSlices,requestedAbsentSlices:t2.requestedAbsentSlices,unrestorableSlices:t2.unrestorableSlices,columns:t2.columns?.report??null,filter:t2.filter?.report??null,rows:t2.rows?.report??null,uiUnavailable:t2.ui?.unavailable??[],afterDataPending:e2,appliedMigrations:[],droppedSlices:[]}}const eo=t2=>null!==t2&&"object"==typeof t2&&!Array.isArray(t2),io=(t2,e2)=>{const[i2,n2,r2]=e2.split(".").map(Number);return t2.major!==i2?t2.major<i2:t2.minor!==n2?t2.minor<n2:t2.patch<r2},no=Object.freeze([{id:"v0.8-flat-bags-to-v0.9-slices",untilVersion:"0.9.0",migrate(t2,e2){const i2=eo(t2.slices)?{...t2.slices}:{};return"columnState"in i2&&(i2.columns=i2.columnState,delete i2.columnState),"filterState"in i2&&(i2.filter=i2.filterState,delete i2.filterState),"panels"in i2&&(e2.dropSlice("panels","the 0.8 panels bag has no modern equivalent"),delete i2.panels),{...t2,version:"sy-grid-state/0.9.0",slices:i2}}},{id:"v0.9-to-v1.0-envelope",untilVersion:"1.0.0",migrate:t2=>({...t2,version:ps})}]);function ro(t2,e2=no){const i2=(t3,e3=[],i3=[])=>({ok:false,state:null,issues:t3,appliedMigrations:e3,droppedSlices:i3});if(!eo(t2))return i2([{code:"not-an-object",path:"$",detail:"grid state must be a plain object envelope"}]);const n2=xs(t2.version);if(!n2)return i2([{code:"malformed-version",path:"$/version",detail:`"${t2.version+""}" does not match sy-grid-state/<major>.<minor>.<patch>`}]);if("slices"in t2&&!eo(t2.slices))return i2([{code:"malformed-slices",path:"$/slices",detail:"slices must be a plain object keyed by slice name"}]);const r2=xs(ps);if(r2&&n2.major>r2.major)return i2([{code:"newer-major-version",path:"$/version",detail:`state major ${n2.major} is newer than runtime major ${r2.major}; refusing to migrate backwards`}]);const s2=[],o2=[],l2={dropSlice(t3,e3){o2.push({slice:t3,reason:e3})}};let a2={...t2};for(const t3 of e2){const e3=xs(a2.version);if(!e3||!io(e3,t3.untilVersion))continue;let n3;try{n3=t3.migrate(a2,l2)}catch(e4){return i2([{code:"non-serializable",path:"$",detail:`migration ${t3.id} threw: ${e4 instanceof Error?e4.message:e4+""}`}],s2,o2)}if(!eo(n3)||!xs(n3.version))return i2([{code:"malformed-version",path:"$/version",detail:`migration ${t3.id} produced an invalid envelope version`}],s2,o2);a2=n3,s2.push(t3.id)}const d2=Ss(a2,{unknownSlices:"report-and-ignore"});return d2.ok&&null!==d2.state?{ok:true,state:{version:ps,slices:d2.state.slices},issues:d2.issues,appliedMigrations:s2,droppedSlices:o2}:i2(d2.issues.map((t3=>({...t3,detail:s2.length>0?`${t3.detail} (after ${s2[s2.length-1]})`:t3.detail}))),s2,o2)}const so=Object.freeze({columnWidths:"columns",columnOrder:"columns",columnHidden:"columns",columnPinned:"columns",activeSortModel:"columns",collapsedGroups:"columns",columnDefs:"columns",groupBy:"columns",pivotMode:"columns",pivotRowGroupColumns:"columns",pivotColumns:"columns",pivotValueColumns:"columns",activeFilters:"filter",quickFilterValue:"filter",activeConditionTree:"filter",lifecycleFilterVersion:"filter",collapsedRowGroups:"rowGrouping",pivotCollapsedRowGroups:"pivot",collapsedTreeNodes:"expansion",expandedDetailRows:"expansion",selectionState:"selection",rangeState:"selection",activeCell:"focus",hScrollLeft:"scroll",scrollTop:"scroll",activePagination:"pagination",openToolPanelId:"sideBar"}),oo="[SG:PIVOT] viewport/infinite; server wins";function lo(t2,e2){return e2===t2.value?t2:{value:e2,composing:t2.composing,selectionStart:t2.selectionStart,selectionEnd:t2.selectionEnd}}function ao(t2,e2,i2){return t2.selectionStart===e2&&t2.selectionEnd===i2?t2:{value:t2.value,composing:t2.composing,selectionStart:e2,selectionEnd:i2}}function uo(t2,e2){const i2=t2.trim();if(""===i2)return true===e2?.nullable||true===e2?.allowEmpty?{value:null,violation:null}:{value:null,violation:"min"};if(!/^-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$/.test(i2))return{value:null,violation:"min"};let n2;if(/^-?\d+$/.test(i2)){const t3=BigInt(i2);n2=t3>=-2147483648n&&t3<=2147483647n?Number(t3):t3}else{const t3=Number(i2);if(!Number.isFinite(t3))return{value:null,violation:"min"};n2=Number.isInteger(t3)&&(t3>2147483647||t3<-2147483648)?BigInt(t3):t3}if(void 0!==e2?.min&&n2<e2.min)return{value:n2,violation:"min"};if(void 0!==e2?.max&&n2>e2.max)return{value:n2,violation:"max"};if(void 0!==e2?.step&&e2.step>0){const t3=e2.min??0;if("bigint"==typeof n2)if(Number.isInteger(t3)&&Number.isInteger(e2.step)){if(0n!==(n2-BigInt(t3))%BigInt(e2.step))return{value:n2,violation:"step"}}else{const i3=(Number(n2)-t3)/e2.step;if(Math.abs(i3-Math.round(i3))>1e-9)return{value:n2,violation:"step"}}else{const i3=(n2-t3)/e2.step;if(Math.abs(i3-Math.round(i3))>1e-9)return{value:n2,violation:"step"}}}return{value:n2,violation:null}}const co="sy-grid__cell-editor sy-grid__cell-editor--number";function ho(t2,e2){try{return t2[e2]??null}catch{return null}}const fo=/^(\d{4})-(\d{2})-(\d{2})$/;function go(t2){if(void 0===t2)return null;if(t2 instanceof Date)return Number.isNaN(t2.getTime())?null:new Date(Date.UTC(t2.getUTCFullYear(),t2.getUTCMonth(),t2.getUTCDate()));if("string"==typeof t2){const e2=fo.exec(t2.trim());if(null===e2)return null;const i2=Number(e2[1]),n2=Number(e2[2]),r2=Number(e2[3]);if(n2<1||n2>12)return null;if(r2<1||r2>31)return null;const s2=new Date(Date.UTC(i2,n2-1,r2));return Number.isNaN(s2.getTime())||s2.getUTCFullYear()!==i2||s2.getUTCMonth()!==n2-1||s2.getUTCDate()!==r2?null:s2}return null}function po(t2,e2){const i2=t2.trim();if(""===i2)return true===e2?.nullable||true===e2?.allowEmpty?{value:null,violation:null}:{value:null,violation:"invalid"};const n2=fo.exec(i2);if(null===n2)return{value:null,violation:"invalid"};const r2=Number(n2[1]),s2=Number(n2[2]),o2=Number(n2[3]);if(s2<1||s2>12)return{value:null,violation:"invalid"};if(o2<1||o2>31)return{value:null,violation:"invalid"};const l2=new Date(Date.UTC(r2,s2-1,o2));if(Number.isNaN(l2.getTime()))return{value:null,violation:"invalid"};if(l2.getUTCFullYear()!==r2||l2.getUTCMonth()!==s2-1||l2.getUTCDate()!==o2)return{value:null,violation:"invalid"};const a2=go(e2?.min);if(null!==a2&&l2.getTime()<a2.getTime())return{value:l2,violation:"min"};const d2=go(e2?.max);return null!==d2&&l2.getTime()>d2.getTime()?{value:l2,violation:"max"}:{value:l2,violation:null}}function yo(t2,e2,i2){if(e2===t2.rawText)return t2;const{value:n2,violation:r2}=po(e2,i2);return{rawText:e2,parsedDate:n2,composing:t2.composing,selectionStart:t2.selectionStart,selectionEnd:t2.selectionEnd,constraintViolation:r2}}function bo(t2){if(void 0!==t2){if(t2 instanceof Date){if(Number.isNaN(t2.getTime()))return;return`${(t2.getUTCFullYear()+"").padStart(4,"0")}-${(t2.getUTCMonth()+1+"").padStart(2,"0")}-${(t2.getUTCDate()+"").padStart(2,"0")}`}if("string"==typeof t2){const e2=t2.trim(),i2=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e2);if(null!==i2){const t3=Number(i2[1]),n2=Number(i2[2]),r2=Number(i2[3]);if(n2<1||n2>12||r2<1||r2>31)return;const s2=new Date(Date.UTC(t3,n2-1,r2));if(s2.getUTCFullYear()===t3&&s2.getUTCMonth()===n2-1&&s2.getUTCDate()===r2)return e2}}}}const mo="sy-grid__cell-editor sy-grid__cell-editor--date";function wo(t2,e2,i2){return new Date(Date.UTC(t2,e2,i2))}function vo(t2){return`${(t2.getUTCFullYear()+"").padStart(4,"0")}-${(t2.getUTCMonth()+1+"").padStart(2,"0")}-${(t2.getUTCDate()+"").padStart(2,"0")}`}function xo(t2){if("string"!=typeof t2)return null;const e2=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t2.trim());if(null===e2)return null;const i2=Number(e2[1]),n2=Number(e2[2]),r2=Number(e2[3]);if(n2<1||n2>12||r2<1||r2>31)return null;const s2=wo(i2,n2-1,r2);return s2.getUTCMonth()!==n2-1||s2.getUTCDate()!==r2?null:s2}function _o(t2){return t2 instanceof Date?Number.isNaN(t2.getTime())?null:wo(t2.getUTCFullYear(),t2.getUTCMonth(),t2.getUTCDate()):xo(t2??null)}function Co(t2,e2){return null!==t2&&null!==e2&&t2.getUTCFullYear()===e2.getUTCFullYear()&&t2.getUTCMonth()===e2.getUTCMonth()&&t2.getUTCDate()===e2.getUTCDate()}function ko(t2,e2){const i2=12*t2.getUTCFullYear()+t2.getUTCMonth()+e2,n2=Math.floor(i2/12),r2=(i2%12+12)%12,s2=new Date(Date.UTC(n2,r2+1,0)).getUTCDate();return wo(n2,r2,Math.min(t2.getUTCDate(),s2))}function So(t2,e2,i2){const n2=xo(t2);return null===n2?t2:null!==e2&&n2.getTime()<e2.getTime()?vo(e2):null!==i2&&n2.getTime()>i2.getTime()?vo(i2):t2}const Io=["January","February","March","April","May","June","July","August","September","October","November","December"],Ro=["S","M","T","W","T","F","S"];function Mo(t2,e2){if(null==e2)return-1;for(let i2=0;i2<t2.length;i2++)if(t2[i2].value===e2)return i2;return-1}function Fo(t2,e2){if(!Number.isInteger(e2)||e2<0||e2>=t2.options.length)return console.warn(`[Syidax] sy-grid: select editor applyOptionPick called with invalid index ${e2+""}.`),t2;const i2=t2.options[e2];return true===i2.disabled?(console.warn(`[Syidax] sy-grid: select editor applyOptionPick rejected disabled option "${i2.value+""}".`),t2):{value:i2.value,options:t2.options,open:false,highlightedIndex:null}}function Do(t2,e2){const i2=t2.options.length;if(0===i2)return t2;let n2;n2=null===t2.highlightedIndex?1===e2?-1:i2:t2.highlightedIndex;for(let r2=0;r2<i2;r2++)if(n2=(n2+e2+i2)%i2,true!==t2.options[n2].disabled)return n2===t2.highlightedIndex?t2:{value:t2.value,options:t2.options,open:t2.open,highlightedIndex:n2};return t2}function Ao(t2,e2){const i2=void 0===e2?!t2.open:e2;if(i2===t2.open)return t2;let n2=t2.highlightedIndex;if(true===i2&&null===n2&&null!==t2.value){const e3=Mo(t2.options,t2.value);-1!==e3&&(n2=e3)}return{value:t2.value,options:t2.options,open:i2,highlightedIndex:n2}}function Eo(t2,e2){return`sy-grid-select-list-${t2}-${e2}`}function Po(t2,e2,i2){return`sy-grid-select-opt-${t2}-${e2}-${i2}`}function $o(t2){if(null!==t2.highlightedIndex){const e2=t2.options[t2.highlightedIndex];if(void 0!==e2)return e2.label}if(null!==t2.value){for(let e2=0;e2<t2.options.length;e2++)if(t2.options[e2].value===t2.value)return t2.options[e2].label}return""}const To="sy-grid__cell-editor sy-grid__cell-editor--checkbox";function jo(t2,e2,i2,n2){const r2=void 0===i2?t2.selectionStart:i2,s2=void 0===n2?t2.selectionEnd:n2;return e2===t2.value&&r2===t2.selectionStart&&s2===t2.selectionEnd?t2:{value:e2,composing:t2.composing,selectionStart:r2,selectionEnd:s2}}function No(t2){return t2.composing?t2:{value:t2.value,composing:true,selectionStart:t2.selectionStart,selectionEnd:t2.selectionEnd}}function Oo(t2,e2){return t2.composing||e2!==t2.value?{value:e2,composing:false,selectionStart:t2.selectionStart,selectionEnd:t2.selectionEnd}:t2}function Bo(t2){const{state:e2,rowIndex:i2,colIndex:n2,ariaLabel:r2,ariaDescribedBy:s2,rows:o2,onInput:l2,onCompositionStart:a2,onCompositionEnd:d2,onCommit:u2,onCancel:c2,onBlur:h2}=t2;return{value:e2.value,rows:"number"==typeof o2&&Number.isFinite(o2)&&o2>0?Math.floor(o2):3,class:"sy-grid__cell-editor sy-grid__cell-editor--textarea","data-row-index":i2,"data-col-index":n2,"aria-label":r2,"aria-multiline":"true","aria-describedby":s2,onInput:t3=>{const e3=t3.target;null!==e3&&l2("string"==typeof e3.value?e3.value:"",e3.selectionStart??null,e3.selectionEnd??null)},onCompositionStart:a2,onCompositionEnd:t3=>{const i3=t3.target;d2(null!==i3&&"string"==typeof i3.value?i3.value:e2.value)},onKeyDown:t3=>(function(t4,e3,i3){return!t4.composing&&("Tab"===e3||"Enter"===e3&&(i3.shiftKey||i3.ctrlKey||i3.metaKey))})(e2,t3.key,{shiftKey:true===t3.shiftKey,ctrlKey:true===t3.ctrlKey,metaKey:true===t3.metaKey})?(t3.stopPropagation(),t3.preventDefault(),void u2()):(function(t4,e3){return"Escape"===e3})(0,t3.key)?(t3.stopPropagation(),t3.preventDefault(),void c2()):void t3.stopPropagation(),onBlur:h2}}function zo(t2){return"number"==typeof t2&&Number.isInteger(t2)&&t2>0}function Go(t2,e2,i2){return t2<e2?e2:t2>i2?i2:t2}function Lo(t2){if("string"!=typeof t2)return 0;let e2=0;for(const i2 of t2)e2++;return e2}function Vo(t2,e2){const i2="string"==typeof t2?t2:"";if(null===e2)return{value:i2,clamped:false};const n2=Array.from(i2);return n2.length<=e2?{value:i2,clamped:false}:{value:n2.slice(0,e2).join(""),clamped:true}}function Ho(t2,e2){return null!==e2&&Lo(t2)>e2}const Wo="—";function qo(t2,e2,i2){if(!t2)return i2;const n2=t2[e2];return"string"==typeof n2&&n2.length>0?n2:i2}function Uo(t2,e2,i2){if(!t2)return i2;const n2=t2[e2];return"number"==typeof n2&&Number.isFinite(n2)?n2:i2}function Ko(t2,e2){if(!t2)return;const i2=t2[e2];return i2&&"object"==typeof i2?i2:void 0}function Yo(t2){if("number"==typeof t2)return Number.isFinite(t2)?t2:NaN;if("string"==typeof t2){const e2=t2.trim();if(""===e2)return NaN;const i2=Number(e2);return Number.isFinite(i2)?i2:NaN}if("bigint"==typeof t2){const e2=Number(t2);return Number.isFinite(e2)?e2:NaN}return NaN}function Jo(t2){if(Array.isArray(t2))return t2.map(Yo).filter((t3=>Number.isFinite(t3)));if("string"==typeof t2&&t2.trim().length>0){const e2=t2.trim();if(e2.startsWith("["))try{const t3=JSON.parse(e2);if(Array.isArray(t3))return t3.map(Yo).filter((t4=>Number.isFinite(t4)))}catch{}return e2.split(",").map((t3=>t3.trim())).filter((t3=>t3.length>0)).map(Yo).filter((t3=>Number.isFinite(t3)))}return[]}function Qo(t2){try{return t2+""}catch{return""}}function Xo(t2){if("number"==typeof t2&&Number.isFinite(t2))return t2;if("string"==typeof t2&&t2.trim().length>0){const e2=Number(t2);if(Number.isFinite(e2))return e2}return null}function Zo(t2){return t2.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function tl(t2){return Zo(t2)}function el(t2){return/^\s*(?:javascript|data|vbscript)\s*:/i.test(t2)}function il(t2){return"string"==typeof t2.formatted?{kind:"text",text:t2.formatted}:null==t2.value?{kind:"text",text:""}:{kind:"text",text:Qo(t2.value)}}function nl(t2){const e2=Xo(t2.value);if(null===e2)return{kind:"text",text:Wo};const i2=Ko(t2.meta,"numberFormat");try{return{kind:"text",text:new Intl.NumberFormat(void 0,i2).format(e2)}}catch{return{kind:"text",text:e2+""}}}function rl(t2){const e2=Xo(t2.value);if(null===e2)return{kind:"text",text:Wo};const i2=Ko(t2.meta,"numberFormat"),n2={style:"currency",currency:qo(t2.meta,"currency","USD"),...i2??{}};try{return{kind:"text",text:new Intl.NumberFormat(void 0,n2).format(e2)}}catch{return{kind:"text",text:e2+""}}}function sl(t2){const e2=Xo(t2.value);if(null===e2)return{kind:"text",text:Wo};const i2={style:"percent",...Ko(t2.meta,"numberFormat")??{}};try{return{kind:"text",text:new Intl.NumberFormat(void 0,i2).format(e2)}}catch{return{kind:"text",text:e2+""}}}function ol(t2){const e2=(function(t3){if(t3 instanceof Date)return Number.isFinite(t3.getTime())?t3:null;if("string"==typeof t3&&t3.length>0){const e3=new Date(t3);if(Number.isFinite(e3.getTime()))return e3}if("number"==typeof t3&&Number.isFinite(t3)){const e3=new Date(t3);if(Number.isFinite(e3.getTime()))return e3}return null})(t2.value);if(null===e2)return{kind:"text",text:Wo};const i2=(function(t3){if(!t3)return;const e3=t3.dateFormat;return e3&&"object"==typeof e3?e3:void 0})(t2.meta);try{return{kind:"text",text:new Intl.DateTimeFormat(void 0,i2).format(e2)}}catch{return{kind:"text",text:e2.toISOString()}}}function ll(t2){const e2=t2.value;return true===e2?{kind:"text",text:qo(t2.meta,"trueLabel","✓")}:false===e2?{kind:"text",text:qo(t2.meta,"falseLabel","")}:{kind:"text",text:Wo}}function al(t2){const e2=qo(t2.meta,"hrefField","");if(0===e2.length)return il(t2);const i2=t2.row;if(!i2||"object"!=typeof i2)return il(t2);const n2=i2[e2];if("string"!=typeof n2||0===n2.length)return il(t2);if(el(n2))return il(t2);const r2="string"==typeof t2.formatted?t2.formatted:null==t2.value?"":Qo(t2.value),s2=r2.length>0?r2:n2;return{kind:"html",html:`<a href="${tl(n2)}">${Zo(s2)}</a>`}}function dl(t2){const e2=Xo(t2.value);if(null===e2)return{kind:"text",text:Wo};const i2=Uo(t2.meta,"min",0),n2=Uo(t2.meta,"max",100),r2=n2-i2,s2=0===r2?e2>=n2?100:0:(function(t3){return t3<0?0:t3>100?100:t3})((e2-i2)/r2*100),o2=Math.round(10*s2)/10,l2=false!==t2.meta?.showLabel,a2="string"==typeof t2.formatted&&t2.formatted.length>0?t2.formatted:Math.round(s2)+"%",d2=qo(t2.meta,"barClass",""),u2=d2.length>0?"sy-grid__cell-progress-fill "+tl(d2):"sy-grid__cell-progress-fill",c2=`width:${o2}%;height:100%;border-radius:4px;background:var(--sy-grid-progress-fill,var(--sy-color-primary,#2563eb))`,h2=l2?`<span class="sy-grid__cell-progress-label" style="flex:0 0 auto;font-size:11px;color:var(--sy-grid-text-muted,#6b7280);font-variant-numeric:tabular-nums">${Zo(a2)}</span>`:"";return{kind:"html",html:`<div class="sy-grid__cell-progress" style="display:flex;align-items:center;gap:6px;width:100%;min-width:0" role="progressbar" aria-valuenow="${tl(e2+"")}" aria-valuemin="${tl(i2+"")}" aria-valuemax="${tl(n2+"")}"><div class="sy-grid__cell-progress-track" style="position:relative;flex:1 1 auto;min-width:0;height:8px;border-radius:4px;overflow:hidden;background:var(--sy-grid-progress-track,rgba(15,23,42,0.1))"><div class="${u2}" style="${c2}"></div></div>`+h2+"</div>"}}const ul=["line","area","column","pie","stock"];function cl(t2){const e2=Jo(t2.value);if(0===e2.length)return{kind:"text",text:Wo};const i2=qo(t2.meta,"type","line"),n2=ul.includes(i2)?i2:"line",r2=Uo(t2.meta,"width",100),s2=Uo(t2.meta,"height",28),o2=qo(t2.meta,"color",""),l2=true===t2.meta?.showValue;return{kind:"html",html:`<sy-sparkline-chart ${[`values="${tl(e2.join(","))}"`,`type="${tl(n2)}"`,`width="${r2}"`,`height="${s2}"`,o2.length>0?`color="${tl(o2)}"`:"",l2?"show-value":""].filter((t3=>t3.length>0)).join(" ")}></sy-sparkline-chart>`}}function hl(t2){const e2=Jo(t2.value);if(0===e2.length)return{kind:"text",text:Wo};const i2="bar"===qo(t2.meta,"type","line")?"bar":"line",n2=Uo(t2.meta,"width",100),r2=Uo(t2.meta,"height",28),s2=tl(qo(t2.meta,"color","#2563eb")),o2=Math.max(1,n2-4),l2=Math.max(1,r2-4),a2=Math.min(...e2),d2=Math.max(...e2),u2=d2===a2,c2=t3=>u2?.5:(t3-a2)/(d2-a2),h2=t3=>2+l2-c2(t3)*l2;let f2;if("bar"===i2){const t3=o2/e2.length,i3=Math.max(1,.7*t3);f2=e2.map(((e3,n3)=>{const r3=Math.max(1.5,c2(e3)*l2),o3=2+l2-r3;return`<rect x="${(2+n3*t3+(t3-i3)/2).toFixed(1)}" y="${o3.toFixed(1)}" width="${i3.toFixed(1)}" height="${r3.toFixed(1)}" fill="${s2}" rx="0.5"></rect>`})).join("")}else if(1===e2.length)f2=`<circle cx="${(2+o2/2).toFixed(1)}" cy="${h2(e2[0]).toFixed(1)}" r="1.75" fill="${s2}"></circle>`;else{const t3=t4=>2+t4/(e2.length-1)*o2;f2=`<polyline points="${e2.map(((e3,i3)=>`${t3(i3).toFixed(1)},${h2(e3).toFixed(1)}`)).join(" ")}" fill="none" stroke="${s2}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></polyline>`}return{kind:"html",html:`<svg class="sy-grid__cell-minichart" width="${n2}" height="${r2}" viewBox="0 0 ${n2} ${r2}" role="img" aria-label="${tl("chart: "+e2.join(", "))}">${f2}</svg>`}}function fl(t2){const e2=t2.value,i2="string"==typeof e2?e2.trim():"";if(0===i2.length||(function(t3){const e3=t3.replace(/^\s+/,"");return!!/^(?:javascript|vbscript)\s*:/i.test(e3)||!!/^data\s*:/i.test(e3)&&!/^data\s*:\s*image\//i.test(e3)})(i2))return il(t2);const n2=qo(t2.meta,"altField",""),r2=n2.length>0&&t2.row&&"object"==typeof t2.row?t2.row[n2]:"",s2=tl("string"==typeof r2?r2:""),o2=Uo(t2.meta,"width",0),l2=Uo(t2.meta,"height",0),a2=`${o2>0?` width="${o2}"`:""}${l2>0?` height="${l2}"`:""}`,d2=true===t2.meta?.rounded?"max-width:100%;max-height:100%;object-fit:cover;vertical-align:middle;border-radius:9999px":"max-width:100%;max-height:100%;object-fit:contain;vertical-align:middle";return{kind:"html",html:`<img src="${tl(i2)}" alt="${s2}"${a2} loading="lazy" style="${d2}">`}}function gl(t2){const e2=t2.value,i2=t2.meta?.map,n2=null==e2?"":Qo(e2);let r2=n2;if(i2&&"object"==typeof i2&&n2.length>0){const t3=i2[n2];"string"==typeof t3&&(r2=t3)}if(0===r2.length)return{kind:"text",text:Wo};const s2=qo(t2.meta,"title",""),o2=s2.length>0?` title="${tl(s2)}" aria-label="${tl(s2)}"`:"";if(/^(https?:)?\/\//i.test(r2)&&!el(r2)){const e3=Uo(t2.meta,"size",16);return{kind:"html",html:`<img src="${tl(r2)}" alt="${tl(s2)}" width="${e3}" height="${e3}" loading="lazy" style="vertical-align:middle">`}}const l2=qo(t2.meta,"color",""),a2=Uo(t2.meta,"size",0);return{kind:"html",html:`<span class="sy-grid__cell-icon"${o2} style="${l2.length>0?`color:${tl(l2)};`:""}${a2>0?`font-size:${a2}px;`:""}line-height:1">${Zo(r2)}</span>`}}const pl=["text","number","currency","percent","date","boolean","link","progressBar","sparkline","miniChart","image","icon"];function yl(t2){if("string"!=typeof t2)return false;const e2=t2.trimStart();return e2.length>1&&"="===e2[0]}const bl="[Syidax] sy-grid:";function ml(t2){return" "===t2||" "===t2||"\n"===t2||"\r"===t2||"\f"===t2||"\v"===t2}function wl(t2,e2){if("function"==typeof t2)try{return!!t2(e2)}catch(t3){return F("RULE-FN",e2.colId,e2.node.rowIndex,void 0,t3),false}if("string"==typeof t2){let i2;try{i2=(function(t3){return V(t3,true)})(t2)}catch(t3){return F("RULE-PARSE",e2.colId,e2.node.rowIndex,t3 instanceof Error?t3.message:t3+""),false}const n2=t3=>{if("value"===t3)return e2.value;const i3=e2.data;return null!=i3&&"object"==typeof i3?i3[t3]:void 0};try{return!!H(i2.ast,n2)}catch(t3){return F("RULE-EVAL",e2.colId,e2.node.rowIndex,void 0,t3),false}}return F("RULE-TYPE",e2.colId,e2.node.rowIndex),false}function vl(t2){if("string"!=typeof t2)return false;if(0===t2.length)return false;for(let e2=0;e2<t2.length;e2++)if(ml(t2[e2]))return false;return true}function xl(t2){const e2=[];let i2="";for(let n2=0;n2<t2.length;n2++){const r2=t2[n2];ml(r2)?i2.length>0&&(e2.push(i2),i2=""):i2+=r2}return i2.length>0&&e2.push(i2),e2}function _l(t2){if(null==t2||"object"!=typeof t2)return console.warn(bl+" applyCellClassRules called with non-object input."),"";const e2={value:t2.value,data:t2.row,node:{rowIndex:t2.rowIndex},colId:t2.colId,formatted:t2.formatted,colDef:t2.colDef,context:t2.context,api:t2.api},i2=new Set,n2=[],r2=new Set,s2=t2.cellClass;if(null!=s2)if("function"==typeof s2){let o3;try{o3=s2(e2)}catch(e3){r2.has("__cellClass_fn")||(r2.add("__cellClass_fn"),console.warn(`${bl} cellClass function threw on column "${t2.colId}":`,e3)),o3=""}if("string"==typeof o3&&o3.length>0){const e3=xl(o3);for(let s3=0;s3<e3.length;s3++)Cl(e3[s3],i2,n2,r2,t2.colId)}else""!==o3&&"string"!=typeof o3&&(r2.has("__cellClass_fn_shape")||(r2.add("__cellClass_fn_shape"),console.warn(`${bl} cellClass function on column "${t2.colId}" returned non-string; ignoring.`)))}else if("string"==typeof s2){const e3=xl(s2);for(let s3=0;s3<e3.length;s3++)Cl(e3[s3],i2,n2,r2,t2.colId)}else if(Array.isArray(s2))for(let e3=0;e3<s2.length;e3++){const o3=s2[e3];"string"==typeof o3?Cl(o3,i2,n2,r2,t2.colId):r2.has("__cellClass_array_shape")||(r2.add("__cellClass_array_shape"),console.warn(`${bl} cellClass array on column "${t2.colId}" contains non-string; ignoring.`))}else r2.has("__cellClass_shape")||(r2.add("__cellClass_shape"),console.warn(`${bl} cellClass on column "${t2.colId}" must be string | string[] | function; ignoring.`));const o2=t2.cellClassRules;if(null!=o2&&"object"==typeof o2){const s3=Object.keys(o2);for(let l2=0;l2<s3.length;l2++){const a2=s3[l2];if(!vl(a2)){const e3="name:"+a2;r2.has(e3)||(r2.add(e3),console.warn(`${bl} cellClassRules class name on column "${t2.colId}" is empty / contains whitespace; skipping.`));continue}const d2=o2[a2];if(null!=d2)wl(d2,e2)&&(i2.has(a2)||(i2.add(a2),n2.push(a2)));else{const e3="null:"+a2;r2.has(e3)||(r2.add(e3),console.warn(`${bl} cellClassRules rule for "${a2}" on column "${t2.colId}" is null; skipping.`))}}}else null!=o2&&(r2.has("__rules_shape")||(r2.add("__rules_shape"),console.warn(`${bl} cellClassRules on column "${t2.colId}" must be an object; ignoring.`)));return n2.join(" ")}function Cl(t2,e2,i2,n2,r2){if(vl(t2))e2.has(t2)||(e2.add(t2),i2.push(t2));else{const e3="name:"+t2;n2.has(e3)||(n2.add(e3),console.warn(`${bl} cellClass entry on column "${r2}" is empty / contains whitespace; skipping ("${t2}").`))}}const kl="[Syidax] sy-grid:",Sl=/^[a-z][a-zA-Z0-9-]*$/,Il=/^-?[a-z][a-z0-9-]*$/;function Rl(t2){return"string"==typeof t2&&0!==t2.length&&(Sl.test(t2)||Il.test(t2))}function Ml(t2){return"string"==typeof t2?0===t2.length?null:t2:"number"==typeof t2&&Number.isFinite(t2)?t2+"":null}function Fl(t2,e2,i2,n2){const r2=Object.keys(t2);for(let s2=0;s2<r2.length;s2++){const o2=r2[s2];if(!Rl(o2)){const t3="key:"+o2;i2.has(t3)||(i2.add(t3),console.warn(`${kl} cellStyle key on column "${n2}" is not a valid CSS property name; skipping ("${o2}").`));continue}const l2=Ml(t2[o2]);if(null!==l2)e2[o2]=l2;else{const t3="value:"+o2;i2.has(t3)||(i2.add(t3),console.warn(`${kl} cellStyle value on column "${n2}" key "${o2}" is not a finite string / number; skipping.`))}}}function Dl(t2,e2,i2,n2,r2){let s2;try{s2=t2(e2)}catch(t3){return void(n2.has("__fn_throw")||(n2.add("__fn_throw"),console.warn(`${kl} cellStyle function on column "${r2}" threw:`,t3)))}null!=s2&&("object"!=typeof s2||Array.isArray(s2)?n2.has("__fn_shape")||(n2.add("__fn_shape"),console.warn(`${kl} cellStyle function on column "${r2}" must return an object / null / undefined; ignoring.`)):Fl(s2,i2,n2,r2))}function Al(t2,e2,i2,n2,r2){for(let s2=0;s2<t2.length;s2++){const o2=t2[s2];null!=o2&&("function"!=typeof o2?Array.isArray(o2)?Al(o2,e2,i2,n2,r2):"object"!=typeof o2?n2.has("__arr_entry:"+s2)||(n2.add("__arr_entry:"+s2),console.warn(`${kl} cellStyle array entry on column "${r2}" must be object / function / array; ignoring (index ${s2}).`)):Fl(o2,i2,n2,r2):Dl(o2,e2,i2,n2,r2))}}function El(t2){const e2={style:{},meta:{kind:"none",appliedKeys:0}};if(null==t2||"object"!=typeof t2)return console.warn(kl+" applyCellStyle called with non-object input."),e2;const i2=t2.cellStyle;if(null==i2)return e2;const n2="string"==typeof t2.colId?t2.colId:"",r2={value:t2.value,data:t2.row,node:{rowIndex:t2.rowIndex},colId:n2,formatted:t2.formatted,colDef:t2.colDef,context:t2.context,api:t2.api},s2={},o2=new Set;let l2="none";if("function"==typeof i2)l2="function",Dl(i2,r2,s2,o2,n2);else if(Array.isArray(i2))l2="array",Al(i2,r2,s2,o2,n2);else{if("object"!=typeof i2)return console.warn(`${kl} cellStyle on column "${n2}" must be object / function / array; ignoring.`),e2;l2="object",Fl(i2,s2,o2,n2)}return{style:s2,meta:{kind:l2,appliedKeys:Object.keys(s2).length}}}const Pl="server-side row model is not active",$l="server-side transactions require getRowId",Tl="the workbook surface is inactive (formulas off or no live binding)",jl=new WeakMap,Nl=new WeakMap,Ol="sy-grid-date-calendar",Bl="sy-grid-active-cell",zl="sy-grid-cell-tooltip";let Gl,Ll=0;function Vl(){return void 0===Gl&&(Gl=null),Gl}function Hl(t2){return void 0!==Vl()?.[t2]}function Wl(t2){return{unknownBuiltInColumns:[],invalidBuiltIn:t2.map((({path:t3,detail:e2})=>({path:t3,detail:e2}))),unavailableCustomFilters:[],conditionTreeError:null,externalFilterWasActive:false}}const ql=t(class extends e{constructor(t2){super(),false!==t2&&this.__registerHost(),this.queryComplete=i(this,"queryComplete",7),this.sortChanged=i(this,"sortChanged",7),this.filterChanged=i(this,"filterChanged",7),this.filterModified=i(this,"filterModified",7),this.conditionFilterChanged=i(this,"conditionFilterChanged",7),this.conditionPresetsChanged=i(this,"conditionPresetsChanged",7),this.columnGroupToggled=i(this,"columnGroupToggled",7),this.rowGroupToggled=i(this,"rowGroupToggled",7),this.treeNodeToggled=i(this,"treeNodeToggled",7),this.detailRowToggled=i(this,"detailRowToggled",7),this.detailRowCreated=i(this,"detailRowCreated",7),this.detailRowDestroyed=i(this,"detailRowDestroyed",7),this.rangeSelectionChanged=i(this,"rangeSelectionChanged",7),this.toolPanelToggled=i(this,"toolPanelToggled",7),this.csvImported=i(this,"csvImported",7),this.clipboardCopied=i(this,"clipboardCopied",7),this.clipboardPasted=i(this,"clipboardPasted",7),this.paginationChanged=i(this,"paginationChanged",7),this.quickFilterChanged=i(this,"quickFilterChanged",7),this.emptyStateActionClicked=i(this,"emptyStateActionClicked",7),this.activeCellChanged=i(this,"activeCellChanged",7),this.cellClicked=i(this,"cellClicked",7),this.cellDoubleClicked=i(this,"cellDoubleClicked",7),this.rowClicked=i(this,"rowClicked",7),this.cellEditingRequested=i(this,"cellEditingRequested",7),this.cellEditingCancelled=i(this,"cellEditingCancelled",7),this.cellEditingCommitted=i(this,"cellEditingCommitted",7),this.formulaEvaluated=i(this,"formulaEvaluated",7),this.formulaError=i(this,"formulaError",7),this.workbookBindingChanged=i(this,"workbookBindingChanged",7),this.workbookBindingError=i(this,"workbookBindingError",7),this.chunkLoading=i(this,"chunkLoading",7),this.chunkLoaded=i(this,"chunkLoaded",7),this.chunkLoadFailed=i(this,"chunkLoadFailed",7),this.componentError=i(this,"componentError",7),this.rowDataChanged=i(this,"rowDataChanged",7),this.cellValueChanged=i(this,"cellValueChanged",7),this.rowMoved=i(this,"rowMoved",7),this.rowGroupChanged=i(this,"rowGroupChanged",7),this.pivotPanelChanged=i(this,"pivotPanelChanged",7),this.pivotChanged=i(this,"pivotChanged",7),this.pivotModeChanged=i(this,"pivotModeChanged",7),this.contextMenuItemClicked=i(this,"contextMenuItemClicked",7),this.remoteEditApplied=i(this,"remoteEditApplied",7),this.presenceChanged=i(this,"presenceChanged",7),this.collabConflictResolved=i(this,"collabConflictResolved",7),this.collaboratorJoined=i(this,"collaboratorJoined",7),this.collaboratorLeft=i(this,"collaboratorLeft",7),this.syncStatusChanged=i(this,"syncStatusChanged",7),this.cellCommentsChanged=i(this,"cellCommentsChanged",7),this.commentMentioned=i(this,"commentMentioned",7),this.auditLogChanged=i(this,"auditLogChanged",7),this.conditionalFormatsChanged=i(this,"conditionalFormatsChanged",7),this.cellValidationFailed=i(this,"cellValidationFailed",7),this.snapshotCaptured=i(this,"snapshotCaptured",7),this.snapshotRestored=i(this,"snapshotRestored",7),this.xlsxImported=i(this,"xlsxImported",7),this.historyChanged=i(this,"historyChanged",7),this.columnResized=i(this,"columnResized",7),this.columnReordered=i(this,"columnReordered",7),this.columnVisibilityChanged=i(this,"columnVisibilityChanged",7),this.selectionChanged=i(this,"selectionChanged",7),this.rowHoverChanged=i(this,"rowHoverChanged",7),this.themeChanged=i(this,"themeChanged",7),this.localeChanged=i(this,"localeChanged",7),this.gridObjectChanged=i(this,"gridObjectChanged",7),this.stateUpdated=i(this,"stateUpdated",7),this.preDestroyed=i(this,"preDestroyed",7),this.batchEditStart=i(this,"batchEditStart",7),this.batchEditEnd=i(this,"batchEditEnd",7),this.rowValueChanged=i(this,"rowValueChanged",7),this.rowEditStart=i(this,"rowEditStart",7),this.rowEditStop=i(this,"rowEditStop",7),this.fillStart=i(this,"fillStart",7),this.fillEnd=i(this,"fillEnd",7),this.pivotCombinationConflict=i(this,"pivotCombinationConflict",7),this.pivotColumnsChanged=i(this,"pivotColumnsChanged",7),this.serverStoreUpdated=i(this,"serverStoreUpdated",7),this.rowDragEnter=i(this,"rowDragEnter",7),this.rowDragMove=i(this,"rowDragMove",7),this.rowDragLeave=i(this,"rowDragLeave",7),this.rowDragEnd=i(this,"rowDragEnd",7),this.rowDragCancel=i(this,"rowDragCancel",7),this.rowsTransferred=i(this,"rowsTransferred",7),this.spanConflict=i(this,"spanConflict",7),this.treeReparented=i(this,"treeReparented",7),this.pinnedRowsChanged=i(this,"pinnedRowsChanged",7),this.rowLayoutRefused=i(this,"rowLayoutRefused",7),this.workbookValuesPropagated=i(this,"workbookValuesPropagated",7),this.chartCreated=i(this,"chartCreated",7),this.chartRangeChanged=i(this,"chartRangeChanged",7),this.chartOptionsChanged=i(this,"chartOptionsChanged",7),this.chartDestroyed=i(this,"chartDestroyed",7)}get host(){return this}rowData;columnDefs;context;components;externalFilter;componentTimeoutMs=5e3;csvImport=false;pdfFontUrl;pdfAutoFont=true;formulas=false;showFormulas=false;formulaBar=false;workbookId;sheetName;defaultColDef;theme="alpine";height;locale="en";pagination=false;pageSize=25;pageSizeOptions=rn;rowHeight=32;rowHeightFn;virtualScroll=true;quickFilter=false;quickFilterText="";quickFilterPlaceholder;quickFilterMode="and";quickFilterRegex=false;quickFilterDebounce=150;showEmptyState=true;emptyMessage;noMatchesMessage;clearFiltersLabel;loading=false;loadingMessage;loadingMode="manual";minLoadingDuration=200;datasource;cacheBlockSize=100;maxBlocksInCache;serverSideDatasource;serverSideGroupCols;serverSideTransactionWaitMs;viewportDatasource;rowDragManaged=false;spanExportMode="origin-once";rowDragMultiRow=false;rowDragText;cellChangeFlash=false;enableCellChangeFlash=false;contextMenu=false;columnMenu=false;find=false;cellNotes=false;cellNotesAdapter;batchEditToolbar=false;columnMenuItems;contextMenuItemsCallback;keyboardNavigation=true;rowSelection="none";getRowId;selectionCheckbox=false;showSelectionCheckbox=false;shiftClickAdditive=false;rowHover="css-only";resizableColumns=false;reorderableColumns=false;columnHiding=false;hideableColumns=false;autoSizeOnDoubleClick=true;multiSort=false;enableMultiSort=false;headerFilterRow=false;conditionBuilder=false;virtualizeColumns;groupBy;pivotMode=false;pivotRowGroupColumns;pivotColumns;pivotValueColumns;pivotAggFuncs;pivotSubtotals="off";pivotGrandTotal="bottom";pivotPanelShow="never";pivotPanel=false;groupPanel=false;getDataPath;treeIdField;treeParentField;treeLabelField;masterDetail=false;detailRowHeight=160;detailCellRenderer;detailGridOptions;getDetailRowData;detailNestingLevel=0;rangeSelection=false;clipboardEscapeFormulae=true;statusBar;sideBar;rows=[];columns=[];maxRendered=200;engine="auto";proThreshold=1e5;unavailable="fallback";brandLogo;collaborationRoom;realtimeUrl;collabUserName;collabUserColor;collabPresence=true;collabConflictUi=true;auditLog=false;auditLogMax=1e3;canReadCell;maskedCellValue="•••";canEditCell;conditionalFormats;conditionalFormatUi=false;validationRules;invalidEditMode="allow";maxSnapshots=20;collabPersistence="none";queryComplete;sortChanged;filterChanged;filterModified;conditionFilterChanged;conditionPresetsChanged;columnGroupToggled;rowGroupToggled;treeNodeToggled;detailRowToggled;detailRowCreated;detailRowDestroyed;rangeSelectionChanged;toolPanelToggled;csvImported;clipboardCopied;clipboardPasted;paginationChanged;quickFilterChanged;emptyStateActionClicked;activeCellChanged;cellClicked;cellDoubleClicked;rowClicked;cellEditingRequested;cellEditingCancelled;cellEditingCommitted;formulaEvaluated;formulaError;workbookBindingChanged;workbookBindingError;chunkLoading;chunkLoaded;chunkLoadFailed;componentError;rowDataChanged;cellValueChanged;rowMoved;rowGroupChanged;pivotPanelChanged;pivotChanged;pivotModeChanged;contextMenuItemClicked;remoteEditApplied;presenceChanged;collabConflictResolved;collaboratorJoined;collaboratorLeft;syncStatusChanged;cellCommentsChanged;commentMentioned;auditLogChanged;conditionalFormatsChanged;cellValidationFailed;snapshotCaptured;snapshotRestored;xlsxImported;historyChanged;columnResized;columnReordered;columnVisibilityChanged;selectionChanged;rowHoverChanged;themeChanged;localeChanged;gridObjectChanged;stateUpdated;preDestroyed;liveObjectModel=null;liveObjectModelPromise=null;liveMutationDepth=0;warnedLiveDuplicateRowIds=false;warnedLiveInvalidRowIds=false;warnedLiveDuplicateColumnIds=false;warnedLiveDuplicateColumnGroupIds=false;liveRowHeights=new Map;liveRowSnapshotCache=null;activeTier="standard";fallbackReason;formulaSheet=null;formulaCore=null;formulaCoreLoading=null;formulaCoreArmed(){if(null!==this.formulaCore)return this.formulaCore;if(!this.proModuleAvailable("grid.formulas","formulas","formula-core"))return null;const t2=this.formulaCoreLoading;if(null!==t2&&t2===this.chunkLoader&&!t2.stats().disposed)return null;const e2=this.getChunkLoader();return this.formulaCoreLoading=e2,e2.load("formula-core").then((t3=>{this.formulaCoreLoading===e2&&(this.formulaCoreLoading=null),this.formulaCore=t3,true===this.formulas&&this.rebuildFormulaSheet();const i2=this.workbookBindingPendingReason;this.workbookBindingPendingReason=null,null===i2||this.hasDisconnected||false===this.host?.isConnected||this.syncWorkbookBinding(i2)}),(()=>{this.formulaCoreLoading===e2&&(this.formulaCoreLoading=null)})),null}workbookBindingHooks={onChange:t2=>{this.syncWorkbookBindingHostState(t2.binding),this.workbookBindingChanged.emit(t2)},onError:t2=>{this.host?.setAttribute?.("data-workbook-error",t2.code),this.workbookBindingError.emit(t2)},onValid:t2=>{this.syncWorkbookBindingHostState(t2),this.host?.removeAttribute?.("data-workbook-error"),this.syncWorkbookOps(false)}};workbookBindingControllerRef=null;workbookBindingPendingReason=null;workbookBindingController={current:()=>this.workbookBinding()?.current()??null,currentRegistration:()=>this.workbookBinding()?.currentRegistration()??null,disconnect:t2=>{const e2=this.workbookBinding();return null!==e2?e2.disconnect(t2):(this.workbookBindingHooks.onValid(null),false)},sync:t2=>{const e2=this.workbookBinding();return null!==e2?e2.sync(t2):!t2.enabled||null==t2.workbookId&&null==t2.sheetName?(this.workbookBindingHooks.onValid(null),null):(this.workbookBindingPendingReason??=t2.reason??"property-change",null)},reconnect:t2=>{const e2=this.workbookBinding();return null!==e2?e2.reconnect(t2):(this.workbookBindingHooks.onValid(null),null)}};workbookBinding(){const t2=this.formulaCore;return null===this.workbookBindingControllerRef&&null!==t2&&(this.workbookBindingControllerRef=new t2.WorkbookBindingController(this,this.workbookBindingHooks)),this.workbookBindingControllerRef}formulaVersion=0;resolvedMessages=lr("en");activeSortModel=[];get activeSort(){return this.activeSortModel.length>0?{field:this.activeSortModel[0].field,direction:this.activeSortModel[0].direction}:null}activeFilters={};activeConditionTree=null;builderDraft={type:"group",op:"and",children:[]};builderFocusKey=null;conditionPresets=[];presetNameDraft="";columnPinned=new Map;dropdownAnchor=null;bodyScrollbarWidth=0;hScrollLeft=0;collapsedGroups=new Set;collapsedRowGroups=new Set;pivotCollapsedRowGroups=new Set;customAggFuncs=new Map;warnedAggFuncs=new Set;warnedLargeTextSeed=new Set;collapsedTreeNodes=new Set;warnedTreeGroupConflict=false;warnedGroupDetailUnstable=false;expandedDetailRows=new Set;rangeState={ranges:[],dragging:null};contextMenuState=null;contextMenuEl=null;contextMenuFocused=false;contextMenuReturnFocus=null;cfBuilderOpen=false;cfDraftRules=[];flashingCells=new Set;flashTimers=new Map;rowDragState=null;rowDragCleanup=null;rowLayoutVersion=0;rowLayoutChunk=null;rowLayoutState=null;rowLayoutFrame=null;rowLayoutKickSeq=0;spanConflictSignature=null;pinnedRowsFacade=null;pinnedRowsVersion=0;pinnedFocus=null;renderingPinnedBand=null;pendingPinnedRows=null;fullWidthFacade=null;fullWidthVersion=0;fullWidthRefusalSignature=null;lastBodyRenderWindow=null;rowDragBinding=null;unmanagedDragTarget=null;unmanagedDragSource=null;dragLive={polite:"",assertive:""};columnDragOverGroupPanel=false;pivotPanelAnnouncement="";pivotPanelFocusField=null;pivotPanelFocusControl="destination";groupPanelEl=null;openFilterField=null;filterForm=null;filterDropdownEl=null;filterDropdownReturnFocus=null;filterDropdownFocused=false;activePagination={pageIndex:0,pageSize:25};latestPaginatedMeta=null;quickFilterValue="";effectiveLoading=false;activeCell=null;formulaBarDraft=null;cellTooltip=null;cellTooltipDelay=It({showMs:400,hideMs:100,onShow:t2=>this.showCellTooltip(t2),onHide:()=>{this.cellTooltip=null}});headerTooltipDelay=It({showMs:400,hideMs:100,onShow:t2=>this.showHeaderTooltip(t2),onHide:()=>{this.cellTooltip=null}});editingCell=null;editStore={active:null,nextId:1};editCommitInProgress=false;incrementalRowDataAssignment=null;sourceRowIndexCache=null;warnedIdentityEdit=false;warnedUnbackedValueSetter=false;undoRedoStack=(function(t2={}){const e2=(function(t3){return"number"!=typeof t3?ds:Number.isFinite(t3)?t3<=0?ds:Number.isInteger(t3)?t3:ds:ds})(t2.maxDepth),i2=(function(t3){return"function"==typeof t3?t3:()=>Date.now()})(t2.now),n2=[],r2=[],s2=new Set;function o2(t3){const e3=Array.from(s2);for(let i3=0;i3<e3.length;i3++){const n3=e3[i3];try{n3(t3)}catch{cs("undo-redo","subscriber threw; continuing.")}}}function l2(){return{undo:n2.length,redo:r2.length}}return{record:function(t3,s3,a2){if(!hs(t3)||!hs(s3))return void cs("record","received null/undefined transaction; rejected.");us+=1;const d2={forward:t3,inverse:s3,label:a2,timestamp:i2(),id:us};for(n2.push(d2);n2.length>e2;)n2.shift();r2.length>0&&(r2.length=0),o2({kind:"recorded",entry:d2,depth:l2()})},undo:function(){if(0===n2.length)return null;const t3=n2.pop();return r2.push(t3),o2({kind:"undone",entry:t3,depth:l2()}),t3},redo:function(){if(0===r2.length)return null;const t3=r2.pop();return n2.push(t3),o2({kind:"redone",entry:t3,depth:l2()}),t3},peek:function(){return{undoTop:n2.length>0?n2[n2.length-1]:null,redoTop:r2.length>0?r2[r2.length-1]:null}},canUndo:function(){return n2.length>0},canRedo:function(){return r2.length>0},clear:function(){0===n2.length&&0===r2.length||(n2.length=0,r2.length=0,o2({kind:"cleared"}))},getDepth:l2,subscribe:function(t3){return"function"!=typeof t3?(cs("subscribe","listener is not a function; ignored."),()=>{}):(s2.add(t3),()=>{s2.delete(t3)})}}})();undoRedoUnsubscribe=null;collabSession=null;collabGlue=null;chunkLoader=null;componentManager=null;componentManagerPromise=null;editorFacade=null;componentPopupPlacement=null;componentEditorValidationPresenter=null;filterFacade=null;componentManagerEpoch=0;componentManagerFailureReportedEpoch=-1;componentRegistryRevision=0;localGridComponentRegistrations=new Map;lifecycleEditorVersion=0;lifecycleEditorRef=null;lifecycleEditorCell=null;lifecycleEditorAttachTask=null;lifecycleEditorHost=null;lifecycleEditorSequence=0;lifecycleEditorRequestRevision=0;lifecycleEditorRequestTask=Promise.resolve();lifecycleEditorQueuedRequestRevision=null;lifecycleEditorStartTask=null;lifecycleEditorAttachmentReady=null;lifecycleEditorAttachedWrapper=null;lifecycleEditorValidationPresentation=null;lifecycleEditorPopupReposition=null;lifecycleEditorNavigationTarget=null;lifecycleFilterVersion=0;componentFilterReconcileSequence=0;componentFilterReconcileTask=null;componentFilterPeerNotificationTask=null;componentFilterPeerNotificationRevision=0;componentFilterReconcileInputs=null;componentFilterRevision=0;componentFilterReadyRevision=-1;componentFilterValueGetters=new Map;componentFilterModels=new Map;componentFilterDesiredIds=new Set;componentRecentlyDestroyedFilters=new Set;componentFilterChangeBatchDepth=0;componentFilterRemoteChangePending=false;componentFilterRemoteFlushRevision=0;componentFilterRestorePending=false;componentFilterHosts=new Map;componentFloatingFilterHosts=new Map;componentFilterHostRefs=new Map;externalFilterApplied=null;externalFilterRevision=0;externalFilterReadyRevision=-1;componentRemoteFilterErrors=new Set;componentRowTokens=new WeakMap;componentRowTokenSequence=0;componentIdentityIndex=null;componentIdentityReportedErrors=new Set;pendingComponentIdentityErrors=[];queueComponentIdentityError(t2,e2){this.componentIdentityReportedErrors.has(t2)||(this.componentIdentityReportedErrors.add(t2),this.pendingComponentIdentityErrors.push({code:"INVALID_INSTANCE",phase:"lookup",componentKind:"renderer",retryable:false,cause:Error(e2)}))}isPivotSubtotalDisplayRow(t2){return null!==t2&&"object"==typeof t2&&true===t2.__syPivotSubtotal}componentIdentityRow(t2){return wi(t2)?null!==t2.row&&"object"==typeof t2.row?t2.row:null:Ci(t2)||ki(t2)||this.isPivotSubtotalDisplayRow(t2)?t2:yi(t2)||bi(t2)||_i(t2)||ji(t2)?null:t2}componentObjectToken(t2){const e2=this.componentRowTokens.get(t2);if(void 0!==e2)return e2;const i2="object-"+ ++this.componentRowTokenSequence;return this.componentRowTokens.set(t2,i2),i2}ensureComponentIdentityIndex(){if(null!==this.componentIdentityIndex)return this.componentIdentityIndex;const t2=this.getDisplayRows(),e2=new WeakMap,i2=[],n2=new WeakSet;for(const r3 of t2){const t3=this.componentIdentityRow(r3);null!==t3&&"object"==typeof t3&&(e2.set(t3,(e2.get(t3)??0)+1),n2.has(t3)||(n2.add(t3),i2.push(t3)))}const r2=new WeakMap,s2=new Map;for(const t3 of i2){if(1!==(e2.get(t3)??0)){r2.set(t3,null),this.queueComponentIdentityError("duplicate-object:"+this.componentObjectToken(t3),"A lifecycle renderer row appeared more than once in the display model; the instance was not mounted.");continue}let i3;if("function"!=typeof this.getRowId)i3=this.componentObjectToken(t3);else{let e3=false;try{const e4=this.getRowId(t3);i3="string"==typeof e4&&e4.trim().length>0||"number"==typeof e4&&Number.isFinite(e4)?e4:null}catch{e3=true,i3=null,this.queueComponentIdentityError("get-row-id-throw:"+this.componentObjectToken(t3),"getRowId threw while resolving a lifecycle renderer identity; the instance was not mounted.")}null!==i3||e3||this.queueComponentIdentityError("invalid-row-id:"+this.componentObjectToken(t3),"getRowId must return a non-empty string or a finite number for lifecycle renderer identity.")}if(r2.set(t3,i3),null!==i3){const e3=s2.get(i3);void 0===e3?s2.set(i3,[t3]):e3.push(t3)}}const o2=new Set;for(const[t3,e3]of s2)if(1!==e3.length){for(const t4 of e3)r2.set(t4,null);this.queueComponentIdentityError(`duplicate-row-id:${typeof t3}:${t3+""}`,`getRowId returned duplicate lifecycle renderer identity "${t3+""}"; all colliding instances were not mounted.`)}else o2.add(t3);const l2=new Map;for(const t3 of this.effectiveColumns()){const e3=t3.colId??t3.field;"string"==typeof e3&&0!==e3.trim().length?l2.set(e3,(l2.get(e3)??0)+1):this.queueComponentIdentityError("invalid-col-id:"+e3,"A lifecycle renderer column id must be a non-empty string.")}const a2=new Set;for(const[t3,e3]of l2)1===e3?a2.add(t3):this.queueComponentIdentityError("duplicate-col-id:"+t3,`Column id "${t3}" is duplicated; colliding lifecycle renderer instances were not mounted.`);return this.componentIdentityIndex={rowIdsByObject:r2,rowIds:o2,colIds:a2},this.componentIdentityIndex}componentRowId(t2){return null===t2||"object"!=typeof t2?null:this.ensureComponentIdentityIndex().rowIdsByObject.get(t2)??null}componentColumnId(t2){const e2=t2.colId??t2.field;return"string"!=typeof e2?null:this.ensureComponentIdentityIndex().colIds.has(e2)?e2:null}componentLogicalCellExists=t2=>{const e2=this.ensureComponentIdentityIndex();return e2.colIds.has(t2.colId)&&e2.rowIds.has(t2.rowId)};componentFacadeIdentity(t2,e2){return("string"==typeof t2&&t2.trim().length>0||"number"==typeof t2&&Number.isFinite(t2))&&"string"==typeof e2&&0!==e2.trim().length?{rowId:t2,colId:e2}:null}componentRendererCellKey(t2,e2){try{return"cell:"+JSON.stringify([t2,e2])}catch{return"cell:unavailable"}}sameComponentIdentity(t2,e2){return t2.rowId===e2.rowId&&t2.colId===e2.colId}releaseFocusedLifecycleRenderer(){this.lifecycleRendererFocusSequence+=1;const t2=this.focusedLifecycleRenderer;this.focusedLifecycleRenderer=null,null!==t2&&null!==this.componentManager&&this.componentManager.renderer.focusOut(t2.identity,t2.generation)}activeLifecycleRendererIdentity(){const t2=this.activeCell;if(null===t2)return null;const e2=this.getDisplayRows()[t2.rowIndex],i2=this.effectiveColumns()[t2.colIndex];if(void 0===e2||void 0===i2)return null;if(null===this.lifecycleRendererDeclaration(i2))return null;const n2=this.componentIdentityRow(e2);if(null===n2)return null;const r2=this.componentRowId(n2),s2=this.componentColumnId(i2);return null===r2||null===s2?null:{rowId:r2,colId:s2}}focusActiveLifecycleRenderer(){const t2=this.componentManager,e2=this.activeLifecycleRendererIdentity();if(null===t2||null===e2||!this.gridOwnsDocumentFocus())return void this.releaseFocusedLifecycleRenderer();const i2=t2.renderer.lookup(e2);if("mounted"!==i2.status)return void this.releaseFocusedLifecycleRenderer();if(null!==this.focusedLifecycleRenderer&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,e2)&&this.focusedLifecycleRenderer.generation===i2.generation)return;const n2=this.lifecycleRendererFocusSequence;if(this.releaseFocusedLifecycleRenderer(),this.lifecycleRendererFocusSequence!==n2+1)return;const r2=++this.lifecycleRendererFocusSequence;t2.renderer.focusIn(e2,i2.generation)&&r2===this.lifecycleRendererFocusSequence&&t2===this.componentManager?this.focusedLifecycleRenderer={identity:e2,generation:i2.generation}:r2!==this.lifecycleRendererFocusSequence&&t2.renderer.focusOut(e2,i2.generation)}emitComponentError(t2){this.host?.isConnected&&this.componentError.emit({code:t2.code,phase:t2.phase,componentKind:t2.componentKind,componentName:t2.componentName,mountKey:t2.mountKey,generation:t2.generation,retryable:t2.retryable,cause:t2.cause})}componentFilterExecutionMode(){return this.serverSideModeActive()||this.viewportModeActive()?"server":this.infiniteModeActive()?"infinite":"client"}invalidateComponentFilterRuntime(){this.componentFilterRevision+=1,this.componentFilterReadyRevision=-1,this.componentFilterReconcileInputs=null,this.componentFilterReconcileSequence+=1,this.componentRemoteFilterErrors.clear(),"client"!==this.componentFilterExecutionMode()&&(this.componentFilterChangeBatchDepth>0?this.componentFilterRemoteChangePending=true:this.infiniteModelInputsChanged())}async runComponentFilterChangeBatch(t2){const e2=this.componentManagerEpoch;this.componentFilterChangeBatchDepth+=1;try{return await t2()}finally{e2===this.componentManagerEpoch&&(this.componentFilterChangeBatchDepth-=1,0===this.componentFilterChangeBatchDepth&&this.componentFilterRemoteChangePending&&(this.componentFilterRemoteChangePending=false,this.infiniteModelInputsChanged(),this.componentFilterRemoteFlushRevision+=1))}}externalFilterRuntimeReady(){return null==this.externalFilter||this.externalFilterReadyRevision===this.externalFilterRevision&&Object.is(this.externalFilterApplied,this.externalFilter)&&null!==this.filterFacade?.getExternalFilter()}handleComponentFilterChanged(t2,e2,i2){const n2=this.componentFilterModels.has(t2),r2=this.componentFilterModels.get(t2);this.componentFilterModels.set(t2,i2),this.componentRemoteFilterErrors.clear(),this.lifecycleFilterVersion+=1,"client"!==this.componentFilterExecutionMode()&&(this.componentFilterChangeBatchDepth>0?this.componentFilterRemoteChangePending=true:this.infiniteModelInputsChanged()),this.host?.isConnected&&this.filterChanged.emit({field:t2,filter:null,activeMap:{...this.activeFilters},customModel:i2,...n2?{previousCustomModel:r2}:{},source:"ui"===e2?"component":e2})}scheduleLifecycleFilterPeerNotification(){if(this.componentFilterPeerNotificationRevision+=1,null!==this.componentFilterPeerNotificationTask)return;if(null===this.filterFacade)return;const t2=Promise.resolve().then((async()=>{let t3=-1;for(;t3!==this.componentFilterPeerNotificationRevision;){const e2=this.filterFacade;if(null===e2||!this.host?.isConnected)return;const i2=this.componentFilterPeerNotificationRevision;if(await e2.onAnyFilterChanged(),e2!==this.filterFacade||!this.host?.isConnected)return;t3=i2,this.lifecycleFilterVersion+=1}})).catch((()=>{})).finally((()=>{this.componentFilterPeerNotificationTask===t2&&(this.componentFilterPeerNotificationTask=null)}));this.componentFilterPeerNotificationTask=t2}async getComponentManager(t2="renderer"){if(null!==this.componentManager)return this.componentManager;if(null!==this.componentManagerPromise)return this.componentManagerPromise;const e2=this.componentManagerEpoch,i2=this.getChunkLoader().load("component-runtime").then((async t3=>{const i3=t3,n2=i3.createGridComponentManager({timeoutMs:this.componentTimeoutMs,onError:t4=>{e2===this.componentManagerEpoch&&this.emitComponentError(t4)},onExternalFilterAvailable:()=>{e2===this.componentManagerEpoch&&this.host?.isConnected&&(this.externalFilterReadyRevision=-1,this.componentFilterReconcileInputs=null,this.reconcileComponentFilters())},renderer:{isHostConnected:t4=>e2===this.componentManagerEpoch&&!!this.host?.isConnected&&(!("isConnected"in t4)||t4.isConnected),logicalExists:t4=>e2===this.componentManagerEpoch&&!!this.host?.isConnected&&this.componentLogicalCellExists(t4),fallback:()=>({kind:"text",text:"—"})}});for(const t4 of this.localGridComponentRegistrations.values())n2.register("local",t4.kind,t4.name,t4.definition);if(e2!==this.componentManagerEpoch||!this.host?.isConnected)throw await n2.disconnect(),new DOMException("Grid component runtime load was superseded.","AbortError");const r2=i3.createGridEditorFacadeController({manager:n2,onError:t4=>{e2===this.componentManagerEpoch&&this.emitComponentError(t4)}}),s2=i3.createGridFilterFacadeController({manager:n2,getContext:()=>this.context,executionMode:()=>this.componentFilterExecutionMode(),onFilterChanged:({colId:t4,source:i4,model:n3})=>{e2===this.componentManagerEpoch&&this.host?.isConnected&&this.componentFilterDesiredIds.has(t4)&&this.handleComponentFilterChanged(t4,i4,n3)},onFilterModified:t4=>{e2===this.componentManagerEpoch&&this.host?.isConnected&&this.filterModified.emit({field:t4,source:"component"})},onError:t4=>{e2===this.componentManagerEpoch&&this.emitComponentError(t4)}}),o2=this.externalFilter??null,l2=this.externalFilterRevision,a2=await s2.setExternalFilter(o2),d2=null===o2||null===a2?null:await s2.refreshExternalFilter(this.context);if(e2!==this.componentManagerEpoch||!this.host?.isConnected)throw await r2.disconnect(),await s2.disconnect(),await n2.disconnect(),new DOMException("Grid component runtime load was superseded.","AbortError");return this.editorFacade=r2,this.filterFacade=s2,this.componentEditorValidationPresenter=i3.renderGridEditorValidation,l2!==this.externalFilterRevision||!Object.is(o2,this.externalFilter??null)||null!==o2&&null===a2||(this.externalFilterApplied=o2,null!==o2&&"refreshed"!==d2?.status||(this.externalFilterReadyRevision=l2)),this.componentPopupPlacement=i3.placeGridEditorPopup,this.lifecycleFilterVersion+=1,this.componentManager=n2,n2}));return this.componentManagerPromise=i2.then((t3=>t3),(i3=>{throw e2===this.componentManagerEpoch&&(this.componentManagerPromise=null,null!==i3&&"object"==typeof i3&&"name"in i3&&"AbortError"===i3.name||this.componentManagerFailureReportedEpoch===e2||(this.componentManagerFailureReportedEpoch=e2,this.emitComponentError({code:"LAZY_LOAD_FAILED",phase:"lazy-load",componentKind:t2,retryable:true,cause:i3}))),i3})),this.componentManagerPromise}disposeComponentManager(){this.clearLifecycleEditorValidation(),this.unregisterLifecycleEditorDocumentOwner(),this.releaseFocusedLifecycleRenderer();const t2=this.filterFacade?.getSerializableModels();if(void 0!==t2)for(const[e3,i3]of Object.entries(t2.models))this.componentFilterModels.set(e3,i3);this.componentFilterRestorePending=this.componentFilterModels.size>0,this.componentFilterReconcileSequence+=1,this.componentFilterReconcileInputs=null,this.componentFilterReconcileTask=null,this.componentFilterPeerNotificationTask=null,this.componentFilterPeerNotificationRevision+=1,this.componentFilterReadyRevision=-1,this.componentFilterChangeBatchDepth=0,this.componentFilterRemoteChangePending=false,this.componentFilterHosts.clear(),this.componentFloatingFilterHosts.clear(),this.componentFilterHostRefs.clear(),this.lifecycleEditorRequestRevision+=1,this.lifecycleEditorQueuedRequestRevision=null,this.lifecycleEditorRequestTask=Promise.resolve(),this.lifecycleEditorStartTask=null,this.componentManagerEpoch+=1;const e2=this.componentManager,i2=this.componentManagerPromise,n2=this.editorFacade,r2=this.filterFacade;this.componentManager=null,this.componentManagerPromise=null,this.editorFacade=null,this.filterFacade=null,this.componentPopupPlacement=null,this.componentEditorValidationPresenter=null,this.lifecycleEditorRef=null,this.lifecycleEditorCell=null,this.lifecycleEditorNavigationTarget=null,this.lifecycleEditorHost=null,this.lifecycleEditorAttachTask=null,this.componentFilterValueGetters.clear(),this.externalFilterApplied=null,this.externalFilterReadyRevision=-1,null===e2?null!==i2&&i2.then((t3=>t3.disconnect()),(()=>{})):Promise.all([n2?.disconnect(),r2?.disconnect()]).then((()=>e2.disconnect()))}getChunkLoader(){if(null===this.chunkLoader||this.chunkLoader.stats().disposed){const t2={"component-runtime":{kind:"esm",load:()=>import("./p-C_2TIPHD.js")},"import-xlsx":{kind:"esm",load:()=>import("./p-4CjYGJmq.js")},"live-api":{kind:"esm",load:()=>import("./p-BsBcTKjx.js")},"row-layout":{kind:"esm",load:()=>import("./p-D7cSRpbb.js")},"row-drag":{kind:"esm",load:()=>import("./p-C7iceRLc.js")},"conditional-format":{kind:"esm",load:()=>import("./p-GI1Zoo93.js")}},e2=Vl();null!==e2&&Object.assign(t2,e2),this.chunkLoader=(function(t3,e3){const i2=(i3,n2)=>{const r2=(function(t4){return"string"==typeof t4?zt[t4]:void 0})(i3);if(void 0===r2||0===r2.length||t3.isLoaded(i3))return t3.load(i3,n2);const s2=t3.stats();if(s2.disposed||s2.inFlight.includes(i3))return t3.load(i3,n2);let o2;try{o2=e3(i3,r2)}catch(t4){return Promise.reject(t4)}return void 0===o2?t3.load(i3,n2):o2.then((()=>{if(true===n2?.signal?.aborted)throw new le(i3,"aborted","caller");return t3.load(i3,n2)}))};return{load:i2,async preload(t4){await Promise.allSettled(t4.map((t5=>i2(t5))))},isLoaded:e4=>t3.isLoaded(e4),stats:()=>t3.stats(),dispose:()=>t3.dispose()}})((function(t3){const e3=t3.manifest??se,i2=t3.timeoutMs??15e3,n2=t3.now??(()=>Date.now()),r2=t3.delay??ae,s2=t3.sha256Hex??de,o2=e4=>{try{t3.emit?.(e4)}catch{}},l2=new Map,a2=new Map;let d2=0,u2=false;const c2=(t4,e4)=>{t4.settled||(t4.settled=true,void 0!==t4.signal&&void 0!==t4.onAbort&&t4.signal.removeEventListener("abort",t4.onAbort),e4())},h2=(t4,e4)=>{for(const i3 of[...t4.waiters])c2(i3,(()=>i3.reject(e4)));t4.waiters.clear()},f2=(t4,e4)=>{for(const i3 of[...t4.waiters])c2(i3,(()=>i3.resolve(e4)));t4.waiters.clear()};async function g2(t4,e4,n3,r3,l3){o2({chunkId:t4,kind:e4.kind,tier:e4.tier,phase:"loading",attempt:l3});let a3=false;const d3=r3.abortController.signal;let u3=null;const c3=new Promise(((e5,n4)=>{u3=()=>n4(new le(t4,a3?"timeout":"aborted",a3?`timeout:${i2}:${l3}`:"aborted")),d3.addEventListener("abort",u3,{once:true})})),h3=setTimeout((()=>{a3=true,r3.abortController.abort()}),i2);try{const i3="wasm"===n3.kind?(async function(t5,e5,i4,n4){if(void 0===e5.integrity)throw new le(t5,"integrity","manifest");const r4=i4.fetchBytes??(async(e6,i5)=>{const n5=await fetch(e6,{signal:i5});if(!n5.ok)throw new le(t5,"network","http",n5.status);return{bytes:new Uint8Array(await n5.arrayBuffer()),httpStatus:n5.status}}),o3="function"==typeof i4.url?i4.url():i4.url,l4=await r4(o3,n4);if(l4.bytes.byteLength!==e5.integrity.byteLength)throw new le(t5,"integrity",`size:${l4.bytes.byteLength}:${e5.integrity.byteLength}`);if(await s2(l4.bytes)!==e5.integrity.sha256)throw new le(t5,"integrity","hash");return l4.bytes})(t4,e4,n3,d3):n3.load();return i3.then((()=>{}),(()=>{})),await Promise.race([i3,c3])}catch(e5){if(e5 instanceof le)throw e5;const i3="undefined"!=typeof navigator&&"boolean"==typeof navigator.onLine?navigator.onLine:void 0,n4=(function(t5,e6={}){if(true===e6.aborted)return"aborted";if(true===e6.timedOut)return"timeout";if(true===e6.integrityMismatch)return"integrity";if("number"==typeof e6.httpStatus&&e6.httpStatus>0&&200!==e6.httpStatus)return"network";if(false===e6.online)return"offline";const i4=t5 instanceof Error?t5.name:"",n5=t5 instanceof Error?t5.message:"string"==typeof t5?t5:"";return"AbortError"===i4?"aborted":/content security policy|blocked:csp|csp/i.test(n5)||"EvalError"===i4?"csp":t5 instanceof SyntaxError?"invalid-module":"TypeError"===i4&&/failed to fetch|import|network|load/i.test(n5)?"network":"unknown"})(e5,{timedOut:a3,aborted:r3.abortController.signal.aborted,online:i3});throw new le(t4,n4,`${n4}:${e5 instanceof Error?e5.message:e5+""}`)}finally{clearTimeout(h3),null!==u3&&d3.removeEventListener("abort",u3)}}const p2=(t4,e4)=>new Promise(((i3,n3)=>{const r3={resolve:i3,reject:n3,signal:e4,settled:false};if(void 0!==e4){if(e4.aborted)return r3.settled=true,void n3(new le(b2(t4),"aborted","caller"));r3.onAbort=()=>{t4.waiters.delete(r3),c2(r3,(()=>n3(new le(b2(t4),"aborted","caller"))))},e4.addEventListener("abort",r3.onAbort,{once:true})}t4.waiters.add(r3)})),y2=new WeakMap,b2=t4=>y2.get(t4)??"collab";function m2(i3,s3={}){if(u2)return Promise.reject(new le(i3,"aborted","disposed"));if(l2.has(i3))return Promise.resolve(l2.get(i3));const c3=a2.get(i3);if(void 0!==c3)return p2(c3,s3.signal);const b3=(t4=>e3.entries.find((e4=>e4.id===t4)))(i3);if(void 0===b3)return Promise.reject(new le(i3,"unknown","undeclared"));const m3=(function(t4,e4){return"pro"===e4.tier&&"pro"!==t4?{ok:false,reason:"tier-unavailable"}:{ok:true}})(t3.tier,b3);if(!m3.ok){const e4=new le(i3,m3.reason??"tier-unavailable","tier:"+t3.tier);return o2({chunkId:i3,kind:b3.kind,tier:b3.tier,phase:"failed",attempt:0,reason:e4.reason,message:e4.message}),Promise.reject(e4)}const w2=t3.sources[i3];if(void 0===w2){const t4=new le(i3,"unknown","source");return o2({chunkId:i3,kind:b3.kind,tier:b3.tier,phase:"failed",attempt:0,reason:t4.reason,message:t4.message}),Promise.reject(t4)}d2+=1;const v2={generation:d2,waiters:new Set,abortController:new AbortController};y2.set(v2,i3),a2.set(i3,v2);const x2=p2(v2,s3.signal);return(async function(t4,e4,i4,s4){const d3=n2();let u3=1;for(;;)try{const r3=await g2(t4,e4,i4,s4,u3);if(a2.get(t4)!==s4)return;return l2.set(t4,r3),a2.delete(t4),o2({chunkId:t4,kind:e4.kind,tier:e4.tier,phase:"loaded",attempt:u3,durationMs:Math.max(0,n2()-d3)}),void f2(s4,r3)}catch(i5){const l3=i5 instanceof le?i5:new le(t4,"unknown","failed");if(a2.get(t4)!==s4)return;const c4=oe(l3.reason,u3);if(c4.retry){if(u3+=1,c4.delayMs>0&&await r2(c4.delayMs),a2.get(t4)!==s4)return;continue}return a2.delete(t4),o2({chunkId:t4,kind:e4.kind,tier:e4.tier,phase:"failed",attempt:u3,durationMs:Math.max(0,n2()-d3),reason:l3.reason,message:l3.message,httpStatus:l3.httpStatus}),void h2(s4,l3)}})(i3,b3,w2,v2),x2}return{load:m2,preload:async function(t4){await Promise.allSettled(t4.map((t5=>m2(t5))))},isLoaded:t4=>l2.has(t4),stats:function(){let t4=0;for(const e4 of a2.values())t4+=e4.waiters.size;return{cached:[...l2.keys()],inFlight:[...a2.keys()],waiters:t4,disposed:u2}},dispose:function(){if(!u2){u2=true;for(const[t4,e4]of[...a2.entries()])e4.abortController.abort(),a2.delete(t4),h2(e4,new le(t4,"aborted","disposed"))}}}})({tier:Et,sources:t2,emit:t3=>{"loading"===t3.phase?this.chunkLoading.emit(t3):"loaded"===t3.phase?this.chunkLoaded.emit(t3):this.chunkLoadFailed.emit(t3)}}),((t3,e3)=>this.proGate().admitChunk(t3,e3)))}return this.chunkLoader}async loadExportXlsxChunk(){return await this.getChunkLoader().load("export-xlsx")}async loadExportPdfChunk(){return await this.getChunkLoader().load("export-pdf")}async loadImportXlsxChunk(){return await this.getChunkLoader().load("import-xlsx")}collabOverlayEl=null;collabRowIndexCache=null;auditTrail=null;canReadWarned=false;canEditWarned=false;snapshotStore=[];snapshotCounter=0;syncAuditTrail(){this.auditLog?null===this.auditTrail&&(this.auditTrail=new we({maxEntries:this.auditLogMax})):this.auditTrail=null}onAuditLogChange(){this.syncAuditTrail()}onAuditLogMaxChange(){this.auditTrail?.resize(this.auditLogMax)}onCanReadCellChange(){this.canReadWarned=false,this.cellTooltip=null,this.formulaSuggest=null,null!==this.chartLinkRuntimeRef&&(this.chartLinkGeneration+=1,this.chartLinkRuntimeRef.syncCharts("edit"))}onCanEditCellChange(){this.canEditWarned=false}onMaxSnapshotsChange(){const t2=Be(this.maxSnapshots);this.snapshotStore.length>t2&&(this.snapshotStore=this.snapshotStore.slice(this.snapshotStore.length-t2))}currentAuditRows(){const t2=new Map;return(this.rowData??[]).forEach(((e2,i2)=>{null!==e2&&"object"==typeof e2&&t2.set(this.collabRowId(e2,i2),{data:e2,rowIndex:i2})})),t2}auditEntriesForPublicRead(t2){if(!this.readPolicyConfigured())return t2;const e2=this.currentAuditRows(),i2=new Map(this.resolvedColumnDefs().map((t3=>[t3.field,t3])));return t2.map((t3=>{if("cell"!==t3.kind)return t3;const n2=e2.get(t3.rowId),r2=i2.get(t3.field);if(void 0===n2||void 0===r2)return{...t3,oldValue:this.maskedCellValue,newValue:this.maskedCellValue};const s2=n2.data,o2=n2.rowIndex;return{...t3,oldValue:this.applyReadMask(t3.oldValue,s2,o2,r2),newValue:this.applyReadMask(t3.newValue,s2,o2,r2)}}))}recordAudit(t2){if(null===this.auditTrail)return;const e2=this.auditTrail.record(t2);this.auditLogChanged.emit({entry:this.auditEntriesForPublicRead([e2])[0]})}fireRowDataChanged(t2,e2={}){for(const e3 of t2.removed)this.liveRowHeights.delete(this.collabRowId(e3.row,e3.index));if(this.rowDataChanged.emit(t2),false!==e2.publishLiveObjects){const e3=new Map(t2.added.map((t3=>[this.collabRowId(t3.row,t3.index),t3]))),i2=new Map(t2.removed.map((t3=>[this.collabRowId(t3.row,t3.index),t3]))),n2=new Set([...e3.keys()].filter((t3=>i2.has(t3))));this.publishLiveObjectChanges([...t2.added.filter((t3=>!n2.has(this.collabRowId(t3.row,t3.index)))).map((e4=>["row",this.collabRowId(e4.row,e4.index),"dataChanged","rowData",{txId:t2.txId,before:void 0,after:e4.row,data:e4.row}])),...t2.updated.map((e4=>["row",this.collabRowId(e4.row,e4.index),"dataChanged","rowData",{txId:t2.txId,before:e4.previous,after:e4.row,data:e4.row}])),...t2.removed.filter((t3=>!n2.has(this.collabRowId(t3.row,t3.index)))).map((e4=>["row",this.collabRowId(e4.row,e4.index),"dataChanged","rowData",{txId:t2.txId,before:e4.row,after:void 0,data:e4.row}])),...[...n2].map((n3=>{const r2=i2.get(n3).row,s2=e3.get(n3).row;return["row",n3,"dataChanged","rowData",{txId:t2.txId,before:r2,after:s2,data:s2}]}))])}null!==this.auditTrail&&this.recordAudit({kind:"rows",source:"clipboard"===t2.origin?"clipboard":t2.source??"local",txId:t2.txId,added:t2.added.length,updated:t2.updated.length,removed:t2.removed.length})}fireSelectionChanged(t2,e2="ui"){this.selectionChanged.emit(t2),this.publishLiveObjectChanges([...t2.addedIds.map((t3=>["row",t3,"selectionChanged",e2,{before:false,after:true}])),...t2.removedIds.map((t3=>["row",t3,"selectionChanged",e2,{before:true,after:false}]))]),null!==this.auditTrail&&t2.addedIds.length+t2.removedIds.length>0&&this.recordAudit({kind:"selection",source:"local",selectedCount:t2.selectedRowIds.length,addedIds:[...t2.addedIds],removedIds:[...t2.removedIds]})}async getAuditLog(t2){return null===this.auditTrail?[]:this.auditEntriesForPublicRead(this.auditTrail.entries(t2))}async clearAuditLog(){this.auditTrail?.clear()}async getAuditLogAsCsv(t2){return(function(t3,e2={}){const i2=e2.delimiter??",",n2=e2.newline??"\r\n",r2=[];false!==e2.header&&r2.push(Ye.map((t4=>ft(t4,i2))).join(i2));for(const e3 of t3){const t4=Ye.map((t5=>ft(Xe(Ze(e3,t5)),i2)));r2.push(t4.join(i2))}return r2.join(n2)})(await this.getAuditLog(t2))}async getAuditLogAsJson(t2,e2=false){return(function(t3,e3=false){return JSON.stringify(Qe(t3),null,e3?2:void 0)})(await this.getAuditLog(t2),e2)}async exportAuditLogAsCsv(t2,e2){this.downloadTextFile(await this.getAuditLogAsCsv(e2),t2??"audit-log.csv","text/csv;charset=utf-8")}async exportAuditLogAsJson(t2,e2){this.downloadTextFile(await this.getAuditLogAsJson(e2,true),t2??"audit-log.json","application/json;charset=utf-8")}downloadTextFile(t2,e2,i2){const n2=this.host?.ownerDocument??document,r2=n2.defaultView??window,s2=new Blob([t2],{type:i2}),o2=r2.URL.createObjectURL(s2),l2=n2.createElement("a");l2.href=o2,l2.download=e2,l2.style.display="none",n2.body.appendChild(l2),l2.click(),l2.remove(),r2.setTimeout((()=>r2.URL.revokeObjectURL(o2)),0)}cellCommentIndex=new Map;commentIndexKey(t2,e2){return`${t2}${e2}`}cellCommentBadge(t2,e2,i2){return 0===this.cellCommentIndex.size?null:this.cellCommentBadgeFor(this.collabRowId(t2,e2),i2)}cellCommentBadgeFor(t2,e2){if(null===t2||0===this.cellCommentIndex.size)return null;const i2=this.cellCommentIndex.get(this.commentIndexKey(t2,e2));return void 0===i2||0===i2.count?null:{unresolved:i2.unresolved>0}}seenCommentIds=new Set;conflictFlashCells=new Set;collabConflictToast=null;conflictFlashTimers=new Map;conflictToastTimer=null;clearConflictUi(){for(const t2 of this.conflictFlashTimers.values())clearTimeout(t2);this.conflictFlashTimers.clear(),null!==this.conflictToastTimer&&(clearTimeout(this.conflictToastTimer),this.conflictToastTimer=null),this.conflictFlashCells.size>0&&(this.conflictFlashCells=new Set),null!==this.collabConflictToast&&(this.collabConflictToast=null)}commentPanel=null;commentPanelAnchor=null;commentPanelOffscreen=false;commentPanelThread=[];commentPanelInputEl=null;commentPanelRowIndex=-1;openCommentPanelAt(t2,e2){null!==this.collabSession&&this.commentWriteAllowed("openCellCommentPanel")&&(this.commentPanel={rowId:t2+"",field:e2},this.commentPanelRowIndex=-1,this.commentPanelOffscreen=false,this.commentPanelThread=this.collabSession.getCellComments?.(t2,e2)??[])}closeCommentPanel(){this.commentPanel=null,this.commentPanelAnchor=null,this.commentPanelOffscreen=false,this.commentPanelRowIndex=-1,this.commentPanelThread=[]}async openCellCommentPanel(t2,e2){return this.proMethod("openCellCommentPanel",{load:()=>this.cellNotesModule(),exec:()=>{},publish:()=>this.openCommentPanelAt(t2,e2)})}async closeCellCommentPanel(){return this.proRun("closeCellCommentPanel",(()=>this.closeCommentPanel()))}commentWriteAllowed(t2){return this.proWorkAllowed("grid.cell-notes",t2)}columnWidths=new Map;columnResizeController=(function(t2={}){const e2=1/0,i2=(function(t3){return"number"!=typeof t3?0:Number.isFinite(t3)?t3<0?0:t3:0})(t2.minWidth),n2=(function(t3){return"number"!=typeof t3||Number.isNaN(t3)||t3<=0?e2:t3})(t2.maxWidth),r2=(function(t3){return"function"==typeof t3?t3:()=>Date.now()})(t2.now);let s2=null;const o2=new Set,l2=new Set,a2=new Set,d2=new Set;function u2(t3,e3){console.warn(`[Syidax] sy-grid: column-resize ${t3} ${e3}`)}function c2(t3,e3,i3){let n3=t3;return n3<e3&&(n3=e3),n3>i3&&(n3=i3),n3}function h2(t3){return"number"==typeof t3&&Number.isFinite(t3)}function f2(t3){const e3=Array.from(d2);for(let i3=0;i3<e3.length;i3++)try{e3[i3](t3)}catch{u2("emit","subscriber on 'cancelled' threw; continuing.")}}return{start:function(t3){let e3=t3.colId;null==e3&&(u2("start",'received null/undefined colId; coerced to "<unknown>".'),e3="<unknown>");let l3=t3.startWidth;(!h2(l3)||l3<0)&&(u2("start","received non-finite/negative startWidth; coerced to 0."),l3=0);let a3=t3.startX;h2(a3)||(u2("start","received non-finite startX; coerced to 0."),a3=0);const d3=(function(t4){return void 0===t4?null:"number"!=typeof t4||!Number.isFinite(t4)||t4<0?(u2("start","received invalid per-call minWidth; using controller default."),null):t4})(t3.minWidth),f3=(function(t4){return void 0===t4?null:"number"!=typeof t4||!Number.isFinite(t4)||t4<=0?(u2("start","received invalid per-call maxWidth; using controller default."),null):t4})(t3.maxWidth);let g2=null===d3?i2:d3,p2=null===f3?n2:f3;g2>p2&&(u2("start","minWidth > maxWidth; dropping both per-call overrides."),g2=i2,p2=n2);const y2=c2(l3,g2,p2);s2={colId:e3,startWidth:y2,startX:a3,lastX:a3,currentWidth:y2,effectiveMin:g2,effectiveMax:p2,wasClamped:false},(function(t4){const e4=Array.from(o2);for(let i3=0;i3<e4.length;i3++)try{e4[i3](t4)}catch{u2("emit","subscriber on 'started' threw; continuing.")}})({colId:e3,startWidth:y2,startX:a3,timestamp:r2()})},move:function(t3){if(null===s2)return u2("move","called with no active drag; ignored."),null;let e3=t3.x;h2(e3)||(u2("move","received non-finite x; falling back to lastX."),e3=s2.lastX);const i3=s2.startWidth+(e3-s2.startX),n3=c2(i3,s2.effectiveMin,s2.effectiveMax),r3=n3!==i3;return s2.lastX=e3,s2.currentWidth=n3,s2.wasClamped=r3,(function(t4){const e4=Array.from(l2);for(let i4=0;i4<e4.length;i4++)try{e4[i4](t4)}catch{u2("emit","subscriber on 'moved' threw; continuing.")}})({colId:s2.colId,width:n3,x:e3,wasClamped:r3}),{colId:s2.colId,width:n3,wasClamped:r3}},commit:function(){if(null===s2)return null;const t3={colId:s2.colId,oldWidth:s2.startWidth,newWidth:s2.currentWidth},e3=s2.colId;return s2=null,(function(t4){const e4=Array.from(a2);for(let i3=0;i3<e4.length;i3++)try{e4[i3](t4)}catch{u2("emit","subscriber on 'committed' threw; continuing.")}})({colId:e3,oldWidth:t3.oldWidth,newWidth:t3.newWidth,timestamp:r2()}),t3},cancel:function(){if(null===s2)return null;const t3={colId:s2.colId,oldWidth:s2.startWidth},e3=s2.colId;return s2=null,f2({colId:e3,oldWidth:t3.oldWidth,timestamp:r2()}),t3},revert:function(){if(null===s2)return null;const t3={colId:s2.colId,startWidth:s2.startWidth},e3=s2.colId,i3=s2.startWidth;return s2=null,f2({colId:e3,oldWidth:i3,timestamp:r2()}),t3},isActive:function(){return null!==s2},getActive:function(){return null===s2?null:{colId:s2.colId,startWidth:s2.startWidth,currentWidth:s2.currentWidth,wasClamped:s2.wasClamped,effectiveMin:s2.effectiveMin,effectiveMax:s2.effectiveMax}},subscribe:function(t3,e3){if("function"!=typeof e3)return u2("subscribe","listener is not a function; ignored."),()=>{};if("started"===t3){const t4=o2;return t4.add(e3),()=>{t4.delete(e3)}}if("moved"===t3){const t4=l2;return t4.add(e3),()=>{t4.delete(e3)}}if("committed"===t3){const t4=a2;return t4.add(e3),()=>{t4.delete(e3)}}if("cancelled"===t3){const t4=d2;return t4.add(e3),()=>{t4.delete(e3)}}return u2("subscribe",`unknown channel "${t3+""}"; ignored.`),()=>{}}}})();minimumColumnWidth=1;interactiveColumnMinWidth=24;compactHeaderControlsWidth=72;columnResizePointerId=null;columnResizeEscHandler=null;columnResizeHandleEl=null;columnResizeGuide=null;columnResizeGuideStartX=null;columnResizeGuideStartWidth=null;columnOrder=null;columnReorderController=(function(){let t2=null;const e2=new Set,i2=new Set,n2=new Set,r2=new Set;function s2(t3,e3){console.warn(`[Syidax] sy-grid: column-reorder ${t3} ${e3}`)}return{start:function(i3){if(!Array.isArray(i3.columnIds))return void s2("start","received non-array columnIds; ignored.");if(0===i3.columnIds.length)return void s2("start","received empty columnIds; ignored.");const n3=i3.columnIds.slice(),r3=n3.indexOf(i3.colId);-1!==r3?(t2={colId:i3.colId,originIndex:r3,currentIndex:r3,columnIds:n3},(function(t3){const i4=Array.from(e2);for(let e3=0;e3<i4.length;e3++)try{i4[e3](t3)}catch{s2("emit","subscriber on 'started' threw; continuing.")}})({kind:"started",colId:i3.colId,originIndex:r3})):s2("start","colId not found in columnIds; ignored.")},move:function(e3){if(null===t2)return s2("move","called with no active drag; ignored."),null;if(!(function(t3){return"number"==typeof t3&&Number.isFinite(t3)})(e3.targetIndex))return s2("move","received non-finite targetIndex; ignored."),null;const n3=(function(t3,e4){let i3=Math.trunc(t3);return i3<0&&(i3=0),i3>e4-1&&(i3=e4-1),i3})(e3.targetIndex,t2.columnIds.length),r3=t2.currentIndex;return n3===r3?null:(t2.currentIndex=n3,(function(t3){const e4=Array.from(i2);for(let i3=0;i3<e4.length;i3++)try{e4[i3](t3)}catch{s2("emit","subscriber on 'moved' threw; continuing.")}})({kind:"moved",colId:t2.colId,fromIndex:r3,toIndex:n3}),{fromIndex:r3,toIndex:n3})},commit:function(){if(null===t2)return null;const e3=t2.colId,i3=t2.originIndex,r3=t2.currentIndex,o2=t2.columnIds,l2=r3===i3?o2.slice():(function(t3,e4,i4){const n3=t3.slice(),[r4]=n3.splice(e4,1);return n3.splice(i4,0,r4),n3})(o2,i3,r3);return t2=null,(function(t3){const e4=Array.from(n2);for(let i4=0;i4<e4.length;i4++)try{e4[i4](t3)}catch{s2("emit","subscriber on 'committed' threw; continuing.")}})({kind:"committed",colId:e3,originIndex:i3,finalIndex:r3,orderBefore:o2,orderAfter:l2}),{colId:e3,originIndex:i3,finalIndex:r3,orderBefore:o2,orderAfter:l2}},cancel:function(){if(null===t2)return null;const e3={colId:t2.colId,originIndex:t2.originIndex},i3=t2.colId,n3=t2.originIndex;return t2=null,(function(t3){const e4=Array.from(r2);for(let i4=0;i4<e4.length;i4++)try{e4[i4](t3)}catch{s2("emit","subscriber on 'cancelled' threw; continuing.")}})({kind:"cancelled",colId:i3,originIndex:n3}),e3},isActive:function(){return null!==t2},getActive:function(){return null===t2?null:{draggedColId:t2.colId,originIndex:t2.originIndex,currentIndex:t2.currentIndex,columnIdsAtStart:t2.columnIds}},subscribe:function(t3,o2){if("function"!=typeof o2)return s2("subscribe","listener is not a function; ignored."),()=>{};if("started"===t3){const t4=e2;return t4.add(o2),()=>{t4.delete(o2)}}if("moved"===t3){const t4=i2;return t4.add(o2),()=>{t4.delete(o2)}}if("committed"===t3){const t4=n2;return t4.add(o2),()=>{t4.delete(o2)}}if("cancelled"===t3){const t4=r2;return t4.add(o2),()=>{t4.delete(o2)}}return s2("subscribe",`unknown channel "${t3+""}"; ignored.`),()=>{}}}})();columnReorderPointerId=null;columnReorderEscHandler=null;columnReorderDocPointerMoveHandler=null;columnReorderDocPointerUpHandler=null;columnReorderDocPointerCancelHandler=null;columnReorderHeaderEl=null;columnReorderHeaderRowEl=null;columnReorderPreviewEl=null;columnReorderStartRects=[];columnReorderStartPointerX=0;columnReorderPointerToRightEdge=0;columnReorderPointerOffsetX=0;columnReorderPointerOffsetY=0;columnHidden=new Set;columnVisibilityController=(function(){const t2=new Set,e2=new Set,i2=new Set;function n2(t3,e3){console.warn(`[Syidax] sy-grid: column-visibility ${t3} ${e3}`)}function r2(t3){return"string"==typeof t3&&t3.length>0}function s2(){return new Set(t2)}function o2(t3){const i3=Array.from(e2);for(let e3=0;e3<i3.length;e3++)try{i3[e3](t3)}catch{n2("emit","subscriber on 'changed' threw; continuing.")}}return{hide:function(e3){r2(e3)?t2.has(e3)||(t2.add(e3),o2({kind:"changed",colId:e3,hidden:true,hiddenIds:s2()})):n2("hide",`received non-string colId "${e3+""}"; ignored.`)},show:function(e3){r2(e3)?t2.has(e3)&&(t2.delete(e3),o2({kind:"changed",colId:e3,hidden:false,hiddenIds:s2()})):n2("show",`received non-string colId "${e3+""}"; ignored.`)},toggle:function(e3){return r2(e3)?t2.has(e3)?(t2.delete(e3),o2({kind:"changed",colId:e3,hidden:false,hiddenIds:s2()}),false):(t2.add(e3),o2({kind:"changed",colId:e3,hidden:true,hiddenIds:s2()}),true):(n2("toggle",`received non-string colId "${e3+""}"; ignored.`),t2.has(e3))},setHidden:function(e3){if(!Array.isArray(e3))return void n2("setHidden","received non-array input; ignored.");const i3=new Set;let l2=0;for(let t3=0;t3<e3.length;t3++){const n3=e3[t3];r2(n3)?i3.add(n3):l2++}l2>0&&n2("setHidden",`skipped ${l2} non-string entr${1===l2?"y":"ies"} in input.`);const a2=[];for(const e4 of i3)t2.has(e4)||a2.push(e4);const d2=[];for(const e4 of t2)i3.has(e4)||d2.push(e4);if(0!==a2.length||0!==d2.length){for(let e4=0;e4<a2.length;e4++){const i4=a2[e4];t2.add(i4),o2({kind:"changed",colId:i4,hidden:true,hiddenIds:s2()})}for(let e4=0;e4<d2.length;e4++){const i4=d2[e4];t2.delete(i4),o2({kind:"changed",colId:i4,hidden:false,hiddenIds:s2()})}}},reset:function(){0!==t2.size&&(t2.clear(),(function(t3){const e3=Array.from(i2);for(let i3=0;i3<e3.length;i3++)try{e3[i3](t3)}catch{n2("emit","subscriber on 'reset' threw; continuing.")}})({kind:"reset",hiddenIds:s2()}))},isHidden:function(e3){return t2.has(e3)},getHidden:function(){return s2()},subscribe:function(t3,r3){if("function"!=typeof r3)return n2("subscribe","listener is not a function; ignored."),()=>{};if("changed"===t3){const t4=e2;return t4.add(r3),()=>{t4.delete(r3)}}if("reset"===t3){const t4=i2;return t4.add(r3),()=>{t4.delete(r3)}}return n2("subscribe",`unknown channel "${t3+""}"; ignored.`),()=>{}}}})();columnVisibilityChangedUnsubscribe=null;columnVisibilityResetUnsubscribe=null;columnVisibilityForwardSuppressed=false;columnVisibilityEventSource="api";withColumnVisibilitySource(t2,e2){const i2=this.columnVisibilityEventSource;this.columnVisibilityEventSource=t2;try{return e2()}finally{this.columnVisibilityEventSource=i2}}sortController=(function(){function t2(t3){return"asc"===t3?"ascending":"desc"===t3?"descending":"none"}return{getIndicatorState:function(e2,i2){return null!==i2&&i2.field===e2?{direction:i2.direction,isActive:true,sortIndex:null,ariaSort:t2(i2.direction)}:{direction:null,isActive:false,sortIndex:null,ariaSort:"none"}},getModelIndicatorState:function(e2,i2){for(let n2=0;n2<i2.length;n2++)if(i2[n2].field===e2)return{direction:i2[n2].direction,isActive:true,sortIndex:i2.length>1?n2+1:null,ariaSort:t2(i2[n2].direction)};return{direction:null,isActive:false,sortIndex:null,ariaSort:"none"}},getNextSort:function(t3,e2){return null===e2||e2.field!==t3?{field:t3,direction:"asc"}:"asc"===e2.direction?{field:t3,direction:"desc"}:null},ariaLabel:function(t3,e2,i2,n2){const r2="number"==typeof i2&&"number"==typeof n2&&n2>1?`, sort priority ${i2} of ${n2}`:"";return null===t3?"Sort by "+e2:"asc"===t3?`Sorted ascending by ${e2}${r2}, click to sort descending`:`Sorted descending by ${e2}${r2}, click to unsort`}}})();autoSizeCanvasCache=new Map;textEditorState=null;numberEditorState=null;dateEditorState=null;calendarState=null;calendarFocusedIso=null;calendarKbdNavigated=false;calendarAnchor=null;selectEditorState=null;selectTriggerEl=null;autocompleteEditorState=null;autocompleteInputEl=null;autocompleteAnchor=null;richSelect=null;richSelectArming=false;richSelectTick=0;richSelectArmed(){return null!==this.richSelect||Hl("rich-select")?(null!==this.richSelect||this.richSelectArming||(this.richSelectArming=true,this.getChunkLoader().load("rich-select").then((t2=>{this.richSelect=t2,this.richSelectTick+=1})).catch((()=>{this.richSelectArming=false}))),this.richSelect):null}armRichSelect(){null!==this.richSelect||this.richSelectArming||this.effectiveColumns().some((t2=>null==t2.cellEditor&&"autocomplete"===t2.editor))&&this.proAllowed("grid.rich-select","columnDefs")&&this.proModuleAvailable("grid.rich-select","columnDefs","rich-select")&&this.richSelectArmed()}checkboxEditorState=null;checkboxEditorEl=null;textareaEditorState=null;textareaEditorEl=null;largeTextConfig=null;largeTextAnchor=null;largeTextAnchorEl=null;cellRendererRegistry=(function(t2={}){const e2=new Map;if(false!==t2.includeBuiltins)for(const[t3,i2]of[["text",il],["number",nl],["currency",rl],["percent",sl],["date",ol],["boolean",ll],["link",al],["progressBar",dl],["sparkline",cl],["miniChart",hl],["image",fl],["icon",gl]])e2.set(t3,i2);return{register:function(t3,i2){return"string"!=typeof t3||0===t3.trim().length?(console.warn("[sy-grid] renderer-registry.register: name must be a non-empty string."),false):"function"!=typeof i2?(console.warn(`[sy-grid] renderer-registry.register("${t3}"): renderer must be a function.`),false):e2.has(t3)?(console.warn(`[sy-grid] renderer-registry.register("${t3}"): name already registered; use replace() to overwrite.`),false):(e2.set(t3,i2),true)},replace:function(t3,i2){return"string"==typeof t3&&0!==t3.trim().length&&"function"==typeof i2&&!!e2.has(t3)&&(e2.set(t3,i2),true)},unregister:function(t3){return"string"==typeof t3&&!!e2.has(t3)&&(e2.delete(t3),true)},get:function(t3){return"string"!=typeof t3?null:e2.get(t3)??null},has:function(t3){return"string"==typeof t3&&e2.has(t3)},list:function(){return Array.from(e2.keys())},clear:function(){e2.clear()}}})();cellRendererVersion=0;cellRendererWarnedFields=new Set;pendingLifecycleRenderers=new Map;lifecycleRendererReconcileSequence=0;lifecycleRendererPresentationVersion=0;lifecycleRendererPresentations=new Map;rendererPresentationsByCoordinate=new Map;focusedLifecycleRenderer=null;lifecycleRendererFocusSequence=0;textEditorEl=null;selectionState=cr("none");rangeAnchorRowId=null;hoverState={hoveredRowId:null};pendingHoverRowId=null;hoverRafHandle=null;viewportMouseMoveHandler=null;viewportMouseLeaveHandler=null;viewportHoverEl=null;viewportSize=null;scrollTop=0;virtualWindow=null;virtualWindowRowCount=0;virtualWindowViewportHeight=0;columnWindowLive=false;scrollPassViewportHeight=null;virtualWindowDetailSet=null;rowHeightCache=null;lastMeasuredRowsRef=null;lastMeasuredLayoutSig="";measuringAutoHeight=false;autoHeightRenderMode=false;autoHeightVersion=0;csvWizard=null;csvFileInputEl=null;csvImportButtonEl=null;csvWizardEl=null;csvWizardFocused=false;detachVirtualScroll=null;resizeObserver=null;viewportEl=null;infiniteCache=null;serverSideState=null;ssrmSelection=null;ssrmSelectionProjection=null;ssrmProjectionSource=null;viewportState=null;viewportGen=0;serverDisplayRowsCache=null;cachedPivot=null;serverSideGen=0;lastServerFetchWindow=null;ssrmRegistry=null;ssrmEpoch=0;ssrmRegistryEpoch=-1;ssrmRuntime=null;ssrmRefreshFloors=new Map;ssrmDiscardedStaleLandings=0;serverPivotResultsStale=false;lastFetchedWindow=null;infiniteCacheGen=0;quickFilterDebounceTimer=null;loadingDebouncer=Pn(200);loadingDebounceTimer=null;pendingScrollIntoView=null;quickFilterPendingValue="";quickFilterInputEl=null;async getApi(){return await this.ensureLiveObjects(),this.host}async getColumn(t2){return(await this.ensureLiveObjects()).getColumn(t2)}async getColumns(){return(await this.ensureLiveObjects()).getColumns()}async getColumnGroup(t2){return(await this.ensureLiveObjects()).getColumnGroup(t2)}async getColumnGroups(){return(await this.ensureLiveObjects()).getColumnGroups()}async getRow(t2){return(await this.ensureLiveObjects()).getRow(t2)}async getDisplayedRowAtIndex(t2){return(await this.ensureLiveObjects()).getDisplayedRowAtIndex(t2)}async forEachRow(t2){(await this.ensureLiveObjects()).forEachRow(t2)}async forEachDisplayedRow(t2){(await this.ensureLiveObjects()).forEachDisplayedRow(t2)}async ensureLiveObjects(){return null!==this.liveObjectModel?(this.liveObjectModel.reconcile(),this.liveObjectModel):(this.liveObjectModelPromise??=this.getChunkLoader().load("live-api").then((t2=>{const{GridLiveObjectModel:e2}=t2;let i2=null;return this.liveObjectModel=new e2({isConnected:()=>false!==this.host?.isConnected,columns:()=>(i2=this.liveColumnSnapshotGraph()).columns,columnGroups:()=>{const t3=(i2??this.liveColumnSnapshotGraph()).groups;return i2=null,t3},rows:()=>this.liveRowSnapshotGraph().rows,mutate:(t3,e3)=>this.applyLiveMutation(t3,e3),emitGridEvent:t3=>this.gridObjectChanged.emit(t3),mintMutationId:this.mintGridMutationId,columnFilter:{getModel:t3=>this.getColumnFilterModel(t3),setModel:(t3,e3)=>this.setColumnFilterModel(t3,e3)}}),this.liveObjectModel})).catch((t2=>{throw this.liveObjectModelPromise=null,t2})),this.liveObjectModelPromise)}publishLiveObjectChange(t2,e2,i2,n2,r2={}){this.publishLiveObjectChanges([[t2,e2,i2,n2,r2]])}publishLiveObjectChanges(t2){this.liveMutationDepth>0||0===t2.length||this.liveObjectModel?.publishBatch(t2.map((([t3,e2,i2,n2,r2])=>({kind:t3,id:e2,type:i2,source:n2,detail:r2}))))}publishLiveRowExpansions(t2,e2){if(0===t2.length)return;const i2=this.liveRowSnapshotGraph();this.publishLiveObjectChanges(t2.flatMap((t3=>{const n2=i2.byId.get(t3.id);return void 0===n2||n2.expanded===t3.expanded?[]:[["row",t3.id,"expandedChanged",e2,{before:t3.expanded,after:n2.expanded,data:n2.data??void 0}]]})))}resolveGridCellValue(t2){return Z({...t2,context:this.context,api:this.host})}formatGridCellValue(t2){return lt({...t2,context:this.context,api:this.host})}liveColumnId(t2){return"string"==typeof t2.colId&&t2.colId.length>0?t2.colId:t2.field}liveColumnSnapshotGraph(){const t2=this.columnDefsSource(),e2=new Map,i2=[],n2=new Map,r2=new Map,s2=(t3,o3)=>{t3.forEach(((t4,l3)=>{const a3=""===o3?l3+"":`${o3}.${l3}`;if(In(t4)){const e3=t4.groupId??a3;return r2.set(e3,(r2.get(e3)??0)+1),void s2(t4.children,a3)}const d3=this.resolveColDef(t4);if(null===d3)return;e2.set(t4,d3),i2.push(d3);const u3=this.liveColumnId(d3);n2.set(u3,(n2.get(u3)??0)+1)}))};s2(t2,"");const o2=new Set([...n2].filter((([,t3])=>t3>1)).map((([t3])=>t3))),l2=new Set([...r2].filter((([,t3])=>t3>1)).map((([t3])=>t3)));o2.size>0&&!this.warnedLiveDuplicateColumnIds&&(this.warnedLiveDuplicateColumnIds=true,console.warn(`[SG:LIVE:COL] dup=${o2.size}; omit`)),l2.size>0&&!this.warnedLiveDuplicateColumnGroupIds&&(this.warnedLiveDuplicateColumnGroupIds=true,console.warn(`[SG:LIVE:GROUP] dup=${l2.size}; omit`));const a2=0===o2.size?i2:i2.filter((t3=>!o2.has(this.liveColumnId(t3)))),d2=[],u2=new Map,c2=new Set(this.effectiveColumns().map((t3=>this.liveColumnId(t3)))),h2=(t3,i3,n3)=>{const r3=[],s3=[];return t3.forEach(((t4,a3)=>{const f2=""===n3?a3+"":`${n3}.${a3}`;if(!In(t4)){const n4=e2.get(t4);if(void 0===n4)return;const l3=this.liveColumnId(n4);if(o2.has(l3))return;return null!==i3&&u2.set(l3,i3),r3.push(l3),void s3.push({kind:"column",id:l3})}const g2=t4.groupId??f2,p2=!l2.has(g2),y2=h2(t4.children,p2?g2:i3,f2),b2=y2.leafIds;if(!p2)return r3.push(...b2),void s3.push(...y2.childIds);d2.push({id:g2,definition:t4,childIds:y2.childIds,leafIds:b2,parentId:i3,expanded:!this.collapsedGroups.has(g2),padding:!Mn(t4),displayed:b2.some((t5=>c2.has(t5)))}),r3.push(...b2),s3.push({kind:"columnGroup",id:g2})})),{leafIds:r3,childIds:s3}};return h2(t2,null,""),{columns:a2.map((t3=>{const e3=this.liveColumnId(t3),i3=t3.field,n3=this.activeSortModel.findIndex((t4=>t4.field===i3));return{id:e3,definition:t3,actualWidth:this.resolveEffectiveColumnWidth(i3),visible:c2.has(e3),pinned:this.pinSideOf(t3),sort:n3<0?null:{direction:this.activeSortModel[n3].direction,index:n3},aggFunc:"string"==typeof t3.aggFunc?t3.aggFunc:null,pivotActive:this.pivotModeActive()&&(this.pivotValueColumns??[]).includes(i3),parentId:u2.get(e3)??null}})),groups:d2}}liveRowSnapshotGraph(){const t2=this.getDisplayRows(),e2=this.serverSideModeActive()?"server":this.viewportModeActive()?"viewport":this.infiniteModeActive()?"infinite":null,i2=[...Object.values(this.engineRowsInputs()),t2,this.selectionState.selectedRowIds,e2,this.serverSideDatasource,this.serverSideGroupCols,this.serverSideState,this.viewportDatasource,this.viewportState,this.datasource,this.infiniteCache],n2=this.liveRowSnapshotCache;if(null!==n2&&gi(n2.inputs,i2))return n2.graph;const r2=null===e2?this.rowData??[]:[],s2=new Set,o2=new Set,l2=(t3,e3,i3)=>{let n3;if("function"!=typeof this.getRowId){if(!i3)return null;n3=e3}else try{n3=this.getRowId(t3)}catch{}if(!("string"==typeof n3&&n3.length>0||"number"==typeof n3&&Number.isFinite(n3)))return this.warnedLiveInvalidRowIds||(this.warnedLiveInvalidRowIds=true,console.warn("[SG:LIVE:ROW] bad id/throw; omit")),null;const r3=n3;return s2.has(r3)?o2.add(r3):s2.add(r3),r3},a2=null===e2?r2:t2,d2=a2.map(((t3,i3)=>null===t3||"object"!=typeof t3||null!==e2&&this.isSentinelDisplayRow(t3)?null:l2(t3,i3,null===e2)));o2.size>0&&!this.warnedLiveDuplicateRowIds&&(this.warnedLiveDuplicateRowIds=true,console.warn(`[SG:LIVE:ROW] dup=${o2.size}; omit`));const u2=[],c2=new Map,h2=new Map,f2=(t3,e3)=>{const i3=`${t3}\0${e3}`,n3=h2.get(i3);if(void 0!==n3)return n3;const r3=`\0sy-grid:${t3}:${e3}`;let o3=r3,l3=0;for(;s2.has(o3);)o3=`${r3}#${++l3}`;return s2.add(o3),h2.set(i3,o3),o3},g2=(t3,e3)=>{const i3=c2.get(t3);if(i3)return i3;const n3={id:t3,sourceIndex:null,displayIndex:null,data:null,parentId:null,childIds:[],group:false,leaf:false,master:false,detail:false,level:0,route:[],selected:false,expanded:false,...e3};return c2.set(t3,n3),u2.push(n3),n3},p2=(t3,e3)=>{t3.displayIndex=e3},y2=(t3,e3)=>{if(null===t3)return;const i3=c2.get(t3);i3&&!i3.childIds.includes(e3)&&(i3.childIds=[...i3.childIds,e3])},b2=new WeakMap,m2=t3=>b2.get(t3)??null,w2=this.masterDetailActive(),v2="server"===e2?this.serverSideFlatten():[],x2=[];a2.forEach(((t3,i3)=>{if(null===t3||"object"!=typeof t3||null!==e2&&this.isSentinelDisplayRow(t3))return;const n3=d2[i3];if(null!==n3&&o2.has(n3))return;if(null===n3&&null===e2)return;const r3=v2[i3],s3=n3??f2(e2,"leaf"===r3?.kind?`${r3.parentPath}\0${r3.childIndex}`:i3+""),l3=g2(s3,{data:t3,leaf:true,selected:this.selectionState.selectedRowIds.has(s3)});null===e2?(l3.sourceIndex=i3,l3.master=w2,l3.expanded=this.expandedDetailRows.has(s3),b2.set(t3,b2.has(t3)?null:l3)):(p2(l3,i3),x2[i3]=l3)}));const _2=this.treeSurface(),C2=null===_2?this.effectiveGroupFields():null,k2=t3=>{const e3=t3.level??0,i3=(t3.groupKeys??[null===t3.key?pi:t3.key+""]).map(String);return{id:f2("group",`${e3}:${Si(i3)}`),route:i3,level:e3,expandKey:t3.key}},S2=new Map,I2=(t3,i3,n3,r3,s3)=>{const o3=xi(i3),l3=t3&&"object"==typeof t3?m2(t3):null,a3=l3?.id??f2("tree",o3),d3=i3.length>1?xi(i3.slice(0,-1)):null,u3=null===d3?null:S2.get(d3)??("server"===e2?f2("tree",d3):null),c3=l3??g2(a3,{data:t3});return c3.parentId=u3,c3.group=n3,c3.leaf=!n3,c3.level=r3,c3.route=i3,c3.expanded=s3,y2(u3,c3.id),S2.has(o3)||S2.set(o3,c3.id),c3};if(null!==_2){const{createTreeDataStage:t3}=this.treeDataEngine(),e3=si(r2,[t3({getDataPath:_2.getDataPath,getRowLabel:_2.getRowLabel,getSegmentLabel:_2.getSegmentLabel})]).rows;for(const t4 of e3){if(!wi(t4))continue;const e4=t4.path.map(String),i3=xi(e4);I2(t4.row,e4,t4.hasChildren,t4.depth,!this.collapsedTreeNodes.has(i3))}}else if(null!==C2){const{createGroupStage:t3,createMultiGroupStage:e3}=this.groupPivotEngine(),i3=si(r2,[C2.length>=2?e3({groupFields:C2}):t3({field:C2[0]})]).rows,n3=[];for(const t4 of i3){if(yi(t4)){const e5=k2(t4);n3.length=e5.level;const i5=e5.level>0?n3[e5.level-1]??null:null,r3=g2(e5.id,{parentId:i5,group:true,level:e5.level,route:e5.route,expandKey:e5.expandKey,expanded:null===e5.expandKey?!this.collapsedRowGroups.has(pi):!this.collapsedRowGroups.has(e5.expandKey)});r3.parentId=i5,y2(i5,r3.id),n3[e5.level]=r3.id;continue}if(this.isSentinelDisplayRow(t4))continue;const e4=m2(t4);if(!e4)continue;const i4=n3.length>0?n3[n3.length-1]:null;e4.parentId=i4,e4.level=n3.length,y2(i4,e4.id)}}t2.forEach(((t3,e3)=>{if(yi(t3)){const i4=k2(t3),n4=c2.get(i4.id);return void(n4&&(p2(n4,e3),n4.expanded=t3.expanded))}if(wi(t3)){const i4=t3.path.map(String),n4=I2(t3.row,i4,t3.hasChildren,t3.depth,t3.expanded);return void p2(n4,e3)}if(_i(t3)){const i4=c2.get(t3.forId);if(!i4)return;const n4=f2("detail",(t4=>"number"==typeof t4?"number:"+t4:"string:"+t4)(t3.forId)),r3=g2(n4,{parentId:t3.forId,detail:true,level:i4.level+1,route:[t3.forId+""],expanded:true});return p2(r3,e3),void y2(t3.forId,r3.id)}if(this.isSentinelDisplayRow(t3))return;const i3=x2[e3]??m2(t3);if(!i3)return;p2(i3,e3);const n3=v2[e3];if("leaf"===n3?.kind&&n3.groupKeys.length>0){const t4=n3.groupKeys.map(String),e4=f2("tree",xi(t4));c2.has(e4)&&(i3.parentId=e4,i3.level=t4.length,i3.route=t4,y2(e4,i3.id))}}));const R2={rows:u2,byId:c2};return this.liveRowSnapshotCache={inputs:i2,graph:R2},R2}liveRowsForPublication(t2){return this.liveMutationDepth>0||null===this.liveObjectModel?[]:this.liveRowSnapshotGraph().rows.filter(t2)}async applyLiveMutation(t2,e2){if(e2.aborted)return this.cancelledLiveMutation();this.liveMutationDepth+=1;try{const i2=await this.applyLiveMutationUnchecked(t2,e2);return e2.aborted?this.cancelledLiveMutation(i2.eventType):i2}finally{this.liveMutationDepth-=1}}cancelledLiveMutation(t2="dataChanged"){return{applied:false,eventType:t2}}async completeLiveMutation(t2,e2,i2,n2,r2,s2=Object.is){if(i2.aborted)return this.cancelledLiveMutation(t2);if(await n2(),i2.aborted)return this.cancelledLiveMutation(t2);const o2=await r2();return i2.aborted?this.cancelledLiveMutation(t2):{applied:!s2(e2,o2),eventType:t2,before:e2,after:o2}}liveWritableColumn(t2){const e2=Rn(this.columnDefs??[]).map((t3=>this.resolveColDef(t3))).filter((e3=>null!==e3&&e3.field===t2));if(1!==e2.length)return null;const i2=e2[0];return true===i2.editable&&"function"!=typeof i2.valueGetter&&"string"!=typeof i2.valueGetter&&"string"!=typeof i2.formula?i2:null}liveRowWriteAllowed(t2,e2,i2,n2){const r2=t2.displayIndex??t2.sourceIndex??0;if(void 0!==n2){const t3=this.liveWritableColumn(n2);return null!==t3&&this.passesEditPolicy(r2,t3,e2)}const s2=new Set([...Object.keys(e2),...Object.keys(i2)]);for(const t3 of s2){if(Object.is(e2[t3],i2[t3]))continue;if(t3.includes("."))return false;const n3=this.liveWritableColumn(t3);if(null===n3||!this.passesEditPolicy(r2,n3,e2))return false}return true}async applyLiveMutationUnchecked(t2,e2){if("column"===t2.kind){const i3=this.liveColumnSnapshotGraph().columns.find((e3=>e3.id===t2.id)),n3=i3?.definition.field??null;if(null===n3)return{applied:false,eventType:"dataChanged"};if("setWidth"===t2.type)return this.completeLiveMutation("widthChanged",await this.getColumnWidth(n3),e2,(()=>this.setColumnWidth(n3,t2.value)),(()=>this.getColumnWidth(n3)));if("setVisible"===t2.type){const i4=!this.columnHidden.has(n3);return this.completeLiveMutation("visibilityChanged",i4,e2,(()=>t2.value?this.showColumn(n3):this.hideColumn(n3)),(()=>!this.columnHidden.has(n3)))}if("setPinned"===t2.type)return this.completeLiveMutation("pinnedChanged",await this.getColumnPinned(n3),e2,(()=>this.setColumnPinned(n3,t2.value)),(()=>this.getColumnPinned(n3)));if("setSort"===t2.type){const i4=this.activeSortModel.map((t3=>({...t3}))),r4=t2.multi?[...i4.filter((t3=>t3.field!==n3)),...t2.value?[{field:n3,direction:t2.value}]:[]]:t2.value?[{field:n3,direction:t2.value}]:[];return this.completeLiveMutation("sortChanged",i4,e2,(()=>this.setSortModel(r4)),(()=>this.activeSortModel.map((t3=>({...t3})))),Zi)}const r3=i3?.aggFunc??null;if(r3===t2.value||this.pivotModeActive())return{applied:false,eventType:"aggregationChanged",before:r3,after:r3};const s3=e3=>e3.map((e4=>In(e4)?{...e4,children:s3([...e4.children])}:this.liveColumnId(e4)===t2.id?{...e4,aggFunc:t2.value??void 0}:e4));return this.columnDefs=s3([...this.columnDefs??[]]),{applied:true,eventType:"aggregationChanged",before:r3,after:t2.value}}if("columnGroup"===t2.kind){const i3=!this.collapsedGroups.has(t2.id);return this.completeLiveMutation("expandedChanged",i3,e2,(()=>this.setColumnGroupOpened(t2.id,t2.value)),(()=>!this.collapsedGroups.has(t2.id)))}const i2=this.liveRowSnapshotGraph().byId.get(t2.id);if(!i2||null===i2.sourceIndex&&"setExpanded"!==t2.type)return{applied:false,eventType:"dataChanged"};if("setSelected"===t2.type){const n3=this.selectionState.selectedRowIds.has(t2.id),r3=new Set(this.selectionState.selectedRowIds);if(t2.value?r3.add(t2.id):r3.delete(t2.id),e2.aborted)return this.cancelledLiveMutation("selectionChanged");if(await this.selectRows([...r3]),e2.aborted)return this.cancelledLiveMutation("selectionChanged");const s3=this.selectionState.selectedRowIds.has(t2.id);return{applied:n3!==s3,eventType:"selectionChanged",before:n3,after:s3,data:i2.data??void 0}}if("setExpanded"===t2.type){const n3=i2.expanded;if(i2.group&&(null!==this.treeSurface()||this.serverSideModeActive())&&i2.route.length>0)await this.setTreeNodeExpanded(i2.route,t2.value);else if(i2.group&&void 0!==i2.expandKey)await this.setRowGroupExpanded(i2.expandKey,t2.value);else{if(!i2.master)return{applied:false,eventType:"expandedChanged",before:n3,after:n3};await this.setDetailRowExpanded(t2.id,t2.value)}if(e2.aborted)return this.cancelledLiveMutation("expandedChanged");const r3=this.liveRowSnapshotGraph().byId.get(t2.id)?.expanded??n3;return{applied:n3!==r3,eventType:"expandedChanged",before:n3,after:r3,data:i2.data??void 0}}if(this.serverSideModeActive()||null===i2.data||null===i2.sourceIndex)return{applied:false,eventType:"dataChanged"};if("setHeight"===t2.type){const e3=this.liveRowHeights.get(t2.id)??null;return null===t2.value?this.liveRowHeights.delete(t2.id):this.liveRowHeights.set(t2.id,t2.value),this.rowHeightCache?.reset(),this.recomputeVirtualWindow(),{applied:e3!==t2.value,eventType:"heightChanged",before:e3,after:t2.value,data:i2.data}}if("focus"===t2.type||"startEditing"===t2.type){if(null===i2.displayIndex)return{applied:false,eventType:"focus"===t2.type?"focused":"editingStarted"};const e3=this.effectiveColumns(),n3=void 0===t2.field?0:e3.findIndex((e4=>e4.field===t2.field||this.liveColumnId(e4)===t2.field));return n3<0?{applied:false,eventType:"focus"===t2.type?"focused":"editingStarted"}:"startEditing"===t2.type&&null===this.liveWritableColumn(e3[n3].field)?{applied:false,eventType:"editingStarted",field:e3[n3].field,data:i2.data}:(this.commitActiveCell({rowIndex:i2.displayIndex,colIndex:n3}),{applied:"focus"===t2.type||await this.requestCellEdit(i2.displayIndex,n3,"api",null),eventType:"focus"===t2.type?"focused":"editingStarted",field:e3[n3]?.field,data:i2.data})}if("setData"!==t2.type&&"updateData"!==t2.type&&"setValue"!==t2.type)return{applied:false,eventType:"dataChanged"};const n2=i2.data,r2="setData"===t2.type?{...t2.value}:"updateData"===t2.type?{...n2,...t2.value}:X(n2,t2.field,t2.value),s2="setValue"===t2.type?t2.field:void 0,o2=void 0===s2?"dataChanged":"valueChanged",l2=void 0===s2?n2:Q(n2,s2);let a2=false;if("function"==typeof this.getRowId)try{a2=Object.is(this.getRowId(r2),i2.id)}catch{a2=false}if(r2===n2||!this.liveRowWriteAllowed(i2,n2,r2,s2)||!a2)return{applied:false,eventType:o2,before:l2,after:l2,field:s2,data:n2};const d2=await this.applyTransaction({update:[r2]},"live-row-ref");if(e2.aborted)return this.cancelledLiveMutation(o2);const u2=1===d2.updated.length,c2=u2?d2.updated[0].row:n2;return{applied:u2,eventType:o2,before:l2,after:void 0===s2?c2:Q(c2,s2),field:s2,data:c2}}setupInternalSubscriptions(){null===this.undoRedoUnsubscribe&&(this.undoRedoUnsubscribe=this.undoRedoStack.subscribe((t2=>{if("cleared"===t2.kind)return this.historyChanged.emit({kind:"cleared",depth:{undo:0,redo:0}}),void this.recordAudit({kind:"history",source:"local",action:"cleared",undoDepth:0,redoDepth:0});this.historyChanged.emit({kind:t2.kind,depth:t2.depth,label:t2.entry.label}),this.recordAudit({kind:"history",source:"undone"===t2.kind?"undo":"redone"===t2.kind?"redo":"local",action:t2.kind,label:t2.entry.label,undoDepth:t2.depth.undo,redoDepth:t2.depth.redo})}))),null===this.columnVisibilityChangedUnsubscribe&&(this.columnVisibilityChangedUnsubscribe=this.columnVisibilityController.subscribe("changed",(t2=>{if(this.columnHidden=new Set(t2.hiddenIds),this.alignedNotify(),this.columnVisibilityForwardSuppressed)return;this.columnVisibilityChanged.emit({colId:t2.colId,hidden:t2.hidden,hiddenIds:Array.from(t2.hiddenIds)});const e2=this.resolvedColumnDefs().find((e3=>e3.field===t2.colId||this.liveColumnId(e3)===t2.colId));this.publishLiveObjectChange("column",e2?this.liveColumnId(e2):t2.colId,"visibilityChanged",this.columnVisibilityEventSource,{before:t2.hidden,after:!t2.hidden})}))),null===this.columnVisibilityResetUnsubscribe&&(this.columnVisibilityResetUnsubscribe=this.columnVisibilityController.subscribe("reset",(t2=>{const e2=new Set(this.columnHidden);this.columnHidden=new Set(t2.hiddenIds),this.alignedNotify(),this.columnVisibilityForwardSuppressed||(this.columnVisibilityChanged.emit({colId:"*",hidden:false,hiddenIds:Array.from(t2.hiddenIds)}),this.publishLiveObjectChanges(this.resolvedColumnDefs().filter((i2=>e2.has(i2.field)&&!t2.hiddenIds.has(i2.field))).map((t3=>["column",this.liveColumnId(t3),"visibilityChanged",this.columnVisibilityEventSource,{before:false,after:true}]))))})))}proGateRef=null;licenseRevision=0;licenseRenderTick=0;proGate(){return null===this.proGateRef&&(this.proGateRef=new Ot(this)),this.proGateRef}engineAwaitingLicense=false;proAllowed(t2,e2){return this.proGate().allowed(t2,e2)}proWorkAllowed(t2,e2){return this.proGate().workAllowed(t2,e2)}proNewWorkAllowed(t2,e2){return this.proGate().newWorkAllowed(t2,e2)}proModuleAvailable(t2,e2,i2){return this.proGate().moduleAvailable(t2,e2,i2,Hl(i2))}proUiChunks=Object.freeze({});proUiChunksArming=new Set;proUiChunkTick=0;proUiChunk(t2,e2,i2){return this.proModuleAvailable(e2,i2,t2)?this.proUiChunks[t2]??null:null}armProUiChunk(t2,e2,i2){this.proModuleAvailable(e2,i2,t2)&&(void 0!==this.proUiChunks[t2]||this.proUiChunksArming.has(t2)||this.proGate().frozen(e2)||(this.proUiChunksArming.add(t2),this.getChunkLoader().load(t2).then((e3=>{this.proUiChunksArming.delete(t2),this.acceptProUiChunk(t2,e3)}),(()=>{this.proUiChunksArming.delete(t2)}))))}armProUiChunks(){if(!this.usingColumnDefsApi())return;this.conditionBuilder&&this.proAllowed("grid.advanced-filter","conditionBuilder")&&this.armProUiChunk("pro-filters","grid.advanced-filter","conditionBuilder"),this.activeConditionTree&&this.proAllowed("grid.advanced-filter","setConditionFilter")&&this.armProUiChunk("pro-filters","grid.advanced-filter","setConditionFilter");const t2=this.declaredProFilterKind();null!==t2&&this.armProUiChunk("pro-filters","set"===t2?"grid.set-filter":"grid.multi-filter","columnDefs"),true===this.contextMenu&&this.proAllowed("grid.context-menu","contextMenu")&&this.armProUiChunk("pro-panels","grid.context-menu","contextMenu"),true===this.columnMenu&&this.proAllowed("grid.column-menu","columnMenu")&&this.armProUiChunk("pro-panels","grid.column-menu","columnMenu"),true===this.find&&this.proAllowed("grid.find","find")&&this.armProUiChunk("pro-panels","grid.find","find"),null!==this.sideBarSpec()&&this.armProUiChunk("pro-panels","grid.tool-panels","sideBar"),this.cellNotes&&this.proAllowed("grid.cell-notes","cellNotes")&&this.armProUiChunk("pro-panels","grid.cell-notes","cellNotes"),this.batchEditToolbar&&this.proAllowed("grid.batch-editing","batchEditToolbar")&&this.armProUiChunk("pro-panels","grid.batch-editing","batchEditToolbar"),null!==this.statusBarSpec()&&this.armProUiChunk("pro-panels","grid.status-bar","statusBar"),true===this.rangeSelection&&this.proAllowed("grid.range-selection","rangeSelection")&&this.armProUiChunk("range-selection","grid.range-selection","rangeSelection")}declaredProFilterKind(){for(const t2 of this.effectiveColumns()){const e2=this.filterUiKind(t2.filter);if("set"===e2||"multi"===e2)return e2}for(const t2 of Object.values(this.activeFilters)){if("set"===t2.kind&&this.filterKindAllowed("set",true))return"set";if("multi"===t2.kind&&this.filterKindAllowed("multi",t2.spec.parts.some((t3=>"set"===t3.kind))))return"multi"}return null}async loadProUiChunk(t2){const e2=this.proUiChunks[t2];if(void 0!==e2)return e2;const i2=await this.getChunkLoader().load(t2);return this.acceptProUiChunk(t2,i2),i2}loadProFiltersChunk(){return this.loadProUiChunk("pro-filters")}loadProPanelsChunk(){return this.loadProUiChunk("pro-panels")}loadRangeSelectionChunk(){return this.loadProUiChunk("range-selection")}acceptProUiChunk(t2,e2){void 0===this.proUiChunks[t2]&&void 0!==e2&&(this.proUiChunks=Object.freeze({...this.proUiChunks,[t2]:e2}),"range-selection"===t2&&this.clampRangesAfterChange(),this.hasDisconnected||("ssrm-ops"===t2&&null===this.serverSideState&&this.serverSideModeActive()&&(this.initServerSide(),this.recomputeVirtualWindow()),"viewport-row-model"===t2&&null===this.viewportState&&this.viewportModeActive()&&(this.initViewport(),this.recomputeVirtualWindow())),this.proUiChunkTick+=1)}armProEngineChunks(){if(!this.usingColumnDefsApi())return;this.groupByDeclared()&&this.proAllowed("grid.row-grouping","groupBy")&&this.armGroupPivotChunkForGrouping(),true===this.groupPanel&&this.groupPanelActive()&&this.armGroupPivotChunkForGrouping(),true===this.pivotMode&&this.pivotAxesDeclared()&&this.proAllowed("grid.pivot","pivotMode")&&this.ensureGroupPivotChunkArmed();const t2=this.treeDeclaredMember();null!==t2&&this.proAllowed("grid.tree-data",t2)&&this.armProUiChunk("tree-data","grid.tree-data",t2),true===this.masterDetail&&this.proAllowed("grid.master-detail","masterDetail")&&this.armProUiChunk("master-detail","grid.master-detail","masterDetail"),null!=this.serverSideDatasource&&this.proAllowed("grid.server-side-row-model","serverSideDatasource")&&this.armProUiChunk("ssrm-ops","grid.server-side-row-model","serverSideDatasource"),null!=this.viewportDatasource&&this.proAllowed("grid.viewport-row-model","viewportDatasource")&&this.armProUiChunk("viewport-row-model","grid.viewport-row-model","viewportDatasource")}groupByDeclared(){if(!this.usingColumnDefsApi())return false;const t2=this.groupBy;return(Array.isArray(t2)?t2:[t2]).some((t3=>"string"==typeof t3&&""!==t3.trim()))}treeDeclaredMember(){if("function"==typeof this.getDataPath)return"getDataPath";const t2=this.treeIdField,e2=this.treeParentField;return"string"==typeof t2&&""!==t2&&"string"==typeof e2&&""!==e2?"treeIdField":null}armGroupPivotChunkForGrouping(){null!==this.groupPivotChunkModule||this.groupPivotChunkArming||this.proGate().frozen("grid.row-grouping")||this.ensureGroupPivotChunkArmed()}async residentGroupPivotChunk(){const t2=await this.loadGroupPivotChunk();return null===this.groupPivotChunkModule&&(this.groupPivotChunkModule=t2,this.groupPivotChunkTick+=1),t2}engineArriving(t2,e2,i2,n2){return!(n2||!Hl(i2))&&(function(t3){return t3.allowed&&t3.inBuild&&!t3.frozen})({allowed:this.proAllowed(t2,e2),inBuild:true,frozen:this.proGate().frozen(t2)})}treeEngineArriving(){if(!this.usingColumnDefsApi())return false;const t2=this.treeDeclaredMember();return null!==t2&&this.engineArriving("grid.tree-data",t2,"tree-data",void 0!==this.proUiChunks["tree-data"])}viewportEngineArriving(){return null!=this.viewportDatasource&&this.usingColumnDefsApi()&&null===this.viewportState&&this.engineArriving("grid.viewport-row-model","viewportDatasource","viewport-row-model",void 0!==this.proUiChunks["viewport-row-model"])}pivotWinsOnArrival(){return!(true!==this.pivotMode||!this.pivotAxesDeclared())&&!!this.engineArriving("grid.pivot","pivotMode","group-pivot",null!==this.groupPivotChunkModule)&&(function(t2){return t2.pivotArriving&&!t2.treeActive&&!t2.treeArriving&&!t2.serverActive&&!t2.windowedActive&&!t2.viewportArriving})({pivotArriving:true,treeActive:null!==this.treeSurface(),treeArriving:this.treeEngineArriving(),serverActive:this.serverSideModeActive(),windowedActive:null!==this.viewportState||null!==this.infiniteCache,viewportArriving:this.viewportEngineArriving()})}async groupEngineStep(){null===this.groupPivotChunkModule&&this.groupByDeclared()&&await this.residentGroupPivotChunk()}async treeEngineStep(){void 0===this.proUiChunks["tree-data"]&&null!==this.treeDeclaredMember()&&await this.loadProUiChunk("tree-data")}async masterDetailEngineStep(){void 0===this.proUiChunks["master-detail"]&&true===this.masterDetail&&this.usingColumnDefsApi()&&await this.loadProUiChunk("master-detail")}residentEngine(t2,e2){if(null==t2)throw Error(`[SG:G8] the '${e2}' Pro engine is not resident`);return t2}groupPivotEngine(){return this.residentEngine(this.groupPivotChunkModule,"group-pivot")}treeDataEngine(){return this.residentEngine(this.proUiChunks["tree-data"],"tree-data")}masterDetailEngine(){return this.residentEngine(this.proUiChunks["master-detail"],"master-detail")}ssrmEngine(){return this.residentEngine(this.proUiChunks["ssrm-ops"],"ssrm-ops")}viewportEngine(){return this.residentEngine(this.proUiChunks["viewport-row-model"],"viewport-row-model")}proFiltersHost(){return this}proPanelsHost(){return this}columnMenuHost(){return this}findHost(){return this}notesHost(){return this}batchUiHost(){return this}renderNotesToolbar(){return this.cellNotes&&this.proAllowed("grid.cell-notes","cellNotes")?this.proUiChunk("pro-panels","grid.cell-notes","cellNotes")?.renderNotesToolbar(this.notesHost())??null:null}renderBatchToolbar(){return this.batchEditToolbar&&this.proAllowed("grid.batch-editing","batchEditToolbar")?this.proUiChunk("pro-panels","grid.batch-editing","batchEditToolbar")?.renderBatchToolbar(this.batchUiHost())??null:null}renderFindToolbar(){return this.find&&this.proAllowed("grid.find","find")?this.proUiChunk("pro-panels","grid.find","find")?.renderFindToolbar(this.findHost())??null:null}renderColumnMenuButton(t2){return this.columnMenu&&this.proAllowed("grid.column-menu","columnMenu")?this.proUiChunk("pro-panels","grid.column-menu","columnMenu")?.renderColumnMenuButton(this.columnMenuHost(),t2)??null:null}rangeSelectionHost(){return this}auditProDeclarations(){const t2=(function(t3){const e2=[];for(const{prop:i2,feature:n2,rule:r2}of ue)he(r2,t3(i2))&&e2.push([n2,i2]);return e2})((t3=>this[t3]));for(const[e2,i2]of t2){if(!this.proAllowed(e2,i2))continue;const t3=fe[e2];void 0!==t3&&this.proModuleAvailable(e2,i2,t3),"engine"===i2&&this.proGate().moduleAvailable(e2,i2,"sy-grid-pro",false)}}proMethod(t2,e2){return this.proGate().method(t2,(t3=>this.proRuntimeResident(t3)),e2)}proRun(t2,e2){return this.proMethod(t2,{exec:()=>{},publish:e2})}proRuntimeResident(t2){if("chart-link"===t2)return null!==this.chartLinkRuntimeRef;const e2=this.chunkLoader;return null!==e2&&!e2.stats().disposed&&e2.isLoaded(t2)}licenseHostAttributes(){return this.proGateRef?.attributes()??{}}licenseSafePoint(){return null===this.editStore.active&&null===this.editingCell&&null===this.rowEditState.session}initialStateLicenseFeatures=null;formulaFreeze=new Xt;pivotRecomputeHeld=false;viewportFeedHeld=false;heldLicenseInits=new te;collabFreeze=new ie;retireLostFormulaAcceleration(){const t2=this.proGateRef;null!==t2&&null!==this.formulaDualEngine&&true===this.formulas&&t2.lost("grid.wasm-acceleration")&&!t2.frozen("grid.formulas")&&this.rebuildFormulaSheet()}accelerationPortRef=null;accelerationPort(){return this.accelerationPortRef??=(function(t2){const e2=new Set,i2=Object.freeze({allowed:()=>true===t2(),watch:t3=>(e2.add(t3),()=>{e2.delete(t3)})});return Bt.add(i2),{port:i2,notify(){for(const t3 of[...e2])try{t3()}catch(t4){const e3=globalThis.reportError;"function"==typeof e3&&e3(t4)}}}})((()=>true===this.proGateRef?.live("grid.wasm-acceleration"))),this.accelerationPortRef.port}notifyAccelerationPort(){this.accelerationPortRef?.notify()}onBrandLogoChange(){this.proGateRef?.brandChanged()}renderBrand(){const t2=this.brandLogo,e2=null==t2||""===t2?Nt:this.proGate().brandView(t2);if("default"!==e2?.attrs["data-sy-brand"]&&g(this.host),null===e2)return null;const i2=e2.image;return n("div",{class:"sy-grid__brand-strip","aria-hidden":"true",ref:t3=>{"default"===e2.attrs["data-sy-brand"]&&w(this.host,t3,{display:"flex","min-height":"36px","align-items":"center","justify-content":"flex-end",padding:"2px 8px",flex:"0 0 auto","box-sizing":"border-box","pointer-events":"none"})}},n("span",{key:"brand-"+e2.attrs["data-sy-brand"],...e2.attrs,class:e2.attrs.class+" sy-grid__brand"},null!==i2?n("img",{...i2,onError:()=>this.proGateRef?.brandImageFailed(i2.src)}):void 0!==e2.attrs.hidden?null:n("svg",{viewBox:`0 0 ${p} ${y}`,width:p+"",height:y+"",fill:"currentColor","aria-hidden":"true",focusable:"false"},n("path",{"data-sy-brand-symbol":"",d:b}),n("path",{"data-sy-brand-wordmark":"",d:m}))))}componentWillLoad(){this.proGate(),this.validateColumnDefs(),((this.pinnedTopRowData?.length??0)>0||(this.pinnedBottomRowData?.length??0)>0)&&(this.pendingPinnedRows={input:this.pinnedRowsFromProps(),source:"prop"}),this.syncRowLayout(),this.syncRowDrag(),this.alignedDeclared()&&this.syncAlignedGrids(),this.seedInitialSortFromColumnDefs(),this.seedInitialPagination(),this.seedInitialQuickFilter(),this.reEvaluateEngine(),this.rebuildFormulaSheet(),this.syncWorkbookBinding("initial"),this.syncAuditTrail(),null!=this.datasource&&this.initInfiniteCache(),null!=this.serverSideDatasource&&this.initServerSide(),null!=this.viewportDatasource&&this.initViewport(),this.loadingDebouncer=Pn(this.minLoadingDuration),this.updateLoadingState(),Qn(this.host,this.theme),this.resolvedMessages=lr(this.locale),this.selectionState=cr(this.rowSelection),this.openToolPanelId=this.sideBarSpec()?.defaultOpen??null,this.applyInitialGridState(),this.setupInternalSubscriptions(),this.columnVisibilityForwardSuppressed=true;try{const t2=this.resolvedColumnDefs();for(let e2=0;e2<t2.length;e2++){const i2=t2[e2];(true===i2.hidden||void 0===i2.hidden&&true===i2.hide)&&this.columnVisibilityController.hide(i2.field)}}finally{this.columnVisibilityForwardSuppressed=false}}onThemeChanged(){Qn(this.host,this.theme),this.themeChanged.emit({theme:this.theme,resolvedTokens:{...Yn(this.theme)}})}onLocaleChanged(){this.resolvedMessages=lr(this.locale),this.localeChanged.emit({locale:this.locale,resolvedMessages:{...this.resolvedMessages}})}onRowSelectionModeChanged(){const t2=this.selectionState,e2=(function(t3,e3){const i3="single"===e3||"multi"===e3||"none"===e3?e3:"none";if(i3!==e3&&console.warn(`[Syidax] sy-grid: unknown rowSelection mode "${e3+""}", falling back to "none".`),i3===t3.mode)return t3;if("none"===i3)return 0===t3.selectedRowIds.size?{mode:"none",selectedRowIds:t3.selectedRowIds}:{mode:"none",selectedRowIds:new Set};if("single"===i3&&t3.selectedRowIds.size>1){const e4=t3.selectedRowIds.values().next(),i4=new Set;return e4.done||i4.add(e4.value),{mode:"single",selectedRowIds:i4}}return{mode:i3,selectedRowIds:t3.selectedRowIds}})(t2,this.rowSelection);if(this.rangeAnchorRowId=null,e2===t2)return;this.selectionState=e2;const i2=yr(t2,e2);0===i2.addedIds.length&&0===i2.removedIds.length||this.fireSelectionChanged({mode:e2.mode,selectedRowIds:Array.from(e2.selectedRowIds),addedIds:i2.addedIds,removedIds:i2.removedIds},"state")}seedInitialQuickFilter(){const t2=this.quickFilterText;this.quickFilterValue="string"==typeof t2?t2:"",this.quickFilterPendingValue=this.quickFilterValue}seedInitialPagination(){const t2=this.pageSize;if("number"!=typeof t2||!Number.isFinite(t2)||!Number.isInteger(t2)||t2<1)return console.warn(`[SG:PAGE] bad=${t2}; use=25`),void(this.activePagination={pageIndex:0,pageSize:25});this.activePagination={pageIndex:0,pageSize:t2}}onPageSizeChange(t2){"number"!=typeof t2||!Number.isFinite(t2)||!Number.isInteger(t2)||t2<1?console.warn(`[SG:PAGE] bad=${t2}; ignore`):t2!==this.activePagination.pageSize&&(this.activePagination=on(this.activePagination,t2,this.latestPaginatedMeta),this.host?.isConnected&&(this.resetVirtualScrollPosition(),this.recomputeVirtualWindow()))}onColumnDefsChanged(){this.invalidateComponentFilterRuntime(),this.liveObjectModel?.reconcile("definitions-replaced"),this.syncRowLayout(),this.syncRowDrag(),null!==this.rowLayoutState&&null!==this.rowLayoutChunk&&this.rowLayoutChunk.invalidateRowLayout(this.rowLayoutState,"columns"),this.host?.isConnected&&(this.clampActiveCellAfterChange(),this.clampRangesAfterChange())}onExternalFilterInputsChanged(){this.externalFilterRevision+=1,this.externalFilterReadyRevision=-1,this.invalidateComponentFilterRuntime(),this.host?.isConnected&&this.reconcileComponentFilters()}onLifecycleComponentDefinitionsChanged(){this.invalidateComponentFilterRuntime(),this.host?.isConnected&&this.reconcileComponentFilters()}hasStableLiveRowIds(t2){if(!Array.isArray(t2)||0===t2.length)return true;if("function"!=typeof this.getRowId)return false;const e2=new Set;for(const i2 of t2)try{const t3=this.getRowId(i2);if(!("string"==typeof t3&&t3.length>0||"number"==typeof t3&&Number.isFinite(t3))||e2.has(t3))return false;e2.add(t3)}catch{return false}return true}onGetRowIdChanged(){this.liveRowHeights.clear(),this.componentIdentityIndex=null,this.componentIdentityReportedErrors.clear(),this.lifecycleRendererPresentations.size>0&&(this.lifecycleRendererPresentations.clear(),this.lifecycleRendererPresentationVersion+=1),this.disposeComponentManager(),null!==this.liveObjectModel&&(this.liveObjectModel.invalidateRows("data-replaced"),this.liveObjectModel.reconcile())}onKeyboardNavigationChanged(t2){if(false===t2){if(this.invalidateLifecycleEditorRequests(),null!==this.editorFacade&&"idle"!==this.editorFacade.lookup().status&&this.editorFacade.stop("api",{cancel:true}),null!==this.activeCell&&this.commitActiveCell(null,{scrollIntoView:false}),null!==this.editingCell&&(this.editingCell=null,this.unregisterLifecycleEditorDocumentOwner()),null!==this.editStore.active){const t3=ts(this.editStore);this.editStore=es(t3)}null!==this.textEditorState&&(this.textEditorState=null),null!==this.numberEditorState&&(this.numberEditorState=null),null!==this.dateEditorState&&(this.dateEditorState=null),null!==this.calendarState&&(this.calendarState=null),null!==this.calendarFocusedIso&&(this.calendarFocusedIso=null),null!==this.calendarAnchor&&(this.calendarAnchor=null),null!==this.autocompleteAnchor&&(this.autocompleteAnchor=null),null!==this.largeTextConfig&&(this.largeTextConfig=null),null!==this.largeTextAnchor&&(this.largeTextAnchor=null),null!==this.largeTextAnchorEl&&(this.largeTextAnchorEl=null),null!==this.selectEditorState&&(this.selectEditorState=null),null!==this.checkboxEditorState&&(this.checkboxEditorState=null),null!==this.textareaEditorState&&(this.textareaEditorState=null),null!==this.autocompleteEditorState&&(this.autocompleteEditorState=null),this.textEditorEl=null,this.selectTriggerEl=null,this.autocompleteInputEl=null,this.checkboxEditorEl=null,this.textareaEditorEl=null}}reEvaluateEngine(t2,e2,i2){"rowData"===i2&&null!==this.rowLayoutState&&null!==this.rowLayoutChunk&&this.rowLayoutChunk.invalidateRowLayout(this.rowLayoutState,"data");const n2="rowData"===i2&&Array.isArray(t2)&&t2===this.incrementalRowDataAssignment;if("rowData"!==i2||n2||(this.sourceRowIndexCache=null),("rowData"===i2||"rows"===i2)&&null!==this.filterFacade){const t3=this.filterFacade;t3.onNewRowsLoaded().then((()=>{t3===this.filterFacade&&this.host?.isConnected&&(this.lifecycleFilterVersion+=1)}))}if(n2)return;const r2=(function(t3){return((t4,e3=false)=>({kind:"decided",decision:t4,awaitingLicense:e3}))(v({requested:t3.requested,rowCount:t3.rowCount,proThreshold:t3.proThreshold,onUnavailable:t3.onUnavailable,proUnavailableReason:t3.buildReason}))})({requested:this.engine,rowCount:this.rowData?.length??this.rows?.length??0,proThreshold:this.proThreshold,onUnavailable:this.unavailable,buildReason:"Pro engine not included in this build"});if("throw"===r2.kind)throw this.proGate().refusalError("grid.wasm-acceleration","engine");r2.awaitingLicense&&(this.engineAwaitingLicense=true);const s2=r2.decision;if(this.activeTier=s2.tier,this.fallbackReason=s2.fallbackReason,this.host?.isConnected){if("rowData"===i2||"rows"===i2){if("function"!=typeof this.getRowId)this.liveRowHeights.clear();else if(Array.isArray(t2)&&this.liveRowHeights.size>0){const e3=new Set;for(const i3 of t2)if(null!==i3&&"object"==typeof i3)try{const t3=this.getRowId(i3);("string"==typeof t3&&t3.length>0||"number"==typeof t3&&Number.isFinite(t3))&&e3.add(t3)}catch{}for(const t3 of this.liveRowHeights.keys())e3.has(t3)||this.liveRowHeights.delete(t3)}null===this.liveObjectModel||this.hasStableLiveRowIds(e2)&&this.hasStableLiveRowIds(t2)?this.liveObjectModel?.reconcile("data-replaced"):(this.liveObjectModel.invalidateRows("data-replaced"),this.liveObjectModel.reconcile()),this.resetVirtualScrollPosition(),this.detailRowDataCache?.clear(),this.detailRowLoading?.clear()}this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange()}}rebuildFormulaSheet(t2,e2,i2){if("rowData"===i2&&Array.isArray(t2)&&t2===this.incrementalRowDataAssignment)return;if(true!==this.formulas||!this.proAllowed("grid.formulas","formulas"))return this.unregisterFormulaWasmEventTarget(),this.formulaSheet=null,this.formulaUpgradeToken++,this.formulaSeedToken++,this.formulaSheetSeeding=false,this.disposeFormulaDualEngine(),void this.formulaFreeze.reset();if(this.proGate().frozen("grid.formulas"))return this.formulaFreeze.holdRebuild(),void this.formulaVersion++;this.formulaFreeze.reset();const n2=this.formulaCoreArmed();if(null===n2)return this.unregisterFormulaWasmEventTarget(),this.formulaSheet=null,this.formulaUpgradeToken++,this.formulaSeedToken++,this.formulaSheetSeeding=false,void this.disposeFormulaDualEngine();const{GridFormulaSheet:r2}=n2;this.ensureFormulaAccelerationProvider(),null!==this.formulaSheet&&null===this.formulaDualEngine||(this.disposeFormulaDualEngine(),this.formulaSheet=new r2);const s2=Rn(this.columnDefs??[]),o2=Array.isArray(this.rowData)?this.rowData.length:0;this.formulaUpgradeToken++;const l2=++this.formulaSeedToken;if(o2>=2e4){const t3=this.formulaSheet;this.formulaSheetSeeding=true;let e3=0;t3.rebuildAsync(s2,this.rowData,{shouldAbort:()=>l2!==this.formulaSeedToken||this.formulaSheet!==t3||true!==this.formulas||this.formulaWorkHeld(),onProgress:()=>{if(l2!==this.formulaSeedToken||this.formulaSheet!==t3)return;const i3=performance.now();i3-e3<250||(e3=i3,this.formulaVersion++)}}).then((e4=>{e4&&l2===this.formulaSeedToken&&this.formulaSheet===t3&&(this.formulaSheetSeeding=false,this.formulaVersion++,this.scheduleFormulaUpgradeKick(),this.syncWorkbookOps(true))}))}else this.formulaSheetSeeding=false,this.formulaSheet.rebuild(s2,this.rowData),this.syncWorkbookOps(true);this.formulaVersion++,this.host?.setAttribute("data-formula-engine","js"),o2<2e4&&this.scheduleFormulaUpgradeKick()}formulaSeedToken=0;formulaSheetSeeding=false;scheduleFormulaUpgradeKick(){if(true===this.formulas&&!this.proAllowed("grid.formulas","formulas"))return;const t2=this.formulaSeedToken;let e2=false;const i2=()=>{e2||(e2=true,t2===this.formulaSeedToken&&this.upgradeFormulaSheet(++this.formulaUpgradeToken))};"function"==typeof requestAnimationFrame?(requestAnimationFrame((()=>requestAnimationFrame((()=>i2())))),setTimeout(i2,250)):setTimeout(i2,0)}onWorkbookBindingInputsChanged(){this.hasDisconnected||false===this.host?.isConnected||this.syncWorkbookBinding("property-change")}async getWorkbookBinding(){return this.proRun("getWorkbookBinding",(()=>this.workbookBindingController.current()))}async reconnectWorkbook(){const t2=t3=>this.workbookBindingController.reconnect({enabled:t3,workbookId:this.workbookId,sheetName:this.sheetName,reason:"method",throwOnError:true});return true!==this.formulas?t2(false):this.proMethod("reconnectWorkbook",{load:()=>this.loadFormulaCore(),exec:()=>null,publish:()=>t2(this.proAllowed("grid.formulas","formulas"))})}async loadFormulaCore(){if(null!==this.formulaCore)return this.formulaCore;const t2=await this.getChunkLoader().load("formula-core");return this.formulaCore=t2,t2}async disconnectWorkbook(){return this.proRun("disconnectWorkbook",(()=>this.workbookBindingController.disconnect("method")))}syncWorkbookBinding(t2){return this.workbookBindingController.sync({enabled:true===this.formulas&&this.proAllowed("grid.formulas","formulas"),workbookId:this.workbookId,sheetName:this.sheetName,reason:t2})}syncWorkbookBindingHostState(t2){const e2=[["data-workbook-id",t2?.workbookId],["data-workbook-key",t2?.workbookKey],["data-sheet-name",t2?.sheetName],["data-sheet-id",t2?.sheetId],["data-workbook-registration-id",t2?.registrationId]];for(const[t3,i2]of e2)void 0===i2?this.host?.removeAttribute?.(t3):this.host?.setAttribute?.(t3,i2+"")}formulaUpgradeToken=0;formulaDualEngine=null;formulaAccelerationLoad=null;formulaAccelerationReadyGeneration=0;formulaWasmEventTargetBridge=null;formulaWasmAllowed(){const t2=this.proAllowed("grid.wasm-acceleration","formulas")&&this.proWorkAllowed("grid.wasm-acceleration","formulas");return t2||"pending"!==this.proGate().displayState("grid.wasm-acceleration")||(this.formulaWasmAwaitingLicense=true),t2}formulaWasmAwaitingLicense=false;registerFormulaWasmEventTarget(){}unregisterFormulaWasmEventTarget(){const t2=this.formulaWasmEventTargetBridge;if(this.formulaWasmEventTargetBridge=null,null!==t2)try{t2.unregister(this.host)}catch{}}ensureFormulaAccelerationProvider(){}disposeFormulaDualEngine(){const t2=this.formulaDualEngine;if(this.formulaDualEngine=null,null!==t2)try{t2.dispose()}catch{}}async upgradeFormulaSheet(t2){}onFormulaEngineReady=()=>{this.formulaAccelerationReadyGeneration+=1,true===this.formulas&&(this.registerFormulaWasmEventTarget(),this.rebuildFormulaSheet())};validateColumnDefs(){this.columnDefs&&Rn(this.columnDefs).forEach(((t2,e2)=>{t2&&"string"==typeof t2.field&&t2.field||console.warn(`[SG:COLDEF] index=${e2}; no field; skip`,t2)}))}multiSortActive(){return true===this.multiSort||true===this.enableMultiSort}seedInitialSortFromColumnDefs(){this.activeSortModel=(function(t2,e2){if(!e2.multi){const e3=(function(t3){for(const e4 of t3)if(e4&&"string"==typeof e4.field&&e4.field&&false!==e4.sortable&&("asc"===e4.sort||"desc"===e4.sort))return{field:e4.field,direction:e4.sort};return null})(t2);return null===e3?[]:[{field:e3.field,direction:e3.direction}]}const i2=[],n2=new Set;for(let e3=0;e3<t2.length;e3++){const r2=t2[e3];r2&&"string"==typeof r2.field&&r2.field&&false!==r2.sortable&&("asc"!==r2.sort&&"desc"!==r2.sort||n2.has(r2.field)||(n2.add(r2.field),i2.push({entry:{field:r2.field,direction:r2.sort},sortIndex:"number"==typeof r2.sortIndex&&Number.isFinite(r2.sortIndex)?r2.sortIndex:1/0,position:e3})))}return i2.sort(((t3,e3)=>t3.sortIndex-e3.sortIndex||t3.position-e3.position)),i2.map((t3=>t3.entry))})(this.resolvedColumnDefs(),{multi:this.multiSortActive()})}applySortModel(t2,e2="ui"){const i2=[...this.activeSortModel],n2=this.activeSort;this.activeSortModel=t2;const r2=t2.length>0?t2[0]:null;this.sortChanged.emit({field:r2?r2.field:null,direction:r2?r2.direction:null,previous:n2,sortModel:[...t2],previousModel:i2});const s2=new Map(i2.map(((t3,e3)=>[t3.field,{direction:t3.direction,index:e3}]))),o2=new Map(t2.map(((t3,e3)=>[t3.field,{direction:t3.direction,index:e3}]))),l2=new Set([...s2.keys(),...o2.keys()]);this.publishLiveObjectChanges([...l2].flatMap((t3=>{const i3=s2.get(t3)??null,n3=o2.get(t3)??null;if(be(i3,n3))return[];const r3=this.resolvedColumnDefs().find((e3=>e3.field===t3));return[["column",r3?this.liveColumnId(r3):t3,"sortChanged",e2,{before:i3,after:n3}]]})))}onMultiSortFlagChange(){!this.multiSortActive()&&this.activeSortModel.length>1&&this.applySortModel([this.activeSortModel[0]],"state")}async sortBy(t2,e2){if(this.usingColumnDefsApi()){const i3=this.resolvedColumnDefs().find((e3=>e3.field===t2))??this.pivotSourceSortColumn(t2);if(!i3||false===i3.sortable)return;const n2=void 0===e2?Xi(this.activeSortModel,t2,"replace"):null===e2?this.activeSortModel.filter((e3=>e3.field!==t2)):[{field:t2,direction:e2}];return void this.applySortModel(n2,"api")}const i2=this.innerEngine();await i2?.sortBy?.(t2,e2)}async setSortModel(t2){if(!this.usingColumnDefsApi())return;const e2=new Set(this.resolvedColumnDefs().filter((t3=>false!==t3.sortable&&"string"==typeof t3.field&&""!==t3.field)).map((t3=>t3.field)));for(const t3 of this.declaredColumnDefs())null!==this.pivotSourceSortColumn(t3.field)&&false!==t3.sortable&&"string"==typeof t3.field&&""!==t3.field&&e2.add(t3.field);const i2=(function(t3){if(!Array.isArray(t3))return[];const e3=[],i3=new Set;for(const n2 of t3){if(!n2||"object"!=typeof n2)continue;const t4=n2.field,r2=n2.direction;"string"==typeof t4&&""!==t4&&("asc"!==r2&&"desc"!==r2||i3.has(t4)||(i3.add(t4),e3.push({field:t4,direction:r2})))}return e3})(t2).filter((t3=>e2.has(t3.field)));Zi(i2,this.activeSortModel)||this.applySortModel(i2,"api")}async getSortModel(){return this.activeSortModel.map((t2=>({...t2})))}async setQuery(t2){const e2=this.innerEngine();await e2?.setQuery?.(t2)}async getActiveTier(){return this.proRun("getActiveTier",(()=>this.activeTier))}innerEngine(){return this.host.querySelector(this.activeTag())}activeTag(){return"sy-grid-standard"}handleQueryComplete=t2=>{this.queryComplete.emit({...t2.detail,tier:this.activeTier})};usingColumnDefsApi(){return!!(this.columnDefs&&this.columnDefs.length>0)}resolveColDef(t2){return t2&&("string"==typeof t2.field&&""!==t2.field||"string"==typeof t2.colId&&""!==t2.colId)?{...this.defaultColDef??{},...t2}:null}columnDefsSource(){if(this.serverSidePivotModeActive()){const t2=this.serverSidePivotColumnDefs();if(t2.length>0)return t2}if(this.pivotModeActive()&&!this.pivotComputing){const t2=this.pivotComputation();if(null!==t2){const{generatePivotColumnDefs:e2}=this.groupPivotEngine();return e2(t2.meta)}}return this.columnDefs}pivotComputing=false;resolvedColumnDefs(){return this.usingColumnDefsApi()?(function(t2,e2){const i2=[],n2=(t3,r2,s2)=>{t3.forEach(((t4,o2)=>{if(null==t4)return;const l2=t4.columnGroupShow;if(null!==r2){if("open"===l2&&!r2)return;if("closed"===l2&&r2)return}const a2=""===s2?o2+"":`${s2}.${o2}`;In(t4)?n2(t4.children,!e2.has(t4.groupId??a2),a2):i2.push(t4)}))};return n2(t2,null,""),i2})(this.columnDefsSource(),this.collapsedGroups).map((t2=>this.resolveColDef(t2))).filter((t2=>null!==t2)):[]}onPivotConfigChange(){this.pivotCollapsedRowGroups.size>0&&(this.pivotCollapsedRowGroups=new Set),this.serverSideModeActive()&&(this.initServerSide(),this.scrollTop=0,null!==this.viewportEl&&(this.viewportEl.scrollTop=0),this.recomputeVirtualWindow())}pivotModeActive(){return!(true!==this.pivotMode||!this.pivotAxesDeclared()||!this.proAllowed("grid.pivot","pivotMode")||(null===this.cachedPivot&&this.proGate().frozen("grid.pivot")?(this.pivotRecomputeHeld=true,1):null===this.groupPivotChunkModule||(null!==this.treeSurface()||this.treeEngineArriving()?(this.notePivotConflict("treeData","yields","other","pivot mode and tree data are mutually exclusive; tree data wins.",false),1):this.serverSideModeActive()||(null!==this.viewportState||null!==this.infiniteCache?(this.notePivotConflict(null!==this.viewportState?"viewport":"infinite","yields","other",oo,false),1):this.viewportEngineArriving()?(this.notePivotConflict("viewport","yields","other",oo,false),1):(this.warnedPivotConflicts.has("rowGrouping")||null===this.effectiveGroupFields()||this.notePivotConflict("rowGrouping","superseded","pivot","pivot mode and group-by are mutually exclusive; pivot wins.",true),true===this.masterDetail&&this.usingColumnDefsApi()&&this.proAllowed("grid.master-detail","masterDetail")&&this.notePivotConflict("masterDetail","yields","pivot","pivot mode and master-detail are mutually exclusive; pivot wins.",true),0)))))}pivotAxesDeclared(){return this.usingColumnDefsApi()&&Array.isArray(this.pivotRowGroupColumns)&&this.pivotRowGroupColumns.length>0&&Array.isArray(this.pivotColumns)&&this.pivotColumns.length>0&&Array.isArray(this.pivotValueColumns)&&this.pivotValueColumns.length>0}warnedPivotConflicts=new Set;pendingPivotConflicts=[];notePivotConflict(t2,e2,i2,n2,r2){this.warnedPivotConflicts.has(t2)||(this.warnedPivotConflicts.add(t2),console.warn(n2),this.pendingPivotConflicts.push({feature:t2,support:e2,winner:i2,warning:n2,pivotActive:r2}))}resolvePivotAggFuncs(){const{resolveAggFunc:t2}=this.groupPivotEngine(),e2={};for(const i2 of this.pivotValueColumns??[]){const n2=this.pivotAggFuncs?.[i2],r2="string"==typeof n2&&""!==n2?t2(n2,this.customAggFuncs):null;e2[i2]=r2??"sum"}return e2}pivotComputation(){if(!this.pivotModeActive())return this.cachedPivot=null,null;const t2=[this.rowData,this.pivotRowGroupColumns,this.pivotColumns,this.pivotValueColumns,this.pivotAggFuncs,this.customAggFuncs,this.pivotCollapsedRowGroups,this.activeFilters,this.activeConditionTree,this.quickFilter,this.quickFilterValue,this.quickFilterMode,this.quickFilterRegex,this.activeSortModel,this.licenseRevision,this.proUiChunks,this.columnDefs,this.defaultColDef],e2=this.cachedPivot;if(null!==e2&&e2.sig.length===t2.length&&e2.sig.every(((e3,i3)=>e3===t2[i3])))return e2.value;if(null!==e2&&this.proGate().frozen("grid.pivot"))return this.pivotRecomputeHeld=true,e2.value;const i2={rowGroupColumns:this.pivotRowGroupColumns,pivotColumns:this.pivotColumns,valueColumns:this.pivotValueColumns,aggFuncs:this.resolvePivotAggFuncs(),collapsedRowGroupKeys:this.pivotCollapsedRowGroups};this.pivotComputing=true;try{const e3=this.rowData??[],n2=this.buildFilterStages(),r2=this.buildSortStage(this.pivotSourceSortModel());null!==r2&&n2.push(r2);const s2=0===n2.length?e3:si(e3,n2).rows,{computePivot:o2}=this.groupPivotEngine(),l2=o2(s2,i2);return this.cachedPivot={sig:t2,value:l2},l2}finally{this.pivotComputing=false}}aggregationSpecs(){const{resolveAggFunc:t2}=this.groupPivotEngine(),e2=[];for(const i2 of this.declaredColumnDefs()){if("string"!=typeof i2.field||""===i2.field)continue;const n2=i2.aggFunc;if("string"!=typeof n2||""===n2)continue;const r2=t2(n2,this.customAggFuncs);null!==r2?e2.push({field:i2.field,agg:r2}):this.warnedAggFuncs.has(n2)||(this.warnedAggFuncs.add(n2),console.warn(`[SG:AGG] bad name=${n2} field=${i2.field}; skip`))}return e2}async registerAggFunc(t2,e2){return this.proRun("registerAggFunc",(()=>{if("string"!=typeof t2||""===t2.trim()||"function"!=typeof e2)return void console.warn("[SG:AGG] bad name/fn");const i2=new Map(this.customAggFuncs);i2.set(t2,e2),this.warnedAggFuncs.delete(t2),this.customAggFuncs=i2}))}async unregisterAggFunc(t2){return this.proRun("unregisterAggFunc",(()=>{if(!this.customAggFuncs.has(t2))return;const e2=new Map(this.customAggFuncs);e2.delete(t2),this.customAggFuncs=e2}))}async getRegisteredAggFuncNames(){return this.proRun("getRegisteredAggFuncNames",(()=>[...this.customAggFuncs.keys()]))}declaredColumnDefs(){return this.usingColumnDefsApi()?Rn(this.columnDefs).map((t2=>this.resolveColDef(t2))).filter((t2=>null!==t2)):[]}effectiveGroupFields(){const t2=this.groupBy,e2=(Array.isArray(t2)?t2:[t2]).filter((t3=>"string"==typeof t3&&""!==t3.trim()));if(0===e2.length)return this.groupDeclaration.resolve(null,this.proGate());if(!this.proAllowed("grid.row-grouping","groupBy"))return this.groupDeclaration.clear(),null;if(null===this.groupPivotChunkModule)return null;if(this.treeEngineArriving())return null;const i2=[...new Set(e2)],n2=new Set(this.declaredColumnDefs().map((t3=>t3.field)));return this.groupDeclaration.resolve(i2.every((t3=>n2.has(t3)))?i2:null,this.proGate())}groupDeclaration=new Zt("grid.row-grouping",((t2,e2)=>t2.length===e2.length&&t2.every(((t3,i2)=>t3===e2[i2]))));effectiveGroupBy(){return this.effectiveGroupFields()?.[0]??null}onGroupByChange(t2){if(((Array.isArray(t2)?t2:[t2]).every((t3=>"string"!=typeof t3||""===t3.trim()))||null===this.groupDeclaration.current||this.proGate().entitled("grid.row-grouping"))&&(this.collapsedRowGroups=new Set),!this.usingColumnDefsApi())return;const e2=new Set(this.declaredColumnDefs().map((t3=>t3.field))),i2=(Array.isArray(t2)?t2:[t2]).filter((t3=>"string"==typeof t3&&""!==t3.trim()));for(const t3 of i2)e2.has(t3)||console.warn(`[SG:GROUP] bad field=${t3}; disable`)}currentGroupKeys(){const t2=this.effectiveGroupBy();if(null===t2)return null;const e2=new Set,i2=this.rowData??[];for(const n2 of i2){const i3=mi(Q(n2,t2));e2.add(null===i3?pi:i3)}return e2}currentMultiGroupKeys(t2){const e2=new Set,i2=this.rowData??[];for(const n2 of i2){const i3=t2.map((t3=>mi(Q(n2,t3))??pi));for(let t3=0;t3<i3.length;t3++)e2.add(Si(i3.slice(0,t3+1)))}return e2}async setRowGroupExpanded(t2,e2){return this.proMethod("setRowGroupExpanded",{load:()=>this.groupEngineStep(),exec:()=>{},publish:()=>this.applyRowGroupExpanded(t2,e2,"api")})}async applyRowGroupExpanded(t2,e2,i2){const n2=this.effectiveGroupFields();if(null===n2)return;if(n2.length>=2){if("string"!=typeof t2||!this.currentMultiGroupKeys(n2).has(t2))return void console.warn("[SG:GROUP] bad key="+t2);if(e2!==this.collapsedRowGroups.has(t2))return;const r3=this.liveRowsForPublication((e3=>e3.group&&e3.expandKey===t2)),s3=new Set(this.collapsedRowGroups);return e2?s3.delete(t2):s3.add(t2),this.collapsedRowGroups=s3,this.rowGroupToggled.emit({key:t2,expanded:e2}),void this.publishLiveRowExpansions(r3,i2)}const r2=this.currentGroupKeys();if(null===r2)return;const s2=null===t2?pi:t2;if(!r2.has(s2))return void console.warn("[SG:GROUP] bad key="+t2);if(e2!==this.collapsedRowGroups.has(s2))return;const o2=this.liveRowsForPublication((e3=>e3.group&&e3.expandKey===t2)),l2=new Set(this.collapsedRowGroups);e2?l2.delete(s2):l2.add(s2),this.collapsedRowGroups=l2,this.rowGroupToggled.emit({key:t2,expanded:e2}),this.publishLiveRowExpansions(o2,i2)}async expandAllRowGroups(){return this.proMethod("expandAllRowGroups",{load:()=>this.groupEngineStep(),exec:()=>{},publish:()=>{if(0===this.collapsedRowGroups.size)return;const t2=(this.effectiveGroupFields()?.length??0)>=2,e2=[...this.collapsedRowGroups],i2=new Set(e2),n2=this.liveRowsForPublication((e3=>e3.group&&void 0!==e3.expandKey&&i2.has(t2?e3.expandKey+"":null===e3.expandKey?pi:e3.expandKey+"")));this.collapsedRowGroups=new Set;for(const i3 of e2)this.rowGroupToggled.emit({key:t2?i3:i3===pi?null:i3,expanded:true});this.publishLiveRowExpansions(n2,"api")}})}async collapseAllRowGroups(){return this.proMethod("collapseAllRowGroups",{load:()=>this.groupEngineStep(),exec:()=>{},publish:()=>{const t2=this.effectiveGroupFields();if(null===t2)return;const e2=t2.length>=2,i2=e2?this.currentMultiGroupKeys(t2):this.currentGroupKeys();if(null===i2)return;const n2=this.collapsedRowGroups,r2=this.liveRowsForPublication((t3=>t3.group&&void 0!==t3.expandKey&&i2.has(e2?t3.expandKey+"":null===t3.expandKey?pi:t3.expandKey+"")&&!n2.has(e2?t3.expandKey+"":null===t3.expandKey?pi:t3.expandKey+"")));this.collapsedRowGroups=i2;for(const t3 of i2)n2.has(t3)||this.rowGroupToggled.emit({key:e2?t3:t3===pi?null:t3,expanded:false});this.publishLiveRowExpansions(r2,"api")}})}treeSurfaceCache=null;treeSurface(){if("function"==typeof this.getDataPath)return this.proAllowed("grid.tree-data","getDataPath")?void 0===this.proUiChunks["tree-data"]?null:this.treeSurfaceOf(this.treeDeclaration.resolve({getDataPath:this.getDataPath},this.proGate())):this.inertTreeDeclaration();const t2=this.treeIdField,e2=this.treeParentField;return"string"!=typeof t2||""===t2||"string"!=typeof e2||""===e2?(this.treeDeclaration.resolve(null,this.proGate()),null):this.proAllowed("grid.tree-data","treeIdField")?void 0===this.proUiChunks["tree-data"]?null:this.treeSurfaceOf(this.treeDeclaration.resolve({idField:t2,parentField:e2,labelField:this.treeLabelField},this.proGate())):this.inertTreeDeclaration()}treeDeclaration=new Zt("grid.tree-data",((t2,e2)=>t2.getDataPath===e2.getDataPath&&t2.idField===e2.idField&&t2.parentField===e2.parentField&&t2.labelField===e2.labelField));inertTreeDeclaration(){return this.treeDeclaration.clear(),null}treeSurfaceOf(t2){if(null===t2)return null;const e2=t2.getDataPath;if("function"==typeof e2)return{getDataPath:t3=>e2(t3)};const{idField:i2,parentField:n2,labelField:r2}=t2;if("string"!=typeof i2||"string"!=typeof n2)return null;const s2=this.rowData??[],o2=this.treeSurfaceCache;if(null!==o2&&o2.rowData===s2&&o2.idField===i2&&o2.parentField===n2&&o2.labelField===r2)return o2.surface;const{buildPathsFromParentIds:l2}=this.treeDataEngine(),{pathOf:a2,labelOf:d2,segmentLabelOf:u2}=l2(s2,{getId:t3=>Q(t3,i2),getParentId:t3=>Q(t3,n2),getLabel:"string"==typeof r2&&""!==r2?t3=>Q(t3,r2):void 0}),c2={getDataPath:a2,getRowLabel:d2,getSegmentLabel:u2};return this.treeSurfaceCache={rowData:s2,idField:i2,parentField:n2,labelField:r2,surface:c2},c2}treeRowComparator(){const t2=this.activeSortModel;if(t2&&0!==t2.length)return(e2,i2)=>{for(const n2 of t2){const t3=ci(null===e2?void 0:Q(e2,n2.field),null===i2?void 0:Q(i2,n2.field));if(0!==t3)return"desc"===n2.direction?-t3:t3}return 0}}currentTreeParentKeys(){const t2=this.treeSurface();if(null===t2)return null;const e2=new Set,i2=this.rowData??[];for(const n2 of i2){const i3=t2.getDataPath(n2);if(Array.isArray(i3)&&i3.length>0&&i3.every((t3=>"string"==typeof t3&&""!==t3&&!t3.includes(vi))))for(let t3=1;t3<i3.length;t3++)e2.add(xi(i3.slice(0,t3)))}return e2}onTreeSurfaceChange(){this.collapsedTreeNodes=new Set,this.warnedTreeGroupConflict=false,this.treeSurfaceCache=null}async setTreeNodeExpanded(t2,e2){return this.proMethod("setTreeNodeExpanded",{load:()=>this.treeEngineStep(),exec:()=>{},publish:()=>this.applyTreeNodeExpanded(t2,e2,"api")})}async applyTreeNodeExpanded(t2,e2,i2){if(null!==this.serverSideState){if(!Array.isArray(t2)||0===t2.length)return;const{serialiseGroupPath:i3,toggleGroupExpanded:n3}=this.ssrmEngine(),r3=i3(t2);return void(this.serverSideState.expanded.has(r3)!==e2&&(this.serverSideState=n3(this.serverSideState,t2),this.lastServerFetchWindow=null,this.recomputeVirtualWindow()))}const n2=this.currentTreeParentKeys();if(null===n2)return;if(!Array.isArray(t2)||0===t2.length)return;const r2=xi(t2);if(!n2.has(r2))return void console.warn(`[SG:TREE] bad path=[${t2.join(" / ")}]`);if(e2!==this.collapsedTreeNodes.has(r2))return;const s2=this.liveRowsForPublication((e3=>e3.group&&e3.route.length===t2.length&&e3.route.every(((e4,i3)=>e4===t2[i3])))),o2=new Set(this.collapsedTreeNodes);e2?o2.delete(r2):o2.add(r2),this.collapsedTreeNodes=o2,this.treeNodeToggled.emit({path:[...t2],expanded:e2}),this.publishLiveRowExpansions(s2,i2)}async expandAllTreeNodes(){return this.proMethod("expandAllTreeNodes",{load:()=>this.treeEngineStep(),exec:()=>{},publish:()=>{if(0===this.collapsedTreeNodes.size)return;const t2=[...this.collapsedTreeNodes],e2=new Set(t2),i2=this.liveRowsForPublication((t3=>t3.group&&e2.has(xi(t3.route))));this.collapsedTreeNodes=new Set;for(const e3 of t2)this.treeNodeToggled.emit({path:e3.split(vi),expanded:true});this.publishLiveRowExpansions(i2,"api")}})}async collapseAllTreeNodes(){return this.proMethod("collapseAllTreeNodes",{load:()=>this.treeEngineStep(),exec:()=>{},publish:()=>{const t2=this.currentTreeParentKeys();if(null===t2)return;const e2=this.collapsedTreeNodes,i2=this.liveRowsForPublication((i3=>{const n2=xi(i3.route);return i3.group&&t2.has(n2)&&!e2.has(n2)}));this.collapsedTreeNodes=t2;for(const i3 of t2)e2.has(i3)||this.treeNodeToggled.emit({path:i3.split(vi),expanded:false});this.publishLiveRowExpansions(i2,"api")}})}detailRowHeightPx(){const t2=this.detailRowHeight;return"number"==typeof t2&&Number.isFinite(t2)&&t2>=40?Math.floor(t2):160}masterDetailActive(){return!(true!==this.masterDetail||!this.usingColumnDefsApi()||!this.proAllowed("grid.master-detail","masterDetail")||void 0===this.proUiChunks["master-detail"]||true===this.pivotMode&&this.pivotWinsOnArrival()||true===this.pivotMode&&this.pivotModeActive())}currentMasterIds(){return this.getDisplayRows(),this.lastMasterIds}async setDetailRowExpanded(t2,e2){return this.proMethod("setDetailRowExpanded",{load:()=>this.masterDetailEngineStep(),exec:()=>{},publish:()=>this.applyDetailRowExpanded(t2,e2,"api")})}async applyDetailRowExpanded(t2,e2,i2){if(!this.masterDetailActive())return;if(e2&&!this.currentMasterIds().has(t2)&&!this.allFilteredMasterIds().has(t2))return void console.warn("[SG:DETAIL] bad id="+t2);if(e2===this.expandedDetailRows.has(t2))return;const n2=this.liveRowsForPublication((e3=>e3.id===t2&&e3.master)),r2=new Set(this.expandedDetailRows);e2?r2.add(t2):r2.delete(t2),this.expandedDetailRows=r2,e2||this.detailRowDataCache.delete(t2),this.detailRowToggled.emit({rowId:t2,expanded:e2}),this.publishLiveRowExpansions(n2,i2)}masterRowsById(){const t2=this.engineRows({skipPaginate:true}),e2=new Map;for(let i2=0;i2<t2.length;i2++){const n2=this.masterIdAt(t2[i2],i2);void 0===n2||e2.has(n2)||e2.set(n2,t2[i2])}return e2}masterIdAt(t2,e2){if(null!==t2&&"object"==typeof t2){if("function"==typeof this.getRowId)return this.extractRowId(t2,e2);if(!(yi(t2)||bi(t2)||wi(t2)||_i(t2)))return e2}}allFilteredMasterIds(){const t2=this.engineRows({skipPaginate:true}),e2=new Set;for(let i2=0;i2<t2.length;i2++){const n2=this.masterIdAt(t2[i2],i2);void 0!==n2&&e2.add(n2)}return e2}async expandAllDetailRows(){return this.proMethod("expandAllDetailRows",{load:()=>this.masterDetailEngineStep(),exec:()=>{},publish:()=>{if(!this.masterDetailActive())return;const t2=this.allFilteredMasterIds(),e2=this.expandedDetailRows,i2=new Set(e2);for(const e3 of t2)i2.add(e3);if(i2.size===e2.size)return;const n2=this.liveRowsForPublication((i3=>i3.master&&t2.has(i3.id)&&!e2.has(i3.id)));this.expandedDetailRows=i2;for(const i3 of t2)e2.has(i3)||this.detailRowToggled.emit({rowId:i3,expanded:true});this.publishLiveRowExpansions(n2,"api")}})}async collapseAllDetailRows(){return this.proRun("collapseAllDetailRows",(()=>{if(0===this.expandedDetailRows.size)return;const t2=[...this.expandedDetailRows],e2=new Set(t2),i2=this.liveRowsForPublication((t3=>t3.master&&e2.has(t3.id)));this.expandedDetailRows=new Set;for(const e3 of t2)this.detailRowDataCache.delete(e3),this.detailRowToggled.emit({rowId:e3,expanded:false});this.publishLiveRowExpansions(i2,"api")}))}lastMasterIds=new Set;mountedDetailIds=new Set;detailRowIds=new WeakMap;withDetailRows(t2){if(!this.masterDetailActive())return t2;const e2=this.latestPaginatedMeta,i2=this.pagination&&null!==e2?e2.pageIndex*e2.pageSize:0,n2=new WeakMap,r2=new Set;for(let e3=0;e3<t2.length;e3++){const s3=t2[e3],o2=this.masterIdAt(s3,i2+e3);void 0!==o2&&(n2.set(s3,o2),r2.add(o2))}if(this.detailRowIds=n2,this.lastMasterIds=r2,0===this.expandedDetailRows.size)return t2;const{insertDetailRows:s2}=this.masterDetailEngine();return s2(t2,this.expandedDetailRows,(t3=>n2.get(t3)))}async setColumnGroupOpened(t2,e2){return this.applyColumnGroupOpened(t2,e2,"api")}async applyColumnGroupOpened(t2,e2,i2){if("string"!=typeof t2||""===t2)return;if(e2!==this.collapsedGroups.has(t2))return;const n2=new Set(this.collapsedGroups);e2?n2.delete(t2):n2.add(t2),this.collapsedGroups=n2,this.columnGroupToggled.emit({groupId:t2,open:e2}),this.publishLiveObjectChange("columnGroup",t2,"expandedChanged",i2,{before:!e2,after:e2})}headerGroupDepth(){return this.usingColumnDefsApi()?Fn(this.columnDefsSource()):0}bodyAriaRowIndex(t2){return"top"===this.renderingPinnedBand?t2+2+this.headerGroupDepth():"bottom"===this.renderingPinnedBand?t2+2+this.headerGroupDepth()+this.pinnedTopCount()+this.getDisplayRows().length:t2+2+this.headerGroupDepth()+this.pinnedTopCount()}engineColumns(){return this.usingColumnDefsApi()?this.resolvedColumnDefs().filter((t2=>"string"==typeof t2.field&&""!==t2.field)).map((t2=>({key:t2.field,label:t2.headerName??t2.field,width:t2.width}))):this.columns}engineRows(t2){const e2=true===t2?.skipPaginate,{state:i2,rows:n2}=(function(t3,e3,i3,n3){const r2=null!==t3&&gi(t3.inputs,e3)?t3:{inputs:e3},s2=i3?r2.skipPaginated:r2.paginated;if(void 0!==s2)return{state:r2,rows:s2};const o2=n3();return i3?r2.skipPaginated=o2:r2.paginated=o2,{state:r2,rows:o2}})(this.engineRowsMemo,this.engineRowsInputs(),e2,(()=>this.computeEngineRows(e2)));return this.engineRowsMemo=i2,n2}engineRowsMemo=null;engineRowsInputs(){return{rowData:this.rowData,rows:this.rows,columnDefs:this.columnDefs,defaultColDef:this.defaultColDef,collapsedGroups:this.collapsedGroups,quickFilter:this.quickFilter,quickFilterValue:this.quickFilterValue,quickFilterMode:this.quickFilterMode,quickFilterRegex:this.quickFilterRegex,activeFilters:this.activeFilters,activeConditionTree:this.activeConditionTree,lifecycleFilterVersion:this.lifecycleFilterVersion,statusBar:this.statusBar,activeSortModel:this.activeSortModel,getDataPath:this.getDataPath,treeIdField:this.treeIdField,treeParentField:this.treeParentField,treeLabelField:this.treeLabelField,collapsedTreeNodes:this.collapsedTreeNodes,groupBy:this.groupBy,collapsedRowGroups:this.collapsedRowGroups,customAggFuncs:this.customAggFuncs,pivotMode:this.pivotMode,pivotRowGroupColumns:this.pivotRowGroupColumns,pivotColumns:this.pivotColumns,pivotValueColumns:this.pivotValueColumns,pivotAggFuncs:this.pivotAggFuncs,pivotCollapsedRowGroups:this.pivotCollapsedRowGroups,pivotSubtotals:this.pivotSubtotals,pivotGrandTotal:this.pivotGrandTotal,groupPivotChunkModule:this.groupPivotChunkModule,pagination:this.pagination,activePagination:this.activePagination,masterDetail:this.masterDetail,getRowId:this.getRowId,expandedDetailRows:this.expandedDetailRows,formulaSheet:this.formulaSheet,formulaVersion:this.formulaVersion,licenseRevision:this.licenseRevision,proUiChunks:this.proUiChunks}}formulaFieldGetter(t2){const e2=this.formulaSheet;if(true===this.formulas&&null!==e2&&e2.active)return e2.isCalculatedField(t2)?i2=>e2.calculatedDisplay(t2,i2):i2=>{const n2=Q(i2,t2);return yl(n2)?this.formulaCellDisplay(e2,n2,t2,i2):n2}}formulaAwareConditionNode(t2){if(true!==this.formulas||null===this.formulaSheet||!this.formulaSheet.active)return t2;const e2=t3=>{if("children"in t3&&Array.isArray(t3.children)){const i3=t3;return{...i3,children:i3.children.map(e2)}}const i2=t3;if("string"!=typeof i2?.spec?.field||void 0!==i2.spec.valueGetter)return t3;const n2=this.formulaFieldGetter(i2.spec.field);return void 0===n2?t3:{...i2,spec:{...i2.spec,valueGetter:n2}}};return e2(t2)}buildFilterStages(){const t2=[],e2=this.filterFacade,i2=this.configuredLifecycleFilterCount(),n2=e2?.stats(),r2=null!==e2&&void 0!==n2&&this.componentFilterReadyRevision===this.componentFilterRevision&&n2.columns===i2&&n2.mountedFilters===i2&&this.externalFilterRuntimeReady();(i2>0||null!=this.externalFilter)&&"client"===this.componentFilterExecutionMode()&&t2.push(oi({filters:[{id:"__lifecycle__",predicate:t3=>r2&&null!==e2&&e2.doesPass(t3,"client")}]}));const s2="string"==typeof this.quickFilterValue?this.quickFilterValue:"";if(this.quickFilter&&""!==s2.trim()){const e3=this.quickFilterTarget(),i3=(function(t3){const{value:e4,caseSensitive:i4=false,trim:n3=true,fields:r3,valueGetter:s3,wordMode:o3="and",mode:l3="text"}=t3,a3=r3&&r3.length>0?r3.slice():null,d3="function"==typeof s3;if("regex"===l3){const t4=(function(t5,e5){if("string"!=typeof t5||""===t5.trim())return null;try{return RegExp(t5,e5?"":"i")}catch{return null}})(e4,i4);return null===t4?()=>true:e5=>{if(null==e5)return false;const i5=pn(e5,a3,d3,s3);if(null===i5)return false;for(let e6=0;e6<i5.length;e6++)if(t4.test(yn(i5[e6],n3,true)))return true;return false}}const u2=(i4?e4:e4.toLowerCase()).trim();if(""===u2)return()=>true;const c2=u2.split(/\s+/).filter((t4=>t4.length>0));return 0===c2.length?()=>true:t4=>{if(null==t4)return false;const e5=pn(t4,a3,d3,s3);if(null===e5)return false;const r4=Array(e5.length);for(let t5=0;t5<e5.length;t5++)r4[t5]=yn(e5[t5],n3,i4);if("or"===o3){for(let t5=0;t5<c2.length;t5++){const e6=c2[t5];for(let t6=0;t6<r4.length;t6++)if(r4[t6].includes(e6))return true}return false}for(let t5=0;t5<c2.length;t5++){const e6=c2[t5];let i5=false;for(let t6=0;t6<r4.length;t6++)if(r4[t6].includes(e6)){i5=true;break}if(!i5)return false}return true}})({value:s2,wordMode:this.quickFilterMode,fields:e3.fields,valueGetter:e3.valueGetter,mode:true===this.quickFilterRegex?"regex":"text"});t2.push(oi({filters:[{id:"__quick__",predicate:i3}]}))}const o2=Object.values(this.activeFilters),l2=this.activeConditionTree&&this.proAllowed("grid.advanced-filter","setConditionFilter")?this.proUiChunk("pro-filters","grid.advanced-filter","setConditionFilter"):null,a2=this.activeConditionTree&&null!==l2?[{id:"__condition__",predicate:l2.createConditionFilter(this.formulaAwareConditionNode(this.activeConditionTree))}]:[],d2=o2.map((t3=>{const e3=this.buildSourcePredicate(t3);return null===e3?null:{id:t3.field,predicate:e3}})).filter((t3=>null!==t3));return(d2.length>0||a2.length>0)&&t2.push(oi({filters:[...d2,...a2]})),t2}columnFilterValueGetter(t2){if(!t2)return;if(null==t2.valueGetter)return this.formulaFieldGetter(t2.field);const e2=t2.colId??t2.field,i2=t2.valueGetter;return n2=>this.resolveGridCellValue({row:n2,rowIndex:-1,colId:e2,field:t2.field,valueGetter:i2,colDef:t2})}targetForColumnField(t2,e2){const i2=e2.find((e3=>e3.field===t2));return{field:t2,valueGetter:this.columnFilterValueGetter(i2)}}pivotSourceTargetsForFilter(t2){if(!this.pivotModeActive())return null;if(Ri(t2))return[];if(t2===Ii){const t3=this.declaredColumnDefs();return(this.pivotRowGroupColumns??[]).filter((t4=>"string"==typeof t4&&""!==t4)).map((e2=>this.targetForColumnField(e2,t3)))}return[this.targetForColumnField(t2,this.declaredColumnDefs())]}sourceTargetsForFilter(t2){const e2=this.pivotSourceTargetsForFilter(t2);return null!==e2?e2:[this.targetForColumnField(t2,this.resolvedColumnDefs())]}buildPredicateForTarget(t2,e2){return this.buildPredicate((function(t3,e3,i2){switch(t3.kind){case"text":return{kind:"text",field:e3,spec:nn(t3.spec,e3,i2)};case"number":return{kind:"number",field:e3,spec:nn(t3.spec,e3,i2)};case"date":return{kind:"date",field:e3,spec:nn(t3.spec,e3,i2)};case"set":return{kind:"set",field:e3,spec:nn(t3.spec,e3,i2)};case"multi":return{kind:"multi",field:e3,spec:{...t3.spec,field:e3,parts:t3.spec.parts.map((t4=>(function(t5,e4,i3){switch(t5.kind){case"text":return{kind:"text",spec:nn(t5.spec,e4,i3)};case"number":return{kind:"number",spec:nn(t5.spec,e4,i3)};case"date":return{kind:"date",spec:nn(t5.spec,e4,i3)};case"set":return{kind:"set",spec:nn(t5.spec,e4,i3)};default:return t5}})(t4,e3,i2)))}};default:return t3}})(t2,e2.field,e2.valueGetter))}buildSourcePredicate(t2){const e2=this.sourceTargetsForFilter(t2.field);if(0===e2.length)return null;const i2=e2.map((e3=>this.buildPredicateForTarget(t2,e3)));return 1===i2.length?i2[0]:t3=>i2.some((e3=>e3(t3)))}setFilterCatalogueRows(t2){if(!this.pivotModeActive()||!Ri(t2))return this.rowData??[];const e2=this.pivotComputation();return null===e2?[]:[...e2.markers,...null!==e2.grandTotal?[e2.grandTotal]:[]]}setFilterCatalogueTarget(t2){if(this.pivotModeActive()&&Ri(t2))return{rows:this.setFilterCatalogueRows(t2),target:this.targetForColumnField(t2,this.effectiveColumns())};const e2=this.sourceTargetsForFilter(t2);return{rows:this.setFilterCatalogueRows(t2),target:e2[0]??{field:t2}}}declaredColumnFieldSet(){return new Set(this.declaredColumnDefs().map((t2=>t2.field)).filter((t2=>"string"==typeof t2&&""!==t2)))}isPivotDisplaySortField(t2){return t2===Ii||Ri(t2)}pivotSourceSortColumn(t2){return this.pivotModeActive()&&null!==this.pivotComputation()?this.isPivotDisplaySortField(t2)?null:this.declaredColumnDefs().find((e2=>e2.field===t2))??null:null}pivotSourceSortModel(){const t2=this.declaredColumnFieldSet();return this.activeSortModel.filter((e2=>t2.has(e2.field)&&!this.isPivotDisplaySortField(e2.field))).map((t3=>({...t3})))}pivotDisplaySortModel(){return this.activeSortModel.filter((t2=>this.isPivotDisplaySortField(t2.field))).map((t2=>({...t2})))}isSortNullish(t2){return null==t2||!("number"!=typeof t2||!Number.isNaN(t2))||!!(t2 instanceof Date&&Number.isNaN(t2.getTime()))}pivotDisplaySortValue(t2,e2,i2){if(e2===Ii)return t2.label;const n2=i2.find((t3=>t3.field===e2));return n2?this.resolveGridCellValue({row:t2,rowIndex:-1,colId:n2.colId??n2.field,field:n2.field,valueGetter:n2.valueGetter,colDef:n2}):null}comparePivotMarkersForDisplay(t2,e2,i2,n2){for(const r2 of i2){const i3=this.pivotDisplaySortValue(t2,r2.field,n2),s2=this.pivotDisplaySortValue(e2,r2.field,n2),o2=this.isSortNullish(i3),l2=this.isSortNullish(s2);if(o2&&l2)continue;if(o2)return 1;if(l2)return-1;const a2=("desc"===r2.direction?-1:1)*ci(i3,s2);if(0!==a2)return a2}return 0}sortPivotMarkersForDisplay(t2,e2){const i2=this.pivotDisplaySortModel();if(0===i2.length)return[...t2];const n2=new Map;for(const e3 of t2){const t3=Si(e3.groupKeys.slice(0,-1)),i3=n2.get(t3);i3?i3.push(e3):n2.set(t3,[e3])}const r2=[],s2=t3=>{const o2=[...n2.get(t3)??[]];o2.sort(((t4,n3)=>this.comparePivotMarkersForDisplay(t4,n3,i2,e2)));for(const t4 of o2)r2.push(t4),t4.expanded&&s2(t4.key)};return s2(""),r2}pivotDisplayFilterPredicates(t2){if(!this.pivotModeActive())return[];const e2=[];for(const i2 of Object.values(this.activeFilters)){if(!Ri(i2.field))continue;const n2=this.targetForColumnField(i2.field,t2);e2.push(this.buildPredicateForTarget(i2,n2))}return e2}filterPivotMarkersForDisplay(t2,e2){const i2=this.pivotDisplayFilterPredicates(e2);return 0===i2.length?[...t2]:t2.filter((t3=>{for(const e3 of i2)if(!e3(t3))return false;return true}))}buildSortStage(t2=this.activeSortModel){return 0===t2.length?null:(function(t3){const e2=t3.map((t4=>({field:t4.field,direction:t4.direction,sign:"desc"===t4.direction?-1:1,compare:t4.comparator??ai,getValue:t4.valueGetter??(e3=>Q(e3,t4.field))}))),i2=e2.map((t4=>({field:t4.field,direction:t4.direction})));return{name:"sorted",run(t4){const n2=t4.rows.slice();return e2.length>0&&n2.sort(((t5,i3)=>{for(let n3=0;n3<e2.length;n3++){const r2=e2[n3],s2=r2.getValue(t5),o2=r2.getValue(i3),l2=li(s2),a2=li(o2);if(l2&&a2)continue;if(l2)return 1;if(a2)return-1;const d2=r2.sign*r2.compare(s2,o2);if(0!==d2)return d2}return 0})),{source:t4.source,rows:n2,stage:"sorted",meta:{...t4.meta,sortModel:i2}}}}})(t2.map((t3=>({field:t3.field,direction:t3.direction,valueGetter:this.formulaFieldGetter(t3.field)}))))}computeEngineRows(t2){if(this.usingColumnDefsApi()){if(this.pivotModeActive()){const e3=this.pivotComputation(),i3=null===e3?[]:this.effectiveColumns(),n3=null===e3?[]:this.sortPivotMarkersForDisplay(this.filterPivotMarkersForDisplay(e3.markers,i3),i3);let r3=null===e3?[]:[...n3,...null!==e3.grandTotal?[e3.grandTotal]:[]];if(null!==e3&&("off"!==this.pivotSubtotals||"bottom"!==this.pivotGrandTotal)){const t3=this.ensureGroupPivotChunkArmed();null!==t3&&(r3=t3.composePivotDisplayRows(e3,n3,this.pivotSubtotals,this.pivotGrandTotal))}if(t2)return r3;if(!this.pagination)return this.maybeUpdatePaginatedMeta(null),r3;const s3=si(r3,[ui({pageIndex:this.activePagination.pageIndex,pageSize:this.activePagination.pageSize})]);return this.maybeUpdatePaginatedMeta(s3.meta.pagination??null),[...s3.rows]}const e2=this.rowData??[],i2=[];i2.push(...this.buildFilterStages()),t2||null===this.statusBarSpec()||i2.push({name:"filtered",run:t3=>(this.lastFilteredDataRowCount=t3.rows.length,t3)});const n2=this.buildSortStage();null!==n2&&i2.push(n2);const r2=this.treeSurface();if(null===r2||null===this.effectiveGroupBy()||this.warnedTreeGroupConflict||(this.warnedTreeGroupConflict=true,console.warn("tree data and group-by are mutually exclusive; tree wins.")),null!==r2){const{createTreeDataStage:t3}=this.treeDataEngine();i2.push(t3({getDataPath:r2.getDataPath,getRowLabel:r2.getRowLabel,getSegmentLabel:r2.getSegmentLabel,collapsedKeys:this.collapsedTreeNodes,compareRows:this.treeRowComparator()}))}const s2=null!==r2?null:this.effectiveGroupFields();if(null!==s2){!this.warnedGroupDetailUnstable&&this.masterDetailActive()&&"function"!=typeof this.getRowId&&(this.warnedGroupDetailUnstable=true,console.warn("[SG:DETAIL] an open detail can disappear when a group collapses."));const t3=this.aggregationSpecs(),{createAggregateStage:e3,createGroupStage:n3,createMultiGroupStage:r3,insertGroupFooters:o3,pruneCollapsedGroups:l2}=this.groupPivotEngine();s2.length>=2?i2.push(r3({groupFields:s2,aggSpecs:t3,collapsedKeys:this.collapsedRowGroups})):t3.length>0?(i2.push(n3({field:s2[0]})),i2.push(e3({specs:t3})),i2.push({name:"grouped",run:t4=>({source:t4.source,rows:o3(l2(t4.rows,this.collapsedRowGroups,pi)),stage:"grouped",meta:t4.meta})})):i2.push(n3({field:s2[0],collapsedKeys:this.collapsedRowGroups}))}if(this.pagination&&!t2&&i2.push(ui({pageIndex:this.activePagination.pageIndex,pageSize:this.activePagination.pageSize})),0===i2.length)return t2||this.maybeUpdatePaginatedMeta(null),t2?[...e2]:this.withDetailRows(e2);const o2=si(e2,i2);return t2?[...o2.rows]:(this.maybeUpdatePaginatedMeta(o2.meta.pagination??null),this.withDetailRows([...o2.rows]))}return this.rowData??this.rows}maybeUpdatePaginatedMeta(t2){const e2=this.latestPaginatedMeta;e2===t2||null!==e2&&null!==t2&&e2.totalRows===t2.totalRows&&e2.pageCount===t2.pageCount&&e2.pageIndex===t2.pageIndex&&e2.pageSize===t2.pageSize||(this.latestPaginatedMeta=t2),!t2||t2.pageIndex===this.activePagination.pageIndex&&t2.pageSize===this.activePagination.pageSize||(this.activePagination={pageIndex:t2.pageIndex,pageSize:t2.pageSize})}quickFilterFieldList(){const t2=this.pivotModeActive()?this.declaredColumnDefs():this.resolvedColumnDefs();if(0!==t2.length)return t2.map((t3=>t3.field))}quickFilterTarget(){const t2=this.pivotModeActive()?this.declaredColumnDefs():this.resolvedColumnDefs(),e2=this.quickFilterFieldList();return e2&&0!==t2.length?{fields:e2,valueGetter:e3=>t2.map((t3=>{const i2=this.columnFilterValueGetter(t3);return i2?i2(e3):Q(e3,t3.field)}))}:{}}buildPredicate(t2){const e2=t3=>{if(void 0!==t3.valueGetter)return t3;const e3=this.formulaFieldGetter(t3.field);return void 0===e3?t3:{...t3,valueGetter:e3}};switch(t2.kind){case"text":return(function(t3){const{field:e3,op:i2,value:n2,caseSensitive:r2=false,trim:s2=false,valueGetter:o2}=t3,l2=o2||(t4=>Q(t4,e3)),a2=an(n2,s2,r2),d2=""===a2;return t4=>{if(d2){if("contains"===i2||"startsWith"===i2||"endsWith"===i2)return true;if("notContains"===i2)return false}const e4=l2(t4);if((function(t5){return null==t5||!("number"!=typeof t5||!Number.isNaN(t5))||!!(t5 instanceof Date&&Number.isNaN(t5.getTime()))})(e4))return"equals"===i2&&d2;const n3=(function(t5,e5,i3){let n4;return n4="string"==typeof t5?t5:t5 instanceof Date?t5.toISOString():t5+"",an(n4,e5,i3)})(e4,s2,r2);switch(i2){case"contains":return d2||n3.includes(a2);case"notContains":return!(d2||n3.includes(a2));case"equals":return n3===a2;case"notEqual":return n3!==a2;case"startsWith":return d2||n3.startsWith(a2);case"endsWith":return d2||n3.endsWith(a2);default:return false}}})(e2(t2.spec));case"number":return(function(t3){const{field:e3,op:i2,value:n2,valueGetter:r2}=t3,s2=r2||(t4=>Q(t4,e3)),o2="between"===i2||"notBetween"===i2;let l2=NaN,a2=-1/0,d2=1/0,u2=false;if(o2)if(Array.isArray(n2)&&2===n2.length){const[t4,e4]=n2;a2=un(t4)?-1/0:t4,d2=un(e4)?1/0:e4,u2=a2>d2}else a2=-1/0,d2=1/0;else l2="number"==typeof n2||"bigint"==typeof n2?n2:NaN;const c2=!o2&&"number"==typeof l2&&Number.isNaN(l2),h2=o2&&a2===-1/0&&d2===1/0;return t4=>{if(c2){if("equals"===i2||"gt"===i2||"gte"===i2||"lt"===i2||"lte"===i2)return true;if("notEqual"===i2)return false}if(h2){if("between"===i2)return true;if("notBetween"===i2)return false}const e4=(function(t5){if("number"==typeof t5)return Number.isNaN(t5)?null:t5;if("bigint"==typeof t5)return t5;if("string"==typeof t5){const e5=t5.trim();if(""===e5)return null;if(/^[+-]?\d+$/.test(e5)){const t6=BigInt(e5);return t6>=-2147483648n&&t6<=2147483647n?Number(t6):t6}const i3=Number(e5);return Number.isNaN(i3)?null:i3}if("boolean"==typeof t5)return t5?1:0;if(t5 instanceof Date){const e5=t5.getTime();return Number.isNaN(e5)?null:e5}return null})(s2(t4));if(null===e4)return false;switch(i2){case"equals":return dn(e4,l2);case"notEqual":return!dn(e4,l2);case"gt":return e4>l2;case"gte":return e4>=l2;case"lt":return e4<l2;case"lte":return e4<=l2;case"between":return!u2&&e4>=a2&&e4<=d2;case"notBetween":return!!u2||e4<a2||e4>d2;default:return false}}})(e2(t2.spec));case"date":return(function(t3){const{field:e3,op:i2,value:n2,valueGetter:r2,granularity:s2="utc"}=t3,o2=r2||(t4=>Q(t4,e3)),l2="day"===s2?fn:gn,a2="between"===i2||"notBetween"===i2;let d2=null,u2=-1/0,c2=1/0,h2=false;if(a2)if(Array.isArray(n2)&&2===n2.length){const t4=hn(n2[0]),e4=hn(n2[1]);u2=null===t4?-1/0:l2(t4),c2=null===e4?1/0:l2(e4),h2=u2>c2}else u2=-1/0,c2=1/0;else{const t4=hn(n2);d2=null===t4?null:l2(t4)}const f2=!a2&&null===d2,g2=a2&&u2===-1/0&&c2===1/0;return t4=>{if(f2){if("equals"===i2||"before"===i2||"after"===i2||"onOrBefore"===i2||"onOrAfter"===i2)return true;if("notEqual"===i2)return false}if(g2){if("between"===i2)return true;if("notBetween"===i2)return false}const e4=hn(o2(t4));if(null===e4)return false;const n3=l2(e4);switch(i2){case"equals":return n3===d2;case"notEqual":return n3!==d2;case"before":return n3<d2;case"after":return n3>d2;case"onOrBefore":return n3<=d2;case"onOrAfter":return n3>=d2;case"between":return!h2&&n3>=u2&&n3<=c2;case"notBetween":return!!h2||n3<u2||n3>c2;default:return false}}})(e2(t2.spec));case"set":{if(!this.filterKindAllowed("set",true))return()=>true;const i2=this.proFilterKindChunk("set");return null===i2?()=>true:i2.createSetFilter(e2(t2.spec))}case"multi":{if(!this.filterKindAllowed("multi",t2.spec.parts.some((t3=>"set"===t3.kind))))return()=>true;const e3=this.proFilterKindChunk("multi");if(null===e3)return()=>true;const i2=this.formulaFieldGetter(t2.spec.field);if(void 0===i2)return e3.createMultiFilter(t2.spec);const n2=t2.spec.parts.map((t3=>void 0!==t3.spec.valueGetter?t3:{...t3,spec:{...t3.spec,valueGetter:i2}}));return e3.createMultiFilter({...t2.spec,parts:n2})}default:return()=>true}}hostStyle(){if(null!=this.height)return{height:"number"==typeof this.height?this.height+"px":this.height}}handleHeaderClick=(t2,e2)=>{if(false===t2.sortable)return;if(this.effectiveLoading)return;const i2=this.multiSortActive()&&true===e2?.shiftKey?"append":"replace";this.applySortModel(Xi(this.activeSortModel,t2.field,i2))};builtInFilterDecl(t2){if(void 0!==t2)return true===t2?"text":false!==t2&&(Array.isArray(t2)||"text"===t2||"number"===t2||"date"===t2||"set"===t2?t2:void 0)}offeredFilterUiKind(t2){const e2=this.filterUiKind(t2);return null!==e2&&this.proFilterKindReady(e2)?e2:null}filterUiKind(t2){if(void 0===(t2=this.builtInFilterDecl(t2)))return null;if(false===t2)return null;if(Array.isArray(t2)){const e2=this.declaredFilterKinds(t2);if(0===e2.length)return null;const i2=1===e2.length?e2[0]:"multi";return this.filterKindAllowed(i2,e2.includes("set"))?i2:null}return"text"===t2||"number"===t2||"date"===t2?t2:"set"===t2?this.filterKindAllowed("set",true)?"set":null:"text"}proFilterKindChunk(t2){return this.proUiChunk("pro-filters","set"===t2?"grid.set-filter":"grid.multi-filter","columnDefs")??null}proFilterKindReady(t2){return"set"!==t2&&"multi"!==t2||null!==this.proFilterKindChunk(t2)}filterKindAllowed(t2,e2){if("set"===t2)return this.proAllowed("grid.set-filter","columnDefs");if("multi"!==t2)return true;const i2=this.proAllowed("grid.multi-filter","columnDefs"),n2=!e2||this.proAllowed("grid.set-filter","columnDefs");return i2&&n2}declaredFilterKinds(t2){const e2=[];for(const i2 of t2)"text"!==i2&&"number"!==i2&&"date"!==i2&&"set"!==i2||e2.push(i2);return e2}defaultFormForKind(t2,e2){if("set"===e2){const i2=this.setFilterCatalogueTarget(t2),n2=this.maskRowsForRead(i2.rows,this.resolvedColumnDefs()),r2=this.proUiChunks["pro-filters"],s2=void 0!==r2?r2.collectSetFilterValues(n2,i2.target):[],o2=new Set;for(const t3 of s2)o2.add(t3.key);return{field:t2,kind:e2,op:"in",value1:"",value2:"",caseSensitive:false,granularity:"utc",setItems:s2,setSelected:o2,setSearch:""}}return{field:t2,kind:e2,op:"text"===e2?"contains":"equals",value1:"",value2:"",caseSensitive:false,granularity:"utc"}}formFromMultiPart(t2,e2){if("set"===e2.kind){const i2=this.defaultFormForKind(t2,"set"),n2=e2.spec.values,r2=new Set;if(null===n2)for(const t3 of i2.setItems??[])r2.add(t3.key);else for(const t3 of n2)r2.add(t3);return{...i2,setSelected:r2}}return this.formStateFromActive({kind:e2.kind,field:t2,spec:e2.spec})}buildInitialForm(t2,e2,i2){const n2=this.activeFilters[t2];if("multi"===e2){const r2=Array.isArray(i2)?this.declaredFilterKinds(i2):[],s2=n2&&"multi"===n2.kind?n2.spec.parts:[],o2=r2.map((e3=>{const i3=s2.find((t3=>t3.kind===e3));return i3?this.formFromMultiPart(t2,i3):this.defaultFormForKind(t2,e3)}));return{field:t2,kind:e2,op:"multi",value1:"",value2:"",caseSensitive:false,granularity:"utc",subForms:o2}}if("set"===e2){const e3=this.defaultFormForKind(t2,"set"),i3=n2&&"set"===n2.kind?n2.spec.values:null;if(null!==i3){const t3=new Set;for(const e4 of i3)t3.add(e4);return{...e3,setSelected:t3}}return e3}return n2&&n2.kind===e2?this.formStateFromActive(n2):this.defaultFormForKind(t2,e2)}formStateFromActive(t2){if("text"===t2.kind)return{field:t2.field,kind:"text",op:t2.spec.op,value1:t2.spec.value??"",value2:"",caseSensitive:t2.spec.caseSensitive??false,granularity:"utc"};if("number"===t2.kind){const e3=t2.spec.value,i3="between"===t2.spec.op||"notBetween"===t2.spec.op;return{field:t2.field,kind:"number",op:t2.spec.op,value1:this.numberToInputValue(i3&&Array.isArray(e3)?e3[0]:e3),value2:i3&&Array.isArray(e3)?this.numberToInputValue(e3[1]):"",caseSensitive:false,granularity:"utc"}}if("set"===t2.kind)return this.buildInitialForm(t2.field,"set");if("multi"===t2.kind)return{field:t2.field,kind:"multi",op:"multi",value1:"",value2:"",caseSensitive:false,granularity:"utc",subForms:t2.spec.parts.map((e3=>this.formFromMultiPart(t2.field,e3)))};const e2=t2.spec.value,i2="between"===t2.spec.op||"notBetween"===t2.spec.op;return{field:t2.field,kind:"date",op:t2.spec.op,value1:this.dateValueToInput(i2&&Array.isArray(e2)?e2[0]:e2),value2:i2&&Array.isArray(e2)?this.dateValueToInput(e2[1]):"",caseSensitive:false,granularity:t2.spec.granularity??"utc"}}numberToInputValue(t2){return null==t2||"number"==typeof t2&&Number.isNaN(t2)?"":t2+""}dateValueToInput(t2){if(null==t2)return"";if(t2 instanceof Date){const e2=t2.getTime();return Number.isNaN(e2)?"":t2.toISOString().slice(0,10)}if("number"==typeof t2){const e2=t2;return Number.isFinite(e2)?new Date(e2).toISOString().slice(0,10):""}return"string"==typeof t2?/^\d{4}-\d{2}-\d{2}/.test(t2)?t2.slice(0,10):t2:""}handleFilterIconClick=(t2,e2)=>{e2.stopPropagation(),this.toggleFilterDropdown(t2,e2.currentTarget)};computeFilterDropdownAnchor(t2){const e2=t2?.getBoundingClientRect?.(),i2=this.host?.getBoundingClientRect?.();if(!e2||!i2)return null;const n2=Math.max(4,i2.width-260-4);return{x:Math.min(Math.max(e2.left-i2.left,4),n2),y:Math.max(e2.bottom-i2.top+4,4)}}toggleFilterDropdown(t2,e2){if(this.effectiveLoading&&this.openFilterField!==t2.field)return;const i2=this.lifecycleFilterDeclaration(t2),n2=null===i2?this.builtInFilterDecl(t2.filter):void 0,r2=null===i2?this.offeredFilterUiKind(n2):null;(null!==i2||r2)&&(this.openFilterField!==t2.field?(this.dropdownAnchor=this.computeFilterDropdownAnchor(e2),this.openFilterField=t2.field,this.filterForm=null===i2&&null!==r2?this.buildInitialForm(t2.field,r2,n2):null,this.filterDropdownReturnFocus=e2,this.filterDropdownFocused=false):this.closeFilterDropdown())}closeFilterDropdown(t2=true){if(null===this.openFilterField)return;const e2=this.resolvedColumnDefs().find((t3=>t3.field===this.openFilterField));if(void 0!==e2&&null!==this.lifecycleFilterDeclaration(e2)){const t3=this.componentFilterColumnId(e2),i3=this.componentFilterHosts.get(t3);void 0!==i3?this.releaseComponentFilterHost(t3,i3,false):this.filterFacade?.detachFilterGui(t3)}this.openFilterField=null,this.filterForm=null,this.dropdownAnchor=null,this.filterDropdownFocused=false;const i2=this.filterDropdownReturnFocus;this.filterDropdownReturnFocus=null,t2&&(null!==i2&&"function"==typeof i2.focus&&this.host?.contains(i2)?i2.focus():this.viewportEl&&"function"==typeof this.viewportEl.focus&&this.viewportEl.focus({preventScroll:true}))}maybeFocusFilterDropdown(){if(null===this.openFilterField||this.filterDropdownFocused)return;const t2=this.filterDropdownEl;null!==t2&&(this.filterDropdownFocused=true,(t2.querySelector("input, select, button:not([disabled])")??t2).focus())}updateFilterForm=t2=>{this.filterForm&&(this.effectiveLoading||(this.filterForm={...this.filterForm,...t2}))};patchForm(t2,e2){if(null===t2)return void this.updateFilterForm(e2);if(!this.filterForm?.subForms||this.effectiveLoading)return;const i2=this.filterForm.subForms.map(((i3,n2)=>n2===t2?{...i3,...e2}:i3));this.updateFilterForm({subForms:i2})}formAt(t2){return this.filterForm?null===t2?this.filterForm:this.filterForm.subForms?.[t2]??null:null}setFormSelectsAll(t2){if(!t2.setItems||!t2.setSelected)return true;for(const e2 of t2.setItems)if(!t2.setSelected.has(e2.key))return false;return true}subFormIsInactive(t2){return"set"===t2.kind?this.setFormSelectsAll(t2):"text"===t2.kind?""===t2.value1&&("contains"===t2.op||"startsWith"===t2.op||"endsWith"===t2.op):"between"===t2.op||"notBetween"===t2.op?""===t2.value1.trim()&&""===t2.value2.trim():""===t2.value1.trim()}multiFormActiveParts(t2){const e2=[];for(const i2 of t2.subForms??[]){if(this.subFormIsInactive(i2))continue;const t3=this.buildActiveFilterFromForm(i2);t3&&"multi"!==t3.kind&&e2.push({kind:t3.kind,spec:t3.spec})}return e2}buildActiveFilterFromForm(t2){if("multi"===t2.kind){const e3=this.multiFormActiveParts(t2);return 0===e3.length?null:{kind:"multi",field:t2.field,spec:{field:t2.field,parts:e3}}}if("set"===t2.kind){const e3={field:t2.field,values:t2.setSelected?[...t2.setSelected]:null};return{kind:"set",field:t2.field,spec:e3}}if("text"===t2.kind)return{kind:"text",field:t2.field,spec:{field:t2.field,op:t2.op,value:t2.value1,caseSensitive:t2.caseSensitive}};if("number"===t2.kind){const e3=t2.op,i2="between"===e3||"notBetween"===e3,n2=""===t2.value1.trim()?NaN:ii(t2.value1)??NaN,r2=""===t2.value2.trim()?NaN:ii(t2.value2)??NaN;return{kind:"number",field:t2.field,spec:{field:t2.field,op:e3,value:i2?[n2,r2]:n2}}}const e2=t2.op;return{kind:"date",field:t2.field,spec:{field:t2.field,op:e2,value:"between"===e2||"notBetween"===e2?[t2.value1,t2.value2]:t2.value1,granularity:t2.granularity}}}handleFilterApply=()=>{if(!this.filterForm)return;if(this.effectiveLoading)return;if("set"===this.filterForm.kind&&this.setFormSelectsAll(this.filterForm))return void this.handleFilterClear();if("multi"===this.filterForm.kind&&0===this.multiFormActiveParts(this.filterForm).length)return void this.handleFilterClear();const t2=this.buildActiveFilterFromForm(this.filterForm);if(!t2)return void this.closeFilterDropdown();if(!this.filterApplyAllowed(t2))return;const e2=tn(this.activeFilters,t2);this.activeFilters=e2,this.filterChanged.emit({field:t2.field,filter:t2,activeMap:e2}),this.scheduleLifecycleFilterPeerNotification(),this.closeFilterDropdown(),this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange()};filterApplyAllowed(t2){return"set"===t2.kind?this.proNewWorkAllowed("grid.set-filter","columnDefs"):"multi"!==t2.kind||!!this.proNewWorkAllowed("grid.multi-filter","columnDefs")&&(!t2.spec.parts.some((t3=>"set"===t3.kind))||this.proNewWorkAllowed("grid.set-filter","columnDefs"))}handleFilterClear=()=>{if(!this.filterForm)return;if(this.effectiveLoading)return;const t2=this.filterForm.field,e2=en(this.activeFilters,t2);this.activeFilters=e2,this.filterChanged.emit({field:t2,filter:null,activeMap:e2}),this.scheduleLifecycleFilterPeerNotification(),this.closeFilterDropdown(),this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange()};handleFilterCancel=()=>{this.closeFilterDropdown()};handleDocumentLifecycleEditorKeyDown=t2=>{if(t2.isComposing||"Escape"!==t2.key&&"Esc"!==t2.key)return;if(!this.ownsLifecycleEditorDocumentEvent(t2)||null===this.editingCell&&null===this.lifecycleEditorQueuedRequestRevision)return;const e2=this.editorFacade,i2=null!==e2&&"idle"!==e2.lookup().status;if(i2||null!==this.lifecycleEditorQueuedRequestRevision){if(t2.preventDefault(),t2.stopImmediatePropagation(),i2)return this.invalidateLifecycleEditorRequests(),void e2.stop("escape",{cancel:true});this.cancelActiveEdit()}};handleDocumentClick=t2=>{if(null!==this.contextMenuState){const e3=t2.target;null!==e3?.closest?.(".sy-grid__context-menu")&&void 0!==e3?.closest||this.closeContextMenu()}if(null!==this.commentPanel){const e3=t2.target;null!==e3&&"function"==typeof e3.closest&&(null!==e3.closest(".sy-grid__comment-panel")||void 0!==this.host&&this.host.contains(e3))||this.closeCommentPanel()}if(null!==this.selectEditorState&&this.selectEditorState.open){const e3=t2.target,i3=null!==e3&&"object"==typeof e3&&"closest"in e3&&"function"==typeof e3.closest?e3:null,n2=null!==i3&&null!==i3.closest(".sy-grid__cell-editor--select"),r2=null!==i3&&null!==i3.closest(".sy-grid__select-listbox");if(!n2&&!r2){const t3=Ao(this.selectEditorState,false);t3!==this.selectEditorState&&(this.selectEditorState=t3)}}const e2=this.editorFacade?.lookup();if("mounted"===e2?.status){const i3=t2.target,n2=null!==i3&&"object"==typeof i3&&"nodeType"in i3?i3:null,r2=null!==n2&&e2.gui.contains(n2),s2=null!==n2&&true===e2.params.cellElement?.contains(n2);r2||s2||(this.invalidateLifecycleEditorRequests(),this.editorFacade?.handleMouseStop())}else if("starting"===e2?.status){const e3=t2.target,i3=null!==e3&&"object"==typeof e3&&"nodeType"in e3?e3:null,n2=this.lifecycleEditorCell,r2=null===n2?void 0:this.lifecycleEditorCellElement(n2.rowIndex,n2.colIndex);null!==i3&&void 0!==r2&&r2.contains(i3)||(this.invalidateLifecycleEditorRequests(),this.editorFacade?.handleMouseStop())}else if(null!==this.lifecycleEditorCell&&null!==this.editingCell){const e3=t2.target,i3=null!==e3&&"object"==typeof e3&&"nodeType"in e3?e3:null,n2=this.lifecycleEditorCellElement(this.lifecycleEditorCell.rowIndex,this.lifecycleEditorCell.colIndex);null!==i3&&void 0!==n2&&n2.contains(i3)||this.cancelActiveEdit()}if(!this.openFilterField)return;const i2=t2.target;if(i2&&this.host.contains(i2)){const t3=i2.closest?.(".sy-grid__filter-dropdown"),e3=i2.closest?.(".sy-grid__filter-icon");if(t3||e3)return}this.closeFilterDropdown(false)};handleWindowKeyDown(t2){"Escape"===t2.key&&this.openFilterField&&this.closeFilterDropdown(),"Escape"===t2.key&&null!==this.contextMenuState&&this.closeContextMenu(),"Escape"===t2.key&&null!==this.csvWizard&&(t2.stopPropagation(),this.cancelCsvWizard())}commitPagination(t2,e2){const i2=this.activePagination;if(t2===i2)return;if(t2.pageIndex===i2.pageIndex&&t2.pageSize===i2.pageSize)return;this.activePagination=t2,this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange();const n2=this.latestPaginatedMeta,r2=n2?.totalRows??0;this.paginationChanged.emit({pageIndex:t2.pageIndex,pageSize:t2.pageSize,pageCount:n2?Math.max(1,Math.ceil(r2/t2.pageSize)):1,totalRows:r2,previous:i2})}handleGoToPage=t2=>{if(!this.pagination)return;if(this.effectiveLoading)return;const e2=(function(t3,e3,i2){let n2=e3;"number"==typeof n2&&Number.isFinite(n2)||(n2=0),Number.isInteger(n2)||(n2=Math.floor(n2));const r2=sn(i2);return n2<0&&(n2=0),n2>r2-1&&(n2=r2-1),n2===t3.pageIndex?t3:{pageIndex:n2,pageSize:t3.pageSize}})(this.activePagination,t2,this.latestPaginatedMeta);this.commitPagination(e2,"go")};handlePrevPage=()=>{if(!this.pagination)return;if(this.effectiveLoading)return;const t2=(function(t3){return t3.pageIndex<=0?t3:{pageIndex:t3.pageIndex-1,pageSize:t3.pageSize}})(this.activePagination);this.commitPagination(t2,"prev")};handleNextPage=()=>{if(!this.pagination)return;if(this.effectiveLoading)return;const t2=(function(t3,e2){const i2=sn(e2);return t3.pageIndex>=i2-1?t3:{pageIndex:t3.pageIndex+1,pageSize:t3.pageSize}})(this.activePagination,this.latestPaginatedMeta);this.commitPagination(t2,"next")};handlePageSizeChange=t2=>{if(!this.pagination)return;if(this.effectiveLoading)return;const e2="number"==typeof t2?t2:Number(t2);if("number"!=typeof e2||!Number.isFinite(e2)||!Number.isInteger(e2)||e2<1)return void console.warn("[SG:PAGE] bad selection="+t2);const i2=on(this.activePagination,e2,this.latestPaginatedMeta);this.commitPagination(i2,"size")};handlePaginationKeyDown=t2=>{if("ArrowLeft"===t2.key){const e2=t2.target;if(e2&&"SELECT"===e2.tagName)return;t2.preventDefault(),this.handlePrevPage()}else if("ArrowRight"===t2.key){const e2=t2.target;if(e2&&"SELECT"===e2.tagName)return;t2.preventDefault(),this.handleNextPage()}};onQuickFilterTextPropChanged(t2){const e2="string"==typeof t2?t2:"",i2=e2!==this.quickFilterValue;(i2||e2!==this.quickFilterPendingValue)&&(this.cancelQuickFilterDebounce(),i2&&(this.quickFilterValue=e2),this.quickFilterPendingValue=e2,this.syncQuickFilterInputValue(e2),i2&&this.host?.isConnected&&(this.resetVirtualScrollPosition(),this.recomputeVirtualWindow()))}onQuickFilterConfigChanged(){this.host?.isConnected&&(this.resetVirtualScrollPosition(),this.recomputeVirtualWindow())}onLoadingChanged(){this.updateLoadingState(),this.host?.isConnected&&this.recomputeVirtualWindow()}onLoadingModeChanged(t2,e2){"off"===t2&&"off"!==e2&&(this.loadingDebouncer.clear(),this.cancelLoadingDebounce()),this.updateLoadingState()}onMinLoadingDurationChanged(){this.loadingDebouncer.clear(),this.cancelLoadingDebounce(),this.loadingDebouncer=Pn(this.minLoadingDuration),this.updateLoadingState()}updateLoadingState(){const t2=En({externalLoading:true===this.loading,mode:this.loadingMode??"manual"}),e2=this.nowMs(),i2=this.loadingDebouncer.update(t2,e2);if(i2!==this.effectiveLoading&&(this.effectiveLoading=i2),this.cancelLoadingDebounce(),true===i2&&false===t2){const t3=this.loadingDebouncer.remaining(e2);this.loadingDebounceTimer=setTimeout((()=>{this.loadingDebounceTimer=null;const t4=En({externalLoading:true===this.loading,mode:this.loadingMode??"manual"}),e3=this.loadingDebouncer.update(t4,this.nowMs());e3!==this.effectiveLoading&&(this.effectiveLoading=e3,this.host?.isConnected&&this.recomputeVirtualWindow())}),t3)}}cancelLoadingDebounce(){null!==this.loadingDebounceTimer&&(clearTimeout(this.loadingDebounceTimer),this.loadingDebounceTimer=null)}nowMs(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}cancelQuickFilterDebounce(){null!==this.quickFilterDebounceTimer&&(clearTimeout(this.quickFilterDebounceTimer),this.quickFilterDebounceTimer=null)}commitQuickFilterValue(t2){const e2="string"==typeof t2?t2:"",i2=this.quickFilterValue;this.quickFilterPendingValue=e2,this.syncQuickFilterInputValue(e2),e2!==i2&&(this.quickFilterValue=e2,this.quickFilterChanged.emit({value:e2,previous:i2}),this.scheduleLifecycleFilterPeerNotification(),this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange())}handleQuickFilterInput=t2=>{const e2=t2.target;if(!e2)return;if(this.effectiveLoading)return void(e2.value=this.quickFilterValue);const i2=e2.value;this.quickFilterPendingValue=i2;const n2=this.normalizedQuickFilterDebounce();if(n2<=0)return this.cancelQuickFilterDebounce(),void this.commitQuickFilterValue(i2);this.cancelQuickFilterDebounce(),this.quickFilterDebounceTimer=setTimeout((()=>{this.quickFilterDebounceTimer=null,this.commitQuickFilterValue(this.quickFilterPendingValue)}),n2)};handleQuickFilterKeyDown=t2=>{if(this.effectiveLoading)"Escape"!==t2.key&&"Enter"!==t2.key||(t2.preventDefault(),this.syncQuickFilterInputValue(this.quickFilterValue));else if("Escape"===t2.key){t2.preventDefault(),this.cancelQuickFilterDebounce();const e2=t2.target;e2&&(e2.value=""),this.commitQuickFilterValue("")}else"Enter"===t2.key&&(t2.preventDefault(),this.cancelQuickFilterDebounce(),this.commitQuickFilterValue(this.quickFilterPendingValue))};handleQuickFilterClear=()=>{this.effectiveLoading||(this.cancelQuickFilterDebounce(),this.commitQuickFilterValue(""))};normalizedQuickFilterDebounce(){const t2=this.quickFilterDebounce,e2="number"==typeof t2?t2:Number(t2);return Number.isFinite(e2)?Math.max(0,Math.floor(e2)):150}syncQuickFilterInputValue(t2){this.quickFilterInputEl&&this.quickFilterInputEl.value!==t2&&(this.quickFilterInputEl.value=t2)}shouldRenderQuickFilterToolbar(){return true===this.quickFilter&&this.usingColumnDefsApi()}hasAnyActiveFilter(){return Object.keys(this.activeFilters).length>0||true===this.quickFilter&&""!==("string"==typeof this.quickFilterValue?this.quickFilterValue:"").trim()}resolveEmptyStateKind(){if(!this.usingColumnDefsApi())return"none";if(true!==this.showEmptyState)return"none";if(null!==this.serverSideState){const t2=this.serverSideState.nodes[""];return void 0!==t2&&t2.lastRowKnown&&0===t2.rowCount?"no-data":"none"}if(null!==this.viewportState)return this.viewportState.countReported&&0===this.viewportState.rowCount?"no-data":"none";if(null!==this.infiniteCache){const t2=this.infiniteCache;return t2.lastRowKnown&&0===t2.rowCount?"no-data":"none"}return(function(t2){return true===t2.loading?"loading":An(t2.sourceRowCount)<=0?"no-data":An(t2.displayRowCount)<=0&&true===t2.hasActiveFilters?"no-matches":"none"})({sourceRowCount:this.rowData?.length??0,displayRowCount:this.getDisplayRows().length,loading:true===this.effectiveLoading,hasActiveFilters:this.hasAnyActiveFilter()})}handleEmptyStateClearFilters=()=>{const t2=this.resolveEmptyStateKind(),e2=Object.keys(this.activeFilters);if(e2.length>0){let t3=this.activeFilters;for(const i2 of e2)t3=en(t3,i2),this.filterChanged.emit({field:i2,filter:null,activeMap:t3});this.activeFilters=t3,this.scheduleLifecycleFilterPeerNotification()}true!==this.quickFilter||""===("string"==typeof this.quickFilterValue?this.quickFilterValue:"")&&""===("string"==typeof this.quickFilterPendingValue?this.quickFilterPendingValue:"")&&""===(this.quickFilterInputEl?.value??"")||(this.cancelQuickFilterDebounce(),this.commitQuickFilterValue("")),this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.emptyStateActionClicked.emit({kind:t2,action:"clear-filters"})};normalizedPageSizeOptions(){const t2=Array.isArray(this.pageSizeOptions)?this.pageSizeOptions:rn,e2=new Set,i2=[];for(const n3 of t2){const t3=Number(n3);!Number.isFinite(t3)||!Number.isInteger(t3)||t3<1||e2.has(t3)||(e2.add(t3),i2.push(t3))}const n2=this.activePagination.pageSize;return 0===i2.length?(i2.push(n2),i2):(e2.has(n2)||(i2.push(n2),i2.sort(((t3,e3)=>t3-e3))),i2)}activeColCount(){return this.resolvedColumnDefs().length}renderedColumnCount(){return this.resolvedColumnDefs().length+this.checkboxColumnOffset()}activeRowCount(){return this.usingColumnDefsApi()?this.getDisplayRows().length:0}isKeyboardNavEnabled(){return!!this.usingColumnDefsApi()&&false!==this.keyboardNavigation&&!this.effectiveLoading&&null===this.openFilterField}commitActiveCell(t2,e2={}){const i2=this.activeCell;if(i2!==t2&&!(i2&&t2&&i2.rowIndex===t2.rowIndex&&i2.colIndex===t2.colIndex||(this.releaseFocusedLifecycleRenderer(),this.activeCell=t2,this.formulaBarDraft=null,this.formulaSuggest=null,false!==e2.scrollIntoView&&t2?this.pendingScrollIntoView=t2:null===t2&&(this.pendingScrollIntoView=null),this.activeCellChanged.emit({active:t2,previous:i2}),null===t2||null===this.liveObjectModel))){const e3=this.liveObjectModel.getDisplayedRowAtIndex(t2.rowIndex),n2=this.resolvedColumnDefs()[t2.colIndex];e3&&this.publishLiveObjectChange("row",e3.id,"focused","ui",{before:i2,after:t2,field:n2?.field,data:e3.getData()??void 0})}}focusOutsideGridRoot(t2){const e2=this.host.ownerDocument;if(!e2)return false;const i2=this.host.querySelector(".sy-grid__grid")??this.viewportEl??this.host,n2=Array.from(e2.querySelectorAll("a[href],button,input,select,textarea,[tabindex]")),r2=[],s2=[];for(const t3 of n2){if(i2.contains(t3))continue;if(!this.isFocusableForGridEscape(t3))continue;const e3=i2.compareDocumentPosition(t3);2&e3?r2.push(t3):4&e3&&s2.push(t3)}const o2=t2?r2[r2.length-1]:s2[0];if(!o2)return false;try{o2.focus({preventScroll:true})}catch{o2.focus()}return this.releaseFocusedLifecycleRenderer(),true}gridOwnsDocumentFocus(){const t2=this.host.ownerDocument?.activeElement;return null!=t2&&(t2===this.host||this.host.contains(t2))}isFocusableForGridEscape(t2){if(t2.hasAttribute("disabled"))return false;if("true"===t2.getAttribute("aria-disabled"))return false;const e2=t2.getAttribute("tabindex");if(null!==e2&&Number(e2)<0)return false;const i2=t2.ownerDocument.defaultView;if(i2){const e3=i2.getComputedStyle(t2);if("none"===e3.display||"hidden"===e3.visibility)return false}return"function"==typeof t2.focus}handleViewportKeyDown=t2=>{const e2=t2.target;if(null!==e2&&void 0!==e2.closest&&null!==e2.closest(".sy-grid__selection-checkbox")){const e3=this.dgRow(t2);if(null!==e3&&!this.isSentinelDisplayRow(e3.row)&&(this.handleBodyCheckboxKeyDown(e3.row,e3.rowIndex,t2),t2.defaultPrevented))return}if(!this.isKeyboardNavEnabled())return;const i2=this.activeRowCount(),n2=this.activeColCount();if(0!==i2&&0!==n2){if((t2.ctrlKey||t2.metaKey)&&("c"===t2.key||"C"===t2.key)&&null===this.editStore.active){if(!Qt(this.normalizedRanges())&&this.hostTextSelected())return;return t2.preventDefault(),void this.copySelectionToClipboard()}switch(t2.key){case"ArrowUp":{if(t2.preventDefault(),t2.shiftKey&&this.rangeSelectionActive())return void this.extendRangeByKeyboard("up",i2,n2);if(!t2.shiftKey&&this.enterPinnedBandFromBody("up"))return;const e3=this.spanAwareMove("up",this.skipDetailRows(Nn(this.activeCell,"up",i2,n2),"up",i2,n2));return void this.commitActiveCell(e3)}case"ArrowDown":{if(t2.preventDefault(),t2.shiftKey&&this.rangeSelectionActive())return void this.extendRangeByKeyboard("down",i2,n2);if(!t2.shiftKey&&this.enterPinnedBandFromBody("down"))return;const e3=this.spanAwareMove("down",this.skipDetailRows(Nn(this.activeCell,"down",i2,n2),"down",i2,n2));return void this.commitActiveCell(e3)}case"ArrowLeft":{if(t2.preventDefault(),null!==this.activeCell&&this.isFullWidthDisplayRow(this.activeCell.rowIndex))return;if(t2.shiftKey&&this.rangeSelectionActive())return void this.extendRangeByKeyboard("left",i2,n2);const e3=null!==this.activeCell?this.getDisplayRows()[this.activeCell.rowIndex]:void 0;if(yi(e3)&&e3.expanded)return void this.applyRowGroupExpanded(e3.key,false,"ui");if(wi(e3)&&e3.hasChildren&&e3.expanded)return void this.applyTreeNodeExpanded(e3.path,false,"ui");const r2=this.spanAwareMove("left",Bn(this.activeCell,"left",i2,n2));return void this.commitActiveCell(r2)}case"ArrowRight":{if(t2.preventDefault(),null!==this.activeCell&&this.isFullWidthDisplayRow(this.activeCell.rowIndex))return;if(t2.shiftKey&&this.rangeSelectionActive())return void this.extendRangeByKeyboard("right",i2,n2);const e3=null!==this.activeCell?this.getDisplayRows()[this.activeCell.rowIndex]:void 0;if(yi(e3)&&!e3.expanded)return void this.applyRowGroupExpanded(e3.key,true,"ui");if(wi(e3)&&e3.hasChildren&&!e3.expanded)return void this.applyTreeNodeExpanded(e3.path,true,"ui");const r2=this.spanAwareMove("right",Bn(this.activeCell,"right",i2,n2));return void this.commitActiveCell(r2)}case"Tab":return void(this.focusOutsideGridRoot(t2.shiftKey)&&t2.preventDefault());case"Enter":{if(null===this.activeCell)return;if(null===this.editingCell&&"fullRow"===this.editType){const e4=this.rowEditSessionRowId();if(null!==e4&&this.activeCellRowId()===e4)return t2.preventDefault(),void this.finishRowEditSession("commit")}t2.preventDefault();const e3=this.getDisplayRows()[this.activeCell.rowIndex],i3=this.resolvedColumnDefs()[this.activeCell.colIndex];if(void 0===e3||!i3)return;if(this.isFullWidthDisplayRow(this.activeCell.rowIndex)){const t3=this.viewportEl?.querySelector?.(`.sy-grid__full-width-row[data-row-index="${this.activeCell.rowIndex}"]`),e4=t3?.querySelector?.('.sy-grid__full-width-host a[href], .sy-grid__full-width-host button, .sy-grid__full-width-host input, .sy-grid__full-width-host select, .sy-grid__full-width-host textarea, .sy-grid__full-width-host [tabindex]:not([tabindex="-1"])');if(null!=e4)try{e4.focus({preventScroll:true})}catch{e4.focus()}return}if(yi(e3))return void this.applyRowGroupExpanded(e3.key,!e3.expanded,"ui");if(wi(e3))return void(e3.hasChildren?this.applyTreeNodeExpanded(e3.path,!e3.expanded,"ui"):null!==e3.row&&this.cellClicked.emit({row:e3.row,rowIndex:this.activeCell.rowIndex,colIndex:this.activeCell.colIndex,field:i3.field}));if(bi(e3)||_i(e3))return;if(ji(e3))return;return this.cellClicked.emit({row:e3,rowIndex:this.activeCell.rowIndex,colIndex:this.activeCell.colIndex,field:i3.field}),void(true===i3.editable&&this.passesEditPolicy(this.activeCell.rowIndex,i3,e3)&&this.beginCellEdit(this.activeCell.rowIndex,this.activeCell.colIndex,"keyboard",t2))}case"Escape":if(null!==this.editingCell){if(t2.preventDefault(),null!==this.editorFacade&&"idle"!==this.editorFacade.lookup().status)return this.invalidateLifecycleEditorRequests(),void this.editorFacade.stop("escape",{cancel:true});const e3=this.editingCell;return this.invalidateLifecycleEditorRequests(),this.editingCell=null,this.unregisterLifecycleEditorDocumentOwner(),this.cancelEditTransaction(),void this.cellEditingCancelled.emit({rowIndex:e3.rowIndex,colIndex:e3.colIndex})}if("fullRow"===this.editType&&null!==this.rowEditSessionRowId())return t2.preventDefault(),void this.finishRowEditSession("cancel");if(this.rangeState.ranges.length>0||null!==this.rangeState.dragging)return t2.preventDefault(),void this.clearCellRanges();if(null===this.activeCell)return;return t2.preventDefault(),void this.commitActiveCell(null);case"Home":{t2.preventDefault();const e3=t2.ctrlKey||t2.metaKey?(function(t3,e4){const i3=Tn(t3),n3=Tn(e4);return 0===i3||0===n3?null:{rowIndex:0,colIndex:0}})(i2,n2):(function(t3,e4){return 0===Tn(e4)?null:!t3||"number"!=typeof t3.rowIndex||!Number.isInteger(t3.rowIndex)||t3.rowIndex<0?{rowIndex:0,colIndex:0}:0===t3.colIndex?t3:{rowIndex:t3.rowIndex,colIndex:0}})(this.activeCell,n2);return void this.commitActiveCell(this.skipDetailRows(e3,"down",i2,n2))}case"End":{t2.preventDefault();const e3=t2.ctrlKey||t2.metaKey?(function(t3,e4){const i3=Tn(t3),n3=Tn(e4);return 0===i3||0===n3?null:{rowIndex:i3-1,colIndex:n3-1}})(i2,n2):(function(t3,e4){const i3=Tn(e4);if(0===i3)return null;const n3=i3-1;return!t3||"number"!=typeof t3.rowIndex||!Number.isInteger(t3.rowIndex)||t3.rowIndex<0?{rowIndex:0,colIndex:n3}:t3.colIndex===n3?t3:{rowIndex:t3.rowIndex,colIndex:n3}})(this.activeCell,n2);return void this.commitActiveCell(this.skipDetailRows(e3,"up",i2,n2))}case"PageUp":{t2.preventDefault();const e3=this.viewportRowCount(),r2=On(this.activeCell,"up",e3,i2,n2);return void this.commitActiveCell(this.skipDetailRows(r2,"up",i2,n2))}case"PageDown":{t2.preventDefault();const e3=this.viewportRowCount(),r2=On(this.activeCell,"down",e3,i2,n2);return void this.commitActiveCell(this.skipDetailRows(r2,"down",i2,n2))}case"F2":if(null===this.activeCell)return;if(t2.shiftKey){const e3=this.getDisplayRows()[this.activeCell.rowIndex],i3=this.resolvedColumnDefs()[this.activeCell.colIndex]?.field;return void(null!=e3&&"object"==typeof e3&&"string"==typeof i3&&null!==this.collabSession&&(t2.preventDefault(),this.openCommentPanelAt(this.collabRowId(e3,this.activeCell.rowIndex),i3)))}return void(this.beginCellEdit(this.activeCell.rowIndex,this.activeCell.colIndex,"keyboard",t2)&&t2.preventDefault());case" ":case"Spacebar":{if(null===this.activeCell||!this.masterDetailActive())return;const e3=this.getDisplayRows()[this.activeCell.rowIndex];if(null==e3||"object"!=typeof e3)return;const i3=this.detailRowIds.get(e3);if(void 0===i3)return;return t2.preventDefault(),void this.applyDetailRowExpanded(i3,!this.expandedDetailRows.has(i3),"ui")}default:return}}};viewportRowCount(){const t2=this.viewportSize?.height;let e2;e2="number"==typeof t2&&Number.isFinite(t2)&&t2>0?t2:this.estimatedViewportHeight();const i2=this.uniformRowHeight();if(!Number.isFinite(i2)||i2<=0)return 1;const n2=Math.floor(e2/i2);return n2>0?n2:1}handleCellMouseClick=(t2,e2,i2,n2,r2)=>{if(!this.usingColumnDefsApi())return;if(this.effectiveLoading)return;const s2=this.classifyCellClick(e2,n2,r2);this.cellClicked.emit({row:t2,rowIndex:e2,colIndex:i2,field:n2,button:s2.button,modifiers:s2.modifiers,doubleClick:s2.doubleClick,dragged:s2.dragged}),s2.doubleClick&&this.cellDoubleClicked.emit({row:t2,rowIndex:e2,colIndex:i2,field:n2,button:s2.button,modifiers:s2.modifiers}),this.emitRowClicked(t2,e2,r2),this.rangeSelectionActive()&&r2?.shiftKey||this.applyRowClickSelection(t2,e2,r2),false!==this.keyboardNavigation&&(this.commitActiveCell({rowIndex:e2,colIndex:i2},{scrollIntoView:false}),this.viewportEl&&document.activeElement!==this.viewportEl&&this.viewportEl.focus({preventScroll:true}),s2.doubleClick&&this.beginCellEdit(e2,i2,"mouse",r2??null),!(s2.dragged||s2.doubleClick||"left"!==s2.button||s2.modifiers.ctrl||s2.modifiers.shift||s2.modifiers.meta||s2.modifiers.alt)&&(null!==this.cellCommentBadge(t2,e2,n2)?this.openCommentPanelAt(this.collabRowId(t2,e2),n2):null!==this.commentPanel&&this.closeCommentPanel()))};lastCellClickedAt;lastCellClickedKey;lastCellMouseDown;lastRowMouseDown;lastRowClickedAt;lastRowClickedIndex;rangeSelectionActive(){return true===this.rangeSelection&&this.usingColumnDefsApi()&&this.proAllowed("grid.range-selection","rangeSelection")&&null!=this.proUiChunk("range-selection","grid.range-selection","rangeSelection")}rowReorderEnabled(){return true===this.rowDragManaged&&this.usingColumnDefsApi()&&null===this.infiniteCache&&true!==this.pagination&&0===this.activeSortModel.length&&0===Object.keys(this.activeFilters).length&&null===this.activeConditionTree&&""===(this.quickFilterValue??"")&&null===this.effectiveGroupFields()&&null===this.treeSurface()&&!this.masterDetailActive()}cellChangeFlashActive(){return true===this.cellChangeFlash||true===this.enableCellChangeFlash}flashCell(t2,e2){if(!this.cellChangeFlashActive()||"undefined"==typeof window)return;if("string"!=typeof e2||""===e2)return;const i2=Gi(t2,e2),n2=this.flashTimers.get(i2);void 0!==n2&&clearTimeout(n2);const r2=(function(t3,e3){if(t3.has(e3))return t3;const i3=new Set(t3);return i3.add(e3),i3})(this.flashingCells,i2);r2!==this.flashingCells&&(this.flashingCells=r2);const s2=setTimeout((()=>{this.flashTimers.delete(i2);const t3=(function(t4,e3){if(!t4.has(e3))return t4;const i3=new Set(t4);return i3.delete(e3),i3})(this.flashingCells,i2);t3!==this.flashingCells&&(this.flashingCells=t3)}),900);this.flashTimers.set(i2,s2)}handleRowDragStart(t2,e2){if(!this.rowReorderEnabled()||0!==e2.button)return;if("undefined"==typeof document)return;e2.preventDefault(),e2.stopPropagation(),this.rowDragState=(function(t3){return{sourceIndex:t3,overIndex:t3,position:"below"}})(t2);const i2=t3=>this.handleRowDragMove(t3),n2=t3=>this.handleRowDragEnd(t3);document.addEventListener("mousemove",i2,true),document.addEventListener("mouseup",n2,true),this.rowDragCleanup=()=>{document.removeEventListener("mousemove",i2,true),document.removeEventListener("mouseup",n2,true),this.rowDragCleanup=null}}handleRowDragMove(t2){if(null===this.rowDragState)return;const e2=this.rowIndexAtPoint(t2.clientX,t2.clientY),i2=null===e2?Ni(this.rowDragState,null,"below"):Ni(this.rowDragState,e2.index,e2.position);i2!==this.rowDragState&&(this.rowDragState=i2)}handleRowDragEnd(t2){const e2=this.rowDragState;if(this.rowDragCleanup&&this.rowDragCleanup(),this.rowDragState=null,null===e2)return;const i2=this.rowData??[],n2=(function(t3){return Oi(t3.overIndex,t3.position)})(e2),r2=zi(i2,e2.sourceIndex,n2);if(r2===i2)return;const s2=i2[e2.sourceIndex],o2=r2.indexOf(s2);this.rowData=r2,this.rowMoved.emit({fromIndex:e2.sourceIndex,toIndex:o2,row:s2})}rowIndexAtPoint(t2,e2){if("undefined"==typeof document)return null;const i2=document.elementFromPoint(t2,e2),n2=i2?.closest(".sy-grid__row[data-row-index]");if(null===n2||void 0!==this.host&&!this.host.contains(n2))return null;const r2=Number(n2.getAttribute("data-row-index"));if(!Number.isInteger(r2))return null;const s2=n2.getBoundingClientRect();return{index:r2,position:e2<s2.top+s2.height/2?"above":"below"}}renderRowDragHandle(t2,e2){if(true!==e2.rowDrag)return null;const i2=this.rowReorderEnabled(),r2=!i2&&this.unmanagedRowDragEnabled();if(!i2&&!r2)return null;const s2=ar(this.resolvedMessages,"a11y.rowDragHandle",{row:t2+1});return n("span",{class:{"sy-grid__row-drag-handle":true,"sy-grid__row-drag-handle--unmanaged":r2},role:"button","aria-label":s2,title:s2,tabindex:r2?0:void 0,"data-row-drag-handle":r2?"unmanaged":"managed",onPointerDown:r2?e3=>this.handleUnmanagedDragPointerDown(t2,e3):void 0,onKeyDown:r2?e3=>this.handleUnmanagedDragKeyDown(t2,e3):void 0},n("span",{class:"sy-grid__row-drag-grip","aria-hidden":"true"},"⠿"))}rowDragDropClass(t2){const e2=this.rowDragState;if(null!==e2){const i3=e2.overIndex===t2;return{dragging:e2.sourceIndex===t2,above:i3&&"above"===e2.position,below:i3&&"below"===e2.position,into:false}}const i2=this.unmanagedDragTarget,n2=null!==i2&&null!==this.rowDragBinding&&i2.zoneId===this.rowDragBinding.zoneId&&i2.rowIndex===t2;return{dragging:this.unmanagedDragSource===t2,above:n2&&null!==i2&&"above"===i2.position,below:n2&&null!==i2&&"below"===i2.position,into:n2&&null!==i2&&"into"===i2.position}}normalizedRanges(){return this.rangeState.ranges.map(Fr)}emitRangeChange(){this.rangeSelectionChanged.emit({ranges:this.normalizedRanges()})}isSentinelDisplayRow(t2){return yi(t2)||bi(t2)||wi(t2)||_i(t2)||ji(t2)||Ci(t2)||ki(t2)||this.isPivotSubtotalDisplayRow(t2)}handleRangeDragStart(t2,e2,i2){this.rangeSelectionActive()&&this.proUiChunks["range-selection"]?.handleRangeDragStart(this.rangeSelectionHost(),t2,e2,i2)}extendRangeByKeyboard(t2,e2,i2){this.proUiChunks["range-selection"]?.extendRangeByKeyboard(this.rangeSelectionHost(),t2,e2,i2)}handleRangeDragEnter(t2,e2,i2){null!==this.rangeState.dragging&&this.proUiChunks["range-selection"]?.handleRangeDragEnter(this.rangeSelectionHost(),t2,e2,i2)}finishRangeDrag=()=>{null!==this.rangeState.dragging&&this.proUiChunks["range-selection"]?.finishRangeDrag(this.rangeSelectionHost())};rangeCellClasses(t2,e2){const i2=this.proUiChunks["range-selection"];return void 0===i2?{}:i2.rangeCellClasses(this.rangeSelectionHost(),t2,e2)}onRangeSelectionChange(t2){true!==t2&&(document.removeEventListener("mouseup",this.finishRangeDrag),(this.rangeState.ranges.length>0||null!==this.rangeState.dragging)&&(this.rangeState={ranges:[],dragging:null},this.emitRangeChange()))}clampRangesAfterChange(){0===this.rangeState.ranges.length&&null===this.rangeState.dragging||this.proUiChunks["range-selection"]?.clampRangesAfterChange(this.rangeSelectionHost())}copyableDataRowAt(t2,e2){const i2=t2[e2];return null==i2?null:wi(i2)?i2.filler||null==i2.row?null:i2.row:this.isSentinelDisplayRow(i2)?null:i2}readPolicyConfigured(){return null!=this.canReadCell}editPolicyConfigured(){return null!=this.canEditCell}isCellReadable(t2,e2,i2,n2){const r2=this.canReadCell;return null==r2||xe({rowIndex:i2,field:n2.field,colId:n2.colId??n2.field,data:e2,value:t2},r2,(t3=>{this.canReadWarned||(this.canReadWarned=true,console.warn("[SG:POLICY] read bad; mask fail-closed",t3))}))}applyReadMask(t2,e2,i2,n2){return this.readPolicyConfigured()?(function(t3,e3,i3){return e3?t3:i3})(t2,this.isCellReadable(t2,e2,i2,n2),this.maskedCellValue):t2}passesEditPolicy(t2,e2,i2){if(this.readPolicyConfigured()&&!this.isCellReadable(this.rawFieldValue(i2,t2,e2),i2,t2,e2))return false;const n2=this.canEditCell;return null==n2||(function(t3,e3,i3){return xe(t3,e3,i3)})({rowIndex:t2,field:e2.field,colId:e2.colId??e2.field,data:i2,value:this.rawFieldValue(i2,t2,e2)},n2,(t3=>{this.canEditWarned||(this.canEditWarned=true,console.warn("[SG:POLICY] edit bad; block fail-closed",t3))}))}passesEditPolicyAt(t2,e2){if(!this.readPolicyConfigured()&&!this.editPolicyConfigured())return true;const i2=this.effectiveColumns()[e2],n2=this.getDisplayRows()[t2];return!i2||null==n2||"object"!=typeof n2||this.passesEditPolicy(t2,i2,n2)}validateCell(t2,e2,i2){return void 0===this.validationRules||0===this.validationRules.length?{valid:true}:Oe(this.validationRules,{field:i2.field,value:this.rawFieldValue(t2,e2,i2),data:t2})}async getValidationErrors(){if(void 0===this.validationRules||0===this.validationRules.length)return[];const t2=this.getDisplayRows(),e2=this.resolvedColumnDefs(),i2=[];for(let n2=0;n2<t2.length;n2++){const r2=t2[n2];if(null==r2||"object"!=typeof r2||this.isSentinelDisplayRow(r2))continue;const s2=r2;for(const t3 of e2){if("string"!=typeof t3.field||""===t3.field)continue;const e3=this.rawFieldValue(s2,n2,t3);if(this.readPolicyConfigured()&&!this.isCellReadable(e3,s2,n2,t3))continue;const o2=this.validateCell(s2,n2,t3);o2.valid||i2.push({rowIndex:n2,rowId:this.extractRowId(r2,n2),field:t3.field,value:e3,message:o2.message??"Invalid value"})}}return i2}async captureSnapshot(t2){const e2="snap-"+ ++this.snapshotCounter,i2="string"==typeof t2&&""!==t2.trim()?t2.trim():"Snapshot "+this.snapshotCounter,n2=(function(t3,e3){return{id:e3.id,name:e3.name,ts:e3.ts,rows:ze(t3)}})(this.rowData??[],{id:e2,name:i2,ts:Date.now()});return this.snapshotStore=(function(t3,e3,i3){const n3=[...t3,e3],r2=Be(i3);return n3.length>r2?n3.slice(n3.length-r2):n3})(this.snapshotStore,n2,this.maxSnapshots),this.snapshotCaptured.emit({id:e2,name:i2,rowCount:n2.rows.length}),e2}async listSnapshots(){return this.snapshotStore.map((t2=>(function(t3){return{id:t3.id,name:t3.name,ts:t3.ts,rowCount:t3.rows.length}})(t2)))}async deleteSnapshot(t2){const e2=this.snapshotStore.length;return this.snapshotStore=(function(t3,e3){return t3.filter((t4=>t4.id!==e3))})(this.snapshotStore,t2),this.snapshotStore.length<e2}snapshotRowIdentity(t2,e2){if("function"==typeof this.getRowId)return this.getRowId(t2);const i2=t2.id;return null==i2?"__index_"+e2:i2}snapshotRowById(t2,e2){for(let i2=0;i2<t2.length;i2+=1)if(be(this.snapshotRowIdentity(t2[i2],i2),e2))return{data:t2[i2],rowIndex:i2};return null}snapshotRowByValue(t2,e2){for(let i2=0;i2<t2.length;i2+=1)if(be(t2[i2],e2))return{data:t2[i2],rowIndex:i2};return null}snapshotDiffForPublicRead(t2,e2,i2){if(!this.readPolicyConfigured())return t2;const n2=this.resolvedColumnDefs(),r2=new Map(n2.map((t3=>[t3.field,t3]))),s2=(t3,e3)=>{const i3=e3?.data??t3;return this.maskDeniedFields(t3,e3?.rowIndex??-1,n2,i3)};return{added:t2.added.map((t3=>s2(t3,this.snapshotRowByValue(i2,t3)))),removed:t2.removed.map((t3=>s2(t3,this.snapshotRowByValue(e2,t3)))),changed:t2.changed.map((t3=>{const n3=this.snapshotRowById(e2,t3.rowId),s3=this.snapshotRowById(i2,t3.rowId);return{rowId:t3.rowId,fields:t3.fields.map((t4=>{const e3=r2.get(t4.field)??{field:t4.field};return{field:t4.field,before:this.applyReadMask(t4.before,n3?.data??null,n3?.rowIndex??-1,e3),after:this.applyReadMask(t4.after,s3?.data??null,s3?.rowIndex??-1,e3)}}))}})),summary:{...t2.summary}}}async diffSnapshots(t2,e2){const i2=Ge(this.snapshotStore,t2)?.rows??[],n2=void 0===e2?this.rowData??[]:Ge(this.snapshotStore,e2)?.rows??[],r2=(function(t3,e3,i3=Le){const n3=We(t3,"before",i3),r3=We(e3,"after",i3),s2=[],o2=[],l2=[];for(const[t4,e4]of r3){const i4=n3.get(t4);if(void 0===i4){s2.push(pe(e4));continue}const r4=qe(i4,e4);r4.length>0&&l2.push({rowId:pe(t4),fields:r4})}for(const[t4,e4]of n3)r3.has(t4)||o2.push(pe(e4));return{added:s2,removed:o2,changed:l2,summary:{added:s2.length,removed:o2.length,changed:l2.length}}})(i2,n2,"function"==typeof this.getRowId?t3=>this.getRowId(t3):void 0);return this.snapshotDiffForPublicRead(r2,i2,n2)}async restoreSnapshot(t2){const e2=Ge(this.snapshotStore,t2);if(null===e2)return false;const i2=this.rowData??[],n2=ze(e2.rows),r2=(t3,e3)=>{let i3;try{if("function"==typeof this.getRowId)i3=this.getRowId(t3);else{const n3=t3.id;i3=null==n3?"__i"+e3:n3}}catch{return null}return"string"==typeof i3&&i3.length>0||"number"==typeof i3&&Number.isFinite(i3)?i3:null},s2=t3=>{const e3=new Map;for(let i3=0;i3<t3.length;i3+=1){const n3=t3[i3],s3=r2(n3,i3);if(null===s3||e3.has(s3))return null;e3.set(s3,{row:n3,index:i3})}return e3},o2=s2(i2),l2=s2(n2);if(null===o2||null===l2)return console.warn("[SG:SNAPSHOT] bad/dup row id; reject"),false;const a2=[],d2=[];for(const[t3,e3]of l2){const i3=o2.get(t3);void 0===i3?a2.push(e3):be(i3.row,e3.row)||d2.push({row:e3.row,previous:i3.row,index:e3.index})}const u2=[];for(const[t3,e3]of o2)l2.has(t3)||u2.push(e3);return this.rowData=n2,this.fireRowDataChanged({added:a2,updated:d2,removed:u2,rejected:[],txId:ns(),source:"local"}),this.snapshotRestored.emit({id:e2.id,name:e2.name,rowCount:n2.length}),true}rawFieldValue(t2,e2,i2){return this.resolveGridCellValue({row:t2,rowIndex:e2,colId:i2.colId??i2.field,field:i2.field,valueGetter:i2.valueGetter,colDef:i2})}maskDeniedFields(t2,e2,i2,n2=t2,r2=e2){let s2={...t2};for(const t3 of i2)this.isCellReadable(this.rawFieldValue(n2,e2,t3),n2,r2,t3)||(s2=X(s2,t3.field,this.maskedCellValue));return s2}maskRowsForRead(t2,e2){return this.readPolicyConfigured()?t2.map(((t3,i2)=>this.maskDeniedFields(t3,i2,e2,t3,-1))):t2}cellDisplayText(t2,e2,i2,n2){const r2=this.copyableDataRowAt(i2,t2);if(null===r2)return"";const s2=n2[e2];if(!s2)return"";const o2=this.cellRawValue(r2,t2,s2);if(this.readPolicyConfigured()&&!this.isCellReadable(o2,r2,t2,s2))return this.maskedCellValue;const l2=this.readPolicyConfigured()?this.maskDeniedFields(r2,t2,n2):r2,a2=!this.readPolicyConfigured()||"function"!=typeof s2.valueGetter&&"string"!=typeof s2.valueGetter?o2:this.resolveGridCellValue({row:l2,rowIndex:t2,colId:s2.colId??s2.field,field:s2.field,valueGetter:s2.valueGetter,colDef:s2});return null!=s2.valueFormatter?this.formatGridCellValue({value:a2,row:l2,rowIndex:t2,colId:s2.colId??s2.field,valueFormatter:s2.valueFormatter,locale:"string"==typeof this.locale?this.locale:"en",colDef:s2}):null==a2?"":a2}formulaCellDisplay(t2,e2,i2,n2){return this.formulaFreeze.showsRaw(t2,i2,n2)?e2:t2.computeDisplay(e2,i2,n2)}formulaWorkHeld(){const t2=this.proGateRef;return!(null===t2||true!==this.formulas||!t2.frozen("grid.formulas")||(this.formulaFreeze.holdRebuild(),0))}cellRawValue(t2,e2,i2){let n2=this.resolveGridCellValue({row:t2,rowIndex:e2,colId:i2.colId??i2.field,field:i2.field,valueGetter:i2.valueGetter,colDef:i2});return null!==this.formulaSheet&&this.formulaSheet.isCalculatedField(i2.field)?true===this.showFormulas?i2.formula??"":this.formulaSheet.calculatedDisplay(i2.field,t2):this.formulaSheetSeeding&&yl(n2)?true===this.showFormulas?n2:null!==this.formulaSheet&&this.formulaSheet.canRevealDuringSeed(n2,t2)?this.formulaSheet.computeDisplay(n2,i2.field,t2):"":(null!==this.formulaSheet&&this.formulaSheet.active&&yl(n2)&&(n2=true===this.showFormulas?n2:this.formulaCellDisplay(this.formulaSheet,n2,i2.field,t2)),n2)}async writeClipboardText(t2){try{if("undefined"!=typeof navigator&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t2),true}catch{}const e2=this.host.shadowRoot?.activeElement??document.activeElement,i2=document.createElement("textarea");i2.value=t2,i2.style.position="fixed",i2.style.opacity="0",document.body.appendChild(i2),i2.select();let n2=false;try{n2=document.execCommand("copy")}catch{n2=false}finally{i2.remove(),null!==e2&&"function"==typeof e2.focus&&e2.focus()}return n2}async copySelectionToClipboard(){if(!this.usingColumnDefsApi())return false;let t2=this.normalizedRanges();if(Qt(t2)){const e3=this.proGate();e3.awaiting(["grid.range-clipboard"])&&await e3.settle(["grid.range-clipboard"]),e3.refuseRequest(["grid.range-clipboard"],"copy").length>0?t2=[]:this.proModuleAvailable("grid.range-clipboard","copy","range-selection")||(t2=[])}const e2=t2.length>0?t2:null!==this.activeCell?[{top:this.activeCell.rowIndex,left:this.activeCell.colIndex,bottom:this.activeCell.rowIndex,right:this.activeCell.colIndex}]:[];if(0===e2.length)return false;const i2=this.getDisplayRows(),n2=this.effectiveColumns(),r2=xr(e2,((t3,e3)=>this.spanAwareCellText(t3,e3,i2,n2)),(t3=>null!==this.copyableDataRowAt(i2,t3)),{escapeFormulae:this.clipboardEscapeFormulae});return""!==r2&&(await this.writeClipboardText(r2)?(this.clipboardCopied.emit({text:r2,ranges:e2}),true):(console.warn("[SG:CLIP] no write; copy fails"),false))}hostTextSelected(){try{const t2="undefined"!=typeof document?document.getSelection():null;if(null===t2||t2.isCollapsed||0===t2.rangeCount)return false;const{anchorNode:e2,focusNode:i2}=t2;return null!==e2&&null!==i2&&this.host.contains(e2)&&this.host.contains(i2)}catch{return false}}async getCellRanges(){return this.proRun("getCellRanges",(()=>this.normalizedRanges()))}async copyRangeToClipboard(){return this.proMethod("copyRangeToClipboard",{load:()=>this.loadRangeSelectionChunk(),exec:()=>{},publish:()=>this.copySelectionToClipboard()})}coercePastedValue(t2,e2,i2){if("function"==typeof e2.valueParser)try{return e2.valueParser({value:t2,oldValue:Q(i2,e2.field),field:e2.field,row:i2,colDef:e2,context:this.context,api:this.host})}catch{return t2}return"text"===e2.editor?t2:pt(t2)}pasteUndoWarned=false;undoableRowId(t2){const e2=this.getRowId??(t3=>t3.id);try{const i2=e2(t2);if("string"==typeof i2&&i2.length>0)return i2;if("number"==typeof i2&&Number.isFinite(i2))return i2}catch{}return null}commitPastePlan(t2){if(0===t2.changes.length)return[];const e2=this.rowData??[],i2=new Map;for(let t3=0;t3<e2.length;t3++)i2.set(e2[t3],t3);const n2=new Map;for(const e3 of t2.changes){const t3=n2.get(e3.row);void 0===t3?n2.set(e3.row,[e3]):t3.push(e3)}const r2=this.editPolicyConfigured()||this.readPolicyConfigured(),s2=r2?new Map(this.resolvedColumnDefs().map(((t3,e3)=>[t3.field,e3]))):null,o2=e2.slice(),l2=[];for(const[t3,e3]of n2){const n3=i2.get(t3);if(void 0===n3)continue;let a3={...t3},d3=0;for(const i3 of e3){if(r2&&null!==s2){const e5=s2.get(i3.field),r3=void 0===e5?void 0:this.resolvedColumnDefs()[e5];if(void 0===r3||!this.passesEditPolicy(n3,r3,t3))continue}const e4=X(a3,i3.field,i3.newValue);e4!==a3&&(a3=e4,d3++)}0!==d3&&(o2[n3]=a3,l2.push({row:a3,previous:t3,index:n3}))}if(0===l2.length)return[];this.rowData=o2;const a2=ns();this.fireRowDataChanged({added:[],updated:l2,removed:[],rejected:[],txId:a2,source:"local",origin:"clipboard"});const d2=this.emitCellValueChanges(l2,"local","clipboard",a2);return this.recordPasteUndo(l2),d2}recordPasteUndo(t2){const e2=[],i2=[];for(const n2 of t2){if(null===this.undoableRowId(n2.previous))return void(this.pasteUndoWarned||(this.pasteUndoWarned=true,console.warn("[SG:CLIP] no row id; paste not undoable")));e2.push({...n2.row}),i2.push({...n2.previous})}this.undoRedoStack.record({update:e2},{update:i2},"clipboard-paste")}applyClipboardText(t2,e2){if(!this.usingColumnDefsApi())return false;const i2=this.normalizedRanges(),n2=i2.length>0?{top:i2[0].top,left:i2[0].left}:null!==this.activeCell?{top:this.activeCell.rowIndex,left:this.activeCell.colIndex}:null;if(null===n2)return false;const r2=e2??bt(t2);if(0===r2.length)return false;if(Jt(r2)&&this.proGate().refuseRequest(["grid.range-clipboard"],"paste").length>0)return false;if(Jt(r2)&&!this.proModuleAvailable("grid.range-clipboard","paste","range-selection"))return false;const s2=this.getDisplayRows(),o2=this.effectiveColumns(),l2=(function(t3,e3,i3,n3){const r3=[];let s3=0,o3=0,l3=e3;for(const e4 of t3){for(;l3<n3.rowCount&&null===n3.dataRowAt(l3);)l3++;if(l3>=n3.rowCount){o3+=e4.length;continue}const t4=n3.dataRowAt(l3),a3=Object.getPrototypeOf(t4),d3=a3===Object.prototype||null===a3;for(let a4=0;a4<e4.length;a4++){const u2=n3.colAt(i3+a4);if(!d3||void 0===u2||true!==u2.editable||u2.computed){o3++;continue}let c2;try{c2=n3.coerce(e4[a4],i3+a4,t4)}catch{o3++;continue}s3++;const h2=Q(t4,u2.field);Object.is(h2,c2)||r3.push({displayRow:l3,colIndex:i3+a4,field:u2.field,row:t4,oldValue:h2,newValue:c2})}l3++}return{changes:r3,applied:s3,skipped:o3}})(r2,n2.top,n2.left,{rowCount:s2.length,dataRowAt:t3=>{const e3=s2[t3];return null==e3||this.isSentinelDisplayRow(e3)?null:e3},colAt:t3=>{const e3=o2[t3];return void 0===e3?void 0:{field:e3.field,editable:true===e3.editable,computed:"function"==typeof e3.valueGetter||"string"==typeof e3.valueGetter}},coerce:(t3,e3,i3)=>this.coercePastedValue(t3,o2[e3],i3)}),a2=this.commitPastePlan(l2),d2=a2.length;return this.clipboardPasted.emit({applied:d2,skipped:l2.skipped+Math.max(0,l2.applied-d2),top:n2.top,left:n2.left,changes:a2}),d2>0}handleViewportPaste=t2=>{if(!this.usingColumnDefsApi())return;if(null!==this.editStore.active)return;const e2=t2.clipboardData?.getData("text/plain")??"";if(""===e2)return;t2.preventDefault();const i2=bt(e2);Jt(i2)&&this.proGate().awaiting(["grid.range-clipboard"])?this.proGate().settle(["grid.range-clipboard"]).then((()=>{this.hasDisconnected||null!==this.editStore.active||this.applyClipboardText(e2,i2)})):this.applyClipboardText(e2,i2)};async pasteFromClipboard(){return this.proMethod("pasteFromClipboard",{load:()=>this.loadRangeSelectionChunk(),exec:async()=>{try{return await navigator.clipboard.readText()}catch{return console.warn("[SG:CLIP] no read; skip paste"),null}},publish:t2=>null!==t2&&this.applyClipboardText(t2)})}async clearCellRanges(){return this.proRun("clearCellRanges",(()=>{0===this.rangeState.ranges.length&&null===this.rangeState.dragging||(this.rangeState={ranges:[],dragging:null},this.emitRangeChange())}))}handleCellMouseDown=(t2,e2,i2)=>{if(!this.usingColumnDefsApi())return;if(this.effectiveLoading)return;const n2=this.snapshotMouseEvent(i2);this.lastCellMouseDown={key:this.cellClickKey(t2,e2),event:n2},this.lastRowMouseDown={rowIndex:t2,event:n2}};classifyCellClick(t2,e2,i2){const n2="undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),r2=this.cellClickKey(t2,e2),s2=this.snapshotMouseEvent(i2),o2=Rt({downEvent:this.lastCellMouseDown?.key===r2?this.lastCellMouseDown.event:s2,upEvent:s2,timestamp:n2,lastClickAt:this.lastCellClickedKey===r2?this.lastCellClickedAt:void 0});return this.lastCellMouseDown?.key===r2&&(this.lastCellMouseDown=void 0),this.lastCellClickedAt=n2,this.lastCellClickedKey=r2,o2}emitRowClicked(t2,e2,i2){const n2="undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now(),r2=this.snapshotMouseEvent(i2),s2=Rt({downEvent:this.lastRowMouseDown?.rowIndex===e2?this.lastRowMouseDown.event:r2,upEvent:r2,timestamp:n2,lastClickAt:this.lastRowClickedIndex===e2?this.lastRowClickedAt:void 0});this.rowClicked.emit({row:t2,rowIndex:e2,button:s2.button,modifiers:s2.modifiers,doubleClick:s2.doubleClick,dragged:s2.dragged}),this.lastRowMouseDown?.rowIndex===e2&&(this.lastRowMouseDown=void 0),this.lastRowClickedAt=n2,this.lastRowClickedIndex=e2}cellClickKey(t2,e2){return`${t2}:${e2}`}snapshotMouseEvent(t2){return t2?{button:t2.button,ctrlKey:t2.ctrlKey,shiftKey:t2.shiftKey,metaKey:t2.metaKey,altKey:t2.altKey,clientX:t2.clientX,clientY:t2.clientY}:{}}applyRowClickSelection(t2,e2,i2){if("none"===this.selectionState.mode)return;const n2=this.extractRowId(t2,e2);if(void 0===n2)return;const r2=!!i2&&true===i2.shiftKey,s2=!!i2&&(true===i2.ctrlKey||true===i2.metaKey);if(this.serverSideModeActive())return void this.ssrmSelGesture((t3=>t3.rowGesture(e2,n2+"",r2?"range":s2?"toggle":"select-only")));const o2=this.selectionState;let l2,a2;if(r2){const t3=this.collectVisibleRowIds();null!==this.rangeAnchorRowId&&null===pr(t3,this.rangeAnchorRowId)&&(this.rangeAnchorRowId=null),l2=(function(t4){const{state:e3,visibleRowIds:i3,anchorRowId:n3,targetRowId:r3}=t4,s3=true===t4.additive;if("none"===e3.mode)return e3;if(!dr(r3))return ur("selectRange"),e3;if("single"===e3.mode)return hr(e3,r3);if(null===n3)return hr(e3,r3);if(!Array.isArray(i3)||0===i3.length)return console.warn("[Syidax] sy-grid: selectRange called with empty visibleRowIds, treating as plain click."),hr(e3,r3);const o3=pr(i3,n3);if(null===o3)return console.warn("[Syidax] sy-grid: selectRange anchor not visible, treating as plain click."),hr(e3,r3);let l3=-1;for(let t5=0;t5<i3.length;t5++)if(i3[t5]===r3){l3=t5;break}if(-1===l3)return console.warn("[Syidax] sy-grid: selectRange target not in visibleRowIds, dropping."),e3;const a3=Math.min(o3,l3),d3=Math.max(o3,l3),u2=[];for(let t5=a3;t5<=d3;t5++){const e4=i3[t5];dr(e4)&&u2.push(e4)}if(0===u2.length)return e3;if(s3){let t5=null;for(const i4 of u2)e3.selectedRowIds.has(i4)||(null===t5&&(t5=new Set(e3.selectedRowIds)),t5.add(i4));return null===t5?e3:{mode:e3.mode,selectedRowIds:t5}}if(e3.selectedRowIds.size===u2.length){let t5=true;for(const i4 of u2)if(!e3.selectedRowIds.has(i4)){t5=false;break}if(t5)return e3}return{mode:e3.mode,selectedRowIds:new Set(u2)}})({state:o2,visibleRowIds:t3,anchorRowId:this.rangeAnchorRowId,targetRowId:n2,additive:true===this.shiftClickAdditive}),a2=false}else s2?(l2=fr(o2,n2),a2=false):(l2=hr(o2,n2),a2=true);if(a2&&(this.rangeAnchorRowId=n2),l2===o2)return;this.selectionState=l2;const d2=yr(o2,l2);0===d2.addedIds.length&&0===d2.removedIds.length||this.fireSelectionChanged({mode:l2.mode,selectedRowIds:Array.from(l2.selectedRowIds),addedIds:d2.addedIds,removedIds:d2.removedIds})}applyRowToggleSelection(t2,e2){if("none"===this.selectionState.mode)return;if(this.serverSideModeActive()&&wi(t2)){const e3=this.ssrmSelectionProjection?.groupChecks.get(t2.key)??null;return void this.ssrmSelGesture((i3=>i3.write({kind:"group-children",groupKeys:t2.path,action:"checked"===e3?"deselect":"select"})))}const i2=this.extractRowId(t2,e2);if(void 0===i2)return;if(this.serverSideModeActive())return void this.ssrmSelGesture((t3=>t3.rowGesture(e2,i2+"","toggle")));const n2=this.selectionState,r2=fr(n2,i2);if(this.rangeAnchorRowId=i2,r2===n2)return;this.selectionState=r2;const s2=yr(n2,r2);0===s2.addedIds.length&&0===s2.removedIds.length||this.fireSelectionChanged({mode:r2.mode,selectedRowIds:Array.from(r2.selectedRowIds),addedIds:s2.addedIds,removedIds:s2.removedIds})}extractRowId(t2,e2){if(this.isSentinelDisplayRow(t2))return;const i2=this.getRowId;if("function"==typeof i2)try{const e3=i2(t2);return"string"==typeof e3&&e3.length>0||"number"==typeof e3&&Number.isFinite(e3)?e3:void console.warn("getRowId returned an invalid value; selection for this row was ignored.")}catch(t3){return void console.warn("getRowId threw; selection for this row was ignored:",t3)}if(true===this.masterDetail){const e3=this.detailRowIds.get(t2);if(void 0!==e3)return e3}return e2}selectionCheckboxActive(){return true===this.selectionCheckbox||true===this.showSelectionCheckbox}columnHidingActive(){return true===this.columnHiding||true===this.hideableColumns}shouldRenderCheckboxColumn(){return this.selectionCheckboxActive()&&"multi"===this.selectionState.mode&&this.usingColumnDefsApi()}checkboxColumnOffset(){return this.shouldRenderCheckboxColumn()?1:0}collectVisibleRowIds(){const t2=this.getDisplayRows(),e2=[];for(let i2=0;i2<t2.length;i2++){const n2=t2[i2];if(this.isSentinelDisplayRow(n2))continue;const r2=this.extractRowId(n2,i2);void 0!==r2&&e2.push(r2)}return e2}handleHeaderCheckboxClick=t2=>{if(t2&&(t2.stopPropagation(),t2.preventDefault()),!this.shouldRenderCheckboxColumn())return;if(this.serverSideModeActive())return void this.ssrmSelGesture((t3=>t3.write({kind:"header",headerState:this.ssrmSelectionProjection?.headerState??"none"})));const e2=this.collectVisibleRowIds(),i2=this.selectionState,n2="all"===gr(i2,e2)?(function(t3,e3){if(!Array.isArray(e3)||0===e3.length)return t3;if(0===t3.selectedRowIds.size){for(const t4 of e3)dr(t4)||ur("deselectRowsBatch");return t3}let i3=null;for(const n3 of e3)dr(n3)?t3.selectedRowIds.has(n3)&&(null===i3&&(i3=new Set(t3.selectedRowIds)),i3.delete(n3)):ur("deselectRowsBatch");return null===i3?t3:{mode:t3.mode,selectedRowIds:i3}})(i2,e2):(function(t3,e3){if(!Array.isArray(e3)||0===e3.length)return t3;if("none"===t3.mode)return t3;if("single"===t3.mode){let i4;for(const t4 of e3)if(dr(t4)){i4=t4;break}return e3.length>1&&console.warn("[Syidax] sy-grid: selectRowsBatch in single mode kept only the first id."),void 0===i4?(ur("selectRowsBatch"),t3):hr(t3,i4)}let i3=null;for(const n3 of e3)dr(n3)?t3.selectedRowIds.has(n3)&&null===i3||(null===i3&&(i3=new Set(t3.selectedRowIds)),i3.add(n3)):ur("selectRowsBatch");return null===i3?t3:{mode:t3.mode,selectedRowIds:i3}})(i2,e2);if(n2===i2)return;this.selectionState=n2;const r2=yr(i2,n2);0===r2.addedIds.length&&0===r2.removedIds.length||this.fireSelectionChanged({mode:n2.mode,selectedRowIds:Array.from(n2.selectedRowIds),addedIds:r2.addedIds,removedIds:r2.removedIds})};handleHeaderCheckboxKeyDown=t2=>{wr(t2)&&(t2.preventDefault(),t2.stopPropagation(),this.handleHeaderCheckboxClick())};handleBodyCheckboxClick=(t2,e2,i2)=>{i2&&i2.stopPropagation(),this.applyRowToggleSelection(t2,e2)};handleBodyCheckboxKeyDown=(t2,e2,i2)=>{wr(i2)&&(i2.preventDefault(),i2.stopPropagation(),this.applyRowToggleSelection(t2,e2))};resolveHoverRowIdFromTarget(t2){if(!t2||"function"!=typeof t2.closest)return null;const e2=t2.closest("[data-row-index]");if(!e2)return null;const i2=e2.getAttribute("data-row-index");if(null===i2)return null;const n2=Number.parseInt(i2,10);if(!Number.isFinite(n2)||n2<0)return null;if(!this.usingColumnDefsApi())return n2<this.engineRows().length?n2:null;const r2=this.getDisplayRows();if(n2>=r2.length)return null;const s2=r2[n2];if(!s2)return null;const o2=this.extractRowId(s2,n2);return void 0===o2?null:o2}applyHoverTransition(t2){if("off"===this.rowHover)return;const e2=this.hoverState,i2=(function(t3,e3){return null===e3?Yr(t3):(function(t4){return"string"==typeof t4?t4.length>0:"number"==typeof t4&&Number.isFinite(t4)})(e3)?t3.hoveredRowId===e3?t3:{hoveredRowId:e3}:(console.warn("[Syidax] sy-grid: setHoveredRow ignored invalid rowId."),t3)})(e2,t2);if(i2===e2)return;const n2=e2.hoveredRowId;if(this.hoverState=i2,"stateful"!==this.rowHover)return;if(this.pendingHoverRowId=i2.hoveredRowId,null!==this.hoverRafHandle)return;const r2="function"==typeof requestAnimationFrame?requestAnimationFrame:t3=>setTimeout((()=>t3(0)),16);this.hoverRafHandle=r2((()=>{this.hoverRafHandle=null,this.rowHoverChanged.emit({hoveredRowId:this.pendingHoverRowId,previousRowId:n2})}))}hoverListenerTarget(){return this.usingColumnDefsApi()?this.host?.querySelector?.(".sy-grid__viewport"):this.host??null}setupHoverListener(){if("off"===this.rowHover)return;const t2=this.hoverListenerTarget();t2&&(this.viewportHoverEl===t2&&null!==this.viewportMouseMoveHandler||(this.teardownHoverListener(),this.viewportHoverEl=t2,this.viewportMouseMoveHandler=t3=>{const e2=this.resolveHoverRowIdFromTarget(t3.target);this.applyHoverTransition(e2)},this.viewportMouseLeaveHandler=()=>{this.applyHoverTransition(null)},t2.addEventListener("mousemove",this.viewportMouseMoveHandler),t2.addEventListener("mouseleave",this.viewportMouseLeaveHandler)))}maybeReattachHoverListener(){"off"!==this.rowHover&&this.hoverListenerTarget()!==this.viewportHoverEl&&(this.teardownHoverListener(),this.setupHoverListener())}teardownHoverListener(){this.viewportHoverEl&&(this.viewportMouseMoveHandler&&this.viewportHoverEl.removeEventListener("mousemove",this.viewportMouseMoveHandler),this.viewportMouseLeaveHandler&&this.viewportHoverEl.removeEventListener("mouseleave",this.viewportMouseLeaveHandler)),this.viewportHoverEl=null,this.viewportMouseMoveHandler=null,this.viewportMouseLeaveHandler=null,null!==this.hoverRafHandle&&(("function"==typeof cancelAnimationFrame?cancelAnimationFrame:t2=>clearTimeout(t2))(this.hoverRafHandle),this.hoverRafHandle=null),this.pendingHoverRowId=null}dgHover=null;dgRow(t2){const e2=t2.target;if(null===e2||void 0===e2.closest)return null;const i2=e2.closest(".sy-grid__row[data-row-index]");if(null===i2)return null;if(i2.closest(".sy-grid__viewport")!==t2.currentTarget)return null;const n2=Number.parseInt(i2.getAttribute("data-row-index")??"",10);if(!Number.isFinite(n2)||n2<0)return null;const r2=this.getDisplayRows();return n2>=r2.length?null:{rowEl:i2,rowIndex:n2,row:r2[n2]}}dgCell(t2){const e2=this.dgRow(t2);if(null===e2||this.isSentinelDisplayRow(e2.row))return null;const i2=t2.target,n2=i2.closest(".sy-grid__cell");if(null===n2||!e2.rowEl.contains(n2))return null;const r2=n2.getAttribute("data-field"),s2=Number.parseInt(n2.getAttribute("data-col-index")??"",10);if(null===r2||!Number.isFinite(s2)||s2<0)return null;const o2=this.editStore.active;return null!==o2&&o2.rowIndex===e2.rowIndex&&o2.colIndex===s2&&i2!==n2?null:{row:e2.row,rowIndex:e2.rowIndex,cell:{el:n2,field:r2,colIndex:s2}}}handleViewportMouseDown=t2=>{const e2=this.dgRow(t2);if(null===e2)return;if(null!==t2.target.closest(".sy-grid__row-drag-handle")&&(this.handleRowDragStart(e2.rowIndex,t2),t2.defaultPrevented))return;const i2=this.dgCell(t2);null!==i2&&(this.handleRangeDragStart(i2.rowIndex,i2.cell.colIndex,t2),this.handleCellMouseDown(i2.rowIndex,i2.cell.field,t2))};handleViewportClick=t2=>{const e2=this.dgRow(t2);if(null===e2)return;const i2=t2.target,{rowEl:n2,rowIndex:r2,row:s2}=e2;if(n2.classList.contains("sy-grid__full-width-row"))return void((null===i2.closest(".sy-grid__full-width-host")||i2.classList.contains("sy-grid__full-width-host"))&&this.commitActiveCell({rowIndex:r2,colIndex:this.activeCell?.colIndex??0}));if(null!==i2.closest(".sy-grid__group-row-toggle"))return void(yi(s2)&&this.applyRowGroupExpanded(s2.key,!s2.expanded,"ui"));if(null!==i2.closest(".sy-grid__tree-toggle"))return void(Ci(s2)?this.togglePivotRowGroup(s2.key):wi(s2)&&s2.hasChildren&&this.applyTreeNodeExpanded(s2.path,!s2.expanded,"ui"));if(null!==i2.closest(".sy-grid__loading-retry"))return void(ji(s2)&&(null!==this.serverSideState?this.retryServerBlock(s2.rowIndex):this.retryInfiniteBlock(s2.rowIndex)));if(wi(s2)){const e3=i2.closest(".sy-grid__cell"),o3=null!==e3&&n2.contains(e3)?Number.parseInt(e3.getAttribute("data-col-index")??"",10):NaN;if(!Number.isFinite(o3)||o3<0)return;return void this.handleTreeCellClick(t2,s2,r2,o3,this.effectiveColumns()[o3])}if(this.isSentinelDisplayRow(s2))return;if(null!==i2.closest(".sy-grid__detail-toggle")){const e3=this.detailRowIds.get(s2);return void(void 0!==e3&&(t2.stopPropagation(),this.applyDetailRowExpanded(e3,!this.expandedDetailRows.has(e3),"ui")))}if(null!==i2.closest(".sy-grid__selection-checkbox"))return void this.handleBodyCheckboxClick(s2,r2,t2);const o2=this.dgCell(t2);null!==o2&&this.handleCellMouseClick(o2.row,o2.rowIndex,o2.cell.colIndex,o2.cell.field,t2)};handleViewportContextMenu=t2=>{if(true!==this.contextMenu||!this.proNewWorkAllowed("grid.context-menu","contextMenu"))return;const e2=this.dgCell(t2);null!==e2&&this.openContextMenu(e2.rowIndex,e2.cell.field,t2)};handleViewportHover=t2=>{const e2=this.dgHover;if("mouseout"===t2.type){if(null===e2)return;const i3=t2.relatedTarget;if(null!==i3&&e2.cell.el.contains(i3))return;return this.dgHover=null,void this.handleCellTooltipLeave()}const i2=this.dgCell(t2);null!==i2&&null!==e2&&e2.cell.el===i2.cell.el||(null!==e2&&(this.dgHover=null,this.handleCellTooltipLeave()),null!==i2&&(this.dgHover=i2,this.handleRangeDragEnter(i2.rowIndex,i2.cell.colIndex,t2),this.dgTooltipEnter(i2)))};handleViewportFocus=t2=>{if("focusout"===t2.type){const e3=t2.relatedTarget,i2=null!==e3&&"object"==typeof e3&&"nodeType"in e3?e3:null;null!==i2&&this.host.contains(i2)||this.releaseFocusedLifecycleRenderer()}else Promise.resolve().then((()=>{this.host?.isConnected&&this.gridOwnsDocumentFocus()&&this.focusActiveLifecycleRenderer()}));const e2=this.dgCell(t2);null!==e2&&e2.cell.el===t2.target&&("focusin"===t2.type?this.dgTooltipEnter(e2):this.handleCellTooltipLeave())};dgTooltipEnter(t2){const e2=this.effectiveColumns(),i2=e2[t2.cell.colIndex];if(void 0===i2)return;const n2=t2.cell.el,r2=this.readPolicyConfigured()?this.maskDeniedFields(t2.row,t2.rowIndex,this.resolvedColumnDefs()):t2.row;let s2;if(null!==this.lifecycleRendererDeclaration(i2)||null!==this.resolveCellRenderer(i2))s2=(n2.textContent??"").trim();else{const i3=this.cellDisplayText(t2.rowIndex,t2.cell.colIndex,this.getDisplayRows(),e2);s2=null==i3?"":i3+""}this.cellTooltipDelay.enter({row:r2,rowIndex:t2.rowIndex,colIndex:t2.cell.colIndex,field:i2.field,column:i2,cell:n2,displayedText:s2,isOverflowing:n2.scrollWidth>n2.clientWidth||n2.scrollHeight>n2.clientHeight})}maybeScrollActiveCellIntoView(){const t2=this.pendingScrollIntoView;if(!t2)return;this.pendingScrollIntoView=null;const e2=this.viewportEl;if(!e2)return;const i2=`.sy-grid__row[data-row-index="${t2.rowIndex}"] > .sy-grid__cell:nth-child(${t2.colIndex+1+this.checkboxColumnOffset()})`,n2=e2.querySelector(i2);if(n2&&"function"==typeof n2.scrollIntoView)try{return void n2.scrollIntoView({block:"nearest",inline:"nearest"})}catch{}const r2=this.uniformRowHeight();let s2=t2.rowIndex*r2;if(this.masterDetailActive()&&this.expandedDetailRows.size>0){const e3=this.getDisplayRows(),i3=this.detailRowHeightPx()-r2;let n3=0;const o3=Math.min(t2.rowIndex,e3.length);for(let t3=0;t3<o3;t3++)_i(e3[t3])&&n3++;s2+=n3*i3}const o2=s2+r2,l2=e2.scrollTop,a2=l2+e2.clientHeight;s2<l2?e2.scrollTop=s2:o2>a2&&(e2.scrollTop=o2-e2.clientHeight)}skipDetailRows(t2,e2,i2,n2){if(null===t2||!this.masterDetailActive()||0===this.expandedDetailRows.size)return t2;const r2=this.getDisplayRows();let s2=t2,o2=r2.length+1;for(;null!==s2&&_i(r2[s2.rowIndex])&&o2-- >0;){const t3=Nn(s2,e2,i2,n2);if(null===t3||t3.rowIndex===s2.rowIndex){const t4=Nn(s2,"down"===e2?"up":"down",i2,n2);s2=null!==t4&&t4.rowIndex!==s2.rowIndex?t4:null;break}s2=t3}return s2}clampActiveCellAfterChange(){if(!this.usingColumnDefsApi())return void(null!==this.activeCell&&this.commitActiveCell(null,{scrollIntoView:false}));const t2=this.activeRowCount(),e2=this.activeColCount(),i2=(function(t3,e3,i3){const n2=Tn(e3),r2=Tn(i3);if(0===n2||0===r2)return null;if(!t3)return null;if("number"!=typeof t3.rowIndex||"number"!=typeof t3.colIndex||!Number.isFinite(t3.rowIndex)||!Number.isFinite(t3.colIndex))return null;let s2=Math.floor(t3.rowIndex),o2=Math.floor(t3.colIndex);return s2<0&&(s2=0),o2<0&&(o2=0),s2>=n2&&(s2=n2-1),o2>=r2&&(o2=r2-1),s2===t3.rowIndex&&o2===t3.colIndex?t3:{rowIndex:s2,colIndex:o2}})(this.activeCell,t2,e2);i2!==this.activeCell&&this.commitActiveCell(i2,{scrollIntoView:false})}componentDidLoad(){document.addEventListener("mousedown",this.handleDocumentClick,true),document.addEventListener("keydown",this.handleDocumentLifecycleEditorKeyDown,true),globalThis.addEventListener?.("syidax-grid-formula-engine-ready",this.onFormulaEngineReady),this.setupVirtualizer(),this.setupHoverListener(),this.kickCollabConnect()}connectedCallback(){this.hasDisconnected&&(this.hasDisconnected=false,globalThis.addEventListener?.("syidax-grid-formula-engine-ready",this.onFormulaEngineReady),this.ensureFormulaAccelerationProvider(),true===this.formulas&&null===this.formulaDualEngine&&"function"==typeof globalThis.SYIDAX_GRID_FORMULA_ACCELERATION_FACTORY&&this.scheduleFormulaUpgradeKick(),document.addEventListener("mousedown",this.handleDocumentClick,true),document.addEventListener("keydown",this.handleDocumentLifecycleEditorKeyDown,true),this.setupInternalSubscriptions(),null!=this.viewportDatasource&&(this.initViewport(),this.recomputeVirtualWindow()),this.syncWorkbookBinding("dom-reconnect"),this.proGateRef?.rebind(),true===this.formulas&&null===this.formulaSheet&&null===this.formulaCore&&this.rebuildFormulaSheet(),this.kickCollabConnect(),this.liveObjectModel?.reconcile(),this.invalidateComponentFilterRuntime(),this.lifecycleFilterVersion+=1,this.lifecycleRendererPresentationVersion+=1,this.reconcileComponentFilters(),this.masterDetailActive()&&this.expandedDetailRows.size>0&&this.detailDataVersion++)}hasDisconnected=false;handoffLifecycleRendererFocus(t2,e2,i2){if("grid-before"===i2||"grid-after"===i2)return void this.focusOutsideGridRoot("grid-before"===i2);const n2={rowIndex:t2,colIndex:e2},r2="next-cell"===i2?Bn(n2,"right",this.activeRowCount(),this.activeColCount()):"previous-cell"===i2?Bn(n2,"left",this.activeRowCount(),this.activeColCount()):n2;null===r2||r2.rowIndex!==n2.rowIndex||r2.colIndex!==n2.colIndex||"cell"===i2?(this.commitActiveCell(r2,{scrollIntoView:true}),this.viewportEl?.focus({preventScroll:true})):this.focusOutsideGridRoot("previous-cell"===i2)}lifecycleFilterDeclaration(t2){const e2=t2.filter;if(null==e2||true===e2||false===e2||Array.isArray(e2))return null;if("string"==typeof e2){const t3=e2.trim();return""===t3||"text"===t3||"number"===t3||"date"===t3||"set"===t3?null:t3}return e2}componentFilterColumnId(t2){const e2=t2.colId??t2.field;return"string"==typeof e2?e2.trim():""}configuredLifecycleFilterCount(){return this.effectiveColumns().reduce(((t2,e2)=>t2+(null===this.lifecycleFilterDeclaration(e2)?0:1)),0)}componentFilterValueGetter(t2){const e2=this.componentFilterColumnId(t2),i2=this.componentFilterValueGetters.get(e2);if(void 0!==i2)return i2.column=t2,i2.getValue;const n2={column:t2,getValue:()=>{}},r2=t3=>{const i3=n2.column,r3=t3,s2=this.formulaFieldGetter(i3.field);return null==i3.valueGetter?void 0===s2?Q(r3,i3.field):s2(r3):this.resolveGridCellValue({row:r3,rowIndex:-1,colId:e2,field:i3.field,valueGetter:i3.valueGetter,colDef:i3})};return n2.getValue=r2,this.componentFilterValueGetters.set(e2,n2),r2}componentFilterIsActive(t2){return this.filterFacade?.isFilterActive(t2)??false}sameComponentFilterInputs(t2,e2){if(null===t2||t2.length!==e2.length)return false;for(let i2=0;i2<t2.length;i2+=1)if(!Object.is(t2[i2],e2[i2]))return false;return true}reconcileComponentFilters(){const t2=this.effectiveColumns().map((t3=>{const e3=this.lifecycleFilterDeclaration(t3);return null===e3?null:{col:t3,colId:this.componentFilterColumnId(t3),filter:e3}})).filter((t3=>null!==t3)),e2=new Set(t2.map((({colId:t3})=>t3)));this.componentFilterDesiredIds=e2;const i2=new Set(t2.filter((({col:t3})=>null!=t3.floatingFilterComponent)).map((({colId:t3})=>t3)));for(const[t3,i3]of this.componentFilterHosts)e2.has(t3)||this.releaseComponentFilterHost(t3,i3,false);for(const[t3,e3]of this.componentFloatingFilterHosts)i2.has(t3)||this.releaseComponentFilterHost(t3,e3,true);for(const t3 of this.componentFilterHostRefs.keys()){const n3=t3.indexOf("\0"),r3=n3<0?"":t3.slice(0,n3),s3=n3<0?t3:t3.slice(n3+1);("filter"===r3&&!e2.has(s3)||"floating"===r3&&!i2.has(s3))&&this.componentFilterHostRefs.delete(t3)}for(const t3 of this.componentFilterValueGetters.keys())e2.has(t3)||this.componentFilterValueGetters.delete(t3);for(const t3 of this.componentFilterModels.keys())e2.has(t3)||this.componentFilterModels.delete(t3);0===this.componentFilterModels.size&&(this.componentFilterRestorePending=false);for(const t3 of this.componentRecentlyDestroyedFilters)e2.has(t3)||this.componentRecentlyDestroyedFilters.delete(t3);const n2=this.filterFacade;if(0===t2.length&&null==this.externalFilter&&(null===n2||0===n2.stats().columns&&null===n2.getExternalFilter()))return this.componentFilterReadyRevision=this.componentFilterRevision,this.componentFilterReconcileTask??Promise.resolve();const r2=[this.componentFilterRevision,this.externalFilterRevision,this.components,this.context,this.defaultColDef,this.formulaVersion,this.componentFilterExecutionMode(),this.externalFilter];for(const{col:e3,colId:i3,filter:n3}of t2)r2.push(i3,n3,e3.floatingFilterComponent,e3.field,e3.valueGetter);if(this.sameComponentFilterInputs(this.componentFilterReconcileInputs,r2))return this.componentFilterReconcileTask??Promise.resolve();this.componentFilterReconcileInputs=r2;const s2=++this.componentFilterReconcileSequence,o2=this.componentFilterRevision,l2=this.externalFilterRevision,a2=(async()=>{null===this.filterFacade&&await this.getComponentManager("filter");const n3=this.filterFacade;if(null===n3||s2!==this.componentFilterReconcileSequence||!this.host?.isConnected)return;const r3=n3.reconcileColumns(t2.map((({col:t3,colId:e3,filter:i3})=>({colId:e3,filter:i3,floatingFilter:t3.floatingFilterComponent,getValue:this.componentFilterValueGetter(t3),local:this.components,version:this.formulaVersion,resolutionVersion:this.componentRegistryRevision}))));let a3=false,d2=false,u2=false,c2=false;const h2=this.externalFilter??null,f2=!Object.is(this.externalFilterApplied,h2);if(f2||null!==h2&&this.externalFilterReadyRevision!==l2){if(this.externalFilterReadyRevision=-1,f2){const t3=await n3.setExternalFilter(h2);if(s2!==this.componentFilterReconcileSequence||l2!==this.externalFilterRevision||!Object.is(h2,this.externalFilter??null)||!this.host?.isConnected)return;null!==h2&&null===t3?u2=true:(this.externalFilterApplied=h2,a3=true,d2=true)}if(null===h2||u2)this.externalFilterReadyRevision=l2;else{const t3=await n3.refreshExternalFilter(this.context);if(s2!==this.componentFilterReconcileSequence||l2!==this.externalFilterRevision||!Object.is(h2,this.externalFilter??null)||!this.host?.isConnected)return;"refreshed"===t3?.status&&(this.externalFilterReadyRevision=l2,a3=true,d2=true)}}else null===h2&&(this.externalFilterReadyRevision=l2);if(s2!==this.componentFilterReconcileSequence||o2!==this.componentFilterRevision||!this.host?.isConnected)return;const g2=await r3;if(s2!==this.componentFilterReconcileSequence||o2!==this.componentFilterRevision||!this.host?.isConnected)return;if(a3=a3||g2.mounted.length>0||g2.refreshed.length>0||g2.destroyed.length>0,this.componentFilterRestorePending){let t3=false;const i3={};for(const[t4,n4]of this.componentFilterModels)e2.has(t4)&&(i3[t4]=n4);let r4;const l3=this.componentFilterRemoteFlushRevision;if(await this.runComponentFilterChangeBatch((async()=>{r4=await n3.setFilterModels(i3,{clearUnspecified:false,source:"restore"}),s2===this.componentFilterReconcileSequence&&o2===this.componentFilterRevision&&this.host?.isConnected||(t3=true)})),c2=this.componentFilterRemoteFlushRevision!==l3,t3)return;const d3=r4?.every((t4=>"ok"===t4.status))??false;(r4?.length??0)>0&&(a3=true),d3&&(this.componentFilterRestorePending=false)}for(const[t3,i3]of this.componentFilterHosts){if(!e2.has(t3)||!i3.isConnected)continue;const r4=await n3.attachFilterGui(t3,i3);if(s2!==this.componentFilterReconcileSequence||o2!==this.componentFilterRevision||!this.host?.isConnected)return;"attached"===r4.status&&(a3=true)}for(const[t3,e3]of this.componentFloatingFilterHosts){if(!i2.has(t3)||!e3.isConnected)continue;const r4=await n3.attachFloatingFilterGui(t3,e3);if(s2!==this.componentFilterReconcileSequence||o2!==this.componentFilterRevision||!this.host?.isConnected)return;"attached"===r4.status&&(a3=true)}const p2=n3.stats();0===g2.errors.length&&p2.columns===t2.length&&p2.mountedFilters===t2.length?(this.componentFilterReadyRevision!==o2&&(a3=true),this.componentFilterReadyRevision=o2):this.componentFilterReadyRevision=-1,a3&&(this.componentRemoteFilterErrors.clear(),this.lifecycleFilterVersion+=1,"client"===this.componentFilterExecutionMode()||c2||this.infiniteModelInputsChanged()),d2&&this.scheduleLifecycleFilterPeerNotification()})().catch((()=>{s2===this.componentFilterReconcileSequence&&o2===this.componentFilterRevision&&(this.componentFilterReconcileInputs=null,this.componentFilterReadyRevision=-1)})).finally((()=>{this.componentFilterReconcileTask===a2&&(this.componentFilterReconcileTask=null)}));return this.componentFilterReconcileTask=a2,a2}componentFilterHostMap(t2){return t2?this.componentFloatingFilterHosts:this.componentFilterHosts}releaseComponentFilterHost(t2,e2,i2){const n2=this.componentFilterHostMap(i2);if(n2.get(t2)!==e2)return;n2.delete(t2);const r2=this.filterFacade;null!==r2&&(i2?r2.detachFloatingFilterGui(t2):r2.detachFilterGui(t2))}claimComponentFilterHost(t2,e2,i2){const n2=this.componentFilterHostMap(i2),r2=n2.get(t2);r2!==e2&&(void 0!==r2&&this.releaseComponentFilterHost(t2,r2,i2),n2.set(t2,e2),this.attachComponentFilterHost(t2,e2,i2))}componentFilterHostRef(t2,e2){const i2=`${e2?"floating":"filter"}\0${t2}`,n2=this.componentFilterHostRefs.get(i2);if(void 0!==n2)return n2;let r2=null;const s2=i3=>{null!=i3?(null!==r2&&r2!==i3&&this.releaseComponentFilterHost(t2,r2,e2),r2=i3,this.claimComponentFilterHost(t2,i3,e2)):null!==r2&&(this.releaseComponentFilterHost(t2,r2,e2),r2=null)};return this.componentFilterHostRefs.set(i2,s2),s2}attachComponentFilterHost(t2,e2,i2){(async()=>{await this.reconcileComponentFilters(),await this.getComponentManager("filter");const n2=this.filterFacade;if(null!==n2&&e2.isConnected&&this.componentFilterHostMap(i2).get(t2)===e2)if(i2)await n2.attachFloatingFilterGui(t2,e2);else{const i3=await n2.attachFilterGui(t2,e2);"mounted"!==i3.status&&"attached"!==i3.status&&"already-attached"!==i3.status||!e2.isConnected||(this.filterDropdownFocused=false,this.maybeFocusFilterDropdown())}})().catch((()=>{}))}reconcileLifecycleRenderers(){const t2=[...this.pendingLifecycleRenderers.values()],e2=++this.lifecycleRendererReconcileSequence,i2=this.componentManager;0===t2.length&&null===i2||(async()=>{const n2=i2??await this.getComponentManager(),r2=[],s2=new Set;let o2=false;if(await Promise.all(t2.map((async t3=>{const i3=JSON.stringify([t3.identity.rowId,t3.identity.colId]),l2=()=>e2===this.lifecycleRendererReconcileSequence&&t3.host.isConnected&&this.pendingLifecycleRenderers.get(i3)===t3;if(l2())try{const e3=await n2.resolve({kind:"renderer",...void 0===t3.componentName?{}:{name:t3.componentName},...void 0===t3.definition?{}:{definition:t3.definition},local:this.components});if(!l2())return;const a2=t3.host.closest(".sy-grid__cell")??t3.host,d2=()=>l2()&&(t3.host.closest(".sy-grid__cell")??t3.host)===a2,u2=await n2.renderer.render({identity:t3.identity,host:t3.host,componentName:t3.componentName,source:e3.definition,params:{value:t3.value,row:t3.paramsRow,rowIndex:t3.rowIndex,colIndex:t3.colIndex,colId:t3.identity.colId,formatted:t3.formatted,valueFormatted:t3.formatted,meta:t3.meta,context:this.context,cellElement:a2,setTooltip:t4=>{d2()&&(null===t4?a2.removeAttribute("title"):a2.title=t4)},handoffFocus:e4=>{d2()&&this.handoffLifecycleRendererFocus(t3.rowIndex,t3.colIndex,e4)}}});if(!d2()||"stale"===u2.status)return;r2.push(t3.identity),s2.add(i3),o2=this.updateLifecycleRendererPresentation(i3,"failed"===u2.status?{classNames:[]}:this.rendererPresentationFromOutput(u2.gui))||o2}catch(e3){if(!l2())return;t3.host.textContent="—",o2=this.updateLifecycleRendererPresentation(i3,{classNames:[]})||o2,null!==e3&&"object"==typeof e3&&"code"in e3&&"phase"in e3&&"componentKind"in e3&&"retryable"in e3&&this.emitComponentError(e3)}}))),e2===this.lifecycleRendererReconcileSequence){for(const t3 of this.lifecycleRendererPresentations.keys())s2.has(t3)||(this.lifecycleRendererPresentations.delete(t3),o2=true);null===this.focusedLifecycleRenderer||r2.some((t3=>this.sameComponentIdentity(t3,this.focusedLifecycleRenderer.identity)))||this.releaseFocusedLifecycleRenderer(),await n2.renderer.reconcileMounted(r2),e2===this.lifecycleRendererReconcileSequence&&(this.focusActiveLifecycleRenderer(),o2&&(this.lifecycleRendererPresentationVersion+=1))}})().catch((()=>{if(e2!==this.lifecycleRendererReconcileSequence)return;let i3=false;for(const e3 of t2){e3.host.isConnected&&(e3.host.textContent="—");const t3=JSON.stringify([e3.identity.rowId,e3.identity.colId]);i3=this.updateLifecycleRendererPresentation(t3,{classNames:[]})||i3}i3&&(this.lifecycleRendererPresentationVersion+=1),this.releaseFocusedLifecycleRenderer()}))}componentDidRender(){if(this.pendingComponentIdentityErrors.length>0){const t3=this.pendingComponentIdentityErrors;this.pendingComponentIdentityErrors=[];for(const e2 of t3)this.emitComponentError(e2)}if(this.notifyPivotColumnModel(),null!==this.fullWidthFacade&&this.reconcileFullWidthMounts(),null!==this.pendingAlignedScroll&&null!==this.viewportEl){const t3=this.pendingAlignedScroll;this.alignedApplying=true;try{this.viewportEl.scrollLeft=t3}finally{this.alignedApplying=false}Math.abs(this.viewportEl.scrollLeft-t3)<=.5&&(this.pendingAlignedScroll=null,this.hScrollLeft=t3,this.syncHeaderHorizontalScroll(t3))}const t2=this.rowLayoutFrame;if(null!==t2&&t2.configured){const e2=this.activeCell;if(null!==e2&&t2.covers(e2.rowIndex)){const i3=t2.cellAt(e2.rowIndex,e2.colIndex);"covered"===i3.kind&&this.commitActiveCell({rowIndex:i3.origin.rowIndex,colIndex:i3.origin.colIndex})}const i2=this.rowLayoutChunk?.spanConflictSignature(t2.conflicts)??null;null!==i2&&i2!==this.spanConflictSignature?(this.spanConflictSignature=i2,this.spanConflict.emit({conflicts:t2.conflicts,renderRange:t2.renderRange})):null===i2&&(this.spanConflictSignature=null)}if(this.pendingPivotConflicts.length>0){const t3=this.pendingPivotConflicts;this.pendingPivotConflicts=[];for(const e2 of t3)this.pivotCombinationConflict.emit(e2)}this.proGateRef?.afterRender(),this.liveObjectModel?.reconcile(),this.scrollPassViewportHeight=null,this.ensureVirtualizerAttached(),this.measureAutoHeightRows(),this.maybeApplyPendingStateUiRestore(),this.noteStateAtomsAfterRender(),this.maybeScrollActiveCellIntoView(),this.maybeReattachHoverListener(),this.maybeFocusActiveTextEditor(),this.attachLifecycleEditor(),this.lifecycleEditorPopupReposition?.recalculate(),this.maybeFocusCsvWizard(),this.maybeFocusContextMenu(),this.maybeFocusFilterDropdown(),this.maybeFocusBuilder(),this.maybeRestorePivotPanelFocus(),this.syncTooltipPortal(),this.syncCalendarAnchor(),this.syncAutocompleteAnchor(),this.syncFormulaSuggestAnchor(),this.syncLargeTextAnchor(),this.collabGlue?.syncCommentPanelAnchor(this),this.reconcileComponentFilters(),this.maybeFetchInfiniteBlocks(),this.maybeFetchServerBlocks(),this.maybeUpdateViewportRange(),this.reconcileDetailMounts(),this.reconcileLifecycleRenderers(),this.syncEmptyStateOverlayInset()}emptyStateOverlayRendered=false;emptyStateOverlayInset=null;syncEmptyStateOverlayInset(){const t2=this.host?.querySelector?.(".sy-grid__body");if(null==t2)return;if(!this.emptyStateOverlayRendered)return void(null!==this.emptyStateOverlayInset&&(this.emptyStateOverlayInset=null,t2.style.removeProperty("--sy-grid-empty-state-inset-top")));const e2=this.host.querySelector(".sy-grid__viewport");if(null===e2)return;const i2=Math.max(0,Math.round(e2.getBoundingClientRect().top-t2.getBoundingClientRect().top));i2!==this.emptyStateOverlayInset&&(this.emptyStateOverlayInset=i2,t2.style.setProperty("--sy-grid-empty-state-inset-top",i2+"px"))}reconcileDetailMounts(){if(!this.masterDetailActive()){if(0===this.mountedDetailIds.size&&0===this.detailRowDataCache.size)return;const t3=[...this.mountedDetailIds];this.mountedDetailIds=new Set,this.detailRowLoading.clear(),this.detailRowDataCache.clear();for(const e3 of t3)this.detailRowDestroyed.emit({rowId:e3});return}const{desiredMountedDetails:t2,reconcileMountedDetails:e2}=this.masterDetailEngine(),i2=t2(this.expandedDetailRows,this.lastMasterIds),n2=e2(this.mountedDetailIds,i2,[...this.expandedDetailRows]);if(!n2.stable){if(this.mountedDetailIds=n2.mounted,n2.created.length>0){const t3=this.masterRowsById();for(const e3 of n2.created)this.detailRowCreated.emit({rowId:e3,master:t3.get(e3)??null})}for(const t3 of n2.destroyed)this.detailRowLoading.delete(t3),this.detailRowDestroyed.emit({rowId:t3})}}measureAutoHeightRows(){if(this.measuringAutoHeight)return;if(!this.autoHeightActive())return;const t2=this.rowHeightCache;if(null===t2)return;const e2=this.host?.querySelectorAll?.(".sy-grid__row[data-row-index]");if(!e2||0===e2.length)return;let i2=false;if(e2.forEach((e3=>{const n2=e3.dataset.rowIndex,r2=null!=n2?Number(n2):NaN;if(!Number.isInteger(r2)||r2<0)return;const s2=e3.offsetHeight;!Number.isFinite(s2)||s2<=0||Math.abs(t2.getHeight(r2)-s2)>.5&&(t2.setHeight(r2,s2),i2=true)})),i2){this.measuringAutoHeight=true;try{this.recomputeVirtualWindow(),this.autoHeightVersion++}finally{this.measuringAutoHeight=false}}}syncLargeTextAnchor(){if("undefined"==typeof window)return;if(null===this.largeTextConfig||null===this.textareaEditorState||null===this.largeTextAnchorEl)return void(null!==this.largeTextAnchor&&(this.largeTextAnchor=null));const t2=this.largeTextAnchorEl.getBoundingClientRect(),e2={x:Math.round(t2.left),y:Math.round(t2.bottom+2),width:Math.round(t2.width)},i2=this.largeTextAnchor;null!==i2&&i2.x===e2.x&&i2.y===e2.y&&i2.width===e2.width||(this.largeTextAnchor=e2)}syncCalendarAnchor(){if("undefined"==typeof window)return;if(null===this.calendarState||null===this.dateEditorState||null===this.textEditorEl)return void(null!==this.calendarAnchor&&(this.calendarAnchor=null));const t2=this.textEditorEl.getBoundingClientRect(),e2={x:Math.round(t2.left),y:Math.round(t2.bottom+2),width:Math.round(t2.width)},i2=this.calendarAnchor;null!==i2&&i2.x===e2.x&&i2.y===e2.y&&i2.width===e2.width||(this.calendarAnchor=e2)}syncAutocompleteAnchor(){if("undefined"==typeof window)return;if(null===this.autocompleteEditorState||null===this.autocompleteInputEl)return void(null!==this.autocompleteAnchor&&(this.autocompleteAnchor=null));const t2=this.autocompleteInputEl.getBoundingClientRect(),e2={x:Math.round(t2.left),y:Math.round(t2.bottom+2),width:Math.round(t2.width)},i2=this.autocompleteAnchor;null!==i2&&i2.x===e2.x&&i2.y===e2.y&&i2.width===e2.width||(this.autocompleteAnchor=e2)}maybeFocusActiveTextEditor(){if(null===this.editStore.active)return;if("undefined"==typeof document)return;if(null!==this.selectEditorState){const t3=this.selectTriggerEl;if(null===t3)return;if(document.activeElement===t3)return;try{t3.focus()}catch{}return}if(null!==this.checkboxEditorState){const t3=this.checkboxEditorEl;if(null===t3)return;if((function(t4,e2){null!==t4&&(t4.indeterminate=e2.indeterminate)})(t3,this.checkboxEditorState),document.activeElement===t3)return;try{t3.focus()}catch{}return}if(null!==this.textareaEditorState){const t3=this.textareaEditorEl;if(null===t3)return;if(document.activeElement===t3)return;try{if(t3.focus(),null!==this.largeTextConfig){const e2=t3.value.length;t3.setSelectionRange(e2,e2)}else t3.select()}catch{}return}const t2=this.textEditorEl;if(null!==t2&&(null!==this.textEditorState||null!==this.numberEditorState||null!==this.dateEditorState)&&document.activeElement!==t2)try{t2.focus(),null===this.dateEditorState&&t2.select()}catch{}}disconnectedCallback(){g(this.host),null!==this.fullWidthFacade&&(this.fullWidthFacade.dispose(),this.fullWidthFacade=null),this.finalizeBatchEditOnDisconnect(),this.emitPreDestroyedOnce(),this.hasDisconnected=true,this.liveObjectModel?.invalidateAll("disconnected"),this.workbookBindingController.disconnect("dom-disconnect"),this.teardownChartLink(),null!==this.alignedFacade&&(this.alignedFacade.dispose(),this.alignedFacade=null),this.fillBinding?.dispose(),this.fillBinding=null,null!==this.rowEditState.session&&this.finishRowEditSession("cancel"),this.unregisterFormulaWasmEventTarget(),globalThis.removeEventListener?.("syidax-grid-formula-engine-ready",this.onFormulaEngineReady),document.removeEventListener("mousedown",this.handleDocumentClick,true),document.removeEventListener("keydown",this.handleDocumentLifecycleEditorKeyDown,true),document.removeEventListener("mouseup",this.finishRangeDrag),this.rowDragCleanup&&this.rowDragCleanup(),this.teardownUnmanagedDrag(true);for(const t2 of this.flashTimers.values())clearTimeout(t2);if(this.flashTimers.clear(),this.clearConflictUi(),this.collabConnectGen++,this.collabSession?.disconnect(),this.collabSession=null,this.teardownSsrmRuntime(),this.chunkLoader?.dispose(),this.chunkLoader=null,this.proGateRef?.detach(),this.formulaAccelerationLoad=null,this.disposeComponentManager(),this.viewportGen+=1,this.viewportDatasource?.destroy?.(),this.detailFetchToken++,this.detailRowLoading.clear(),this.detailRowDataCache.clear(),this.mountedDetailIds.size>0){const t2=[...this.mountedDetailIds];this.mountedDetailIds=new Set;for(const e2 of t2)this.detailRowDestroyed.emit({rowId:e2})}this.teardownVirtualizer(),this.cancelQuickFilterDebounce(),this.quickFilterInputEl=null,this.proUiChunks["pro-panels"]?.closeColumnMenu(this.columnMenuHost(),false),this.proUiChunks["pro-panels"]?.disposeFindUi(this.findHost()),this.proUiChunks["pro-panels"]?.disposeNotesUi(this.notesHost()),this.proUiChunks["pro-panels"]?.disposeBatchUi(this.batchUiHost()),this.cancelLoadingDebounce(),this.loadingDebouncer.clear(),this.teardownHoverListener(),this.cellTooltipDelay.cancel(),this.headerTooltipDelay.cancel(),this.cellTooltip=null,this.teardownTooltipPortal(),this.undoRedoUnsubscribe&&(this.undoRedoUnsubscribe(),this.undoRedoUnsubscribe=null),(this.columnResizeController.isActive()||null!==this.columnResizeEscHandler)&&this.cancelColumnResize(),(this.columnReorderController.isActive()||null!==this.columnReorderEscHandler)&&this.cancelColumnReorder(),this.columnVisibilityChangedUnsubscribe&&(this.columnVisibilityChangedUnsubscribe(),this.columnVisibilityChangedUnsubscribe=null),this.columnVisibilityResetUnsubscribe&&(this.columnVisibilityResetUnsubscribe(),this.columnVisibilityResetUnsubscribe=null)}onRowHoverModeChanged(){if(this.teardownHoverListener(),this.setupHoverListener(),"stateful"!==this.rowHover){const t2=this.hoverState,e2=Yr(t2);e2!==t2&&(this.hoverState=e2),this.pendingHoverRowId=null}}onVirtualizationInputsChanged(){this.host?.isConnected&&(this.teardownVirtualizer(),this.setupVirtualizer())}onVirtualizationMetricsChanged(){this.host?.isConnected&&this.recomputeVirtualWindow()}setupVirtualizer(){if(!this.usingColumnDefsApi())return;if(!this.virtualScroll)return;const t2=this.host?.querySelector?.(".sy-grid__viewport");if(t2){if(this.viewportEl=t2,"function"==typeof ResizeObserver)this.resizeObserver=new ResizeObserver((e2=>{const i2=e2[0];if(!i2)return;const n2=i2.contentRect,r2={width:n2.width,height:n2.height},s2=this.viewportSize;this.bodyScrollbarWidth=t2.offsetWidth-t2.clientWidth,s2&&s2.width===r2.width&&s2.height===r2.height||(this.viewportSize=r2,this.recomputeVirtualWindow())})),this.resizeObserver.observe(t2);else{const e2=t2.getBoundingClientRect();this.viewportSize={width:e2.width,height:e2.height}}this.bodyScrollbarWidth=t2.offsetWidth-t2.clientWidth,this.detachVirtualScroll=(function(t3,e2,i2){if(!t3||"function"!=typeof t3.addEventListener)throw new TypeError("[Syidax] attachVirtualScroll: container must be an element with addEventListener.");const n2="function"==typeof requestAnimationFrame?t4=>requestAnimationFrame(t4):t4=>setTimeout(t4,16),r2="function"==typeof cancelAnimationFrame?t4=>cancelAnimationFrame(t4):t4=>clearTimeout(t4);let s2=null,o2=false;const l2=()=>{if(o2)return;let n3;try{n3=qi({...e2,scrollTop:"number"==typeof t3.scrollTop?t3.scrollTop:0})}catch(t4){return void console.error("[Syidax] attachVirtualScroll: compute failed:",t4)}try{i2()}catch(t4){console.error("[Syidax] attachVirtualScroll: onChange handler threw:",t4)}},a2=()=>{o2||null===s2&&(s2=n2((()=>{s2=null,l2()})))};return t3.addEventListener("scroll",a2,{passive:true}),l2(),()=>{o2||(o2=true,t3.removeEventListener("scroll",a2),null!==s2&&(r2(s2),s2=null))}})(t2,{totalRows:this.getDisplayRows().length,rowHeight:this.uniformRowHeight(),viewportHeight:this.estimatedViewportHeight(),overscan:3},(()=>{this.scrollTop=t2.scrollTop,this.syncHeaderHorizontalScroll(t2.scrollLeft),this.alignedNotify(),true!==this.virtualizeColumns&&!this.columnWindowLive||this.hScrollLeft===t2.scrollLeft||(this.hScrollLeft=t2.scrollLeft,this.alignedNotify()),this.recomputeVirtualWindow()}))}}syncHeaderHorizontalScroll(t2){const e2=this.host?.querySelector?.(".sy-grid__header-clip");if(e2&&e2.scrollLeft!==t2&&(e2.scrollLeft=t2),null!==this.pinnedRowsFacade&&this.pinnedRowsFacade.count()>0){const e3=this.host?.querySelectorAll?.(".sy-grid__pinned-clip");e3?.forEach((e4=>{e4.scrollLeft!==t2&&(e4.scrollLeft=t2)}))}}teardownVirtualizer(){this.detachVirtualScroll&&(this.detachVirtualScroll(),this.detachVirtualScroll=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.viewportEl=null}ensureVirtualizerAttached(){if(!this.usingColumnDefsApi()||!this.virtualScroll)return;const t2=this.host?.querySelector?.(".sy-grid__viewport");t2&&this.viewportEl!==t2&&(this.teardownVirtualizer(),this.setupVirtualizer())}recomputeVirtualWindow(){const t2=this.getDisplayRows(),e2=this.scrollPassViewportHeight??this.estimatedViewportHeight();this.scrollPassViewportHeight=e2;let i2=this.computeVirtualWindowForRows(t2,e2);const n2=null===i2?0:Math.max(0,i2.totalHeight-e2),r2=Math.min(Number.isFinite(this.scrollTop)?Math.max(0,this.scrollTop):0,n2);r2!==this.scrollTop&&(this.scrollTop=r2,this.viewportEl&&Math.abs(this.viewportEl.scrollTop-r2)>.5&&(this.viewportEl.scrollTop=r2),i2=this.computeVirtualWindowForRows(t2,e2));const s2=this.virtualWindow;null!==i2&&null!==s2&&this.virtualWindowRowCount===t2.length&&this.virtualWindowViewportHeight===e2&&this.virtualWindowDetailSet===this.expandedDetailRows&&s2.totalHeight===i2.totalHeight&&i2.startIndex>=s2.startIndex&&i2.endIndex<=s2.endIndex||(this.virtualWindowRowCount=t2.length,this.virtualWindowViewportHeight=e2,this.virtualWindowDetailSet=this.expandedDetailRows,this.virtualWindow=null===i2?null:this.computeVirtualWindowForRows(t2,e2,12))}uniformRowHeight(){const t2=this.rowHeight;return"number"!=typeof t2||!Number.isFinite(t2)||t2<=0?32:t2}estimatedViewportHeight(){const t2=this.viewportEl?.clientHeight,e2=this.estimatedViewportHeightFromHost();if("number"==typeof t2&&Number.isFinite(t2)&&t2>0&&null!==e2)return Math.max(t2,e2);if("number"==typeof t2&&Number.isFinite(t2)&&t2>0)return t2;if(null!==e2)return e2;const i2=this.viewportSize?.height;if("number"==typeof i2&&Number.isFinite(i2)&&i2>0)return i2;if("number"==typeof this.height&&Number.isFinite(this.height)&&this.height>0)return this.height;if("string"==typeof this.height){const t3=this.height.trim().match(/^(\d+(?:\.\d+)?)px$/);if(t3){const e3=Number(t3[1]);if(Number.isFinite(e3)&&e3>0)return e3}}return 240}estimatedViewportHeightFromHost(){const t2=this.measuredHostHeight();if(null===t2)return null;const e2=this.host?.querySelector?.(".sy-grid__toolbar"),i2=this.host?.querySelector?.(".sy-grid__header-rowgroup"),n2=this.host?.querySelector?.(".sy-grid__pagination"),r2=this.host?.querySelector?.(".sy-grid__brand-strip");let s2=0;if(null!==this.pinnedRowsFacade&&this.pinnedRowsFacade.count()>0){const t3=this.host?.querySelectorAll?.(".sy-grid__pinned-band");t3?.forEach((t4=>{s2+=this.elementHeight(t4)}))}const o2=t2-(this.elementHeight(e2)+this.elementHeight(i2)+this.elementHeight(n2)+this.elementHeight(r2)+s2);return Number.isFinite(o2)&&o2>0?o2:null}measuredHostHeight(){const t2=this.host?.clientHeight;if("number"==typeof t2&&Number.isFinite(t2)&&t2>0)return t2;if("number"==typeof this.height&&Number.isFinite(this.height)&&this.height>0)return this.height;if("string"==typeof this.height){const t3=this.height.trim().match(/^(\d+(?:\.\d+)?)px$/);if(t3){const e2=Number(t3[1]);if(Number.isFinite(e2)&&e2>0)return e2}}return null}elementHeight(t2){const e2=t2?.offsetHeight;return"number"==typeof e2&&Number.isFinite(e2)&&e2>0?e2:0}rowHeightForIndex(t2,e2,i2,n2){if(_i(i2))return this.detailRowHeightPx();if(yi(i2)||bi(i2)||wi(i2))return n2;if(ji(i2))return n2;if(void 0!==i2){const t3=this.liveRowHeights.get(this.collabRowId(i2,e2));if(void 0!==t3)return t3}try{return this.safeRowHeightSample(t2(e2,i2),n2)}catch(t3){return console.warn(`[SG:ROW] height error row=${e2}; use=${n2}px`,t3),n2}}autoHeightActive(){if(!this.virtualScroll)return false;if("function"==typeof this.rowHeightFn)return false;const t2=this.effectiveColumns();for(let e2=0;e2<t2.length;e2++)if(true===t2[e2]?.autoHeight)return true;return false}rowHeightLayoutSignature(){const t2=this.effectiveColumns();let e2="";for(let i2=0;i2<t2.length;i2++){const n2=t2[i2];if(!n2)continue;const r2=this.columnWidths.get(n2.field)??n2.width??"";e2+=`${n2.field}:${r2}|`}return`${e2}#${Math.round(this.viewportEl?.clientWidth??this.viewportSize?.width??0)}`}ensureRowHeightCacheFor(t2){null===this.rowHeightCache&&(this.rowHeightCache=(function(t3=30){const e3="number"==typeof t3&&Number.isFinite(t3)&&t3>0?t3:30,i2=new Map,n2=new Map;let r2=0;n2.set(0,0);const s2=t4=>{if("number"!=typeof t4||!Number.isFinite(t4)||t4<0)return e3;const n3=i2.get(Math.floor(t4));return void 0===n3?e3:n3},o2=t4=>{if("number"!=typeof t4||!Number.isFinite(t4)||t4<=0)return 0;const e4=Math.floor(t4),i3=n2.get(e4);if(void 0!==i3)return i3;let o3=n2.get(r2)??0;for(let t5=r2;t5<e4;t5++)o3+=s2(t5),n2.set(t5+1,o3);return e4>r2&&(r2=e4),o3};return{getHeight:s2,setHeight:(t4,s3)=>{if("number"!=typeof t4||!Number.isFinite(t4)||t4<0)return;const o3=Math.floor(t4),l2=Ki(s3,e3);if(i2.get(o3)!==l2&&(i2.set(o3,l2),r2>o3)){for(let t5=o3+1;t5<=r2;t5++)n2.delete(t5);r2=o3}},reset:()=>{i2.clear(),n2.clear(),n2.set(0,0),r2=0},getOffset:o2,getTotalHeight:t4=>{const e4=Hi(t4);return o2(e4)},findRowAtOffset:(t4,e4)=>{const i3=Hi(e4);if(0===i3)return 0;if("number"!=typeof t4||!Number.isFinite(t4)||t4<=0)return 0;o2(i3);const r3=Yi(t4,i3,(t5=>n2.get(t5)??o2(t5)));return Math.min(i3-1,r3)}}})(this.uniformRowHeight()),this.lastMeasuredRowsRef=null,this.lastMeasuredLayoutSig="");const e2=this.rowHeightLayoutSignature();return this.lastMeasuredRowsRef===t2&&this.lastMeasuredLayoutSig===e2||(this.rowHeightCache.reset(),this.lastMeasuredRowsRef=t2,this.lastMeasuredLayoutSig=e2),this.rowHeightCache}computeVirtualWindowForRows(t2,e2,i2=3){const n2=t2.length;if(0===n2)return null;const r2=this.uniformRowHeight(),s2=this.rowHeightFn,o2=this.fullWidthDeclared()?this.fullWidth():null,l2=null===o2?null:t3=>o2.isFullWidthRow(t3)?o2.heightAt(t3,r2):null;if("function"==typeof s2)return Ji({totalRows:n2,rowHeight:e3=>l2?.(e3)??this.rowHeightForIndex(s2,e3,t2[e3],r2),viewportHeight:e2,scrollTop:this.scrollTop,overscan:i2});if(this.autoHeightActive())return(function(t3,e3){const i3=Hi(e3.totalRows);if(0===i3)return Ui;const n3=t3.getTotalHeight(i3),r3=Wi(e3.viewportHeight);if(0===r3)return{startIndex:0,endIndex:0,paddingTop:0,paddingBottom:n3,totalHeight:n3,visibleCount:0};const s3=Hi(e3.overscan??3),o3=Math.max(0,n3-r3),l3=Wi(e3.scrollTop),a2=Math.min(l3,o3),d2=t3.findRowAtOffset(a2,i3),u2=a2+r3,c2=t3.findRowAtOffset(u2,i3),h2=t3.getOffset(c2)>=u2?c2:c2+1,f2=Math.max(0,d2-s3),g2=Math.min(i3,h2+s3);return{startIndex:f2,endIndex:g2,paddingTop:t3.getOffset(f2),paddingBottom:Math.max(0,n3-t3.getOffset(g2)),totalHeight:n3,visibleCount:Math.max(0,g2-f2)}})(this.ensureRowHeightCacheFor(t2),{totalRows:n2,viewportHeight:e2,scrollTop:this.scrollTop,overscan:i2});if(this.masterDetailActive()&&this.expandedDetailRows.size>0){const s3=this.detailRowHeightPx();return Ji({totalRows:n2,rowHeight:e3=>l2?.(e3)??(_i(t2[e3])?s3:r2),viewportHeight:e2,scrollTop:this.scrollTop,overscan:i2})}return null!==l2&&null!==o2&&o2.layout().fullWidthRows.length>0?Ji({totalRows:n2,rowHeight:t3=>l2(t3)??r2,viewportHeight:e2,scrollTop:this.scrollTop,overscan:i2}):qi({totalRows:n2,rowHeight:r2,viewportHeight:e2,scrollTop:this.scrollTop,overscan:i2})}getDisplayRows(){return this.usingColumnDefsApi()?null!==this.serverSideState?this.memoizedServerRows(this.serverSideState,(()=>this.materializeServerSideRows())):null!==this.viewportState?this.memoizedServerRows(this.viewportState,(()=>this.viewportEngine().materializeViewportRows(this.viewportState))):null!==this.infiniteCache?this.memoizedServerRows(this.infiniteCache,(()=>(function(t2){const e2=(function(t3){return t3.lastRowKnown?t3.rowCount:Math.max(t3.rowCount+1,1)})(t2),i2=Array(e2);for(let n2=0;n2<e2;n2++){const e3=Pi(t2,n2);i2[n2]="loaded"===e3.status?e3.row:Ti(n2,e3.status)}return i2})(this.infiniteCache))):(this.serverDisplayRowsCache=null,this.engineRows()):[]}memoizedServerRows(t2,e2){const i2=this.serverDisplayRowsCache;if(null!==i2&&i2.key===t2)return i2.rows;const n2=e2();return this.serverDisplayRowsCache={key:t2,rows:n2},n2}serverSideModeActive(){return null!=this.serverSideDatasource&&this.usingColumnDefsApi()&&this.proAllowed("grid.server-side-row-model","serverSideDatasource")&&this.proModuleAvailable("grid.server-side-row-model","serverSideDatasource","ssrm-ops")}serverSidePivotModeActive(){return this.serverSideModeActive()&&true===this.pivotMode&&this.proAllowed("grid.pivot","pivotMode")}normalizeServerSideFields(t2){if(!Array.isArray(t2))return[];const e2=new Set,i2=[];for(const n2 of t2)"string"!=typeof n2||""===n2||e2.has(n2)||(e2.add(n2),i2.push(n2));return i2}serverSideRowGroupFields(){let t2=this.serverSideGroupCols;return this.serverSidePivotModeActive()&&Array.isArray(this.pivotRowGroupColumns)&&(t2=this.pivotRowGroupColumns),this.normalizeServerSideFields(t2)}serverSideColumnField(t2){if("string"==typeof t2)return""===t2?null:t2;if(null==t2)return null;for(const e2 of[t2.field,t2.colId,t2.id])if("string"==typeof e2&&""!==e2)return e2;return null}serverSideColumnDescriptor(t2,e2){const i2=this.declaredColumnDefs().find((e3=>e3.field===t2||e3.colId===t2)),n2=i2?.field??t2,r2=i2?.colId??n2;return{id:r2,colId:r2,field:n2,displayName:i2?.headerName??n2,..."string"==typeof e2&&""!==e2?{aggFunc:e2}:{}}}serverSideRequestColumns(){const t2=this.serverSideRowGroupFields().map((t3=>this.serverSideColumnDescriptor(t3)));return this.serverSidePivotModeActive()?{rowGroupCols:t2,pivotCols:this.normalizeServerSideFields(this.pivotColumns).map((t3=>this.serverSideColumnDescriptor(t3))),valueCols:this.normalizeServerSideFields(this.pivotValueColumns).map((t3=>{const e2=this.declaredColumnDefs().find((e3=>e3.field===t3));return this.serverSideColumnDescriptor(t3,this.pivotAggFuncs?.[t3]??e2?.aggFunc??"sum")}))}:{rowGroupCols:t2,pivotCols:[],valueCols:this.declaredColumnDefs().filter((t3=>"string"==typeof t3.aggFunc&&""!==t3.aggFunc)).map((t3=>this.serverSideColumnDescriptor(t3.field,t3.aggFunc)))}}isServerSidePivotResultColumn(t2){if(null===t2||"object"!=typeof t2||Array.isArray(t2))return false;try{const e2=Object.getPrototypeOf(t2);return e2===Object.prototype||null===e2}catch{return false}}serverSidePivotResultColumnDef(t2,e2,i2,n2,r2){if(n2>12||r2.count>=512||!this.isServerSidePivotResultColumn(t2))return null;r2.count+=1;const s2=[];if(Array.isArray(t2.children))for(let o3=0;o3<t2.children.length;o3+=1){const l3=this.serverSidePivotResultColumnDef(t2.children[o3],o3,`${i2}.${e2}`,n2+1,r2);null!==l3&&s2.push(l3)}const o2="string"==typeof t2.colId&&""!==t2.colId?t2.colId:void 0,l2="string"==typeof t2.field&&""!==t2.field?t2.field:o2;let a2=l2??o2??"Pivot";if("string"==typeof t2.headerName&&""!==t2.headerName&&(a2=t2.headerName),s2.length>0)return{headerName:a2,groupId:o2??l2??`server-pivot-${i2}.${e2}`,children:s2};if(void 0===l2)return null;const d2={field:l2,headerName:a2};void 0!==o2&&(d2.colId=o2);for(const e3 of["width","minWidth","maxWidth","flex"]){const i3=t2[e3];"number"==typeof i3&&Number.isFinite(i3)&&i3>0&&(d2[e3]=i3)}return"left"!==t2.pinned&&"right"!==t2.pinned||(d2.pinned=t2.pinned),"boolean"==typeof t2.sortable&&(d2.sortable=t2.sortable),"boolean"==typeof t2.resizable&&(d2.resizable=t2.resizable),d2}serverSidePivotColumnDefs(){if(!this.serverSidePivotModeActive())return[];const t2=this.declaredColumnDefs(),e2=[];for(const i3 of this.serverSideRowGroupFields()){const n3=t2.find((t3=>t3.field===i3||t3.colId===i3));e2.push(void 0===n3?{field:i3,headerName:i3}:{...n3,field:n3.field})}const i2=this.serverSideState;if(null===i2)return e2;const n2=[],r2={count:0};for(let t3=0;t3<i2.pivotResultColumns.length&&r2.count<512;t3+=1){const e3=this.serverSidePivotResultColumnDef(i2.pivotResultColumns[t3],t3,"root",0,r2);null!==e3&&n2.push(e3)}let s2=n2;if(0===n2.length&&i2.pivotResultFields.length>0&&(s2=i2.pivotResultFields.slice(0,Math.max(0,512-r2.count)).map((t3=>({field:t3,headerName:t3})))),0===s2.length)return e2;const o2=new Set(e2.map((t3=>t3.field)));return[...e2,...s2.filter((t3=>Array.isArray(t3.children)||!o2.has(t3.field)))]}serverGroupKeyOf=(t2,e2)=>{const i2=this.serverSideColumnField((this.serverSideState?.rowGroupCols??[])[e2]),n2=null!==i2?Q(t2,i2):void 0;return null==n2?"":n2+""};serverSideFlatten(){const t2=this.serverSideState;return null===t2?[]:this.ssrmEngine().flattenServerSide(t2,this.serverGroupKeyOf)}materializeServerSideRows(){null!==this.ssrmSelection&&this.ssrmProjectionSource!==this.serverSideState&&this.ssrmSelGesture((t3=>t3.reproject()));const{serialiseGroupPath:t2}=this.ssrmEngine();return this.serverSideFlatten().map(((e2,i2)=>{if("loading"===e2.kind)return Ti(i2,e2.status??"loading");if("leaf"===e2.kind)return e2.data??{};const n2=e2.groupKeys,r2=n2.length>0?n2[n2.length-1]:"",s2=this.serverSideState?.nodes[t2(n2)],o2=void 0!==s2&&s2.lastRowKnown?s2.rowCount:-1;return{__syTreeRow:true,path:n2,key:t2(n2),label:""===r2?this.resolvedMessages["filter.setBlanksLabel"]:r2,depth:e2.level,row:e2.data,filler:false,hasChildren:true,leafCount:o2,expanded:e2.expanded}}))}maybeFetchServerBlocks(){const t2=this.serverSideState;if(null===t2||null==this.serverSideDatasource||!this.serverSideModeActive())return;if(!this.proWorkAllowed("grid.server-side-row-model","serverSideDatasource"))return;const e2=this.serverSideFlatten(),i2=this.virtualWindow,n2=null!==i2?i2.startIndex:0,r2=null!==i2?i2.endIndex:Math.min(e2.length||t2.blockSize,t2.blockSize),s2=this.infiniteFilterModel();if(null===s2)return void(this.lastServerFetchWindow=null);const o2=this.lastServerFetchWindow;if(null!==o2&&o2.start===n2&&o2.end===r2)return;this.lastServerFetchWindow={start:n2,end:r2};const{markServerBlockLoading:l2,serverBlocksToLoad:a2,touchServerSideVisible:d2}=this.ssrmEngine(),u2=d2(t2,e2,n2,r2);u2!==t2&&(this.serverSideState=u2);const c2=a2(u2,e2,n2,r2);if(0===c2.length)return;let h2=u2;for(const t3 of c2)h2=l2(h2,t3.path,t3.blockNumber);this.serverSideState=h2;for(const t3 of c2)this.dispatchServerBlock(t3.path,t3.groupKeys,t3.blockNumber,t3.startRow,t3.endRow,s2)}dispatchServerBlock(t2,e2,i2,n2,r2,s2){const o2=this.serverSideDatasource,l2=this.serverSideState;if(null==o2||null===l2)return;const{applyServerBlockFailure:a2,applyServerBlockSuccess:d2}=this.ssrmEngine(),u2=this.serverSideGen,c2=this.ssrmRefreshFloors.get(t2)??0,h2=()=>u2!==this.serverSideGen||null===this.serverSideState||(this.ssrmRefreshFloors.get(t2)??0)!==c2&&(this.ssrmDiscardedStaleLandings+=1,true);o2.getRows({groupKeys:e2,pivotMode:l2.pivotMode,rowGroupCols:[...l2.rowGroupCols],pivotCols:[...l2.pivotCols],valueCols:[...l2.valueCols],startRow:n2,endRow:r2,sortModel:this.infiniteSortModel(),filterModel:s2,quickFilter:this.infiniteQuickFilter(),conditionModel:this.infiniteConditionModel()},(e3=>{if(h2())return;const n3=this.serverSideState,r3=d2(n3,t2,i2,e3);""!==t2||r3.pivotResultFields===n3.pivotResultFields&&r3.pivotResultColumns===n3.pivotResultColumns||(this.serverPivotResultsStale=false),this.serverSideState=r3,this.lastServerFetchWindow=null,this.recomputeVirtualWindow()}),(()=>{h2()||(this.serverSideState=a2(this.serverSideState,t2,i2))}))}retryServerBlock(t2){const e2=this.serverSideState;if(null===e2||null==this.serverSideDatasource)return;if(!this.proWorkAllowed("grid.server-side-row-model","serverSideDatasource"))return;const i2=this.serverSideFlatten()[t2];if(void 0===i2||"loading"!==i2.kind||"failed"!==i2.status)return;const n2=this.infiniteFilterModel();if(null===n2)return;const r2=Math.floor(i2.childIndex/e2.blockSize);this.serverSideState=this.ssrmEngine().markServerBlockLoading(e2,i2.parentPath,r2),this.lastServerFetchWindow=null,this.dispatchServerBlock(i2.parentPath,[...i2.groupKeys],r2,r2*e2.blockSize,(r2+1)*e2.blockSize,n2)}initServerSide(){if(!(null==this.serverSideDatasource||this.proAllowed("grid.server-side-row-model","serverSideDatasource")&&this.proWorkAllowed("grid.server-side-row-model","serverSideDatasource")))return void("valid"===this.proGate().displayState("grid.server-side-row-model")&&this.heldLicenseInits.hold("server-side","grid.server-side-row-model"));if(this.heldLicenseInits.drop("server-side"),this.serverSideGen+=1,null!=this.serverSideDatasource&&!this.proModuleAvailable("grid.server-side-row-model","serverSideDatasource","ssrm-ops"))return;if(null!=this.serverSideDatasource&&void 0===this.proUiChunks["ssrm-ops"])return;if(this.lastServerFetchWindow=null,this.teardownSsrmRuntime(),this.ssrmEpoch+=1,this.ssrmRefreshFloors.clear(),this.serverPivotResultsStale=false,null==this.serverSideDatasource)return void(null!==this.serverSideState&&(this.serverSideState=null));const t2=this.serverSideRequestColumns(),{createServerSideState:e2}=this.ssrmEngine();this.serverSideState=e2({pivotMode:this.serverSidePivotModeActive(),rowGroupCols:t2.rowGroupCols,pivotCols:t2.pivotCols,valueCols:t2.valueCols,blockSize:this.cacheBlockSize,maxBlocks:"number"==typeof this.maxBlocksInCache?this.maxBlocksInCache:null})}serverSideDatasourceChanged(){this.liveObjectModel?.invalidateRows("data-replaced"),this.initServerSide()}serverSideGroupColsChanged(){this.liveObjectModel?.invalidateRows("data-replaced"),this.initServerSide()}viewportModeActive(){return null!=this.viewportDatasource&&this.usingColumnDefsApi()&&this.proAllowed("grid.viewport-row-model","viewportDatasource")}initViewport(){this.viewportGen+=1;const t2=this.viewportGen,e2=this.viewportDatasource;if(null==e2)return this.heldLicenseInits.drop("viewport"),void(null!==this.viewportState&&(this.viewportState=null));if(!this.proAllowed("grid.viewport-row-model","viewportDatasource")||!this.proWorkAllowed("grid.viewport-row-model","viewportDatasource"))return void("valid"===this.proGate().displayState("grid.viewport-row-model")&&this.heldLicenseInits.hold("viewport","grid.viewport-row-model"));this.heldLicenseInits.drop("viewport");const i2=this.proUiChunks["viewport-row-model"];if(void 0===i2)return;const{applyViewportRowData:n2,createViewportState:r2,setViewportRowCount:s2}=i2;this.viewportState=r2();const o2=()=>!!this.proGate().frozen("grid.viewport-row-model")&&(this.viewportFeedHeld=true,true);e2.init({setRowCount:e3=>{t2===this.viewportGen&&null!==this.viewportState&&(o2()||(this.viewportState=s2(this.viewportState,e3),this.recomputeVirtualWindow()))},setRowData:(e3,i3)=>{t2===this.viewportGen&&null!==this.viewportState&&(o2()||(this.viewportState=n2(this.viewportState,e3,Array.isArray(i3)?i3:[])))}})}viewportDatasourceChanged(t2,e2){e2?.destroy?.(),this.liveObjectModel?.invalidateRows("data-replaced"),this.initViewport(),this.recomputeVirtualWindow()}maybeUpdateViewportRange(){const t2=this.viewportState,e2=this.viewportDatasource;if(null===t2||null==e2||!this.viewportModeActive())return;if(!this.proWorkAllowed("grid.viewport-row-model","viewportDatasource"))return;if(this.serverSideModeActive())return;const i2=this.virtualWindow,n2=null!==i2?i2.startIndex:0,r2=(null!==i2?i2.endIndex:Math.min(t2.rowCount,1))-1,{applyViewportRange:s2,viewportRangeToRequest:o2}=this.viewportEngine(),l2=o2(t2,n2,r2,0);if(null===l2)return;if(l2.firstRow===t2.requestedFirst&&l2.lastRow===t2.requestedLast)return;const a2=this.infiniteFilterModel();null!==a2&&(this.viewportState=s2(t2,l2.firstRow,l2.lastRow),e2.setViewportRange(l2.firstRow,l2.lastRow,{sortModel:this.infiniteSortModel(),filterModel:a2,...void 0===this.infiniteQuickFilter()?{}:{quickFilter:this.infiniteQuickFilter()},...void 0===this.infiniteConditionModel()?{}:{advancedFilterModel:this.infiniteConditionModel()}}))}infiniteModeActive(){return null!=this.datasource&&this.usingColumnDefsApi()}initInfiniteCache(){this.infiniteCacheGen+=1,this.lastFetchedWindow=null,null!=this.datasource?this.infiniteCache=(function(t2){return{blocks:{},blockSize:Di(t2?.blockSize),maxBlocks:Ai(t2?.maxBlocks),rowCount:0,lastRowKnown:false,accessSeq:0}})({blockSize:this.cacheBlockSize,maxBlocks:"number"==typeof this.maxBlocksInCache?this.maxBlocksInCache:null}):null!==this.infiniteCache&&(this.infiniteCache=null)}datasourceChanged(){this.liveObjectModel?.invalidateRows("data-replaced"),this.initInfiniteCache()}maybeFetchInfiniteBlocks(){if(null===this.infiniteCache||!this.infiniteModeActive())return;if(this.serverSideModeActive()||this.viewportModeActive())return;const t2=this.virtualWindow,e2=null!==t2?t2.startIndex:0,i2=null!==t2?t2.endIndex:this.effectiveBlockSize(),n2=this.lastFetchedWindow;null!==n2&&n2.startRow===e2&&n2.endRow===i2||(this.lastFetchedWindow={startRow:e2,endRow:i2},this.requestInfiniteBlocks(e2,i2))}effectiveBlockSize(){return null!==this.infiniteCache?this.infiniteCache.blockSize:this.cacheBlockSize}requestInfiniteBlocks(t2,e2,i2=false){const n2=this.infiniteCache,r2=this.datasource;if(null===n2||null==r2)return;let s2=(function(t3,e3,i3){const n3=Ei(e3,i3,t3.blockSize).filter((e4=>void 0!==t3.blocks[e4]));if(0===n3.length)return t3;let r3=t3.accessSeq;const s3={...t3.blocks};for(const t4 of n3)r3+=1,s3[t4]={...s3[t4],lastAccess:r3};return{...t3,accessSeq:r3,blocks:s3}})(n2,t2,e2);const o2=(function(t3,e3,i3,n3=false){return Ei(e3,i3,t3.blockSize).filter((e4=>{const i4=t3.blocks[e4];return void 0===i4||"failed"===i4.status&&n3}))})(s2,t2,e2,i2);if(0===o2.length)return void(s2!==n2&&(this.infiniteCache=s2));const l2=this.infiniteFilterModel();if(null===l2)return void(this.lastFetchedWindow=null);for(const t3 of o2)s2=$i(s2,t3);this.infiniteCache=s2;const a2=this.infiniteCacheGen,d2=s2.blockSize,u2=this.infiniteSortModel(),c2=this.infiniteQuickFilter(),h2=this.infiniteConditionModel();for(const t3 of o2){const e3=Fi(t3,d2);r2.getRows({startRow:e3.startRow,endRow:e3.endRow,sortModel:u2,filterModel:l2,quickFilter:c2,conditionModel:h2,success:(e4,i3)=>this.onInfiniteBlockSuccess(t3,e4,i3,a2),fail:()=>this.onInfiniteBlockFailure(t3,a2)})}}infiniteSortModel(){return this.activeSortModel.map((t2=>({colId:t2.field,sort:t2.direction})))}infiniteFilterModel(){const t2=this.configuredLifecycleFilterCount();if(null!=this.externalFilter){if(!this.externalFilterRuntimeReady())return null;const t3=this.filterFacade?.getExternalFilter();if(null==t3)return null;const e3=t3.isPresent();if(null!==t3.getPredicateError())return null;if(e3){const t4="remote-external-filter";return this.componentRemoteFilterErrors.has(t4)||(this.componentRemoteFilterErrors.add(t4),this.emitComponentError({code:"MODEL_FAILED",phase:"model",componentKind:"filter",retryable:false,cause:Error("External filter predicates cannot be serialized for a remote row model.")})),null}}if(0===t2)return{...this.licensedActiveFilters()};if(this.componentFilterReadyRevision!==this.componentFilterRevision)return null;const e2=this.filterFacade,i2=e2?.stats();if(null===e2||void 0===i2||i2.columns!==t2||i2.mountedFilters!==t2)return null;const n2=e2.getSerializableModels();return n2.errors.length>0?null:{...this.licensedActiveFilters(),...n2.models}}licensedActiveFilters(){let t2=null;for(const[e2,i2]of Object.entries(this.activeFilters))"set"!==i2.kind&&"multi"!==i2.kind||("set"===i2.kind?this.filterKindAllowed("set",true):this.filterKindAllowed("multi",i2.spec.parts.some((t3=>"set"===t3.kind))))||(null===t2&&(t2={...this.activeFilters}),delete t2[e2]);return t2??this.activeFilters}infiniteQuickFilter(){return"string"==typeof this.quickFilterValue&&""!==this.quickFilterValue?this.quickFilterValue:void 0}infiniteConditionModel(){if(null!=this.activeConditionTree)return this.proAllowed("grid.advanced-filter","setConditionFilter")?this.activeConditionTree:void 0}infiniteModelInputsChanged(){return this.serverSideModeActive()?(this.initServerSide(),this.viewportEl&&(this.viewportEl.scrollTop=0),this.scrollTop=0,void this.recomputeVirtualWindow()):this.viewportModeActive()&&null!==this.viewportState?(this.viewportState=this.viewportEngine().purgeViewport(this.viewportState),this.viewportEl&&(this.viewportEl.scrollTop=0),this.scrollTop=0,void this.recomputeVirtualWindow()):void(this.infiniteModeActive()&&(this.initInfiniteCache(),this.viewportEl&&(this.viewportEl.scrollTop=0),this.scrollTop=0,this.recomputeVirtualWindow()))}onInfiniteBlockSuccess(t2,e2,i2,n2){n2===this.infiniteCacheGen&&null!==this.infiniteCache&&(this.infiniteCache=(function(t3,e3,i3,n3=null){const r2=t3.accessSeq+1,s2=e3*t3.blockSize+i3.length;let o2=t3.rowCount,l2=t3.lastRowKnown;return"number"==typeof n3&&n3>=0?(o2=n3,l2=true):i3.length<t3.blockSize?(o2=s2,l2=true):t3.lastRowKnown||(o2=Math.max(t3.rowCount,s2)),(function(t4){if(null===t4.maxBlocks)return t4;const e4=Object.values(t4.blocks).filter((t5=>"loaded"===t5.status)),i4=e4.length-t4.maxBlocks;if(i4<=0)return t4;const n4=e4.slice().sort(((t5,e5)=>t5.lastAccess-e5.lastAccess)).slice(0,i4),r3={...t4.blocks};for(const t5 of n4)delete r3[t5.blockNumber];return{...t4,blocks:r3}})({...t3,accessSeq:r2,rowCount:o2,lastRowKnown:l2,blocks:{...t3.blocks,[e3]:{blockNumber:e3,status:"loaded",rows:i3,lastAccess:r2}}})})(this.infiniteCache,t2,Array.isArray(e2)?e2:[],"number"==typeof i2?i2:null))}onInfiniteBlockFailure(t2,e2){e2===this.infiniteCacheGen&&null!==this.infiniteCache&&(this.infiniteCache=(function(t3,e3){const i2=t3.blocks[e3];if(void 0!==i2&&"failed"===i2.status)return t3;const n2=t3.accessSeq+1;return{...t3,accessSeq:n2,blocks:{...t3.blocks,[e3]:{blockNumber:e3,status:"failed",rows:null,lastAccess:n2}}}})(this.infiniteCache,t2))}retryInfiniteBlock(t2){if(null===this.infiniteCache)return;const e2=this.infiniteCache.blockSize,i2=Math.floor(t2/e2)*e2;this.lastFetchedWindow=null,this.requestInfiniteBlocks(i2,i2+e2,true)}async refreshInfiniteCache(){this.infiniteModeActive()&&(this.liveObjectModel?.invalidateRows("data-replaced"),this.initInfiniteCache())}async refreshRowHeights(){null!==this.rowHeightCache&&this.rowHeightCache.reset(),this.lastMeasuredRowsRef=null,this.lastMeasuredLayoutSig="",this.recomputeVirtualWindow(),this.autoHeightVersion++}async scrollToTop(){this.viewportEl&&(this.viewportEl.scrollTop=0),this.scrollTop=0,this.recomputeVirtualWindow()}async selectRows(t2){if(!Array.isArray(t2))return;if(this.serverSideModeActive())return void(await this.ssrmSel()).replaceWithIds(t2.map(String));const e2=this.selectionState;let i2=(function(t3){return 0===t3.selectedRowIds.size?t3:{mode:t3.mode,selectedRowIds:new Set}})(e2);for(const e3 of t2)i2=hr(i2,e3);if(this.rangeAnchorRowId=null,i2===e2)return;this.selectionState=i2;const n2=yr(e2,i2);0===n2.addedIds.length&&0===n2.removedIds.length||this.fireSelectionChanged({mode:i2.mode,selectedRowIds:Array.from(i2.selectedRowIds),addedIds:n2.addedIds,removedIds:n2.removedIds},"api")}async getSelectedRowIds(){return Array.from(this.selectionState.selectedRowIds)}async applyTransaction(t2,e2,i2){const n2=i2?.source??"local",r2=as(this.rowData??[],t2,{getRowId:this.getRowId});if(null!==this.liveObjectModel&&r2.added.length>0&&r2.removed.length>0){const t3=new Set(r2.removed.map((t4=>this.collabRowId(t4.row,t4.index)))),e3=new Set(r2.added.map((t4=>this.collabRowId(t4.row,t4.index))).filter((e4=>t3.has(e4))));for(const t4 of e3)this.liveObjectModel.invalidateRow(t4,"data-replaced")}this.rowData=r2.rows,this.fireRowDataChanged({added:r2.added,updated:r2.updated,removed:r2.removed,rejected:r2.rejected,txId:r2.meta.txId,source:n2,origin:i2?.origin});const s2=this.emitCellValueChanges(r2.updated,n2,i2?.origin,r2.meta.txId);if("remote"===n2&&this.remoteEditApplied.emit({changes:s2,origin:i2?.origin}),r2.added.length+r2.updated.length+r2.removed.length>0&&"remote"!==n2){const i3=(function(t3){const e3={};if(t3.added.length>0&&(e3.remove=t3.added.map((t4=>t4.row))),t3.removed.length>0){const i4=t3.removed.slice().sort(((t4,e4)=>t4.index-e4.index));e3.add=i4.map((t4=>t4.row)),e3.addIndex=i4[0].index}return t3.updated.length>0&&(e3.update=t3.updated.map((t4=>t4.previous))),e3})(r2);this.undoRedoStack.record(t2,i3,e2)}return r2}emitCellValueChanges(t2,e2,i2,n2,r2={}){const s2=this.resolvedColumnDefs(),o2=[],l2="clipboard"===i2?"clipboard":e2;for(const a2 of t2){const t3=this.collabRowId(a2.row,a2.index);for(let d2=0;d2<s2.length;d2+=1){const u2=s2[d2]?.field;if("string"!=typeof u2||0===u2.length)continue;const c2=this.publicNumericValue(Q(a2.previous,u2)),h2=this.publicNumericValue(Q(a2.row,u2));if(Object.is(c2,h2))continue;const f2=r2.displayRowIndex??a2.index,g2={rowIndex:f2,sourceRowIndex:a2.index,colIndex:d2,field:u2,rowId:t3,oldValue:c2,newValue:h2,data:a2.row,context:this.context,source:e2,origin:i2,txId:n2};o2.push(g2),this.cellValueChanged.emit(g2),null!==this.auditTrail&&this.recordAudit({kind:"cell",source:l2,rowId:t3,field:u2,oldValue:c2,newValue:h2,txId:n2}),this.flashCell(f2,u2)}}return o2}collabRowId(t2,e2){const i2=this.getRowId;if(i2)try{const e3=i2(t2);if(null!=e3)return e3}catch{}return e2}async undo(){const t2=this.undoRedoStack.undo();if(null===t2)return false;const e2=as(this.rowData??[],t2.inverse,{getRowId:this.getRowId});return this.rowData=e2.rows,this.fireRowDataChanged({added:e2.added,updated:e2.updated,removed:e2.removed,rejected:e2.rejected,txId:e2.meta.txId,source:"undo"}),this.emitCellValueChanges(e2.updated,"undo",void 0,e2.meta.txId),true}async redo(){const t2=this.undoRedoStack.redo();if(null===t2)return false;const e2=as(this.rowData??[],t2.forward,{getRowId:this.getRowId});return this.rowData=e2.rows,this.fireRowDataChanged({added:e2.added,updated:e2.updated,removed:e2.removed,rejected:e2.rejected,txId:e2.meta.txId,source:"redo"}),this.emitCellValueChanges(e2.updated,"redo",void 0,e2.meta.txId),true}async clearHistory(){this.undoRedoStack.clear()}async connectCollabRoom(t2){const e2=this.collaborationRoom,i2={session:null};try{return await this.proMethod("connectCollabRoom",{validate:()=>null!==this.collabSession?{result:this.collabSession.getStatus()}:void 0===e2||0===e2.length?{result:"offline"}:void 0,load:async()=>{throw new le("collab","unknown","source")},exec:t3=>t3,publish:t3=>{const n2=i2.session;return i2.session=null,t3!==this.collabConnectGen||this.collaborationRoom!==e2||null!==this.collabSession?(n2?.disconnect(),null!==this.collabSession?this.collabSession.getStatus():"offline"):(this.collabSession=n2,null!==this.collabSession?this.collabSession.getStatus():"offline")}})}finally{i2.session?.disconnect()}}kickCollabConnect(){this.collaborationRoom&&null===this.collabSession&&!this.hasDisconnected&&this.proAllowed("grid.collaboration","collaborationRoom")&&(this.proWorkAllowed("grid.collaboration","collaborationRoom")?this.connectCollabRoom().catch((()=>{})):this.collabFreeze.holdJoin())}async preloadChunks(t2){for(const e2 of(function(t3){const e3=[];if(!Array.isArray(t3))return e3;const i2=new Set;for(const n2 of t3){if("string"!=typeof n2||i2.has(n2))continue;const t4=zt[n2];void 0!==t4&&0!==t4.length&&(i2.add(n2),e3.push(t4))}return e3})(t2))await this.proGate().admitAny(e2,"preloadChunks");await this.getChunkLoader().preload(t2)}collabConnectGen=0;onCollaborationRoomChange(){this.collabConnectGen++,this.collabSession?.disconnect(),this.collabSession=null,this.closeCommentPanel(),this.cellCommentIndex=new Map,this.seenCommentIds=new Set,this.clearConflictUi(),this.collaborationRoom&&this.kickCollabConnect()}async disconnectCollabRoom(){return this.proRun("disconnectCollabRoom",(()=>{this.collabFreeze.reset(),this.collabConnectGen++,this.collabSession?.disconnect(),this.collabSession=null,this.closeCommentPanel(),this.cellCommentIndex=new Map,this.seenCommentIds=new Set,this.clearConflictUi()}))}async getSyncStatus(){return this.proRun("getSyncStatus",(()=>null!==this.collabSession?this.collabSession.getStatus():"offline"))}async getCollaborators(){return this.proRun("getCollaborators",(()=>null!==this.collabSession?this.collabSession.getCollaborators():[]))}async addCellComment(t2,e2,i2,n2){return this.proMethod("addCellComment",{load:()=>this.cellNotesModule(),exec:()=>{},publish:()=>this.collabSession?.addCellComment?.(t2,e2,i2,n2)??null})}async cellNotesModule(){throw new le("collab","unknown","source")}async getCellComments(t2,e2){return this.proRun("getCellComments",(()=>this.collabSession?.getCellComments?.(t2,e2)??[]))}async setCellCommentResolved(t2,e2,i2,n2){return this.proMethod("setCellCommentResolved",{load:()=>this.cellNotesModule(),exec:()=>{},publish:()=>this.collabSession?.setCellCommentResolved?.(t2,e2,i2,n2)??false})}async deleteCellComment(t2,e2,i2){return this.proMethod("deleteCellComment",{load:()=>this.cellNotesModule(),exec:()=>{},publish:()=>this.collabSession?.deleteCellComment?.(t2,e2,i2)??false})}async getDataAsCsv(t2={}){return this.createCsvExportResult(t2)}async exportDataAsCsv(t2={}){const e2=this.createCsvExportResult(t2);return this.downloadCsvFile(e2.csv,t2.fileName),e2}createCsvExportResult(t2={}){const e2=this.columnDefs??[],i2=[];for(let t3=0;t3<e2.length;t3++){const n2=e2[t3];true!==n2.hidden&&true!==n2.hide&&i2.push({field:n2.field,headerName:n2.headerName,valueGetter:n2.valueGetter,valueFormatter:n2.valueFormatter})}return(function(t3){if(null==t3)return{csv:"",rowCount:0,columnCount:0};const e3=Array.isArray(t3.columns)?t3.columns:[],i3=Array.isArray(t3.rows)?t3.rows:[],n2="string"==typeof t3.delimiter&&t3.delimiter.length>0?t3.delimiter:",",r2="string"==typeof t3.lineTerminator&&t3.lineTerminator.length>0?t3.lineTerminator:"\r\n",s2="string"==typeof t3.locale&&t3.locale.length>0?t3.locale:"en",o2=false!==t3.blankForNullish,l2=false!==t3.escapeFormulae,a2=[];if(false!==t3.includeHeaders){const t4=[];for(let i4=0;i4<e3.length;i4++){const r3=e3[i4],s3="string"==typeof r3.headerName&&r3.headerName.length>0?r3.headerName:r3.field;t4.push(l2?ft(s3,n2):ht(s3,n2))}a2.push(t4.join(n2))}for(let t4=0;t4<i3.length;t4++){const r3=i3[t4],d3=[];for(let i4=0;i4<e3.length;i4++){const a3=e3[i4],u2=Z({row:r3,rowIndex:t4,colId:a3.field,field:a3.field,valueGetter:a3.valueGetter}),c2=a3.valueFormatter?lt({value:u2,row:r3,rowIndex:t4,colId:a3.field,valueFormatter:a3.valueFormatter,locale:s2}):gt(u2,o2),h2=null!=a3.valueFormatter||ut(u2);d3.push(l2&&h2?ft(c2,n2):ht(c2,n2))}a2.push(d3.join(n2))}const d2=a2.join(r2);return{csv:true===t3.bom?"\uFEFF"+d2:d2,rowCount:i3.length,columnCount:e3.length}})({...t2,columns:i2,rows:this.maskRowsForRead(this.rowData??[],this.resolvedColumnDefs())})}downloadCsvFile(t2,e2){const i2=this.host?.ownerDocument??document,n2=i2.defaultView??window,r2=new Blob([t2],{type:"text/csv;charset=utf-8"}),s2=n2.URL.createObjectURL(r2),o2=i2.createElement("a");o2.href=s2,o2.download=(function(t3){const e3=("string"==typeof t3&&t3.trim()?t3.trim():"export.csv").replace(/[\\/:*?"<>|]+/g,"-");return/\.csv$/i.test(e3)?e3:e3+".csv"})(e2),o2.style.display="none",i2.body.appendChild(o2),o2.click(),o2.remove(),n2.setTimeout((()=>n2.URL.revokeObjectURL(s2)),0)}async getDataAsExcel(t2={}){return this.proMethod("getDataAsExcel",{load:()=>this.loadExportXlsxChunk(),exec:()=>this.createExcelBytes(t2)})}async exportDataAsExcel(t2={}){return this.proMethod("exportDataAsExcel",{load:()=>this.loadExportXlsxChunk(),exec:()=>this.createExcelBytes(t2),publish:e2=>this.downloadXlsxFile(e2,t2.fileName)})}async createExcelBytes(t2){const{buildXlsxWorkbook:e2,gridColumnsToWorkbook:i2,cfStyleToXlsx:n2}=await this.loadExportXlsxChunk(),r2=this.columnDefs??[],s2=t2.columnKeys,o2=[];for(const t3 of r2){if(true===t3.hidden||true===t3.hide)continue;if(s2&&!s2.includes(t3.field))continue;const e3=this.columnWidths.get(t3.field);o2.push({field:t3.field,headerName:t3.headerName,width:"number"==typeof e3?e3:"number"==typeof t3.width?t3.width:void 0})}let l2;if(true===t2.onlySelected&&"none"!==this.selectionState.mode){const t3=this.selectionState.selectedRowIds;l2=[],this.getDisplayRows().forEach(((e3,i3)=>{const n3=this.extractRowId(e3,i3);void 0!==n3&&t3.has(n3)&&l2.push(e3)}))}else l2=(this.rowData??[]).slice();const a2=true!==t2.skipHeaders,d2=a2?1:0,u2=this.formulaSheet,c2=this.formulaCore,h2=true===this.formulas&&null!==u2&&u2.active&&true!==t2.onlySelected&&null!==c2,f2=new Map(r2.map((t3=>[t3.field,t3]))),g2=[],p2=(t3,e3)=>{const i3=t3;if(!this.readPolicyConfigured())return i3;const n3=g2[e3];if(void 0!==n3)return n3;const s3=this.maskDeniedFields(i3,e3,r2,i3,-1);return g2[e3]=s3,s3},y2=t3=>null==t3?null:"number"==typeof t3&&Number.isFinite(t3)||"boolean"==typeof t3?t3:t3+"";return e2(i2({columns:o2,rows:l2,sheetName:t2.sheetName,includeHeaders:a2,getCellValue:(t3,e3,i3)=>{const r3=t3,s3=p2(t3,i3),o3=f2.get(e3.field),l3=(t4,i4)=>{if(void 0===this.conditionalFormats||0===this.conditionalFormats.length)return t4;const r4=Re(this.conditionalFormats,{field:e3.field,value:i4}),s4=n2(r4);return null===s4?t4:"object"==typeof t4&&null!==t4?{...t4,style:s4}:{value:t4,style:s4}};if(void 0!==o3&&!this.isCellReadable(this.rawFieldValue(r3,i3,o3),r3,-1,o3))return l3(this.maskedCellValue,this.maskedCellValue);if(h2){if("string"==typeof o3?.formula&&u2.isCalculatedField(e3.field)){const n4=c2.anchorFormulaToRow(o3.formula,i3+1+d2),r4=y2(u2.calculatedDisplay(e3.field,t3));return l3({value:r4,formula:n4.replace(/^=/,"")},r4)}const n3=Q(t3,e3.field);if(yl(n3)){const i4=c2.shiftFormulaRows(n3+"",d2),r4=y2(this.formulaCellDisplay(u2,n3+"",e3.field,t3));return l3({value:r4,formula:i4.replace(/^=/,"")},r4)}}const a3=this.excelCellValue(s3,e3,o3,i3);return l3(a3,a3)}}))}excelCellValue(t2,e2,i2,n2){const r2=i2?.colId??e2.field;let s2=this.resolveGridCellValue({row:t2,rowIndex:n2,colId:r2,field:e2.field,valueGetter:i2?.valueGetter,colDef:i2});if(null==s2)return null;if("number"==typeof s2)return Number.isFinite(s2)?s2:s2+"";if("boolean"==typeof s2)return s2;if(null!=i2?.valueFormatter)try{return this.formatGridCellValue({value:s2,row:t2,rowIndex:n2,colId:r2,valueFormatter:i2.valueFormatter,locale:"string"==typeof this.locale?this.locale:"en",colDef:i2})}catch{}return s2+""}downloadXlsxFile(t2,e2){const i2=this.host?.ownerDocument??document,n2=i2.defaultView??window,r2=new ArrayBuffer(t2.byteLength);new Uint8Array(r2).set(t2);const s2=new Blob([r2],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),o2=n2.URL.createObjectURL(s2),l2="string"==typeof e2&&""!==e2.trim()?e2.trim():"export.xlsx",a2=i2.createElement("a");a2.href=o2,a2.download=/\.xlsx$/i.test(l2)?l2:l2+".xlsx",a2.style.display="none",i2.body.appendChild(a2),a2.click(),a2.remove(),n2.setTimeout((()=>n2.URL.revokeObjectURL(o2)),0)}async importCsvText(t2,e2={}){return this.applyCsvImport(t2,e2)}applyCsvImport(t2,e2){const i2=xt(t2,{delimiter:e2.delimiter,hasHeader:e2.hasHeader});this.columnDefs=i2.columns.map((t3=>({field:t3.field,headerName:t3.headerName}))),this.rowData=i2.rowData;const n2={rowCount:i2.rowData.length,columnCount:i2.columns.length};return this.csvImported.emit(n2),n2}openCsvFilePicker=()=>{this.csvFileInputEl?.click()};handleCsvFileChosen=t2=>{const e2=t2.target,i2=e2?.files?.[0];if(!i2)return;const n2=new FileReader;n2.onload=()=>{this.csvWizard={text:"string"==typeof n2.result?n2.result:"",fileName:i2.name,hasHeader:true,delimiter:"auto"}},n2.readAsText(i2),e2&&(e2.value="")};updateCsvWizard(t2){null!==this.csvWizard&&(this.csvWizard={...this.csvWizard,...t2})}cancelCsvWizard=()=>{this.csvWizard=null,this.restoreCsvWizardFocus()};confirmCsvWizard=()=>{const t2=this.csvWizard;null!==t2&&(this.applyCsvImport(t2.text,{delimiter:"auto"===t2.delimiter?void 0:t2.delimiter,hasHeader:t2.hasHeader}),this.csvWizard=null,this.restoreCsvWizardFocus())};restoreCsvWizardFocus(){this.csvWizardFocused=false;const t2=this.csvImportButtonEl;null!==t2&&"function"==typeof t2.focus&&t2.focus()}maybeFocusCsvWizard(){if(null===this.csvWizard||this.csvWizardFocused)return;const t2=this.csvWizardEl;null!==t2&&(this.csvWizardFocused=true,(t2.querySelector('input, select, button:not([disabled]), [tabindex]:not([tabindex="-1"])')??t2).focus())}handleCsvWizardKeyDown=t2=>{if("Tab"!==t2.key)return;const e2=this.csvWizardEl;if(null===e2)return;const i2=Array.from(e2.querySelectorAll('input, select, button:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter((t3=>null!==t3.offsetParent||t3===e2));if(0===i2.length)return;const n2=i2[0],r2=i2[i2.length-1],s2=this.host.shadowRoot?.activeElement??document.activeElement;t2.shiftKey&&s2===n2?(t2.preventDefault(),r2.focus()):t2.shiftKey||s2!==r2||(t2.preventDefault(),n2.focus())};async getDataAsPdf(t2={}){return this.proMethod("getDataAsPdf",{load:()=>this.loadExportPdfChunk(),exec:async(e2,i2)=>{const n2=await this.createPdfExportInput(e2,t2);return i2(),e2.getDataAsPdf(n2)}})}async exportDataAsPdf(t2={}){const e2=this.host?.ownerDocument??document;return this.proMethod("exportDataAsPdf",{load:()=>this.loadExportPdfChunk(),exec:async(e3,i2)=>{const n2=await this.createPdfExportInput(e3,t2);return i2(),{pdf:e3,input:n2,result:e3.getDataAsPdf(n2)}},publish:({pdf:t3,input:i2,result:n2})=>(t3.downloadPdfResult(n2,i2.fileName,e2),n2)})}async createPdfExportInput(t2,e2={}){const i2=this.collectExportColumns(),n2=this.collectExportRows(),r2={...e2,columns:i2,rows:n2};return this.withAutoPdfFont(t2,r2,i2,n2,e2)}async withAutoPdfFont(t2,e2,i2,n2,r2){if(e2.fontBytes||false===r2.autoFont||false===this.pdfAutoFont)return e2;const s2=this.collectPdfFontProbeTexts(e2,i2,n2);if(!t2.needsEmbeddedPdfFont(s2))return e2;const o2=await t2.resolveBrowserPdfFont({texts:s2,fontUrl:r2.fontUrl??this.pdfFontUrl,fontBaseName:e2.fontBaseName});if(!o2)throw Error("sy-grid PDF export contains text outside PDF Standard 14 fonts. Set `pdf-font-url`/`fontUrl` to an app-hosted TTF/OTF, or allow browser local-font access, so the PDF can embed the required glyphs.");return{...e2,fontBytes:o2.bytes,fontBaseName:e2.fontBaseName??o2.name}}collectPdfFontProbeTexts(t2,e2,i2){const n2=[t2.title??"",t2.footer??"","Page 0123456789 of total"];for(const t3 of e2)n2.push(t3.headerName??t3.field);for(let t3=0;t3<i2.length;t3++){const r2=i2[t3];for(const t4 of e2){const e3=Q(r2,t4.field);null!=e3&&n2.push(e3+"")}}return n2}collectExportColumns(){const t2=this.columnDefs??[],e2=[];for(let i2=0;i2<t2.length;i2++){const n2=t2[i2];true!==n2.hidden&&true!==n2.hide&&e2.push({field:n2.field,headerName:n2.headerName,width:"number"==typeof n2.width&&n2.width>0?n2.width:void 0,valueGetter:n2.valueGetter,valueFormatter:n2.valueFormatter})}return e2}collectExportRows(){return this.maskRowsForRead((this.rowData??[]).slice(),this.resolvedColumnDefs())}async importDataFromXlsx(t2,e2={}){const i2=await this.loadImportXlsxChunk(),n2=await i2.parseXlsx(t2),r2=i2.pickXlsxSheet(n2,e2.sheetName);if(r2){const t3={preserveFormulas:true===this.formulas,...e2.snapshot},s2=i2.xlsxSheetToRowData(r2,n2.styles,t3);this.xlsxImported.emit({sheetName:r2.meta.name,snapshot:s2,workbookSheetCount:n2.workbook.sheets.length})}return n2}async getContextMenuItems(t2){return this.proRun("getContextMenuItems",(()=>{const e2=this.rowData??[];return(function(t3,e3={}){if(null==t3||"object"!=typeof t3)return[];const i2={..._t,...e3.locale??{}},n2=Array.isArray(t3.rows)?t3.rows:[],r2=n2.length>0&&Number.isFinite(t3.rowIndex)&&t3.rowIndex>=0&&t3.rowIndex<n2.length,s2=[];return s2.push({id:"copy-cell",label:i2.copyCell,disabled:!(r2&&"string"==typeof t3.field&&t3.field.length>0)}),s2.push({id:"copy-row",label:i2.copyRow,disabled:!r2}),s2.push({id:"separator-1",label:"",separator:true}),s2.push({id:"export-csv",label:i2.exportCsv,disabled:0===n2.length}),s2})({rowIndex:t2?.rowIndex??-1,field:t2?.field,rows:e2})}))}buildContextMenuCtx(t2,e2){const i2=this.rowData??[];return{rowIndex:t2,field:e2,row:i2[t2],rows:i2,columns:this.columnDefs??[]}}openContextMenu(t2,e2,i2){if(true!==this.contextMenu||!this.usingColumnDefsApi())return;if(!this.proNewWorkAllowed("grid.context-menu","contextMenu"))return;const n2=this.proUiChunks["pro-panels"];if(void 0===n2)return;i2.preventDefault(),i2.stopPropagation();const r2=this.buildContextMenuCtx(t2,e2),s2=n2.contextMenuItemsFor(this.proPanelsHost(),r2);if(!Array.isArray(s2)||0===s2.length)return;const o2=32*s2.length+12,l2="undefined"!=typeof window?window.innerWidth:1024,a2="undefined"!=typeof window?window.innerHeight:768,d2=Math.min(i2.clientX,Math.max(0,l2-200)),u2=Math.min(i2.clientY,Math.max(0,a2-o2)),c2=this.host?.shadowRoot?.activeElement??document.activeElement;this.contextMenuReturnFocus=c2&&this.host?.contains(c2)?c2:null,this.contextMenuFocused=false,this.contextMenuState={x:d2,y:u2,items:s2,ctx:r2}}closeContextMenu(){if(null===this.contextMenuState)return;this.contextMenuState=null,this.contextMenuFocused=false;const t2=this.contextMenuReturnFocus;this.contextMenuReturnFocus=null,null!==t2&&"function"==typeof t2.focus&&this.host?.contains(t2)&&t2.focus()}maybeFocusContextMenu(){if(null===this.contextMenuState||this.contextMenuFocused)return;const t2=this.contextMenuEl;if(null===t2)return;this.contextMenuFocused=true;const e2=this.enabledContextMenuItems(t2);e2.length>0?e2[0].focus():t2.focus()}enabledContextMenuItems(t2){return Array.from(t2.querySelectorAll(".sy-grid__context-menu-item:not([disabled])"))}handleContextMenuKeyDown=t2=>{const e2=this.contextMenuEl;if(null===e2)return;const i2=t2.key;if("Tab"===i2)return t2.preventDefault(),void this.closeContextMenu();if("ArrowDown"!==i2&&"ArrowUp"!==i2&&"Home"!==i2&&"End"!==i2)return;t2.preventDefault();const n2=this.enabledContextMenuItems(e2);if(0===n2.length)return;const r2=this.host?.shadowRoot?.activeElement??document.activeElement,s2=n2.findIndex((t3=>t3===r2));let o2;o2="Home"===i2?0:"End"===i2?n2.length-1:"ArrowDown"===i2?s2<0?0:(s2+1)%n2.length:s2<0?n2.length-1:(s2-1+n2.length)%n2.length,n2[o2].focus()};renderCsvWizard(){const t2=this.csvWizard;if(null===t2)return null;const e2=this.resolvedMessages;let i2={columns:[],rows:[]};try{const e3=xt(t2.text,{delimiter:"auto"===t2.delimiter?void 0:t2.delimiter,hasHeader:t2.hasHeader});i2={columns:e3.columns.slice(0,12),rows:e3.rowData.slice(0,5)}}catch{}return n("div",{class:"sy-grid__csv-wizard-overlay",role:"dialog","aria-modal":"true","aria-label":e2["csvImport.title"],tabindex:"-1",ref:t3=>{this.csvWizardEl=t3??null},onKeyDown:this.handleCsvWizardKeyDown},n("div",{class:"sy-grid__csv-wizard"},n("div",{class:"sy-grid__csv-wizard-head"},n("strong",null,e2["csvImport.title"]),n("span",{class:"sy-grid__csv-wizard-file"},t2.fileName)),n("div",{class:"sy-grid__csv-wizard-controls"},n("label",{class:"sy-grid__csv-wizard-check"},n("input",{type:"checkbox",checked:t2.hasHeader,onChange:t3=>this.updateCsvWizard({hasHeader:t3.target.checked})}),e2["csvImport.firstRowHeader"]),n("label",{class:"sy-grid__csv-wizard-delim"},e2["csvImport.delimiter"],n("select",{onChange:t3=>this.updateCsvWizard({delimiter:t3.target.value})},n("option",{value:"auto",selected:"auto"===t2.delimiter},e2["csvImport.delimiterAuto"]),n("option",{value:",",selected:","===t2.delimiter},","),n("option",{value:";",selected:";"===t2.delimiter},";"),n("option",{value:" ",selected:" "===t2.delimiter},"Tab"),n("option",{value:"|",selected:"|"===t2.delimiter},"|")))),n("div",{class:"sy-grid__csv-wizard-preview"},n("table",null,n("thead",null,n("tr",null,i2.columns.map((t3=>n("th",null,t3.headerName))))),n("tbody",null,i2.rows.map((t3=>n("tr",null,i2.columns.map((e3=>n("td",null,(Q(t3,e3.field)??"")+""))))))))),n("div",{class:"sy-grid__csv-wizard-actions"},n("button",{type:"button",class:"sy-grid__toolbar-button",onClick:this.cancelCsvWizard},e2["csvImport.cancel"]),n("button",{type:"button",class:"sy-grid__toolbar-button sy-grid__toolbar-button--primary",disabled:0===i2.columns.length,onClick:this.confirmCsvWizard},e2["csvImport.import"]))))}cfBuilder=null;toggleCfBuilder=()=>{this.getChunkLoader().load("conditional-format").then((t2=>{this.cfBuilder=t2,this.cfBuilder.toggleCfBuilder(this)})).catch((()=>{}))};renderConditionalFormatBuilder(){return this.cfBuilderOpen&&null!==this.cfBuilder?this.cfBuilder.renderConditionalFormatBuilder(this,n):null}renderContextMenu(){const t2=true===this.contextMenu&&this.usingColumnDefsApi()&&this.proAllowed("grid.context-menu","contextMenu")?this.proUiChunk("pro-panels","grid.context-menu","contextMenu"):null;return null==t2||null===this.contextMenuState?null:t2.renderContextMenu(this.proPanelsHost())}async copyCellAt(t2,e2){const i2=this.getDisplayRows(),n2=this.effectiveColumns();if(t2<0||t2>=i2.length)return false;const r2=n2.findIndex((t3=>t3.field===e2));return!(r2<0||null===this.copyableDataRowAt(i2,t2))&&Ct(vr(this.cellDisplayText(t2,r2,i2,n2),{escapeFormulae:this.clipboardEscapeFormulae}))}async copyRowAt(t2){const e2=this.getDisplayRows(),i2=this.effectiveColumns();if(t2<0||t2>=e2.length)return false;const n2=xr([{top:t2,left:0,bottom:t2,right:i2.length-1}],((t3,n3)=>this.cellDisplayText(t3,n3,e2,i2)),(t3=>null!==this.copyableDataRowAt(e2,t3)),{escapeFormulae:this.clipboardEscapeFormulae});return""!==n2&&Ct(n2)}async getCellTooltipText(t2){const e2=this.getDisplayRows(),i2=this.effectiveColumns();if(!t2||t2.rowIndex<0||t2.rowIndex>=e2.length)return"";const n2=i2.find((e3=>e3.field===t2.field));if(!n2)return"";const r2=e2[t2.rowIndex];let s2=Ci(r2)||ki(r2)||this.isPivotSubtotalDisplayRow(r2)?r2:this.copyableDataRowAt(e2,t2.rowIndex);if(null===s2)return"";if(this.readPolicyConfigured()){const e3=n2,r3=this.cellRawValue(s2,t2.rowIndex,e3);if(!this.isCellReadable(r3,s2,t2.rowIndex,e3))return this.maskedCellValue;s2=this.maskDeniedFields(s2,t2.rowIndex,i2)}return kt({row:s2,rowIndex:t2.rowIndex,column:n2,displayedText:t2.displayedText,isOverflowing:t2.isOverflowing,locale:"string"==typeof this.locale?this.locale:"en",context:this.context,api:this.host})}async getUndoRedoDepth(){return this.undoRedoStack.getDepth()}async setColumnWidth(t2,e2){if("string"!=typeof t2||0===t2.length)return void console.warn("[SG:COL] width bad id; reject");if("number"!=typeof e2||!Number.isFinite(e2))return void console.warn("[SG:COL] width nonfinite; reject");const i2=this.resolvedColumnDefs().find((e3=>e3.field===t2));let n2=e2;const r2=this.resolveProgrammaticColumnMinWidth(i2),s2=this.resolveColumnMaxWidth(i2,r2);n2<r2?(console.warn(`[SG:COL] width=${e2} id=${t2} <min=${r2}; clamp`),n2=r2):n2>s2&&(console.warn(`[SG:COL] width=${e2} id=${t2} >max=${s2}; clamp`),n2=s2);const o2=this.resolveEffectiveColumnWidth(t2),l2=new Map(this.columnWidths);l2.set(t2,n2),this.columnWidths=l2,this.alignedNotify(),this.columnResized.emit({colId:t2,oldWidth:o2??n2,newWidth:n2,wasClamped:false}),Object.is(o2,n2)||this.publishLiveObjectChange("column",i2?this.liveColumnId(i2):t2,"widthChanged","api",{before:o2,after:n2})}async resetColumnWidth(t2){if("string"!=typeof t2||0===t2.length)return void console.warn("[SG:COL] reset width bad id; reject");const e2=this.columnWidths.get(t2);if("number"!=typeof e2)return;const i2=this.resolvedColumnDefs().find((e3=>e3.field===t2)),n2=i2&&"number"==typeof i2.width?i2.width:null,r2=new Map(this.columnWidths);r2.delete(t2),this.columnWidths=r2,this.alignedNotify(),null!==n2&&n2===e2||this.columnResized.emit({colId:t2,oldWidth:e2,newWidth:n2??e2,wasClamped:false}),this.publishLiveObjectChange("column",i2?this.liveColumnId(i2):t2,"widthChanged","api",{before:e2,after:n2})}async getColumnWidth(t2){if("string"!=typeof t2||0===t2.length)return null;const e2=this.columnWidths.get(t2);if("number"==typeof e2)return e2;const i2=this.resolvedColumnDefs().find((e3=>e3.field===t2));return i2&&"number"==typeof i2.width?i2.width:null}resolveEffectiveColumnWidth(t2){const e2=this.columnWidths.get(t2);if("number"==typeof e2)return e2;const i2=this.resolvedColumnDefs().find((e3=>e3.field===t2));return i2&&"number"==typeof i2.width?i2.width:null}resolveProgrammaticColumnMinWidth(t2){return t2&&"number"==typeof t2.minWidth&&Number.isFinite(t2.minWidth)&&t2.minWidth>=0?Math.max(this.minimumColumnWidth,t2.minWidth):this.minimumColumnWidth}resolveInteractiveColumnMinWidth(t2){return Math.max(this.interactiveColumnMinWidth,this.resolveProgrammaticColumnMinWidth(t2))}resolveColumnMaxWidth(t2,e2){return t2&&"number"==typeof t2.maxWidth&&Number.isFinite(t2.maxWidth)&&t2.maxWidth>=e2?t2.maxWidth:1/0}columnLayoutStyle(t2){const e2={},i2=this.columnWidths.get(t2.colId??t2.field),n2="number"==typeof i2?i2:t2.width;if(null!=n2){const t3=n2+"px";e2.width=t3,e2.flex="0 0 "+t3}else null!=t2.flex&&(e2.flex=t2.flex+" 1 0");return null!=t2.minWidth&&(e2.minWidth=t2.minWidth+"px"),null!=t2.maxWidth&&(e2.maxWidth=t2.maxWidth+"px"),e2}shouldHideHeaderControls(t2){const e2=this.columnWidths.get(t2.colId??t2.field),i2="number"==typeof e2?e2:"number"==typeof t2.width?t2.width:null;return null!==i2&&i2<this.compactHeaderControlsWidth}columnResizeGuideXFromHandle(t2){const e2=this.host.querySelector(".sy-grid__grid"),i2=t2?.parentElement??null;if(!e2||!i2||"function"!=typeof e2.getBoundingClientRect)return null;const n2=e2.getBoundingClientRect(),r2=i2.getBoundingClientRect().right-n2.left;return Number.isFinite(r2)?r2:null}columnResizeWidthFromHandle(t2){const e2=t2?.parentElement??null;if(!e2||"function"!=typeof e2.getBoundingClientRect)return null;const i2=e2.getBoundingClientRect().width;return Number.isFinite(i2)&&i2>0?i2:null}showColumnResizeGuide(t2,e2){const i2=this.columnResizeGuideXFromHandle(e2);null!==i2&&(this.columnResizeGuide?.colId===t2&&this.columnResizeGuide.x===i2||(this.columnResizeGuide={colId:t2,x:i2}))}hideColumnResizeGuide(t2){this.columnResizeController.isActive()||this.columnResizeGuide?.colId===t2&&(this.columnResizeGuide=null)}handleColumnResizePointerDown(t2,e2){t2.preventDefault(),t2.stopPropagation();const i2=t2.currentTarget;this.showColumnResizeGuide(e2,i2);const n2=this.resolveEffectiveColumnWidth(e2)??this.columnResizeWidthFromHandle(i2)??0;this.columnResizeGuideStartX=this.columnResizeGuide?.colId===e2?this.columnResizeGuide.x:this.columnResizeGuideXFromHandle(i2),this.columnResizeGuideStartWidth=n2;const r2=this.resolvedColumnDefs().find((t3=>t3.field===e2)),s2=this.resolveInteractiveColumnMinWidth(r2),o2=this.resolveColumnMaxWidth(r2,s2);if(this.columnResizeController.start({colId:e2,startWidth:n2,startX:t2.clientX,minWidth:s2,maxWidth:Number.isFinite(o2)?o2:void 0}),i2&&"function"==typeof i2.setPointerCapture)try{i2.setPointerCapture(t2.pointerId)}catch{}this.columnResizePointerId=t2.pointerId,this.columnResizeHandleEl=i2,"undefined"!=typeof document&&document.body&&(document.body.style.cursor="col-resize");const l2=t3=>{"Escape"===t3.key&&this.columnResizeController.isActive()&&(t3.preventDefault(),this.cancelColumnResize())};this.columnResizeEscHandler=l2,"undefined"!=typeof document&&document.addEventListener("keydown",l2,true)}handleColumnResizePointerMove(t2){if(!this.columnResizeController.isActive())return;const e2=this.columnResizeController.move({x:t2.clientX});if(null===e2)return;const i2=new Map(this.columnWidths);i2.set(e2.colId,e2.width),this.columnWidths=i2,this.alignedNotify(),this.columnResizeGuide?.colId===e2.colId&&null!==this.columnResizeGuideStartX&&null!==this.columnResizeGuideStartWidth&&(this.columnResizeGuide={colId:e2.colId,x:this.columnResizeGuideStartX+(e2.width-this.columnResizeGuideStartWidth)})}handleColumnResizePointerUp(t2){this.columnResizeController.isActive()&&this.commitColumnResize()}handleColumnResizePointerCancel(t2){this.columnResizeController.isActive()&&this.cancelColumnResize()}commitColumnResize(){const t2=this.columnResizeController.getActive(),e2=null!==t2&&true===t2.wasClamped,i2=this.columnResizeController.commit();if(null!==i2){const t3=new Map(this.columnWidths);t3.set(i2.colId,i2.newWidth),this.columnWidths=t3,this.alignedNotify(),this.columnResized.emit({colId:i2.colId,oldWidth:i2.oldWidth,newWidth:i2.newWidth,wasClamped:e2});const n2=this.resolvedColumnDefs().find((t4=>t4.field===i2.colId));this.publishLiveObjectChange("column",n2?this.liveColumnId(n2):i2.colId,"widthChanged","ui",{before:i2.oldWidth,after:i2.newWidth})}this.teardownColumnResizeDrag()}cancelColumnResize(){const t2=this.columnResizeController.revert();if(null!==t2){const e2=new Map(this.columnWidths),i2=this.resolvedColumnDefs().find((e3=>e3.field===t2.colId));i2&&i2.width===t2.startWidth?e2.delete(t2.colId):e2.set(t2.colId,t2.startWidth),this.columnWidths=e2,this.alignedNotify()}this.teardownColumnResizeDrag()}teardownColumnResizeDrag(){if(this.columnResizeHandleEl&&null!==this.columnResizePointerId)try{"function"==typeof this.columnResizeHandleEl.releasePointerCapture&&this.columnResizeHandleEl.releasePointerCapture(this.columnResizePointerId)}catch{}this.columnResizePointerId=null,this.columnResizeHandleEl=null,this.columnResizeGuide=null,this.columnResizeGuideStartX=null,this.columnResizeGuideStartWidth=null,this.columnResizeEscHandler&&"undefined"!=typeof document&&document.removeEventListener("keydown",this.columnResizeEscHandler,true),this.columnResizeEscHandler=null,"undefined"!=typeof document&&document.body&&(document.body.style.cursor="")}applyColumnOrder(t2){const e2=this.columnOrder;if(null===e2)return t2;const i2=new Map(t2.map((t3=>[t3.field,t3]))),n2=[];for(let t3=0;t3<e2.length;t3++){const r2=i2.get(e2[t3]);r2&&(n2.push(r2),i2.delete(e2[t3]))}if(i2.size>0)for(const t3 of i2.values())n2.push(t3);return n2}effectiveColumns(){return this.applyColumnVisibility(kn(this.applyColumnOrder(this.resolvedColumnDefs()),this.columnPinned))}pinSideOf(t2){return Cn(t2,this.columnPinned)}pinnedWidthOf=t2=>{const e2=this.columnWidths.get(t2.colId??t2.field);return"number"==typeof e2?e2:"number"==typeof t2.width?t2.width:null};totalColumnsWidthPx(){let t2=this.shouldRenderCheckboxColumn()?br.width:0;for(const e2 of this.effectiveColumns()){const i2=this.pinnedWidthOf(e2);if(null===i2)return null;t2+=i2}return t2}pinnedOffsetsContext(t2,e2){const i2=t2.filter((t3=>"left"===this.pinSideOf(t3))),n2=t2.filter((t3=>"right"===this.pinSideOf(t3)));return 0===i2.length&&0===n2.length?null:{left:i2.length>0?Sn(i2,"left",this.pinnedWidthOf,e2):null,right:n2.length>0?Sn(n2,"right",this.pinnedWidthOf,0):null,lastLeft:i2.length>0?i2[i2.length-1].field:void 0,firstRight:n2.length>0?n2[0].field:void 0}}async setColumnPinned(t2,e2){const i2=this.resolvedColumnDefs().find((e3=>e3.field===t2));if(!i2)return void console.warn(`[SG:COL] pin bad field=${t2}; reject`);if("left"!==e2&&"right"!==e2&&null!==e2)return void console.warn(`[SG:COL] pin bad side=${e2+""}; reject`);const n2=this.pinSideOf(i2);if(n2===e2)return;const r2=new Map(this.columnPinned);r2.set(t2,e2),this.columnPinned=r2,this.alignedNotify(),this.publishLiveObjectChange("column",this.liveColumnId(i2),"pinnedChanged","api",{before:n2,after:e2})}async getColumnPinned(t2){const e2=this.resolvedColumnDefs().find((e3=>e3.field===t2));return e2?this.pinSideOf(e2):null}effectiveColumnIds(){return kn(this.applyColumnOrder(this.resolvedColumnDefs()),this.columnPinned).map((t2=>t2.field))}async setColumnOrder(t2){if(!Array.isArray(t2))return void console.warn("[SG:COL] order not array; reject");const e2=this.effectiveColumnIds();if(t2.length!==e2.length)return void console.warn(`[SG:COL] order count=${t2.length}/${e2.length}; reject`);const i2=new Set(e2),n2=new Set;for(let e3=0;e3<t2.length;e3++){const r3=t2[e3];if("string"!=typeof r3||!i2.has(r3))return void console.warn(`[SG:COL] order bad id=${r3+""}; reject`);if(n2.has(r3))return void console.warn(`[SG:COL] order dup id=${r3}; reject`);n2.add(r3)}let r2=false,s2=null;for(let i3=0;i3<t2.length;i3++)t2[i3]!==e2[i3]&&(r2=true,null===s2&&(s2=t2[i3]));const o2=e2.slice(),l2=t2.slice();if(this.columnOrder=l2.slice(),this.alignedNotify(),r2&&null!==s2){const t3=o2.indexOf(s2),e3=l2.indexOf(s2);this.columnReordered.emit({colId:s2,originIndex:t3,finalIndex:e3,orderBefore:o2,orderAfter:l2})}}async getColumnOrder(){return this.effectiveColumnIds()}guardHideableColumns(t2){return!!this.columnHidingActive()||(console.warn(`[SG:COL] hide=${t2}; flag off; ignore`),false)}applyColumnVisibility(t2){const e2=this.columnHidden;return 0===e2.size?t2:t2.filter((t3=>!e2.has(t3.field)))}async hideColumn(t2){this.guardHideableColumns("hideColumn")&&this.columnVisibilityController.hide(t2)}async showColumn(t2){this.guardHideableColumns("showColumn")&&this.columnVisibilityController.show(t2)}async toggleColumnVisibility(t2){return this.guardHideableColumns("toggleColumnVisibility")?this.columnVisibilityController.toggle(t2):this.columnVisibilityController.isHidden(t2)}async setHiddenColumns(t2){this.guardHideableColumns("setHiddenColumns")&&this.columnVisibilityController.setHidden(t2)}async resetColumnVisibility(){this.guardHideableColumns("resetColumnVisibility")&&this.columnVisibilityController.reset()}async getHiddenColumns(){return Array.from(this.columnVisibilityController.getHidden())}async autoSizeColumn(t2){if("string"!=typeof t2||0===t2.length)return console.warn("[SG:COL] auto bad id; reject"),null;if(true!==this.resizableColumns)return console.warn("[SG:COL] auto flag off; reject"),null;const e2=this.resolvedColumnDefs().find((e3=>e3.field===t2));if(!e2)return console.warn(`[SG:COL] auto bad id=${t2}; reject`),null;const i2=this.computeAutoSizeWidth(e2);return null!==i2&&i2.finalWidth>0?(await this.setColumnWidth(t2,i2.finalWidth),i2.finalWidth):null}async autoSizeAllColumns(){if(true!==this.resizableColumns)return void console.warn("[SG:COL] auto-all flag off; reject");const t2=this.effectiveColumns();for(let e2=0;e2<t2.length;e2++){const i2=t2[e2];"string"==typeof i2.field&&0!==i2.field.length&&false!==i2.resizable&&await this.autoSizeColumn(i2.field)}}async getColumnState(){const t2=new Map;for(const e2 of this.resolvedColumnDefs()){if("string"!=typeof e2.field||""===e2.field)continue;const i2=this.pinSideOf(e2);i2&&t2.set(e2.field,i2)}return fs({fields:this.resolvedColumnDefs().map((t3=>t3.field)).filter(Boolean),columnWidths:this.columnWidths,columnOrder:this.columnOrder,columnHidden:this.columnHidden,activeSort:null,sortModel:this.activeSortModel,pinnedSides:t2})}async applyColumnState(t2,e2){const i2=gs(t2,e2),n2=new Set;for(let e3=0;e3<t2.length;e3++)n2.add(t2[e3].field);for(const[t3,e3]of i2.widths)null===e3?await this.resetColumnWidth(t3):await this.setColumnWidth(t3,e3);for(const[t3,e3]of i2.visibility)e3?await this.hideColumn(t3):await this.showColumn(t3);if(null!==i2.order){const t3=this.effectiveColumnIds(),e3=new Set(t3),n3=new Set,r3=[];for(let t4=0;t4<i2.order.length;t4++){const s3=i2.order[t4];e3.has(s3)&&!n3.has(s3)&&(r3.push(s3),n3.add(s3))}for(let e4=0;e4<t3.length;e4++){const i3=t3[e4];n3.has(i3)||(r3.push(i3),n3.add(i3))}await this.setColumnOrder(r3)}const r2=new Set(this.resolvedColumnDefs().filter((t3=>false!==t3.sortable&&"string"==typeof t3.field&&""!==t3.field)).map((t3=>t3.field))),s2=i2.sortModel.filter((t3=>r2.has(t3.field))).map((t3=>({...t3}))),o2=new Set(s2.map((t3=>t3.field)));for(const t3 of this.activeSortModel)n2.has(t3.field)||o2.has(t3.field)||s2.push({...t3});Zi(s2,this.activeSortModel)||this.applySortModel(s2,"state");for(const[t3,e3]of i2.pinned)await this.setColumnPinned(t3,e3)}initialState;pendingStateUiRestore=null;pendingStateUiSlices=new Set;gridStateCaptureInput(){const t2=new Map,e2=new Map;for(const i3 of this.resolvedColumnDefs()){if("string"!=typeof i3.field||""===i3.field)continue;const n3=this.pinSideOf(i3);n3&&t2.set(i3.field,n3),"string"==typeof i3.aggFunc&&""!==i3.aggFunc&&e2.set(i3.field,i3.aggFunc)}const i2=this.groupBy,n2="string"==typeof i2?""===i2?[]:[i2]:Array.isArray(i2)?i2.filter((t3=>"string"==typeof t3&&""!==t3)):[],r2=this.filterFacade?.getSerializableModels()??null;return{find:this.proUiChunks["pro-panels"]?.captureFindUi(this.findHost()),columns:{fields:this.resolvedColumnDefs().map((t3=>t3.field)).filter(Boolean),columnWidths:this.columnWidths,columnOrder:this.columnOrder,columnHidden:this.columnHidden,activeSort:null,sortModel:this.activeSortModel,pinnedSides:t2,aggFuncs:e2,rowGroupFields:n2,pivotRowGroupFields:this.pivotRowGroupColumns??[],pivotMode:true===this.pivotMode,pivotFields:this.pivotColumns??[],valueFields:this.pivotValueColumns??[],collapsedGroupIds:this.collapsedGroups},filter:{activeFilters:this.activeFilters,customModels:r2?.models??null,customModelErrors:r2?.errors?.map((t3=>t3+""))??[],quickFilter:""===this.quickFilterValue?null:this.quickFilterValue,conditionTree:this.activeConditionTree,externalFilterActive:null!=this.externalFilter},rows:{collapsedGroupRoutes:this.collapsedRowGroups,pivotCollapsedGroupRoutes:this.pivotCollapsedRowGroups,collapsedTreeNodePaths:this.collapsedTreeNodes,expandedDetailRowIds:this.expandedDetailRows,rowSelection:this.selectionState,cellRanges:this.rangeState.ranges},ui:{activeCell:this.activeCell,scrollTop:this.scrollTop,scrollLeft:this.hScrollLeft,pagination:this.activePagination,openPanelId:this.openToolPanelId,pinnedRows:null!==this.pinnedRowsFacade?this.pinnedRowsFacade.toSlice():void 0}}}async getState(){return Ys(this.gridStateCaptureInput()).state}async setState(t2,e2){this.initialStateLicenseFeatures=null;const i2=ro(t2);if(!i2.ok||null===i2.state)return{ok:false,issues:i2.issues,appliedSlices:[],requestedAbsentSlices:[],unrestorableSlices:[],columns:null,filter:null,rows:null,uiUnavailable:[],afterDataPending:false,appliedMigrations:i2.appliedMigrations,droppedSlices:i2.droppedSlices};const n2=t3=>({...to(t3,false),appliedMigrations:i2.appliedMigrations,droppedSlices:i2.droppedSlices});let r2=Zs(i2.state,this.gridStateApplyContexts(),e2);if(!r2.ok)return n2(r2);let s2=Gt(r2,i2.state);if(s2.length>0){if(this.proGate().awaiting(Vt(s2))){if(await this.proGate().settle(Vt(s2)),r2=Zs(i2.state,this.gridStateApplyContexts(),e2),!r2.ok)return n2(r2);s2=Gt(r2,i2.state)}const t3=this.proGate().refuseRequest(Vt(s2),"setState");if(t3.length>0)return n2(Yt(r2,Wt(s2,t3)));const o2=await this.proFiltersModuleStep(s2,"setState");if(o2.issues.length>0)return n2(Yt(r2,o2.issues));if(o2.awaited){if(r2=Zs(i2.state,this.gridStateApplyContexts(),e2),!r2.ok)return n2(r2);s2=Gt(r2,i2.state);const t4=this.proGate().refuseRequest(Vt(s2),"setState");if(t4.length>0)return n2(Yt(r2,Wt(s2,t4)))}}return await this.executeGridStatePlan(r2),this.noteStateBatchSource("restore",r2.appliedSlices),{...to(r2,null!==this.pendingStateUiRestore),appliedMigrations:i2.appliedMigrations,droppedSlices:i2.droppedSlices}}gridStateApplyContexts(){const t2=this.resolvedColumnDefs().map((t3=>t3.field)).filter(Boolean);if(this.pivotModeActive()&&null!==this.pivotComputation())for(const e3 of this.declaredColumnDefs())"string"!=typeof e3.field||""===e3.field||t2.includes(e3.field)||t2.push(e3.field);const e2=null===this.filterFacade?new Set:new Set(t2),i2=this.getDisplayRows();let n2=null;if("client"===this.componentFilterExecutionMode()){const t3=new Set,e3=Array.isArray(this.rowData)?this.rowData:[];for(const i3 of e3){const e4=this.undoableRowId(i3);null!==e4&&t3.add(e4)}n2=t3}return{liveFields:t2,findAvailable:true===this.find,filter:{fields:t2,customFilterColumnIds:e2},rows:{liveRowIds:n2,liveTreeNodePaths:null,pivotModeActive:true===this.pivotMode,rowCount:i2.length,columnCount:this.effectiveColumns().length},ui:{rowCount:i2.length,columnCount:this.effectiveColumns().length,pinnedRowsSupported:true}}}async executeGridStatePlan(t2){const e2=new Set(t2.appliedSlices);t2.find&&this.proUiChunks["pro-panels"].restoreFindUi(this.findHost(),t2.find);const i2=t2.columns;if(i2&&e2.has("columns")){for(const[t4,e4]of i2.columnState.widths)null===e4?await this.resetColumnWidth(t4):await this.setColumnWidth(t4,e4);for(const[t4,e4]of i2.columnState.visibility)e4?await this.hideColumn(t4):await this.showColumn(t4);null!==i2.columnState.order&&await this.setColumnOrder([...i2.columnState.order]);const t3=new Set(this.resolvedColumnDefs().filter((t4=>false!==t4.sortable&&"string"==typeof t4.field&&""!==t4.field)).map((t4=>t4.field))),e3=i2.columnState.sortModel.filter((e4=>t3.has(e4.field))).map((t4=>({...t4})));Zi(e3,this.activeSortModel)||this.applySortModel(e3,"state");for(const[t4,e4]of i2.columnState.pinned)await this.setColumnPinned(t4,e4);if(i2.aggFuncs.size>0&&Array.isArray(this.columnDefs)){let t4=false;const e4=this.columnDefs.map((e5=>{if(!("field"in e5)||"string"!=typeof e5.field)return e5;if(!i2.aggFuncs.has(e5.field))return e5;const n3=i2.aggFuncs.get(e5.field)??null;return("string"==typeof e5.aggFunc&&""!==e5.aggFunc?e5.aggFunc:null)===n3?e5:(t4=true,{...e5,aggFunc:n3??void 0})}));t4&&(this.columnDefs=e4)}this.groupBy=i2.rowGroupFields.length>0?[...i2.rowGroupFields]:void 0,this.pivotMode=i2.pivotMode,this.pivotRowGroupColumns=i2.pivotRowGroupFields.length>0?[...i2.pivotRowGroupFields]:void 0,this.pivotColumns=i2.pivotFields.length>0?[...i2.pivotFields]:void 0,this.pivotValueColumns=i2.valueFields.length>0?[...i2.valueFields]:void 0,this.collapsedGroups=new Set(i2.collapsedGroupIds)}const n2=t2.filter;n2&&e2.has("filter")&&(this.activeFilters={...n2.builtIn},this.quickFilterValue=n2.quickFilter??"",this.activeConditionTree=n2.conditionTree,Object.keys(n2.customModels).length>0&&null!==this.filterFacade&&await this.filterFacade.setFilterModels(n2.customModels,{clearUnspecified:false,source:"restore"}));const r2=t2.rows;if(r2&&(e2.has("rowGrouping")&&(this.collapsedRowGroups=new Set(r2.collapsedGroupRoutes)),e2.has("pivot")&&(this.pivotCollapsedRowGroups=new Set(r2.pivotCollapsedGroupRoutes)),e2.has("expansion")&&(this.collapsedTreeNodes=new Set(r2.collapsedTreeNodePaths),this.expandedDetailRows=new Set(r2.expandedDetailRowIds)),e2.has("selection"))){const t3=this.selectionState,e3={mode:r2.selection.mode,selectedRowIds:new Set(r2.selection.ids)};this.rangeAnchorRowId=null,this.selectionState=e3;const i3=yr(t3,e3);(i3.addedIds.length>0||i3.removedIds.length>0)&&this.fireSelectionChanged({mode:e3.mode,selectedRowIds:Array.from(e3.selectedRowIds),addedIds:i3.addedIds,removedIds:i3.removedIds},"api"),this.rangeState={ranges:r2.ranges.map((t4=>({...t4}))),dragging:null}}const s2=t2.ui;s2&&(e2.has("sideBar")&&(this.openToolPanelId=s2.immediate.sideBar.openPanelId),e2.has("pagination")&&(this.activePagination={pageIndex:s2.immediate.pagination.pageIndex,pageSize:s2.immediate.pagination.pageSize}),(e2.has("scroll")||e2.has("focus")||e2.has("pinnedRows")&&null!==s2.afterData.pinnedRows)&&(this.pendingStateUiRestore=s2.afterData,this.pendingStateUiSlices=new Set(["scroll","focus","pinnedRows"].filter((t3=>e2.has(t3)))),this.maybeApplyPendingStateUiRestore()))}maybeApplyPendingStateUiRestore(){const t2=this.pendingStateUiRestore;null!==t2&&0!==this.getDisplayRows().length&&(this.pendingStateUiRestore=null,this.pendingStateUiSlices.has("scroll")&&(this.viewportEl&&(this.viewportEl.scrollTop=t2.scroll.top,this.viewportEl.scrollLeft=t2.scroll.left),this.scrollTop=t2.scroll.top,this.hScrollLeft=t2.scroll.left,this.alignedNotify(),this.recomputeVirtualWindow()),this.pendingStateUiSlices.has("focus")&&(this.activeCell=null===t2.focus.activeCell?null:{rowIndex:t2.focus.activeCell.rowIndex,colIndex:t2.focus.activeCell.colIndex}),this.pendingStateUiSlices.has("pinnedRows")&&null!==t2.pinnedRows&&this.restorePinnedRowsSlice(t2.pinnedRows),this.pendingStateUiSlices=new Set)}async restorePinnedRowsSlice(t2){if(null===this.rowLayoutChunk)try{await this.rowLayout()}catch{return}const e2=this.pinnedRows();if(null===e2)return;const i2=e2.restoreSlice({topRowIds:[...t2.topRowIds],bottomRowIds:[...t2.bottomRowIds]});("applied"===i2.status||i2.dropped.length>0)&&(this.pinnedRowsVersion+=1,this.pinnedRowsChanged.emit({changes:i2.changes,top:i2.top,bottom:i2.bottom,source:"state-restore"}),this.recomputeVirtualWindow());for(const t3 of i2.dropped)this.rowLayoutRefused.emit({area:"pinned-rows",feature:"state-restore",reason:"unknown-id",detail:`pinned id ${t3+""} is not backed by the current data; skipped, not fabricated`,rowIndex:null,colIndex:null})}async getFilterModel(){return As(this.gridStateCaptureInput().filter).slice}async setFilterModel(t2){const e2=t2??{builtIn:{},customModels:{},quickFilter:null,conditionTree:null,externalFilterActive:false},i2=$s(e2);if(i2.length>0)return{unknownBuiltInColumns:[],invalidBuiltIn:i2,unavailableCustomFilters:[],conditionTreeError:null,externalFilterWasActive:false};const n2=Lt(Ps(e2,this.gridStateApplyContexts().filter),"$");if(n2.length>0){const t3=await this.filterModelLicenseRefusal(e2,n2);if(null!==t3)return t3;const i3=Lt(Ps(e2,this.gridStateApplyContexts().filter),"$"),r3=await this.proFiltersModuleStep(i3,"setFilterModel");if(r3.issues.length>0)return Wl(r3.issues);if(r3.awaited){const t4=await this.filterModelLicenseRefusal(e2,i3);if(null!==t4)return t4}}const r2=Ps(e2,this.gridStateApplyContexts().filter),s2=this.activeFilters;this.activeFilters={...r2.builtIn};const o2=new Set([...Object.keys(s2),...Object.keys(r2.builtIn)]);for(const t3 of[...o2].sort()){const e3=r2.builtIn[t3]??null;(s2[t3]??null)!==e3&&this.filterChanged.emit({field:t3,filter:e3,activeMap:this.activeFilters})}return this.quickFilterValue=r2.quickFilter??"",this.activeConditionTree=r2.conditionTree,null!==this.filterFacade&&await this.filterFacade.setFilterModels(r2.customModels,{clearUnspecified:true,source:"api"}),this.noteStateBatchSource("api",["filter"]),r2.report}async filterModelLicenseRefusal(t2,e2){let i2=e2;this.proGate().awaiting(Vt(i2))&&(await this.proGate().settle(Vt(i2)),i2=Lt(Ps(t2,this.gridStateApplyContexts().filter),"$"));const n2=this.proGate().refuseRequest(Vt(i2),"setFilterModel");return 0===n2.length?null:Wl(Wt(i2,n2))}async proFiltersModuleStep(t2,e2){let i2=false;const n2=[{chunk:"pro-filters",needed:Ut(t2)},{chunk:"pro-panels",needed:t2.filter((t3=>"grid.find"===t3.feature))}];for(const{chunk:t3,needed:r2}of n2)if(0!==r2.length&&void 0===this.proUiChunks[t3]){if(!Hl(t3)){for(const i3 of Vt(r2))this.proModuleAvailable(i3,e2,t3);return{issues:Kt(r2,"module-missing",t3),awaited:i2}}i2=true;try{"pro-filters"===t3?await this.loadProFiltersChunk():this.proUiChunks={...this.proUiChunks,"pro-panels":await this.getChunkLoader().load("pro-panels")}}catch{const n3=this.proGate().refuseRequest(Vt(r2),e2);return{issues:n3.length>0?Wt(r2,n3):Kt(r2,"load-failed",t3),awaited:i2}}}return{issues:[],awaited:i2}}gridMutationSequence=0;mintGridMutationId=()=>(this.gridMutationSequence+=1,"grid-mutation-"+this.gridMutationSequence);canonicalSelection=null;canonicalMirror=null;editType="cell";rowEditSessionRowId(){return this.rowEditState.session?.rowId??null}activeCellRowId(){if(null===this.activeCell)return null;const t2=this.getDisplayRows()[this.activeCell.rowIndex];return null==t2?null:this.undoableRowId(t2)}batchCommitState=null;batchEdit=null;async loadBatchEditChunk(){const t2=await this.getChunkLoader().load("batch-edit");return this.batchEdit=t2,t2}batchLive(){return null!==this.batchEdit&&null!==this.batchCommitState&&this.batchEdit.isBatchEditing(this.batchCommitState.batch)}batchPendingCells(){return this.batchEdit&&this.batchCommitState?this.batchEdit.pendingBatchCells(this.batchCommitState.batch):[]}rowEditState={session:null,nextSessionId:1};batchEditStart;batchEditEnd;rowValueChanged;rowEditStart;rowEditStop;ensureCanonicalSelection(){const t2=this.rangeState.ranges;if(null!==this.canonicalSelection&&this.canonicalMirror===t2)return this.canonicalSelection;let e2={ranges:[],nextId:this.canonicalSelection?.nextId??1};for(const i2 of t2)e2=Er(e2,{row:i2.anchorRow,col:i2.anchorCol},{row:i2.focusRow,col:i2.focusCol}).set;return this.canonicalSelection=e2,this.canonicalMirror=t2,e2}async getCanonicalRanges(){return this.proRun("getCanonicalRanges",(()=>[...this.ensureCanonicalSelection().ranges]))}async setCanonicalRanges(t2){return this.proMethod("setCanonicalRanges",{validate:()=>Array.isArray(t2)?void 0:{result:[]},load:()=>this.loadRangeSelectionChunk(),exec:()=>{},publish:()=>{const e2=this.ensureCanonicalSelection(),i2=[];for(const t3 of e2.ranges)i2.push({kind:"removed",id:t3.id,range:t3});let n2={ranges:[],nextId:e2.nextId};for(const e3 of t2){if(null===e3||"object"!=typeof e3)continue;const t3=Er(n2,{row:e3.anchorRow,col:e3.anchorCol},{row:e3.focusRow,col:e3.focusCol});n2=t3.set,i2.push(...t3.changes)}return this.canonicalSelection=n2,this.rangeState={ranges:Pr(n2),dragging:null},this.canonicalMirror=this.rangeState.ranges,this.emitRangeChange(),i2}})}rowByStableId(t2){const e2=this.rowData??[];let i2=null;for(const n2 of e2)if(this.undoableRowId(n2)===t2){if(null!==i2)return null;i2=n2}return i2}displayIndexOfRow(t2){const e2=this.getDisplayRows();for(let i2=0;i2<e2.length;i2++)if(e2[i2]===t2)return i2;return-1}storedCellValue(t2,e2){const i2=this.rowByStableId(t2);return null===i2?void 0:Q(i2,e2)}identityRbacVerdict(t2,e2){const i2=this.rowByStableId(t2);if(null===i2)return"deny";const n2=this.resolvedColumnDefs().find((t3=>t3.field===e2));return void 0===n2?"deny":this.passesEditPolicy(this.displayIndexOfRow(i2),n2,i2)?"allow":"deny"}identityValidationVerdict(t2,e2,i2){const n2=this.rowByStableId(t2),r2=Oe(this.validationRules??[],{field:e2,value:i2,rowIndex:null===n2?-1:this.displayIndexOfRow(n2),data:n2??{}});return false===r2.valid?{ok:false,reason:r2.message}:{ok:true}}editGatesConfigured(){return this.editPolicyConfigured()||this.readPolicyConfigured()}validationRulesConfigured(){return void 0!==this.validationRules&&this.validationRules.length>0}async applyIdentityWrites(t2,e2,i2){if(0===t2.length)return[];const n2=new Map,r2=new Set;for(const e3 of t2){let t3=n2.get(e3.rowId);if(void 0===t3){const i3=this.rowByStableId(e3.rowId);if(null===i3){r2.add(e3.rowId);continue}t3={...i3}}n2.set(e3.rowId,X(t3,e3.colId,e3.value))}if(n2.size>0){const t3=await this.applyTransaction({update:[...n2.values()]},e2,{source:"local",origin:i2});for(const e3 of t3.rejected){if("update"!==e3.kind)continue;const t4=this.undoableRowId(e3.row);null!==t4&&r2.add(t4)}}return[...r2]}toPublicRejectedCell(t2,e2,i2,n2){return{rowId:t2,colId:e2+"",reason:i2,detail:n2}}emitBatchLedgerStart(t2){const e2=t2.events[0];void 0!==e2&&"batchEditStart"===e2.type&&this.batchEditStart.emit({mutationId:e2.detail.mutationId,sessionId:e2.detail.sessionId,stagedCount:e2.detail.stagedCount})}emitBatchLedgerEnd(t2){const e2=t2.events[t2.events.length-1];if(void 0===e2||"batchEditEnd"!==e2.type)return;const i2={mutationId:e2.detail.mutationId,status:e2.detail.status,writtenCount:e2.detail.writtenCount,rejectedCells:e2.detail.rejectedCells.map((t3=>this.toPublicRejectedCell(t3.rowId,t3.colId,t3.reason,null)))};void 0!==e2.detail.reason&&(i2.reason=e2.detail.reason),void 0!==e2.detail.droppedCount&&(i2.droppedCount=e2.detail.droppedCount),this.batchEditEnd.emit(i2)}async startBatchEdit(t2){return this.proMethod("startBatchEdit",{validate:()=>"fullRow"===this.editType||null!==this.editingCell?{result:false}:void 0,load:()=>this.loadBatchEditChunk(),exec:t3=>t3,publish:e2=>{const i2=e2.guardedStartBatchEdit(this.batchCommitState??e2.createBatchCommitState(),t2);return this.batchCommitState=i2.state,this.proUiChunkTick++,"started"===i2.result.kind||"joined"===i2.result.kind}})}async isBatchEditing(){return this.proRun("isBatchEditing",(()=>this.batchLive()))}async stageBatchCell(t2,e2,i2){const n2=()=>{const i3=this.rowByStableId(t2);if(null===i3)return null;const n3=this.resolvedColumnDefs().findIndex((t3=>t3.field===e2));return n3<0?null:{row:i3,colIndex:n3}};return this.proMethod("stageBatchCell",{validate:()=>null===n2()?{result:false}:void 0,load:()=>this.loadBatchEditChunk(),exec:t3=>t3,publish:r2=>{const s2=n2();if(null===s2)return false;const{row:o2,colIndex:l2}=s2,a2=r2.guardedStageBatchCell(this.batchCommitState??r2.createBatchCommitState(),{row:this.displayIndexOfRow(o2),col:l2,rowId:t2,colId:e2,value:i2,oldValue:Q(o2,e2)});return this.batchCommitState=a2.state,this.proUiChunkTick++,"staged"===a2.staged.kind}})}async getPendingBatchCells(){return this.proRun("getPendingBatchCells",(()=>(null===this.batchEdit||null===this.batchCommitState?[]:this.batchEdit.pendingBatchCells(this.batchCommitState.batch)).map((t2=>({rowId:t2.rowId,colId:t2.colId+"",value:t2.value,oldValue:t2.oldValue,sequence:t2.sequence})))))}async cancelBatchEdit(){return this.proRun("cancelBatchEdit",(()=>{if(null===this.batchEdit||null===this.batchCommitState)return 0;const t2=this.batchEdit.cancelBatchEditWithLedger(this.batchCommitState,{mintMutationId:this.mintGridMutationId,reason:"api"});return this.batchCommitState=t2.state,this.proUiChunkTick++,"cancelled"!==t2.result.kind?0:(this.emitBatchLedgerStart(t2.result.plan),this.emitBatchLedgerEnd(t2.result.plan),t2.result.droppedCount)}))}async commitBatchEdit(t2){const e2=t2?.partialInvalid??("best-effort"===t2?.atomicity?"commit-valid":"reject-all"),i2=()=>({status:"none",mutationId:null,writtenCount:0,rejectedCells:[],transactionRejectedRowIds:[],sessionOpen:this.batchLive()});return this.proMethod("commitBatchEdit",{validate:()=>this.batchLive()?void 0:{result:Promise.resolve(i2())},load:()=>this.loadBatchEditChunk(),exec:t3=>t3.commitBatchEditAsync(this.batchCommitState,{mintMutationId:this.mintGridMutationId,readCurrent:(t4,e3)=>this.storedCellValue(t4,e3+""),rbac:this.editGatesConfigured()?(t4,e3)=>this.identityRbacVerdict(t4,e3+""):null,validate:this.validationRulesConfigured()?(t4,e3,i3)=>this.identityValidationVerdict(t4,e3+"",i3):null,partialInvalid:e2}),publish:async t3=>{if("settled"!==t3.kind)return i2();this.batchCommitState=t3.state;const e3=t3.plan;this.emitBatchLedgerStart(e3);const n2=await this.applyIdentityWrites(e3.commit.writes.map((t4=>({rowId:t4.rowId,colId:t4.colId+"",value:t4.value}))),"batch-edit","batch-edit");return this.emitBatchLedgerEnd(e3),{status:e3.status,mutationId:e3.mutationId,writtenCount:e3.commit.writes.length,rejectedCells:e3.rejectedCells.map((t4=>this.toPublicRejectedCell(t4.rowId,t4.colId,t4.reason,null))),transactionRejectedRowIds:n2,sessionOpen:this.batchLive()}}})}finalizeBatchEditOnDisconnect(){if(null===this.batchEdit||null===this.batchCommitState)return;const t2=this.batchEdit.finalizeBatchOnDisconnect(this.batchCommitState.batch,{mintMutationId:this.mintGridMutationId});t2.state!==this.batchCommitState.batch&&(this.batchCommitState={batch:t2.state,inFlight:null}),"cancelled"===t2.result.kind&&(this.emitBatchLedgerStart(t2.result.plan),this.emitBatchLedgerEnd(t2.result.plan))}rowEditKindOf(t2){return this.infiniteModeActive()?"ssrm-loaded":true===this.masterDetail?"master":"normal"}async startRowEdit(t2){if(qr(this.rowEditState))return false;const e2=this.rowByStableId(t2);if(null===e2)return false;const i2=this.displayIndexOfRow(e2);if(i2<0)return false;const n2=this.resolvedColumnDefs().filter((t3=>true===t3.editable&&"string"==typeof t3.field&&""!==t3.field)).map((t3=>t3.field)),r2=(function(t3,e3){if(null!==t3.session)return{state:t3,result:{kind:"ignored",ignored:"row-edit-live"}};const i3=Array.isArray(e3.editableColIds)?e3.editableColIds:null,n3=null!==i3&&i3.length>0&&i3.every(Gr)&&new Set(i3).size===i3.length;if(!Gr(e3.rowId)||!(t4=>"number"==typeof t4&&Number.isInteger(t4)&&t4>=0)(e3.displayRow)||!n3)return{state:t3,result:{kind:"ignored",ignored:"invalid-row"}};const r3=(t4=>$r.includes(t4)?Tr[t4]:"unsupported")(e3.rowKind);if("editable"!==r3)return{state:t3,result:{kind:"ignored",ignored:"row-not-editable",rowKind:e3.rowKind,support:r3}};const s2=Object.freeze([...i3]),o2=void 0===e3.startColId?0:s2.findIndex((t4=>t4===e3.startColId)),l2={sessionId:t3.nextSessionId,rowId:e3.rowId,displayRow:e3.displayRow,rowKind:e3.rowKind,editableColIds:s2,activeColIndex:o2>=0?o2:0,pending:Or};return{state:{session:l2,nextSessionId:t3.nextSessionId+1},result:{kind:"started",session:l2}}})(this.rowEditState,{rowId:t2,displayRow:i2,editableColIds:n2,rowKind:this.rowEditKindOf(e2)});return this.rowEditState=r2.state,"started"===r2.result.kind&&(this.rowEditStart.emit({rowId:t2,editableColumns:[...n2]}),true)}async stopRowEdit(t2){const e2={status:"none",mutationId:null,writtenCount:0,rejectedCells:[],rowInvalid:null,droppedCount:0,transactionRejectedRowIds:[]};if(!qr(this.rowEditState))return e2;const i2=Kr(this.rowEditState,{reason:"cancel"===t2?"escape":"api",mintMutationId:this.mintGridMutationId,readCurrent:(t3,e3)=>this.storedCellValue(t3,e3+""),rbac:this.editGatesConfigured()?(t3,e3)=>this.identityRbacVerdict(t3,e3+""):null,validate:this.validationRulesConfigured()?(t3,e3,i3)=>this.identityValidationVerdict(t3,e3+"",i3):null});if(this.rowEditState=i2.state,"ignored"===i2.result.kind)return e2;const n2=i2.result.plan,r2="committed"===n2.status?await this.applyIdentityWrites(n2.commit.writes.map((t3=>({rowId:t3.rowId,colId:t3.colId+"",value:t3.value}))),"row-edit","row-edit"):[];if("committed"===n2.status)for(const t3 of n2.events)"rowValueChanged"===t3.type&&this.rowValueChanged.emit({mutationId:t3.detail.mutationId,rowId:t3.detail.rowId,writtenCount:t3.detail.writtenCount,oldRow:t3.detail.oldRow,newRow:t3.detail.newRow});return{status:n2.status,mutationId:n2.mutationId,writtenCount:n2.commit.writes.length,rejectedCells:n2.rejectedCells.map((t3=>this.toPublicRejectedCell(t3.rowId,t3.colId,t3.reason,t3.detail))),rowInvalid:"rejected"===i2.result.kind?i2.result.rowInvalid:null,droppedCount:"cancelled"===i2.result.kind?i2.result.droppedCount:0,transactionRejectedRowIds:r2}}async stageRowEditCell(t2,e2){const i2=this.rowEditState.session;if(null===i2)return false;const n2=this.storedCellValue(i2.rowId,t2),r2=Ur(this.rowEditState,t2,e2,n2);return this.rowEditState=r2.state,"staged"===r2.staged.kind}async finishRowEditSession(t2){const e2=this.rowEditSessionRowId();if(null===e2)return;const i2=await this.stopRowEdit(t2);"none"!==i2.status&&this.rowEditStop.emit({rowId:e2,status:i2.status,writtenCount:i2.writtenCount,reason:t2})}async getStateCaptureReport(){return{issues:Ys(this.gridStateCaptureInput()).issues}}enableFillHandle;fillHandleAxes;fillHandleMode;fillPreview=null;fillBinding=null;onEnableFillHandleChanged(t2){true!==t2&&(this.fillBinding?.dispose(),this.fillPreview=null)}fillHandleActive(){return true===this.enableFillHandle&&this.rangeSelectionActive()&&this.usingColumnDefsApi()&&this.proAllowed("grid.fill-handle","enableFillHandle")&&this.proModuleAvailable("grid.fill-handle","enableFillHandle","fill")}fillHandleCellAt(t2,e2){if(!this.fillHandleActive())return false;const i2=this.ensureCanonicalSelection().ranges,n2=i2[i2.length-1];return void 0!==n2&&t2===Math.max(n2.anchor.row,n2.focus.row)&&e2===Math.max(n2.anchor.col,n2.focus.col)}fillPreviewClasses(t2,e2){const i2=this.fillPreview;if(null===i2)return{};const n2={},r2=i2.target;if(null!==r2&&t2>=r2.top&&t2<=r2.bottom&&e2>=r2.left&&e2<=r2.right&&(n2["sy-grid__cell--fill-preview"]=true,n2["sy-grid__cell--fill-preview-top"]=t2===r2.top,n2["sy-grid__cell--fill-preview-left"]=e2===r2.left,n2["sy-grid__cell--fill-preview-bottom"]=t2===r2.bottom,n2["sy-grid__cell--fill-preview-right"]=e2===r2.right),"reduce"===i2.mode&&void 0!==i2.clearedCells){for(const r3 of i2.clearedCells)if(r3.row===t2&&r3.col===e2){n2["sy-grid__cell--fill-reduce-clear"]=true;break}}return n2}fillPolicyClosures(){const t2=this.getDisplayRows(),e2=this.resolvedColumnDefs(),i2=e3=>{const i3=t2[e3];return void 0===i3?null:this.undoableRowId(i3)},n2=t3=>{const i3=e2[t3]?.field;return"string"==typeof i3&&""!==i3?i3:null},r2=this.editGatesConfigured()?(t3,e3)=>{const r3=i2(t3),s3=n2(e3);return null!==r3&&null!==s3?this.identityRbacVerdict(r3,s3):"deny"}:null,s2=this.validationRulesConfigured()?(t3,e3,r3)=>{const s3=i2(t3),o2=n2(e3);return null!==s3&&null!==o2?this.identityValidationVerdict(s3,o2,r3):{ok:false}}:null;return{rows:t2,cols:e2,rowIdAt:i2,colIdAt:n2,readRaw:(e3,i3)=>{const r3=t2[e3],s3=n2(i3);return void 0===r3||null===s3?void 0:Q(r3,s3)},cellPolicy:(t3,r3)=>true!==e2[r3]?.editable||null===n2(r3)?"readonly":null===i2(t3)?"protected":"writable",rbac:r2,validate:s2}}async applyFillPlan(t2,e2,i2){const{rowIdAt:n2,colIdAt:r2}=this.fillPolicyClosures(),s2=t2.events[0];void 0!==s2&&"fillStart"===s2.type&&this.fillStart.emit(s2.detail);const o2="committed"===t2.status?await this.applyIdentityWrites(t2.commit.writes.flatMap((t3=>{const e3=n2(t3.row),i3=r2(t3.col);return null!==e3&&null!==i3?[{rowId:e3,colId:i3,value:t3.value}]:[]})),"fill-range","fill-range"):[],l2=t2.events[t2.events.length-1];let a2=e2;if(void 0!==l2&&"fillEnd"===l2.type&&(a2=l2.detail.resultingRange,this.fillEnd.emit(l2.detail)),"committed"===t2.status){const t3=this.ensureCanonicalSelection().ranges,e3=0===i2?-1:t3.findIndex((t4=>t4.id===i2)),n3=this.rangeState.ranges,r3=-1===e3||e3>=n3.length?n3.slice():[...n3.slice(0,e3),...n3.slice(e3+1)];this.rangeState={...this.rangeState,ranges:[...r3,{anchorRow:a2.top,anchorCol:a2.left,focusRow:a2.bottom,focusCol:a2.right}],dragging:null},this.emitRangeChange()}return{resultingRange:a2,transactionRejectedRowIds:o2}}cellAtFillPoint(t2,e2){if("undefined"==typeof document)return null;const i2=document.elementFromPoint(t2,e2);if(null===i2||!this.host.contains(i2))return null;const n2=i2.closest(".sy-grid__cell[data-col-index]"),r2=i2.closest(".sy-grid__row[data-row-index]");if(null===n2||null===r2)return null;const s2=Number(r2.getAttribute("data-row-index")),o2=Number(n2.getAttribute("data-col-index"));return Number.isInteger(s2)&&Number.isInteger(o2)?{row:s2,col:o2}:null}armFillHandle(){return null!==this.fillBinding?Promise.resolve(this.fillBinding):this.proWorkAllowed("grid.fill-handle","enableFillHandle")?this.fillHandle().catch((()=>null)):Promise.resolve(null)}async fillHandle(){if(null!==this.fillBinding)return this.fillBinding;const t2=await this.loadFillChunk();return null===this.fillBinding&&(this.fillBinding=t2.bindFillHandleElement(this)),this.fillBinding}writeFillPreview(t2){this.fillPreview=t2}applyFillPlanFromGesture(t2,e2,i2){this.proWorkAllowed("grid.fill-handle","enableFillHandle")&&this.applyFillPlan(t2,e2.source,i2)}handleFillHandlePointerDown(t2,e2,i2){if(!this.fillHandleActive()||0!==i2.button)return;i2.preventDefault(),i2.stopPropagation();const n2={row:t2,col:e2};if(null!==this.fillBinding)return void this.fillBinding.pointerDown(n2,i2.pointerId);let r2=true;const s2=t3=>{t3.pointerId===i2.pointerId&&(r2=false,document.removeEventListener("pointerup",s2),document.removeEventListener("pointercancel",s2))};document.addEventListener("pointerup",s2),document.addEventListener("pointercancel",s2),this.armFillHandle().then((t3=>{document.removeEventListener("pointerup",s2),document.removeEventListener("pointercancel",s2),r2&&null!==t3&&t3.pointerDown(n2,i2.pointerId)}))}handleFillHandleDoubleClick(t2){this.fillHandleActive()&&(t2.preventDefault(),t2.stopPropagation(),this.armFillHandle().then((t3=>t3?.doubleClick())))}handleFillHandleKeyDown(t2){this.fillHandleActive()&&("Enter"===t2.key||"Escape"===t2.key||t2.key.startsWith("Arrow"))&&(t2.preventDefault(),t2.stopPropagation(),this.armFillHandle().then((e2=>e2?.keyboard(t2.key))))}renderFillHandle(t2,e2){return this.fillHandleCellAt(t2,e2)?(null===this.fillBinding&&this.armFillHandle(),n("span",{class:"sy-grid__fill-handle",role:"button",tabindex:0,"aria-label":ar(this.resolvedMessages,"a11y.fillHandle",{row:t2+1}),"data-fill-handle":"true",onPointerDown:i2=>this.handleFillHandlePointerDown(t2,e2,i2),onDblClick:t3=>this.handleFillHandleDoubleClick(t3),onKeyDown:t3=>this.handleFillHandleKeyDown(t3)})):null}fillStart;fillEnd;async loadFillChunk(){return await this.getChunkLoader().load("fill")}async fillRange(t2){const e2={status:"none",mutationId:null,writtenCount:0,rejectedCells:[],resultingRange:null,transactionRejectedRowIds:[]},i2=t3=>({top:Math.min(t3.anchor.row,t3.focus.row),left:Math.min(t3.anchor.col,t3.focus.col),bottom:Math.max(t3.anchor.row,t3.focus.row),right:Math.max(t3.anchor.col,t3.focus.col)}),n2=()=>{const e3=this.ensureCanonicalSelection();if(null!=t2.source&&"object"==typeof t2.source){const n3=t2.source,r2=e3.ranges.find((t3=>{const e4=i2(t3);return e4.top===n3.top&&e4.left===n3.left&&e4.bottom===n3.bottom&&e4.right===n3.right}));return{source:n3,sourceRangeId:void 0!==r2?r2.id:0}}if(e3.ranges.length>0){const t3=e3.ranges[e3.ranges.length-1];return{source:i2(t3),sourceRangeId:t3.id}}return null};return this.proMethod("fillRange",{validate:()=>null===t2||"object"!=typeof t2||null===t2.to||"object"!=typeof t2.to||null===n2()?{result:Promise.resolve(e2)}:void 0,load:()=>this.loadFillChunk(),exec:e3=>{const i3=n2();if(null===i3)return null;const{source:r2,sourceRangeId:s2}=i3,o2=this.fillPolicyClosures(),{rows:l2,cols:a2}=o2;return{plan:e3.runApiFill({source:r2,to:t2.to,sourceRangeId:s2,rowCount:l2.length,colCount:a2.length,mode:t2.mode,formatted:t2.formatted,atomicity:t2.atomicity,formulaPolicy:t2.formulaPolicy,allowedDirections:t2.allowedDirections,pattern:t2.pattern??null,setFillValue:t2.setFillValue??null,mintMutationId:this.mintGridMutationId,readRaw:o2.readRaw,formatCell:(t3,e4)=>this.cellDisplayText(t3,e4,l2,a2)+"",cellPolicy:o2.cellPolicy,rbac:o2.rbac,validate:o2.validate}).plan,source:r2,sourceRangeId:s2}},publish:async t3=>{if(null===t3)return e2;const{plan:i3,source:n3,sourceRangeId:r2}=t3;if(null===i3)return e2;const s2=await this.applyFillPlan(i3,n3,r2);return{status:i3.status,mutationId:i3.mutationId,writtenCount:i3.commit.writes.length,rejectedCells:i3.rejectedCells,resultingRange:s2.resultingRange,transactionRejectedRowIds:s2.transactionRejectedRowIds}}})}pivotCombinationConflict;pivotColumnsChanged;async loadGroupPivotChunk(){return await this.getChunkLoader().load("group-pivot")}groupPivotChunkModule=null;groupPivotChunkArming=false;ensureGroupPivotChunkArmed(){return null!==this.groupPivotChunkModule?this.groupPivotChunkModule:Hl("group-pivot")?(!this.groupPivotChunkArming&&this.proGate().frozen("grid.pivot")||this.groupPivotChunkArming||(this.groupPivotChunkArming=true,this.loadGroupPivotChunk().then((t2=>{this.groupPivotChunkModule=t2,this.groupPivotChunkTick+=1})).catch((()=>{this.groupPivotChunkArming=false}))),null):null}groupPivotChunkTick=0;pivotModelGlue=null;notifyPivotColumnModel(){const t2=this.pivotModeActive()?this.pivotComputation():null;if(null===t2)return void(this.pivotModelGlue=null);const e2=this.ensureGroupPivotChunkArmed();null!==e2&&(null===this.pivotModelGlue&&(this.pivotModelGlue=e2.createPivotModelGlue((t3=>this.pivotColumnsChanged.emit(t3)))),this.pivotModelGlue.notify(t2.meta))}async getDisplayRowInfo(t2){return this.proMethod("getDisplayRowInfo",{exec:async()=>{const e2=this.getDisplayRows()[t2];return void 0===e2?null:(await this.loadGroupPivotChunk()).describeDisplayRow(e2,t2)}})}async getPivotCombinationReport(){return this.proMethod("getPivotCombinationReport",{exec:async()=>{const t2=true===this.pivotMode&&this.usingColumnDefsApi()&&Array.isArray(this.pivotRowGroupColumns)&&this.pivotRowGroupColumns.length>0&&Array.isArray(this.pivotColumns)&&this.pivotColumns.length>0&&Array.isArray(this.pivotValueColumns)&&this.pivotValueColumns.length>0;return(await this.loadGroupPivotChunk()).describePivotCombination(this.detectedPivotFeatures(),t2)}})}detectedPivotFeatures(){const t2=[];return null!==this.treeSurface()&&t2.push("treeData"),null!==this.effectiveGroupFields()&&t2.push("rowGrouping"),true===this.masterDetail&&this.usingColumnDefsApi()&&t2.push("masterDetail"),this.serverSideModeActive()&&t2.push("serverSide"),null!==this.viewportState&&t2.push("viewport"),null!==this.infiniteCache&&t2.push("infinite"),true===this.pagination&&t2.push("pagination"),""!==this.quickFilterValue&&t2.push("quickFilter"),(Object.keys(this.activeFilters).length>0||null!==this.activeConditionTree)&&t2.push("columnFilter"),this.activeSortModel.length>0&&t2.push("sort"),(this.rowReorderEnabled()||this.unmanagedRowDragEnabled())&&t2.push("rowDrag"),this.effectiveColumns().some((t3=>"function"==typeof t3.rowSpan))&&t2.push("rowSpan"),this.effectiveColumns().some((t3=>"function"==typeof t3.colSpan))&&t2.push("colSpan"),(this.pinnedRowsDeclared()||null!==this.pinnedRowsFacade&&this.pinnedRowsFacade.count()>0)&&t2.push("pinnedRows"),this.fullWidthDeclared()&&t2.push("fullWidthRows"),t2}async getPivotSecondaryColumns(){return this.proMethod("getPivotSecondaryColumns",{exec:async()=>{const t2=this.pivotComputation();return null===t2?null:(await this.loadGroupPivotChunk()).describeSecondaryColumns(t2.meta)}})}async getGroupCheckStates(t2){return this.proMethod("getGroupCheckStates",{exec:async()=>{const e2="all"===t2?.descendantScope?"all":"filtered",i2=this.groupCheckStatesRefusal(),n2=await this.loadGroupPivotChunk();if(null!==i2)return n2.refuseGroupCheckStates(i2,e2);const r2=this.computeEngineRows(true),s2=new Map;for(let t3=0;t3<r2.length;t3++){const e3=this.extractRowId(r2[t3],t3);void 0!==e3&&s2.set(r2[t3],e3+"")}const o2=new Set;for(const t3 of this.selectionState.selectedRowIds)o2.add(t3+"");return n2.describeGroupCheckStates(r2,(t3=>s2.get(t3)??""),{kind:"explicit",ids:o2},e2)}})}groupCheckStatesRefusal(){const t2=this.detectedPivotFeatures();return t2.includes("treeData")?"tree-data":t2.includes("serverSide")||t2.includes("viewport")||t2.includes("infinite")?"server-side":this.pivotModeActive()?"pivot-mode":t2.includes("rowGrouping")?this.collapsedRowGroups.size>0?"collapsed-groups":"function"==typeof this.getRowId?null:"no-row-id":"not-grouped"}serverStoreUpdated;rowDragEnter;rowDragMove;rowDragLeave;rowDragEnd;rowDragCancel;rowsTransferred;unmanagedRowDragEnabled(){return true!==this.rowDragManaged&&this.usingColumnDefsApi()&&this.effectiveColumns().some((t2=>true===t2.rowDrag))}rowDrag(){return null!==this.rowDragBinding?Promise.resolve(this.rowDragBinding):this.getChunkLoader().load("row-drag").then((t2=>(null===this.rowDragBinding&&(this.rowDragBinding=t2.bindRowDragElement(this)),this.rowDragBinding)))}syncRowDrag(){null===this.rowDragBinding&&this.unmanagedRowDragEnabled()&&this.rowDrag().catch((()=>{}))}paintDragTarget(t2,e2){this.unmanagedDragTarget=t2,this.unmanagedDragSource=e2}announceDrag(t2){this.dragLive="assertive"===t2.politeness?{polite:this.dragLive.polite,assertive:t2.text}:{polite:t2.text,assertive:this.dragLive.assertive}}emitDrag(t2){const e2=this[t2.kind];void 0!==e2&&"function"==typeof e2.emit&&e2.emit(t2.detail)}writeRows(t2){this.rowData=t2}handleUnmanagedDragPointerDown(t2,e2){this.unmanagedRowDragEnabled()&&0===e2.button&&"undefined"!=typeof document&&(e2.preventDefault(),e2.stopPropagation(),this.rowDrag().then((i2=>i2.pointerDown(t2,e2))))}handleUnmanagedDragKeyDown(t2,e2){const i2=e2.key;(" "===i2||"Enter"===i2||"Escape"===i2||i2.startsWith("Arrow")||"Home"===i2||"End"===i2||"PageUp"===i2||"PageDown"===i2)&&(e2.preventDefault(),e2.stopPropagation(),this.rowDrag().then((i3=>i3.keyDown(t2,e2))))}teardownUnmanagedDrag(t2){null!==this.rowDragBinding&&(this.rowDragBinding.teardown(t2),t2&&(this.rowDragBinding=null,this.unmanagedDragTarget=null,this.unmanagedDragSource=null))}renderDragLiveRegions(){return this.unmanagedRowDragEnabled()||""!==this.dragLive.polite||""!==this.dragLive.assertive?[n("div",{class:"sy-grid__drag-live",role:"status","aria-live":"polite","aria-atomic":"true"},this.dragLive.polite),n("div",{class:"sy-grid__drag-live",role:"alert","aria-live":"assertive","aria-atomic":"true"},this.dragLive.assertive)]:null}async startRowDrag(t2){return this.unmanagedRowDragEnabled()?(await this.rowDrag()).startFromApi(t2??{}):{status:"refused",reason:"not-enabled",detail:"no column declares rowDrag under an unmanaged grid (row-drag-managed is on, or the grid is not on the columnDefs API)"}}async getRowDragSession(){return null===this.rowDragBinding?{enabled:this.unmanagedRowDragEnabled(),loaded:false,gesture:null,session:null,report:null,events:[],residue:[],keyboard:null,zones:[],lastAutoScroll:null}:{loaded:true,...this.rowDragBinding.facade.session()}}async registerDropZone(t2){return(await this.rowDrag()).registerZone(t2)}async unregisterDropZone(t2){return null!==this.rowDragBinding&&this.rowDragBinding.unregisterZone(t2)}async getDropZones(){return(await this.rowDrag()).facade.zones()}async getDragSafetyReport(){return(await this.rowDrag()).facade.safety()}spanConflict;spansDeclared(){return this.usingColumnDefsApi()&&this.effectiveColumns().some((t2=>"function"==typeof t2.rowSpan||"function"==typeof t2.colSpan))}rowLayout(){if(null!==this.rowLayoutChunk&&null!==this.rowLayoutState)return Promise.resolve({chunk:this.rowLayoutChunk,state:this.rowLayoutState});const t2=++this.rowLayoutKickSeq;return this.getChunkLoader().load("row-layout").then((e2=>{const i2=e2;return null===this.rowLayoutChunk&&(this.rowLayoutChunk=i2,this.rowLayoutState=i2.createRowLayoutState(),t2===this.rowLayoutKickSeq&&(this.rowLayoutVersion+=1)),{chunk:this.rowLayoutChunk,state:this.rowLayoutState}}))}syncRowLayout(){null===this.rowLayoutChunk&&(this.spansDeclared()||this.pinnedRowsDeclared()||this.fullWidthDeclared())?this.rowLayout().then((()=>{this.syncPinnedRows(),this.fullWidthDeclared()&&(this.fullWidthVersion+=1,this.recomputeVirtualWindow())})).catch((()=>{})):null!==this.rowLayoutChunk&&this.syncPinnedRows()}alignedGrids;alignedFacade=null;alignedApplying=false;alignedMemberIdMinted=null;pendingAlignedScroll=null;onAlignedGridsChanged(){this.syncAlignedGrids()}alignedDeclared(){const t2=this.alignedGrids;return null!=t2&&("string"==typeof t2||Array.isArray(t2)?t2.length>0:"string"==typeof t2.group&&t2.group.length>0)}alignedMemberId(){return null===this.alignedMemberIdMinted&&(Ll+=1,this.alignedMemberIdMinted=""!==this.host.id?this.host.id:"sy-grid-aligned-"+Ll),this.alignedMemberIdMinted}syncAlignedGrids(){this.alignedDeclared()?this.rowLayout().then((()=>{const t2=this.alignedGrids;"string"==typeof t2?this.setAlignedGrids({group:t2}):null!=t2&&this.setAlignedGrids(t2)})).catch((()=>{})):this.alignedFacade?.configure(null)}ensureAlignedFacade(t2){return null===this.alignedFacade&&(this.alignedFacade=t2.createAlignedGridsFacade({memberId:()=>this.alignedMemberId(),snapshot:()=>this.alignedSnapshot(),apply:t3=>this.applyAlignedProjection(t3)})),this.alignedFacade}alignedSnapshot(){const t2=kn(this.applyColumnOrder(this.resolvedColumnDefs()),this.columnPinned),e2=this.columnHidden;return{columns:t2.map((t3=>{const i2=(t3.colId??t3.field)+"",n2=this.columnWidths.get(i2);return{colId:i2,width:"number"==typeof n2?n2:"number"==typeof t3.width?t3.width:0,visible:!e2.has(t3.field),pinned:this.pinSideOf(t3)}})),scrollLeft:this.viewportEl?.scrollLeft??this.hScrollLeft}}applyAlignedProjection(t2){this.alignedApplying=true;try{const e2=new Map;for(const t3 of this.resolvedColumnDefs())e2.set((t3.colId??t3.field)+"",t3);const i2=new Map(this.columnWidths),n2=new Map(this.columnPinned),r2=[];for(const s2 of t2.columns){const t3=e2.get(s2.colId);if(void 0===t3)continue;r2.push(t3.field),s2.width>0&&i2.set(s2.colId,s2.width),n2.set(t3.field,s2.pinned);const o2=this.columnHidden.has(t3.field);s2.visible===o2&&(s2.visible?this.columnVisibilityController.show(t3.field):this.columnVisibilityController.hide(t3.field))}this.columnWidths=i2,this.columnPinned=n2,r2.length>0&&(this.columnOrder=r2),null!==this.viewportEl&&Math.abs(this.viewportEl.scrollLeft-t2.scrollLeft)>.5&&(this.viewportEl.scrollLeft=t2.scrollLeft,this.pendingAlignedScroll=Math.abs(this.viewportEl.scrollLeft-t2.scrollLeft)>.5?t2.scrollLeft:null),this.hScrollLeft=t2.scrollLeft,this.syncHeaderHorizontalScroll(t2.scrollLeft),this.recomputeVirtualWindow()}finally{this.alignedApplying=false}}alignedNotify(){this.alignedApplying||null===this.alignedFacade||this.alignedFacade.notify()}async setAlignedGrids(t2){const e2=await this.rowLayout(),i2=this.ensureAlignedFacade(e2.chunk);return await e2.chunk.runSetAlignedGrids(i2,t2,"aligned:"+this.alignedMemberId())}async getAlignedGrids(){return null===this.alignedFacade?{configured:false,group:null,memberId:this.alignedMemberId(),members:[],generation:0,alignedColumns:[],canonical:null,mismatches:[],stats:null}:this.alignedFacade.publicReport()}treeReparented;reparentIdMapsCache=null;treeIdLinkageActive(){return"function"!=typeof this.getDataPath&&"string"==typeof this.treeIdField&&""!==this.treeIdField&&"string"==typeof this.treeParentField&&""!==this.treeParentField&&null===this.serverSideState&&this.usingColumnDefsApi()}treeRowId(t2){const e2=this.treeIdField;if("string"!=typeof e2||""===e2)return null;const i2=Q(t2,e2);return null==i2||""===i2?null:i2+""}treeRowParentId(t2){const e2=this.treeParentField;if("string"!=typeof e2||""===e2)return null;const i2=Q(t2,e2);return null==i2||""===i2?null:i2+""}treeRowWithParent(t2,e2){const i2=this.treeParentField;if(!i2.includes("."))return{...t2,[i2]:e2};const n2=i2.split("."),r2={...t2};let s2=r2;for(let t3=0;t3<n2.length-1;t3+=1){const e3=n2[t3],i3=s2[e3];s2[e3]="object"==typeof i3&&null!==i3?{...i3}:{},s2=s2[e3]}return s2[n2[n2.length-1]]=e2,r2}reparentIdMaps(){const t2=this.treeSurface();if(null===t2||!this.treeIdLinkageActive())return null;const e2=this.rowData??[],i2=this.treeIdField,n2=this.treeParentField,r2=this.reparentIdMapsCache;if(null!==r2&&r2.rows===e2&&r2.idField===i2&&r2.parentField===n2)return{idToPath:r2.idToPath,idToKey:r2.idToKey};const s2=new Map,o2=new Map;for(const i3 of e2){const e3=this.treeRowId(i3);if(null===e3||s2.has(e3))continue;const n3=t2.getDataPath(i3);s2.set(e3,n3),o2.set(e3,xi(n3))}return this.reparentIdMapsCache={rows:e2,idField:i2,parentField:n2,idToPath:s2,idToKey:o2},{idToPath:s2,idToKey:o2}}reparentHost(){return this.treeIdLinkageActive()?{rows:()=>this.rowData??[],idLinkageActive:()=>this.treeIdLinkageActive()&&this.proGate().entitled("grid.tree-data"),idOf:t2=>this.treeRowId(t2),parentIdOf:t2=>this.treeRowParentId(t2),withParent:(t2,e2)=>this.treeRowWithParent(t2,e2),hiddenIds:()=>null,isExpanded:t2=>{const e2=this.reparentIdMaps(),i2=e2?.idToKey.get(t2);return void 0!==i2&&!this.collapsedTreeNodes.has(i2)},collapsedIdsSnapshot:()=>{const t2=this.reparentIdMaps(),e2=new Set;if(null===t2)return e2;for(const[i2,n2]of t2.idToKey)this.collapsedTreeNodes.has(n2)&&e2.add(i2);return e2},setExpanded:(t2,e2)=>{const i2=this.reparentIdMaps(),n2=i2?.idToPath.get(t2);void 0!==n2&&this.applyTreeNodeExpanded(n2,e2,"ui")},writeRows:t2=>this.writeRows(t2),emitReparented:t2=>this.treeReparented.emit(t2)}:null}reparentFacadeFactory(){const t2=this.proUiChunks["tree-data"];return void 0===t2||null===this.treeSurface()?null:t2.createReparentFacade}dragRowIdOf(t2,e2){if(wi(t2)){if(t2.filler||null===t2.row)return;const i2=this.extractRowId(t2.row,e2);return void 0!==i2?i2:this.treeRowId(t2.row)??void 0}return this.extractRowId(t2,e2)}reparentNodeAt(t2){const e2=this.getDisplayRows()[t2];return void 0===e2?null:wi(e2)?e2.filler||null===e2.row?null:this.treeRowId(e2.row):this.treeRowId(e2)}rowBandRatio(t2,e2){const i2=this.host.querySelector(`.sy-grid__row[data-row-index="${t2}"]`);if(null===i2)return null;const n2=i2.getBoundingClientRect();return n2.height>0?Math.min(1,Math.max(0,(e2-n2.top)/n2.height)):null}async reparentRows(t2){const e2={status:"refused",reason:"not-id-linkage",detail:"reparent needs the id-linkage tree surface (tree-id-field + tree-parent-field) on client-side rows",entries:[]};return this.proMethod("reparentRows",{validate:()=>this.treeIdLinkageActive()?void 0:{result:e2},load:async()=>(await this.treeEngineStep(),this.rowDrag()),exec:t3=>t3,publish:i2=>{const n2=i2.reparentFacade();return null===n2?e2:n2.reparent(t2,"api")}})}isFullWidthRow;fullWidthCellRenderer;fullWidthRowHeight;onFullWidthConfigChanged(){this.fullWidthFacade?.invalidate(),this.fullWidthVersion+=1,this.recomputeVirtualWindow(),this.syncRowLayout()}fullWidthDeclared(){return"function"==typeof this.isFullWidthRow&&this.usingColumnDefsApi()}fullWidth(){return null!==this.fullWidthFacade?this.fullWidthFacade:null!==this.rowLayoutChunk&&this.fullWidthDeclared()?(this.fullWidthFacade=this.rowLayoutChunk.createFullWidthFacade({rows:()=>this.getDisplayRows(),columns:()=>this.effectiveColumns(),rowIdOf:(t2,e2)=>{if("function"==typeof this.getRowId){const i2=this.extractRowId(t2,e2);if(void 0!==i2)return i2}return e2},classify:t2=>_i(t2)?"detail":yi(t2)?"group":bi(t2)?"group-footer":ji(t2)?"loading":null,isFullWidth:()=>{const t2=this.isFullWidthRow;if("function"==typeof t2)return e2=>true===t2({row:e2.row,rowIndex:e2.index,builtInKind:e2.builtInKind})},renderer:()=>this.fullWidthCellRenderer,declaredHeight:()=>this.fullWidthRowHeight,containerOf:t2=>{const e2=this.pinSideOf(t2);return"left"===e2?"left":"right"===e2?"right":"middle"},uniformHeight:()=>this.uniformRowHeight(),onRendererError:(t2,e2,i2)=>{this.rowLayoutRefused.emit({area:"full-width-rows",feature:"renderer-"+e2,reason:"renderer-threw",detail:`${i2}: ${t2 instanceof Error?t2.message:t2+""}`,rowIndex:null,colIndex:null})}}),this.fullWidthFacade):null}fullWidthEntryAt(t2){const e2=this.fullWidthDeclared()?this.fullWidth():null;if(null===e2)return null;const i2=e2.entryAt(t2);return null!==i2&&"full-width"===i2.kind?i2:null}isFullWidthDisplayRow(t2){return null!==this.fullWidthEntryAt(t2)}reconcileFullWidthMounts(){const t2=this.fullWidthFacade;if(null===t2||!this.fullWidthDeclared())return;const e2=this.lastBodyRenderWindow??{startIndex:0,endIndex:this.getDisplayRows().length},{mounts:i2}=t2.reconcile(e2.startIndex,e2.endIndex);for(const t3 of i2){const e3=this.host?.querySelector?.(`.sy-grid__full-width-host[data-full-width-key="${CSS.escape(t3.key)}"]`);null!=e3&&t3.gui.parentElement!==e3&&(e3.textContent="",e3.appendChild(t3.gui))}const n2=t2.refusalSignature();if(n2!==this.fullWidthRefusalSignature){this.fullWidthRefusalSignature=n2;for(const e3 of t2.refusals())this.rowLayoutRefused.emit({area:"full-width-rows",feature:"layout",reason:e3.reason,detail:`${e3.requested} → ${e3.applied}: ${e3.detail}`,rowIndex:e3.rowIndex,colIndex:null})}}renderFullWidthRow(t2,e2,i2,r2){const s2=this.effectiveColumns(),o2=this.shouldRenderCheckboxColumn()?1:0,l2=this.activeCell,a2=null!==l2&&l2.rowIndex===e2,d2=i2.height>0?i2.height:r2,u2=this.totalColumnsWidthPx(),c2=this.viewportSize?.width??0,h2=(t3,e3)=>{let i3=0;for(let n2=t3;n2<e3;n2+=1){const t4=s2[n2];void 0!==t4&&(i3+=this.pinnedWidthOf(t4))}return i3},f2=this.rowDragDropClass(e2);return n("div",{class:{"sy-grid__row":true,"sy-grid__full-width-row":true,["sy-grid__full-width-row--"+i2.mode]:true,"sy-grid__row--odd":e2%2==1,"sy-grid__row--even":e2%2==0,"sy-grid__row--active":a2,"sy-grid__row--drag-source":f2.dragging,"sy-grid__row--drop-above":f2.above,"sy-grid__row--drop-below":f2.below,"sy-grid__row--drop-into":f2.into},..._(e2,{headerOffset:this.headerGroupDepth()+this.pinnedTopCount()}),"data-row-index":e2,"data-full-width-row":i2.mode,"data-full-width-kind":i2.rowKind,style:{height:d2+"px",minWidth:"full-width"===i2.mode&&u2>0?Math.max(u2,c2)+"px":void 0}},i2.segments.map(((t3,e3)=>{const r3=a2&&0===e3,s3={height:d2+"px"};if("embedded"===i2.mode){const e4=h2(t3.startCol,t3.endCol);s3.width=e4+"px",s3.flex=`0 0 ${e4}px`,s3.maxWidth=e4+"px","left"===t3.container&&(s3.position="sticky",s3.left="0px",s3.zIndex="1"),"right"===t3.container&&(s3.position="sticky",s3.right="0px",s3.zIndex="1")}else if(c2>0){const t4=Math.min(c2,Math.max(u2,c2));s3.position="sticky",s3.left="0px",s3.width=t4+"px",s3.flex=`0 0 ${t4}px`,s3.maxWidth=t4+"px"}return n("div",{key:t3.mountKey,class:{"sy-grid__cell":true,"sy-grid__full-width-cell":true,"sy-grid__cell--active":r3},...x({colIndex:t3.startCol+o2+1-1,isActive:r3}),"aria-colspan":t3.colSpan,id:r3?Bl:void 0,"aria-selected":r3?"true":void 0,"data-full-width-segment":t3.container??"all",style:s3},n("div",{class:"sy-grid__full-width-host","data-full-width-key":t3.mountKey}))})))}async getFullWidthRowInfo(t2){if(!this.fullWidthDeclared())return void 0===t2?{declared:false,loaded:false,rowCount:this.getDisplayRows().length,fullWidthCount:0,mountCount:0,refusals:[],predicateCalls:0}:null;if(null===this.rowLayoutChunk)try{await this.rowLayout()}catch{}const e2=this.fullWidth();if(null===e2)return void 0===t2?{declared:true,loaded:false,rowCount:this.getDisplayRows().length,fullWidthCount:0,mountCount:0,refusals:[],predicateCalls:0}:null;if(void 0===t2){const t3=e2.layout(),i3=e2.report();return{declared:true,loaded:true,rowCount:t3.rowCount,fullWidthCount:i3.fullWidthCount,mountCount:i3.mountCount,refusals:t3.refusals.map((t4=>({reason:t4.reason,rowIndex:t4.rowIndex,rowId:t4.rowId,requested:t4.requested,applied:t4.applied,detail:t4.detail}))),predicateCalls:t3.predicateCalls}}const i2=e2.entryAt(t2);return null===i2?null:"cells"===i2.kind?{rowIndex:t2,kind:"cells",rowId:i2.rowId,mode:null,height:null,heightSource:null,segments:[],mounted:false}:{rowIndex:t2,kind:"full-width",rowId:i2.rowId,mode:i2.mode,height:i2.height,heightSource:i2.heightSource,segments:i2.segments.map((t3=>({container:t3.container,startCol:t3.startCol,endCol:t3.endCol,colSpan:t3.colSpan,mountKey:t3.mountKey}))),mounted:i2.segments.every((t3=>null!==e2.guiFor(t3.mountKey)))}}pinnedTopRowData;pinnedBottomRowData;pinnedRowsChanged;rowLayoutRefused;onPinnedRowDataChanged(){this.pendingPinnedRows={input:this.pinnedRowsFromProps(),source:"prop"},this.syncRowLayout()}pinnedRowsDeclared(){return(this.pinnedTopRowData?.length??0)>0||(this.pinnedBottomRowData?.length??0)>0||null!==this.pendingPinnedRows}pinnedRowId(t2,e2,i2){if("function"==typeof this.getRowId){const e3=this.extractRowId(t2,i2);if(void 0!==e3)return e3}return`__pinned-${e2}-${i2}`}pinnedRowsFromProps(){return{top:(this.pinnedTopRowData??[]).map(((t2,e2)=>({id:this.pinnedRowId(t2,"top",e2),data:t2}))),bottom:(this.pinnedBottomRowData??[]).map(((t2,e2)=>({id:this.pinnedRowId(t2,"bottom",e2),data:t2})))}}pinnedRows(){return null!==this.pinnedRowsFacade?this.pinnedRowsFacade:null===this.rowLayoutChunk?null:(this.pinnedRowsFacade=this.rowLayoutChunk.createPinnedRowsFacade({displayRows:()=>this.getDisplayRows(),sourceRows:()=>this.rowData??[],rowIdOf:"function"==typeof this.getRowId?t2=>this.extractRowId(t2,-1):null}),this.pinnedRowsFacade)}syncPinnedRows(){const t2=this.pinnedRows(),e2=this.pendingPinnedRows;null!==t2&&null!==e2&&(this.pendingPinnedRows=null,this.applyPinnedRows(t2,e2.input,e2.source))}applyPinnedRows(t2,e2,i2){const n2=t2.setPinned({top:e2.top??[],bottom:e2.bottom??[]});if("applied"===n2.status){if(this.pinnedRowsVersion+=1,null!==this.pinnedFocus){const e3=t2.rows(this.pinnedFocus.band);this.pinnedFocus.sectionIndex>=e3.length&&(this.pinnedFocus=null)}this.pinnedRowsChanged.emit({changes:n2.changes,top:n2.top,bottom:n2.bottom,source:i2}),this.recomputeVirtualWindow()}return n2}pinnedTopCount(){return this.pinnedRowsFacade?.rows("top").length??0}pinnedBottomCount(){return this.pinnedRowsFacade?.rows("bottom").length??0}refusePinnedRowFeature(t2,e2,i2){const n2=this.pinnedRowsFacade;if(null===n2)return false;const r2=n2.policy(t2);return"unsupported"===r2.support&&(this.rowLayoutRefused.emit({area:"pinned-rows",feature:t2,reason:r2.reason,detail:r2.detail,rowIndex:e2,colIndex:i2}),true)}enterPinnedBandFromBody(t2){const e2=this.pinnedRowsFacade,i2=this.activeCell;if(null===e2||null===i2||0===e2.count())return false;const n2=this.activeRowCount();if(!("up"===t2?0===i2.rowIndex:i2.rowIndex===n2-1))return false;const r2=e2.navigate(null,i2.rowIndex,t2,1);return!(null===r2||!r2.moved||"band"!==r2.target.kind||(this.focusPinnedBandCell(r2.target.band,r2.target.sectionIndex,i2.colIndex),0))}focusPinnedBandCell(t2,e2,i2){const n2=this.effectiveColumns();this.pinnedFocus={band:t2,sectionIndex:e2,colIndex:Math.min(Math.max(0,i2),Math.max(0,n2.length-1))},Promise.resolve().then((()=>{const e3=this.host?.querySelector?.(`.sy-grid__pinned-band[data-pinned-band="${t2}"]`);if(null!=e3&&"function"==typeof e3.focus&&this.host.ownerDocument?.activeElement!==e3)try{e3.focus({preventScroll:true})}catch{e3.focus()}}))}leavePinnedBand(t2){this.pinnedFocus=null,null!==t2&&this.commitActiveCell(t2);const e2=this.viewportEl;if(null!==e2&&"function"==typeof e2.focus)try{e2.focus({preventScroll:true})}catch{e2.focus()}}handlePinnedBandClick=t2=>{const e2=t2.target,i2=e2?.closest?.(".sy-grid__row--pinned");if(null==i2)return;const n2="bottom"===i2.getAttribute("data-pinned-section")?"bottom":"top",r2=Number(i2.getAttribute("data-pinned-row-index")),s2=e2?.closest?.(".sy-grid__cell[data-col-index]"),o2=null!=s2?Number(s2.getAttribute("data-col-index")):0;Number.isInteger(r2)&&this.focusPinnedBandCell(n2,r2,Number.isInteger(o2)?o2:0)};handlePinnedBandFocusOut=t2=>{const e2=t2.relatedTarget,i2=t2.currentTarget;null!==i2&&null!==e2&&i2.contains(e2)||null===this.pinnedFocus||null!==e2&&i2?.contains(e2)||(this.pinnedFocus=null)};handlePinnedBandKeyDown=t2=>{const e2=this.pinnedRowsFacade,i2=this.pinnedFocus;if(null===e2||null===i2)return;const n2=this.effectiveColumns().length,r2=e2.rows(i2.band),s2=t3=>{const n3=e2.navigate(i2,null,t3,this.viewportRowCount());null!==n3&&n3.moved&&("center"!==n3.target.kind?this.focusPinnedBandCell(n3.target.band,n3.target.sectionIndex,i2.colIndex):this.leavePinnedBand({rowIndex:n3.target.rowIndex,colIndex:i2.colIndex}))};if(!t2.ctrlKey&&!t2.metaKey||"c"!==t2.key&&"C"!==t2.key)switch(t2.key){case"ArrowUp":return t2.preventDefault(),void s2("up");case"ArrowDown":return t2.preventDefault(),void s2("down");case"Home":return t2.preventDefault(),void(t2.ctrlKey||t2.metaKey?s2("home"):this.focusPinnedBandCell(i2.band,i2.sectionIndex,0));case"End":return t2.preventDefault(),void(t2.ctrlKey||t2.metaKey?s2("end"):this.focusPinnedBandCell(i2.band,i2.sectionIndex,n2-1));case"PageUp":return t2.preventDefault(),void s2("page-up");case"PageDown":return t2.preventDefault(),void s2("page-down");case"ArrowLeft":return t2.preventDefault(),void this.focusPinnedBandCell(i2.band,i2.sectionIndex,Math.max(0,i2.colIndex-1));case"ArrowRight":return t2.preventDefault(),void this.focusPinnedBandCell(i2.band,i2.sectionIndex,Math.min(n2-1,i2.colIndex+1));case"Escape":return t2.preventDefault(),void this.leavePinnedBand(null);case"F2":case"Enter":case"Delete":case"Backspace":return t2.preventDefault(),void this.refusePinnedRowFeature("Delete"===t2.key||"Backspace"===t2.key?"row-edit":"cell-edit",i2.sectionIndex,i2.colIndex);default:1!==t2.key.length||t2.ctrlKey||t2.metaKey||t2.altKey||(t2.preventDefault(),this.refusePinnedRowFeature("cell-edit",i2.sectionIndex,i2.colIndex))}else{t2.preventDefault();const e3=r2[i2.sectionIndex];if(void 0===e3)return;const n3=this.cellDisplayText(0,i2.colIndex,[e3.data],this.effectiveColumns());this.writeClipboardText(null==n3?"":n3+"")}};async setPinnedRows(t2){const e2={top:[...t2?.top??[]],bottom:[...t2?.bottom??[]]};null===this.rowLayoutChunk&&(this.pendingPinnedRows={input:e2,source:"api"},await this.rowLayout());const i2=this.pinnedRows();return null===i2?{status:"refused",changes:[],rejected:[{reason:"not-loaded",id:null,detail:"the row-layout chunk did not load"}],top:[],bottom:[]}:(this.pendingPinnedRows=null,this.applyPinnedRows(i2,e2,"api"))}async getPinnedRows(){const t2=this.pinnedRowsFacade,e2=this.getDisplayRows().length;if(null===t2)return{loaded:false,top:[],bottom:[],count:0,displayCount:e2,centerCount:e2,dangling:[],idCollisions:[],stableRowIds:"function"==typeof this.getRowId,policy:[]};const i2=t2.report();return{loaded:true,top:t2.rows("top"),bottom:t2.rows("bottom"),count:t2.count(),displayCount:i2.displayCount,centerCount:i2.centerCount,dangling:t2.dangling(),idCollisions:i2.idCollisions,stableRowIds:"function"==typeof this.getRowId,policy:[...i2.supported,...i2.delegated,...i2.unsupported]}}async getPinnedRowInfo(t2){const e2=this.pinnedRowsFacade,i2=this.getDisplayRows().length;if(null===e2)return!Number.isInteger(t2)||t2<0||t2>=i2?null:{displayIndex:t2,band:"center",index:t2,row:null,policy:[]};const n2=e2.address(t2);if(null===n2)return null;const r2=e2.report(),s2=[...r2.supported,...r2.delegated,...r2.unsupported];return"center"===n2.band?{displayIndex:t2,band:"center",index:n2.centerIndex??t2-e2.rows("top").length,row:null,policy:s2}:{displayIndex:t2,band:n2.band,index:n2.sectionIndex??0,row:n2.row,policy:s2}}rowLayoutHostView(t2,e2,i2){return this.rowLayoutChunk.rowLayoutHostView(this,t2,e2,i2)}buildRowLayoutFrame(t2,e2,i2,n2){return null!==this.rowLayoutChunk&&null!==this.rowLayoutState&&this.spansDeclared()?this.rowLayoutChunk.buildRowLayoutFrame(this.rowLayoutState,this.rowLayoutHostView(t2,i2,n2),e2):null}spanAwareMove(t2,e2){return null===this.rowLayoutChunk?e2:this.rowLayoutChunk.spanAwareMove(this.rowLayoutFrame,this.activeCell,t2,e2)}spanAwareCellText(t2,e2,i2,n2){return null===this.rowLayoutChunk?this.cellDisplayText(t2,e2,i2,n2):this.rowLayoutChunk.spanAwareCellText(this.rowLayoutFrame,this.spanExportMode,t2,e2,((t3,e3)=>this.cellDisplayText(t3,e3,i2,n2)))}async getRowSpan(t2){if(!this.usingColumnDefsApi())return null;const{chunk:e2,state:i2}=await this.rowLayout(),n2=this.getDisplayRows();return e2.rowSpanReport(i2,this.rowLayoutHostView(n2,this.uniformRowHeight(),this.rowHeightFn),t2+"")}async getCellSpan(t2,e2){if(!this.usingColumnDefsApi())return null;const{chunk:i2,state:n2}=await this.rowLayout(),r2=this.getDisplayRows();return i2.cellSpanInfo(n2,this.rowLayoutHostView(r2,this.uniformRowHeight(),this.rowHeightFn),Number(t2),e2+"")}async getSpanInteraction(t2){const{chunk:e2,state:i2}=await this.rowLayout(),n2=this.getDisplayRows(),r2=this.virtualWindow;return e2.spanInteractionFor(i2,this.rowLayoutHostView(n2,this.uniformRowHeight(),this.rowHeightFn),this.rowLayoutFrame,null===r2?{startIndex:0,endIndex:n2.length}:{startIndex:r2.startIndex,endIndex:r2.endIndex},this.spanExportMode,t2)}async loadSsrmOpsChunk(){const t2=await this.getChunkLoader().load("ssrm-ops");return this.acceptProUiChunk("ssrm-ops",t2),t2}ssrmDeclared(){return null!=this.serverSideDatasource&&this.usingColumnDefsApi()}async ssrmOps(){if(!this.serverSideModeActive())return null;if(null===this.serverSideState&&void 0===this.proUiChunks["ssrm-ops"]&&this.proGate().entitled("grid.server-side-row-model")&&await this.loadSsrmOpsChunk(),!this.serverSideModeActive()||null===this.serverSideState)return null;const t2=await this.loadSsrmOpsChunk();return{chunk:t2,registry:this.advanceSsrmRegistryWith(t2)}}advanceSsrmRegistryWith(t2){const e2=t2.advanceSsrmRegistry(this.ssrmRegistry,this.ssrmRegistryEpoch!==this.ssrmEpoch,this.serverSideState,"sy-grid-ssrm");return this.ssrmRegistry=e2.registry,this.ssrmRegistryEpoch=this.ssrmEpoch,null!==this.ssrmRuntime&&this.ssrmRuntime.trackStores(e2.registry),e2.registry}ensureSsrmRuntime(t2){if(null!==this.ssrmRuntime)return this.ssrmRuntime;const e2=this.getRowId;if("function"!=typeof e2)return null;const i2=t2.createSsrmRuntime({mintMutationId:this.mintGridMutationId,onEvent:t3=>{"storeUpdated"===t3.type&&this.serverStoreUpdated.emit(t3.detail)},waitMs:"number"==typeof this.serverSideTransactionWaitMs?this.serverSideTransactionWaitMs:void 0,getRowId:t3=>e2(t3)+"",getGroupKey:this.serverGroupKeyOf,getState:()=>({registry:this.advanceSsrmRegistryWith(t2),ssrm:this.serverSideState}),commitState:t3=>{this.ssrmRegistry=t3.registry,this.serverSideState=t3.ssrm}});return null!==this.ssrmRegistry&&i2.trackStores(this.ssrmRegistry),this.ssrmRuntime=i2,i2}teardownSsrmRuntime(){null!==this.ssrmRuntime&&(this.ssrmRuntime.destroy(),this.ssrmRuntime=null)}async ssrmSel(){const t2=await this.loadSsrmOpsChunk();return t2.ssrmSelectionFacade(this,t2)}ssrmSelGesture(t2){this.ssrmSel().then(t2,(()=>{}))}async ssrmOpsGated(){return this.ssrmDeclared()&&!Hl("ssrm-ops")&&await this.loadSsrmOpsChunk(),this.ssrmOps()}ssrmGroupCheckAttrs(t2){const e2=this.ssrmSelectionProjection?.groupChecks.get(t2);if(void 0===e2)return null;const i2=mr("checked"===e2,this.resolvedMessages["a11y.selectRowCheckbox"]);return n("span",{class:{"sy-grid__selection-checkbox":true,"sy-grid__selection-checkbox--checked":"checked"===e2,"sy-grid__selection-checkbox--mixed":"indeterminate"===e2},role:i2.role,"aria-checked":"indeterminate"===e2?"mixed":i2["aria-checked"],"aria-label":i2["aria-label"],tabindex:i2.tabindex})}async getServerSideSelectionState(){return this.proMethod("getServerSideSelectionState",{load:()=>this.ssrmSel(),exec:t2=>t2.read("flat")})}async getServerGroupSelectionState(){return this.proMethod("getServerGroupSelectionState",{load:()=>this.ssrmSel(),exec:t2=>t2.read("group")})}async setServerSideSelectionState(t2){return this.proMethod("setServerSideSelectionState",{load:()=>this.ssrmSel(),exec:t3=>t3,publish:e2=>e2.set("flat",t2)})}async setServerGroupSelectionState(t2){return this.proMethod("setServerGroupSelectionState",{load:()=>this.ssrmSel(),exec:t3=>t3,publish:e2=>e2.set("group",t2)})}async selectAllServerSide(t2="select"){return this.proMethod("selectAllServerSide",{load:()=>this.ssrmSel(),exec:t3=>t3,publish:e2=>e2.selectAll(t2)})}async selectServerGroupChildren(t2,e2="select"){return this.proMethod("selectServerGroupChildren",{load:()=>this.ssrmSel(),exec:t3=>t3,publish:i2=>i2.groupChildren(t2,e2)})}ssrmRefusedTxn(t2,e2){const i2=[];e2&&(Array.isArray(e2.add)&&i2.push(...e2.add),Array.isArray(e2.update)&&i2.push(...e2.update),Array.isArray(e2.remove)&&i2.push(...e2.remove));const n2=[];return{status:t2,storeId:"",added:[],updated:[],removed:[],unresolved:i2,aggregateStaleStoreIds:n2,regroupOwedRowIds:n2,closedStoreIds:n2,droppedNodePaths:n2,droppedExpandedPaths:n2,issue:"no-row-id"===t2?$l:Pl}}async refreshServerSide(t2){const e2="purge"===t2?.mode?"purge":"soft",i2=()=>{const t3=[];return{status:"not-server-side",storeId:"",mode:e2,reloadedStoreIds:t3,closedStoreIds:t3,recreatedStoreIds:t3,abortedStoreIds:t3,rescuedLoadingBlocks:0,generation:-1,issue:Pl}};return this.proMethod("refreshServerSide",{validate:()=>this.ssrmDeclared()?void 0:{result:i2()},load:()=>this.ssrmOpsGated(),exec:t3=>t3,publish:n2=>{if(null===n2)return i2();const r2=n2.chunk.runServerSideRefresh(n2.registry,this.serverSideState,{route:Array.isArray(t2?.route)?t2.route:[],mode:e2});if(this.ssrmRegistry=r2.registry,"accepted"===r2.result.status){this.serverSideState=r2.ssrm;for(const t4 of r2.floorPaths)this.ssrmRefreshFloors.set(t4,r2.generation);""===r2.routePath&&(r2.ssrm.pivotResultFields.length>0||r2.ssrm.pivotResultColumns.length>0)&&(this.serverPivotResultsStale=true);const t3=this.ssrmRuntime;if(null!==t3){t3.hub.recordStoreClosed(r2.result.closedStoreIds);for(const e3 of r2.recreatedRecords)t3.hub.trackStore(e3)}this.lastServerFetchWindow=null,this.recomputeVirtualWindow()}return n2.chunk.publicServerRefreshResult(r2)}})}async applyServerSideTransaction(t2){return this.proMethod("applyServerSideTransaction",{validate:()=>this.ssrmDeclared()?void 0:{result:this.ssrmRefusedTxn("not-server-side",t2)},load:()=>this.ssrmOpsGated(),exec:t3=>t3,publish:e2=>{if(null===e2)return this.ssrmRefusedTxn("not-server-side",t2);const i2=this.ensureSsrmRuntime(e2.chunk);if(null===i2)return this.ssrmRefusedTxn("no-row-id",t2);const n2=this.getRowId,r2=e2.chunk.applyServerStoreTransaction(e2.registry,this.serverSideState,{route:Array.isArray(t2?.route)?t2.route:[],add:t2?.add,addIndex:t2?.addIndex,update:t2?.update,remove:t2?.remove},{getRowId:t3=>n2(t3)+"",getGroupKey:this.serverGroupKeyOf});return this.ssrmRegistry=r2.registry,this.serverSideState=r2.ssrm,i2.recordEffectiveTransaction(r2,r2.registry),e2.chunk.publicServerTransactionResult(r2)}})}async applyServerSideTransactionAsync(t2,e2){const i2=()=>({status:"not-server-side",txnId:-1,issue:Pl});return this.proMethod("applyServerSideTransactionAsync",{validate:()=>this.ssrmDeclared()?void 0:{result:i2()},load:()=>this.ssrmOpsGated(),exec:t3=>t3,publish:n2=>{if(null===n2)return i2();const r2=this.ensureSsrmRuntime(n2.chunk);if(null===r2)return{status:"no-row-id",txnId:-1,issue:$l};const s2=n2.chunk,o2=r2.queue.enqueue({route:Array.isArray(t2?.route)?t2.route:[],add:t2?.add,addIndex:t2?.addIndex,update:t2?.update,remove:t2?.remove},"function"==typeof e2?t3=>e2(s2.publicServerTransactionSettlement(t3)):void 0);return"queued"===o2.status?{status:"queued",txnId:o2.txnId,issue:""}:{status:"refused-destroyed",txnId:-1,issue:o2.detail}}})}async flushServerSideAsyncTransactions(){const t2=()=>null===this.ssrmRuntime||!this.serverSideModeActive()||null===this.serverSideState;return this.proMethod("flushServerSideAsyncTransactions",{validate:()=>null!==this.ssrmRuntime&&this.ssrmDeclared()?void 0:{result:{status:"empty",batchId:-1,settledCount:0,issue:""}},exec:()=>{},publish:()=>{const e2=this.ssrmRuntime;if(null===e2||t2())return{status:"empty",batchId:-1,settledCount:0,issue:""};const i2=e2.queue.flush();return"flushed"===i2.status?{status:"flushed",batchId:i2.batch.batchId,settledCount:i2.batch.dispositions.length,issue:""}:"empty"===i2.status?{status:"empty",batchId:-1,settledCount:0,issue:""}:{status:"reentrant"===i2.reason?"refused-reentrant":"refused-destroyed",batchId:-1,settledCount:0,issue:i2.detail}}})}async getServerSideStoreState(){return this.proMethod("getServerSideStoreState",{exec:async()=>{const t2=await this.ssrmOps();return null===t2?null:{...t2.chunk.inspectServerState(t2.registry,this.serverSideState),discardedStaleLandings:this.ssrmDiscardedStaleLandings}}})}async getServerPivotResultColumns(){return this.proMethod("getServerPivotResultColumns",{exec:async()=>{const t2=await this.ssrmOps();return null===t2?null:t2.chunk.describeServerPivotResultColumns(this.serverSideState,this.serverPivotResultsStale)}})}async auditServerPivotResultColumns(t2){return this.proMethod("auditServerPivotResultColumns",{exec:async()=>{const e2=await this.ssrmOps();if(null===e2)return null;const i2=Array.isArray(t2)?t2.filter((t3=>"string"==typeof t3)):[];return e2.chunk.auditServerPivotResultColumns(this.serverSideState,this.serverPivotResultsStale,i2)}})}workbookValuesPropagated;workbookOpsChunk=null;workbookOpsEnrollment=null;workbookOpsKickSeq=0;workbookOpsHostBag=null;workbookOpsHost(){if(null!==this.workbookOpsHostBag)return this.workbookOpsHostBag;const t2={getRegistration:()=>this.workbookBindingController.currentRegistration(),getEngine:()=>true===this.formulas&&null!==this.formulaSheet?this.formulaSheet.workbookEngine():null,getFields:()=>Rn(this.columnDefs??[]).map((t3=>t3&&"string"==typeof t3.field&&t3.field.length>0?t3.field:null)),getRows:()=>Array.isArray(this.rowData)?this.rowData:[],isSheetSeeding:()=>this.formulaSheetSeeding,mintMutationId:this.mintGridMutationId,canEditCell:()=>this.canEditCell??null,writeCell:async(t3,e2,i2,n2)=>{const r2=(Array.isArray(this.rowData)?this.rowData:[])[t3];return null==r2||"object"!=typeof r2?"unaddressable":1===(await this.applyTransaction({update:[{...r2,[e2]:i2}]},"workbook-spill",{source:"local",origin:{kind:"workbook-spill",mutationId:n2}})).updated.length?"written":"unaddressable"},getRowIdFn:()=>this.getRowId??null,onPropagated:t3=>{this.formulaVersion++,this.workbookValuesPropagated.emit(t3)},onSpillMutated:()=>{this.formulaVersion++}};return this.workbookOpsHostBag=t2,t2}async loadWorkbookOpsChunk(){return await this.getChunkLoader().load("workbook-ops")}workbookOpsInactiveReason(){return true!==this.formulas?"formulas-off":null===this.workbookBindingController.current()?"not-bound":null}enrollWorkbookOpsWith(t2,e2){const i2=this.formulaCore;return null===i2?null:(this.workbookOpsChunk=t2,this.workbookOpsEnrollment=t2.enrollWorkbookGrid(i2.gridSharedWorkbookRegistry(),this.workbookOpsEnrollment,this.workbookOpsHost(),{resync:e2}),this.workbookOpsEnrollment)}syncWorkbookOps(t2){const e2=++this.workbookOpsKickSeq;if(null!==this.workbookOpsInactiveReason())return void this.teardownWorkbookOps();const i2=this.workbookOpsChunk;null===i2?this.loadWorkbookOpsChunk().then((t3=>{e2===this.workbookOpsKickSeq&&null===this.workbookOpsInactiveReason()&&this.enrollWorkbookOpsWith(t3,false)})).catch((()=>{})):this.enrollWorkbookOpsWith(i2,t2)}teardownWorkbookOps(){const t2=this.workbookOpsEnrollment;this.workbookOpsEnrollment=null,null!==t2&&null!==this.workbookOpsChunk&&this.workbookOpsChunk.unenrollWorkbookGrid(t2)}async workbookOps(){if(this.assertWorkbookModules(true===this.formulas&&this.proGate().entitled("grid.formulas")),null!==this.workbookOpsInactiveReason())return null;const t2=this.workbookOpsChunk??await this.loadWorkbookOpsChunk(),e2=this.enrollWorkbookOpsWith(t2,false);return null===e2?null:{chunk:t2,enrollment:e2}}async workbookOpsChunkIfActive(){return this.assertWorkbookModules(true===this.formulas),null!==this.workbookOpsInactiveReason()?null:this.workbookOpsChunk??await this.loadWorkbookOpsChunk()}assertWorkbookModules(t2){if(t2){for(const t3 of["formula-core","workbook-ops"])if(!Hl(t3))throw new le(t3,"unknown","source")}}workbookOpsEnrolled(t2){if(null===t2||null!==this.workbookOpsInactiveReason())return null;const e2=this.enrollWorkbookOpsWith(t2,false);return null===e2?null:{chunk:t2,enrollment:e2}}recordWorkbookOpsCommit(t2,e2,i2){const n2=this.workbookOpsChunk,r2=this.workbookOpsEnrollment,s2=this.formulaSheet;if(null===n2||null===r2||null===s2)return;const o2=s2.cellCoordinate(t2,e2);null!==o2&&n2.recordWorkbookCommit(r2,o2.col,o2.row,i2)}async getWorkbookPropagationState(){return this.proMethod("getWorkbookPropagationState",{exec:async()=>{const t2=await this.workbookOps();return null===t2?this.workbookInactiveState():t2.chunk.workbookPropagationState(t2.enrollment)}})}wbInactiveReason(){return this.workbookOpsInactiveReason()??"not-bound"}workbookInactiveState(){return{status:"inactive",reason:this.wbInactiveReason(),workbookId:"",sheetName:"",workbookKey:-1,sheetId:-1,registrationId:-1,generation:-1,registeredFormulaCells:0,registrationFailures:[],lastPublication:null,hubTrackedFormulas:0,hubCyclicCells:0,issue:Tl}}async flushWorkbookPropagation(){const t2=()=>({status:"inactive",reason:this.wbInactiveReason(),transactionCount:0,generations:[],issue:Tl});return this.proMethod("flushWorkbookPropagation",{validate:()=>true===this.formulas?void 0:{result:t2()},load:()=>this.workbookOpsChunkIfActive(),exec:t3=>t3,publish:e2=>{const i2=this.workbookOpsEnrolled(e2);return null===i2?t2():i2.chunk.flushWorkbook(i2.enrollment)}})}async getWorkbookSnapshotReport(){return this.proMethod("getWorkbookSnapshotReport",{exec:async()=>{const t2=await this.workbookOps();return null===t2?{status:"inactive",reason:this.wbInactiveReason(),workbookKey:-1,sheetId:-1,registrationId:-1,generation:-1,snapshotHash:"",cells:[],issue:Tl}:t2.chunk.workbookSnapshotReport(t2.enrollment)}})}async getWorkbookIntegrityReport(){return this.proMethod("getWorkbookIntegrityReport",{exec:async()=>{const t2=await this.workbookOps();return null===t2?{status:"inactive",reason:this.wbInactiveReason(),cyclicCells:0,cycleDependentCells:0,unprovenCells:0,provenAcyclicCells:0,sheetVerdicts:[],publishingCycleCells:0,issue:Tl}:t2.chunk.workbookIntegrityReport(t2.enrollment)}})}async applySpillFormula(t2){return this.proMethod("applySpillFormula",{validate:()=>true===this.formulas?void 0:{result:this.spillInactiveResult(t2)},load:()=>this.workbookOpsChunkIfActive(),exec:t3=>t3,publish:e2=>{const i2=this.workbookOpsEnrolled(e2);return null===i2?this.spillInactiveResult(t2):i2.chunk.applyWorkbookSpill(i2.enrollment,t2?.col,t2?.row,t2?.source)}})}spillInactiveResult(t2){return{status:"refused",reason:"workbook-inactive",mutationId:null,anchor:{col:Number(t2?.col??-1),row:Number(t2?.row??-1)},rows:0,cols:0,collisions:[],blockingCell:null,reconciledEmptyCells:0,unpaintedCells:0,rangeHash:"",stateHash:"",issue:Tl}}async clearSpillFormula(t2){const e2=()=>({status:"refused",reason:"workbook-inactive",mutationId:null,anchor:{col:Number(t2?.col??-1),row:Number(t2?.row??-1)},issue:Tl});return this.proMethod("clearSpillFormula",{validate:()=>true===this.formulas?void 0:{result:e2()},load:()=>this.workbookOpsChunkIfActive(),exec:t3=>t3,publish:i2=>{const n2=this.workbookOpsEnrolled(i2);return null===n2?e2():n2.chunk.clearWorkbookSpill(n2.enrollment,t2?.col,t2?.row)}})}async undoSpillTransaction(t2){const e2=()=>({status:"refused",reason:"workbook-inactive",mutationId:t2??null,appliedWrites:0,issue:Tl});return this.proMethod("undoSpillTransaction",{validate:()=>true===this.formulas?void 0:{result:e2()},load:()=>this.workbookOpsChunkIfActive(),exec:t3=>t3,publish:i2=>{const n2=this.workbookOpsEnrolled(i2);return null===n2?e2():n2.chunk.undoWorkbookSpill(n2.enrollment,t2)}})}async getSpillReport(){return this.proMethod("getSpillReport",{exec:async()=>{const t2=await this.workbookOps();return null===t2?{status:"refused",reason:"workbook-inactive",engineLane:"none",anchors:[],overlaps:[],stateHash:"",issue:Tl}:t2.chunk.workbookSpillReport(t2.enrollment)}})}chartCreated;chartRangeChanged;chartOptionsChanged;chartDestroyed;chartLinkChunk=null;chartLinkRuntimeRef=null;chartLinkGeneration=1;chartLinkHostBag=null;chartLinkPermissionState={readOnly:false,canCreate:true,canEditProperties:true};async loadChartLinkChunk(){return await this.getChunkLoader().load("chart-link")}applyChartLinkFilterModel(t2){this.activeFilters={...t2},this.scheduleLifecycleFilterPeerNotification(),this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange()}chartLinkRows(){const t2=this.getDisplayRows(),e2=this.applyColumnOrder(this.resolvedColumnDefs());return t2.map(((i2,n2)=>{const r2=Ci(i2)||ki(i2)||this.isPivotSubtotalDisplayRow(i2)?i2:this.copyableDataRowAt(t2,n2);if(null===r2)return{};const s2=this.readPolicyConfigured()?this.maskDeniedFields(r2,n2,e2):r2,o2={...s2};for(const t3 of e2){if("string"!=typeof t3.field||""===t3.field)continue;const e3=this.rawFieldValue(r2,n2,t3);o2[t3.field]=this.isCellReadable(e3,r2,n2,t3)?this.cellRawValue(t3.valueGetter?s2:r2,n2,t3):this.maskedCellValue}return o2}))}chartLinkHost(){if(null!==this.chartLinkHostBag)return this.chartLinkHostBag;const t2={hostElement:()=>this.host,rawColumns:()=>this.applyColumnOrder(this.resolvedColumnDefs()),hiddenColumns:()=>this.columnHidden,pinnedColumns:()=>this.columnPinned,rawRows:()=>this.chartLinkRows(),rowIdOf:()=>this.getRowId??null,generation:()=>this.chartLinkGeneration,canonicalRanges:()=>this.ensureCanonicalSelection().ranges,filterModel:()=>this.activeFilters,applyFilterModel:t3=>this.applyChartLinkFilterModel(t3),permissions:()=>({...this.chartLinkPermissionState,readOnly:this.chartLinkPermissionState.readOnly||!this.proGate().entitled("grid.integrated-charts")}),pivotModel:()=>{if(!this.chartLinkChunk)return null;if(this.serverSidePivotModeActive()&&this.serverSideState){const t4=this.ssrmEngine().describeServerPivotResultColumns(this.serverSideState,this.serverPivotResultsStale);return this.chartLinkChunk.chartLinkServerPivotModel(t4,this.serverSideRowGroupFields()[0]??null)}const t3=this.pivotModeActive()?this.pivotComputation():null;return t3?this.chartLinkChunk.chartLinkPivotModel(this.groupPivotEngine().describeSecondaryColumns(t3.meta)):null},pivotRowKind:t3=>{const e2=this.getDisplayRows()[t3];return ji(e2)?"unloaded":ki(e2)?"grand-total":this.isPivotSubtotalDisplayRow(e2)?"subtotal":"data"},emitEvent:t3=>{const e2=t3;"created"===t3.type?this.chartCreated.emit(e2):"rangeChanged"===t3.type?this.chartRangeChanged.emit(e2):"optionsChanged"===t3.type?this.chartOptionsChanged.emit(e2):this.chartDestroyed.emit(e2)}};return this.chartLinkHostBag=t2,t2}async chartLinkRuntime(){if(null!==this.chartLinkRuntimeRef)return this.chartLinkRuntimeRef;const t2=this.chartLinkChunk??await this.loadChartLinkChunk();return this.chartLinkChunk=t2,this.chartLinkRuntimeRef??=t2.createChartLinkRuntime(this.chartLinkHost()),this.chartLinkRuntimeRef}async createRangeChart(t2){return this.proMethod("createRangeChart",{load:()=>this.chartLinkRuntime(),exec:t3=>t3,publish:e2=>e2.createChart(t2)})}async updateChart(t2,e2){return this.proMethod("updateChart",{load:()=>this.chartLinkRuntime(),exec:t3=>t3,publish:i2=>i2.updateChart(t2,e2)})}async destroyChart(t2){return this.proMethod("destroyChart",{load:()=>this.chartLinkRuntime(),exec:e2=>e2.destroyChart(t2)})}async getChartRefs(){return this.proMethod("getChartRefs",{load:()=>this.chartLinkRuntime(),exec:t2=>[...t2.charts()]})}async syncCharts(t2="edit"){return this.proMethod("syncCharts",{load:()=>this.chartLinkRuntime(),exec:t3=>t3,publish:e2=>(this.chartLinkGeneration+=1,e2.syncCharts(t2))})}async getChartMenuModel(t2){return this.proMethod("getChartMenuModel",{load:()=>this.chartLinkRuntime(),exec:e2=>(void 0!==t2&&(this.chartLinkPermissionState=t2),e2.menuModel())})}async openChartToolPanel(t2){return this.proMethod("openChartToolPanel",{load:()=>this.chartLinkRuntime(),exec:t3=>t3,publish:e2=>(void 0!==t2&&(this.chartLinkPermissionState=t2),e2.openToolPanel())})}async closeChartToolPanel(){return this.proMethod("closeChartToolPanel",{load:()=>this.chartLinkRuntime(),exec:t2=>t2.closeToolPanel()})}async getChartToolPanelReport(){return this.proMethod("getChartToolPanelReport",{load:()=>this.chartLinkRuntime(),exec:t2=>t2.panelReport()})}async activateChartToolPanelItem(){return this.proMethod("activateChartToolPanelItem",{load:()=>this.chartLinkRuntime(),exec:t2=>t2,publish:t2=>t2.panelActivate()})}async getChartModels(){return this.proMethod("getChartModels",{load:()=>this.chartLinkRuntime(),exec:t2=>t2.captureModels()})}async restoreChartModels(t2){return this.proMethod("restoreChartModels",{load:()=>this.chartLinkRuntime(),exec:t3=>t3,publish:e2=>e2.restoreModels(t2)})}async exportChartImage(t2,e2){return this.proMethod("exportChartImage",{load:()=>this.chartLinkRuntime(),exec:i2=>i2.exportChart(t2,e2)})}async applyChartCrossFilter(t2,e2,i2,n2){return this.proMethod("applyChartCrossFilter",{load:()=>this.chartLinkRuntime(),exec:t3=>t3,publish:r2=>r2.crossFilter(t2,e2,i2,n2)})}async resetChartCrossFilter(){return this.proMethod("resetChartCrossFilter",{load:()=>this.chartLinkRuntime(),exec:t2=>t2.resetCrossFilter()})}async getChartAccessibleSummary(t2){return this.proMethod("getChartAccessibleSummary",{load:()=>this.chartLinkRuntime(),exec:e2=>e2.accessibleSummary(t2)})}async getChartFleetReport(){return this.proMethod("getChartFleetReport",{load:()=>this.chartLinkRuntime(),exec:t2=>t2.fleetReport()})}teardownChartLink(){const t2=this.chartLinkRuntimeRef;this.chartLinkRuntimeRef=null,t2?.disconnect()}stateChangeTracker=(function(){let t2=null;return{diff(e2){const i2=t2;if(t2=e2,null===i2)return[];const n2=new Set;for(const t3 of Object.keys(so))Object.is(i2[t3],e2[t3])||n2.add(so[t3]);return[...n2].sort()}}})();stateEventCoalescer=(function(){const t2=new Set,e2=new Set;let i2=0,n2=false;return{note(r2,s2="interactive"){if(n2||0===r2.length)return false;const o2=i2>0;for(const e3 of r2)t2.add(e3);return e2.add(s2),i2+=1,!o2},hasPending:()=>i2>0,takeFlush(){if(n2||0===i2)return null;const r2={changedSlices:[...t2].sort(),sources:[...e2].sort(),coalescedBatches:i2};return t2.clear(),e2.clear(),i2=0,r2},finalizeOnce:()=>!n2&&(n2=true,true),isFinalized:()=>n2}})();stateUpdatedFlushScheduled=false;stateAtomSnapshot(){return{columnWidths:this.columnWidths,columnOrder:this.columnOrder,columnHidden:this.columnHidden,columnPinned:this.columnPinned,activeSortModel:this.activeSortModel,collapsedGroups:this.collapsedGroups,columnDefs:this.columnDefs,groupBy:this.groupBy,pivotMode:this.pivotMode,pivotRowGroupColumns:this.pivotRowGroupColumns,pivotColumns:this.pivotColumns,pivotValueColumns:this.pivotValueColumns,activeFilters:this.activeFilters,quickFilterValue:this.quickFilterValue,activeConditionTree:this.activeConditionTree,lifecycleFilterVersion:this.lifecycleFilterVersion,collapsedRowGroups:this.collapsedRowGroups,pivotCollapsedRowGroups:this.pivotCollapsedRowGroups,collapsedTreeNodes:this.collapsedTreeNodes,expandedDetailRows:this.expandedDetailRows,selectionState:this.selectionState,rangeState:this.rangeState,activeCell:this.activeCell,hScrollLeft:this.hScrollLeft,scrollTop:this.scrollTop,activePagination:this.activePagination,openToolPanelId:this.openToolPanelId}}noteStateAtomsAfterRender(){const t2=this.stateChangeTracker.diff(this.stateAtomSnapshot());0!==t2.length&&(this.stateEventCoalescer.note(t2),this.scheduleStateUpdatedFlush())}noteStateBatchSource(t2,e2){0!==e2.length&&(this.stateEventCoalescer.note(e2,t2),this.scheduleStateUpdatedFlush())}scheduleStateUpdatedFlush(){if(this.stateUpdatedFlushScheduled||this.stateEventCoalescer.isFinalized())return;this.stateUpdatedFlushScheduled=true;const t2=()=>{this.stateUpdatedFlushScheduled=false,this.flushStateUpdated()};"function"==typeof requestAnimationFrame?requestAnimationFrame(t2):setTimeout(t2,0)}flushStateUpdated(){const t2=this.stateEventCoalescer.takeFlush();null!==t2&&this.stateUpdated.emit({changedSlices:[...t2.changedSlices],sources:[...t2.sources],coalescedBatches:t2.coalescedBatches})}emitPreDestroyedOnce(){if(this.stateEventCoalescer.isFinalized())return;if(this.flushStateUpdated(),!this.stateEventCoalescer.finalizeOnce())return;const t2=Ys(this.gridStateCaptureInput());this.preDestroyed.emit({state:t2.state,captureIssues:t2.issues})}applyInitialGridState(){if(null==this.initialState)return;const t2=ro(this.initialState);if(!t2.ok||null===t2.state)return void console.warn("[SG:STATE] initialState rejected by migration:",t2.issues.map((t3=>`${t3.path} ${t3.detail}`)).join("; "));const e2=Zs(t2.state,this.gridStateApplyContexts());if(!e2.ok)return void console.warn("[SG:STATE] initialState rejected:",e2.issues.map((t3=>`${t3.path} ${t3.detail}`)).join("; "));const i2=Gt(e2,t2.state);if(i2.length>0){const t3=Vt(i2);if(this.proGate().awaiting(t3))return void(this.initialStateLicenseFeatures=t3);const e3=this.proGate().refuseRequest(t3,"initialState");if(e3.length>0)return void console.warn("[SG:STATE] initialState rejected (license):",Wt(i2,e3).map((t4=>`${t4.path} ${t4.detail}`)).join("; "));const n2=Ut(i2);if(n2.length>0&&!Hl("pro-filters")){for(const t4 of Vt(n2))this.proModuleAvailable(t4,"initialState","pro-filters");return void console.warn("[SG:STATE] initialState rejected (module-missing):",Kt(n2,"module-missing","pro-filters").map((t4=>`${t4.path} ${t4.detail}`)).join("; "))}}e2.find?this.proFiltersModuleStep(i2,"initialState").then((async e3=>{if(!this.host.isConnected||e3.issues.length>0)return;const i3=Zs(t2.state,this.gridStateApplyContexts());if(!i3.ok)return;const n2=Gt(i3,t2.state);this.proGate().refuseRequest(Vt(n2),"initialState").length>0||(await this.executeGridStatePlan(i3),this.noteStateBatchSource("initial-state",i3.appliedSlices),this.reEvaluateEngine())})).catch((t3=>console.warn("[SG:STATE] initialState failed:",t3))):(this.executeGridStatePlan(e2),this.noteStateBatchSource("initial-state",e2.appliedSlices),this.reEvaluateEngine())}computeAutoSizeWidth(t2){const e2="string"==typeof t2.headerName&&t2.headerName.length>0?t2.headerName:t2.field,i2=this.harvestVisibleCellTexts(t2),n2=this.resolveAutoSizeFont(),r2=this.resolveInteractiveColumnMinWidth(t2),s2=this.resolveColumnMaxWidth(t2,r2);return(function(t3,e3={}){let i3,n3,r3,s3=false;function o2(t4){s3||(s3=true,console.warn("[Syidax] sy-grid: column-auto-size measureAutoSizeWidth "+t4))}"string"==typeof t3.headerText?i3=t3.headerText:(null==t3.headerText||o2(`received non-string headerText (${typeof t3.headerText}); coerced to "".`),i3=""),Array.isArray(t3.cellTexts)?n3=t3.cellTexts.map((t4=>"string"==typeof t4?t4:(t4??"")+"")):(null==t3.cellTexts||o2(`received non-array cellTexts (${typeof t3.cellTexts}); coerced to [].`),n3=[]);const l2=e3.padding;function a2(t4){return"number"==typeof t4&&Number.isFinite(t4)&&t4>0}function d2(t4){return"number"==typeof t4&&Number.isFinite(t4)&&t4>=0}void 0===l2?r3=16:"number"==typeof l2&&Number.isFinite(l2)&&l2>=0?r3=l2:(o2(`received non-finite/negative padding (${l2+""}); using default 16.`),r3=16);let u2=0;d2(e3.minWidth)?u2=e3.minWidth:d2(t3.colMin)&&(u2=t3.colMin);let c2=1/0;a2(e3.maxWidth)?c2=e3.maxWidth:a2(t3.colMax)&&(c2=t3.colMax);const h2=t3.measureText;let f2;"function"==typeof h2?f2=t4=>{try{const e4=h2(t4);return"number"==typeof e4&&Number.isFinite(e4)&&e4>=0?e4:(o2("measureText returned non-finite/negative value; treating as 0."),0)}catch{return o2("measureText threw on input; treating as 0."),0}}:(o2("received missing/non-function measureText; every measurement falls back to 0."),f2=()=>0);let g2=f2(i3);for(let t4=0;t4<n3.length;t4++){const e4=f2(n3[t4]);e4>g2&&(g2=e4)}const p2=g2+r3;let y2=p2;return u2<=c2&&(y2<u2&&(y2=u2),y2>c2&&(y2=c2)),{measuredWidth:g2,paddedWidth:p2,finalWidth:y2,wasClamped:p2!==y2}})({headerText:e2,cellTexts:i2,colMin:r2,colMax:Number.isFinite(s2)?s2:void 0,measureText:t3=>this.measureTextPx(t3,n2)},{})}resolveAutoSizeFont(){return"14px sans-serif"}harvestVisibleCellTexts(t2){const e2=this.getDisplayRows(),i2=t2.field,n2=Array(e2.length);for(let r2=0;r2<e2.length;r2++){const s2=e2[r2],o2=this.readPolicyConfigured()?this.maskDeniedFields(s2,r2,this.resolvedColumnDefs()):s2;let l2,a2;try{l2=this.resolveGridCellValue({row:o2,rowIndex:r2,colId:i2,field:i2,valueGetter:t2.valueGetter,colDef:t2})}catch{l2=o2[i2]}if(this.readPolicyConfigured()&&!this.isCellReadable(this.rawFieldValue(s2,r2,t2),s2,r2,t2)&&(l2=this.maskedCellValue),null!=t2.valueFormatter)try{a2=this.formatGridCellValue({value:l2,row:o2,rowIndex:r2,colId:i2,valueFormatter:t2.valueFormatter,locale:"string"==typeof this.locale?this.locale:"en",colDef:t2})}catch{a2=null==l2?"":l2+""}else a2=null==l2?"":l2+"";n2[r2]=a2}return n2}measureTextPx(t2,e2){let i2=this.autoSizeCanvasCache.get(e2)??null;if(null===i2&&(i2=this.createAutoSizeContext(e2),null!==i2&&this.autoSizeCanvasCache.set(e2,i2)),null===i2)return 0;try{const e3=i2.measureText(t2).width;return"number"==typeof e3&&Number.isFinite(e3)&&e3>=0?e3:0}catch{return 0}}createAutoSizeContext(t2){try{if("undefined"!=typeof OffscreenCanvas){const e2=new OffscreenCanvas(1,1).getContext("2d");if(null!==e2)return e2.font=t2,e2}}catch{}try{if("undefined"!=typeof document&&"function"==typeof document.createElement){const e2=document.createElement("canvas").getContext("2d");if(null!==e2)return e2.font=t2,e2}}catch{}return null}handleColumnReorderPointerDown(t2,e2){t2.preventDefault(),t2.stopPropagation();const i2=this.effectiveColumnIds();if(this.columnReorderController.start({colId:e2,columnIds:i2}),!this.columnReorderController.isActive())return;const n2=t2.currentTarget;if(this.startColumnReorderPreview(e2,n2,t2.clientX,t2.clientY),n2&&"function"==typeof n2.setPointerCapture)try{n2.setPointerCapture(t2.pointerId)}catch{}this.columnReorderPointerId=t2.pointerId,this.columnReorderHeaderEl=n2,this.columnReorderHeaderRowEl=n2?.parentElement,this.columnReorderStartRects=this.captureColumnReorderStartRects(),this.columnReorderStartPointerX=t2.clientX,this.attachColumnReorderDocumentListeners(),"undefined"!=typeof document&&document.body&&(document.body.style.cursor="grabbing");const r2=t3=>{"Escape"===t3.key&&this.columnReorderController.isActive()&&(t3.preventDefault(),this.cancelColumnReorder())};this.columnReorderEscHandler=r2,"undefined"!=typeof document&&document.addEventListener("keydown",r2,true)}attachColumnReorderDocumentListeners(){if("undefined"==typeof document)return;this.detachColumnReorderDocumentListeners();const t2=t3=>null===this.columnReorderPointerId||t3.pointerId===this.columnReorderPointerId;this.columnReorderDocPointerMoveHandler=e2=>{t2(e2)&&this.handleColumnReorderPointerMove(e2)},this.columnReorderDocPointerUpHandler=e2=>{t2(e2)&&this.handleColumnReorderPointerUp(e2)},this.columnReorderDocPointerCancelHandler=e2=>{t2(e2)&&this.handleColumnReorderPointerCancel(e2)},document.addEventListener("pointermove",this.columnReorderDocPointerMoveHandler,true),document.addEventListener("pointerup",this.columnReorderDocPointerUpHandler,true),document.addEventListener("pointercancel",this.columnReorderDocPointerCancelHandler,true)}detachColumnReorderDocumentListeners(){"undefined"!=typeof document&&(this.columnReorderDocPointerMoveHandler&&document.removeEventListener("pointermove",this.columnReorderDocPointerMoveHandler,true),this.columnReorderDocPointerUpHandler&&document.removeEventListener("pointerup",this.columnReorderDocPointerUpHandler,true),this.columnReorderDocPointerCancelHandler&&document.removeEventListener("pointercancel",this.columnReorderDocPointerCancelHandler,true),this.columnReorderDocPointerMoveHandler=null,this.columnReorderDocPointerUpHandler=null,this.columnReorderDocPointerCancelHandler=null)}captureColumnReorderStartRects(){const t2=this.columnReorderHeaderRowEl;return t2?Array.from(t2.children).filter((t3=>!t3.classList.contains("sy-grid__header-cell--selection"))).map((t3=>{const e2=t3.getBoundingClientRect();return{left:e2.left,right:e2.right}})):[]}computeReorderTargetIndex(t2){const e2=this.columnReorderController.getActive();if(null===e2)return null;const i2=this.columnReorderStartRects;if(0===i2.length)return null;const n2=Math.max(0,Math.min(e2.originIndex,i2.length-1));let r2=n2;const s2=t2>this.columnReorderStartPointerX?t2+this.columnReorderPointerToRightEdge:t2;for(let t3=n2+1;t3<i2.length&&!(s2<i2[t3].left);t3++)r2=t3;for(let e3=n2-1;e3>=0&&!(t2>i2[e3].right);e3--)r2=e3;return r2}handleColumnReorderPointerMove(t2){if(!this.columnReorderController.isActive())return;this.updateColumnReorderPreview(t2.clientX,t2.clientY);const e2=this.groupPanelActive()&&this.pointerOverGroupPanel(t2.clientX,t2.clientY);if(e2!==this.columnDragOverGroupPanel&&(this.columnDragOverGroupPanel=e2),e2)return;const i2=this.computeReorderTargetIndex(t2.clientX);if(null===i2)return;if(null===this.columnReorderController.move({targetIndex:i2}))return;const n2=this.columnReorderController.getActive();if(null===n2)return;const r2=n2.columnIdsAtStart.slice(),[s2]=r2.splice(n2.originIndex,1);r2.splice(n2.currentIndex,0,s2),this.columnOrder=r2.slice(),this.alignedNotify()}handleColumnReorderPointerUp(t2){if(this.columnReorderController.isActive()){if(this.columnDragOverGroupPanel){const t3=this.columnReorderController.getActive()?.draggedColId??null;return this.cancelColumnReorder(),this.columnDragOverGroupPanel=false,void(null!==t3&&this.setGroupByFromPanel(t3))}true===this.reorderableColumns?this.commitColumnReorder():this.cancelColumnReorder()}}pointerOverGroupPanel(t2,e2){const i2=this.groupPanelEl;if(null===i2)return false;const n2=i2.getBoundingClientRect();return t2>=n2.left&&t2<=n2.right&&e2>=n2.top&&e2<=n2.bottom}setGroupByFromPanel(t2){this.groupBy!==t2&&this.proNewWorkAllowed("grid.row-grouping","groupPanel")&&(this.groupBy=t2,this.rowGroupChanged.emit({groupBy:t2}))}clearGroupByFromPanel(){void 0!==this.groupBy&&""!==this.groupBy&&(this.groupBy=void 0,this.rowGroupChanged.emit({groupBy:null}))}handleColumnReorderPointerCancel(t2){this.columnReorderController.isActive()&&this.cancelColumnReorder()}commitColumnReorder(){const t2=this.columnReorderController.commit();if(null!==t2){const e2=t2.orderAfter.slice();this.columnOrder=e2.slice(),this.alignedNotify(),t2.finalIndex!==t2.originIndex&&this.columnReordered.emit({colId:t2.colId,originIndex:t2.originIndex,finalIndex:t2.finalIndex,orderBefore:t2.orderBefore,orderAfter:t2.orderAfter})}this.teardownColumnReorderDrag()}cancelColumnReorder(){const t2=this.columnReorderController.getActive();null!==t2&&(this.columnOrder=t2.columnIdsAtStart.slice(),this.alignedNotify()),this.columnReorderController.cancel(),this.teardownColumnReorderDrag()}teardownColumnReorderDrag(){if(this.columnReorderHeaderEl&&null!==this.columnReorderPointerId)try{"function"==typeof this.columnReorderHeaderEl.releasePointerCapture&&this.columnReorderHeaderEl.releasePointerCapture(this.columnReorderPointerId)}catch{}this.columnReorderPointerId=null,this.columnReorderHeaderEl=null,this.columnReorderHeaderRowEl=null,this.columnDragOverGroupPanel&&(this.columnDragOverGroupPanel=false),this.columnReorderStartRects=[],this.columnReorderStartPointerX=0,this.columnReorderPointerToRightEdge=0,this.detachColumnReorderDocumentListeners(),this.removeColumnReorderPreview(),this.columnReorderPointerOffsetX=0,this.columnReorderPointerOffsetY=0,this.columnReorderEscHandler&&"undefined"!=typeof document&&document.removeEventListener("keydown",this.columnReorderEscHandler,true),this.columnReorderEscHandler=null,"undefined"!=typeof document&&document.body&&(document.body.style.cursor="")}async setHoveredRow(t2){this.applyHoverTransition(t2)}async getHoveredRowId(){return this.hoverState.hoveredRowId}async getActiveEditTransaction(){return this.editStore.active}async commitActiveEdit(){const t2=this.editorFacade;return null!==t2&&"idle"!==t2.lookup().status?"committed"===(await t2.stop("api")).status:this.commitEditTransaction()}async cancelActiveEdit(){const t2=this.invalidateLifecycleEditorRequests(),e2=this.editorFacade,i2=this.editStore.active;if(null!==e2&&"idle"!==e2.lookup().status){const i3=await e2.stop("api",{cancel:true});return t2||"cancelled"===i3.status||"cancelled-before-start"===i3.status}if(null===i2)return t2;if("pending"!==i2.phase)return t2;const n2=this.editingCell?.rowIndex??i2.rowIndex,r2=this.editingCell?.colIndex??i2.colIndex;return this.editingCell=null,this.unregisterLifecycleEditorDocumentOwner(),this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:n2,colIndex:r2}),true}async registerCellRenderer(t2,e2){if("string"!=typeof t2||0===t2.trim().length)return this.cellRendererRegistry.register(t2,e2);if("function"!=typeof e2)return this.cellRendererRegistry.register(t2,e2);const i2=this.cellRendererRegistry.register(t2,e2);return i2&&(this.cellRendererVersion=this.cellRendererVersion+1),i2}async listRegisteredCellRenderers(){return this.cellRendererRegistry.list()}async unregisterCellRenderer(t2){if("string"!=typeof t2)return false;if(pl.indexOf(t2)>=0)return false;const e2=this.cellRendererRegistry.unregister(t2);return e2&&(this.cellRendererVersion=this.cellRendererVersion+1),e2}async registerGridComponent(t2,e2,i2,n2){(await this.getComponentManager(e2)).register(t2,e2,i2,n2),"local"===t2&&this.localGridComponentRegistrations.set(`${e2}\0${i2.trim()}`,{kind:e2,name:i2.trim(),definition:n2}),this.componentRegistryRevision+=1,"filter"!==e2&&"floatingFilter"!==e2||this.invalidateComponentFilterRuntime(),this.lifecycleRendererPresentationVersion+=1}async replaceGridComponent(t2,e2,i2,n2){(await this.getComponentManager(e2)).replace(t2,e2,i2,n2),"local"===t2&&this.localGridComponentRegistrations.set(`${e2}\0${i2.trim()}`,{kind:e2,name:i2.trim(),definition:n2}),this.componentRegistryRevision+=1,"filter"!==e2&&"floatingFilter"!==e2||this.invalidateComponentFilterRuntime(),this.lifecycleRendererPresentationVersion+=1}async unregisterGridComponent(t2,e2,i2){const n2=(await this.getComponentManager(e2)).unregister(t2,e2,i2);return n2&&("local"===t2&&this.localGridComponentRegistrations.delete(`${e2}\0${i2.trim()}`),this.componentRegistryRevision+=1,"filter"!==e2&&"floatingFilter"!==e2||this.invalidateComponentFilterRuntime(),this.lifecycleRendererPresentationVersion+=1),n2}async getRegisteredGridComponentNames(t2,e2){return(await this.getComponentManager(e2)).list(t2,e2)}async getCellRendererInstance(t2,e2){const i2=this.componentFacadeIdentity(t2,e2),n2=this.componentManager;return null===i2?{status:"unavailable",key:this.componentRendererCellKey(t2,e2)}:null===n2?{status:"unavailable",key:this.componentRendererCellKey(i2.rowId,i2.colId)}:n2.renderer.lookup(i2)}async destroyCellRendererInstance(t2,e2){const i2=this.componentFacadeIdentity(t2,e2),n2=this.componentManager;if(null===i2||null===n2)return false;const r2=n2.renderer.lookup(i2);if("mounted"!==r2.status)return false;null!==this.focusedLifecycleRenderer&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,i2)&&this.focusedLifecycleRenderer.generation===r2.generation&&this.releaseFocusedLifecycleRenderer();const s2=await n2.renderer.destroy(i2,r2.generation);if(s2){null!==this.focusedLifecycleRenderer&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,i2)&&this.focusedLifecycleRenderer.generation===r2.generation&&(this.focusedLifecycleRenderer=null,this.lifecycleRendererFocusSequence+=1);const t3=JSON.stringify([i2.rowId,i2.colId]);this.lifecycleRendererPresentations.delete(t3)&&(this.lifecycleRendererPresentationVersion+=1)}return s2}async focusCellRendererInstance(t2,e2,i2){const n2=this.componentFacadeIdentity(t2,e2),r2=this.componentManager;if(null===n2||null===r2||"in"!==i2&&"out"!==i2)return false;const s2=r2.renderer.lookup(n2);if("mounted"!==s2.status)return false;let o2=null;const l2=this.lifecycleRendererFocusSequence;if("in"===i2){const t3=this.lifecycleRendererFocusSequence;if(this.releaseFocusedLifecycleRenderer(),this.lifecycleRendererFocusSequence!==t3+1)return false;o2=++this.lifecycleRendererFocusSequence}if(!("in"===i2?r2.renderer.focusIn(n2,s2.generation):r2.renderer.focusOut(n2,s2.generation)))return false;if("in"===i2){if(o2!==this.lifecycleRendererFocusSequence||r2!==this.componentManager)return r2.renderer.focusOut(n2,s2.generation),false;this.focusedLifecycleRenderer={identity:n2,generation:s2.generation}}else l2===this.lifecycleRendererFocusSequence&&null!==this.focusedLifecycleRenderer&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,n2)&&(this.focusedLifecycleRenderer=null,this.lifecycleRendererFocusSequence+=1);return true}async getCellEditorInstance(){const t2=this.editorFacade?.lookup();return void 0===t2||"mounted"!==t2.status?null:this.componentManager?.editor.runtime.lookup(t2.ref.key)??null}async getColumnFilterInstance(t2){await this.reconcileComponentFilters();const e2=this.filterFacade?.lookupFilterInstance(t2);return"mounted"===e2?.status?e2.instance:null}async getColumnFilterModel(t2){await this.reconcileComponentFilters();const e2=await this.filterFacade?.getFilterModel(t2);return"ok"===e2?.status?e2.value:null}async setColumnFilterModel(t2,e2){await this.reconcileComponentFilters();const i2=await this.filterFacade?.setFilterModel(t2,e2,"api");return"ok"===i2?.status}async onFilterChanged(){await this.reconcileComponentFilters();const t2=this.filterFacade;null!==t2&&await this.runComponentFilterChangeBatch((()=>t2.synchronizeFilterModels("api")))}async refreshExternalFilter(){return null!=this.externalFilter&&(this.externalFilterRevision+=1,this.externalFilterReadyRevision=-1,this.invalidateComponentFilterRuntime(),await this.reconcileComponentFilters(),this.externalFilterRuntimeReady())}async destroyColumnFilter(t2){await this.reconcileComponentFilters();const e2=this.filterFacade;if(null===e2)return false;const i2=await e2.getFilterModel(t2);"ok"===i2.status&&this.componentFilterModels.set(t2,i2.value);const n2=await e2.destroyFilter(t2);return n2&&(this.componentRecentlyDestroyedFilters.add(t2),this.componentFilterRestorePending=true,this.invalidateComponentFilterRuntime(),this.lifecycleFilterVersion+=1),n2}async recreateColumnFilter(t2,e2={}){const i2=this.componentRecentlyDestroyedFilters.delete(t2),n2=i2?this.componentFilterModels.get(t2):void 0,r2=i2&&this.componentFilterModels.has(t2);i2&&false===e2.preserveModel&&(this.componentFilterModels.delete(t2),this.componentFilterRestorePending=this.componentFilterModels.size>0),await this.reconcileComponentFilters();const s2=this.filterFacade;if(null===s2)return false;if(i2&&"mounted"===s2.lookupFilterInstance(t2).status){if(false===e2.preserveModel){const e3=await s2.setFilterModel(t2,null,"api");return"ok"===e3.status&&r2&&null!==n2&&!this.componentFilterModels.has(t2)&&(this.componentFilterModels.set(t2,n2),this.handleComponentFilterChanged(t2,"api",null)),"ok"===e3.status}return true}const o2=await s2.recreateFilter(t2,e2),l2="mounted"===o2.status||"attached"===o2.status||"already-attached"===o2.status;return l2&&(this.lifecycleFilterVersion+=1),l2}lifecycleEditorCellElement(t2,e2){return this.host?.querySelector(`.sy-grid__row[data-row-index="${t2}"] .sy-grid__cell[data-col-index="${e2}"]`)??void 0}registerLifecycleEditorDocumentOwner(){const t2=this.host?.ownerDocument;if(void 0===t2)return;let e2=jl.get(t2);void 0===e2&&(e2=new Map,jl.set(t2,e2)),e2.set(this,{contains:e3=>{const i2=t2.defaultView?.Node;return void 0!==i2&&e3 instanceof i2&&(this.host.contains(e3)||true===this.lifecycleEditorAttachedWrapper?.contains(e3))}})}focusLifecycleEditorDocumentOwner(){const t2=this.host?.ownerDocument;void 0!==t2&&true===jl.get(t2)?.has(this)&&Nl.set(t2,this)}unregisterLifecycleEditorDocumentOwner(){const t2=this.host?.ownerDocument;if(void 0===t2)return;const e2=jl.get(t2);e2?.delete(this),0===e2?.size&&jl.delete(t2),Nl.get(t2)===this&&Nl.delete(t2)}ownsLifecycleEditorDocumentEvent(t2){const e2=this.host?.ownerDocument;if(void 0===e2)return false;const i2=jl.get(e2);if(void 0===i2||!i2.has(this))return false;const n2="function"==typeof t2.composedPath?t2.composedPath():[t2.target];for(const t3 of n2)for(const[e3,n3]of i2)if(n3.contains(t3))return e3===this;const r2=e2.activeElement;if(null!==r2){for(const[t3,e3]of i2)if(e3.contains(r2))return t3===this}const s2=Nl.get(e2);return void 0!==s2?s2===this:1===i2.size}waitForLifecycleEditorAttachment(t2){let e2;this.lifecycleEditorAttachmentReady?.settle(false);const i2=new Promise((t3=>{let i3=false;e2=e3=>{i3||(i3=true,t3(e3))}}));return this.lifecycleEditorAttachmentReady={key:t2,task:i2,settle:e2},i2}settleLifecycleEditorAttachment(t2,e2){const i2=this.lifecycleEditorAttachmentReady;null===i2||void 0!==t2&&i2.key!==t2||(this.lifecycleEditorAttachmentReady=null,i2.settle(e2))}clearLifecycleEditorValidation(t2,e2){const i2=this.lifecycleEditorValidationPresentation;null===i2||void 0!==t2&&i2.ref.key!==t2||void 0!==e2&&i2.ref.generation!==e2||(this.lifecycleEditorValidationPresentation=null,i2.presentation.clear())}currentLifecycleEditorValidationTarget(t2,e2){try{if(this.editStore!==e2||null===e2.active||"pending"!==e2.active.phase||!this.host?.isConnected||this.lifecycleEditorRef?.key!==t2.key||this.lifecycleEditorRef.generation!==t2.generation||this.lifecycleEditorNavigationTarget?.key!==t2.key)return null;const i2=this.resolveQueuedCellEditTarget(this.lifecycleEditorNavigationTarget.target,false),n2=null===i2?void 0:this.effectiveColumns()[i2.colIndex],r2=this.editorFacade?.lookup(),s2=this.lifecycleEditorAttachedWrapper;return null!==i2&&void 0!==n2&&"mounted"===r2?.status&&r2.ref.key===t2.key&&r2.ref.generation===t2.generation&&r2.attached&&null!==s2&&s2.isConnected&&s2.contains(r2.gui)?{wrapper:s2,rowIndex:i2.rowIndex,field:n2.field}:null}catch{return null}}reportLifecycleEditorInvalidBlock(t2,e2){const i2=t2.result,n2=t2.ref;if(void 0===n2||"invalid"!==i2.status||"block"!==i2.mode||"retained"!==t2.transactionOutcome)return;const r2=this.currentLifecycleEditorValidationTarget(n2,e2);if(null===r2)return void this.clearLifecycleEditorValidation(n2.key,n2.generation);const s2=i2.errors[0]?.message??"Invalid value";this.clearLifecycleEditorValidation();const o2=this.componentEditorValidationPresenter?.(r2.wrapper,s2)??null;null!==o2&&(this.lifecycleEditorValidationPresentation={ref:n2,presentation:o2});const l2=this.currentLifecycleEditorValidationTarget(n2,e2);null!==l2&&l2.wrapper===r2.wrapper?this.cellValidationFailed.emit({rowIndex:l2.rowIndex,field:l2.field,value:i2.value,message:s2}):this.clearLifecycleEditorValidation(n2.key,n2.generation)}resetLifecycleEditorPresentation(t2){const e2=this.lifecycleEditorRef?.key??this.lifecycleEditorNavigationTarget?.key;void 0!==t2&&void 0!==e2&&e2!==t2||(this.clearLifecycleEditorValidation(t2),this.settleLifecycleEditorAttachment(t2,false),this.lifecycleEditorRef=null,this.lifecycleEditorCell=null,void 0!==t2&&this.lifecycleEditorNavigationTarget?.key!==t2||(this.lifecycleEditorNavigationTarget=null),this.lifecycleEditorHost=null,this.lifecycleEditorAttachTask=null,this.lifecycleEditorAttachedWrapper=null,this.lifecycleEditorPopupReposition=null,this.unregisterLifecycleEditorDocumentOwner(),this.lifecycleEditorVersion+=1)}invalidateLifecycleEditorRequests(){const t2=null!==this.lifecycleEditorQueuedRequestRevision;return this.lifecycleEditorRequestRevision+=1,this.lifecycleEditorQueuedRequestRevision=null,t2}handleLifecycleEditorStop(t2,e2,i2,n2){"invalid"===t2.result.status&&"block"===t2.result.mode?this.reportLifecycleEditorInvalidBlock(t2,e2):void 0!==t2.ref&&this.clearLifecycleEditorValidation(t2.ref.key,t2.ref.generation),"retained"!==t2.transactionOutcome?("cancelled"===t2.transactionOutcome&&this.editStore===e2&&null!==e2.active&&"pending"===e2.active.phase&&(this.editingCell=null,this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:i2,colIndex:n2})),t2.terminal&&("cancelled"===t2.transactionOutcome&&"replacement"!==t2.reason&&this.invalidateLifecycleEditorRequests(),this.resetLifecycleEditorPresentation(t2.key),"enter"!==t2.reason&&"escape"!==t2.reason&&"api"!==t2.reason||queueMicrotask((()=>{this.host?.isConnected&&"idle"===this.editorFacade?.lookup().status&&(this.viewportEl?.focus({preventScroll:true}),this.focusActiveLifecycleRenderer())})))):this.editStore!==e2&&void 0!==t2.ref&&this.lifecycleEditorRef?.key===t2.key&&(this.invalidateLifecycleEditorRequests(),this.editorFacade?.stop("api",{cancel:true}))}beginLifecycleEditor(t2,e2,i2,n2,r2,s2,o2){const l2=this.editStore,a2=this.componentFilterColumnId(n2)||n2.field+"",d2=`editor:${++this.lifecycleEditorSequence}:${JSON.stringify([t2,a2])}`;let u2=null;try{u2=this.editRowIdentity(i2)}catch{u2=null}const c2={row:i2,rowId:u2,colId:a2};this.lifecycleEditorNavigationTarget={key:d2,target:c2},this.lifecycleEditorCell={rowIndex:t2,colIndex:e2},this.lifecycleEditorRef=null,this.lifecycleEditorHost=null,this.lifecycleEditorVersion+=1;const h2=(t3=true)=>this.editStore!==l2||this.lifecycleEditorNavigationTarget?.key!==d2?null:this.resolveQueuedCellEditTarget(c2,t3);let f2=false;return(async()=>{await this.getComponentManager("editor"),f2=true;const i3=this.editorFacade;if(null===i3||this.editStore!==l2||!this.host?.isConnected)return this.resetLifecycleEditorPresentation(d2),false;const n3=h2(),u3=null===n3?void 0:this.getDisplayRows()[n3.rowIndex],c3=null===n3?void 0:this.effectiveColumns()[n3.colIndex],g2=null!=u3&&"object"==typeof u3&&void 0!==c3?Q(u3,c3.field):void 0;if(null===n3||null==u3||"object"!=typeof u3||null==c3?.cellEditor||!be(g2,r2))return this.handleLifecycleEditorStop({key:d2,ref:void 0,reason:"replacement",origin:"lifecycle",result:{status:"cancelled-before-start",key:d2},transactionOutcome:"cancelled",terminal:true},l2,n3?.rowIndex??t2,n3?.colIndex??e2),false;this.lifecycleEditorCell=n3;const p2=this.readPolicyConfigured()?this.maskDeniedFields(u3,n3.rowIndex,this.resolvedColumnDefs()):u3,y2=await i3.begin({key:d2,declaration:c3.cellEditor,local:this.components,params:{value:g2,data:p2,rowIndex:n3.rowIndex,colId:a2,cellElement:this.lifecycleEditorCellElement(n3.rowIndex,n3.colIndex),startedBy:s2,event:o2,context:this.context},invalidMode:this.invalidEditMode,canCommit:()=>null!==h2(),commitPrepared:t3=>{const e3=h2();return null!==e3&&this.commitPreparedCellEdit("editor",e3.rowIndex,e3.colIndex,t3,r2,true,l2)},onStopResult:i4=>{const n4=h2(false);this.handleLifecycleEditorStop(i4,l2,n4?.rowIndex??t2,n4?.colIndex??e2)}});if(this.editStore!==l2||!this.host?.isConnected)return"started"===y2.status&&await i3.destroy(y2.ref),this.resetLifecycleEditorPresentation(d2),false;if("started"===y2.status){this.lifecycleEditorRef=y2.ref;const t3=this.waitForLifecycleEditorAttachment(d2);this.lifecycleEditorVersion+=1;const e3=await t3,n4=i3.lookup();return e3&&this.editStore===l2&&this.lifecycleEditorRef?.key===y2.ref.key&&this.lifecycleEditorRef.generation===y2.ref.generation&&"mounted"===n4.status&&n4.attached}return"failed"!==y2.status&&"stale"!==y2.status&&"blocked-by-active"!==y2.status||this.handleLifecycleEditorStop({key:d2,ref:void 0,reason:"replacement",origin:"lifecycle",result:"failed"===y2.status?{status:"failed",key:d2,generation:0,error:y2.error}:{status:"cancelled-before-start",key:d2},transactionOutcome:"cancelled",terminal:true},l2,t2,e2),false})().catch((i3=>(f2&&this.emitComponentError({code:"CREATE_FAILED",phase:"create",componentKind:"editor",mountKey:d2,retryable:true,cause:i3}),this.handleLifecycleEditorStop({key:d2,ref:void 0,reason:"replacement",origin:"lifecycle",result:{status:"cancelled-before-start",key:d2},transactionOutcome:"cancelled",terminal:true},l2,t2,e2),false)))}lifecycleEditorPlacement(t2,e2,i2){const n2=this.componentPopupPlacement,r2=this.host?.ownerDocument??document,s2=r2.documentElement,o2=t2?.getBoundingClientRect()??{left:0,top:0,right:0,bottom:0,width:0,height:0},l2=e2.getBoundingClientRect();if(null===n2)return{position:"fixed",placement:i2,left:o2.left,top:"under"===i2?o2.bottom+4:o2.top,width:Math.max(o2.width,l2.width),maxWidth:s2.clientWidth,maxHeight:s2.clientHeight};const a2=this.host.getAttribute("dir")??r2.documentElement.getAttribute("dir")??"ltr";return n2(o2,{width:l2.width,height:l2.height},{left:0,top:0,right:s2.clientWidth,bottom:s2.clientHeight,width:s2.clientWidth,height:s2.clientHeight},{preferred:i2,rtl:"rtl"===a2.toLowerCase(),touch:true===r2.defaultView?.matchMedia?.("(pointer: coarse)").matches})}applyLifecycleEditorPlacement(t2,e2){t2.style.position=e2.position,t2.style.left=e2.left+"px",t2.style.top=e2.top+"px",t2.style.width=e2.width+"px",t2.style.maxWidth=e2.maxWidth+"px",t2.style.maxHeight=e2.maxHeight+"px",t2.dataset.placement=e2.placement}lifecycleEditorDomHost(){return{calculatePopupPlacement:({gui:t2,preferred:e2,cellElement:i2})=>this.lifecycleEditorPlacement(i2,t2,e2),attach:({ref:t2,gui:e2,mode:i2,placement:n2,cellElement:r2})=>{const s2=this.host.ownerDocument,o2="inline"===i2?this.lifecycleEditorHost:s2.createElement("div");if(null===o2||!o2.isConnected&&"inline"===i2)throw Error("Lifecycle editor inline host is detached.");if("popup"===i2){o2.className="sy-grid__cell-editor-component-popup",o2.dataset.componentKey=t2.key;const e3=s2.defaultView?.getComputedStyle(this.host);if(void 0!==e3){for(let t3=0;t3<e3.length;t3+=1){const i3=e3.item(t3);i3.startsWith("--sy-")&&o2.style.setProperty(i3,e3.getPropertyValue(i3))}o2.dir="rtl"===e3.direction?"rtl":"ltr",o2.style.fontFamily=e3.fontFamily}s2.body.appendChild(o2)}o2.replaceChildren(e2),this.lifecycleEditorAttachedWrapper=o2;const l2=()=>{const e3=this.lifecycleEditorNavigationTarget?.key===t2.key?this.lifecycleEditorNavigationTarget.target:null;if(null===e3)return r2?.isConnected?r2:void 0;const i3=this.resolveQueuedCellEditTarget(e3,false);return null===i3?void 0:this.lifecycleEditorCellElement(i3.rowIndex,i3.colIndex)},a2=()=>{if("popup"!==i2||!o2.isConnected)return;const t3=l2();if(void 0===t3||!t3.isConnected)return this.invalidateLifecycleEditorRequests(),void this.editorFacade?.stop("virtual-scroll",{cancel:true});this.applyLifecycleEditorPlacement(o2,this.lifecycleEditorPlacement(t3,e2,"above"===n2?.placement?"under":n2?.placement??"over"))};let d2=null,u2=null;const c2=()=>{const t3=s2.defaultView;"popup"===i2&&null!==t3&&null===u2&&(u2=t3.requestAnimationFrame((()=>{u2=null,a2()})))};if("popup"===i2){const t3=l2();if(void 0===t3||!t3.isConnected)throw Error("Lifecycle editor target cell is detached.");this.applyLifecycleEditorPlacement(o2,this.lifecycleEditorPlacement(t3,e2,"above"===n2?.placement?"under":n2?.placement??"over"));const i3=s2.defaultView?.ResizeObserver;void 0!==i3&&(d2=new i3(c2),d2.observe(e2))}const h2=e3=>{e3.stopPropagation();const i3=this.editorFacade;if(null===i3)return;true===e3.isComposing||"Enter"!==e3.key&&"Tab"!==e3.key&&"Escape"!==e3.key&&"Esc"!==e3.key||this.invalidateLifecycleEditorRequests();const n3=this.lifecycleEditorNavigationTarget?.key===t2.key?this.lifecycleEditorNavigationTarget.target:null;i3.handleKey({key:e3.key,shiftKey:e3.shiftKey,isComposing:e3.isComposing,preventDefault:()=>e3.preventDefault()}).then((t3=>{if(!t3.handled||void 0===t3.navigation||"idle"!==i3.lookup().status)return;const e4=null===n3?null:this.resolveQueuedCellEditTarget(n3,false);null!==e4&&this.handoffLifecycleRendererFocus(e4.rowIndex,e4.colIndex,t3.navigation)}))},f2=()=>{this.focusLifecycleEditorDocumentOwner(),this.editorFacade?.focusIn(t2)},g2=e3=>{const i3=e3.relatedTarget;i3 instanceof Node&&o2.contains(i3)||(this.editorFacade?.focusOut(t2),this.editorFacade?.handleBlur())},p2=t3=>t3.stopPropagation(),y2=t3=>{t3.stopPropagation();const e3=t3.target;null!==e3&&null===e3.closest('input, textarea, select, [contenteditable="true"], [contenteditable=""]')&&t3.preventDefault()};return o2.addEventListener("keydown",h2),o2.addEventListener("focusin",f2),o2.addEventListener("focusout",g2),o2.addEventListener("mousedown",y2),o2.addEventListener("click",p2),"popup"===i2&&(s2.defaultView?.addEventListener("resize",a2),s2.addEventListener("scroll",a2,true),this.lifecycleEditorPopupReposition={key:t2.key,recalculate:a2}),{wrapper:o2,gui:e2,mode:i2,cleanup:()=>{this.clearLifecycleEditorValidation(t2.key,t2.generation),o2.removeEventListener("keydown",h2),o2.removeEventListener("focusin",f2),o2.removeEventListener("focusout",g2),o2.removeEventListener("mousedown",y2),o2.removeEventListener("click",p2),s2.defaultView?.removeEventListener("resize",a2),s2.removeEventListener("scroll",a2,true),d2?.disconnect(),d2=null,null!==u2&&null!==s2.defaultView&&(s2.defaultView.cancelAnimationFrame(u2),u2=null),this.lifecycleEditorAttachedWrapper===o2&&(this.lifecycleEditorAttachedWrapper=null),this.lifecycleEditorPopupReposition?.key===t2.key&&(this.lifecycleEditorPopupReposition=null)}}},detach:t2=>{t2.cleanup(),t2.gui.parentNode===t2.wrapper&&t2.wrapper.removeChild(t2.gui),"popup"===t2.mode&&t2.wrapper.remove()}}}attachLifecycleEditor(){const t2=this.editorFacade,e2=this.lifecycleEditorCell;if(null===e2)return;const i2=this.lifecycleEditorNavigationTarget?.target,n2=void 0===i2?e2:this.resolveQueuedCellEditTarget(i2,false);if(null===n2)return void(null===t2?this.cancelActiveEdit():(this.invalidateLifecycleEditorRequests(),t2.stop("virtual-scroll",{cancel:true})));n2.rowIndex===e2.rowIndex&&n2.colIndex===e2.colIndex||(this.lifecycleEditorCell=n2);const r2=this.lifecycleEditorCellElement(n2.rowIndex,n2.colIndex);if(void 0===r2||!r2.isConnected)return void(null===t2?this.cancelActiveEdit():(this.invalidateLifecycleEditorRequests(),t2.stop("virtual-scroll",{cancel:true})));if(null===t2)return;const s2=t2.lookup();if("starting"===s2.status)return;const o2=this.lifecycleEditorRef;if(null===o2||"mounted"!==s2.status)return;const l2=this.lifecycleEditorHost;if(null===l2||!l2.isConnected)return this.invalidateLifecycleEditorRequests(),void t2.stop("virtual-scroll",{cancel:true});if(null!==this.lifecycleEditorAttachTask)return;const a2=o2.key,d2=t2.attach(o2,this.lifecycleEditorDomHost()).then((t3=>{this.settleLifecycleEditorAttachment(a2,"attached"===t3.status)})).catch((()=>{this.settleLifecycleEditorAttachment(a2,false)})).finally((()=>{this.lifecycleEditorAttachTask===d2&&(this.lifecycleEditorAttachTask=null)}));this.lifecycleEditorAttachTask=d2}richSelectDeclared(t2){const e2=t2.cellEditor;return null!=e2?"object"==typeof e2&&"rich-select"===e2.type:"autocomplete"===t2.editor}editableCellTarget(t2,e2){const i2=this.getDisplayRows()[t2],n2=this.effectiveColumns()[e2];return null==i2||void 0===n2||true!==n2.editable||this.richSelectDeclared(n2)&&!this.proAllowed("grid.rich-select","columnDefs")?null:null==n2.cellEditor&&"autocomplete"===n2.editor&&null===this.richSelectArmed()?(this.proModuleAvailable("grid.rich-select","columnDefs","rich-select"),null):yi(i2)||bi(i2)||wi(i2)||_i(i2)||ji(i2)?null:this.passesEditPolicy(t2,n2,i2)?{row:i2,col:n2}:null}queuedCellEditTarget(t2,e2){const i2=this.editableCellTarget(t2,e2);if(null===i2)return null;let n2=null;try{n2=this.editRowIdentity(i2.row)}catch{n2=null}return{row:i2.row,rowId:n2,colId:this.componentFilterColumnId(i2.col)}}resolveQueuedCellEditTarget(t2,e2=true){const i2=this.effectiveColumns();let n2=-1;for(let e3=0;e3<i2.length;e3+=1)if(this.componentFilterColumnId(i2[e3])===t2.colId){if(n2>=0)return null;n2=e3}if(n2<0)return null;const r2=this.getDisplayRows(),s2=[];for(let e3=0;e3<r2.length;e3+=1){const i3=r2[e3];if(null!==i3&&"object"==typeof i3)if(null!==t2.rowId)try{Object.is(this.editRowIdentity(i3),t2.rowId)&&s2.push(e3)}catch{}else i3===t2.row&&s2.push(e3)}if(1!==s2.length)return null;const o2=s2[0];return e2&&null===this.editableCellTarget(o2,n2)?null:{rowIndex:o2,colIndex:n2}}beginCellEdit(t2,e2,i2="api",n2=null){const r2=this.rowLayoutFrame?.access("edit",t2,e2)??null;return null!==r2&&r2.redirected&&(t2=r2.origin.rowIndex,e2=r2.origin.colIndex),this.isFullWidthDisplayRow(t2)?(this.rowLayoutRefused.emit({area:"full-width-rows",feature:"cell-edit",reason:"full-width-row",detail:`row ${t2} is a full-width row; its renderer owns the content`,rowIndex:t2,colIndex:e2}),false):null!==this.editableCellTarget(t2,e2)&&(null!==this.editStore.active||null!==this.editorFacade&&"idle"!==this.editorFacade.lookup().status?(this.requestCellEdit(t2,e2,i2,n2),true):this.beginCellEditNow(t2,e2,i2,n2))}requestCellEdit(t2,e2,i2="api",n2=null){const r2=this.queuedCellEditTarget(t2,e2);if(null===r2)return Promise.resolve(false);const s2=++this.lifecycleEditorRequestRevision;this.lifecycleEditorQueuedRequestRevision=s2;const o2=async()=>{if(s2!==this.lifecycleEditorRequestRevision)return false;const t3=this.editorFacade;if(null!==t3&&"idle"!==t3.lookup().status){if(await t3.stop("replacement"),s2!==this.lifecycleEditorRequestRevision)return false;if("idle"!==t3.lookup().status||null!==this.editStore.active)return false}else if(null!==this.editStore.active&&!this.commitEditTransaction())return false;if(s2!==this.lifecycleEditorRequestRevision)return false;const e3=this.resolveQueuedCellEditTarget(r2);if(null===e3)return false;if(!this.beginCellEditNow(e3.rowIndex,e3.colIndex,i2,n2))return false;const o3=this.lifecycleEditorStartTask;return null===o3||await o3},l2=this.lifecycleEditorRequestTask.then(o2,o2);return this.lifecycleEditorRequestTask=l2.then((()=>{}),(()=>{})),l2.then((()=>{this.lifecycleEditorQueuedRequestRevision===s2&&(this.lifecycleEditorQueuedRequestRevision=null)}),(()=>{this.lifecycleEditorQueuedRequestRevision===s2&&(this.lifecycleEditorQueuedRequestRevision=null)})),l2}beginCellEditNow(t2,e2,i2="api",n2=null){const r2=this.editableCellTarget(t2,e2);if(null===r2)return false;const{row:s2,col:o2}=r2,l2=Q(s2,o2.field);if(!this.beginEditTransaction(t2,e2,l2))return false;if(this.editingCell={rowIndex:t2,colIndex:e2},this.registerLifecycleEditorDocumentOwner(),this.cellEditingRequested.emit({row:s2,rowIndex:t2,colIndex:e2,field:o2.field}),"fullRow"===this.editType){const t3=this.undoableRowId(s2);if(null!==t3){const e3=this.rowEditSessionRowId();null!==e3&&e3!==t3?this.finishRowEditSession("commit").then((()=>{null===this.rowEditSessionRowId()&&this.startRowEdit(t3)})):null===e3&&this.startRowEdit(t3)}}const a2=this.liveObjectModel?.getDisplayedRowAtIndex(t2),d2=()=>{a2&&this.publishLiveObjectChange("row",a2.id,"editingStarted","ui",{field:o2.field,data:s2})};if(this.lifecycleEditorStartTask=null,null!=o2.cellEditor){const r3=this.beginLifecycleEditor(t2,e2,s2,o2,l2,i2,n2);this.lifecycleEditorStartTask=r3,r3.then((t3=>{t3&&d2()})),r3.finally((()=>{this.lifecycleEditorStartTask===r3&&(this.lifecycleEditorStartTask=null)}))}else d2();return true}beginEditTransaction(t2,e2,i2){const n2=(function(t3,e3){const{rowIndex:i3,colIndex:n3,originalValue:r3,meta:s3}=e3;return Jr(i3)&&Jr(n3)?null!==t3.active?(Qr("beginEdit","while another transaction is pending; ignoring."),t3):{active:{rowIndex:i3,colIndex:n3,originalValue:r3,draftValue:r3,phase:"pending",id:t3.nextId,meta:Xr(s3,"beginEdit")},nextId:t3.nextId}:(Qr("beginEdit","ignored invalid coords."),t3)})(this.editStore,{rowIndex:t2,colIndex:e2,originalValue:i2});if(n2===this.editStore)return false;this.editStore=n2;const r2=this.effectiveColumns()[e2];if(this.largeTextConfig=null,this.largeTextAnchor=null,this.largeTextAnchorEl=null,null!=r2?.cellEditor)return this.textEditorState=null,this.numberEditorState=null,this.dateEditorState=null,this.calendarState=null,this.calendarFocusedIso=null,this.calendarAnchor=null,this.selectEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null,this.autocompleteAnchor=null,this.textEditorEl=null,this.selectTriggerEl=null,this.autocompleteInputEl=null,this.checkboxEditorEl=null,this.textareaEditorEl=null,true;const s2=r2?.editor??"text";if("number"===s2){const t3=this.numberConstraintsFromColumn(r2);this.numberEditorState=(function(t4,e3){if(null==t4){const{value:t5,violation:i4}=uo("",e3);return{rawText:"",parsedValue:t5,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:i4}}if("bigint"!=typeof t4&&("number"!=typeof t4||!Number.isFinite(t4))){const{value:t5,violation:i4}=uo("",e3);return{rawText:"",parsedValue:t5,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:i4}}const i3=t4+"",{value:n3,violation:r3}=uo(i3,e3);return{rawText:i3,parsedValue:n3,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:r3}})("number"==typeof i2&&Number.isFinite(i2)?i2:null,t3),this.textEditorState=null,this.dateEditorState=null,this.selectEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null}else if("date"===s2){const t3=this.dateConstraintsFromColumn(r2),e3=i2 instanceof Date||"string"==typeof i2?i2:null;this.dateEditorState=(function(t4,e4){if(null==t4){const{value:t5,violation:i4}=po("",e4);return{rawText:"",parsedDate:t5,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:i4}}if(t4 instanceof Date){if(Number.isNaN(t4.getTime())){const{value:t5,violation:i5}=po("",e4);return{rawText:"",parsedDate:t5,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:i5}}const i4=(function(t5){return Number.isNaN(t5.getTime())?"":`${(t5.getUTCFullYear()+"").padStart(4,"0")}-${(t5.getUTCMonth()+1+"").padStart(2,"0")}-${(t5.getUTCDate()+"").padStart(2,"0")}`})(t4),{value:n5,violation:r3}=po(i4,e4);return{rawText:i4,parsedDate:n5,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:r3}}if("string"==typeof t4){const{value:i4,violation:n5}=po(t4,e4);return{rawText:t4,parsedDate:i4,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:n5}}const{value:i3,violation:n4}=po("",e4);return{rawText:"",parsedDate:i3,composing:false,selectionStart:null,selectionEnd:null,constraintViolation:n4}})(e3,t3);const n3=new Date,s3=wo(n3.getUTCFullYear(),n3.getUTCMonth(),n3.getUTCDate());this.calendarState=(function(t4,e4){const i3=t4 instanceof Date?Number.isNaN(t4.getTime())?null:t4:xo(t4??null),n4=i3??e4;return{month:n4.getUTCMonth(),year:n4.getUTCFullYear(),selected:i3}})(e3,s3),this.calendarFocusedIso=So(vo(this.calendarState.selected??s3),_o(t3?.min??null),_o(t3?.max??null)),this.calendarKbdNavigated=false,this.textEditorState=null,this.numberEditorState=null,this.selectEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null}else if("select"===s2){const t3=this.selectOptionsFromColumn(r2);this.selectEditorState=(function(t4,e3){if(null==t4)return{value:null,options:e3,open:false,highlightedIndex:null};const i3=Mo(e3,t4);return-1===i3?(console.warn(`[Syidax] sy-grid: select editor initialValue "${t4+""}" not in options.`),{value:null,options:e3,open:false,highlightedIndex:null}):{value:e3[i3].value,options:e3,open:false,highlightedIndex:i3}})(null==i2?null:i2,t3),this.textEditorState=null,this.numberEditorState=null,this.dateEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null}else if("checkbox"===s2)this.checkboxEditorState=(function(t3){return true===t3||false===t3?{value:t3,indeterminate:false}:{value:false,indeterminate:true}})(true===i2||false===i2?i2:null),this.textEditorState=null,this.numberEditorState=null,this.dateEditorState=null,this.selectEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null;else if("textarea"===s2||"largeText"===s2){const t3="string"==typeof i2?i2:null;if(this.textareaEditorState=(function(t4){return{value:"string"==typeof t4?t4:"",composing:false,selectionStart:null,selectionEnd:null}})(t3),"largeText"===s2){const e3=(function(t4){const e4=zo(t4.rows)?Go(t4.rows,1,100):10,i3=zo(t4.cols)?Go(t4.cols,1,200):60;let n3;return n3=null==t4.maxLength?200:0===t4.maxLength?null:zo(t4.maxLength)?t4.maxLength:200,{rows:e4,cols:i3,maxLength:n3}})({rows:"number"==typeof r2.rows?r2.rows:void 0,cols:"number"==typeof r2.cols?r2.cols:void 0,maxLength:"number"==typeof r2.maxLength?r2.maxLength:void 0});this.largeTextConfig=e3,"string"==typeof t3&&Ho(t3,e3.maxLength)&&!this.warnedLargeTextSeed.has(r2.field)&&(this.warnedLargeTextSeed.add(r2.field),console.warn(`[SG:TEXT] field=${r2.field} length>${e3.maxLength}; keep`))}else this.largeTextConfig=null;this.textEditorState=null,this.numberEditorState=null,this.dateEditorState=null,this.selectEditorState=null,this.checkboxEditorState=null,this.autocompleteEditorState=null}else if("autocomplete"===s2){const t3=this.selectOptionsFromColumn(r2),e3=null==i2?null:i2;this.autocompleteEditorState=this.richSelect?.createAutocompleteState(e3,t3)??null,this.textEditorState=null,this.numberEditorState=null,this.dateEditorState=null,this.selectEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null}else this.textEditorState=(function(t3){return{value:null==t3?"":t3+"",composing:false,selectionStart:null,selectionEnd:null}})(i2),this.numberEditorState=null,this.dateEditorState=null,this.selectEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null;return true}selectOptionsFromColumn(t2){if(!t2)return[];const e2=t2.options;return Array.isArray(e2)?e2:[]}numberConstraintsFromColumn(t2){if(!t2)return;const e2={};let i2=false;return"number"==typeof t2.min&&Number.isFinite(t2.min)&&(e2.min=t2.min,i2=true),"number"==typeof t2.max&&Number.isFinite(t2.max)&&(e2.max=t2.max,i2=true),"number"==typeof t2.step&&Number.isFinite(t2.step)&&(e2.step=t2.step,i2=true),"number"==typeof t2.decimals&&Number.isFinite(t2.decimals)&&(e2.decimals=t2.decimals,i2=true),true!==t2.nullable&&true!==t2.allowEmpty||(e2.nullable=true,i2=true),i2?e2:void 0}dateConstraintsFromColumn(t2){if(!t2)return;const e2={};let i2=false;return(t2.min instanceof Date||"string"==typeof t2.min)&&(e2.min=t2.min,i2=true),(t2.max instanceof Date||"string"==typeof t2.max)&&(e2.max=t2.max,i2=true),true!==t2.nullable&&true!==t2.allowEmpty||(e2.nullable=true,i2=true),"iso"!==t2.storeAs&&"date"!==t2.storeAs||(e2.storeAs=t2.storeAs,i2=true),i2?e2:void 0}cancelEditTransaction(){const t2=ts(this.editStore);t2!==this.editStore&&(this.unregisterLifecycleEditorDocumentOwner(),this.editStore=es(t2),null!==this.formulaSuggest&&"cell"===this.formulaSuggest.target&&(this.formulaSuggest=null),this.textEditorState=null,this.numberEditorState=null,this.dateEditorState=null,this.calendarState=null,this.calendarFocusedIso=null,this.calendarAnchor=null,this.autocompleteAnchor=null,this.largeTextConfig=null,this.largeTextAnchor=null,this.largeTextAnchorEl=null,this.selectEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null,this.textEditorEl=null,this.selectTriggerEl=null,this.autocompleteInputEl=null,this.checkboxEditorEl=null,this.textareaEditorEl=null)}sourceIndexForDisplayRow(t2,e2){let i2=this.sourceRowIndexCache;if(null===i2||i2.rows!==e2){const t3=new WeakMap;for(let i3=0;i3<e2.length;i3+=1){const n3=e2[i3];null!==n3&&"object"==typeof n3&&t3.set(n3,t3.has(n3)?-1:i3)}i2={rows:e2,byObject:t3},this.sourceRowIndexCache=i2}const n2=i2.byObject.get(t2);return void 0!==n2&&n2>=0&&e2[n2]===t2?n2:null}editRowIdentity(t2){if("function"==typeof this.getRowId){const e3=this.getRowId(t2);if("string"==typeof e3&&e3.length>0)return e3;if("number"==typeof e3&&Number.isFinite(e3))return e3;throw Error("getRowId returned an invalid edit identity")}const e2=t2.id;return"string"==typeof e2&&e2.length>0||"number"==typeof e2&&Number.isFinite(e2)?e2:null}resolveCellEditTarget(t2,e2){const i2=this.effectiveColumns()[e2],n2=this.getDisplayRows()[t2];if(void 0===i2||true!==i2.editable||"function"==typeof i2.valueGetter||"string"==typeof i2.valueGetter||"string"==typeof i2.formula||null==n2||"object"!=typeof n2||this.isSentinelDisplayRow(n2))return null;const r2=Object.getPrototypeOf(n2);if(r2!==Object.prototype&&null!==r2)return null;if(!this.passesEditPolicy(t2,i2,n2))return null;const s2=this.rowData??[],o2=this.sourceIndexForDisplayRow(n2,s2);return{displayRowIndex:t2,colIndex:e2,col:i2,displayRow:n2,sourceRows:s2,sourceIndex:o2,sourceRow:null===o2?null:s2[o2]}}prepareGridCellEdit(t2,e2,i2,n2,r2){const s2=this.resolveCellEditTarget(t2,e2);if(null===s2)return{kind:"rejected",reason:"invalid-target",action:"keep",target:null,result:null};const o2=s2.sourceRow??s2.displayRow,l2=Q(o2,s2.col.field);if(r2&&!be(l2,n2))return{kind:"rejected",reason:"stale-target",action:"keep",target:s2,result:null};if(null===s2.sourceRow&&"function"==typeof s2.col.valueSetter)return{kind:"rejected",reason:"unbacked-value-setter",action:"keep",target:s2,result:null};const a2="function"==typeof s2.col.valueParser&&"string"==typeof i2?(t3,e3,i3)=>s2.col.valueParser({value:t3,oldValue:e3,field:s2.col.field,row:i3,colDef:s2.col,context:this.context,api:this.host}):void 0,d2="function"==typeof s2.col.valueSetter?(t3,e3,i3)=>s2.col.valueSetter({newValue:e3,oldValue:i3,field:s2.col.field,data:t3,colDef:s2.col,context:this.context,api:this.host,rowIndex:s2.displayRowIndex,sourceRowIndex:s2.sourceIndex??void 0,colId:s2.col.colId??s2.col.field}):void 0,u2=(function(t3){const e3=Q(t3.previousRow,t3.field);let i3,n3=t3.rawDraft;if(void 0!==t3.parse)try{n3=t3.parse(t3.rawDraft,e3,pe(t3.previousRow))}catch{return Ke(t3,"parser-threw",e3,t3.rawDraft)}if(void 0!==t3.set){let r4;i3=pe(t3.previousRow);try{r4=t3.set(i3,n3,e3)}catch{return Ke(t3,"setter-threw",e3,n3)}if(false===r4)return Ke(t3,"setter-rejected",e3,n3);if(!be(Q(i3,t3.field),n3))return Ke(t3,"setter-did-not-apply",e3,n3)}else if(i3=X(t3.previousRow,t3.field,n3),i3===t3.previousRow&&!be(e3,n3))return Ke(t3,"unsafe-field",e3,n3);if(void 0!==t3.identity){let r4,s4;try{r4=t3.identity(pe(t3.previousRow)),s4=t3.identity(pe(i3))}catch{return Ke(t3,"identity-threw",e3,n3)}if(!Object.is(r4,s4))return Ke(t3,"identity-changed",e3,n3)}let r3=Ue;if(void 0!==t3.validate)try{r3=t3.validate(n3,pe(i3))}catch{r3={valid:false,message:"Validation failed"}}if(!r3.valid&&"allow"!==t3.invalidMode)return Ke(t3,"validation-failed",e3,n3,r3,"revert"===t3.invalidMode?"revert":"keep");const s3={previousRow:t3.previousRow,nextRow:i3,oldValue:e3,value:n3,validation:r3};return be(t3.previousRow,i3)?{kind:"unchanged",...s3}:{kind:"accepted",...s3}})({previousRow:o2,field:s2.col.field,rawDraft:i2,parse:a2,set:d2,identity:t3=>this.editRowIdentity(t3),validate:(t3,e3)=>Oe(this.validationRules,{field:s2.col.field,value:t3,data:e3}),invalidMode:this.invalidEditMode});return"rejected"===u2.kind?{kind:"rejected",reason:u2.reason,action:u2.action,target:s2,result:u2}:"accepted"===u2.kind?{kind:"accepted",target:s2,result:u2}:{kind:"unchanged",target:s2,result:u2}}cellEditTargetStillCurrent(t2){return null!==t2.sourceIndex?this.rowData===t2.sourceRows&&t2.sourceRows[t2.sourceIndex]===t2.sourceRow:this.getDisplayRows()[t2.displayRowIndex]===t2.displayRow}finalizeCommittedEditor(t2){if(this.editStore!==t2)return false;const e2=(function(t3){return null===t3.active||"pending"!==t3.active.phase?t3:{active:{...t3.active,phase:"committed"},nextId:t3.nextId}})(t2);return e2!==t2&&(this.editingCell=null,this.unregisterLifecycleEditorDocumentOwner(),this.editStore=es(e2),null!==this.formulaSuggest&&"cell"===this.formulaSuggest.target&&(this.formulaSuggest=null),this.textEditorState=null,this.numberEditorState=null,this.dateEditorState=null,this.calendarState=null,this.calendarFocusedIso=null,this.calendarAnchor=null,this.autocompleteAnchor=null,this.largeTextConfig=null,this.largeTextAnchor=null,this.largeTextAnchorEl=null,this.selectEditorState=null,this.checkboxEditorState=null,this.textareaEditorState=null,this.autocompleteEditorState=null,this.textEditorEl=null,this.selectTriggerEl=null,this.autocompleteInputEl=null,this.checkboxEditorEl=null,this.textareaEditorEl=null,true)}reportRejectedCellEdit(t2,e2){const i2=t2.target,n2=t2.result?.validation;null===i2||void 0===n2||n2.valid||(this.cellValidationFailed.emit({rowIndex:i2.displayRowIndex,field:i2.col.field,value:t2.result?.value,message:n2.message??"Invalid value"}),"revert"===t2.action&&"editor"===e2&&this.cellEditingCancelled.emit({rowIndex:i2.displayRowIndex,colIndex:i2.colIndex})),"identity-changed"!==t2.reason&&"identity-threw"!==t2.reason||this.warnedIdentityEdit||(this.warnedIdentityEdit=true,console.warn("[SG:EDIT] row identity changes are rejected so undo and collaboration remain addressable.")),"unbacked-value-setter"!==t2.reason||this.warnedUnbackedValueSetter||(this.warnedUnbackedValueSetter=true,console.warn("[SG:EDIT] valueSetter requires a client rowData-backed display row; edit rejected.")),"setter-did-not-apply"===t2.reason&&console.warn("[SG:EDIT] valueSetter must synchronously apply newValue to its field; edit rejected.")}commitPreparedCellEdit(t2,e2,i2,n2,r2,s2,o2){if(this.editCommitInProgress)return false;this.editCommitInProgress=true;try{const l2=this.prepareGridCellEdit(e2,i2,n2,r2,s2);if("rejected"===l2.kind)return"revert"===l2.action&&"editor"===t2&&(this.editingCell=null,this.cancelEditTransaction()),this.reportRejectedCellEdit(l2,t2),"revert"===l2.action&&"formula-bar"===t2&&(this.formulaBarDraft=null,this.formulaSuggest=null),false;if(!this.cellEditTargetStillCurrent(l2.target))return false;if(this.batchLive()){const{target:e3}=l2,i3=this.undoableRowId(e3.displayRow);if(!this.proNewWorkAllowed("grid.batch-editing","stageBatchCell")||null===i3||null===e3.sourceRow||this.rowByStableId(i3)!==e3.sourceRow||"function"==typeof e3.col.valueSetter)return false;const n3=this.batchEdit.guardedStageBatchCell(this.batchCommitState,{row:e3.displayRowIndex,col:e3.colIndex,rowId:i3,colId:e3.col.field,value:l2.result.value,oldValue:Q(e3.sourceRow,e3.col.field)});return"staged"===n3.staged.kind&&!!("editor"!==t2||null!==o2&&this.finalizeCommittedEditor(o2))&&("formula-bar"===t2&&(this.formulaBarDraft=null,this.formulaSuggest=null),this.batchCommitState=n3.state,this.proUiChunkTick++,this.viewportEl?.focus({preventScroll:true}),true)}if("editor"===t2){if(null===o2||!this.finalizeCommittedEditor(o2))return false}else this.formulaBarDraft=null,this.formulaSuggest=null;if("editor"===t2&&"fullRow"===this.editType){const t3=this.rowEditSessionRowId();if(null!==t3&&this.undoableRowId(l2.target.displayRow)===t3){const t4=Ur(this.rowEditState,l2.target.col.field,l2.result.value,r2);return this.rowEditState=t4.state,this.viewportEl?.focus({preventScroll:true}),"staged"===t4.staged.kind}}const a2=l2.result.validation;let d2;a2.valid||this.cellValidationFailed.emit({rowIndex:l2.target.displayRowIndex,field:l2.target.col.field,value:l2.result.value,message:a2.message??"Invalid value"});let u2=false,c2=[],h2=l2.target.displayRow;if("accepted"===l2.kind&&null!==l2.target.sourceIndex){const e3=l2.target.sourceIndex,i3=l2.target.sourceRow,n3=l2.result.nextRow,r3=l2.target.sourceRows.slice();r3[e3]=n3,d2=ns();const s3=this.sourceRowIndexCache;null!==s3&&s3.rows===l2.target.sourceRows&&(s3.byObject.set(n3,e3),s3.rows=r3),this.incrementalRowDataAssignment=r3;try{this.rowData=r3}finally{this.incrementalRowDataAssignment=null}const o3=ze([i3])[0],a3={row:n3,previous:o3,index:e3};this.fireRowDataChanged({added:[],updated:[a3],removed:[],rejected:[],txId:d2,source:"local",origin:t2},{publishLiveObjects:false});const f3=this.emitCellValueChanges([a3],"local",t2,d2,{displayRowIndex:l2.target.displayRowIndex});if(u2=f3.length>0,c2=f3,null!==this.undoableRowId(o3)){const t3=ze([n3])[0];this.undoRedoStack.record({update:[t3]},{update:[o3]},"cell-edit")}h2=n3,this.applyFormulaEdit(l2.target.displayRowIndex,l2.target.colIndex,l2.result.value,n3,i3)}else"accepted"===l2.kind&&this.applyFormulaEdit(l2.target.displayRowIndex,l2.target.colIndex,l2.result.value,l2.target.displayRow);const f2=null===l2.target.sourceIndex?this.extractRowId(h2,l2.target.displayRowIndex):this.collabRowId(h2,l2.target.sourceIndex);return this.cellEditingCommitted.emit({rowIndex:l2.target.displayRowIndex,sourceRowIndex:l2.target.sourceIndex??void 0,colIndex:l2.target.colIndex,rowId:f2,field:l2.target.col.field,originalValue:r2,draftValue:l2.result.value,dataWritten:u2,changed:"accepted"===l2.kind,txId:d2,surface:t2}),this.publishLiveObjectChanges(c2.map((t3=>["row",t3.rowId,"valueChanged","ui",{txId:d2,field:t3.field,before:t3.oldValue,after:t3.newValue,data:t3.data}]))),true}finally{this.editCommitInProgress=false}}commitEditTransaction(){const t2=this.editStore;if(this.editCommitInProgress||null===t2.active||"pending"!==t2.active.phase)return false;if(null!==this.numberEditorState&&null!==this.numberEditorState.constraintViolation||null!==this.dateEditorState&&null!==this.dateEditorState.constraintViolation)return false;const e2=t2.active;let i2;if(null!==this.numberEditorState)i2=this.numberEditorState.parsedValue;else if(null!==this.dateEditorState){const t3=this.effectiveColumns()[e2.colIndex],n2=this.dateEditorState.parsedDate;i2=null===n2?null:"iso"===(t3?.storeAs??"date")?`${(n2.getUTCFullYear()+"").padStart(4,"0")}-${(n2.getUTCMonth()+1+"").padStart(2,"0")}-${(n2.getUTCDate()+"").padStart(2,"0")}`:n2}else i2=null!==this.selectEditorState?this.selectEditorState.value:null!==this.checkboxEditorState?this.checkboxEditorState.value:null!==this.textareaEditorState?this.textareaEditorState.value:null!==this.autocompleteEditorState?this.autocompleteEditorState.value:e2.draftValue;return this.commitPreparedCellEdit("editor",e2.rowIndex,e2.colIndex,i2,e2.originalValue,true,t2)}applyFormulaEdit(t2,e2,i2,n2,r2){if(null===this.formulaSheet||true!==this.formulas)return;const s2=this.effectiveColumns()[e2];if(!s2||null===n2||"object"!=typeof n2)return;if(void 0!==r2&&r2!==n2&&this.formulaSheet.replaceRowIdentity(r2,n2),this.proGate().frozen("grid.formulas"))return this.formulaFreeze.holdEdit(n2,s2.field),this.formulaVersion++,void this.focusActiveLifecycleRenderer();if(null!==this.formulaDualEngine&&this.proGate().lost("grid.wasm-acceleration")&&(this.retireLostFormulaAcceleration(),null===this.formulaSheet||this.formulaSheetSeeding))return this.formulaVersion++,void this.focusActiveLifecycleRenderer();const o2=this.formulaSheet.updateCell(s2.field,n2,i2);if(this.formulaVersion++,this.recordWorkbookOpsCommit(s2.field,n2,i2),o2.isFormula){const n3=i2+"",r3=this.publicNumericValue(o2.value);this.formulaEvaluated.emit({rowIndex:t2,colIndex:e2,field:s2.field,formula:n3,value:r3});const l2=this.formulaCore?.formulaErrorInfo(r3)??null;null!==l2&&this.formulaError.emit({rowIndex:t2,colIndex:e2,field:s2.field,formula:n3,type:l2.type,description:l2.description})}this.focusActiveLifecycleRenderer()}publicNumericValue(t2){return"number"==typeof t2||"bigint"==typeof t2?(function(t3){return"bigint"==typeof t3?ei(t3)?Number(t3):t3:Number.isInteger(t3)&&!ei(t3)?BigInt(t3):t3})(t2):t2}activeCellContext(){if(null===this.activeCell)return null;const{rowIndex:t2,colIndex:e2}=this.activeCell,i2=this.effectiveColumns()[e2],n2=this.getDisplayRows()[t2];return!i2||null==n2||"object"!=typeof n2||this.isSentinelDisplayRow(n2)?null:{row:n2,col:i2,rowIndex:t2,colIndex:e2,editable:true===i2.editable&&"function"!=typeof i2.valueGetter&&"string"!=typeof i2.valueGetter&&"string"!=typeof i2.formula&&this.passesEditPolicy(t2,i2,n2)}}activeCellRawText(){const t2=this.activeCellContext();if(null===t2)return"";const e2=Q(t2.row,t2.col.field);return this.readPolicyConfigured()&&!this.isCellReadable(this.rawFieldValue(t2.row,t2.rowIndex,t2.col),t2.row,t2.rowIndex,t2.col)?this.maskedCellValue:null==e2?"":e2+""}activeCellRefLabel(){const t2=this.activeCellContext();return null===t2?"":`${t2.col.headerName??t2.col.field} · ${t2.rowIndex+1}`}commitFormulaBar(){if(null===this.formulaBarDraft)return;const t2=this.activeCellContext(),e2=this.formulaBarDraft;if(null===t2||!t2.editable)return this.formulaBarDraft=null,void(this.formulaSuggest=null);const i2=Q(t2.row,t2.col.field);this.commitPreparedCellEdit("formula-bar",t2.rowIndex,t2.colIndex,e2,i2,false,null)}formulaSuggest=null;formulaSuggestAnchor=null;updateFormulaSuggest(t2,e2,i2){const n2=this.formulaSheet?.functionNames()??[],r2=this.formulaCore,s2=n2.length>0&&null!==r2?r2.suggestFunctions(e2,i2,n2):null;this.formulaSuggest=null===s2?null:{target:t2,...s2,activeIndex:0}}handleSuggestKeyIntercept(t2,e2){const i2=this.formulaSuggest;if(null===i2)return false;if("ArrowDown"===t2.key||"ArrowUp"===t2.key){t2.preventDefault();const e3="ArrowDown"===t2.key?1:-1,n2=i2.suggestions.length;return this.formulaSuggest={...i2,activeIndex:(i2.activeIndex+e3+n2)%n2},true}return"Enter"===t2.key||"Tab"===t2.key?(t2.preventDefault(),e2(i2.suggestions[i2.activeIndex]),true):"Escape"===t2.key&&(t2.preventDefault(),this.formulaSuggest=null,true)}applyFormulaSuggestion(t2,e2){const i2=this.formulaSuggest,n2=this.formulaCore;if(null===i2||null===n2)return;const r2=n2.applySuggestion(t2.value,t2.selectionStart??t2.value.length,i2,e2);this.formulaBarDraft=r2.text,this.formulaSuggest=null,t2.value=r2.text,t2.setSelectionRange(r2.caret,r2.caret),t2.focus()}applyCellSuggestion(t2){const e2=this.textEditorEl,i2=this.formulaSuggest,n2=this.formulaCore;if(null===e2||null===i2||null===n2)return;const r2=n2.applySuggestion(e2.value,e2.selectionStart??e2.value.length,i2,t2);if(null!==this.textEditorState){let t3=lo(this.textEditorState,r2.text);t3=ao(t3,r2.caret,r2.caret),t3!==this.textEditorState&&(this.textEditorState=t3)}if(null!==this.editStore.active){const t3=Zr(this.editStore,r2.text);t3!==this.editStore&&(this.editStore=t3)}this.formulaSuggest=null,e2.value=r2.text,e2.setSelectionRange(r2.caret,r2.caret),e2.focus()}syncFormulaSuggestAnchor(){if("undefined"==typeof window)return;if(null===this.formulaSuggest||"cell"!==this.formulaSuggest.target||null===this.textEditorEl||void 0===this.host)return void(null!==this.formulaSuggestAnchor&&(this.formulaSuggestAnchor=null));const t2=this.textEditorEl.getBoundingClientRect(),e2=this.host.getBoundingClientRect(),i2={x:Math.round(t2.left-e2.left),y:Math.round(t2.bottom+2-e2.top),width:Math.round(t2.width)},n2=this.formulaSuggestAnchor;null!==n2&&n2.x===i2.x&&n2.y===i2.y&&n2.width===i2.width||(this.formulaSuggestAnchor=i2)}renderFormulaBar(){if(true!==this.formulaBar||true!==this.formulas||!this.usingColumnDefsApi())return null;if(!this.proAllowed("grid.formulas","formulaBar"))return null;if(!this.proModuleAvailable("grid.formulas","formulaBar","formula-core"))return null;const t2=this.activeCellContext(),e2=null!==t2&&(!this.readPolicyConfigured()||this.isCellReadable(this.rawFieldValue(t2.row,t2.rowIndex,t2.col),t2.row,t2.rowIndex,t2.col)),i2=e2?this.formulaBarDraft??this.activeCellRawText():this.maskedCellValue,r2=null===t2||!t2.editable||this.effectiveLoading,s2=e2&&null!==this.formulaSuggest&&"bar"===this.formulaSuggest.target?this.formulaSuggest:null;return n("div",{class:"sy-grid__formula-bar",role:"group","aria-label":"Formula bar"},n("span",{class:"sy-grid__formula-bar-ref","data-formula-ref":true},this.activeCellRefLabel()||"—"),n("span",{class:"sy-grid__formula-bar-fx","aria-hidden":"true"},"fx"),n("div",{class:"sy-grid__formula-bar-input-wrap"},n("input",{type:"text",class:"sy-grid__formula-bar-input","data-formula-bar-input":true,value:i2,disabled:r2,role:"combobox","aria-label":"Active cell formula or value","aria-autocomplete":"list","aria-expanded":null!==s2?"true":"false","aria-controls":"sy-grid-formula-suggest","aria-activedescendant":null!==s2?"sy-grid-formula-suggest-"+s2.activeIndex:void 0,onInput:t3=>{const e3=t3.target;this.formulaBarDraft=e3.value,this.updateFormulaSuggest("bar",e3.value,e3.selectionStart??e3.value.length)},onKeyDown:t3=>{const e3=t3.target;this.handleSuggestKeyIntercept(t3,(t4=>this.applyFormulaSuggestion(e3,t4)))||("Enter"===t3.key?(t3.preventDefault(),this.commitFormulaBar()):"Escape"===t3.key&&(t3.preventDefault(),this.formulaBarDraft=null,e3.blur()))},onBlur:()=>{this.formulaBarDraft=null,this.formulaSuggest=null}}),null!==s2&&n("ul",{class:"sy-grid__formula-suggest",id:"sy-grid-formula-suggest",role:"listbox","aria-label":"Formula functions"},s2.suggestions.map(((t3,e3)=>n("li",{key:t3,id:"sy-grid-formula-suggest-"+e3,class:{"sy-grid__formula-suggest-option":true,"sy-grid__formula-suggest-option--active":e3===s2.activeIndex},role:"option","aria-selected":e3===s2.activeIndex?"true":"false",onMouseDown:e4=>{e4.preventDefault();const i3=e4.currentTarget.closest(".sy-grid__formula-bar-input-wrap")?.querySelector("input");i3&&this.applyFormulaSuggestion(i3,t3)}},n("span",{class:"sy-grid__formula-suggest-name"},t3),n("span",{class:"sy-grid__formula-suggest-paren","aria-hidden":"true"},"(…)")))))))}renderCellFormulaSuggest(){const t2=this.formulaSuggest,e2=this.formulaSuggestAnchor;return null===t2||"cell"!==t2.target||null===e2?null:n("ul",{class:"sy-grid__formula-suggest sy-grid__formula-suggest--cell",id:"sy-grid-formula-suggest",role:"listbox","aria-label":"Formula functions",style:{position:"absolute",left:e2.x+"px",top:e2.y+"px",minWidth:Math.max(180,e2.width)+"px",zIndex:"40"}},t2.suggestions.map(((e3,i2)=>n("li",{key:e3,id:"sy-grid-formula-suggest-"+i2,class:{"sy-grid__formula-suggest-option":true,"sy-grid__formula-suggest-option--active":i2===t2.activeIndex},role:"option","aria-selected":i2===t2.activeIndex?"true":"false",onMouseDown:t3=>{t3.preventDefault(),this.applyCellSuggestion(e3)}},n("span",{class:"sy-grid__formula-suggest-name"},e3),n("span",{class:"sy-grid__formula-suggest-paren","aria-hidden":"true"},"(…)")))))}resetVirtualScrollPosition(){this.scrollTop=0,this.viewportEl&&(this.viewportEl.scrollTop=0)}pivotPanelVisible(){return true===this.pivotPanel||"always"===this.pivotPanelShow?this.proAllowed("grid.pivot","pivotPanel"):"onlyWhenPivoting"===this.pivotPanelShow&&true===this.pivotMode&&this.proAllowed("grid.pivot","pivotPanelShow")}groupPanelActive(){return true===this.groupPanel&&this.proAllowed("grid.row-grouping","groupPanel")}async setPivotColumns(t2){return this.proMethod("setPivotColumns",{load:()=>this.loadGroupPivotChunk(),exec:t3=>t3,publish:e2=>e2.applyPivotPanelAxis(this,"pivotColumns",t2)})}async setValueColumns(t2){return this.proMethod("setValueColumns",{load:()=>this.loadGroupPivotChunk(),exec:t3=>t3,publish:e2=>e2.applyPivotPanelAxis(this,"valueColumns",t2)})}maybeRestorePivotPanelFocus(){null!==this.pivotPanelFocusField&&this.groupPivotChunkModule?.restorePivotPanelFocus(this)}renderPivotPanel(){if(!this.pivotPanelVisible()||!this.usingColumnDefsApi())return null;const t2=this.ensureGroupPivotChunkArmed();return null===t2?null:t2.renderPivotPanel(this,n)}renderGroupPanel(){if(true!==this.groupPanel||!this.usingColumnDefsApi())return null;if(!this.groupPanelActive())return null;const t2=this.groupPivotChunkModule;return null===t2?null:t2.renderGroupPanel(this,n,{dropActive:this.columnDragOverGroupPanel,ref:t3=>{this.groupPanelEl=t3},clear:()=>this.clearGroupByFromPanel()})}renderHeader(){const t2=this.effectiveColumns();if(0===t2.length)return null;const e2=this.shouldRenderCheckboxColumn(),i2=e2?1:0,r2=this.columnReorderController.getActive(),s2=r2?.draggedColId??null,o2=e2?br.width:0,l2=this.pinnedOffsetsContext(t2,o2),a2=l2?.lastLeft,d2=l2?.firstRight,u2=this.columnWindowContext(t2,o2);return n("div",{...I(),class:"sy-grid__header-rowgroup"},n("div",{class:"sy-grid__header-clip"},this.renderHeaderGroupRows(t2,l2,u2,e2),n("div",{class:"sy-grid__header",...C(this.headerGroupDepth())},e2&&this.renderHeaderCheckboxCell(null!=l2?.left),t2.map(((t3,e3)=>{if(u2&&u2.culled(e3))return null;const r3=false!==t3.sortable&&"string"==typeof t3.field&&""!==t3.field,o3=t3.field?this.sortController.getModelIndicatorState(t3.field,this.activeSortModel):{direction:null,isActive:false,sortIndex:null},c2=o3.isActive,h2=o3.direction,f2=t3.headerName??t3.field,g2=r3?this.sortController.ariaLabel(o3.direction,f2??"",o3.sortIndex,this.activeSortModel.length):f2??"",p2=k({colIndex:e3+i2,sortDirection:h2,label:r3?g2:f2??""}),y2=t3.field?this.lifecycleFilterDeclaration(t3):null,b2=null!==(t3.field&&null===y2?this.offeredFilterUiKind(t3.filter):null)||null!==y2,m2=this.componentFilterColumnId(t3),w2=null!==y2?this.componentFilterIsActive(m2):b2&&!(!t3.field||!this.activeFilters[t3.field]),v2=this.columnLayoutStyle(t3),x2=this.applyPinnedStyle(t3,v2,l2,"4","header"),_2=this.shouldHideHeaderControls(t3),C2=b2&&!_2,S2=C2&&!(!t3.field||this.openFilterField!==t3.field),I2=this.effectiveLoading&&!S2,R2=true===this.resizableColumns&&false!==t3.resizable,M2=true===this.resizableColumns&&false!==t3.resizable&&false!==this.autoSizeOnDoubleClick,F2=true===this.reorderableColumns&&false!==t3.reorderable,D2=F2||this.groupPanelActive(),A2=n("div",{key:t3.field,class:{"sy-grid__header-cell":true,"sy-grid__header-cell--sortable":r3,"sy-grid__header-cell--sorted":c2,"sy-grid__header-cell--filtered":w2,"sy-grid__header-cell--controls-hidden":_2,"sy-grid__header-cell--locked":this.effectiveLoading,"sy-grid__header-cell--reorderable":F2,"sy-grid__header-cell--dragging":s2===t3.field,"sy-grid__header-cell--auto-sizable":M2,"sy-grid__header-cell--pinned-left":x2.pinnedLeft,"sy-grid__header-cell--pinned-left-last":x2.pinnedLeft&&t3.field===a2,"sy-grid__header-cell--pinned-right":x2.pinnedRight,"sy-grid__header-cell--pinned-right-first":x2.pinnedRight&&t3.field===d2},...p2,"data-field":t3.field,"data-sort-index":null!==o3.sortIndex?o3.sortIndex+"":void 0,tabindex:r3&&!this.effectiveLoading?0:-1,"aria-disabled":this.effectiveLoading?"true":void 0,"aria-describedby":null!==this.cellTooltip&&-1===this.cellTooltip.rowIndex&&this.cellTooltip.field===t3.field?zl:void 0,title:r3?"asc"===h2?this.resolvedMessages["sort.descendingTooltip"]:"desc"===h2?this.resolvedMessages["sort.removeTooltip"]:this.resolvedMessages["sort.ascendingTooltip"]:void 0,style:Object.keys(v2).length>0?v2:void 0,onClick:r3?e4=>this.handleHeaderClick(t3,e4):void 0,onDblClick:M2&&!this.effectiveLoading?e4=>{e4.stopPropagation(),this.autoSizeColumn(t3.field)}:void 0,onKeyDown:r3?e4=>{"Enter"!==e4.key&&" "!==e4.key||(e4.preventDefault(),this.handleHeaderClick(t3,e4))}:void 0,onPointerDown:D2&&!this.effectiveLoading?e4=>{this.handleColumnReorderPointerDown(e4,t3.field)}:void 0,onMouseEnter:e4=>this.handleHeaderTooltipEnter(e4,t3),onMouseLeave:()=>this.handleHeaderTooltipLeave(),onFocus:e4=>this.handleHeaderTooltipEnter(e4,t3),onBlur:()=>this.handleHeaderTooltipLeave()},n("span",{class:"sy-grid__header-label"},t3.headerName??t3.field),this.renderColumnMenuButton(t3),r3&&!_2&&n("span",{class:{"sy-grid__sort-indicator":true,"sy-grid__sort-indicator--active":c2},"aria-hidden":"true"},c2&&"asc"===h2&&n("svg",{class:"sy-grid__sort-icon",viewBox:"0 0 10 10","aria-hidden":"true"},n("path",{d:"M5 2 L9 8 L1 8 Z"})),c2&&"desc"===h2&&n("svg",{class:"sy-grid__sort-icon",viewBox:"0 0 10 10","aria-hidden":"true"},n("path",{d:"M5 8 L9 2 L1 2 Z"})),c2&&null!==o3.sortIndex&&n("span",{class:"sy-grid__sort-order"},o3.sortIndex),!c2&&n("svg",{class:"sy-grid__sort-icon sy-grid__sort-icon--inactive",viewBox:"0 0 10 14","aria-hidden":"true"},n("path",{d:"M5 1 L8 5 L2 5 Z"}),n("path",{d:"M5 13 L8 9 L2 9 Z"}))),C2&&n("button",{type:"button",class:{"sy-grid__filter-icon":true,"sy-grid__filter-icon--active":w2,"sy-grid__filter-icon--open":S2},"aria-label":ar(this.resolvedMessages,"header.filterLabel",{column:t3.headerName??t3.field}),"aria-haspopup":"dialog","aria-expanded":S2?"true":"false","aria-controls":S2?"sy-grid-filter-dropdown":void 0,"data-active":w2?"true":"false",disabled:I2,onClick:e4=>this.handleFilterIconClick(t3,e4),onKeyDown:e4=>{"Enter"!==e4.key&&" "!==e4.key||(e4.preventDefault(),e4.stopPropagation(),this.handleFilterIconClick(t3,e4))}},n("svg",{class:"sy-grid__filter-icon-svg",width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true"},n("path",{d:"M2 3h12l-4.5 5.5V13l-3 1.5V8.5L2 3z"}))),R2&&n("span",{class:"sy-grid__col-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize "+(t3.headerName??t3.field),"data-field":t3.field,onPointerDown:e4=>this.handleColumnResizePointerDown(e4,t3.field),onPointerEnter:e4=>this.showColumnResizeGuide(t3.field,e4.currentTarget),onPointerLeave:()=>this.hideColumnResizeGuide(t3.field),onPointerMove:t4=>this.handleColumnResizePointerMove(t4),onPointerUp:t4=>this.handleColumnResizePointerUp(t4),onPointerCancel:t4=>this.handleColumnResizePointerCancel(t4),onClick:t4=>t4.stopPropagation()}));return this.withColumnSpacers(A2,e3,u2,"h-"+t3.field)}))),this.headerFilterRow&&this.renderHeaderFilterRow(t2,e2,l2,a2,d2,u2)))}renderHeaderGroupRows(t2,e2,i2,r2){const s2=this.headerGroupDepth();if(0===s2)return null;const o2=this.columnDefsSource();let l2=0;for(;l2<t2.length&&"left"===this.pinSideOf(t2[l2]);)l2++;let a2=0;for(;a2<t2.length-l2&&"right"===this.pinSideOf(t2[t2.length-1-a2]);)a2++;const d2=t2.slice(0,l2).map((t3=>t3.field)),u2=a2>0?t2.slice(t2.length-a2).map((t3=>t3.field)):[],c2=[];for(let e3=l2;e3<t2.length-a2;e3++)i2&&i2.culled(e3)||c2.push(t2[e3].field);const h2=Dn(o2,d2,this.collapsedGroups),f2=Dn(o2,c2,this.collapsedGroups),g2=Dn(o2,u2,this.collapsedGroups),p2=e3=>{let i3=0;const n2=new Map(t2.map((t3=>[t3.field,t3])));for(const t3 of e3.leaves){const e4=n2.get(t3);i3+=(e4?this.pinnedWidthOf(e4):null)??_n}return i3},y2=(t3,i3,r3,s3)=>{const o3=p2(t3),l3={width:o3+"px",flex:`0 0 ${o3}px`};if("left"===i3&&e2?.left)l3.position="sticky",l3.left=(e2.left.get(t3.leaves[0])??0)+"px",l3.zIndex="4";else if("right"===i3&&e2?.right){const i4=t3.leaves[t3.leaves.length-1];l3.position="sticky",l3.right=(e2.right.get(i4)??0)+this.bodyScrollbarWidth+"px",l3.zIndex="4"}const a3=null===t3.label;return n("div",{key:`${r3}-${i3??"m"}-${s3}-${t3.groupId??"filler"}`,class:{"sy-grid__header-group-cell":true,"sy-grid__header-group-cell--filler":a3,"sy-grid__header-group-cell--pinned":null!==i3},role:a3?void 0:"columnheader","aria-colspan":a3?void 0:t3.leaves.length,"aria-hidden":a3?"true":void 0,"data-group-id":t3.groupId,style:l3},null!==t3.label&&n("span",{class:"sy-grid__header-group-label"},t3.label),true===t3.collapsible&&void 0!==t3.groupId&&n("button",{type:"button",class:"sy-grid__header-group-toggle","aria-expanded":true===t3.open?"true":"false","aria-label":(""+(t3.label??"")).trim(),disabled:this.effectiveLoading,onClick:e3=>{e3.stopPropagation(),this.applyColumnGroupOpened(t3.groupId,!(true===t3.open),"ui")}},true===t3.open?"⏵":"⏷"))},b2=[];for(let t3=0;t3<s2;t3++)b2.push(n("div",{class:"sy-grid__header-group-row",role:"row","aria-rowindex":t3+1,key:"grouprow-"+t3},r2&&n("div",{class:"sy-grid__header-group-cell sy-grid__header-group-cell--filler","aria-hidden":"true",style:e2?.left?{width:br.width+"px",flex:`0 0 ${br.width}px`,position:"sticky",left:"0px",zIndex:"4"}:{width:br.width+"px",flex:`0 0 ${br.width}px`}}),(h2[t3]??[]).map(((e3,i3)=>y2(e3,"left",t3,i3))),i2&&i2.leadingPx>0&&this.renderColumnSpacer(i2.leadingPx,`g${t3}-lead`),(f2[t3]??[]).map(((e3,i3)=>y2(e3,null,t3,i3))),i2&&i2.trailingPx>0&&this.renderColumnSpacer(i2.trailingPx,`g${t3}-trail`),(g2[t3]??[]).map(((e3,i3)=>y2(e3,"right",t3,i3)))));return b2}columnWindowContext(t2,e2){const i2=this.columnWindowContextInner(t2,e2);return this.columnWindowLive=null!==i2,i2}columnWindowEnabled(t2){return true===this.virtualizeColumns||false!==this.virtualizeColumns&&t2>=20}columnWindowContextInner(t2,e2){if(!this.columnWindowEnabled(t2.length))return null;let i2=0;for(;i2<t2.length&&"left"===this.pinSideOf(t2[i2]);)i2++;let n2=0;for(;n2<t2.length-i2&&"right"===this.pinSideOf(t2[t2.length-1-n2]);)n2++;const r2=t2.length-i2-n2;if(0===r2)return null;let s2=e2;for(let e3=0;e3<i2;e3++)s2+=this.pinnedWidthOf(t2[e3])??_n;let o2=0;for(let e3=0;e3<n2;e3++)o2+=this.pinnedWidthOf(t2[t2.length-1-e3])??_n;const l2=[];for(let e3=0;e3<r2;e3++){const n3=this.pinnedWidthOf(t2[i2+e3]);if(null===n3)return null;l2.push(n3)}const a2=(this.viewportSize?.width??0)-s2-o2;if(a2<=0)return null;const d2=(function(t3){const e3=t3.widths,i3=e3.length,n3=t3.overscan??3;if(0===i3)return{start:0,end:0,leadingPx:0,trailingPx:0,total:0};const r3=Math.max(0,t3.scrollLeft),s3=r3+Math.max(0,t3.viewportWidth);let o3=0,l3=0;for(;o3<i3&&l3+e3[o3]<=r3;)l3+=e3[o3],o3++;let a3=o3,d3=l3;for(;a3<i3&&d3<s3;)d3+=e3[a3],a3++;o3=Math.max(0,o3-n3),a3=Math.min(i3,a3+n3),o3>=i3&&(o3=Math.max(0,i3-1)),a3<=o3&&(a3=Math.min(i3,o3+1));let u3=0;for(let t4=0;t4<o3;t4++)u3+=e3[t4];let c3=0;for(let t4=a3;t4<i3;t4++)c3+=e3[t4];return{start:o3,end:a3,leadingPx:u3,trailingPx:c3,total:i3}})({widths:l2,scrollLeft:this.hScrollLeft,viewportWidth:a2}),u2=i2+d2.start,c2=i2+d2.end-1;return{culled:t3=>t3>=i2&&t3<i2+r2&&(t3<u2||t3>c2),firstRendered:u2,lastRendered:c2,leadingPx:d2.leadingPx,trailingPx:d2.trailingPx}}renderColumnSpacer(t2,e2){return n("div",{key:e2,class:"sy-grid__col-spacer","aria-hidden":"true",style:{width:t2+"px",flex:`0 0 ${t2}px`}})}withColumnSpacers(t2,e2,i2,n2){if(!i2)return t2;const r2=[t2];return e2===i2.firstRendered&&i2.leadingPx>0&&r2.unshift(this.renderColumnSpacer(i2.leadingPx,n2+"-lead")),e2===i2.lastRendered&&i2.trailingPx>0&&r2.push(this.renderColumnSpacer(i2.trailingPx,n2+"-trail")),1===r2.length?t2:r2}applyPinnedStyle(t2,e2,i2,n2,r2){const s2={pinnedLeft:false,pinnedRight:false};if(!i2)return s2;const o2=this.pinSideOf(t2);if("left"===o2&&i2.left)return e2.position="sticky",e2.left=(i2.left.get(t2.field)??0)+"px",e2.zIndex=n2,{pinnedLeft:true,pinnedRight:false};if("right"===o2&&i2.right){const s3="header"===r2?this.bodyScrollbarWidth:0;return e2.position="sticky",e2.right=(i2.right.get(t2.field)??0)+s3+"px",e2.zIndex=n2,{pinnedLeft:false,pinnedRight:true}}return s2}renderConditionBuilder(){const t2=this.proUiChunk("pro-filters","grid.advanced-filter","conditionBuilder");return null==t2?null:t2.renderConditionBuilder(this.proFiltersHost())}renderHeaderFilterRow(t2,e2,i2,r2,s2,o2=null){const l2=this.effectiveLoading,a2=this.resolvedMessages,d2=null!=i2?.left;return n("div",{class:"sy-grid__header-filter-row",role:"row"},e2&&n("div",{class:{"sy-grid__header-filter-cell":true,"sy-grid__header-filter-cell--spacer":true,"sy-grid__header-filter-cell--pinned-left":d2},role:"gridcell",style:d2?{position:"sticky",left:"0px",zIndex:"4"}:void 0}),t2.map(((t3,e3)=>{if(o2&&o2.culled(e3))return null;const d3=t3.field?this.lifecycleFilterDeclaration(t3):null,u2=null!==d3&&null!=t3.floatingFilterComponent,c2=t3.field&&null===d3?this.offeredFilterUiKind(t3.filter):null,h2=this.columnLayoutStyle(t3),f2=this.applyPinnedStyle(t3,h2,i2,"4","header"),g2=t3.field?this.activeFilters[t3.field]:void 0,p2=ar(a2,"header.filterLabel",{column:t3.headerName??t3.field??""});let y2=null;if(u2){const e4=this.componentFilterColumnId(t3);y2=n("div",{class:"sy-grid__floating-filter-host","data-col-id":e4,ref:this.componentFilterHostRef(e4,true)})}else if("text"===c2||"number"===c2||"date"===c2)if(void 0===g2||g2.kind!==c2||"between"!==g2.spec.op&&"notBetween"!==g2.spec.op){const e4=void 0!==g2&&g2.kind===c2?this.floatingFilterValue(g2):"";y2=n("input",{class:"sy-grid__header-filter-input",type:"number"===c2?"number":"date"===c2?"date":"search",value:e4,placeholder:"number"===c2?a2["filter.numberPlaceholder"]:"date"===c2?void 0:a2["filter.valuePlaceholder"],readOnly:l2,"aria-label":p2,onInput:e5=>this.handleFloatingFilterInput(t3,c2,e5.target.value)})}else y2=n("button",{type:"button",class:"sy-grid__header-filter-summary",disabled:l2,onClick:e4=>this.handleFilterIconClick(t3,e4),"aria-label":p2},this.floatingFilterSummary(g2));else"set"!==c2&&"multi"!==c2||(y2=n("button",{type:"button",class:"sy-grid__header-filter-summary",disabled:l2,onClick:e4=>this.handleFilterIconClick(t3,e4),"aria-label":p2},this.floatingFilterSummary(g2)));const b2=n("div",{key:t3.field,class:{"sy-grid__header-filter-cell":true,"sy-grid__header-filter-cell--pinned-left":f2.pinnedLeft,"sy-grid__header-filter-cell--pinned-left-last":f2.pinnedLeft&&t3.field===r2,"sy-grid__header-filter-cell--pinned-right":f2.pinnedRight,"sy-grid__header-filter-cell--pinned-right-first":f2.pinnedRight&&t3.field===s2},role:"gridcell","data-field":t3.field,style:Object.keys(h2).length>0?h2:void 0},y2);return this.withColumnSpacers(b2,e3,o2,"f-"+t3.field)})))}floatingFilterValue(t2){if("text"===t2.kind)return t2.spec.value??"";if("number"===t2.kind){const e2=t2.spec.value;return Array.isArray(e2)?"":this.numberToInputValue(e2)}if("date"===t2.kind){const e2=t2.spec.value;return Array.isArray(e2)?"":this.dateValueToInput(e2)}return""}floatingFilterSummary(t2){const e2=this.resolvedMessages;if(!t2)return e2["filter.headerRowOpen"];if("set"===t2.kind){const i3=t2.spec.values;return null===i3?e2["filter.headerRowOpen"]:ar(e2,"filter.headerRowSelected",{count:i3.length+""})}if("multi"===t2.kind)return ar(e2,"filter.headerRowParts",{count:t2.spec.parts.length+""});const i2=t2.spec.value;return`${e2["filter.op."+t2.spec.op]??t2.spec.op} ${Array.isArray(i2)?`${i2[0]??""}–${i2[1]??""}`:(i2??"")+""}`}handleFloatingFilterInput(t2,e2,i2){if(this.effectiveLoading||!t2.field)return;const n2=t2.field,r2=this.activeFilters[n2];if(""===i2.trim())return void(void 0!==r2&&this.applyFilterDirect(n2,null));let s2;s2="text"===e2?{kind:"text",field:n2,spec:{field:n2,op:"text"===r2?.kind?r2.spec.op:"contains",value:i2,caseSensitive:"text"===r2?.kind&&(r2.spec.caseSensitive??false)}}:"number"===e2?{kind:"number",field:n2,spec:{field:n2,op:"number"!==r2?.kind||Array.isArray(r2.spec.value)?"equals":r2.spec.op,value:ii(i2)??NaN}}:{kind:"date",field:n2,spec:{field:n2,op:"date"!==r2?.kind||Array.isArray(r2.spec.value)?"equals":r2.spec.op,value:i2,granularity:"date"===r2?.kind?r2.spec.granularity??"utc":"utc"}},this.applyFilterDirect(n2,s2)}applyFilterDirect(t2,e2){const i2=null===e2?en(this.activeFilters,t2):tn(this.activeFilters,e2);this.activeFilters=i2,this.filterChanged.emit({field:t2,filter:e2,activeMap:i2}),this.scheduleLifecycleFilterPeerNotification(),this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange()}async setConditionFilter(t2){return this.proMethod("setConditionFilter",{load:()=>this.loadProFiltersChunk(),exec:t3=>t3,publish:e2=>{if(null===t2)return this.builderDraft={type:"group",op:"and",children:[]},void this.applyConditionTree(null);const i2=mn(t2);if(!i2.ok)return void console.warn("setConditionFilter rejected:",i2.errors);const n2=xn(vn(t2));this.builderDraft=e2.treeToBuilderDraft(this.proFiltersHost(),n2),this.applyConditionTree(n2)}})}async getConditionFilter(){return this.proRun("getConditionFilter",(()=>this.activeConditionTree?xn(vn(this.activeConditionTree)):null))}applyConditionTree(t2){this.activeConditionTree=t2,this.conditionFilterChanged.emit({model:t2}),this.scheduleLifecycleFilterPeerNotification(),this.resetVirtualScrollPosition(),this.recomputeVirtualWindow(),this.clampActiveCellAfterChange(),this.clampRangesAfterChange()}maybeFocusBuilder(){const t2=this.builderFocusKey;if(null===t2)return;this.builderFocusKey=null;const e2=this.host;if(null==e2)return;const i2=e2.querySelector(`[data-builder-add="${t2}"]`);null!=i2&&"function"==typeof i2.focus&&i2.focus()}handleBuilderApply=()=>{if(this.effectiveLoading)return;if(!this.proNewWorkAllowed("grid.advanced-filter","conditionBuilder"))return;const t2=this.proUiChunks["pro-filters"];if(void 0===t2)return;const e2=t2.builderDraftToTree(this.proFiltersHost(),this.builderDraft);this.applyConditionTree(e2)};handleBuilderClear=()=>{this.effectiveLoading||(this.builderDraft={type:"group",op:"and",children:[]},this.applyConditionTree(null))};async setConditionPresets(t2){return this.proRun("setConditionPresets",(()=>{const e2=[];for(const i2 of Array.isArray(t2)?t2:[])if(i2&&"string"==typeof i2.name&&""!==i2.name.trim()&&"string"==typeof i2.json){try{xn(i2.json)}catch{continue}e2.some((t3=>t3.name===i2.name))||e2.push({name:i2.name,json:i2.json})}this.conditionPresets=e2}))}async getConditionPresets(){return this.proRun("getConditionPresets",(()=>this.conditionPresets.map((t2=>({...t2})))))}emitPresetsChanged(){this.conditionPresetsChanged.emit({presets:this.conditionPresets.map((t2=>({...t2})))})}handlePresetSave=()=>{if(this.effectiveLoading)return;if(!this.proNewWorkAllowed("grid.advanced-filter","conditionBuilder"))return;const t2=this.proUiChunks["pro-filters"];if(void 0===t2)return;const e2=this.presetNameDraft.trim(),i2=t2.builderDraftToTree(this.proFiltersHost(),this.builderDraft);if(""===e2||null===i2)return;const n2=vn(i2),r2=this.conditionPresets.filter((t3=>t3.name!==e2));this.conditionPresets=[...r2,{name:e2,json:n2}],this.presetNameDraft="",this.emitPresetsChanged()};handlePresetLoad(t2){if(this.effectiveLoading)return;if(!this.proNewWorkAllowed("grid.advanced-filter","conditionBuilder"))return;const e2=this.proUiChunks["pro-filters"];if(void 0===e2)return;let i2;try{i2=xn(t2.json)}catch(e3){return void console.warn("[SG:FILTER] bad preset="+t2.name,e3)}this.builderDraft=e2.treeToBuilderDraft(this.proFiltersHost(),i2),this.applyConditionTree(i2)}handlePresetDelete(t2){this.effectiveLoading||(this.conditionPresets=this.conditionPresets.filter((e2=>e2.name!==t2)),this.emitPresetsChanged())}renderSetFilterBody(t2,e2){const i2=this.proUiChunks["pro-filters"];return void 0===i2?null:i2.renderSetFilterBody(this.proFiltersHost(),t2,e2)}renderFilterFormActions(t2){const e2=this.resolvedMessages;return n("div",{class:"sy-grid__filter-actions"},n("button",{type:"button",class:"sy-grid__filter-button sy-grid__filter-button--secondary",disabled:t2,onClick:this.handleFilterClear},e2["filter.clearButton"]),n("button",{type:"button",class:"sy-grid__filter-button sy-grid__filter-button--secondary",onClick:this.handleFilterCancel},e2["filter.cancelButton"]),n("button",{type:"button",class:"sy-grid__filter-button sy-grid__filter-button--primary",disabled:t2,onClick:this.handleFilterApply},e2["filter.applyButton"]))}renderFilterDropdown(){if(!this.usingColumnDefsApi())return null;if(null===this.openFilterField)return null;const t2=this.resolvedColumnDefs().find((t3=>t3.field===this.openFilterField)),e2=void 0===t2?null:this.lifecycleFilterDeclaration(t2);if(null===this.filterForm&&null===e2)return null;const i2=ar(this.resolvedMessages,"header.filterLabel",{column:t2?.headerName??t2?.field??this.openFilterField});return n("div",{id:"sy-grid-filter-dropdown",class:"sy-grid__filter-dropdown",role:"dialog","aria-label":i2,tabindex:"-1",ref:t3=>{this.filterDropdownEl=t3??null},style:{position:"absolute",left:(this.dropdownAnchor?.x??0)+"px",top:(this.dropdownAnchor?.y??0)+"px",zIndex:"1000"},onClick:t3=>t3.stopPropagation(),onMouseDown:t3=>t3.stopPropagation()},null!==e2&&void 0!==t2?n("div",{class:"sy-grid__custom-filter-host","data-col-id":this.componentFilterColumnId(t2),ref:this.componentFilterHostRef(this.componentFilterColumnId(t2),false)}):this.renderFilterDropdownForm(this.filterForm))}renderFilterDropdownForm(t2){const e2=this.effectiveLoading;return"multi"===t2.kind?n("div",{class:"sy-grid__filter-form sy-grid__filter-form--multi"},(t2.subForms??[]).map(((t3,e3)=>n("div",{class:"sy-grid__filter-multi-section",key:`${t3.kind}-${e3}`},"set"===t3.kind?this.renderSetFilterBody(t3,e3):this.renderScalarFilterBody(t3,e3)))),this.renderFilterFormActions(e2)):"set"===t2.kind?n("div",{class:"sy-grid__filter-form sy-grid__filter-form--set"},this.renderSetFilterBody(t2,null),this.renderFilterFormActions(e2)):n("div",{class:"sy-grid__filter-form"},this.renderScalarFilterBody(t2,null),this.renderFilterFormActions(e2))}renderScalarFilterBody(t2,e2){const i2="between"===t2.op||"notBetween"===t2.op,r2=this.effectiveLoading,s2=this.resolvedMessages;return n("div",{class:"sy-grid__filter-scalar-body"},n("label",{class:"sy-grid__filter-row"},n("span",{class:"sy-grid__filter-label"},s2["filter.operatorLabel"]),n("select",{class:"sy-grid__filter-op",disabled:r2,onChange:t3=>this.patchForm(e2,{op:t3.target.value})},this.filterOpOptions(t2.kind,t2.op))),"text"===t2.kind&&n("label",{class:"sy-grid__filter-row"},n("span",{class:"sy-grid__filter-label"},s2["filter.valueLabel"]),n("input",{class:"sy-grid__filter-input",type:"text",value:t2.value1,placeholder:s2["filter.valuePlaceholder"],readOnly:r2,"aria-disabled":r2?"true":void 0,onInput:t3=>this.patchForm(e2,{value1:t3.target.value})})),"number"===t2.kind&&n("label",{class:"sy-grid__filter-row"},n("span",{class:"sy-grid__filter-label"},i2?s2["filter.fromLabel"]:s2["filter.valueLabel"]),n("input",{class:"sy-grid__filter-input",type:"number",value:t2.value1,placeholder:i2?s2["filter.numberLowPlaceholder"]:s2["filter.numberPlaceholder"],readOnly:r2,"aria-disabled":r2?"true":void 0,onInput:t3=>this.patchForm(e2,{value1:t3.target.value})})),"number"===t2.kind&&i2&&n("label",{class:"sy-grid__filter-row"},n("span",{class:"sy-grid__filter-label"},s2["filter.toLabel"]),n("input",{class:"sy-grid__filter-input",type:"number",value:t2.value2,placeholder:s2["filter.numberHighPlaceholder"],readOnly:r2,"aria-disabled":r2?"true":void 0,onInput:t3=>this.patchForm(e2,{value2:t3.target.value})})),"date"===t2.kind&&n("label",{class:"sy-grid__filter-row"},n("span",{class:"sy-grid__filter-label"},i2?s2["filter.fromLabel"]:s2["filter.dateLabel"]),n("input",{class:"sy-grid__filter-input",type:"date",value:t2.value1,readOnly:r2,"aria-disabled":r2?"true":void 0,onInput:t3=>this.patchForm(e2,{value1:t3.target.value})})),"date"===t2.kind&&i2&&n("label",{class:"sy-grid__filter-row"},n("span",{class:"sy-grid__filter-label"},s2["filter.toLabel"]),n("input",{class:"sy-grid__filter-input",type:"date",value:t2.value2,readOnly:r2,"aria-disabled":r2?"true":void 0,onInput:t3=>this.patchForm(e2,{value2:t3.target.value})})),"text"===t2.kind&&n("label",{class:"sy-grid__filter-row sy-grid__filter-row--inline"},n("input",{type:"checkbox",checked:t2.caseSensitive,disabled:r2,onChange:t3=>this.patchForm(e2,{caseSensitive:t3.target.checked})}),n("span",{class:"sy-grid__filter-label sy-grid__filter-label--inline"},s2["filter.caseSensitiveLabel"])),"date"===t2.kind&&n("label",{class:"sy-grid__filter-row"},n("span",{class:"sy-grid__filter-label"},s2["filter.granularityLabel"]),n("select",{class:"sy-grid__filter-op",disabled:r2,onChange:t3=>this.patchForm(e2,{granularity:t3.target.value})},n("option",{value:"utc",selected:"utc"===t2.granularity},s2["filter.granularityUtcOption"]),n("option",{value:"day",selected:"day"===t2.granularity},s2["filter.granularityDayOption"]))))}filterOpOptions(t2,e2){const i2=this.resolvedMessages;return("text"===t2?[["contains",i2["filter.op.contains"]],["notContains",i2["filter.op.notContains"]],["equals",i2["filter.op.equals"]],["notEqual",i2["filter.op.notEqual"]],["startsWith",i2["filter.op.startsWith"]],["endsWith",i2["filter.op.endsWith"]]]:"number"===t2?[["equals",i2["filter.op.equals"]],["notEqual",i2["filter.op.notEqual"]],["gt",i2["filter.op.greaterThan"]],["gte",i2["filter.op.greaterOrEqual"]],["lt",i2["filter.op.lessThan"]],["lte",i2["filter.op.lessOrEqual"]],["between",i2["filter.op.between"]],["notBetween",i2["filter.op.notBetween"]]]:[["equals",i2["filter.op.equals"]],["notEqual",i2["filter.op.notEqual"]],["before",i2["filter.op.before"]],["after",i2["filter.op.after"]],["onOrBefore",i2["filter.op.onOrBefore"]],["onOrAfter",i2["filter.op.onOrAfter"]],["between",i2["filter.op.between"]],["notBetween",i2["filter.op.notBetween"]]]).map((([t3,i3])=>n("option",{value:t3,selected:e2===t3},i3)))}openToolPanelId=null;columnsPanelSearch="";filtersPanelSearch="";sideBarWarned=false;sideBarSpec(){const t2=Mr(this.sideBar);return null===t2||this.proAllowed("grid.tool-panels","sideBar")?(null!==t2&&t2.invalid.length>0&&!this.sideBarWarned&&(this.sideBarWarned=true,console.warn("sideBar declaration has invalid entries: "+t2.invalid.join(", "))),t2):null}onSideBarChanged(){const t2=this.sideBarSpec();null!==t2?null!==this.openToolPanelId&&t2.panels.some((t3=>t3.id===this.openToolPanelId))||(this.openToolPanelId=t2.defaultOpen):this.openToolPanelId=null}async openToolPanel(t2){const e2=()=>true===Mr(this.sideBar)?.panels.some((e3=>e3.id===t2));return this.proMethod("openToolPanel",{validate:()=>e2()?void 0:{result:false},load:()=>this.loadProPanelsChunk(),exec:()=>{},publish:()=>{const e3=this.sideBarSpec();return!(null===e3||!e3.panels.some((e4=>e4.id===t2))||(this.openToolPanelId!==t2&&(this.openToolPanelId=t2,this.toolPanelToggled.emit({id:t2,open:true})),0))}})}async closeToolPanel(){return this.proRun("closeToolPanel",(()=>{const t2=this.openToolPanelId;null!==t2&&(this.openToolPanelId=null,this.toolPanelToggled.emit({id:t2,open:false}))}))}async getOpenedToolPanel(){return this.proRun("getOpenedToolPanel",(()=>this.openToolPanelId))}renderSideBar(){if(!this.usingColumnDefsApi()||null===this.sideBarSpec())return null;const t2=this.proUiChunk("pro-panels","grid.tool-panels","sideBar");return null==t2?null:t2.renderSideBar(this.proPanelsHost())}lastFilteredDataRowCount=null;statusBarWarned=false;statusBarSpec(){const t2=(function(t3){if(false===t3||null==t3)return null;if(true===t3)return{panels:kr,invalid:[]};if("object"!=typeof t3)return{panels:kr,invalid:[`statusBar value "${t3+""}" is not boolean/object`]};const e2=t3.panels;if(!Array.isArray(e2))return{panels:kr,invalid:["statusBar.panels is not an array"]};const i2=[],n2=[];for(const t4 of e2){if(null===t4||"object"!=typeof t4){n2.push(t4+"");continue}const e3=t4.panel;if("string"!=typeof e3||!_r.includes(e3)){n2.push(e3+"");continue}const r2=t4.align,s2="string"==typeof r2&&Cr.includes(r2)?r2:"left";i2.push({panel:e3,align:s2})}return{panels:i2,invalid:n2}})(this.statusBar);return null===t2||this.proAllowed("grid.status-bar","statusBar")?(null!==t2&&t2.invalid.length>0&&!this.statusBarWarned&&(this.statusBarWarned=true,console.warn("statusBar declaration has invalid entries: "+t2.invalid.join(", "))),t2):null}renderStatusBar(){if(!this.usingColumnDefsApi()||null===this.statusBarSpec())return null;const t2=this.proUiChunk("pro-panels","grid.status-bar","statusBar");return null==t2?null:t2.renderStatusBar(this.proPanelsHost())}renderPaginationBar(){if(!this.pagination)return null;if(!this.usingColumnDefsApi())return null;const t2=this.latestPaginatedMeta,e2=this.activePagination.pageIndex,i2=this.activePagination.pageSize,r2=t2?.totalRows??0,s2=t2?.pageCount??1,o2=0===r2?0:e2*i2+1,l2=Math.min(r2,(e2+1)*i2),a2=this.normalizedPageSizeOptions(),d2=e2<=0,u2=e2>=s2-1,c2=(function(t3,e3,i3){const n2=ln(i3?.siblingCount,1),r3=ln(i3?.boundaryCount,1);if((e3=ln(e3,0))<=0)return[];const s3=Math.min(Math.max(Number.isFinite(t3)?Math.floor(t3)+1:1,1),e3);if(e3<=2*r3+2*n2+3){const t4=[];for(let i4=1;i4<=e3;i4++)t4.push(i4);return t4}const o3=[];for(let t4=1;t4<=Math.min(r3,e3);t4++)o3.push(t4);const l3=[];for(let t4=Math.max(e3-r3+1,1);t4<=e3;t4++)l3.push(t4);const a3=Math.max(Math.min(s3-n2,e3-r3-2*n2-1),r3+2),d3=Math.min(Math.max(s3+n2,r3+2*n2+2),e3-r3-1),u3=[...o3];a3>r3+2?u3.push("ellipsis"):r3+1<e3-r3&&u3.push(r3+1);for(let t4=a3;t4<=d3;t4++)u3.push(t4);return d3<e3-r3-1?u3.push("ellipsis"):e3-r3>r3&&u3.push(e3-r3),u3.push(...l3),u3})(e2,s2),h2=this.effectiveLoading,f2=this.resolvedMessages;return n("div",{class:{"sy-grid__pagination":true,"sy-grid__pagination--locked":h2},role:"navigation","aria-label":f2["pagination.navAriaLabel"],"aria-disabled":h2?"true":void 0,onKeyDown:this.handlePaginationKeyDown},n("button",{type:"button",class:"sy-grid__pagination-button sy-grid__pagination-button--prev","aria-label":f2["a11y.paginationPrev"],disabled:d2||h2,onClick:this.handlePrevPage},"‹"),n("span",{class:"sy-grid__page-numbers"},c2.map(((t3,i3)=>{if("ellipsis"===t3)return n("span",{key:"ellipsis-"+i3,class:"sy-grid__page-ellipsis","aria-hidden":"true"},"…");const r3=t3-1,s3=r3===e2;return n("button",{key:"page-"+t3,type:"button",class:{"sy-grid__pagination-button":true,"sy-grid__page-number":true,"sy-grid__page-number--active":s3},"data-active":s3?"true":"false","aria-current":s3?"page":void 0,"aria-label":ar(f2,"header.pageLabel",{page:t3}),disabled:h2,onClick:()=>this.handleGoToPage(r3)},t3)}))),n("button",{type:"button",class:"sy-grid__pagination-button sy-grid__pagination-button--next","aria-label":f2["a11y.paginationNext"],disabled:u2||h2,onClick:this.handleNextPage},"›"),n("span",{class:"sy-grid__page-info","aria-live":"polite"},ar(f2,"pagination.rangeOf",{start:o2,end:l2,total:r2})),n("label",{class:"sy-grid__page-size-label"},n("span",{class:"sy-grid__page-size-text"},f2["pagination.rowsLabel"]),n("select",{class:"sy-grid__page-size","aria-label":f2["a11y.paginationPageSize"],disabled:h2,onChange:t3=>this.handlePageSizeChange(t3.target.value)},a2.map((t3=>n("option",{value:t3+"",selected:t3===i2},t3))))))}renderHeaderCheckboxCell(t2=false){const e2=this.collectVisibleRowIds(),i2=gr(this.selectionState,e2),r2=this.resolvedMessages["a11y.selectAllCheckbox"],s2=(function(t3,e3){return{role:"checkbox","aria-checked":"all"===t3?"true":"partial"===t3?"mixed":"false","aria-label":"string"==typeof e3&&e3.length>0?e3:"Select all visible rows",tabindex:0}})(i2,r2),o2={width:br.width+"px"};t2&&(o2.position="sticky",o2.left="0px",o2.zIndex="4");const l2=k({colIndex:0,sortDirection:null,label:r2});return n("div",{class:{"sy-grid__header-cell":true,"sy-grid__header-cell--selection":true,"sy-grid__header-cell--locked":this.effectiveLoading},...l2,"data-field":br.field,style:o2},n("span",{class:{"sy-grid__selection-checkbox":true,"sy-grid__selection-checkbox--checked":"all"===i2,"sy-grid__selection-checkbox--mixed":"partial"===i2},role:s2.role,"aria-checked":s2["aria-checked"],"aria-label":s2["aria-label"],tabindex:s2.tabindex,onClick:this.handleHeaderCheckboxClick,onKeyDown:this.handleHeaderCheckboxKeyDown}))}renderBodyCheckboxCell(t2,e2=false){const i2=mr(t2,this.resolvedMessages["a11y.selectRowCheckbox"]),r2={width:br.width+"px"};return e2&&(r2.position="sticky",r2.left="0px",r2.zIndex="1"),n("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":e2},...x({colIndex:0,isActive:false}),"data-field":br.field,"data-col-index":-1,style:r2},n("span",{class:{"sy-grid__selection-checkbox":true,"sy-grid__selection-checkbox--checked":t2},role:i2.role,"aria-checked":i2["aria-checked"],"aria-label":i2["aria-label"],tabindex:i2.tabindex}))}lifecycleRendererDeclaration(t2){const e2=t2.cellRenderer;return null==e2||"function"==typeof e2?null:"string"==typeof e2?null===this.cellRendererRegistry.get(e2)?{componentName:e2}:null:"object"==typeof e2?{definition:e2}:null}rendererPresentationCoordinateKey(t2,e2){return`${t2}:${e2}`}rendererPresentationFromOutput(t2){if(null===t2||"object"!=typeof t2)return{classNames:[]};const e2=t2;return"text"!==e2.kind&&"html"!==e2.kind&&"vnode"!==e2.kind?{classNames:[]}:{classNames:"string"==typeof e2.class?[...new Set(e2.class.split(/\s+/).filter(Boolean))]:[],..."string"==typeof e2.title?{title:e2.title}:{}}}sameRendererPresentation(t2,e2){return void 0===t2?0===e2.classNames.length&&void 0===e2.title:t2.title===e2.title&&t2.classNames.length===e2.classNames.length&&t2.classNames.every(((t3,i2)=>t3===e2.classNames[i2]))}updateLifecycleRendererPresentation(t2,e2){const i2=this.lifecycleRendererPresentations.get(t2);return!this.sameRendererPresentation(i2,e2)&&(0===e2.classNames.length&&void 0===e2.title?this.lifecycleRendererPresentations.delete(t2):(this.lifecycleRendererPresentations.set(t2,e2),true))}recordRendererPresentation(t2,e2,i2){0===i2.classNames.length&&void 0===i2.title||this.rendererPresentationsByCoordinate.set(this.rendererPresentationCoordinateKey(t2,e2),i2)}rendererPresentationAt(t2,e2){return this.rendererPresentationsByCoordinate.get(this.rendererPresentationCoordinateKey(t2,e2))}rendererPresentationClasses(t2){return void 0===t2||0===t2.classNames.length?{}:t2.classNames.reduce(((t3,e2)=>(t3[e2]=true,t3)),{})}renderLifecycleRenderer(t2,e2,i2,r2,s2,o2,l2,a2){const d2=this.componentRowId(s2),u2=this.componentColumnId(r2);if(null===d2||null===u2)return"—";const c2={rowId:d2,colId:u2},h2=JSON.stringify([c2.rowId,c2.colId]),f2=this.lifecycleRendererPresentations.get(h2);return void 0!==f2&&this.recordRendererPresentation(e2,i2,f2),n("span",{class:"sy-grid__cell-component-host","data-component-kind":"renderer","data-component-key":h2,ref:n2=>{null!=n2&&this.pendingLifecycleRenderers.set(h2,{identity:c2,host:n2,...void 0===t2.componentName?{}:{componentName:t2.componentName},...void 0===t2.definition?{}:{definition:t2.definition},paramsRow:o2,value:l2,rowIndex:e2,colIndex:i2,formatted:a2,meta:r2.cellRendererMeta})}})}resolveCellRenderer(t2){const e2=t2.cellRenderer;if(null==e2)return null;if("function"==typeof e2)return e2;if("string"==typeof e2){const i2=this.cellRendererRegistry.get(e2);return null!==i2?i2:(this.cellRendererWarnedFields.has(t2.field)||(this.cellRendererWarnedFields.add(t2.field),console.warn(`[cellRenderer] field=${t2.field} missing=${e2}; names=${this.cellRendererRegistry.list().join(", ")}`)),null)}return this.cellRendererWarnedFields.has(t2.field)||(this.cellRendererWarnedFields.add(t2.field),console.warn(`[cellRenderer] field=${t2.field} bad type=${typeof e2}; text fallback`)),null}renderCellContent(t2,e2,i2,r2,s2,o2){const l2=this.lifecycleRendererDeclaration(i2),a2=null===l2?this.resolveCellRenderer(i2):null;if(null===l2&&null===a2)return null;const d2=o2??(this.readPolicyConfigured()?this.maskDeniedFields(r2,t2,this.resolvedColumnDefs()):r2),u2=null!=i2.valueFormatter?this.formatGridCellValue({value:s2,row:d2,rowIndex:t2,colId:i2.colId??i2.field,valueFormatter:i2.valueFormatter,locale:"string"==typeof this.locale?this.locale:"en",colDef:i2}):void 0;if(null!==l2)return this.renderLifecycleRenderer(l2,t2,e2,i2,r2,d2,s2,u2);if(null===a2)return null;const c2={value:s2,row:d2,rowIndex:t2,colIndex:e2,colId:i2.field,formatted:u2,meta:i2.cellRendererMeta};let h2;try{h2=a2(c2)}catch(e3){return this.cellRendererWarnedFields.has(i2.field)||(this.cellRendererWarnedFields.add(i2.field),console.warn(`[cellRenderer] error field=${i2.field} row=${t2}:`,e3)),"—"}return h2&&"object"==typeof h2?"text"===h2.kind?(this.recordRendererPresentation(t2,e2,this.rendererPresentationFromOutput(h2)),"string"==typeof h2.text?h2.text:""):"html"===h2.kind?(this.recordRendererPresentation(t2,e2,this.rendererPresentationFromOutput(h2)),n("span",{class:"sy-grid__cell-html",innerHTML:"string"==typeof h2.html?h2.html:""})):"vnode"===h2.kind?(this.recordRendererPresentation(t2,e2,this.rendererPresentationFromOutput(h2)),h2.vnode):(this.cellRendererWarnedFields.has(i2.field)||(this.cellRendererWarnedFields.add(i2.field),console.warn(`[cellRenderer] field=${i2.field} bad kind=${h2.kind}; fallback`)),"—"):(this.cellRendererWarnedFields.has(i2.field)||(this.cellRendererWarnedFields.add(i2.field),console.warn(`[cellRenderer] field=${i2.field} bad shape=${null===h2?"null":typeof h2}; fallback`)),"—")}renderEditorForCell(t2,e2,i2){if(null===this.editStore.active)return null;const r2=this.editStore.active,s2=this.lifecycleEditorNavigationTarget?.target;let o2=null;if(void 0!==s2){if(this.componentFilterColumnId(i2)!==s2.colId)return null;const n2=this.getDisplayRows()[t2];if(null==n2||"object"!=typeof n2)return null;let r3=null===s2.rowId&&n2===s2.row;if(null!==s2.rowId)try{r3=Object.is(this.editRowIdentity(n2),s2.rowId)}catch{r3=false}if(!r3)return null;if(o2=this.resolveQueuedCellEditTarget(s2,false),null===o2||o2.rowIndex!==t2||o2.colIndex!==e2)return null;this.lifecycleEditorCell=o2}else if(r2.rowIndex!==t2||r2.colIndex!==e2)return null;if(true!==i2.editable)return null;if(!this.passesEditPolicyAt(t2,e2))return null;if(void 0!==s2){if(null==i2.cellEditor)return null;const r3=this.lifecycleEditorNavigationTarget?.key;if(void 0===r3)return null;let s3=null;return null===this.lifecycleEditorCell||this.lifecycleEditorCell.rowIndex!==t2||this.lifecycleEditorCell.colIndex!==e2?null:n("div",{class:"sy-grid__cell-editor-component-host","data-component-kind":"editor","data-component-state":null===this.lifecycleEditorRef?"starting":"mounted",ref:t3=>{const e3=t3??null;null!==e3?this.lifecycleEditorNavigationTarget?.key===r3&&(s3=e3,this.lifecycleEditorHost=e3):this.lifecycleEditorHost===s3&&(this.lifecycleEditorHost=null)}})}const l2=i2.editor??"text";return"number"===l2?this.renderNumberEditorForCell(t2,e2,i2):"date"===l2?this.renderDateEditorForCell(t2,e2,i2):"select"===l2?this.renderSelectEditorForCell(t2,e2,i2):"autocomplete"===l2?this.richSelect?.renderAutocompleteEditor(this,n,t2,e2,i2)??null:"checkbox"===l2?this.renderCheckboxEditorForCell(t2,e2,i2):"textarea"===l2?this.renderTextareaEditorForCell(t2,e2,i2):"largeText"===l2?this.renderLargeTextEditorForCell(t2,e2,i2):this.renderTextEditorForCell(t2,e2,i2)}renderTextEditorForCell(t2,e2,i2){if(null===this.textEditorState)return null;const r2=ar(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:i2.headerName??i2.field,row:t2+1}),s2=`sy-grid-cell-editor-hint-${t2}-${e2}`,o2=ar(this.resolvedMessages,"a11y.cellEditingHint",{column:i2.headerName??i2.field,row:t2+1}),l2=(function(t3){const{state:e3,rowIndex:i3,colIndex:n2,ariaLabel:r3,ariaDescribedBy:s3,onInput:o3,interceptKeyDown:l3,onCompositionStart:a2,onCompositionEnd:d2,onCommit:u2,onCancel:c2,onBlur:h2}=t3;return{type:"text",value:e3.value,class:"sy-grid__cell-editor sy-grid__cell-editor--text","data-row-index":i3,"data-col-index":n2,"aria-label":r3,"aria-describedby":s3,onInput:t4=>{const e4=t4.target;null!==e4&&o3("string"==typeof e4.value?e4.value:"",e4.selectionStart??null,e4.selectionEnd??null)},onCompositionStart:a2,onCompositionEnd:t4=>{const i4=t4.target;d2(null!==i4&&"string"==typeof i4.value?i4.value:e3.value)},onKeyDown:t4=>{if(t4.stopPropagation(),true!==l3?.(t4))return(function(t5,e4){return!t5.composing&&("Enter"===e4||"Tab"===e4)})(e3,t4.key)?(t4.preventDefault(),void u2()):(function(t5,e4){return"Escape"===e4})(0,t4.key)?(t4.preventDefault(),void c2()):void 0},onBlur:h2}})({state:this.textEditorState,rowIndex:t2,colIndex:e2,ariaLabel:r2,ariaDescribedBy:s2,interceptKeyDown:true===this.formulas?t3=>this.handleSuggestKeyIntercept(t3,(t4=>this.applyCellSuggestion(t4))):void 0,onInput:(t3,e3,i3)=>{if(null===this.textEditorState)return;const n2=lo(this.textEditorState,t3);n2!==this.textEditorState&&(this.textEditorState=n2);const r3=ao(this.textEditorState,e3,i3);if(r3!==this.textEditorState&&(this.textEditorState=r3),true===this.formulas&&this.updateFormulaSuggest("cell",t3,e3??t3.length),null===this.editStore.active)return;const s3=Zr(this.editStore,t3);s3!==this.editStore&&(this.editStore=s3)},onCompositionStart:()=>{if(null===this.textEditorState)return;const t3=(function(t4){return t4.composing?t4:{value:t4.value,composing:true,selectionStart:t4.selectionStart,selectionEnd:t4.selectionEnd}})(this.textEditorState);t3!==this.textEditorState&&(this.textEditorState=t3)},onCompositionEnd:t3=>{if(null===this.textEditorState)return;const e3=(function(t4,e4){return t4.composing||e4!==t4.value?{value:e4,composing:false,selectionStart:t4.selectionStart,selectionEnd:t4.selectionEnd}:t4})(this.textEditorState,t3);if(e3!==this.textEditorState&&(this.textEditorState=e3),null===this.editStore.active)return;const i3=Zr(this.editStore,t3);i3!==this.editStore&&(this.editStore=i3)},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const t3=this.editStore.active;if(null===t3||"pending"!==t3.phase)return;const e3=t3.rowIndex,i3=t3.colIndex;this.editingCell=null,this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:e3,colIndex:i3})},onBlur:()=>{null!==this.editStore.active&&"pending"===this.editStore.active.phase&&this.commitEditTransaction()}});return n(n.Fragment,null,n("input",{ref:t3=>{this.textEditorEl=t3??null},type:l2.type,value:l2.value,class:l2.class,"data-row-index":l2["data-row-index"],"data-col-index":l2["data-col-index"],"aria-label":l2["aria-label"],"aria-describedby":l2["aria-describedby"],onInput:l2.onInput,onCompositionstart:l2.onCompositionStart,onCompositionend:l2.onCompositionEnd,onKeyDown:l2.onKeyDown,onBlur:l2.onBlur}),n("span",{id:s2,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},o2))}renderNumberEditorForCell(t2,e2,i2){if(null===this.numberEditorState)return null;const r2=this.numberConstraintsFromColumn(i2),s2=ar(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:i2.headerName??i2.field,row:t2+1}),o2=`sy-grid-cell-editor-hint-${t2}-${e2}`,l2=ar(this.resolvedMessages,"a11y.cellEditingHint",{column:i2.headerName??i2.field,row:t2+1});let a2="";const d2=this.numberEditorState.constraintViolation;if(null!==d2&&void 0!==r2){const t3="min"===d2?r2.min:"max"===d2?r2.max:r2.step;"number"==typeof t3&&Number.isFinite(t3)&&(a2=ar(this.resolvedMessages,"editor.numberConstraintViolation",{constraint:"min"===d2?"at least":"max"===d2?"at most":"a multiple of",value:t3+""}))}const u2=(function(t3){const{state:e3,rowIndex:i3,colIndex:n2,ariaLabel:r3,ariaDescribedBy:s3,constraints:o3,onInput:l3,onCompositionStart:a3,onCompositionEnd:d3,onCommit:u3,onCancel:c2,onBlur:h2}=t3,f2=0===o3?.decimals?"numeric":"decimal",g2=void 0!==o3?.step&&o3.step>0?o3.step:"any",p2=null!==e3.constraintViolation,y2=p2?co+" sy-grid__cell-editor--invalid":co;return{type:"number",inputmode:f2,min:o3?.min,max:o3?.max,step:g2,value:e3.rawText,class:y2,"data-row-index":i3,"data-col-index":n2,"aria-label":r3,"aria-describedby":s3,"aria-invalid":p2?"true":"false",onInput:t4=>{const e4=t4.target;if(null===e4)return;const i4="string"==typeof e4.value?e4.value:"",n3=ho(e4,"selectionStart"),r4=ho(e4,"selectionEnd");l3(i4,n3,r4)},onCompositionStart:a3,onCompositionEnd:t4=>{const i4=t4.target;d3(null!==i4&&"string"==typeof i4.value?i4.value:e3.rawText)},onKeyDown:t4=>(t4.stopPropagation(),(function(t5,e4){return!t5.composing&&("Enter"===e4||"Tab"===e4)&&null===t5.constraintViolation})(e3,t4.key)?(t4.preventDefault(),void u3()):(function(t5,e4){return"Escape"===e4})(0,t4.key)?(t4.preventDefault(),void c2()):void 0),onBlur:h2}})({state:this.numberEditorState,rowIndex:t2,colIndex:e2,ariaLabel:s2,ariaDescribedBy:o2,constraints:r2,onInput:(t3,e3,i3)=>{if(null===this.numberEditorState)return;const n2=(function(t4,e4,i4){if(e4===t4.rawText)return t4;const{value:n3,violation:r3}=uo(e4,i4);return{rawText:e4,parsedValue:n3,composing:t4.composing,selectionStart:t4.selectionStart,selectionEnd:t4.selectionEnd,constraintViolation:r3}})(this.numberEditorState,t3,r2);n2!==this.numberEditorState&&(this.numberEditorState=n2);const s3=(function(t4,e4,i4){return t4.selectionStart===e4&&t4.selectionEnd===i4?t4:{rawText:t4.rawText,parsedValue:t4.parsedValue,composing:t4.composing,selectionStart:e4,selectionEnd:i4,constraintViolation:t4.constraintViolation}})(this.numberEditorState,e3,i3);if(s3!==this.numberEditorState&&(this.numberEditorState=s3),null===this.editStore.active)return;const o3=Zr(this.editStore,this.numberEditorState.parsedValue);o3!==this.editStore&&(this.editStore=o3)},onCompositionStart:()=>{if(null===this.numberEditorState)return;const t3=(function(t4){return t4.composing?t4:{rawText:t4.rawText,parsedValue:t4.parsedValue,composing:true,selectionStart:t4.selectionStart,selectionEnd:t4.selectionEnd,constraintViolation:t4.constraintViolation}})(this.numberEditorState);t3!==this.numberEditorState&&(this.numberEditorState=t3)},onCompositionEnd:t3=>{if(null===this.numberEditorState)return;const e3=(function(t4,e4,i4){if(!t4.composing&&e4===t4.rawText)return t4;const{value:n2,violation:r3}=uo(e4,i4);return{rawText:e4,parsedValue:n2,composing:false,selectionStart:t4.selectionStart,selectionEnd:t4.selectionEnd,constraintViolation:r3}})(this.numberEditorState,t3,r2);if(e3!==this.numberEditorState&&(this.numberEditorState=e3),null===this.editStore.active)return;const i3=Zr(this.editStore,this.numberEditorState.parsedValue);i3!==this.editStore&&(this.editStore=i3)},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const t3=this.editStore.active;if(null===t3||"pending"!==t3.phase)return;const e3=t3.rowIndex,i3=t3.colIndex;this.editingCell=null,this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:e3,colIndex:i3})},onBlur:()=>{null!==this.editStore.active&&"pending"===this.editStore.active.phase&&(null!==this.numberEditorState&&null!==this.numberEditorState.constraintViolation||this.commitEditTransaction())}});return n(n.Fragment,null,n("input",{ref:t3=>{this.textEditorEl=t3??null},type:u2.type,inputMode:u2.inputmode,min:u2.min,max:u2.max,step:u2.step,value:u2.value,class:u2.class,"data-row-index":u2["data-row-index"],"data-col-index":u2["data-col-index"],"aria-label":u2["aria-label"],"aria-describedby":u2["aria-describedby"],"aria-invalid":u2["aria-invalid"],onInput:u2.onInput,onCompositionstart:u2.onCompositionStart,onCompositionend:u2.onCompositionEnd,onKeyDown:u2.onKeyDown,onBlur:u2.onBlur}),n("span",{id:o2,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},""!==a2?`${l2} ${a2}`:l2))}pickCalendarDay(t2,e2){if(null===this.dateEditorState||null===this.calendarState)return;const i2=xo(t2);if(null===i2)return;this.calendarState=(function(t3,e3){return{month:e3.getUTCMonth(),year:e3.getUTCFullYear(),selected:e3}})(0,i2);const n2=yo(this.dateEditorState,t2,e2);if(this.dateEditorState=n2,null!==this.editStore.active){const t3=Zr(this.editStore,this.dateEditorState.parsedDate);t3!==this.editStore&&(this.editStore=t3)}null===this.dateEditorState.constraintViolation&&this.commitEditTransaction()}stepCalendarMonth(t2){if(null===this.calendarState)return;const e2=(function(t3,e3){if(0===e3)return t3;const i2=12*t3.year+t3.month+e3;return{month:(i2%12+12)%12,year:Math.floor(i2/12),selected:t3.selected}})(this.calendarState,t2);if(e2!==this.calendarState&&(this.calendarState=e2,null!==this.calendarFocusedIso)){const t3=xo(this.calendarFocusedIso);if(null!==t3){const i2=new Date(Date.UTC(e2.year,e2.month+1,0)).getUTCDate(),n2=Math.min(t3.getUTCDate(),i2);this.calendarFocusedIso=vo(wo(e2.year,e2.month,n2))}}}handleCalendarKeyNav(t2,e2){if(null===this.calendarState||null===this.calendarFocusedIso)return false;if("Enter"===t2.key)return!!this.calendarKbdNavigated&&(this.pickCalendarDay(this.calendarFocusedIso,e2),true);const i2={ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",ArrowDown:"down",PageUp:"pageup",PageDown:"pagedown",Home:"home",End:"end"}[t2.key];if(void 0===i2)return false;const n2=(function(t3,e3,i3=0){const n3=xo(t3);if(null===n3)return null;const r3=t4=>wo(n3.getUTCFullYear(),n3.getUTCMonth(),n3.getUTCDate()+t4);switch(e3){case"left":return vo(r3(-1));case"right":return vo(r3(1));case"up":return vo(r3(-7));case"down":return vo(r3(7));case"pageup":return vo(ko(n3,-1));case"pagedown":return vo(ko(n3,1));case"home":return vo(r3(-((n3.getUTCDay()-i3)%7+7)%7));case"end":return vo(r3(6-((n3.getUTCDay()-i3)%7+7)%7));default:return t3}})(this.calendarFocusedIso,i2);if(null===n2)return false;const r2=So(n2,_o(e2?.min??null),_o(e2?.max??null));this.calendarFocusedIso=r2,this.calendarKbdNavigated=true;const s2=xo(r2);if(null!==s2){const t3=(function(t4,e3,i3){return t4.year===e3&&t4.month===i3?t4:{month:i3,year:e3,selected:t4.selected}})(this.calendarState,s2.getUTCFullYear(),s2.getUTCMonth());t3!==this.calendarState&&(this.calendarState=t3)}return true}renderActiveDateCalendar(){if(null===this.calendarState||null===this.calendarAnchor)return null;const t2=this.editStore.active;if(null===t2)return null;const e2=this.effectiveColumns()[t2.colIndex];return e2?this.renderDateCalendar(this.dateConstraintsFromColumn(e2)):null}renderDateCalendar(t2){if(null===this.calendarState)return null;const e2=this.calendarState,i2=_o(t2?.min??null),r2=_o(t2?.max??null),s2=(function(t3,e3=0){const i3=wo(t3.year,t3.month,1).getUTCDay(),n2=[],r3=wo(t3.year,t3.month,1-(i3-e3+7)%7);for(let e4=0;e4<6;e4++){const e5=[];for(let i4=0;i4<7;i4++){const i5=wo(r3.getUTCFullYear(),r3.getUTCMonth(),r3.getUTCDate());e5.push({date:i5,iso:vo(i5),day:i5.getUTCDate(),inMonth:i5.getUTCMonth()===t3.month}),r3.setUTCDate(r3.getUTCDate()+1)}n2.push(e5)}return n2})(e2),o2=new Date,l2=wo(o2.getUTCFullYear(),o2.getUTCMonth(),o2.getUTCDate()),a2=`${Io[e2.month]} ${e2.year}`,d2=this.calendarAnchor;return n("div",{class:"sy-grid__date-calendar",id:Ol,role:"dialog","aria-label":a2,style:d2?{position:"fixed",left:d2.x+"px",top:d2.y+"px",minWidth:d2.width+"px",zIndex:"1000"}:void 0,onMouseDown:t3=>{t3.preventDefault(),t3.stopPropagation()},onClick:t3=>t3.stopPropagation()},n("div",{class:"sy-grid__date-calendar-header"},n("button",{type:"button",key:"cal-prev",class:"sy-grid__date-calendar-nav","aria-label":"Previous month",onMouseDown:t3=>{t3.preventDefault(),t3.stopPropagation()},onClick:t3=>{t3.stopPropagation(),this.stepCalendarMonth(-1)}},"‹"),n("span",{class:"sy-grid__date-calendar-title","aria-live":"polite"},a2),n("button",{type:"button",key:"cal-next",class:"sy-grid__date-calendar-nav","aria-label":"Next month",onMouseDown:t3=>{t3.preventDefault(),t3.stopPropagation()},onClick:t3=>{t3.stopPropagation(),this.stepCalendarMonth(1)}},"›")),n("div",{class:"sy-grid__date-calendar-grid",role:"group","aria-label":a2},n("div",{class:"sy-grid__date-calendar-week sy-grid__date-calendar-week--head","aria-hidden":"true"},Ro.map(((t3,e3)=>n("span",{class:"sy-grid__date-calendar-weekday",key:"wd-"+e3},t3)))),s2.map(((s3,o3)=>n("div",{class:"sy-grid__date-calendar-week",key:"wk-"+o3},s3.map((s4=>{const o4=(function(t3,e3,i3){return null!==e3&&t3.getTime()<e3.getTime()||null!==i3&&t3.getTime()>i3.getTime()})(s4.date,i2,r2),a3=Co(s4.date,e2.selected),d3=Co(s4.date,l2);return n("button",{type:"button",key:s4.iso,id:"sy-grid-cal-day-"+s4.iso,class:{"sy-grid__date-calendar-day":true,"sy-grid__date-calendar-day--outside":!s4.inMonth,"sy-grid__date-calendar-day--selected":a3,"sy-grid__date-calendar-day--today":d3,"sy-grid__date-calendar-day--focused":s4.iso===this.calendarFocusedIso},"aria-pressed":a3?"true":"false","aria-current":d3?"date":void 0,"aria-label":s4.iso,disabled:o4,"data-iso":s4.iso,onMouseDown:t3=>{t3.preventDefault(),t3.stopPropagation()},onClick:e3=>{e3.stopPropagation(),this.pickCalendarDay(s4.iso,t2)}},s4.day)})))))))}renderDateEditorForCell(t2,e2,i2){if(null===this.dateEditorState)return null;const r2=this.dateConstraintsFromColumn(i2),s2=ar(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:i2.headerName??i2.field,row:t2+1}),o2=`sy-grid-cell-editor-hint-${t2}-${e2}`,l2=ar(this.resolvedMessages,"a11y.cellEditingHint",{column:i2.headerName??i2.field,row:t2+1});let a2="";const d2=this.dateEditorState.constraintViolation;if("min"===d2||"max"===d2){const t3="min"===d2?r2?.min:r2?.max,e3=t3 instanceof Date&&!Number.isNaN(t3.getTime())?`${(t3.getUTCFullYear()+"").padStart(4,"0")}-${(t3.getUTCMonth()+1+"").padStart(2,"0")}-${(t3.getUTCDate()+"").padStart(2,"0")}`:"string"==typeof t3?t3:null;null!==e3&&(a2=ar(this.resolvedMessages,"editor.dateConstraintViolation",{constraint:"min"===d2?"on or after":"on or before",value:e3}))}else"invalid"===d2&&(a2=ar(this.resolvedMessages,"editor.dateInvalidFormat"));const u2=(function(t3){const{state:e3,rowIndex:i3,colIndex:n2,ariaLabel:r3,ariaDescribedBy:s3,constraints:o3,onInput:l3,onCompositionStart:a3,onCompositionEnd:d3,onCommit:u3,onCancel:c2,onBlur:h2}=t3,f2=null!==e3.constraintViolation,g2=f2?mo+" sy-grid__cell-editor--invalid":mo;return{type:"date",min:bo(o3?.min),max:bo(o3?.max),value:e3.rawText,class:g2,"data-row-index":i3,"data-col-index":n2,"aria-label":r3,"aria-describedby":s3,"aria-invalid":f2?"true":"false",onInput:t4=>{const e4=t4.target;if(null===e4)return;const i4="string"==typeof e4.value?e4.value:"";let n3=null,r4=null;try{n3=e4.selectionStart??null,r4=e4.selectionEnd??null}catch{n3=null,r4=null}l3(i4,n3,r4)},onCompositionStart:a3,onCompositionEnd:t4=>{const i4=t4.target;d3(null!==i4&&"string"==typeof i4.value?i4.value:e3.rawText)},onKeyDown:t4=>(t4.stopPropagation(),(function(t5,e4){return!t5.composing&&("Enter"===e4||"Tab"===e4)&&null===t5.constraintViolation})(e3,t4.key)?(t4.preventDefault(),void u3()):(function(t5,e4){return"Escape"===e4})(0,t4.key)?(t4.preventDefault(),void c2()):void 0),onBlur:h2}})({state:this.dateEditorState,rowIndex:t2,colIndex:e2,ariaLabel:s2,ariaDescribedBy:o2,constraints:r2,onInput:(t3,e3,i3)=>{if(null===this.dateEditorState)return;const n2=yo(this.dateEditorState,t3,r2);n2!==this.dateEditorState&&(this.dateEditorState=n2);const s3=(function(t4,e4,i4){return t4.selectionStart===e4&&t4.selectionEnd===i4?t4:{rawText:t4.rawText,parsedDate:t4.parsedDate,composing:t4.composing,selectionStart:e4,selectionEnd:i4,constraintViolation:t4.constraintViolation}})(this.dateEditorState,e3,i3);if(s3!==this.dateEditorState&&(this.dateEditorState=s3),null===this.editStore.active)return;const o3=Zr(this.editStore,this.dateEditorState.parsedDate);o3!==this.editStore&&(this.editStore=o3)},onCompositionStart:()=>{if(null===this.dateEditorState)return;const t3=(function(t4){return t4.composing?t4:{rawText:t4.rawText,parsedDate:t4.parsedDate,composing:true,selectionStart:t4.selectionStart,selectionEnd:t4.selectionEnd,constraintViolation:t4.constraintViolation}})(this.dateEditorState);t3!==this.dateEditorState&&(this.dateEditorState=t3)},onCompositionEnd:t3=>{if(null===this.dateEditorState)return;const e3=(function(t4,e4,i4){if(!t4.composing&&e4===t4.rawText)return t4;const{value:n2,violation:r3}=po(e4,i4);return{rawText:e4,parsedDate:n2,composing:false,selectionStart:t4.selectionStart,selectionEnd:t4.selectionEnd,constraintViolation:r3}})(this.dateEditorState,t3,r2);if(e3!==this.dateEditorState&&(this.dateEditorState=e3),null===this.editStore.active)return;const i3=Zr(this.editStore,this.dateEditorState.parsedDate);i3!==this.editStore&&(this.editStore=i3)},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const t3=this.editStore.active;if(null===t3||"pending"!==t3.phase)return;const e3=t3.rowIndex,i3=t3.colIndex;this.editingCell=null,this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:e3,colIndex:i3})},onBlur:()=>{null!==this.editStore.active&&"pending"===this.editStore.active.phase&&(null!==this.dateEditorState&&null!==this.dateEditorState.constraintViolation||this.commitEditTransaction())}});return n(n.Fragment,null,n("input",{ref:t3=>{this.textEditorEl=t3??null},type:"text",inputMode:"numeric",autoComplete:"off",value:u2.value,class:u2.class,"data-row-index":u2["data-row-index"],"data-col-index":u2["data-col-index"],"aria-label":u2["aria-label"],"aria-describedby":u2["aria-describedby"],"aria-invalid":u2["aria-invalid"],"aria-haspopup":"dialog","aria-controls":null!==this.calendarState?Ol:void 0,"aria-expanded":null!==this.calendarState?"true":"false","aria-activedescendant":null!==this.calendarState&&null!==this.calendarFocusedIso?"sy-grid-cal-day-"+this.calendarFocusedIso:void 0,onInput:t3=>{u2.onInput(t3),this.calendarKbdNavigated=false},onCompositionstart:u2.onCompositionStart,onCompositionend:u2.onCompositionEnd,onKeyDown:t3=>{if(null!==this.calendarState&&this.handleCalendarKeyNav(t3,r2))return t3.preventDefault(),void t3.stopPropagation();u2.onKeyDown(t3)},onBlur:u2.onBlur}),n("span",{id:o2,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},""!==a2?`${l2} ${a2}`:l2))}renderSelectEditorForCell(t2,e2,i2){if(null===this.selectEditorState)return null;const r2=this.selectEditorState,s2=ar(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:i2.headerName??i2.field,row:t2+1}),o2=`sy-grid-cell-editor-hint-${t2}-${e2}`,l2=ar(this.resolvedMessages,"a11y.cellEditingHint",{column:i2.headerName??i2.field,row:t2+1}),a2=ar(this.resolvedMessages,"editor.selectPlaceholder"),d2=ar(this.resolvedMessages,r2.open?"editor.selectCollapse":"editor.selectExpand"),u2=(function(t3){const{state:e3,rowIndex:i3,colIndex:n2,ariaLabel:r3,onToggle:s3,onKeyDown:o3,onBlur:l3}=t3;return{type:"button",class:"sy-grid__cell-editor sy-grid__cell-editor--select",label:$o(e3),"aria-expanded":e3.open?"true":"false","aria-haspopup":"listbox","aria-controls":e3.open?Eo(i3,n2):void 0,"aria-label":r3,"data-row-index":i3,"data-col-index":n2,onClick:s3,onKeyDown:t4=>{t4.stopPropagation(),"Enter"!==t4.key&&"ArrowUp"!==t4.key&&"ArrowDown"!==t4.key&&" "!==t4.key&&"Spacebar"!==t4.key&&"Escape"!==t4.key||t4.preventDefault(),o3(t4.key)},onBlur:l3}})({state:r2,rowIndex:t2,colIndex:e2,ariaLabel:`${s2} — ${d2}`,onToggle:()=>{if(null===this.selectEditorState)return;const t3=Ao(this.selectEditorState);t3!==this.selectEditorState&&(this.selectEditorState=t3)},onKeyDown:t3=>{if(null===this.selectEditorState)return;const e3=this.selectEditorState;if((function(t4,e4){if("Tab"===e4)return true;if("Enter"!==e4)return false;if(!t4.open)return false;if(null===t4.highlightedIndex)return false;const i3=t4.options[t4.highlightedIndex];return void 0!==i3&&true!==i3.disabled})(e3,t3)){if("Enter"===t3&&e3.open&&null!==e3.highlightedIndex){const t4=Fo(e3,e3.highlightedIndex);t4!==e3&&(this.selectEditorState=t4)}if(null!==this.editStore.active){const t4=Zr(this.editStore,this.selectEditorState.value);t4!==this.editStore&&(this.editStore=t4)}this.commitEditTransaction()}else if((function(t4,e4){return"Escape"===e4&&true===t4.open})(e3,t3)){const t4=Ao(e3,false);t4!==e3&&(this.selectEditorState=t4)}else{if((function(t4,e4){return"Escape"===e4&&false===t4.open})(e3,t3)){const t4=this.editStore.active;if(null===t4||"pending"!==t4.phase)return;const e4=t4.rowIndex,i3=t4.colIndex;return this.editingCell=null,this.cancelEditTransaction(),void this.cellEditingCancelled.emit({rowIndex:e4,colIndex:i3})}if("Enter"!==t3||e3.open)if("ArrowDown"!==t3&&"ArrowUp"!==t3)if("Home"!==t3&&"End"!==t3);else{let i3=e3;if(!i3.open){const t4=Ao(i3,true);t4!==i3&&(i3=t4,this.selectEditorState=t4)}const n2=Do({value:i3.value,options:i3.options,open:i3.open,highlightedIndex:null},"End"===t3?-1:1);n2!==this.selectEditorState&&(this.selectEditorState=n2)}else{let i3=e3;if(!i3.open){const t4=Ao(i3,true);t4!==i3&&(i3=t4,this.selectEditorState=t4)}const n2=Do(i3,"ArrowDown"===t3?1:-1);n2!==i3&&(this.selectEditorState=n2)}else{const t4=Ao(e3,true);t4!==e3&&(this.selectEditorState=t4)}}},onBlur:()=>{}}),c2=r2.open?(function(t3){const{state:e3,rowIndex:i3,colIndex:n2,ariaLabel:r3}=t3,s3=null!==e3.highlightedIndex?Po(i3,n2,e3.highlightedIndex):void 0;return{role:"listbox",id:Eo(i3,n2),class:"sy-grid__select-listbox","aria-activedescendant":s3,"aria-label":r3,tabindex:-1}})({state:r2,rowIndex:t2,colIndex:e2,ariaLabel:(i2.headerName??i2.field)+" options"}):null;return n(n.Fragment,null,n("button",{ref:t3=>{this.selectTriggerEl=t3??null},type:u2.type,class:u2.class,"aria-haspopup":u2["aria-haspopup"],"aria-expanded":u2["aria-expanded"],"aria-controls":u2["aria-controls"],"aria-label":u2["aria-label"],"aria-describedby":o2,"data-row-index":u2["data-row-index"],"data-col-index":u2["data-col-index"],onClick:u2.onClick,onKeyDown:u2.onKeyDown,onBlur:u2.onBlur},""!==u2.label?u2.label:n("span",{class:"sy-grid__select-placeholder"},a2)),null!==c2?n("div",{role:c2.role,id:c2.id,class:c2.class,"aria-activedescendant":c2["aria-activedescendant"],"aria-label":c2["aria-label"],tabindex:c2.tabindex},r2.options.map(((i3,s3)=>{const o3=(function(t3){const{state:e3,optionIndex:i4,rowIndex:n2,colIndex:r3,onPick:s4}=t3,o4=e3.options[i4],l3=e3.highlightedIndex===i4,a3=true===o4?.disabled;let d3="sy-grid__select-option";return l3&&(d3+=" sy-grid__select-option--highlighted"),a3&&(d3+=" sy-grid__select-option--disabled"),{role:"option",id:Po(n2,r3,i4),class:d3,"aria-selected":l3?"true":"false","aria-disabled":a3?"true":void 0,label:o4?.label??"",onClick:()=>{a3||s4(i4)}}})({state:r2,optionIndex:s3,rowIndex:t2,colIndex:e2,onPick:t3=>{if(null===this.selectEditorState)return;const e3=Fo(this.selectEditorState,t3);if(e3!==this.selectEditorState){if(this.selectEditorState=e3,null!==this.editStore.active){const t4=Zr(this.editStore,e3.value);t4!==this.editStore&&(this.editStore=t4)}this.commitEditTransaction()}}});return n("div",{key:s3,role:o3.role,id:o3.id,class:o3.class,"aria-selected":o3["aria-selected"],"aria-disabled":o3["aria-disabled"],onMouseDown:t3=>{t3.preventDefault(),o3.onClick()}},o3.label)}))):null,n("span",{id:o2,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},l2))}renderCheckboxEditorForCell(t2,e2,i2){if(null===this.checkboxEditorState)return null;const r2=this.checkboxEditorState,s2=`${ar(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:i2.headerName??i2.field,row:t2+1})} — ${ar(this.resolvedMessages,r2.indeterminate?"editor.checkboxAriaLabelMixed":r2.value?"editor.checkboxAriaLabelOn":"editor.checkboxAriaLabelOff")}`,o2=`sy-grid-cell-editor-hint-${t2}-${e2}`,l2=ar(this.resolvedMessages,"a11y.cellEditingHint",{column:i2.headerName??i2.field,row:t2+1}),a2=(function(t3){const{state:e3,rowIndex:i3,colIndex:n2,ariaLabel:r3,onToggle:s3,onCommit:o3,onCancel:l3,onBlur:a3}=t3;return{type:"checkbox",checked:e3.value,class:e3.indeterminate?To+" sy-grid__cell-editor--indeterminate":To,"data-row-index":i3,"data-col-index":n2,"aria-label":r3,"aria-checked":e3.indeterminate?"mixed":e3.value?"true":"false",onChange:()=>{s3()},onKeyDown:t4=>(function(t5,e4){return"Enter"===e4||"Tab"===e4})(0,t4.key)?(t4.stopPropagation(),"Enter"===t4.key&&t4.preventDefault(),void o3()):(function(t5,e4){return"Escape"===e4})(0,t4.key)?(t4.stopPropagation(),t4.preventDefault(),void l3()):(function(t5,e4){return" "===e4})(0,t4.key)?(t4.stopPropagation(),t4.preventDefault(),void s3()):void 0,onBlur:a3}})({state:r2,rowIndex:t2,colIndex:e2,ariaLabel:s2,onToggle:()=>{if(null===this.checkboxEditorState)return;const t3=(function(t4){return{value:!t4.value,indeterminate:false}})(this.checkboxEditorState);if(t3!==this.checkboxEditorState&&(this.checkboxEditorState=t3),null===this.editStore.active)return;const e3=Zr(this.editStore,t3.value);e3!==this.editStore&&(this.editStore=e3)},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const t3=this.editStore.active;if(null===t3||"pending"!==t3.phase)return;const e3=t3.rowIndex,i3=t3.colIndex;this.editingCell=null,this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:e3,colIndex:i3})},onBlur:()=>{null!==this.editStore.active&&"pending"===this.editStore.active.phase&&this.commitEditTransaction()}});return n(n.Fragment,null,n("input",{ref:t3=>{this.checkboxEditorEl=t3??null},type:a2.type,checked:a2.checked,class:a2.class,"data-row-index":a2["data-row-index"],"data-col-index":a2["data-col-index"],"aria-label":a2["aria-label"],"aria-checked":a2["aria-checked"],"aria-describedby":o2,onChange:a2.onChange,onKeyDown:a2.onKeyDown,onBlur:a2.onBlur}),n("span",{id:o2,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},l2))}renderTextareaEditorForCell(t2,e2,i2){if(null===this.textareaEditorState)return null;const r2=ar(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:i2.headerName??i2.field,row:t2+1}),s2=`sy-grid-cell-editor-hint-${t2}-${e2}`,o2=ar(this.resolvedMessages,"editor.textareaCommitHint"),l2=Bo({state:this.textareaEditorState,rowIndex:t2,colIndex:e2,ariaLabel:r2,ariaDescribedBy:s2,rows:"number"==typeof i2.rows?i2.rows:void 0,onInput:(t3,e3,i3)=>{if(null===this.textareaEditorState)return;const n2=jo(this.textareaEditorState,t3,e3,i3);if(n2!==this.textareaEditorState&&(this.textareaEditorState=n2),null===this.editStore.active)return;const r3=Zr(this.editStore,t3);r3!==this.editStore&&(this.editStore=r3)},onCompositionStart:()=>{if(null===this.textareaEditorState)return;const t3=No(this.textareaEditorState);t3!==this.textareaEditorState&&(this.textareaEditorState=t3)},onCompositionEnd:t3=>{if(null===this.textareaEditorState)return;const e3=Oo(this.textareaEditorState,t3);if(e3!==this.textareaEditorState&&(this.textareaEditorState=e3),null===this.editStore.active)return;const i3=Zr(this.editStore,t3);i3!==this.editStore&&(this.editStore=i3)},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const t3=this.editStore.active;if(null===t3||"pending"!==t3.phase)return;const e3=t3.rowIndex,i3=t3.colIndex;this.editingCell=null,this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:e3,colIndex:i3})},onBlur:()=>{null!==this.editStore.active&&"pending"===this.editStore.active.phase&&this.commitEditTransaction()}});return n(n.Fragment,null,n("textarea",{ref:t3=>{this.textareaEditorEl=t3??null},value:l2.value,rows:l2.rows,class:l2.class,"data-row-index":l2["data-row-index"],"data-col-index":l2["data-col-index"],"aria-label":l2["aria-label"],"aria-multiline":l2["aria-multiline"],"aria-describedby":l2["aria-describedby"],onInput:l2.onInput,onCompositionstart:l2.onCompositionStart,onCompositionend:l2.onCompositionEnd,onKeyDown:l2.onKeyDown,onBlur:l2.onBlur}),n("span",{id:s2,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},o2))}renderLargeTextEditorForCell(t2,e2,i2){return null===this.textareaEditorState||null===this.largeTextConfig?null:n("span",{class:"sy-grid__large-text-anchor","aria-hidden":"true",ref:t3=>{this.largeTextAnchorEl=t3??null}})}renderActiveLargeTextEditor(){if(null===this.textareaEditorState||null===this.largeTextConfig||null===this.largeTextAnchor)return null;const t2=this.editStore.active;if(null===t2)return null;const e2=this.effectiveColumns()[t2.colIndex];if(!e2)return null;const i2=t2.rowIndex,r2=t2.colIndex,s2=this.largeTextConfig,o2=s2.maxLength,l2=ar(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:e2.headerName??e2.field,row:i2+1}),a2=`sy-grid-cell-editor-hint-${i2}-${r2}`,d2=`sy-grid-large-text-count-${i2}-${r2}`,u2=ar(this.resolvedMessages,"editor.textareaCommitHint"),c2=Bo({state:this.textareaEditorState,rowIndex:i2,colIndex:r2,ariaLabel:l2,ariaDescribedBy:a2,rows:s2.rows,onInput:(t3,e3,i3)=>{if(null===this.textareaEditorState)return;const{value:n2}=Vo(t3,o2),r3=jo(this.textareaEditorState,n2,null===e3?null:Math.min(e3,n2.length),null===i3?null:Math.min(i3,n2.length));if(r3!==this.textareaEditorState&&(this.textareaEditorState=r3),null===this.editStore.active)return;const s3=Zr(this.editStore,n2);s3!==this.editStore&&(this.editStore=s3)},onCompositionStart:()=>{if(null===this.textareaEditorState)return;const t3=No(this.textareaEditorState);t3!==this.textareaEditorState&&(this.textareaEditorState=t3)},onCompositionEnd:t3=>{if(null===this.textareaEditorState)return;const{value:e3}=Vo(t3,o2),i3=Oo(this.textareaEditorState,e3);if(i3!==this.textareaEditorState&&(this.textareaEditorState=i3),null===this.editStore.active)return;const n2=Zr(this.editStore,e3);n2!==this.editStore&&(this.editStore=n2)},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{this.cancelLargeTextEdit()},onBlur:()=>{null!==this.editStore.active&&"pending"===this.editStore.active.phase&&this.commitEditTransaction()}}),h2=this.largeTextAnchor,f2=(function(t3,e3){const i3=Lo(t3);return null===e3?i3+"":`${i3} / ${e3}`})(this.textareaEditorState.value,o2),g2=ar(this.resolvedMessages,"editor.largeTextCancel"),p2=ar(this.resolvedMessages,"editor.largeTextSave"),y2=t3=>{t3.preventDefault(),t3.stopPropagation()};return n("div",{class:"sy-grid__large-text",role:"dialog","aria-label":l2,style:{position:"fixed",left:h2.x+"px",top:h2.y+"px",minWidth:h2.width+"px",zIndex:"1000"},onMouseDown:y2,onClick:t3=>t3.stopPropagation(),onKeyDown:t3=>{"Tab"===t3.key&&(t3.preventDefault(),this.cycleLargeTextFocus(t3.shiftKey))}},n("textarea",{ref:t3=>{this.textareaEditorEl=t3??null},class:"sy-grid__large-text-input",value:c2.value,rows:c2.rows,cols:s2.cols,"data-row-index":c2["data-row-index"],"data-col-index":c2["data-col-index"],"aria-label":c2["aria-label"],"aria-multiline":c2["aria-multiline"],"aria-describedby":null!==o2?`${a2} ${d2}`:a2,onInput:c2.onInput,onCompositionstart:c2.onCompositionStart,onCompositionend:c2.onCompositionEnd,onKeyDown:t3=>{if("Tab"===t3.key)return t3.preventDefault(),t3.stopPropagation(),void this.cycleLargeTextFocus(t3.shiftKey);c2.onKeyDown(t3)},onBlur:t3=>{const e3=t3.relatedTarget,i3=this.host?.querySelector(".sy-grid__large-text");null!==e3&&null!=i3&&i3.contains(e3)||c2.onBlur()}}),n("div",{class:"sy-grid__large-text-footer",onMouseDown:y2},n("span",{id:a2,class:"sy-grid__large-text-hint","aria-live":"polite"},u2),n("span",{id:d2,class:{"sy-grid__large-text-count":true,"sy-grid__large-text-count--over":null!==o2&&Ho(this.textareaEditorState.value,o2)}},f2),n("button",{type:"button",class:"sy-grid__large-text-btn",onMouseDown:y2,onClick:()=>this.cancelLargeTextEdit()},g2),n("button",{type:"button",class:"sy-grid__large-text-btn sy-grid__large-text-btn--primary",onMouseDown:y2,onClick:()=>this.commitEditTransaction()},p2)))}cycleLargeTextFocus(t2){const e2=this.host?.querySelector(".sy-grid__large-text");if(null==e2)return;const i2=Array.from(e2.querySelectorAll("textarea, button:not([disabled])")).filter((t3=>null!==t3.offsetParent));if(0===i2.length)return;const n2=this.host?.shadowRoot?.activeElement??document.activeElement,r2=i2.findIndex((t3=>t3===n2));let s2;s2=r2<0?0:t2?(r2-1+i2.length)%i2.length:(r2+1)%i2.length,i2[s2].focus()}cancelLargeTextEdit(){const t2=this.editStore.active;if(null===t2||"pending"!==t2.phase)return;const e2=t2.rowIndex,i2=t2.colIndex;this.editingCell=null,this.cancelEditTransaction(),this.cellEditingCancelled.emit({rowIndex:e2,colIndex:i2})}handleCellTooltipLeave(){this.cellTooltipDelay.leave()}handleHeaderTooltipEnter(t2,e2){const i2=t2.currentTarget;if(!i2)return;const n2="string"==typeof e2.headerTooltip?e2.headerTooltip.trim():"",r2=i2.querySelector(".sy-grid__header-label"),s2=r2??i2,o2=(r2?.textContent??e2.headerName??e2.field??"").trim(),l2=s2.scrollWidth>s2.clientWidth+1;(""!==n2||l2)&&this.headerTooltipDelay.enter({column:e2,headerEl:i2,displayedText:o2,isOverflowing:l2})}handleHeaderTooltipLeave(){this.headerTooltipDelay.leave()}showHeaderTooltip(t2){const e2="string"==typeof t2.column.headerTooltip?t2.column.headerTooltip.trim():"",i2=""!==e2?e2:t2.isOverflowing?t2.displayedText:"";if(!i2)return void(this.cellTooltip=null);const n2=t2.headerEl.getBoundingClientRect(),r2={x:0,y:0,width:"undefined"==typeof window?1024:window.innerWidth,height:"undefined"==typeof window?768:window.innerHeight},s2=Ft({anchor:{x:n2.left,y:n2.top,width:n2.width,height:n2.height},floating:{width:Math.min(360,Math.max(120,7*i2.length+24)),height:i2.length>70?56:36},viewport:r2,preferred:"top",offset:8});this.cellTooltip={text:i2,x:s2.x,y:s2.y,placement:s2.placement,rowIndex:-1,field:"string"==typeof t2.column.field?t2.column.field:""}}showCellTooltip(t2){const e2=kt({row:t2.row,rowIndex:t2.rowIndex,column:t2.column,displayedText:t2.displayedText,isOverflowing:t2.isOverflowing,locale:"string"==typeof this.locale?this.locale:"en",context:this.context,api:this.host});if(!e2)return void(this.cellTooltip=null);const i2=t2.cell.getBoundingClientRect(),n2={x:0,y:0,width:"undefined"==typeof window?1024:window.innerWidth,height:"undefined"==typeof window?768:window.innerHeight},r2=Ft({anchor:{x:i2.left,y:i2.top,width:i2.width,height:i2.height},floating:{width:Math.min(360,Math.max(120,7*e2.length+24)),height:e2.length>70?56:36},viewport:n2,preferred:"top",offset:8});this.cellTooltip={text:e2,x:r2.x,y:r2.y,placement:r2.placement,rowIndex:t2.rowIndex,field:t2.field}}tooltipPortalEl=null;syncTooltipPortal(){if("undefined"==typeof document)return;const t2=this.cellTooltip;if(!t2)return this.tooltipPortalEl?.parentNode&&this.tooltipPortalEl.parentNode.removeChild(this.tooltipPortalEl),void(this.tooltipPortalEl=null);if(!this.tooltipPortalEl){const t3=document.createElement("div");t3.setAttribute("role","tooltip"),t3.id=zl;const e3="undefined"!=typeof window?window.getComputedStyle(this.host):null,i2=e3?.getPropertyValue("--sy-grid-tooltip-bg").trim()||"#111827",n2=e3?.getPropertyValue("--sy-grid-tooltip-color").trim()||"#ffffff",r2=e3?.getPropertyValue("--sy-grid-tooltip-border").trim()||"rgba(255,255,255,0.12)",s2=e3?.getPropertyValue("--sy-grid-tooltip-shadow").trim()||"0 10px 24px rgba(15,23,42,0.18)";Object.assign(t3.style,{position:"fixed",zIndex:"2147483647",maxWidth:"360px",padding:"7px 9px",boxSizing:"border-box",border:"1px solid "+r2,borderRadius:"4px",background:i2,color:n2,boxShadow:s2,font:"12px/1.35 system-ui, -apple-system, sans-serif",whiteSpace:"normal",overflowWrap:"anywhere",pointerEvents:"none",margin:"0"}),document.body.appendChild(t3),this.tooltipPortalEl=t3}const e2=this.tooltipPortalEl;e2.className="sy-grid__cell-tooltip sy-grid__cell-tooltip--"+t2.placement,e2.dataset.rowIndex=t2.rowIndex+"",e2.dataset.field=t2.field,e2.style.left=t2.x+"px",e2.style.top=t2.y+"px",e2.textContent=t2.text}teardownTooltipPortal(){this.tooltipPortalEl?.parentNode&&this.tooltipPortalEl.parentNode.removeChild(this.tooltipPortalEl),this.tooltipPortalEl=null}renderCellTooltip(){return null}renderGroupRow(t2,e2,i2,r2,s2,o2,l2){const a2=t2.level??0,d2=null===t2.key||void 0!==t2.groupKeys&&t2.groupKeys[t2.groupKeys.length-1]===pi?this.resolvedMessages["filter.setBlanksLabel"]:t2.label,u2=void 0!==t2.level?t2.level+1:void 0,c2=(function(t3){return null!==t3&&"object"==typeof t3&&true===t3.__syGroupRow&&"object"==typeof t3.aggregates&&null!==t3.aggregates})(t2)?t2.aggregates:null,h2=null!==c2&&Object.keys(c2).length>0,f2={"sy-grid__row":true,"sy-grid__group-row":true,"sy-grid__group-row--collapsed":!t2.expanded},g2={height:i2+"px",lineHeight:i2+"px"},p2=[a2>0?n("span",{class:"sy-grid__tree-indent",style:{width:16*a2+"px"}}):null,n("button",{type:"button",class:"sy-grid__group-row-toggle","aria-expanded":t2.expanded?"true":"false","aria-label":d2,disabled:this.effectiveLoading},t2.expanded?"⏷":"⏵"),n("span",{class:"sy-grid__group-row-label"},d2),n("span",{class:"sy-grid__group-row-count"},"(",t2.count.toLocaleString(),")")];if(!h2){const i3=this.renderedColumnCount(),r3=this.totalColumnsWidthPx();return n("div",{class:f2,role:"row","aria-rowindex":this.bodyAriaRowIndex(e2),"aria-expanded":t2.expanded?"true":"false","aria-level":u2,"data-row-index":e2,"data-group-key":t2.key??"",style:null!==r3?{...g2,width:r3+"px"}:g2},n("div",{class:"sy-grid__group-row-cell",role:"gridcell","aria-colindex":1,"aria-colspan":i3},p2))}const y2=o2?.lastLeft,b2=o2?.firstRight;return n("div",{class:f2,role:"row","aria-rowindex":this.bodyAriaRowIndex(e2),"aria-expanded":t2.expanded?"true":"false","aria-level":u2,"data-row-index":e2,"data-group-key":t2.key??"",style:g2},s2&&n("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":null!=o2?.left},role:"gridcell",style:null!=o2?.left?{width:br.width+"px",position:"sticky",left:"0px",zIndex:"1"}:{width:br.width+"px"}}),r2.map(((e3,i3)=>{if(l2&&l2.culled(i3))return null;const r3=this.columnLayoutStyle(e3),a3=this.applyPinnedStyle(e3,r3,o2,"1","body"),d3=Object.prototype.hasOwnProperty.call(c2,e3.field),u3=n("div",{key:e3.field,class:{"sy-grid__cell":true,"sy-grid__group-agg-cell":true,"sy-grid__group-agg-cell--first":0===i3,"sy-grid__group-agg-cell--agg":0!==i3&&d3,"sy-grid__cell--pinned-left":a3.pinnedLeft,"sy-grid__cell--pinned-left-last":a3.pinnedLeft&&e3.field===y2,"sy-grid__cell--pinned-right":a3.pinnedRight,"sy-grid__cell--pinned-right-first":a3.pinnedRight&&e3.field===b2},...x({colIndex:i3+(s2?1:0),isActive:false}),"data-field":e3.field,style:r3},0===i3?p2:d3?this.formatAggValue(c2[e3.field]):"");return this.withColumnSpacers(u3,i3,l2,`gm-${t2.key??"blank"}-${e3.field}`)})))}formatAggValue(t2,e2){if(null==t2)return"";const i2=e2??("string"==typeof this.locale?this.locale:"en");return"number"==typeof t2?Number.isInteger(t2)?t2.toLocaleString(i2):t2.toLocaleString(i2,{maximumFractionDigits:2}):"bigint"==typeof t2?t2.toLocaleString(i2):t2 instanceof Date?t2.toISOString():t2+""}renderGroupFooterRow(t2,e2,i2,r2,s2,o2,l2){const a2=this.resolvedMessages,d2=ar(a2,"group.footerLabel",{label:null===t2.key?a2["filter.setBlanksLabel"]:t2.label}),u2=o2?.lastLeft,c2=o2?.firstRight;return n("div",{class:"sy-grid__row sy-grid__group-footer-row",role:"row","aria-rowindex":this.bodyAriaRowIndex(e2),"data-row-index":e2,"data-group-key":t2.key??"",style:{height:i2+"px",lineHeight:i2+"px"}},s2&&n("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":null!=o2?.left},role:"gridcell",style:null!=o2?.left?{width:br.width+"px",position:"sticky",left:"0px",zIndex:"1"}:{width:br.width+"px"}}),r2.map(((e3,i3)=>{if(l2&&l2.culled(i3))return null;const r3=this.columnLayoutStyle(e3),a3=this.applyPinnedStyle(e3,r3,o2,"1","body"),h2=Object.prototype.hasOwnProperty.call(t2.aggregates,e3.field),f2=h2?this.formatAggValue(t2.aggregates[e3.field]):"",g2=0===i3?h2&&""!==f2?`${d2} ${f2}`:d2:f2,p2=n("div",{key:e3.field,class:{"sy-grid__cell":true,"sy-grid__group-footer-cell":true,"sy-grid__group-footer-cell--agg":h2,"sy-grid__cell--pinned-left":a3.pinnedLeft,"sy-grid__cell--pinned-left-last":a3.pinnedLeft&&e3.field===u2,"sy-grid__cell--pinned-right":a3.pinnedRight,"sy-grid__cell--pinned-right-first":a3.pinnedRight&&e3.field===c2},...x({colIndex:i3+(s2?1:0),isActive:false}),"data-field":e3.field,style:r3},g2);return this.withColumnSpacers(p2,i3,l2,`gf-${t2.key??"blank"}-${e3.field}`)})))}renderPivotRow(t2,e2,i2,r2,s2,o2,l2){const a2=o2?.lastLeft,d2=o2?.firstRight,u2=Ci(t2),c2=this.isPivotSubtotalDisplayRow(t2),h2=u2||c2?t2.level:0,f2=!!u2&&t2.hasChildren,g2=!u2||t2.expanded,p2=u2?t2.key:c2?`${t2.key}::subtotal-${t2.placement}`:"__sy_pivot_grandtotal__",y2=c2?ar(this.resolvedMessages,"pivot.subtotalLabel",{label:t2.label}):t2.label,b2=this.activeCell;return n("div",{class:{"sy-grid__row":true,"sy-grid__pivot-row":true,"sy-grid__pivot-row--grand-total":!u2&&!c2,"sy-grid__pivot-row--subtotal":c2,"sy-grid__pivot-row--collapsed":f2&&!g2,"sy-grid__row--active":null!==b2&&b2.rowIndex===e2},role:"row","aria-rowindex":this.bodyAriaRowIndex(e2),"aria-level":h2+1,"aria-expanded":f2?g2?"true":"false":void 0,"data-row-index":e2,"data-pivot-key":p2,style:{height:i2+"px",lineHeight:i2+"px"}},s2&&n("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":null!=o2?.left},role:"gridcell",style:null!=o2?.left?{width:br.width+"px",position:"sticky",left:"0px",zIndex:"1"}:{width:br.width+"px"}}),r2.map(((i3,r3)=>{if(l2&&l2.culled(r3))return null;const s3=this.columnLayoutStyle(i3),u3=this.applyPinnedStyle(i3,s3,o2,"1","body"),c3=i3.field===Ii;let b3;if(c3)b3=[n("span",{class:"sy-grid__tree-indent",style:{width:16*h2+"px"}}),f2?n("button",{type:"button",class:"sy-grid__tree-toggle","aria-expanded":g2?"true":"false","aria-label":y2},g2?"⏷":"⏵"):n("span",{class:"sy-grid__tree-toggle-spacer"}),n("span",{class:"sy-grid__tree-label"},y2)];else{const n2=i3.colId??i3.field,s4=this.applyReadMask(this.resolveGridCellValue({row:t2,rowIndex:e2,colId:n2,field:i3.field,valueGetter:i3.valueGetter,colDef:i3}),t2,e2,i3),o3=this.renderCellContent(e2,r3,i3,t2,s4);b3=null!==o3?o3:null!=i3.valueFormatter?this.formatGridCellValue({value:s4,row:t2,rowIndex:e2,colId:n2,valueFormatter:i3.valueFormatter,locale:"string"==typeof this.locale?this.locale:"en",colDef:i3}):null==s4?"":s4+""}const m2=this.rendererPresentationAt(e2,r3),w2=n("div",{key:i3.field,class:{"sy-grid__cell":true,"sy-grid__pivot-cell":true,"sy-grid__tree-cell":c3,"sy-grid__cell--pinned-left":u3.pinnedLeft,"sy-grid__cell--pinned-left-last":u3.pinnedLeft&&i3.field===a2,"sy-grid__cell--pinned-right":u3.pinnedRight,"sy-grid__cell--pinned-right-first":u3.pinnedRight&&i3.field===d2,...this.rendererPresentationClasses(m2)},role:"gridcell","data-field":i3.field,title:m2?.title,style:s3},b3);return this.withColumnSpacers(w2,r3,l2,`pv-${p2}-${i3.field}`)})))}togglePivotRowGroup(t2){const e2=new Set(this.pivotCollapsedRowGroups);e2.has(t2)?e2.delete(t2):e2.add(t2),this.pivotCollapsedRowGroups=e2}renderTreeNodeRow(t2,e2,i2,r2,s2,o2,l2){const a2=o2?.lastLeft,d2=o2?.firstRight,u2=t2.row,c2=this.activeCell,h2=null!==c2&&c2.rowIndex===e2,f2=this.rowDragDropClass(e2);return n("div",{class:{"sy-grid__row":true,"sy-grid__tree-row":true,"sy-grid__tree-row--filler":t2.filler,"sy-grid__tree-row--collapsed":t2.hasChildren&&!t2.expanded,"sy-grid__row--active":h2,"sy-grid__row--drag-source":f2.dragging,"sy-grid__row--drop-above":f2.above,"sy-grid__row--drop-below":f2.below,"sy-grid__row--drop-into":f2.into},role:"row","aria-rowindex":this.bodyAriaRowIndex(e2),"aria-level":t2.depth+1,"aria-expanded":t2.hasChildren?t2.expanded?"true":"false":void 0,"data-row-index":e2,"data-tree-key":t2.key,"data-tree-depth":t2.depth,style:{height:i2+"px",lineHeight:i2+"px"}},s2&&n("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":null!=o2?.left},role:"gridcell",style:null!=o2?.left?{width:br.width+"px",position:"sticky",left:"0px",zIndex:"1"}:{width:br.width+"px"}},this.ssrmGroupCheckAttrs(t2.key)),r2.map(((i3,r3)=>{if(l2&&l2.culled(r3))return null;const f3=this.columnLayoutStyle(i3),g2=this.applyPinnedStyle(i3,f3,o2,"1","body");let p2;if(0===r3)p2=[t2.filler?null:this.renderRowDragHandle(e2,i3),n("span",{class:"sy-grid__tree-indent",style:{width:16*t2.depth+"px"}}),t2.hasChildren?n("button",{type:"button",class:"sy-grid__tree-toggle","aria-expanded":t2.expanded?"true":"false","aria-label":t2.label,disabled:this.effectiveLoading},t2.expanded?"⏷":"⏵"):n("span",{class:"sy-grid__tree-toggle-spacer"}),n("span",{class:"sy-grid__tree-label"},t2.label),t2.hasChildren&&t2.leafCount>=0?n("span",{class:"sy-grid__tree-count"},"(",t2.leafCount.toLocaleString(),")"):null];else if(null!==u2){const t3=i3.colId??i3.field,n2=this.applyReadMask(this.resolveGridCellValue({row:u2,rowIndex:e2,colId:t3,field:i3.field,valueGetter:i3.valueGetter,colDef:i3}),u2,e2,i3),s3=this.renderCellContent(e2,r3,i3,u2,n2);p2=null!==s3?s3:null!=i3.valueFormatter?this.formatGridCellValue({value:n2,row:u2,rowIndex:e2,colId:t3,valueFormatter:i3.valueFormatter,locale:"string"==typeof this.locale?this.locale:"en",colDef:i3}):null==n2?"":n2+""}else p2="";const y2=h2&&null!==c2&&c2.colIndex===r3,b2=this.rendererPresentationAt(e2,r3),m2=n("div",{key:i3.field,class:{"sy-grid__cell":true,"sy-grid__tree-cell":0===r3,"sy-grid__cell--active":y2,"sy-grid__cell--pinned-left":g2.pinnedLeft,"sy-grid__cell--pinned-left-last":g2.pinnedLeft&&i3.field===a2,"sy-grid__cell--pinned-right":g2.pinnedRight,"sy-grid__cell--pinned-right-first":g2.pinnedRight&&i3.field===d2,...this.rendererPresentationClasses(b2)},...x({colIndex:r3+(s2?1:0),isActive:y2}),id:y2?Bl:void 0,"data-field":i3.field,"data-col-index":r3,title:b2?.title,style:f3},p2);return this.withColumnSpacers(m2,r3,l2,`tn-${t2.key}-${i3.field}`)})))}handleTreeCellClick(t2,e2,i2,n2,r2){const s2=t2.target;s2?.closest?.(".sy-grid__tree-toggle")||(this.commitActiveCell({rowIndex:i2,colIndex:n2}),null!==e2.row&&this.cellClicked.emit({row:e2.row,rowIndex:i2,colIndex:n2,field:r2.field}))}renderDetailToggle(t2){const e2=this.detailRowIds.get(t2);if(void 0===e2)return null;const i2=this.expandedDetailRows.has(e2);return n("button",{type:"button",class:"sy-grid__detail-toggle","aria-expanded":i2?"true":"false","aria-label":ar(this.resolvedMessages,"detail.toggleLabel",{id:e2+""}),disabled:this.effectiveLoading},i2?"⏷":"⏵")}detailRendererWarned=false;renderDetailContent(t2){const e2=t2.master,i2=this.detailCellRenderer;if("function"==typeof i2){let r3=null,s2=false;try{r3=i2({row:e2,rowId:t2.forId})}catch(t3){s2=true,this.detailRendererWarned||(this.detailRendererWarned=true,console.warn("[detailCellRenderer] error; shell fallback:",t3))}if(!s2){const t3=(function(t4){if(null===t4||"object"!=typeof t4)return{kind:"invalid"};const e3="string"==typeof t4.class?t4.class:"";return"text"===t4.kind?{kind:"text",text:"string"==typeof t4.text?t4.text:"",class:e3}:"html"===t4.kind?{kind:"html",html:"string"==typeof t4.html?t4.html:"",class:e3}:"vnode"===t4.kind?{kind:"vnode",vnode:t4.vnode}:{kind:"invalid"}})(r3);if("text"===t3.kind)return n("div",{class:"sy-grid__detail-custom "+t3.class},t3.text);if("html"===t3.kind)return n("div",{class:"sy-grid__detail-custom "+t3.class,innerHTML:t3.html});if("vnode"===t3.kind)return t3.vnode;this.detailRendererWarned||(this.detailRendererWarned=true,console.warn("[detailCellRenderer] bad shape; shell fallback"))}}if(this.detailGridOptions&&"function"==typeof this.getDetailRowData&&this.detailNestingLevel<5)return this.renderDetailGrid(t2,this.detailGridOptions);const r2=Object.entries(e2).filter((([,t3])=>"object"!=typeof t3||null===t3));return n("div",{class:"sy-grid__detail-shell"},n("dl",{class:"sy-grid__detail-fields"},r2.map((([t3,e3])=>[n("dt",null,t3),n("dd",null,null==e3?"—":e3+"")]))))}renderDetailGrid(t2,e2){return n("sy-grid",{key:"detail-grid-"+t2.forId,class:"sy-grid__detail-grid",ref:i2=>{i2&&this.configureDetailGrid(i2,t2,e2)}})}configureDetailGrid(t2,e2,i2){const{rows:n2,loading:r2}=this.resolveDetailChildRows(e2),s2=t2;s2.columnDefs=i2.columnDefs,s2.rowData=n2,s2.loading=r2,s2.height=i2.height??"200px",s2.masterDetail=true===i2.masterDetail,s2.getDetailRowData=i2.getDetailRowData,s2.detailGridOptions=i2.detailGridOptions,s2.detailNestingLevel=this.detailNestingLevel+1,void 0!==i2.detailRowHeight&&(s2.detailRowHeight=i2.detailRowHeight),s2.pagination=true===i2.pagination,void 0!==i2.pageSize&&(s2.pageSize=i2.pageSize),s2.formulas=true===i2.formulas,void 0!==i2.showFormulas&&(s2.showFormulas=i2.showFormulas)}resolveDetailChildRows(t2){const e2=t2.forId,i2=this.detailRowDataCache.get(e2);if(void 0!==i2)return{rows:i2,loading:false};if(this.detailRowLoading.has(e2))return{rows:[],loading:true};if(!this.proWorkAllowed("grid.master-detail","getDetailRowData"))return{rows:[],loading:false};let n2;try{n2=this.getDetailRowData({row:t2.master,rowId:e2})}catch(t3){return this.warnDetailData(t3),this.detailRowDataCache.set(e2,[]),{rows:[],loading:false}}if(null!==n2&&"function"==typeof n2.then){const t3=++this.detailFetchToken;return this.detailRowLoading.set(e2,t3),Promise.resolve(n2).then((i3=>this.settleDetailRows(e2,Array.isArray(i3)?i3:[],t3)),(i3=>{this.warnDetailData(i3),this.settleDetailRows(e2,[],t3)})),{rows:[],loading:true}}const r2=Array.isArray(n2)?n2:[];return this.detailRowDataCache.set(e2,r2),{rows:r2,loading:false}}settleDetailRows(t2,e2,i2){this.detailRowLoading.get(t2)===i2&&(this.detailRowLoading.delete(t2),(this.mountedDetailIds.has(t2)||this.expandedDetailRows.has(t2)&&this.lastMasterIds.has(t2))&&(this.detailRowDataCache.set(t2,e2),this.detailDataVersion++))}warnDetailData(t2){this.detailGridDataWarned||(this.detailGridDataWarned=true,console.warn("[SG:DETAIL] getDetailRowData failed; empty grid:",t2))}detailRowDataCache=new Map;detailRowLoading=new Map;detailFetchToken=0;detailDataVersion=0;detailGridDataWarned=false;renderPinnedBand(t2){const e2=this.pinnedRowsFacade;if(null===e2)return null;const i2=e2.rows(t2);if(0===i2.length)return null;const r2=this.uniformRowHeight(),s2=this.totalColumnsWidthPx(),o2=this.pinnedBandCellHost();this.renderingPinnedBand=t2;try{return n("div",{class:{"sy-grid__pinned-band":true,["sy-grid__pinned-band--"+t2]:true},...R(),tabindex:-1,"data-pinned-band":t2,"data-pinned-count":i2.length,onKeyDown:this.handlePinnedBandKeyDown,onClick:this.handlePinnedBandClick,onFocusout:this.handlePinnedBandFocusOut},n("div",{class:"sy-grid__pinned-clip"},n("div",{class:"sy-grid__pinned-window",style:{minWidth:s2>0?s2+"px":void 0}},i2.map(((e3,i3)=>this.renderPinnedBandRow(e3.data,e3.id,t2,i3,r2,o2))))))}finally{this.renderingPinnedBand=null}}pinnedBandCellHost(){const t2="string"==typeof this.locale?this.locale:"en",e2=t3=>t3.colId??t3.field,i2=(t3,i3,n2)=>this.resolveGridCellValue({row:t3,rowIndex:i3,colId:e2(n2),field:n2.field,valueGetter:n2.valueGetter,colDef:n2});return{rawValue:i2,readable:(t3,e3,i3,n2)=>!this.readPolicyConfigured()||this.isCellReadable(t3,e3,i3,n2),maskedValue:this.maskedCellValue,maskedRow:(t3,e3)=>this.readPolicyConfigured()?this.maskDeniedFields(t3,e3,this.resolvedColumnDefs()):t3,value:i2,format:(i3,n2,r2,s2)=>this.formatGridCellValue({value:i3,row:n2,rowIndex:r2,colId:e2(s2),valueFormatter:s2.valueFormatter,locale:t2,colDef:s2}),classRules:(t3,e3,i3,n2,r2)=>_l({value:t3,formatted:e3,row:i3,rowIndex:n2,colId:r2.field,cellClassRules:r2.cellClassRules,cellClass:r2.cellClass,colDef:r2,context:this.context,api:this.host}),styleRules:(t3,e3,i3,n2,r2)=>El({value:t3,formatted:e3,row:i3,rowIndex:n2,colId:r2.field,cellStyle:r2.cellStyle,colDef:r2,context:this.context,api:this.host}).style}}renderPinnedBandRow(t2,e2,i2,r2,s2,o2){const l2=this.rowLayoutChunk,a2=this.effectiveColumns(),d2=this.shouldRenderCheckboxColumn(),u2=this.pinnedOffsetsContext(a2,d2?br.width:0),c2=d2?1:0,h2=this.pinnedFocus,f2=null!==h2&&h2.band===i2&&h2.sectionIndex===r2;return n("div",{key:`pinned-${i2}-${e2+""}`,class:{"sy-grid__row":true,"sy-grid__row--pinned":true,["sy-grid__row--pinned-"+i2]:true,"sy-grid__row--odd":r2%2==1,"sy-grid__row--even":r2%2==0,"sy-grid__row--active":f2},..._(r2,{isSelected:void 0,headerOffset:"top"===i2?this.headerGroupDepth():this.headerGroupDepth()+this.pinnedTopCount()+this.getDisplayRows().length}),"data-pinned-row-index":r2,"data-pinned-row-id":e2+"","data-pinned-section":i2,style:{height:s2+"px",lineHeight:s2+"px"}},d2&&n("div",{class:"sy-grid__cell sy-grid__cell--checkbox sy-grid__cell--pinned-band-blank",role:"gridcell","aria-colindex":1,style:{width:br.width+"px",flex:`0 0 ${br.width}px`}}),a2.map(((e3,i3)=>{const s3=this.columnLayoutStyle(e3),a3=this.applyPinnedStyle(e3,s3,u2,"1","body"),d3=l2.paintPinnedBandCell(o2,t2,r2,e3);for(const[t3,e4]of Object.entries(d3.style))s3[t3]=e4;const g2=f2&&null!==h2&&h2.colIndex===i3;return n("div",{key:e3.field,class:{"sy-grid__cell":true,"sy-grid__cell--pinned-band":true,"sy-grid__cell--active":g2,"sy-grid__cell--pinned-left":a3.pinnedLeft,"sy-grid__cell--pinned-right":a3.pinnedRight,...d3.classes},...x({colIndex:i3+c2,isActive:g2}),id:g2?Bl:void 0,"aria-selected":g2?"true":void 0,"data-field":e3.field,"data-col-index":i3,style:Object.keys(s3).length>0?s3:void 0},d3.display)})))}renderDetailRow(t2,e2){const i2=this.detailRowHeightPx(),r2=this.renderedColumnCount(),s2=this.totalColumnsWidthPx();return n("div",{class:"sy-grid__row sy-grid__detail-row",role:"row","aria-rowindex":this.bodyAriaRowIndex(e2),"data-row-index":e2,"data-detail-for":t2.forId+"",style:{height:i2+"px",lineHeight:"normal",...null!==s2?{width:s2+"px"}:{}}},n("div",{class:"sy-grid__detail-cell",role:"gridcell","aria-colindex":1,"aria-colspan":r2,style:null!==s2&&null!==this.viewportSize?{width:Math.min(s2,this.viewportSize.width)+"px",flex:`0 0 ${Math.min(s2,this.viewportSize.width)}px`}:void 0},this.renderDetailContent(t2)))}renderLoadingRow(t2,e2,i2,r2){const s2="failed"===t2.status,o2=ar(this.resolvedMessages,"rowModel.retry"),l2=ar(this.resolvedMessages,"rowModel.loadingRow");return n("div",{class:{"sy-grid__row":true,"sy-grid__row--loading":true,"sy-grid__row--loading-failed":s2},role:"row","aria-rowindex":this.bodyAriaRowIndex(e2),"aria-busy":s2?"false":"true","data-row-index":e2,"data-loading-status":t2.status,style:{height:i2+"px",lineHeight:i2+"px"}},n("div",{class:"sy-grid__cell sy-grid__loading-cell",role:"gridcell","aria-colspan":Math.max(1,r2)+""},s2?n("span",{class:"sy-grid__loading-failed-msg"},n("span",{class:"sy-grid__loading-failed-icon","aria-hidden":"true"},"⚠"),n("button",{type:"button",class:"sy-grid__loading-retry"},o2)):n("span",{class:"sy-grid__skeleton","aria-label":l2,role:"img"},n("span",{class:"sy-grid__skeleton-bar"}))))}renderRow(t2,e2,i2){const r2=this.effectiveColumns(),s2=this.activeCell,o2=this.shouldRenderCheckboxColumn(),l2=o2?br.width:0,a2=this.pinnedOffsetsContext(r2,l2),d2=a2?.lastLeft,u2=a2?.firstRight,c2=this.columnWindowContext(r2,l2),h2=this.cellCommentIndex.size>0||this.conflictFlashCells.size>0?this.collabRowId(t2,e2):null;if(yi(t2))return this.renderGroupRow(t2,e2,i2,r2,o2,a2,c2);if(bi(t2))return this.renderGroupFooterRow(t2,e2,i2,r2,o2,a2,c2);if(wi(t2))return this.renderTreeNodeRow(t2,e2,i2,r2,o2,a2,c2);if(_i(t2))return this.renderDetailRow(t2,e2);if(ji(t2))return this.renderLoadingRow(t2,e2,i2,r2.length+(o2?1:0));if(Ci(t2)||ki(t2)||this.isPivotSubtotalDisplayRow(t2))return this.renderPivotRow(t2,e2,i2,r2,o2,a2,c2);const f2=this.fullWidthEntryAt(e2);if(null!==f2)return this.renderFullWidthRow(t2,e2,f2,i2);const g2=o2?1:0,p2=null!==this.rowLayoutFrame&&this.rowLayoutFrame.configured&&this.rowLayoutFrame.covers(e2)?this.rowLayoutFrame:null,y2=null!==s2&&s2.rowIndex===e2;let b2,m2;"none"!==this.selectionState.mode&&(m2=this.extractRowId(t2,e2),b2=void 0!==m2&&this.selectionState.selectedRowIds.has(m2));let w2=false;if("off"!==this.rowHover){const i3=void 0!==m2?m2:this.extractRowId(t2,e2);w2=void 0!==i3&&this.hoverState.hoveredRowId===i3}const v2=this.autoHeightRenderMode,C2=v2?{minHeight:i2+"px"}:{height:i2+"px",lineHeight:i2+"px"},k2=this.masterDetailActive()?this.detailRowIds.get(t2):void 0,S2=this.rowDragDropClass(e2),I2=this.readPolicyConfigured()?this.maskDeniedFields(t2,e2,this.resolvedColumnDefs()):t2;return n("div",{class:{"sy-grid__row":true,"sy-grid__row--odd":e2%2==1,"sy-grid__row--even":e2%2==0,"sy-grid__row--auto-height":v2,"sy-grid__row--active":y2,"sy-grid__row--selected":true===b2,"sy-grid__row--hovered":"stateful"===this.rowHover&&w2,"sy-grid__row--drag-source":S2.dragging,"sy-grid__row--drop-above":S2.above,"sy-grid__row--drop-below":S2.below,"sy-grid__row--drop-into":S2.into},..._(e2,{isSelected:b2,headerOffset:this.headerGroupDepth()+this.pinnedTopCount()}),"aria-expanded":void 0!==k2?this.expandedDetailRows.has(k2)?"true":"false":void 0,"data-row-index":e2,"data-selected":true===b2?"true":void 0,"data-hovered":w2?"true":void 0,style:C2},o2&&this.renderBodyCheckboxCell(true===b2,null!=a2?.left),r2.map(((r3,o3)=>{const l3=null!==p2?p2.cellAt(e2,o3):null;if(null!==l3&&"covered"===l3.kind)return l3.origin.rowIndex!==e2?this.withColumnSpacers(n("div",{key:"cover-"+r3.field,class:"sy-grid__col-spacer sy-grid__span-cover","aria-hidden":"true","data-span-cover-field":r3.field,"data-span-origin-row":l3.origin.rowIndex,style:this.columnLayoutStyle(r3)}),o3,c2,`b-${e2}-${r3.field+""}`):null;if(c2&&null===l3&&c2.culled(o3))return null;const f3=this.columnLayoutStyle(r3),b3=null!==l3&&"origin"===l3.kind?l3:null;null!==b3&&(b3.rowSpan>1&&null!==b3.heightPx&&(f3.height=b3.heightPx+"px",f3.lineHeight=i2+"px"),b3.colSpan>1&&(null!==b3.widthPx?(f3.width=b3.widthPx+"px",f3.flex=`0 0 ${b3.widthPx}px`):null!==b3.flexGrow&&(delete f3.width,f3.flex=b3.flexGrow+" 1 0"),delete f3.maxWidth));const m3=this.applyPinnedStyle(r3,f3,a2,null!==p2?"2":"1","body");null===b3||m3.pinnedLeft||m3.pinnedRight||(f3.zIndex="1");const w3=true===this.resizableColumns&&false!==r3.resizable,v3=r3.colId??r3.field,_2=this.resolveGridCellValue({row:t2,rowIndex:e2,colId:v3,field:r3.field,valueGetter:r3.valueGetter,colDef:r3}),C3=!this.readPolicyConfigured()||this.isCellReadable(_2,t2,e2,r3);let k3,S3=C3?this.resolveGridCellValue({row:I2,rowIndex:e2,colId:v3,field:r3.field,valueGetter:r3.valueGetter,colDef:r3}):this.maskedCellValue,R2=null,M2=null;if(C3&&null!==this.formulaSheet&&this.formulaSheet.isCalculatedField(r3.field)){R2=r3.formula??"";const e3=this.formulaSheet.calculatedDisplay(r3.field,t2);M2=this.formulaCore?.formulaErrorInfo(e3)??null,k3=null!==M2?`${R2} → ${M2.type} — ${M2.description}`:`${R2} = ${null==e3?"":e3} (calculated column)`,S3=true===this.showFormulas?R2:e3}else if(C3&&this.formulaSheetSeeding&&yl(S3)&&(null===this.formulaSheet||!this.formulaSheet.canRevealDuringSeed(S3,t2)))R2=S3,S3=true===this.showFormulas?S3:"";else if(C3&&null!==this.formulaSheet&&(this.formulaSheet.active||this.formulaSheetSeeding)&&yl(S3)){R2=S3;const e3=this.formulaCellDisplay(this.formulaSheet,S3,r3.field,t2);M2=this.formulaCore?.formulaErrorInfo(e3)??null,k3=null!==M2?`${S3} → ${M2.type} — ${M2.description}`:`${S3} = ${null==e3?"":e3}`,S3=true===this.showFormulas?S3:e3}const F2=this.renderCellContent(e2,o3,r3,t2,S3,I2),D2=null!==F2?F2:null!=r3.valueFormatter?this.formatGridCellValue({value:S3,row:I2,rowIndex:e2,colId:v3,valueFormatter:r3.valueFormatter,locale:"string"==typeof this.locale?this.locale:"en",colDef:r3}):null==S3?"":S3+"",A2=y2&&null!==s2&&s2.colIndex===o3,E2=r3.field,P2=this.rendererPresentationAt(e2,o3),$2=this.renderEditorForCell(e2,o3,r3),T2=_l({value:S3,formatted:"string"==typeof D2?D2:void 0,row:I2,rowIndex:e2,colId:r3.field,cellClassRules:r3.cellClassRules,cellClass:r3.cellClass,colDef:r3,context:this.context,api:this.host}),j2=El({value:S3,formatted:"string"==typeof D2?D2:void 0,row:I2,rowIndex:e2,colId:r3.field,cellStyle:r3.cellStyle,colDef:r3,context:this.context,api:this.host});if(j2.meta.appliedKeys>0){const t3=j2.style,e3=Object.keys(t3);for(let i3=0;i3<e3.length;i3++)f3[e3[i3]]=t3[e3[i3]]}if(void 0!==this.conditionalFormats&&this.conditionalFormats.length>0){const t3=(function(t4,e4){return(function(t5){const e5={};return null==t5||(Ae(t5.backgroundColor)&&(e5["background-color"]=t5.backgroundColor),Ae(t5.color)&&(e5.color=t5.color),"bold"!==t5.fontWeight&&"normal"!==t5.fontWeight||(e5["font-weight"]=t5.fontWeight),"italic"!==t5.fontStyle&&"normal"!==t5.fontStyle||(e5["font-style"]=t5.fontStyle),"underline"!==t5.textDecoration&&"line-through"!==t5.textDecoration&&"none"!==t5.textDecoration||(e5["text-decoration"]=t5.textDecoration)),e5})(Re(t4,e4))})(this.conditionalFormats,{field:r3.field,value:S3}),e3=Object.keys(t3);for(let i3=0;i3<e3.length;i3++)f3[e3[i3]]=t3[e3[i3]]}const N2=this.cellCommentBadgeFor(h2,E2),O2=C3?this.validateCell(t2,e2,r3):{valid:true},B2=n("div",{key:E2,class:{"sy-grid__cell":true,"sy-grid__cell--invalid":!O2.valid,"sy-grid__cell--active":A2,"sy-grid__cell--editing":null!==$2,"sy-grid__cell--formula":null!==R2,"sy-grid__cell--formula-error":null!==M2,"sy-grid__cell--commented":null!==N2,"sy-grid__cell--commented-resolved":null!==N2&&!N2.unresolved,"sy-grid__cell--conflict-flash":null!==h2&&this.conflictFlashCells.size>0&&this.conflictFlashCells.has(this.commentIndexKey(h2,E2)),"sy-grid__cell--wrap":true===r3.wrapText||true===r3.autoHeight,"sy-grid__cell--flash":this.cellChangeFlashActive()&&Li(this.flashingCells,Gi(e2,E2)),"sy-grid__cell--pinned-left":m3.pinnedLeft,"sy-grid__cell--pinned-left-last":m3.pinnedLeft&&r3.field===d2,"sy-grid__cell--pinned-right":m3.pinnedRight,"sy-grid__cell--pinned-right-first":m3.pinnedRight&&r3.field===u2,"sy-grid__cell--row-span":null!==b3&&b3.rowSpan>1,"sy-grid__cell--col-span":null!==b3&&b3.colSpan>1,...this.rangeSelectionActive()?this.rangeCellClasses(e2,o3):{},...null!==this.fillPreview?this.fillPreviewClasses(e2,o3):{},...T2.length>0?T2.split(" ").reduce(((t3,e3)=>(t3[e3]=true,t3)),{}):{},...this.rendererPresentationClasses(P2)},title:O2.valid?P2?.title??k3:O2.message,"data-formula":null!==R2?R2:void 0,"data-invalid":O2.valid?void 0:"true","data-validation-message":O2.valid?void 0:O2.message,"aria-invalid":O2.valid?void 0:"true",...x({colIndex:o3+g2,isActive:A2}),"aria-rowspan":null!==b3&&b3.rowSpan>1?b3.rowSpan:void 0,"aria-colspan":null!==b3&&b3.colSpan>1?b3.colSpan:void 0,"data-row-span":null!==b3&&b3.rowSpan>1?b3.rowSpan:void 0,"data-col-span":null!==b3&&b3.colSpan>1?b3.colSpan:void 0,id:A2?Bl:void 0,"data-field":E2,"data-col-index":o3,"aria-selected":A2?"true":void 0,"aria-describedby":null!==this.cellTooltip&&this.cellTooltip.rowIndex===e2&&this.cellTooltip.field===E2?zl:void 0,style:Object.keys(f3).length>0?f3:void 0},0===o3&&this.masterDetailActive()&&this.renderDetailToggle(t2),this.renderRowDragHandle(e2,r3),null!==$2?$2:this.find&&this.proUiChunks["pro-panels"]?this.proUiChunks["pro-panels"].highlightFindCell(this.findHost(),e2,E2,D2):D2,this.fillHandleActive()&&this.renderFillHandle(e2,o3),w3&&n("span",{class:"sy-grid__col-resize-handle sy-grid__col-resize-handle--body","aria-hidden":"true","data-field":E2,onPointerDown:t3=>this.handleColumnResizePointerDown(t3,E2),onPointerEnter:t3=>this.showColumnResizeGuide(E2,t3.currentTarget),onPointerLeave:()=>this.hideColumnResizeGuide(E2),onPointerMove:t3=>this.handleColumnResizePointerMove(t3),onPointerUp:t3=>this.handleColumnResizePointerUp(t3),onPointerCancel:t3=>this.handleColumnResizePointerCancel(t3),onClick:t3=>t3.stopPropagation()}));return this.withColumnSpacers(B2,o3,c2,`b-${e2}-${E2+""}`)})))}renderColumnDefsBody(){this.cellRendererWarnedFields.clear();const t2=this.getDisplayRows(),e2=t2.length,i2=this.rowHeightFn,r2=this.uniformRowHeight();this.autoHeightRenderMode=this.autoHeightActive();const s2=this.estimatedViewportHeight(),o2=this.virtualScroll?null!==this.virtualWindow&&this.virtualWindowRowCount===e2&&this.virtualWindowViewportHeight===s2&&this.virtualWindowDetailSet===this.expandedDetailRows?this.virtualWindow:this.computeVirtualWindowForRows(t2,s2,12):null;this.rowLayoutFrame=this.buildRowLayoutFrame(t2,null===o2?{startIndex:0,endIndex:e2}:{startIndex:o2.startIndex,endIndex:o2.endIndex},r2,i2);const l2=this.rowLayoutFrame,a2={"--sy-grid-row-height":r2+"px"},d2=false!==this.keyboardNavigation,u2=d2?0:void 0,c2=d2&&null!==this.activeCell&&(!this.virtualScroll||null===o2||this.activeCell.rowIndex>=o2.startIndex&&this.activeCell.rowIndex<o2.endIndex)?Bl:void 0,h2=d2?this.handleViewportPaste:void 0,f2={"sy-grid__viewport":true,"sy-grid__viewport--active-cell":null!==this.activeCell,"sy-grid__viewport--range-dragging":null!==this.rangeState.dragging};if(!this.virtualScroll||null===o2||0===e2)return n("div",{class:f2,...R(),style:a2,tabindex:u2,"aria-activedescendant":c2,onKeyDown:this.handleViewportKeyDown,onPaste:h2,onMouseDown:this.handleViewportMouseDown,onClick:this.handleViewportClick,onContextMenu:this.handleViewportContextMenu,onMouseOver:this.handleViewportHover,onMouseOut:this.handleViewportHover,onFocusin:this.handleViewportFocus,onFocusout:this.handleViewportFocus},n("div",{class:"sy-grid__row-window sy-grid__row-window--flat"},t2.map(((t3,e3)=>{const n2="function"==typeof i2?this.rowHeightForIndex(i2,e3,t3,r2):r2;return this.renderRow(t3,e3,n2)}))));const g2=null!==l2&&l2.configured?l2.renderRange.startIndex:o2.startIndex,p2=null!==l2&&l2.configured?l2.renderRange.endIndex:o2.endIndex;this.lastBodyRenderWindow={startIndex:g2,endIndex:p2};const y2=t2.slice(g2,p2),b2=o2.totalHeight;let m2=o2.paddingTop,w2=o2.paddingBottom;if(null!==l2&&l2.configured&&null!==this.rowLayoutChunk){const e3=this.rowLayoutChunk.widenedPadding(this.rowLayoutHostView(t2,r2,i2),l2);m2=Math.max(0,m2-e3.top),w2=Math.max(0,w2-e3.bottom)}return n("div",{class:f2,...R(),style:a2,tabindex:u2,"aria-activedescendant":c2,onKeyDown:this.handleViewportKeyDown,onPaste:h2,onMouseDown:this.handleViewportMouseDown,onClick:this.handleViewportClick,onContextMenu:this.handleViewportContextMenu,onMouseOver:this.handleViewportHover,onMouseOut:this.handleViewportHover,onFocusin:this.handleViewportFocus,onFocusout:this.handleViewportFocus},n("div",{class:"sy-grid__row-spacer",style:{height:b2+"px",paddingTop:m2+"px",paddingBottom:w2+"px"}},n("div",{class:"sy-grid__row-window"},y2.map(((t3,e3)=>{const n2=g2+e3,s3="function"==typeof i2?this.rowHeightForIndex(i2,n2,t3,r2):r2;return this.renderRow(t3,n2,s3)})))))}startColumnReorderPreview(t2,e2,i2,n2){if(this.removeColumnReorderPreview(),"undefined"==typeof document||!document.body||!e2||"function"!=typeof e2.getBoundingClientRect)return;const r2=e2.getBoundingClientRect();this.columnReorderPointerOffsetX=i2-r2.left,this.columnReorderPointerOffsetY=n2-r2.top,this.columnReorderPointerToRightEdge=Math.max(0,r2.right-i2);const s2=this.resolvedColumnDefs().find((e3=>e3.field===t2)),o2=s2?.headerName??s2?.field??t2,l2="function"==typeof getComputedStyle?getComputedStyle(e2):null,a2=document.createElement("div");a2.className="sy-grid__column-reorder-preview",a2.setAttribute("aria-hidden","true"),a2.dataset.field=t2,a2.textContent=o2,Object.assign(a2.style,{position:"fixed",left:r2.left+"px",top:r2.top+"px",width:r2.width+"px",height:r2.height+"px",display:"flex",alignItems:"center",boxSizing:"border-box",padding:null!==l2?`${l2.paddingTop} ${l2.paddingRight} ${l2.paddingBottom} ${l2.paddingLeft}`:"6px 12px",border:"1px solid var(--sy-color-primary, #2563eb)",borderRadius:"4px",background:l2?.backgroundColor||"#f9fafb",color:l2?.color||"#111827",boxShadow:"0 8px 24px rgba(15, 23, 42, 0.18)",fontSize:l2?.fontSize||"13px",fontWeight:l2?.fontWeight||"600",opacity:"0.92",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",pointerEvents:"none",zIndex:"2147483647"}),document.body.appendChild(a2),this.columnReorderPreviewEl=a2}updateColumnReorderPreview(t2,e2){const i2=this.columnReorderPreviewEl;null!==i2&&(i2.style.left=t2-this.columnReorderPointerOffsetX+"px",i2.style.top=e2-this.columnReorderPointerOffsetY+"px")}removeColumnReorderPreview(){const t2=this.columnReorderPreviewEl;null!==t2&&(t2.remove(),this.columnReorderPreviewEl=null)}renderColumnResizeGuide(){const t2=this.columnResizeGuide;return null===t2?null:n("div",{class:"sy-grid__column-resize-guide","data-field":t2.colId,"aria-hidden":"true",style:{left:Math.max(0,t2.x-1)+"px"}})}safeRowHeightSample(t2,e2){return"number"!=typeof t2||!Number.isFinite(t2)||t2<=0?e2:t2}renderToolbar(){const t2=this.shouldRenderQuickFilterToolbar(),e2=true===this.conditionalFormatUi;if(!t2&&true!==this.csvImport&&!e2)return null;const i2=this.quickFilterValue,r2=""!==i2,s2=this.effectiveLoading,o2=this.resolvedMessages;return n("div",{class:"sy-grid__toolbar",role:"search"},e2&&n("button",{type:"button",class:{"sy-grid__toolbar-button":true,"sy-grid__toolbar-button--active":this.cfBuilderOpen},"aria-pressed":this.cfBuilderOpen?"true":"false","data-cf-open":true,onClick:this.toggleCfBuilder},"조건부 서식"),true===this.csvImport&&n("div",{class:"sy-grid__toolbar-import"},n("button",{type:"button",class:"sy-grid__toolbar-button",disabled:s2,onClick:this.openCsvFilePicker,ref:t3=>{this.csvImportButtonEl=t3??null}},o2["csvImport.button"]),n("input",{type:"file",accept:".csv,text/csv",class:"sy-grid__csv-file-input",style:{display:"none"},ref:t3=>{this.csvFileInputEl=t3},onChange:this.handleCsvFileChosen})),t2&&n("div",{class:"sy-grid__quick-filter"},n("input",{class:"sy-grid__quick-filter-input",type:"search",defaultValue:i2,placeholder:this.quickFilterPlaceholder??o2["toolbar.quickFilterPlaceholder"],"aria-label":o2["a11y.quickFilterLabel"],autoComplete:"off",spellcheck:false,readOnly:s2,"aria-disabled":s2?"true":void 0,ref:t3=>{this.quickFilterInputEl=t3},onInput:this.handleQuickFilterInput,onKeyDown:this.handleQuickFilterKeyDown}),r2&&n("button",{type:"button",class:"sy-grid__quick-filter-clear","aria-label":o2["toolbar.quickFilterClearAriaLabel"],disabled:s2,onClick:this.handleQuickFilterClear},"✕")))}emptyStateMessage(t2){const e2=this.resolvedMessages;return"loading"===t2?this.loadingMessage??e2["loading.message"]:"no-matches"===t2?this.noMatchesMessage??e2["empty.noMatches"]:this.emptyMessage??e2["empty.noData"]}renderEmptyState(t2){if("none"===t2)return null;const e2="loading"===t2,i2="no-matches"===t2,r2=this.resolvedMessages,s2=this.emptyStateMessage(t2),o2=i2&&this.hasAnyActiveFilter();return n("div",{class:{"sy-grid__empty-state":true,"sy-grid__empty-state--loading":e2,"sy-grid__empty-state--no-data":"no-data"===t2,"sy-grid__empty-state--no-matches":i2},"data-kind":t2},e2?this.renderLoadingSpinner():n("span",{class:"sy-grid__empty-state-icon","aria-hidden":"true"},i2?"🔍":"📭"),n("span",{class:"sy-grid__empty-state-message"},s2),o2&&n("button",{type:"button",class:"sy-grid__empty-state-action",onClick:this.handleEmptyStateClearFilters},this.clearFiltersLabel??r2["empty.clearFiltersAction"]))}renderEmptyStateLiveRegion(t2){return n("div",{class:"sy-grid__empty-state-live",role:"status","aria-live":"polite","aria-busy":"loading"===t2?"true":"false","data-empty-state-live":t2},"none"===t2?"":this.emptyStateMessage(t2))}renderLoadingSpinner(){return n("slot",{name:"loading-spinner"},n("span",{class:"sy-grid__loading-spinner",role:"presentation","aria-hidden":"true"},[1,2,3,4,5,6,7,8].map((t2=>n("span",{key:"bar-"+t2,class:"sy-grid__loading-spinner-bar sy-grid__loading-spinner-bar--"+t2})))))}localeDataAttribute(){const t2=this.locale;if(null!=t2)return"string"==typeof t2?"en"===t2||"ko"===t2||"ja"===t2?t2:"en":"object"==typeof t2?"custom":"en"}render(){this.pendingLifecycleRenderers=new Map,this.componentIdentityIndex=null,this.rendererPresentationsByCoordinate=new Map;const t2=this.activeTag(),e2=this.usingColumnDefsApi();this.auditProDeclarations(),e2&&this.armRichSelect(),e2&&this.armProUiChunks(),e2&&this.armProEngineChunks();const i2=this.resolvedMessages,s2=e2?S({rowCount:this.getDisplayRows().length+this.pinnedTopCount()+this.pinnedBottomCount()+(this.headerFilterRow?2:1)+this.headerGroupDepth(),colCount:this.renderedColumnCount(),busy:true===this.effectiveLoading,tree:null!==this.treeSurface()}):null;return n(r,{key:"c3dc67eb20e2e71748307f5017b4f99480eaebd4",...this.licenseHostAttributes(),"data-theme":Jn(this.theme),"data-locale":this.localeDataAttribute(),"data-row-hover-mode":this.rowHover,"data-quick-filter":this.quickFilterValue||void 0,"data-page-index":this.pagination?this.activePagination.pageIndex+"":void 0,"data-page-size":this.pagination?this.activePagination.pageSize+"":void 0,"data-total-rows":this.pagination?(this.latestPaginatedMeta?.totalRows??0)+"":void 0,"data-focus-region":null==this.activeCell?void 0:this.activeCell.rowIndex<0?"header":"body",class:{"sy-grid--column-defs":e2},style:this.hostStyle()},this.renderToolbar(),this.renderFindToolbar(),this.renderNotesToolbar(),this.renderBatchToolbar(),this.proUiChunks["pro-panels"]?.renderColumnMenu(this.columnMenuHost()),e2&&this.renderFormulaBar(),e2&&this.renderCellFormulaSuggest(),e2&&this.conditionBuilder&&this.proAllowed("grid.advanced-filter","conditionBuilder")&&this.renderConditionBuilder(),e2?(()=>{const t3=this.resolveEmptyStateKind();this.emptyStateOverlayRendered="none"!==t3;const e3=n("div",{class:"sy-grid__body"},n("div",{class:"sy-grid__grid",...s2,"aria-label":this.resolvedMessages["a11y.gridLabel"]},this.renderPivotPanel(),this.renderGroupPanel(),this.renderHeader(),this.renderPinnedBand("top"),this.renderColumnDefsBody(),this.renderPinnedBand("bottom"),this.renderColumnResizeGuide()),this.renderEmptyState(t3),this.renderEmptyStateLiveRegion(t3),this.renderDragLiveRegions()),i3=this.renderSideBar();return null===i3?e3:n("div",{class:"sy-grid__main"},e3,i3)})():[n(t2,{rows:this.engineRows(),columns:this.engineColumns(),"max-rendered":this.maxRendered,messages:i2,selectedRowIds:"none"===this.selectionState.mode?void 0:this.selectionState.selectedRowIds,rowHover:this.rowHover,hoveredRowId:this.hoverState.hoveredRowId,onQueryComplete:this.handleQueryComplete,syidaxAccelerationPort:this.accelerationPort()})],this.renderStatusBar(),this.renderPaginationBar(),this.renderBrand(),this.renderFilterDropdown(),this.renderActiveDateCalendar(),this.richSelect?.renderAutocompleteListbox(this,n),this.renderActiveLargeTextEditor(),this.renderConditionalFormatBuilder(),this.renderContextMenu(),this.renderCsvWizard(),this.renderCellTooltip(),e2&&this.collabGlue?.renderCommentPanel(this,n),null!==this.collabConflictToast&&n("div",{key:"25d5149a6f3ef9171c5ba34f5e0d42244741db08",class:{"sy-grid__conflict-toast":true,"sy-grid__conflict-toast--raised":true===this.pagination||null!==this.statusBarSpec()},"data-collab-conflict-toast":true,role:"status"},this.collabConflictToast),n("div",{key:"e2ae332f636df8ff6baf6ea71befd92bfdcfb30c",class:"sy-grid__collab-overlay",ref:t3=>this.collabOverlayEl=t3??null,style:{position:"absolute",inset:"0",overflow:"hidden","pointer-events":"none","z-index":"30"}}),this.fallbackReason&&n("span",{key:"f60030fa6875c34ac33ee923d30c1a88b51074ac",class:"sy-grid__watermark",title:this.fallbackReason},this.resolvedMessages["watermark.fallbackToStandard"]))}static get watchers(){return{auditLog:[{onAuditLogChange:0}],auditLogMax:[{onAuditLogMaxChange:0}],canReadCell:[{onCanReadCellChange:0}],maskedCellValue:[{onCanReadCellChange:0}],canEditCell:[{onCanEditCellChange:0}],maxSnapshots:[{onMaxSnapshotsChange:0}],brandLogo:[{onBrandLogoChange:0}],theme:[{onThemeChanged:0}],locale:[{onLocaleChanged:0}],rowSelection:[{onRowSelectionModeChanged:0}],pageSize:[{onPageSizeChange:0}],columnDefs:[{onColumnDefsChanged:0},{rebuildFormulaSheet:0},{onVirtualizationInputsChanged:0}],externalFilter:[{onExternalFilterInputsChanged:0}],context:[{onExternalFilterInputsChanged:0}],components:[{onLifecycleComponentDefinitionsChanged:0}],defaultColDef:[{onLifecycleComponentDefinitionsChanged:0}],formulaVersion:[{onLifecycleComponentDefinitionsChanged:0}],getRowId:[{onGetRowIdChanged:0}],keyboardNavigation:[{onKeyboardNavigationChanged:0}],rowData:[{reEvaluateEngine:0},{rebuildFormulaSheet:0}],rows:[{reEvaluateEngine:0}],engine:[{reEvaluateEngine:0}],proThreshold:[{reEvaluateEngine:0}],formulas:[{rebuildFormulaSheet:0},{onWorkbookBindingInputsChanged:0}],workbookId:[{onWorkbookBindingInputsChanged:0}],sheetName:[{onWorkbookBindingInputsChanged:0}],multiSort:[{onMultiSortFlagChange:0}],enableMultiSort:[{onMultiSortFlagChange:0}],pivotMode:[{onPivotConfigChange:0}],pivotRowGroupColumns:[{onPivotConfigChange:0}],pivotColumns:[{onPivotConfigChange:0}],pivotValueColumns:[{onPivotConfigChange:0}],pivotAggFuncs:[{onPivotConfigChange:0}],groupBy:[{onGroupByChange:0}],treeIdField:[{onTreeSurfaceChange:0}],treeParentField:[{onTreeSurfaceChange:0}],quickFilterText:[{onQuickFilterTextPropChanged:0}],quickFilter:[{onQuickFilterConfigChanged:0}],quickFilterMode:[{onQuickFilterConfigChanged:0}],loading:[{onLoadingChanged:0}],loadingMode:[{onLoadingModeChanged:0}],minLoadingDuration:[{onMinLoadingDurationChanged:0}],rangeSelection:[{onRangeSelectionChange:0}],rowHover:[{onRowHoverModeChanged:0}],virtualScroll:[{onVirtualizationInputsChanged:0}],rowHeight:[{onVirtualizationMetricsChanged:0}],rowHeightFn:[{onVirtualizationMetricsChanged:0}],serverSideDatasource:[{serverSideDatasourceChanged:0}],serverSideGroupCols:[{serverSideGroupColsChanged:0}],viewportDatasource:[{viewportDatasourceChanged:0}],datasource:[{datasourceChanged:0}],activeSortModel:[{infiniteModelInputsChanged:0}],activeFilters:[{infiniteModelInputsChanged:0}],activeConditionTree:[{infiniteModelInputsChanged:0}],quickFilterValue:[{infiniteModelInputsChanged:0}],collaborationRoom:[{onCollaborationRoomChange:0}],enableFillHandle:[{onEnableFillHandleChanged:0}],alignedGrids:[{onAlignedGridsChanged:0}],isFullWidthRow:[{onFullWidthConfigChanged:0}],fullWidthCellRenderer:[{onFullWidthConfigChanged:0}],fullWidthRowHeight:[{onFullWidthConfigChanged:0}],pinnedTopRowData:[{onPinnedRowDataChanged:0}],pinnedBottomRowData:[{onPinnedRowDataChanged:0}],sideBar:[{onSideBarChanged:0}]}}static get style(){return'.sc-sy-grid-h{display:block;position:relative;--sy-grid-bg: #ffffff;--sy-grid-border: #e5e7eb;--sy-grid-text: #111827;--sy-grid-text-muted: #6b7280;--sy-grid-sort-indicator-color: #9ca3af;--sy-grid-sort-indicator-active-color: var(--sy-color-primary, #2563eb);--sy-grid-header-bg: #f9fafb;--sy-grid-header-bg-hover: #f3f4f6;--sy-grid-header-border: #e5e7eb;--sy-grid-header-color: #111827;--sy-grid-header-font-weight: 600;--sy-grid-filter-icon-color: currentColor;--sy-grid-filter-icon-active-color: var(--sy-color-primary, #2563eb);--sy-grid-filter-dropdown-bg: #ffffff;--sy-grid-filter-dropdown-color: #111827;--sy-grid-filter-dropdown-border: #e5e7eb;--sy-grid-filter-dropdown-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);--sy-grid-filter-button-primary-bg: var(--sy-color-primary, #2563eb);--sy-grid-filter-button-primary-color: #ffffff;--sy-grid-pagination-bg: #f9fafb;--sy-grid-pagination-color: #111827;--sy-grid-pagination-border: #e5e7eb;--sy-grid-pagination-active-bg: var(--sy-color-primary, #2563eb);--sy-grid-pagination-active-color: #ffffff;--sy-grid-pagination-disabled-color: #9ca3af;--sy-grid-pagination-hover-bg: rgba(15, 23, 42, 0.06);--sy-grid-row-height: 32px;--sy-grid-row-bg-odd: #ffffff;--sy-grid-row-bg-even: #f9fafb;--sy-grid-row-border: #f3f4f6;--sy-grid-row-color: #111827;--sy-grid-row-bg-hover: rgba(37, 99, 235, 0.06);--sy-grid-row-bg-selected: rgba(37, 99, 235, 0.12);--sy-grid-viewport-bg: #ffffff;--sy-grid-cell-padding-x: 12px;--sy-grid-cell-font-size: 13px;--sy-grid-cell-editor-bg: #ffffff;--sy-grid-cell-editor-color: #111827;--sy-grid-cell-editor-border: var(--sy-color-primary, #2563eb);--sy-grid-cell-editor-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.22);--sy-grid-scrollbar-thumb: rgba(15, 23, 42, 0.18);--sy-grid-scrollbar-track: transparent;--sy-grid-toolbar-bg: #ffffff;--sy-grid-toolbar-border: #e5e7eb;--sy-grid-quick-filter-input-bg: #ffffff;--sy-grid-quick-filter-input-color: #111827;--sy-grid-quick-filter-input-border: #d1d5db;--sy-grid-quick-filter-input-placeholder: #9ca3af;--sy-grid-quick-filter-input-focus: var(--sy-color-primary, #2563eb);--sy-grid-quick-filter-clear-color: #6b7280;--sy-grid-quick-filter-clear-hover: rgba(15, 23, 42, 0.08);--sy-grid-empty-state-bg: rgba(255, 255, 255, 0.92);--sy-grid-empty-state-color: #4b5563;--sy-grid-empty-state-icon-color: #9ca3af;--sy-grid-empty-state-action-bg: var(--sy-color-primary, #2563eb);--sy-grid-empty-state-action-color: #ffffff;--sy-grid-loading-backdrop: rgba(255, 255, 255, 0.7);--sy-grid-loading-spinner-color: var(--sy-color-primary, #2563eb);--sy-grid-loading-message-color: #4b5563;--sy-grid-tooltip-bg: #111827;--sy-grid-tooltip-color: #ffffff;--sy-grid-tooltip-border: rgba(255, 255, 255, 0.12);--sy-grid-tooltip-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);--sy-grid-active-cell-outline: var(--sy-color-primary, #2563eb);--sy-grid-active-row-bg: rgba(37, 99, 235, 0.08);--sy-grid-viewport-focus-outline: var(--sy-color-primary, #2563eb)}[data-theme=dark].sc-sy-grid-h{--sy-grid-filter-dropdown-bg: #1f2937;--sy-grid-filter-dropdown-color: #f3f4f6;--sy-grid-filter-dropdown-border: #374151;--sy-grid-filter-dropdown-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);--sy-grid-pagination-bg: #111827;--sy-grid-pagination-color: #f3f4f6;--sy-grid-pagination-border: #374151;--sy-grid-pagination-disabled-color: #4b5563;--sy-grid-pagination-hover-bg: rgba(255, 255, 255, 0.06);--sy-grid-row-bg-odd: #111827;--sy-grid-row-bg-even: #1f2937;--sy-grid-row-border: #374151;--sy-grid-row-color: #f3f4f6;--sy-grid-row-bg-hover: rgba(96, 165, 250, 0.12);--sy-grid-row-bg-selected: rgba(96, 165, 250, 0.22);--sy-grid-viewport-bg: #111827;--sy-grid-toolbar-bg: #111827;--sy-grid-toolbar-border: #374151;--sy-grid-quick-filter-input-bg: #1f2937;--sy-grid-quick-filter-input-color: #f3f4f6;--sy-grid-quick-filter-input-border: #374151;--sy-grid-quick-filter-input-placeholder: #6b7280;--sy-grid-quick-filter-clear-color: #9ca3af;--sy-grid-quick-filter-clear-hover: rgba(255, 255, 255, 0.08);--sy-grid-empty-state-bg: rgba(17, 24, 39, 0.9);--sy-grid-empty-state-color: #d1d5db;--sy-grid-empty-state-icon-color: #6b7280;--sy-grid-loading-backdrop: rgba(17, 24, 39, 0.7);--sy-grid-loading-spinner-color: #60a5fa;--sy-grid-loading-message-color: #d1d5db;--sy-grid-active-cell-outline: #60a5fa;--sy-grid-active-row-bg: rgba(96, 165, 250, 0.16);--sy-grid-viewport-focus-outline: #60a5fa;--sy-grid-cell-editor-bg: #0f172a;--sy-grid-cell-editor-color: #f3f4f6;--sy-grid-cell-editor-border: #60a5fa;--sy-grid-cell-editor-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.34);--sy-grid-tooltip-bg: #f9fafb;--sy-grid-tooltip-color: #111827;--sy-grid-tooltip-border: rgba(148, 163, 184, 0.35);--sy-grid-tooltip-shadow: 0 10px 24px rgba(0, 0, 0, 0.45)}.sy-grid__watermark.sc-sy-grid{position:absolute;top:4px;right:6px;font-size:10px;line-height:1;padding:2px 6px;background:var(--sy-grid-bg, rgba(255, 255, 255, 0.85));border:1px solid var(--sy-grid-border, #e5e7eb);border-radius:999px;color:var(--sy-grid-text-muted, #6b7280);pointer-events:none;z-index:2}.sy-grid__brand-strip.sc-sy-grid{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:36px;margin:0;padding:2px 8px;line-height:0;pointer-events:none;user-select:none;-webkit-user-select:none}.sy-grid__brand.sc-sy-grid{display:block;box-sizing:content-box;margin:0;padding:0;border:0;background:none;line-height:0;color:var(--sy-grid-text, #111827);opacity:1;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sy-grid__brand[hidden].sc-sy-grid{display:none !important}.sy-grid__brand[data-sy-brand=custom].sc-sy-grid{opacity:1}.sy-grid__brand.sc-sy-grid > svg.sc-sy-grid{display:block;width:auto;height:32px;aspect-ratio:118/32;pointer-events:none}.sy-grid__brand.sc-sy-grid > img.sc-sy-grid{display:block;width:auto;height:auto;max-width:120px;max-height:32px;pointer-events:none}@media print{.sy-grid__brand-strip.sc-sy-grid{display:flex !important;visibility:visible !important}.sy-grid__brand.sc-sy-grid:not([hidden]){display:block !important;visibility:visible !important}}@media(forced-colors: active){.sy-grid__brand.sc-sy-grid{color:CanvasText}}.sy-grid__header.sc-sy-grid{display:flex;align-items:stretch;background:var(--sy-grid-header-bg, #f9fafb);border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb);color:var(--sy-grid-header-color, #111827);font-weight:var(--sy-grid-header-font-weight, 600);font-size:13px;user-select:none}.sy-grid__header-rowgroup.sc-sy-grid{position:relative;z-index:3}.sy-grid__header-clip.sc-sy-grid{overflow:hidden}.sy-grid__header-cell--pinned-left.sc-sy-grid, .sy-grid__header-filter-cell--pinned-left.sc-sy-grid, .sy-grid__header-cell--pinned-right.sc-sy-grid, .sy-grid__header-filter-cell--pinned-right.sc-sy-grid{background:var(--sy-grid-header-bg, #f9fafb)}.sy-grid__cell--pinned-left.sc-sy-grid, .sy-grid__cell--pinned-right.sc-sy-grid{background:inherit}.sy-grid__header-cell--pinned-left-last.sc-sy-grid, .sy-grid__header-filter-cell--pinned-left-last.sc-sy-grid, .sy-grid__cell--pinned-left-last.sc-sy-grid{box-shadow:2px 0 4px -1px rgba(15,23,42,.18)}.sy-grid__header-cell--pinned-right-first.sc-sy-grid, .sy-grid__header-filter-cell--pinned-right-first.sc-sy-grid, .sy-grid__cell--pinned-right-first.sc-sy-grid{box-shadow:-2px 0 4px -1px rgba(15,23,42,.18)}.sy-grid__header-group-row.sc-sy-grid{display:flex;align-items:stretch;width:max-content;min-width:100%;background:var(--sy-grid-header-bg, #f9fafb);border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb);font-weight:var(--sy-grid-header-font-weight, 600);font-size:12px;color:var(--sy-grid-header-color, #111827);user-select:none}.sy-grid__header-group-cell.sc-sy-grid{display:flex;align-items:center;justify-content:center;padding:4px var(--sy-grid-cell-padding-x, 12px);box-sizing:border-box;overflow:hidden;border-right:1px solid var(--sy-grid-header-border, #e5e7eb);background:var(--sy-grid-header-bg, #f9fafb)}.sy-grid__header-group-cell.sc-sy-grid:last-child{border-right:none}.sy-grid__header-group-cell--filler.sc-sy-grid{border-right-color:rgba(0,0,0,0)}.sy-grid__header-group-label.sc-sy-grid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__header-group-toggle.sc-sy-grid{flex:0 0 auto;margin-left:6px;width:18px;height:18px;padding:0;line-height:1;font-size:11px;border:1px solid var(--sy-grid-header-border, #e5e7eb);border-radius:4px;background:var(--sy-grid-filter-dropdown-bg, #fff);color:inherit;cursor:pointer}.sy-grid__header-group-toggle.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-header-bg-hover, rgba(0, 0, 0, 0.06))}.sy-grid__group-row.sc-sy-grid{background:var(--sy-grid-header-bg, #f9fafb);font-weight:600}.sy-grid__group-row-cell.sc-sy-grid{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;padding:0 var(--sy-grid-cell-padding-x, 12px);position:sticky;left:0;max-width:100%}.sy-grid__group-row-toggle.sc-sy-grid{flex:0 0 auto;width:20px;height:20px;padding:0;line-height:1;font-size:11px;border:1px solid var(--sy-grid-header-border, #e5e7eb);border-radius:4px;background:var(--sy-grid-filter-dropdown-bg, #fff);color:inherit;cursor:pointer}.sy-grid__group-row-toggle.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-header-bg-hover, rgba(0, 0, 0, 0.06))}.sy-grid__group-row-label.sc-sy-grid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__group-row-count.sc-sy-grid{flex:0 0 auto;opacity:.6;font-weight:400}.sy-grid__group-agg-cell.sc-sy-grid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__group-agg-cell--first.sc-sy-grid{display:flex;align-items:center;gap:8px;min-width:0}.sy-grid__group-agg-cell--agg.sc-sy-grid{font-weight:600;font-variant-numeric:tabular-nums}.sy-grid__group-footer-row.sc-sy-grid{background:var(--sy-grid-header-bg, #f9fafb);border-top:1px solid var(--sy-grid-header-border, #e5e7eb);font-size:12px}.sy-grid__group-footer-cell.sc-sy-grid{opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__group-footer-cell--agg.sc-sy-grid{font-weight:600;font-variant-numeric:tabular-nums}.sy-grid__tree-cell.sc-sy-grid{display:flex;align-items:center;gap:6px;min-width:0}.sy-grid__tree-indent.sc-sy-grid{flex:0 0 auto}.sy-grid__tree-toggle.sc-sy-grid{flex:0 0 auto;width:20px;height:20px;padding:0;line-height:1;font-size:11px;border:1px solid var(--sy-grid-header-border, #e5e7eb);border-radius:4px;background:var(--sy-grid-filter-dropdown-bg, #fff);color:inherit;cursor:pointer}.sy-grid__tree-toggle.sc-sy-grid:disabled{cursor:default;opacity:.5}.sy-grid__tree-toggle-spacer.sc-sy-grid{flex:0 0 auto;width:20px}.sy-grid__tree-label.sc-sy-grid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.sy-grid__tree-row--filler.sc-sy-grid .sy-grid__tree-label.sc-sy-grid{font-weight:400;opacity:.6;font-style:italic}.sy-grid__pivot-row--subtotal.sc-sy-grid{background:var(--sy-grid-subtotal-row-bg, rgba(0, 0, 0, 0.03));font-weight:600}.sy-grid__tree-count.sc-sy-grid{flex:0 0 auto;opacity:.6;font-weight:400}.sy-grid__detail-toggle.sc-sy-grid{flex:0 0 auto;width:20px;height:20px;margin-right:6px;padding:0;line-height:1;font-size:11px;vertical-align:middle;border:1px solid var(--sy-grid-header-border, #e5e7eb);border-radius:4px;background:var(--sy-grid-filter-dropdown-bg, #fff);color:inherit;cursor:pointer}.sy-grid__detail-toggle.sc-sy-grid:disabled{cursor:default;opacity:.5}.sy-grid__detail-row.sc-sy-grid{background:var(--sy-grid-detail-bg, #fbfcfd);border-top:1px solid var(--sy-grid-header-border, #e5e7eb);border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb)}.sy-grid__pinned-band.sc-sy-grid{position:relative;flex:0 0 auto;z-index:2;background:var(--sy-grid-pinned-row-bg, #f8fafc);outline:none}.sy-grid__pinned-band--top.sc-sy-grid{border-bottom:2px solid var(--sy-grid-pinned-row-border, #cbd5e1)}.sy-grid__pinned-band--bottom.sc-sy-grid{border-top:2px solid var(--sy-grid-pinned-row-border, #cbd5e1)}.sy-grid__pinned-clip.sc-sy-grid{overflow:hidden}.sy-grid__pinned-window.sc-sy-grid{position:relative}.sy-grid__row--pinned.sc-sy-grid{font-weight:var(--sy-grid-pinned-row-font-weight, 600)}.sy-grid__pinned-band.sc-sy-grid:focus-visible .sy-grid__cell--active.sc-sy-grid, .sy-grid__pinned-band.sc-sy-grid:focus .sy-grid__cell--active.sc-sy-grid{box-shadow:inset 0 0 0 2px var(--sy-grid-focus-ring, #2563eb)}.sy-grid__full-width-row.sc-sy-grid{display:flex;align-items:stretch;background:var(--sy-grid-full-width-bg, #ffffff);border-bottom:1px solid var(--sy-grid-row-border, #e5e7eb)}.sy-grid__full-width-cell.sc-sy-grid{display:block;padding:0;overflow:hidden;box-sizing:border-box}.sy-grid__full-width-host.sc-sy-grid{height:100%;width:100%}.sy-grid__full-width-row.sy-grid__row--active.sc-sy-grid .sy-grid__full-width-cell.sc-sy-grid{box-shadow:inset 0 0 0 2px var(--sy-grid-focus-ring, #2563eb)}.sy-grid__detail-cell.sc-sy-grid{display:block;flex:1 1 auto;min-width:0;height:100%;padding:10px var(--sy-grid-cell-padding-x, 12px);position:sticky;left:0;max-width:100%;overflow:auto}.sy-grid__detail-shell.sc-sy-grid{font-size:12px}.sy-grid__detail-fields.sc-sy-grid{display:grid;grid-template-columns:max-content 1fr;gap:2px 16px;margin:0}.sy-grid__detail-fields.sc-sy-grid dt.sc-sy-grid{font-weight:600;opacity:.7}.sy-grid__detail-fields.sc-sy-grid dd.sc-sy-grid{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__viewport--range-dragging.sc-sy-grid{user-select:none}.sy-grid__cell--in-range.sc-sy-grid{background:var(--sy-grid-range-bg, rgba(37, 99, 235, 0.08))}.sy-grid__cell--in-range.sy-grid__cell--pinned-left.sc-sy-grid, .sy-grid__cell--in-range.sy-grid__cell--pinned-right.sc-sy-grid{background:var(--sy-grid-range-bg-opaque, #e9effc)}.sy-grid__cell--in-range.sc-sy-grid::after{content:"";position:absolute;inset:0;pointer-events:none;border:0 solid var(--sy-color-primary, #2563eb)}.sy-grid__cell--range-top.sc-sy-grid::after{border-top-width:1px}.sy-grid__cell--range-bottom.sc-sy-grid::after{border-bottom-width:1px}.sy-grid__cell--range-left.sc-sy-grid::after{border-left-width:1px}.sy-grid__cell--range-right.sc-sy-grid::after{border-right-width:1px}.sy-grid__col-spacer.sc-sy-grid{flex:0 0 auto;pointer-events:none}.sy-grid__header.sc-sy-grid, .sy-grid__header-filter-row.sc-sy-grid, .sy-grid__row.sc-sy-grid{width:max-content;min-width:100%}.sy-grid__header-cell.sc-sy-grid{display:flex;align-items:center;flex:1 1 0;padding:6px var(--sy-grid-cell-padding-x, 12px);box-sizing:border-box;cursor:default;border-right:1px solid rgba(0,0,0,0);outline:none;position:relative;overflow:hidden}.sy-grid__header-cell.sc-sy-grid:last-child{border-right:none}.sy-grid__header-cell.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-sort-indicator-active-color);outline-offset:-2px}.sy-grid__col-resize-handle.sc-sy-grid{position:absolute;top:0;right:0;bottom:0;width:8px;cursor:col-resize;background:rgba(0,0,0,0);user-select:none;touch-action:none;z-index:2}.sy-grid__column-resize-guide.sc-sy-grid{position:absolute;top:0;bottom:0;width:2px;background:var(--sy-grid-sort-indicator-active-color, rgba(0, 122, 255, 0.4));pointer-events:none;z-index:4}.sy-grid__header-cell--reorderable.sc-sy-grid{cursor:grab;touch-action:none}.sy-grid__header-cell--dragging.sc-sy-grid{opacity:.5;cursor:grabbing}.sy-grid__header-cell--dragging.sc-sy-grid > *.sc-sy-grid{pointer-events:none}.sy-grid__column-reorder-preview.sc-sy-grid{position:fixed;display:flex;align-items:center;box-sizing:border-box;padding:6px var(--sy-grid-cell-padding-x, 12px);border:1px solid var(--sy-grid-sort-indicator-active-color, #2563eb);border-radius:4px;background:var(--sy-grid-header-bg, #f9fafb);color:var(--sy-grid-header-color, #111827);box-shadow:0 8px 24px rgba(15,23,42,.18);font-size:13px;font-weight:var(--sy-grid-header-font-weight, 600);opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;transform:translate3d(0, 0, 0);z-index:2147483647}.sy-grid__column-reorder-preview-label.sc-sy-grid{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__header-cell--hidden.sc-sy-grid, .sy-grid__cell--hidden.sc-sy-grid{display:none}.sy-grid__header-cell--auto-sizable.sc-sy-grid{cursor:pointer}.sy-grid__header-cell--controls-hidden.sc-sy-grid .sy-grid__sort-indicator.sc-sy-grid, .sy-grid__header-cell--controls-hidden.sc-sy-grid .sy-grid__filter-icon.sc-sy-grid{display:none}.sy-grid__header-cell--sortable.sc-sy-grid{cursor:pointer}.sy-grid__header-cell--sortable.sc-sy-grid:hover{background:var(--sy-grid-header-bg-hover)}.sy-grid__header-label.sc-sy-grid{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__sort-indicator.sc-sy-grid{margin-left:6px;font-size:10px;line-height:1;color:var(--sy-grid-sort-indicator-color);opacity:0;transition:opacity 120ms ease;flex:0 0 auto}.sy-grid__header-cell--sortable.sc-sy-grid:hover .sy-grid__sort-indicator.sc-sy-grid, .sy-grid__header-cell--sortable.sc-sy-grid:focus-visible .sy-grid__sort-indicator.sc-sy-grid{opacity:.6}.sy-grid__sort-indicator--active.sc-sy-grid{color:var(--sy-grid-sort-indicator-active-color);opacity:1 !important}.sy-grid__sort-icon.sc-sy-grid{width:10px;height:10px;flex-shrink:0;fill:currentColor;opacity:1;transition:opacity .15s}.sy-grid__sort-icon--inactive.sc-sy-grid{opacity:.3}.sy-grid__sort-order.sc-sy-grid{margin-left:2px;font-size:9px;font-weight:600;line-height:1;color:var(--sy-grid-sort-indicator-active-color);opacity:.85;flex:0 0 auto;transform:translateY(-1px)}.sy-grid__filter-icon.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;width:18px;height:18px;border:none;background:rgba(0,0,0,0);color:var(--sy-grid-filter-icon-color);opacity:.45;cursor:pointer;border-radius:3px;transition:opacity 120ms ease,background 120ms ease,color 120ms ease;flex:0 0 auto}.sy-grid__filter-icon.sc-sy-grid:hover, .sy-grid__filter-icon.sc-sy-grid:focus-visible{opacity:1;background:rgba(15,23,42,.06)}.sy-grid__filter-icon.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-filter-icon-active-color);outline-offset:1px}.sy-grid__filter-icon--active.sc-sy-grid{color:var(--sy-grid-filter-icon-active-color);opacity:1}.sy-grid__filter-icon--open.sc-sy-grid{opacity:1;background:rgba(15,23,42,.08)}.sy-grid__filter-icon-svg.sc-sy-grid{display:block;pointer-events:none}.sy-grid__header-cell--filtered.sc-sy-grid .sy-grid__header-label.sc-sy-grid{font-weight:700}.sy-grid__filter-dropdown.sc-sy-grid{position:absolute;top:0;left:0;min-width:220px;padding:12px;background:var(--sy-grid-filter-dropdown-bg);color:var(--sy-grid-filter-dropdown-color);border:1px solid var(--sy-grid-filter-dropdown-border);border-radius:6px;box-shadow:var(--sy-grid-filter-dropdown-shadow);z-index:1000;font-weight:400;font-size:12px;cursor:default;user-select:text}.sy-grid__filter-form.sc-sy-grid{display:flex;flex-direction:column;gap:8px}.sy-grid__filter-row.sc-sy-grid{display:flex;flex-direction:column;gap:4px}.sy-grid__filter-row--inline.sc-sy-grid{flex-direction:row;align-items:center;gap:6px}.sy-grid__filter-label.sc-sy-grid{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:inherit;opacity:.75}.sy-grid__filter-label--inline.sc-sy-grid{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;opacity:1}.sy-grid__filter-op.sc-sy-grid, .sy-grid__filter-input.sc-sy-grid{width:100%;padding:5px 7px;font-size:12px;font-family:inherit;color:inherit;background:var(--sy-grid-filter-dropdown-bg);border:1px solid var(--sy-grid-filter-dropdown-border);border-radius:4px;box-sizing:border-box}.sy-grid__filter-op.sc-sy-grid:focus, .sy-grid__filter-input.sc-sy-grid:focus{outline:none;border-color:var(--sy-grid-filter-icon-active-color);box-shadow:0 0 0 2px rgba(37,99,235,.18)}.sy-grid__condition-builder.sc-sy-grid{display:flex;flex-direction:column;gap:8px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:6px;background:var(--sy-grid-header-bg, #f9fafb);font-size:12px}.sy-grid__condition-builder-head.sc-sy-grid{display:flex;align-items:center;gap:8px}.sy-grid__condition-builder-title.sc-sy-grid{font-weight:600}.sy-grid__condition-builder-badge.sc-sy-grid{padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;color:#fff;background:var(--sy-grid-sort-indicator-active-color, #2563eb)}.sy-grid__condition-builder-hint.sc-sy-grid{font-size:11px;opacity:.7}.sy-grid__builder-group.sc-sy-grid{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px dashed var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:6px;background:var(--sy-grid-filter-dropdown-bg, #fff)}.sy-grid__builder-group--root.sc-sy-grid{border-style:solid}.sy-grid__builder-group-head.sc-sy-grid{display:flex;align-items:center;gap:6px}.sy-grid__builder-rule.sc-sy-grid{display:flex;align-items:center;gap:6px}.sy-grid__builder-rule.sc-sy-grid .sy-grid__builder-field.sc-sy-grid, .sy-grid__builder-rule.sc-sy-grid .sy-grid__builder-rule-op.sc-sy-grid{flex:0 0 auto;max-width:160px}.sy-grid__builder-rule.sc-sy-grid .sy-grid__builder-value.sc-sy-grid{flex:1 1 120px;min-width:80px}.sy-grid__builder-remove.sc-sy-grid{flex:0 0 auto;width:20px;height:20px;padding:0;line-height:1;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:4px;background:rgba(0,0,0,0);color:inherit;cursor:pointer}.sy-grid__builder-remove.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-header-bg-hover, rgba(0, 0, 0, 0.06))}.sy-grid__builder-empty.sc-sy-grid{font-size:11px;opacity:.6;padding:2px 0}.sy-grid__builder-set-chip.sc-sy-grid{display:flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:10px;background:var(--sy-grid-header-bg, #f9fafb);align-self:flex-start;max-width:100%}.sy-grid__builder-set-chip.sc-sy-grid .sy-grid__builder-set-chip-text.sc-sy-grid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__builder-presets.sc-sy-grid{display:flex;flex-direction:column;gap:4px;border-top:1px dashed var(--sy-grid-filter-dropdown-border, #d1d5db);padding-top:8px}.sy-grid__builder-presets-row.sc-sy-grid{display:flex;gap:6px}.sy-grid__builder-presets-row.sc-sy-grid .sy-grid__builder-preset-name.sc-sy-grid{flex:1 1 160px;min-width:100px}.sy-grid__builder-presets-list.sc-sy-grid{display:flex;flex-wrap:wrap;gap:6px}.sy-grid__builder-preset.sc-sy-grid{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 0;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:10px;background:var(--sy-grid-filter-dropdown-bg, #fff)}.sy-grid__builder-preset-load.sc-sy-grid{border:none;background:rgba(0,0,0,0);padding:2px 4px 2px 8px;font-size:12px;color:inherit;cursor:pointer}.sy-grid__builder-preset-load.sc-sy-grid:hover:not(:disabled){text-decoration:underline}.sy-grid__builder-add-row.sc-sy-grid{display:flex;gap:6px}.sy-grid__header-filter-row.sc-sy-grid{display:flex;align-items:stretch;background:var(--sy-grid-header-bg, #f9fafb);border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb)}.sy-grid__header-filter-cell.sc-sy-grid{display:flex;align-items:center;flex:1 1 0;padding:4px var(--sy-grid-cell-padding-x, 12px);box-sizing:border-box;min-width:0}.sy-grid__header-filter-input.sc-sy-grid{width:100%;min-width:0;box-sizing:border-box;padding:3px 6px;font-size:12px;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:4px;background:var(--sy-grid-filter-dropdown-bg, #fff);color:inherit}.sy-grid__header-filter-summary.sc-sy-grid{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;font-size:12px;text-align:left;border:1px dashed var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:4px;background:rgba(0,0,0,0);color:inherit;cursor:pointer}.sy-grid__header-filter-summary.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-header-bg-hover, rgba(0, 0, 0, 0.04))}.sy-grid__filter-set-body.sc-sy-grid, .sy-grid__filter-scalar-body.sc-sy-grid{display:flex;flex-direction:column;gap:8px}.sy-grid__filter-multi-section.sc-sy-grid + .sy-grid__filter-multi-section.sc-sy-grid{border-top:1px solid var(--sy-grid-border-color, rgba(0, 0, 0, 0.12));padding-top:8px}.sy-grid__filter-set-select-all.sc-sy-grid{padding-bottom:4px;border-bottom:1px solid var(--sy-grid-border-color, rgba(0, 0, 0, 0.12))}.sy-grid__filter-set-list.sc-sy-grid{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:4px 0}.sy-grid__filter-set-item.sc-sy-grid{display:flex;align-items:center;gap:6px}.sy-grid__filter-set-item.sc-sy-grid .sy-grid__filter-label--inline.sc-sy-grid{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__filter-set-count.sc-sy-grid{flex:0 0 auto;font-size:11px;opacity:.6;font-variant-numeric:tabular-nums}.sy-grid__filter-set-empty.sc-sy-grid{padding:8px 4px;font-size:12px;opacity:.6}.sy-grid__filter-actions.sc-sy-grid{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}.sy-grid__filter-button.sc-sy-grid{padding:5px 10px;font-size:12px;font-family:inherit;border-radius:4px;cursor:pointer;border:1px solid var(--sy-grid-filter-dropdown-border);background:rgba(0,0,0,0);color:inherit}.sy-grid__filter-button.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-filter-icon-active-color);outline-offset:1px}.sy-grid__filter-button--primary.sc-sy-grid{background:var(--sy-grid-filter-button-primary-bg);color:var(--sy-grid-filter-button-primary-color);border-color:var(--sy-grid-filter-button-primary-bg)}.sy-grid__filter-button--primary.sc-sy-grid:hover{filter:brightness(0.95)}.sy-grid__filter-button--secondary.sc-sy-grid:hover{background:rgba(15,23,42,.06)}.sy-grid__pagination.sc-sy-grid{display:flex;align-items:center;flex:0 0 auto;gap:6px;padding:6px 8px;background:var(--sy-grid-pagination-bg);color:var(--sy-grid-pagination-color);border-top:1px solid var(--sy-grid-pagination-border);font-size:12px;user-select:none}.sy-grid__status-bar.sc-sy-grid{display:flex;align-items:center;flex:0 0 auto;gap:12px;padding:4px 8px;background:var(--sy-grid-pagination-bg);color:var(--sy-grid-pagination-color);border-top:1px solid var(--sy-grid-pagination-border);font-size:12px;user-select:none}.sy-grid__status-section.sc-sy-grid{display:inline-flex;align-items:center;gap:12px;min-width:0}.sy-grid__status-section--center.sc-sy-grid{flex:1 1 auto;justify-content:center}.sy-grid__status-section--right.sc-sy-grid{margin-left:auto;justify-content:flex-end}.sy-grid__status-panel.sc-sy-grid{white-space:nowrap}.sy-grid__main.sc-sy-grid{display:flex;align-items:stretch;flex:1 1 auto;min-height:0}.sy-grid__main.sc-sy-grid .sy-grid__body.sc-sy-grid, .sy-grid__main.sc-sy-grid .sy-grid__grid.sc-sy-grid{flex:1 1 auto;min-width:0}[style*=height].sc-sy-grid-h .sy-grid__main.sc-sy-grid, [style*=height].sc-sy-grid-h .sy-grid__main.sc-sy-grid{flex:1 1 0;min-height:0}.sy-grid__side-bar.sc-sy-grid{display:flex;align-items:stretch;flex:0 0 auto;border-left:1px solid var(--sy-grid-border);background:var(--sy-grid-header-bg)}.sy-grid__formula-bar.sc-sy-grid{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:3px 6px;border-bottom:1px solid var(--sy-grid-border);background:var(--sy-grid-header-bg);font-size:13px}.sy-grid__formula-bar.sc-sy-grid .sy-grid__formula-bar-ref.sc-sy-grid{flex:0 0 auto;min-width:96px;max-width:200px;padding:2px 6px;border:1px solid var(--sy-grid-border);border-radius:3px;background:var(--sy-grid-bg);color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sy-grid__formula-bar.sc-sy-grid .sy-grid__formula-bar-fx.sc-sy-grid{flex:0 0 auto;font-style:italic;color:#6b7280;padding:0 2px}.sy-grid__formula-bar.sc-sy-grid .sy-grid__formula-bar-input-wrap.sc-sy-grid{position:relative;flex:1 1 auto;min-width:0}.sy-grid__formula-bar.sc-sy-grid .sy-grid__formula-bar-input.sc-sy-grid{width:100%;box-sizing:border-box;font:inherit;font-family:Consolas,"SFMono-Regular",monospace;padding:3px 6px;border:1px solid var(--sy-grid-border);border-radius:3px;background:var(--sy-grid-bg);color:inherit}.sy-grid__formula-bar.sc-sy-grid .sy-grid__formula-bar-input.sc-sy-grid:focus{outline:2px solid var(--sy-grid-focus, #2563eb);outline-offset:-1px}.sy-grid__formula-bar.sc-sy-grid .sy-grid__formula-bar-input.sc-sy-grid:disabled{background:var(--sy-grid-header-bg);color:#9ca3af}.sy-grid__formula-suggest.sc-sy-grid{position:absolute;top:calc(100% + 2px);left:0;z-index:30;margin:0;padding:3px;list-style:none;min-width:220px;max-height:240px;overflow-y:auto;border:1px solid var(--sy-grid-border);border-radius:4px;background:var(--sy-grid-bg);box-shadow:0 6px 16px rgba(15,23,42,.12)}.sy-grid__formula-suggest-option.sc-sy-grid{display:flex;align-items:baseline;gap:8px;padding:4px 8px;border-radius:3px;cursor:pointer;font-family:Consolas,"SFMono-Regular",monospace;font-size:12.5px}.sy-grid__formula-suggest-option.sc-sy-grid:hover{background:var(--sy-grid-row-hover-bg, #f1f5f9)}.sy-grid__formula-suggest-option--active.sc-sy-grid{background:var(--sy-grid-selected-bg, #e0ecff)}.sy-grid__formula-suggest-paren.sc-sy-grid{color:#9ca3af;font-size:11px}.sy-grid__tool-panel.sc-sy-grid{display:flex;flex-direction:column;width:240px;min-width:0;border-right:1px solid var(--sy-grid-border);background:var(--sy-grid-bg)}.sy-grid__tool-panel-header.sc-sy-grid{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:6px 10px;border-bottom:1px solid var(--sy-grid-border);font-size:12px;font-weight:600;color:var(--sy-grid-text)}.sy-grid__tool-panel-close.sc-sy-grid{font:inherit;font-size:12px;border:none;background:none;cursor:pointer;padding:2px 4px;color:var(--sy-grid-text-muted)}.sy-grid__tool-panel-close.sc-sy-grid:hover{color:var(--sy-grid-text)}.sy-grid__tool-panel-body.sc-sy-grid{flex:1 1 auto;overflow:auto;padding:8px 10px;font-size:12px;color:var(--sy-grid-text)}.sy-grid__tool-panel-list.sc-sy-grid{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.sy-grid__tool-panel-item.sc-sy-grid{display:flex;align-items:center;justify-content:space-between;gap:8px}.sy-grid__tool-panel-item--hidden.sc-sy-grid{color:var(--sy-grid-text-muted);text-decoration:line-through}.sy-grid__tool-panel-badge.sc-sy-grid{font-size:10px;padding:0 6px;border-radius:8px;border:1px solid var(--sy-grid-border);background:var(--sy-grid-header-bg);color:var(--sy-grid-text-muted)}.sy-grid__tool-panel-empty.sc-sy-grid{margin:0;color:var(--sy-grid-text-muted)}.sy-grid__tool-panel-columns.sc-sy-grid{display:flex;flex-direction:column;gap:6px}.sy-grid__tool-panel-search.sc-sy-grid{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--sy-grid-border);border-radius:4px;background:var(--sy-grid-bg);color:var(--sy-grid-text)}.sy-grid__tool-panel-selectall.sc-sy-grid, .sy-grid__tool-panel-check.sc-sy-grid{display:flex;align-items:center;gap:6px;cursor:pointer}.sy-grid__tool-panel-selectall.sc-sy-grid input.sc-sy-grid, .sy-grid__tool-panel-check.sc-sy-grid input.sc-sy-grid{margin:0;cursor:pointer}.sy-grid__tool-panel-selectall.sc-sy-grid{padding-bottom:4px;border-bottom:1px solid var(--sy-grid-border);color:var(--sy-grid-text-muted)}.sy-grid__tool-panel-empty-row.sc-sy-grid{color:var(--sy-grid-text-muted)}.sy-grid__tool-panel-filters.sc-sy-grid{display:flex;flex-direction:column;gap:6px}.sy-grid__tool-panel-filter-open.sc-sy-grid{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font:inherit;font-size:12px;text-align:left;border:none;background:none;cursor:pointer;padding:2px 4px;border-radius:3px;color:var(--sy-grid-text)}.sy-grid__tool-panel-filter-open.sc-sy-grid:hover{background:var(--sy-grid-header-bg-hover)}.sy-grid__tool-panel-filter-open[aria-expanded=true].sc-sy-grid{background:var(--sy-grid-header-bg-hover)}.sy-grid__tool-panel-item--active.sc-sy-grid > .sy-grid__tool-panel-filter-open.sc-sy-grid, .sy-grid__tool-panel-item--active.sc-sy-grid{font-weight:600}.sy-grid__cell-html.sc-sy-grid{display:block;width:100%;min-width:0}.sy-grid__tool-panel-clear-all.sc-sy-grid{align-self:flex-start;font:inherit;font-size:11px;margin-top:4px;padding:3px 10px;border:1px solid var(--sy-grid-border);border-radius:4px;background:var(--sy-grid-bg);color:var(--sy-grid-text);cursor:pointer}.sy-grid__tool-panel-clear-all.sc-sy-grid:hover{background:var(--sy-grid-header-bg-hover)}.sy-grid__side-bar-strip.sc-sy-grid{display:flex;flex-direction:column;gap:2px;padding:4px 0;width:28px;flex:0 0 auto}.sy-grid__side-bar-button.sc-sy-grid{font:inherit;font-size:11px;border:none;background:none;cursor:pointer;color:var(--sy-grid-text-muted);writing-mode:vertical-rl;padding:10px 5px;border-left:2px solid rgba(0,0,0,0);user-select:none}.sy-grid__side-bar-button.sc-sy-grid:hover{color:var(--sy-grid-text)}.sy-grid__side-bar-button--active.sc-sy-grid{color:var(--sy-color-primary, #2563eb);border-left-color:var(--sy-color-primary, #2563eb);background:var(--sy-grid-bg)}.sy-grid__page-numbers.sc-sy-grid{display:inline-flex;align-items:center;gap:2px}.sy-grid__pagination-button.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 8px;font-size:12px;font-family:inherit;color:inherit;background:rgba(0,0,0,0);border:1px solid var(--sy-grid-pagination-border);border-radius:4px;cursor:pointer}.sy-grid__pagination-button.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-pagination-hover-bg)}.sy-grid__pagination-button.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-pagination-active-bg);outline-offset:1px}.sy-grid__pagination-button.sc-sy-grid:disabled{cursor:not-allowed;opacity:.45;color:var(--sy-grid-pagination-disabled-color)}.sy-grid__page-number--active.sc-sy-grid, .sy-grid__pagination-button[data-active=true].sc-sy-grid{background:var(--sy-grid-pagination-active-bg);color:var(--sy-grid-pagination-active-color);border-color:var(--sy-grid-pagination-active-bg)}.sy-grid__page-number--active.sc-sy-grid:hover:not(:disabled), .sy-grid__pagination-button[data-active=true].sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-pagination-active-bg);filter:brightness(0.95)}.sy-grid__page-ellipsis.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:26px;color:var(--sy-grid-pagination-disabled-color)}.sy-grid__page-info.sc-sy-grid{margin-left:auto;margin-right:4px;font-variant-numeric:tabular-nums;color:inherit;opacity:.85}.sy-grid__page-size-label.sc-sy-grid{display:inline-flex;align-items:center;gap:6px}.sy-grid__page-size-text.sc-sy-grid{font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.sy-grid__page-size.sc-sy-grid{height:26px;padding:0 6px;font-size:12px;font-family:inherit;color:inherit;background:var(--sy-grid-pagination-bg);border:1px solid var(--sy-grid-pagination-border);border-radius:4px}.sy-grid__page-size.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-pagination-active-bg);outline-offset:1px}.sy-grid__body.sc-sy-grid{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;min-width:0}.sy-grid__grid.sc-sy-grid{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.sy-grid__viewport.sc-sy-grid{position:relative;overflow:auto;flex:1 1 auto;min-height:240px;background:var(--sy-grid-viewport-bg, #ffffff);contain:strict}.sy-grid__viewport.sc-sy-grid::-webkit-scrollbar{width:10px;height:10px}.sy-grid__viewport.sc-sy-grid::-webkit-scrollbar-track{background:var(--sy-grid-scrollbar-track, transparent)}.sy-grid__viewport.sc-sy-grid::-webkit-scrollbar-thumb{background:var(--sy-grid-scrollbar-thumb, rgba(15, 23, 42, 0.18));border-radius:4px}[style*=height].sc-sy-grid-h, [style*=height].sc-sy-grid-h{display:flex;flex-direction:column;min-height:0}[style*=height].sc-sy-grid-h .sy-grid__body.sc-sy-grid, [style*=height].sc-sy-grid-h .sy-grid__grid.sc-sy-grid, [style*=height].sc-sy-grid-h .sy-grid__body.sc-sy-grid, [style*=height].sc-sy-grid-h .sy-grid__grid.sc-sy-grid{flex:1 1 0;min-height:0}[style*=height].sc-sy-grid-h .sy-grid__viewport.sc-sy-grid, [style*=height].sc-sy-grid-h .sy-grid__viewport.sc-sy-grid{flex:1 1 0;height:0;min-height:0}.sy-grid--column-defs.sc-sy-grid{display:flex;flex-direction:column}.sy-grid__row-spacer.sc-sy-grid{position:relative;width:100%;box-sizing:border-box}.sy-grid__row-window.sc-sy-grid{position:static;width:100%}.sy-grid__row-window--flat.sc-sy-grid{position:static;width:100%}.sy-grid__row.sc-sy-grid{display:flex;align-items:stretch;width:max-content;min-width:100%;border-bottom:1px solid var(--sy-grid-row-border, #f3f4f6);color:var(--sy-grid-row-color, #111827);font-size:var(--sy-grid-cell-font-size, 13px);box-sizing:border-box}.sy-grid__row.sc-sy-grid:hover{background:var(--sy-grid-row-bg-hover, rgba(37, 99, 235, 0.06))}.sy-grid__row--odd.sc-sy-grid{background:var(--sy-grid-row-bg-odd, #ffffff)}.sy-grid__row--even.sc-sy-grid{background:var(--sy-grid-row-bg-even, #f9fafb)}.sy-grid__cell.sc-sy-grid{flex:1 1 0;position:relative;padding:0 var(--sy-grid-cell-padding-x, 12px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;font-variant-numeric:tabular-nums}.sy-grid__cell--row-span.sc-sy-grid{align-self:flex-start;background:var(--sy-grid-span-cell-bg, inherit)}.sy-grid__span-cover.sc-sy-grid{flex:0 0 auto;pointer-events:none}.sy-grid__row--auto-height.sc-sy-grid{height:auto}.sy-grid__row--auto-height.sc-sy-grid .sy-grid__cell.sc-sy-grid{line-height:1.45;padding-top:7px;padding-bottom:7px}.sy-grid__cell--wrap.sc-sy-grid{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}.sy-grid__cell--formula.sc-sy-grid::after{content:"";position:absolute;top:0;right:0;border-width:0 5px 5px 0;border-style:solid;border-color:rgba(0,0,0,0) var(--sy-grid-formula-marker, #14b8a6) rgba(0,0,0,0) rgba(0,0,0,0);pointer-events:none}.sy-grid__cell--formula-error.sc-sy-grid{color:var(--sy-grid-formula-error, #dc2626);font-family:Consolas,"SFMono-Regular",monospace;font-size:12.5px}.sy-grid__cell--formula-error.sc-sy-grid::after{border-color:rgba(0,0,0,0) var(--sy-grid-formula-error, #dc2626) rgba(0,0,0,0) rgba(0,0,0,0)}.sy-grid__cell--invalid.sc-sy-grid{background:var(--sy-grid-invalid-bg, rgba(220, 38, 38, 0.08));box-shadow:inset 0 0 0 1.5px var(--sy-grid-invalid-border, #dc2626)}.sy-grid__cell--invalid.sc-sy-grid::before{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 6px 6px 0;border-color:rgba(0,0,0,0) var(--sy-grid-invalid-border, #dc2626) rgba(0,0,0,0) rgba(0,0,0,0)}.sy-grid__cell--commented.sc-sy-grid::before{content:"";position:absolute;top:0;right:0;border-width:0 7px 7px 0;border-style:solid;border-color:rgba(0,0,0,0) var(--sy-grid-comment-marker, #f59e0b) rgba(0,0,0,0) rgba(0,0,0,0);pointer-events:none;z-index:1}.sy-grid__cell--commented-resolved.sc-sy-grid::before{border-color:rgba(0,0,0,0) var(--sy-grid-comment-marker-resolved, #94a3b8) rgba(0,0,0,0) rgba(0,0,0,0)}.sy-grid__comment-panel.sc-sy-grid{width:280px;background:var(--sy-grid-bg, #ffffff);border:1px solid var(--sy-grid-border-color, #e2e8f0);border-radius:6px;box-shadow:0 6px 20px rgba(15,23,42,.14);font-size:12.5px;color:var(--sy-grid-text, #1e293b)}.sy-grid__comment-panel-header.sc-sy-grid{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-weight:600}.sy-grid__comment-panel-close.sc-sy-grid{border:none;background:none;font-size:15px;line-height:1;padding:2px 4px;cursor:pointer;color:var(--sy-grid-text-muted, #64748b)}.sy-grid__comment-panel-close.sc-sy-grid:hover{color:var(--sy-grid-text, #1e293b)}.sy-grid__comment-panel-list.sc-sy-grid{max-height:200px;overflow-y:auto;padding:0 10px}.sy-grid__comment.sc-sy-grid{padding:6px 0;border-top:1px solid var(--sy-grid-border-color, #eef2f7)}.sy-grid__comment--reply.sc-sy-grid{padding-left:14px}.sy-grid__comment--resolved.sc-sy-grid{opacity:.55}.sy-grid__comment--resolved.sc-sy-grid .sy-grid__comment-text.sc-sy-grid{text-decoration:line-through}.sy-grid__comment-empty.sc-sy-grid{padding:10px 0;color:var(--sy-grid-text-muted, #94a3b8)}.sy-grid__comment-meta.sc-sy-grid{display:flex;align-items:center;gap:6px;margin-bottom:2px}.sy-grid__comment-author-dot.sc-sy-grid{width:8px;height:8px;border-radius:50%;flex:none}.sy-grid__comment-author.sc-sy-grid{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__comment-time.sc-sy-grid{color:var(--sy-grid-text-muted, #94a3b8);font-size:11px;margin-right:auto}.sy-grid__comment-action.sc-sy-grid{border:none;background:none;padding:0 2px;font-size:11px;cursor:pointer;color:var(--sy-grid-accent, #2563eb)}.sy-grid__comment-action--delete.sc-sy-grid{color:var(--sy-grid-text-muted, #94a3b8)}.sy-grid__comment-action--delete.sc-sy-grid:hover{color:var(--sy-grid-formula-error, #dc2626)}.sy-grid__comment-text.sc-sy-grid{white-space:pre-wrap;overflow-wrap:anywhere}.sy-grid__comment-mention.sc-sy-grid{color:var(--sy-grid-accent, #2563eb);font-weight:600;background:var(--sy-grid-mention-bg, rgba(37, 99, 235, 0.08));border-radius:3px;padding:0 2px}.sy-grid__comment-mention--self.sc-sy-grid{color:var(--sy-grid-mention-self, #b45309);background:var(--sy-grid-mention-self-bg, rgba(245, 158, 11, 0.18))}.sy-grid__comment-compose.sc-sy-grid{display:flex;gap:6px;align-items:flex-end;padding:8px 10px 10px;border-top:1px solid var(--sy-grid-border-color, #eef2f7)}.sy-grid__comment-input.sc-sy-grid{flex:1;resize:none;font:inherit;font-size:12.5px;padding:5px 7px;border:1px solid var(--sy-grid-border-color, #cbd5e1);border-radius:4px}.sy-grid__comment-input.sc-sy-grid:focus{outline:none;border-color:var(--sy-grid-accent, #2563eb)}.sy-grid__comment-add.sc-sy-grid{height:27px;padding:0 10px;font:inherit;font-size:12px;border:none;border-radius:4px;background:var(--sy-grid-accent, #2563eb);color:#fff;cursor:pointer}.sy-grid__comment-add.sc-sy-grid:hover{background:var(--sy-grid-accent-strong, #1d4ed8)}.sy-grid__toolbar-button.sc-sy-grid{height:28px;padding:0 12px;font:inherit;font-size:13px;color:var(--sy-grid-header-color, #111827);background:var(--sy-grid-filter-dropdown-bg, #fff);border:1px solid var(--sy-grid-header-border, #e5e7eb);border-radius:4px;cursor:pointer}.sy-grid__toolbar-button.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-header-bg-hover, rgba(0, 0, 0, 0.06))}.sy-grid__toolbar-button.sc-sy-grid:disabled{opacity:.5;cursor:default}.sy-grid__toolbar-button--primary.sc-sy-grid{color:#fff;background:var(--sy-grid-sort-indicator-active-color, #2563eb);border-color:var(--sy-grid-sort-indicator-active-color, #2563eb)}.sy-grid__toolbar-button--primary.sc-sy-grid:hover:not(:disabled){filter:brightness(0.95);background:var(--sy-grid-sort-indicator-active-color, #2563eb)}.sy-grid__csv-wizard-overlay.sc-sy-grid{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.35)}.sy-grid__csv-wizard.sc-sy-grid{display:flex;flex-direction:column;gap:12px;max-width:min(680px,92vw);max-height:84vh;padding:16px;background:var(--sy-grid-filter-dropdown-bg, #fff);color:var(--sy-grid-row-color, #111827);border:1px solid var(--sy-grid-header-border, #e5e7eb);border-radius:8px;box-shadow:0 18px 48px rgba(15,23,42,.28);font-size:13px}.sy-grid__csv-wizard-head.sc-sy-grid{display:flex;align-items:baseline;gap:10px}.sy-grid__csv-wizard-head.sc-sy-grid .sy-grid__csv-wizard-file.sc-sy-grid{color:var(--sy-grid-sort-indicator-color, #6b7280);font-size:12px}.sy-grid__csv-wizard-controls.sc-sy-grid{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sy-grid__csv-wizard-check.sc-sy-grid, .sy-grid__csv-wizard-delim.sc-sy-grid{display:inline-flex;align-items:center;gap:6px}.sy-grid__csv-wizard-preview.sc-sy-grid{overflow:auto;border:1px solid var(--sy-grid-header-border, #e5e7eb);border-radius:4px}.sy-grid__csv-wizard-preview.sc-sy-grid table.sc-sy-grid{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.sy-grid__csv-wizard-preview.sc-sy-grid th.sc-sy-grid, .sy-grid__csv-wizard-preview.sc-sy-grid td.sc-sy-grid{padding:4px 8px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--sy-grid-row-border, #f3f4f6)}.sy-grid__csv-wizard-preview.sc-sy-grid th.sc-sy-grid{background:var(--sy-grid-header-bg, #f9fafb);font-weight:600}.sy-grid__csv-wizard-actions.sc-sy-grid{display:flex;justify-content:flex-end;gap:8px}.sy-grid__toolbar.sc-sy-grid{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--sy-grid-toolbar-bg);border-bottom:1px solid var(--sy-grid-toolbar-border);flex:0 0 auto}.sy-grid__quick-filter.sc-sy-grid{position:relative;display:inline-flex;align-items:center;flex:1 1 280px;max-width:360px}.sy-grid__quick-filter-input.sc-sy-grid{width:100%;height:28px;padding:4px 28px 4px 10px;font-family:inherit;font-size:13px;color:var(--sy-grid-quick-filter-input-color);background:var(--sy-grid-quick-filter-input-bg);border:1px solid var(--sy-grid-quick-filter-input-border);border-radius:4px;box-sizing:border-box;outline:none;transition:border-color 120ms ease,box-shadow 120ms ease}.sy-grid__quick-filter-input.sc-sy-grid::placeholder{color:var(--sy-grid-quick-filter-input-placeholder);opacity:1}.sy-grid__quick-filter-input.sc-sy-grid::-webkit-search-cancel-button, .sy-grid__quick-filter-input.sc-sy-grid::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.sy-grid__quick-filter-input.sc-sy-grid:focus{border-color:var(--sy-grid-quick-filter-input-focus);box-shadow:0 0 0 2px rgba(37,99,235,.18)}.sy-grid__quick-filter-clear.sc-sy-grid{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--sy-grid-quick-filter-clear-color);font-size:12px;line-height:1;cursor:pointer;border-radius:3px;transition:background 120ms ease,color 120ms ease}.sy-grid__quick-filter-clear.sc-sy-grid:hover, .sy-grid__quick-filter-clear.sc-sy-grid:focus-visible{background:var(--sy-grid-quick-filter-clear-hover);color:inherit}.sy-grid__quick-filter-clear.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-quick-filter-input-focus);outline-offset:1px}.sy-grid__empty-state.sc-sy-grid{position:absolute;top:var(--sy-grid-empty-state-inset-top, 0px);left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;background:var(--sy-grid-empty-state-bg);color:var(--sy-grid-empty-state-color);text-align:center;pointer-events:auto;z-index:2}.sy-grid__empty-state-live.sc-sy-grid{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;pointer-events:none}.sy-grid__empty-state-icon.sc-sy-grid{font-size:32px;line-height:1;color:var(--sy-grid-empty-state-icon-color);user-select:none}.sy-grid__empty-state-message.sc-sy-grid{font-size:13px;font-weight:500;max-width:320px}.sy-grid__empty-state-action.sc-sy-grid{margin-top:4px;padding:6px 14px;font-size:12px;font-family:inherit;font-weight:600;border:none;border-radius:4px;cursor:pointer;background:var(--sy-grid-empty-state-action-bg);color:var(--sy-grid-empty-state-action-color);transition:filter 120ms ease}.sy-grid__empty-state-action.sc-sy-grid:hover{filter:brightness(0.95)}.sy-grid__empty-state-action.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-empty-state-action-bg);outline-offset:2px}.sy-grid__empty-state--loading.sc-sy-grid .sy-grid__empty-state-icon.sc-sy-grid{animation:sy-grid-empty-state-spin 1.6s linear infinite}@keyframes sy-grid-empty-state-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.sy-grid__empty-state--loading.sc-sy-grid{background:var(--sy-grid-loading-backdrop);color:var(--sy-grid-loading-message-color)}.sy-grid__empty-state--loading.sc-sy-grid .sy-grid__empty-state-message.sc-sy-grid{color:var(--sy-grid-loading-message-color)}.sy-grid__loading-spinner.sc-sy-grid{width:36px;height:36px;position:relative;color:var(--sy-grid-loading-spinner-color);display:inline-block}.sy-grid__loading-spinner-bar.sc-sy-grid{position:absolute;top:0;left:50%;width:3px;height:9px;margin-left:-1.5px;border-radius:1.5px;background:currentColor;transform-origin:50% 18px;animation:sy-grid-loading-spinner-fade 1s linear infinite}.sy-grid__loading-spinner-bar--1.sc-sy-grid{transform:rotate(0deg);animation-delay:-0.875s}.sy-grid__loading-spinner-bar--2.sc-sy-grid{transform:rotate(45deg);animation-delay:-0.75s}.sy-grid__loading-spinner-bar--3.sc-sy-grid{transform:rotate(90deg);animation-delay:-0.625s}.sy-grid__loading-spinner-bar--4.sc-sy-grid{transform:rotate(135deg);animation-delay:-0.5s}.sy-grid__loading-spinner-bar--5.sc-sy-grid{transform:rotate(180deg);animation-delay:-0.375s}.sy-grid__loading-spinner-bar--6.sc-sy-grid{transform:rotate(225deg);animation-delay:-0.25s}.sy-grid__loading-spinner-bar--7.sc-sy-grid{transform:rotate(270deg);animation-delay:-0.125s}.sy-grid__loading-spinner-bar--8.sc-sy-grid{transform:rotate(315deg);animation-delay:0s}@keyframes sy-grid-loading-spinner-fade{0%{opacity:1}50%{opacity:.35}100%{opacity:.15}}.sy-grid__empty-state--loading.sc-sy-grid slot[name=loading-spinner].sc-sy-grid{display:flex;align-items:center;justify-content:center}.sy-grid__viewport.sc-sy-grid:focus{outline:none}.sy-grid__viewport.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-viewport-focus-outline);outline-offset:-2px}.sy-grid__viewport--active-cell.sc-sy-grid:focus, .sy-grid__viewport--active-cell.sc-sy-grid:focus-visible{outline:none}.sy-grid__row--active.sc-sy-grid{background:var(--sy-grid-active-row-bg)}.sy-grid__row--selected.sc-sy-grid, .sy-grid__row--selected.sy-grid__row--active.sc-sy-grid, .sy-grid__row--selected.sc-sy-grid:hover{background:var(--sy-grid-row-bg-selected)}[data-row-hover-mode=stateful].sc-sy-grid-h .sy-grid__row.sc-sy-grid:hover{background:inherit}[data-row-hover-mode=stateful].sc-sy-grid-h .sy-grid__row--hovered.sc-sy-grid{background:var(--sy-grid-row-bg-hover)}[data-row-hover-mode=stateful].sc-sy-grid-h .sy-grid__row--selected.sy-grid__row--hovered.sc-sy-grid{background:var(--sy-grid-row-bg-selected)}[data-row-hover-mode=off].sc-sy-grid-h .sy-grid__row.sc-sy-grid:hover{background:inherit}.sy-grid__header-cell--selection.sc-sy-grid, .sy-grid__cell--selection.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0}.sy-grid__selection-checkbox.sc-sy-grid{display:inline-block;flex:0 0 18px;width:18px;height:18px;aspect-ratio:1/1;box-sizing:border-box;border:1px solid var(--sy-grid-row-border, #d4d4d4);border-radius:3px;background:var(--sy-grid-row-bg, #fff);cursor:pointer;position:relative}.sy-grid__selection-checkbox--checked.sc-sy-grid{background:var(--sy-grid-row-bg-selected, rgba(37, 99, 235, 0.85));border-color:var(--sy-grid-row-bg-selected, rgba(37, 99, 235, 0.85))}.sy-grid__selection-checkbox--checked.sc-sy-grid::after{content:"";position:absolute;top:2px;left:5px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.sy-grid__selection-checkbox--mixed.sc-sy-grid::after{content:"";position:absolute;top:7px;left:3px;width:10px;height:2px;background:var(--sy-grid-row-bg-selected, rgba(37, 99, 235, 0.85))}.sy-grid__cell--active.sc-sy-grid{outline:2px solid var(--sy-grid-active-cell-outline);outline-offset:-2px}.sy-grid__cell--active.sc-sy-grid:focus, .sy-grid__cell--active.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-active-cell-outline);outline-offset:-2px}.sy-grid__cell--editing.sc-sy-grid{padding:0;position:relative;background:var(--sy-grid-cell-editor-bg, #ffffff);color:var(--sy-grid-cell-editor-color, inherit);box-shadow:var(--sy-grid-cell-editor-shadow, inset 0 0 0 1px rgba(37, 99, 235, 0.22))}.sy-grid__cell-editor.sc-sy-grid{box-sizing:border-box;width:100%;height:100%;padding:0 var(--sy-grid-cell-padding-x, 12px);font:inherit;color:var(--sy-grid-cell-editor-color, inherit);background:var(--sy-grid-cell-editor-bg, #ffffff);border:1px solid var(--sy-grid-cell-editor-border, var(--sy-grid-active-cell-outline, #2563eb));outline:none}.sy-grid__cell-editor.sc-sy-grid:focus, .sy-grid__cell-editor.sc-sy-grid:focus-visible{outline:none}.sy-grid__cell-editor--number.sc-sy-grid{text-align:right}.sy-grid__cell-editor--invalid.sc-sy-grid{box-shadow:inset 0 -2px 0 #dc2626}@layer sy-grid-lifecycle-components{sy-grid .sy-grid__cell-component-host,sy-grid .sy-grid__cell-editor-component-host,sy-grid .sy-grid__floating-filter-host{box-sizing:border-box;min-width:0;font:inherit;color:inherit}sy-grid .sy-grid__cell-component-host{display:flex;align-items:center;width:100%;height:100%;min-height:0;overflow:hidden;line-height:inherit;text-align:inherit;white-space:inherit;text-overflow:inherit}sy-grid .sy-grid__cell-component-host>*{min-width:0;max-width:100%}sy-grid .sy-grid__cell-editor-component-host{position:relative;display:flex;align-items:stretch;width:100%;height:100%;min-height:100%;overflow:hidden;background:var(--sy-grid-cell-editor-bg, #ffffff);line-height:inherit}sy-grid .sy-grid__cell-editor-component-host>*{flex:1 1 auto;width:100%;min-width:0;max-width:100%;height:100%;box-sizing:border-box}sy-grid .sy-grid__cell-editor-component-host:focus-within{box-shadow:var(--sy-grid-cell-editor-shadow, inset 0 0 0 1px rgba(37, 99, 235, 0.22))}sy-grid .sy-grid__cell-editor-component-host[aria-invalid=true],.sy-grid__cell-editor-component-popup[aria-invalid=true]{outline:2px solid var(--sy-color-danger, #b91c1c);outline-offset:-2px}sy-grid .sy-grid__cell-editor-component-host>.sy-grid__cell-editor-validation,.sy-grid__cell-editor-component-popup>.sy-grid__cell-editor-validation{z-index:2;box-sizing:border-box;width:100%;height:auto;min-height:20px;max-height:50%;overflow:auto;padding:3px 8px;color:var(--sy-color-danger, #b91c1c);background:var(--sy-grid-invalid-bg, rgba(220, 38, 38, 0.1));border-top:1px solid currentColor;font:inherit;font-size:11px;font-weight:600;line-height:1.3;pointer-events:none}sy-grid .sy-grid__cell-editor-component-host>.sy-grid__cell-editor-validation{position:absolute;right:0;bottom:0;left:0;flex:0 0 auto}.sy-grid__cell-editor-component-popup>.sy-grid__cell-editor-validation{position:sticky;bottom:0}.sy-grid__cell-editor-component-popup{position:fixed;z-index:var(--sy-grid-component-popup-z-index, 1100);box-sizing:border-box;min-width:min(220px,100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;overscroll-behavior:contain;background:var(--sy-grid-filter-dropdown-bg, #ffffff);color:var(--sy-grid-filter-dropdown-color, #111827);border:1px solid var(--sy-grid-filter-dropdown-border, #e5e7eb);border-radius:6px;box-shadow:var(--sy-grid-filter-dropdown-shadow, 0 8px 20px rgba(15, 23, 42, 0.12));font:inherit;font-size:var(--sy-grid-cell-font-size, 13px);isolation:isolate}.sy-grid__cell-editor-component-popup:focus-within{outline:2px solid var(--sy-grid-active-cell-outline, #2563eb);outline-offset:1px}.sy-grid__rich-editor{display:grid;grid-template-rows:auto minmax(0, 1fr) auto;width:min(320px,100vw - 18px);min-width:min(220px,100vw - 18px);max-width:100%;max-height:min(360px,100vh - 18px);box-sizing:border-box;overflow:hidden;background:var(--sy-grid-filter-dropdown-bg, #ffffff);color:var(--sy-grid-filter-dropdown-color, #111827);border:1px solid var(--sy-grid-filter-dropdown-border, #e5e7eb);border-radius:6px;box-shadow:var(--sy-grid-filter-dropdown-shadow, 0 8px 20px rgba(15, 23, 42, 0.12));font:inherit}.sy-grid__cell-editor-component-popup>.sy-grid__rich-editor{width:100%;min-width:0;border:0;border-radius:inherit;box-shadow:none}.sy-grid__rich-editor-input{width:100%;height:34px;min-width:0;box-sizing:border-box;padding:0 10px;color:inherit;background:var(--sy-grid-cell-editor-bg, #ffffff);border:0;border-bottom:1px solid var(--sy-grid-filter-dropdown-border, #e5e7eb);border-radius:0;outline:none;font:inherit;caret-color:var(--sy-grid-active-cell-outline, #2563eb)}.sy-grid__rich-editor-input::placeholder{color:var(--sy-grid-text-muted, #6b7280);opacity:.75}.sy-grid__rich-editor-input:focus,.sy-grid__rich-editor-input:focus-visible{border-bottom-color:var(--sy-grid-active-cell-outline, #2563eb);box-shadow:inset 0 -2px 0 var(--sy-grid-active-cell-outline, #2563eb);outline:none}.sy-grid__rich-editor-options{min-height:34px;max-height:240px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px 0;background:inherit}.sy-grid__rich-editor-options[aria-busy=true]{min-height:48px;cursor:progress;opacity:.58;background:linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.16), transparent),var(--sy-grid-filter-dropdown-bg, #ffffff)}.sy-grid__rich-editor-option{display:block;min-width:0;padding:7px 10px;box-sizing:border-box;overflow-wrap:anywhere;color:inherit;cursor:pointer;user-select:none}.sy-grid__rich-editor-option:hover:not([aria-disabled=true]),.sy-grid__rich-editor-option[data-highlighted=true]{background:var(--sy-grid-row-bg-hover, rgba(37, 99, 235, 0.06))}.sy-grid__rich-editor-option[data-highlighted=true]{box-shadow:inset 2px 0 0 var(--sy-grid-active-cell-outline, #2563eb)}.sy-grid__rich-editor-option[aria-selected=true]{color:var(--sy-grid-filter-icon-active-color, #2563eb);font-weight:600}.sy-grid__rich-editor-option[aria-disabled=true]{opacity:.48;cursor:not-allowed}.sy-grid__rich-editor-status{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:25px;box-sizing:border-box;padding:4px 8px;color:var(--sy-grid-text-muted, #6b7280);background:var(--sy-grid-header-bg, #f9fafb);border-top:1px solid var(--sy-grid-filter-dropdown-border, #e5e7eb);font-size:11px;line-height:1.35}.sy-grid__rich-editor-status:empty{display:none}.sy-grid__rich-editor-status:has(.sy-grid__rich-editor-retry){color:var(--sy-color-danger, #b91c1c);background:var(--sy-grid-invalid-bg, rgba(220, 38, 38, 0.08))}.sy-grid__rich-editor-retry{flex:0 0 auto;min-height:24px;padding:2px 9px;color:inherit;background:var(--sy-grid-filter-dropdown-bg, #ffffff);border:1px solid currentColor;border-radius:4px;font:inherit;font-weight:600;cursor:pointer}.sy-grid__rich-editor-retry:hover{filter:brightness(0.96)}.sy-grid__rich-editor-retry:focus-visible{outline:2px solid currentColor;outline-offset:1px}@media(pointer: coarse),(any-pointer: coarse){.sy-grid__rich-editor-input{height:44px;min-height:44px}.sy-grid__rich-editor-option{display:flex;align-items:center;min-height:44px}.sy-grid__rich-editor-retry{min-width:44px;min-height:44px}}sy-grid .sy-grid__custom-filter-host{display:block;width:min(320px,100vw - 40px);min-width:min(196px,100vw - 40px);max-width:100%;max-height:min(480px,100vh - 48px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;color:inherit;font:inherit;font-weight:400;user-select:text}sy-grid .sy-grid__custom-filter-host>*{width:100%;min-width:0;max-width:100%;box-sizing:border-box}sy-grid .sy-grid__floating-filter-host{display:flex;align-items:center;width:100%;height:100%;overflow:hidden;line-height:normal}sy-grid .sy-grid__floating-filter-host>*{flex:1 1 auto;width:100%;min-width:0;max-width:100%;box-sizing:border-box;color:inherit;font:inherit}@media(forced-colors: active){.sy-grid__cell-editor-component-popup,.sy-grid__rich-editor{border-color:CanvasText;box-shadow:none}.sy-grid__rich-editor-option[data-highlighted=true]{outline:2px solid Highlight;outline-offset:-2px}.sy-grid__rich-editor-option[aria-selected=true]{color:Highlight}.sy-grid__rich-editor-retry{border-color:ButtonText}sy-grid .sy-grid__cell-editor-component-host>.sy-grid__cell-editor-validation,.sy-grid__cell-editor-component-popup>.sy-grid__cell-editor-validation{color:CanvasText;background:Canvas;border-color:CanvasText}}}.sy-grid__cell-editor--select.sc-sy-grid{text-align:left;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.sy-grid__cell-editor--select.sc-sy-grid::after{content:"▾";margin-left:8px;opacity:.6;flex:0 0 auto}.sy-grid__select-placeholder.sc-sy-grid{opacity:.55}.sy-grid__select-listbox.sc-sy-grid{position:absolute;z-index:30;left:0;top:100%;min-width:100%;max-height:240px;overflow-y:auto;background:var(--sy-grid-filter-dropdown-bg);color:var(--sy-grid-filter-dropdown-color);border:1px solid var(--sy-grid-filter-dropdown-border);border-radius:4px;box-shadow:var(--sy-grid-filter-dropdown-shadow);padding:4px 0;outline:none}.sy-grid__select-option.sc-sy-grid{display:block;padding:6px 12px;cursor:pointer;user-select:none}.sy-grid__select-option--highlighted.sc-sy-grid{background:var(--sy-grid-row-bg-hover)}.sy-grid__select-option--disabled.sc-sy-grid{opacity:.5;cursor:not-allowed}.sy-grid__autocomplete.sc-sy-grid{position:relative;width:100%;height:100%}.sy-grid__autocomplete-input.sc-sy-grid{width:100%;height:100%;box-sizing:border-box;padding:0 var(--sy-grid-cell-padding-x, 12px);border:1px solid var(--sy-color-primary, #2563eb);background:var(--sy-grid-bg, #fff);color:var(--sy-grid-text, #111827);font:inherit;outline:none}.sy-grid__autocomplete-listbox.sc-sy-grid{max-height:240px;overflow-y:auto;background:var(--sy-grid-filter-dropdown-bg);color:var(--sy-grid-filter-dropdown-color);border:1px solid var(--sy-grid-filter-dropdown-border);border-radius:4px;box-shadow:var(--sy-grid-filter-dropdown-shadow);padding:4px 0}.sy-grid__autocomplete-option.sc-sy-grid{display:block;padding:6px 12px;cursor:pointer;user-select:none;white-space:nowrap}.sy-grid__autocomplete-option--active.sc-sy-grid{background:var(--sy-grid-row-bg-hover)}.sy-grid__autocomplete-option--disabled.sc-sy-grid{opacity:.5;cursor:not-allowed}.sy-grid__autocomplete-empty.sc-sy-grid{padding:6px 12px;color:var(--sy-grid-text-muted, #6b7280)}.sy-grid__date-calendar.sc-sy-grid{width:max-content;background:var(--sy-grid-filter-dropdown-bg);color:var(--sy-grid-filter-dropdown-color);border:1px solid var(--sy-grid-filter-dropdown-border);border-radius:6px;box-shadow:var(--sy-grid-filter-dropdown-shadow);padding:8px;font:inherit;user-select:none}.sy-grid__date-calendar-header.sc-sy-grid{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.sy-grid__date-calendar-title.sc-sy-grid{flex:1;text-align:center;font-weight:600;font-size:.875rem}.sy-grid__date-calendar-nav.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);border-radius:4px;background:rgba(0,0,0,0);color:inherit;font:inherit;line-height:1;cursor:pointer}.sy-grid__date-calendar-nav.sc-sy-grid:hover{background:var(--sy-grid-row-bg-hover)}.sy-grid__date-calendar-nav.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:1px}.sy-grid__date-calendar-week.sc-sy-grid{display:grid;grid-template-columns:repeat(7, 1fr)}.sy-grid__date-calendar-week--head.sc-sy-grid{margin-bottom:2px}.sy-grid__date-calendar-weekday.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;height:24px;font-size:.75rem;font-weight:600;color:var(--sy-grid-text-muted, #6b7280)}.sy-grid__date-calendar-day.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid rgba(0,0,0,0);border-radius:4px;background:rgba(0,0,0,0);color:inherit;font:inherit;font-size:.8125rem;cursor:pointer}.sy-grid__date-calendar-day.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-row-bg-hover)}.sy-grid__date-calendar-day.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:-1px}.sy-grid__date-calendar-day--outside.sc-sy-grid{color:var(--sy-grid-text-muted, #9ca3af);opacity:.6}.sy-grid__date-calendar-day--today.sc-sy-grid:not(.sy-grid__date-calendar-day--selected){border-color:var(--sy-color-primary, #2563eb)}.sy-grid__date-calendar-day--focused.sc-sy-grid:not(.sy-grid__date-calendar-day--selected){outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:-2px}.sy-grid__date-calendar-day--selected.sc-sy-grid{background:var(--sy-color-primary, #2563eb);color:#fff;font-weight:600}.sy-grid__date-calendar-day.sc-sy-grid:disabled{opacity:.35;cursor:not-allowed}.sy-grid__large-text-anchor.sc-sy-grid{position:absolute;inset:0;pointer-events:none}.sy-grid__large-text.sc-sy-grid{display:flex;flex-direction:column;background:var(--sy-grid-filter-dropdown-bg);color:var(--sy-grid-filter-dropdown-color);border:1px solid var(--sy-grid-filter-dropdown-border);border-radius:6px;box-shadow:var(--sy-grid-filter-dropdown-shadow);padding:6px;font:inherit}.sy-grid__large-text-input.sc-sy-grid{width:100%;box-sizing:border-box;resize:both;padding:6px 8px;border:1px solid var(--sy-color-primary, #2563eb);border-radius:4px;background:var(--sy-grid-bg, #fff);color:var(--sy-grid-text, #111827);font:inherit;line-height:1.4;outline:none}.sy-grid__large-text-footer.sc-sy-grid{display:flex;align-items:center;gap:8px;margin-top:6px}.sy-grid__large-text-hint.sc-sy-grid{flex:1;min-width:0;font-size:.75rem;color:var(--sy-grid-text-muted, #6b7280)}.sy-grid__large-text-count.sc-sy-grid{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--sy-grid-text-muted, #6b7280)}.sy-grid__large-text-count--over.sc-sy-grid{color:var(--sy-color-danger, #dc2626);font-weight:600}.sy-grid__large-text-btn.sc-sy-grid{padding:3px 10px;border:1px solid var(--sy-grid-filter-dropdown-border);border-radius:4px;background:rgba(0,0,0,0);color:inherit;font:inherit;font-size:.8125rem;cursor:pointer}.sy-grid__large-text-btn.sc-sy-grid:hover{background:var(--sy-grid-row-bg-hover)}.sy-grid__large-text-btn.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:1px}.sy-grid__large-text-btn--primary.sc-sy-grid{background:var(--sy-color-primary, #2563eb);border-color:var(--sy-color-primary, #2563eb);color:#fff}.sy-grid__large-text-btn--primary.sc-sy-grid:hover{background:var(--sy-color-primary-strong, #1d4ed8)}.sy-grid__cell-editor--checkbox.sc-sy-grid{width:auto;height:auto;padding:0;margin:auto;cursor:pointer;background:revert;border:revert}.sy-grid__cell-editor--checkbox.sc-sy-grid:focus, .sy-grid__cell-editor--checkbox.sc-sy-grid:focus-visible{outline:revert}.sy-grid__cell-editor--indeterminate.sc-sy-grid{outline:1px dashed var(--sy-grid-cell-editor-indeterminate-outline, #888);outline-offset:1px}.sy-grid__drag-live.sc-sy-grid{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sy-grid__row-drag-handle--unmanaged.sc-sy-grid:focus-visible{outline:2px solid var(--sy-grid-focus-ring, #2563eb);outline-offset:1px;border-radius:3px}.sy-grid__row-drag-handle.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;width:18px;height:100%;margin-right:6px;vertical-align:middle;color:var(--sy-grid-text-muted, #9ca3af);cursor:grab;user-select:none}.sy-grid__row-drag-handle.sc-sy-grid:hover{color:var(--sy-grid-text, #374151)}.sy-grid__row-drag-handle.sc-sy-grid:active{cursor:grabbing}.sy-grid__row-drag-grip.sc-sy-grid{font-size:1rem;line-height:1;letter-spacing:-2px;pointer-events:none}.sy-grid__row--drag-source.sc-sy-grid{opacity:.45}.sy-grid__row--drop-above.sc-sy-grid{box-shadow:inset 0 2px 0 0 var(--sy-color-primary, #2563eb)}.sy-grid__row--drop-below.sc-sy-grid{box-shadow:inset 0 -2px 0 0 var(--sy-color-primary, #2563eb)}.sy-grid__fill-handle.sc-sy-grid{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;background:var(--sy-color-primary, #2563eb);border:1px solid var(--sy-grid-bg, #ffffff);border-radius:1px;cursor:crosshair;z-index:3;padding:0}.sy-grid__fill-handle.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:1px}.sy-grid__cell--fill-preview.sc-sy-grid{background:color-mix(in srgb, var(--sy-color-primary, #2563eb) 7%, transparent)}.sy-grid__cell--fill-preview.sc-sy-grid::before{content:"";position:absolute;inset:0;pointer-events:none;border:0 dashed var(--sy-color-primary, #2563eb);z-index:2}.sy-grid__cell--fill-preview-top.sc-sy-grid::before{border-top-width:2px}.sy-grid__cell--fill-preview-bottom.sc-sy-grid::before{border-bottom-width:2px}.sy-grid__cell--fill-preview-left.sc-sy-grid::before{border-left-width:2px}.sy-grid__cell--fill-preview-right.sc-sy-grid::before{border-right-width:2px}.sy-grid__cell--fill-reduce-clear.sc-sy-grid{background:color-mix(in srgb, #6b7280 18%, transparent);text-decoration:line-through}.sy-grid__row--drop-into.sc-sy-grid{box-shadow:inset 0 0 0 2px var(--sy-color-primary, #2563eb);background:color-mix(in srgb, var(--sy-color-primary, #2563eb) 10%, transparent)}.sy-grid__pivot-panel.sc-sy-grid{display:flex;flex-direction:column;flex:0 0 auto;min-width:0;border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb);background:var(--sy-grid-bg, #fff);color:var(--sy-grid-text, #111827);font:inherit;font-size:12px;letter-spacing:0}.sy-grid__pivot-panel-header.sc-sy-grid{display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:4px 10px;box-sizing:border-box;border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb);background:var(--sy-grid-header-bg, #f9fafb)}.sy-grid__pivot-panel-header.sc-sy-grid h2.sc-sy-grid{margin:0;font:inherit;font-size:12px;font-weight:600;letter-spacing:0}.sy-grid__pivot-panel-mode.sc-sy-grid{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.sy-grid__pivot-panel-mode.sc-sy-grid input.sc-sy-grid{margin:0}.sy-grid__pivot-panel-status.sc-sy-grid{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sy-grid__pivot-panel-lanes.sc-sy-grid{display:grid;grid-template-columns:repeat(4, minmax(340px, 1fr));width:100%;min-width:0;max-height:220px;overflow:auto}.sy-grid__pivot-panel-lane.sc-sy-grid{min-width:0;min-height:78px;padding:0 8px 8px;box-sizing:border-box;border-right:1px solid var(--sy-grid-header-border, #e5e7eb);background:var(--sy-grid-bg, #fff)}.sy-grid__pivot-panel-lane.sc-sy-grid:last-child{border-right:0}.sy-grid__pivot-panel-lane-title.sc-sy-grid{position:sticky;top:0;z-index:1;margin:0 -8px 6px;padding:5px 8px;border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb);background:var(--sy-grid-header-bg, #f9fafb);color:var(--sy-grid-text-muted, #6b7280);font:inherit;font-size:11px;font-weight:600;letter-spacing:0}.sy-grid__pivot-panel-list.sc-sy-grid{display:flex;flex-direction:column;gap:4px;min-height:32px}.sy-grid__pivot-panel-empty.sc-sy-grid{display:flex;align-items:center;min-height:28px;color:var(--sy-grid-text-muted, #9ca3af)}.sy-grid__pivot-panel-field.sc-sy-grid{display:flex;align-items:center;gap:4px;min-width:0;min-height:30px;padding:3px 4px;box-sizing:border-box;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:4px;background:var(--sy-grid-header-bg, #f9fafb);cursor:grab}.sy-grid__pivot-panel-field.sc-sy-grid:active{cursor:grabbing}.sy-grid__pivot-panel-field.sc-sy-grid:focus-within{border-color:var(--sy-color-primary, #2563eb);box-shadow:inset 0 0 0 1px var(--sy-color-primary, #2563eb)}.sy-grid__pivot-panel-grip.sc-sy-grid{flex:0 0 10px;width:10px;overflow:hidden;color:var(--sy-grid-text-muted, #6b7280);line-height:1;letter-spacing:0;user-select:none}.sy-grid__pivot-panel-field-label.sc-sy-grid{flex:1 1 72px;min-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sy-grid__pivot-panel-destination.sc-sy-grid, .sy-grid__pivot-panel-aggregation.sc-sy-grid{flex:0 1 auto;width:auto;max-width:104px;min-height:22px;padding:1px 3px;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:3px;background:var(--sy-grid-bg, #fff);color:var(--sy-grid-text, #111827);font:inherit;font-size:11px;letter-spacing:0}.sy-grid__pivot-panel-aggregation.sc-sy-grid{max-width:66px}.sy-grid__pivot-panel-actions.sc-sy-grid{display:inline-grid;grid-template-columns:repeat(3, 22px);flex:0 0 66px}.sy-grid__pivot-panel-actions.sc-sy-grid button.sc-sy-grid{width:22px;height:22px;padding:0;border:0;border-radius:3px;background:rgba(0,0,0,0);color:var(--sy-grid-text-muted, #6b7280);font:inherit;font-size:12px;line-height:22px;text-align:center;cursor:pointer}.sy-grid__pivot-panel-actions.sc-sy-grid button.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-header-bg-hover, #eef2f7);color:var(--sy-grid-text, #111827)}.sy-grid__pivot-panel-actions.sc-sy-grid button.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:-2px}.sy-grid__pivot-panel-actions.sc-sy-grid button.sc-sy-grid:disabled{opacity:.35;cursor:default}.sy-grid__group-panel.sc-sy-grid{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 12px;box-sizing:border-box;border-bottom:1px solid var(--sy-grid-header-border, #e5e7eb);background:var(--sy-grid-header-bg, #f9fafb);font:inherit;font-size:.8125rem}.sy-grid__group-panel--drop-active.sc-sy-grid{background:var(--sy-grid-row-bg-hover, #eef2ff);box-shadow:inset 0 0 0 2px var(--sy-color-primary, #2563eb)}.sy-grid__group-panel-placeholder.sc-sy-grid{color:var(--sy-grid-text-muted, #9ca3af);font-style:italic;user-select:none}.sy-grid__group-panel-chip.sc-sy-grid{display:inline-flex;align-items:center;gap:6px;padding:2px 4px 2px 10px;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:12px;background:var(--sy-grid-bg, #fff);color:var(--sy-grid-text, #111827)}.sy-grid__context-menu.sc-sy-grid{min-width:160px;max-width:280px;padding:4px 0;background:var(--sy-grid-filter-dropdown-bg, #fff);color:var(--sy-grid-filter-dropdown-color, #111827);border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:6px;box-shadow:var(--sy-grid-filter-dropdown-shadow, 0 8px 24px rgba(15, 23, 42, 0.18));font:inherit;font-size:.8125rem;user-select:none}.sy-grid__cf-builder.sc-sy-grid{width:380px;max-width:calc(100vw - 48px);padding:10px 12px 12px;background:var(--sy-grid-filter-dropdown-bg, #fff);color:var(--sy-grid-filter-dropdown-color, #111827);border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:8px;box-shadow:var(--sy-grid-filter-dropdown-shadow, 0 8px 24px rgba(15, 23, 42, 0.18));font:inherit;font-size:.8125rem}.sy-grid__cf-builder-head.sc-sy-grid{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sy-grid__cf-builder-title.sc-sy-grid{font-weight:600}.sy-grid__cf-builder-close.sc-sy-grid, .sy-grid__cf-remove.sc-sy-grid{border:none;background:rgba(0,0,0,0);cursor:pointer;color:#64748b;padding:2px 6px;border-radius:4px}.sy-grid__cf-builder-close.sc-sy-grid:hover, .sy-grid__cf-remove.sc-sy-grid:hover{background:rgba(15,23,42,.08)}.sy-grid__cf-rule.sc-sy-grid{display:flex;align-items:center;gap:4px;margin-bottom:6px;flex-wrap:wrap}.sy-grid__cf-field.sc-sy-grid, .sy-grid__cf-condition.sc-sy-grid, .sy-grid__cf-value.sc-sy-grid, .sy-grid__cf-value2.sc-sy-grid{padding:4px 6px;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:4px;font:inherit;font-size:.78rem;min-width:0}.sy-grid__cf-value.sc-sy-grid, .sy-grid__cf-value2.sc-sy-grid{width:56px}.sy-grid__cf-bg.sc-sy-grid{width:28px;height:26px;padding:0;border:1px solid var(--sy-grid-filter-dropdown-border, #d1d5db);border-radius:4px;cursor:pointer}.sy-grid__cf-bold.sc-sy-grid{display:inline-flex;align-items:center;gap:2px;font-weight:700}.sy-grid__cf-add.sc-sy-grid{margin-top:4px;padding:5px 10px;border:1px dashed var(--sy-grid-filter-dropdown-border, #9ca3af);border-radius:6px;background:rgba(0,0,0,0);cursor:pointer;font:inherit;font-size:.78rem;color:inherit}.sy-grid__cf-add.sc-sy-grid:hover{background:rgba(15,23,42,.05)}.sy-grid__toolbar-button--active.sc-sy-grid{background:var(--sy-grid-toolbar-button-active-bg, #e0e7ff);border-color:var(--sy-grid-toolbar-button-active-border, #a5b4fc)}.sy-grid__context-menu-item.sc-sy-grid{display:flex;align-items:center;gap:8px;width:100%;padding:6px 14px;border:none;background:rgba(0,0,0,0);color:inherit;font:inherit;text-align:left;cursor:pointer}.sy-grid__context-menu-item.sc-sy-grid:hover:not(:disabled){background:var(--sy-grid-row-bg-hover, #eef2ff)}.sy-grid__context-menu-item.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:-2px}.sy-grid__context-menu-item--disabled.sc-sy-grid, .sy-grid__context-menu-item.sc-sy-grid:disabled{color:var(--sy-grid-text-muted, #9ca3af);cursor:not-allowed}.sy-grid__context-menu-icon.sc-sy-grid{width:16px;text-align:center;flex:none}.sy-grid__context-menu-separator.sc-sy-grid{height:1px;margin:4px 0;background:var(--sy-grid-header-border, #e5e7eb)}.sy-grid__cell--flash.sc-sy-grid{animation:sy-grid-cell-flash .9s ease-out}@keyframes sy-grid-cell-flash{0%{background-color:var(--sy-grid-cell-flash-color, rgba(34, 197, 94, 0.4))}100%{background-color:rgba(0,0,0,0)}}@media(prefers-reduced-motion: reduce){.sy-grid__cell--flash.sc-sy-grid{animation:none}}.sy-grid__cell--conflict-flash.sc-sy-grid{animation:sy-grid-cell-conflict-flash 1.5s ease-out}@keyframes sy-grid-cell-conflict-flash{0%{background-color:var(--sy-grid-conflict-flash-color, rgba(220, 38, 38, 0.35))}60%{background-color:var(--sy-grid-conflict-flash-color, rgba(220, 38, 38, 0.35))}100%{background-color:rgba(0,0,0,0)}}.sy-grid__conflict-toast.sc-sy-grid{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:46;max-width:min(90%,480px);padding:7px 14px;border-radius:6px;background:var(--sy-grid-conflict-toast-bg, rgba(15, 23, 42, 0.92));color:var(--sy-grid-conflict-toast-text, #f8fafc);font-size:12.5px;line-height:1.4;box-shadow:0 4px 14px rgba(15,23,42,.25);pointer-events:none;animation:sy-grid-conflict-toast-in .18s ease-out}@keyframes sy-grid-conflict-toast-in{from{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.sy-grid__conflict-toast--raised.sc-sy-grid{bottom:56px}@media(prefers-reduced-motion: reduce){.sy-grid__cell--conflict-flash.sc-sy-grid, .sy-grid__conflict-toast.sc-sy-grid{animation:none}}.sy-grid__group-panel-chip-remove.sc-sy-grid{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:9999px;background:rgba(0,0,0,0);color:var(--sy-grid-text-muted, #6b7280);font:inherit;font-size:.95rem;line-height:1;cursor:pointer}.sy-grid__group-panel-chip-remove.sc-sy-grid:hover{background:var(--sy-color-danger, #dc2626);color:#fff}.sy-grid__group-panel-chip-remove.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-primary, #2563eb);outline-offset:1px}.sy-grid__row--loading.sc-sy-grid{cursor:default}.sy-grid__loading-cell.sc-sy-grid{display:flex;align-items:center;width:100%;padding:0 var(--sy-grid-cell-padding-x, 12px);overflow:hidden}.sy-grid__skeleton.sc-sy-grid{display:block;flex:1;min-width:0}.sy-grid__skeleton-bar.sc-sy-grid{display:block;height:12px;width:60%;border-radius:6px;background:linear-gradient(90deg, var(--sy-grid-skeleton-base, #e5e7eb) 25%, var(--sy-grid-skeleton-highlight, #f3f4f6) 37%, var(--sy-grid-skeleton-base, #e5e7eb) 63%);background-size:400% 100%;animation:sy-grid-skeleton-shimmer 1.4s ease infinite}@keyframes sy-grid-skeleton-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}@media(prefers-reduced-motion: reduce){.sy-grid__skeleton-bar.sc-sy-grid{animation:none}}.sy-grid__loading-failed-msg.sc-sy-grid{display:inline-flex;align-items:center;gap:8px;color:var(--sy-color-danger, #dc2626);font-size:.8125rem}.sy-grid__loading-retry.sc-sy-grid{padding:2px 10px;border:1px solid var(--sy-color-danger, #dc2626);border-radius:4px;background:rgba(0,0,0,0);color:var(--sy-color-danger, #dc2626);font:inherit;font-size:.8125rem;cursor:pointer}.sy-grid__loading-retry.sc-sy-grid:hover{background:var(--sy-color-danger, #dc2626);color:#fff}.sy-grid__loading-retry.sc-sy-grid:focus-visible{outline:2px solid var(--sy-color-danger, #dc2626);outline-offset:1px}.sy-grid__cell-editor--textarea.sc-sy-grid{width:100%;min-height:var(--sy-grid-row-height, 36px);resize:vertical;line-height:inherit;vertical-align:top;font-family:inherit}.sy-grid__cell-editor-hint.sc-sy-grid{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}'}},[774,"sy-grid",{rowData:[1040],columnDefs:[1040],context:[16],components:[16],externalFilter:[16],componentTimeoutMs:[2,"component-timeout-ms"],csvImport:[4,"csv-import"],pdfFontUrl:[1,"pdf-font-url"],pdfAutoFont:[4,"pdf-auto-font"],formulas:[4],showFormulas:[4,"show-formulas"],formulaBar:[4,"formula-bar"],workbookId:[1,"workbook-id"],sheetName:[1,"sheet-name"],defaultColDef:[16],theme:[1],height:[8],locale:[1],pagination:[4],pageSize:[2,"page-size"],pageSizeOptions:[16],rowHeight:[2,"row-height"],rowHeightFn:[16],virtualScroll:[4,"virtual-scroll"],quickFilter:[4,"quick-filter"],quickFilterText:[1,"quick-filter-text"],quickFilterPlaceholder:[1,"quick-filter-placeholder"],quickFilterMode:[1,"quick-filter-mode"],quickFilterRegex:[4,"quick-filter-regex"],quickFilterDebounce:[2,"quick-filter-debounce"],showEmptyState:[4,"show-empty-state"],emptyMessage:[1,"empty-message"],noMatchesMessage:[1,"no-matches-message"],clearFiltersLabel:[1,"clear-filters-label"],loading:[4],loadingMessage:[1,"loading-message"],loadingMode:[1,"loading-mode"],minLoadingDuration:[2,"min-loading-duration"],datasource:[16],cacheBlockSize:[2,"cache-block-size"],maxBlocksInCache:[2,"max-blocks-in-cache"],serverSideDatasource:[16],serverSideGroupCols:[16],serverSideTransactionWaitMs:[2,"server-side-transaction-wait-ms"],viewportDatasource:[16],rowDragManaged:[4,"row-drag-managed"],spanExportMode:[1,"span-export-mode"],rowDragMultiRow:[4,"row-drag-multi-row"],rowDragText:[16],cellChangeFlash:[4,"cell-change-flash"],enableCellChangeFlash:[4,"enable-cell-change-flash"],contextMenu:[4,"context-menu"],columnMenu:[4,"column-menu"],find:[4],cellNotes:[4,"cell-notes"],cellNotesAdapter:[16],batchEditToolbar:[4,"batch-edit-toolbar"],columnMenuItems:[16],contextMenuItemsCallback:[16],keyboardNavigation:[4,"keyboard-navigation"],rowSelection:[1,"row-selection"],getRowId:[16],selectionCheckbox:[4,"selection-checkbox"],showSelectionCheckbox:[4,"show-selection-checkbox"],shiftClickAdditive:[4,"shift-click-additive"],rowHover:[1,"row-hover"],resizableColumns:[4,"resizable-columns"],reorderableColumns:[4,"reorderable-columns"],columnHiding:[4,"column-hiding"],hideableColumns:[4,"hideable-columns"],autoSizeOnDoubleClick:[4,"auto-size-on-double-click"],multiSort:[4,"multi-sort"],enableMultiSort:[4,"enable-multi-sort"],headerFilterRow:[4,"header-filter-row"],conditionBuilder:[4,"condition-builder"],virtualizeColumns:[4,"virtualize-columns"],groupBy:[1025,"group-by"],pivotMode:[1028,"pivot-mode"],pivotRowGroupColumns:[1040],pivotColumns:[1040],pivotValueColumns:[1040],pivotAggFuncs:[1040],pivotSubtotals:[1,"pivot-subtotals"],pivotGrandTotal:[1,"pivot-grand-total"],pivotPanelShow:[1,"pivot-panel-show"],pivotPanel:[4,"pivot-panel"],groupPanel:[4,"group-panel"],getDataPath:[16],treeIdField:[1,"tree-id-field"],treeParentField:[1,"tree-parent-field"],treeLabelField:[1,"tree-label-field"],masterDetail:[4,"master-detail"],detailRowHeight:[2,"detail-row-height"],detailCellRenderer:[16],detailGridOptions:[16],getDetailRowData:[16],detailNestingLevel:[2,"detail-nesting-level"],rangeSelection:[4,"range-selection"],clipboardEscapeFormulae:[4,"clipboard-escape-formulae"],statusBar:[4,"status-bar"],sideBar:[8,"side-bar"],rows:[16],columns:[16],maxRendered:[2,"max-rendered"],engine:[1],proThreshold:[2,"pro-threshold"],unavailable:[1],brandLogo:[1,"brand-logo"],collaborationRoom:[1,"collaboration-room"],realtimeUrl:[1,"realtime-url"],collabUserName:[1,"collab-user-name"],collabUserColor:[1,"collab-user-color"],collabPresence:[4,"collab-presence"],collabConflictUi:[4,"collab-conflict-ui"],auditLog:[4,"audit-log"],auditLogMax:[2,"audit-log-max"],canReadCell:[16],maskedCellValue:[1,"masked-cell-value"],canEditCell:[16],conditionalFormats:[1040],conditionalFormatUi:[4,"conditional-format-ui"],validationRules:[16],invalidEditMode:[1,"invalid-edit-mode"],maxSnapshots:[2,"max-snapshots"],collabPersistence:[1,"collab-persistence"],initialState:[16],editType:[1,"edit-type"],enableFillHandle:[4,"enable-fill-handle"],fillHandleAxes:[1,"fill-handle-axes"],fillHandleMode:[1,"fill-handle-mode"],alignedGrids:[1,"aligned-grids"],isFullWidthRow:[16],fullWidthCellRenderer:[16],fullWidthRowHeight:[2,"full-width-row-height"],pinnedTopRowData:[16],pinnedBottomRowData:[16],activeTier:[32],fallbackReason:[32],formulaVersion:[32],resolvedMessages:[32],activeSortModel:[32],activeFilters:[32],activeConditionTree:[32],builderDraft:[32],conditionPresets:[32],presetNameDraft:[32],columnPinned:[32],dropdownAnchor:[32],bodyScrollbarWidth:[32],hScrollLeft:[32],collapsedGroups:[32],collapsedRowGroups:[32],pivotCollapsedRowGroups:[32],customAggFuncs:[32],collapsedTreeNodes:[32],expandedDetailRows:[32],rangeState:[32],contextMenuState:[32],cfBuilderOpen:[32],cfDraftRules:[32],flashingCells:[32],rowDragState:[32],rowLayoutVersion:[32],pinnedRowsVersion:[32],pinnedFocus:[32],fullWidthVersion:[32],unmanagedDragTarget:[32],unmanagedDragSource:[32],dragLive:[32],columnDragOverGroupPanel:[32],pivotPanelAnnouncement:[32],openFilterField:[32],filterForm:[32],activePagination:[32],latestPaginatedMeta:[32],quickFilterValue:[32],effectiveLoading:[32],activeCell:[32],formulaBarDraft:[32],cellTooltip:[32],editingCell:[32],editStore:[32],undoRedoStack:[32],lifecycleEditorVersion:[32],lifecycleFilterVersion:[32],cellCommentIndex:[32],conflictFlashCells:[32],collabConflictToast:[32],commentPanel:[32],commentPanelAnchor:[32],commentPanelOffscreen:[32],commentPanelThread:[32],columnWidths:[32],columnResizeGuide:[32],columnOrder:[32],columnHidden:[32],textEditorState:[32],numberEditorState:[32],dateEditorState:[32],calendarState:[32],calendarFocusedIso:[32],calendarAnchor:[32],selectEditorState:[32],autocompleteEditorState:[32],autocompleteAnchor:[32],richSelectTick:[32],checkboxEditorState:[32],textareaEditorState:[32],largeTextAnchor:[32],cellRendererRegistry:[32],cellRendererVersion:[32],lifecycleRendererPresentationVersion:[32],selectionState:[32],rangeAnchorRowId:[32],hoverState:[32],viewportSize:[32],virtualWindow:[32],autoHeightVersion:[32],csvWizard:[32],infiniteCache:[32],serverSideState:[32],ssrmSelection:[32],viewportState:[32],licenseRevision:[32],licenseRenderTick:[32],proUiChunkTick:[32],fillPreview:[32],groupPivotChunkTick:[32],formulaSuggest:[32],formulaSuggestAnchor:[32],openToolPanelId:[32],columnsPanelSearch:[32],filtersPanelSearch:[32],detailDataVersion:[32],getAuditLog:[64],clearAuditLog:[64],getAuditLogAsCsv:[64],getAuditLogAsJson:[64],exportAuditLogAsCsv:[64],exportAuditLogAsJson:[64],openCellCommentPanel:[64],closeCellCommentPanel:[64],getApi:[64],getColumn:[64],getColumns:[64],getColumnGroup:[64],getColumnGroups:[64],getRow:[64],getDisplayedRowAtIndex:[64],forEachRow:[64],forEachDisplayedRow:[64],getWorkbookBinding:[64],reconnectWorkbook:[64],disconnectWorkbook:[64],sortBy:[64],setSortModel:[64],getSortModel:[64],setQuery:[64],getActiveTier:[64],registerAggFunc:[64],unregisterAggFunc:[64],getRegisteredAggFuncNames:[64],setRowGroupExpanded:[64],expandAllRowGroups:[64],collapseAllRowGroups:[64],setTreeNodeExpanded:[64],expandAllTreeNodes:[64],collapseAllTreeNodes:[64],setDetailRowExpanded:[64],expandAllDetailRows:[64],collapseAllDetailRows:[64],setColumnGroupOpened:[64],getValidationErrors:[64],captureSnapshot:[64],listSnapshots:[64],deleteSnapshot:[64],diffSnapshots:[64],restoreSnapshot:[64],getCellRanges:[64],copyRangeToClipboard:[64],pasteFromClipboard:[64],clearCellRanges:[64],refreshInfiniteCache:[64],refreshRowHeights:[64],scrollToTop:[64],selectRows:[64],getSelectedRowIds:[64],applyTransaction:[64],undo:[64],redo:[64],clearHistory:[64],connectCollabRoom:[64],preloadChunks:[64],disconnectCollabRoom:[64],getSyncStatus:[64],getCollaborators:[64],addCellComment:[64],getCellComments:[64],setCellCommentResolved:[64],deleteCellComment:[64],getDataAsCsv:[64],exportDataAsCsv:[64],getDataAsExcel:[64],exportDataAsExcel:[64],importCsvText:[64],getDataAsPdf:[64],exportDataAsPdf:[64],importDataFromXlsx:[64],getContextMenuItems:[64],copyCellAt:[64],copyRowAt:[64],getCellTooltipText:[64],getUndoRedoDepth:[64],setColumnWidth:[64],resetColumnWidth:[64],getColumnWidth:[64],setColumnPinned:[64],getColumnPinned:[64],setColumnOrder:[64],getColumnOrder:[64],hideColumn:[64],showColumn:[64],toggleColumnVisibility:[64],setHiddenColumns:[64],resetColumnVisibility:[64],getHiddenColumns:[64],autoSizeColumn:[64],autoSizeAllColumns:[64],getColumnState:[64],applyColumnState:[64],getState:[64],setState:[64],getFilterModel:[64],setFilterModel:[64],getCanonicalRanges:[64],setCanonicalRanges:[64],startBatchEdit:[64],isBatchEditing:[64],stageBatchCell:[64],getPendingBatchCells:[64],cancelBatchEdit:[64],commitBatchEdit:[64],startRowEdit:[64],stopRowEdit:[64],stageRowEditCell:[64],getStateCaptureReport:[64],fillRange:[64],getDisplayRowInfo:[64],getPivotCombinationReport:[64],getPivotSecondaryColumns:[64],getGroupCheckStates:[64],startRowDrag:[64],getRowDragSession:[64],registerDropZone:[64],unregisterDropZone:[64],getDropZones:[64],getDragSafetyReport:[64],setAlignedGrids:[64],getAlignedGrids:[64],reparentRows:[64],getFullWidthRowInfo:[64],setPinnedRows:[64],getPinnedRows:[64],getPinnedRowInfo:[64],getRowSpan:[64],getCellSpan:[64],getSpanInteraction:[64],getServerSideSelectionState:[64],getServerGroupSelectionState:[64],setServerSideSelectionState:[64],setServerGroupSelectionState:[64],selectAllServerSide:[64],selectServerGroupChildren:[64],refreshServerSide:[64],applyServerSideTransaction:[64],applyServerSideTransactionAsync:[64],flushServerSideAsyncTransactions:[64],getServerSideStoreState:[64],getServerPivotResultColumns:[64],auditServerPivotResultColumns:[64],getWorkbookPropagationState:[64],flushWorkbookPropagation:[64],getWorkbookSnapshotReport:[64],getWorkbookIntegrityReport:[64],applySpillFormula:[64],clearSpillFormula:[64],undoSpillTransaction:[64],getSpillReport:[64],createRangeChart:[64],updateChart:[64],destroyChart:[64],getChartRefs:[64],syncCharts:[64],getChartMenuModel:[64],openChartToolPanel:[64],closeChartToolPanel:[64],getChartToolPanelReport:[64],activateChartToolPanelItem:[64],getChartModels:[64],restoreChartModels:[64],exportChartImage:[64],applyChartCrossFilter:[64],resetChartCrossFilter:[64],getChartAccessibleSummary:[64],getChartFleetReport:[64],setHoveredRow:[64],getHoveredRowId:[64],getActiveEditTransaction:[64],commitActiveEdit:[64],cancelActiveEdit:[64],registerCellRenderer:[64],listRegisteredCellRenderers:[64],unregisterCellRenderer:[64],registerGridComponent:[64],replaceGridComponent:[64],unregisterGridComponent:[64],getRegisteredGridComponentNames:[64],getCellRendererInstance:[64],destroyCellRendererInstance:[64],focusCellRendererInstance:[64],getCellEditorInstance:[64],getColumnFilterInstance:[64],getColumnFilterModel:[64],setColumnFilterModel:[64],onFilterChanged:[64],refreshExternalFilter:[64],destroyColumnFilter:[64],recreateColumnFilter:[64],setPivotColumns:[64],setValueColumns:[64],setConditionFilter:[64],getConditionFilter:[64],setConditionPresets:[64],getConditionPresets:[64],openToolPanel:[64],closeToolPanel:[64],getOpenedToolPanel:[64]},[[8,"keydown","handleWindowKeyDown"]],{auditLog:[{onAuditLogChange:0}],auditLogMax:[{onAuditLogMaxChange:0}],canReadCell:[{onCanReadCellChange:0}],maskedCellValue:[{onCanReadCellChange:0}],canEditCell:[{onCanEditCellChange:0}],maxSnapshots:[{onMaxSnapshotsChange:0}],brandLogo:[{onBrandLogoChange:0}],theme:[{onThemeChanged:0}],locale:[{onLocaleChanged:0}],rowSelection:[{onRowSelectionModeChanged:0}],pageSize:[{onPageSizeChange:0}],columnDefs:[{onColumnDefsChanged:0},{rebuildFormulaSheet:0},{onVirtualizationInputsChanged:0}],externalFilter:[{onExternalFilterInputsChanged:0}],context:[{onExternalFilterInputsChanged:0}],components:[{onLifecycleComponentDefinitionsChanged:0}],defaultColDef:[{onLifecycleComponentDefinitionsChanged:0}],formulaVersion:[{onLifecycleComponentDefinitionsChanged:0}],getRowId:[{onGetRowIdChanged:0}],keyboardNavigation:[{onKeyboardNavigationChanged:0}],rowData:[{reEvaluateEngine:0},{rebuildFormulaSheet:0}],rows:[{reEvaluateEngine:0}],engine:[{reEvaluateEngine:0}],proThreshold:[{reEvaluateEngine:0}],formulas:[{rebuildFormulaSheet:0},{onWorkbookBindingInputsChanged:0}],workbookId:[{onWorkbookBindingInputsChanged:0}],sheetName:[{onWorkbookBindingInputsChanged:0}],multiSort:[{onMultiSortFlagChange:0}],enableMultiSort:[{onMultiSortFlagChange:0}],pivotMode:[{onPivotConfigChange:0}],pivotRowGroupColumns:[{onPivotConfigChange:0}],pivotColumns:[{onPivotConfigChange:0}],pivotValueColumns:[{onPivotConfigChange:0}],pivotAggFuncs:[{onPivotConfigChange:0}],groupBy:[{onGroupByChange:0}],treeIdField:[{onTreeSurfaceChange:0}],treeParentField:[{onTreeSurfaceChange:0}],quickFilterText:[{onQuickFilterTextPropChanged:0}],quickFilter:[{onQuickFilterConfigChanged:0}],quickFilterMode:[{onQuickFilterConfigChanged:0}],loading:[{onLoadingChanged:0}],loadingMode:[{onLoadingModeChanged:0}],minLoadingDuration:[{onMinLoadingDurationChanged:0}],rangeSelection:[{onRangeSelectionChange:0}],rowHover:[{onRowHoverModeChanged:0}],virtualScroll:[{onVirtualizationInputsChanged:0}],rowHeight:[{onVirtualizationMetricsChanged:0}],rowHeightFn:[{onVirtualizationMetricsChanged:0}],serverSideDatasource:[{serverSideDatasourceChanged:0}],serverSideGroupCols:[{serverSideGroupColsChanged:0}],viewportDatasource:[{viewportDatasourceChanged:0}],datasource:[{datasourceChanged:0}],activeSortModel:[{infiniteModelInputsChanged:0}],activeFilters:[{infiniteModelInputsChanged:0}],activeConditionTree:[{infiniteModelInputsChanged:0}],quickFilterValue:[{infiniteModelInputsChanged:0}],collaborationRoom:[{onCollaborationRoomChange:0}],enableFillHandle:[{onEnableFillHandleChanged:0}],alignedGrids:[{onAlignedGridsChanged:0}],isFullWidthRow:[{onFullWidthConfigChanged:0}],fullWidthCellRenderer:[{onFullWidthConfigChanged:0}],fullWidthRowHeight:[{onFullWidthConfigChanged:0}],pinnedTopRowData:[{onPinnedRowDataChanged:0}],pinnedBottomRowData:[{onPinnedRowDataChanged:0}],sideBar:[{onSideBarChanged:0}]}]);function Ul(){"undefined"!=typeof customElements&&["sy-grid","sy-grid"].forEach((t2=>{switch(t2){case"sy-grid":customElements.get(s(t2))||customElements.define(s(t2),ql);break;case"sy-grid":customElements.get(s(t2))||Ul()}}))}Ul();const Kl=ql,Yl=Ul;export{$t as G,Kl as SyGrid,Ae as a,Pt as b,Oi as c,Et as d,Yl as defineCustomElement,Bi as i,zi as r,Ni as u,Ks as v};
|