@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 @@
|
|
|
1
|
+
import{h,Host}from"@stencil/core";import{getDataAsCsv}from"./core/export/csv.js";import{csvToGrid}from"./core/import/csv/index.js";import{buildContextMenuItems}from"./core/context-menu/menu.js";import{copyTextToClipboard}from"./core/context-menu/clipboard.js";import{createHoverDelay,getCellTooltipText}from"./core/cell-tooltip/index.js";import{classifyRowClick}from"./core/event/index.js";import{computeFloatingPosition}from"./core/floating/index.js";import{gridEngineTag,gridProUnavailableReason,hasGridProEngine}from"./core/pro-engine-loader.js";import{gridCollabChunkSource}from"./core/collab-loader.js";import{GRID_BUILD_TIER}from"./core/build-tier.js";import{GRID_DEFAULT_BRAND_VIEW,GridLicenseFacade}from"./core/license/grid-license-facade.js";import{protectDefaultBrand,releaseBrandIntegrity}from"../_shared/brand/brand-integrity.js";import{createGridAccelerationPort}from"./core/license/grid-acceleration-port.js";import{gridChunkProFeatureSets}from"./core/pro-gate/grid-chunk-features.js";import{gridEngineArriving,gridPivotWinsOnArrival}from"./core/pro-gate/engine-precedence.js";import{gridProFilterRequirements,gridStateLicenseIssues,gridStateModuleIssues,gridStateRequirementFeatures,refusedGridStatePlan,scanFilterProRequirements,scanGridStateProRequirements}from"./core/pro-gate/grid-state-requirements.js";import{copyNeedsRangeClipboard,pasteNeedsRangeClipboard}from"./core/pro-gate/grid-clipboard-policy.js";import{GridFormulaFreeze}from"./core/pro-gate/grid-formula-freeze.js";import{GridCollabFreeze,GridHeldDeclaration,GridHeldInits}from"./core/pro-gate/grid-freeze-work.js";import{planGridEngine}from"./core/pro-gate/grid-engine-license.js";import{guardGridChunkLoader}from"./core/pro-gate/grid-chunk-backstop.js";import{GRID_DECLARATION_CHUNKS,gridDeclaredProProps}from"./core/pro-gate/grid-declarations.js";import{BRAND_LOCKUP_HEIGHT,BRAND_LOCKUP_WIDTH,BRAND_LOCKUP_SYMBOL_PATH,BRAND_LOCKUP_WORDMARK_PATH}from"../_shared/brand/brand-lockup-default.js";import{gridFormulaAccelerationChunkSource}from"./core/formula-acceleration-loader.js";import{gridProChunkSources}from"./core/pro-chunk-sources.js";import{createGridChunkLoader,GridChunkLoadError}from"./core/loader/chunk-loader.js";import{AuditLog}from"./core/audit/audit-log.js";import{resolveCellReadable,resolveCellEditable,maskCellValue}from"./core/rbac/cell-access.js";import{resolveConditionalFormatCss,evaluateConditionalFormats}from"./core/conditional-format/conditional-format.js";import{evaluateValidation}from"./core/validation/validation.js";import{createSnapshot,snapshotMeta,addSnapshot,removeSnapshot,getSnapshot,deepCloneRows,normalizeSnapshotCap}from"./core/snapshot/snapshot.js";import{diffSnapshots}from"./core/snapshot/snapshot-diff.js";import{structuralEqual}from"./core/utils/structural.js";import{planProspectiveEdit}from"./core/edit/prospective-edit.js";import{auditEntriesToCsv,auditEntriesToJson}from"./core/audit/audit-export.js";import{normalizeNumericInput,toPublicNumeric}from"./core/numeric/safe-numeric.js";import{runPipeline}from"./core/pipeline/pipeline.js";import{createFilterStage}from"./core/pipeline/filter.js";import{createMultiSortStage}from"./core/pipeline/sort.js";import{createPaginateStage}from"./core/pipeline/paginate.js";import{defaultComparator}from"./core/pipeline/comparator-default.js";import{resolveEngineRows,sameEngineRowsInputs}from"./core/pipeline/engine-rows-memo.js";import{BLANK_GROUP_KEY,foldGroupKey,foldTreePathKey,frameSegmentPath,isAggregatedGroupMarkerRow,isDetailRow,isGroupFooterRow,isGroupMarkerRow,isPivotColumnId,isPivotGrandTotalRow,isPivotRowGroupMarker,isTreeNodeRow,PIVOT_ROW_HEADER_COL_ID,TREE_PATH_KEY_SEPARATOR}from"./core/row-markers.js";import{applyBlockFailure as applyInfiniteBlockFailure,applyBlockSuccess as applyInfiniteBlockSuccess,blockBounds as infiniteBlockBounds,blocksToLoadForRange as infiniteBlocksToLoad,createInfiniteCache,markBlockLoading as markInfiniteBlockLoading,touchRange as touchInfiniteRange}from"./core/row-model/block-cache.js";import{isLoadingPlaceholderRow,makeLoadingPlaceholderRow,materializeInfiniteRows}from"./core/row-model/placeholder-row.js";const SSRM_INACTIVE="server-side row model is not active";const SSRM_NEEDS_ROW_ID="server-side transactions require getRowId";const WORKBOOK_INACTIVE="the workbook surface is inactive (formulas off or no live binding)";import{beginRowDrag,dropInsertionIndex as rowDropInsertionIndex,reorderRows,updateRowDragOver}from"./core/row-drag/reorder.js";import{addFlash,cellFlashKey,hasFlash,removeFlash}from"./core/cell-flash/cell-flash.js";import{attachVirtualScroll,computeCachedVariableWindow,computeVariableVirtualWindow,computeVirtualWindow,createRowHeightCache,DEFAULT_OVERSCAN}from"./core/virtualizer/index.js";import{cycleSortModel,normalizeSortModel,seedInitialSortModel,sortModelsEqual}from"./core/sort-model.js";import{clearActiveFilter,retargetActiveFilter,setActiveFilter}from"./core/filter-cycle.js";import{changePageSize,DEFAULT_PAGE_SIZE,DEFAULT_PAGE_SIZE_OPTIONS,goToPage,nextPage,prevPage,visiblePageNumbers}from"./core/pagination-cycle.js";import{createTextFilter}from"./core/filter/text.js";import{createNumberFilter}from"./core/filter/number.js";import{createDateFilter}from"./core/filter/date.js";import{createQuickFilter}from"./core/filter/quick-filter.js";import{parseConditionTree,serializeConditionTree,validateConditionNode}from"./core/filter/condition-builder.js";import{applyColumnPinning,computePinnedOffsets,DEFAULT_PINNED_COLUMN_WIDTH,effectivePinSide}from"./core/column/column-pin.js";import{columnGroupDepth,computeHeaderGroupRows,flattenColumnDefs,groupHasToggle,isColumnGroupDef,visibleGroupLeaves}from"./core/column/column-groups.js";import{computeColumnWindow}from"./core/virtualizer/column-virtualizer.js";import{pickEmptyState}from"./core/empty-state-cycle.js";import{createLoadingDebouncer,DEFAULT_MIN_LOADING_DURATION_MS,isLoadingActive}from"./core/loading-cycle.js";import{clampCell,endCell,endGridCell,homeCell,homeGridCell,moveCell,moveCellWithWrap,pageCell}from"./core/cell-cycle.js";import{applyTheme,resolveTheme,themeDataAttribute}from"./core/theme/apply.js";import{resolveLocale,t as translateMessage}from"./core/locale/resolve.js";import{bodyRowAttrs,bodyRowGroupAttrs,columnHeaderAttrs,gridCellAttrs,gridRootAttrs,headerRowAttrs,headerRowGroupAttrs}from"./core/a11y/aria-grid.js";import{clearSelection as clearRowSelection,createSelectionState,deselectRowsBatch,diffSelection,findAnchorIndex,headerCheckboxState,selectRange as selectRangeInState,selectRow as selectRowInState,selectRowsBatch,setSelectionMode as setRowSelectionMode,toggleRow as toggleRowInState}from"./core/selection/row.js";import{bodyCheckboxAttrs,headerCheckboxAttrs,isCheckboxToggleKey,SELECTION_CHECKBOX_COLUMN}from"./core/selection/checkbox-column.js";import{escapeTsvCell,serializeManyBoundsToTsv}from"./core/clipboard/serialize.js";import{detectPastedValue,parseTsv}from"./core/clipboard/parse.js";import{planPaste}from"./core/clipboard/paste-plan.js";import{resolveStatusBar}from"./core/status-bar/status-bar.js";import{resolveSideBar}from"./core/side-bar/side-bar.js";import{normalizeRange}from"./core/selection/range-bounds.js";import{addCanonicalRange,toLegacyRanges}from"./core/selection/canonical-ranges.js";import{createRowEditState,stageRowCell as coreStageRowCell,isRowEditing as coreIsRowEditing,startRowEdit as coreStartRowEdit,stopRowEdit as coreStopRowEdit}from"./core/edit/row-edit.js";import{clearHoveredRow,createHoverState,setHoveredRow as setHoveredRowInState}from"./core/hover/row.js";import{beginEdit,cancelEdit,clearEdit,commitEdit,createEditStore,setDraft}from"./core/edit/transaction.js";import{allocateTxId,applyRowTransaction,invertTransactionResult}from"./core/edit/transaction-api.js";import{createUndoRedoStack}from"./core/edit/undo-redo.js";import{createColumnResizeController}from"./core/column/column-resize.js";import{createColumnReorderController}from"./core/column/column-reorder.js";import{createColumnVisibilityController}from"./core/column/column-visibility.js";import{measureAutoSizeWidth}from"./core/column/column-auto-size.js";import{createColumnSortController}from"./core/column/column-sort.js";import{computeColumnState,computeApplyColumnState}from"./core/column/column-state.js";import{buildGridState,planGridStateApply,summarizeGridStatePlan}from"./core/state/grid-state.js";import{migrateGridState}from"./core/state/migrate.js";import{applyFilterSlice,captureFilterSlice,validateFilterSlice}from"./core/state/slices/filter.js";import{createStateChangeTracker,createStateEventCoalescer}from"./core/state/state-events.js";import{PIVOT_WARNING_GROUP_BY,PIVOT_WARNING_MASTER_DETAIL,PIVOT_WARNING_TREE_DATA,PIVOT_WARNING_VIEWPORT_INFINITE}from"./core/pivot/combination-warnings.js";import{applyCompositionEnd,applyCompositionStart,applyInputValue,applySelectionChange,createTextEditorState}from"./core/edit/text-editor.js";import{buildTextEditorProps}from"./core/edit/text-editor-render.js";import{applyCompositionEnd as applyNumberCompositionEnd,applyCompositionStart as applyNumberCompositionStart,applyInputText as applyNumberInputText,applySelectionChange as applyNumberSelectionChange,createNumberEditorState}from"./core/edit/number-editor.js";import{buildNumberEditorProps}from"./core/edit/number-editor-render.js";import{applyCompositionEnd as applyDateCompositionEnd,applyCompositionStart as applyDateCompositionStart,applyInputText as applyDateInputText,applySelectionChange as applyDateSelectionChange,createDateEditorState}from"./core/edit/date-editor.js";import{buildDateEditorProps}from"./core/edit/date-editor-render.js";import{buildMonthMatrix,coerceBound as coerceCalBound,createCalendarState,isDisabledDay as isCalDisabledDay,isSameDay as isCalSameDay,parseISO as parseCalISO,selectDay as calSelectDay,stepMonth as calStepMonth,showMonth as calShowMonth,navigateCalendarDay,clampISOToBounds,toISO as calToISO,utcDate as calUtcDate,MONTH_NAMES as CAL_MONTH_NAMES,WEEKDAY_INITIALS as CAL_WEEKDAYS}from"./core/edit/date-picker.js";import{applyDropdownToggle as applySelectDropdownToggle,applyHighlightChange as applySelectHighlightChange,applyOptionPick as applySelectOptionPick,createSelectEditorState,shouldCancelOnKey as shouldCancelSelectOnKey,shouldCloseDropdownOnKey as shouldCloseSelectDropdownOnKey,shouldCommitOnKey as shouldCommitSelectOnKey}from"./core/edit/select-editor.js";import{buildSelectListboxProps,buildSelectOptionProps,buildSelectTriggerProps}from"./core/edit/select-editor-render.js";import{applySetValue as applyCheckboxSetValue,applyToggle as applyCheckboxToggle,createCheckboxEditorState}from"./core/edit/checkbox-editor.js";import{applyIndeterminateToInput,buildCheckboxEditorProps}from"./core/edit/checkbox-editor-render.js";import{applyCompositionEnd as applyTextareaCompositionEnd,applyCompositionStart as applyTextareaCompositionStart,applyInputValue as applyTextareaInputValue,applySelectionChange as applyTextareaSelectionChange,createTextareaEditorState}from"./core/edit/textarea-editor.js";import{buildTextareaEditorProps}from"./core/edit/textarea-editor-render.js";import{charCountLabel as largeTextCharCountLabel,clampValueToMaxLength as clampLargeTextValue,exceedsMaxLength as largeTextExceedsMaxLength,resolveLargeTextConfig}from"./core/edit/large-text-editor.js";import{BUILTIN_RENDERER_NAMES,createRendererRegistry,normalizeRenderOutput}from"./core/cell/renderer-registry.js";import{readOwnFieldPath,resolveCellValue,setOwnFieldPathImmutable}from"./core/cell/value-getter.js";import{formatCellValue}from"./core/cell/value-formatter.js";import{isFormulaText}from"./core/formula-text.js";import{applyCellClassRules}from"./core/cell/cell-class-rules.js";import{applyCellStyle}from"./core/cell/cell-style.js";function normalizeCsvFileName(fileName){const fallback="export.csv";const raw=typeof fileName==="string"&&fileName.trim()?fileName.trim():fallback;const safe=raw.replace(/[\\/:*?"<>|]+/g,"-");return/\.csv$/i.test(safe)?safe:`${safe}.csv`}const activeGridEditorsByDocument=new WeakMap;const focusedGridEditorByDocument=new WeakMap;const SY_GRID_DATE_CALENDAR_ID="sy-grid-date-calendar";const SY_GRID_ACTIVE_CELL_ID="sy-grid-active-cell";const SY_GRID_TOOLTIP_ID="sy-grid-cell-tooltip";const CELL_FLASH_DURATION_MS=900;const MAX_DETAIL_NESTING=5;const FORMULA_ASYNC_SEED_ROWS=2e4;const FORMULA_SEED_REVEAL_MS=250;const KERNEL_PLANE_CELL_GUARD=8388608;const RENDER_OVERSCAN=12;const COLUMN_WINDOW_AUTO_THRESHOLD=20;let alignedMemberSeq=0;let gridProChunkSourcesMemo;function gridProChunkSourcesOnce(){if(gridProChunkSourcesMemo===void 0)gridProChunkSourcesMemo=gridProChunkSources();return gridProChunkSourcesMemo}function gridProChunkInBuild(chunkId){return gridProChunkSourcesOnce()?.[chunkId]!==void 0}function filterModelRefusedReport(issues){return{unknownBuiltInColumns:[],invalidBuiltIn:issues.map(({path,detail})=>({path,detail})),unavailableCustomFilters:[],conditionTreeError:null,externalFilterWasActive:false}}const GRID_PRO_ENGINE_NOT_IN_BUILD="Pro engine not included in this build";export class SyGrid{host;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=DEFAULT_PAGE_SIZE;pageSizeOptions=DEFAULT_PAGE_SIZE_OPTIONS;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=DEFAULT_MIN_LOADING_DURATION_MS;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(this.formulaCore!==null)return this.formulaCore;if(!this.proModuleAvailable("grid.formulas","formulas","formula-core"))return null;const inFlight=this.formulaCoreLoading;if(inFlight!==null&&inFlight===this.chunkLoader&&!inFlight.stats().disposed)return null;const loader=this.getChunkLoader();this.formulaCoreLoading=loader;void loader.load("formula-core").then(module=>{if(this.formulaCoreLoading===loader)this.formulaCoreLoading=null;this.formulaCore=module;if(this.formulas===true)this.rebuildFormulaSheet();const pendingReason=this.workbookBindingPendingReason;this.workbookBindingPendingReason=null;if(pendingReason!==null&&!this.hasDisconnected&&this.host?.isConnected!==false){this.syncWorkbookBinding(pendingReason)}},()=>{if(this.formulaCoreLoading===loader)this.formulaCoreLoading=null});return null}workbookBindingHooks={onChange:detail=>{this.syncWorkbookBindingHostState(detail.binding);this.workbookBindingChanged.emit(detail)},onError:detail=>{this.host?.setAttribute?.("data-workbook-error",detail.code);this.workbookBindingError.emit(detail)},onValid:binding=>{this.syncWorkbookBindingHostState(binding);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:reason=>{const controller=this.workbookBinding();if(controller!==null)return controller.disconnect(reason);this.workbookBindingHooks.onValid(null);return false},sync:input=>{const controller=this.workbookBinding();if(controller!==null)return controller.sync(input);if(input.enabled&&(input.workbookId!=null||input.sheetName!=null)){this.workbookBindingPendingReason??=input.reason??"property-change";return null}this.workbookBindingHooks.onValid(null);return null},reconnect:input=>{const controller=this.workbookBinding();if(controller!==null)return controller.reconnect(input);this.workbookBindingHooks.onValid(null);return null}};workbookBinding(){const core=this.formulaCore;if(this.workbookBindingControllerRef===null&&core!==null){this.workbookBindingControllerRef=new core.WorkbookBindingController(this,this.workbookBindingHooks)}return this.workbookBindingControllerRef}formulaVersion=0;resolvedMessages=resolveLocale("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:DEFAULT_PAGE_SIZE};latestPaginatedMeta=null;quickFilterValue="";effectiveLoading=false;activeCell=null;formulaBarDraft=null;cellTooltip=null;cellTooltipDelay=createHoverDelay({showMs:400,hideMs:100,onShow:target=>this.showCellTooltip(target),onHide:()=>{this.cellTooltip=null}});headerTooltipDelay=createHoverDelay({showMs:400,hideMs:100,onShow:target=>this.showHeaderTooltip(target),onHide:()=>{this.cellTooltip=null}});editingCell=null;editStore=createEditStore();editCommitInProgress=false;incrementalRowDataAssignment=null;sourceRowIndexCache=null;warnedIdentityEdit=false;warnedUnbackedValueSetter=false;undoRedoStack=createUndoRedoStack();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(signature,message){if(this.componentIdentityReportedErrors.has(signature))return;this.componentIdentityReportedErrors.add(signature);this.pendingComponentIdentityErrors.push({code:"INVALID_INSTANCE",phase:"lookup",componentKind:"renderer",retryable:false,cause:new Error(message)})}isPivotSubtotalDisplayRow(row){return row!==null&&typeof row==="object"&&row.__syPivotSubtotal===true}componentIdentityRow(row){if(isTreeNodeRow(row)){return row.row!==null&&typeof row.row==="object"?row.row:null}if(isPivotRowGroupMarker(row)||isPivotGrandTotalRow(row)||this.isPivotSubtotalDisplayRow(row))return row;if(isGroupMarkerRow(row)||isGroupFooterRow(row)||isDetailRow(row)||isLoadingPlaceholderRow(row)){return null}return row}componentObjectToken(row){const existing=this.componentRowTokens.get(row);if(existing!==void 0)return existing;const token=`object-${++this.componentRowTokenSequence}`;this.componentRowTokens.set(row,token);return token}ensureComponentIdentityIndex(){if(this.componentIdentityIndex!==null){return this.componentIdentityIndex}const displayRows=this.getDisplayRows();const rowOccurrences=new WeakMap;const uniqueRows=[];const seenRows=new WeakSet;for(const displayRow of displayRows){const row=this.componentIdentityRow(displayRow);if(row===null||typeof row!=="object")continue;rowOccurrences.set(row,(rowOccurrences.get(row)??0)+1);if(!seenRows.has(row)){seenRows.add(row);uniqueRows.push(row)}}const rowIdsByObject=new WeakMap;const rowsById=new Map;for(const row of uniqueRows){if((rowOccurrences.get(row)??0)!==1){rowIdsByObject.set(row,null);this.queueComponentIdentityError(`duplicate-object:${this.componentObjectToken(row)}`,"A lifecycle renderer row appeared more than once in the display model; the instance was not mounted.");continue}let rowId;if(typeof this.getRowId!=="function"){rowId=this.componentObjectToken(row)}else{let getRowIdThrew=false;try{const candidate=this.getRowId(row);rowId=typeof candidate==="string"&&candidate.trim().length>0||typeof candidate==="number"&&Number.isFinite(candidate)?candidate:null}catch{getRowIdThrew=true;rowId=null;this.queueComponentIdentityError(`get-row-id-throw:${this.componentObjectToken(row)}`,"getRowId threw while resolving a lifecycle renderer identity; the instance was not mounted.")}if(rowId===null&&!getRowIdThrew){this.queueComponentIdentityError(`invalid-row-id:${this.componentObjectToken(row)}`,"getRowId must return a non-empty string or a finite number for lifecycle renderer identity.")}}rowIdsByObject.set(row,rowId);if(rowId!==null){const matches=rowsById.get(rowId);if(matches===void 0)rowsById.set(rowId,[row]);else matches.push(row)}}const rowIds=new Set;for(const[rowId,rows]of rowsById){if(rows.length===1){rowIds.add(rowId);continue}for(const row of rows)rowIdsByObject.set(row,null);this.queueComponentIdentityError(`duplicate-row-id:${typeof rowId}:${String(rowId)}`,`getRowId returned duplicate lifecycle renderer identity "${String(rowId)}"; all colliding instances were not mounted.`)}const columnsById=new Map;for(const column of this.effectiveColumns()){const candidate=column.colId??column.field;if(typeof candidate!=="string"||candidate.trim().length===0){this.queueComponentIdentityError(`invalid-col-id:${String(candidate)}`,"A lifecycle renderer column id must be a non-empty string.");continue}columnsById.set(candidate,(columnsById.get(candidate)??0)+1)}const colIds=new Set;for(const[colId,count]of columnsById){if(count===1)colIds.add(colId);else{this.queueComponentIdentityError(`duplicate-col-id:${colId}`,`Column id "${colId}" is duplicated; colliding lifecycle renderer instances were not mounted.`)}}this.componentIdentityIndex={rowIdsByObject,rowIds,colIds};return this.componentIdentityIndex}componentRowId(row){if(row===null||typeof row!=="object")return null;return this.ensureComponentIdentityIndex().rowIdsByObject.get(row)??null}componentColumnId(col){const candidate=col.colId??col.field;if(typeof candidate!=="string")return null;return this.ensureComponentIdentityIndex().colIds.has(candidate)?candidate:null}componentLogicalCellExists=identity=>{const index=this.ensureComponentIdentityIndex();return index.colIds.has(identity.colId)&&index.rowIds.has(identity.rowId)};componentFacadeIdentity(rowId,colId){if(!(typeof rowId==="string"&&rowId.trim().length>0||typeof rowId==="number"&&Number.isFinite(rowId))||typeof colId!=="string"||colId.trim().length===0){return null}return{rowId,colId}}componentRendererCellKey(rowId,colId){try{return`cell:${JSON.stringify([rowId,colId])}`}catch{return"cell:unavailable"}}sameComponentIdentity(left,right){return left.rowId===right.rowId&&left.colId===right.colId}releaseFocusedLifecycleRenderer(){this.lifecycleRendererFocusSequence+=1;const focused=this.focusedLifecycleRenderer;this.focusedLifecycleRenderer=null;if(focused===null||this.componentManager===null)return;this.componentManager.renderer.focusOut(focused.identity,focused.generation)}activeLifecycleRendererIdentity(){const active=this.activeCell;if(active===null)return null;const displayRow=this.getDisplayRows()[active.rowIndex];const col=this.effectiveColumns()[active.colIndex];if(displayRow===void 0||col===void 0)return null;if(this.lifecycleRendererDeclaration(col)===null)return null;const row=this.componentIdentityRow(displayRow);if(row===null)return null;const rowId=this.componentRowId(row);const colId=this.componentColumnId(col);return rowId===null||colId===null?null:{rowId,colId}}focusActiveLifecycleRenderer(){const manager=this.componentManager;const identity=this.activeLifecycleRendererIdentity();if(manager===null||identity===null||!this.gridOwnsDocumentFocus()){this.releaseFocusedLifecycleRenderer();return}const discovery=manager.renderer.lookup(identity);if(discovery.status!=="mounted"){this.releaseFocusedLifecycleRenderer();return}if(this.focusedLifecycleRenderer!==null&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,identity)&&this.focusedLifecycleRenderer.generation===discovery.generation){return}const releaseSequence=this.lifecycleRendererFocusSequence;this.releaseFocusedLifecycleRenderer();if(this.lifecycleRendererFocusSequence!==releaseSequence+1){return}const focusSequence=++this.lifecycleRendererFocusSequence;if(manager.renderer.focusIn(identity,discovery.generation)&&focusSequence===this.lifecycleRendererFocusSequence&&manager===this.componentManager){this.focusedLifecycleRenderer={identity,generation:discovery.generation}}else if(focusSequence!==this.lifecycleRendererFocusSequence){manager.renderer.focusOut(identity,discovery.generation)}}emitComponentError(error){if(!this.host?.isConnected)return;this.componentError.emit({code:error.code,phase:error.phase,componentKind:error.componentKind,componentName:error.componentName,mountKey:error.mountKey,generation:error.generation,retryable:error.retryable,cause:error.cause})}componentFilterExecutionMode(){if(this.serverSideModeActive()||this.viewportModeActive()){return"server"}return this.infiniteModeActive()?"infinite":"client"}invalidateComponentFilterRuntime(){this.componentFilterRevision+=1;this.componentFilterReadyRevision=-1;this.componentFilterReconcileInputs=null;this.componentFilterReconcileSequence+=1;this.componentRemoteFilterErrors.clear();if(this.componentFilterExecutionMode()!=="client"){if(this.componentFilterChangeBatchDepth>0){this.componentFilterRemoteChangePending=true}else{this.infiniteModelInputsChanged()}}}async runComponentFilterChangeBatch(operation){const managerEpoch=this.componentManagerEpoch;this.componentFilterChangeBatchDepth+=1;try{return await operation()}finally{if(managerEpoch===this.componentManagerEpoch){this.componentFilterChangeBatchDepth-=1;if(this.componentFilterChangeBatchDepth===0&&this.componentFilterRemoteChangePending){this.componentFilterRemoteChangePending=false;this.infiniteModelInputsChanged();this.componentFilterRemoteFlushRevision+=1}}}}externalFilterRuntimeReady(){return this.externalFilter==null||this.externalFilterReadyRevision===this.externalFilterRevision&&Object.is(this.externalFilterApplied,this.externalFilter)&&this.filterFacade?.getExternalFilter()!==null}handleComponentFilterChanged(colId,source,model){const hadPrevious=this.componentFilterModels.has(colId);const previous=this.componentFilterModels.get(colId);this.componentFilterModels.set(colId,model);this.componentRemoteFilterErrors.clear();this.lifecycleFilterVersion+=1;if(this.componentFilterExecutionMode()!=="client"){if(this.componentFilterChangeBatchDepth>0){this.componentFilterRemoteChangePending=true}else{this.infiniteModelInputsChanged()}}if(this.host?.isConnected){this.filterChanged.emit({field:colId,filter:null,activeMap:{...this.activeFilters},customModel:model,...hadPrevious?{previousCustomModel:previous}:{},source:source==="ui"?"component":source})}}scheduleLifecycleFilterPeerNotification(){this.componentFilterPeerNotificationRevision+=1;if(this.componentFilterPeerNotificationTask!==null)return;if(this.filterFacade===null)return;const task=Promise.resolve().then(async()=>{let processedRevision=-1;while(processedRevision!==this.componentFilterPeerNotificationRevision){const facade=this.filterFacade;if(facade===null||!this.host?.isConnected)return;const targetRevision=this.componentFilterPeerNotificationRevision;await facade.onAnyFilterChanged();if(facade!==this.filterFacade||!this.host?.isConnected)return;processedRevision=targetRevision;this.lifecycleFilterVersion+=1}}).catch(()=>void 0).finally(()=>{if(this.componentFilterPeerNotificationTask===task){this.componentFilterPeerNotificationTask=null}});this.componentFilterPeerNotificationTask=task}async getComponentManager(requestingKind="renderer"){if(this.componentManager!==null)return this.componentManager;if(this.componentManagerPromise!==null){return this.componentManagerPromise}const epoch=this.componentManagerEpoch;const task=this.getChunkLoader().load("component-runtime").then(async loaded=>{const module=loaded;const manager=module.createGridComponentManager({timeoutMs:this.componentTimeoutMs,onError:error=>{if(epoch===this.componentManagerEpoch){this.emitComponentError(error)}},onExternalFilterAvailable:()=>{if(epoch!==this.componentManagerEpoch||!this.host?.isConnected){return}this.externalFilterReadyRevision=-1;this.componentFilterReconcileInputs=null;void this.reconcileComponentFilters()},renderer:{isHostConnected:host=>epoch===this.componentManagerEpoch&&Boolean(this.host?.isConnected)&&(!("isConnected"in host)||host.isConnected),logicalExists:identity=>epoch===this.componentManagerEpoch&&Boolean(this.host?.isConnected)&&this.componentLogicalCellExists(identity),fallback:()=>({kind:"text",text:"—"})}});for(const registration of this.localGridComponentRegistrations.values()){manager.register("local",registration.kind,registration.name,registration.definition)}if(epoch!==this.componentManagerEpoch||!this.host?.isConnected){await manager.disconnect();throw new DOMException("Grid component runtime load was superseded.","AbortError")}const editorFacade=module.createGridEditorFacadeController({manager,onError:error=>{if(epoch===this.componentManagerEpoch){this.emitComponentError(error)}}});const filterFacade=module.createGridFilterFacadeController({manager,getContext:()=>this.context,executionMode:()=>this.componentFilterExecutionMode(),onFilterChanged:({colId,source,model})=>{if(epoch!==this.componentManagerEpoch||!this.host?.isConnected||!this.componentFilterDesiredIds.has(colId)){return}this.handleComponentFilterChanged(colId,source,model)},onFilterModified:colId=>{if(epoch!==this.componentManagerEpoch||!this.host?.isConnected){return}this.filterModified.emit({field:colId,source:"component"})},onError:error=>{if(epoch===this.componentManagerEpoch){this.emitComponentError(error)}}});const desiredExternal=this.externalFilter??null;const externalRevision=this.externalFilterRevision;const installedExternal=await filterFacade.setExternalFilter(desiredExternal);const externalRefresh=desiredExternal===null||installedExternal===null?null:await filterFacade.refreshExternalFilter(this.context);if(epoch!==this.componentManagerEpoch||!this.host?.isConnected){await editorFacade.disconnect();await filterFacade.disconnect();await manager.disconnect();throw new DOMException("Grid component runtime load was superseded.","AbortError")}this.editorFacade=editorFacade;this.filterFacade=filterFacade;this.componentEditorValidationPresenter=module.renderGridEditorValidation;if(externalRevision===this.externalFilterRevision&&Object.is(desiredExternal,this.externalFilter??null)&&(desiredExternal===null||installedExternal!==null)){this.externalFilterApplied=desiredExternal;if(desiredExternal===null||externalRefresh?.status==="refreshed"){this.externalFilterReadyRevision=externalRevision}}this.componentPopupPlacement=module.placeGridEditorPopup;this.lifecycleFilterVersion+=1;this.componentManager=manager;return manager});this.componentManagerPromise=task.then(manager=>manager,error=>{if(epoch===this.componentManagerEpoch){this.componentManagerPromise=null;if(!(error!==null&&typeof error==="object"&&"name"in error&&error.name==="AbortError")&&this.componentManagerFailureReportedEpoch!==epoch){this.componentManagerFailureReportedEpoch=epoch;this.emitComponentError({code:"LAZY_LOAD_FAILED",phase:"lazy-load",componentKind:requestingKind,retryable:true,cause:error})}}throw error});return this.componentManagerPromise}disposeComponentManager(){this.clearLifecycleEditorValidation();this.unregisterLifecycleEditorDocumentOwner();this.releaseFocusedLifecycleRenderer();const preservedModels=this.filterFacade?.getSerializableModels();if(preservedModels!==void 0){for(const[colId,model]of Object.entries(preservedModels.models)){this.componentFilterModels.set(colId,model)}}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 manager=this.componentManager;const pending=this.componentManagerPromise;const editorFacade=this.editorFacade;const filterFacade=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;if(manager!==null){void Promise.all([editorFacade?.disconnect(),filterFacade?.disconnect()]).then(()=>manager.disconnect());return}if(pending!==null){void pending.then(loaded=>loaded.disconnect(),()=>void 0)}}getChunkLoader(){if(this.chunkLoader===null||this.chunkLoader.stats().disposed){const sources={"component-runtime":{kind:"esm",load:()=>import("./core/component/component-runtime-chunk.js")},"import-xlsx":{kind:"esm",load:()=>import("./core/import/xlsx/grid-import-chunk.js")},"live-api":{kind:"esm",load:()=>import("./core/api/live-object-model.js")},"row-layout":{kind:"esm",load:()=>import("./core/row-layout/row-layout-chunk.js")},"row-drag":{kind:"esm",load:()=>import("./core/row-drag/row-drag-chunk.js")},"conditional-format":{kind:"esm",load:()=>import("./core/conditional-format/cf-builder-chunk.js")}};const proSources=gridProChunkSourcesOnce();if(proSources!==null)Object.assign(sources,proSources);const collabSource=gridCollabChunkSource();if(collabSource!==null)sources.collab=collabSource;const formulaAccelerationSource=gridFormulaAccelerationChunkSource();if(formulaAccelerationSource!==null){sources["formula-acceleration"]=formulaAccelerationSource}this.chunkLoader=guardGridChunkLoader(createGridChunkLoader({tier:GRID_BUILD_TIER,sources,emit:detail=>{if(detail.phase==="loading")this.chunkLoading.emit(detail);else if(detail.phase==="loaded")this.chunkLoaded.emit(detail);else this.chunkLoadFailed.emit(detail)}}),(chunkId,features)=>this.proGate().admitChunk(chunkId,features))}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(){if(this.auditLog){if(this.auditTrail===null)this.auditTrail=new AuditLog({maxEntries:this.auditLogMax})}else{this.auditTrail=null}}onAuditLogChange(){this.syncAuditTrail()}onAuditLogMaxChange(){this.auditTrail?.resize(this.auditLogMax)}onCanReadCellChange(){this.canReadWarned=false;this.cellTooltip=null;this.formulaSuggest=null;if(this.chartLinkRuntimeRef!==null){this.chartLinkGeneration+=1;this.chartLinkRuntimeRef.syncCharts("edit")}}onCanEditCellChange(){this.canEditWarned=false}onMaxSnapshotsChange(){const cap=normalizeSnapshotCap(this.maxSnapshots);if(this.snapshotStore.length>cap)this.snapshotStore=this.snapshotStore.slice(this.snapshotStore.length-cap)}currentAuditRows(){const out=new Map;const rows=this.rowData??[];rows.forEach((row,rowIndex)=>{if(row===null||typeof row!=="object")return;out.set(this.collabRowId(row,rowIndex),{data:row,rowIndex})});return out}auditEntriesForPublicRead(entries){if(!this.readPolicyConfigured())return entries;const rows=this.currentAuditRows();const columns=new Map(this.resolvedColumnDefs().map(col=>[col.field,col]));return entries.map(entry=>{if(entry.kind!=="cell")return entry;const context=rows.get(entry.rowId);const col=columns.get(entry.field);if(context===void 0||col===void 0){return{...entry,oldValue:this.maskedCellValue,newValue:this.maskedCellValue}}const data=context.data;const rowIndex=context.rowIndex;return{...entry,oldValue:this.applyReadMask(entry.oldValue,data,rowIndex,col),newValue:this.applyReadMask(entry.newValue,data,rowIndex,col)}})}recordAudit(input){if(this.auditTrail===null)return;const entry=this.auditTrail.record(input);this.auditLogChanged.emit({entry:this.auditEntriesForPublicRead([entry])[0]})}fireRowDataChanged(detail,options={}){for(const entry of detail.removed){this.liveRowHeights.delete(this.collabRowId(entry.row,entry.index))}this.rowDataChanged.emit(detail);if(options.publishLiveObjects!==false){const addedById=new Map(detail.added.map(entry=>[this.collabRowId(entry.row,entry.index),entry]));const removedById=new Map(detail.removed.map(entry=>[this.collabRowId(entry.row,entry.index),entry]));const replacedIds=new Set([...addedById.keys()].filter(id=>removedById.has(id)));this.publishLiveObjectChanges([...detail.added.filter(entry=>!replacedIds.has(this.collabRowId(entry.row,entry.index))).map(entry=>["row",this.collabRowId(entry.row,entry.index),"dataChanged","rowData",{txId:detail.txId,before:void 0,after:entry.row,data:entry.row}]),...detail.updated.map(entry=>["row",this.collabRowId(entry.row,entry.index),"dataChanged","rowData",{txId:detail.txId,before:entry.previous,after:entry.row,data:entry.row}]),...detail.removed.filter(entry=>!replacedIds.has(this.collabRowId(entry.row,entry.index))).map(entry=>["row",this.collabRowId(entry.row,entry.index),"dataChanged","rowData",{txId:detail.txId,before:entry.row,after:void 0,data:entry.row}]),...[...replacedIds].map(id=>{const before=removedById.get(id).row;const after=addedById.get(id).row;return["row",id,"dataChanged","rowData",{txId:detail.txId,before,after,data:after}]})])}if(this.auditTrail!==null){const source=detail.origin==="clipboard"?"clipboard":detail.source??"local";this.recordAudit({kind:"rows",source,txId:detail.txId,added:detail.added.length,updated:detail.updated.length,removed:detail.removed.length})}}fireSelectionChanged(detail,source="ui"){this.selectionChanged.emit(detail);this.publishLiveObjectChanges([...detail.addedIds.map(id=>["row",id,"selectionChanged",source,{before:false,after:true}]),...detail.removedIds.map(id=>["row",id,"selectionChanged",source,{before:true,after:false}])]);if(this.auditTrail!==null&&detail.addedIds.length+detail.removedIds.length>0){this.recordAudit({kind:"selection",source:"local",selectedCount:detail.selectedRowIds.length,addedIds:[...detail.addedIds],removedIds:[...detail.removedIds]})}}async getAuditLog(filter){return this.auditTrail===null?[]:this.auditEntriesForPublicRead(this.auditTrail.entries(filter))}async clearAuditLog(){this.auditTrail?.clear()}async getAuditLogAsCsv(filter){return auditEntriesToCsv(await this.getAuditLog(filter))}async getAuditLogAsJson(filter,pretty=false){return auditEntriesToJson(await this.getAuditLog(filter),pretty)}async exportAuditLogAsCsv(fileName,filter){this.downloadTextFile(await this.getAuditLogAsCsv(filter),fileName??"audit-log.csv","text/csv;charset=utf-8")}async exportAuditLogAsJson(fileName,filter){this.downloadTextFile(await this.getAuditLogAsJson(filter,true),fileName??"audit-log.json","application/json;charset=utf-8")}downloadTextFile(text,fileName,mime){const doc=this.host?.ownerDocument??document;const view=doc.defaultView??window;const blob=new Blob([text],{type:mime});const url=view.URL.createObjectURL(blob);const anchor=doc.createElement("a");anchor.href=url;anchor.download=fileName;anchor.style.display="none";doc.body.appendChild(anchor);anchor.click();anchor.remove();view.setTimeout(()=>view.URL.revokeObjectURL(url),0)}cellCommentIndex=new Map;commentIndexKey(rowId,field){return`${rowId}${field}`}cellCommentBadge(row,rowIndex,field){if(this.cellCommentIndex.size===0)return null;return this.cellCommentBadgeFor(this.collabRowId(row,rowIndex),field)}cellCommentBadgeFor(rowId,field){if(rowId===null||this.cellCommentIndex.size===0)return null;const entry=this.cellCommentIndex.get(this.commentIndexKey(rowId,field));if(entry===void 0||entry.count===0)return null;return{unresolved:entry.unresolved>0}}seenCommentIds=new Set;conflictFlashCells=new Set;collabConflictToast=null;conflictFlashTimers=new Map;conflictToastTimer=null;clearConflictUi(){for(const t of this.conflictFlashTimers.values())clearTimeout(t);this.conflictFlashTimers.clear();if(this.conflictToastTimer!==null){clearTimeout(this.conflictToastTimer);this.conflictToastTimer=null}if(this.conflictFlashCells.size>0)this.conflictFlashCells=new Set;if(this.collabConflictToast!==null)this.collabConflictToast=null}commentPanel=null;commentPanelAnchor=null;commentPanelOffscreen=false;commentPanelThread=[];commentPanelInputEl=null;commentPanelRowIndex=-1;openCommentPanelAt(rowId,field){if(this.collabSession===null)return;if(!this.commentWriteAllowed("openCellCommentPanel"))return;this.commentPanel={rowId:String(rowId),field};this.commentPanelRowIndex=-1;this.commentPanelOffscreen=false;this.commentPanelThread=this.collabSession.getCellComments?.(rowId,field)??[]}closeCommentPanel(){this.commentPanel=null;this.commentPanelAnchor=null;this.commentPanelOffscreen=false;this.commentPanelRowIndex=-1;this.commentPanelThread=[]}async openCellCommentPanel(rowId,field){return this.proMethod("openCellCommentPanel",{load:()=>this.cellNotesModule(),exec:()=>void 0,publish:()=>this.openCommentPanelAt(rowId,field)})}async closeCellCommentPanel(){return this.proRun("closeCellCommentPanel",()=>this.closeCommentPanel())}commentWriteAllowed(member){return this.proWorkAllowed("grid.cell-notes",member)}columnWidths=new Map;columnResizeController=createColumnResizeController();minimumColumnWidth=1;interactiveColumnMinWidth=24;compactHeaderControlsWidth=72;columnResizePointerId=null;columnResizeEscHandler=null;columnResizeHandleEl=null;columnResizeGuide=null;columnResizeGuideStartX=null;columnResizeGuideStartWidth=null;columnOrder=null;columnReorderController=createColumnReorderController();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=createColumnVisibilityController();columnVisibilityChangedUnsubscribe=null;columnVisibilityResetUnsubscribe=null;columnVisibilityForwardSuppressed=false;columnVisibilityEventSource="api";withColumnVisibilitySource(source,action){const previous=this.columnVisibilityEventSource;this.columnVisibilityEventSource=source;try{return action()}finally{this.columnVisibilityEventSource=previous}}sortController=createColumnSortController();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(){if(this.richSelect===null&&!gridProChunkInBuild("rich-select"))return null;if(this.richSelect===null&&!this.richSelectArming){this.richSelectArming=true;void this.getChunkLoader().load("rich-select").then(chunk=>{this.richSelect=chunk;this.richSelectTick+=1}).catch(()=>{this.richSelectArming=false})}return this.richSelect}armRichSelect(){if(this.richSelect!==null||this.richSelectArming)return;if(!this.effectiveColumns().some(col=>col.cellEditor==null&&col.editor==="autocomplete"))return;if(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=createRendererRegistry();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=createSelectionState("none");rangeAnchorRowId=null;hoverState=createHoverState();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=createLoadingDebouncer(DEFAULT_MIN_LOADING_DURATION_MS);loadingDebounceTimer=null;pendingScrollIntoView=null;quickFilterPendingValue="";quickFilterInputEl=null;async getApi(){await this.ensureLiveObjects();return this.host}async getColumn(columnId){return(await this.ensureLiveObjects()).getColumn(columnId)}async getColumns(){return(await this.ensureLiveObjects()).getColumns()}async getColumnGroup(groupId){return(await this.ensureLiveObjects()).getColumnGroup(groupId)}async getColumnGroups(){return(await this.ensureLiveObjects()).getColumnGroups()}async getRow(rowId){return(await this.ensureLiveObjects()).getRow(rowId)}async getDisplayedRowAtIndex(index){return(await this.ensureLiveObjects()).getDisplayedRowAtIndex(index)}async forEachRow(callback){(await this.ensureLiveObjects()).forEachRow(callback)}async forEachDisplayedRow(callback){(await this.ensureLiveObjects()).forEachDisplayedRow(callback)}async ensureLiveObjects(){if(this.liveObjectModel!==null){this.liveObjectModel.reconcile();return this.liveObjectModel}this.liveObjectModelPromise??=this.getChunkLoader().load("live-api").then(module=>{const{GridLiveObjectModel}=module;let columnGraph=null;this.liveObjectModel=new GridLiveObjectModel({isConnected:()=>this.host?.isConnected!==false,columns:()=>(columnGraph=this.liveColumnSnapshotGraph()).columns,columnGroups:()=>{const groups=(columnGraph??this.liveColumnSnapshotGraph()).groups;columnGraph=null;return groups},rows:()=>this.liveRowSnapshotGraph().rows,mutate:(mutation,signal)=>this.applyLiveMutation(mutation,signal),emitGridEvent:event=>this.gridObjectChanged.emit(event),mintMutationId:this.mintGridMutationId,columnFilter:{getModel:colId=>this.getColumnFilterModel(colId),setModel:(colId,model)=>this.setColumnFilterModel(colId,model)}});return this.liveObjectModel}).catch(error=>{this.liveObjectModelPromise=null;throw error});return this.liveObjectModelPromise}publishLiveObjectChange(kind,id,type,source,detail={}){this.publishLiveObjectChanges([[kind,id,type,source,detail]])}publishLiveObjectChanges(changes){if(this.liveMutationDepth>0||changes.length===0)return;this.liveObjectModel?.publishBatch(changes.map(([kind,id,type,source,detail])=>({kind,id,type,source,detail})))}publishLiveRowExpansions(before,source){if(before.length===0)return;const graph=this.liveRowSnapshotGraph();this.publishLiveObjectChanges(before.flatMap(previous=>{const after=graph.byId.get(previous.id);return after===void 0||after.expanded===previous.expanded?[]:[["row",previous.id,"expandedChanged",source,{before:previous.expanded,after:after.expanded,data:after.data??void 0}]]}))}resolveGridCellValue(input){return resolveCellValue({...input,context:this.context,api:this.host})}formatGridCellValue(input){return formatCellValue({...input,context:this.context,api:this.host})}liveColumnId(column){return typeof column.colId==="string"&&column.colId.length>0?column.colId:column.field}liveColumnSnapshotGraph(){const definitions=this.columnDefsSource();const resolvedByDefinition=new Map;const declaredColumns=[];const columnIdCounts=new Map;const groupIdCounts=new Map;const scan=(nodes,path)=>{nodes.forEach((node,index)=>{const nodePath=path===""?String(index):`${path}.${index}`;if(isColumnGroupDef(node)){const id2=node.groupId??nodePath;groupIdCounts.set(id2,(groupIdCounts.get(id2)??0)+1);scan(node.children,nodePath);return}const resolved=this.resolveColDef(node);if(resolved===null)return;resolvedByDefinition.set(node,resolved);declaredColumns.push(resolved);const id=this.liveColumnId(resolved);columnIdCounts.set(id,(columnIdCounts.get(id)??0)+1)})};scan(definitions,"");const duplicateColumnIds=new Set([...columnIdCounts].filter(([,count])=>count>1).map(([id])=>id));const duplicateGroupIds=new Set([...groupIdCounts].filter(([,count])=>count>1).map(([id])=>id));if(duplicateColumnIds.size>0&&!this.warnedLiveDuplicateColumnIds){this.warnedLiveDuplicateColumnIds=true;console.warn(`[SG:LIVE:COL] dup=${duplicateColumnIds.size}; omit`)}if(duplicateGroupIds.size>0&&!this.warnedLiveDuplicateColumnGroupIds){this.warnedLiveDuplicateColumnGroupIds=true;console.warn(`[SG:LIVE:GROUP] dup=${duplicateGroupIds.size}; omit`)}const declared=duplicateColumnIds.size===0?declaredColumns:declaredColumns.filter(column=>!duplicateColumnIds.has(this.liveColumnId(column)));const groups=[];const parentByColumn=new Map;const visibleIds=new Set(this.effectiveColumns().map(column=>this.liveColumnId(column)));const visit=(nodes,parentId,path)=>{const leafIds=[];const childIds=[];nodes.forEach((node,index)=>{const nodePath=path===""?String(index):`${path}.${index}`;if(!isColumnGroupDef(node)){const resolved=resolvedByDefinition.get(node);if(resolved===void 0)return;const id2=this.liveColumnId(resolved);if(duplicateColumnIds.has(id2))return;if(parentId!==null)parentByColumn.set(id2,parentId);leafIds.push(id2);childIds.push({kind:"column",id:id2});return}const id=node.groupId??nodePath;const valid=!duplicateGroupIds.has(id);const descendants=visit(node.children,valid?id:parentId,nodePath);const leaves=descendants.leafIds;if(!valid){leafIds.push(...leaves);childIds.push(...descendants.childIds);return}groups.push({id,definition:node,childIds:descendants.childIds,leafIds:leaves,parentId,expanded:!this.collapsedGroups.has(id),padding:!groupHasToggle(node),displayed:leaves.some(leafId=>visibleIds.has(leafId))});leafIds.push(...leaves);childIds.push({kind:"columnGroup",id})});return{leafIds,childIds}};visit(definitions,null,"");const columns=declared.map(column=>{const id=this.liveColumnId(column);const field=column.field;const sortIndex=this.activeSortModel.findIndex(entry=>entry.field===field);return{id,definition:column,actualWidth:this.resolveEffectiveColumnWidth(field),visible:visibleIds.has(id),pinned:this.pinSideOf(column),sort:sortIndex<0?null:{direction:this.activeSortModel[sortIndex].direction,index:sortIndex},aggFunc:typeof column.aggFunc==="string"?column.aggFunc:null,pivotActive:this.pivotModeActive()&&(this.pivotValueColumns??[]).includes(field),parentId:parentByColumn.get(id)??null}});return{columns,groups}}liveRowSnapshotGraph(){const displayed=this.getDisplayRows();const externalKind=this.serverSideModeActive()?"server":this.viewportModeActive()?"viewport":this.infiniteModeActive()?"infinite":null;const inputs=[...Object.values(this.engineRowsInputs()),displayed,this.selectionState.selectedRowIds,externalKind,this.serverSideDatasource,this.serverSideGroupCols,this.serverSideState,this.viewportDatasource,this.viewportState,this.datasource,this.infiniteCache];const cached=this.liveRowSnapshotCache;if(cached!==null&&sameEngineRowsInputs(cached.inputs,inputs)){return cached.graph}const source=externalKind===null?this.rowData??[]:[];const usedIds=new Set;const duplicateIds=new Set;const resolvePublicId=(row,fallbackIndex,allowFallback)=>{let value;if(typeof this.getRowId!=="function"){if(!allowFallback)return null;value=fallbackIndex}else{try{value=this.getRowId(row)}catch{}}const valid=typeof value==="string"&&value.length>0||typeof value==="number"&&Number.isFinite(value);if(!valid){if(!this.warnedLiveInvalidRowIds){this.warnedLiveInvalidRowIds=true;console.warn("[SG:LIVE:ROW] bad id/throw; omit")}return null}const id=value;if(usedIds.has(id))duplicateIds.add(id);else usedIds.add(id);return id};const entityRows=externalKind===null?source:displayed;const publicIds=entityRows.map((row,index)=>row!==null&&typeof row==="object"&&(externalKind===null||!this.isSentinelDisplayRow(row))?resolvePublicId(row,index,externalKind===null):null);if(duplicateIds.size>0&&!this.warnedLiveDuplicateRowIds){this.warnedLiveDuplicateRowIds=true;console.warn(`[SG:LIVE:ROW] dup=${duplicateIds.size}; omit`)}const rows=[];const byId=new Map;const syntheticIds=new Map;const syntheticId=(kind,logicalKey)=>{const mapKey=`${kind}\0${logicalKey}`;const existing=syntheticIds.get(mapKey);if(existing!==void 0)return existing;const base=`\0sy-grid:${kind}:${logicalKey}`;let id=base;let collision=0;while(usedIds.has(id))id=`${base}#${++collision}`;usedIds.add(id);syntheticIds.set(mapKey,id);return id};const publicIdKey=id=>typeof id==="number"?`number:${String(id)}`:`string:${id}`;const add=(id,patch)=>{const existing=byId.get(id);if(existing)return existing;const snapshot={id,sourceIndex:null,displayIndex:null,data:null,parentId:null,childIds:[],group:false,leaf:false,master:false,detail:false,level:0,route:[],selected:false,expanded:false,...patch};byId.set(id,snapshot);rows.push(snapshot);return snapshot};const show=(snapshot,index)=>{snapshot.displayIndex=index};const appendChild=(parentId,childId)=>{if(parentId===null)return;const parent=byId.get(parentId);if(!parent||parent.childIds.includes(childId))return;parent.childIds=[...parent.childIds,childId]};const sourceSnapshotsByObject=new WeakMap;const sourceSnapshotByObject=row=>sourceSnapshotsByObject.get(row)??null;const master=this.masterDetailActive();const serverFlat=externalKind==="server"?this.serverSideFlatten():[];const externalSnapshots=[];entityRows.forEach((row,index)=>{if(row===null||typeof row!=="object"||externalKind!==null&&this.isSentinelDisplayRow(row))return;const explicitId=publicIds[index];if(explicitId!==null&&duplicateIds.has(explicitId))return;if(explicitId===null&&externalKind===null)return;const serverRow=serverFlat[index];const id=explicitId??syntheticId(externalKind,serverRow?.kind==="leaf"?`${serverRow.parentPath}\0${serverRow.childIndex}`:String(index));const snapshot=add(id,{data:row,leaf:true,selected:this.selectionState.selectedRowIds.has(id)});if(externalKind===null){snapshot.sourceIndex=index;snapshot.master=master;snapshot.expanded=this.expandedDetailRows.has(id);sourceSnapshotsByObject.set(row,sourceSnapshotsByObject.has(row)?null:snapshot)}else{show(snapshot,index);externalSnapshots[index]=snapshot}});const treeSurface=this.treeSurface();const groupFields=treeSurface===null?this.effectiveGroupFields():null;const groupIdentity=marker=>{const level=marker.level??0;const route=(marker.groupKeys??[marker.key===null?BLANK_GROUP_KEY:String(marker.key)]).map(String);return{id:syntheticId("group",`${level}:${frameSegmentPath(route)}`),route,level,expandKey:marker.key}};const treeIdByPath=new Map;const treeSnapshot=(data,route,group,level,expanded)=>{const pathKey=foldTreePathKey(route);const dataSnapshot=data&&typeof data==="object"?sourceSnapshotByObject(data):null;const id=dataSnapshot?.id??syntheticId("tree",pathKey);const parentPath=route.length>1?foldTreePathKey(route.slice(0,-1)):null;const parentId=parentPath===null?null:treeIdByPath.get(parentPath)??(externalKind==="server"?syntheticId("tree",parentPath):null);const snapshot=dataSnapshot??add(id,{data});snapshot.parentId=parentId;snapshot.group=group;snapshot.leaf=!group;snapshot.level=level;snapshot.route=route;snapshot.expanded=expanded;appendChild(parentId,snapshot.id);if(!treeIdByPath.has(pathKey))treeIdByPath.set(pathKey,snapshot.id);return snapshot};if(treeSurface!==null){const{createTreeDataStage}=this.treeDataEngine();const logical=runPipeline(source,[createTreeDataStage({getDataPath:treeSurface.getDataPath,getRowLabel:treeSurface.getRowLabel,getSegmentLabel:treeSurface.getSegmentLabel})]).rows;for(const entry of logical){if(!isTreeNodeRow(entry))continue;const route=entry.path.map(String);const pathKey=foldTreePathKey(route);treeSnapshot(entry.row,route,entry.hasChildren,entry.depth,!this.collapsedTreeNodes.has(pathKey))}}else if(groupFields!==null){const{createGroupStage,createMultiGroupStage}=this.groupPivotEngine();const stage=groupFields.length>=2?createMultiGroupStage({groupFields}):createGroupStage({field:groupFields[0]});const logical=runPipeline(source,[stage]).rows;const stack=[];for(const entry of logical){if(isGroupMarkerRow(entry)){const identity=groupIdentity(entry);stack.length=identity.level;const parentId2=identity.level>0?stack[identity.level-1]??null:null;const snapshot2=add(identity.id,{parentId:parentId2,group:true,level:identity.level,route:identity.route,expandKey:identity.expandKey,expanded:identity.expandKey===null?!this.collapsedRowGroups.has(BLANK_GROUP_KEY):!this.collapsedRowGroups.has(identity.expandKey)});snapshot2.parentId=parentId2;appendChild(parentId2,snapshot2.id);stack[identity.level]=snapshot2.id;continue}if(this.isSentinelDisplayRow(entry))continue;const snapshot=sourceSnapshotByObject(entry);if(!snapshot)continue;const parentId=stack.length>0?stack[stack.length-1]:null;snapshot.parentId=parentId;snapshot.level=stack.length;appendChild(parentId,snapshot.id)}}displayed.forEach((row,displayIndex)=>{if(isGroupMarkerRow(row)){const identity=groupIdentity(row);const snapshot2=byId.get(identity.id);if(snapshot2){show(snapshot2,displayIndex);snapshot2.expanded=row.expanded}return}if(isTreeNodeRow(row)){const route=row.path.map(String);const snapshot2=treeSnapshot(row.row,route,row.hasChildren,row.depth,row.expanded);show(snapshot2,displayIndex);return}if(isDetailRow(row)){const parent=byId.get(row.forId);if(!parent)return;const id=syntheticId("detail",publicIdKey(row.forId));const snapshot2=add(id,{parentId:row.forId,detail:true,level:parent.level+1,route:[String(row.forId)],expanded:true});show(snapshot2,displayIndex);appendChild(row.forId,snapshot2.id);return}if(this.isSentinelDisplayRow(row))return;const snapshot=externalSnapshots[displayIndex]??sourceSnapshotByObject(row);if(!snapshot)return;show(snapshot,displayIndex);const serverRow=serverFlat[displayIndex];if(serverRow?.kind==="leaf"&&serverRow.groupKeys.length>0){const route=serverRow.groupKeys.map(String);const parentId=syntheticId("tree",foldTreePathKey(route));if(byId.has(parentId)){snapshot.parentId=parentId;snapshot.level=route.length;snapshot.route=route;appendChild(parentId,snapshot.id)}}});const graph={rows,byId};this.liveRowSnapshotCache={inputs,graph};return graph}liveRowsForPublication(match){return this.liveMutationDepth>0||this.liveObjectModel===null?[]:this.liveRowSnapshotGraph().rows.filter(match)}async applyLiveMutation(mutation,signal){if(signal.aborted)return this.cancelledLiveMutation();this.liveMutationDepth+=1;try{const result=await this.applyLiveMutationUnchecked(mutation,signal);return signal.aborted?this.cancelledLiveMutation(result.eventType):result}finally{this.liveMutationDepth-=1}}cancelledLiveMutation(eventType="dataChanged"){return{applied:false,eventType}}async completeLiveMutation(eventType,before,signal,commit,readAfter,equal=Object.is){if(signal.aborted)return this.cancelledLiveMutation(eventType);await commit();if(signal.aborted)return this.cancelledLiveMutation(eventType);const after=await readAfter();return signal.aborted?this.cancelledLiveMutation(eventType):{applied:!equal(before,after),eventType,before,after}}liveWritableColumn(field){const candidates=flattenColumnDefs(this.columnDefs??[]).map(candidate=>this.resolveColDef(candidate)).filter(candidate=>candidate!==null&&candidate.field===field);if(candidates.length!==1)return null;const column=candidates[0];return column.editable===true&&typeof column.valueGetter!=="function"&&typeof column.valueGetter!=="string"&&typeof column.formula!=="string"?column:null}liveRowWriteAllowed(snapshot,previous,next,requestedField){const rowIndex=snapshot.displayIndex??snapshot.sourceIndex??0;if(requestedField!==void 0){const column=this.liveWritableColumn(requestedField);return column!==null&&this.passesEditPolicy(rowIndex,column,previous)}const keys=new Set([...Object.keys(previous),...Object.keys(next)]);for(const key of keys){if(Object.is(previous[key],next[key]))continue;if(key.includes("."))return false;const column=this.liveWritableColumn(key);if(column===null||!this.passesEditPolicy(rowIndex,column,previous))return false}return true}async applyLiveMutationUnchecked(mutation,signal){if(mutation.kind==="column"){const liveColumn=this.liveColumnSnapshotGraph().columns.find(column=>column.id===mutation.id);const field2=liveColumn?.definition.field??null;if(field2===null)return{applied:false,eventType:"dataChanged"};if(mutation.type==="setWidth"){return this.completeLiveMutation("widthChanged",await this.getColumnWidth(field2),signal,()=>this.setColumnWidth(field2,mutation.value),()=>this.getColumnWidth(field2))}if(mutation.type==="setVisible"){const before3=!this.columnHidden.has(field2);return this.completeLiveMutation("visibilityChanged",before3,signal,()=>mutation.value?this.showColumn(field2):this.hideColumn(field2),()=>!this.columnHidden.has(field2))}if(mutation.type==="setPinned"){return this.completeLiveMutation("pinnedChanged",await this.getColumnPinned(field2),signal,()=>this.setColumnPinned(field2,mutation.value),()=>this.getColumnPinned(field2))}if(mutation.type==="setSort"){const before3=this.activeSortModel.map(entry=>({...entry}));const next2=mutation.multi?[...before3.filter(entry=>entry.field!==field2),...mutation.value?[{field:field2,direction:mutation.value}]:[]]:mutation.value?[{field:field2,direction:mutation.value}]:[];return this.completeLiveMutation("sortChanged",before3,signal,()=>this.setSortModel(next2),()=>this.activeSortModel.map(entry=>({...entry})),sortModelsEqual)}const before2=liveColumn?.aggFunc??null;if(before2===mutation.value||this.pivotModeActive()){return{applied:false,eventType:"aggregationChanged",before:before2,after:before2}}const update=nodes=>nodes.map(node=>{if(isColumnGroupDef(node))return{...node,children:update([...node.children])};return this.liveColumnId(node)===mutation.id?{...node,aggFunc:mutation.value??void 0}:node});this.columnDefs=update([...this.columnDefs??[]]);return{applied:true,eventType:"aggregationChanged",before:before2,after:mutation.value}}if(mutation.kind==="columnGroup"){const before2=!this.collapsedGroups.has(mutation.id);return this.completeLiveMutation("expandedChanged",before2,signal,()=>this.setColumnGroupOpened(mutation.id,mutation.value),()=>!this.collapsedGroups.has(mutation.id))}const snapshot=this.liveRowSnapshotGraph().byId.get(mutation.id);if(!snapshot||snapshot.sourceIndex===null&&mutation.type!=="setExpanded"){return{applied:false,eventType:"dataChanged"}}if(mutation.type==="setSelected"){const before2=this.selectionState.selectedRowIds.has(mutation.id);const next2=new Set(this.selectionState.selectedRowIds);if(mutation.value)next2.add(mutation.id);else next2.delete(mutation.id);if(signal.aborted)return this.cancelledLiveMutation("selectionChanged");await this.selectRows([...next2]);if(signal.aborted)return this.cancelledLiveMutation("selectionChanged");const after2=this.selectionState.selectedRowIds.has(mutation.id);return{applied:before2!==after2,eventType:"selectionChanged",before:before2,after:after2,data:snapshot.data??void 0}}if(mutation.type==="setExpanded"){const before2=snapshot.expanded;if(snapshot.group&&(this.treeSurface()!==null||this.serverSideModeActive())&&snapshot.route.length>0){await this.setTreeNodeExpanded(snapshot.route,mutation.value)}else if(snapshot.group&&snapshot.expandKey!==void 0){await this.setRowGroupExpanded(snapshot.expandKey,mutation.value)}else if(snapshot.master){await this.setDetailRowExpanded(mutation.id,mutation.value)}else{return{applied:false,eventType:"expandedChanged",before:before2,after:before2}}if(signal.aborted)return this.cancelledLiveMutation("expandedChanged");const after2=this.liveRowSnapshotGraph().byId.get(mutation.id)?.expanded??before2;return{applied:before2!==after2,eventType:"expandedChanged",before:before2,after:after2,data:snapshot.data??void 0}}if(this.serverSideModeActive()||snapshot.data===null||snapshot.sourceIndex===null){return{applied:false,eventType:"dataChanged"}}if(mutation.type==="setHeight"){const before2=this.liveRowHeights.get(mutation.id)??null;if(mutation.value===null)this.liveRowHeights.delete(mutation.id);else this.liveRowHeights.set(mutation.id,mutation.value);this.rowHeightCache?.reset();this.recomputeVirtualWindow();return{applied:before2!==mutation.value,eventType:"heightChanged",before:before2,after:mutation.value,data:snapshot.data}}if(mutation.type==="focus"||mutation.type==="startEditing"){if(snapshot.displayIndex===null)return{applied:false,eventType:mutation.type==="focus"?"focused":"editingStarted"};const columns=this.effectiveColumns();const colIndex=mutation.field===void 0?0:columns.findIndex(column=>column.field===mutation.field||this.liveColumnId(column)===mutation.field);if(colIndex<0)return{applied:false,eventType:mutation.type==="focus"?"focused":"editingStarted"};if(mutation.type==="startEditing"&&this.liveWritableColumn(columns[colIndex].field)===null){return{applied:false,eventType:"editingStarted",field:columns[colIndex].field,data:snapshot.data}}this.commitActiveCell({rowIndex:snapshot.displayIndex,colIndex});const applied2=mutation.type==="focus"?true:await this.requestCellEdit(snapshot.displayIndex,colIndex,"api",null);return{applied:applied2,eventType:mutation.type==="focus"?"focused":"editingStarted",field:columns[colIndex]?.field,data:snapshot.data}}if(mutation.type!=="setData"&&mutation.type!=="updateData"&&mutation.type!=="setValue"){return{applied:false,eventType:"dataChanged"}}const previous=snapshot.data;const next=mutation.type==="setData"?{...mutation.value}:mutation.type==="updateData"?{...previous,...mutation.value}:setOwnFieldPathImmutable(previous,mutation.field,mutation.value);const field=mutation.type==="setValue"?mutation.field:void 0;const eventType=field===void 0?"dataChanged":"valueChanged";const before=field===void 0?previous:readOwnFieldPath(previous,field);let canUseTransaction=false;if(typeof this.getRowId==="function"){try{canUseTransaction=Object.is(this.getRowId(next),snapshot.id)}catch{canUseTransaction=false}}if(next===previous||!this.liveRowWriteAllowed(snapshot,previous,next,field)||!canUseTransaction){return{applied:false,eventType,before,after:before,field,data:previous}}const result=await this.applyTransaction({update:[next]},"live-row-ref");if(signal.aborted)return this.cancelledLiveMutation(eventType);const applied=result.updated.length===1;const after=applied?result.updated[0].row:previous;return{applied,eventType,before,after:field===void 0?after:readOwnFieldPath(after,field),field,data:after}}setupInternalSubscriptions(){if(this.undoRedoUnsubscribe===null){this.undoRedoUnsubscribe=this.undoRedoStack.subscribe(event=>{if(event.kind==="cleared"){this.historyChanged.emit({kind:"cleared",depth:{undo:0,redo:0}});this.recordAudit({kind:"history",source:"local",action:"cleared",undoDepth:0,redoDepth:0});return}this.historyChanged.emit({kind:event.kind,depth:event.depth,label:event.entry.label});this.recordAudit({kind:"history",source:event.kind==="undone"?"undo":event.kind==="redone"?"redo":"local",action:event.kind,label:event.entry.label,undoDepth:event.depth.undo,redoDepth:event.depth.redo})})}if(this.columnVisibilityChangedUnsubscribe===null){this.columnVisibilityChangedUnsubscribe=this.columnVisibilityController.subscribe("changed",event=>{this.columnHidden=new Set(event.hiddenIds);this.alignedNotify();if(this.columnVisibilityForwardSuppressed)return;this.columnVisibilityChanged.emit({colId:event.colId,hidden:event.hidden,hiddenIds:Array.from(event.hiddenIds)});const column=this.resolvedColumnDefs().find(candidate=>candidate.field===event.colId||this.liveColumnId(candidate)===event.colId);this.publishLiveObjectChange("column",column?this.liveColumnId(column):event.colId,"visibilityChanged",this.columnVisibilityEventSource,{before:event.hidden,after:!event.hidden})})}if(this.columnVisibilityResetUnsubscribe===null){this.columnVisibilityResetUnsubscribe=this.columnVisibilityController.subscribe("reset",event=>{const previouslyHidden=new Set(this.columnHidden);this.columnHidden=new Set(event.hiddenIds);this.alignedNotify();if(this.columnVisibilityForwardSuppressed)return;this.columnVisibilityChanged.emit({colId:"*",hidden:false,hiddenIds:Array.from(event.hiddenIds)});this.publishLiveObjectChanges(this.resolvedColumnDefs().filter(column=>previouslyHidden.has(column.field)&&!event.hiddenIds.has(column.field)).map(column=>["column",this.liveColumnId(column),"visibilityChanged",this.columnVisibilityEventSource,{before:false,after:true}]))})}}proGateRef=null;licenseRevision=0;licenseRenderTick=0;proGate(){if(this.proGateRef===null)this.proGateRef=new GridLicenseFacade(this);return this.proGateRef}engineAwaitingLicense=false;proAllowed(feature,member){return this.proGate().allowed(feature,member)}proWorkAllowed(feature,member){return this.proGate().workAllowed(feature,member)}proNewWorkAllowed(feature,member){return this.proGate().newWorkAllowed(feature,member)}proModuleAvailable(feature,member,chunkId){return this.proGate().moduleAvailable(feature,member,chunkId,gridProChunkInBuild(chunkId))}proUiChunks=Object.freeze({});proUiChunksArming=new Set;proUiChunkTick=0;proUiChunk(chunkId,feature,member){if(!this.proModuleAvailable(feature,member,chunkId))return null;return this.proUiChunks[chunkId]??null}armProUiChunk(chunkId,feature,member){if(!this.proModuleAvailable(feature,member,chunkId))return;if(this.proUiChunks[chunkId]!==void 0||this.proUiChunksArming.has(chunkId))return;if(this.proGate().frozen(feature))return;this.proUiChunksArming.add(chunkId);void this.getChunkLoader().load(chunkId).then(module=>{this.proUiChunksArming.delete(chunkId);this.acceptProUiChunk(chunkId,module)},()=>{this.proUiChunksArming.delete(chunkId)})}armProUiChunks(){if(!this.usingColumnDefsApi())return;if(this.conditionBuilder&&this.proAllowed("grid.advanced-filter","conditionBuilder")){this.armProUiChunk("pro-filters","grid.advanced-filter","conditionBuilder")}if(this.activeConditionTree&&this.proAllowed("grid.advanced-filter","setConditionFilter")){this.armProUiChunk("pro-filters","grid.advanced-filter","setConditionFilter")}const filterKind=this.declaredProFilterKind();if(filterKind!==null){this.armProUiChunk("pro-filters",filterKind==="set"?"grid.set-filter":"grid.multi-filter","columnDefs")}if(this.contextMenu===true&&this.proAllowed("grid.context-menu","contextMenu")){this.armProUiChunk("pro-panels","grid.context-menu","contextMenu")}if(this.columnMenu===true&&this.proAllowed("grid.column-menu","columnMenu")){this.armProUiChunk("pro-panels","grid.column-menu","columnMenu")}if(this.find===true&&this.proAllowed("grid.find","find")){this.armProUiChunk("pro-panels","grid.find","find")}if(this.sideBarSpec()!==null)this.armProUiChunk("pro-panels","grid.tool-panels","sideBar");if(this.cellNotes&&this.proAllowed("grid.cell-notes","cellNotes"))this.armProUiChunk("pro-panels","grid.cell-notes","cellNotes");if(this.batchEditToolbar&&this.proAllowed("grid.batch-editing","batchEditToolbar"))this.armProUiChunk("pro-panels","grid.batch-editing","batchEditToolbar");if(this.statusBarSpec()!==null)this.armProUiChunk("pro-panels","grid.status-bar","statusBar");if(this.rangeSelection===true&&this.proAllowed("grid.range-selection","rangeSelection")){this.armProUiChunk("range-selection","grid.range-selection","rangeSelection")}}declaredProFilterKind(){for(const col of this.effectiveColumns()){const kind=this.filterUiKind(col.filter);if(kind==="set"||kind==="multi")return kind}for(const filter of Object.values(this.activeFilters)){if(filter.kind==="set"&&this.filterKindAllowed("set",true))return"set";if(filter.kind==="multi"&&this.filterKindAllowed("multi",filter.spec.parts.some(part=>part.kind==="set")))return"multi"}return null}async loadProUiChunk(chunkId){const resident=this.proUiChunks[chunkId];if(resident!==void 0)return resident;const module=await this.getChunkLoader().load(chunkId);this.acceptProUiChunk(chunkId,module);return module}loadProFiltersChunk(){return this.loadProUiChunk("pro-filters")}loadProPanelsChunk(){return this.loadProUiChunk("pro-panels")}loadRangeSelectionChunk(){return this.loadProUiChunk("range-selection")}acceptProUiChunk(chunkId,module){if(this.proUiChunks[chunkId]!==void 0||module===void 0)return;this.proUiChunks=Object.freeze({...this.proUiChunks,[chunkId]:module});if(chunkId==="range-selection")this.clampRangesAfterChange();if(!this.hasDisconnected){if(chunkId==="ssrm-ops"&&this.serverSideState===null&&this.serverSideModeActive()){this.initServerSide();this.recomputeVirtualWindow()}if(chunkId==="viewport-row-model"&&this.viewportState===null&&this.viewportModeActive()){this.initViewport();this.recomputeVirtualWindow()}}this.proUiChunkTick+=1}armProEngineChunks(){if(!this.usingColumnDefsApi())return;if(this.groupByDeclared()&&this.proAllowed("grid.row-grouping","groupBy"))this.armGroupPivotChunkForGrouping();if(this.groupPanel===true&&this.groupPanelActive())this.armGroupPivotChunkForGrouping();if(this.pivotMode===true&&this.pivotAxesDeclared()&&this.proAllowed("grid.pivot","pivotMode"))this.ensureGroupPivotChunkArmed();const treeMember=this.treeDeclaredMember();if(treeMember!==null&&this.proAllowed("grid.tree-data",treeMember))this.armProUiChunk("tree-data","grid.tree-data",treeMember);if(this.masterDetail===true&&this.proAllowed("grid.master-detail","masterDetail")){this.armProUiChunk("master-detail","grid.master-detail","masterDetail")}if(this.serverSideDatasource!=null&&this.proAllowed("grid.server-side-row-model","serverSideDatasource")){this.armProUiChunk("ssrm-ops","grid.server-side-row-model","serverSideDatasource")}if(this.viewportDatasource!=null&&this.proAllowed("grid.viewport-row-model","viewportDatasource")){this.armProUiChunk("viewport-row-model","grid.viewport-row-model","viewportDatasource")}}groupByDeclared(){if(!this.usingColumnDefsApi())return false;const raw=this.groupBy;return(Array.isArray(raw)?raw:[raw]).some(f=>typeof f==="string"&&f.trim()!=="")}treeDeclaredMember(){if(typeof this.getDataPath==="function")return"getDataPath";const idField=this.treeIdField;const parentField=this.treeParentField;return typeof idField==="string"&&idField!==""&&typeof parentField==="string"&&parentField!==""?"treeIdField":null}armGroupPivotChunkForGrouping(){if(this.groupPivotChunkModule!==null||this.groupPivotChunkArming)return;if(this.proGate().frozen("grid.row-grouping"))return;this.ensureGroupPivotChunkArmed()}async residentGroupPivotChunk(){const chunk=await this.loadGroupPivotChunk();if(this.groupPivotChunkModule===null){this.groupPivotChunkModule=chunk;this.groupPivotChunkTick+=1}return chunk}engineArriving(feature,member,chunkId,resident){if(resident||!gridProChunkInBuild(chunkId))return false;return gridEngineArriving({allowed:this.proAllowed(feature,member),inBuild:true,resident:false,frozen:this.proGate().frozen(feature)})}treeEngineArriving(){if(!this.usingColumnDefsApi())return false;const member=this.treeDeclaredMember();return member!==null&&this.engineArriving("grid.tree-data",member,"tree-data",this.proUiChunks["tree-data"]!==void 0)}viewportEngineArriving(){return this.viewportDatasource!=null&&this.usingColumnDefsApi()&&this.viewportState===null&&this.engineArriving("grid.viewport-row-model","viewportDatasource","viewport-row-model",this.proUiChunks["viewport-row-model"]!==void 0)}pivotWinsOnArrival(){if(this.pivotMode!==true||!this.pivotAxesDeclared())return false;if(!this.engineArriving("grid.pivot","pivotMode","group-pivot",this.groupPivotChunkModule!==null))return false;return gridPivotWinsOnArrival({pivotArriving:true,treeActive:this.treeSurface()!==null,treeArriving:this.treeEngineArriving(),serverActive:this.serverSideModeActive(),windowedActive:this.viewportState!==null||this.infiniteCache!==null,viewportArriving:this.viewportEngineArriving()})}async groupEngineStep(){if(this.groupPivotChunkModule===null&&this.groupByDeclared())await this.residentGroupPivotChunk()}async treeEngineStep(){if(this.proUiChunks["tree-data"]===void 0&&this.treeDeclaredMember()!==null)await this.loadProUiChunk("tree-data")}async masterDetailEngineStep(){if(this.proUiChunks["master-detail"]===void 0&&this.masterDetail===true&&this.usingColumnDefsApi()){await this.loadProUiChunk("master-detail")}}residentEngine(chunk,chunkId){if(chunk===null||chunk===void 0)throw new Error(`[SG:G8] the '${chunkId}' Pro engine is not resident`);return chunk}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(){if(!this.cellNotes||!this.proAllowed("grid.cell-notes","cellNotes"))return null;return this.proUiChunk("pro-panels","grid.cell-notes","cellNotes")?.renderNotesToolbar(this.notesHost())??null}renderBatchToolbar(){if(!this.batchEditToolbar||!this.proAllowed("grid.batch-editing","batchEditToolbar"))return null;void this.batchPendingCells;return this.proUiChunk("pro-panels","grid.batch-editing","batchEditToolbar")?.renderBatchToolbar(this.batchUiHost())??null}renderFindToolbar(){if(!this.find||!this.proAllowed("grid.find","find"))return null;return this.proUiChunk("pro-panels","grid.find","find")?.renderFindToolbar(this.findHost())??null}renderColumnMenuButton(col){if(!this.columnMenu||!this.proAllowed("grid.column-menu","columnMenu"))return null;return this.proUiChunk("pro-panels","grid.column-menu","columnMenu")?.renderColumnMenuButton(this.columnMenuHost(),col)??null}rangeSelectionHost(){return this}auditProDeclarations(){const declared=gridDeclaredProProps(prop=>this[prop]);for(const[feature,member]of declared){if(!this.proAllowed(feature,member))continue;const chunkId=GRID_DECLARATION_CHUNKS[feature];if(chunkId!==void 0)this.proModuleAvailable(feature,member,chunkId);if(member==="engine"){this.proGate().moduleAvailable(feature,member,"sy-grid-pro",gridProUnavailableReason()!==GRID_PRO_ENGINE_NOT_IN_BUILD)}}}proMethod(method,steps){return this.proGate().method(method,chunk=>this.proRuntimeResident(chunk),steps)}proRun(method,body){return this.proMethod(method,{exec:()=>void 0,publish:body})}proRuntimeResident(chunk){if(chunk==="chart-link")return this.chartLinkRuntimeRef!==null;const loader=this.chunkLoader;return loader!==null&&!loader.stats().disposed&&loader.isLoaded(chunk)}licenseHostAttributes(){void this.licenseRenderTick;return this.proGateRef?.attributes()??{}}licenseSafePoint(){return this.editStore.active===null&&this.editingCell===null&&this.rowEditState.session===null}initialStateLicenseFeatures=null;formulaFreeze=new GridFormulaFreeze;pivotRecomputeHeld=false;viewportFeedHeld=false;heldLicenseInits=new GridHeldInits;collabFreeze=new GridCollabFreeze;retireLostFormulaAcceleration(){const gate=this.proGateRef;if(gate===null||this.formulaDualEngine===null||this.formulas!==true)return;if(!gate.lost("grid.wasm-acceleration")||gate.frozen("grid.formulas"))return;this.rebuildFormulaSheet()}accelerationPortRef=null;accelerationPort(){this.accelerationPortRef??=createGridAccelerationPort(()=>this.proGateRef?.live("grid.wasm-acceleration")===true);return this.accelerationPortRef.port}notifyAccelerationPort(){this.accelerationPortRef?.notify()}onBrandLogoChange(){this.proGateRef?.brandChanged()}renderBrand(){const value=this.brandLogo;const view=value===void 0||value===null||value===""?GRID_DEFAULT_BRAND_VIEW:this.proGate().brandView(value);if(view?.attrs["data-sy-brand"]!=="default")releaseBrandIntegrity(this.host);if(view===null)return null;const image=view.image;return h("div",{class:"sy-grid__brand-strip","aria-hidden":"true",ref:node=>{if(view.attrs["data-sy-brand"]==="default")protectDefaultBrand(this.host,node,{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"})}},h("span",{key:`brand-${view.attrs["data-sy-brand"]}`,...view.attrs,class:`${view.attrs.class} sy-grid__brand`},image!==null?h("img",{...image,onError:()=>this.proGateRef?.brandImageFailed(image.src)}):view.attrs.hidden!==void 0?null:h("svg",{viewBox:`0 0 ${BRAND_LOCKUP_WIDTH} ${BRAND_LOCKUP_HEIGHT}`,width:String(BRAND_LOCKUP_WIDTH),height:String(BRAND_LOCKUP_HEIGHT),fill:"currentColor","aria-hidden":"true",focusable:"false"},h("path",{"data-sy-brand-symbol":"",d:BRAND_LOCKUP_SYMBOL_PATH}),h("path",{"data-sy-brand-wordmark":"",d:BRAND_LOCKUP_WORDMARK_PATH}))))}componentWillLoad(){this.proGate();this.validateColumnDefs();if((this.pinnedTopRowData?.length??0)>0||(this.pinnedBottomRowData?.length??0)>0){this.pendingPinnedRows={input:this.pinnedRowsFromProps(),source:"prop"}}this.syncRowLayout();this.syncRowDrag();if(this.alignedDeclared())this.syncAlignedGrids();this.seedInitialSortFromColumnDefs();this.seedInitialPagination();this.seedInitialQuickFilter();this.reEvaluateEngine();this.rebuildFormulaSheet();this.syncWorkbookBinding("initial");this.syncAuditTrail();if(this.datasource!=null)this.initInfiniteCache();if(this.serverSideDatasource!=null)this.initServerSide();if(this.viewportDatasource!=null)this.initViewport();this.loadingDebouncer=createLoadingDebouncer(this.minLoadingDuration);this.updateLoadingState();applyTheme(this.host,this.theme);this.resolvedMessages=resolveLocale(this.locale);this.selectionState=createSelectionState(this.rowSelection);this.openToolPanelId=this.sideBarSpec()?.defaultOpen??null;this.applyInitialGridState();this.setupInternalSubscriptions();this.columnVisibilityForwardSuppressed=true;try{const initialDefs=this.resolvedColumnDefs();for(let i=0;i<initialDefs.length;i++){const col=initialDefs[i];const flag=col.hidden===true||col.hidden===void 0&&col.hide===true;if(flag)this.columnVisibilityController.hide(col.field)}}finally{this.columnVisibilityForwardSuppressed=false}}onThemeChanged(){applyTheme(this.host,this.theme);this.themeChanged.emit({theme:this.theme,resolvedTokens:{...resolveTheme(this.theme)}})}onLocaleChanged(){this.resolvedMessages=resolveLocale(this.locale);this.localeChanged.emit({locale:this.locale,resolvedMessages:{...this.resolvedMessages}})}onRowSelectionModeChanged(){const previous=this.selectionState;const next=setRowSelectionMode(previous,this.rowSelection);this.rangeAnchorRowId=null;if(next===previous)return;this.selectionState=next;const diff=diffSelection(previous,next);if(diff.addedIds.length===0&&diff.removedIds.length===0)return;this.fireSelectionChanged({mode:next.mode,selectedRowIds:Array.from(next.selectedRowIds),addedIds:diff.addedIds,removedIds:diff.removedIds},"state")}seedInitialQuickFilter(){const raw=this.quickFilterText;this.quickFilterValue=typeof raw==="string"?raw:"";this.quickFilterPendingValue=this.quickFilterValue}seedInitialPagination(){const requested=this.pageSize;if(typeof requested!=="number"||!Number.isFinite(requested)||!Number.isInteger(requested)||requested<1){console.warn(`[SG:PAGE] bad=${requested}; use=${DEFAULT_PAGE_SIZE}`);this.activePagination={pageIndex:0,pageSize:DEFAULT_PAGE_SIZE};return}this.activePagination={pageIndex:0,pageSize:requested}}onPageSizeChange(newValue){if(typeof newValue!=="number"||!Number.isFinite(newValue)||!Number.isInteger(newValue)||newValue<1){console.warn(`[SG:PAGE] bad=${newValue}; ignore`);return}if(newValue===this.activePagination.pageSize)return;this.activePagination=changePageSize(this.activePagination,newValue,this.latestPaginatedMeta);if(this.host?.isConnected){this.resetVirtualScrollPosition();this.recomputeVirtualWindow()}}onColumnDefsChanged(){this.invalidateComponentFilterRuntime();this.liveObjectModel?.reconcile("definitions-replaced");this.syncRowLayout();this.syncRowDrag();if(this.rowLayoutState!==null&&this.rowLayoutChunk!==null){this.rowLayoutChunk.invalidateRowLayout(this.rowLayoutState,"columns")}if(!this.host?.isConnected)return;this.clampActiveCellAfterChange();this.clampRangesAfterChange()}onExternalFilterInputsChanged(){this.externalFilterRevision+=1;this.externalFilterReadyRevision=-1;this.invalidateComponentFilterRuntime();if(this.host?.isConnected)void this.reconcileComponentFilters()}onLifecycleComponentDefinitionsChanged(){this.invalidateComponentFilterRuntime();if(this.host?.isConnected)void this.reconcileComponentFilters()}hasStableLiveRowIds(value){if(!Array.isArray(value)||value.length===0)return true;if(typeof this.getRowId!=="function")return false;const ids=new Set;for(const row of value){try{const id=this.getRowId(row);if(!(typeof id==="string"&&id.length>0||typeof id==="number"&&Number.isFinite(id))||ids.has(id))return false;ids.add(id)}catch{return false}}return true}onGetRowIdChanged(){this.liveRowHeights.clear();this.componentIdentityIndex=null;this.componentIdentityReportedErrors.clear();if(this.lifecycleRendererPresentations.size>0){this.lifecycleRendererPresentations.clear();this.lifecycleRendererPresentationVersion+=1}this.disposeComponentManager();if(this.liveObjectModel===null)return;this.liveObjectModel.invalidateRows("data-replaced");this.liveObjectModel.reconcile()}onKeyboardNavigationChanged(newValue){if(newValue===false){this.invalidateLifecycleEditorRequests();if(this.editorFacade!==null&&this.editorFacade.lookup().status!=="idle"){void this.editorFacade.stop("api",{cancel:true})}if(this.activeCell!==null){this.commitActiveCell(null,{scrollIntoView:false})}if(this.editingCell!==null){this.editingCell=null;this.unregisterLifecycleEditorDocumentOwner()}if(this.editStore.active!==null){const cancelled=cancelEdit(this.editStore);this.editStore=clearEdit(cancelled)}if(this.textEditorState!==null)this.textEditorState=null;if(this.numberEditorState!==null)this.numberEditorState=null;if(this.dateEditorState!==null)this.dateEditorState=null;if(this.calendarState!==null)this.calendarState=null;if(this.calendarFocusedIso!==null)this.calendarFocusedIso=null;if(this.calendarAnchor!==null)this.calendarAnchor=null;if(this.autocompleteAnchor!==null)this.autocompleteAnchor=null;if(this.largeTextConfig!==null)this.largeTextConfig=null;if(this.largeTextAnchor!==null)this.largeTextAnchor=null;if(this.largeTextAnchorEl!==null)this.largeTextAnchorEl=null;if(this.selectEditorState!==null)this.selectEditorState=null;if(this.checkboxEditorState!==null)this.checkboxEditorState=null;if(this.textareaEditorState!==null)this.textareaEditorState=null;if(this.autocompleteEditorState!==null)this.autocompleteEditorState=null;this.textEditorEl=null;this.selectTriggerEl=null;this.autocompleteInputEl=null;this.checkboxEditorEl=null;this.textareaEditorEl=null}}reEvaluateEngine(_newValue,oldValue,propName){if(propName==="rowData"&&this.rowLayoutState!==null&&this.rowLayoutChunk!==null){this.rowLayoutChunk.invalidateRowLayout(this.rowLayoutState,"data")}const incrementalCellEdit=propName==="rowData"&&Array.isArray(_newValue)&&_newValue===this.incrementalRowDataAssignment;if(propName==="rowData"&&!incrementalCellEdit){this.sourceRowIndexCache=null}if((propName==="rowData"||propName==="rows")&&this.filterFacade!==null){const facade=this.filterFacade;void facade.onNewRowsLoaded().then(()=>{if(facade!==this.filterFacade||!this.host?.isConnected)return;this.lifecycleFilterVersion+=1})}if(incrementalCellEdit)return;const rowCount=this.rowData?.length??this.rows?.length??0;const plan=planGridEngine({requested:this.engine,rowCount,proThreshold:this.proThreshold,onUnavailable:this.unavailable,buildAvailable:hasGridProEngine(),buildReason:gridProUnavailableReason()},()=>{const allowed=this.proAllowed("grid.wasm-acceleration","engine");return{allowed,state:allowed?"valid":this.proGate().displayState("grid.wasm-acceleration")}});if(plan.kind==="throw")throw this.proGate().refusalError("grid.wasm-acceleration","engine");if(plan.awaitingLicense)this.engineAwaitingLicense=true;const decision=plan.decision;this.activeTier=decision.tier;this.fallbackReason=decision.fallbackReason;if(this.host?.isConnected){if(propName==="rowData"||propName==="rows"){if(typeof this.getRowId!=="function"){this.liveRowHeights.clear()}else if(Array.isArray(_newValue)&&this.liveRowHeights.size>0){const retainedIds=new Set;for(const row of _newValue){if(row===null||typeof row!=="object")continue;try{const id=this.getRowId(row);if(typeof id==="string"&&id.length>0||typeof id==="number"&&Number.isFinite(id))retainedIds.add(id)}catch{}}for(const id of this.liveRowHeights.keys()){if(!retainedIds.has(id))this.liveRowHeights.delete(id)}}if(this.liveObjectModel!==null&&(!this.hasStableLiveRowIds(oldValue)||!this.hasStableLiveRowIds(_newValue))){this.liveObjectModel.invalidateRows("data-replaced");this.liveObjectModel.reconcile()}else{this.liveObjectModel?.reconcile("data-replaced")}this.resetVirtualScrollPosition();this.detailRowDataCache?.clear();this.detailRowLoading?.clear()}this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange()}}rebuildFormulaSheet(newValue,_oldValue,propName){if(propName==="rowData"&&Array.isArray(newValue)&&newValue===this.incrementalRowDataAssignment){return}if(this.formulas!==true||!this.proAllowed("grid.formulas","formulas")){this.unregisterFormulaWasmEventTarget();this.formulaSheet=null;this.formulaUpgradeToken++;this.formulaSeedToken++;this.formulaSheetSeeding=false;this.disposeFormulaDualEngine();this.formulaFreeze.reset();return}if(this.proGate().frozen("grid.formulas")){this.formulaFreeze.holdRebuild();this.formulaVersion++;return}this.formulaFreeze.reset();const formulaCore=this.formulaCoreArmed();if(formulaCore===null){this.unregisterFormulaWasmEventTarget();this.formulaSheet=null;this.formulaUpgradeToken++;this.formulaSeedToken++;this.formulaSheetSeeding=false;this.disposeFormulaDualEngine();return}const{GridFormulaSheet}=formulaCore;this.ensureFormulaAccelerationProvider();if(this.formulaSheet===null||this.formulaDualEngine!==null){this.disposeFormulaDualEngine();this.formulaSheet=new GridFormulaSheet}const leafCols=flattenColumnDefs(this.columnDefs??[]);const rowCount=Array.isArray(this.rowData)?this.rowData.length:0;this.formulaUpgradeToken++;const seedToken=++this.formulaSeedToken;if(rowCount>=FORMULA_ASYNC_SEED_ROWS){const sheet=this.formulaSheet;this.formulaSheetSeeding=true;let lastRevealAt=0;void sheet.rebuildAsync(leafCols,this.rowData,{shouldAbort:()=>seedToken!==this.formulaSeedToken||this.formulaSheet!==sheet||this.formulas!==true||this.formulaWorkHeld(),onProgress:()=>{if(seedToken!==this.formulaSeedToken||this.formulaSheet!==sheet)return;const now=performance.now();if(now-lastRevealAt<FORMULA_SEED_REVEAL_MS)return;lastRevealAt=now;this.formulaVersion++}}).then(completed=>{if(!completed||seedToken!==this.formulaSeedToken||this.formulaSheet!==sheet)return;this.formulaSheetSeeding=false;this.formulaVersion++;this.scheduleFormulaUpgradeKick();this.syncWorkbookOps(true)})}else{this.formulaSheetSeeding=false;this.formulaSheet.rebuild(leafCols,this.rowData);this.syncWorkbookOps(true)}this.formulaVersion++;this.host?.setAttribute("data-formula-engine","js");if(rowCount<FORMULA_ASYNC_SEED_ROWS)this.scheduleFormulaUpgradeKick()}formulaSeedToken=0;formulaSheetSeeding=false;scheduleFormulaUpgradeKick(){if(this.formulas===true&&!this.proAllowed("grid.formulas","formulas"))return;const scheduledSeedToken=this.formulaSeedToken;let kicked=false;const kick=()=>{if(kicked)return;kicked=true;if(scheduledSeedToken!==this.formulaSeedToken)return;void this.upgradeFormulaSheet(++this.formulaUpgradeToken)};if(typeof requestAnimationFrame==="function"){requestAnimationFrame(()=>requestAnimationFrame(()=>kick()));setTimeout(kick,250)}else{setTimeout(kick,0)}}onWorkbookBindingInputsChanged(){if(this.hasDisconnected||this.host?.isConnected===false)return;this.syncWorkbookBinding("property-change")}async getWorkbookBinding(){return this.proRun("getWorkbookBinding",()=>this.workbookBindingController.current())}async reconnectWorkbook(){const reconnect=enabled=>this.workbookBindingController.reconnect({enabled,workbookId:this.workbookId,sheetName:this.sheetName,reason:"method",throwOnError:true});if(this.formulas!==true)return reconnect(false);return this.proMethod("reconnectWorkbook",{load:()=>this.loadFormulaCore(),exec:()=>null,publish:()=>reconnect(this.proAllowed("grid.formulas","formulas"))})}async loadFormulaCore(){if(this.formulaCore!==null)return this.formulaCore;const core=await this.getChunkLoader().load("formula-core");this.formulaCore=core;return core}async disconnectWorkbook(){return this.proRun("disconnectWorkbook",()=>this.workbookBindingController.disconnect("method"))}syncWorkbookBinding(reason){return this.workbookBindingController.sync({enabled:this.formulas===true&&this.proAllowed("grid.formulas","formulas"),workbookId:this.workbookId,sheetName:this.sheetName,reason})}syncWorkbookBindingHostState(binding){const values=[["data-workbook-id",binding?.workbookId],["data-workbook-key",binding?.workbookKey],["data-sheet-name",binding?.sheetName],["data-sheet-id",binding?.sheetId],["data-workbook-registration-id",binding?.registrationId]];for(const[name,value]of values){if(value===void 0)this.host?.removeAttribute?.(name);else this.host?.setAttribute?.(name,String(value))}}formulaUpgradeToken=0;formulaDualEngine=null;formulaAccelerationLoad=null;formulaAccelerationReadyGeneration=0;formulaWasmEventTargetBridge=null;formulaWasmAllowed(){const allowed=this.proAllowed("grid.wasm-acceleration","formulas")&&this.proWorkAllowed("grid.wasm-acceleration","formulas");if(!allowed&&this.proGate().displayState("grid.wasm-acceleration")==="pending")this.formulaWasmAwaitingLicense=true;return allowed}formulaWasmAwaitingLicense=false;registerFormulaWasmEventTarget(){if(GRID_BUILD_TIER!=="pro"||this.formulas!==true||this.hasDisconnected||this.host?.isConnected===false||!this.proAllowed("grid.formulas","formulas")||!this.formulaWasmAllowed()){return}const bridge=globalThis.SYIDAX_GRID_FORMULA_WASM_EVENT_TARGETS;if(bridge===null||typeof bridge!=="object"||!("register"in bridge)||!("unregister"in bridge)||typeof bridge.register!=="function"||typeof bridge.unregister!=="function"){return}const typedBridge=bridge;if(this.formulaWasmEventTargetBridge===typedBridge)return;this.unregisterFormulaWasmEventTarget();try{typedBridge.register(this.host);this.formulaWasmEventTargetBridge=typedBridge}catch{}}unregisterFormulaWasmEventTarget(){const bridge=this.formulaWasmEventTargetBridge;this.formulaWasmEventTargetBridge=null;if(bridge===null)return;try{bridge.unregister(this.host)}catch{}}ensureFormulaAccelerationProvider(){if(GRID_BUILD_TIER!=="pro"||this.formulas!==true)return;if(!this.proAllowed("grid.formulas","formulas"))return;if(!this.formulaWasmAllowed())return;this.registerFormulaWasmEventTarget();const scope=globalThis;if(typeof scope.SYIDAX_GRID_FORMULA_ACCELERATION_FACTORY==="function")return;if(this.formulaAccelerationLoad!==null)return;const loader=this.getChunkLoader();const readyGeneration=this.formulaAccelerationReadyGeneration;let load;load=loader.load("formula-acceleration").then(loaded=>{if(this.chunkLoader!==loader||this.hasDisconnected||this.formulas!==true||!this.formulaWasmAllowed()){return false}return loaded.installProFormulaEngineFactory()}).catch(()=>false).then(installed=>{if(installed)this.registerFormulaWasmEventTarget();if(installed&&readyGeneration===this.formulaAccelerationReadyGeneration&&this.formulas===true&&!this.hasDisconnected&&this.host?.isConnected!==false){this.rebuildFormulaSheet()}return installed}).finally(()=>{if(this.formulaAccelerationLoad===load)this.formulaAccelerationLoad=null});this.formulaAccelerationLoad=load}disposeFormulaDualEngine(){const engine=this.formulaDualEngine;this.formulaDualEngine=null;if(engine===null)return;try{engine.dispose()}catch{}}async upgradeFormulaSheet(token){if(GRID_BUILD_TIER!=="pro")return;const formulaCore=this.formulaCore;if(formulaCore===null)return;const{GridFormulaSheet}=formulaCore;if(!this.formulaWasmAllowed())return;const factory=globalThis.SYIDAX_GRID_FORMULA_ACCELERATION_FACTORY;if(typeof factory!=="function")return;let engine=null;const upgradeLeafCols=flattenColumnDefs(this.columnDefs??[]);const upgradeRowCount=Array.isArray(this.rowData)?this.rowData.length:0;if(upgradeRowCount*Math.max(1,upgradeLeafCols.length)>KERNEL_PLANE_CELL_GUARD)return;try{engine=await factory();if(token!==this.formulaUpgradeToken||this.formulas!==true||!this.formulaWasmAllowed()){engine.dispose();return}let handedOut=false;const sheet=new GridFormulaSheet({createEngine:()=>{if(handedOut)throw new Error("dual formula engine provider is single-use");handedOut=true;return engine}});const completed=await sheet.rebuildAsync(upgradeLeafCols,this.rowData,{shouldAbort:()=>token!==this.formulaUpgradeToken||this.formulas!==true||!this.formulaWasmAllowed()||this.formulaWorkHeld()});if(!completed||token!==this.formulaUpgradeToken||this.formulas!==true||!this.formulaWasmAllowed()||this.formulaWorkHeld()){engine.dispose();return}this.disposeFormulaDualEngine();this.formulaDualEngine=engine;this.formulaSheet=sheet;this.host?.setAttribute("data-formula-engine","dual");this.formulaVersion++;this.syncWorkbookOps(true)}catch{try{engine?.dispose()}catch{}}}onFormulaEngineReady=()=>{this.formulaAccelerationReadyGeneration+=1;if(this.formulas===true){this.registerFormulaWasmEventTarget();this.rebuildFormulaSheet()}};validateColumnDefs(){if(!this.columnDefs)return;flattenColumnDefs(this.columnDefs).forEach((col,i)=>{if(!col||typeof col.field!=="string"||!col.field){console.warn(`[SG:COLDEF] index=${i}; no field; skip`,col)}})}multiSortActive(){return this.multiSort===true||this.enableMultiSort===true}seedInitialSortFromColumnDefs(){this.activeSortModel=seedInitialSortModel(this.resolvedColumnDefs(),{multi:this.multiSortActive()})}applySortModel(next,source="ui"){const previousModel=[...this.activeSortModel];const previous=this.activeSort;this.activeSortModel=next;const primary=next.length>0?next[0]:null;this.sortChanged.emit({field:primary?primary.field:null,direction:primary?primary.direction:null,previous,sortModel:[...next],previousModel});const beforeByField=new Map(previousModel.map((entry,index)=>[entry.field,{direction:entry.direction,index}]));const afterByField=new Map(next.map((entry,index)=>[entry.field,{direction:entry.direction,index}]));const changedFields=new Set([...beforeByField.keys(),...afterByField.keys()]);this.publishLiveObjectChanges([...changedFields].flatMap(field=>{const before=beforeByField.get(field)??null;const after=afterByField.get(field)??null;if(structuralEqual(before,after))return[];const column=this.resolvedColumnDefs().find(candidate=>candidate.field===field);return[["column",column?this.liveColumnId(column):field,"sortChanged",source,{before,after}]]}))}onMultiSortFlagChange(){if(!this.multiSortActive()&&this.activeSortModel.length>1){this.applySortModel([this.activeSortModel[0]],"state")}}async sortBy(column,direction){if(this.usingColumnDefsApi()){const col=this.resolvedColumnDefs().find(candidate=>candidate.field===column)??this.pivotSourceSortColumn(column);if(!col||col.sortable===false)return;const next=direction===void 0?cycleSortModel(this.activeSortModel,column,"replace"):direction===null?this.activeSortModel.filter(entry=>entry.field!==column):[{field:column,direction}];this.applySortModel(next,"api");return}const inner=this.innerEngine();await inner?.sortBy?.(column,direction)}async setSortModel(model){if(!this.usingColumnDefsApi())return;const sortableFields=new Set(this.resolvedColumnDefs().filter(col=>col.sortable!==false&&typeof col.field==="string"&&col.field!=="").map(col=>col.field));for(const col of this.declaredColumnDefs()){if(this.pivotSourceSortColumn(col.field)!==null&&col.sortable!==false&&typeof col.field==="string"&&col.field!==""){sortableFields.add(col.field)}}const next=normalizeSortModel(model).filter(entry=>sortableFields.has(entry.field));if(sortModelsEqual(next,this.activeSortModel))return;this.applySortModel(next,"api")}async getSortModel(){return this.activeSortModel.map(entry=>({...entry}))}async setQuery(query){const inner=this.innerEngine();await inner?.setQuery?.(query)}async getActiveTier(){return this.proRun("getActiveTier",()=>this.activeTier)}innerEngine(){return this.host.querySelector(this.activeTag())}activeTag(){return gridEngineTag(this.activeTier)}handleQueryComplete=event=>{const detail=event.detail;this.queryComplete.emit({...detail,tier:this.activeTier})};usingColumnDefsApi(){return!!(this.columnDefs&&this.columnDefs.length>0)}resolveColDef(col){if(!col)return null;const hasField=typeof col.field==="string"&&col.field!=="";const hasColId=typeof col.colId==="string"&&col.colId!=="";if(!hasField&&!hasColId)return null;return{...this.defaultColDef??{},...col}}columnDefsSource(){if(this.serverSidePivotModeActive()){const secondary=this.serverSidePivotColumnDefs();if(secondary.length>0)return secondary}if(this.pivotModeActive()&&!this.pivotComputing){const pivot=this.pivotComputation();if(pivot!==null){const{generatePivotColumnDefs}=this.groupPivotEngine();return generatePivotColumnDefs(pivot.meta)}}return this.columnDefs}pivotComputing=false;resolvedColumnDefs(){if(!this.usingColumnDefsApi())return[];return visibleGroupLeaves(this.columnDefsSource(),this.collapsedGroups).map(c=>this.resolveColDef(c)).filter(c=>c!==null)}onPivotConfigChange(){if(this.pivotCollapsedRowGroups.size>0)this.pivotCollapsedRowGroups=new Set;if(this.serverSideModeActive()){this.initServerSide();this.scrollTop=0;if(this.viewportEl!==null)this.viewportEl.scrollTop=0;this.recomputeVirtualWindow()}}pivotModeActive(){const requested=this.pivotMode===true&&this.pivotAxesDeclared();if(!requested)return false;if(!this.proAllowed("grid.pivot","pivotMode"))return false;if(this.cachedPivot===null&&this.proGate().frozen("grid.pivot")){this.pivotRecomputeHeld=true;return false}if(this.groupPivotChunkModule===null)return false;if(this.treeSurface()!==null||this.treeEngineArriving()){this.notePivotConflict("treeData","yields","other",PIVOT_WARNING_TREE_DATA,false);return false}if(this.serverSideModeActive())return false;if(this.viewportState!==null||this.infiniteCache!==null){this.notePivotConflict(this.viewportState!==null?"viewport":"infinite","yields","other",PIVOT_WARNING_VIEWPORT_INFINITE,false);return false}if(this.viewportEngineArriving()){this.notePivotConflict("viewport","yields","other",PIVOT_WARNING_VIEWPORT_INFINITE,false);return false}if(!this.warnedPivotConflicts.has("rowGrouping")&&this.effectiveGroupFields()!==null){this.notePivotConflict("rowGrouping","superseded","pivot",PIVOT_WARNING_GROUP_BY,true)}if(this.masterDetail===true&&this.usingColumnDefsApi()&&this.proAllowed("grid.master-detail","masterDetail")){this.notePivotConflict("masterDetail","yields","pivot",PIVOT_WARNING_MASTER_DETAIL,true)}return true}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(feature,support,winner,warning,pivotActive){if(this.warnedPivotConflicts.has(feature))return;this.warnedPivotConflicts.add(feature);console.warn(warning);this.pendingPivotConflicts.push({feature,support,winner,warning,pivotActive})}resolvePivotAggFuncs(){const{resolveAggFunc}=this.groupPivotEngine();const out={};for(const vc of this.pivotValueColumns??[]){const name=this.pivotAggFuncs?.[vc];const resolved=typeof name==="string"&&name!==""?resolveAggFunc(name,this.customAggFuncs):null;out[vc]=resolved??"sum"}return out}pivotComputation(){if(!this.pivotModeActive()){this.cachedPivot=null;return null}const sig=[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];const cached=this.cachedPivot;if(cached!==null&&cached.sig.length===sig.length&&cached.sig.every((v,i)=>v===sig[i])){return cached.value}if(cached!==null&&this.proGate().frozen("grid.pivot")){this.pivotRecomputeHeld=true;return cached.value}const spec={rowGroupColumns:this.pivotRowGroupColumns,pivotColumns:this.pivotColumns,valueColumns:this.pivotValueColumns,aggFuncs:this.resolvePivotAggFuncs(),collapsedRowGroupKeys:this.pivotCollapsedRowGroups};this.pivotComputing=true;try{const source=this.rowData??[];const prepStages=this.buildFilterStages();const sortStage=this.buildSortStage(this.pivotSourceSortModel());if(sortStage!==null)prepStages.push(sortStage);const prepared=prepStages.length===0?source:runPipeline(source,prepStages).rows;const{computePivot}=this.groupPivotEngine();const value=computePivot(prepared,spec);this.cachedPivot={sig,value};return value}finally{this.pivotComputing=false}}aggregationSpecs(){const{resolveAggFunc}=this.groupPivotEngine();const out=[];for(const col of this.declaredColumnDefs()){if(typeof col.field!=="string"||col.field==="")continue;const name=col.aggFunc;if(typeof name!=="string"||name==="")continue;const agg=resolveAggFunc(name,this.customAggFuncs);if(agg===null){if(!this.warnedAggFuncs.has(name)){this.warnedAggFuncs.add(name);console.warn(`[SG:AGG] bad name=${name} field=${col.field}; skip`)}continue}out.push({field:col.field,agg})}return out}async registerAggFunc(name,fn){return this.proRun("registerAggFunc",()=>{if(typeof name!=="string"||name.trim()===""||typeof fn!=="function"){console.warn("[SG:AGG] bad name/fn");return}const next=new Map(this.customAggFuncs);next.set(name,fn);this.warnedAggFuncs.delete(name);this.customAggFuncs=next})}async unregisterAggFunc(name){return this.proRun("unregisterAggFunc",()=>{if(!this.customAggFuncs.has(name))return;const next=new Map(this.customAggFuncs);next.delete(name);this.customAggFuncs=next})}async getRegisteredAggFuncNames(){return this.proRun("getRegisteredAggFuncNames",()=>[...this.customAggFuncs.keys()])}declaredColumnDefs(){if(!this.usingColumnDefsApi())return[];return flattenColumnDefs(this.columnDefs).map(c=>this.resolveColDef(c)).filter(c=>c!==null)}effectiveGroupFields(){const raw=this.groupBy;const list=(Array.isArray(raw)?raw:[raw]).filter(f=>typeof f==="string"&&f.trim()!=="");if(list.length===0)return this.groupDeclaration.resolve(null,this.proGate());if(!this.proAllowed("grid.row-grouping","groupBy")){this.groupDeclaration.clear();return null}if(this.groupPivotChunkModule===null)return null;if(this.treeEngineArriving())return null;const fields=[...new Set(list)];const declared=new Set(this.declaredColumnDefs().map(col=>col.field));return this.groupDeclaration.resolve(fields.every(f=>declared.has(f))?fields:null,this.proGate())}groupDeclaration=new GridHeldDeclaration("grid.row-grouping",(a,b)=>a.length===b.length&&a.every((field,i)=>field===b[i]));effectiveGroupBy(){return this.effectiveGroupFields()?.[0]??null}onGroupByChange(newValue){const switchesOff=(Array.isArray(newValue)?newValue:[newValue]).every(f=>typeof f!=="string"||f.trim()==="");if(switchesOff||this.groupDeclaration.current===null||this.proGate().entitled("grid.row-grouping")){this.collapsedRowGroups=new Set}if(!this.usingColumnDefsApi())return;const declared=new Set(this.declaredColumnDefs().map(col=>col.field));const fields=(Array.isArray(newValue)?newValue:[newValue]).filter(f=>typeof f==="string"&&f.trim()!=="");for(const f of fields){if(!declared.has(f)){console.warn(`[SG:GROUP] bad field=${f}; disable`)}}}currentGroupKeys(){const field=this.effectiveGroupBy();if(field===null)return null;const keys=new Set;const source=this.rowData??[];for(const row of source){const key=foldGroupKey(readOwnFieldPath(row,field));keys.add(key===null?BLANK_GROUP_KEY:key)}return keys}currentMultiGroupKeys(fields){const keys=new Set;const source=this.rowData??[];for(const row of source){const segs=fields.map(f=>foldGroupKey(readOwnFieldPath(row,f))??BLANK_GROUP_KEY);for(let d=0;d<segs.length;d++)keys.add(frameSegmentPath(segs.slice(0,d+1)))}return keys}async setRowGroupExpanded(key,expanded){return this.proMethod("setRowGroupExpanded",{load:()=>this.groupEngineStep(),exec:()=>void 0,publish:()=>this.applyRowGroupExpanded(key,expanded,"api")})}async applyRowGroupExpanded(key,expanded,source){const fields=this.effectiveGroupFields();if(fields===null)return;if(fields.length>=2){if(typeof key!=="string"||!this.currentMultiGroupKeys(fields).has(key)){console.warn(`[SG:GROUP] bad key=${key}`);return}const wasCollapsed=this.collapsedRowGroups.has(key);if(expanded!==wasCollapsed)return;const liveBefore2=this.liveRowsForPublication(row=>row.group&&row.expandKey===key);const next2=new Set(this.collapsedRowGroups);if(expanded)next2.delete(key);else next2.add(key);this.collapsedRowGroups=next2;this.rowGroupToggled.emit({key,expanded});this.publishLiveRowExpansions(liveBefore2,source);return}const validKeys=this.currentGroupKeys();if(validKeys===null)return;const foldedKey=key===null?BLANK_GROUP_KEY:key;if(!validKeys.has(foldedKey)){console.warn(`[SG:GROUP] bad key=${key}`);return}const isCollapsed=this.collapsedRowGroups.has(foldedKey);if(expanded!==isCollapsed)return;const liveBefore=this.liveRowsForPublication(row=>row.group&&row.expandKey===key);const next=new Set(this.collapsedRowGroups);if(expanded){next.delete(foldedKey)}else{next.add(foldedKey)}this.collapsedRowGroups=next;this.rowGroupToggled.emit({key,expanded});this.publishLiveRowExpansions(liveBefore,source)}async expandAllRowGroups(){return this.proMethod("expandAllRowGroups",{load:()=>this.groupEngineStep(),exec:()=>void 0,publish:()=>{if(this.collapsedRowGroups.size===0)return;const multi=(this.effectiveGroupFields()?.length??0)>=2;const reopened=[...this.collapsedRowGroups];const reopenedSet=new Set(reopened);const liveBefore=this.liveRowsForPublication(row=>row.group&&row.expandKey!==void 0&&reopenedSet.has(multi?String(row.expandKey):row.expandKey===null?BLANK_GROUP_KEY:String(row.expandKey)));this.collapsedRowGroups=new Set;for(const k of reopened){this.rowGroupToggled.emit({key:multi?k:k===BLANK_GROUP_KEY?null:k,expanded:true})}this.publishLiveRowExpansions(liveBefore,"api")}})}async collapseAllRowGroups(){return this.proMethod("collapseAllRowGroups",{load:()=>this.groupEngineStep(),exec:()=>void 0,publish:()=>{const fields=this.effectiveGroupFields();if(fields===null)return;const multi=fields.length>=2;const keys=multi?this.currentMultiGroupKeys(fields):this.currentGroupKeys();if(keys===null)return;const previous=this.collapsedRowGroups;const liveBefore=this.liveRowsForPublication(row=>row.group&&row.expandKey!==void 0&&keys.has(multi?String(row.expandKey):row.expandKey===null?BLANK_GROUP_KEY:String(row.expandKey))&&!previous.has(multi?String(row.expandKey):row.expandKey===null?BLANK_GROUP_KEY:String(row.expandKey)));this.collapsedRowGroups=keys;for(const k of keys){if(previous.has(k))continue;this.rowGroupToggled.emit({key:multi?k:k===BLANK_GROUP_KEY?null:k,expanded:false})}this.publishLiveRowExpansions(liveBefore,"api")}})}treeSurfaceCache=null;treeSurface(){if(typeof this.getDataPath==="function"){if(!this.proAllowed("grid.tree-data","getDataPath"))return this.inertTreeDeclaration();if(this.proUiChunks["tree-data"]===void 0)return null;return this.treeSurfaceOf(this.treeDeclaration.resolve({getDataPath:this.getDataPath},this.proGate()))}const idField=this.treeIdField;const parentField=this.treeParentField;if(typeof idField!=="string"||idField===""||typeof parentField!=="string"||parentField===""){this.treeDeclaration.resolve(null,this.proGate());return null}if(!this.proAllowed("grid.tree-data","treeIdField"))return this.inertTreeDeclaration();if(this.proUiChunks["tree-data"]===void 0)return null;return this.treeSurfaceOf(this.treeDeclaration.resolve({idField,parentField,labelField:this.treeLabelField},this.proGate()))}treeDeclaration=new GridHeldDeclaration("grid.tree-data",(a,b)=>a.getDataPath===b.getDataPath&&a.idField===b.idField&&a.parentField===b.parentField&&a.labelField===b.labelField);inertTreeDeclaration(){this.treeDeclaration.clear();return null}treeSurfaceOf(config){if(config===null)return null;const fn=config.getDataPath;if(typeof fn==="function")return{getDataPath:row=>fn(row)};const{idField,parentField,labelField}=config;if(typeof idField!=="string"||typeof parentField!=="string")return null;const source=this.rowData??[];const cached=this.treeSurfaceCache;if(cached!==null&&cached.rowData===source&&cached.idField===idField&&cached.parentField===parentField&&cached.labelField===labelField){return cached.surface}const{buildPathsFromParentIds}=this.treeDataEngine();const{pathOf,labelOf,segmentLabelOf}=buildPathsFromParentIds(source,{getId:row=>readOwnFieldPath(row,idField),getParentId:row=>readOwnFieldPath(row,parentField),getLabel:typeof labelField==="string"&&labelField!==""?row=>readOwnFieldPath(row,labelField):void 0});const surface={getDataPath:pathOf,getRowLabel:labelOf,getSegmentLabel:segmentLabelOf};this.treeSurfaceCache={rowData:source,idField,parentField,labelField,surface};return surface}treeRowComparator(){const model=this.activeSortModel;if(!model||model.length===0)return void 0;return(a,b)=>{for(const entry of model){const av=a===null?void 0:readOwnFieldPath(a,entry.field);const bv=b===null?void 0:readOwnFieldPath(b,entry.field);const cmp=defaultComparator(av,bv);if(cmp!==0)return entry.direction==="desc"?-cmp:cmp}return 0}}currentTreeParentKeys(){const surface=this.treeSurface();if(surface===null)return null;const keys=new Set;const source=this.rowData??[];for(const row of source){const path=surface.getDataPath(row);const valid=Array.isArray(path)&&path.length>0&&path.every(seg=>typeof seg==="string"&&seg!==""&&!seg.includes(TREE_PATH_KEY_SEPARATOR));if(!valid)continue;for(let len=1;len<path.length;len++){keys.add(foldTreePathKey(path.slice(0,len)))}}return keys}onTreeSurfaceChange(){this.collapsedTreeNodes=new Set;this.warnedTreeGroupConflict=false;this.treeSurfaceCache=null}async setTreeNodeExpanded(path,expanded){return this.proMethod("setTreeNodeExpanded",{load:()=>this.treeEngineStep(),exec:()=>void 0,publish:()=>this.applyTreeNodeExpanded(path,expanded,"api")})}async applyTreeNodeExpanded(path,expanded,source){if(this.serverSideState!==null){if(!Array.isArray(path)||path.length===0)return;const{serialiseGroupPath,toggleGroupExpanded}=this.ssrmEngine();const serverKey=serialiseGroupPath(path);const isExpanded=this.serverSideState.expanded.has(serverKey);if(isExpanded!==expanded){this.serverSideState=toggleGroupExpanded(this.serverSideState,path);this.lastServerFetchWindow=null;this.recomputeVirtualWindow()}return}const parentKeys=this.currentTreeParentKeys();if(parentKeys===null)return;if(!Array.isArray(path)||path.length===0)return;const key=foldTreePathKey(path);if(!parentKeys.has(key)){console.warn(`[SG:TREE] bad path=[${path.join(" / ")}]`);return}const isCollapsed=this.collapsedTreeNodes.has(key);if(expanded!==isCollapsed)return;const liveBefore=this.liveRowsForPublication(row=>row.group&&row.route.length===path.length&&row.route.every((segment,index)=>segment===path[index]));const next=new Set(this.collapsedTreeNodes);if(expanded){next.delete(key)}else{next.add(key)}this.collapsedTreeNodes=next;this.treeNodeToggled.emit({path:[...path],expanded});this.publishLiveRowExpansions(liveBefore,source)}async expandAllTreeNodes(){return this.proMethod("expandAllTreeNodes",{load:()=>this.treeEngineStep(),exec:()=>void 0,publish:()=>{if(this.collapsedTreeNodes.size===0)return;const reopened=[...this.collapsedTreeNodes];const reopenedSet=new Set(reopened);const liveBefore=this.liveRowsForPublication(row=>row.group&&reopenedSet.has(foldTreePathKey(row.route)));this.collapsedTreeNodes=new Set;for(const key of reopened){this.treeNodeToggled.emit({path:key.split(TREE_PATH_KEY_SEPARATOR),expanded:true})}this.publishLiveRowExpansions(liveBefore,"api")}})}async collapseAllTreeNodes(){return this.proMethod("collapseAllTreeNodes",{load:()=>this.treeEngineStep(),exec:()=>void 0,publish:()=>{const keys=this.currentTreeParentKeys();if(keys===null)return;const previous=this.collapsedTreeNodes;const liveBefore=this.liveRowsForPublication(row=>{const key=foldTreePathKey(row.route);return row.group&&keys.has(key)&&!previous.has(key)});this.collapsedTreeNodes=keys;for(const key of keys){if(previous.has(key))continue;this.treeNodeToggled.emit({path:key.split(TREE_PATH_KEY_SEPARATOR),expanded:false})}this.publishLiveRowExpansions(liveBefore,"api")}})}detailRowHeightPx(){const raw=this.detailRowHeight;return typeof raw==="number"&&Number.isFinite(raw)&&raw>=40?Math.floor(raw):160}masterDetailActive(){if(this.masterDetail!==true||!this.usingColumnDefsApi())return false;if(!this.proAllowed("grid.master-detail","masterDetail"))return false;if(this.proUiChunks["master-detail"]===void 0)return false;if(this.pivotMode===true&&this.pivotWinsOnArrival())return false;return!(this.pivotMode===true&&this.pivotModeActive())}currentMasterIds(){void this.getDisplayRows();return this.lastMasterIds}async setDetailRowExpanded(rowId,expanded){return this.proMethod("setDetailRowExpanded",{load:()=>this.masterDetailEngineStep(),exec:()=>void 0,publish:()=>this.applyDetailRowExpanded(rowId,expanded,"api")})}async applyDetailRowExpanded(rowId,expanded,source){if(!this.masterDetailActive())return;if(expanded&&!this.currentMasterIds().has(rowId)&&!this.allFilteredMasterIds().has(rowId)){console.warn(`[SG:DETAIL] bad id=${rowId}`);return}const isExpanded=this.expandedDetailRows.has(rowId);if(expanded===isExpanded)return;const liveBefore=this.liveRowsForPublication(row=>row.id===rowId&&row.master);const next=new Set(this.expandedDetailRows);if(expanded){next.add(rowId)}else{next.delete(rowId)}this.expandedDetailRows=next;if(!expanded)this.detailRowDataCache.delete(rowId);this.detailRowToggled.emit({rowId,expanded});this.publishLiveRowExpansions(liveBefore,source)}masterRowsById(){const rows=this.engineRows({skipPaginate:true});const map=new Map;for(let i=0;i<rows.length;i++){const id=this.masterIdAt(rows[i],i);if(id!==void 0&&!map.has(id))map.set(id,rows[i])}return map}masterIdAt(row,absoluteIndex){if(row===null||typeof row!=="object")return void 0;if(typeof this.getRowId==="function")return this.extractRowId(row,absoluteIndex);if(isGroupMarkerRow(row)||isGroupFooterRow(row)||isTreeNodeRow(row)||isDetailRow(row))return void 0;return absoluteIndex}allFilteredMasterIds(){const rows=this.engineRows({skipPaginate:true});const ids=new Set;for(let i=0;i<rows.length;i++){const id=this.masterIdAt(rows[i],i);if(id!==void 0)ids.add(id)}return ids}async expandAllDetailRows(){return this.proMethod("expandAllDetailRows",{load:()=>this.masterDetailEngineStep(),exec:()=>void 0,publish:()=>{if(!this.masterDetailActive())return;const ids=this.allFilteredMasterIds();const previous=this.expandedDetailRows;const next=new Set(previous);for(const id of ids)next.add(id);if(next.size===previous.size)return;const liveBefore=this.liveRowsForPublication(row=>row.master&&ids.has(row.id)&&!previous.has(row.id));this.expandedDetailRows=next;for(const id of ids){if(previous.has(id))continue;this.detailRowToggled.emit({rowId:id,expanded:true})}this.publishLiveRowExpansions(liveBefore,"api")}})}async collapseAllDetailRows(){return this.proRun("collapseAllDetailRows",()=>{if(this.expandedDetailRows.size===0)return;const closed=[...this.expandedDetailRows];const closedSet=new Set(closed);const liveBefore=this.liveRowsForPublication(row=>row.master&&closedSet.has(row.id));this.expandedDetailRows=new Set;for(const id of closed){this.detailRowDataCache.delete(id);this.detailRowToggled.emit({rowId:id,expanded:false})}this.publishLiveRowExpansions(liveBefore,"api")})}lastMasterIds=new Set;mountedDetailIds=new Set;detailRowIds=new WeakMap;withDetailRows(rows){if(!this.masterDetailActive())return rows;const meta=this.latestPaginatedMeta;const indexOffset=this.pagination&&meta!==null?meta.pageIndex*meta.pageSize:0;const ids=new WeakMap;const masterIds=new Set;for(let i=0;i<rows.length;i++){const row=rows[i];const id=this.masterIdAt(row,indexOffset+i);if(id===void 0)continue;ids.set(row,id);masterIds.add(id)}this.detailRowIds=ids;this.lastMasterIds=masterIds;if(this.expandedDetailRows.size===0)return rows;const{insertDetailRows}=this.masterDetailEngine();return insertDetailRows(rows,this.expandedDetailRows,row=>ids.get(row))}async setColumnGroupOpened(groupId,open){return this.applyColumnGroupOpened(groupId,open,"api")}async applyColumnGroupOpened(groupId,open,source){if(typeof groupId!=="string"||groupId==="")return;const isCollapsed=this.collapsedGroups.has(groupId);if(open!==isCollapsed)return;const next=new Set(this.collapsedGroups);if(open){next.delete(groupId)}else{next.add(groupId)}this.collapsedGroups=next;this.columnGroupToggled.emit({groupId,open});this.publishLiveObjectChange("columnGroup",groupId,"expandedChanged",source,{before:!open,after:open})}headerGroupDepth(){if(!this.usingColumnDefsApi())return 0;return columnGroupDepth(this.columnDefsSource())}bodyAriaRowIndex(rowIndex){if(this.renderingPinnedBand==="top")return rowIndex+2+this.headerGroupDepth();if(this.renderingPinnedBand==="bottom"){return rowIndex+2+this.headerGroupDepth()+this.pinnedTopCount()+this.getDisplayRows().length}return rowIndex+2+this.headerGroupDepth()+this.pinnedTopCount()}engineColumns(){if(this.usingColumnDefsApi()){return this.resolvedColumnDefs().filter(c=>typeof c.field==="string"&&c.field!=="").map(c=>({key:c.field,label:c.headerName??c.field,width:c.width}))}return this.columns}engineRows(options){const skipPaginate=options?.skipPaginate===true;const{state,rows}=resolveEngineRows(this.engineRowsMemo,this.engineRowsInputs(),skipPaginate,()=>this.computeEngineRows(skipPaginate));this.engineRowsMemo=state;return rows}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(field){const sheet=this.formulaSheet;if(this.formulas!==true||sheet===null||!sheet.active)return void 0;if(sheet.isCalculatedField(field)){return row=>sheet.calculatedDisplay(field,row)}return row=>{const raw=readOwnFieldPath(row,field);return isFormulaText(raw)?this.formulaCellDisplay(sheet,raw,field,row):raw}}formulaAwareConditionNode(node){if(this.formulas!==true||this.formulaSheet===null||!this.formulaSheet.active)return node;const walk=n=>{if("children"in n&&Array.isArray(n.children)){const group=n;return{...group,children:group.children.map(walk)}}const leaf=n;if(typeof leaf?.spec?.field!=="string"||leaf.spec.valueGetter!==void 0)return n;const getter=this.formulaFieldGetter(leaf.spec.field);if(getter===void 0)return n;return{...leaf,spec:{...leaf.spec,valueGetter:getter}}};return walk(node)}buildFilterStages(){const stages=[];void this.lifecycleFilterVersion;const lifecycleFilter=this.filterFacade;const configuredLifecycleFilters=this.configuredLifecycleFilterCount();const lifecycleStats=lifecycleFilter?.stats();const lifecycleReady=lifecycleFilter!==null&&lifecycleStats!==void 0&&this.componentFilterReadyRevision===this.componentFilterRevision&&lifecycleStats.columns===configuredLifecycleFilters&&lifecycleStats.mountedFilters===configuredLifecycleFilters&&this.externalFilterRuntimeReady();if((configuredLifecycleFilters>0||this.externalFilter!=null)&&this.componentFilterExecutionMode()==="client"){stages.push(createFilterStage({filters:[{id:"__lifecycle__",predicate:row=>lifecycleReady&&lifecycleFilter!==null&&lifecycleFilter.doesPass(row,"client")}]}))}const activeQuickFilterValue=typeof this.quickFilterValue==="string"?this.quickFilterValue:"";if(this.quickFilter&&activeQuickFilterValue.trim()!==""){const quickTarget=this.quickFilterTarget();const predicate=createQuickFilter({value:activeQuickFilterValue,wordMode:this.quickFilterMode,fields:quickTarget.fields,valueGetter:quickTarget.valueGetter,mode:this.quickFilterRegex===true?"regex":"text"});stages.push(createFilterStage({filters:[{id:"__quick__",predicate}]}))}const activeFilterList=Object.values(this.activeFilters);const conditionFilters=this.activeConditionTree&&this.proAllowed("grid.advanced-filter","setConditionFilter")?this.proUiChunk("pro-filters","grid.advanced-filter","setConditionFilter"):null;const conditionEntry=this.activeConditionTree&&conditionFilters!==null?[{id:"__condition__",predicate:conditionFilters.createConditionFilter(this.formulaAwareConditionNode(this.activeConditionTree))}]:[];const sourceFilters=activeFilterList.map(f=>{const predicate=this.buildSourcePredicate(f);return predicate===null?null:{id:f.field,predicate}}).filter(entry=>entry!==null);if(sourceFilters.length>0||conditionEntry.length>0){stages.push(createFilterStage({filters:[...sourceFilters,...conditionEntry]}))}return stages}columnFilterValueGetter(col){if(!col)return void 0;if(col.valueGetter===void 0||col.valueGetter===null){return this.formulaFieldGetter(col.field)}const resolvedColId=col.colId??col.field;const valueGetter=col.valueGetter;return row=>this.resolveGridCellValue({row,rowIndex:-1,colId:resolvedColId,field:col.field,valueGetter,colDef:col})}targetForColumnField(field,columns){const col=columns.find(candidate=>candidate.field===field);return{field,valueGetter:this.columnFilterValueGetter(col)}}pivotSourceTargetsForFilter(field){if(!this.pivotModeActive())return null;if(isPivotColumnId(field))return[];if(field===PIVOT_ROW_HEADER_COL_ID){const declared=this.declaredColumnDefs();return(this.pivotRowGroupColumns??[]).filter(candidate=>typeof candidate==="string"&&candidate!=="").map(candidate=>this.targetForColumnField(candidate,declared))}return[this.targetForColumnField(field,this.declaredColumnDefs())]}sourceTargetsForFilter(field){const pivotTargets=this.pivotSourceTargetsForFilter(field);if(pivotTargets!==null)return pivotTargets;return[this.targetForColumnField(field,this.resolvedColumnDefs())]}buildPredicateForTarget(filter,target){return this.buildPredicate(retargetActiveFilter(filter,target.field,target.valueGetter))}buildSourcePredicate(filter){const targets=this.sourceTargetsForFilter(filter.field);if(targets.length===0)return null;const predicates=targets.map(target=>this.buildPredicateForTarget(filter,target));if(predicates.length===1)return predicates[0];return row=>predicates.some(predicate=>predicate(row))}setFilterCatalogueRows(field){if(!this.pivotModeActive()||!isPivotColumnId(field)){return this.rowData??[]}const pivot=this.pivotComputation();if(pivot===null)return[];return[...pivot.markers,...pivot.grandTotal!==null?[pivot.grandTotal]:[]]}setFilterCatalogueTarget(field){if(this.pivotModeActive()&&isPivotColumnId(field)){return{rows:this.setFilterCatalogueRows(field),target:this.targetForColumnField(field,this.effectiveColumns())}}const targets=this.sourceTargetsForFilter(field);return{rows:this.setFilterCatalogueRows(field),target:targets[0]??{field}}}declaredColumnFieldSet(){return new Set(this.declaredColumnDefs().map(col=>col.field).filter(field=>typeof field==="string"&&field!==""))}isPivotDisplaySortField(field){return field===PIVOT_ROW_HEADER_COL_ID||isPivotColumnId(field)}pivotSourceSortColumn(field){if(!this.pivotModeActive()||this.pivotComputation()===null)return null;if(this.isPivotDisplaySortField(field))return null;return this.declaredColumnDefs().find(col=>col.field===field)??null}pivotSourceSortModel(){const declared=this.declaredColumnFieldSet();return this.activeSortModel.filter(entry=>declared.has(entry.field)&&!this.isPivotDisplaySortField(entry.field)).map(entry=>({...entry}))}pivotDisplaySortModel(){return this.activeSortModel.filter(entry=>this.isPivotDisplaySortField(entry.field)).map(entry=>({...entry}))}isSortNullish(value){if(value===null||value===void 0)return true;if(typeof value==="number"&&Number.isNaN(value))return true;if(value instanceof Date&&Number.isNaN(value.getTime()))return true;return false}pivotDisplaySortValue(row,field,cols){if(field===PIVOT_ROW_HEADER_COL_ID)return row.label;const col=cols.find(candidate=>candidate.field===field);if(!col)return null;const resolvedColId=col.colId??col.field;return this.resolveGridCellValue({row,rowIndex:-1,colId:resolvedColId,field:col.field,valueGetter:col.valueGetter,colDef:col})}comparePivotMarkersForDisplay(a,b,model,cols){for(const entry of model){const av=this.pivotDisplaySortValue(a,entry.field,cols);const bv=this.pivotDisplaySortValue(b,entry.field,cols);const aNullish=this.isSortNullish(av);const bNullish=this.isSortNullish(bv);if(aNullish&&bNullish)continue;if(aNullish)return 1;if(bNullish)return-1;const cmp=(entry.direction==="desc"?-1:1)*defaultComparator(av,bv);if(cmp!==0)return cmp}return 0}sortPivotMarkersForDisplay(markers,cols){const model=this.pivotDisplaySortModel();if(model.length===0)return[...markers];const byParent=new Map;for(const marker of markers){const parentKey=frameSegmentPath(marker.groupKeys.slice(0,-1));const bucket=byParent.get(parentKey);if(bucket)bucket.push(marker);else byParent.set(parentKey,[marker])}const sorted=[];const append=parentKey=>{const siblings=[...byParent.get(parentKey)??[]];siblings.sort((a,b)=>this.comparePivotMarkersForDisplay(a,b,model,cols));for(const marker of siblings){sorted.push(marker);if(marker.expanded)append(marker.key)}};append("");return sorted}pivotDisplayFilterPredicates(cols){if(!this.pivotModeActive())return[];const predicates=[];for(const filter of Object.values(this.activeFilters)){if(!isPivotColumnId(filter.field))continue;const target=this.targetForColumnField(filter.field,cols);predicates.push(this.buildPredicateForTarget(filter,target))}return predicates}filterPivotMarkersForDisplay(markers,cols){const predicates=this.pivotDisplayFilterPredicates(cols);if(predicates.length===0)return[...markers];return markers.filter(marker=>{for(const predicate of predicates){if(!predicate(marker))return false}return true})}buildSortStage(model=this.activeSortModel){if(model.length===0)return null;return createMultiSortStage(model.map(entry=>({field:entry.field,direction:entry.direction,valueGetter:this.formulaFieldGetter(entry.field)})))}computeEngineRows(skipPaginate){if(this.usingColumnDefsApi()){if(this.pivotModeActive()){const pivot=this.pivotComputation();const pivotCols=pivot===null?[]:this.effectiveColumns();const pivotMarkers=pivot===null?[]:this.sortPivotMarkersForDisplay(this.filterPivotMarkersForDisplay(pivot.markers,pivotCols),pivotCols);let rows=pivot===null?[]:[...pivotMarkers,...pivot.grandTotal!==null?[pivot.grandTotal]:[]];if(pivot!==null&&(this.pivotSubtotals!=="off"||this.pivotGrandTotal!=="bottom")){const chunk=this.ensureGroupPivotChunkArmed();if(chunk!==null){rows=chunk.composePivotDisplayRows(pivot,pivotMarkers,this.pivotSubtotals,this.pivotGrandTotal)}}if(skipPaginate)return rows;if(!this.pagination){this.maybeUpdatePaginatedMeta(null);return rows}const out2=runPipeline(rows,[createPaginateStage({pageIndex:this.activePagination.pageIndex,pageSize:this.activePagination.pageSize})]);this.maybeUpdatePaginatedMeta(out2.meta.pagination??null);return[...out2.rows]}const source=this.rowData??[];const stages=[];stages.push(...this.buildFilterStages());if(!skipPaginate&&this.statusBarSpec()!==null){stages.push({name:"filtered",run:state=>{this.lastFilteredDataRowCount=state.rows.length;return state}})}const sortStage=this.buildSortStage();if(sortStage!==null)stages.push(sortStage);const treeSurface=this.treeSurface();if(treeSurface!==null&&this.effectiveGroupBy()!==null&&!this.warnedTreeGroupConflict){this.warnedTreeGroupConflict=true;console.warn("tree data and group-by are mutually exclusive; tree wins.")}if(treeSurface!==null){const{createTreeDataStage}=this.treeDataEngine();stages.push(createTreeDataStage({getDataPath:treeSurface.getDataPath,getRowLabel:treeSurface.getRowLabel,getSegmentLabel:treeSurface.getSegmentLabel,collapsedKeys:this.collapsedTreeNodes,compareRows:this.treeRowComparator()}))}const groupFields=treeSurface!==null?null:this.effectiveGroupFields();if(groupFields!==null){if(!this.warnedGroupDetailUnstable&&this.masterDetailActive()&&typeof this.getRowId!=="function"){this.warnedGroupDetailUnstable=true;console.warn("[SG:DETAIL] an open detail can disappear when a group collapses.")}const aggSpecs=this.aggregationSpecs();const{createAggregateStage,createGroupStage,createMultiGroupStage,insertGroupFooters,pruneCollapsedGroups}=this.groupPivotEngine();if(groupFields.length>=2){stages.push(createMultiGroupStage({groupFields,aggSpecs,collapsedKeys:this.collapsedRowGroups}))}else if(aggSpecs.length>0){stages.push(createGroupStage({field:groupFields[0]}));stages.push(createAggregateStage({specs:aggSpecs}));stages.push({name:"grouped",run:state=>({source:state.source,rows:insertGroupFooters(pruneCollapsedGroups(state.rows,this.collapsedRowGroups,BLANK_GROUP_KEY)),stage:"grouped",meta:state.meta})})}else{stages.push(createGroupStage({field:groupFields[0],collapsedKeys:this.collapsedRowGroups}))}}if(this.pagination&&!skipPaginate){stages.push(createPaginateStage({pageIndex:this.activePagination.pageIndex,pageSize:this.activePagination.pageSize}))}if(stages.length===0){if(!skipPaginate)this.maybeUpdatePaginatedMeta(null);return skipPaginate?[...source]:this.withDetailRows(source)}const out=runPipeline(source,stages);if(skipPaginate)return[...out.rows];const pageMeta=out.meta.pagination??null;this.maybeUpdatePaginatedMeta(pageMeta);return this.withDetailRows([...out.rows])}return this.rowData??this.rows}maybeUpdatePaginatedMeta(meta){const prev=this.latestPaginatedMeta;const unchanged=prev===meta||prev!==null&&meta!==null&&prev.totalRows===meta.totalRows&&prev.pageCount===meta.pageCount&&prev.pageIndex===meta.pageIndex&&prev.pageSize===meta.pageSize;if(!unchanged)this.latestPaginatedMeta=meta;if(meta&&(meta.pageIndex!==this.activePagination.pageIndex||meta.pageSize!==this.activePagination.pageSize)){this.activePagination={pageIndex:meta.pageIndex,pageSize:meta.pageSize}}}quickFilterFieldList(){const cols=this.pivotModeActive()?this.declaredColumnDefs():this.resolvedColumnDefs();if(cols.length===0)return void 0;return cols.map(c=>c.field)}quickFilterTarget(){const cols=this.pivotModeActive()?this.declaredColumnDefs():this.resolvedColumnDefs();const fields=this.quickFilterFieldList();if(!fields||cols.length===0)return{};return{fields,valueGetter:row=>cols.map(col=>{const getter=this.columnFilterValueGetter(col);return getter?getter(row):readOwnFieldPath(row,col.field)})}}buildPredicate(filter){const withFormula=spec=>{if(spec.valueGetter!==void 0)return spec;const getter=this.formulaFieldGetter(spec.field);return getter===void 0?spec:{...spec,valueGetter:getter}};switch(filter.kind){case"text":return createTextFilter(withFormula(filter.spec));case"number":return createNumberFilter(withFormula(filter.spec));case"date":return createDateFilter(withFormula(filter.spec));case"set":{if(!this.filterKindAllowed("set",true))return()=>true;const filters=this.proFilterKindChunk("set");if(filters===null)return()=>true;return filters.createSetFilter(withFormula(filter.spec))}case"multi":{if(!this.filterKindAllowed("multi",filter.spec.parts.some(part=>part.kind==="set")))return()=>true;const filters=this.proFilterKindChunk("multi");if(filters===null)return()=>true;const getter=this.formulaFieldGetter(filter.spec.field);if(getter===void 0)return filters.createMultiFilter(filter.spec);const parts=filter.spec.parts.map(part=>part.spec.valueGetter!==void 0?part:{...part,spec:{...part.spec,valueGetter:getter}});return filters.createMultiFilter({...filter.spec,parts})}default:{const _exhaustive=filter;void _exhaustive;return()=>true}}}hostStyle(){if(this.height==null)return void 0;const value=typeof this.height==="number"?`${this.height}px`:this.height;return{height:value}}handleHeaderClick=(col,event)=>{if(col.sortable===false)return;if(this.effectiveLoading)return;const mode=this.multiSortActive()&&event?.shiftKey===true?"append":"replace";this.applySortModel(cycleSortModel(this.activeSortModel,col.field,mode))};builtInFilterDecl(filter){if(filter===void 0)return void 0;if(filter===true)return"text";if(filter===false)return false;if(Array.isArray(filter)){return filter}return filter==="text"||filter==="number"||filter==="date"||filter==="set"?filter:void 0}offeredFilterUiKind(filter){const kind=this.filterUiKind(filter);return kind!==null&&this.proFilterKindReady(kind)?kind:null}filterUiKind(filter){filter=this.builtInFilterDecl(filter);if(filter===void 0)return null;if(filter===false)return null;if(Array.isArray(filter)){const kinds=this.declaredFilterKinds(filter);if(kinds.length===0)return null;const kind=kinds.length===1?kinds[0]:"multi";return this.filterKindAllowed(kind,kinds.includes("set"))?kind:null}if(filter==="text"||filter==="number"||filter==="date")return filter;if(filter==="set")return this.filterKindAllowed("set",true)?"set":null;return"text"}proFilterKindChunk(kind){return this.proUiChunk("pro-filters",kind==="set"?"grid.set-filter":"grid.multi-filter","columnDefs")??null}proFilterKindReady(kind){return kind==="set"||kind==="multi"?this.proFilterKindChunk(kind)!==null:true}filterKindAllowed(kind,hasSetPart){if(kind==="set")return this.proAllowed("grid.set-filter","columnDefs");if(kind!=="multi")return true;const multi=this.proAllowed("grid.multi-filter","columnDefs");const set=!hasSetPart||this.proAllowed("grid.set-filter","columnDefs");return multi&&set}declaredFilterKinds(decl){const out=[];for(const kind of decl){if(kind==="text"||kind==="number"||kind==="date"||kind==="set"){out.push(kind)}}return out}defaultFormForKind(field,kind){if(kind==="set"){const catalogue=this.setFilterCatalogueTarget(field);const catalogueRows=this.maskRowsForRead(catalogue.rows,this.resolvedColumnDefs());const filters=this.proUiChunks["pro-filters"];const items=filters!==void 0?filters.collectSetFilterValues(catalogueRows,catalogue.target):[];const selected=new Set;for(const item of items)selected.add(item.key);return{field,kind,op:"in",value1:"",value2:"",caseSensitive:false,granularity:"utc",setItems:items,setSelected:selected,setSearch:""}}return{field,kind,op:kind==="text"?"contains":"equals",value1:"",value2:"",caseSensitive:false,granularity:"utc"}}formFromMultiPart(field,part){if(part.kind==="set"){const base=this.defaultFormForKind(field,"set");const values=part.spec.values;const selected=new Set;if(values===null){for(const item of base.setItems??[])selected.add(item.key)}else{for(const key of values)selected.add(key)}return{...base,setSelected:selected}}return this.formStateFromActive({kind:part.kind,field,spec:part.spec})}buildInitialForm(field,kind,decl){const existing=this.activeFilters[field];if(kind==="multi"){const kinds=Array.isArray(decl)?this.declaredFilterKinds(decl):[];const activeParts=existing&&existing.kind==="multi"?existing.spec.parts:[];const subForms=kinds.map(partKind=>{const activePart=activeParts.find(part=>part.kind===partKind);return activePart?this.formFromMultiPart(field,activePart):this.defaultFormForKind(field,partKind)});return{field,kind,op:"multi",value1:"",value2:"",caseSensitive:false,granularity:"utc",subForms}}if(kind==="set"){const base=this.defaultFormForKind(field,"set");const active=existing&&existing.kind==="set"?existing.spec.values:null;if(active!==null){const selected=new Set;for(const key of active)selected.add(key);return{...base,setSelected:selected}}return base}if(existing&&existing.kind===kind){return this.formStateFromActive(existing)}return this.defaultFormForKind(field,kind)}formStateFromActive(filter){if(filter.kind==="text"){return{field:filter.field,kind:"text",op:filter.spec.op,value1:filter.spec.value??"",value2:"",caseSensitive:filter.spec.caseSensitive??false,granularity:"utc"}}if(filter.kind==="number"){const v2=filter.spec.value;const isRange2=filter.spec.op==="between"||filter.spec.op==="notBetween";return{field:filter.field,kind:"number",op:filter.spec.op,value1:isRange2&&Array.isArray(v2)?this.numberToInputValue(v2[0]):this.numberToInputValue(v2),value2:isRange2&&Array.isArray(v2)?this.numberToInputValue(v2[1]):"",caseSensitive:false,granularity:"utc"}}if(filter.kind==="set"){return this.buildInitialForm(filter.field,"set")}if(filter.kind==="multi"){return{field:filter.field,kind:"multi",op:"multi",value1:"",value2:"",caseSensitive:false,granularity:"utc",subForms:filter.spec.parts.map(part=>this.formFromMultiPart(filter.field,part))}}const v=filter.spec.value;const isRange=filter.spec.op==="between"||filter.spec.op==="notBetween";return{field:filter.field,kind:"date",op:filter.spec.op,value1:isRange&&Array.isArray(v)?this.dateValueToInput(v[0]):this.dateValueToInput(v),value2:isRange&&Array.isArray(v)?this.dateValueToInput(v[1]):"",caseSensitive:false,granularity:filter.spec.granularity??"utc"}}numberToInputValue(n){if(n===void 0||n===null||typeof n==="number"&&Number.isNaN(n))return"";return String(n)}dateValueToInput(v){if(v==null)return"";if(v instanceof Date){const ms=v.getTime();if(Number.isNaN(ms))return"";return v.toISOString().slice(0,10)}if(typeof v==="number"){const ms=v;if(!Number.isFinite(ms))return"";return new Date(ms).toISOString().slice(0,10)}if(typeof v==="string"){if(/^\d{4}-\d{2}-\d{2}/.test(v))return v.slice(0,10);return v}return""}handleFilterIconClick=(col,event)=>{event.stopPropagation();this.toggleFilterDropdown(col,event.currentTarget)};computeFilterDropdownAnchor(anchorEl){const rect=anchorEl?.getBoundingClientRect?.();const hostRect=this.host?.getBoundingClientRect?.();if(!rect||!hostRect)return null;const estimatedWidth=260;const padding=4;const maxX=Math.max(padding,hostRect.width-estimatedWidth-padding);return{x:Math.min(Math.max(rect.left-hostRect.left,padding),maxX),y:Math.max(rect.bottom-hostRect.top+4,padding)}}toggleFilterDropdown(col,anchorEl){if(this.effectiveLoading&&this.openFilterField!==col.field)return;const lifecycleFilter=this.lifecycleFilterDeclaration(col);const declaration=lifecycleFilter===null?this.builtInFilterDecl(col.filter):void 0;const kind=lifecycleFilter===null?this.offeredFilterUiKind(declaration):null;if(lifecycleFilter===null&&!kind)return;if(this.openFilterField===col.field){this.closeFilterDropdown();return}this.dropdownAnchor=this.computeFilterDropdownAnchor(anchorEl);this.openFilterField=col.field;this.filterForm=lifecycleFilter===null&&kind!==null?this.buildInitialForm(col.field,kind,declaration):null;this.filterDropdownReturnFocus=anchorEl;this.filterDropdownFocused=false}closeFilterDropdown(restoreFocus=true){if(this.openFilterField===null)return;const openColumn=this.resolvedColumnDefs().find(col=>col.field===this.openFilterField);if(openColumn!==void 0&&this.lifecycleFilterDeclaration(openColumn)!==null){const colId=this.componentFilterColumnId(openColumn);const host=this.componentFilterHosts.get(colId);if(host!==void 0){this.releaseComponentFilterHost(colId,host,false)}else{void this.filterFacade?.detachFilterGui(colId)}}this.openFilterField=null;this.filterForm=null;this.dropdownAnchor=null;this.filterDropdownFocused=false;const target=this.filterDropdownReturnFocus;this.filterDropdownReturnFocus=null;if(!restoreFocus)return;if(target!==null&&typeof target.focus==="function"&&this.host?.contains(target)){target.focus()}else if(this.viewportEl&&typeof this.viewportEl.focus==="function"){this.viewportEl.focus({preventScroll:true})}}maybeFocusFilterDropdown(){if(this.openFilterField===null||this.filterDropdownFocused)return;const dropdown=this.filterDropdownEl;if(dropdown===null)return;this.filterDropdownFocused=true;const first=dropdown.querySelector("input, select, button:not([disabled])");(first??dropdown).focus()}updateFilterForm=patch=>{if(!this.filterForm)return;if(this.effectiveLoading)return;this.filterForm={...this.filterForm,...patch}};patchForm(subIndex,patch){if(subIndex===null){this.updateFilterForm(patch);return}if(!this.filterForm?.subForms||this.effectiveLoading)return;const subForms=this.filterForm.subForms.map((sub,i)=>i===subIndex?{...sub,...patch}:sub);this.updateFilterForm({subForms})}formAt(subIndex){if(!this.filterForm)return null;if(subIndex===null)return this.filterForm;return this.filterForm.subForms?.[subIndex]??null}setFormSelectsAll(form){if(!form.setItems||!form.setSelected)return true;for(const item of form.setItems){if(!form.setSelected.has(item.key))return false}return true}subFormIsInactive(form){if(form.kind==="set")return this.setFormSelectsAll(form);if(form.kind==="text"){return form.value1===""&&(form.op==="contains"||form.op==="startsWith"||form.op==="endsWith")}const isRange=form.op==="between"||form.op==="notBetween";return isRange?form.value1.trim()===""&&form.value2.trim()==="":form.value1.trim()===""}multiFormActiveParts(form){const parts=[];for(const sub of form.subForms??[]){if(this.subFormIsInactive(sub))continue;const active=this.buildActiveFilterFromForm(sub);if(!active||active.kind==="multi")continue;parts.push({kind:active.kind,spec:active.spec})}return parts}buildActiveFilterFromForm(form){if(form.kind==="multi"){const parts=this.multiFormActiveParts(form);if(parts.length===0)return null;const spec2={field:form.field,parts};return{kind:"multi",field:form.field,spec:spec2}}if(form.kind==="set"){const spec2={field:form.field,values:form.setSelected?[...form.setSelected]:null};return{kind:"set",field:form.field,spec:spec2}}if(form.kind==="text"){const spec2={field:form.field,op:form.op,value:form.value1,caseSensitive:form.caseSensitive};return{kind:"text",field:form.field,spec:spec2}}if(form.kind==="number"){const op2=form.op;const isRange2=op2==="between"||op2==="notBetween";const v1=form.value1.trim()===""?Number.NaN:normalizeNumericInput(form.value1)??Number.NaN;const v2=form.value2.trim()===""?Number.NaN:normalizeNumericInput(form.value2)??Number.NaN;const spec2={field:form.field,op:op2,value:isRange2?[v1,v2]:v1};return{kind:"number",field:form.field,spec:spec2}}const op=form.op;const isRange=op==="between"||op==="notBetween";const spec={field:form.field,op,value:isRange?[form.value1,form.value2]:form.value1,granularity:form.granularity};return{kind:"date",field:form.field,spec}}handleFilterApply=()=>{if(!this.filterForm)return;if(this.effectiveLoading)return;if(this.filterForm.kind==="set"&&this.setFormSelectsAll(this.filterForm)){this.handleFilterClear();return}if(this.filterForm.kind==="multi"&&this.multiFormActiveParts(this.filterForm).length===0){this.handleFilterClear();return}const filter=this.buildActiveFilterFromForm(this.filterForm);if(!filter){this.closeFilterDropdown();return}if(!this.filterApplyAllowed(filter))return;const nextMap=setActiveFilter(this.activeFilters,filter);this.activeFilters=nextMap;this.filterChanged.emit({field:filter.field,filter,activeMap:nextMap});this.scheduleLifecycleFilterPeerNotification();this.closeFilterDropdown();this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange()};filterApplyAllowed(filter){if(filter.kind==="set")return this.proNewWorkAllowed("grid.set-filter","columnDefs");if(filter.kind!=="multi")return true;if(!this.proNewWorkAllowed("grid.multi-filter","columnDefs"))return false;return!filter.spec.parts.some(part=>part.kind==="set")||this.proNewWorkAllowed("grid.set-filter","columnDefs")}handleFilterClear=()=>{if(!this.filterForm)return;if(this.effectiveLoading)return;const field=this.filterForm.field;const nextMap=clearActiveFilter(this.activeFilters,field);this.activeFilters=nextMap;this.filterChanged.emit({field,filter:null,activeMap:nextMap});this.scheduleLifecycleFilterPeerNotification();this.closeFilterDropdown();this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange()};handleFilterCancel=()=>{this.closeFilterDropdown()};handleDocumentLifecycleEditorKeyDown=event=>{if(event.isComposing||event.key!=="Escape"&&event.key!=="Esc"){return}if(!this.ownsLifecycleEditorDocumentEvent(event)||this.editingCell===null&&this.lifecycleEditorQueuedRequestRevision===null){return}const facade=this.editorFacade;const facadeEngaged=facade!==null&&facade.lookup().status!=="idle";if(!facadeEngaged&&this.lifecycleEditorQueuedRequestRevision===null){return}event.preventDefault();event.stopImmediatePropagation();if(facadeEngaged){this.invalidateLifecycleEditorRequests();void facade.stop("escape",{cancel:true});return}void this.cancelActiveEdit()};handleDocumentClick=event=>{if(this.contextMenuState!==null){const t=event.target;if(t?.closest?.(".sy-grid__context-menu")===null||t?.closest===void 0){this.closeContextMenu()}}if(this.commentPanel!==null){const t=event.target;const inside=t!==null&&typeof t.closest==="function"&&(t.closest(".sy-grid__comment-panel")!==null||this.host!==void 0&&this.host.contains(t));if(!inside)this.closeCommentPanel()}if(this.selectEditorState!==null&&this.selectEditorState.open){const rawTarget=event.target;const targetEl=rawTarget!==null&&typeof rawTarget==="object"&&"closest"in rawTarget&&typeof rawTarget.closest==="function"?rawTarget:null;const insideTrigger=targetEl!==null&&targetEl.closest(".sy-grid__cell-editor--select")!==null;const insideListbox=targetEl!==null&&targetEl.closest(".sy-grid__select-listbox")!==null;if(!insideTrigger&&!insideListbox){const next=applySelectDropdownToggle(this.selectEditorState,false);if(next!==this.selectEditorState)this.selectEditorState=next}}const editorLookup=this.editorFacade?.lookup();if(editorLookup?.status==="mounted"){const target2=event.target;const targetNode=target2!==null&&typeof target2==="object"&&"nodeType"in target2?target2:null;const insideGui=targetNode!==null&&editorLookup.gui.contains(targetNode);const insideCell=targetNode!==null&&editorLookup.params.cellElement?.contains(targetNode)===true;if(!insideGui&&!insideCell){this.invalidateLifecycleEditorRequests();void this.editorFacade?.handleMouseStop()}}else if(editorLookup?.status==="starting"){const target2=event.target;const targetNode=target2!==null&&typeof target2==="object"&&"nodeType"in target2?target2:null;const cell=this.lifecycleEditorCell;const cellElement=cell===null?void 0:this.lifecycleEditorCellElement(cell.rowIndex,cell.colIndex);if(targetNode===null||cellElement===void 0||!cellElement.contains(targetNode)){this.invalidateLifecycleEditorRequests();void this.editorFacade?.handleMouseStop()}}else if(this.lifecycleEditorCell!==null&&this.editingCell!==null){const target2=event.target;const targetNode=target2!==null&&typeof target2==="object"&&"nodeType"in target2?target2:null;const cellElement=this.lifecycleEditorCellElement(this.lifecycleEditorCell.rowIndex,this.lifecycleEditorCell.colIndex);if(targetNode===null||cellElement===void 0||!cellElement.contains(targetNode)){void this.cancelActiveEdit()}}if(!this.openFilterField)return;const target=event.target;if(target&&this.host.contains(target)){const inDropdown=target.closest?.(".sy-grid__filter-dropdown");const inIcon=target.closest?.(".sy-grid__filter-icon");if(inDropdown||inIcon)return}this.closeFilterDropdown(false)};handleWindowKeyDown(event){if(event.key==="Escape"&&this.openFilterField){this.closeFilterDropdown()}if(event.key==="Escape"&&this.contextMenuState!==null){this.closeContextMenu()}if(event.key==="Escape"&&this.csvWizard!==null){event.stopPropagation();this.cancelCsvWizard()}}commitPagination(next,source){void source;const previous=this.activePagination;if(next===previous)return;if(next.pageIndex===previous.pageIndex&&next.pageSize===previous.pageSize){return}this.activePagination=next;this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange();const meta=this.latestPaginatedMeta;const totalRows=meta?.totalRows??0;const pageCount=meta?Math.max(1,Math.ceil(totalRows/next.pageSize)):1;this.paginationChanged.emit({pageIndex:next.pageIndex,pageSize:next.pageSize,pageCount,totalRows,previous})}handleGoToPage=pageIndex=>{if(!this.pagination)return;if(this.effectiveLoading)return;const next=goToPage(this.activePagination,pageIndex,this.latestPaginatedMeta);this.commitPagination(next,"go")};handlePrevPage=()=>{if(!this.pagination)return;if(this.effectiveLoading)return;const next=prevPage(this.activePagination,this.latestPaginatedMeta);this.commitPagination(next,"prev")};handleNextPage=()=>{if(!this.pagination)return;if(this.effectiveLoading)return;const next=nextPage(this.activePagination,this.latestPaginatedMeta);this.commitPagination(next,"next")};handlePageSizeChange=rawValue=>{if(!this.pagination)return;if(this.effectiveLoading)return;const value=typeof rawValue==="number"?rawValue:Number(rawValue);if(typeof value!=="number"||!Number.isFinite(value)||!Number.isInteger(value)||value<1){console.warn(`[SG:PAGE] bad selection=${rawValue}`);return}const next=changePageSize(this.activePagination,value,this.latestPaginatedMeta);this.commitPagination(next,"size")};handlePaginationKeyDown=event=>{if(event.key==="ArrowLeft"){const target=event.target;if(target&&target.tagName==="SELECT")return;event.preventDefault();this.handlePrevPage()}else if(event.key==="ArrowRight"){const target=event.target;if(target&&target.tagName==="SELECT")return;event.preventDefault();this.handleNextPage()}};onQuickFilterTextPropChanged(newValue){const next=typeof newValue==="string"?newValue:"";const committedChanged=next!==this.quickFilterValue;const pendingChanged=next!==this.quickFilterPendingValue;if(!committedChanged&&!pendingChanged)return;this.cancelQuickFilterDebounce();if(committedChanged){this.quickFilterValue=next}this.quickFilterPendingValue=next;this.syncQuickFilterInputValue(next);if(committedChanged&&this.host?.isConnected){this.resetVirtualScrollPosition();this.recomputeVirtualWindow()}}onQuickFilterConfigChanged(){if(!this.host?.isConnected)return;this.resetVirtualScrollPosition();this.recomputeVirtualWindow()}onLoadingChanged(){this.updateLoadingState();if(!this.host?.isConnected)return;this.recomputeVirtualWindow()}onLoadingModeChanged(newValue,oldValue){if(newValue==="off"&&oldValue!=="off"){this.loadingDebouncer.clear();this.cancelLoadingDebounce()}this.updateLoadingState()}onMinLoadingDurationChanged(){this.loadingDebouncer.clear();this.cancelLoadingDebounce();this.loadingDebouncer=createLoadingDebouncer(this.minLoadingDuration);this.updateLoadingState()}updateLoadingState(){const raw=isLoadingActive({externalLoading:this.loading===true,mode:this.loadingMode??"manual"});const now=this.nowMs();const next=this.loadingDebouncer.update(raw,now);if(next!==this.effectiveLoading){this.effectiveLoading=next}this.cancelLoadingDebounce();if(next===true&&raw===false){const remaining=this.loadingDebouncer.remaining(now);this.loadingDebounceTimer=setTimeout(()=>{this.loadingDebounceTimer=null;const tickRaw=isLoadingActive({externalLoading:this.loading===true,mode:this.loadingMode??"manual"});const tickNext=this.loadingDebouncer.update(tickRaw,this.nowMs());if(tickNext!==this.effectiveLoading){this.effectiveLoading=tickNext;if(this.host?.isConnected){this.recomputeVirtualWindow()}}},remaining)}}cancelLoadingDebounce(){if(this.loadingDebounceTimer!==null){clearTimeout(this.loadingDebounceTimer);this.loadingDebounceTimer=null}}nowMs(){if(typeof performance!=="undefined"&&typeof performance.now==="function"){return performance.now()}return Date.now()}cancelQuickFilterDebounce(){if(this.quickFilterDebounceTimer!==null){clearTimeout(this.quickFilterDebounceTimer);this.quickFilterDebounceTimer=null}}commitQuickFilterValue(rawNext){const next=typeof rawNext==="string"?rawNext:"";const previous=this.quickFilterValue;this.quickFilterPendingValue=next;this.syncQuickFilterInputValue(next);if(next===previous)return;this.quickFilterValue=next;this.quickFilterChanged.emit({value:next,previous});this.scheduleLifecycleFilterPeerNotification();this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange()}handleQuickFilterInput=event=>{const target=event.target;if(!target)return;if(this.effectiveLoading){target.value=this.quickFilterValue;return}const next=target.value;this.quickFilterPendingValue=next;const debounce=this.normalizedQuickFilterDebounce();if(debounce<=0){this.cancelQuickFilterDebounce();this.commitQuickFilterValue(next);return}this.cancelQuickFilterDebounce();this.quickFilterDebounceTimer=setTimeout(()=>{this.quickFilterDebounceTimer=null;this.commitQuickFilterValue(this.quickFilterPendingValue)},debounce)};handleQuickFilterKeyDown=event=>{if(this.effectiveLoading){if(event.key==="Escape"||event.key==="Enter"){event.preventDefault();this.syncQuickFilterInputValue(this.quickFilterValue)}return}if(event.key==="Escape"){event.preventDefault();this.cancelQuickFilterDebounce();const target=event.target;if(target)target.value="";this.commitQuickFilterValue("")}else if(event.key==="Enter"){event.preventDefault();this.cancelQuickFilterDebounce();this.commitQuickFilterValue(this.quickFilterPendingValue)}};handleQuickFilterClear=()=>{if(this.effectiveLoading)return;this.cancelQuickFilterDebounce();this.commitQuickFilterValue("")};normalizedQuickFilterDebounce(){const raw=this.quickFilterDebounce;const value=typeof raw==="number"?raw:Number(raw);if(!Number.isFinite(value))return 150;return Math.max(0,Math.floor(value))}syncQuickFilterInputValue(value){if(this.quickFilterInputEl&&this.quickFilterInputEl.value!==value){this.quickFilterInputEl.value=value}}shouldRenderQuickFilterToolbar(){return this.quickFilter===true&&this.usingColumnDefsApi()}hasAnyActiveFilter(){if(Object.keys(this.activeFilters).length>0)return true;const quick=typeof this.quickFilterValue==="string"?this.quickFilterValue:"";if(this.quickFilter===true&&quick.trim()!=="")return true;return false}resolveEmptyStateKind(){if(!this.usingColumnDefsApi())return"none";if(this.showEmptyState!==true)return"none";if(this.serverSideState!==null){const root=this.serverSideState.nodes[""];return root!==void 0&&root.lastRowKnown&&root.rowCount===0?"no-data":"none"}if(this.viewportState!==null){return this.viewportState.countReported&&this.viewportState.rowCount===0?"no-data":"none"}if(this.infiniteCache!==null){const cache=this.infiniteCache;return cache.lastRowKnown&&cache.rowCount===0?"no-data":"none"}const sourceRowCount=this.rowData?.length??0;const displayRowCount=this.getDisplayRows().length;return pickEmptyState({sourceRowCount,displayRowCount,loading:this.effectiveLoading===true,hasActiveFilters:this.hasAnyActiveFilter()})}handleEmptyStateClearFilters=()=>{const kind=this.resolveEmptyStateKind();const fields=Object.keys(this.activeFilters);if(fields.length>0){let currentMap=this.activeFilters;for(const field of fields){currentMap=clearActiveFilter(currentMap,field);this.filterChanged.emit({field,filter:null,activeMap:currentMap})}this.activeFilters=currentMap;this.scheduleLifecycleFilterPeerNotification()}const quickValue=typeof this.quickFilterValue==="string"?this.quickFilterValue:"";const quickPending=typeof this.quickFilterPendingValue==="string"?this.quickFilterPendingValue:"";const quickDomValue=this.quickFilterInputEl?.value??"";if(this.quickFilter===true&&(quickValue!==""||quickPending!==""||quickDomValue!=="")){this.cancelQuickFilterDebounce();this.commitQuickFilterValue("")}this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.emptyStateActionClicked.emit({kind,action:"clear-filters"})};normalizedPageSizeOptions(){const raw=Array.isArray(this.pageSizeOptions)?this.pageSizeOptions:DEFAULT_PAGE_SIZE_OPTIONS;const seen=new Set;const options=[];for(const option of raw){const value=Number(option);if(!Number.isFinite(value)||!Number.isInteger(value)||value<1){continue}if(seen.has(value))continue;seen.add(value);options.push(value)}const activeSize=this.activePagination.pageSize;if(options.length===0){options.push(activeSize);return options}if(!seen.has(activeSize)){options.push(activeSize);options.sort((a,b)=>a-b)}return options}activeColCount(){return this.resolvedColumnDefs().length}renderedColumnCount(){return this.resolvedColumnDefs().length+this.checkboxColumnOffset()}activeRowCount(){if(!this.usingColumnDefsApi())return 0;return this.getDisplayRows().length}isKeyboardNavEnabled(){if(!this.usingColumnDefsApi())return false;if(this.keyboardNavigation===false)return false;if(this.effectiveLoading)return false;if(this.openFilterField!==null)return false;return true}commitActiveCell(next,options={}){const previous=this.activeCell;if(previous===next)return;if(previous&&next&&previous.rowIndex===next.rowIndex&&previous.colIndex===next.colIndex){return}this.releaseFocusedLifecycleRenderer();this.activeCell=next;this.formulaBarDraft=null;this.formulaSuggest=null;if(options.scrollIntoView!==false&&next){this.pendingScrollIntoView=next}else if(next===null){this.pendingScrollIntoView=null}this.activeCellChanged.emit({active:next,previous});if(next!==null&&this.liveObjectModel!==null){const row=this.liveObjectModel.getDisplayedRowAtIndex(next.rowIndex);const column=this.resolvedColumnDefs()[next.colIndex];if(row){this.publishLiveObjectChange("row",row.id,"focused","ui",{before:previous,after:next,field:column?.field,data:row.getData()??void 0})}}}focusOutsideGridRoot(reverse){const doc=this.host.ownerDocument;if(!doc)return false;const gridRoot=this.host.querySelector(".sy-grid__grid");const boundary=gridRoot??this.viewportEl??this.host;const selector=["a[href]","button","input","select","textarea","[tabindex]"].join(",");const candidates=Array.from(doc.querySelectorAll(selector));const before=[];const after=[];const DOCUMENT_POSITION_PRECEDING=2;const DOCUMENT_POSITION_FOLLOWING=4;for(const el of candidates){if(boundary.contains(el))continue;if(!this.isFocusableForGridEscape(el))continue;const pos=boundary.compareDocumentPosition(el);if((pos&DOCUMENT_POSITION_PRECEDING)!==0)before.push(el);else if((pos&DOCUMENT_POSITION_FOLLOWING)!==0)after.push(el)}const target=reverse?before[before.length-1]:after[0];if(!target)return false;try{target.focus({preventScroll:true})}catch{target.focus()}this.releaseFocusedLifecycleRenderer();return true}gridOwnsDocumentFocus(){const activeElement=this.host.ownerDocument?.activeElement;return activeElement!==null&&activeElement!==void 0&&(activeElement===this.host||this.host.contains(activeElement))}isFocusableForGridEscape(el){if(el.hasAttribute("disabled"))return false;if(el.getAttribute("aria-disabled")==="true")return false;const tabIndexAttr=el.getAttribute("tabindex");if(tabIndexAttr!==null&&Number(tabIndexAttr)<0)return false;const view=el.ownerDocument.defaultView;if(view){const style=view.getComputedStyle(el);if(style.display==="none"||style.visibility==="hidden")return false}return typeof el.focus==="function"}handleViewportKeyDown=event=>{const kbTarget=event.target;if(kbTarget!==null&&kbTarget.closest!==void 0&&kbTarget.closest(".sy-grid__selection-checkbox")!==null){const hit=this.dgRow(event);if(hit!==null&&!this.isSentinelDisplayRow(hit.row)){this.handleBodyCheckboxKeyDown(hit.row,hit.rowIndex,event);if(event.defaultPrevented)return}}if(!this.isKeyboardNavEnabled())return;const rowCount=this.activeRowCount();const colCount=this.activeColCount();if(rowCount===0||colCount===0)return;if((event.ctrlKey||event.metaKey)&&(event.key==="c"||event.key==="C")&&this.editStore.active===null){if(!copyNeedsRangeClipboard(this.normalizedRanges())&&this.hostTextSelected())return;event.preventDefault();void this.copySelectionToClipboard();return}switch(event.key){case"ArrowUp":{event.preventDefault();if(event.shiftKey&&this.rangeSelectionActive()){this.extendRangeByKeyboard("up",rowCount,colCount);return}if(!event.shiftKey&&this.enterPinnedBandFromBody("up"))return;const next=this.spanAwareMove("up",this.skipDetailRows(moveCell(this.activeCell,"up",rowCount,colCount),"up",rowCount,colCount));this.commitActiveCell(next);return}case"ArrowDown":{event.preventDefault();if(event.shiftKey&&this.rangeSelectionActive()){this.extendRangeByKeyboard("down",rowCount,colCount);return}if(!event.shiftKey&&this.enterPinnedBandFromBody("down"))return;const next=this.spanAwareMove("down",this.skipDetailRows(moveCell(this.activeCell,"down",rowCount,colCount),"down",rowCount,colCount));this.commitActiveCell(next);return}case"ArrowLeft":{event.preventDefault();if(this.activeCell!==null&&this.isFullWidthDisplayRow(this.activeCell.rowIndex))return;if(event.shiftKey&&this.rangeSelectionActive()){this.extendRangeByKeyboard("left",rowCount,colCount);return}const activeRow=this.activeCell!==null?this.getDisplayRows()[this.activeCell.rowIndex]:void 0;if(isGroupMarkerRow(activeRow)&&activeRow.expanded){void this.applyRowGroupExpanded(activeRow.key,false,"ui");return}if(isTreeNodeRow(activeRow)&&activeRow.hasChildren&&activeRow.expanded){void this.applyTreeNodeExpanded(activeRow.path,false,"ui");return}const next=this.spanAwareMove("left",moveCellWithWrap(this.activeCell,"left",rowCount,colCount));this.commitActiveCell(next);return}case"ArrowRight":{event.preventDefault();if(this.activeCell!==null&&this.isFullWidthDisplayRow(this.activeCell.rowIndex))return;if(event.shiftKey&&this.rangeSelectionActive()){this.extendRangeByKeyboard("right",rowCount,colCount);return}const activeRow=this.activeCell!==null?this.getDisplayRows()[this.activeCell.rowIndex]:void 0;if(isGroupMarkerRow(activeRow)&&!activeRow.expanded){void this.applyRowGroupExpanded(activeRow.key,true,"ui");return}if(isTreeNodeRow(activeRow)&&activeRow.hasChildren&&!activeRow.expanded){void this.applyTreeNodeExpanded(activeRow.path,true,"ui");return}const next=this.spanAwareMove("right",moveCellWithWrap(this.activeCell,"right",rowCount,colCount));this.commitActiveCell(next);return}case"Tab":{if(this.focusOutsideGridRoot(event.shiftKey)){event.preventDefault()}return}case"Enter":{if(this.activeCell===null)return;if(this.editingCell===null&&this.editType==="fullRow"){const sessionRowId=this.rowEditSessionRowId();if(sessionRowId!==null&&this.activeCellRowId()===sessionRowId){event.preventDefault();void this.finishRowEditSession("commit");return}}event.preventDefault();const rows=this.getDisplayRows();const row=rows[this.activeCell.rowIndex];const col=this.resolvedColumnDefs()[this.activeCell.colIndex];if(row===void 0||!col)return;if(this.isFullWidthDisplayRow(this.activeCell.rowIndex)){const rowEl=this.viewportEl?.querySelector?.(`.sy-grid__full-width-row[data-row-index="${this.activeCell.rowIndex}"]`);const focusable=rowEl?.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(focusable!==null&&focusable!==void 0){try{focusable.focus({preventScroll:true})}catch{focusable.focus()}}return}if(isGroupMarkerRow(row)){void this.applyRowGroupExpanded(row.key,!row.expanded,"ui");return}if(isTreeNodeRow(row)){if(row.hasChildren){void this.applyTreeNodeExpanded(row.path,!row.expanded,"ui")}else if(row.row!==null){this.cellClicked.emit({row:row.row,rowIndex:this.activeCell.rowIndex,colIndex:this.activeCell.colIndex,field:col.field})}return}if(isGroupFooterRow(row)||isDetailRow(row))return;if(isLoadingPlaceholderRow(row))return;this.cellClicked.emit({row,rowIndex:this.activeCell.rowIndex,colIndex:this.activeCell.colIndex,field:col.field});if(col.editable===true&&this.passesEditPolicy(this.activeCell.rowIndex,col,row)){this.beginCellEdit(this.activeCell.rowIndex,this.activeCell.colIndex,"keyboard",event)}return}case"Escape":{if(this.editingCell!==null){event.preventDefault();if(this.editorFacade!==null&&this.editorFacade.lookup().status!=="idle"){this.invalidateLifecycleEditorRequests();void this.editorFacade.stop("escape",{cancel:true});return}const cancelled=this.editingCell;this.invalidateLifecycleEditorRequests();this.editingCell=null;this.unregisterLifecycleEditorDocumentOwner();this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelled.rowIndex,colIndex:cancelled.colIndex});return}if(this.editType==="fullRow"&&this.rowEditSessionRowId()!==null){event.preventDefault();void this.finishRowEditSession("cancel");return}if(this.rangeState.ranges.length>0||this.rangeState.dragging!==null){event.preventDefault();void this.clearCellRanges();return}if(this.activeCell===null)return;event.preventDefault();this.commitActiveCell(null);return}case"Home":{event.preventDefault();const useGridJump=event.ctrlKey||event.metaKey;const next=useGridJump?homeGridCell(rowCount,colCount):homeCell(this.activeCell,colCount);this.commitActiveCell(this.skipDetailRows(next,"down",rowCount,colCount));return}case"End":{event.preventDefault();const useGridJump=event.ctrlKey||event.metaKey;const next=useGridJump?endGridCell(rowCount,colCount):endCell(this.activeCell,colCount);this.commitActiveCell(this.skipDetailRows(next,"up",rowCount,colCount));return}case"PageUp":{event.preventDefault();const pageSize=this.viewportRowCount();const next=pageCell(this.activeCell,"up",pageSize,rowCount,colCount);this.commitActiveCell(this.skipDetailRows(next,"up",rowCount,colCount));return}case"PageDown":{event.preventDefault();const pageSize=this.viewportRowCount();const next=pageCell(this.activeCell,"down",pageSize,rowCount,colCount);this.commitActiveCell(this.skipDetailRows(next,"down",rowCount,colCount));return}case"F2":{if(this.activeCell===null)return;if(event.shiftKey){const rows=this.getDisplayRows();const row=rows[this.activeCell.rowIndex];const field=this.resolvedColumnDefs()[this.activeCell.colIndex]?.field;if(row!==void 0&&row!==null&&typeof row==="object"&&typeof field==="string"&&this.collabSession!==null){event.preventDefault();this.openCommentPanelAt(this.collabRowId(row,this.activeCell.rowIndex),field)}return}if(this.beginCellEdit(this.activeCell.rowIndex,this.activeCell.colIndex,"keyboard",event)){event.preventDefault()}return}case" ":case"Spacebar":{if(this.activeCell===null||!this.masterDetailActive())return;const spaceRow=this.getDisplayRows()[this.activeCell.rowIndex];if(spaceRow===void 0||spaceRow===null||typeof spaceRow!=="object")return;const detailId=this.detailRowIds.get(spaceRow);if(detailId===void 0)return;event.preventDefault();void this.applyDetailRowExpanded(detailId,!this.expandedDetailRows.has(detailId),"ui");return}default:return}};viewportRowCount(){const measured=this.viewportSize?.height;let height;if(typeof measured==="number"&&Number.isFinite(measured)&&measured>0){height=measured}else{height=this.estimatedViewportHeight()}const rowH=this.uniformRowHeight();if(!Number.isFinite(rowH)||rowH<=0)return 1;const rows=Math.floor(height/rowH);return rows>0?rows:1}handleCellMouseClick=(row,rowIndex,colIndex,field,event)=>{if(!this.usingColumnDefsApi())return;if(this.effectiveLoading)return;const intent=this.classifyCellClick(rowIndex,field,event);this.cellClicked.emit({row,rowIndex,colIndex,field,button:intent.button,modifiers:intent.modifiers,doubleClick:intent.doubleClick,dragged:intent.dragged});if(intent.doubleClick){this.cellDoubleClicked.emit({row,rowIndex,colIndex,field,button:intent.button,modifiers:intent.modifiers})}this.emitRowClicked(row,rowIndex,event);if(!(this.rangeSelectionActive()&&event?.shiftKey)){this.applyRowClickSelection(row,rowIndex,event)}if(this.keyboardNavigation===false)return;this.commitActiveCell({rowIndex,colIndex},{scrollIntoView:false});if(this.viewportEl&&document.activeElement!==this.viewportEl){this.viewportEl.focus({preventScroll:true})}if(intent.doubleClick){this.beginCellEdit(rowIndex,colIndex,"mouse",event??null)}const plainClick=!intent.dragged&&!intent.doubleClick&&intent.button==="left"&&!intent.modifiers.ctrl&&!intent.modifiers.shift&&!intent.modifiers.meta&&!intent.modifiers.alt;if(plainClick){if(this.cellCommentBadge(row,rowIndex,field)!==null){this.openCommentPanelAt(this.collabRowId(row,rowIndex),field)}else if(this.commentPanel!==null){this.closeCommentPanel()}}};lastCellClickedAt;lastCellClickedKey;lastCellMouseDown;lastRowMouseDown;lastRowClickedAt;lastRowClickedIndex;rangeSelectionActive(){return this.rangeSelection===true&&this.usingColumnDefsApi()&&this.proAllowed("grid.range-selection","rangeSelection")&&this.proUiChunk("range-selection","grid.range-selection","rangeSelection")!=null}rowReorderEnabled(){return this.rowDragManaged===true&&this.usingColumnDefsApi()&&this.infiniteCache===null&&this.pagination!==true&&this.activeSortModel.length===0&&Object.keys(this.activeFilters).length===0&&this.activeConditionTree===null&&(this.quickFilterValue??"")===""&&this.effectiveGroupFields()===null&&this.treeSurface()===null&&!this.masterDetailActive()}cellChangeFlashActive(){return this.cellChangeFlash===true||this.enableCellChangeFlash===true}flashCell(rowIndex,field){if(!this.cellChangeFlashActive()||typeof window==="undefined")return;if(typeof field!=="string"||field==="")return;const key=cellFlashKey(rowIndex,field);const existing=this.flashTimers.get(key);if(existing!==void 0)clearTimeout(existing);const next=addFlash(this.flashingCells,key);if(next!==this.flashingCells)this.flashingCells=next;const timer=setTimeout(()=>{this.flashTimers.delete(key);const cleared=removeFlash(this.flashingCells,key);if(cleared!==this.flashingCells)this.flashingCells=cleared},CELL_FLASH_DURATION_MS);this.flashTimers.set(key,timer)}handleRowDragStart(displayIndex,event){if(!this.rowReorderEnabled()||event.button!==0)return;if(typeof document==="undefined")return;event.preventDefault();event.stopPropagation();this.rowDragState=beginRowDrag(displayIndex);const onMove=e=>this.handleRowDragMove(e);const onUp=e=>this.handleRowDragEnd(e);document.addEventListener("mousemove",onMove,true);document.addEventListener("mouseup",onUp,true);this.rowDragCleanup=()=>{document.removeEventListener("mousemove",onMove,true);document.removeEventListener("mouseup",onUp,true);this.rowDragCleanup=null}}handleRowDragMove(event){if(this.rowDragState===null)return;const hit=this.rowIndexAtPoint(event.clientX,event.clientY);const next=hit===null?updateRowDragOver(this.rowDragState,null,"below"):updateRowDragOver(this.rowDragState,hit.index,hit.position);if(next!==this.rowDragState)this.rowDragState=next}handleRowDragEnd(_event){const state=this.rowDragState;if(this.rowDragCleanup)this.rowDragCleanup();this.rowDragState=null;if(state===null)return;const source=this.rowData??[];const insertion=rowDropInsertionIndex(state);const reordered=reorderRows(source,state.sourceIndex,insertion);if(reordered===source)return;const movedRow=source[state.sourceIndex];const toIndex=reordered.indexOf(movedRow);this.rowData=reordered;this.rowMoved.emit({fromIndex:state.sourceIndex,toIndex,row:movedRow})}rowIndexAtPoint(x,y){if(typeof document==="undefined")return null;const el=document.elementFromPoint(x,y);const rowEl=el?.closest(".sy-grid__row[data-row-index]");if(rowEl===null||this.host!==void 0&&!this.host.contains(rowEl))return null;const idx=Number(rowEl.getAttribute("data-row-index"));if(!Number.isInteger(idx))return null;const rect=rowEl.getBoundingClientRect();const position=y<rect.top+rect.height/2?"above":"below";return{index:idx,position}}renderRowDragHandle(rowIndex,col){if(col.rowDrag!==true)return null;const managed=this.rowReorderEnabled();const unmanaged=!managed&&this.unmanagedRowDragEnabled();if(!managed&&!unmanaged)return null;const label=translateMessage(this.resolvedMessages,"a11y.rowDragHandle",{row:rowIndex+1});return h("span",{class:{"sy-grid__row-drag-handle":true,"sy-grid__row-drag-handle--unmanaged":unmanaged},role:"button","aria-label":label,title:label,tabindex:unmanaged?0:void 0,"data-row-drag-handle":unmanaged?"unmanaged":"managed",onPointerDown:unmanaged?event=>this.handleUnmanagedDragPointerDown(rowIndex,event):void 0,onKeyDown:unmanaged?event=>this.handleUnmanagedDragKeyDown(rowIndex,event):void 0},h("span",{class:"sy-grid__row-drag-grip","aria-hidden":"true"},"⠿"))}rowDragDropClass(rowIndex){const state=this.rowDragState;if(state!==null){const isTarget=state.overIndex===rowIndex;return{dragging:state.sourceIndex===rowIndex,above:isTarget&&state.position==="above",below:isTarget&&state.position==="below",into:false}}const target=this.unmanagedDragTarget;const own=target!==null&&this.rowDragBinding!==null&&target.zoneId===this.rowDragBinding.zoneId&&target.rowIndex===rowIndex;return{dragging:this.unmanagedDragSource===rowIndex,above:own&&target!==null&&target.position==="above",below:own&&target!==null&&target.position==="below",into:own&&target!==null&&target.position==="into"}}normalizedRanges(){return this.rangeState.ranges.map(normalizeRange)}emitRangeChange(){this.rangeSelectionChanged.emit({ranges:this.normalizedRanges()})}isSentinelDisplayRow(row){return isGroupMarkerRow(row)||isGroupFooterRow(row)||isTreeNodeRow(row)||isDetailRow(row)||isLoadingPlaceholderRow(row)||isPivotRowGroupMarker(row)||isPivotGrandTotalRow(row)||this.isPivotSubtotalDisplayRow(row)}handleRangeDragStart(rowIndex,colIndex,event){if(!this.rangeSelectionActive())return;this.proUiChunks["range-selection"]?.handleRangeDragStart(this.rangeSelectionHost(),rowIndex,colIndex,event)}extendRangeByKeyboard(direction,rowCount,colCount){this.proUiChunks["range-selection"]?.extendRangeByKeyboard(this.rangeSelectionHost(),direction,rowCount,colCount)}handleRangeDragEnter(rowIndex,colIndex,event){if(this.rangeState.dragging===null)return;this.proUiChunks["range-selection"]?.handleRangeDragEnter(this.rangeSelectionHost(),rowIndex,colIndex,event)}finishRangeDrag=()=>{if(this.rangeState.dragging===null)return;this.proUiChunks["range-selection"]?.finishRangeDrag(this.rangeSelectionHost())};rangeCellClasses(rowIndex,colIndex){const chunk=this.proUiChunks["range-selection"];return chunk===void 0?{}:chunk.rangeCellClasses(this.rangeSelectionHost(),rowIndex,colIndex)}onRangeSelectionChange(newValue){if(newValue===true)return;document.removeEventListener("mouseup",this.finishRangeDrag);if(this.rangeState.ranges.length>0||this.rangeState.dragging!==null){this.rangeState={ranges:[],dragging:null};this.emitRangeChange()}}clampRangesAfterChange(){if(this.rangeState.ranges.length===0&&this.rangeState.dragging===null)return;this.proUiChunks["range-selection"]?.clampRangesAfterChange(this.rangeSelectionHost())}copyableDataRowAt(rows,rowIndex){const row=rows[rowIndex];if(row===void 0||row===null)return null;if(isTreeNodeRow(row)){return row.filler||row.row===null||row.row===void 0?null:row.row}if(this.isSentinelDisplayRow(row))return null;return row}readPolicyConfigured(){return this.canReadCell!==null&&this.canReadCell!==void 0}editPolicyConfigured(){return this.canEditCell!==null&&this.canEditCell!==void 0}isCellReadable(rawValue,row,rowIndex,col){const policy=this.canReadCell;if(policy===null||policy===void 0)return true;return resolveCellReadable({rowIndex,field:col.field,colId:col.colId??col.field,data:row,value:rawValue},policy,err=>{if(this.canReadWarned)return;this.canReadWarned=true;console.warn("[SG:POLICY] read bad; mask fail-closed",err)})}applyReadMask(rawValue,row,rowIndex,col){if(!this.readPolicyConfigured())return rawValue;return maskCellValue(rawValue,this.isCellReadable(rawValue,row,rowIndex,col),this.maskedCellValue)}passesEditPolicy(rowIndex,col,row){if(this.readPolicyConfigured()&&!this.isCellReadable(this.rawFieldValue(row,rowIndex,col),row,rowIndex,col)){return false}const policy=this.canEditCell;if(policy===null||policy===void 0)return true;return resolveCellEditable({rowIndex,field:col.field,colId:col.colId??col.field,data:row,value:this.rawFieldValue(row,rowIndex,col)},policy,err=>{if(this.canEditWarned)return;this.canEditWarned=true;console.warn("[SG:POLICY] edit bad; block fail-closed",err)})}passesEditPolicyAt(rowIndex,colIndex){if(!this.readPolicyConfigured()&&!this.editPolicyConfigured())return true;const col=this.effectiveColumns()[colIndex];const row=this.getDisplayRows()[rowIndex];if(!col||row===void 0||row===null||typeof row!=="object")return true;return this.passesEditPolicy(rowIndex,col,row)}validateCell(row,rowIndex,col){if(this.validationRules===void 0||this.validationRules.length===0)return{valid:true};return evaluateValidation(this.validationRules,{field:col.field,value:this.rawFieldValue(row,rowIndex,col),rowIndex,data:row})}async getValidationErrors(){if(this.validationRules===void 0||this.validationRules.length===0)return[];const rows=this.getDisplayRows();const cols=this.resolvedColumnDefs();const out=[];for(let r=0;r<rows.length;r++){const row=rows[r];if(row===void 0||row===null||typeof row!=="object"||this.isSentinelDisplayRow(row))continue;const data=row;for(const col of cols){if(typeof col.field!=="string"||col.field==="")continue;const rawValue=this.rawFieldValue(data,r,col);if(this.readPolicyConfigured()&&!this.isCellReadable(rawValue,data,r,col))continue;const res=this.validateCell(data,r,col);if(!res.valid){out.push({rowIndex:r,rowId:this.extractRowId(row,r),field:col.field,value:rawValue,message:res.message??"Invalid value"})}}}return out}async captureSnapshot(name){const id=`snap-${++this.snapshotCounter}`;const label=typeof name==="string"&&name.trim()!==""?name.trim():`Snapshot ${this.snapshotCounter}`;const rows=this.rowData??[];const snap=createSnapshot(rows,{id,name:label,ts:Date.now()});this.snapshotStore=addSnapshot(this.snapshotStore,snap,this.maxSnapshots);this.snapshotCaptured.emit({id,name:label,rowCount:snap.rows.length});return id}async listSnapshots(){return this.snapshotStore.map(s=>snapshotMeta(s))}async deleteSnapshot(id){const before=this.snapshotStore.length;this.snapshotStore=removeSnapshot(this.snapshotStore,id);return this.snapshotStore.length<before}snapshotRowIdentity(row,index){if(typeof this.getRowId==="function"){return this.getRowId(row)}const id=row.id;return id===void 0||id===null?`__index_${index}`:id}snapshotRowById(rows,rowId){for(let rowIndex=0;rowIndex<rows.length;rowIndex+=1){if(structuralEqual(this.snapshotRowIdentity(rows[rowIndex],rowIndex),rowId)){return{data:rows[rowIndex],rowIndex}}}return null}snapshotRowByValue(rows,target){for(let rowIndex=0;rowIndex<rows.length;rowIndex+=1){if(structuralEqual(rows[rowIndex],target)){return{data:rows[rowIndex],rowIndex}}}return null}snapshotDiffForPublicRead(diff,before,after){if(!this.readPolicyConfigured())return diff;const columns=this.resolvedColumnDefs();const byField=new Map(columns.map(col=>[col.field,col]));const maskRow=(detached,context)=>{const policyData=context?.data??detached;const rowIndex=context?.rowIndex??-1;return this.maskDeniedFields(detached,rowIndex,columns,policyData)};return{added:diff.added.map(row=>maskRow(row,this.snapshotRowByValue(after,row))),removed:diff.removed.map(row=>maskRow(row,this.snapshotRowByValue(before,row))),changed:diff.changed.map(change=>{const beforeContext=this.snapshotRowById(before,change.rowId);const afterContext=this.snapshotRowById(after,change.rowId);return{rowId:change.rowId,fields:change.fields.map(field=>{const col=byField.get(field.field)??{field:field.field};return{field:field.field,before:this.applyReadMask(field.before,beforeContext?.data??null,beforeContext?.rowIndex??-1,col),after:this.applyReadMask(field.after,afterContext?.data??null,afterContext?.rowIndex??-1,col)}})}}),summary:{...diff.summary}}}async diffSnapshots(idA,idB){const before=getSnapshot(this.snapshotStore,idA)?.rows??[];const after=idB===void 0?this.rowData??[]:getSnapshot(this.snapshotStore,idB)?.rows??[];const rowId=typeof this.getRowId==="function"?row=>this.getRowId(row):void 0;const rawDiff=diffSnapshots(before,after,rowId);return this.snapshotDiffForPublicRead(rawDiff,before,after)}async restoreSnapshot(id){const snap=getSnapshot(this.snapshotStore,id);if(snap===null)return false;const current=this.rowData??[];const restored=deepCloneRows(snap.rows);const idOf=(row,index)=>{let value;try{if(typeof this.getRowId==="function"){value=this.getRowId(row)}else{const candidate=row.id;value=candidate===null||candidate===void 0?`__i${index}`:candidate}}catch{return null}if(typeof value==="string"&&value.length>0)return value;if(typeof value==="number"&&Number.isFinite(value))return value;return null};const indexRows=rows=>{const indexed=new Map;for(let index=0;index<rows.length;index+=1){const row=rows[index];const rowId=idOf(row,index);if(rowId===null||indexed.has(rowId))return null;indexed.set(rowId,{row,index})}return indexed};const currentById=indexRows(current);const restoredById=indexRows(restored);if(currentById===null||restoredById===null){console.warn("[SG:SNAPSHOT] bad/dup row id; reject");return false}const added=[];const updated=[];for(const[rowId,entry]of restoredById){const previous=currentById.get(rowId);if(previous===void 0)added.push(entry);else if(!structuralEqual(previous.row,entry.row)){updated.push({row:entry.row,previous:previous.row,index:entry.index})}}const removed=[];for(const[rowId,entry]of currentById){if(!restoredById.has(rowId))removed.push(entry)}this.rowData=restored;this.fireRowDataChanged({added,updated,removed,rejected:[],txId:allocateTxId(),source:"local"});this.snapshotRestored.emit({id:snap.id,name:snap.name,rowCount:restored.length});return true}rawFieldValue(row,rowIndex,col){return this.resolveGridCellValue({row,rowIndex,colId:col.colId??col.field,field:col.field,valueGetter:col.valueGetter,colDef:col})}maskDeniedFields(row,rowIndex,columns,policyData=row,policyRowIndex=rowIndex){let clone={...row};for(const col of columns){if(!this.isCellReadable(this.rawFieldValue(policyData,rowIndex,col),policyData,policyRowIndex,col)){clone=setOwnFieldPathImmutable(clone,col.field,this.maskedCellValue)}}return clone}maskRowsForRead(rows,columns){if(!this.readPolicyConfigured())return rows;return rows.map((row,i)=>this.maskDeniedFields(row,i,columns,row,-1))}cellDisplayText(rowIndex,colIndex,rows,cols){const row=this.copyableDataRowAt(rows,rowIndex);if(row===null)return"";const col=cols[colIndex];if(!col)return"";const rawValue=this.cellRawValue(row,rowIndex,col);if(this.readPolicyConfigured()&&!this.isCellReadable(rawValue,row,rowIndex,col)){return this.maskedCellValue}const formatterRow=this.readPolicyConfigured()?this.maskDeniedFields(row,rowIndex,cols):row;const value=this.readPolicyConfigured()&&(typeof col.valueGetter==="function"||typeof col.valueGetter==="string")?this.resolveGridCellValue({row:formatterRow,rowIndex,colId:col.colId??col.field,field:col.field,valueGetter:col.valueGetter,colDef:col}):rawValue;if(col.valueFormatter!==void 0&&col.valueFormatter!==null){return this.formatGridCellValue({value,row:formatterRow,rowIndex,colId:col.colId??col.field,valueFormatter:col.valueFormatter,locale:typeof this.locale==="string"?this.locale:"en",colDef:col})}return value==null?"":value}formulaCellDisplay(sheet,raw,field,row){return this.formulaFreeze.showsRaw(sheet,field,row)?raw:sheet.computeDisplay(raw,field,row)}formulaWorkHeld(){const gate=this.proGateRef;if(gate===null||this.formulas!==true||!gate.frozen("grid.formulas"))return false;this.formulaFreeze.holdRebuild();return true}cellRawValue(row,rowIndex,col){const resolvedColId=col.colId??col.field;let value=this.resolveGridCellValue({row,rowIndex,colId:resolvedColId,field:col.field,valueGetter:col.valueGetter,colDef:col});if(this.formulaSheet!==null&&this.formulaSheet.isCalculatedField(col.field)){return this.showFormulas===true?col.formula??"":this.formulaSheet.calculatedDisplay(col.field,row)}if(this.formulaSheetSeeding&&isFormulaText(value)){if(this.showFormulas===true)return value;return this.formulaSheet!==null&&this.formulaSheet.canRevealDuringSeed(value,row)?this.formulaSheet.computeDisplay(value,col.field,row):""}if(this.formulaSheet!==null&&this.formulaSheet.active&&isFormulaText(value)){value=this.showFormulas===true?value:this.formulaCellDisplay(this.formulaSheet,value,col.field,row)}return value}async writeClipboardText(text){try{if(typeof navigator!=="undefined"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(text);return true}}catch{}const prevFocus=this.host.shadowRoot?.activeElement??document.activeElement;const area=document.createElement("textarea");area.value=text;area.style.position="fixed";area.style.opacity="0";document.body.appendChild(area);area.select();let ok=false;try{ok=document.execCommand("copy")}catch{ok=false}finally{area.remove();if(prevFocus!==null&&typeof prevFocus.focus==="function")prevFocus.focus()}return ok}async copySelectionToClipboard(){if(!this.usingColumnDefsApi())return false;let ranges=this.normalizedRanges();if(copyNeedsRangeClipboard(ranges)){const gate=this.proGate();if(gate.awaiting(["grid.range-clipboard"]))await gate.settle(["grid.range-clipboard"]);if(gate.refuseRequest(["grid.range-clipboard"],"copy").length>0)ranges=[];else if(!this.proModuleAvailable("grid.range-clipboard","copy","range-selection"))ranges=[]}const boundsList=ranges.length>0?ranges:this.activeCell!==null?[{top:this.activeCell.rowIndex,left:this.activeCell.colIndex,bottom:this.activeCell.rowIndex,right:this.activeCell.colIndex}]:[];if(boundsList.length===0)return false;const rows=this.getDisplayRows();const cols=this.effectiveColumns();const text=serializeManyBoundsToTsv(boundsList,(r,c)=>this.spanAwareCellText(r,c,rows,cols),r=>this.copyableDataRowAt(rows,r)!==null,{escapeFormulae:this.clipboardEscapeFormulae});if(text==="")return false;if(!await this.writeClipboardText(text)){console.warn("[SG:CLIP] no write; copy fails");return false}this.clipboardCopied.emit({text,ranges:boundsList});return true}hostTextSelected(){try{const selection=typeof document!=="undefined"?document.getSelection():null;if(selection===null||selection.isCollapsed||selection.rangeCount===0)return false;const{anchorNode,focusNode}=selection;return anchorNode!==null&&focusNode!==null&&this.host.contains(anchorNode)&&this.host.contains(focusNode)}catch{return false}}async getCellRanges(){return this.proRun("getCellRanges",()=>this.normalizedRanges())}async copyRangeToClipboard(){return this.proMethod("copyRangeToClipboard",{load:()=>this.loadRangeSelectionChunk(),exec:()=>void 0,publish:()=>this.copySelectionToClipboard()})}coercePastedValue(raw,col,row){if(typeof col.valueParser==="function"){try{return col.valueParser({value:raw,oldValue:readOwnFieldPath(row,col.field),field:col.field,row,colDef:col,context:this.context,api:this.host})}catch{return raw}}if(col.editor==="text")return raw;return detectPastedValue(raw)}pasteUndoWarned=false;undoableRowId(row){const fn=this.getRowId??(r=>r["id"]);try{const id=fn(row);if(typeof id==="string"&&id.length>0)return id;if(typeof id==="number"&&Number.isFinite(id))return id}catch{}return null}commitPastePlan(plan){if(plan.changes.length===0)return[];const source=this.rowData??[];const sourceIndex=new Map;for(let i=0;i<source.length;i++)sourceIndex.set(source[i],i);const byRow=new Map;for(const change of plan.changes){const bucket=byRow.get(change.row);if(bucket===void 0)byRow.set(change.row,[change]);else bucket.push(change)}const editPolicy=this.editPolicyConfigured()||this.readPolicyConfigured();const colIndexByField=editPolicy?new Map(this.resolvedColumnDefs().map((cd,i)=>[cd.field,i])):null;const next=source.slice();const updatedEntries=[];for(const[rowObj,cells]of byRow){const idx=sourceIndex.get(rowObj);if(idx===void 0)continue;let merged={...rowObj};let applied=0;for(const c of cells){if(editPolicy&&colIndexByField!==null){const cIdx=colIndexByField.get(c.field);const col=cIdx===void 0?void 0:this.resolvedColumnDefs()[cIdx];if(col===void 0||!this.passesEditPolicy(idx,col,rowObj)){continue}}const updated=setOwnFieldPathImmutable(merged,c.field,c.newValue);if(updated===merged)continue;merged=updated;applied++}if(applied===0)continue;next[idx]=merged;updatedEntries.push({row:merged,previous:rowObj,index:idx})}if(updatedEntries.length===0)return[];this.rowData=next;const pasteTxId=allocateTxId();this.fireRowDataChanged({added:[],updated:updatedEntries,removed:[],rejected:[],txId:pasteTxId,source:"local",origin:"clipboard"});const changes=this.emitCellValueChanges(updatedEntries,"local","clipboard",pasteTxId);this.recordPasteUndo(updatedEntries);return changes}recordPasteUndo(updatedEntries){const forward=[];const inverse=[];for(const u of updatedEntries){if(this.undoableRowId(u.previous)===null){if(!this.pasteUndoWarned){this.pasteUndoWarned=true;console.warn("[SG:CLIP] no row id; paste not undoable")}return}forward.push({...u.row});inverse.push({...u.previous})}this.undoRedoStack.record({update:forward},{update:inverse},"clipboard-paste")}applyClipboardText(text,parsed){if(!this.usingColumnDefsApi())return false;const ranges=this.normalizedRanges();const origin=ranges.length>0?{top:ranges[0].top,left:ranges[0].left}:this.activeCell!==null?{top:this.activeCell.rowIndex,left:this.activeCell.colIndex}:null;if(origin===null)return false;const matrix=parsed??parseTsv(text);if(matrix.length===0)return false;if(pasteNeedsRangeClipboard(matrix)&&this.proGate().refuseRequest(["grid.range-clipboard"],"paste").length>0){return false}if(pasteNeedsRangeClipboard(matrix)&&!this.proModuleAvailable("grid.range-clipboard","paste","range-selection")){return false}const rows=this.getDisplayRows();const cols=this.effectiveColumns();const plan=planPaste(matrix,origin.top,origin.left,{rowCount:rows.length,dataRowAt:i=>{const row=rows[i];if(row===void 0||row===null||this.isSentinelDisplayRow(row))return null;return row},colAt:c=>{const col=cols[c];return col===void 0?void 0:{field:col.field,editable:col.editable===true,computed:typeof col.valueGetter==="function"||typeof col.valueGetter==="string"}},coerce:(raw,c,row)=>this.coercePastedValue(raw,cols[c],row)});const changes=this.commitPastePlan(plan);const applied=changes.length;this.clipboardPasted.emit({applied,skipped:plan.skipped+Math.max(0,plan.applied-applied),top:origin.top,left:origin.left,changes});return applied>0}handleViewportPaste=event=>{if(!this.usingColumnDefsApi())return;if(this.editStore.active!==null)return;const text=event.clipboardData?.getData("text/plain")??"";if(text==="")return;event.preventDefault();const matrix=parseTsv(text);if(pasteNeedsRangeClipboard(matrix)&&this.proGate().awaiting(["grid.range-clipboard"])){void this.proGate().settle(["grid.range-clipboard"]).then(()=>{if(!this.hasDisconnected&&this.editStore.active===null)this.applyClipboardText(text,matrix)});return}this.applyClipboardText(text,matrix)};async pasteFromClipboard(){return this.proMethod("pasteFromClipboard",{load:()=>this.loadRangeSelectionChunk(),exec:async()=>{try{return await navigator.clipboard.readText()}catch{console.warn("[SG:CLIP] no read; skip paste");return null}},publish:text=>text===null?false:this.applyClipboardText(text)})}async clearCellRanges(){return this.proRun("clearCellRanges",()=>{if(this.rangeState.ranges.length===0&&this.rangeState.dragging===null)return;this.rangeState={ranges:[],dragging:null};this.emitRangeChange()})}handleCellMouseDown=(rowIndex,field,event)=>{if(!this.usingColumnDefsApi())return;if(this.effectiveLoading)return;const snapshot=this.snapshotMouseEvent(event);this.lastCellMouseDown={key:this.cellClickKey(rowIndex,field),event:snapshot};this.lastRowMouseDown={rowIndex,event:snapshot}};classifyCellClick(rowIndex,field,event){const now=typeof performance!=="undefined"&&typeof performance.now==="function"?performance.now():Date.now();const key=this.cellClickKey(rowIndex,field);const upEvent=this.snapshotMouseEvent(event);const downEvent=this.lastCellMouseDown?.key===key?this.lastCellMouseDown.event:upEvent;const intent=classifyRowClick({downEvent,upEvent,timestamp:now,lastClickAt:this.lastCellClickedKey===key?this.lastCellClickedAt:void 0});if(this.lastCellMouseDown?.key===key)this.lastCellMouseDown=void 0;this.lastCellClickedAt=now;this.lastCellClickedKey=key;return intent}emitRowClicked(row,rowIndex,event){const now=typeof performance!=="undefined"&&typeof performance.now==="function"?performance.now():Date.now();const upEvent=this.snapshotMouseEvent(event);const downEvent=this.lastRowMouseDown?.rowIndex===rowIndex?this.lastRowMouseDown.event:upEvent;const intent=classifyRowClick({downEvent,upEvent,timestamp:now,lastClickAt:this.lastRowClickedIndex===rowIndex?this.lastRowClickedAt:void 0});this.rowClicked.emit({row,rowIndex,button:intent.button,modifiers:intent.modifiers,doubleClick:intent.doubleClick,dragged:intent.dragged});if(this.lastRowMouseDown?.rowIndex===rowIndex)this.lastRowMouseDown=void 0;this.lastRowClickedAt=now;this.lastRowClickedIndex=rowIndex}cellClickKey(rowIndex,field){return`${rowIndex}:${field}`}snapshotMouseEvent(event){if(!event)return{};return{button:event.button,ctrlKey:event.ctrlKey,shiftKey:event.shiftKey,metaKey:event.metaKey,altKey:event.altKey,clientX:event.clientX,clientY:event.clientY}}applyRowClickSelection(row,rowIndex,event){if(this.selectionState.mode==="none")return;const id=this.extractRowId(row,rowIndex);if(id===void 0)return;const isShift=event?event.shiftKey===true:false;const isCtrl=event?event.ctrlKey===true||event.metaKey===true:false;if(this.serverSideModeActive()){this.ssrmSelGesture(f=>f.rowGesture(rowIndex,String(id),isShift?"range":isCtrl?"toggle":"select-only"));return}const previous=this.selectionState;let next;let updateAnchor;if(isShift){const visibleRowIds=this.collectVisibleRowIds();if(this.rangeAnchorRowId!==null&&findAnchorIndex(visibleRowIds,this.rangeAnchorRowId)===null){this.rangeAnchorRowId=null}next=selectRangeInState({state:previous,visibleRowIds,anchorRowId:this.rangeAnchorRowId,targetRowId:id,additive:this.shiftClickAdditive===true});updateAnchor=false}else if(isCtrl){next=toggleRowInState(previous,id);updateAnchor=false}else{next=selectRowInState(previous,id);updateAnchor=true}if(updateAnchor)this.rangeAnchorRowId=id;if(next===previous)return;this.selectionState=next;const diff=diffSelection(previous,next);if(diff.addedIds.length===0&&diff.removedIds.length===0)return;this.fireSelectionChanged({mode:next.mode,selectedRowIds:Array.from(next.selectedRowIds),addedIds:diff.addedIds,removedIds:diff.removedIds})}applyRowToggleSelection(row,rowIndex){if(this.selectionState.mode==="none")return;if(this.serverSideModeActive()&&isTreeNodeRow(row)){const check=this.ssrmSelectionProjection?.groupChecks.get(row.key)??null;this.ssrmSelGesture(f=>f.write({kind:"group-children",groupKeys:row.path,action:check==="checked"?"deselect":"select"}));return}const id=this.extractRowId(row,rowIndex);if(id===void 0)return;if(this.serverSideModeActive()){this.ssrmSelGesture(f=>f.rowGesture(rowIndex,String(id),"toggle"));return}const previous=this.selectionState;const next=toggleRowInState(previous,id);this.rangeAnchorRowId=id;if(next===previous)return;this.selectionState=next;const diff=diffSelection(previous,next);if(diff.addedIds.length===0&&diff.removedIds.length===0)return;this.fireSelectionChanged({mode:next.mode,selectedRowIds:Array.from(next.selectedRowIds),addedIds:diff.addedIds,removedIds:diff.removedIds})}extractRowId(row,rowIndex){if(this.isSentinelDisplayRow(row))return void 0;const fn=this.getRowId;if(typeof fn==="function"){try{const id=fn(row);if(typeof id==="string"&&id.length>0)return id;if(typeof id==="number"&&Number.isFinite(id))return id;console.warn("getRowId returned an invalid value; selection for this row was ignored.");return void 0}catch(err){console.warn("getRowId threw; selection for this row was ignored:",err);return void 0}}if(this.masterDetail===true){const frozen=this.detailRowIds.get(row);if(frozen!==void 0)return frozen}return rowIndex}selectionCheckboxActive(){return this.selectionCheckbox===true||this.showSelectionCheckbox===true}columnHidingActive(){return this.columnHiding===true||this.hideableColumns===true}shouldRenderCheckboxColumn(){return this.selectionCheckboxActive()&&this.selectionState.mode==="multi"&&this.usingColumnDefsApi()}checkboxColumnOffset(){return this.shouldRenderCheckboxColumn()?1:0}collectVisibleRowIds(){const rows=this.getDisplayRows();const out=[];for(let i=0;i<rows.length;i++){const row=rows[i];if(this.isSentinelDisplayRow(row))continue;const id=this.extractRowId(row,i);if(id!==void 0)out.push(id)}return out}handleHeaderCheckboxClick=event=>{if(event){event.stopPropagation();event.preventDefault()}if(!this.shouldRenderCheckboxColumn())return;if(this.serverSideModeActive()){this.ssrmSelGesture(f=>f.write({kind:"header",headerState:this.ssrmSelectionProjection?.headerState??"none"}));return}const ids=this.collectVisibleRowIds();const previous=this.selectionState;const headerState=headerCheckboxState(previous,ids);const next=headerState==="all"?deselectRowsBatch(previous,ids):selectRowsBatch(previous,ids);if(next===previous)return;this.selectionState=next;const diff=diffSelection(previous,next);if(diff.addedIds.length===0&&diff.removedIds.length===0)return;this.fireSelectionChanged({mode:next.mode,selectedRowIds:Array.from(next.selectedRowIds),addedIds:diff.addedIds,removedIds:diff.removedIds})};handleHeaderCheckboxKeyDown=event=>{if(!isCheckboxToggleKey(event))return;event.preventDefault();event.stopPropagation();this.handleHeaderCheckboxClick()};handleBodyCheckboxClick=(row,rowIndex,event)=>{if(event){event.stopPropagation()}this.applyRowToggleSelection(row,rowIndex)};handleBodyCheckboxKeyDown=(row,rowIndex,event)=>{if(!isCheckboxToggleKey(event))return;event.preventDefault();event.stopPropagation();this.applyRowToggleSelection(row,rowIndex)};resolveHoverRowIdFromTarget(target){const el=target;if(!el||typeof el.closest!=="function")return null;const rowEl=el.closest("[data-row-index]");if(!rowEl)return null;const raw=rowEl.getAttribute("data-row-index");if(raw===null)return null;const parsed=Number.parseInt(raw,10);if(!Number.isFinite(parsed)||parsed<0)return null;if(!this.usingColumnDefsApi()){const rows2=this.engineRows();return parsed<rows2.length?parsed:null}const rows=this.getDisplayRows();if(parsed>=rows.length)return null;const row=rows[parsed];if(!row)return null;const id=this.extractRowId(row,parsed);return id===void 0?null:id}applyHoverTransition(nextId){if(this.rowHover==="off")return;const prevState=this.hoverState;const nextState=setHoveredRowInState(prevState,nextId);if(nextState===prevState)return;const previousRowId=prevState.hoveredRowId;this.hoverState=nextState;if(this.rowHover!=="stateful")return;this.pendingHoverRowId=nextState.hoveredRowId;if(this.hoverRafHandle!==null)return;const schedule=typeof requestAnimationFrame==="function"?requestAnimationFrame:cb=>setTimeout(()=>cb(0),16);this.hoverRafHandle=schedule(()=>{this.hoverRafHandle=null;const flushedId=this.pendingHoverRowId;this.rowHoverChanged.emit({hoveredRowId:flushedId,previousRowId})})}hoverListenerTarget(){if(this.usingColumnDefsApi()){return this.host?.querySelector?.(".sy-grid__viewport")}return this.host??null}setupHoverListener(){if(this.rowHover==="off")return;const el=this.hoverListenerTarget();if(!el)return;if(this.viewportHoverEl===el&&this.viewportMouseMoveHandler!==null){return}this.teardownHoverListener();this.viewportHoverEl=el;this.viewportMouseMoveHandler=event=>{const id=this.resolveHoverRowIdFromTarget(event.target);this.applyHoverTransition(id)};this.viewportMouseLeaveHandler=_event=>{this.applyHoverTransition(null)};el.addEventListener("mousemove",this.viewportMouseMoveHandler);el.addEventListener("mouseleave",this.viewportMouseLeaveHandler)}maybeReattachHoverListener(){if(this.rowHover==="off")return;const el=this.hoverListenerTarget();if(el===this.viewportHoverEl)return;this.teardownHoverListener();this.setupHoverListener()}teardownHoverListener(){if(this.viewportHoverEl){if(this.viewportMouseMoveHandler){this.viewportHoverEl.removeEventListener("mousemove",this.viewportMouseMoveHandler)}if(this.viewportMouseLeaveHandler){this.viewportHoverEl.removeEventListener("mouseleave",this.viewportMouseLeaveHandler)}}this.viewportHoverEl=null;this.viewportMouseMoveHandler=null;this.viewportMouseLeaveHandler=null;if(this.hoverRafHandle!==null){const cancel=typeof cancelAnimationFrame==="function"?cancelAnimationFrame:handle=>clearTimeout(handle);cancel(this.hoverRafHandle);this.hoverRafHandle=null}this.pendingHoverRowId=null}dgHover=null;dgRow(event){const target=event.target;if(target===null||target.closest===void 0)return null;const rowEl=target.closest(".sy-grid__row[data-row-index]");if(rowEl===null)return null;if(rowEl.closest(".sy-grid__viewport")!==event.currentTarget)return null;const rowIndex=Number.parseInt(rowEl.getAttribute("data-row-index")??"",10);if(!Number.isFinite(rowIndex)||rowIndex<0)return null;const rows=this.getDisplayRows();if(rowIndex>=rows.length)return null;return{rowEl,rowIndex,row:rows[rowIndex]}}dgCell(event){const hit=this.dgRow(event);if(hit===null||this.isSentinelDisplayRow(hit.row))return null;const target=event.target;const el=target.closest(".sy-grid__cell");if(el===null||!hit.rowEl.contains(el))return null;const field=el.getAttribute("data-field");const colIndex=Number.parseInt(el.getAttribute("data-col-index")??"",10);if(field===null||!Number.isFinite(colIndex)||colIndex<0)return null;const active=this.editStore.active;if(active!==null&&active.rowIndex===hit.rowIndex&&active.colIndex===colIndex&&target!==el)return null;return{row:hit.row,rowIndex:hit.rowIndex,cell:{el,field,colIndex}}}handleViewportMouseDown=event=>{const hit=this.dgRow(event);if(hit===null)return;if(event.target.closest(".sy-grid__row-drag-handle")!==null){this.handleRowDragStart(hit.rowIndex,event);if(event.defaultPrevented)return}const g=this.dgCell(event);if(g===null)return;this.handleRangeDragStart(g.rowIndex,g.cell.colIndex,event);this.handleCellMouseDown(g.rowIndex,g.cell.field,event)};handleViewportClick=event=>{const hit=this.dgRow(event);if(hit===null)return;const target=event.target;const{rowEl,rowIndex,row}=hit;if(rowEl.classList.contains("sy-grid__full-width-row")){if(target.closest(".sy-grid__full-width-host")===null||target.classList.contains("sy-grid__full-width-host")){this.commitActiveCell({rowIndex,colIndex:this.activeCell?.colIndex??0})}return}if(target.closest(".sy-grid__group-row-toggle")!==null){if(isGroupMarkerRow(row))void this.applyRowGroupExpanded(row.key,!row.expanded,"ui");return}if(target.closest(".sy-grid__tree-toggle")!==null){if(isPivotRowGroupMarker(row))this.togglePivotRowGroup(row.key);else if(isTreeNodeRow(row)&&row.hasChildren){void this.applyTreeNodeExpanded(row.path,!row.expanded,"ui")}return}if(target.closest(".sy-grid__loading-retry")!==null){if(isLoadingPlaceholderRow(row)){void(this.serverSideState!==null?this.retryServerBlock(row.rowIndex):this.retryInfiniteBlock(row.rowIndex))}return}if(isTreeNodeRow(row)){const el=target.closest(".sy-grid__cell");const colIndex=el!==null&&rowEl.contains(el)?Number.parseInt(el.getAttribute("data-col-index")??"",10):NaN;if(!Number.isFinite(colIndex)||colIndex<0)return;this.handleTreeCellClick(event,row,rowIndex,colIndex,this.effectiveColumns()[colIndex]);return}if(this.isSentinelDisplayRow(row))return;if(target.closest(".sy-grid__detail-toggle")!==null){const id=this.detailRowIds.get(row);if(id!==void 0){event.stopPropagation();void this.applyDetailRowExpanded(id,!this.expandedDetailRows.has(id),"ui")}return}if(target.closest(".sy-grid__selection-checkbox")!==null){this.handleBodyCheckboxClick(row,rowIndex,event);return}const g=this.dgCell(event);if(g===null)return;this.handleCellMouseClick(g.row,g.rowIndex,g.cell.colIndex,g.cell.field,event)};handleViewportContextMenu=event=>{if(this.contextMenu!==true||!this.proNewWorkAllowed("grid.context-menu","contextMenu"))return;const g=this.dgCell(event);if(g===null)return;this.openContextMenu(g.rowIndex,g.cell.field,event)};handleViewportHover=event=>{const prev=this.dgHover;if(event.type==="mouseout"){if(prev===null)return;const related=event.relatedTarget;if(related!==null&&prev.cell.el.contains(related))return;this.dgHover=null;this.handleCellTooltipLeave();return}const g=this.dgCell(event);if(g!==null&&prev!==null&&prev.cell.el===g.cell.el)return;if(prev!==null){this.dgHover=null;this.handleCellTooltipLeave()}if(g!==null){this.dgHover=g;this.handleRangeDragEnter(g.rowIndex,g.cell.colIndex,event);this.dgTooltipEnter(g)}};handleViewportFocus=event=>{if(event.type==="focusout"){const next=event.relatedTarget;const nextNode=next!==null&&typeof next==="object"&&"nodeType"in next?next:null;if(nextNode===null||!this.host.contains(nextNode)){this.releaseFocusedLifecycleRenderer()}}else{void Promise.resolve().then(()=>{if(this.host?.isConnected&&this.gridOwnsDocumentFocus()){this.focusActiveLifecycleRenderer()}})}const g=this.dgCell(event);if(g===null||g.cell.el!==event.target)return;if(event.type==="focusin")this.dgTooltipEnter(g);else this.handleCellTooltipLeave()};dgTooltipEnter(g){const cols=this.effectiveColumns();const col=cols[g.cell.colIndex];if(col===void 0)return;const cellEl=g.cell.el;const callbackRow=this.readPolicyConfigured()?this.maskDeniedFields(g.row,g.rowIndex,this.resolvedColumnDefs()):g.row;let displayedText;if(this.lifecycleRendererDeclaration(col)!==null||this.resolveCellRenderer(col)!==null){displayedText=(cellEl.textContent??"").trim()}else{const text=this.cellDisplayText(g.rowIndex,g.cell.colIndex,this.getDisplayRows(),cols);displayedText=text==null?"":String(text)}this.cellTooltipDelay.enter({row:callbackRow,rowIndex:g.rowIndex,colIndex:g.cell.colIndex,field:col.field,column:col,cell:cellEl,displayedText,isOverflowing:cellEl.scrollWidth>cellEl.clientWidth||cellEl.scrollHeight>cellEl.clientHeight})}maybeScrollActiveCellIntoView(){const target=this.pendingScrollIntoView;if(!target)return;this.pendingScrollIntoView=null;const viewport=this.viewportEl;if(!viewport)return;const cellSelector=`.sy-grid__row[data-row-index="${target.rowIndex}"] > .sy-grid__cell:nth-child(${target.colIndex+1+this.checkboxColumnOffset()})`;const cellEl=viewport.querySelector(cellSelector);if(cellEl&&typeof cellEl.scrollIntoView==="function"){try{cellEl.scrollIntoView({block:"nearest",inline:"nearest"});return}catch{}}const rowH=this.uniformRowHeight();let rowTop=target.rowIndex*rowH;if(this.masterDetailActive()&&this.expandedDetailRows.size>0){const rows=this.getDisplayRows();const extra=this.detailRowHeightPx()-rowH;let detailsAbove=0;const limit=Math.min(target.rowIndex,rows.length);for(let i=0;i<limit;i++){if(isDetailRow(rows[i]))detailsAbove++}rowTop+=detailsAbove*extra}const rowBottom=rowTop+rowH;const viewTop=viewport.scrollTop;const viewBottom=viewTop+viewport.clientHeight;if(rowTop<viewTop){viewport.scrollTop=rowTop}else if(rowBottom>viewBottom){viewport.scrollTop=rowBottom-viewport.clientHeight}}skipDetailRows(cell,direction,rowCount,colCount){if(cell===null||!this.masterDetailActive()||this.expandedDetailRows.size===0)return cell;const rows=this.getDisplayRows();let current=cell;let guard=rows.length+1;while(current!==null&&isDetailRow(rows[current.rowIndex])&&guard-- >0){const stepped=moveCell(current,direction,rowCount,colCount);if(stepped===null||stepped.rowIndex===current.rowIndex){const reversed=moveCell(current,direction==="down"?"up":"down",rowCount,colCount);current=reversed!==null&&reversed.rowIndex!==current.rowIndex?reversed:null;break}current=stepped}return current}clampActiveCellAfterChange(){if(!this.usingColumnDefsApi()){if(this.activeCell!==null)this.commitActiveCell(null,{scrollIntoView:false});return}const rowCount=this.activeRowCount();const colCount=this.activeColCount();const next=clampCell(this.activeCell,rowCount,colCount);if(next===this.activeCell)return;this.commitActiveCell(next,{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(){if(!this.hasDisconnected)return;this.hasDisconnected=false;globalThis.addEventListener?.("syidax-grid-formula-engine-ready",this.onFormulaEngineReady);this.ensureFormulaAccelerationProvider();if(this.formulas===true&&this.formulaDualEngine===null&&typeof globalThis.SYIDAX_GRID_FORMULA_ACCELERATION_FACTORY==="function"){this.scheduleFormulaUpgradeKick()}document.addEventListener("mousedown",this.handleDocumentClick,true);document.addEventListener("keydown",this.handleDocumentLifecycleEditorKeyDown,true);this.setupInternalSubscriptions();if(this.viewportDatasource!=null){this.initViewport();this.recomputeVirtualWindow()}this.syncWorkbookBinding("dom-reconnect");this.proGateRef?.rebind();if(this.formulas===true&&this.formulaSheet===null&&this.formulaCore===null)this.rebuildFormulaSheet();this.kickCollabConnect();this.liveObjectModel?.reconcile();this.invalidateComponentFilterRuntime();this.lifecycleFilterVersion+=1;this.lifecycleRendererPresentationVersion+=1;void this.reconcileComponentFilters();if(this.masterDetailActive()&&this.expandedDetailRows.size>0)this.detailDataVersion++}hasDisconnected=false;handoffLifecycleRendererFocus(rowIndex,colIndex,target){if(target==="grid-before"||target==="grid-after"){this.focusOutsideGridRoot(target==="grid-before");return}const current={rowIndex,colIndex};const next=target==="next-cell"?moveCellWithWrap(current,"right",this.activeRowCount(),this.activeColCount()):target==="previous-cell"?moveCellWithWrap(current,"left",this.activeRowCount(),this.activeColCount()):current;if(next!==null&&next.rowIndex===current.rowIndex&&next.colIndex===current.colIndex&&target!=="cell"){this.focusOutsideGridRoot(target==="previous-cell");return}this.commitActiveCell(next,{scrollIntoView:true});this.viewportEl?.focus({preventScroll:true})}lifecycleFilterDeclaration(col){const declaration=col.filter;if(declaration===void 0||declaration===null||declaration===true||declaration===false||Array.isArray(declaration)){return null}if(typeof declaration==="string"){const name=declaration.trim();if(name===""||name==="text"||name==="number"||name==="date"||name==="set"){return null}return name}return declaration}componentFilterColumnId(col){const candidate=col.colId??col.field;return typeof candidate==="string"?candidate.trim():""}configuredLifecycleFilterCount(){return this.effectiveColumns().reduce((count,col)=>count+(this.lifecycleFilterDeclaration(col)===null?0:1),0)}componentFilterValueGetter(col){const colId=this.componentFilterColumnId(col);const cached=this.componentFilterValueGetters.get(colId);if(cached!==void 0){cached.column=col;return cached.getValue}const binding={column:col,getValue:()=>void 0};const getValue=data=>{const current=binding.column;const row=data;const formulaGetter=this.formulaFieldGetter(current.field);if(current.valueGetter===void 0||current.valueGetter===null){return formulaGetter===void 0?readOwnFieldPath(row,current.field):formulaGetter(row)}return this.resolveGridCellValue({row,rowIndex:-1,colId,field:current.field,valueGetter:current.valueGetter,colDef:current})};binding.getValue=getValue;this.componentFilterValueGetters.set(colId,binding);return getValue}componentFilterIsActive(colId){return this.filterFacade?.isFilterActive(colId)??false}sameComponentFilterInputs(left,right){if(left===null||left.length!==right.length)return false;for(let index=0;index<left.length;index+=1){if(!Object.is(left[index],right[index]))return false}return true}reconcileComponentFilters(){const columns=this.effectiveColumns().map(col=>{const filter=this.lifecycleFilterDeclaration(col);if(filter===null)return null;return{col,colId:this.componentFilterColumnId(col),filter}}).filter(entry=>entry!==null);const retainedIds=new Set(columns.map(({colId})=>colId));this.componentFilterDesiredIds=retainedIds;const retainedFloatingIds=new Set(columns.filter(({col})=>col.floatingFilterComponent!=null).map(({colId})=>colId));for(const[colId,host]of this.componentFilterHosts){if(!retainedIds.has(colId)){this.releaseComponentFilterHost(colId,host,false)}}for(const[colId,host]of this.componentFloatingFilterHosts){if(!retainedFloatingIds.has(colId)){this.releaseComponentFilterHost(colId,host,true)}}for(const key of this.componentFilterHostRefs.keys()){const separator=key.indexOf("\0");const kind=separator<0?"":key.slice(0,separator);const colId=separator<0?key:key.slice(separator+1);if(kind==="filter"&&!retainedIds.has(colId)||kind==="floating"&&!retainedFloatingIds.has(colId)){this.componentFilterHostRefs.delete(key)}}for(const key of this.componentFilterValueGetters.keys()){if(!retainedIds.has(key))this.componentFilterValueGetters.delete(key)}for(const key of this.componentFilterModels.keys()){if(!retainedIds.has(key))this.componentFilterModels.delete(key)}if(this.componentFilterModels.size===0){this.componentFilterRestorePending=false}for(const key of this.componentRecentlyDestroyedFilters){if(!retainedIds.has(key)){this.componentRecentlyDestroyedFilters.delete(key)}}const existingFacade=this.filterFacade;if(columns.length===0&&this.externalFilter==null&&(existingFacade===null||existingFacade.stats().columns===0&&existingFacade.getExternalFilter()===null)){this.componentFilterReadyRevision=this.componentFilterRevision;return this.componentFilterReconcileTask??Promise.resolve()}const inputs=[this.componentFilterRevision,this.externalFilterRevision,this.components,this.context,this.defaultColDef,this.formulaVersion,this.componentFilterExecutionMode(),this.externalFilter];for(const{col,colId,filter}of columns){inputs.push(colId,filter,col.floatingFilterComponent,col.field,col.valueGetter)}if(this.sameComponentFilterInputs(this.componentFilterReconcileInputs,inputs)){return this.componentFilterReconcileTask??Promise.resolve()}this.componentFilterReconcileInputs=inputs;const sequence=++this.componentFilterReconcileSequence;const filterRevision=this.componentFilterRevision;const externalRevision=this.externalFilterRevision;const task=(async()=>{if(this.filterFacade===null){await this.getComponentManager("filter")}const facade=this.filterFacade;if(facade===null||sequence!==this.componentFilterReconcileSequence||!this.host?.isConnected){return}const columnReconcileTask=facade.reconcileColumns(columns.map(({col,colId,filter})=>({colId,filter,floatingFilter:col.floatingFilterComponent,getValue:this.componentFilterValueGetter(col),local:this.components,version:this.formulaVersion,resolutionVersion:this.componentRegistryRevision})));let changed=false;let externalChanged=false;let externalInstallUnavailable=false;let remoteInvalidationFlushedByRestore=false;const desiredExternal=this.externalFilter??null;const externalSourceChanged=!Object.is(this.externalFilterApplied,desiredExternal);const externalRefreshRequired=desiredExternal!==null&&this.externalFilterReadyRevision!==externalRevision;if(externalSourceChanged||externalRefreshRequired){this.externalFilterReadyRevision=-1;if(externalSourceChanged){const installedExternal=await facade.setExternalFilter(desiredExternal);if(sequence!==this.componentFilterReconcileSequence||externalRevision!==this.externalFilterRevision||!Object.is(desiredExternal,this.externalFilter??null)||!this.host?.isConnected){return}if(desiredExternal!==null&&installedExternal===null){externalInstallUnavailable=true}else{this.externalFilterApplied=desiredExternal;changed=true;externalChanged=true}}if(desiredExternal!==null&&!externalInstallUnavailable){const refreshed=await facade.refreshExternalFilter(this.context);if(sequence!==this.componentFilterReconcileSequence||externalRevision!==this.externalFilterRevision||!Object.is(desiredExternal,this.externalFilter??null)||!this.host?.isConnected){return}if(refreshed?.status==="refreshed"){this.externalFilterReadyRevision=externalRevision;changed=true;externalChanged=true}}else{this.externalFilterReadyRevision=externalRevision}}else if(desiredExternal===null){this.externalFilterReadyRevision=externalRevision}if(sequence!==this.componentFilterReconcileSequence||filterRevision!==this.componentFilterRevision||!this.host?.isConnected){return}const result=await columnReconcileTask;if(sequence!==this.componentFilterReconcileSequence||filterRevision!==this.componentFilterRevision||!this.host?.isConnected){return}changed=changed||result.mounted.length>0||result.refreshed.length>0||result.destroyed.length>0;if(this.componentFilterRestorePending){let restoreStale=false;const restoreModels={};for(const[colId,model]of this.componentFilterModels){if(retainedIds.has(colId))restoreModels[colId]=model}let restoreResults;const remoteFlushRevision=this.componentFilterRemoteFlushRevision;await this.runComponentFilterChangeBatch(async()=>{restoreResults=await facade.setFilterModels(restoreModels,{clearUnspecified:false,source:"restore"});if(sequence!==this.componentFilterReconcileSequence||filterRevision!==this.componentFilterRevision||!this.host?.isConnected){restoreStale=true}});remoteInvalidationFlushedByRestore=this.componentFilterRemoteFlushRevision!==remoteFlushRevision;if(restoreStale)return;const restoredAll=restoreResults?.every(result2=>result2.status==="ok")??false;if((restoreResults?.length??0)>0)changed=true;if(restoredAll)this.componentFilterRestorePending=false}for(const[colId,host]of this.componentFilterHosts){if(!retainedIds.has(colId)||!host.isConnected)continue;const attached=await facade.attachFilterGui(colId,host);if(sequence!==this.componentFilterReconcileSequence||filterRevision!==this.componentFilterRevision||!this.host?.isConnected){return}if(attached.status==="attached")changed=true}for(const[colId,host]of this.componentFloatingFilterHosts){if(!retainedFloatingIds.has(colId)||!host.isConnected)continue;const attached=await facade.attachFloatingFilterGui(colId,host);if(sequence!==this.componentFilterReconcileSequence||filterRevision!==this.componentFilterRevision||!this.host?.isConnected){return}if(attached.status==="attached")changed=true}const stats=facade.stats();if(result.errors.length===0&&stats.columns===columns.length&&stats.mountedFilters===columns.length){if(this.componentFilterReadyRevision!==filterRevision){changed=true}this.componentFilterReadyRevision=filterRevision}else{this.componentFilterReadyRevision=-1}if(changed){this.componentRemoteFilterErrors.clear();this.lifecycleFilterVersion+=1;if(this.componentFilterExecutionMode()!=="client"&&!remoteInvalidationFlushedByRestore){this.infiniteModelInputsChanged()}}if(externalChanged){this.scheduleLifecycleFilterPeerNotification()}})().catch(()=>{if(sequence!==this.componentFilterReconcileSequence||filterRevision!==this.componentFilterRevision){return}this.componentFilterReconcileInputs=null;this.componentFilterReadyRevision=-1}).finally(()=>{if(this.componentFilterReconcileTask===task){this.componentFilterReconcileTask=null}});this.componentFilterReconcileTask=task;return task}componentFilterHostMap(floating){return floating?this.componentFloatingFilterHosts:this.componentFilterHosts}releaseComponentFilterHost(colId,host,floating){const hosts=this.componentFilterHostMap(floating);if(hosts.get(colId)!==host)return;hosts.delete(colId);const facade=this.filterFacade;if(facade===null)return;void(floating?facade.detachFloatingFilterGui(colId):facade.detachFilterGui(colId))}claimComponentFilterHost(colId,host,floating){const hosts=this.componentFilterHostMap(floating);const previous=hosts.get(colId);if(previous===host)return;if(previous!==void 0){this.releaseComponentFilterHost(colId,previous,floating)}hosts.set(colId,host);this.attachComponentFilterHost(colId,host,floating)}componentFilterHostRef(colId,floating){const key=`${floating?"floating":"filter"}\0${colId}`;const existing=this.componentFilterHostRefs.get(key);if(existing!==void 0)return existing;let ownedHost=null;const callback=host=>{if(host===void 0||host===null){if(ownedHost!==null){this.releaseComponentFilterHost(colId,ownedHost,floating);ownedHost=null}return}if(ownedHost!==null&&ownedHost!==host){this.releaseComponentFilterHost(colId,ownedHost,floating)}ownedHost=host;this.claimComponentFilterHost(colId,host,floating)};this.componentFilterHostRefs.set(key,callback);return callback}attachComponentFilterHost(colId,host,floating){void(async()=>{await this.reconcileComponentFilters();await this.getComponentManager("filter");const facade=this.filterFacade;if(facade===null||!host.isConnected||this.componentFilterHostMap(floating).get(colId)!==host){return}if(floating){await facade.attachFloatingFilterGui(colId,host)}else{const result=await facade.attachFilterGui(colId,host);if((result.status==="mounted"||result.status==="attached"||result.status==="already-attached")&&host.isConnected){this.filterDropdownFocused=false;this.maybeFocusFilterDropdown()}}})().catch(()=>void 0)}reconcileLifecycleRenderers(){const requests=[...this.pendingLifecycleRenderers.values()];const sequence=++this.lifecycleRendererReconcileSequence;const existingManager=this.componentManager;if(requests.length===0&&existingManager===null)return;void(async()=>{const manager=existingManager??await this.getComponentManager();const active=[];const activeKeys=new Set;let presentationChanged=false;await Promise.all(requests.map(async request=>{const requestKey=JSON.stringify([request.identity.rowId,request.identity.colId]);const requestIsCurrent=()=>sequence===this.lifecycleRendererReconcileSequence&&request.host.isConnected&&this.pendingLifecycleRenderers.get(requestKey)===request;if(!requestIsCurrent())return;try{const resolved=await manager.resolve({kind:"renderer",...request.componentName===void 0?{}:{name:request.componentName},...request.definition===void 0?{}:{definition:request.definition},local:this.components});if(!requestIsCurrent())return;const cellElement=request.host.closest(".sy-grid__cell")??request.host;const requestOwnsCell=()=>requestIsCurrent()&&(request.host.closest(".sy-grid__cell")??request.host)===cellElement;const result=await manager.renderer.render({identity:request.identity,host:request.host,componentName:request.componentName,source:resolved.definition,params:{value:request.value,row:request.paramsRow,rowIndex:request.rowIndex,colIndex:request.colIndex,colId:request.identity.colId,formatted:request.formatted,valueFormatted:request.formatted,meta:request.meta,context:this.context,cellElement,setTooltip:value=>{if(!requestOwnsCell())return;if(value===null){cellElement.removeAttribute("title")}else{cellElement.title=value}},handoffFocus:target=>{if(!requestOwnsCell())return;this.handoffLifecycleRendererFocus(request.rowIndex,request.colIndex,target)}}});if(!requestOwnsCell()||result.status==="stale"){return}active.push(request.identity);activeKeys.add(requestKey);presentationChanged=this.updateLifecycleRendererPresentation(requestKey,result.status==="failed"?{classNames:[]}:this.rendererPresentationFromOutput(result.gui))||presentationChanged}catch(error){if(!requestIsCurrent())return;request.host.textContent="—";presentationChanged=this.updateLifecycleRendererPresentation(requestKey,{classNames:[]})||presentationChanged;if(error!==null&&typeof error==="object"&&"code"in error&&"phase"in error&&"componentKind"in error&&"retryable"in error){this.emitComponentError(error)}}}));if(sequence!==this.lifecycleRendererReconcileSequence)return;for(const key of this.lifecycleRendererPresentations.keys()){if(!activeKeys.has(key)){this.lifecycleRendererPresentations.delete(key);presentationChanged=true}}if(this.focusedLifecycleRenderer!==null&&!active.some(identity=>this.sameComponentIdentity(identity,this.focusedLifecycleRenderer.identity))){this.releaseFocusedLifecycleRenderer()}await manager.renderer.reconcileMounted(active);if(sequence!==this.lifecycleRendererReconcileSequence)return;this.focusActiveLifecycleRenderer();if(presentationChanged){this.lifecycleRendererPresentationVersion+=1}})().catch(()=>{if(sequence!==this.lifecycleRendererReconcileSequence)return;let presentationChanged=false;for(const request of requests){if(request.host.isConnected)request.host.textContent="—";const key=JSON.stringify([request.identity.rowId,request.identity.colId]);presentationChanged=this.updateLifecycleRendererPresentation(key,{classNames:[]})||presentationChanged}if(presentationChanged){this.lifecycleRendererPresentationVersion+=1}this.releaseFocusedLifecycleRenderer()})}componentDidRender(){if(this.pendingComponentIdentityErrors.length>0){const errors=this.pendingComponentIdentityErrors;this.pendingComponentIdentityErrors=[];for(const error of errors)this.emitComponentError(error)}this.notifyPivotColumnModel();if(this.fullWidthFacade!==null)this.reconcileFullWidthMounts();if(this.pendingAlignedScroll!==null&&this.viewportEl!==null){const target=this.pendingAlignedScroll;this.alignedApplying=true;try{this.viewportEl.scrollLeft=target}finally{this.alignedApplying=false}if(Math.abs(this.viewportEl.scrollLeft-target)<=.5){this.pendingAlignedScroll=null;this.hScrollLeft=target;this.syncHeaderHorizontalScroll(target)}}const spanFrame=this.rowLayoutFrame;if(spanFrame!==null&&spanFrame.configured){const active=this.activeCell;if(active!==null&&spanFrame.covers(active.rowIndex)){const cell=spanFrame.cellAt(active.rowIndex,active.colIndex);if(cell.kind==="covered"){this.commitActiveCell({rowIndex:cell.origin.rowIndex,colIndex:cell.origin.colIndex})}}const signature=this.rowLayoutChunk?.spanConflictSignature(spanFrame.conflicts)??null;if(signature!==null&&signature!==this.spanConflictSignature){this.spanConflictSignature=signature;this.spanConflict.emit({conflicts:spanFrame.conflicts,renderRange:spanFrame.renderRange})}else if(signature===null){this.spanConflictSignature=null}}if(this.pendingPivotConflicts.length>0){const conflicts=this.pendingPivotConflicts;this.pendingPivotConflicts=[];for(const conflict of conflicts)this.pivotCombinationConflict.emit(conflict)}this.proGateRef?.afterRender();this.liveObjectModel?.reconcile();this.scrollPassViewportHeight=null;this.ensureVirtualizerAttached();this.measureAutoHeightRows();this.maybeApplyPendingStateUiRestore();this.noteStateAtomsAfterRender();this.maybeScrollActiveCellIntoView();this.maybeReattachHoverListener();this.maybeFocusActiveTextEditor();void this.lifecycleEditorVersion;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 body=this.host?.querySelector?.(".sy-grid__body");if(body===null||body===void 0)return;if(!this.emptyStateOverlayRendered){if(this.emptyStateOverlayInset!==null){this.emptyStateOverlayInset=null;body.style.removeProperty("--sy-grid-empty-state-inset-top")}return}const viewport=this.host.querySelector(".sy-grid__viewport");if(viewport===null)return;const inset=Math.max(0,Math.round(viewport.getBoundingClientRect().top-body.getBoundingClientRect().top));if(inset===this.emptyStateOverlayInset)return;this.emptyStateOverlayInset=inset;body.style.setProperty("--sy-grid-empty-state-inset-top",`${inset}px`)}reconcileDetailMounts(){if(!this.masterDetailActive()){if(this.mountedDetailIds.size===0&&this.detailRowDataCache.size===0)return;const torn=[...this.mountedDetailIds];this.mountedDetailIds=new Set;this.detailRowLoading.clear();this.detailRowDataCache.clear();for(const rowId of torn)this.detailRowDestroyed.emit({rowId});return}const{desiredMountedDetails,reconcileMountedDetails}=this.masterDetailEngine();const desired=desiredMountedDetails(this.expandedDetailRows,this.lastMasterIds);const result=reconcileMountedDetails(this.mountedDetailIds,desired,[...this.expandedDetailRows]);if(result.stable)return;this.mountedDetailIds=result.mounted;if(result.created.length>0){const byId=this.masterRowsById();for(const rowId of result.created){this.detailRowCreated.emit({rowId,master:byId.get(rowId)??null})}}for(const rowId of result.destroyed){this.detailRowLoading.delete(rowId);this.detailRowDestroyed.emit({rowId})}}measureAutoHeightRows(){if(this.measuringAutoHeight)return;if(!this.autoHeightActive())return;const cache=this.rowHeightCache;if(cache===null)return;const rowEls=this.host?.querySelectorAll?.(".sy-grid__row[data-row-index]");if(!rowEls||rowEls.length===0)return;let changed=false;rowEls.forEach(el=>{const raw=el.dataset.rowIndex;const idx=raw!=null?Number(raw):NaN;if(!Number.isInteger(idx)||idx<0)return;const measured=el.offsetHeight;if(!Number.isFinite(measured)||measured<=0)return;if(Math.abs(cache.getHeight(idx)-measured)>.5){cache.setHeight(idx,measured);changed=true}});if(!changed)return;this.measuringAutoHeight=true;try{this.recomputeVirtualWindow();this.autoHeightVersion++}finally{this.measuringAutoHeight=false}}syncLargeTextAnchor(){if(typeof window==="undefined")return;if(this.largeTextConfig===null||this.textareaEditorState===null||this.largeTextAnchorEl===null){if(this.largeTextAnchor!==null)this.largeTextAnchor=null;return}const rect=this.largeTextAnchorEl.getBoundingClientRect();const next={x:Math.round(rect.left),y:Math.round(rect.bottom+2),width:Math.round(rect.width)};const cur=this.largeTextAnchor;if(cur===null||cur.x!==next.x||cur.y!==next.y||cur.width!==next.width){this.largeTextAnchor=next}}syncCalendarAnchor(){if(typeof window==="undefined")return;if(this.calendarState===null||this.dateEditorState===null||this.textEditorEl===null){if(this.calendarAnchor!==null)this.calendarAnchor=null;return}const rect=this.textEditorEl.getBoundingClientRect();const next={x:Math.round(rect.left),y:Math.round(rect.bottom+2),width:Math.round(rect.width)};const cur=this.calendarAnchor;if(cur===null||cur.x!==next.x||cur.y!==next.y||cur.width!==next.width){this.calendarAnchor=next}}syncAutocompleteAnchor(){if(typeof window==="undefined")return;if(this.autocompleteEditorState===null||this.autocompleteInputEl===null){if(this.autocompleteAnchor!==null)this.autocompleteAnchor=null;return}const rect=this.autocompleteInputEl.getBoundingClientRect();const next={x:Math.round(rect.left),y:Math.round(rect.bottom+2),width:Math.round(rect.width)};const cur=this.autocompleteAnchor;if(cur===null||cur.x!==next.x||cur.y!==next.y||cur.width!==next.width){this.autocompleteAnchor=next}}maybeFocusActiveTextEditor(){if(this.editStore.active===null)return;if(typeof document==="undefined")return;if(this.selectEditorState!==null){const triggerEl=this.selectTriggerEl;if(triggerEl===null)return;if(document.activeElement===triggerEl)return;try{triggerEl.focus()}catch{}return}if(this.checkboxEditorState!==null){const checkboxEl=this.checkboxEditorEl;if(checkboxEl===null)return;applyIndeterminateToInput(checkboxEl,this.checkboxEditorState);if(document.activeElement===checkboxEl)return;try{checkboxEl.focus()}catch{}return}if(this.textareaEditorState!==null){const taEl=this.textareaEditorEl;if(taEl===null)return;if(document.activeElement===taEl)return;try{taEl.focus();if(this.largeTextConfig!==null){const end=taEl.value.length;taEl.setSelectionRange(end,end)}else{taEl.select()}}catch{}return}const editorEl=this.textEditorEl;if(editorEl===null)return;if(this.textEditorState===null&&this.numberEditorState===null&&this.dateEditorState===null){return}if(document.activeElement===editorEl)return;try{editorEl.focus();if(this.dateEditorState===null){editorEl.select()}}catch{}}disconnectedCallback(){releaseBrandIntegrity(this.host);if(this.fullWidthFacade!==null){this.fullWidthFacade.dispose();this.fullWidthFacade=null}this.finalizeBatchEditOnDisconnect();this.emitPreDestroyedOnce();this.hasDisconnected=true;this.liveObjectModel?.invalidateAll("disconnected");this.workbookBindingController.disconnect("dom-disconnect");this.teardownChartLink();if(this.alignedFacade!==null){this.alignedFacade.dispose();this.alignedFacade=null}this.fillBinding?.dispose();this.fillBinding=null;if(this.rowEditState.session!==null){void 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);if(this.rowDragCleanup)this.rowDragCleanup();this.teardownUnmanagedDrag(true);for(const timer of this.flashTimers.values())clearTimeout(timer);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();if(this.mountedDetailIds.size>0){const mounted=[...this.mountedDetailIds];this.mountedDetailIds=new Set;for(const rowId of mounted)this.detailRowDestroyed.emit({rowId})}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();if(this.undoRedoUnsubscribe){this.undoRedoUnsubscribe();this.undoRedoUnsubscribe=null}if(this.columnResizeController.isActive()||this.columnResizeEscHandler!==null){this.cancelColumnResize()}if(this.columnReorderController.isActive()||this.columnReorderEscHandler!==null){this.cancelColumnReorder()}if(this.columnVisibilityChangedUnsubscribe){this.columnVisibilityChangedUnsubscribe();this.columnVisibilityChangedUnsubscribe=null}if(this.columnVisibilityResetUnsubscribe){this.columnVisibilityResetUnsubscribe();this.columnVisibilityResetUnsubscribe=null}}onRowHoverModeChanged(){this.teardownHoverListener();this.setupHoverListener();if(this.rowHover!=="stateful"){const prev=this.hoverState;const next=clearHoveredRow(prev);if(next!==prev){this.hoverState=next}this.pendingHoverRowId=null}}onVirtualizationInputsChanged(){if(!this.host?.isConnected)return;this.teardownVirtualizer();this.setupVirtualizer()}onVirtualizationMetricsChanged(){if(!this.host?.isConnected)return;this.recomputeVirtualWindow()}setupVirtualizer(){if(!this.usingColumnDefsApi())return;if(!this.virtualScroll)return;const el=this.host?.querySelector?.(".sy-grid__viewport");if(!el)return;this.viewportEl=el;if(typeof ResizeObserver==="function"){this.resizeObserver=new ResizeObserver(entries=>{const entry=entries[0];if(!entry)return;const rect=entry.contentRect;const next={width:rect.width,height:rect.height};const prev=this.viewportSize;this.bodyScrollbarWidth=el.offsetWidth-el.clientWidth;if(prev&&prev.width===next.width&&prev.height===next.height)return;this.viewportSize=next;this.recomputeVirtualWindow()});this.resizeObserver.observe(el)}else{const rect=el.getBoundingClientRect();this.viewportSize={width:rect.width,height:rect.height}}this.bodyScrollbarWidth=el.offsetWidth-el.clientWidth;this.detachVirtualScroll=attachVirtualScroll(el,{totalRows:this.getDisplayRows().length,rowHeight:this.uniformRowHeight(),viewportHeight:this.estimatedViewportHeight(),overscan:DEFAULT_OVERSCAN},_result=>{void _result;this.scrollTop=el.scrollTop;this.syncHeaderHorizontalScroll(el.scrollLeft);this.alignedNotify();if((this.virtualizeColumns===true||this.columnWindowLive)&&this.hScrollLeft!==el.scrollLeft){this.hScrollLeft=el.scrollLeft;this.alignedNotify()}this.recomputeVirtualWindow()})}syncHeaderHorizontalScroll(scrollLeft){const clip=this.host?.querySelector?.(".sy-grid__header-clip");if(clip&&clip.scrollLeft!==scrollLeft)clip.scrollLeft=scrollLeft;if(this.pinnedRowsFacade!==null&&this.pinnedRowsFacade.count()>0){const bands=this.host?.querySelectorAll?.(".sy-grid__pinned-clip");bands?.forEach(band=>{if(band.scrollLeft!==scrollLeft)band.scrollLeft=scrollLeft})}}teardownVirtualizer(){if(this.detachVirtualScroll){this.detachVirtualScroll();this.detachVirtualScroll=null}if(this.resizeObserver){this.resizeObserver.disconnect();this.resizeObserver=null}this.viewportEl=null}ensureVirtualizerAttached(){if(!this.usingColumnDefsApi()||!this.virtualScroll)return;const el=this.host?.querySelector?.(".sy-grid__viewport");if(!el||this.viewportEl===el)return;this.teardownVirtualizer();this.setupVirtualizer()}recomputeVirtualWindow(){const rows=this.getDisplayRows();const viewportHeight=this.scrollPassViewportHeight??this.estimatedViewportHeight();this.scrollPassViewportHeight=viewportHeight;let next=this.computeVirtualWindowForRows(rows,viewportHeight);const maxScrollTop=next===null?0:Math.max(0,next.totalHeight-viewportHeight);const rawScrollTop=Number.isFinite(this.scrollTop)?Math.max(0,this.scrollTop):0;const clampedScrollTop=Math.min(rawScrollTop,maxScrollTop);if(clampedScrollTop!==this.scrollTop){this.scrollTop=clampedScrollTop;if(this.viewportEl&&Math.abs(this.viewportEl.scrollTop-clampedScrollTop)>.5){this.viewportEl.scrollTop=clampedScrollTop}next=this.computeVirtualWindowForRows(rows,viewportHeight)}const current=this.virtualWindow;if(next!==null&¤t!==null&&this.virtualWindowRowCount===rows.length&&this.virtualWindowViewportHeight===viewportHeight&&this.virtualWindowDetailSet===this.expandedDetailRows&¤t.totalHeight===next.totalHeight&&next.startIndex>=current.startIndex&&next.endIndex<=current.endIndex){return}this.virtualWindowRowCount=rows.length;this.virtualWindowViewportHeight=viewportHeight;this.virtualWindowDetailSet=this.expandedDetailRows;this.virtualWindow=next===null?null:this.computeVirtualWindowForRows(rows,viewportHeight,RENDER_OVERSCAN)}uniformRowHeight(){const raw=this.rowHeight;if(typeof raw!=="number"||!Number.isFinite(raw)||raw<=0)return 32;return raw}estimatedViewportHeight(){const live=this.viewportEl?.clientHeight;const hostBudget=this.estimatedViewportHeightFromHost();if(typeof live==="number"&&Number.isFinite(live)&&live>0&&hostBudget!==null){return Math.max(live,hostBudget)}if(typeof live==="number"&&Number.isFinite(live)&&live>0){return live}if(hostBudget!==null){return hostBudget}const measured=this.viewportSize?.height;if(typeof measured==="number"&&Number.isFinite(measured)&&measured>0){return measured}if(typeof this.height==="number"&&Number.isFinite(this.height)&&this.height>0){return this.height}if(typeof this.height==="string"){const match=this.height.trim().match(/^(\d+(?:\.\d+)?)px$/);if(match){const px=Number(match[1]);if(Number.isFinite(px)&&px>0)return px}}return 240}estimatedViewportHeightFromHost(){const hostHeight=this.measuredHostHeight();if(hostHeight===null)return null;const toolbar=this.host?.querySelector?.(".sy-grid__toolbar");const header=this.host?.querySelector?.(".sy-grid__header-rowgroup");const pagination=this.host?.querySelector?.(".sy-grid__pagination");const branding=this.host?.querySelector?.(".sy-grid__brand-strip");let bandsHeight=0;if(this.pinnedRowsFacade!==null&&this.pinnedRowsFacade.count()>0){const bands=this.host?.querySelectorAll?.(".sy-grid__pinned-band");bands?.forEach(band=>{bandsHeight+=this.elementHeight(band)})}const chromeHeight=this.elementHeight(toolbar)+this.elementHeight(header)+this.elementHeight(pagination)+this.elementHeight(branding)+bandsHeight;const available=hostHeight-chromeHeight;return Number.isFinite(available)&&available>0?available:null}measuredHostHeight(){const live=this.host?.clientHeight;if(typeof live==="number"&&Number.isFinite(live)&&live>0){return live}if(typeof this.height==="number"&&Number.isFinite(this.height)&&this.height>0){return this.height}if(typeof this.height==="string"){const match=this.height.trim().match(/^(\d+(?:\.\d+)?)px$/);if(match){const px=Number(match[1]);if(Number.isFinite(px)&&px>0)return px}}return null}elementHeight(el){const height=el?.offsetHeight;return typeof height==="number"&&Number.isFinite(height)&&height>0?height:0}rowHeightForIndex(fn,index,row,fallback){if(isDetailRow(row))return this.detailRowHeightPx();if(isGroupMarkerRow(row)||isGroupFooterRow(row)||isTreeNodeRow(row))return fallback;if(isLoadingPlaceholderRow(row))return fallback;if(row!==void 0){const liveHeight=this.liveRowHeights.get(this.collabRowId(row,index));if(liveHeight!==void 0)return liveHeight}try{return this.safeRowHeightSample(fn(index,row),fallback)}catch(err){console.warn(`[SG:ROW] height error row=${index}; use=${fallback}px`,err);return fallback}}autoHeightActive(){if(!this.virtualScroll)return false;if(typeof this.rowHeightFn==="function")return false;const cols=this.effectiveColumns();for(let i=0;i<cols.length;i++){if(cols[i]?.autoHeight===true)return true}return false}rowHeightLayoutSignature(){const cols=this.effectiveColumns();let sig="";for(let i=0;i<cols.length;i++){const c=cols[i];if(!c)continue;const w=this.columnWidths.get(c.field)??c.width??"";sig+=`${c.field}:${w}|`}const vw=this.viewportEl?.clientWidth??this.viewportSize?.width??0;return`${sig}#${Math.round(vw)}`}ensureRowHeightCacheFor(rows){if(this.rowHeightCache===null){this.rowHeightCache=createRowHeightCache(this.uniformRowHeight());this.lastMeasuredRowsRef=null;this.lastMeasuredLayoutSig=""}const sig=this.rowHeightLayoutSignature();if(this.lastMeasuredRowsRef!==rows||this.lastMeasuredLayoutSig!==sig){this.rowHeightCache.reset();this.lastMeasuredRowsRef=rows;this.lastMeasuredLayoutSig=sig}return this.rowHeightCache}computeVirtualWindowForRows(rows,viewportHeight,overscan=DEFAULT_OVERSCAN){const totalRows=rows.length;if(totalRows===0)return null;const uniform=this.uniformRowHeight();const fn=this.rowHeightFn;const fullWidth=this.fullWidthDeclared()?this.fullWidth():null;const fullWidthHeight=fullWidth===null?null:i=>fullWidth.isFullWidthRow(i)?fullWidth.heightAt(i,uniform):null;if(typeof fn==="function"){return computeVariableVirtualWindow({totalRows,rowHeight:i=>fullWidthHeight?.(i)??this.rowHeightForIndex(fn,i,rows[i],uniform),viewportHeight,scrollTop:this.scrollTop,overscan})}if(this.autoHeightActive()){const cache=this.ensureRowHeightCacheFor(rows);return computeCachedVariableWindow(cache,{totalRows,viewportHeight,scrollTop:this.scrollTop,overscan})}if(this.masterDetailActive()&&this.expandedDetailRows.size>0){const detailPx=this.detailRowHeightPx();return computeVariableVirtualWindow({totalRows,rowHeight:i=>fullWidthHeight?.(i)??(isDetailRow(rows[i])?detailPx:uniform),viewportHeight,scrollTop:this.scrollTop,overscan})}if(fullWidthHeight!==null&&fullWidth!==null&&fullWidth.layout().fullWidthRows.length>0){return computeVariableVirtualWindow({totalRows,rowHeight:i=>fullWidthHeight(i)??uniform,viewportHeight,scrollTop:this.scrollTop,overscan})}return computeVirtualWindow({totalRows,rowHeight:uniform,viewportHeight,scrollTop:this.scrollTop,overscan})}getDisplayRows(){if(!this.usingColumnDefsApi())return[];if(this.serverSideState!==null){return this.memoizedServerRows(this.serverSideState,()=>this.materializeServerSideRows())}if(this.viewportState!==null){return this.memoizedServerRows(this.viewportState,()=>this.viewportEngine().materializeViewportRows(this.viewportState))}if(this.infiniteCache!==null){return this.memoizedServerRows(this.infiniteCache,()=>materializeInfiniteRows(this.infiniteCache))}this.serverDisplayRowsCache=null;return this.engineRows()}memoizedServerRows(key,build){const cache=this.serverDisplayRowsCache;if(cache!==null&&cache.key===key)return cache.rows;const rows=build();this.serverDisplayRowsCache={key,rows};return rows}serverSideModeActive(){return this.serverSideDatasource!=null&&this.usingColumnDefsApi()&&this.proAllowed("grid.server-side-row-model","serverSideDatasource")&&this.proModuleAvailable("grid.server-side-row-model","serverSideDatasource","ssrm-ops")}serverSidePivotModeActive(){return this.serverSideModeActive()&&this.pivotMode===true&&this.proAllowed("grid.pivot","pivotMode")}normalizeServerSideFields(value){if(!Array.isArray(value))return[];const seen=new Set;const fields=[];for(const candidate of value){if(typeof candidate!=="string"||candidate===""||seen.has(candidate))continue;seen.add(candidate);fields.push(candidate)}return fields}serverSideRowGroupFields(){let source=this.serverSideGroupCols;if(this.serverSidePivotModeActive()&&Array.isArray(this.pivotRowGroupColumns)){source=this.pivotRowGroupColumns}return this.normalizeServerSideFields(source)}serverSideColumnField(column){if(typeof column==="string")return column===""?null:column;if(column===void 0||column===null)return null;for(const candidate of[column.field,column.colId,column.id]){if(typeof candidate==="string"&&candidate!=="")return candidate}return null}serverSideColumnDescriptor(field,aggFunc){const source=this.declaredColumnDefs().find(column=>column.field===field||column.colId===field);const sourceField=source?.field??field;const colId=source?.colId??sourceField;return{id:colId,colId,field:sourceField,displayName:source?.headerName??sourceField,...typeof aggFunc==="string"&&aggFunc!==""?{aggFunc}:{}}}serverSideRequestColumns(){const rowGroupCols=this.serverSideRowGroupFields().map(field=>this.serverSideColumnDescriptor(field));if(!this.serverSidePivotModeActive()){const valueCols2=this.declaredColumnDefs().filter(column=>typeof column.aggFunc==="string"&&column.aggFunc!=="").map(column=>this.serverSideColumnDescriptor(column.field,column.aggFunc));return{rowGroupCols,pivotCols:[],valueCols:valueCols2}}const pivotCols=this.normalizeServerSideFields(this.pivotColumns).map(field=>this.serverSideColumnDescriptor(field));const valueCols=this.normalizeServerSideFields(this.pivotValueColumns).map(field=>{const source=this.declaredColumnDefs().find(column=>column.field===field);const aggFunc=this.pivotAggFuncs?.[field]??source?.aggFunc??"sum";return this.serverSideColumnDescriptor(field,aggFunc)});return{rowGroupCols,pivotCols,valueCols}}isServerSidePivotResultColumn(value){if(value===null||typeof value!=="object"||Array.isArray(value))return false;try{const prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}catch{return false}}serverSidePivotResultColumnDef(column,index,path,depth,budget){if(depth>12||budget.count>=512||!this.isServerSidePivotResultColumn(column))return null;budget.count+=1;const children=[];if(Array.isArray(column.children)){for(let childIndex=0;childIndex<column.children.length;childIndex+=1){const child=this.serverSidePivotResultColumnDef(column.children[childIndex],childIndex,`${path}.${index}`,depth+1,budget);if(child!==null)children.push(child)}}const colId=typeof column.colId==="string"&&column.colId!==""?column.colId:void 0;const field=typeof column.field==="string"&&column.field!==""?column.field:colId;let headerName=field??colId??"Pivot";if(typeof column.headerName==="string"&&column.headerName!=="")headerName=column.headerName;if(children.length>0){return{headerName,groupId:colId??field??`server-pivot-${path}.${index}`,children}}if(field===void 0)return null;const def={field,headerName};if(colId!==void 0)def.colId=colId;for(const key of["width","minWidth","maxWidth","flex"]){const value=column[key];if(typeof value==="number"&&Number.isFinite(value)&&value>0)def[key]=value}if(column.pinned==="left"||column.pinned==="right"){def.pinned=column.pinned}if(typeof column.sortable==="boolean")def.sortable=column.sortable;if(typeof column.resizable==="boolean")def.resizable=column.resizable;return def}serverSidePivotColumnDefs(){if(!this.serverSidePivotModeActive())return[];const declared=this.declaredColumnDefs();const rowGroupDefs=[];for(const field of this.serverSideRowGroupFields()){const source=declared.find(column=>column.field===field||column.colId===field);if(source===void 0){rowGroupDefs.push({field,headerName:field})}else{rowGroupDefs.push({...source,field:source.field})}}const state=this.serverSideState;if(state===null)return rowGroupDefs;const rich=[];const budget={count:0};for(let index=0;index<state.pivotResultColumns.length&&budget.count<512;index+=1){const resolved=this.serverSidePivotResultColumnDef(state.pivotResultColumns[index],index,"root",0,budget);if(resolved!==null)rich.push(resolved)}let generated=rich;if(rich.length===0&&state.pivotResultFields.length>0){const remaining=Math.max(0,512-budget.count);generated=state.pivotResultFields.slice(0,remaining).map(field=>({field,headerName:field}))}if(generated.length===0)return rowGroupDefs;const rowFields=new Set(rowGroupDefs.map(column=>column.field));return[...rowGroupDefs,...generated.filter(column=>Array.isArray(column.children)||!rowFields.has(column.field))]}serverGroupKeyOf=(row,level)=>{const cols=this.serverSideState?.rowGroupCols??[];const field=this.serverSideColumnField(cols[level]);const v=field!==null?readOwnFieldPath(row,field):void 0;return v==null?"":String(v)};serverSideFlatten(){const state=this.serverSideState;if(state===null)return[];return this.ssrmEngine().flattenServerSide(state,this.serverGroupKeyOf)}materializeServerSideRows(){if(this.ssrmSelection!==null&&this.ssrmProjectionSource!==this.serverSideState){this.ssrmSelGesture(f=>f.reproject())}const{serialiseGroupPath}=this.ssrmEngine();return this.serverSideFlatten().map((r,idx)=>{if(r.kind==="loading")return makeLoadingPlaceholderRow(idx,r.status??"loading");if(r.kind==="leaf")return r.data??{};const path=r.groupKeys;const last=path.length>0?path[path.length-1]:"";const childNode=this.serverSideState?.nodes[serialiseGroupPath(path)];const leafCount=childNode!==void 0&&childNode.lastRowKnown?childNode.rowCount:-1;return{__syTreeRow:true,path,key:serialiseGroupPath(path),label:last===""?this.resolvedMessages["filter.setBlanksLabel"]:last,depth:r.level,row:r.data,filler:false,hasChildren:true,leafCount,expanded:r.expanded}})}maybeFetchServerBlocks(){const state=this.serverSideState;if(state===null||this.serverSideDatasource==null||!this.serverSideModeActive())return;if(!this.proWorkAllowed("grid.server-side-row-model","serverSideDatasource"))return;const flat=this.serverSideFlatten();const win=this.virtualWindow;const start=win!==null?win.startIndex:0;const end=win!==null?win.endIndex:Math.min(flat.length||state.blockSize,state.blockSize);const filterModel=this.infiniteFilterModel();if(filterModel===null){this.lastServerFetchWindow=null;return}const prev=this.lastServerFetchWindow;if(prev!==null&&prev.start===start&&prev.end===end)return;this.lastServerFetchWindow={start,end};const{markServerBlockLoading,serverBlocksToLoad,touchServerSideVisible}=this.ssrmEngine();const touched=touchServerSideVisible(state,flat,start,end);if(touched!==state)this.serverSideState=touched;const requests=serverBlocksToLoad(touched,flat,start,end);if(requests.length===0)return;let next=touched;for(const req of requests)next=markServerBlockLoading(next,req.path,req.blockNumber);this.serverSideState=next;for(const req of requests){this.dispatchServerBlock(req.path,req.groupKeys,req.blockNumber,req.startRow,req.endRow,filterModel)}}dispatchServerBlock(path,groupKeys,blockNumber,startRow,endRow,filterModel){const ds=this.serverSideDatasource;const state=this.serverSideState;if(ds==null||state===null)return;const{applyServerBlockFailure,applyServerBlockSuccess}=this.ssrmEngine();const gen=this.serverSideGen;const floor=this.ssrmRefreshFloors.get(path)??0;const landingStale=()=>{if(gen!==this.serverSideGen||this.serverSideState===null)return true;if((this.ssrmRefreshFloors.get(path)??0)!==floor){this.ssrmDiscardedStaleLandings+=1;return true}return false};ds.getRows({groupKeys,pivotMode:state.pivotMode,rowGroupCols:[...state.rowGroupCols],pivotCols:[...state.pivotCols],valueCols:[...state.valueCols],startRow,endRow,sortModel:this.infiniteSortModel(),filterModel,quickFilter:this.infiniteQuickFilter(),conditionModel:this.infiniteConditionModel()},result=>{if(landingStale())return;const before=this.serverSideState;const next=applyServerBlockSuccess(before,path,blockNumber,result);if(path===""&&(next.pivotResultFields!==before.pivotResultFields||next.pivotResultColumns!==before.pivotResultColumns)){this.serverPivotResultsStale=false}this.serverSideState=next;this.lastServerFetchWindow=null;this.recomputeVirtualWindow()},()=>{if(landingStale())return;this.serverSideState=applyServerBlockFailure(this.serverSideState,path,blockNumber)})}retryServerBlock(displayIndex){const state=this.serverSideState;if(state===null||this.serverSideDatasource==null)return;if(!this.proWorkAllowed("grid.server-side-row-model","serverSideDatasource"))return;const row=this.serverSideFlatten()[displayIndex];if(row===void 0||row.kind!=="loading"||row.status!=="failed")return;const filterModel=this.infiniteFilterModel();if(filterModel===null)return;const blockNumber=Math.floor(row.childIndex/state.blockSize);this.serverSideState=this.ssrmEngine().markServerBlockLoading(state,row.parentPath,blockNumber);this.lastServerFetchWindow=null;this.dispatchServerBlock(row.parentPath,[...row.groupKeys],blockNumber,blockNumber*state.blockSize,(blockNumber+1)*state.blockSize,filterModel)}initServerSide(){if(this.serverSideDatasource!=null&&(!this.proAllowed("grid.server-side-row-model","serverSideDatasource")||!this.proWorkAllowed("grid.server-side-row-model","serverSideDatasource"))){if(this.proGate().displayState("grid.server-side-row-model")==="valid"){this.heldLicenseInits.hold("server-side","grid.server-side-row-model")}return}this.heldLicenseInits.drop("server-side");this.serverSideGen+=1;if(this.serverSideDatasource!=null&&!this.proModuleAvailable("grid.server-side-row-model","serverSideDatasource","ssrm-ops")){return}if(this.serverSideDatasource!=null&&this.proUiChunks["ssrm-ops"]===void 0)return;this.lastServerFetchWindow=null;this.teardownSsrmRuntime();this.ssrmEpoch+=1;this.ssrmRefreshFloors.clear();this.serverPivotResultsStale=false;if(this.serverSideDatasource==null){if(this.serverSideState!==null)this.serverSideState=null;return}const request=this.serverSideRequestColumns();const{createServerSideState}=this.ssrmEngine();this.serverSideState=createServerSideState({pivotMode:this.serverSidePivotModeActive(),rowGroupCols:request.rowGroupCols,pivotCols:request.pivotCols,valueCols:request.valueCols,blockSize:this.cacheBlockSize,maxBlocks:typeof this.maxBlocksInCache==="number"?this.maxBlocksInCache:null})}serverSideDatasourceChanged(){this.liveObjectModel?.invalidateRows("data-replaced");this.initServerSide()}serverSideGroupColsChanged(){this.liveObjectModel?.invalidateRows("data-replaced");this.initServerSide()}viewportModeActive(){return this.viewportDatasource!=null&&this.usingColumnDefsApi()&&this.proAllowed("grid.viewport-row-model","viewportDatasource")}initViewport(){this.viewportGen+=1;const gen=this.viewportGen;const ds=this.viewportDatasource;if(ds==null){this.heldLicenseInits.drop("viewport");if(this.viewportState!==null)this.viewportState=null;return}if(!this.proAllowed("grid.viewport-row-model","viewportDatasource")||!this.proWorkAllowed("grid.viewport-row-model","viewportDatasource")){if(this.proGate().displayState("grid.viewport-row-model")==="valid"){this.heldLicenseInits.hold("viewport","grid.viewport-row-model")}return}this.heldLicenseInits.drop("viewport");const viewportChunk=this.proUiChunks["viewport-row-model"];if(viewportChunk===void 0)return;const{applyViewportRowData,createViewportState,setViewportRowCount}=viewportChunk;this.viewportState=createViewportState();const feedFrozen=()=>{if(!this.proGate().frozen("grid.viewport-row-model"))return false;this.viewportFeedHeld=true;return true};ds.init({setRowCount:count=>{if(gen!==this.viewportGen||this.viewportState===null)return;if(feedFrozen())return;this.viewportState=setViewportRowCount(this.viewportState,count);this.recomputeVirtualWindow()},setRowData:(startIndex,rows)=>{if(gen!==this.viewportGen||this.viewportState===null)return;if(feedFrozen())return;const safeRows=Array.isArray(rows)?rows:[];this.viewportState=applyViewportRowData(this.viewportState,startIndex,safeRows)}})}viewportDatasourceChanged(_value,oldValue){oldValue?.destroy?.();this.liveObjectModel?.invalidateRows("data-replaced");this.initViewport();this.recomputeVirtualWindow()}maybeUpdateViewportRange(){const state=this.viewportState;const ds=this.viewportDatasource;if(state===null||ds==null||!this.viewportModeActive())return;if(!this.proWorkAllowed("grid.viewport-row-model","viewportDatasource"))return;if(this.serverSideModeActive())return;const win=this.virtualWindow;const firstVisible=win!==null?win.startIndex:0;const lastVisible=(win!==null?win.endIndex:Math.min(state.rowCount,1))-1;const{applyViewportRange,viewportRangeToRequest}=this.viewportEngine();const req=viewportRangeToRequest(state,firstVisible,lastVisible,0);if(req===null)return;if(req.firstRow===state.requestedFirst&&req.lastRow===state.requestedLast)return;const filterModel=this.infiniteFilterModel();if(filterModel===null)return;this.viewportState=applyViewportRange(state,req.firstRow,req.lastRow);ds.setViewportRange(req.firstRow,req.lastRow,{sortModel:this.infiniteSortModel(),filterModel,...this.infiniteQuickFilter()===void 0?{}:{quickFilter:this.infiniteQuickFilter()},...this.infiniteConditionModel()===void 0?{}:{advancedFilterModel:this.infiniteConditionModel()}})}infiniteModeActive(){return this.datasource!=null&&this.usingColumnDefsApi()}initInfiniteCache(){this.infiniteCacheGen+=1;this.lastFetchedWindow=null;if(this.datasource==null){if(this.infiniteCache!==null)this.infiniteCache=null;return}this.infiniteCache=createInfiniteCache({blockSize:this.cacheBlockSize,maxBlocks:typeof this.maxBlocksInCache==="number"?this.maxBlocksInCache:null})}datasourceChanged(){this.liveObjectModel?.invalidateRows("data-replaced");this.initInfiniteCache()}maybeFetchInfiniteBlocks(){if(this.infiniteCache===null||!this.infiniteModeActive())return;if(this.serverSideModeActive()||this.viewportModeActive())return;const win=this.virtualWindow;const startRow=win!==null?win.startIndex:0;const endRow=win!==null?win.endIndex:this.effectiveBlockSize();const prev=this.lastFetchedWindow;if(prev!==null&&prev.startRow===startRow&&prev.endRow===endRow)return;this.lastFetchedWindow={startRow,endRow};this.requestInfiniteBlocks(startRow,endRow)}effectiveBlockSize(){return this.infiniteCache!==null?this.infiniteCache.blockSize:this.cacheBlockSize}requestInfiniteBlocks(startRow,endRow,includeFailed=false){const cache=this.infiniteCache;const ds=this.datasource;if(cache===null||ds==null)return;let next=touchInfiniteRange(cache,startRow,endRow);const toLoad=infiniteBlocksToLoad(next,startRow,endRow,includeFailed);if(toLoad.length===0){if(next!==cache)this.infiniteCache=next;return}const filterModel=this.infiniteFilterModel();if(filterModel===null){this.lastFetchedWindow=null;return}for(const block of toLoad)next=markInfiniteBlockLoading(next,block);this.infiniteCache=next;const gen=this.infiniteCacheGen;const blockSize=next.blockSize;const sortModel=this.infiniteSortModel();const quickFilter=this.infiniteQuickFilter();const conditionModel=this.infiniteConditionModel();for(const block of toLoad){const bounds=infiniteBlockBounds(block,blockSize);ds.getRows({startRow:bounds.startRow,endRow:bounds.endRow,sortModel,filterModel,quickFilter,conditionModel,success:(rows,lastRow)=>this.onInfiniteBlockSuccess(block,rows,lastRow,gen),fail:()=>this.onInfiniteBlockFailure(block,gen)})}}infiniteSortModel(){return this.activeSortModel.map(entry=>({colId:entry.field,sort:entry.direction}))}infiniteFilterModel(){const customCount=this.configuredLifecycleFilterCount();if(this.externalFilter!=null){if(!this.externalFilterRuntimeReady())return null;const external=this.filterFacade?.getExternalFilter();if(external===null||external===void 0)return null;const present=external.isPresent();if(external.getPredicateError()!==null)return null;if(present){const signature="remote-external-filter";if(!this.componentRemoteFilterErrors.has(signature)){this.componentRemoteFilterErrors.add(signature);this.emitComponentError({code:"MODEL_FAILED",phase:"model",componentKind:"filter",retryable:false,cause:new Error("External filter predicates cannot be serialized for a remote row model.")})}return null}}if(customCount===0)return{...this.licensedActiveFilters()};if(this.componentFilterReadyRevision!==this.componentFilterRevision){return null}const facade=this.filterFacade;const stats=facade?.stats();if(facade===null||stats===void 0||stats.columns!==customCount||stats.mountedFilters!==customCount){return null}const snapshot=facade.getSerializableModels();if(snapshot.errors.length>0)return null;return{...this.licensedActiveFilters(),...snapshot.models}}licensedActiveFilters(){let out=null;for(const[key,filter]of Object.entries(this.activeFilters)){if(filter.kind!=="set"&&filter.kind!=="multi")continue;const allowed=filter.kind==="set"?this.filterKindAllowed("set",true):this.filterKindAllowed("multi",filter.spec.parts.some(part=>part.kind==="set"));if(allowed)continue;if(out===null)out={...this.activeFilters};delete out[key]}return out??this.activeFilters}infiniteQuickFilter(){return typeof this.quickFilterValue==="string"&&this.quickFilterValue!==""?this.quickFilterValue:void 0}infiniteConditionModel(){if(this.activeConditionTree==null)return void 0;return this.proAllowed("grid.advanced-filter","setConditionFilter")?this.activeConditionTree:void 0}infiniteModelInputsChanged(){if(this.serverSideModeActive()){this.initServerSide();if(this.viewportEl)this.viewportEl.scrollTop=0;this.scrollTop=0;this.recomputeVirtualWindow();return}if(this.viewportModeActive()&&this.viewportState!==null){this.viewportState=this.viewportEngine().purgeViewport(this.viewportState);if(this.viewportEl)this.viewportEl.scrollTop=0;this.scrollTop=0;this.recomputeVirtualWindow();return}if(!this.infiniteModeActive())return;this.initInfiniteCache();if(this.viewportEl)this.viewportEl.scrollTop=0;this.scrollTop=0;this.recomputeVirtualWindow()}onInfiniteBlockSuccess(block,rows,lastRow,gen){if(gen!==this.infiniteCacheGen||this.infiniteCache===null)return;const safeRows=Array.isArray(rows)?rows:[];const lr=typeof lastRow==="number"?lastRow:null;this.infiniteCache=applyInfiniteBlockSuccess(this.infiniteCache,block,safeRows,lr)}onInfiniteBlockFailure(block,gen){if(gen!==this.infiniteCacheGen||this.infiniteCache===null)return;this.infiniteCache=applyInfiniteBlockFailure(this.infiniteCache,block)}retryInfiniteBlock(rowIndex){if(this.infiniteCache===null)return;const blockSize=this.infiniteCache.blockSize;const start=Math.floor(rowIndex/blockSize)*blockSize;this.lastFetchedWindow=null;this.requestInfiniteBlocks(start,start+blockSize,true)}async refreshInfiniteCache(){if(!this.infiniteModeActive())return;this.liveObjectModel?.invalidateRows("data-replaced");this.initInfiniteCache()}async refreshRowHeights(){if(this.rowHeightCache!==null)this.rowHeightCache.reset();this.lastMeasuredRowsRef=null;this.lastMeasuredLayoutSig="";this.recomputeVirtualWindow();this.autoHeightVersion++}async scrollToTop(){if(this.viewportEl)this.viewportEl.scrollTop=0;this.scrollTop=0;this.recomputeVirtualWindow()}async selectRows(ids){if(!Array.isArray(ids))return;if(this.serverSideModeActive()){(await this.ssrmSel()).replaceWithIds(ids.map(String));return}const previous=this.selectionState;let working=clearRowSelection(previous);for(const id of ids){working=selectRowInState(working,id)}this.rangeAnchorRowId=null;if(working===previous)return;this.selectionState=working;const diff=diffSelection(previous,working);if(diff.addedIds.length===0&&diff.removedIds.length===0)return;this.fireSelectionChanged({mode:working.mode,selectedRowIds:Array.from(working.selectedRowIds),addedIds:diff.addedIds,removedIds:diff.removedIds},"api")}async getSelectedRowIds(){return Array.from(this.selectionState.selectedRowIds)}async applyTransaction(transaction,label,opts){const editSource=opts?.source??"local";const sourceRows=this.rowData??[];const result=applyRowTransaction(sourceRows,transaction,{getRowId:this.getRowId});if(this.liveObjectModel!==null&&result.added.length>0&&result.removed.length>0){const removedIds=new Set(result.removed.map(entry=>this.collabRowId(entry.row,entry.index)));const reusedIds=new Set(result.added.map(entry=>this.collabRowId(entry.row,entry.index)).filter(id=>removedIds.has(id)));for(const id of reusedIds){this.liveObjectModel.invalidateRow(id,"data-replaced")}}this.rowData=result.rows;this.fireRowDataChanged({added:result.added,updated:result.updated,removed:result.removed,rejected:result.rejected,txId:result.meta.txId,source:editSource,origin:opts?.origin});const changes=this.emitCellValueChanges(result.updated,editSource,opts?.origin,result.meta.txId);if(editSource==="remote")this.remoteEditApplied.emit({changes,origin:opts?.origin});const mutated=result.added.length+result.updated.length+result.removed.length;if(mutated>0&&editSource!=="remote"){const inverse=invertTransactionResult(result);this.undoRedoStack.record(transaction,inverse,label)}return result}emitCellValueChanges(updated,source,origin,txId,options={}){const cols=this.resolvedColumnDefs();const changes=[];const auditSource=origin==="clipboard"?"clipboard":source;for(const u of updated){const rowId=this.collabRowId(u.row,u.index);for(let c=0;c<cols.length;c+=1){const field=cols[c]?.field;if(typeof field!=="string"||field.length===0)continue;const oldValue=this.publicNumericValue(readOwnFieldPath(u.previous,field));const newValue=this.publicNumericValue(readOwnFieldPath(u.row,field));if(Object.is(oldValue,newValue))continue;const displayRowIndex=options.displayRowIndex??u.index;const detail={rowIndex:displayRowIndex,sourceRowIndex:u.index,colIndex:c,field,rowId,oldValue,newValue,data:u.row,context:this.context,source,origin,txId};changes.push(detail);this.cellValueChanged.emit(detail);if(this.auditTrail!==null){this.recordAudit({kind:"cell",source:auditSource,rowId,field,oldValue,newValue,txId})}this.flashCell(displayRowIndex,field)}}return changes}collabRowId(row,index){const fn=this.getRowId;if(fn){try{const id=fn(row);if(id!==void 0&&id!==null)return id}catch{}}return index}async undo(){const entry=this.undoRedoStack.undo();if(entry===null)return false;const source=this.rowData??[];const result=applyRowTransaction(source,entry.inverse,{getRowId:this.getRowId});this.rowData=result.rows;this.fireRowDataChanged({added:result.added,updated:result.updated,removed:result.removed,rejected:result.rejected,txId:result.meta.txId,source:"undo"});this.emitCellValueChanges(result.updated,"undo",void 0,result.meta.txId);return true}async redo(){const entry=this.undoRedoStack.redo();if(entry===null)return false;const source=this.rowData??[];const result=applyRowTransaction(source,entry.forward,{getRowId:this.getRowId});this.rowData=result.rows;this.fireRowDataChanged({added:result.added,updated:result.updated,removed:result.removed,rejected:result.rejected,txId:result.meta.txId,source:"redo"});this.emitCellValueChanges(result.updated,"redo",void 0,result.meta.txId);return true}async clearHistory(){this.undoRedoStack.clear()}async connectCollabRoom(opts){const room=this.collaborationRoom;const pending={session:null};try{return await this.proMethod("connectCollabRoom",{validate:()=>{if(this.collabSession!==null)return{result:this.collabSession.getStatus()};if(room===void 0||room.length===0)return{result:"offline"};return void 0},load:async()=>{if(gridCollabChunkSource()===null)throw new GridChunkLoadError("collab","unknown","source");const gen=++this.collabConnectGen;const collabModule=await this.getChunkLoader().load("collab");this.collabGlue=collabModule;pending.session=await collabModule.loadGridCollab(collabModule.createGridCollabHost(this),{room,realtimeUrl:opts?.realtimeUrl??this.realtimeUrl,userName:opts?.userName??this.collabUserName,userColor:opts?.userColor??this.collabUserColor,presence:opts?.presence??this.collabPresence,persistence:opts?.persistence??this.collabPersistence});return gen},exec:gen=>gen,publish:gen=>{const session=pending.session;pending.session=null;if(gen!==this.collabConnectGen||this.collaborationRoom!==room||this.collabSession!==null){session?.disconnect();return this.collabSession!==null?this.collabSession.getStatus():"offline"}this.collabSession=session;return this.collabSession!==null?this.collabSession.getStatus():"offline"}})}finally{pending.session?.disconnect()}}kickCollabConnect(){if(!this.collaborationRoom||this.collabSession!==null||this.hasDisconnected)return;if(!this.proAllowed("grid.collaboration","collaborationRoom"))return;if(!this.proWorkAllowed("grid.collaboration","collaborationRoom")){this.collabFreeze.holdJoin();return}void this.connectCollabRoom().catch(()=>void 0)}async preloadChunks(ids){for(const features of gridChunkProFeatureSets(ids)){await this.proGate().admitAny(features,"preloadChunks")}await this.getChunkLoader().preload(ids)}collabConnectGen=0;onCollaborationRoomChange(){this.collabConnectGen++;this.collabSession?.disconnect();this.collabSession=null;this.closeCommentPanel();this.cellCommentIndex=new Map;this.seenCommentIds=new Set;this.clearConflictUi();if(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",()=>this.collabSession!==null?this.collabSession.getStatus():"offline")}async getCollaborators(){return this.proRun("getCollaborators",()=>this.collabSession!==null?this.collabSession.getCollaborators():[])}async addCellComment(rowId,field,text,parentId){return this.proMethod("addCellComment",{load:()=>this.cellNotesModule(),exec:()=>void 0,publish:()=>this.collabSession?.addCellComment?.(rowId,field,text,parentId)??null})}async cellNotesModule(){if(gridCollabChunkSource()===null)throw new GridChunkLoadError("collab","unknown","source")}async getCellComments(rowId,field){return this.proRun("getCellComments",()=>this.collabSession?.getCellComments?.(rowId,field)??[])}async setCellCommentResolved(rowId,field,commentId,resolved){return this.proMethod("setCellCommentResolved",{load:()=>this.cellNotesModule(),exec:()=>void 0,publish:()=>this.collabSession?.setCellCommentResolved?.(rowId,field,commentId,resolved)??false})}async deleteCellComment(rowId,field,commentId){return this.proMethod("deleteCellComment",{load:()=>this.cellNotesModule(),exec:()=>void 0,publish:()=>this.collabSession?.deleteCellComment?.(rowId,field,commentId)??false})}async getDataAsCsv(options={}){return this.createCsvExportResult(options)}async exportDataAsCsv(options={}){const result=this.createCsvExportResult(options);this.downloadCsvFile(result.csv,options.fileName);return result}createCsvExportResult(options={}){const sourceColumns=this.columnDefs??[];const visibleColumns=[];for(let i=0;i<sourceColumns.length;i++){const c=sourceColumns[i];if(c.hidden===true||c.hide===true)continue;visibleColumns.push({field:c.field,headerName:c.headerName,valueGetter:c.valueGetter,valueFormatter:c.valueFormatter})}const sourceRows=this.maskRowsForRead(this.rowData??[],this.resolvedColumnDefs());return getDataAsCsv({...options,columns:visibleColumns,rows:sourceRows})}downloadCsvFile(csv,fileName){const doc=this.host?.ownerDocument??document;const view=doc.defaultView??window;const blob=new Blob([csv],{type:"text/csv;charset=utf-8"});const url=view.URL.createObjectURL(blob);const anchor=doc.createElement("a");anchor.href=url;anchor.download=normalizeCsvFileName(fileName);anchor.style.display="none";doc.body.appendChild(anchor);anchor.click();anchor.remove();view.setTimeout(()=>view.URL.revokeObjectURL(url),0)}async getDataAsExcel(options={}){return this.proMethod("getDataAsExcel",{load:()=>this.loadExportXlsxChunk(),exec:()=>this.createExcelBytes(options)})}async exportDataAsExcel(options={}){return this.proMethod("exportDataAsExcel",{load:()=>this.loadExportXlsxChunk(),exec:()=>this.createExcelBytes(options),publish:bytes=>this.downloadXlsxFile(bytes,options.fileName)})}async createExcelBytes(options){const{buildXlsxWorkbook,gridColumnsToWorkbook,cfStyleToXlsx}=await this.loadExportXlsxChunk();const sourceColumns=this.columnDefs??[];const columnKeys=options.columnKeys;const cols=[];for(const c of sourceColumns){if(c.hidden===true||c.hide===true)continue;if(columnKeys&&!columnKeys.includes(c.field))continue;const live=this.columnWidths.get(c.field);const width=typeof live==="number"?live:typeof c.width==="number"?c.width:void 0;cols.push({field:c.field,headerName:c.headerName,width})}let rows;if(options.onlySelected===true&&this.selectionState.mode!=="none"){const selected=this.selectionState.selectedRowIds;rows=[];this.getDisplayRows().forEach((r,displayIndex)=>{const id=this.extractRowId(r,displayIndex);if(id!==void 0&&selected.has(id))rows.push(r)})}else{rows=(this.rowData??[]).slice()}const includeHeaders=options.skipHeaders!==true;const headerShift=includeHeaders?1:0;const sheet=this.formulaSheet;const formulaCore=this.formulaCore;const preserveFormulas=this.formulas===true&&sheet!==null&&sheet.active&&options.onlySelected!==true&&formulaCore!==null;const sourceColumnByField=new Map(sourceColumns.map(col=>[col.field,col]));const maskedRowCache=[];const rowForExportExtensions=(row,rowIndex)=>{const rawRow=row;if(!this.readPolicyConfigured())return rawRow;const cached=maskedRowCache[rowIndex];if(cached!==void 0)return cached;const masked=this.maskDeniedFields(rawRow,rowIndex,sourceColumns,rawRow,-1);maskedRowCache[rowIndex]=masked;return masked};const cacheValue=v=>{if(v===null||v===void 0)return null;if(typeof v==="number"&&Number.isFinite(v)||typeof v==="boolean")return v;return String(v)};const wb=gridColumnsToWorkbook({columns:cols,rows,sheetName:options.sheetName,includeHeaders,getCellValue:(row,col,rowIndex)=>{const rawRow=row;const extensionRow=rowForExportExtensions(row,rowIndex);const colDef=sourceColumnByField.get(col.field);const withCf=(base,cfValue)=>{if(this.conditionalFormats===void 0||this.conditionalFormats.length===0)return base;const cf=evaluateConditionalFormats(this.conditionalFormats,{field:col.field,value:cfValue,rowIndex,data:extensionRow});const style=cfStyleToXlsx(cf);if(style===null)return base;return typeof base==="object"&&base!==null?{...base,style}:{value:base,style}};if(colDef!==void 0&&!this.isCellReadable(this.rawFieldValue(rawRow,rowIndex,colDef),rawRow,-1,colDef)){return withCf(this.maskedCellValue,this.maskedCellValue)}if(preserveFormulas){if(typeof colDef?.formula==="string"&&sheet.isCalculatedField(col.field)){const anchored=formulaCore.anchorFormulaToRow(colDef.formula,rowIndex+1+headerShift);const v=cacheValue(sheet.calculatedDisplay(col.field,row));return withCf({value:v,formula:anchored.replace(/^=/,"")},v)}const raw=readOwnFieldPath(row,col.field);if(isFormulaText(raw)){const shifted=formulaCore.shiftFormulaRows(String(raw),headerShift);const v=cacheValue(this.formulaCellDisplay(sheet,String(raw),col.field,row));return withCf({value:v,formula:shifted.replace(/^=/,"")},v)}}const cellVal=this.excelCellValue(extensionRow,col,colDef,rowIndex);return withCf(cellVal,cellVal)}});return buildXlsxWorkbook(wb)}excelCellValue(row,col,colDef,rowIndex){const colId=colDef?.colId??col.field;let value=this.resolveGridCellValue({row,rowIndex,colId,field:col.field,valueGetter:colDef?.valueGetter,colDef});if(value===null||value===void 0)return null;if(typeof value==="number")return Number.isFinite(value)?value:String(value);if(typeof value==="boolean")return value;if(colDef?.valueFormatter!==void 0&&colDef?.valueFormatter!==null){try{return this.formatGridCellValue({value,row,rowIndex,colId,valueFormatter:colDef.valueFormatter,locale:typeof this.locale==="string"?this.locale:"en",colDef})}catch{}}return String(value)}downloadXlsxFile(bytes,fileName){const doc=this.host?.ownerDocument??document;const view=doc.defaultView??window;const blobBytes=new ArrayBuffer(bytes.byteLength);new Uint8Array(blobBytes).set(bytes);const blob=new Blob([blobBytes],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});const url=view.URL.createObjectURL(blob);const base=typeof fileName==="string"&&fileName.trim()!==""?fileName.trim():"export.xlsx";const anchor=doc.createElement("a");anchor.href=url;anchor.download=/\.xlsx$/i.test(base)?base:`${base}.xlsx`;anchor.style.display="none";doc.body.appendChild(anchor);anchor.click();anchor.remove();view.setTimeout(()=>view.URL.revokeObjectURL(url),0)}async importCsvText(text,options={}){return this.applyCsvImport(text,options)}applyCsvImport(text,options){const parsed=csvToGrid(text,{delimiter:options.delimiter,hasHeader:options.hasHeader});this.columnDefs=parsed.columns.map(c=>({field:c.field,headerName:c.headerName}));this.rowData=parsed.rowData;const detail={rowCount:parsed.rowData.length,columnCount:parsed.columns.length};this.csvImported.emit(detail);return detail}openCsvFilePicker=()=>{this.csvFileInputEl?.click()};handleCsvFileChosen=event=>{const input=event.target;const file=input?.files?.[0];if(!file)return;const reader=new FileReader;reader.onload=()=>{const text=typeof reader.result==="string"?reader.result:"";this.csvWizard={text,fileName:file.name,hasHeader:true,delimiter:"auto"}};reader.readAsText(file);if(input)input.value=""};updateCsvWizard(patch){if(this.csvWizard===null)return;this.csvWizard={...this.csvWizard,...patch}}cancelCsvWizard=()=>{this.csvWizard=null;this.restoreCsvWizardFocus()};confirmCsvWizard=()=>{const w=this.csvWizard;if(w===null)return;this.applyCsvImport(w.text,{delimiter:w.delimiter==="auto"?void 0:w.delimiter,hasHeader:w.hasHeader});this.csvWizard=null;this.restoreCsvWizardFocus()};restoreCsvWizardFocus(){this.csvWizardFocused=false;const btn=this.csvImportButtonEl;if(btn!==null&&typeof btn.focus==="function")btn.focus()}maybeFocusCsvWizard(){if(this.csvWizard===null||this.csvWizardFocused)return;const dialog=this.csvWizardEl;if(dialog===null)return;this.csvWizardFocused=true;const first=dialog.querySelector('input, select, button:not([disabled]), [tabindex]:not([tabindex="-1"])');(first??dialog).focus()}handleCsvWizardKeyDown=event=>{if(event.key!=="Tab")return;const dialog=this.csvWizardEl;if(dialog===null)return;const focusables=Array.from(dialog.querySelectorAll('input, select, button:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(el=>el.offsetParent!==null||el===dialog);if(focusables.length===0)return;const first=focusables[0];const last=focusables[focusables.length-1];const active=this.host.shadowRoot?.activeElement??document.activeElement;if(event.shiftKey&&active===first){event.preventDefault();last.focus()}else if(!event.shiftKey&&active===last){event.preventDefault();first.focus()}};async getDataAsPdf(options={}){return this.proMethod("getDataAsPdf",{load:()=>this.loadExportPdfChunk(),exec:async(pdf,check)=>{const input=await this.createPdfExportInput(pdf,options);check();return pdf.getDataAsPdf(input)}})}async exportDataAsPdf(options={}){const doc=this.host?.ownerDocument??document;return this.proMethod("exportDataAsPdf",{load:()=>this.loadExportPdfChunk(),exec:async(pdf,check)=>{const input=await this.createPdfExportInput(pdf,options);check();return{pdf,input,result:pdf.getDataAsPdf(input)}},publish:({pdf,input,result})=>{pdf.downloadPdfResult(result,input.fileName,doc);return result}})}async createPdfExportInput(pdf,options={}){const columns=this.collectExportColumns();const rows=this.collectExportRows();const input={...options,columns,rows};return this.withAutoPdfFont(pdf,input,columns,rows,options)}async withAutoPdfFont(pdf,input,columns,rows,options){if(input.fontBytes||options.autoFont===false||this.pdfAutoFont===false)return input;const texts=this.collectPdfFontProbeTexts(input,columns,rows);if(!pdf.needsEmbeddedPdfFont(texts))return input;const resolved=await pdf.resolveBrowserPdfFont({texts,fontUrl:options.fontUrl??this.pdfFontUrl,fontBaseName:input.fontBaseName});if(!resolved){throw new 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{...input,fontBytes:resolved.bytes,fontBaseName:input.fontBaseName??resolved.name}}collectPdfFontProbeTexts(options,columns,rows){const texts=[options.title??"",options.footer??"","Page 0123456789 of total"];for(const col of columns)texts.push(col.headerName??col.field);for(let r=0;r<rows.length;r++){const row=rows[r];for(const col of columns){const value=readOwnFieldPath(row,col.field);if(value!==null&&value!==void 0)texts.push(String(value))}}return texts}collectExportColumns(){const sourceColumns=this.columnDefs??[];const visible=[];for(let i=0;i<sourceColumns.length;i++){const c=sourceColumns[i];if(c.hidden===true||c.hide===true)continue;visible.push({field:c.field,headerName:c.headerName,width:typeof c.width==="number"&&c.width>0?c.width:void 0,valueGetter:c.valueGetter,valueFormatter:c.valueFormatter})}return visible}collectExportRows(){return this.maskRowsForRead((this.rowData??[]).slice(),this.resolvedColumnDefs())}async importDataFromXlsx(source,options={}){const xlsx=await this.loadImportXlsxChunk();const result=await xlsx.parseXlsx(source);const target=xlsx.pickXlsxSheet(result,options.sheetName);if(target){const snapshotOptions={preserveFormulas:this.formulas===true,...options.snapshot};const snapshot=xlsx.xlsxSheetToRowData(target,result.styles,snapshotOptions);this.xlsxImported.emit({sheetName:target.meta.name,snapshot,workbookSheetCount:result.workbook.sheets.length})}return result}async getContextMenuItems(target){return this.proRun("getContextMenuItems",()=>{const rows=this.rowData??[];const columns=this.columnDefs??[];return buildContextMenuItems({rowIndex:target?.rowIndex??-1,field:target?.field,row:rows[target?.rowIndex??-1],rows,columns})})}buildContextMenuCtx(rowIndex,field){const rows=this.rowData??[];const columns=this.columnDefs??[];return{rowIndex,field,row:rows[rowIndex],rows,columns}}openContextMenu(rowIndex,field,event){if(this.contextMenu!==true||!this.usingColumnDefsApi())return;if(!this.proNewWorkAllowed("grid.context-menu","contextMenu"))return;const panels=this.proUiChunks["pro-panels"];if(panels===void 0)return;event.preventDefault();event.stopPropagation();const ctx=this.buildContextMenuCtx(rowIndex,field);const items=panels.contextMenuItemsFor(this.proPanelsHost(),ctx);if(!Array.isArray(items)||items.length===0)return;const estWidth=200;const estHeight=items.length*32+12;const vw=typeof window!=="undefined"?window.innerWidth:1024;const vh=typeof window!=="undefined"?window.innerHeight:768;const x=Math.min(event.clientX,Math.max(0,vw-estWidth));const y=Math.min(event.clientY,Math.max(0,vh-estHeight));const active=this.host?.shadowRoot?.activeElement??document.activeElement;this.contextMenuReturnFocus=active&&this.host?.contains(active)?active:null;this.contextMenuFocused=false;this.contextMenuState={x,y,items,ctx}}closeContextMenu(){if(this.contextMenuState===null)return;this.contextMenuState=null;this.contextMenuFocused=false;const target=this.contextMenuReturnFocus;this.contextMenuReturnFocus=null;if(target!==null&&typeof target.focus==="function"&&this.host?.contains(target)){target.focus()}}maybeFocusContextMenu(){if(this.contextMenuState===null||this.contextMenuFocused)return;const menu=this.contextMenuEl;if(menu===null)return;this.contextMenuFocused=true;const items=this.enabledContextMenuItems(menu);if(items.length>0)items[0].focus();else menu.focus()}enabledContextMenuItems(menu){return Array.from(menu.querySelectorAll(".sy-grid__context-menu-item:not([disabled])"))}handleContextMenuKeyDown=event=>{const menu=this.contextMenuEl;if(menu===null)return;const key=event.key;if(key==="Tab"){event.preventDefault();this.closeContextMenu();return}if(key!=="ArrowDown"&&key!=="ArrowUp"&&key!=="Home"&&key!=="End")return;event.preventDefault();const items=this.enabledContextMenuItems(menu);if(items.length===0)return;const active=this.host?.shadowRoot?.activeElement??document.activeElement;const current=items.findIndex(el=>el===active);let next;if(key==="Home")next=0;else if(key==="End")next=items.length-1;else if(key==="ArrowDown")next=current<0?0:(current+1)%items.length;else next=current<0?items.length-1:(current-1+items.length)%items.length;items[next].focus()};renderCsvWizard(){const w=this.csvWizard;if(w===null)return null;const messages=this.resolvedMessages;let preview={columns:[],rows:[]};try{const parsed=csvToGrid(w.text,{delimiter:w.delimiter==="auto"?void 0:w.delimiter,hasHeader:w.hasHeader});preview={columns:parsed.columns.slice(0,12),rows:parsed.rowData.slice(0,5)}}catch{}return h("div",{class:"sy-grid__csv-wizard-overlay",role:"dialog","aria-modal":"true","aria-label":messages["csvImport.title"],tabindex:"-1",ref:el=>{this.csvWizardEl=el??null},onKeyDown:this.handleCsvWizardKeyDown},h("div",{class:"sy-grid__csv-wizard"},h("div",{class:"sy-grid__csv-wizard-head"},h("strong",null,messages["csvImport.title"]),h("span",{class:"sy-grid__csv-wizard-file"},w.fileName)),h("div",{class:"sy-grid__csv-wizard-controls"},h("label",{class:"sy-grid__csv-wizard-check"},h("input",{type:"checkbox",checked:w.hasHeader,onChange:e=>this.updateCsvWizard({hasHeader:e.target.checked})}),messages["csvImport.firstRowHeader"]),h("label",{class:"sy-grid__csv-wizard-delim"},messages["csvImport.delimiter"],h("select",{onChange:e=>this.updateCsvWizard({delimiter:e.target.value})},h("option",{value:"auto",selected:w.delimiter==="auto"},messages["csvImport.delimiterAuto"]),h("option",{value:",",selected:w.delimiter===","},","),h("option",{value:";",selected:w.delimiter===";"},";"),h("option",{value:" ",selected:w.delimiter===" "},"Tab"),h("option",{value:"|",selected:w.delimiter==="|"},"|")))),h("div",{class:"sy-grid__csv-wizard-preview"},h("table",null,h("thead",null,h("tr",null,preview.columns.map(c=>h("th",null,c.headerName)))),h("tbody",null,preview.rows.map(row=>h("tr",null,preview.columns.map(c=>h("td",null,String(readOwnFieldPath(row,c.field)??"")))))))),h("div",{class:"sy-grid__csv-wizard-actions"},h("button",{type:"button",class:"sy-grid__toolbar-button",onClick:this.cancelCsvWizard},messages["csvImport.cancel"]),h("button",{type:"button",class:"sy-grid__toolbar-button sy-grid__toolbar-button--primary",disabled:preview.columns.length===0,onClick:this.confirmCsvWizard},messages["csvImport.import"]))))}cfBuilder=null;toggleCfBuilder=()=>{void this.getChunkLoader().load("conditional-format").then(chunk=>{this.cfBuilder=chunk;this.cfBuilder.toggleCfBuilder(this)}).catch(()=>void 0)};renderConditionalFormatBuilder(){return this.cfBuilderOpen&&this.cfBuilder!==null?this.cfBuilder.renderConditionalFormatBuilder(this,h):null}renderContextMenu(){const panels=this.contextMenu===true&&this.usingColumnDefsApi()&&this.proAllowed("grid.context-menu","contextMenu")?this.proUiChunk("pro-panels","grid.context-menu","contextMenu"):null;if(panels==null||this.contextMenuState===null)return null;return panels.renderContextMenu(this.proPanelsHost())}async copyCellAt(rowIndex,field){const rows=this.getDisplayRows();const columns=this.effectiveColumns();if(rowIndex<0||rowIndex>=rows.length)return false;const colIndex=columns.findIndex(column=>column.field===field);if(colIndex<0||this.copyableDataRowAt(rows,rowIndex)===null)return false;const text=escapeTsvCell(this.cellDisplayText(rowIndex,colIndex,rows,columns),{escapeFormulae:this.clipboardEscapeFormulae});return copyTextToClipboard(text)}async copyRowAt(rowIndex){const rows=this.getDisplayRows();const columns=this.effectiveColumns();if(rowIndex<0||rowIndex>=rows.length)return false;const tsv=serializeManyBoundsToTsv([{top:rowIndex,left:0,bottom:rowIndex,right:columns.length-1}],(row,col)=>this.cellDisplayText(row,col,rows,columns),row=>this.copyableDataRowAt(rows,row)!==null,{escapeFormulae:this.clipboardEscapeFormulae});if(tsv==="")return false;return copyTextToClipboard(tsv)}async getCellTooltipText(target){const rows=this.getDisplayRows();const columns=this.effectiveColumns();if(!target||target.rowIndex<0||target.rowIndex>=rows.length)return"";const column=columns.find(c=>c.field===target.field);if(!column)return"";const displayedRow=rows[target.rowIndex];let sourceRow=isPivotRowGroupMarker(displayedRow)||isPivotGrandTotalRow(displayedRow)||this.isPivotSubtotalDisplayRow(displayedRow)?displayedRow:this.copyableDataRowAt(rows,target.rowIndex);if(sourceRow===null)return"";if(this.readPolicyConfigured()){const col=column;const raw=this.cellRawValue(sourceRow,target.rowIndex,col);if(!this.isCellReadable(raw,sourceRow,target.rowIndex,col)){return this.maskedCellValue}sourceRow=this.maskDeniedFields(sourceRow,target.rowIndex,columns)}return getCellTooltipText({row:sourceRow,rowIndex:target.rowIndex,column,displayedText:target.displayedText,isOverflowing:target.isOverflowing,locale:typeof this.locale==="string"?this.locale:"en",context:this.context,api:this.host})}async getUndoRedoDepth(){return this.undoRedoStack.getDepth()}async setColumnWidth(colId,width){if(typeof colId!=="string"||colId.length===0){console.warn("[SG:COL] width bad id; reject");return}if(typeof width!=="number"||!Number.isFinite(width)){console.warn("[SG:COL] width nonfinite; reject");return}const cols=this.resolvedColumnDefs();const col=cols.find(c=>c.field===colId);let clamped=width;const lo=this.resolveProgrammaticColumnMinWidth(col);const hi=this.resolveColumnMaxWidth(col,lo);if(clamped<lo){console.warn(`[SG:COL] width=${width} id=${colId} <min=${lo}; clamp`);clamped=lo}else if(clamped>hi){console.warn(`[SG:COL] width=${width} id=${colId} >max=${hi}; clamp`);clamped=hi}const oldWidth=this.resolveEffectiveColumnWidth(colId);const next=new Map(this.columnWidths);next.set(colId,clamped);this.columnWidths=next;this.alignedNotify();this.columnResized.emit({colId,oldWidth:oldWidth??clamped,newWidth:clamped,wasClamped:false});if(!Object.is(oldWidth,clamped)){this.publishLiveObjectChange("column",col?this.liveColumnId(col):colId,"widthChanged","api",{before:oldWidth,after:clamped})}}async resetColumnWidth(colId){if(typeof colId!=="string"||colId.length===0){console.warn("[SG:COL] reset width bad id; reject");return}const live=this.columnWidths.get(colId);if(typeof live!=="number"){return}const cols=this.resolvedColumnDefs();const col=cols.find(c=>c.field===colId);const fallback=col&&typeof col.width==="number"?col.width:null;const next=new Map(this.columnWidths);next.delete(colId);this.columnWidths=next;this.alignedNotify();if(fallback===null||fallback!==live){this.columnResized.emit({colId,oldWidth:live,newWidth:fallback??live,wasClamped:false})}this.publishLiveObjectChange("column",col?this.liveColumnId(col):colId,"widthChanged","api",{before:live,after:fallback})}async getColumnWidth(colId){if(typeof colId!=="string"||colId.length===0)return null;const live=this.columnWidths.get(colId);if(typeof live==="number")return live;const cols=this.resolvedColumnDefs();const col=cols.find(c=>c.field===colId);if(!col||typeof col.width!=="number")return null;return col.width}resolveEffectiveColumnWidth(colId){const live=this.columnWidths.get(colId);if(typeof live==="number")return live;const cols=this.resolvedColumnDefs();const col=cols.find(c=>c.field===colId);if(!col||typeof col.width!=="number")return null;return col.width}resolveProgrammaticColumnMinWidth(col){if(col&&typeof col.minWidth==="number"&&Number.isFinite(col.minWidth)&&col.minWidth>=0){return Math.max(this.minimumColumnWidth,col.minWidth)}return this.minimumColumnWidth}resolveInteractiveColumnMinWidth(col){return Math.max(this.interactiveColumnMinWidth,this.resolveProgrammaticColumnMinWidth(col))}resolveColumnMaxWidth(col,minWidth){if(col&&typeof col.maxWidth==="number"&&Number.isFinite(col.maxWidth)&&col.maxWidth>=minWidth){return col.maxWidth}return Number.POSITIVE_INFINITY}columnLayoutStyle(col){const style={};const colKey=col.colId??col.field;const liveWidth=this.columnWidths.get(colKey);const effectiveWidth=typeof liveWidth==="number"?liveWidth:col.width;if(effectiveWidth!=null){const width=`${effectiveWidth}px`;style.width=width;style.flex=`0 0 ${width}`}else if(col.flex!=null){style.flex=`${col.flex} 1 0`}if(col.minWidth!=null)style.minWidth=`${col.minWidth}px`;if(col.maxWidth!=null)style.maxWidth=`${col.maxWidth}px`;return style}shouldHideHeaderControls(col){const colKey=col.colId??col.field;const liveWidth=this.columnWidths.get(colKey);const effectiveWidth=typeof liveWidth==="number"?liveWidth:typeof col.width==="number"?col.width:null;return effectiveWidth!==null&&effectiveWidth<this.compactHeaderControlsWidth}columnResizeGuideXFromHandle(handleEl){const grid=this.host.querySelector(".sy-grid__grid");const cell=handleEl?.parentElement??null;if(!grid||!cell||typeof grid.getBoundingClientRect!=="function"){return null}const gridRect=grid.getBoundingClientRect();const cellRect=cell.getBoundingClientRect();const x=cellRect.right-gridRect.left;return Number.isFinite(x)?x:null}columnResizeWidthFromHandle(handleEl){const cell=handleEl?.parentElement??null;if(!cell||typeof cell.getBoundingClientRect!=="function")return null;const width=cell.getBoundingClientRect().width;return Number.isFinite(width)&&width>0?width:null}showColumnResizeGuide(colId,handleEl){const x=this.columnResizeGuideXFromHandle(handleEl);if(x===null)return;if(this.columnResizeGuide?.colId===colId&&this.columnResizeGuide.x===x)return;this.columnResizeGuide={colId,x}}hideColumnResizeGuide(colId){if(this.columnResizeController.isActive())return;if(this.columnResizeGuide?.colId!==colId)return;this.columnResizeGuide=null}handleColumnResizePointerDown(event,colId){event.preventDefault();event.stopPropagation();const handleEl=event.currentTarget;this.showColumnResizeGuide(colId,handleEl);const startWidth=this.resolveEffectiveColumnWidth(colId)??this.columnResizeWidthFromHandle(handleEl)??0;this.columnResizeGuideStartX=this.columnResizeGuide?.colId===colId?this.columnResizeGuide.x:this.columnResizeGuideXFromHandle(handleEl);this.columnResizeGuideStartWidth=startWidth;const cols=this.resolvedColumnDefs();const col=cols.find(c=>c.field===colId);const colMin=this.resolveInteractiveColumnMinWidth(col);const colMax=this.resolveColumnMaxWidth(col,colMin);this.columnResizeController.start({colId,startWidth,startX:event.clientX,minWidth:colMin,maxWidth:Number.isFinite(colMax)?colMax:void 0});if(handleEl&&typeof handleEl.setPointerCapture==="function"){try{handleEl.setPointerCapture(event.pointerId)}catch{}}this.columnResizePointerId=event.pointerId;this.columnResizeHandleEl=handleEl;if(typeof document!=="undefined"&&document.body){document.body.style.cursor="col-resize"}const escHandler=ev=>{if(ev.key==="Escape"&&this.columnResizeController.isActive()){ev.preventDefault();this.cancelColumnResize()}};this.columnResizeEscHandler=escHandler;if(typeof document!=="undefined"){document.addEventListener("keydown",escHandler,true)}}handleColumnResizePointerMove(event){if(!this.columnResizeController.isActive())return;const result=this.columnResizeController.move({x:event.clientX});if(result===null)return;const next=new Map(this.columnWidths);next.set(result.colId,result.width);this.columnWidths=next;this.alignedNotify();if(this.columnResizeGuide?.colId===result.colId&&this.columnResizeGuideStartX!==null&&this.columnResizeGuideStartWidth!==null){this.columnResizeGuide={colId:result.colId,x:this.columnResizeGuideStartX+(result.width-this.columnResizeGuideStartWidth)}}}handleColumnResizePointerUp(_event){if(!this.columnResizeController.isActive())return;this.commitColumnResize()}handleColumnResizePointerCancel(_event){if(!this.columnResizeController.isActive())return;this.cancelColumnResize()}commitColumnResize(){const active=this.columnResizeController.getActive();const wasClamped=active!==null&&active.wasClamped===true;const result=this.columnResizeController.commit();if(result!==null){const next=new Map(this.columnWidths);next.set(result.colId,result.newWidth);this.columnWidths=next;this.alignedNotify();this.columnResized.emit({colId:result.colId,oldWidth:result.oldWidth,newWidth:result.newWidth,wasClamped});const column=this.resolvedColumnDefs().find(candidate=>candidate.field===result.colId);this.publishLiveObjectChange("column",column?this.liveColumnId(column):result.colId,"widthChanged","ui",{before:result.oldWidth,after:result.newWidth})}this.teardownColumnResizeDrag()}cancelColumnResize(){const result=this.columnResizeController.revert();if(result!==null){const next=new Map(this.columnWidths);const cols=this.resolvedColumnDefs();const col=cols.find(c=>c.field===result.colId);if(col&&col.width===result.startWidth){next.delete(result.colId)}else{next.set(result.colId,result.startWidth)}this.columnWidths=next;this.alignedNotify()}this.teardownColumnResizeDrag()}teardownColumnResizeDrag(){if(this.columnResizeHandleEl&&this.columnResizePointerId!==null){try{if(typeof this.columnResizeHandleEl.releasePointerCapture==="function"){this.columnResizeHandleEl.releasePointerCapture(this.columnResizePointerId)}}catch{}}this.columnResizePointerId=null;this.columnResizeHandleEl=null;this.columnResizeGuide=null;this.columnResizeGuideStartX=null;this.columnResizeGuideStartWidth=null;if(this.columnResizeEscHandler&&typeof document!=="undefined"){document.removeEventListener("keydown",this.columnResizeEscHandler,true)}this.columnResizeEscHandler=null;if(typeof document!=="undefined"&&document.body){document.body.style.cursor=""}}applyColumnOrder(source){const order=this.columnOrder;if(order===null)return source;const byField=new Map(source.map(c=>[c.field,c]));const out=[];for(let i=0;i<order.length;i++){const col=byField.get(order[i]);if(col){out.push(col);byField.delete(order[i])}}if(byField.size>0){for(const col of byField.values()){out.push(col)}}return out}effectiveColumns(){return this.applyColumnVisibility(applyColumnPinning(this.applyColumnOrder(this.resolvedColumnDefs()),this.columnPinned))}pinSideOf(col){return effectivePinSide(col,this.columnPinned)}pinnedWidthOf=col=>{const key=col.colId??col.field;const live=this.columnWidths.get(key);if(typeof live==="number")return live;return typeof col.width==="number"?col.width:null};totalColumnsWidthPx(){let total=this.shouldRenderCheckboxColumn()?SELECTION_CHECKBOX_COLUMN.width:0;for(const col of this.effectiveColumns()){const width=this.pinnedWidthOf(col);if(width===null)return null;total+=width}return total}pinnedOffsetsContext(cols,checkboxOffset){const leftCols=cols.filter(col=>this.pinSideOf(col)==="left");const rightCols=cols.filter(col=>this.pinSideOf(col)==="right");if(leftCols.length===0&&rightCols.length===0)return null;const left=leftCols.length>0?computePinnedOffsets(leftCols,"left",this.pinnedWidthOf,checkboxOffset):null;const right=rightCols.length>0?computePinnedOffsets(rightCols,"right",this.pinnedWidthOf,0):null;return{left,right,lastLeft:leftCols.length>0?leftCols[leftCols.length-1].field:void 0,firstRight:rightCols.length>0?rightCols[0].field:void 0}}async setColumnPinned(field,side){const column=this.resolvedColumnDefs().find(col=>col.field===field);if(!column){console.warn(`[SG:COL] pin bad field=${field}; reject`);return}if(side!=="left"&&side!=="right"&&side!==null){console.warn(`[SG:COL] pin bad side=${String(side)}; reject`);return}const before=this.pinSideOf(column);if(before===side)return;const next=new Map(this.columnPinned);next.set(field,side);this.columnPinned=next;this.alignedNotify();this.publishLiveObjectChange("column",this.liveColumnId(column),"pinnedChanged","api",{before,after:side})}async getColumnPinned(field){const col=this.resolvedColumnDefs().find(c=>c.field===field);return col?this.pinSideOf(col):null}effectiveColumnIds(){return applyColumnPinning(this.applyColumnOrder(this.resolvedColumnDefs()),this.columnPinned).map(c=>c.field)}async setColumnOrder(orderedColIds){if(!Array.isArray(orderedColIds)){console.warn("[SG:COL] order not array; reject");return}const currentIds=this.effectiveColumnIds();if(orderedColIds.length!==currentIds.length){console.warn(`[SG:COL] order count=${orderedColIds.length}/${currentIds.length}; reject`);return}const known=new Set(currentIds);const seen=new Set;for(let i=0;i<orderedColIds.length;i++){const id=orderedColIds[i];if(typeof id!=="string"||!known.has(id)){console.warn(`[SG:COL] order bad id=${String(id)}; reject`);return}if(seen.has(id)){console.warn(`[SG:COL] order dup id=${id}; reject`);return}seen.add(id)}let changed=false;let firstChangedColId=null;for(let i=0;i<orderedColIds.length;i++){if(orderedColIds[i]!==currentIds[i]){changed=true;if(firstChangedColId===null)firstChangedColId=orderedColIds[i]}}const orderBefore=currentIds.slice();const orderAfter=orderedColIds.slice();this.columnOrder=orderAfter.slice();this.alignedNotify();if(changed&&firstChangedColId!==null){const originIndex=orderBefore.indexOf(firstChangedColId);const finalIndex=orderAfter.indexOf(firstChangedColId);this.columnReordered.emit({colId:firstChangedColId,originIndex,finalIndex,orderBefore,orderAfter})}}async getColumnOrder(){return this.effectiveColumnIds()}guardHideableColumns(method){if(!this.columnHidingActive()){console.warn(`[SG:COL] hide=${method}; flag off; ignore`);return false}return true}applyColumnVisibility(source){const hiddenSet=this.columnHidden;if(hiddenSet.size===0)return source;return source.filter(c=>!hiddenSet.has(c.field))}async hideColumn(colId){if(!this.guardHideableColumns("hideColumn"))return;this.columnVisibilityController.hide(colId)}async showColumn(colId){if(!this.guardHideableColumns("showColumn"))return;this.columnVisibilityController.show(colId)}async toggleColumnVisibility(colId){if(!this.guardHideableColumns("toggleColumnVisibility")){return this.columnVisibilityController.isHidden(colId)}return this.columnVisibilityController.toggle(colId)}async setHiddenColumns(colIds){if(!this.guardHideableColumns("setHiddenColumns"))return;this.columnVisibilityController.setHidden(colIds)}async resetColumnVisibility(){if(!this.guardHideableColumns("resetColumnVisibility"))return;this.columnVisibilityController.reset()}async getHiddenColumns(){return Array.from(this.columnVisibilityController.getHidden())}async autoSizeColumn(colId){if(typeof colId!=="string"||colId.length===0){console.warn("[SG:COL] auto bad id; reject");return null}if(this.resizableColumns!==true){console.warn("[SG:COL] auto flag off; reject");return null}const cols=this.resolvedColumnDefs();const col=cols.find(c=>c.field===colId);if(!col){console.warn(`[SG:COL] auto bad id=${colId}; reject`);return null}const result=this.computeAutoSizeWidth(col);if(result===null||!(result.finalWidth>0))return null;await this.setColumnWidth(colId,result.finalWidth);return result.finalWidth}async autoSizeAllColumns(){if(this.resizableColumns!==true){console.warn("[SG:COL] auto-all flag off; reject");return}const cols=this.effectiveColumns();for(let i=0;i<cols.length;i++){const col=cols[i];if(typeof col.field!=="string"||col.field.length===0)continue;if(col.resizable===false)continue;await this.autoSizeColumn(col.field)}}async getColumnState(){const pinnedSides=new Map;for(const col of this.resolvedColumnDefs()){if(typeof col.field!=="string"||col.field==="")continue;const side=this.pinSideOf(col);if(side)pinnedSides.set(col.field,side)}return computeColumnState({fields:this.resolvedColumnDefs().map(c=>c.field).filter(Boolean),columnWidths:this.columnWidths,columnOrder:this.columnOrder,columnHidden:this.columnHidden,activeSort:null,sortModel:this.activeSortModel,pinnedSides})}async applyColumnState(state,opts){const result=computeApplyColumnState(state,opts);const stateFields=new Set;for(let i=0;i<state.length;i++){stateFields.add(state[i].field)}for(const[field,width]of result.widths){if(width===null){await this.resetColumnWidth(field)}else{await this.setColumnWidth(field,width)}}for(const[field,hidden]of result.visibility){if(hidden){await this.hideColumn(field)}else{await this.showColumn(field)}}if(result.order!==null){const currentIds=this.effectiveColumnIds();const currentSet=new Set(currentIds);const seen=new Set;const nextOrder=[];for(let i=0;i<result.order.length;i++){const field=result.order[i];if(!currentSet.has(field)||seen.has(field))continue;nextOrder.push(field);seen.add(field)}for(let i=0;i<currentIds.length;i++){const field=currentIds[i];if(!seen.has(field)){nextOrder.push(field);seen.add(field)}}await this.setColumnOrder(nextOrder)}const sortableFields=new Set(this.resolvedColumnDefs().filter(col=>col.sortable!==false&&typeof col.field==="string"&&col.field!=="").map(col=>col.field));const restored=result.sortModel.filter(entry=>sortableFields.has(entry.field)).map(entry=>({...entry}));const restoredFields=new Set(restored.map(entry=>entry.field));for(const entry of this.activeSortModel){if(!stateFields.has(entry.field)&&!restoredFields.has(entry.field)){restored.push({...entry})}}if(!sortModelsEqual(restored,this.activeSortModel)){this.applySortModel(restored,"state")}for(const[field,side]of result.pinned){await this.setColumnPinned(field,side)}}initialState;pendingStateUiRestore=null;pendingStateUiSlices=new Set;gridStateCaptureInput(){const pinnedSides=new Map;const aggFuncs=new Map;for(const col of this.resolvedColumnDefs()){if(typeof col.field!=="string"||col.field==="")continue;const side=this.pinSideOf(col);if(side)pinnedSides.set(col.field,side);if(typeof col.aggFunc==="string"&&col.aggFunc!==""){aggFuncs.set(col.field,col.aggFunc)}}const groupBy=this.groupBy;const rowGroupFields=typeof groupBy==="string"?groupBy===""?[]:[groupBy]:Array.isArray(groupBy)?groupBy.filter(field=>typeof field==="string"&&field!==""):[];const facadeSnapshot=this.filterFacade?.getSerializableModels()??null;return{find:this.proUiChunks["pro-panels"]?.captureFindUi(this.findHost()),columns:{fields:this.resolvedColumnDefs().map(c=>c.field).filter(Boolean),columnWidths:this.columnWidths,columnOrder:this.columnOrder,columnHidden:this.columnHidden,activeSort:null,sortModel:this.activeSortModel,pinnedSides,aggFuncs,rowGroupFields,pivotRowGroupFields:this.pivotRowGroupColumns??[],pivotMode:this.pivotMode===true,pivotFields:this.pivotColumns??[],valueFields:this.pivotValueColumns??[],collapsedGroupIds:this.collapsedGroups},filter:{activeFilters:this.activeFilters,customModels:facadeSnapshot?.models??null,customModelErrors:facadeSnapshot?.errors?.map(error=>String(error))??[],quickFilter:this.quickFilterValue===""?null:this.quickFilterValue,conditionTree:this.activeConditionTree,externalFilterActive:this.externalFilter!=null},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:this.pinnedRowsFacade!==null?this.pinnedRowsFacade.toSlice():void 0}}}async getState(){return buildGridState(this.gridStateCaptureInput()).state}async setState(state,options){this.initialStateLicenseFeatures=null;const migration=migrateGridState(state);if(!migration.ok||migration.state===null){return{ok:false,issues:migration.issues,appliedSlices:[],requestedAbsentSlices:[],unrestorableSlices:[],columns:null,filter:null,rows:null,uiUnavailable:[],afterDataPending:false,appliedMigrations:migration.appliedMigrations,droppedSlices:migration.droppedSlices}}const notApplied=refusedPlan=>({...summarizeGridStatePlan(refusedPlan,false),appliedMigrations:migration.appliedMigrations,droppedSlices:migration.droppedSlices});let plan=planGridStateApply(migration.state,this.gridStateApplyContexts(),options);if(!plan.ok)return notApplied(plan);let requirements=scanGridStateProRequirements(plan,migration.state);if(requirements.length>0){if(this.proGate().awaiting(gridStateRequirementFeatures(requirements))){await this.proGate().settle(gridStateRequirementFeatures(requirements));plan=planGridStateApply(migration.state,this.gridStateApplyContexts(),options);if(!plan.ok)return notApplied(plan);requirements=scanGridStateProRequirements(plan,migration.state)}const refused=this.proGate().refuseRequest(gridStateRequirementFeatures(requirements),"setState");if(refused.length>0){return notApplied(refusedGridStatePlan(plan,gridStateLicenseIssues(requirements,refused)))}const moduleStep=await this.proFiltersModuleStep(requirements,"setState");if(moduleStep.issues.length>0)return notApplied(refusedGridStatePlan(plan,moduleStep.issues));if(moduleStep.awaited){plan=planGridStateApply(migration.state,this.gridStateApplyContexts(),options);if(!plan.ok)return notApplied(plan);requirements=scanGridStateProRequirements(plan,migration.state);const refusedAgain=this.proGate().refuseRequest(gridStateRequirementFeatures(requirements),"setState");if(refusedAgain.length>0){return notApplied(refusedGridStatePlan(plan,gridStateLicenseIssues(requirements,refusedAgain)))}}}await this.executeGridStatePlan(plan);this.noteStateBatchSource("restore",plan.appliedSlices);return{...summarizeGridStatePlan(plan,this.pendingStateUiRestore!==null),appliedMigrations:migration.appliedMigrations,droppedSlices:migration.droppedSlices}}gridStateApplyContexts(){const fields=this.resolvedColumnDefs().map(c=>c.field).filter(Boolean);if(this.pivotModeActive()&&this.pivotComputation()!==null){for(const col of this.declaredColumnDefs()){if(typeof col.field==="string"&&col.field!==""&&!fields.includes(col.field)){fields.push(col.field)}}}const customFilterColumnIds=this.filterFacade===null?new Set:new Set(fields);const displayRows=this.getDisplayRows();const remote=this.componentFilterExecutionMode()!=="client";let liveRowIds=null;if(!remote){const ids=new Set;const source=Array.isArray(this.rowData)?this.rowData:[];for(const row of source){const id=this.undoableRowId(row);if(id!==null)ids.add(id)}liveRowIds=ids}return{liveFields:fields,findAvailable:this.find===true,filter:{fields,customFilterColumnIds},rows:{liveRowIds,liveTreeNodePaths:null,pivotModeActive:this.pivotMode===true,rowCount:displayRows.length,columnCount:this.effectiveColumns().length},ui:{rowCount:displayRows.length,columnCount:this.effectiveColumns().length,pinnedRowsSupported:true}}}async executeGridStatePlan(plan){const applied=new Set(plan.appliedSlices);if(plan.find)this.proUiChunks["pro-panels"].restoreFindUi(this.findHost(),plan.find);const columns=plan.columns;if(columns&&applied.has("columns")){for(const[field,width]of columns.columnState.widths){if(width===null)await this.resetColumnWidth(field);else await this.setColumnWidth(field,width)}for(const[field,hidden]of columns.columnState.visibility){if(hidden)await this.hideColumn(field);else await this.showColumn(field)}if(columns.columnState.order!==null){await this.setColumnOrder([...columns.columnState.order])}const sortableFields=new Set(this.resolvedColumnDefs().filter(col=>col.sortable!==false&&typeof col.field==="string"&&col.field!=="").map(col=>col.field));const restoredSort=columns.columnState.sortModel.filter(entry=>sortableFields.has(entry.field)).map(entry=>({...entry}));if(!sortModelsEqual(restoredSort,this.activeSortModel)){this.applySortModel(restoredSort,"state")}for(const[field,side]of columns.columnState.pinned){await this.setColumnPinned(field,side)}if(columns.aggFuncs.size>0&&Array.isArray(this.columnDefs)){let aggChanged=false;const nextDefs=this.columnDefs.map(def=>{if(!("field"in def)||typeof def.field!=="string")return def;if(!columns.aggFuncs.has(def.field))return def;const want=columns.aggFuncs.get(def.field)??null;const current=typeof def.aggFunc==="string"&&def.aggFunc!==""?def.aggFunc:null;if(current===want)return def;aggChanged=true;return{...def,aggFunc:want??void 0}});if(aggChanged)this.columnDefs=nextDefs}this.groupBy=columns.rowGroupFields.length>0?[...columns.rowGroupFields]:void 0;this.pivotMode=columns.pivotMode;this.pivotRowGroupColumns=columns.pivotRowGroupFields.length>0?[...columns.pivotRowGroupFields]:void 0;this.pivotColumns=columns.pivotFields.length>0?[...columns.pivotFields]:void 0;this.pivotValueColumns=columns.valueFields.length>0?[...columns.valueFields]:void 0;this.collapsedGroups=new Set(columns.collapsedGroupIds)}const filter=plan.filter;if(filter&&applied.has("filter")){this.activeFilters={...filter.builtIn};this.quickFilterValue=filter.quickFilter??"";this.activeConditionTree=filter.conditionTree;const customModelIds=Object.keys(filter.customModels);if(customModelIds.length>0&&this.filterFacade!==null){await this.filterFacade.setFilterModels(filter.customModels,{clearUnspecified:false,source:"restore"})}}const rows=plan.rows;if(rows){if(applied.has("rowGrouping")){this.collapsedRowGroups=new Set(rows.collapsedGroupRoutes)}if(applied.has("pivot")){this.pivotCollapsedRowGroups=new Set(rows.pivotCollapsedGroupRoutes)}if(applied.has("expansion")){this.collapsedTreeNodes=new Set(rows.collapsedTreeNodePaths);this.expandedDetailRows=new Set(rows.expandedDetailRowIds)}if(applied.has("selection")){const previous=this.selectionState;const next={mode:rows.selection.mode,selectedRowIds:new Set(rows.selection.ids)};this.rangeAnchorRowId=null;this.selectionState=next;const diff=diffSelection(previous,next);if(diff.addedIds.length>0||diff.removedIds.length>0){this.fireSelectionChanged({mode:next.mode,selectedRowIds:Array.from(next.selectedRowIds),addedIds:diff.addedIds,removedIds:diff.removedIds},"api")}this.rangeState={ranges:rows.ranges.map(range=>({...range})),dragging:null}}}const ui=plan.ui;if(ui){if(applied.has("sideBar")){this.openToolPanelId=ui.immediate.sideBar.openPanelId}if(applied.has("pagination")){this.activePagination={pageIndex:ui.immediate.pagination.pageIndex,pageSize:ui.immediate.pagination.pageSize}}const wantsAfterData=applied.has("scroll")||applied.has("focus")||applied.has("pinnedRows")&&ui.afterData.pinnedRows!==null;if(wantsAfterData){this.pendingStateUiRestore=ui.afterData;this.pendingStateUiSlices=new Set(["scroll","focus","pinnedRows"].filter(key=>applied.has(key)));this.maybeApplyPendingStateUiRestore()}}}maybeApplyPendingStateUiRestore(){const pending=this.pendingStateUiRestore;if(pending===null)return;if(this.getDisplayRows().length===0)return;this.pendingStateUiRestore=null;if(this.pendingStateUiSlices.has("scroll")){if(this.viewportEl){this.viewportEl.scrollTop=pending.scroll.top;this.viewportEl.scrollLeft=pending.scroll.left}this.scrollTop=pending.scroll.top;this.hScrollLeft=pending.scroll.left;this.alignedNotify();this.recomputeVirtualWindow()}if(this.pendingStateUiSlices.has("focus")){this.activeCell=pending.focus.activeCell===null?null:{rowIndex:pending.focus.activeCell.rowIndex,colIndex:pending.focus.activeCell.colIndex}}if(this.pendingStateUiSlices.has("pinnedRows")&&pending.pinnedRows!==null){void this.restorePinnedRowsSlice(pending.pinnedRows)}this.pendingStateUiSlices=new Set}async restorePinnedRowsSlice(slice){if(this.rowLayoutChunk===null){try{await this.rowLayout()}catch{return}}const facade=this.pinnedRows();if(facade===null)return;const outcome=facade.restoreSlice({topRowIds:[...slice.topRowIds],bottomRowIds:[...slice.bottomRowIds]});if(outcome.status==="applied"||outcome.dropped.length>0){this.pinnedRowsVersion+=1;this.pinnedRowsChanged.emit({changes:outcome.changes,top:outcome.top,bottom:outcome.bottom,source:"state-restore"});this.recomputeVirtualWindow()}for(const dropped of outcome.dropped){this.rowLayoutRefused.emit({area:"pinned-rows",feature:"state-restore",reason:"unknown-id",detail:`pinned id ${String(dropped)} is not backed by the current data; skipped, not fabricated`,rowIndex:null,colIndex:null})}}async getFilterModel(){return captureFilterSlice(this.gridStateCaptureInput().filter).slice}async setFilterModel(model){const target=model??{builtIn:{},customModels:{},quickFilter:null,conditionTree:null,externalFilterActive:false};const shapeIssues=validateFilterSlice(target);if(shapeIssues.length>0){return{unknownBuiltInColumns:[],invalidBuiltIn:shapeIssues,unavailableCustomFilters:[],conditionTreeError:null,externalFilterWasActive:false}}const licenseRequirements=scanFilterProRequirements(applyFilterSlice(target,this.gridStateApplyContexts().filter),"$");if(licenseRequirements.length>0){const refusal=await this.filterModelLicenseRefusal(target,licenseRequirements);if(refusal!==null)return refusal;const admitted=scanFilterProRequirements(applyFilterSlice(target,this.gridStateApplyContexts().filter),"$");const moduleStep=await this.proFiltersModuleStep(admitted,"setFilterModel");if(moduleStep.issues.length>0)return filterModelRefusedReport(moduleStep.issues);if(moduleStep.awaited){const again=await this.filterModelLicenseRefusal(target,admitted);if(again!==null)return again}}const contexts=this.gridStateApplyContexts();const applied=applyFilterSlice(target,contexts.filter);const previousMap=this.activeFilters;this.activeFilters={...applied.builtIn};const touched=new Set([...Object.keys(previousMap),...Object.keys(applied.builtIn)]);for(const field of[...touched].sort()){const before=previousMap[field]??null;const after=applied.builtIn[field]??null;if(before===after)continue;this.filterChanged.emit({field,filter:after,activeMap:this.activeFilters})}this.quickFilterValue=applied.quickFilter??"";this.activeConditionTree=applied.conditionTree;if(this.filterFacade!==null){await this.filterFacade.setFilterModels(applied.customModels,{clearUnspecified:true,source:"api"})}this.noteStateBatchSource("api",["filter"]);return applied.report}async filterModelLicenseRefusal(target,initial){let requirements=initial;if(this.proGate().awaiting(gridStateRequirementFeatures(requirements))){await this.proGate().settle(gridStateRequirementFeatures(requirements));requirements=scanFilterProRequirements(applyFilterSlice(target,this.gridStateApplyContexts().filter),"$")}const refused=this.proGate().refuseRequest(gridStateRequirementFeatures(requirements),"setFilterModel");if(refused.length===0)return null;return filterModelRefusedReport(gridStateLicenseIssues(requirements,refused))}async proFiltersModuleStep(requirements,member){let awaited=false;const steps=[{chunk:"pro-filters",needed:gridProFilterRequirements(requirements)},{chunk:"pro-panels",needed:requirements.filter(entry=>entry.feature==="grid.find")}];for(const{chunk,needed}of steps){if(needed.length===0||this.proUiChunks[chunk]!==void 0)continue;if(!gridProChunkInBuild(chunk)){for(const feature of gridStateRequirementFeatures(needed))this.proModuleAvailable(feature,member,chunk);return{issues:gridStateModuleIssues(needed,"module-missing",chunk),awaited}}awaited=true;try{if(chunk==="pro-filters")await this.loadProFiltersChunk();else this.proUiChunks={...this.proUiChunks,"pro-panels":await this.getChunkLoader().load("pro-panels")}}catch{const refused=this.proGate().refuseRequest(gridStateRequirementFeatures(needed),member);return{issues:refused.length>0?gridStateLicenseIssues(needed,refused):gridStateModuleIssues(needed,"load-failed",chunk),awaited}}}return{issues:[],awaited}}gridMutationSequence=0;mintGridMutationId=()=>{this.gridMutationSequence+=1;return`grid-mutation-${this.gridMutationSequence}`};canonicalSelection=null;canonicalMirror=null;editType="cell";rowEditSessionRowId(){return this.rowEditState.session?.rowId??null}activeCellRowId(){if(this.activeCell===null)return null;const row=this.getDisplayRows()[this.activeCell.rowIndex];if(row===void 0||row===null)return null;return this.undoableRowId(row)}batchCommitState=null;batchEdit=null;async loadBatchEditChunk(){const chunk=await this.getChunkLoader().load("batch-edit");this.batchEdit=chunk;return chunk}batchLive(){return this.batchEdit!==null&&this.batchCommitState!==null&&this.batchEdit.isBatchEditing(this.batchCommitState.batch)}batchPendingCells(){return this.batchEdit&&this.batchCommitState?this.batchEdit.pendingBatchCells(this.batchCommitState.batch):[]}rowEditState=createRowEditState();batchEditStart;batchEditEnd;rowValueChanged;rowEditStart;rowEditStop;ensureCanonicalSelection(){const live=this.rangeState.ranges;if(this.canonicalSelection!==null&&this.canonicalMirror===live){return this.canonicalSelection}let set={ranges:[],nextId:this.canonicalSelection?.nextId??1};for(const range of live){set=addCanonicalRange(set,{row:range.anchorRow,col:range.anchorCol},{row:range.focusRow,col:range.focusCol}).set}this.canonicalSelection=set;this.canonicalMirror=live;return set}async getCanonicalRanges(){return this.proRun("getCanonicalRanges",()=>[...this.ensureCanonicalSelection().ranges])}async setCanonicalRanges(ranges){return this.proMethod("setCanonicalRanges",{validate:()=>Array.isArray(ranges)?void 0:{result:[]},load:()=>this.loadRangeSelectionChunk(),exec:()=>void 0,publish:()=>{const previous=this.ensureCanonicalSelection();const changes=[];for(const range of previous.ranges){changes.push({kind:"removed",id:range.id,range})}let set={ranges:[],nextId:previous.nextId};for(const range of ranges){if(range===null||typeof range!=="object")continue;const applied=addCanonicalRange(set,{row:range.anchorRow,col:range.anchorCol},{row:range.focusRow,col:range.focusCol});set=applied.set;changes.push(...applied.changes)}this.canonicalSelection=set;this.rangeState={ranges:toLegacyRanges(set),dragging:null};this.canonicalMirror=this.rangeState.ranges;this.emitRangeChange();return changes}})}rowByStableId(rowId){const rows=this.rowData??[];let found=null;for(const row of rows){if(this.undoableRowId(row)!==rowId)continue;if(found!==null)return null;found=row}return found}displayIndexOfRow(row){const rows=this.getDisplayRows();for(let i=0;i<rows.length;i++){if(rows[i]===row)return i}return-1}storedCellValue(rowId,colId){const row=this.rowByStableId(rowId);return row===null?void 0:readOwnFieldPath(row,colId)}identityRbacVerdict(rowId,colId){const row=this.rowByStableId(rowId);if(row===null)return"deny";const col=this.resolvedColumnDefs().find(entry=>entry.field===colId);if(col===void 0)return"deny";return this.passesEditPolicy(this.displayIndexOfRow(row),col,row)?"allow":"deny"}identityValidationVerdict(rowId,colId,newValue){const row=this.rowByStableId(rowId);const verdict=evaluateValidation(this.validationRules??[],{field:colId,value:newValue,rowIndex:row===null?-1:this.displayIndexOfRow(row),data:row??{}});return verdict.valid===false?{ok:false,reason:verdict.message}:{ok:true}}editGatesConfigured(){return this.editPolicyConfigured()||this.readPolicyConfigured()}validationRulesConfigured(){return this.validationRules!==void 0&&this.validationRules.length>0}async applyIdentityWrites(writes,label,origin){if(writes.length===0)return[];const patches=new Map;const missing=new Set;for(const write of writes){let patch=patches.get(write.rowId);if(patch===void 0){const row=this.rowByStableId(write.rowId);if(row===null){missing.add(write.rowId);continue}patch={...row}}patches.set(write.rowId,setOwnFieldPathImmutable(patch,write.colId,write.value))}if(patches.size>0){const result=await this.applyTransaction({update:[...patches.values()]},label,{source:"local",origin});for(const rejectedEntry of result.rejected){if(rejectedEntry.kind!=="update")continue;const id=this.undoableRowId(rejectedEntry.row);if(id!==null)missing.add(id)}}return[...missing]}toPublicRejectedCell(rowId,colId,reason,detail){return{rowId,colId:String(colId),reason,detail}}emitBatchLedgerStart(plan){const start=plan.events[0];if(start===void 0||start.type!=="batchEditStart")return;this.batchEditStart.emit({mutationId:start.detail.mutationId,sessionId:start.detail.sessionId,stagedCount:start.detail.stagedCount})}emitBatchLedgerEnd(plan){const end=plan.events[plan.events.length-1];if(end===void 0||end.type!=="batchEditEnd")return;const detail={mutationId:end.detail.mutationId,status:end.detail.status,writtenCount:end.detail.writtenCount,rejectedCells:end.detail.rejectedCells.map(cell=>this.toPublicRejectedCell(cell.rowId,cell.colId,cell.reason,null))};if(end.detail.reason!==void 0){detail.reason=end.detail.reason}if(end.detail.droppedCount!==void 0){detail.droppedCount=end.detail.droppedCount}this.batchEditEnd.emit(detail)}async startBatchEdit(options){return this.proMethod("startBatchEdit",{validate:()=>this.editType==="fullRow"||this.editingCell!==null?{result:false}:void 0,load:()=>this.loadBatchEditChunk(),exec:batch=>batch,publish:batch=>{const out=batch.guardedStartBatchEdit(this.batchCommitState??batch.createBatchCommitState(),options);this.batchCommitState=out.state;this.proUiChunkTick++;return out.result.kind==="started"||out.result.kind==="joined"}})}async isBatchEditing(){return this.proRun("isBatchEditing",()=>this.batchLive())}async stageBatchCell(rowId,colId,value){const resolve=()=>{const row=this.rowByStableId(rowId);if(row===null)return null;const colIndex=this.resolvedColumnDefs().findIndex(col=>col.field===colId);return colIndex<0?null:{row,colIndex}};return this.proMethod("stageBatchCell",{validate:()=>resolve()===null?{result:false}:void 0,load:()=>this.loadBatchEditChunk(),exec:batch=>batch,publish:batch=>{const target=resolve();if(target===null)return false;const{row,colIndex}=target;const out=batch.guardedStageBatchCell(this.batchCommitState??batch.createBatchCommitState(),{row:this.displayIndexOfRow(row),col:colIndex,rowId,colId,value,oldValue:readOwnFieldPath(row,colId)});this.batchCommitState=out.state;this.proUiChunkTick++;return out.staged.kind==="staged"}})}async getPendingBatchCells(){return this.proRun("getPendingBatchCells",()=>(this.batchEdit===null||this.batchCommitState===null?[]:this.batchEdit.pendingBatchCells(this.batchCommitState.batch)).map(cell=>({rowId:cell.rowId,colId:String(cell.colId),value:cell.value,oldValue:cell.oldValue,sequence:cell.sequence})))}async cancelBatchEdit(){return this.proRun("cancelBatchEdit",()=>{if(this.batchEdit===null||this.batchCommitState===null)return 0;const out=this.batchEdit.cancelBatchEditWithLedger(this.batchCommitState,{mintMutationId:this.mintGridMutationId,reason:"api"});this.batchCommitState=out.state;this.proUiChunkTick++;if(out.result.kind!=="cancelled")return 0;this.emitBatchLedgerStart(out.result.plan);this.emitBatchLedgerEnd(out.result.plan);return out.result.droppedCount})}async commitBatchEdit(options){const partialInvalid=options?.partialInvalid??(options?.atomicity==="best-effort"?"commit-valid":"reject-all");const none=()=>({status:"none",mutationId:null,writtenCount:0,rejectedCells:[],transactionRejectedRowIds:[],sessionOpen:this.batchLive()});return this.proMethod("commitBatchEdit",{validate:()=>this.batchLive()?void 0:{result:Promise.resolve(none())},load:()=>this.loadBatchEditChunk(),exec:batch=>batch.commitBatchEditAsync(this.batchCommitState,{mintMutationId:this.mintGridMutationId,readCurrent:(rowId,colId)=>this.storedCellValue(rowId,String(colId)),rbac:this.editGatesConfigured()?(rowId,colId)=>this.identityRbacVerdict(rowId,String(colId)):null,validate:this.validationRulesConfigured()?(rowId,colId,newValue)=>this.identityValidationVerdict(rowId,String(colId),newValue):null,partialInvalid}),publish:async out=>{if(out.kind!=="settled"){return none()}this.batchCommitState=out.state;const plan=out.plan;this.emitBatchLedgerStart(plan);const transactionRejectedRowIds=await this.applyIdentityWrites(plan.commit.writes.map(write=>({rowId:write.rowId,colId:String(write.colId),value:write.value})),"batch-edit","batch-edit");this.emitBatchLedgerEnd(plan);return{status:plan.status,mutationId:plan.mutationId,writtenCount:plan.commit.writes.length,rejectedCells:plan.rejectedCells.map(cell=>this.toPublicRejectedCell(cell.rowId,cell.colId,cell.reason,null)),transactionRejectedRowIds,sessionOpen:this.batchLive()}}})}finalizeBatchEditOnDisconnect(){if(this.batchEdit===null||this.batchCommitState===null)return;const out=this.batchEdit.finalizeBatchOnDisconnect(this.batchCommitState.batch,{mintMutationId:this.mintGridMutationId});if(out.state!==this.batchCommitState.batch){this.batchCommitState={batch:out.state,inFlight:null}}if(out.result.kind==="cancelled"){this.emitBatchLedgerStart(out.result.plan);this.emitBatchLedgerEnd(out.result.plan)}}rowEditKindOf(row){if(this.infiniteModeActive())return"ssrm-loaded";if(this.masterDetail===true)return"master";void row;return"normal"}async startRowEdit(rowId){if(coreIsRowEditing(this.rowEditState))return false;const row=this.rowByStableId(rowId);if(row===null)return false;const displayRow=this.displayIndexOfRow(row);if(displayRow<0)return false;const editableColIds=this.resolvedColumnDefs().filter(col=>col.editable===true&&typeof col.field==="string"&&col.field!=="").map(col=>col.field);const out=coreStartRowEdit(this.rowEditState,{rowId,displayRow,editableColIds,rowKind:this.rowEditKindOf(row)});this.rowEditState=out.state;if(out.result.kind==="started"){this.rowEditStart.emit({rowId,editableColumns:[...editableColIds]});return true}return false}async stopRowEdit(reason){const idleReport={status:"none",mutationId:null,writtenCount:0,rejectedCells:[],rowInvalid:null,droppedCount:0,transactionRejectedRowIds:[]};if(!coreIsRowEditing(this.rowEditState))return idleReport;const out=coreStopRowEdit(this.rowEditState,{reason:reason==="cancel"?"escape":"api",mintMutationId:this.mintGridMutationId,readCurrent:(rowId,colId)=>this.storedCellValue(rowId,String(colId)),rbac:this.editGatesConfigured()?(rowId,colId)=>this.identityRbacVerdict(rowId,String(colId)):null,validate:this.validationRulesConfigured()?(rowId,colId,newValue)=>this.identityValidationVerdict(rowId,String(colId),newValue):null});this.rowEditState=out.state;if(out.result.kind==="ignored")return idleReport;const plan=out.result.plan;const transactionRejectedRowIds=plan.status==="committed"?await this.applyIdentityWrites(plan.commit.writes.map(write=>({rowId:write.rowId,colId:String(write.colId),value:write.value})),"row-edit","row-edit"):[];if(plan.status==="committed"){for(const entry of plan.events){if(entry.type!=="rowValueChanged")continue;this.rowValueChanged.emit({mutationId:entry.detail.mutationId,rowId:entry.detail.rowId,writtenCount:entry.detail.writtenCount,oldRow:entry.detail.oldRow,newRow:entry.detail.newRow})}}return{status:plan.status,mutationId:plan.mutationId,writtenCount:plan.commit.writes.length,rejectedCells:plan.rejectedCells.map(cell=>this.toPublicRejectedCell(cell.rowId,cell.colId,cell.reason,cell.detail)),rowInvalid:out.result.kind==="rejected"?out.result.rowInvalid:null,droppedCount:out.result.kind==="cancelled"?out.result.droppedCount:0,transactionRejectedRowIds}}async stageRowEditCell(colId,value){const session=this.rowEditState.session;if(session===null)return false;const oldValue=this.storedCellValue(session.rowId,colId);const out=coreStageRowCell(this.rowEditState,colId,value,oldValue);this.rowEditState=out.state;return out.staged.kind==="staged"}async finishRowEditSession(reason){const rowId=this.rowEditSessionRowId();if(rowId===null)return;const report=await this.stopRowEdit(reason);if(report.status==="none")return;this.rowEditStop.emit({rowId,status:report.status,writtenCount:report.writtenCount,reason})}async getStateCaptureReport(){return{issues:buildGridState(this.gridStateCaptureInput()).issues}}enableFillHandle;fillHandleAxes;fillHandleMode;fillPreview=null;fillBinding=null;onEnableFillHandleChanged(value){if(value!==true){this.fillBinding?.dispose();this.fillPreview=null}}fillHandleActive(){return this.enableFillHandle===true&&this.rangeSelectionActive()&&this.usingColumnDefsApi()&&this.proAllowed("grid.fill-handle","enableFillHandle")&&this.proModuleAvailable("grid.fill-handle","enableFillHandle","fill")}fillHandleCellAt(rowIndex,colIndex){if(!this.fillHandleActive())return false;const ranges=this.ensureCanonicalSelection().ranges;const last=ranges[ranges.length-1];if(last===void 0)return false;return rowIndex===Math.max(last.anchor.row,last.focus.row)&&colIndex===Math.max(last.anchor.col,last.focus.col)}fillPreviewClasses(rowIndex,colIndex){const plan=this.fillPreview;if(plan===null)return{};const out={};const target=plan.target;if(target!==null&&rowIndex>=target.top&&rowIndex<=target.bottom&&colIndex>=target.left&&colIndex<=target.right){out["sy-grid__cell--fill-preview"]=true;out["sy-grid__cell--fill-preview-top"]=rowIndex===target.top;out["sy-grid__cell--fill-preview-left"]=colIndex===target.left;out["sy-grid__cell--fill-preview-bottom"]=rowIndex===target.bottom;out["sy-grid__cell--fill-preview-right"]=colIndex===target.right}if(plan.mode==="reduce"&&plan.clearedCells!==void 0){for(const cleared of plan.clearedCells){if(cleared.row===rowIndex&&cleared.col===colIndex){out["sy-grid__cell--fill-reduce-clear"]=true;break}}}return out}fillPolicyClosures(){const rows=this.getDisplayRows();const cols=this.resolvedColumnDefs();const rowIdAt=row=>{const data=rows[row];return data===void 0?null:this.undoableRowId(data)};const colIdAt=col=>{const field=cols[col]?.field;return typeof field==="string"&&field!==""?field:null};const readRaw=(row,col)=>{const data=rows[row];const field=colIdAt(col);return data===void 0||field===null?void 0:readOwnFieldPath(data,field)};const cellPolicy=(row,col)=>cols[col]?.editable!==true||colIdAt(col)===null?"readonly":rowIdAt(row)===null?"protected":"writable";const rbac=this.editGatesConfigured()?(row,col)=>{const rowId=rowIdAt(row);const colId=colIdAt(col);return rowId!==null&&colId!==null?this.identityRbacVerdict(rowId,colId):"deny"}:null;const validate=this.validationRulesConfigured()?(row,col,value)=>{const rowId=rowIdAt(row);const colId=colIdAt(col);return rowId!==null&&colId!==null?this.identityValidationVerdict(rowId,colId,value):{ok:false}}:null;return{rows,cols,rowIdAt,colIdAt,readRaw,cellPolicy,rbac,validate}}async applyFillPlan(plan,source,sourceRangeId){const{rowIdAt,colIdAt}=this.fillPolicyClosures();const start=plan.events[0];if(start!==void 0&&start.type==="fillStart"){this.fillStart.emit(start.detail)}const transactionRejectedRowIds=plan.status==="committed"?await this.applyIdentityWrites(plan.commit.writes.flatMap(write=>{const rowId=rowIdAt(write.row);const colId=colIdAt(write.col);return rowId!==null&&colId!==null?[{rowId,colId,value:write.value}]:[]}),"fill-range","fill-range"):[];const end=plan.events[plan.events.length-1];let resultingRange=source;if(end!==void 0&&end.type==="fillEnd"){resultingRange=end.detail.resultingRange;this.fillEnd.emit(end.detail)}if(plan.status==="committed"){const canonicalRanges=this.ensureCanonicalSelection().ranges;const index=sourceRangeId===0?-1:canonicalRanges.findIndex(range=>range.id===sourceRangeId);const ranges=this.rangeState.ranges;const kept=index===-1||index>=ranges.length?ranges.slice():[...ranges.slice(0,index),...ranges.slice(index+1)];this.rangeState={...this.rangeState,ranges:[...kept,{anchorRow:resultingRange.top,anchorCol:resultingRange.left,focusRow:resultingRange.bottom,focusCol:resultingRange.right}],dragging:null};this.emitRangeChange()}return{resultingRange,transactionRejectedRowIds}}cellAtFillPoint(x,y){if(typeof document==="undefined")return null;const under=document.elementFromPoint(x,y);if(under===null||!this.host.contains(under))return null;const cell=under.closest(".sy-grid__cell[data-col-index]");const rowEl=under.closest(".sy-grid__row[data-row-index]");if(cell===null||rowEl===null)return null;const row=Number(rowEl.getAttribute("data-row-index"));const col=Number(cell.getAttribute("data-col-index"));return Number.isInteger(row)&&Number.isInteger(col)?{row,col}:null}armFillHandle(){if(this.fillBinding!==null)return Promise.resolve(this.fillBinding);if(!this.proWorkAllowed("grid.fill-handle","enableFillHandle"))return Promise.resolve(null);return this.fillHandle().catch(()=>null)}async fillHandle(){if(this.fillBinding!==null)return this.fillBinding;const chunk=await this.loadFillChunk();if(this.fillBinding===null){this.fillBinding=chunk.bindFillHandleElement(this)}return this.fillBinding}writeFillPreview(plan){this.fillPreview=plan}applyFillPlanFromGesture(transaction,geometry,sourceRangeId){if(!this.proWorkAllowed("grid.fill-handle","enableFillHandle"))return;void this.applyFillPlan(transaction,geometry.source,sourceRangeId)}handleFillHandlePointerDown(rowIndex,colIndex,event){if(!this.fillHandleActive()||event.button!==0)return;event.preventDefault();event.stopPropagation();const seed={row:rowIndex,col:colIndex};if(this.fillBinding!==null){this.fillBinding.pointerDown(seed,event.pointerId);return}let pointerLive=true;const settle=done=>{if(done.pointerId!==event.pointerId)return;pointerLive=false;document.removeEventListener("pointerup",settle);document.removeEventListener("pointercancel",settle)};document.addEventListener("pointerup",settle);document.addEventListener("pointercancel",settle);void this.armFillHandle().then(binding=>{document.removeEventListener("pointerup",settle);document.removeEventListener("pointercancel",settle);if(pointerLive&&binding!==null)binding.pointerDown(seed,event.pointerId)})}handleFillHandleDoubleClick(event){if(!this.fillHandleActive())return;event.preventDefault();event.stopPropagation();void this.armFillHandle().then(binding=>binding?.doubleClick())}handleFillHandleKeyDown(event){if(!this.fillHandleActive())return;if(event.key!=="Enter"&&event.key!=="Escape"&&!event.key.startsWith("Arrow"))return;event.preventDefault();event.stopPropagation();void this.armFillHandle().then(binding=>binding?.keyboard(event.key))}renderFillHandle(rowIndex,colIndex){if(!this.fillHandleCellAt(rowIndex,colIndex))return null;if(this.fillBinding===null)void this.armFillHandle();return h("span",{class:"sy-grid__fill-handle",role:"button",tabindex:0,"aria-label":translateMessage(this.resolvedMessages,"a11y.fillHandle",{row:rowIndex+1}),"data-fill-handle":"true",onPointerDown:event=>this.handleFillHandlePointerDown(rowIndex,colIndex,event),onDblClick:event=>this.handleFillHandleDoubleClick(event),onKeyDown:event=>this.handleFillHandleKeyDown(event)})}fillStart;fillEnd;async loadFillChunk(){return await this.getChunkLoader().load("fill")}async fillRange(options){const none={status:"none",mutationId:null,writtenCount:0,rejectedCells:[],resultingRange:null,transactionRejectedRowIds:[]};const boundsOf=range=>({top:Math.min(range.anchor.row,range.focus.row),left:Math.min(range.anchor.col,range.focus.col),bottom:Math.max(range.anchor.row,range.focus.row),right:Math.max(range.anchor.col,range.focus.col)});const resolveSource=()=>{const canonical=this.ensureCanonicalSelection();if(options.source!==void 0&&options.source!==null&&typeof options.source==="object"){const explicit=options.source;const match=canonical.ranges.find(range=>{const bounds=boundsOf(range);return bounds.top===explicit.top&&bounds.left===explicit.left&&bounds.bottom===explicit.bottom&&bounds.right===explicit.right});return{source:explicit,sourceRangeId:match!==void 0?match.id:0}}if(canonical.ranges.length>0){const last=canonical.ranges[canonical.ranges.length-1];return{source:boundsOf(last),sourceRangeId:last.id}}return null};return this.proMethod("fillRange",{validate:()=>options===null||typeof options!=="object"||options.to===null||typeof options.to!=="object"||resolveSource()===null?{result:Promise.resolve(none)}:void 0,load:()=>this.loadFillChunk(),exec:chunk=>{const resolved=resolveSource();if(resolved===null)return null;const{source,sourceRangeId}=resolved;const closures=this.fillPolicyClosures();const{rows,cols}=closures;const outcome=chunk.runApiFill({source,to:options.to,sourceRangeId,rowCount:rows.length,colCount:cols.length,mode:options.mode,formatted:options.formatted,atomicity:options.atomicity,formulaPolicy:options.formulaPolicy,allowedDirections:options.allowedDirections,pattern:options.pattern??null,setFillValue:options.setFillValue??null,mintMutationId:this.mintGridMutationId,readRaw:closures.readRaw,formatCell:(row,col)=>String(this.cellDisplayText(row,col,rows,cols)),cellPolicy:closures.cellPolicy,rbac:closures.rbac,validate:closures.validate});return{plan:outcome.plan,source,sourceRangeId}},publish:async computed=>{if(computed===null)return none;const{plan,source,sourceRangeId}=computed;if(plan===null)return none;const applied=await this.applyFillPlan(plan,source,sourceRangeId);return{status:plan.status,mutationId:plan.mutationId,writtenCount:plan.commit.writes.length,rejectedCells:plan.rejectedCells,resultingRange:applied.resultingRange,transactionRejectedRowIds:applied.transactionRejectedRowIds}}})}pivotCombinationConflict;pivotColumnsChanged;async loadGroupPivotChunk(){return await this.getChunkLoader().load("group-pivot")}groupPivotChunkModule=null;groupPivotChunkArming=false;ensureGroupPivotChunkArmed(){if(this.groupPivotChunkModule!==null)return this.groupPivotChunkModule;if(!gridProChunkInBuild("group-pivot"))return null;if(!this.groupPivotChunkArming&&this.proGate().frozen("grid.pivot"))return null;if(!this.groupPivotChunkArming){this.groupPivotChunkArming=true;void this.loadGroupPivotChunk().then(chunk=>{this.groupPivotChunkModule=chunk;this.groupPivotChunkTick+=1}).catch(()=>{this.groupPivotChunkArming=false})}return null}groupPivotChunkTick=0;pivotModelGlue=null;notifyPivotColumnModel(){const pivot=this.pivotModeActive()?this.pivotComputation():null;if(pivot===null){this.pivotModelGlue=null;return}const chunk=this.ensureGroupPivotChunkArmed();if(chunk===null)return;if(this.pivotModelGlue===null){this.pivotModelGlue=chunk.createPivotModelGlue(detail=>this.pivotColumnsChanged.emit(detail))}this.pivotModelGlue.notify(pivot.meta)}async getDisplayRowInfo(index){return this.proMethod("getDisplayRowInfo",{exec:async()=>{const row=this.getDisplayRows()[index];if(row===void 0)return null;const chunk=await this.loadGroupPivotChunk();return chunk.describeDisplayRow(row,index)}})}async getPivotCombinationReport(){return this.proMethod("getPivotCombinationReport",{exec:async()=>{const requested=this.pivotMode===true&&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;const chunk=await this.loadGroupPivotChunk();return chunk.describePivotCombination(this.detectedPivotFeatures(),requested)}})}detectedPivotFeatures(){const active=[];if(this.treeSurface()!==null)active.push("treeData");if(this.effectiveGroupFields()!==null)active.push("rowGrouping");if(this.masterDetail===true&&this.usingColumnDefsApi())active.push("masterDetail");if(this.serverSideModeActive())active.push("serverSide");if(this.viewportState!==null)active.push("viewport");if(this.infiniteCache!==null)active.push("infinite");if(this.pagination===true)active.push("pagination");if(this.quickFilterValue!=="")active.push("quickFilter");if(Object.keys(this.activeFilters).length>0||this.activeConditionTree!==null){active.push("columnFilter")}if(this.activeSortModel.length>0)active.push("sort");if(this.rowReorderEnabled()||this.unmanagedRowDragEnabled())active.push("rowDrag");if(this.effectiveColumns().some(col=>typeof col.rowSpan==="function"))active.push("rowSpan");if(this.effectiveColumns().some(col=>typeof col.colSpan==="function"))active.push("colSpan");if(this.pinnedRowsDeclared()||this.pinnedRowsFacade!==null&&this.pinnedRowsFacade.count()>0)active.push("pinnedRows");if(this.fullWidthDeclared())active.push("fullWidthRows");return active}async getPivotSecondaryColumns(){return this.proMethod("getPivotSecondaryColumns",{exec:async()=>{const pivot=this.pivotComputation();if(pivot===null)return null;const chunk=await this.loadGroupPivotChunk();return chunk.describeSecondaryColumns(pivot.meta)}})}async getGroupCheckStates(options){return this.proMethod("getGroupCheckStates",{exec:async()=>{const scope=options?.descendantScope==="all"?"all":"filtered";const reason=this.groupCheckStatesRefusal();const chunk=await this.loadGroupPivotChunk();if(reason!==null){return chunk.refuseGroupCheckStates(reason,scope)}const rows=this.computeEngineRows(true);const ids=new Map;for(let i=0;i<rows.length;i++){const id=this.extractRowId(rows[i],i);if(id!==void 0)ids.set(rows[i],String(id))}const selected=new Set;for(const id of this.selectionState.selectedRowIds)selected.add(String(id));return chunk.describeGroupCheckStates(rows,row=>ids.get(row)??"",{kind:"explicit",ids:selected},scope)}})}groupCheckStatesRefusal(){const active=this.detectedPivotFeatures();if(active.includes("treeData"))return"tree-data";if(active.includes("serverSide")||active.includes("viewport")||active.includes("infinite")){return"server-side"}if(this.pivotModeActive())return"pivot-mode";if(!active.includes("rowGrouping"))return"not-grouped";if(this.collapsedRowGroups.size>0)return"collapsed-groups";return typeof this.getRowId==="function"?null:"no-row-id"}serverStoreUpdated;rowDragEnter;rowDragMove;rowDragLeave;rowDragEnd;rowDragCancel;rowsTransferred;unmanagedRowDragEnabled(){return this.rowDragManaged!==true&&this.usingColumnDefsApi()&&this.effectiveColumns().some(col=>col.rowDrag===true)}rowDrag(){if(this.rowDragBinding!==null)return Promise.resolve(this.rowDragBinding);return this.getChunkLoader().load("row-drag").then(module=>{const chunk=module;if(this.rowDragBinding===null){this.rowDragBinding=chunk.bindRowDragElement(this)}return this.rowDragBinding})}syncRowDrag(){if(this.rowDragBinding===null&&this.unmanagedRowDragEnabled())this.rowDrag().catch(()=>void 0)}paintDragTarget(target,source){this.unmanagedDragTarget=target;this.unmanagedDragSource=source}announceDrag(announcement){this.dragLive=announcement.politeness==="assertive"?{polite:this.dragLive.polite,assertive:announcement.text}:{polite:announcement.text,assertive:this.dragLive.assertive}}emitDrag(event){const emitter=this[event.kind];if(emitter!==void 0&&typeof emitter.emit==="function")emitter.emit(event.detail)}writeRows(rows){this.rowData=rows}handleUnmanagedDragPointerDown(rowIndex,event){if(!this.unmanagedRowDragEnabled()||event.button!==0||typeof document==="undefined")return;event.preventDefault();event.stopPropagation();void this.rowDrag().then(binding=>binding.pointerDown(rowIndex,event))}handleUnmanagedDragKeyDown(rowIndex,event){const key=event.key;if(key!==" "&&key!=="Enter"&&key!=="Escape"&&!key.startsWith("Arrow")&&key!=="Home"&&key!=="End"&&key!=="PageUp"&&key!=="PageDown")return;event.preventDefault();event.stopPropagation();void this.rowDrag().then(binding=>binding.keyDown(rowIndex,event))}teardownUnmanagedDrag(disposeFacade){if(this.rowDragBinding===null)return;this.rowDragBinding.teardown(disposeFacade);if(disposeFacade){this.rowDragBinding=null;this.unmanagedDragTarget=null;this.unmanagedDragSource=null}}renderDragLiveRegions(){if(!this.unmanagedRowDragEnabled()&&this.dragLive.polite===""&&this.dragLive.assertive==="")return null;return[h("div",{class:"sy-grid__drag-live",role:"status","aria-live":"polite","aria-atomic":"true"},this.dragLive.polite),h("div",{class:"sy-grid__drag-live",role:"alert","aria-live":"assertive","aria-atomic":"true"},this.dragLive.assertive)]}async startRowDrag(input){if(!this.unmanagedRowDragEnabled()){return{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)"}}return(await this.rowDrag()).startFromApi(input??{})}async getRowDragSession(){if(this.rowDragBinding===null){return{enabled:this.unmanagedRowDragEnabled(),loaded:false,gesture:null,session:null,report:null,events:[],residue:[],keyboard:null,zones:[],lastAutoScroll:null}}return{loaded:true,...this.rowDragBinding.facade.session()}}async registerDropZone(input){return(await this.rowDrag()).registerZone(input)}async unregisterDropZone(zoneId){return this.rowDragBinding===null?false:this.rowDragBinding.unregisterZone(zoneId)}async getDropZones(){return(await this.rowDrag()).facade.zones()}async getDragSafetyReport(){return(await this.rowDrag()).facade.safety()}spanConflict;spansDeclared(){return this.usingColumnDefsApi()&&this.effectiveColumns().some(col=>typeof col.rowSpan==="function"||typeof col.colSpan==="function")}rowLayout(){if(this.rowLayoutChunk!==null&&this.rowLayoutState!==null){return Promise.resolve({chunk:this.rowLayoutChunk,state:this.rowLayoutState})}const seq=++this.rowLayoutKickSeq;return this.getChunkLoader().load("row-layout").then(module=>{const chunk=module;if(this.rowLayoutChunk===null){this.rowLayoutChunk=chunk;this.rowLayoutState=chunk.createRowLayoutState();if(seq===this.rowLayoutKickSeq)this.rowLayoutVersion+=1}return{chunk:this.rowLayoutChunk,state:this.rowLayoutState}})}syncRowLayout(){if(this.rowLayoutChunk===null&&(this.spansDeclared()||this.pinnedRowsDeclared()||this.fullWidthDeclared())){this.rowLayout().then(()=>{this.syncPinnedRows();if(this.fullWidthDeclared()){this.fullWidthVersion+=1;this.recomputeVirtualWindow()}}).catch(()=>void 0)}else if(this.rowLayoutChunk!==null){this.syncPinnedRows()}}alignedGrids;alignedFacade=null;alignedApplying=false;alignedMemberIdMinted=null;pendingAlignedScroll=null;onAlignedGridsChanged(){this.syncAlignedGrids()}alignedDeclared(){const input=this.alignedGrids;if(input===null||input===void 0)return false;if(typeof input==="string")return input.length>0;if(Array.isArray(input))return input.length>0;return typeof input.group==="string"&&input.group.length>0}alignedMemberId(){if(this.alignedMemberIdMinted===null){alignedMemberSeq+=1;this.alignedMemberIdMinted=this.host.id!==""?this.host.id:`sy-grid-aligned-${alignedMemberSeq}`}return this.alignedMemberIdMinted}syncAlignedGrids(){if(!this.alignedDeclared()){this.alignedFacade?.configure(null);return}this.rowLayout().then(()=>{const input=this.alignedGrids;if(typeof input==="string")void this.setAlignedGrids({group:input});else if(input!==null&&input!==void 0)void this.setAlignedGrids(input)}).catch(()=>void 0)}ensureAlignedFacade(chunk){if(this.alignedFacade===null){this.alignedFacade=chunk.createAlignedGridsFacade({memberId:()=>this.alignedMemberId(),snapshot:()=>this.alignedSnapshot(),apply:projection=>this.applyAlignedProjection(projection)})}return this.alignedFacade}alignedSnapshot(){const ordered=applyColumnPinning(this.applyColumnOrder(this.resolvedColumnDefs()),this.columnPinned);const hidden=this.columnHidden;const columns=ordered.map(col=>{const key=String(col.colId??col.field);const live=this.columnWidths.get(key);const width=typeof live==="number"?live:typeof col.width==="number"?col.width:0;return{colId:key,width,visible:!hidden.has(col.field),pinned:this.pinSideOf(col)}});return{columns,scrollLeft:this.viewportEl?.scrollLeft??this.hScrollLeft}}applyAlignedProjection(projection){this.alignedApplying=true;try{const byKey=new Map;for(const col of this.resolvedColumnDefs()){byKey.set(String(col.colId??col.field),col)}const widths=new Map(this.columnWidths);const pinned=new Map(this.columnPinned);const order=[];for(const column of projection.columns){const def=byKey.get(column.colId);if(def===void 0)continue;order.push(def.field);if(column.width>0)widths.set(column.colId,column.width);pinned.set(def.field,column.pinned);const hiddenNow=this.columnHidden.has(def.field);if(column.visible===hiddenNow){if(column.visible)this.columnVisibilityController.show(def.field);else this.columnVisibilityController.hide(def.field)}}this.columnWidths=widths;this.columnPinned=pinned;if(order.length>0)this.columnOrder=order;if(this.viewportEl!==null&&Math.abs(this.viewportEl.scrollLeft-projection.scrollLeft)>.5){this.viewportEl.scrollLeft=projection.scrollLeft;this.pendingAlignedScroll=Math.abs(this.viewportEl.scrollLeft-projection.scrollLeft)>.5?projection.scrollLeft:null}this.hScrollLeft=projection.scrollLeft;this.syncHeaderHorizontalScroll(projection.scrollLeft);this.recomputeVirtualWindow()}finally{this.alignedApplying=false}}alignedNotify(){if(this.alignedApplying||this.alignedFacade===null)return;this.alignedFacade.notify()}async setAlignedGrids(input){const module=await this.rowLayout();const facade=this.ensureAlignedFacade(module.chunk);return await module.chunk.runSetAlignedGrids(facade,input,`aligned:${this.alignedMemberId()}`)}async getAlignedGrids(){if(this.alignedFacade===null){return{configured:false,group:null,memberId:this.alignedMemberId(),members:[],generation:0,alignedColumns:[],canonical:null,mismatches:[],stats:null}}return this.alignedFacade.publicReport()}treeReparented;reparentIdMapsCache=null;treeIdLinkageActive(){return typeof this.getDataPath!=="function"&&typeof this.treeIdField==="string"&&this.treeIdField!==""&&typeof this.treeParentField==="string"&&this.treeParentField!==""&&this.serverSideState===null&&this.usingColumnDefsApi()}treeRowId(row){const field=this.treeIdField;if(typeof field!=="string"||field==="")return null;const raw=readOwnFieldPath(row,field);return raw===void 0||raw===null||raw===""?null:String(raw)}treeRowParentId(row){const field=this.treeParentField;if(typeof field!=="string"||field==="")return null;const raw=readOwnFieldPath(row,field);return raw===void 0||raw===null||raw===""?null:String(raw)}treeRowWithParent(row,parentId){const field=this.treeParentField;if(!field.includes("."))return{...row,[field]:parentId};const parts=field.split(".");const clone={...row};let cursor=clone;for(let i=0;i<parts.length-1;i+=1){const key=parts[i];const nested=cursor[key];cursor[key]=typeof nested==="object"&&nested!==null?{...nested}:{};cursor=cursor[key]}cursor[parts[parts.length-1]]=parentId;return clone}reparentIdMaps(){const surface=this.treeSurface();if(surface===null||!this.treeIdLinkageActive())return null;const rows=this.rowData??[];const idField=this.treeIdField;const parentField=this.treeParentField;const cached=this.reparentIdMapsCache;if(cached!==null&&cached.rows===rows&&cached.idField===idField&&cached.parentField===parentField){return{idToPath:cached.idToPath,idToKey:cached.idToKey}}const idToPath=new Map;const idToKey=new Map;for(const row of rows){const id=this.treeRowId(row);if(id===null||idToPath.has(id))continue;const path=surface.getDataPath(row);idToPath.set(id,path);idToKey.set(id,foldTreePathKey(path))}this.reparentIdMapsCache={rows,idField,parentField,idToPath,idToKey};return{idToPath,idToKey}}reparentHost(){if(!this.treeIdLinkageActive())return null;return{rows:()=>this.rowData??[],idLinkageActive:()=>this.treeIdLinkageActive()&&this.proGate().entitled("grid.tree-data"),idOf:row=>this.treeRowId(row),parentIdOf:row=>this.treeRowParentId(row),withParent:(row,parentId)=>this.treeRowWithParent(row,parentId),hiddenIds:()=>null,isExpanded:nodeId=>{const maps=this.reparentIdMaps();const key=maps?.idToKey.get(nodeId);return key===void 0?false:!this.collapsedTreeNodes.has(key)},collapsedIdsSnapshot:()=>{const maps=this.reparentIdMaps();const collapsed=new Set;if(maps===null)return collapsed;for(const[id,key]of maps.idToKey){if(this.collapsedTreeNodes.has(key))collapsed.add(id)}return collapsed},setExpanded:(nodeId,expanded)=>{const maps=this.reparentIdMaps();const path=maps?.idToPath.get(nodeId);if(path!==void 0)void this.applyTreeNodeExpanded(path,expanded,"ui")},writeRows:rows=>this.writeRows(rows),emitReparented:detail=>this.treeReparented.emit(detail)}}reparentFacadeFactory(){const chunk=this.proUiChunks["tree-data"];if(chunk===void 0||this.treeSurface()===null)return null;return chunk.createReparentFacade}dragRowIdOf(row,index){if(isTreeNodeRow(row)){if(row.filler||row.row===null)return void 0;const viaHost=this.extractRowId(row.row,index);return viaHost!==void 0?viaHost:this.treeRowId(row.row)??void 0}return this.extractRowId(row,index)}reparentNodeAt(rowIndex){const rows=this.getDisplayRows();const row=rows[rowIndex];if(row===void 0)return null;if(isTreeNodeRow(row)){return row.filler||row.row===null?null:this.treeRowId(row.row)}return this.treeRowId(row)}rowBandRatio(rowIndex,y){const el=this.host.querySelector(`.sy-grid__row[data-row-index="${rowIndex}"]`);if(el===null)return null;const rect=el.getBoundingClientRect();if(!(rect.height>0))return null;return Math.min(1,Math.max(0,(y-rect.top)/rect.height))}async reparentRows(request){const refusal={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:refusal},load:async()=>{await this.treeEngineStep();return this.rowDrag()},exec:binding=>binding,publish:binding=>{const facade=binding.reparentFacade();return facade===null?refusal:facade.reparent(request,"api")}})}isFullWidthRow;fullWidthCellRenderer;fullWidthRowHeight;onFullWidthConfigChanged(){this.fullWidthFacade?.invalidate();this.fullWidthVersion+=1;this.recomputeVirtualWindow();this.syncRowLayout()}fullWidthDeclared(){return typeof this.isFullWidthRow==="function"&&this.usingColumnDefsApi()}fullWidth(){if(this.fullWidthFacade!==null)return this.fullWidthFacade;if(this.rowLayoutChunk===null||!this.fullWidthDeclared())return null;this.fullWidthFacade=this.rowLayoutChunk.createFullWidthFacade({rows:()=>this.getDisplayRows(),columns:()=>this.effectiveColumns(),rowIdOf:(row,index)=>{if(typeof this.getRowId==="function"){const id=this.extractRowId(row,index);if(id!==void 0)return id}return index},classify:row=>isDetailRow(row)?"detail":isGroupMarkerRow(row)?"group":isGroupFooterRow(row)?"group-footer":isLoadingPlaceholderRow(row)?"loading":null,isFullWidth:()=>{const predicate=this.isFullWidthRow;if(typeof predicate!=="function")return void 0;return params=>predicate({row:params.row,rowIndex:params.index,builtInKind:params.builtInKind})===true},renderer:()=>this.fullWidthCellRenderer,declaredHeight:()=>this.fullWidthRowHeight,containerOf:col=>{const side=this.pinSideOf(col);return side==="left"?"left":side==="right"?"right":"middle"},uniformHeight:()=>this.uniformRowHeight(),onRendererError:(error,phase,key)=>{this.rowLayoutRefused.emit({area:"full-width-rows",feature:`renderer-${phase}`,reason:"renderer-threw",detail:`${key}: ${error instanceof Error?error.message:String(error)}`,rowIndex:null,colIndex:null})}});return this.fullWidthFacade}fullWidthEntryAt(rowIndex){const facade=this.fullWidthDeclared()?this.fullWidth():null;if(facade===null)return null;const entry=facade.entryAt(rowIndex);return entry!==null&&entry.kind==="full-width"?entry:null}isFullWidthDisplayRow(rowIndex){return this.fullWidthEntryAt(rowIndex)!==null}reconcileFullWidthMounts(){const facade=this.fullWidthFacade;if(facade===null||!this.fullWidthDeclared())return;const window2=this.lastBodyRenderWindow??{startIndex:0,endIndex:this.getDisplayRows().length};const{mounts}=facade.reconcile(window2.startIndex,window2.endIndex);for(const mount of mounts){const host=this.host?.querySelector?.(`.sy-grid__full-width-host[data-full-width-key="${CSS.escape(mount.key)}"]`);if(host===null||host===void 0)continue;if(mount.gui.parentElement!==host){host.textContent="";host.appendChild(mount.gui)}}const signature=facade.refusalSignature();if(signature!==this.fullWidthRefusalSignature){this.fullWidthRefusalSignature=signature;for(const refusal of facade.refusals()){this.rowLayoutRefused.emit({area:"full-width-rows",feature:"layout",reason:refusal.reason,detail:`${refusal.requested} → ${refusal.applied}: ${refusal.detail}`,rowIndex:refusal.rowIndex,colIndex:null})}}}renderFullWidthRow(row,rowIndex,entry,rowHeightPx){void row;const cols=this.effectiveColumns();const renderCheckboxCol=this.shouldRenderCheckboxColumn();const columnOffset=renderCheckboxCol?1:0;const active=this.activeCell;const isActiveRow=active!==null&&active.rowIndex===rowIndex;const heightPx=entry.height>0?entry.height:rowHeightPx;const totalWidth=this.totalColumnsWidthPx();const viewportWidth=this.viewportSize?.width??0;const widthOf=(startCol,endCol)=>{let width=0;for(let index=startCol;index<endCol;index+=1){const col=cols[index];if(col===void 0)continue;width+=this.pinnedWidthOf(col)}return width};const drag=this.rowDragDropClass(rowIndex);return h("div",{class:{"sy-grid__row":true,"sy-grid__full-width-row":true,[`sy-grid__full-width-row--${entry.mode}`]:true,"sy-grid__row--odd":rowIndex%2===1,"sy-grid__row--even":rowIndex%2===0,"sy-grid__row--active":isActiveRow,"sy-grid__row--drag-source":drag.dragging,"sy-grid__row--drop-above":drag.above,"sy-grid__row--drop-below":drag.below,"sy-grid__row--drop-into":drag.into},...bodyRowAttrs(rowIndex,{headerOffset:this.headerGroupDepth()+this.pinnedTopCount()}),"data-row-index":rowIndex,"data-full-width-row":entry.mode,"data-full-width-kind":entry.rowKind,style:{height:`${heightPx}px`,minWidth:entry.mode==="full-width"&&totalWidth>0?`${Math.max(totalWidth,viewportWidth)}px`:void 0}},entry.segments.map((segment,segmentIndex)=>{const isFirst=segmentIndex===0;const isActive=isActiveRow&&isFirst;const segmentStyle={height:`${heightPx}px`};if(entry.mode==="embedded"){const width=widthOf(segment.startCol,segment.endCol);segmentStyle.width=`${width}px`;segmentStyle.flex=`0 0 ${width}px`;segmentStyle.maxWidth=`${width}px`;if(segment.container==="left"){segmentStyle.position="sticky";segmentStyle.left="0px";segmentStyle.zIndex="1"}if(segment.container==="right"){segmentStyle.position="sticky";segmentStyle.right="0px";segmentStyle.zIndex="1"}}else if(viewportWidth>0){const capped=Math.min(viewportWidth,Math.max(totalWidth,viewportWidth));segmentStyle.position="sticky";segmentStyle.left="0px";segmentStyle.width=`${capped}px`;segmentStyle.flex=`0 0 ${capped}px`;segmentStyle.maxWidth=`${capped}px`}return h("div",{key:segment.mountKey,class:{"sy-grid__cell":true,"sy-grid__full-width-cell":true,"sy-grid__cell--active":isActive},...gridCellAttrs({colIndex:segment.startCol+columnOffset+1-1,isActive}),"aria-colspan":segment.colSpan,id:isActive?SY_GRID_ACTIVE_CELL_ID:void 0,"aria-selected":isActive?"true":void 0,"data-full-width-segment":segment.container??"all",style:segmentStyle},h("div",{class:"sy-grid__full-width-host","data-full-width-key":segment.mountKey}))}))}async getFullWidthRowInfo(rowIndex){if(!this.fullWidthDeclared()){return rowIndex===void 0?{declared:false,loaded:false,rowCount:this.getDisplayRows().length,fullWidthCount:0,mountCount:0,refusals:[],predicateCalls:0}:null}if(this.rowLayoutChunk===null){try{await this.rowLayout()}catch{}}const facade=this.fullWidth();if(facade===null){return rowIndex===void 0?{declared:true,loaded:false,rowCount:this.getDisplayRows().length,fullWidthCount:0,mountCount:0,refusals:[],predicateCalls:0}:null}if(rowIndex===void 0){const layout=facade.layout();const report=facade.report();return{declared:true,loaded:true,rowCount:layout.rowCount,fullWidthCount:report.fullWidthCount,mountCount:report.mountCount,refusals:layout.refusals.map(refusal=>({reason:refusal.reason,rowIndex:refusal.rowIndex,rowId:refusal.rowId,requested:refusal.requested,applied:refusal.applied,detail:refusal.detail})),predicateCalls:layout.predicateCalls}}const entry=facade.entryAt(rowIndex);if(entry===null)return null;if(entry.kind==="cells"){return{rowIndex,kind:"cells",rowId:entry.rowId,mode:null,height:null,heightSource:null,segments:[],mounted:false}}return{rowIndex,kind:"full-width",rowId:entry.rowId,mode:entry.mode,height:entry.height,heightSource:entry.heightSource,segments:entry.segments.map(segment=>({container:segment.container,startCol:segment.startCol,endCol:segment.endCol,colSpan:segment.colSpan,mountKey:segment.mountKey})),mounted:entry.segments.every(segment=>facade.guiFor(segment.mountKey)!==null)}}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||this.pendingPinnedRows!==null}pinnedRowId(row,section,index){if(typeof this.getRowId==="function"){const id=this.extractRowId(row,index);if(id!==void 0)return id}return`__pinned-${section}-${index}`}pinnedRowsFromProps(){const top=(this.pinnedTopRowData??[]).map((row,index)=>({id:this.pinnedRowId(row,"top",index),data:row}));const bottom=(this.pinnedBottomRowData??[]).map((row,index)=>({id:this.pinnedRowId(row,"bottom",index),data:row}));return{top,bottom}}pinnedRows(){if(this.pinnedRowsFacade!==null)return this.pinnedRowsFacade;if(this.rowLayoutChunk===null)return null;this.pinnedRowsFacade=this.rowLayoutChunk.createPinnedRowsFacade({displayRows:()=>this.getDisplayRows(),sourceRows:()=>this.rowData??[],rowIdOf:typeof this.getRowId==="function"?row=>this.extractRowId(row,-1):null});return this.pinnedRowsFacade}syncPinnedRows(){const facade=this.pinnedRows();const pending=this.pendingPinnedRows;if(facade===null||pending===null)return;this.pendingPinnedRows=null;this.applyPinnedRows(facade,pending.input,pending.source)}applyPinnedRows(facade,input,source){const outcome=facade.setPinned({top:input.top??[],bottom:input.bottom??[]});if(outcome.status==="applied"){this.pinnedRowsVersion+=1;if(this.pinnedFocus!==null){const rows=facade.rows(this.pinnedFocus.band);if(this.pinnedFocus.sectionIndex>=rows.length)this.pinnedFocus=null}this.pinnedRowsChanged.emit({changes:outcome.changes,top:outcome.top,bottom:outcome.bottom,source});this.recomputeVirtualWindow()}return outcome}pinnedTopCount(){return this.pinnedRowsFacade?.rows("top").length??0}pinnedBottomCount(){return this.pinnedRowsFacade?.rows("bottom").length??0}refusePinnedRowFeature(feature,rowIndex,colIndex){const facade=this.pinnedRowsFacade;if(facade===null)return false;const decision=facade.policy(feature);if(decision.support!=="unsupported")return false;this.rowLayoutRefused.emit({area:"pinned-rows",feature,reason:decision.reason,detail:decision.detail,rowIndex,colIndex});return true}enterPinnedBandFromBody(direction){const facade=this.pinnedRowsFacade;const active=this.activeCell;if(facade===null||active===null||facade.count()===0)return false;const rowCount=this.activeRowCount();const atEdge=direction==="up"?active.rowIndex===0:active.rowIndex===rowCount-1;if(!atEdge)return false;const nav=facade.navigate(null,active.rowIndex,direction,1);if(nav===null||!nav.moved||nav.target.kind!=="band")return false;this.focusPinnedBandCell(nav.target.band,nav.target.sectionIndex,active.colIndex);return true}focusPinnedBandCell(band,sectionIndex,colIndex){const cols=this.effectiveColumns();const col=Math.min(Math.max(0,colIndex),Math.max(0,cols.length-1));this.pinnedFocus={band,sectionIndex,colIndex:col};void Promise.resolve().then(()=>{const el=this.host?.querySelector?.(`.sy-grid__pinned-band[data-pinned-band="${band}"]`);if(el!==null&&el!==void 0&&typeof el.focus==="function"&&this.host.ownerDocument?.activeElement!==el){try{el.focus({preventScroll:true})}catch{el.focus()}}})}leavePinnedBand(target){this.pinnedFocus=null;if(target!==null)this.commitActiveCell(target);const viewport=this.viewportEl;if(viewport!==null&&typeof viewport.focus==="function"){try{viewport.focus({preventScroll:true})}catch{viewport.focus()}}}handlePinnedBandClick=event=>{const target=event.target;const rowEl=target?.closest?.(".sy-grid__row--pinned");if(rowEl===null||rowEl===void 0)return;const section=rowEl.getAttribute("data-pinned-section")==="bottom"?"bottom":"top";const sectionIndex=Number(rowEl.getAttribute("data-pinned-row-index"));const cellEl=target?.closest?.(".sy-grid__cell[data-col-index]");const colIndex=cellEl!==null&&cellEl!==void 0?Number(cellEl.getAttribute("data-col-index")):0;if(!Number.isInteger(sectionIndex))return;this.focusPinnedBandCell(section,sectionIndex,Number.isInteger(colIndex)?colIndex:0)};handlePinnedBandFocusOut=event=>{const next=event.relatedTarget;const band=event.currentTarget;if(band!==null&&next!==null&&band.contains(next))return;if(this.pinnedFocus!==null&&(next===null||!band?.contains(next)))this.pinnedFocus=null};handlePinnedBandKeyDown=event=>{const facade=this.pinnedRowsFacade;const focus=this.pinnedFocus;if(facade===null||focus===null)return;const colCount=this.effectiveColumns().length;const rows=facade.rows(focus.band);const move=direction=>{const nav=facade.navigate(focus,null,direction,this.viewportRowCount());if(nav===null||!nav.moved)return;if(nav.target.kind==="center"){this.leavePinnedBand({rowIndex:nav.target.rowIndex,colIndex:focus.colIndex});return}this.focusPinnedBandCell(nav.target.band,nav.target.sectionIndex,focus.colIndex)};if((event.ctrlKey||event.metaKey)&&(event.key==="c"||event.key==="C")){event.preventDefault();const row=rows[focus.sectionIndex];if(row===void 0)return;const text=this.cellDisplayText(0,focus.colIndex,[row.data],this.effectiveColumns());void this.writeClipboardText(text==null?"":String(text));return}switch(event.key){case"ArrowUp":event.preventDefault();move("up");return;case"ArrowDown":event.preventDefault();move("down");return;case"Home":event.preventDefault();if(event.ctrlKey||event.metaKey)move("home");else this.focusPinnedBandCell(focus.band,focus.sectionIndex,0);return;case"End":event.preventDefault();if(event.ctrlKey||event.metaKey)move("end");else this.focusPinnedBandCell(focus.band,focus.sectionIndex,colCount-1);return;case"PageUp":event.preventDefault();move("page-up");return;case"PageDown":event.preventDefault();move("page-down");return;case"ArrowLeft":event.preventDefault();this.focusPinnedBandCell(focus.band,focus.sectionIndex,Math.max(0,focus.colIndex-1));return;case"ArrowRight":event.preventDefault();this.focusPinnedBandCell(focus.band,focus.sectionIndex,Math.min(colCount-1,focus.colIndex+1));return;case"Escape":event.preventDefault();this.leavePinnedBand(null);return;case"F2":case"Enter":case"Delete":case"Backspace":event.preventDefault();this.refusePinnedRowFeature(event.key==="Delete"||event.key==="Backspace"?"row-edit":"cell-edit",focus.sectionIndex,focus.colIndex);return;default:if(event.key.length===1&&!event.ctrlKey&&!event.metaKey&&!event.altKey){event.preventDefault();this.refusePinnedRowFeature("cell-edit",focus.sectionIndex,focus.colIndex)}}};async setPinnedRows(input){const wanted={top:[...input?.top??[]],bottom:[...input?.bottom??[]]};if(this.rowLayoutChunk===null){this.pendingPinnedRows={input:wanted,source:"api"};const{chunk}=await this.rowLayout();void chunk}const facade=this.pinnedRows();if(facade===null){return{status:"refused",changes:[],rejected:[{reason:"not-loaded",id:null,detail:"the row-layout chunk did not load"}],top:[],bottom:[]}}this.pendingPinnedRows=null;return this.applyPinnedRows(facade,wanted,"api")}async getPinnedRows(){const facade=this.pinnedRowsFacade;const centerCount=this.getDisplayRows().length;if(facade===null){return{loaded:false,top:[],bottom:[],count:0,displayCount:centerCount,centerCount,dangling:[],idCollisions:[],stableRowIds:typeof this.getRowId==="function",policy:[]}}const report=facade.report();return{loaded:true,top:facade.rows("top"),bottom:facade.rows("bottom"),count:facade.count(),displayCount:report.displayCount,centerCount:report.centerCount,dangling:facade.dangling(),idCollisions:report.idCollisions,stableRowIds:typeof this.getRowId==="function",policy:[...report.supported,...report.delegated,...report.unsupported]}}async getPinnedRowInfo(displayIndex){const facade=this.pinnedRowsFacade;const centerCount=this.getDisplayRows().length;if(facade===null){if(!Number.isInteger(displayIndex)||displayIndex<0||displayIndex>=centerCount)return null;return{displayIndex,band:"center",index:displayIndex,row:null,policy:[]}}const address=facade.address(displayIndex);if(address===null)return null;const report=facade.report();const policy=[...report.supported,...report.delegated,...report.unsupported];if(address.band==="center"){return{displayIndex,band:"center",index:address.centerIndex??displayIndex-facade.rows("top").length,row:null,policy}}return{displayIndex,band:address.band,index:address.sectionIndex??0,row:address.row,policy}}rowLayoutHostView(rows,uniform,rowHeightFn){return this.rowLayoutChunk.rowLayoutHostView(this,rows,uniform,rowHeightFn)}buildRowLayoutFrame(rows,window2,uniform,rowHeightFn){if(this.rowLayoutChunk===null||this.rowLayoutState===null||!this.spansDeclared())return null;return this.rowLayoutChunk.buildRowLayoutFrame(this.rowLayoutState,this.rowLayoutHostView(rows,uniform,rowHeightFn),window2)}spanAwareMove(direction,fallback){if(this.rowLayoutChunk===null)return fallback;return this.rowLayoutChunk.spanAwareMove(this.rowLayoutFrame,this.activeCell,direction,fallback)}spanAwareCellText(r,c,rows,cols){if(this.rowLayoutChunk===null)return this.cellDisplayText(r,c,rows,cols);return this.rowLayoutChunk.spanAwareCellText(this.rowLayoutFrame,this.spanExportMode,r,c,(rr,cc)=>this.cellDisplayText(rr,cc,rows,cols))}async getRowSpan(colId){if(!this.usingColumnDefsApi())return null;const{chunk,state}=await this.rowLayout();const rows=this.getDisplayRows();const report=chunk.rowSpanReport(state,this.rowLayoutHostView(rows,this.uniformRowHeight(),this.rowHeightFn),String(colId));return report}async getCellSpan(rowIndex,colId){if(!this.usingColumnDefsApi())return null;const{chunk,state}=await this.rowLayout();const rows=this.getDisplayRows();const info=chunk.cellSpanInfo(state,this.rowLayoutHostView(rows,this.uniformRowHeight(),this.rowHeightFn),Number(rowIndex),String(colId));return info}async getSpanInteraction(query){const{chunk,state}=await this.rowLayout();const rows=this.getDisplayRows();const win=this.virtualWindow;return chunk.spanInteractionFor(state,this.rowLayoutHostView(rows,this.uniformRowHeight(),this.rowHeightFn),this.rowLayoutFrame,win===null?{startIndex:0,endIndex:rows.length}:{startIndex:win.startIndex,endIndex:win.endIndex},this.spanExportMode,query)}async loadSsrmOpsChunk(){const chunk=await this.getChunkLoader().load("ssrm-ops");this.acceptProUiChunk("ssrm-ops",chunk);return chunk}ssrmDeclared(){return this.serverSideDatasource!=null&&this.usingColumnDefsApi()}async ssrmOps(){if(!this.serverSideModeActive())return null;if(this.serverSideState===null&&this.proUiChunks["ssrm-ops"]===void 0&&this.proGate().entitled("grid.server-side-row-model")){await this.loadSsrmOpsChunk()}if(!this.serverSideModeActive()||this.serverSideState===null)return null;const chunk=await this.loadSsrmOpsChunk();return{chunk,registry:this.advanceSsrmRegistryWith(chunk)}}advanceSsrmRegistryWith(chunk){const advance=chunk.advanceSsrmRegistry(this.ssrmRegistry,this.ssrmRegistryEpoch!==this.ssrmEpoch,this.serverSideState,"sy-grid-ssrm");this.ssrmRegistry=advance.registry;this.ssrmRegistryEpoch=this.ssrmEpoch;if(this.ssrmRuntime!==null)this.ssrmRuntime.trackStores(advance.registry);return advance.registry}ensureSsrmRuntime(chunk){if(this.ssrmRuntime!==null)return this.ssrmRuntime;const getRowId=this.getRowId;if(typeof getRowId!=="function")return null;const runtime=chunk.createSsrmRuntime({mintMutationId:this.mintGridMutationId,onEvent:event=>{if(event.type!=="storeUpdated")return;this.serverStoreUpdated.emit(event.detail)},waitMs:typeof this.serverSideTransactionWaitMs==="number"?this.serverSideTransactionWaitMs:void 0,getRowId:row=>String(getRowId(row)),getGroupKey:this.serverGroupKeyOf,getState:()=>({registry:this.advanceSsrmRegistryWith(chunk),ssrm:this.serverSideState}),commitState:next=>{this.ssrmRegistry=next.registry;this.serverSideState=next.ssrm}});if(this.ssrmRegistry!==null)runtime.trackStores(this.ssrmRegistry);this.ssrmRuntime=runtime;return runtime}teardownSsrmRuntime(){if(this.ssrmRuntime===null)return;this.ssrmRuntime.destroy();this.ssrmRuntime=null}async ssrmSel(){const chunk=await this.loadSsrmOpsChunk();return chunk.ssrmSelectionFacade(this,chunk)}ssrmSelGesture(apply){void this.ssrmSel().then(apply,()=>void 0)}async ssrmOpsGated(){if(this.ssrmDeclared()&&!gridProChunkInBuild("ssrm-ops"))await this.loadSsrmOpsChunk();return this.ssrmOps()}ssrmGroupCheckAttrs(groupKey){const check=this.ssrmSelectionProjection?.groupChecks.get(groupKey);if(check===void 0)return null;const attrs=bodyCheckboxAttrs(check==="checked",this.resolvedMessages["a11y.selectRowCheckbox"]);return h("span",{class:{"sy-grid__selection-checkbox":true,"sy-grid__selection-checkbox--checked":check==="checked","sy-grid__selection-checkbox--mixed":check==="indeterminate"},role:attrs.role,"aria-checked":check==="indeterminate"?"mixed":attrs["aria-checked"],"aria-label":attrs["aria-label"],tabindex:attrs.tabindex})}async getServerSideSelectionState(){return this.proMethod("getServerSideSelectionState",{load:()=>this.ssrmSel(),exec:sel=>sel.read("flat")})}async getServerGroupSelectionState(){return this.proMethod("getServerGroupSelectionState",{load:()=>this.ssrmSel(),exec:sel=>sel.read("group")})}async setServerSideSelectionState(input){return this.proMethod("setServerSideSelectionState",{load:()=>this.ssrmSel(),exec:sel=>sel,publish:sel=>sel.set("flat",input)})}async setServerGroupSelectionState(input){return this.proMethod("setServerGroupSelectionState",{load:()=>this.ssrmSel(),exec:sel=>sel,publish:sel=>sel.set("group",input)})}async selectAllServerSide(action="select"){return this.proMethod("selectAllServerSide",{load:()=>this.ssrmSel(),exec:sel=>sel,publish:sel=>sel.selectAll(action)})}async selectServerGroupChildren(groupKeys,action="select"){return this.proMethod("selectServerGroupChildren",{load:()=>this.ssrmSel(),exec:sel=>sel,publish:sel=>sel.groupChildren(groupKeys,action)})}ssrmRefusedTxn(status,transaction){const rows=[];if(transaction){if(Array.isArray(transaction.add))rows.push(...transaction.add);if(Array.isArray(transaction.update))rows.push(...transaction.update);if(Array.isArray(transaction.remove))rows.push(...transaction.remove)}const none=[];return{status,storeId:"",added:[],updated:[],removed:[],unresolved:rows,aggregateStaleStoreIds:none,regroupOwedRowIds:none,closedStoreIds:none,droppedNodePaths:none,droppedExpandedPaths:none,issue:status==="no-row-id"?SSRM_NEEDS_ROW_ID:SSRM_INACTIVE}}async refreshServerSide(input){const mode=input?.mode==="purge"?"purge":"soft";const inactive=()=>{const none=[];return{status:"not-server-side",storeId:"",mode,reloadedStoreIds:none,closedStoreIds:none,recreatedStoreIds:none,abortedStoreIds:none,rescuedLoadingBlocks:0,generation:-1,issue:SSRM_INACTIVE}};return this.proMethod("refreshServerSide",{validate:()=>this.ssrmDeclared()?void 0:{result:inactive()},load:()=>this.ssrmOpsGated(),exec:ops=>ops,publish:ops=>{if(ops===null)return inactive();const outcome=ops.chunk.runServerSideRefresh(ops.registry,this.serverSideState,{route:Array.isArray(input?.route)?input.route:[],mode});this.ssrmRegistry=outcome.registry;if(outcome.result.status==="accepted"){this.serverSideState=outcome.ssrm;for(const path of outcome.floorPaths){this.ssrmRefreshFloors.set(path,outcome.generation)}if(outcome.routePath===""&&(outcome.ssrm.pivotResultFields.length>0||outcome.ssrm.pivotResultColumns.length>0)){this.serverPivotResultsStale=true}const runtime=this.ssrmRuntime;if(runtime!==null){runtime.hub.recordStoreClosed(outcome.result.closedStoreIds);for(const record of outcome.recreatedRecords)runtime.hub.trackStore(record)}this.lastServerFetchWindow=null;this.recomputeVirtualWindow()}return ops.chunk.publicServerRefreshResult(outcome)}})}async applyServerSideTransaction(transaction){return this.proMethod("applyServerSideTransaction",{validate:()=>this.ssrmDeclared()?void 0:{result:this.ssrmRefusedTxn("not-server-side",transaction)},load:()=>this.ssrmOpsGated(),exec:ops=>ops,publish:ops=>{if(ops===null)return this.ssrmRefusedTxn("not-server-side",transaction);const runtime=this.ensureSsrmRuntime(ops.chunk);if(runtime===null)return this.ssrmRefusedTxn("no-row-id",transaction);const getRowId=this.getRowId;const application=ops.chunk.applyServerStoreTransaction(ops.registry,this.serverSideState,{route:Array.isArray(transaction?.route)?transaction.route:[],add:transaction?.add,addIndex:transaction?.addIndex,update:transaction?.update,remove:transaction?.remove},{getRowId:row=>String(getRowId(row)),getGroupKey:this.serverGroupKeyOf});this.ssrmRegistry=application.registry;this.serverSideState=application.ssrm;runtime.recordEffectiveTransaction(application,application.registry);return ops.chunk.publicServerTransactionResult(application)}})}async applyServerSideTransactionAsync(transaction,onSettle){const inactive=()=>({status:"not-server-side",txnId:-1,issue:SSRM_INACTIVE});return this.proMethod("applyServerSideTransactionAsync",{validate:()=>this.ssrmDeclared()?void 0:{result:inactive()},load:()=>this.ssrmOpsGated(),exec:ops=>ops,publish:ops=>{if(ops===null)return inactive();const runtime=this.ensureSsrmRuntime(ops.chunk);if(runtime===null){return{status:"no-row-id",txnId:-1,issue:SSRM_NEEDS_ROW_ID}}const chunk=ops.chunk;const enqueue=runtime.queue.enqueue({route:Array.isArray(transaction?.route)?transaction.route:[],add:transaction?.add,addIndex:transaction?.addIndex,update:transaction?.update,remove:transaction?.remove},typeof onSettle==="function"?disposition=>onSettle(chunk.publicServerTransactionSettlement(disposition)):void 0);if(enqueue.status==="queued")return{status:"queued",txnId:enqueue.txnId,issue:""};return{status:"refused-destroyed",txnId:-1,issue:enqueue.detail}}})}async flushServerSideAsyncTransactions(){const empty=()=>({status:"empty",batchId:-1,settledCount:0,issue:""});const idle=()=>this.ssrmRuntime===null||!this.serverSideModeActive()||this.serverSideState===null;return this.proMethod("flushServerSideAsyncTransactions",{validate:()=>this.ssrmRuntime===null||!this.ssrmDeclared()?{result:empty()}:void 0,exec:()=>void 0,publish:()=>{const runtime=this.ssrmRuntime;if(runtime===null||idle())return empty();const outcome=runtime.queue.flush();if(outcome.status==="flushed"){return{status:"flushed",batchId:outcome.batch.batchId,settledCount:outcome.batch.dispositions.length,issue:""}}if(outcome.status==="empty")return empty();return{status:outcome.reason==="reentrant"?"refused-reentrant":"refused-destroyed",batchId:-1,settledCount:0,issue:outcome.detail}}})}async getServerSideStoreState(){return this.proMethod("getServerSideStoreState",{exec:async()=>{const ops=await this.ssrmOps();if(ops===null)return null;const inspection=ops.chunk.inspectServerState(ops.registry,this.serverSideState);return{...inspection,discardedStaleLandings:this.ssrmDiscardedStaleLandings}}})}async getServerPivotResultColumns(){return this.proMethod("getServerPivotResultColumns",{exec:async()=>{const ops=await this.ssrmOps();if(ops===null)return null;return ops.chunk.describeServerPivotResultColumns(this.serverSideState,this.serverPivotResultsStale)}})}async auditServerPivotResultColumns(colIds){return this.proMethod("auditServerPivotResultColumns",{exec:async()=>{const ops=await this.ssrmOps();if(ops===null)return null;const ids=Array.isArray(colIds)?colIds.filter(id=>typeof id==="string"):[];return ops.chunk.auditServerPivotResultColumns(this.serverSideState,this.serverPivotResultsStale,ids)}})}workbookValuesPropagated;workbookOpsChunk=null;workbookOpsEnrollment=null;workbookOpsKickSeq=0;workbookOpsHostBag=null;workbookOpsHost(){if(this.workbookOpsHostBag!==null)return this.workbookOpsHostBag;const bag={getRegistration:()=>this.workbookBindingController.currentRegistration(),getEngine:()=>this.formulas===true&&this.formulaSheet!==null?this.formulaSheet.workbookEngine():null,getFields:()=>flattenColumnDefs(this.columnDefs??[]).map(col=>col&&typeof col.field==="string"&&col.field.length>0?col.field:null),getRows:()=>Array.isArray(this.rowData)?this.rowData:[],isSheetSeeding:()=>this.formulaSheetSeeding,mintMutationId:this.mintGridMutationId,canEditCell:()=>this.canEditCell??null,writeCell:async(rowIndex,field,value,mutationId)=>{const rows=Array.isArray(this.rowData)?this.rowData:[];const row=rows[rowIndex];if(row===null||row===void 0||typeof row!=="object")return"unaddressable";const result=await this.applyTransaction({update:[{...row,[field]:value}]},"workbook-spill",{source:"local",origin:{kind:"workbook-spill",mutationId}});return result.updated.length===1?"written":"unaddressable"},getRowIdFn:()=>this.getRowId??null,onPropagated:detail=>{this.formulaVersion++;this.workbookValuesPropagated.emit(detail)},onSpillMutated:()=>{this.formulaVersion++}};this.workbookOpsHostBag=bag;return bag}async loadWorkbookOpsChunk(){return await this.getChunkLoader().load("workbook-ops")}workbookOpsInactiveReason(){if(this.formulas!==true)return"formulas-off";if(this.workbookBindingController.current()===null)return"not-bound";return null}enrollWorkbookOpsWith(chunk,resync){const formulaCore=this.formulaCore;if(formulaCore===null)return null;this.workbookOpsChunk=chunk;this.workbookOpsEnrollment=chunk.enrollWorkbookGrid(formulaCore.gridSharedWorkbookRegistry(),this.workbookOpsEnrollment,this.workbookOpsHost(),{resync});return this.workbookOpsEnrollment}syncWorkbookOps(resync){const seq=++this.workbookOpsKickSeq;if(this.workbookOpsInactiveReason()!==null){this.teardownWorkbookOps();return}const chunk=this.workbookOpsChunk;if(chunk!==null){this.enrollWorkbookOpsWith(chunk,resync);return}void this.loadWorkbookOpsChunk().then(loaded=>{if(seq!==this.workbookOpsKickSeq||this.workbookOpsInactiveReason()!==null)return;this.enrollWorkbookOpsWith(loaded,false)}).catch(()=>{})}teardownWorkbookOps(){const enrollment=this.workbookOpsEnrollment;this.workbookOpsEnrollment=null;if(enrollment!==null&&this.workbookOpsChunk!==null){this.workbookOpsChunk.unenrollWorkbookGrid(enrollment)}}async workbookOps(){this.assertWorkbookModules(this.formulas===true&&this.proGate().entitled("grid.formulas"));if(this.workbookOpsInactiveReason()!==null)return null;const chunk=this.workbookOpsChunk??await this.loadWorkbookOpsChunk();const enrollment=this.enrollWorkbookOpsWith(chunk,false);return enrollment===null?null:{chunk,enrollment}}async workbookOpsChunkIfActive(){this.assertWorkbookModules(this.formulas===true);if(this.workbookOpsInactiveReason()!==null)return null;return this.workbookOpsChunk??await this.loadWorkbookOpsChunk()}assertWorkbookModules(required){if(!required)return;for(const chunk of["formula-core","workbook-ops"]){if(!gridProChunkInBuild(chunk))throw new GridChunkLoadError(chunk,"unknown","source")}}workbookOpsEnrolled(chunk){if(chunk===null||this.workbookOpsInactiveReason()!==null)return null;const enrollment=this.enrollWorkbookOpsWith(chunk,false);return enrollment===null?null:{chunk,enrollment}}recordWorkbookOpsCommit(field,row,rawValue){const chunk=this.workbookOpsChunk;const enrollment=this.workbookOpsEnrollment;const sheet=this.formulaSheet;if(chunk===null||enrollment===null||sheet===null)return;const cell=sheet.cellCoordinate(field,row);if(cell===null)return;chunk.recordWorkbookCommit(enrollment,cell.col,cell.row,rawValue)}async getWorkbookPropagationState(){return this.proMethod("getWorkbookPropagationState",{exec:async()=>{const ops=await this.workbookOps();if(ops===null)return this.workbookInactiveState();return ops.chunk.workbookPropagationState(ops.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:WORKBOOK_INACTIVE}}async flushWorkbookPropagation(){const inactive=()=>({status:"inactive",reason:this.wbInactiveReason(),transactionCount:0,generations:[],issue:WORKBOOK_INACTIVE});return this.proMethod("flushWorkbookPropagation",{validate:()=>this.formulas===true?void 0:{result:inactive()},load:()=>this.workbookOpsChunkIfActive(),exec:chunk=>chunk,publish:chunk=>{const ops=this.workbookOpsEnrolled(chunk);if(ops===null)return inactive();return ops.chunk.flushWorkbook(ops.enrollment)}})}async getWorkbookSnapshotReport(){return this.proMethod("getWorkbookSnapshotReport",{exec:async()=>{const ops=await this.workbookOps();if(ops===null){return{status:"inactive",reason:this.wbInactiveReason(),workbookKey:-1,sheetId:-1,registrationId:-1,generation:-1,snapshotHash:"",cells:[],issue:WORKBOOK_INACTIVE}}return ops.chunk.workbookSnapshotReport(ops.enrollment)}})}async getWorkbookIntegrityReport(){return this.proMethod("getWorkbookIntegrityReport",{exec:async()=>{const ops=await this.workbookOps();if(ops===null){return{status:"inactive",reason:this.wbInactiveReason(),cyclicCells:0,cycleDependentCells:0,unprovenCells:0,provenAcyclicCells:0,sheetVerdicts:[],publishingCycleCells:0,issue:WORKBOOK_INACTIVE}}return ops.chunk.workbookIntegrityReport(ops.enrollment)}})}async applySpillFormula(input){return this.proMethod("applySpillFormula",{validate:()=>this.formulas===true?void 0:{result:this.spillInactiveResult(input)},load:()=>this.workbookOpsChunkIfActive(),exec:chunk=>chunk,publish:chunk=>{const ops=this.workbookOpsEnrolled(chunk);if(ops===null)return this.spillInactiveResult(input);return ops.chunk.applyWorkbookSpill(ops.enrollment,input?.col,input?.row,input?.source)}})}spillInactiveResult(input){return{status:"refused",reason:"workbook-inactive",mutationId:null,anchor:{col:Number(input?.col??-1),row:Number(input?.row??-1)},rows:0,cols:0,collisions:[],blockingCell:null,reconciledEmptyCells:0,unpaintedCells:0,rangeHash:"",stateHash:"",issue:WORKBOOK_INACTIVE}}async clearSpillFormula(target){const inactive=()=>({status:"refused",reason:"workbook-inactive",mutationId:null,anchor:{col:Number(target?.col??-1),row:Number(target?.row??-1)},issue:WORKBOOK_INACTIVE});return this.proMethod("clearSpillFormula",{validate:()=>this.formulas===true?void 0:{result:inactive()},load:()=>this.workbookOpsChunkIfActive(),exec:chunk=>chunk,publish:chunk=>{const ops=this.workbookOpsEnrolled(chunk);if(ops===null)return inactive();return ops.chunk.clearWorkbookSpill(ops.enrollment,target?.col,target?.row)}})}async undoSpillTransaction(mutationId){const inactive=()=>({status:"refused",reason:"workbook-inactive",mutationId:mutationId??null,appliedWrites:0,issue:WORKBOOK_INACTIVE});return this.proMethod("undoSpillTransaction",{validate:()=>this.formulas===true?void 0:{result:inactive()},load:()=>this.workbookOpsChunkIfActive(),exec:chunk=>chunk,publish:chunk=>{const ops=this.workbookOpsEnrolled(chunk);if(ops===null)return inactive();return ops.chunk.undoWorkbookSpill(ops.enrollment,mutationId)}})}async getSpillReport(){return this.proMethod("getSpillReport",{exec:async()=>{const ops=await this.workbookOps();if(ops===null){return{status:"refused",reason:"workbook-inactive",engineLane:"none",anchors:[],overlaps:[],stateHash:"",issue:WORKBOOK_INACTIVE}}return ops.chunk.workbookSpillReport(ops.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(model){this.activeFilters={...model};this.scheduleLifecycleFilterPeerNotification();this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange()}chartLinkRows(){const rows=this.getDisplayRows();const columns=this.applyColumnOrder(this.resolvedColumnDefs());return rows.map((row,index)=>{const data=isPivotRowGroupMarker(row)||isPivotGrandTotalRow(row)||this.isPivotSubtotalDisplayRow(row)?row:this.copyableDataRowAt(rows,index);if(data===null)return{};const callbackRow=this.readPolicyConfigured()?this.maskDeniedFields(data,index,columns):data;const flat={...callbackRow};for(const col of columns){if(typeof col.field!=="string"||col.field==="")continue;const raw=this.rawFieldValue(data,index,col);flat[col.field]=this.isCellReadable(raw,data,index,col)?this.cellRawValue(col.valueGetter?callbackRow:data,index,col):this.maskedCellValue}return flat})}chartLinkHost(){if(this.chartLinkHostBag!==null)return this.chartLinkHostBag;const bag={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:model=>this.applyChartLinkFilterModel(model),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 report=this.ssrmEngine().describeServerPivotResultColumns(this.serverSideState,this.serverPivotResultsStale);return this.chartLinkChunk.chartLinkServerPivotModel(report,this.serverSideRowGroupFields()[0]??null)}const pivot=this.pivotModeActive()?this.pivotComputation():null;return pivot?this.chartLinkChunk.chartLinkPivotModel(this.groupPivotEngine().describeSecondaryColumns(pivot.meta)):null},pivotRowKind:index=>{const row=this.getDisplayRows()[index];return isLoadingPlaceholderRow(row)?"unloaded":isPivotGrandTotalRow(row)?"grand-total":this.isPivotSubtotalDisplayRow(row)?"subtotal":"data"},emitEvent:event=>{const detail=event;if(event.type==="created")this.chartCreated.emit(detail);else if(event.type==="rangeChanged")this.chartRangeChanged.emit(detail);else if(event.type==="optionsChanged")this.chartOptionsChanged.emit(detail);else this.chartDestroyed.emit(detail)}};this.chartLinkHostBag=bag;return bag}async chartLinkRuntime(){if(this.chartLinkRuntimeRef!==null)return this.chartLinkRuntimeRef;const chunk=this.chartLinkChunk??await this.loadChartLinkChunk();this.chartLinkChunk=chunk;this.chartLinkRuntimeRef??=chunk.createChartLinkRuntime(this.chartLinkHost());return this.chartLinkRuntimeRef}async createRangeChart(params){return this.proMethod("createRangeChart",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime,publish:runtime=>runtime.createChart(params)})}async updateChart(chartId,patch){return this.proMethod("updateChart",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime,publish:runtime=>runtime.updateChart(chartId,patch)})}async destroyChart(chartId){return this.proMethod("destroyChart",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.destroyChart(chartId)})}async getChartRefs(){return this.proMethod("getChartRefs",{load:()=>this.chartLinkRuntime(),exec:runtime=>[...runtime.charts()]})}async syncCharts(mutation="edit"){return this.proMethod("syncCharts",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime,publish:runtime=>{this.chartLinkGeneration+=1;return runtime.syncCharts(mutation)}})}async getChartMenuModel(permissions){return this.proMethod("getChartMenuModel",{load:()=>this.chartLinkRuntime(),exec:runtime=>{if(permissions!==void 0)this.chartLinkPermissionState=permissions;return runtime.menuModel()}})}async openChartToolPanel(permissions){return this.proMethod("openChartToolPanel",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime,publish:runtime=>{if(permissions!==void 0)this.chartLinkPermissionState=permissions;return runtime.openToolPanel()}})}async closeChartToolPanel(){return this.proMethod("closeChartToolPanel",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.closeToolPanel()})}async getChartToolPanelReport(){return this.proMethod("getChartToolPanelReport",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.panelReport()})}async activateChartToolPanelItem(){return this.proMethod("activateChartToolPanelItem",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime,publish:runtime=>runtime.panelActivate()})}async getChartModels(){return this.proMethod("getChartModels",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.captureModels()})}async restoreChartModels(envelope){return this.proMethod("restoreChartModels",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime,publish:runtime=>runtime.restoreModels(envelope)})}async exportChartImage(chartId,request){return this.proMethod("exportChartImage",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.exportChart(chartId,request)})}async applyChartCrossFilter(chartId,colId,action,categories){return this.proMethod("applyChartCrossFilter",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime,publish:runtime=>runtime.crossFilter(chartId,colId,action,categories)})}async resetChartCrossFilter(){return this.proMethod("resetChartCrossFilter",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.resetCrossFilter()})}async getChartAccessibleSummary(chartId){return this.proMethod("getChartAccessibleSummary",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.accessibleSummary(chartId)})}async getChartFleetReport(){return this.proMethod("getChartFleetReport",{load:()=>this.chartLinkRuntime(),exec:runtime=>runtime.fleetReport()})}teardownChartLink(){const runtime=this.chartLinkRuntimeRef;this.chartLinkRuntimeRef=null;runtime?.disconnect()}stateChangeTracker=createStateChangeTracker();stateEventCoalescer=createStateEventCoalescer();stateUpdatedFlushScheduled=false;stateAtomSnapshot(){const snapshot={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};return snapshot}noteStateAtomsAfterRender(){const changed=this.stateChangeTracker.diff(this.stateAtomSnapshot());if(changed.length===0)return;this.stateEventCoalescer.note(changed);this.scheduleStateUpdatedFlush()}noteStateBatchSource(source,slices){if(slices.length===0)return;this.stateEventCoalescer.note(slices,source);this.scheduleStateUpdatedFlush()}scheduleStateUpdatedFlush(){if(this.stateUpdatedFlushScheduled||this.stateEventCoalescer.isFinalized())return;this.stateUpdatedFlushScheduled=true;const flush=()=>{this.stateUpdatedFlushScheduled=false;this.flushStateUpdated()};if(typeof requestAnimationFrame==="function")requestAnimationFrame(flush);else setTimeout(flush,0)}flushStateUpdated(){const pending=this.stateEventCoalescer.takeFlush();if(pending===null)return;this.stateUpdated.emit({changedSlices:[...pending.changedSlices],sources:[...pending.sources],coalescedBatches:pending.coalescedBatches})}emitPreDestroyedOnce(){if(this.stateEventCoalescer.isFinalized())return;this.flushStateUpdated();if(!this.stateEventCoalescer.finalizeOnce())return;const built=buildGridState(this.gridStateCaptureInput());const detail={state:built.state,captureIssues:built.issues};this.preDestroyed.emit(detail)}applyInitialGridState(){if(this.initialState===void 0||this.initialState===null)return;const migration=migrateGridState(this.initialState);if(!migration.ok||migration.state===null){console.warn("[SG:STATE] initialState rejected by migration:",migration.issues.map(issue=>`${issue.path} ${issue.detail}`).join("; "));return}const plan=planGridStateApply(migration.state,this.gridStateApplyContexts());if(!plan.ok){console.warn("[SG:STATE] initialState rejected:",plan.issues.map(issue=>`${issue.path} ${issue.detail}`).join("; "));return}const requirements=scanGridStateProRequirements(plan,migration.state);if(requirements.length>0){const features=gridStateRequirementFeatures(requirements);if(this.proGate().awaiting(features)){this.initialStateLicenseFeatures=features;return}const refused=this.proGate().refuseRequest(features,"initialState");if(refused.length>0){console.warn("[SG:STATE] initialState rejected (license):",gridStateLicenseIssues(requirements,refused).map(issue=>`${issue.path} ${issue.detail}`).join("; "));return}const filterNeeds=gridProFilterRequirements(requirements);if(filterNeeds.length>0&&!gridProChunkInBuild("pro-filters")){for(const feature of gridStateRequirementFeatures(filterNeeds))this.proModuleAvailable(feature,"initialState","pro-filters");console.warn("[SG:STATE] initialState rejected (module-missing):",gridStateModuleIssues(filterNeeds,"module-missing","pro-filters").map(issue=>`${issue.path} ${issue.detail}`).join("; "));return}}if(plan.find){void this.proFiltersModuleStep(requirements,"initialState").then(async step=>{if(!this.host.isConnected||step.issues.length>0)return;const current=planGridStateApply(migration.state,this.gridStateApplyContexts());if(!current.ok)return;const currentRequirements=scanGridStateProRequirements(current,migration.state);if(this.proGate().refuseRequest(gridStateRequirementFeatures(currentRequirements),"initialState").length>0)return;await this.executeGridStatePlan(current);this.noteStateBatchSource("initial-state",current.appliedSlices);this.reEvaluateEngine()}).catch(error=>console.warn("[SG:STATE] initialState failed:",error));return}void this.executeGridStatePlan(plan);this.noteStateBatchSource("initial-state",plan.appliedSlices);this.reEvaluateEngine()}computeAutoSizeWidth(col){const headerText=typeof col.headerName==="string"&&col.headerName.length>0?col.headerName:col.field;const cellTexts=this.harvestVisibleCellTexts(col);const font=this.resolveAutoSizeFont();const measureText=text=>this.measureTextPx(text,font);const opts={font};const colMin=this.resolveInteractiveColumnMinWidth(col);const colMax=this.resolveColumnMaxWidth(col,colMin);return measureAutoSizeWidth({headerText,cellTexts,colMin,colMax:Number.isFinite(colMax)?colMax:void 0,measureText},opts)}resolveAutoSizeFont(){return"14px sans-serif"}harvestVisibleCellTexts(col){const rows=this.getDisplayRows();const colId=col.field;const out=new Array(rows.length);for(let i=0;i<rows.length;i++){const row=rows[i];const extensionRow=this.readPolicyConfigured()?this.maskDeniedFields(row,i,this.resolvedColumnDefs()):row;let value;try{value=this.resolveGridCellValue({row:extensionRow,rowIndex:i,colId,field:colId,valueGetter:col.valueGetter,colDef:col})}catch{value=extensionRow[colId]}if(this.readPolicyConfigured()&&!this.isCellReadable(this.rawFieldValue(row,i,col),row,i,col))value=this.maskedCellValue;let text;if(col.valueFormatter!==void 0&&col.valueFormatter!==null){try{text=this.formatGridCellValue({value,row:extensionRow,rowIndex:i,colId,valueFormatter:col.valueFormatter,locale:typeof this.locale==="string"?this.locale:"en",colDef:col})}catch{text=value==null?"":String(value)}}else if(value==null){text=""}else{text=String(value)}out[i]=text}return out}measureTextPx(text,font){let ctx=this.autoSizeCanvasCache.get(font)??null;if(ctx===null){ctx=this.createAutoSizeContext(font);if(ctx!==null)this.autoSizeCanvasCache.set(font,ctx)}if(ctx===null)return 0;try{const metrics=ctx.measureText(text);const w=metrics.width;return typeof w==="number"&&Number.isFinite(w)&&w>=0?w:0}catch{return 0}}createAutoSizeContext(font){try{if(typeof OffscreenCanvas!=="undefined"){const off=new OffscreenCanvas(1,1);const ctx=off.getContext("2d");if(ctx!==null){ctx.font=font;return ctx}}}catch{}try{if(typeof document!=="undefined"&&typeof document.createElement==="function"){const canvas=document.createElement("canvas");const ctx=canvas.getContext("2d");if(ctx!==null){ctx.font=font;return ctx}}}catch{}return null}handleColumnReorderPointerDown(event,colId){event.preventDefault();event.stopPropagation();const columnIds=this.effectiveColumnIds();this.columnReorderController.start({colId,columnIds});if(!this.columnReorderController.isActive())return;const headerEl=event.currentTarget;this.startColumnReorderPreview(colId,headerEl,event.clientX,event.clientY);if(headerEl&&typeof headerEl.setPointerCapture==="function"){try{headerEl.setPointerCapture(event.pointerId)}catch{}}this.columnReorderPointerId=event.pointerId;this.columnReorderHeaderEl=headerEl;this.columnReorderHeaderRowEl=headerEl?.parentElement;this.columnReorderStartRects=this.captureColumnReorderStartRects();this.columnReorderStartPointerX=event.clientX;this.attachColumnReorderDocumentListeners();if(typeof document!=="undefined"&&document.body){document.body.style.cursor="grabbing"}const escHandler=ev=>{if(ev.key==="Escape"&&this.columnReorderController.isActive()){ev.preventDefault();this.cancelColumnReorder()}};this.columnReorderEscHandler=escHandler;if(typeof document!=="undefined"){document.addEventListener("keydown",escHandler,true)}}attachColumnReorderDocumentListeners(){if(typeof document==="undefined")return;this.detachColumnReorderDocumentListeners();const matchesPointer=event=>this.columnReorderPointerId===null||event.pointerId===this.columnReorderPointerId;this.columnReorderDocPointerMoveHandler=event=>{if(!matchesPointer(event))return;this.handleColumnReorderPointerMove(event)};this.columnReorderDocPointerUpHandler=event=>{if(!matchesPointer(event))return;this.handleColumnReorderPointerUp(event)};this.columnReorderDocPointerCancelHandler=event=>{if(!matchesPointer(event))return;this.handleColumnReorderPointerCancel(event)};document.addEventListener("pointermove",this.columnReorderDocPointerMoveHandler,true);document.addEventListener("pointerup",this.columnReorderDocPointerUpHandler,true);document.addEventListener("pointercancel",this.columnReorderDocPointerCancelHandler,true)}detachColumnReorderDocumentListeners(){if(typeof document==="undefined")return;if(this.columnReorderDocPointerMoveHandler){document.removeEventListener("pointermove",this.columnReorderDocPointerMoveHandler,true)}if(this.columnReorderDocPointerUpHandler){document.removeEventListener("pointerup",this.columnReorderDocPointerUpHandler,true)}if(this.columnReorderDocPointerCancelHandler){document.removeEventListener("pointercancel",this.columnReorderDocPointerCancelHandler,true)}this.columnReorderDocPointerMoveHandler=null;this.columnReorderDocPointerUpHandler=null;this.columnReorderDocPointerCancelHandler=null}captureColumnReorderStartRects(){const rowEl=this.columnReorderHeaderRowEl;if(!rowEl)return[];const children=Array.from(rowEl.children);const dataCells=children.filter(el=>!el.classList.contains("sy-grid__header-cell--selection"));return dataCells.map(el=>{const rect=el.getBoundingClientRect();return{left:rect.left,right:rect.right}})}computeReorderTargetIndex(clientX){const active=this.columnReorderController.getActive();if(active===null)return null;const rects=this.columnReorderStartRects;if(rects.length===0)return null;const originIndex=Math.max(0,Math.min(active.originIndex,rects.length-1));let targetIndex=originIndex;const movingRight=clientX>this.columnReorderStartPointerX;const rightProbeX=movingRight?clientX+this.columnReorderPointerToRightEdge:clientX;for(let i=originIndex+1;i<rects.length;i++){if(rightProbeX<rects[i].left)break;targetIndex=i}for(let i=originIndex-1;i>=0;i--){if(clientX>rects[i].right)break;targetIndex=i}return targetIndex}handleColumnReorderPointerMove(event){if(!this.columnReorderController.isActive())return;this.updateColumnReorderPreview(event.clientX,event.clientY);const overPanel=this.groupPanelActive()&&this.pointerOverGroupPanel(event.clientX,event.clientY);if(overPanel!==this.columnDragOverGroupPanel)this.columnDragOverGroupPanel=overPanel;if(overPanel)return;const targetIndex=this.computeReorderTargetIndex(event.clientX);if(targetIndex===null)return;const result=this.columnReorderController.move({targetIndex});if(result===null)return;const active=this.columnReorderController.getActive();if(active===null)return;const live=active.columnIdsAtStart.slice();const[picked]=live.splice(active.originIndex,1);live.splice(active.currentIndex,0,picked);this.columnOrder=live.slice();this.alignedNotify()}handleColumnReorderPointerUp(_event){if(!this.columnReorderController.isActive())return;if(this.columnDragOverGroupPanel){const colId=this.columnReorderController.getActive()?.draggedColId??null;this.cancelColumnReorder();this.columnDragOverGroupPanel=false;if(colId!==null)this.setGroupByFromPanel(colId);return}if(this.reorderableColumns!==true){this.cancelColumnReorder();return}this.commitColumnReorder()}pointerOverGroupPanel(x,y){const el=this.groupPanelEl;if(el===null)return false;const r=el.getBoundingClientRect();return x>=r.left&&x<=r.right&&y>=r.top&&y<=r.bottom}setGroupByFromPanel(field){if(this.groupBy===field)return;if(!this.proNewWorkAllowed("grid.row-grouping","groupPanel"))return;this.groupBy=field;this.rowGroupChanged.emit({groupBy:field})}clearGroupByFromPanel(){if(this.groupBy===void 0||this.groupBy==="")return;this.groupBy=void 0;this.rowGroupChanged.emit({groupBy:null})}handleColumnReorderPointerCancel(_event){if(!this.columnReorderController.isActive())return;this.cancelColumnReorder()}commitColumnReorder(){const result=this.columnReorderController.commit();if(result!==null){const orderAfter=result.orderAfter.slice();this.columnOrder=orderAfter.slice();this.alignedNotify();if(result.finalIndex!==result.originIndex){this.columnReordered.emit({colId:result.colId,originIndex:result.originIndex,finalIndex:result.finalIndex,orderBefore:result.orderBefore,orderAfter:result.orderAfter})}}this.teardownColumnReorderDrag()}cancelColumnReorder(){const active=this.columnReorderController.getActive();if(active!==null){this.columnOrder=active.columnIdsAtStart.slice();this.alignedNotify()}this.columnReorderController.cancel();this.teardownColumnReorderDrag()}teardownColumnReorderDrag(){if(this.columnReorderHeaderEl&&this.columnReorderPointerId!==null){try{if(typeof this.columnReorderHeaderEl.releasePointerCapture==="function"){this.columnReorderHeaderEl.releasePointerCapture(this.columnReorderPointerId)}}catch{}}this.columnReorderPointerId=null;this.columnReorderHeaderEl=null;this.columnReorderHeaderRowEl=null;if(this.columnDragOverGroupPanel)this.columnDragOverGroupPanel=false;this.columnReorderStartRects=[];this.columnReorderStartPointerX=0;this.columnReorderPointerToRightEdge=0;this.detachColumnReorderDocumentListeners();this.removeColumnReorderPreview();this.columnReorderPointerOffsetX=0;this.columnReorderPointerOffsetY=0;if(this.columnReorderEscHandler&&typeof document!=="undefined"){document.removeEventListener("keydown",this.columnReorderEscHandler,true)}this.columnReorderEscHandler=null;if(typeof document!=="undefined"&&document.body){document.body.style.cursor=""}}async setHoveredRow(rowId){this.applyHoverTransition(rowId)}async getHoveredRowId(){return this.hoverState.hoveredRowId}async getActiveEditTransaction(){return this.editStore.active}async commitActiveEdit(){const facade=this.editorFacade;if(facade!==null&&facade.lookup().status!=="idle"){const result=await facade.stop("api");return result.status==="committed"}return this.commitEditTransaction()}async cancelActiveEdit(){const hadQueuedRequest=this.invalidateLifecycleEditorRequests();const facade=this.editorFacade;const active=this.editStore.active;if(facade!==null&&facade.lookup().status!=="idle"){const result=await facade.stop("api",{cancel:true});return hadQueuedRequest||result.status==="cancelled"||result.status==="cancelled-before-start"}if(active===null)return hadQueuedRequest;if(active.phase!=="pending")return hadQueuedRequest;const rowIndex=this.editingCell?.rowIndex??active.rowIndex;const colIndex=this.editingCell?.colIndex??active.colIndex;this.editingCell=null;this.unregisterLifecycleEditorDocumentOwner();this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex,colIndex});return true}async registerCellRenderer(name,renderer){if(typeof name!=="string"||name.trim().length===0){return this.cellRendererRegistry.register(name,renderer)}if(typeof renderer!=="function"){return this.cellRendererRegistry.register(name,renderer)}const ok=this.cellRendererRegistry.register(name,renderer);if(ok){this.cellRendererVersion=this.cellRendererVersion+1}return ok}async listRegisteredCellRenderers(){return this.cellRendererRegistry.list()}async unregisterCellRenderer(name){if(typeof name!=="string")return false;if(BUILTIN_RENDERER_NAMES.indexOf(name)>=0)return false;const ok=this.cellRendererRegistry.unregister(name);if(ok){this.cellRendererVersion=this.cellRendererVersion+1}return ok}async registerGridComponent(scope,kind,name,definition){const manager=await this.getComponentManager(kind);manager.register(scope,kind,name,definition);if(scope==="local"){this.localGridComponentRegistrations.set(`${kind}\0${name.trim()}`,{kind,name:name.trim(),definition})}this.componentRegistryRevision+=1;if(kind==="filter"||kind==="floatingFilter"){this.invalidateComponentFilterRuntime()}this.lifecycleRendererPresentationVersion+=1}async replaceGridComponent(scope,kind,name,definition){const manager=await this.getComponentManager(kind);manager.replace(scope,kind,name,definition);if(scope==="local"){this.localGridComponentRegistrations.set(`${kind}\0${name.trim()}`,{kind,name:name.trim(),definition})}this.componentRegistryRevision+=1;if(kind==="filter"||kind==="floatingFilter"){this.invalidateComponentFilterRuntime()}this.lifecycleRendererPresentationVersion+=1}async unregisterGridComponent(scope,kind,name){const manager=await this.getComponentManager(kind);const removed=manager.unregister(scope,kind,name);if(removed){if(scope==="local"){this.localGridComponentRegistrations.delete(`${kind}\0${name.trim()}`)}this.componentRegistryRevision+=1;if(kind==="filter"||kind==="floatingFilter"){this.invalidateComponentFilterRuntime()}this.lifecycleRendererPresentationVersion+=1}return removed}async getRegisteredGridComponentNames(scope,kind){const manager=await this.getComponentManager(kind);return manager.list(scope,kind)}async getCellRendererInstance(rowId,colId){const identity=this.componentFacadeIdentity(rowId,colId);const manager=this.componentManager;if(identity===null){return{status:"unavailable",key:this.componentRendererCellKey(rowId,colId)}}if(manager===null){return{status:"unavailable",key:this.componentRendererCellKey(identity.rowId,identity.colId)}}return manager.renderer.lookup(identity)}async destroyCellRendererInstance(rowId,colId){const identity=this.componentFacadeIdentity(rowId,colId);const manager=this.componentManager;if(identity===null||manager===null)return false;const discovery=manager.renderer.lookup(identity);if(discovery.status!=="mounted")return false;if(this.focusedLifecycleRenderer!==null&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,identity)&&this.focusedLifecycleRenderer.generation===discovery.generation){this.releaseFocusedLifecycleRenderer()}const destroyed=await manager.renderer.destroy(identity,discovery.generation);if(destroyed){if(this.focusedLifecycleRenderer!==null&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,identity)&&this.focusedLifecycleRenderer.generation===discovery.generation){this.focusedLifecycleRenderer=null;this.lifecycleRendererFocusSequence+=1}const key=JSON.stringify([identity.rowId,identity.colId]);if(this.lifecycleRendererPresentations.delete(key)){this.lifecycleRendererPresentationVersion+=1}}return destroyed}async focusCellRendererInstance(rowId,colId,direction){const identity=this.componentFacadeIdentity(rowId,colId);const manager=this.componentManager;if(identity===null||manager===null||direction!=="in"&&direction!=="out"){return false}const discovery=manager.renderer.lookup(identity);if(discovery.status!=="mounted")return false;let focusSequence=null;const outSequence=this.lifecycleRendererFocusSequence;if(direction==="in"){const releaseSequence=this.lifecycleRendererFocusSequence;this.releaseFocusedLifecycleRenderer();if(this.lifecycleRendererFocusSequence!==releaseSequence+1){return false}focusSequence=++this.lifecycleRendererFocusSequence}const focused=direction==="in"?manager.renderer.focusIn(identity,discovery.generation):manager.renderer.focusOut(identity,discovery.generation);if(!focused)return false;if(direction==="in"){if(focusSequence!==this.lifecycleRendererFocusSequence||manager!==this.componentManager){manager.renderer.focusOut(identity,discovery.generation);return false}this.focusedLifecycleRenderer={identity,generation:discovery.generation}}else if(outSequence===this.lifecycleRendererFocusSequence&&this.focusedLifecycleRenderer!==null&&this.sameComponentIdentity(this.focusedLifecycleRenderer.identity,identity)){this.focusedLifecycleRenderer=null;this.lifecycleRendererFocusSequence+=1}return true}async getCellEditorInstance(){const lookup=this.editorFacade?.lookup();if(lookup===void 0||lookup.status!=="mounted")return null;return this.componentManager?.editor.runtime.lookup(lookup.ref.key)??null}async getColumnFilterInstance(columnId){await this.reconcileComponentFilters();const lookup=this.filterFacade?.lookupFilterInstance(columnId);return lookup?.status==="mounted"?lookup.instance:null}async getColumnFilterModel(columnId){await this.reconcileComponentFilters();const result=await this.filterFacade?.getFilterModel(columnId);return result?.status==="ok"?result.value:null}async setColumnFilterModel(columnId,model){await this.reconcileComponentFilters();const result=await this.filterFacade?.setFilterModel(columnId,model,"api");return result?.status==="ok"}async onFilterChanged(){await this.reconcileComponentFilters();const facade=this.filterFacade;if(facade===null)return;await this.runComponentFilterChangeBatch(()=>facade.synchronizeFilterModels("api"))}async refreshExternalFilter(){if(this.externalFilter==null)return false;this.externalFilterRevision+=1;this.externalFilterReadyRevision=-1;this.invalidateComponentFilterRuntime();await this.reconcileComponentFilters();return this.externalFilterRuntimeReady()}async destroyColumnFilter(columnId){await this.reconcileComponentFilters();const facade=this.filterFacade;if(facade===null)return false;const model=await facade.getFilterModel(columnId);if(model.status==="ok"){this.componentFilterModels.set(columnId,model.value)}const destroyed=await facade.destroyFilter(columnId);if(destroyed){this.componentRecentlyDestroyedFilters.add(columnId);this.componentFilterRestorePending=true;this.invalidateComponentFilterRuntime();this.lifecycleFilterVersion+=1}return destroyed}async recreateColumnFilter(columnId,options={}){const recentlyDestroyed=this.componentRecentlyDestroyedFilters.delete(columnId);const preservedModel=recentlyDestroyed?this.componentFilterModels.get(columnId):void 0;const hadPreservedModel=recentlyDestroyed&&this.componentFilterModels.has(columnId);if(recentlyDestroyed&&options.preserveModel===false){this.componentFilterModels.delete(columnId);this.componentFilterRestorePending=this.componentFilterModels.size>0}await this.reconcileComponentFilters();const facade=this.filterFacade;if(facade===null)return false;if(recentlyDestroyed&&facade.lookupFilterInstance(columnId).status==="mounted"){if(options.preserveModel===false){const cleared=await facade.setFilterModel(columnId,null,"api");if(cleared.status==="ok"&&hadPreservedModel&&preservedModel!==null&&!this.componentFilterModels.has(columnId)){this.componentFilterModels.set(columnId,preservedModel);this.handleComponentFilterChanged(columnId,"api",null)}return cleared.status==="ok"}return true}const result=await facade.recreateFilter(columnId,options);const recreated=result.status==="mounted"||result.status==="attached"||result.status==="already-attached";if(recreated)this.lifecycleFilterVersion+=1;return recreated}lifecycleEditorCellElement(rowIndex,colIndex){return this.host?.querySelector(`.sy-grid__row[data-row-index="${rowIndex}"] .sy-grid__cell[data-col-index="${colIndex}"]`)??void 0}registerLifecycleEditorDocumentOwner(){const doc=this.host?.ownerDocument;if(doc===void 0)return;let participants=activeGridEditorsByDocument.get(doc);if(participants===void 0){participants=new Map;activeGridEditorsByDocument.set(doc,participants)}participants.set(this,{contains:target=>{const ViewNode=doc.defaultView?.Node;if(ViewNode===void 0||!(target instanceof ViewNode)){return false}return this.host.contains(target)||this.lifecycleEditorAttachedWrapper?.contains(target)===true}})}focusLifecycleEditorDocumentOwner(){const doc=this.host?.ownerDocument;if(doc!==void 0&&activeGridEditorsByDocument.get(doc)?.has(this)===true){focusedGridEditorByDocument.set(doc,this)}}unregisterLifecycleEditorDocumentOwner(){const doc=this.host?.ownerDocument;if(doc===void 0)return;const participants=activeGridEditorsByDocument.get(doc);participants?.delete(this);if(participants?.size===0)activeGridEditorsByDocument.delete(doc);if(focusedGridEditorByDocument.get(doc)===this){focusedGridEditorByDocument.delete(doc)}}ownsLifecycleEditorDocumentEvent(event){const doc=this.host?.ownerDocument;if(doc===void 0)return false;const participants=activeGridEditorsByDocument.get(doc);if(participants===void 0||!participants.has(this))return false;const candidates=typeof event.composedPath==="function"?event.composedPath():[event.target];for(const candidate of candidates){for(const[owner,participant]of participants){if(participant.contains(candidate))return owner===this}}const activeElement=doc.activeElement;if(activeElement!==null){for(const[owner,participant]of participants){if(participant.contains(activeElement))return owner===this}}const focusedOwner=focusedGridEditorByDocument.get(doc);if(focusedOwner!==void 0)return focusedOwner===this;return participants.size===1}waitForLifecycleEditorAttachment(key){this.lifecycleEditorAttachmentReady?.settle(false);let settle;const task=new Promise(resolve=>{let settled=false;settle=attached=>{if(settled)return;settled=true;resolve(attached)}});this.lifecycleEditorAttachmentReady={key,task,settle};return task}settleLifecycleEditorAttachment(key,attached){const pending=this.lifecycleEditorAttachmentReady;if(pending===null||key!==void 0&&pending.key!==key)return;this.lifecycleEditorAttachmentReady=null;pending.settle(attached)}clearLifecycleEditorValidation(key,generation){const owned=this.lifecycleEditorValidationPresentation;if(owned===null||key!==void 0&&owned.ref.key!==key||generation!==void 0&&owned.ref.generation!==generation){return}this.lifecycleEditorValidationPresentation=null;owned.presentation.clear()}currentLifecycleEditorValidationTarget(ref,editorStore){try{if(this.editStore!==editorStore||editorStore.active===null||editorStore.active.phase!=="pending"||!this.host?.isConnected||this.lifecycleEditorRef?.key!==ref.key||this.lifecycleEditorRef.generation!==ref.generation||this.lifecycleEditorNavigationTarget?.key!==ref.key){return null}const target=this.resolveQueuedCellEditTarget(this.lifecycleEditorNavigationTarget.target,false);const column=target===null?void 0:this.effectiveColumns()[target.colIndex];const lookup=this.editorFacade?.lookup();const wrapper=this.lifecycleEditorAttachedWrapper;if(target===null||column===void 0||lookup?.status!=="mounted"||lookup.ref.key!==ref.key||lookup.ref.generation!==ref.generation||!lookup.attached||wrapper===null||!wrapper.isConnected||!wrapper.contains(lookup.gui)){return null}return{wrapper,rowIndex:target.rowIndex,field:column.field}}catch{return null}}reportLifecycleEditorInvalidBlock(notification,editorStore){const result=notification.result;const ref=notification.ref;if(ref===void 0||result.status!=="invalid"||result.mode!=="block"||notification.transactionOutcome!=="retained"){return}const target=this.currentLifecycleEditorValidationTarget(ref,editorStore);if(target===null){this.clearLifecycleEditorValidation(ref.key,ref.generation);return}const message=result.errors[0]?.message??"Invalid value";this.clearLifecycleEditorValidation();const presentation=this.componentEditorValidationPresenter?.(target.wrapper,message)??null;if(presentation!==null){this.lifecycleEditorValidationPresentation={ref,presentation}}const confirmed=this.currentLifecycleEditorValidationTarget(ref,editorStore);if(confirmed===null||confirmed.wrapper!==target.wrapper){this.clearLifecycleEditorValidation(ref.key,ref.generation);return}this.cellValidationFailed.emit({rowIndex:confirmed.rowIndex,field:confirmed.field,value:result.value,message})}resetLifecycleEditorPresentation(key){const ownedKey=this.lifecycleEditorRef?.key??this.lifecycleEditorNavigationTarget?.key;if(key!==void 0&&ownedKey!==void 0&&ownedKey!==key)return;this.clearLifecycleEditorValidation(key);this.settleLifecycleEditorAttachment(key,false);this.lifecycleEditorRef=null;this.lifecycleEditorCell=null;if(key===void 0||this.lifecycleEditorNavigationTarget?.key===key){this.lifecycleEditorNavigationTarget=null}this.lifecycleEditorHost=null;this.lifecycleEditorAttachTask=null;this.lifecycleEditorAttachedWrapper=null;this.lifecycleEditorPopupReposition=null;this.unregisterLifecycleEditorDocumentOwner();this.lifecycleEditorVersion+=1}invalidateLifecycleEditorRequests(){const hadQueuedRequest=this.lifecycleEditorQueuedRequestRevision!==null;this.lifecycleEditorRequestRevision+=1;this.lifecycleEditorQueuedRequestRevision=null;return hadQueuedRequest}handleLifecycleEditorStop(notification,editorStore,rowIndex,colIndex){if(notification.result.status==="invalid"&¬ification.result.mode==="block"){this.reportLifecycleEditorInvalidBlock(notification,editorStore)}else if(notification.ref!==void 0){this.clearLifecycleEditorValidation(notification.ref.key,notification.ref.generation)}if(notification.transactionOutcome==="retained"){if(this.editStore!==editorStore&¬ification.ref!==void 0&&this.lifecycleEditorRef?.key===notification.key){this.invalidateLifecycleEditorRequests();void this.editorFacade?.stop("api",{cancel:true})}return}if(notification.transactionOutcome==="cancelled"&&this.editStore===editorStore&&editorStore.active!==null&&editorStore.active.phase==="pending"){this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex,colIndex})}if(notification.terminal){if(notification.transactionOutcome==="cancelled"&¬ification.reason!=="replacement"){this.invalidateLifecycleEditorRequests()}this.resetLifecycleEditorPresentation(notification.key);if(notification.reason==="enter"||notification.reason==="escape"||notification.reason==="api"){queueMicrotask(()=>{if(!this.host?.isConnected||this.editorFacade?.lookup().status!=="idle"){return}this.viewportEl?.focus({preventScroll:true});this.focusActiveLifecycleRenderer()})}}}beginLifecycleEditor(rowIndex,colIndex,row,col,originalValue,startedBy,event){const editorStore=this.editStore;const colId=this.componentFilterColumnId(col)||String(col.field);const key=`editor:${++this.lifecycleEditorSequence}:${JSON.stringify([rowIndex,colId])}`;let rowId=null;try{rowId=this.editRowIdentity(row)}catch{rowId=null}const navigationTarget={row,rowId,colId};this.lifecycleEditorNavigationTarget={key,target:navigationTarget};this.lifecycleEditorCell={rowIndex,colIndex};this.lifecycleEditorRef=null;this.lifecycleEditorHost=null;this.lifecycleEditorVersion+=1;const resolveCurrentCell=(requireEditable=true)=>{if(this.editStore!==editorStore||this.lifecycleEditorNavigationTarget?.key!==key){return null}return this.resolveQueuedCellEditTarget(navigationTarget,requireEditable)};let componentRuntimeLoaded=false;return(async()=>{await this.getComponentManager("editor");componentRuntimeLoaded=true;const facade=this.editorFacade;if(facade===null||this.editStore!==editorStore||!this.host?.isConnected){this.resetLifecycleEditorPresentation(key);return false}const currentCell=resolveCurrentCell();const currentRow=currentCell===null?void 0:this.getDisplayRows()[currentCell.rowIndex];const currentCol=currentCell===null?void 0:this.effectiveColumns()[currentCell.colIndex];const currentValue=currentRow!==void 0&¤tRow!==null&&typeof currentRow==="object"&¤tCol!==void 0?readOwnFieldPath(currentRow,currentCol.field):void 0;if(currentCell===null||currentRow===void 0||currentRow===null||typeof currentRow!=="object"||currentCol?.cellEditor==null||!structuralEqual(currentValue,originalValue)){this.handleLifecycleEditorStop({key,ref:void 0,reason:"replacement",origin:"lifecycle",result:{status:"cancelled-before-start",key},transactionOutcome:"cancelled",terminal:true},editorStore,currentCell?.rowIndex??rowIndex,currentCell?.colIndex??colIndex);return false}this.lifecycleEditorCell=currentCell;const callbackRow=this.readPolicyConfigured()?this.maskDeniedFields(currentRow,currentCell.rowIndex,this.resolvedColumnDefs()):currentRow;const result=await facade.begin({key,declaration:currentCol.cellEditor,local:this.components,params:{value:currentValue,data:callbackRow,rowIndex:currentCell.rowIndex,colId,cellElement:this.lifecycleEditorCellElement(currentCell.rowIndex,currentCell.colIndex),startedBy,event,context:this.context},invalidMode:this.invalidEditMode,canCommit:()=>resolveCurrentCell()!==null,commitPrepared:value=>{const currentCell2=resolveCurrentCell();return currentCell2!==null&&this.commitPreparedCellEdit("editor",currentCell2.rowIndex,currentCell2.colIndex,value,originalValue,true,editorStore)},onStopResult:notification=>{const currentCell2=resolveCurrentCell(false);this.handleLifecycleEditorStop(notification,editorStore,currentCell2?.rowIndex??rowIndex,currentCell2?.colIndex??colIndex)}});if(this.editStore!==editorStore||!this.host?.isConnected){if(result.status==="started"){await facade.destroy(result.ref)}this.resetLifecycleEditorPresentation(key);return false}if(result.status==="started"){this.lifecycleEditorRef=result.ref;const attached=this.waitForLifecycleEditorAttachment(key);this.lifecycleEditorVersion+=1;const didAttach=await attached;const lookup=facade.lookup();return didAttach&&this.editStore===editorStore&&this.lifecycleEditorRef?.key===result.ref.key&&this.lifecycleEditorRef.generation===result.ref.generation&&lookup.status==="mounted"&&lookup.attached}if(result.status==="failed"||result.status==="stale"||result.status==="blocked-by-active"){this.handleLifecycleEditorStop({key,ref:void 0,reason:"replacement",origin:"lifecycle",result:result.status==="failed"?{status:"failed",key,generation:0,error:result.error}:{status:"cancelled-before-start",key},transactionOutcome:"cancelled",terminal:true},editorStore,rowIndex,colIndex)}return false})().catch(cause=>{if(componentRuntimeLoaded){this.emitComponentError({code:"CREATE_FAILED",phase:"create",componentKind:"editor",mountKey:key,retryable:true,cause})}this.handleLifecycleEditorStop({key,ref:void 0,reason:"replacement",origin:"lifecycle",result:{status:"cancelled-before-start",key},transactionOutcome:"cancelled",terminal:true},editorStore,rowIndex,colIndex);return false})}lifecycleEditorPlacement(cellElement,gui,preferred){const placement=this.componentPopupPlacement;const doc=this.host?.ownerDocument??document;const root=doc.documentElement;const anchor=cellElement?.getBoundingClientRect()??{left:0,top:0,right:0,bottom:0,width:0,height:0};const guiRect=gui.getBoundingClientRect();if(placement===null){return{position:"fixed",placement:preferred,left:anchor.left,top:preferred==="under"?anchor.bottom+4:anchor.top,width:Math.max(anchor.width,guiRect.width),maxWidth:root.clientWidth,maxHeight:root.clientHeight}}const direction=this.host.getAttribute("dir")??doc.documentElement.getAttribute("dir")??"ltr";return placement(anchor,{width:guiRect.width,height:guiRect.height},{left:0,top:0,right:root.clientWidth,bottom:root.clientHeight,width:root.clientWidth,height:root.clientHeight},{preferred,rtl:direction.toLowerCase()==="rtl",touch:doc.defaultView?.matchMedia?.("(pointer: coarse)").matches===true})}applyLifecycleEditorPlacement(wrapper,placement){wrapper.style.position=placement.position;wrapper.style.left=`${placement.left}px`;wrapper.style.top=`${placement.top}px`;wrapper.style.width=`${placement.width}px`;wrapper.style.maxWidth=`${placement.maxWidth}px`;wrapper.style.maxHeight=`${placement.maxHeight}px`;wrapper.dataset.placement=placement.placement}lifecycleEditorDomHost(){return{calculatePopupPlacement:({gui,preferred,cellElement})=>this.lifecycleEditorPlacement(cellElement,gui,preferred),attach:({ref,gui,mode,placement,cellElement})=>{const doc=this.host.ownerDocument;const wrapper=mode==="inline"?this.lifecycleEditorHost:doc.createElement("div");if(wrapper===null||!wrapper.isConnected&&mode==="inline"){throw new Error("Lifecycle editor inline host is detached.")}if(mode==="popup"){wrapper.className="sy-grid__cell-editor-component-popup";wrapper.dataset.componentKey=ref.key;const hostStyle=doc.defaultView?.getComputedStyle(this.host);if(hostStyle!==void 0){for(let index=0;index<hostStyle.length;index+=1){const property=hostStyle.item(index);if(!property.startsWith("--sy-"))continue;wrapper.style.setProperty(property,hostStyle.getPropertyValue(property))}wrapper.dir=hostStyle.direction==="rtl"?"rtl":"ltr";wrapper.style.fontFamily=hostStyle.fontFamily}doc.body.appendChild(wrapper)}wrapper.replaceChildren(gui);this.lifecycleEditorAttachedWrapper=wrapper;const currentCellElement=()=>{const target=this.lifecycleEditorNavigationTarget?.key===ref.key?this.lifecycleEditorNavigationTarget.target:null;if(target===null){return cellElement?.isConnected?cellElement:void 0}const resolved=this.resolveQueuedCellEditTarget(target,false);return resolved===null?void 0:this.lifecycleEditorCellElement(resolved.rowIndex,resolved.colIndex)};const recalculate=()=>{if(mode!=="popup"||!wrapper.isConnected)return;const anchor=currentCellElement();if(anchor===void 0||!anchor.isConnected){this.invalidateLifecycleEditorRequests();void this.editorFacade?.stop("virtual-scroll",{cancel:true});return}this.applyLifecycleEditorPlacement(wrapper,this.lifecycleEditorPlacement(anchor,gui,placement?.placement==="above"?"under":placement?.placement??"over"))};let popupResizeObserver=null;let popupRepositionFrame=null;const scheduleRecalculate=()=>{const view=doc.defaultView;if(mode!=="popup"||view===null||popupRepositionFrame!==null){return}popupRepositionFrame=view.requestAnimationFrame(()=>{popupRepositionFrame=null;recalculate()})};if(mode==="popup"){const anchor=currentCellElement();if(anchor===void 0||!anchor.isConnected){throw new Error("Lifecycle editor target cell is detached.")}this.applyLifecycleEditorPlacement(wrapper,this.lifecycleEditorPlacement(anchor,gui,placement?.placement==="above"?"under":placement?.placement??"over"));const ResizeObserverCtor=doc.defaultView?.ResizeObserver;if(ResizeObserverCtor!==void 0){popupResizeObserver=new ResizeObserverCtor(scheduleRecalculate);popupResizeObserver.observe(gui)}}const onKeyDown=keyboardEvent=>{keyboardEvent.stopPropagation();const facade=this.editorFacade;if(facade===null)return;if(keyboardEvent.isComposing!==true&&(keyboardEvent.key==="Enter"||keyboardEvent.key==="Tab"||keyboardEvent.key==="Escape"||keyboardEvent.key==="Esc")){this.invalidateLifecycleEditorRequests()}const navigationTarget=this.lifecycleEditorNavigationTarget?.key===ref.key?this.lifecycleEditorNavigationTarget.target:null;void facade.handleKey({key:keyboardEvent.key,shiftKey:keyboardEvent.shiftKey,isComposing:keyboardEvent.isComposing,preventDefault:()=>keyboardEvent.preventDefault()}).then(result=>{if(!result.handled||result.navigation===void 0||facade.lookup().status!=="idle"){return}const resolved=navigationTarget===null?null:this.resolveQueuedCellEditTarget(navigationTarget,false);if(resolved===null)return;this.handoffLifecycleRendererFocus(resolved.rowIndex,resolved.colIndex,result.navigation)})};const onFocusIn=()=>{this.focusLifecycleEditorDocumentOwner();this.editorFacade?.focusIn(ref)};const onFocusOut=focusEvent=>{const next=focusEvent.relatedTarget;if(next instanceof Node&&wrapper.contains(next))return;this.editorFacade?.focusOut(ref);void this.editorFacade?.handleBlur()};const stopPropagation=mouseEvent=>mouseEvent.stopPropagation();const onMouseDown=mouseEvent=>{mouseEvent.stopPropagation();const target=mouseEvent.target;if(target!==null&&target.closest('input, textarea, select, [contenteditable="true"], [contenteditable=""]')===null){mouseEvent.preventDefault()}};wrapper.addEventListener("keydown",onKeyDown);wrapper.addEventListener("focusin",onFocusIn);wrapper.addEventListener("focusout",onFocusOut);wrapper.addEventListener("mousedown",onMouseDown);wrapper.addEventListener("click",stopPropagation);if(mode==="popup"){doc.defaultView?.addEventListener("resize",recalculate);doc.addEventListener("scroll",recalculate,true);this.lifecycleEditorPopupReposition={key:ref.key,recalculate}}const cleanup=()=>{this.clearLifecycleEditorValidation(ref.key,ref.generation);wrapper.removeEventListener("keydown",onKeyDown);wrapper.removeEventListener("focusin",onFocusIn);wrapper.removeEventListener("focusout",onFocusOut);wrapper.removeEventListener("mousedown",onMouseDown);wrapper.removeEventListener("click",stopPropagation);doc.defaultView?.removeEventListener("resize",recalculate);doc.removeEventListener("scroll",recalculate,true);popupResizeObserver?.disconnect();popupResizeObserver=null;if(popupRepositionFrame!==null&&doc.defaultView!==null){doc.defaultView.cancelAnimationFrame(popupRepositionFrame);popupRepositionFrame=null}if(this.lifecycleEditorAttachedWrapper===wrapper){this.lifecycleEditorAttachedWrapper=null}if(this.lifecycleEditorPopupReposition?.key===ref.key){this.lifecycleEditorPopupReposition=null}};return{wrapper,gui,mode,cleanup}},detach:attachment=>{attachment.cleanup();if(attachment.gui.parentNode===attachment.wrapper){attachment.wrapper.removeChild(attachment.gui)}if(attachment.mode==="popup"){attachment.wrapper.remove()}}}}attachLifecycleEditor(){const facade=this.editorFacade;const storedCell=this.lifecycleEditorCell;if(storedCell===null)return;const logicalTarget=this.lifecycleEditorNavigationTarget?.target;const cell=logicalTarget===void 0?storedCell:this.resolveQueuedCellEditTarget(logicalTarget,false);if(cell===null){if(facade===null)void this.cancelActiveEdit();else{this.invalidateLifecycleEditorRequests();void facade.stop("virtual-scroll",{cancel:true})}return}if(cell.rowIndex!==storedCell.rowIndex||cell.colIndex!==storedCell.colIndex){this.lifecycleEditorCell=cell}const cellElement=this.lifecycleEditorCellElement(cell.rowIndex,cell.colIndex);if(cellElement===void 0||!cellElement.isConnected){if(facade===null)void this.cancelActiveEdit();else{this.invalidateLifecycleEditorRequests();void facade.stop("virtual-scroll",{cancel:true})}return}if(facade===null)return;const lookup=facade.lookup();if(lookup.status==="starting"){return}const ref=this.lifecycleEditorRef;if(ref===null||lookup.status!=="mounted")return;const host=this.lifecycleEditorHost;if(host===null||!host.isConnected){this.invalidateLifecycleEditorRequests();void facade.stop("virtual-scroll",{cancel:true});return}if(this.lifecycleEditorAttachTask!==null)return;const key=ref.key;const task=facade.attach(ref,this.lifecycleEditorDomHost()).then(result=>{this.settleLifecycleEditorAttachment(key,result.status==="attached")}).catch(()=>{this.settleLifecycleEditorAttachment(key,false)}).finally(()=>{if(this.lifecycleEditorAttachTask===task){this.lifecycleEditorAttachTask=null}});this.lifecycleEditorAttachTask=task}richSelectDeclared(col){const declaration=col.cellEditor;if(declaration!==null&&declaration!==void 0){return typeof declaration==="object"&&declaration.type==="rich-select"}return col.editor==="autocomplete"}editableCellTarget(rowIndex,colIndex){const row=this.getDisplayRows()[rowIndex];const col=this.effectiveColumns()[colIndex];if(row===void 0||row===null||col===void 0||col.editable!==true){return null}if(this.richSelectDeclared(col)&&!this.proAllowed("grid.rich-select","columnDefs")){return null}if(col.cellEditor==null&&col.editor==="autocomplete"&&this.richSelectArmed()===null){this.proModuleAvailable("grid.rich-select","columnDefs","rich-select");return null}if(isGroupMarkerRow(row)||isGroupFooterRow(row)||isTreeNodeRow(row)||isDetailRow(row)||isLoadingPlaceholderRow(row)){return null}if(!this.passesEditPolicy(rowIndex,col,row)){return null}return{row,col}}queuedCellEditTarget(rowIndex,colIndex){const target=this.editableCellTarget(rowIndex,colIndex);if(target===null)return null;let rowId=null;try{rowId=this.editRowIdentity(target.row)}catch{rowId=null}return{row:target.row,rowId,colId:this.componentFilterColumnId(target.col)}}resolveQueuedCellEditTarget(target,requireEditable=true){const columns=this.effectiveColumns();let colIndex=-1;for(let index=0;index<columns.length;index+=1){if(this.componentFilterColumnId(columns[index])!==target.colId){continue}if(colIndex>=0)return null;colIndex=index}if(colIndex<0)return null;const rows=this.getDisplayRows();const matches=[];for(let rowIndex2=0;rowIndex2<rows.length;rowIndex2+=1){const row=rows[rowIndex2];if(row===null||typeof row!=="object")continue;if(target.rowId===null){if(row===target.row)matches.push(rowIndex2);continue}try{if(Object.is(this.editRowIdentity(row),target.rowId)){matches.push(rowIndex2)}}catch{}}if(matches.length!==1)return null;const rowIndex=matches[0];return requireEditable&&this.editableCellTarget(rowIndex,colIndex)===null?null:{rowIndex,colIndex}}beginCellEdit(rowIndex,colIndex,startedBy="api",event=null){const spanAccess=this.rowLayoutFrame?.access("edit",rowIndex,colIndex)??null;if(spanAccess!==null&&spanAccess.redirected){rowIndex=spanAccess.origin.rowIndex;colIndex=spanAccess.origin.colIndex}if(this.isFullWidthDisplayRow(rowIndex)){this.rowLayoutRefused.emit({area:"full-width-rows",feature:"cell-edit",reason:"full-width-row",detail:`row ${rowIndex} is a full-width row; its renderer owns the content`,rowIndex,colIndex});return false}if(this.editableCellTarget(rowIndex,colIndex)===null)return false;if(this.editStore.active!==null||this.editorFacade!==null&&this.editorFacade.lookup().status!=="idle"){void this.requestCellEdit(rowIndex,colIndex,startedBy,event);return true}return this.beginCellEditNow(rowIndex,colIndex,startedBy,event)}requestCellEdit(rowIndex,colIndex,startedBy="api",event=null){const target=this.queuedCellEditTarget(rowIndex,colIndex);if(target===null){return Promise.resolve(false)}const revision=++this.lifecycleEditorRequestRevision;this.lifecycleEditorQueuedRequestRevision=revision;const run=async()=>{if(revision!==this.lifecycleEditorRequestRevision)return false;const facade=this.editorFacade;if(facade!==null&&facade.lookup().status!=="idle"){await facade.stop("replacement");if(revision!==this.lifecycleEditorRequestRevision)return false;if(facade.lookup().status!=="idle"||this.editStore.active!==null){return false}}else if(this.editStore.active!==null){if(!this.commitEditTransaction())return false}if(revision!==this.lifecycleEditorRequestRevision)return false;const resolved=this.resolveQueuedCellEditTarget(target);if(resolved===null)return false;const requested=this.beginCellEditNow(resolved.rowIndex,resolved.colIndex,startedBy,event);if(!requested)return false;const lifecycleStart=this.lifecycleEditorStartTask;return lifecycleStart===null?true:await lifecycleStart};const result=this.lifecycleEditorRequestTask.then(run,run);this.lifecycleEditorRequestTask=result.then(()=>void 0,()=>void 0);void result.then(()=>{if(this.lifecycleEditorQueuedRequestRevision===revision){this.lifecycleEditorQueuedRequestRevision=null}},()=>{if(this.lifecycleEditorQueuedRequestRevision===revision){this.lifecycleEditorQueuedRequestRevision=null}});return result}beginCellEditNow(rowIndex,colIndex,startedBy="api",event=null){const target=this.editableCellTarget(rowIndex,colIndex);if(target===null)return false;const{row,col}=target;const originalValue=readOwnFieldPath(row,col.field);const didBegin=this.beginEditTransaction(rowIndex,colIndex,originalValue);if(!didBegin)return false;this.editingCell={rowIndex,colIndex};this.registerLifecycleEditorDocumentOwner();this.cellEditingRequested.emit({row,rowIndex,colIndex,field:col.field});if(this.editType==="fullRow"){const targetRowId=this.undoableRowId(row);if(targetRowId!==null){const sessionRowId=this.rowEditSessionRowId();if(sessionRowId!==null&&sessionRowId!==targetRowId){void this.finishRowEditSession("commit").then(()=>{if(this.rowEditSessionRowId()===null)void this.startRowEdit(targetRowId)})}else if(sessionRowId===null){void this.startRowEdit(targetRowId)}}}const liveRow=this.liveObjectModel?.getDisplayedRowAtIndex(rowIndex);const publishEditingStarted=()=>{if(!liveRow)return;this.publishLiveObjectChange("row",liveRow.id,"editingStarted","ui",{field:col.field,data:row})};this.lifecycleEditorStartTask=null;if(col.cellEditor!=null){const task=this.beginLifecycleEditor(rowIndex,colIndex,row,col,originalValue,startedBy,event);this.lifecycleEditorStartTask=task;void task.then(started=>{if(started)publishEditingStarted()});void task.finally(()=>{if(this.lifecycleEditorStartTask===task){this.lifecycleEditorStartTask=null}})}else{publishEditingStarted()}return true}beginEditTransaction(rowIndex,colIndex,originalValue){const next=beginEdit(this.editStore,{rowIndex,colIndex,originalValue});if(next===this.editStore)return false;this.editStore=next;const cols=this.effectiveColumns();const col=cols[colIndex];this.largeTextConfig=null;this.largeTextAnchor=null;this.largeTextAnchorEl=null;if(col?.cellEditor!=null){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;return true}const editorType=col?.editor??"text";if(editorType==="number"){const constraints=this.numberConstraintsFromColumn(col);const seed=typeof originalValue==="number"&&Number.isFinite(originalValue)?originalValue:null;this.numberEditorState=createNumberEditorState(seed,constraints);this.textEditorState=null;this.dateEditorState=null;this.selectEditorState=null;this.checkboxEditorState=null;this.textareaEditorState=null;this.autocompleteEditorState=null}else if(editorType==="date"){const constraints=this.dateConstraintsFromColumn(col);const seed=originalValue instanceof Date||typeof originalValue==="string"?originalValue:null;this.dateEditorState=createDateEditorState(seed,constraints);const now=new Date;const today=calUtcDate(now.getUTCFullYear(),now.getUTCMonth(),now.getUTCDate());this.calendarState=createCalendarState(seed,today);const focusSeed=this.calendarState.selected??today;this.calendarFocusedIso=clampISOToBounds(calToISO(focusSeed),coerceCalBound(constraints?.min??null),coerceCalBound(constraints?.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(editorType==="select"){const opts=this.selectOptionsFromColumn(col);const seed=originalValue===null||originalValue===void 0?null:originalValue;this.selectEditorState=createSelectEditorState(seed,opts);this.textEditorState=null;this.numberEditorState=null;this.dateEditorState=null;this.checkboxEditorState=null;this.textareaEditorState=null;this.autocompleteEditorState=null}else if(editorType==="checkbox"){const seed=originalValue===true||originalValue===false?originalValue:null;this.checkboxEditorState=createCheckboxEditorState(seed);this.textEditorState=null;this.numberEditorState=null;this.dateEditorState=null;this.selectEditorState=null;this.textareaEditorState=null;this.autocompleteEditorState=null}else if(editorType==="textarea"||editorType==="largeText"){const seed=typeof originalValue==="string"?originalValue:null;this.textareaEditorState=createTextareaEditorState(seed);if(editorType==="largeText"){const config=resolveLargeTextConfig({rows:typeof col.rows==="number"?col.rows:void 0,cols:typeof col.cols==="number"?col.cols:void 0,maxLength:typeof col.maxLength==="number"?col.maxLength:void 0});this.largeTextConfig=config;if(typeof seed==="string"&&largeTextExceedsMaxLength(seed,config.maxLength)&&!this.warnedLargeTextSeed.has(col.field)){this.warnedLargeTextSeed.add(col.field);console.warn(`[SG:TEXT] field=${col.field} length>${config.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(editorType==="autocomplete"){const opts=this.selectOptionsFromColumn(col);const seed=originalValue===null||originalValue===void 0?null:originalValue;this.autocompleteEditorState=this.richSelect?.createAutocompleteState(seed,opts)??null;this.textEditorState=null;this.numberEditorState=null;this.dateEditorState=null;this.selectEditorState=null;this.checkboxEditorState=null;this.textareaEditorState=null}else{this.textEditorState=createTextEditorState(originalValue);this.numberEditorState=null;this.dateEditorState=null;this.selectEditorState=null;this.checkboxEditorState=null;this.textareaEditorState=null;this.autocompleteEditorState=null}return true}selectOptionsFromColumn(col){if(!col)return[];const raw=col.options;if(!Array.isArray(raw))return[];return raw}numberConstraintsFromColumn(col){if(!col)return void 0;const c={};let hasAny=false;if(typeof col.min==="number"&&Number.isFinite(col.min)){c.min=col.min;hasAny=true}if(typeof col.max==="number"&&Number.isFinite(col.max)){c.max=col.max;hasAny=true}if(typeof col.step==="number"&&Number.isFinite(col.step)){c.step=col.step;hasAny=true}if(typeof col.decimals==="number"&&Number.isFinite(col.decimals)){c.decimals=col.decimals;hasAny=true}if(col.nullable===true||col.allowEmpty===true){c.nullable=true;hasAny=true}return hasAny?c:void 0}dateConstraintsFromColumn(col){if(!col)return void 0;const c={};let hasAny=false;if(col.min instanceof Date||typeof col.min==="string"){c.min=col.min;hasAny=true}if(col.max instanceof Date||typeof col.max==="string"){c.max=col.max;hasAny=true}if(col.nullable===true||col.allowEmpty===true){c.nullable=true;hasAny=true}if(col.storeAs==="iso"||col.storeAs==="date"){c.storeAs=col.storeAs;hasAny=true}return hasAny?c:void 0}cancelEditTransaction(){const cancelled=cancelEdit(this.editStore);if(cancelled===this.editStore)return;this.unregisterLifecycleEditorDocumentOwner();this.editStore=clearEdit(cancelled);if(this.formulaSuggest!==null&&this.formulaSuggest.target==="cell")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(row,sourceRows){let cache=this.sourceRowIndexCache;if(cache===null||cache.rows!==sourceRows){const byObject=new WeakMap;for(let index2=0;index2<sourceRows.length;index2+=1){const candidate=sourceRows[index2];if(candidate===null||typeof candidate!=="object")continue;byObject.set(candidate,byObject.has(candidate)?-1:index2)}cache={rows:sourceRows,byObject};this.sourceRowIndexCache=cache}const index=cache.byObject.get(row);return index!==void 0&&index>=0&&sourceRows[index]===row?index:null}editRowIdentity(row){if(typeof this.getRowId==="function"){const id2=this.getRowId(row);if(typeof id2==="string"&&id2.length>0)return id2;if(typeof id2==="number"&&Number.isFinite(id2))return id2;throw new Error("getRowId returned an invalid edit identity")}const id=row["id"];if(typeof id==="string"&&id.length>0)return id;if(typeof id==="number"&&Number.isFinite(id))return id;return null}resolveCellEditTarget(displayRowIndex,colIndex){const col=this.effectiveColumns()[colIndex];const displayRow=this.getDisplayRows()[displayRowIndex];if(col===void 0||col.editable!==true||typeof col.valueGetter==="function"||typeof col.valueGetter==="string"||typeof col.formula==="string"||displayRow===void 0||displayRow===null||typeof displayRow!=="object"||this.isSentinelDisplayRow(displayRow)){return null}const proto=Object.getPrototypeOf(displayRow);if(proto!==Object.prototype&&proto!==null)return null;if(!this.passesEditPolicy(displayRowIndex,col,displayRow)){return null}const sourceRows=this.rowData??[];const sourceIndex=this.sourceIndexForDisplayRow(displayRow,sourceRows);return{displayRowIndex,colIndex,col,displayRow,sourceRows,sourceIndex,sourceRow:sourceIndex===null?null:sourceRows[sourceIndex]}}prepareGridCellEdit(displayRowIndex,colIndex,rawDraft,expectedOriginal,checkOriginal){const target=this.resolveCellEditTarget(displayRowIndex,colIndex);if(target===null){return{kind:"rejected",reason:"invalid-target",action:"keep",target:null,result:null}}const previousRow=target.sourceRow??target.displayRow;const currentValue=readOwnFieldPath(previousRow,target.col.field);if(checkOriginal&&!structuralEqual(currentValue,expectedOriginal)){return{kind:"rejected",reason:"stale-target",action:"keep",target,result:null}}if(target.sourceRow===null&&typeof target.col.valueSetter==="function"){return{kind:"rejected",reason:"unbacked-value-setter",action:"keep",target,result:null}}const parser=typeof target.col.valueParser==="function"&&typeof rawDraft==="string"?(draft,oldValue,row)=>target.col.valueParser({value:draft,oldValue,field:target.col.field,row,colDef:target.col,context:this.context,api:this.host}):void 0;const setter=typeof target.col.valueSetter==="function"?(candidate,value,oldValue)=>target.col.valueSetter({newValue:value,oldValue,field:target.col.field,data:candidate,colDef:target.col,context:this.context,api:this.host,rowIndex:target.displayRowIndex,sourceRowIndex:target.sourceIndex??void 0,colId:target.col.colId??target.col.field}):void 0;const result=planProspectiveEdit({previousRow,field:target.col.field,rawDraft,parse:parser,set:setter,identity:row=>this.editRowIdentity(row),validate:(value,candidate)=>evaluateValidation(this.validationRules,{field:target.col.field,value,rowIndex:target.displayRowIndex,data:candidate}),invalidMode:this.invalidEditMode});if(result.kind==="rejected"){return{kind:"rejected",reason:result.reason,action:result.action,target,result}}return result.kind==="accepted"?{kind:"accepted",target,result}:{kind:"unchanged",target,result}}cellEditTargetStillCurrent(target){if(target.sourceIndex!==null){return this.rowData===target.sourceRows&&target.sourceRows[target.sourceIndex]===target.sourceRow}return this.getDisplayRows()[target.displayRowIndex]===target.displayRow}finalizeCommittedEditor(previous){if(this.editStore!==previous)return false;const committed=commitEdit(previous);if(committed===previous)return false;this.editingCell=null;this.unregisterLifecycleEditorDocumentOwner();this.editStore=clearEdit(committed);if(this.formulaSuggest!==null&&this.formulaSuggest.target==="cell")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;return true}reportRejectedCellEdit(prepared,surface){const target=prepared.target;const validation=prepared.result?.validation;if(target!==null&&validation!==void 0&&!validation.valid){this.cellValidationFailed.emit({rowIndex:target.displayRowIndex,field:target.col.field,value:prepared.result?.value,message:validation.message??"Invalid value"});if(prepared.action==="revert"&&surface==="editor"){this.cellEditingCancelled.emit({rowIndex:target.displayRowIndex,colIndex:target.colIndex})}}if((prepared.reason==="identity-changed"||prepared.reason==="identity-threw")&&!this.warnedIdentityEdit){this.warnedIdentityEdit=true;console.warn("[SG:EDIT] row identity changes are rejected so undo and collaboration remain addressable.")}if(prepared.reason==="unbacked-value-setter"&&!this.warnedUnbackedValueSetter){this.warnedUnbackedValueSetter=true;console.warn("[SG:EDIT] valueSetter requires a client rowData-backed display row; edit rejected.")}if(prepared.reason==="setter-did-not-apply"){console.warn("[SG:EDIT] valueSetter must synchronously apply newValue to its field; edit rejected.")}}commitPreparedCellEdit(surface,displayRowIndex,colIndex,rawDraft,expectedOriginal,checkOriginal,editorStore){if(this.editCommitInProgress)return false;this.editCommitInProgress=true;try{const prepared=this.prepareGridCellEdit(displayRowIndex,colIndex,rawDraft,expectedOriginal,checkOriginal);if(prepared.kind==="rejected"){if(prepared.action==="revert"&&surface==="editor"){this.editingCell=null;this.cancelEditTransaction()}this.reportRejectedCellEdit(prepared,surface);if(prepared.action==="revert"&&surface==="formula-bar"){this.formulaBarDraft=null;this.formulaSuggest=null}return false}if(!this.cellEditTargetStillCurrent(prepared.target))return false;if(this.batchLive()){const{target}=prepared;const rowId2=this.undoableRowId(target.displayRow);if(!this.proNewWorkAllowed("grid.batch-editing","stageBatchCell")||rowId2===null||target.sourceRow===null||this.rowByStableId(rowId2)!==target.sourceRow||typeof target.col.valueSetter==="function")return false;const staged=this.batchEdit.guardedStageBatchCell(this.batchCommitState,{row:target.displayRowIndex,col:target.colIndex,rowId:rowId2,colId:target.col.field,value:prepared.result.value,oldValue:readOwnFieldPath(target.sourceRow,target.col.field)});if(staged.staged.kind!=="staged")return false;if(surface==="editor"&&(editorStore===null||!this.finalizeCommittedEditor(editorStore)))return false;if(surface==="formula-bar"){this.formulaBarDraft=null;this.formulaSuggest=null}this.batchCommitState=staged.state;this.proUiChunkTick++;this.viewportEl?.focus({preventScroll:true});return true}if(surface==="editor"){if(editorStore===null||!this.finalizeCommittedEditor(editorStore))return false}else{this.formulaBarDraft=null;this.formulaSuggest=null}if(surface==="editor"&&this.editType==="fullRow"){const sessionRowId=this.rowEditSessionRowId();const targetRow=prepared.target.displayRow;if(sessionRowId!==null&&this.undoableRowId(targetRow)===sessionRowId){const staged=coreStageRowCell(this.rowEditState,prepared.target.col.field,prepared.result.value,expectedOriginal);this.rowEditState=staged.state;this.viewportEl?.focus({preventScroll:true});return staged.staged.kind==="staged"}}const validation=prepared.result.validation;if(!validation.valid){this.cellValidationFailed.emit({rowIndex:prepared.target.displayRowIndex,field:prepared.target.col.field,value:prepared.result.value,message:validation.message??"Invalid value"})}let txId;let canonicalCellEventEmitted=false;let liveValueChanges=[];let committedRow=prepared.target.displayRow;if(prepared.kind==="accepted"&&prepared.target.sourceIndex!==null){const sourceIndex=prepared.target.sourceIndex;const sourceRow=prepared.target.sourceRow;const updated=prepared.result.nextRow;const nextRows=prepared.target.sourceRows.slice();nextRows[sourceIndex]=updated;txId=allocateTxId();const cache=this.sourceRowIndexCache;if(cache!==null&&cache.rows===prepared.target.sourceRows){cache.byObject.set(updated,sourceIndex);cache.rows=nextRows}this.incrementalRowDataAssignment=nextRows;try{this.rowData=nextRows}finally{this.incrementalRowDataAssignment=null}const previous=deepCloneRows([sourceRow])[0];const entry={row:updated,previous,index:sourceIndex};this.fireRowDataChanged({added:[],updated:[entry],removed:[],rejected:[],txId,source:"local",origin:surface},{publishLiveObjects:false});const changes=this.emitCellValueChanges([entry],"local",surface,txId,{displayRowIndex:prepared.target.displayRowIndex});canonicalCellEventEmitted=changes.length>0;liveValueChanges=changes;if(this.undoableRowId(previous)!==null){const forward=deepCloneRows([updated])[0];this.undoRedoStack.record({update:[forward]},{update:[previous]},"cell-edit")}committedRow=updated;this.applyFormulaEdit(prepared.target.displayRowIndex,prepared.target.colIndex,prepared.result.value,updated,sourceRow)}else if(prepared.kind==="accepted"){this.applyFormulaEdit(prepared.target.displayRowIndex,prepared.target.colIndex,prepared.result.value,prepared.target.displayRow)}const rowId=prepared.target.sourceIndex===null?this.extractRowId(committedRow,prepared.target.displayRowIndex):this.collabRowId(committedRow,prepared.target.sourceIndex);this.cellEditingCommitted.emit({rowIndex:prepared.target.displayRowIndex,sourceRowIndex:prepared.target.sourceIndex??void 0,colIndex:prepared.target.colIndex,rowId,field:prepared.target.col.field,originalValue:expectedOriginal,draftValue:prepared.result.value,dataWritten:canonicalCellEventEmitted,changed:prepared.kind==="accepted",txId,surface});this.publishLiveObjectChanges(liveValueChanges.map(change=>["row",change.rowId,"valueChanged","ui",{txId,field:change.field,before:change.oldValue,after:change.newValue,data:change.data}]));return true}finally{this.editCommitInProgress=false}}commitEditTransaction(){const previous=this.editStore;if(this.editCommitInProgress||previous.active===null||previous.active.phase!=="pending")return false;if(this.numberEditorState!==null&&this.numberEditorState.constraintViolation!==null||this.dateEditorState!==null&&this.dateEditorState.constraintViolation!==null){return false}const tx=previous.active;let draftToCommit;if(this.numberEditorState!==null){draftToCommit=this.numberEditorState.parsedValue}else if(this.dateEditorState!==null){const col=this.effectiveColumns()[tx.colIndex];const parsed=this.dateEditorState.parsedDate;if(parsed===null){draftToCommit=null}else if((col?.storeAs??"date")==="iso"){const year=String(parsed.getUTCFullYear()).padStart(4,"0");const month=String(parsed.getUTCMonth()+1).padStart(2,"0");const day=String(parsed.getUTCDate()).padStart(2,"0");draftToCommit=`${year}-${month}-${day}`}else{draftToCommit=parsed}}else if(this.selectEditorState!==null){draftToCommit=this.selectEditorState.value}else if(this.checkboxEditorState!==null){draftToCommit=this.checkboxEditorState.value}else if(this.textareaEditorState!==null){draftToCommit=this.textareaEditorState.value}else if(this.autocompleteEditorState!==null){draftToCommit=this.autocompleteEditorState.value}else{draftToCommit=tx.draftValue}return this.commitPreparedCellEdit("editor",tx.rowIndex,tx.colIndex,draftToCommit,tx.originalValue,true,previous)}applyFormulaEdit(rowIndex,colIndex,draftValue,row,previousRow){if(this.formulaSheet===null||this.formulas!==true)return;const col=this.effectiveColumns()[colIndex];if(!col||row===null||typeof row!=="object")return;if(previousRow!==void 0&&previousRow!==row){this.formulaSheet.replaceRowIdentity(previousRow,row)}if(this.proGate().frozen("grid.formulas")){this.formulaFreeze.holdEdit(row,col.field);this.formulaVersion++;this.focusActiveLifecycleRenderer();return}if(this.formulaDualEngine!==null&&this.proGate().lost("grid.wasm-acceleration")){this.retireLostFormulaAcceleration();if(this.formulaSheet===null||this.formulaSheetSeeding){this.formulaVersion++;this.focusActiveLifecycleRenderer();return}}const update=this.formulaSheet.updateCell(col.field,row,draftValue);this.formulaVersion++;this.recordWorkbookOpsCommit(col.field,row,draftValue);if(update.isFormula){const formula=String(draftValue);const value=this.publicNumericValue(update.value);this.formulaEvaluated.emit({rowIndex,colIndex,field:col.field,formula,value});const error=this.formulaCore?.formulaErrorInfo(value)??null;if(error!==null){this.formulaError.emit({rowIndex,colIndex,field:col.field,formula,type:error.type,description:error.description})}}this.focusActiveLifecycleRenderer()}publicNumericValue(value){return typeof value==="number"||typeof value==="bigint"?toPublicNumeric(value):value}activeCellContext(){if(this.activeCell===null)return null;const{rowIndex,colIndex}=this.activeCell;const col=this.effectiveColumns()[colIndex];const row=this.getDisplayRows()[rowIndex];if(!col||row===void 0||row===null||typeof row!=="object"||this.isSentinelDisplayRow(row))return null;const editable=col.editable===true&&typeof col.valueGetter!=="function"&&typeof col.valueGetter!=="string"&&typeof col.formula!=="string"&&this.passesEditPolicy(rowIndex,col,row);return{row,col,rowIndex,colIndex,editable}}activeCellRawText(){const ctx=this.activeCellContext();if(ctx===null)return"";const raw=readOwnFieldPath(ctx.row,ctx.col.field);if(this.readPolicyConfigured()&&!this.isCellReadable(this.rawFieldValue(ctx.row,ctx.rowIndex,ctx.col),ctx.row,ctx.rowIndex,ctx.col))return this.maskedCellValue;return raw===null||raw===void 0?"":String(raw)}activeCellRefLabel(){const ctx=this.activeCellContext();if(ctx===null)return"";return`${ctx.col.headerName??ctx.col.field} · ${ctx.rowIndex+1}`}commitFormulaBar(){if(this.formulaBarDraft===null)return;const ctx=this.activeCellContext();const draft=this.formulaBarDraft;if(ctx===null||!ctx.editable){this.formulaBarDraft=null;this.formulaSuggest=null;return}const originalValue=readOwnFieldPath(ctx.row,ctx.col.field);this.commitPreparedCellEdit("formula-bar",ctx.rowIndex,ctx.colIndex,draft,originalValue,false,null)}formulaSuggest=null;formulaSuggestAnchor=null;updateFormulaSuggest(target,text,caret){const names=this.formulaSheet?.functionNames()??[];const core=this.formulaCore;const state=names.length>0&&core!==null?core.suggestFunctions(text,caret,names):null;this.formulaSuggest=state===null?null:{target,...state,activeIndex:0}}handleSuggestKeyIntercept(event,apply){const open=this.formulaSuggest;if(open===null)return false;if(event.key==="ArrowDown"||event.key==="ArrowUp"){event.preventDefault();const delta=event.key==="ArrowDown"?1:-1;const count=open.suggestions.length;this.formulaSuggest={...open,activeIndex:(open.activeIndex+delta+count)%count};return true}if(event.key==="Enter"||event.key==="Tab"){event.preventDefault();apply(open.suggestions[open.activeIndex]);return true}if(event.key==="Escape"){event.preventDefault();this.formulaSuggest=null;return true}return false}applyFormulaSuggestion(input,name){const suggest=this.formulaSuggest;const core=this.formulaCore;if(suggest===null||core===null)return;const caret=input.selectionStart??input.value.length;const out=core.applySuggestion(input.value,caret,suggest,name);this.formulaBarDraft=out.text;this.formulaSuggest=null;input.value=out.text;input.setSelectionRange(out.caret,out.caret);input.focus()}applyCellSuggestion(name){const input=this.textEditorEl;const suggest=this.formulaSuggest;const core=this.formulaCore;if(input===null||suggest===null||core===null)return;const caret=input.selectionStart??input.value.length;const out=core.applySuggestion(input.value,caret,suggest,name);if(this.textEditorState!==null){let next=applyInputValue(this.textEditorState,out.text);next=applySelectionChange(next,out.caret,out.caret);if(next!==this.textEditorState)this.textEditorState=next}if(this.editStore.active!==null){const nextStore=setDraft(this.editStore,out.text);if(nextStore!==this.editStore)this.editStore=nextStore}this.formulaSuggest=null;input.value=out.text;input.setSelectionRange(out.caret,out.caret);input.focus()}syncFormulaSuggestAnchor(){if(typeof window==="undefined")return;if(this.formulaSuggest===null||this.formulaSuggest.target!=="cell"||this.textEditorEl===null||this.host===void 0){if(this.formulaSuggestAnchor!==null)this.formulaSuggestAnchor=null;return}const rect=this.textEditorEl.getBoundingClientRect();const hostRect=this.host.getBoundingClientRect();const next={x:Math.round(rect.left-hostRect.left),y:Math.round(rect.bottom+2-hostRect.top),width:Math.round(rect.width)};const cur=this.formulaSuggestAnchor;if(cur===null||cur.x!==next.x||cur.y!==next.y||cur.width!==next.width){this.formulaSuggestAnchor=next}}renderFormulaBar(){if(this.formulaBar!==true||this.formulas!==true||!this.usingColumnDefsApi())return null;if(!this.proAllowed("grid.formulas","formulaBar"))return null;if(!this.proModuleAvailable("grid.formulas","formulaBar","formula-core"))return null;const ctx=this.activeCellContext();const readable=ctx!==null&&(!this.readPolicyConfigured()||this.isCellReadable(this.rawFieldValue(ctx.row,ctx.rowIndex,ctx.col),ctx.row,ctx.rowIndex,ctx.col));const value=readable?this.formulaBarDraft??this.activeCellRawText():this.maskedCellValue;const disabled=ctx===null||!ctx.editable||this.effectiveLoading;const suggest=readable&&this.formulaSuggest!==null&&this.formulaSuggest.target==="bar"?this.formulaSuggest:null;return h("div",{class:"sy-grid__formula-bar",role:"group","aria-label":"Formula bar"},h("span",{class:"sy-grid__formula-bar-ref","data-formula-ref":true},this.activeCellRefLabel()||"—"),h("span",{class:"sy-grid__formula-bar-fx","aria-hidden":"true"},"fx"),h("div",{class:"sy-grid__formula-bar-input-wrap"},h("input",{type:"text",class:"sy-grid__formula-bar-input","data-formula-bar-input":true,value,disabled,role:"combobox","aria-label":"Active cell formula or value","aria-autocomplete":"list","aria-expanded":suggest!==null?"true":"false","aria-controls":"sy-grid-formula-suggest","aria-activedescendant":suggest!==null?`sy-grid-formula-suggest-${suggest.activeIndex}`:void 0,onInput:event=>{const input=event.target;this.formulaBarDraft=input.value;this.updateFormulaSuggest("bar",input.value,input.selectionStart??input.value.length)},onKeyDown:event=>{const input=event.target;if(this.handleSuggestKeyIntercept(event,name=>this.applyFormulaSuggestion(input,name)))return;if(event.key==="Enter"){event.preventDefault();this.commitFormulaBar()}else if(event.key==="Escape"){event.preventDefault();this.formulaBarDraft=null;input.blur()}},onBlur:()=>{this.formulaBarDraft=null;this.formulaSuggest=null}}),suggest!==null&&h("ul",{class:"sy-grid__formula-suggest",id:"sy-grid-formula-suggest",role:"listbox","aria-label":"Formula functions"},suggest.suggestions.map((name,i)=>h("li",{key:name,id:`sy-grid-formula-suggest-${i}`,class:{"sy-grid__formula-suggest-option":true,"sy-grid__formula-suggest-option--active":i===suggest.activeIndex},role:"option","aria-selected":i===suggest.activeIndex?"true":"false",onMouseDown:event=>{event.preventDefault();const input=event.currentTarget.closest(".sy-grid__formula-bar-input-wrap")?.querySelector("input");if(input)this.applyFormulaSuggestion(input,name)}},h("span",{class:"sy-grid__formula-suggest-name"},name),h("span",{class:"sy-grid__formula-suggest-paren","aria-hidden":"true"},"(…)"))))))}renderCellFormulaSuggest(){const suggest=this.formulaSuggest;const anchor=this.formulaSuggestAnchor;if(suggest===null||suggest.target!=="cell"||anchor===null)return null;return h("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:`${anchor.x}px`,top:`${anchor.y}px`,minWidth:`${Math.max(180,anchor.width)}px`,zIndex:"40"}},suggest.suggestions.map((name,i)=>h("li",{key:name,id:`sy-grid-formula-suggest-${i}`,class:{"sy-grid__formula-suggest-option":true,"sy-grid__formula-suggest-option--active":i===suggest.activeIndex},role:"option","aria-selected":i===suggest.activeIndex?"true":"false",onMouseDown:event=>{event.preventDefault();this.applyCellSuggestion(name)}},h("span",{class:"sy-grid__formula-suggest-name"},name),h("span",{class:"sy-grid__formula-suggest-paren","aria-hidden":"true"},"(…)"))))}resetVirtualScrollPosition(){this.scrollTop=0;if(this.viewportEl){this.viewportEl.scrollTop=0}}pivotPanelVisible(){if(this.pivotPanel===true||this.pivotPanelShow==="always")return this.proAllowed("grid.pivot","pivotPanel");return this.pivotPanelShow==="onlyWhenPivoting"&&this.pivotMode===true&&this.proAllowed("grid.pivot","pivotPanelShow")}groupPanelActive(){return this.groupPanel===true&&this.proAllowed("grid.row-grouping","groupPanel")}async setPivotColumns(columns){return this.proMethod("setPivotColumns",{load:()=>this.loadGroupPivotChunk(),exec:chunk=>chunk,publish:chunk=>chunk.applyPivotPanelAxis(this,"pivotColumns",columns)})}async setValueColumns(columns){return this.proMethod("setValueColumns",{load:()=>this.loadGroupPivotChunk(),exec:chunk=>chunk,publish:chunk=>chunk.applyPivotPanelAxis(this,"valueColumns",columns)})}maybeRestorePivotPanelFocus(){if(this.pivotPanelFocusField!==null)this.groupPivotChunkModule?.restorePivotPanelFocus(this)}renderPivotPanel(){if(!this.pivotPanelVisible()||!this.usingColumnDefsApi())return null;const chunk=this.ensureGroupPivotChunkArmed();return chunk===null?null:chunk.renderPivotPanel(this,h)}renderGroupPanel(){if(this.groupPanel!==true||!this.usingColumnDefsApi())return null;if(!this.groupPanelActive())return null;const chunk=this.groupPivotChunkModule;if(chunk===null)return null;return chunk.renderGroupPanel(this,h,{dropActive:this.columnDragOverGroupPanel,ref:el=>{this.groupPanelEl=el},clear:()=>this.clearGroupByFromPanel()})}renderHeader(){const cols=this.effectiveColumns();if(cols.length===0)return null;const renderCheckboxCol=this.shouldRenderCheckboxColumn();const columnOffset=renderCheckboxCol?1:0;const reorderActive=this.columnReorderController.getActive();const draggedColId=reorderActive?.draggedColId??null;const checkboxOffset=renderCheckboxCol?SELECTION_CHECKBOX_COLUMN.width:0;const pinCtx=this.pinnedOffsetsContext(cols,checkboxOffset);const lastPinnedLeft=pinCtx?.lastLeft;const firstPinnedRight=pinCtx?.firstRight;const colWindow=this.columnWindowContext(cols,checkboxOffset);return h("div",{...headerRowGroupAttrs(),class:"sy-grid__header-rowgroup"},h("div",{class:"sy-grid__header-clip"},this.renderHeaderGroupRows(cols,pinCtx,colWindow,renderCheckboxCol),h("div",{class:"sy-grid__header",...headerRowAttrs(this.headerGroupDepth())},renderCheckboxCol&&this.renderHeaderCheckboxCell(pinCtx?.left!=null),cols.map((col,colIndex)=>{if(colWindow&&colWindow.culled(colIndex))return null;const isSortable=col.sortable!==false&&typeof col.field==="string"&&col.field!=="";const sortState=col.field?this.sortController.getModelIndicatorState(col.field,this.activeSortModel):{direction:null,isActive:false,sortIndex:null,ariaSort:"none"};const isActive=sortState.isActive;const direction=sortState.direction;const headerLabel=col.headerName??col.field;const sortAriaLabel=isSortable?this.sortController.ariaLabel(sortState.direction,headerLabel??"",sortState.sortIndex,this.activeSortModel.length):headerLabel??"";const headerAttrs=columnHeaderAttrs({colIndex:colIndex+columnOffset,sortDirection:direction,label:isSortable?sortAriaLabel:headerLabel??""});const lifecycleFilter=col.field?this.lifecycleFilterDeclaration(col):null;const filterKind=col.field&&lifecycleFilter===null?this.offeredFilterUiKind(col.filter):null;const hasFilterUi=filterKind!==null||lifecycleFilter!==null;const lifecycleColId=this.componentFilterColumnId(col);const isFilterActive=lifecycleFilter!==null?this.componentFilterIsActive(lifecycleColId):hasFilterUi&&!!(col.field&&this.activeFilters[col.field]);const cellStyle=this.columnLayoutStyle(col);const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,"4","header");const hideHeaderControls=this.shouldHideHeaderControls(col);const hasVisibleFilterUi=hasFilterUi&&!hideHeaderControls;const isDropdownOpen=hasVisibleFilterUi&&!!(col.field&&this.openFilterField===col.field);const isFilterButtonDisabled=this.effectiveLoading&&!isDropdownOpen;const showResizeHandle=this.resizableColumns===true&&col.resizable!==false;const enableAutoSizeDblClick=this.resizableColumns===true&&col.resizable!==false&&this.autoSizeOnDoubleClick!==false;const isReorderable=this.reorderableColumns===true&&col.reorderable!==false;const isHeaderDraggable=isReorderable||this.groupPanelActive();const isBeingDragged=draggedColId===col.field;const sortTooltip=isSortable?direction==="asc"?this.resolvedMessages["sort.descendingTooltip"]:direction==="desc"?this.resolvedMessages["sort.removeTooltip"]:this.resolvedMessages["sort.ascendingTooltip"]:void 0;const headerCellNode=h("div",{key:col.field,class:{"sy-grid__header-cell":true,"sy-grid__header-cell--sortable":isSortable,"sy-grid__header-cell--sorted":isActive,"sy-grid__header-cell--filtered":isFilterActive,"sy-grid__header-cell--controls-hidden":hideHeaderControls,"sy-grid__header-cell--locked":this.effectiveLoading,"sy-grid__header-cell--reorderable":isReorderable,"sy-grid__header-cell--dragging":isBeingDragged,"sy-grid__header-cell--auto-sizable":enableAutoSizeDblClick,"sy-grid__header-cell--pinned-left":pin.pinnedLeft,"sy-grid__header-cell--pinned-left-last":pin.pinnedLeft&&col.field===lastPinnedLeft,"sy-grid__header-cell--pinned-right":pin.pinnedRight,"sy-grid__header-cell--pinned-right-first":pin.pinnedRight&&col.field===firstPinnedRight},...headerAttrs,"data-field":col.field,"data-sort-index":sortState.sortIndex!==null?String(sortState.sortIndex):void 0,tabindex:isSortable&&!this.effectiveLoading?0:-1,"aria-disabled":this.effectiveLoading?"true":void 0,"aria-describedby":this.cellTooltip!==null&&this.cellTooltip.rowIndex===-1&&this.cellTooltip.field===col.field?SY_GRID_TOOLTIP_ID:void 0,title:sortTooltip,style:Object.keys(cellStyle).length>0?cellStyle:void 0,onClick:isSortable?event=>this.handleHeaderClick(col,event):void 0,onDblClick:enableAutoSizeDblClick&&!this.effectiveLoading?event=>{event.stopPropagation();void this.autoSizeColumn(col.field)}:void 0,onKeyDown:isSortable?event=>{if(event.key==="Enter"||event.key===" "){event.preventDefault();this.handleHeaderClick(col,event)}}:void 0,onPointerDown:isHeaderDraggable&&!this.effectiveLoading?event=>{this.handleColumnReorderPointerDown(event,col.field)}:void 0,onMouseEnter:event=>this.handleHeaderTooltipEnter(event,col),onMouseLeave:()=>this.handleHeaderTooltipLeave(),onFocus:event=>this.handleHeaderTooltipEnter(event,col),onBlur:()=>this.handleHeaderTooltipLeave()},h("span",{class:"sy-grid__header-label"},col.headerName??col.field),this.renderColumnMenuButton(col),isSortable&&!hideHeaderControls&&h("span",{class:{"sy-grid__sort-indicator":true,"sy-grid__sort-indicator--active":isActive},"aria-hidden":"true"},isActive&&direction==="asc"&&h("svg",{class:"sy-grid__sort-icon",viewBox:"0 0 10 10","aria-hidden":"true"},h("path",{d:"M5 2 L9 8 L1 8 Z"})),isActive&&direction==="desc"&&h("svg",{class:"sy-grid__sort-icon",viewBox:"0 0 10 10","aria-hidden":"true"},h("path",{d:"M5 8 L9 2 L1 2 Z"})),isActive&&sortState.sortIndex!==null&&h("span",{class:"sy-grid__sort-order"},sortState.sortIndex),!isActive&&h("svg",{class:"sy-grid__sort-icon sy-grid__sort-icon--inactive",viewBox:"0 0 10 14","aria-hidden":"true"},h("path",{d:"M5 1 L8 5 L2 5 Z"}),h("path",{d:"M5 13 L8 9 L2 9 Z"}))),hasVisibleFilterUi&&h("button",{type:"button",class:{"sy-grid__filter-icon":true,"sy-grid__filter-icon--active":isFilterActive,"sy-grid__filter-icon--open":isDropdownOpen},"aria-label":translateMessage(this.resolvedMessages,"header.filterLabel",{column:col.headerName??col.field}),"aria-haspopup":"dialog","aria-expanded":isDropdownOpen?"true":"false","aria-controls":isDropdownOpen?"sy-grid-filter-dropdown":void 0,"data-active":isFilterActive?"true":"false",disabled:isFilterButtonDisabled,onClick:event=>this.handleFilterIconClick(col,event),onKeyDown:event=>{if(event.key==="Enter"||event.key===" "){event.preventDefault();event.stopPropagation();this.handleFilterIconClick(col,event)}}},h("svg",{class:"sy-grid__filter-icon-svg",width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true"},h("path",{d:"M2 3h12l-4.5 5.5V13l-3 1.5V8.5L2 3z"}))),showResizeHandle&&h("span",{class:"sy-grid__col-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":`Resize ${col.headerName??col.field}`,"data-field":col.field,onPointerDown:event=>this.handleColumnResizePointerDown(event,col.field),onPointerEnter:event=>this.showColumnResizeGuide(col.field,event.currentTarget),onPointerLeave:()=>this.hideColumnResizeGuide(col.field),onPointerMove:event=>this.handleColumnResizePointerMove(event),onPointerUp:event=>this.handleColumnResizePointerUp(event),onPointerCancel:event=>this.handleColumnResizePointerCancel(event),onClick:event=>event.stopPropagation()}));return this.withColumnSpacers(headerCellNode,colIndex,colWindow,`h-${col.field}`)})),this.headerFilterRow&&this.renderHeaderFilterRow(cols,renderCheckboxCol,pinCtx,lastPinnedLeft,firstPinnedRight,colWindow)))}renderHeaderGroupRows(cols,pinCtx,colWindow,renderCheckboxCol){const depth=this.headerGroupDepth();if(depth===0)return null;const defs=this.columnDefsSource();let leftCount=0;while(leftCount<cols.length&&this.pinSideOf(cols[leftCount])==="left")leftCount++;let rightCount=0;while(rightCount<cols.length-leftCount&&this.pinSideOf(cols[cols.length-1-rightCount])==="right"){rightCount++}const leftFields=cols.slice(0,leftCount).map(c=>c.field);const rightFields=rightCount>0?cols.slice(cols.length-rightCount).map(c=>c.field):[];const renderedMiddleFields=[];for(let i=leftCount;i<cols.length-rightCount;i++){if(!colWindow||!colWindow.culled(i))renderedMiddleFields.push(cols[i].field)}const leftRows=computeHeaderGroupRows(defs,leftFields,this.collapsedGroups);const midRows=computeHeaderGroupRows(defs,renderedMiddleFields,this.collapsedGroups);const rightRows=computeHeaderGroupRows(defs,rightFields,this.collapsedGroups);const segmentWidth=seg=>{let width=0;const byField=new Map(cols.map(c=>[c.field,c]));for(const leaf of seg.leaves){const col=byField.get(leaf);width+=(col?this.pinnedWidthOf(col):null)??DEFAULT_PINNED_COLUMN_WIDTH}return width};const segCell=(seg,side,level,index)=>{const width=segmentWidth(seg);const style={width:`${width}px`,flex:`0 0 ${width}px`};if(side==="left"&&pinCtx?.left){style.position="sticky";style.left=`${pinCtx.left.get(seg.leaves[0])??0}px`;style.zIndex="4"}else if(side==="right"&&pinCtx?.right){const anchor=seg.leaves[seg.leaves.length-1];style.position="sticky";style.right=`${(pinCtx.right.get(anchor)??0)+this.bodyScrollbarWidth}px`;style.zIndex="4"}const isFiller=seg.label===null;return h("div",{key:`${level}-${side??"m"}-${index}-${seg.groupId??"filler"}`,class:{"sy-grid__header-group-cell":true,"sy-grid__header-group-cell--filler":isFiller,"sy-grid__header-group-cell--pinned":side!==null},role:isFiller?void 0:"columnheader","aria-colspan":isFiller?void 0:seg.leaves.length,"aria-hidden":isFiller?"true":void 0,"data-group-id":seg.groupId,style},seg.label!==null&&h("span",{class:"sy-grid__header-group-label"},seg.label),seg.collapsible===true&&seg.groupId!==void 0&&h("button",{type:"button",class:"sy-grid__header-group-toggle","aria-expanded":seg.open===true?"true":"false","aria-label":`${seg.label??""}`.trim(),disabled:this.effectiveLoading,onClick:event=>{event.stopPropagation();void this.applyColumnGroupOpened(seg.groupId,!(seg.open===true),"ui")}},seg.open===true?"⏵":"⏷"))};const rows=[];for(let level=0;level<depth;level++){rows.push(h("div",{class:"sy-grid__header-group-row",role:"row","aria-rowindex":level+1,key:`grouprow-${level}`},renderCheckboxCol&&h("div",{class:"sy-grid__header-group-cell sy-grid__header-group-cell--filler","aria-hidden":"true",style:pinCtx?.left?{width:`${SELECTION_CHECKBOX_COLUMN.width}px`,flex:`0 0 ${SELECTION_CHECKBOX_COLUMN.width}px`,position:"sticky",left:"0px",zIndex:"4"}:{width:`${SELECTION_CHECKBOX_COLUMN.width}px`,flex:`0 0 ${SELECTION_CHECKBOX_COLUMN.width}px`}}),(leftRows[level]??[]).map((seg,i)=>segCell(seg,"left",level,i)),colWindow&&colWindow.leadingPx>0&&this.renderColumnSpacer(colWindow.leadingPx,`g${level}-lead`),(midRows[level]??[]).map((seg,i)=>segCell(seg,null,level,i)),colWindow&&colWindow.trailingPx>0&&this.renderColumnSpacer(colWindow.trailingPx,`g${level}-trail`),(rightRows[level]??[]).map((seg,i)=>segCell(seg,"right",level,i))))}return rows}columnWindowContext(cols,checkboxOffset){const ctx=this.columnWindowContextInner(cols,checkboxOffset);this.columnWindowLive=ctx!==null;return ctx}columnWindowEnabled(leafCount){if(this.virtualizeColumns===true)return true;if(this.virtualizeColumns===false)return false;return leafCount>=COLUMN_WINDOW_AUTO_THRESHOLD}columnWindowContextInner(cols,checkboxOffset){if(!this.columnWindowEnabled(cols.length))return null;let leftCount=0;while(leftCount<cols.length&&this.pinSideOf(cols[leftCount])==="left")leftCount++;let rightCount=0;while(rightCount<cols.length-leftCount&&this.pinSideOf(cols[cols.length-1-rightCount])==="right"){rightCount++}const middleCount=cols.length-leftCount-rightCount;if(middleCount===0)return null;let pinnedLeftPx=checkboxOffset;for(let i=0;i<leftCount;i++){pinnedLeftPx+=this.pinnedWidthOf(cols[i])??DEFAULT_PINNED_COLUMN_WIDTH}let pinnedRightPx=0;for(let i=0;i<rightCount;i++){pinnedRightPx+=this.pinnedWidthOf(cols[cols.length-1-i])??DEFAULT_PINNED_COLUMN_WIDTH}const widths=[];for(let i=0;i<middleCount;i++){const width=this.pinnedWidthOf(cols[leftCount+i]);if(width===null)return null;widths.push(width)}const viewportWidth=(this.viewportSize?.width??0)-pinnedLeftPx-pinnedRightPx;if(viewportWidth<=0)return null;const win=computeColumnWindow({widths,scrollLeft:this.hScrollLeft,viewportWidth});const firstRendered=leftCount+win.start;const lastRendered=leftCount+win.end-1;return{culled:absIndex=>absIndex>=leftCount&&absIndex<leftCount+middleCount&&(absIndex<firstRendered||absIndex>lastRendered),firstRendered,lastRendered,leadingPx:win.leadingPx,trailingPx:win.trailingPx}}renderColumnSpacer(px,key){return h("div",{key,class:"sy-grid__col-spacer","aria-hidden":"true",style:{width:`${px}px`,flex:`0 0 ${px}px`}})}withColumnSpacers(cell,absIndex,colWindow,keyPrefix){if(!colWindow)return cell;const parts=[cell];if(absIndex===colWindow.firstRendered&&colWindow.leadingPx>0){parts.unshift(this.renderColumnSpacer(colWindow.leadingPx,`${keyPrefix}-lead`))}if(absIndex===colWindow.lastRendered&&colWindow.trailingPx>0){parts.push(this.renderColumnSpacer(colWindow.trailingPx,`${keyPrefix}-trail`))}return parts.length===1?cell:parts}applyPinnedStyle(col,cellStyle,pinCtx,zIndex,surface){const none={pinnedLeft:false,pinnedRight:false};if(!pinCtx)return none;const side=this.pinSideOf(col);if(side==="left"&&pinCtx.left){cellStyle.position="sticky";cellStyle.left=`${pinCtx.left.get(col.field)??0}px`;cellStyle.zIndex=zIndex;return{pinnedLeft:true,pinnedRight:false}}if(side==="right"&&pinCtx.right){const compensation=surface==="header"?this.bodyScrollbarWidth:0;cellStyle.position="sticky";cellStyle.right=`${(pinCtx.right.get(col.field)??0)+compensation}px`;cellStyle.zIndex=zIndex;return{pinnedLeft:false,pinnedRight:true}}return none}renderConditionBuilder(){const filters=this.proUiChunk("pro-filters","grid.advanced-filter","conditionBuilder");return filters==null?null:filters.renderConditionBuilder(this.proFiltersHost())}renderHeaderFilterRow(cols,renderCheckboxCol,pinCtx,lastPinnedLeft,firstPinnedRight,colWindow=null){const locked=this.effectiveLoading;const messages=this.resolvedMessages;const checkboxSticky=pinCtx?.left!=null;return h("div",{class:"sy-grid__header-filter-row",role:"row"},renderCheckboxCol&&h("div",{class:{"sy-grid__header-filter-cell":true,"sy-grid__header-filter-cell--spacer":true,"sy-grid__header-filter-cell--pinned-left":checkboxSticky},role:"gridcell",style:checkboxSticky?{position:"sticky",left:"0px",zIndex:"4"}:void 0}),cols.map((col,colIndex)=>{if(colWindow&&colWindow.culled(colIndex))return null;const lifecycleFilter=col.field?this.lifecycleFilterDeclaration(col):null;const hasLifecycleFloating=lifecycleFilter!==null&&col.floatingFilterComponent!==void 0&&col.floatingFilterComponent!==null;const kind=col.field&&lifecycleFilter===null?this.offeredFilterUiKind(col.filter):null;const cellStyle=this.columnLayoutStyle(col);const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,"4","header");const active=col.field?this.activeFilters[col.field]:void 0;const ariaLabel=translateMessage(messages,"header.filterLabel",{column:col.headerName??col.field??""});let body=null;if(hasLifecycleFloating){const colId=this.componentFilterColumnId(col);body=h("div",{class:"sy-grid__floating-filter-host","data-col-id":colId,ref:this.componentFilterHostRef(colId,true)})}else if(kind==="text"||kind==="number"||kind==="date"){const isRange=active!==void 0&&active.kind===kind&&(active.spec.op==="between"||active.spec.op==="notBetween");if(isRange){body=h("button",{type:"button",class:"sy-grid__header-filter-summary",disabled:locked,onClick:event=>this.handleFilterIconClick(col,event),"aria-label":ariaLabel},this.floatingFilterSummary(active))}else{const value=active!==void 0&&active.kind===kind?this.floatingFilterValue(active):"";body=h("input",{class:"sy-grid__header-filter-input",type:kind==="number"?"number":kind==="date"?"date":"search",value,placeholder:kind==="number"?messages["filter.numberPlaceholder"]:kind==="date"?void 0:messages["filter.valuePlaceholder"],readOnly:locked,"aria-label":ariaLabel,onInput:e=>this.handleFloatingFilterInput(col,kind,e.target.value)})}}else if(kind==="set"||kind==="multi"){body=h("button",{type:"button",class:"sy-grid__header-filter-summary",disabled:locked,onClick:event=>this.handleFilterIconClick(col,event),"aria-label":ariaLabel},this.floatingFilterSummary(active))}const filterCellNode=h("div",{key:col.field,class:{"sy-grid__header-filter-cell":true,"sy-grid__header-filter-cell--pinned-left":pin.pinnedLeft,"sy-grid__header-filter-cell--pinned-left-last":pin.pinnedLeft&&col.field===lastPinnedLeft,"sy-grid__header-filter-cell--pinned-right":pin.pinnedRight,"sy-grid__header-filter-cell--pinned-right-first":pin.pinnedRight&&col.field===firstPinnedRight},role:"gridcell","data-field":col.field,style:Object.keys(cellStyle).length>0?cellStyle:void 0},body);return this.withColumnSpacers(filterCellNode,colIndex,colWindow,`f-${col.field}`)}))}floatingFilterValue(active){if(active.kind==="text")return active.spec.value??"";if(active.kind==="number"){const v=active.spec.value;return Array.isArray(v)?"":this.numberToInputValue(v)}if(active.kind==="date"){const v=active.spec.value;return Array.isArray(v)?"":this.dateValueToInput(v)}return""}floatingFilterSummary(active){const messages=this.resolvedMessages;if(!active)return messages["filter.headerRowOpen"];if(active.kind==="set"){const values=active.spec.values;return values===null?messages["filter.headerRowOpen"]:translateMessage(messages,"filter.headerRowSelected",{count:String(values.length)})}if(active.kind==="multi"){return translateMessage(messages,"filter.headerRowParts",{count:String(active.spec.parts.length)})}const v=active.spec.value;const pair=Array.isArray(v)?`${v[0]??""}–${v[1]??""}`:String(v??"");return`${messages[`filter.op.${active.spec.op}`]??active.spec.op} ${pair}`}handleFloatingFilterInput(col,kind,rawValue){if(this.effectiveLoading||!col.field)return;const field=col.field;const existing=this.activeFilters[field];if(rawValue.trim()===""){if(existing!==void 0)this.applyFilterDirect(field,null);return}let filter;if(kind==="text"){const op=existing?.kind==="text"?existing.spec.op:"contains";const caseSensitive=existing?.kind==="text"?existing.spec.caseSensitive??false:false;filter={kind:"text",field,spec:{field,op,value:rawValue,caseSensitive}}}else if(kind==="number"){const op=existing?.kind==="number"&&!Array.isArray(existing.spec.value)?existing.spec.op:"equals";const value=normalizeNumericInput(rawValue)??Number.NaN;filter={kind:"number",field,spec:{field,op,value}}}else{const op=existing?.kind==="date"&&!Array.isArray(existing.spec.value)?existing.spec.op:"equals";const granularity=existing?.kind==="date"?existing.spec.granularity??"utc":"utc";filter={kind:"date",field,spec:{field,op,value:rawValue,granularity}}}this.applyFilterDirect(field,filter)}applyFilterDirect(field,filter){const nextMap=filter===null?clearActiveFilter(this.activeFilters,field):setActiveFilter(this.activeFilters,filter);this.activeFilters=nextMap;this.filterChanged.emit({field,filter,activeMap:nextMap});this.scheduleLifecycleFilterPeerNotification();this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange()}async setConditionFilter(model){return this.proMethod("setConditionFilter",{load:()=>this.loadProFiltersChunk(),exec:filters=>filters,publish:filters=>{if(model===null){this.builderDraft={type:"group",op:"and",children:[]};this.applyConditionTree(null);return}const validation=validateConditionNode(model);if(!validation.ok){console.warn("setConditionFilter rejected:",validation.errors);return}const copy=parseConditionTree(serializeConditionTree(model));this.builderDraft=filters.treeToBuilderDraft(this.proFiltersHost(),copy);this.applyConditionTree(copy)}})}async getConditionFilter(){return this.proRun("getConditionFilter",()=>this.activeConditionTree?parseConditionTree(serializeConditionTree(this.activeConditionTree)):null)}applyConditionTree(tree){this.activeConditionTree=tree;this.conditionFilterChanged.emit({model:tree});this.scheduleLifecycleFilterPeerNotification();this.resetVirtualScrollPosition();this.recomputeVirtualWindow();this.clampActiveCellAfterChange();this.clampRangesAfterChange()}maybeFocusBuilder(){const key=this.builderFocusKey;if(key===null)return;this.builderFocusKey=null;const host=this.host;if(host==null)return;const btn=host.querySelector(`[data-builder-add="${key}"]`);if(btn!=null&&typeof btn.focus==="function")btn.focus()}handleBuilderApply=()=>{if(this.effectiveLoading)return;if(!this.proNewWorkAllowed("grid.advanced-filter","conditionBuilder"))return;const filters=this.proUiChunks["pro-filters"];if(filters===void 0)return;const tree=filters.builderDraftToTree(this.proFiltersHost(),this.builderDraft);this.applyConditionTree(tree)};handleBuilderClear=()=>{if(this.effectiveLoading)return;this.builderDraft={type:"group",op:"and",children:[]};this.applyConditionTree(null)};async setConditionPresets(presets){return this.proRun("setConditionPresets",()=>{const next=[];for(const preset of Array.isArray(presets)?presets:[]){if(!preset||typeof preset.name!=="string"||preset.name.trim()==="")continue;if(typeof preset.json!=="string")continue;try{parseConditionTree(preset.json)}catch{continue}if(next.some(p=>p.name===preset.name))continue;next.push({name:preset.name,json:preset.json})}this.conditionPresets=next})}async getConditionPresets(){return this.proRun("getConditionPresets",()=>this.conditionPresets.map(p=>({...p})))}emitPresetsChanged(){this.conditionPresetsChanged.emit({presets:this.conditionPresets.map(p=>({...p}))})}handlePresetSave=()=>{if(this.effectiveLoading)return;if(!this.proNewWorkAllowed("grid.advanced-filter","conditionBuilder"))return;const filters=this.proUiChunks["pro-filters"];if(filters===void 0)return;const name=this.presetNameDraft.trim();const tree=filters.builderDraftToTree(this.proFiltersHost(),this.builderDraft);if(name===""||tree===null)return;const json=serializeConditionTree(tree);const others=this.conditionPresets.filter(p=>p.name!==name);this.conditionPresets=[...others,{name,json}];this.presetNameDraft="";this.emitPresetsChanged()};handlePresetLoad(preset){if(this.effectiveLoading)return;if(!this.proNewWorkAllowed("grid.advanced-filter","conditionBuilder"))return;const filters=this.proUiChunks["pro-filters"];if(filters===void 0)return;let tree;try{tree=parseConditionTree(preset.json)}catch(err){console.warn(`[SG:FILTER] bad preset=${preset.name}`,err);return}this.builderDraft=filters.treeToBuilderDraft(this.proFiltersHost(),tree);this.applyConditionTree(tree)}handlePresetDelete(name){if(this.effectiveLoading)return;this.conditionPresets=this.conditionPresets.filter(p=>p.name!==name);this.emitPresetsChanged()}renderSetFilterBody(form,subIndex){const filters=this.proUiChunks["pro-filters"];return filters===void 0?null:filters.renderSetFilterBody(this.proFiltersHost(),form,subIndex)}renderFilterFormActions(locked){const messages=this.resolvedMessages;return h("div",{class:"sy-grid__filter-actions"},h("button",{type:"button",class:"sy-grid__filter-button sy-grid__filter-button--secondary",disabled:locked,onClick:this.handleFilterClear},messages["filter.clearButton"]),h("button",{type:"button",class:"sy-grid__filter-button sy-grid__filter-button--secondary",onClick:this.handleFilterCancel},messages["filter.cancelButton"]),h("button",{type:"button",class:"sy-grid__filter-button sy-grid__filter-button--primary",disabled:locked,onClick:this.handleFilterApply},messages["filter.applyButton"]))}renderFilterDropdown(){if(!this.usingColumnDefsApi())return null;if(this.openFilterField===null)return null;const col=this.resolvedColumnDefs().find(c=>c.field===this.openFilterField);const lifecycleFilter=col===void 0?null:this.lifecycleFilterDeclaration(col);if(this.filterForm===null&&lifecycleFilter===null)return null;const dialogLabel=translateMessage(this.resolvedMessages,"header.filterLabel",{column:col?.headerName??col?.field??this.openFilterField});return h("div",{id:"sy-grid-filter-dropdown",class:"sy-grid__filter-dropdown",role:"dialog","aria-label":dialogLabel,tabindex:"-1",ref:el=>{this.filterDropdownEl=el??null},style:{position:"absolute",left:`${this.dropdownAnchor?.x??0}px`,top:`${this.dropdownAnchor?.y??0}px`,zIndex:"1000"},onClick:event=>event.stopPropagation(),onMouseDown:event=>event.stopPropagation()},lifecycleFilter!==null&&col!==void 0?h("div",{class:"sy-grid__custom-filter-host","data-col-id":this.componentFilterColumnId(col),ref:this.componentFilterHostRef(this.componentFilterColumnId(col),false)}):this.renderFilterDropdownForm(this.filterForm))}renderFilterDropdownForm(form){const locked=this.effectiveLoading;if(form.kind==="multi"){return h("div",{class:"sy-grid__filter-form sy-grid__filter-form--multi"},(form.subForms??[]).map((sub,i)=>h("div",{class:"sy-grid__filter-multi-section",key:`${sub.kind}-${i}`},sub.kind==="set"?this.renderSetFilterBody(sub,i):this.renderScalarFilterBody(sub,i))),this.renderFilterFormActions(locked))}if(form.kind==="set"){return h("div",{class:"sy-grid__filter-form sy-grid__filter-form--set"},this.renderSetFilterBody(form,null),this.renderFilterFormActions(locked))}return h("div",{class:"sy-grid__filter-form"},this.renderScalarFilterBody(form,null),this.renderFilterFormActions(locked))}renderScalarFilterBody(form,subIndex){const isRangeOp=form.op==="between"||form.op==="notBetween";const locked=this.effectiveLoading;const messages=this.resolvedMessages;return h("div",{class:"sy-grid__filter-scalar-body"},h("label",{class:"sy-grid__filter-row"},h("span",{class:"sy-grid__filter-label"},messages["filter.operatorLabel"]),h("select",{class:"sy-grid__filter-op",disabled:locked,onChange:e=>this.patchForm(subIndex,{op:e.target.value})},this.filterOpOptions(form.kind,form.op))),form.kind==="text"&&h("label",{class:"sy-grid__filter-row"},h("span",{class:"sy-grid__filter-label"},messages["filter.valueLabel"]),h("input",{class:"sy-grid__filter-input",type:"text",value:form.value1,placeholder:messages["filter.valuePlaceholder"],readOnly:locked,"aria-disabled":locked?"true":void 0,onInput:e=>this.patchForm(subIndex,{value1:e.target.value})})),form.kind==="number"&&h("label",{class:"sy-grid__filter-row"},h("span",{class:"sy-grid__filter-label"},isRangeOp?messages["filter.fromLabel"]:messages["filter.valueLabel"]),h("input",{class:"sy-grid__filter-input",type:"number",value:form.value1,placeholder:isRangeOp?messages["filter.numberLowPlaceholder"]:messages["filter.numberPlaceholder"],readOnly:locked,"aria-disabled":locked?"true":void 0,onInput:e=>this.patchForm(subIndex,{value1:e.target.value})})),form.kind==="number"&&isRangeOp&&h("label",{class:"sy-grid__filter-row"},h("span",{class:"sy-grid__filter-label"},messages["filter.toLabel"]),h("input",{class:"sy-grid__filter-input",type:"number",value:form.value2,placeholder:messages["filter.numberHighPlaceholder"],readOnly:locked,"aria-disabled":locked?"true":void 0,onInput:e=>this.patchForm(subIndex,{value2:e.target.value})})),form.kind==="date"&&h("label",{class:"sy-grid__filter-row"},h("span",{class:"sy-grid__filter-label"},isRangeOp?messages["filter.fromLabel"]:messages["filter.dateLabel"]),h("input",{class:"sy-grid__filter-input",type:"date",value:form.value1,readOnly:locked,"aria-disabled":locked?"true":void 0,onInput:e=>this.patchForm(subIndex,{value1:e.target.value})})),form.kind==="date"&&isRangeOp&&h("label",{class:"sy-grid__filter-row"},h("span",{class:"sy-grid__filter-label"},messages["filter.toLabel"]),h("input",{class:"sy-grid__filter-input",type:"date",value:form.value2,readOnly:locked,"aria-disabled":locked?"true":void 0,onInput:e=>this.patchForm(subIndex,{value2:e.target.value})})),form.kind==="text"&&h("label",{class:"sy-grid__filter-row sy-grid__filter-row--inline"},h("input",{type:"checkbox",checked:form.caseSensitive,disabled:locked,onChange:e=>this.patchForm(subIndex,{caseSensitive:e.target.checked})}),h("span",{class:"sy-grid__filter-label sy-grid__filter-label--inline"},messages["filter.caseSensitiveLabel"])),form.kind==="date"&&h("label",{class:"sy-grid__filter-row"},h("span",{class:"sy-grid__filter-label"},messages["filter.granularityLabel"]),h("select",{class:"sy-grid__filter-op",disabled:locked,onChange:e=>this.patchForm(subIndex,{granularity:e.target.value})},h("option",{value:"utc",selected:form.granularity==="utc"},messages["filter.granularityUtcOption"]),h("option",{value:"day",selected:form.granularity==="day"},messages["filter.granularityDayOption"]))))}filterOpOptions(kind,currentOp){const messages=this.resolvedMessages;const opts=kind==="text"?[["contains",messages["filter.op.contains"]],["notContains",messages["filter.op.notContains"]],["equals",messages["filter.op.equals"]],["notEqual",messages["filter.op.notEqual"]],["startsWith",messages["filter.op.startsWith"]],["endsWith",messages["filter.op.endsWith"]]]:kind==="number"?[["equals",messages["filter.op.equals"]],["notEqual",messages["filter.op.notEqual"]],["gt",messages["filter.op.greaterThan"]],["gte",messages["filter.op.greaterOrEqual"]],["lt",messages["filter.op.lessThan"]],["lte",messages["filter.op.lessOrEqual"]],["between",messages["filter.op.between"]],["notBetween",messages["filter.op.notBetween"]]]:[["equals",messages["filter.op.equals"]],["notEqual",messages["filter.op.notEqual"]],["before",messages["filter.op.before"]],["after",messages["filter.op.after"]],["onOrBefore",messages["filter.op.onOrBefore"]],["onOrAfter",messages["filter.op.onOrAfter"]],["between",messages["filter.op.between"]],["notBetween",messages["filter.op.notBetween"]]];return opts.map(([value,label])=>h("option",{value,selected:currentOp===value},label))}openToolPanelId=null;columnsPanelSearch="";filtersPanelSearch="";sideBarWarned=false;sideBarSpec(){const resolved=resolveSideBar(this.sideBar);if(resolved!==null&&!this.proAllowed("grid.tool-panels","sideBar"))return null;if(resolved!==null&&resolved.invalid.length>0&&!this.sideBarWarned){this.sideBarWarned=true;console.warn(`sideBar declaration has invalid entries: ${resolved.invalid.join(", ")}`)}return resolved}onSideBarChanged(){const spec=this.sideBarSpec();if(spec===null){this.openToolPanelId=null;return}const stillDeclared=this.openToolPanelId!==null&&spec.panels.some(p=>p.id===this.openToolPanelId);if(stillDeclared)return;this.openToolPanelId=spec.defaultOpen}async openToolPanel(id){const declared=()=>resolveSideBar(this.sideBar)?.panels.some(p=>p.id===id)===true;return this.proMethod("openToolPanel",{validate:()=>declared()?void 0:{result:false},load:()=>this.loadProPanelsChunk(),exec:()=>void 0,publish:()=>{const spec=this.sideBarSpec();if(spec===null||!spec.panels.some(p=>p.id===id))return false;if(this.openToolPanelId!==id){this.openToolPanelId=id;this.toolPanelToggled.emit({id,open:true})}return true}})}async closeToolPanel(){return this.proRun("closeToolPanel",()=>{const open=this.openToolPanelId;if(open===null)return;this.openToolPanelId=null;this.toolPanelToggled.emit({id:open,open:false})})}async getOpenedToolPanel(){return this.proRun("getOpenedToolPanel",()=>this.openToolPanelId)}renderSideBar(){if(!this.usingColumnDefsApi()||this.sideBarSpec()===null)return null;const panels=this.proUiChunk("pro-panels","grid.tool-panels","sideBar");return panels==null?null:panels.renderSideBar(this.proPanelsHost())}lastFilteredDataRowCount=null;statusBarWarned=false;statusBarSpec(){const resolved=resolveStatusBar(this.statusBar);if(resolved!==null&&!this.proAllowed("grid.status-bar","statusBar"))return null;if(resolved!==null&&resolved.invalid.length>0&&!this.statusBarWarned){this.statusBarWarned=true;console.warn(`statusBar declaration has invalid entries: ${resolved.invalid.join(", ")}`)}return resolved}renderStatusBar(){if(!this.usingColumnDefsApi()||this.statusBarSpec()===null)return null;const panels=this.proUiChunk("pro-panels","grid.status-bar","statusBar");return panels==null?null:panels.renderStatusBar(this.proPanelsHost())}renderPaginationBar(){if(!this.pagination)return null;if(!this.usingColumnDefsApi())return null;const meta=this.latestPaginatedMeta;const pageIndex=this.activePagination.pageIndex;const pageSize=this.activePagination.pageSize;const totalRows=meta?.totalRows??0;const pageCount=meta?.pageCount??1;const start=totalRows===0?0:pageIndex*pageSize+1;const end=Math.min(totalRows,(pageIndex+1)*pageSize);const pageSizeOptions=this.normalizedPageSizeOptions();const isFirst=pageIndex<=0;const isLast=pageIndex>=pageCount-1;const numbers=visiblePageNumbers(pageIndex,pageCount);const locked=this.effectiveLoading;const messages=this.resolvedMessages;return h("div",{class:{"sy-grid__pagination":true,"sy-grid__pagination--locked":locked},role:"navigation","aria-label":messages["pagination.navAriaLabel"],"aria-disabled":locked?"true":void 0,onKeyDown:this.handlePaginationKeyDown},h("button",{type:"button",class:"sy-grid__pagination-button sy-grid__pagination-button--prev","aria-label":messages["a11y.paginationPrev"],disabled:isFirst||locked,onClick:this.handlePrevPage},"‹"),h("span",{class:"sy-grid__page-numbers"},numbers.map((entry,i)=>{if(entry==="ellipsis"){return h("span",{key:`ellipsis-${i}`,class:"sy-grid__page-ellipsis","aria-hidden":"true"},"…")}const targetIndex=entry-1;const isActive=targetIndex===pageIndex;return h("button",{key:`page-${entry}`,type:"button",class:{"sy-grid__pagination-button":true,"sy-grid__page-number":true,"sy-grid__page-number--active":isActive},"data-active":isActive?"true":"false","aria-current":isActive?"page":void 0,"aria-label":translateMessage(messages,"header.pageLabel",{page:entry}),disabled:locked,onClick:()=>this.handleGoToPage(targetIndex)},entry)})),h("button",{type:"button",class:"sy-grid__pagination-button sy-grid__pagination-button--next","aria-label":messages["a11y.paginationNext"],disabled:isLast||locked,onClick:this.handleNextPage},"›"),h("span",{class:"sy-grid__page-info","aria-live":"polite"},translateMessage(messages,"pagination.rangeOf",{start,end,total:totalRows})),h("label",{class:"sy-grid__page-size-label"},h("span",{class:"sy-grid__page-size-text"},messages["pagination.rowsLabel"]),h("select",{class:"sy-grid__page-size","aria-label":messages["a11y.paginationPageSize"],disabled:locked,onChange:event=>this.handlePageSizeChange(event.target.value)},pageSizeOptions.map(opt=>h("option",{value:String(opt),selected:opt===pageSize},opt)))))}renderHeaderCheckboxCell(stickyLeft=false){const ids=this.collectVisibleRowIds();const headerState=headerCheckboxState(this.selectionState,ids);const ariaLabel=this.resolvedMessages["a11y.selectAllCheckbox"];const attrs=headerCheckboxAttrs(headerState,ariaLabel);const cellStyle={width:`${SELECTION_CHECKBOX_COLUMN.width}px`};if(stickyLeft){cellStyle.position="sticky";cellStyle.left="0px";cellStyle.zIndex="4"}const headerAttrs=columnHeaderAttrs({colIndex:0,sortDirection:null,label:ariaLabel});return h("div",{class:{"sy-grid__header-cell":true,"sy-grid__header-cell--selection":true,"sy-grid__header-cell--locked":this.effectiveLoading},...headerAttrs,"data-field":SELECTION_CHECKBOX_COLUMN.field,style:cellStyle},h("span",{class:{"sy-grid__selection-checkbox":true,"sy-grid__selection-checkbox--checked":headerState==="all","sy-grid__selection-checkbox--mixed":headerState==="partial"},role:attrs.role,"aria-checked":attrs["aria-checked"],"aria-label":attrs["aria-label"],tabindex:attrs.tabindex,onClick:this.handleHeaderCheckboxClick,onKeyDown:this.handleHeaderCheckboxKeyDown}))}renderBodyCheckboxCell(isSelected,stickyLeft=false){const ariaLabel=this.resolvedMessages["a11y.selectRowCheckbox"];const attrs=bodyCheckboxAttrs(isSelected,ariaLabel);const cellStyle={width:`${SELECTION_CHECKBOX_COLUMN.width}px`};if(stickyLeft){cellStyle.position="sticky";cellStyle.left="0px";cellStyle.zIndex="1"}return h("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":stickyLeft},...gridCellAttrs({colIndex:0,isActive:false}),"data-field":SELECTION_CHECKBOX_COLUMN.field,"data-col-index":-1,style:cellStyle},h("span",{class:{"sy-grid__selection-checkbox":true,"sy-grid__selection-checkbox--checked":isSelected},role:attrs.role,"aria-checked":attrs["aria-checked"],"aria-label":attrs["aria-label"],tabindex:attrs.tabindex}))}lifecycleRendererDeclaration(col){const raw=col.cellRenderer;if(raw===void 0||raw===null||typeof raw==="function"){return null}if(typeof raw==="string"){return this.cellRendererRegistry.get(raw)===null?{componentName:raw}:null}if(typeof raw==="object"){return{definition:raw}}return null}rendererPresentationCoordinateKey(rowIndex,colIndex){return`${rowIndex}:${colIndex}`}rendererPresentationFromOutput(output){if(output===null||typeof output!=="object"){return{classNames:[]}}const candidate=output;if(candidate.kind!=="text"&&candidate.kind!=="html"&&candidate.kind!=="vnode"){return{classNames:[]}}const classNames=typeof candidate.class==="string"?[...new Set(candidate.class.split(/\s+/).filter(Boolean))]:[];return{classNames,...typeof candidate.title==="string"?{title:candidate.title}:{}}}sameRendererPresentation(left,right){if(left===void 0){return right.classNames.length===0&&right.title===void 0}return left.title===right.title&&left.classNames.length===right.classNames.length&&left.classNames.every((className,index)=>className===right.classNames[index])}updateLifecycleRendererPresentation(requestKey,presentation){const previous=this.lifecycleRendererPresentations.get(requestKey);if(this.sameRendererPresentation(previous,presentation))return false;if(presentation.classNames.length===0&&presentation.title===void 0){return this.lifecycleRendererPresentations.delete(requestKey)}this.lifecycleRendererPresentations.set(requestKey,presentation);return true}recordRendererPresentation(rowIndex,colIndex,presentation){if(presentation.classNames.length===0&&presentation.title===void 0){return}this.rendererPresentationsByCoordinate.set(this.rendererPresentationCoordinateKey(rowIndex,colIndex),presentation)}rendererPresentationAt(rowIndex,colIndex){return this.rendererPresentationsByCoordinate.get(this.rendererPresentationCoordinateKey(rowIndex,colIndex))}rendererPresentationClasses(presentation){if(presentation===void 0||presentation.classNames.length===0){return{}}return presentation.classNames.reduce((classes,className)=>{classes[className]=true;return classes},{})}renderLifecycleRenderer(declaration,rowIndex,colIndex,col,identityRow,paramsRow,value,formatted){const rowId=this.componentRowId(identityRow);const colId=this.componentColumnId(col);if(rowId===null||colId===null)return"—";const identity={rowId,colId};const requestKey=JSON.stringify([identity.rowId,identity.colId]);const presentation=this.lifecycleRendererPresentations.get(requestKey);if(presentation!==void 0){this.recordRendererPresentation(rowIndex,colIndex,presentation)}return h("span",{class:"sy-grid__cell-component-host","data-component-kind":"renderer","data-component-key":requestKey,ref:element=>{if(element===void 0||element===null)return;this.pendingLifecycleRenderers.set(requestKey,{identity,host:element,...declaration.componentName===void 0?{}:{componentName:declaration.componentName},...declaration.definition===void 0?{}:{definition:declaration.definition},paramsRow,value,rowIndex,colIndex,formatted,meta:col.cellRendererMeta})}})}resolveCellRenderer(col){const raw=col.cellRenderer;if(raw===void 0||raw===null)return null;if(typeof raw==="function"){return raw}if(typeof raw==="string"){const found=this.cellRendererRegistry.get(raw);if(found!==null)return found;if(!this.cellRendererWarnedFields.has(col.field)){this.cellRendererWarnedFields.add(col.field);console.warn(`[cellRenderer] field=${col.field} missing=${raw}; names=${this.cellRendererRegistry.list().join(", ")}`)}return null}if(!this.cellRendererWarnedFields.has(col.field)){this.cellRendererWarnedFields.add(col.field);console.warn(`[cellRenderer] field=${col.field} bad type=${typeof raw}; text fallback`)}return null}renderCellContent(rowIndex,colIndex,col,row,value,maskedCallbackRow){const lifecycle=this.lifecycleRendererDeclaration(col);const renderer=lifecycle===null?this.resolveCellRenderer(col):null;if(lifecycle===null&&renderer===null)return null;const rendererRow=maskedCallbackRow??(this.readPolicyConfigured()?this.maskDeniedFields(row,rowIndex,this.resolvedColumnDefs()):row);const formatted=col.valueFormatter!==void 0&&col.valueFormatter!==null?this.formatGridCellValue({value,row:rendererRow,rowIndex,colId:col.colId??col.field,valueFormatter:col.valueFormatter,locale:typeof this.locale==="string"?this.locale:"en",colDef:col}):void 0;if(lifecycle!==null){return this.renderLifecycleRenderer(lifecycle,rowIndex,colIndex,col,row,rendererRow,value,formatted)}if(renderer===null)return null;const input={value,row:rendererRow,rowIndex,colIndex,colId:col.field,formatted,meta:col.cellRendererMeta};let output;try{output=renderer(input)}catch(err){if(!this.cellRendererWarnedFields.has(col.field)){this.cellRendererWarnedFields.add(col.field);console.warn(`[cellRenderer] error field=${col.field} row=${rowIndex}:`,err)}return"—"}if(!output||typeof output!=="object"){if(!this.cellRendererWarnedFields.has(col.field)){this.cellRendererWarnedFields.add(col.field);const reportedShape=output===null?"null":typeof output;console.warn(`[cellRenderer] field=${col.field} bad shape=${reportedShape}; fallback`)}return"—"}if(output.kind==="text"){this.recordRendererPresentation(rowIndex,colIndex,this.rendererPresentationFromOutput(output));return typeof output.text==="string"?output.text:""}if(output.kind==="html"){this.recordRendererPresentation(rowIndex,colIndex,this.rendererPresentationFromOutput(output));const html=typeof output.html==="string"?output.html:"";return h("span",{class:"sy-grid__cell-html",innerHTML:html})}if(output.kind==="vnode"){this.recordRendererPresentation(rowIndex,colIndex,this.rendererPresentationFromOutput(output));return output.vnode}if(!this.cellRendererWarnedFields.has(col.field)){this.cellRendererWarnedFields.add(col.field);console.warn(`[cellRenderer] field=${col.field} bad kind=${output.kind}; fallback`)}return"—"}renderEditorForCell(rowIndex,colIndex,col){if(this.editStore.active===null)return null;const tx=this.editStore.active;const lifecycleTarget=this.lifecycleEditorNavigationTarget?.target;let lifecycleCell=null;if(lifecycleTarget!==void 0){if(this.componentFilterColumnId(col)!==lifecycleTarget.colId){return null}const candidateRow=this.getDisplayRows()[rowIndex];if(candidateRow===void 0||candidateRow===null||typeof candidateRow!=="object"){return null}let candidateMatches=lifecycleTarget.rowId===null?candidateRow===lifecycleTarget.row:false;if(lifecycleTarget.rowId!==null){try{candidateMatches=Object.is(this.editRowIdentity(candidateRow),lifecycleTarget.rowId)}catch{candidateMatches=false}}if(!candidateMatches)return null;lifecycleCell=this.resolveQueuedCellEditTarget(lifecycleTarget,false);if(lifecycleCell===null||lifecycleCell.rowIndex!==rowIndex||lifecycleCell.colIndex!==colIndex){return null}this.lifecycleEditorCell=lifecycleCell}else if(tx.rowIndex!==rowIndex||tx.colIndex!==colIndex){return null}if(col.editable!==true)return null;if(!this.passesEditPolicyAt(rowIndex,colIndex))return null;if(lifecycleTarget!==void 0){if(col.cellEditor==null)return null;void this.lifecycleEditorVersion;const lifecycleKey=this.lifecycleEditorNavigationTarget?.key;if(lifecycleKey===void 0)return null;let claimedLifecycleHost=null;if(this.lifecycleEditorCell===null||this.lifecycleEditorCell.rowIndex!==rowIndex||this.lifecycleEditorCell.colIndex!==colIndex){return null}return h("div",{class:"sy-grid__cell-editor-component-host","data-component-kind":"editor","data-component-state":this.lifecycleEditorRef===null?"starting":"mounted",ref:host=>{const element=host??null;if(element===null){if(this.lifecycleEditorHost===claimedLifecycleHost){this.lifecycleEditorHost=null}return}if(this.lifecycleEditorNavigationTarget?.key!==lifecycleKey){return}claimedLifecycleHost=element;this.lifecycleEditorHost=element}})}const editorType=col.editor??"text";if(editorType==="number"){return this.renderNumberEditorForCell(rowIndex,colIndex,col)}if(editorType==="date"){return this.renderDateEditorForCell(rowIndex,colIndex,col)}if(editorType==="select"){return this.renderSelectEditorForCell(rowIndex,colIndex,col)}if(editorType==="autocomplete"){return this.richSelect?.renderAutocompleteEditor(this,h,rowIndex,colIndex,col)??null}if(editorType==="checkbox"){return this.renderCheckboxEditorForCell(rowIndex,colIndex,col)}if(editorType==="textarea"){return this.renderTextareaEditorForCell(rowIndex,colIndex,col)}if(editorType==="largeText"){return this.renderLargeTextEditorForCell(rowIndex,colIndex,col)}return this.renderTextEditorForCell(rowIndex,colIndex,col)}renderTextEditorForCell(rowIndex,colIndex,col){if(this.textEditorState===null)return null;const ariaLabel=translateMessage(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:col.headerName??col.field,row:rowIndex+1});const hintId=`sy-grid-cell-editor-hint-${rowIndex}-${colIndex}`;const hint=translateMessage(this.resolvedMessages,"a11y.cellEditingHint",{column:col.headerName??col.field,row:rowIndex+1});const props=buildTextEditorProps({state:this.textEditorState,rowIndex,colIndex,ariaLabel,ariaDescribedBy:hintId,interceptKeyDown:this.formulas===true?event=>this.handleSuggestKeyIntercept(event,name=>this.applyCellSuggestion(name)):void 0,onInput:(value,start,end)=>{if(this.textEditorState===null)return;const nextEditor=applyInputValue(this.textEditorState,value);if(nextEditor!==this.textEditorState)this.textEditorState=nextEditor;const cursored=applySelectionChange(this.textEditorState,start,end);if(cursored!==this.textEditorState)this.textEditorState=cursored;if(this.formulas===true)this.updateFormulaSuggest("cell",value,start??value.length);if(this.editStore.active===null)return;const nextStore=setDraft(this.editStore,value);if(nextStore!==this.editStore)this.editStore=nextStore},onCompositionStart:()=>{if(this.textEditorState===null)return;const next=applyCompositionStart(this.textEditorState);if(next!==this.textEditorState)this.textEditorState=next},onCompositionEnd:finalValue=>{if(this.textEditorState===null)return;const next=applyCompositionEnd(this.textEditorState,finalValue);if(next!==this.textEditorState)this.textEditorState=next;if(this.editStore.active===null)return;const nextStore=setDraft(this.editStore,finalValue);if(nextStore!==this.editStore)this.editStore=nextStore},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const active=this.editStore.active;if(active===null||active.phase!=="pending")return;const cancelledRow=active.rowIndex;const cancelledCol=active.colIndex;this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelledRow,colIndex:cancelledCol})},onBlur:()=>{if(this.editStore.active===null)return;if(this.editStore.active.phase!=="pending")return;this.commitEditTransaction()}});return h(h.Fragment,null,h("input",{ref:el=>{this.textEditorEl=el??null},type:props.type,value:props.value,class:props.class,"data-row-index":props["data-row-index"],"data-col-index":props["data-col-index"],"aria-label":props["aria-label"],"aria-describedby":props["aria-describedby"],onInput:props.onInput,onCompositionstart:props.onCompositionStart,onCompositionend:props.onCompositionEnd,onKeyDown:props.onKeyDown,onBlur:props.onBlur}),h("span",{id:hintId,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},hint))}renderNumberEditorForCell(rowIndex,colIndex,col){if(this.numberEditorState===null)return null;const constraints=this.numberConstraintsFromColumn(col);const ariaLabel=translateMessage(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:col.headerName??col.field,row:rowIndex+1});const hintId=`sy-grid-cell-editor-hint-${rowIndex}-${colIndex}`;const hint=translateMessage(this.resolvedMessages,"a11y.cellEditingHint",{column:col.headerName??col.field,row:rowIndex+1});let violationMessage="";const violation=this.numberEditorState.constraintViolation;if(violation!==null&&constraints!==void 0){const bound=violation==="min"?constraints.min:violation==="max"?constraints.max:constraints.step;if(typeof bound==="number"&&Number.isFinite(bound)){const constraintLabel=violation==="min"?"at least":violation==="max"?"at most":"a multiple of";violationMessage=translateMessage(this.resolvedMessages,"editor.numberConstraintViolation",{constraint:constraintLabel,value:String(bound)})}}const props=buildNumberEditorProps({state:this.numberEditorState,rowIndex,colIndex,ariaLabel,ariaDescribedBy:hintId,constraints,onInput:(text,start,end)=>{if(this.numberEditorState===null)return;const nextEditor=applyNumberInputText(this.numberEditorState,text,constraints);if(nextEditor!==this.numberEditorState)this.numberEditorState=nextEditor;const cursored=applyNumberSelectionChange(this.numberEditorState,start,end);if(cursored!==this.numberEditorState)this.numberEditorState=cursored;if(this.editStore.active===null)return;const draft=this.numberEditorState.parsedValue;const nextStore=setDraft(this.editStore,draft);if(nextStore!==this.editStore)this.editStore=nextStore},onCompositionStart:()=>{if(this.numberEditorState===null)return;const next=applyNumberCompositionStart(this.numberEditorState);if(next!==this.numberEditorState)this.numberEditorState=next},onCompositionEnd:finalText=>{if(this.numberEditorState===null)return;const next=applyNumberCompositionEnd(this.numberEditorState,finalText,constraints);if(next!==this.numberEditorState)this.numberEditorState=next;if(this.editStore.active===null)return;const draft=this.numberEditorState.parsedValue;const nextStore=setDraft(this.editStore,draft);if(nextStore!==this.editStore)this.editStore=nextStore},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const active=this.editStore.active;if(active===null||active.phase!=="pending")return;const cancelledRow=active.rowIndex;const cancelledCol=active.colIndex;this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelledRow,colIndex:cancelledCol})},onBlur:()=>{if(this.editStore.active===null)return;if(this.editStore.active.phase!=="pending")return;if(this.numberEditorState!==null&&this.numberEditorState.constraintViolation!==null){return}this.commitEditTransaction()}});return h(h.Fragment,null,h("input",{ref:el=>{this.textEditorEl=el??null},type:props.type,inputMode:props.inputmode,min:props.min,max:props.max,step:props.step,value:props.value,class:props.class,"data-row-index":props["data-row-index"],"data-col-index":props["data-col-index"],"aria-label":props["aria-label"],"aria-describedby":props["aria-describedby"],"aria-invalid":props["aria-invalid"],onInput:props.onInput,onCompositionstart:props.onCompositionStart,onCompositionend:props.onCompositionEnd,onKeyDown:props.onKeyDown,onBlur:props.onBlur}),h("span",{id:hintId,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},violationMessage!==""?`${hint} ${violationMessage}`:hint))}pickCalendarDay(iso,constraints){if(this.dateEditorState===null||this.calendarState===null)return;const date=parseCalISO(iso);if(date===null)return;this.calendarState=calSelectDay(this.calendarState,date);const nextEditor=applyDateInputText(this.dateEditorState,iso,constraints);this.dateEditorState=nextEditor;if(this.editStore.active!==null){const nextStore=setDraft(this.editStore,this.dateEditorState.parsedDate);if(nextStore!==this.editStore)this.editStore=nextStore}if(this.dateEditorState.constraintViolation===null)this.commitEditTransaction()}stepCalendarMonth(delta){if(this.calendarState===null)return;const next=calStepMonth(this.calendarState,delta);if(next===this.calendarState)return;this.calendarState=next;if(this.calendarFocusedIso!==null){const focused=parseCalISO(this.calendarFocusedIso);if(focused!==null){const daysInMonth=new Date(Date.UTC(next.year,next.month+1,0)).getUTCDate();const day=Math.min(focused.getUTCDate(),daysInMonth);this.calendarFocusedIso=calToISO(calUtcDate(next.year,next.month,day))}}}handleCalendarKeyNav(event,constraints){if(this.calendarState===null||this.calendarFocusedIso===null)return false;if(event.key==="Enter"){if(!this.calendarKbdNavigated)return false;this.pickCalendarDay(this.calendarFocusedIso,constraints);return true}const NAV={ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",ArrowDown:"down",PageUp:"pageup",PageDown:"pagedown",Home:"home",End:"end"};const action=NAV[event.key];if(action===void 0)return false;const moved=navigateCalendarDay(this.calendarFocusedIso,action);if(moved===null)return false;const min=coerceCalBound(constraints?.min??null);const max=coerceCalBound(constraints?.max??null);const clamped=clampISOToBounds(moved,min,max);this.calendarFocusedIso=clamped;this.calendarKbdNavigated=true;const focusDate=parseCalISO(clamped);if(focusDate!==null){const next=calShowMonth(this.calendarState,focusDate.getUTCFullYear(),focusDate.getUTCMonth());if(next!==this.calendarState)this.calendarState=next}return true}renderActiveDateCalendar(){if(this.calendarState===null||this.calendarAnchor===null)return null;const active=this.editStore.active;if(active===null)return null;const cols=this.effectiveColumns();const col=cols[active.colIndex];if(!col)return null;return this.renderDateCalendar(this.dateConstraintsFromColumn(col))}renderDateCalendar(constraints){if(this.calendarState===null)return null;const cal=this.calendarState;const min=coerceCalBound(constraints?.min??null);const max=coerceCalBound(constraints?.max??null);const weeks=buildMonthMatrix(cal);const now=new Date;const today=calUtcDate(now.getUTCFullYear(),now.getUTCMonth(),now.getUTCDate());const heading=`${CAL_MONTH_NAMES[cal.month]} ${cal.year}`;const stop=event=>{event.preventDefault();event.stopPropagation()};const anchor=this.calendarAnchor;return h("div",{class:"sy-grid__date-calendar",id:SY_GRID_DATE_CALENDAR_ID,role:"dialog","aria-label":heading,style:anchor?{position:"fixed",left:`${anchor.x}px`,top:`${anchor.y}px`,minWidth:`${anchor.width}px`,zIndex:"1000"}:void 0,onMouseDown:stop,onClick:event=>event.stopPropagation()},h("div",{class:"sy-grid__date-calendar-header"},h("button",{type:"button",key:"cal-prev",class:"sy-grid__date-calendar-nav","aria-label":"Previous month",onMouseDown:event=>{event.preventDefault();event.stopPropagation()},onClick:event=>{event.stopPropagation();this.stepCalendarMonth(-1)}},"‹"),h("span",{class:"sy-grid__date-calendar-title","aria-live":"polite"},heading),h("button",{type:"button",key:"cal-next",class:"sy-grid__date-calendar-nav","aria-label":"Next month",onMouseDown:event=>{event.preventDefault();event.stopPropagation()},onClick:event=>{event.stopPropagation();this.stepCalendarMonth(1)}},"›")),h("div",{class:"sy-grid__date-calendar-grid",role:"group","aria-label":heading},h("div",{class:"sy-grid__date-calendar-week sy-grid__date-calendar-week--head","aria-hidden":"true"},CAL_WEEKDAYS.map((w,i)=>h("span",{class:"sy-grid__date-calendar-weekday",key:`wd-${i}`},w))),weeks.map((week,wi)=>h("div",{class:"sy-grid__date-calendar-week",key:`wk-${wi}`},week.map(cell=>{const disabled=isCalDisabledDay(cell.date,min,max);const selected=isCalSameDay(cell.date,cal.selected);const isToday=isCalSameDay(cell.date,today);const isKbdFocused=cell.iso===this.calendarFocusedIso;return h("button",{type:"button",key:cell.iso,id:`sy-grid-cal-day-${cell.iso}`,class:{"sy-grid__date-calendar-day":true,"sy-grid__date-calendar-day--outside":!cell.inMonth,"sy-grid__date-calendar-day--selected":selected,"sy-grid__date-calendar-day--today":isToday,"sy-grid__date-calendar-day--focused":isKbdFocused},"aria-pressed":selected?"true":"false","aria-current":isToday?"date":void 0,"aria-label":cell.iso,disabled,"data-iso":cell.iso,onMouseDown:event=>{event.preventDefault();event.stopPropagation()},onClick:event=>{event.stopPropagation();this.pickCalendarDay(cell.iso,constraints)}},cell.day)})))))}renderDateEditorForCell(rowIndex,colIndex,col){if(this.dateEditorState===null)return null;const constraints=this.dateConstraintsFromColumn(col);const ariaLabel=translateMessage(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:col.headerName??col.field,row:rowIndex+1});const hintId=`sy-grid-cell-editor-hint-${rowIndex}-${colIndex}`;const hint=translateMessage(this.resolvedMessages,"a11y.cellEditingHint",{column:col.headerName??col.field,row:rowIndex+1});let violationMessage="";const violation=this.dateEditorState.constraintViolation;if(violation==="min"||violation==="max"){const bound=violation==="min"?constraints?.min:constraints?.max;const boundISO=(()=>{if(bound instanceof Date&&!Number.isNaN(bound.getTime())){const year=String(bound.getUTCFullYear()).padStart(4,"0");const month=String(bound.getUTCMonth()+1).padStart(2,"0");const day=String(bound.getUTCDate()).padStart(2,"0");return`${year}-${month}-${day}`}if(typeof bound==="string")return bound;return null})();if(boundISO!==null){const constraintLabel=violation==="min"?"on or after":"on or before";violationMessage=translateMessage(this.resolvedMessages,"editor.dateConstraintViolation",{constraint:constraintLabel,value:boundISO})}}else if(violation==="invalid"){violationMessage=translateMessage(this.resolvedMessages,"editor.dateInvalidFormat")}const props=buildDateEditorProps({state:this.dateEditorState,rowIndex,colIndex,ariaLabel,ariaDescribedBy:hintId,constraints,onInput:(text,start,end)=>{if(this.dateEditorState===null)return;const nextEditor=applyDateInputText(this.dateEditorState,text,constraints);if(nextEditor!==this.dateEditorState)this.dateEditorState=nextEditor;const cursored=applyDateSelectionChange(this.dateEditorState,start,end);if(cursored!==this.dateEditorState)this.dateEditorState=cursored;if(this.editStore.active===null)return;const draft=this.dateEditorState.parsedDate;const nextStore=setDraft(this.editStore,draft);if(nextStore!==this.editStore)this.editStore=nextStore},onCompositionStart:()=>{if(this.dateEditorState===null)return;const next=applyDateCompositionStart(this.dateEditorState);if(next!==this.dateEditorState)this.dateEditorState=next},onCompositionEnd:finalText=>{if(this.dateEditorState===null)return;const next=applyDateCompositionEnd(this.dateEditorState,finalText,constraints);if(next!==this.dateEditorState)this.dateEditorState=next;if(this.editStore.active===null)return;const draft=this.dateEditorState.parsedDate;const nextStore=setDraft(this.editStore,draft);if(nextStore!==this.editStore)this.editStore=nextStore},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const active=this.editStore.active;if(active===null||active.phase!=="pending")return;const cancelledRow=active.rowIndex;const cancelledCol=active.colIndex;this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelledRow,colIndex:cancelledCol})},onBlur:()=>{if(this.editStore.active===null)return;if(this.editStore.active.phase!=="pending")return;if(this.dateEditorState!==null&&this.dateEditorState.constraintViolation!==null){return}this.commitEditTransaction()}});return h(h.Fragment,null,h("input",{ref:el=>{this.textEditorEl=el??null},type:"text",inputMode:"numeric",autoComplete:"off",value:props.value,class:props.class,"data-row-index":props["data-row-index"],"data-col-index":props["data-col-index"],"aria-label":props["aria-label"],"aria-describedby":props["aria-describedby"],"aria-invalid":props["aria-invalid"],"aria-haspopup":"dialog","aria-controls":this.calendarState!==null?SY_GRID_DATE_CALENDAR_ID:void 0,"aria-expanded":this.calendarState!==null?"true":"false","aria-activedescendant":this.calendarState!==null&&this.calendarFocusedIso!==null?`sy-grid-cal-day-${this.calendarFocusedIso}`:void 0,onInput:event=>{props.onInput(event);this.calendarKbdNavigated=false},onCompositionstart:props.onCompositionStart,onCompositionend:props.onCompositionEnd,onKeyDown:event=>{if(this.calendarState!==null&&this.handleCalendarKeyNav(event,constraints)){event.preventDefault();event.stopPropagation();return}props.onKeyDown(event)},onBlur:props.onBlur}),h("span",{id:hintId,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},violationMessage!==""?`${hint} ${violationMessage}`:hint))}renderSelectEditorForCell(rowIndex,colIndex,col){if(this.selectEditorState===null)return null;const state=this.selectEditorState;const ariaLabel=translateMessage(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:col.headerName??col.field,row:rowIndex+1});const hintId=`sy-grid-cell-editor-hint-${rowIndex}-${colIndex}`;const hint=translateMessage(this.resolvedMessages,"a11y.cellEditingHint",{column:col.headerName??col.field,row:rowIndex+1});const placeholder=translateMessage(this.resolvedMessages,"editor.selectPlaceholder");const expandLabel=translateMessage(this.resolvedMessages,state.open?"editor.selectCollapse":"editor.selectExpand");const triggerProps=buildSelectTriggerProps({state,rowIndex,colIndex,ariaLabel:`${ariaLabel} — ${expandLabel}`,onToggle:()=>{if(this.selectEditorState===null)return;const next=applySelectDropdownToggle(this.selectEditorState);if(next!==this.selectEditorState)this.selectEditorState=next},onKeyDown:key=>{if(this.selectEditorState===null)return;const cur=this.selectEditorState;if(shouldCommitSelectOnKey(cur,key)){if(key==="Enter"&&cur.open&&cur.highlightedIndex!==null){const picked=applySelectOptionPick(cur,cur.highlightedIndex);if(picked!==cur)this.selectEditorState=picked}if(this.editStore.active!==null){const draft=this.selectEditorState.value;const nextStore=setDraft(this.editStore,draft);if(nextStore!==this.editStore)this.editStore=nextStore}this.commitEditTransaction();return}if(shouldCloseSelectDropdownOnKey(cur,key)){const next=applySelectDropdownToggle(cur,false);if(next!==cur)this.selectEditorState=next;return}if(shouldCancelSelectOnKey(cur,key)){const active=this.editStore.active;if(active===null||active.phase!=="pending")return;const cancelledRow=active.rowIndex;const cancelledCol=active.colIndex;this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelledRow,colIndex:cancelledCol});return}if(key==="Enter"&&!cur.open){const next=applySelectDropdownToggle(cur,true);if(next!==cur)this.selectEditorState=next;return}if(key==="ArrowDown"||key==="ArrowUp"){let s=cur;if(!s.open){const opened=applySelectDropdownToggle(s,true);if(opened!==s){s=opened;this.selectEditorState=opened}}const moved=applySelectHighlightChange(s,key==="ArrowDown"?1:-1);if(moved!==s)this.selectEditorState=moved;return}if(key==="Home"||key==="End"){let s=cur;if(!s.open){const opened=applySelectDropdownToggle(s,true);if(opened!==s){s=opened;this.selectEditorState=opened}}const reset={value:s.value,options:s.options,open:s.open,highlightedIndex:null};const moved=applySelectHighlightChange(reset,key==="End"?-1:1);if(moved!==this.selectEditorState)this.selectEditorState=moved;return}},onBlur:()=>void 0});const listboxProps=state.open?buildSelectListboxProps({state,rowIndex,colIndex,ariaLabel:`${col.headerName??col.field} options`}):null;return h(h.Fragment,null,h("button",{ref:el=>{this.selectTriggerEl=el??null},type:triggerProps.type,class:triggerProps.class,"aria-haspopup":triggerProps["aria-haspopup"],"aria-expanded":triggerProps["aria-expanded"],"aria-controls":triggerProps["aria-controls"],"aria-label":triggerProps["aria-label"],"aria-describedby":hintId,"data-row-index":triggerProps["data-row-index"],"data-col-index":triggerProps["data-col-index"],onClick:triggerProps.onClick,onKeyDown:triggerProps.onKeyDown,onBlur:triggerProps.onBlur},triggerProps.label!==""?triggerProps.label:h("span",{class:"sy-grid__select-placeholder"},placeholder)),listboxProps!==null?h("div",{role:listboxProps.role,id:listboxProps.id,class:listboxProps.class,"aria-activedescendant":listboxProps["aria-activedescendant"],"aria-label":listboxProps["aria-label"],tabindex:listboxProps.tabindex},state.options.map((_opt,optIdx)=>{const optProps=buildSelectOptionProps({state,optionIndex:optIdx,rowIndex,colIndex,onPick:idx=>{if(this.selectEditorState===null)return;const picked=applySelectOptionPick(this.selectEditorState,idx);if(picked===this.selectEditorState)return;this.selectEditorState=picked;if(this.editStore.active!==null){const nextStore=setDraft(this.editStore,picked.value);if(nextStore!==this.editStore)this.editStore=nextStore}this.commitEditTransaction()}});return h("div",{key:optIdx,role:optProps.role,id:optProps.id,class:optProps.class,"aria-selected":optProps["aria-selected"],"aria-disabled":optProps["aria-disabled"],onMouseDown:event=>{event.preventDefault();optProps.onClick()}},optProps.label)})):null,h("span",{id:hintId,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},hint))}renderCheckboxEditorForCell(rowIndex,colIndex,col){if(this.checkboxEditorState===null)return null;const state=this.checkboxEditorState;const baseAriaLabel=translateMessage(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:col.headerName??col.field,row:rowIndex+1});const stateLabel=translateMessage(this.resolvedMessages,state.indeterminate?"editor.checkboxAriaLabelMixed":state.value?"editor.checkboxAriaLabelOn":"editor.checkboxAriaLabelOff");const ariaLabel=`${baseAriaLabel} — ${stateLabel}`;const hintId=`sy-grid-cell-editor-hint-${rowIndex}-${colIndex}`;const hint=translateMessage(this.resolvedMessages,"a11y.cellEditingHint",{column:col.headerName??col.field,row:rowIndex+1});const props=buildCheckboxEditorProps({state,rowIndex,colIndex,ariaLabel,onToggle:()=>{if(this.checkboxEditorState===null)return;const next=applyCheckboxToggle(this.checkboxEditorState);if(next!==this.checkboxEditorState)this.checkboxEditorState=next;if(this.editStore.active===null)return;const nextStore=setDraft(this.editStore,next.value);if(nextStore!==this.editStore)this.editStore=nextStore},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const active=this.editStore.active;if(active===null||active.phase!=="pending")return;const cancelledRow=active.rowIndex;const cancelledCol=active.colIndex;this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelledRow,colIndex:cancelledCol})},onBlur:()=>{if(this.editStore.active===null)return;if(this.editStore.active.phase!=="pending")return;this.commitEditTransaction()}});void applyCheckboxSetValue;return h(h.Fragment,null,h("input",{ref:el=>{this.checkboxEditorEl=el??null},type:props.type,checked:props.checked,class:props.class,"data-row-index":props["data-row-index"],"data-col-index":props["data-col-index"],"aria-label":props["aria-label"],"aria-checked":props["aria-checked"],"aria-describedby":hintId,onChange:props.onChange,onKeyDown:props.onKeyDown,onBlur:props.onBlur}),h("span",{id:hintId,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},hint))}renderTextareaEditorForCell(rowIndex,colIndex,col){if(this.textareaEditorState===null)return null;const ariaLabel=translateMessage(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:col.headerName??col.field,row:rowIndex+1});const hintId=`sy-grid-cell-editor-hint-${rowIndex}-${colIndex}`;const hint=translateMessage(this.resolvedMessages,"editor.textareaCommitHint");const props=buildTextareaEditorProps({state:this.textareaEditorState,rowIndex,colIndex,ariaLabel,ariaDescribedBy:hintId,rows:typeof col.rows==="number"?col.rows:void 0,maxRows:typeof col.maxRows==="number"?col.maxRows:void 0,onInput:(value,start,end)=>{if(this.textareaEditorState===null)return;const nextEditor=applyTextareaInputValue(this.textareaEditorState,value,start,end);if(nextEditor!==this.textareaEditorState){this.textareaEditorState=nextEditor}if(this.editStore.active===null)return;const nextStore=setDraft(this.editStore,value);if(nextStore!==this.editStore)this.editStore=nextStore},onCompositionStart:()=>{if(this.textareaEditorState===null)return;const next=applyTextareaCompositionStart(this.textareaEditorState);if(next!==this.textareaEditorState)this.textareaEditorState=next},onCompositionEnd:finalValue=>{if(this.textareaEditorState===null)return;const next=applyTextareaCompositionEnd(this.textareaEditorState,finalValue);if(next!==this.textareaEditorState)this.textareaEditorState=next;if(this.editStore.active===null)return;const nextStore=setDraft(this.editStore,finalValue);if(nextStore!==this.editStore)this.editStore=nextStore},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{const active=this.editStore.active;if(active===null||active.phase!=="pending")return;const cancelledRow=active.rowIndex;const cancelledCol=active.colIndex;this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelledRow,colIndex:cancelledCol})},onBlur:()=>{if(this.editStore.active===null)return;if(this.editStore.active.phase!=="pending")return;this.commitEditTransaction()}});void applyTextareaSelectionChange;return h(h.Fragment,null,h("textarea",{ref:el=>{this.textareaEditorEl=el??null},value:props.value,rows:props.rows,class:props.class,"data-row-index":props["data-row-index"],"data-col-index":props["data-col-index"],"aria-label":props["aria-label"],"aria-multiline":props["aria-multiline"],"aria-describedby":props["aria-describedby"],onInput:props.onInput,onCompositionstart:props.onCompositionStart,onCompositionend:props.onCompositionEnd,onKeyDown:props.onKeyDown,onBlur:props.onBlur}),h("span",{id:hintId,class:"sy-grid__cell-editor-hint","aria-live":"polite","aria-atomic":"true"},hint))}renderLargeTextEditorForCell(_rowIndex,_colIndex,_col){if(this.textareaEditorState===null||this.largeTextConfig===null)return null;return h("span",{class:"sy-grid__large-text-anchor","aria-hidden":"true",ref:el=>{this.largeTextAnchorEl=el??null}})}renderActiveLargeTextEditor(){if(this.textareaEditorState===null||this.largeTextConfig===null||this.largeTextAnchor===null){return null}const active=this.editStore.active;if(active===null)return null;const cols=this.effectiveColumns();const col=cols[active.colIndex];if(!col)return null;const rowIndex=active.rowIndex;const colIndex=active.colIndex;const config=this.largeTextConfig;const maxLength=config.maxLength;const ariaLabel=translateMessage(this.resolvedMessages,"a11y.cellEditorAriaLabel",{column:col.headerName??col.field,row:rowIndex+1});const hintId=`sy-grid-cell-editor-hint-${rowIndex}-${colIndex}`;const countId=`sy-grid-large-text-count-${rowIndex}-${colIndex}`;const hint=translateMessage(this.resolvedMessages,"editor.textareaCommitHint");const props=buildTextareaEditorProps({state:this.textareaEditorState,rowIndex,colIndex,ariaLabel,ariaDescribedBy:hintId,rows:config.rows,onInput:(value,start,end)=>{if(this.textareaEditorState===null)return;const{value:capped}=clampLargeTextValue(value,maxLength);const caretStart=start===null?null:Math.min(start,capped.length);const caretEnd=end===null?null:Math.min(end,capped.length);const nextEditor=applyTextareaInputValue(this.textareaEditorState,capped,caretStart,caretEnd);if(nextEditor!==this.textareaEditorState)this.textareaEditorState=nextEditor;if(this.editStore.active===null)return;const nextStore=setDraft(this.editStore,capped);if(nextStore!==this.editStore)this.editStore=nextStore},onCompositionStart:()=>{if(this.textareaEditorState===null)return;const next=applyTextareaCompositionStart(this.textareaEditorState);if(next!==this.textareaEditorState)this.textareaEditorState=next},onCompositionEnd:finalValue=>{if(this.textareaEditorState===null)return;const{value:capped}=clampLargeTextValue(finalValue,maxLength);const next=applyTextareaCompositionEnd(this.textareaEditorState,capped);if(next!==this.textareaEditorState)this.textareaEditorState=next;if(this.editStore.active===null)return;const nextStore=setDraft(this.editStore,capped);if(nextStore!==this.editStore)this.editStore=nextStore},onCommit:()=>{this.commitEditTransaction()},onCancel:()=>{this.cancelLargeTextEdit()},onBlur:()=>{if(this.editStore.active===null)return;if(this.editStore.active.phase!=="pending")return;this.commitEditTransaction()}});const anchor=this.largeTextAnchor;const countLabel=largeTextCharCountLabel(this.textareaEditorState.value,maxLength);const cancelLabel=translateMessage(this.resolvedMessages,"editor.largeTextCancel");const saveLabel=translateMessage(this.resolvedMessages,"editor.largeTextSave");const holdFocus=event=>{event.preventDefault();event.stopPropagation()};return h("div",{class:"sy-grid__large-text",role:"dialog","aria-label":ariaLabel,style:{position:"fixed",left:`${anchor.x}px`,top:`${anchor.y}px`,minWidth:`${anchor.width}px`,zIndex:"1000"},onMouseDown:holdFocus,onClick:event=>event.stopPropagation(),onKeyDown:event=>{if(event.key==="Tab"){event.preventDefault();this.cycleLargeTextFocus(event.shiftKey)}}},h("textarea",{ref:el=>{this.textareaEditorEl=el??null},class:"sy-grid__large-text-input",value:props.value,rows:props.rows,cols:config.cols,"data-row-index":props["data-row-index"],"data-col-index":props["data-col-index"],"aria-label":props["aria-label"],"aria-multiline":props["aria-multiline"],"aria-describedby":maxLength!==null?`${hintId} ${countId}`:hintId,onInput:props.onInput,onCompositionstart:props.onCompositionStart,onCompositionend:props.onCompositionEnd,onKeyDown:event=>{if(event.key==="Tab"){event.preventDefault();event.stopPropagation();this.cycleLargeTextFocus(event.shiftKey);return}props.onKeyDown(event)},onBlur:event=>{const next=event.relatedTarget;const dialog=this.host?.querySelector(".sy-grid__large-text");if(next!==null&&dialog!=null&&dialog.contains(next))return;props.onBlur()}}),h("div",{class:"sy-grid__large-text-footer",onMouseDown:holdFocus},h("span",{id:hintId,class:"sy-grid__large-text-hint","aria-live":"polite"},hint),h("span",{id:countId,class:{"sy-grid__large-text-count":true,"sy-grid__large-text-count--over":maxLength!==null&&largeTextExceedsMaxLength(this.textareaEditorState.value,maxLength)}},countLabel),h("button",{type:"button",class:"sy-grid__large-text-btn",onMouseDown:holdFocus,onClick:()=>this.cancelLargeTextEdit()},cancelLabel),h("button",{type:"button",class:"sy-grid__large-text-btn sy-grid__large-text-btn--primary",onMouseDown:holdFocus,onClick:()=>this.commitEditTransaction()},saveLabel)))}cycleLargeTextFocus(backwards){const dialog=this.host?.querySelector(".sy-grid__large-text");if(dialog==null)return;const focusables=Array.from(dialog.querySelectorAll("textarea, button:not([disabled])")).filter(el=>el.offsetParent!==null);if(focusables.length===0)return;const active=this.host?.shadowRoot?.activeElement??document.activeElement;const idx=focusables.findIndex(el=>el===active);let next;if(idx<0)next=0;else if(backwards)next=(idx-1+focusables.length)%focusables.length;else next=(idx+1)%focusables.length;focusables[next].focus()}cancelLargeTextEdit(){const active=this.editStore.active;if(active===null||active.phase!=="pending")return;const cancelledRow=active.rowIndex;const cancelledCol=active.colIndex;this.editingCell=null;this.cancelEditTransaction();this.cellEditingCancelled.emit({rowIndex:cancelledRow,colIndex:cancelledCol})}handleCellTooltipLeave(){this.cellTooltipDelay.leave()}handleHeaderTooltipEnter(event,column){const el=event.currentTarget;if(!el)return;const explicit=typeof column.headerTooltip==="string"?column.headerTooltip.trim():"";const labelEl=el.querySelector(".sy-grid__header-label");const measured=labelEl??el;const displayedText=(labelEl?.textContent??column.headerName??column.field??"").trim();const isOverflowing=measured.scrollWidth>measured.clientWidth+1;if(explicit===""&&!isOverflowing)return;this.headerTooltipDelay.enter({column,headerEl:el,displayedText,isOverflowing})}handleHeaderTooltipLeave(){this.headerTooltipDelay.leave()}showHeaderTooltip(target){const explicit=typeof target.column.headerTooltip==="string"?target.column.headerTooltip.trim():"";const text=explicit!==""?explicit:target.isOverflowing?target.displayedText:"";if(!text){this.cellTooltip=null;return}const rect=target.headerEl.getBoundingClientRect();const floatingWidth=Math.min(360,Math.max(120,text.length*7+24));const floatingHeight=text.length>70?56:36;const viewport={x:0,y:0,width:typeof window==="undefined"?1024:window.innerWidth,height:typeof window==="undefined"?768:window.innerHeight};const position=computeFloatingPosition({anchor:{x:rect.left,y:rect.top,width:rect.width,height:rect.height},floating:{width:floatingWidth,height:floatingHeight},viewport,preferred:"top",offset:8});this.cellTooltip={text,x:position.x,y:position.y,placement:position.placement,rowIndex:-1,field:typeof target.column.field==="string"?target.column.field:""}}showCellTooltip(target){const text=getCellTooltipText({row:target.row,rowIndex:target.rowIndex,column:target.column,displayedText:target.displayedText,isOverflowing:target.isOverflowing,locale:typeof this.locale==="string"?this.locale:"en",context:this.context,api:this.host});if(!text){this.cellTooltip=null;return}const rect=target.cell.getBoundingClientRect();const floatingWidth=Math.min(360,Math.max(120,text.length*7+24));const floatingHeight=text.length>70?56:36;const viewport={x:0,y:0,width:typeof window==="undefined"?1024:window.innerWidth,height:typeof window==="undefined"?768:window.innerHeight};const position=computeFloatingPosition({anchor:{x:rect.left,y:rect.top,width:rect.width,height:rect.height},floating:{width:floatingWidth,height:floatingHeight},viewport,preferred:"top",offset:8});this.cellTooltip={text,x:position.x,y:position.y,placement:position.placement,rowIndex:target.rowIndex,field:target.field}}tooltipPortalEl=null;syncTooltipPortal(){if(typeof document==="undefined")return;const want=this.cellTooltip;if(!want){if(this.tooltipPortalEl?.parentNode)this.tooltipPortalEl.parentNode.removeChild(this.tooltipPortalEl);this.tooltipPortalEl=null;return}if(!this.tooltipPortalEl){const el2=document.createElement("div");el2.setAttribute("role","tooltip");el2.id=SY_GRID_TOOLTIP_ID;const cs=typeof window!=="undefined"?window.getComputedStyle(this.host):null;const tooltipBg=cs?.getPropertyValue("--sy-grid-tooltip-bg").trim()||"#111827";const tooltipColor=cs?.getPropertyValue("--sy-grid-tooltip-color").trim()||"#ffffff";const tooltipBorder=cs?.getPropertyValue("--sy-grid-tooltip-border").trim()||"rgba(255,255,255,0.12)";const tooltipShadow=cs?.getPropertyValue("--sy-grid-tooltip-shadow").trim()||"0 10px 24px rgba(15,23,42,0.18)";Object.assign(el2.style,{position:"fixed",zIndex:"2147483647",maxWidth:"360px",padding:"7px 9px",boxSizing:"border-box",border:`1px solid ${tooltipBorder}`,borderRadius:"4px",background:tooltipBg,color:tooltipColor,boxShadow:tooltipShadow,font:"12px/1.35 system-ui, -apple-system, sans-serif",whiteSpace:"normal",overflowWrap:"anywhere",pointerEvents:"none",margin:"0"});document.body.appendChild(el2);this.tooltipPortalEl=el2}const el=this.tooltipPortalEl;el.className=`sy-grid__cell-tooltip sy-grid__cell-tooltip--${want.placement}`;el.dataset.rowIndex=String(want.rowIndex);el.dataset.field=want.field;el.style.left=`${want.x}px`;el.style.top=`${want.y}px`;el.textContent=want.text}teardownTooltipPortal(){if(this.tooltipPortalEl?.parentNode)this.tooltipPortalEl.parentNode.removeChild(this.tooltipPortalEl);this.tooltipPortalEl=null}renderCellTooltip(){return null}renderGroupRow(marker,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow){const messages=this.resolvedMessages;const level=marker.level??0;const isBlank=marker.key===null||marker.groupKeys!==void 0&&marker.groupKeys[marker.groupKeys.length-1]===BLANK_GROUP_KEY;const label=isBlank?messages["filter.setBlanksLabel"]:marker.label;const ariaLevel=marker.level!==void 0?marker.level+1:void 0;const aggregates=isAggregatedGroupMarkerRow(marker)?marker.aggregates:null;const aggregated=aggregates!==null&&Object.keys(aggregates).length>0;const rowClass={"sy-grid__row":true,"sy-grid__group-row":true,"sy-grid__group-row--collapsed":!marker.expanded};const rowStyle={height:`${rowHeightPx}px`,lineHeight:`${rowHeightPx}px`};const caption=[level>0?h("span",{class:"sy-grid__tree-indent",style:{width:`${level*16}px`}}):null,h("button",{type:"button",class:"sy-grid__group-row-toggle","aria-expanded":marker.expanded?"true":"false","aria-label":label,disabled:this.effectiveLoading},marker.expanded?"⏷":"⏵"),h("span",{class:"sy-grid__group-row-label"},label),h("span",{class:"sy-grid__group-row-count"},"(",marker.count.toLocaleString(),")")];if(!aggregated){const colCount=this.renderedColumnCount();const totalWidth=this.totalColumnsWidthPx();return h("div",{class:rowClass,role:"row","aria-rowindex":this.bodyAriaRowIndex(rowIndex),"aria-expanded":marker.expanded?"true":"false","aria-level":ariaLevel,"data-row-index":rowIndex,"data-group-key":marker.key??"",style:totalWidth!==null?{...rowStyle,width:`${totalWidth}px`}:rowStyle},h("div",{class:"sy-grid__group-row-cell",role:"gridcell","aria-colindex":1,"aria-colspan":colCount},caption))}const lastPinnedLeft=pinCtx?.lastLeft;const firstPinnedRight=pinCtx?.firstRight;return h("div",{class:rowClass,role:"row","aria-rowindex":this.bodyAriaRowIndex(rowIndex),"aria-expanded":marker.expanded?"true":"false","aria-level":ariaLevel,"data-row-index":rowIndex,"data-group-key":marker.key??"",style:rowStyle},renderCheckboxCol&&h("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":pinCtx?.left!=null},role:"gridcell",style:pinCtx?.left!=null?{width:`${SELECTION_CHECKBOX_COLUMN.width}px`,position:"sticky",left:"0px",zIndex:"1"}:{width:`${SELECTION_CHECKBOX_COLUMN.width}px`}}),cols.map((col,colIndex)=>{if(colWindow&&colWindow.culled(colIndex))return null;const cellStyle=this.columnLayoutStyle(col);const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,"1","body");const hasAgg=Object.prototype.hasOwnProperty.call(aggregates,col.field);const cellNode=h("div",{key:col.field,class:{"sy-grid__cell":true,"sy-grid__group-agg-cell":true,"sy-grid__group-agg-cell--first":colIndex===0,"sy-grid__group-agg-cell--agg":colIndex!==0&&hasAgg,"sy-grid__cell--pinned-left":pin.pinnedLeft,"sy-grid__cell--pinned-left-last":pin.pinnedLeft&&col.field===lastPinnedLeft,"sy-grid__cell--pinned-right":pin.pinnedRight,"sy-grid__cell--pinned-right-first":pin.pinnedRight&&col.field===firstPinnedRight},...gridCellAttrs({colIndex:colIndex+(renderCheckboxCol?1:0),isActive:false}),"data-field":col.field,style:cellStyle},colIndex===0?caption:hasAgg?this.formatAggValue(aggregates[col.field]):"");return this.withColumnSpacers(cellNode,colIndex,colWindow,`gm-${marker.key??"blank"}-${col.field}`)}))}formatAggValue(value,locale){if(value===null||value===void 0)return"";const loc=locale??(typeof this.locale==="string"?this.locale:"en");if(typeof value==="number"){return Number.isInteger(value)?value.toLocaleString(loc):value.toLocaleString(loc,{maximumFractionDigits:2})}if(typeof value==="bigint")return value.toLocaleString(loc);if(value instanceof Date)return value.toISOString();return String(value)}renderGroupFooterRow(footer,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow){const messages=this.resolvedMessages;const displayLabel=footer.key===null?messages["filter.setBlanksLabel"]:footer.label;const footerLabel=translateMessage(messages,"group.footerLabel",{label:displayLabel});const lastPinnedLeft=pinCtx?.lastLeft;const firstPinnedRight=pinCtx?.firstRight;return h("div",{class:"sy-grid__row sy-grid__group-footer-row",role:"row","aria-rowindex":this.bodyAriaRowIndex(rowIndex),"data-row-index":rowIndex,"data-group-key":footer.key??"",style:{height:`${rowHeightPx}px`,lineHeight:`${rowHeightPx}px`}},renderCheckboxCol&&h("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":pinCtx?.left!=null},role:"gridcell",style:pinCtx?.left!=null?{width:`${SELECTION_CHECKBOX_COLUMN.width}px`,position:"sticky",left:"0px",zIndex:"1"}:{width:`${SELECTION_CHECKBOX_COLUMN.width}px`}}),cols.map((col,colIndex)=>{if(colWindow&&colWindow.culled(colIndex))return null;const cellStyle=this.columnLayoutStyle(col);const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,"1","body");const hasAgg=Object.prototype.hasOwnProperty.call(footer.aggregates,col.field);const aggText=hasAgg?this.formatAggValue(footer.aggregates[col.field]):"";const content=colIndex===0?hasAgg&&aggText!==""?`${footerLabel} ${aggText}`:footerLabel:aggText;const cellNode=h("div",{key:col.field,class:{"sy-grid__cell":true,"sy-grid__group-footer-cell":true,"sy-grid__group-footer-cell--agg":hasAgg,"sy-grid__cell--pinned-left":pin.pinnedLeft,"sy-grid__cell--pinned-left-last":pin.pinnedLeft&&col.field===lastPinnedLeft,"sy-grid__cell--pinned-right":pin.pinnedRight,"sy-grid__cell--pinned-right-first":pin.pinnedRight&&col.field===firstPinnedRight},...gridCellAttrs({colIndex:colIndex+(renderCheckboxCol?1:0),isActive:false}),"data-field":col.field,style:cellStyle},content);return this.withColumnSpacers(cellNode,colIndex,colWindow,`gf-${footer.key??"blank"}-${col.field}`)}))}renderPivotRow(row,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow){const lastPinnedLeft=pinCtx?.lastLeft;const firstPinnedRight=pinCtx?.firstRight;const isMarker=isPivotRowGroupMarker(row);const isSubtotal=this.isPivotSubtotalDisplayRow(row);const subtotal=row;const marker=row;const level=isMarker?marker.level:isSubtotal?subtotal.level:0;const hasChildren=isMarker?marker.hasChildren:false;const expanded=isMarker?marker.expanded:true;const key=isMarker?marker.key:isSubtotal?`${subtotal.key}::subtotal-${subtotal.placement}`:"__sy_pivot_grandtotal__";const label=isSubtotal?translateMessage(this.resolvedMessages,"pivot.subtotalLabel",{label:subtotal.label}):row.label;const active=this.activeCell;const isActiveRow=active!==null&&active.rowIndex===rowIndex;return h("div",{class:{"sy-grid__row":true,"sy-grid__pivot-row":true,"sy-grid__pivot-row--grand-total":!isMarker&&!isSubtotal,"sy-grid__pivot-row--subtotal":isSubtotal,"sy-grid__pivot-row--collapsed":hasChildren&&!expanded,"sy-grid__row--active":isActiveRow},role:"row","aria-rowindex":this.bodyAriaRowIndex(rowIndex),"aria-level":level+1,"aria-expanded":hasChildren?expanded?"true":"false":void 0,"data-row-index":rowIndex,"data-pivot-key":key,style:{height:`${rowHeightPx}px`,lineHeight:`${rowHeightPx}px`}},renderCheckboxCol&&h("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":pinCtx?.left!=null},role:"gridcell",style:pinCtx?.left!=null?{width:`${SELECTION_CHECKBOX_COLUMN.width}px`,position:"sticky",left:"0px",zIndex:"1"}:{width:`${SELECTION_CHECKBOX_COLUMN.width}px`}}),cols.map((col,colIndex)=>{if(colWindow&&colWindow.culled(colIndex))return null;const cellStyle=this.columnLayoutStyle(col);const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,"1","body");const isRowHeaderCol=col.field===PIVOT_ROW_HEADER_COL_ID;let content;if(isRowHeaderCol){content=[h("span",{class:"sy-grid__tree-indent",style:{width:`${level*16}px`}}),hasChildren?h("button",{type:"button",class:"sy-grid__tree-toggle","aria-expanded":expanded?"true":"false","aria-label":label},expanded?"⏷":"⏵"):h("span",{class:"sy-grid__tree-toggle-spacer"}),h("span",{class:"sy-grid__tree-label"},label)]}else{const resolvedColId=col.colId??col.field;const value=this.applyReadMask(this.resolveGridCellValue({row,rowIndex,colId:resolvedColId,field:col.field,valueGetter:col.valueGetter,colDef:col}),row,rowIndex,col);const rendered=this.renderCellContent(rowIndex,colIndex,col,row,value);content=rendered!==null?rendered:col.valueFormatter!==void 0&&col.valueFormatter!==null?this.formatGridCellValue({value,row,rowIndex,colId:resolvedColId,valueFormatter:col.valueFormatter,locale:typeof this.locale==="string"?this.locale:"en",colDef:col}):value==null?"":String(value)}const rendererPresentation=this.rendererPresentationAt(rowIndex,colIndex);const cellNode=h("div",{key:col.field,class:{"sy-grid__cell":true,"sy-grid__pivot-cell":true,"sy-grid__tree-cell":isRowHeaderCol,"sy-grid__cell--pinned-left":pin.pinnedLeft,"sy-grid__cell--pinned-left-last":pin.pinnedLeft&&col.field===lastPinnedLeft,"sy-grid__cell--pinned-right":pin.pinnedRight,"sy-grid__cell--pinned-right-first":pin.pinnedRight&&col.field===firstPinnedRight,...this.rendererPresentationClasses(rendererPresentation)},role:"gridcell","data-field":col.field,title:rendererPresentation?.title,style:cellStyle},content);return this.withColumnSpacers(cellNode,colIndex,colWindow,`pv-${key}-${col.field}`)}))}togglePivotRowGroup(key){const next=new Set(this.pivotCollapsedRowGroups);if(next.has(key))next.delete(key);else next.add(key);this.pivotCollapsedRowGroups=next}renderTreeNodeRow(node,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow){const lastPinnedLeft=pinCtx?.lastLeft;const firstPinnedRight=pinCtx?.firstRight;const dataRow=node.row;const active=this.activeCell;const isActiveRow=active!==null&&active.rowIndex===rowIndex;const drag=this.rowDragDropClass(rowIndex);return h("div",{class:{"sy-grid__row":true,"sy-grid__tree-row":true,"sy-grid__tree-row--filler":node.filler,"sy-grid__tree-row--collapsed":node.hasChildren&&!node.expanded,"sy-grid__row--active":isActiveRow,"sy-grid__row--drag-source":drag.dragging,"sy-grid__row--drop-above":drag.above,"sy-grid__row--drop-below":drag.below,"sy-grid__row--drop-into":drag.into},role:"row","aria-rowindex":this.bodyAriaRowIndex(rowIndex),"aria-level":node.depth+1,"aria-expanded":node.hasChildren?node.expanded?"true":"false":void 0,"data-row-index":rowIndex,"data-tree-key":node.key,"data-tree-depth":node.depth,style:{height:`${rowHeightPx}px`,lineHeight:`${rowHeightPx}px`}},renderCheckboxCol&&h("div",{class:{"sy-grid__cell":true,"sy-grid__cell--selection":true,"sy-grid__cell--pinned-left":pinCtx?.left!=null},role:"gridcell",style:pinCtx?.left!=null?{width:`${SELECTION_CHECKBOX_COLUMN.width}px`,position:"sticky",left:"0px",zIndex:"1"}:{width:`${SELECTION_CHECKBOX_COLUMN.width}px`}},this.ssrmGroupCheckAttrs(node.key)),cols.map((col,colIndex)=>{if(colWindow&&colWindow.culled(colIndex))return null;const cellStyle=this.columnLayoutStyle(col);const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,"1","body");let content;if(colIndex===0){content=[node.filler?null:this.renderRowDragHandle(rowIndex,col),h("span",{class:"sy-grid__tree-indent",style:{width:`${node.depth*16}px`}}),node.hasChildren?h("button",{type:"button",class:"sy-grid__tree-toggle","aria-expanded":node.expanded?"true":"false","aria-label":node.label,disabled:this.effectiveLoading},node.expanded?"⏷":"⏵"):h("span",{class:"sy-grid__tree-toggle-spacer"}),h("span",{class:"sy-grid__tree-label"},node.label),node.hasChildren&&node.leafCount>=0?h("span",{class:"sy-grid__tree-count"},"(",node.leafCount.toLocaleString(),")"):null]}else if(dataRow!==null){const resolvedColId=col.colId??col.field;const value=this.applyReadMask(this.resolveGridCellValue({row:dataRow,rowIndex,colId:resolvedColId,field:col.field,valueGetter:col.valueGetter,colDef:col}),dataRow,rowIndex,col);const rendered=this.renderCellContent(rowIndex,colIndex,col,dataRow,value);content=rendered!==null?rendered:col.valueFormatter!==void 0&&col.valueFormatter!==null?this.formatGridCellValue({value,row:dataRow,rowIndex,colId:resolvedColId,valueFormatter:col.valueFormatter,locale:typeof this.locale==="string"?this.locale:"en",colDef:col}):value==null?"":String(value)}else{content=""}const isActiveCell=isActiveRow&&active!==null&&active.colIndex===colIndex;const rendererPresentation=this.rendererPresentationAt(rowIndex,colIndex);const cellNode=h("div",{key:col.field,class:{"sy-grid__cell":true,"sy-grid__tree-cell":colIndex===0,"sy-grid__cell--active":isActiveCell,"sy-grid__cell--pinned-left":pin.pinnedLeft,"sy-grid__cell--pinned-left-last":pin.pinnedLeft&&col.field===lastPinnedLeft,"sy-grid__cell--pinned-right":pin.pinnedRight,"sy-grid__cell--pinned-right-first":pin.pinnedRight&&col.field===firstPinnedRight,...this.rendererPresentationClasses(rendererPresentation)},...gridCellAttrs({colIndex:colIndex+(renderCheckboxCol?1:0),isActive:isActiveCell}),id:isActiveCell?SY_GRID_ACTIVE_CELL_ID:void 0,"data-field":col.field,"data-col-index":colIndex,title:rendererPresentation?.title,style:cellStyle},content);return this.withColumnSpacers(cellNode,colIndex,colWindow,`tn-${node.key}-${col.field}`)}))}handleTreeCellClick(event,node,rowIndex,colIndex,col){const target=event.target;if(target?.closest?.(".sy-grid__tree-toggle"))return;this.commitActiveCell({rowIndex,colIndex});if(node.row!==null){this.cellClicked.emit({row:node.row,rowIndex,colIndex,field:col.field})}}renderDetailToggle(row){const id=this.detailRowIds.get(row);if(id===void 0)return null;const expanded=this.expandedDetailRows.has(id);return h("button",{type:"button",class:"sy-grid__detail-toggle","aria-expanded":expanded?"true":"false","aria-label":translateMessage(this.resolvedMessages,"detail.toggleLabel",{id:String(id)}),disabled:this.effectiveLoading},expanded?"⏷":"⏵")}detailRendererWarned=false;renderDetailContent(detail){const master=detail.master;const renderer=this.detailCellRenderer;if(typeof renderer==="function"){let output=null;let threw=false;try{output=renderer({row:master,rowId:detail.forId})}catch(err){threw=true;if(!this.detailRendererWarned){this.detailRendererWarned=true;console.warn("[detailCellRenderer] error; shell fallback:",err)}}if(!threw){const normalized=normalizeRenderOutput(output);if(normalized.kind==="text"){return h("div",{class:`sy-grid__detail-custom ${normalized.class}`},normalized.text)}if(normalized.kind==="html"){return h("div",{class:`sy-grid__detail-custom ${normalized.class}`,innerHTML:normalized.html})}if(normalized.kind==="vnode"){return normalized.vnode}if(!this.detailRendererWarned){this.detailRendererWarned=true;console.warn("[detailCellRenderer] bad shape; shell fallback")}}}if(this.detailGridOptions&&typeof this.getDetailRowData==="function"&&this.detailNestingLevel<MAX_DETAIL_NESTING){return this.renderDetailGrid(detail,this.detailGridOptions)}const entries=Object.entries(master).filter(([,v])=>typeof v!=="object"||v===null);return h("div",{class:"sy-grid__detail-shell"},h("dl",{class:"sy-grid__detail-fields"},entries.map(([key,value])=>[h("dt",null,key),h("dd",null,value===null||value===void 0?"—":String(value))])))}renderDetailGrid(detail,opts){return h("sy-grid",{key:`detail-grid-${detail.forId}`,class:"sy-grid__detail-grid",ref:el=>{if(el)this.configureDetailGrid(el,detail,opts)}})}configureDetailGrid(el,detail,opts){const{rows,loading}=this.resolveDetailChildRows(detail);const child=el;child.columnDefs=opts.columnDefs;child.rowData=rows;child.loading=loading;child.height=opts.height??"200px";child.masterDetail=opts.masterDetail===true;child.getDetailRowData=opts.getDetailRowData;child.detailGridOptions=opts.detailGridOptions;child.detailNestingLevel=this.detailNestingLevel+1;if(opts.detailRowHeight!==void 0)child.detailRowHeight=opts.detailRowHeight;child.pagination=opts.pagination===true;if(opts.pageSize!==void 0)child.pageSize=opts.pageSize;child.formulas=opts.formulas===true;if(opts.showFormulas!==void 0)child.showFormulas=opts.showFormulas}resolveDetailChildRows(detail){const forId=detail.forId;const cached=this.detailRowDataCache.get(forId);if(cached!==void 0)return{rows:cached,loading:false};if(this.detailRowLoading.has(forId))return{rows:[],loading:true};if(!this.proWorkAllowed("grid.master-detail","getDetailRowData"))return{rows:[],loading:false};let result;try{result=this.getDetailRowData({row:detail.master,rowId:forId})}catch(err){this.warnDetailData(err);this.detailRowDataCache.set(forId,[]);return{rows:[],loading:false}}if(result!==null&&typeof result.then==="function"){const token=++this.detailFetchToken;this.detailRowLoading.set(forId,token);Promise.resolve(result).then(rows2=>this.settleDetailRows(forId,Array.isArray(rows2)?rows2:[],token),err=>{this.warnDetailData(err);this.settleDetailRows(forId,[],token)});return{rows:[],loading:true}}const rows=Array.isArray(result)?result:[];this.detailRowDataCache.set(forId,rows);return{rows,loading:false}}settleDetailRows(forId,rows,token){if(this.detailRowLoading.get(forId)!==token)return;this.detailRowLoading.delete(forId);if(!this.mountedDetailIds.has(forId)&&!(this.expandedDetailRows.has(forId)&&this.lastMasterIds.has(forId)))return;this.detailRowDataCache.set(forId,rows);this.detailDataVersion++}warnDetailData(err){if(this.detailGridDataWarned)return;this.detailGridDataWarned=true;console.warn("[SG:DETAIL] getDetailRowData failed; empty grid:",err)}detailRowDataCache=new Map;detailRowLoading=new Map;detailFetchToken=0;detailDataVersion=0;detailGridDataWarned=false;renderPinnedBand(section){void this.pinnedRowsVersion;const facade=this.pinnedRowsFacade;if(facade===null)return null;const rows=facade.rows(section);if(rows.length===0)return null;const uniform=this.uniformRowHeight();const totalWidth=this.totalColumnsWidthPx();const cellHost=this.pinnedBandCellHost();this.renderingPinnedBand=section;try{return h("div",{class:{"sy-grid__pinned-band":true,[`sy-grid__pinned-band--${section}`]:true},...bodyRowGroupAttrs(),tabindex:-1,"data-pinned-band":section,"data-pinned-count":rows.length,onKeyDown:this.handlePinnedBandKeyDown,onClick:this.handlePinnedBandClick,onFocusout:this.handlePinnedBandFocusOut},h("div",{class:"sy-grid__pinned-clip"},h("div",{class:"sy-grid__pinned-window",style:{minWidth:totalWidth>0?`${totalWidth}px`:void 0}},rows.map((pinned,sectionIndex)=>this.renderPinnedBandRow(pinned.data,pinned.id,section,sectionIndex,uniform,cellHost)))))}finally{this.renderingPinnedBand=null}}pinnedBandCellHost(){const locale=typeof this.locale==="string"?this.locale:"en";const colIdOf=col=>col.colId??col.field;const valueOf=(row,sectionIndex,col)=>this.resolveGridCellValue({row,rowIndex:sectionIndex,colId:colIdOf(col),field:col.field,valueGetter:col.valueGetter,colDef:col});return{rawValue:valueOf,readable:(raw,row,sectionIndex,col)=>!this.readPolicyConfigured()||this.isCellReadable(raw,row,sectionIndex,col),maskedValue:this.maskedCellValue,maskedRow:(row,sectionIndex)=>this.readPolicyConfigured()?this.maskDeniedFields(row,sectionIndex,this.resolvedColumnDefs()):row,value:valueOf,format:(value,row,sectionIndex,col)=>this.formatGridCellValue({value,row,rowIndex:sectionIndex,colId:colIdOf(col),valueFormatter:col.valueFormatter,locale,colDef:col}),classRules:(value,formatted,row,sectionIndex,col)=>applyCellClassRules({value,formatted,row,rowIndex:sectionIndex,colId:col.field,cellClassRules:col.cellClassRules,cellClass:col.cellClass,colDef:col,context:this.context,api:this.host}),styleRules:(value,formatted,row,sectionIndex,col)=>applyCellStyle({value,formatted,row,rowIndex:sectionIndex,colId:col.field,cellStyle:col.cellStyle,colDef:col,context:this.context,api:this.host}).style}}renderPinnedBandRow(row,id,section,sectionIndex,rowHeightPx,cellHost){const chunk=this.rowLayoutChunk;const cols=this.effectiveColumns();const renderCheckboxCol=this.shouldRenderCheckboxColumn();const checkboxOffset=renderCheckboxCol?SELECTION_CHECKBOX_COLUMN.width:0;const pinCtx=this.pinnedOffsetsContext(cols,checkboxOffset);const columnOffset=renderCheckboxCol?1:0;const focus=this.pinnedFocus;const isFocusRow=focus!==null&&focus.band===section&&focus.sectionIndex===sectionIndex;return h("div",{key:`pinned-${section}-${String(id)}`,class:{"sy-grid__row":true,"sy-grid__row--pinned":true,[`sy-grid__row--pinned-${section}`]:true,"sy-grid__row--odd":sectionIndex%2===1,"sy-grid__row--even":sectionIndex%2===0,"sy-grid__row--active":isFocusRow},...bodyRowAttrs(sectionIndex,{isSelected:void 0,headerOffset:section==="top"?this.headerGroupDepth():this.headerGroupDepth()+this.pinnedTopCount()+this.getDisplayRows().length}),"data-pinned-row-index":sectionIndex,"data-pinned-row-id":String(id),"data-pinned-section":section,style:{height:`${rowHeightPx}px`,lineHeight:`${rowHeightPx}px`}},renderCheckboxCol&&h("div",{class:"sy-grid__cell sy-grid__cell--checkbox sy-grid__cell--pinned-band-blank",role:"gridcell","aria-colindex":1,style:{width:`${SELECTION_CHECKBOX_COLUMN.width}px`,flex:`0 0 ${SELECTION_CHECKBOX_COLUMN.width}px`}}),cols.map((col,colIndex)=>{const cellStyle=this.columnLayoutStyle(col);const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,"1","body");const paint=chunk.paintPinnedBandCell(cellHost,row,sectionIndex,col);for(const[key,cssValue]of Object.entries(paint.style))cellStyle[key]=cssValue;const isFocusCell=isFocusRow&&focus!==null&&focus.colIndex===colIndex;return h("div",{key:col.field,class:{"sy-grid__cell":true,"sy-grid__cell--pinned-band":true,"sy-grid__cell--active":isFocusCell,"sy-grid__cell--pinned-left":pin.pinnedLeft,"sy-grid__cell--pinned-right":pin.pinnedRight,...paint.classes},...gridCellAttrs({colIndex:colIndex+columnOffset,isActive:isFocusCell}),id:isFocusCell?SY_GRID_ACTIVE_CELL_ID:void 0,"aria-selected":isFocusCell?"true":void 0,"data-field":col.field,"data-col-index":colIndex,style:Object.keys(cellStyle).length>0?cellStyle:void 0},paint.display)}))}renderDetailRow(detail,rowIndex){const heightPx=this.detailRowHeightPx();const colCount=this.renderedColumnCount();const totalWidth=this.totalColumnsWidthPx();return h("div",{class:"sy-grid__row sy-grid__detail-row",role:"row","aria-rowindex":this.bodyAriaRowIndex(rowIndex),"data-row-index":rowIndex,"data-detail-for":String(detail.forId),style:{height:`${heightPx}px`,lineHeight:"normal",...totalWidth!==null?{width:`${totalWidth}px`}:{}}},h("div",{class:"sy-grid__detail-cell",role:"gridcell","aria-colindex":1,"aria-colspan":colCount,style:totalWidth!==null&&this.viewportSize!==null?{width:`${Math.min(totalWidth,this.viewportSize.width)}px`,flex:`0 0 ${Math.min(totalWidth,this.viewportSize.width)}px`}:void 0},this.renderDetailContent(detail)))}renderLoadingRow(row,rowIndex,rowHeightPx,columnCount){const failed=row.status==="failed";const retryLabel=translateMessage(this.resolvedMessages,"rowModel.retry");const loadingLabel=translateMessage(this.resolvedMessages,"rowModel.loadingRow");return h("div",{class:{"sy-grid__row":true,"sy-grid__row--loading":true,"sy-grid__row--loading-failed":failed},role:"row","aria-rowindex":this.bodyAriaRowIndex(rowIndex),"aria-busy":failed?"false":"true","data-row-index":rowIndex,"data-loading-status":row.status,style:{height:`${rowHeightPx}px`,lineHeight:`${rowHeightPx}px`}},h("div",{class:"sy-grid__cell sy-grid__loading-cell",role:"gridcell","aria-colspan":String(Math.max(1,columnCount))},failed?h("span",{class:"sy-grid__loading-failed-msg"},h("span",{class:"sy-grid__loading-failed-icon","aria-hidden":"true"},"⚠"),h("button",{type:"button",class:"sy-grid__loading-retry"},retryLabel)):h("span",{class:"sy-grid__skeleton","aria-label":loadingLabel,role:"img"},h("span",{class:"sy-grid__skeleton-bar"}))))}renderRow(row,rowIndex,rowHeightPx){const cols=this.effectiveColumns();const active=this.activeCell;const renderCheckboxCol=this.shouldRenderCheckboxColumn();const checkboxOffset=renderCheckboxCol?SELECTION_CHECKBOX_COLUMN.width:0;const pinCtx=this.pinnedOffsetsContext(cols,checkboxOffset);const lastPinnedLeft=pinCtx?.lastLeft;const firstPinnedRight=pinCtx?.firstRight;const colWindow=this.columnWindowContext(cols,checkboxOffset);const rowCommentId=this.cellCommentIndex.size>0||this.conflictFlashCells.size>0?this.collabRowId(row,rowIndex):null;if(isGroupMarkerRow(row)){return this.renderGroupRow(row,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow)}if(isGroupFooterRow(row)){return this.renderGroupFooterRow(row,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow)}if(isTreeNodeRow(row)){return this.renderTreeNodeRow(row,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow)}if(isDetailRow(row)){return this.renderDetailRow(row,rowIndex)}if(isLoadingPlaceholderRow(row)){return this.renderLoadingRow(row,rowIndex,rowHeightPx,cols.length+(renderCheckboxCol?1:0))}if(isPivotRowGroupMarker(row)||isPivotGrandTotalRow(row)||this.isPivotSubtotalDisplayRow(row)){return this.renderPivotRow(row,rowIndex,rowHeightPx,cols,renderCheckboxCol,pinCtx,colWindow)}const fullWidthEntry=this.fullWidthEntryAt(rowIndex);if(fullWidthEntry!==null){return this.renderFullWidthRow(row,rowIndex,fullWidthEntry,rowHeightPx)}const columnOffset=renderCheckboxCol?1:0;const spanFrame=this.rowLayoutFrame!==null&&this.rowLayoutFrame.configured&&this.rowLayoutFrame.covers(rowIndex)?this.rowLayoutFrame:null;const isActiveRow=active!==null&&active.rowIndex===rowIndex;const selectionMode=this.selectionState.mode;let isSelectedRow;let rowId;if(selectionMode!=="none"){rowId=this.extractRowId(row,rowIndex);isSelectedRow=rowId!==void 0&&this.selectionState.selectedRowIds.has(rowId)}let isHoveredRow=false;if(this.rowHover!=="off"){const hoverId=rowId!==void 0?rowId:this.extractRowId(row,rowIndex);isHoveredRow=hoverId!==void 0&&this.hoverState.hoveredRowId===hoverId}const autoHeight=this.autoHeightRenderMode;const style=autoHeight?{minHeight:`${rowHeightPx}px`}:{height:`${rowHeightPx}px`,lineHeight:`${rowHeightPx}px`};const masterId=this.masterDetailActive()?this.detailRowIds.get(row):void 0;const drag=this.rowDragDropClass(rowIndex);const callbackRow=this.readPolicyConfigured()?this.maskDeniedFields(row,rowIndex,this.resolvedColumnDefs()):row;return h("div",{class:{"sy-grid__row":true,"sy-grid__row--odd":rowIndex%2===1,"sy-grid__row--even":rowIndex%2===0,"sy-grid__row--auto-height":autoHeight,"sy-grid__row--active":isActiveRow,"sy-grid__row--selected":isSelectedRow===true,"sy-grid__row--hovered":this.rowHover==="stateful"&&isHoveredRow,"sy-grid__row--drag-source":drag.dragging,"sy-grid__row--drop-above":drag.above,"sy-grid__row--drop-below":drag.below,"sy-grid__row--drop-into":drag.into},...bodyRowAttrs(rowIndex,{isSelected:isSelectedRow,headerOffset:this.headerGroupDepth()+this.pinnedTopCount()}),"aria-expanded":masterId!==void 0?this.expandedDetailRows.has(masterId)?"true":"false":void 0,"data-row-index":rowIndex,"data-selected":isSelectedRow===true?"true":void 0,"data-hovered":isHoveredRow?"true":void 0,style},renderCheckboxCol&&this.renderBodyCheckboxCell(isSelectedRow===true,pinCtx?.left!=null),cols.map((col,colIndex)=>{const spanCell=spanFrame!==null?spanFrame.cellAt(rowIndex,colIndex):null;if(spanCell!==null&&spanCell.kind==="covered"){if(spanCell.origin.rowIndex!==rowIndex){return this.withColumnSpacers(h("div",{key:`cover-${String(col.field)}`,class:"sy-grid__col-spacer sy-grid__span-cover","aria-hidden":"true","data-span-cover-field":col.field,"data-span-origin-row":spanCell.origin.rowIndex,style:this.columnLayoutStyle(col)}),colIndex,colWindow,`b-${rowIndex}-${String(col.field)}`)}return null}if(colWindow&&spanCell===null&&colWindow.culled(colIndex))return null;const cellStyle=this.columnLayoutStyle(col);const spanOrigin=spanCell!==null&&spanCell.kind==="origin"?spanCell:null;if(spanOrigin!==null){if(spanOrigin.rowSpan>1&&spanOrigin.heightPx!==null){cellStyle.height=`${spanOrigin.heightPx}px`;cellStyle.lineHeight=`${rowHeightPx}px`}if(spanOrigin.colSpan>1){if(spanOrigin.widthPx!==null){cellStyle.width=`${spanOrigin.widthPx}px`;cellStyle.flex=`0 0 ${spanOrigin.widthPx}px`}else if(spanOrigin.flexGrow!==null){delete cellStyle.width;cellStyle.flex=`${spanOrigin.flexGrow} 1 0`}delete cellStyle.maxWidth}}const pin=this.applyPinnedStyle(col,cellStyle,pinCtx,spanFrame!==null?"2":"1","body");if(spanOrigin!==null&&!pin.pinnedLeft&&!pin.pinnedRight)cellStyle.zIndex="1";const showResizeHandle=this.resizableColumns===true&&col.resizable!==false;const resolvedColId=col.colId??col.field;const rawValue=this.resolveGridCellValue({row,rowIndex,colId:resolvedColId,field:col.field,valueGetter:col.valueGetter,colDef:col});const cellReadable=!this.readPolicyConfigured()||this.isCellReadable(rawValue,row,rowIndex,col);let value=cellReadable?this.resolveGridCellValue({row:callbackRow,rowIndex,colId:resolvedColId,field:col.field,valueGetter:col.valueGetter,colDef:col}):this.maskedCellValue;let formulaText=null;let formulaTitle;let formulaError=null;if(cellReadable&&this.formulaSheet!==null&&this.formulaSheet.isCalculatedField(col.field)){formulaText=col.formula??"";const computed=this.formulaSheet.calculatedDisplay(col.field,row);formulaError=this.formulaCore?.formulaErrorInfo(computed)??null;formulaTitle=formulaError!==null?`${formulaText} → ${formulaError.type} — ${formulaError.description}`:`${formulaText} = ${computed===null||computed===void 0?"":computed} (calculated column)`;value=this.showFormulas===true?formulaText:computed}else if(cellReadable&&this.formulaSheetSeeding&&isFormulaText(value)&&(this.formulaSheet===null||!this.formulaSheet.canRevealDuringSeed(value,row))){formulaText=value;value=this.showFormulas===true?value:""}else if(cellReadable&&this.formulaSheet!==null&&(this.formulaSheet.active||this.formulaSheetSeeding)&&isFormulaText(value)){formulaText=value;const computed=this.formulaCellDisplay(this.formulaSheet,value,col.field,row);formulaError=this.formulaCore?.formulaErrorInfo(computed)??null;formulaTitle=formulaError!==null?`${value} → ${formulaError.type} — ${formulaError.description}`:`${value} = ${computed===null||computed===void 0?"":computed}`;value=this.showFormulas===true?value:computed}const rendered=this.renderCellContent(rowIndex,colIndex,col,row,value,callbackRow);const display=rendered!==null?rendered:col.valueFormatter!==void 0&&col.valueFormatter!==null?this.formatGridCellValue({value,row:callbackRow,rowIndex,colId:resolvedColId,valueFormatter:col.valueFormatter,locale:typeof this.locale==="string"?this.locale:"en",colDef:col}):value==null?"":String(value);const isActiveCell=isActiveRow&&active!==null&&active.colIndex===colIndex;const field=col.field;const rendererPresentation=this.rendererPresentationAt(rowIndex,colIndex);const editor=this.renderEditorForCell(rowIndex,colIndex,col);const customCellClasses=applyCellClassRules({value,formatted:typeof display==="string"?display:void 0,row:callbackRow,rowIndex,colId:col.field,cellClassRules:col.cellClassRules,cellClass:col.cellClass,colDef:col,context:this.context,api:this.host});const columnCellStyleResult=applyCellStyle({value,formatted:typeof display==="string"?display:void 0,row:callbackRow,rowIndex,colId:col.field,cellStyle:col.cellStyle,colDef:col,context:this.context,api:this.host});if(columnCellStyleResult.meta.appliedKeys>0){const userStyle=columnCellStyleResult.style;const userKeys=Object.keys(userStyle);for(let k=0;k<userKeys.length;k++){cellStyle[userKeys[k]]=userStyle[userKeys[k]]}}if(this.conditionalFormats!==void 0&&this.conditionalFormats.length>0){const cfCss=resolveConditionalFormatCss(this.conditionalFormats,{field:col.field,value,rowIndex,data:callbackRow});const cfKeys=Object.keys(cfCss);for(let k=0;k<cfKeys.length;k++){cellStyle[cfKeys[k]]=cfCss[cfKeys[k]]}}const commentBadge=this.cellCommentBadgeFor(rowCommentId,field);const validation=cellReadable?this.validateCell(row,rowIndex,col):{valid:true};const bodyCellNode=h("div",{key:field,class:{"sy-grid__cell":true,"sy-grid__cell--invalid":!validation.valid,"sy-grid__cell--active":isActiveCell,"sy-grid__cell--editing":editor!==null,"sy-grid__cell--formula":formulaText!==null,"sy-grid__cell--formula-error":formulaError!==null,"sy-grid__cell--commented":commentBadge!==null,"sy-grid__cell--commented-resolved":commentBadge!==null&&!commentBadge.unresolved,"sy-grid__cell--conflict-flash":rowCommentId!==null&&this.conflictFlashCells.size>0&&this.conflictFlashCells.has(this.commentIndexKey(rowCommentId,field)),"sy-grid__cell--wrap":col.wrapText===true||col.autoHeight===true,"sy-grid__cell--flash":this.cellChangeFlashActive()&&hasFlash(this.flashingCells,cellFlashKey(rowIndex,field)),"sy-grid__cell--pinned-left":pin.pinnedLeft,"sy-grid__cell--pinned-left-last":pin.pinnedLeft&&col.field===lastPinnedLeft,"sy-grid__cell--pinned-right":pin.pinnedRight,"sy-grid__cell--pinned-right-first":pin.pinnedRight&&col.field===firstPinnedRight,"sy-grid__cell--row-span":spanOrigin!==null&&spanOrigin.rowSpan>1,"sy-grid__cell--col-span":spanOrigin!==null&&spanOrigin.colSpan>1,...this.rangeSelectionActive()?this.rangeCellClasses(rowIndex,colIndex):{},...this.fillPreview!==null?this.fillPreviewClasses(rowIndex,colIndex):{},...customCellClasses.length>0?customCellClasses.split(" ").reduce((acc,cls)=>{acc[cls]=true;return acc},{}):{},...this.rendererPresentationClasses(rendererPresentation)},title:validation.valid?rendererPresentation?.title??formulaTitle:validation.message,"data-formula":formulaText!==null?formulaText:void 0,"data-invalid":validation.valid?void 0:"true","data-validation-message":validation.valid?void 0:validation.message,"aria-invalid":validation.valid?void 0:"true",...gridCellAttrs({colIndex:colIndex+columnOffset,isActive:isActiveCell}),"aria-rowspan":spanOrigin!==null&&spanOrigin.rowSpan>1?spanOrigin.rowSpan:void 0,"aria-colspan":spanOrigin!==null&&spanOrigin.colSpan>1?spanOrigin.colSpan:void 0,"data-row-span":spanOrigin!==null&&spanOrigin.rowSpan>1?spanOrigin.rowSpan:void 0,"data-col-span":spanOrigin!==null&&spanOrigin.colSpan>1?spanOrigin.colSpan:void 0,id:isActiveCell?SY_GRID_ACTIVE_CELL_ID:void 0,"data-field":field,"data-col-index":colIndex,"aria-selected":isActiveCell?"true":void 0,"aria-describedby":this.cellTooltip!==null&&this.cellTooltip.rowIndex===rowIndex&&this.cellTooltip.field===field?SY_GRID_TOOLTIP_ID:void 0,style:Object.keys(cellStyle).length>0?cellStyle:void 0},colIndex===0&&this.masterDetailActive()&&this.renderDetailToggle(row),this.renderRowDragHandle(rowIndex,col),editor!==null?editor:this.find&&this.proUiChunks["pro-panels"]?this.proUiChunks["pro-panels"].highlightFindCell(this.findHost(),rowIndex,field,display):display,this.fillHandleActive()&&this.renderFillHandle(rowIndex,colIndex),showResizeHandle&&h("span",{class:"sy-grid__col-resize-handle sy-grid__col-resize-handle--body","aria-hidden":"true","data-field":field,onPointerDown:event=>this.handleColumnResizePointerDown(event,field),onPointerEnter:event=>this.showColumnResizeGuide(field,event.currentTarget),onPointerLeave:()=>this.hideColumnResizeGuide(field),onPointerMove:event=>this.handleColumnResizePointerMove(event),onPointerUp:event=>this.handleColumnResizePointerUp(event),onPointerCancel:event=>this.handleColumnResizePointerCancel(event),onClick:event=>event.stopPropagation()}));return this.withColumnSpacers(bodyCellNode,colIndex,colWindow,`b-${rowIndex}-${String(field)}`)}))}renderColumnDefsBody(){this.cellRendererWarnedFields.clear();void this.cellRendererVersion;void this.autoHeightVersion;const rows=this.getDisplayRows();const totalRows=rows.length;const rowHeightFn=this.rowHeightFn;const uniform=this.uniformRowHeight();this.autoHeightRenderMode=this.autoHeightActive();const viewportHeight=this.estimatedViewportHeight();const cachedWinValid=this.virtualWindow!==null&&this.virtualWindowRowCount===totalRows&&this.virtualWindowViewportHeight===viewportHeight&&this.virtualWindowDetailSet===this.expandedDetailRows;const win=this.virtualScroll?cachedWinValid?this.virtualWindow:this.computeVirtualWindowForRows(rows,viewportHeight,RENDER_OVERSCAN):null;void this.rowLayoutVersion;this.rowLayoutFrame=this.buildRowLayoutFrame(rows,win===null?{startIndex:0,endIndex:totalRows}:{startIndex:win.startIndex,endIndex:win.endIndex},uniform,rowHeightFn);const spanFrame=this.rowLayoutFrame;const viewportInlineStyle={["--sy-grid-row-height"]:`${uniform}px`};const navEnabled=this.keyboardNavigation!==false;const viewportTabIndex=navEnabled?0:void 0;const activeCellRendered=this.activeCell!==null&&(!this.virtualScroll||win===null||this.activeCell.rowIndex>=win.startIndex&&this.activeCell.rowIndex<win.endIndex);const viewportActiveDescendant=navEnabled&&activeCellRendered?SY_GRID_ACTIVE_CELL_ID:void 0;const viewportPaste=navEnabled?this.handleViewportPaste:void 0;const viewportClass={"sy-grid__viewport":true,"sy-grid__viewport--active-cell":this.activeCell!==null,"sy-grid__viewport--range-dragging":this.rangeState.dragging!==null};if(!this.virtualScroll||win===null||totalRows===0){return h("div",{class:viewportClass,...bodyRowGroupAttrs(),style:viewportInlineStyle,tabindex:viewportTabIndex,"aria-activedescendant":viewportActiveDescendant,onKeyDown:this.handleViewportKeyDown,onPaste:viewportPaste,onMouseDown:this.handleViewportMouseDown,onClick:this.handleViewportClick,onContextMenu:this.handleViewportContextMenu,onMouseOver:this.handleViewportHover,onMouseOut:this.handleViewportHover,onFocusin:this.handleViewportFocus,onFocusout:this.handleViewportFocus},h("div",{class:"sy-grid__row-window sy-grid__row-window--flat"},rows.map((row,idx)=>{const h2=typeof rowHeightFn==="function"?this.rowHeightForIndex(rowHeightFn,idx,row,uniform):uniform;return this.renderRow(row,idx,h2)})))}const renderStart=spanFrame!==null&&spanFrame.configured?spanFrame.renderRange.startIndex:win.startIndex;const renderEnd=spanFrame!==null&&spanFrame.configured?spanFrame.renderRange.endIndex:win.endIndex;void this.fullWidthVersion;this.lastBodyRenderWindow={startIndex:renderStart,endIndex:renderEnd};const visibleRows=rows.slice(renderStart,renderEnd);const totalHeight=win.totalHeight;let paddingTop=win.paddingTop;let paddingBottom=win.paddingBottom;if(spanFrame!==null&&spanFrame.configured&&this.rowLayoutChunk!==null){const widened=this.rowLayoutChunk.widenedPadding(this.rowLayoutHostView(rows,uniform,rowHeightFn),spanFrame);paddingTop=Math.max(0,paddingTop-widened.top);paddingBottom=Math.max(0,paddingBottom-widened.bottom)}return h("div",{class:viewportClass,...bodyRowGroupAttrs(),style:viewportInlineStyle,tabindex:viewportTabIndex,"aria-activedescendant":viewportActiveDescendant,onKeyDown:this.handleViewportKeyDown,onPaste:viewportPaste,onMouseDown:this.handleViewportMouseDown,onClick:this.handleViewportClick,onContextMenu:this.handleViewportContextMenu,onMouseOver:this.handleViewportHover,onMouseOut:this.handleViewportHover,onFocusin:this.handleViewportFocus,onFocusout:this.handleViewportFocus},h("div",{class:"sy-grid__row-spacer",style:{height:`${totalHeight}px`,paddingTop:`${paddingTop}px`,paddingBottom:`${paddingBottom}px`}},h("div",{class:"sy-grid__row-window"},visibleRows.map((row,idx)=>{const absoluteIndex=renderStart+idx;const h2=typeof rowHeightFn==="function"?this.rowHeightForIndex(rowHeightFn,absoluteIndex,row,uniform):uniform;return this.renderRow(row,absoluteIndex,h2)}))))}startColumnReorderPreview(colId,headerEl,clientX,clientY){this.removeColumnReorderPreview();if(typeof document==="undefined"||!document.body||!headerEl||typeof headerEl.getBoundingClientRect!=="function"){return}const rect=headerEl.getBoundingClientRect();this.columnReorderPointerOffsetX=clientX-rect.left;this.columnReorderPointerOffsetY=clientY-rect.top;this.columnReorderPointerToRightEdge=Math.max(0,rect.right-clientX);const col=this.resolvedColumnDefs().find(c=>c.field===colId);const label=col?.headerName??col?.field??colId;const computed=typeof getComputedStyle==="function"?getComputedStyle(headerEl):null;const preview=document.createElement("div");preview.className="sy-grid__column-reorder-preview";preview.setAttribute("aria-hidden","true");preview.dataset.field=colId;preview.textContent=label;const padding=computed!==null?`${computed.paddingTop} ${computed.paddingRight} ${computed.paddingBottom} ${computed.paddingLeft}`:"6px 12px";Object.assign(preview.style,{position:"fixed",left:`${rect.left}px`,top:`${rect.top}px`,width:`${rect.width}px`,height:`${rect.height}px`,display:"flex",alignItems:"center",boxSizing:"border-box",padding,border:"1px solid var(--sy-color-primary, #2563eb)",borderRadius:"4px",background:computed?.backgroundColor||"#f9fafb",color:computed?.color||"#111827",boxShadow:"0 8px 24px rgba(15, 23, 42, 0.18)",fontSize:computed?.fontSize||"13px",fontWeight:computed?.fontWeight||"600",opacity:"0.92",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",pointerEvents:"none",zIndex:"2147483647"});document.body.appendChild(preview);this.columnReorderPreviewEl=preview}updateColumnReorderPreview(clientX,clientY){const preview=this.columnReorderPreviewEl;if(preview===null)return;preview.style.left=`${clientX-this.columnReorderPointerOffsetX}px`;preview.style.top=`${clientY-this.columnReorderPointerOffsetY}px`}removeColumnReorderPreview(){const preview=this.columnReorderPreviewEl;if(preview!==null){preview.remove();this.columnReorderPreviewEl=null}}renderColumnResizeGuide(){const guide=this.columnResizeGuide;if(guide===null)return null;const left=Math.max(0,guide.x-1);return h("div",{class:"sy-grid__column-resize-guide","data-field":guide.colId,"aria-hidden":"true",style:{left:`${left}px`}})}safeRowHeightSample(raw,fallback){if(typeof raw!=="number"||!Number.isFinite(raw)||raw<=0)return fallback;return raw}renderToolbar(){const showQuickFilter=this.shouldRenderQuickFilterToolbar();const showCfButton=this.conditionalFormatUi===true;if(!showQuickFilter&&this.csvImport!==true&&!showCfButton)return null;const value=this.quickFilterValue;const hasValue=value!=="";const locked=this.effectiveLoading;const messages=this.resolvedMessages;return h("div",{class:"sy-grid__toolbar",role:"search"},showCfButton&&h("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},"조건부 서식"),this.csvImport===true&&h("div",{class:"sy-grid__toolbar-import"},h("button",{type:"button",class:"sy-grid__toolbar-button",disabled:locked,onClick:this.openCsvFilePicker,ref:el=>{this.csvImportButtonEl=el??null}},messages["csvImport.button"]),h("input",{type:"file",accept:".csv,text/csv",class:"sy-grid__csv-file-input",style:{display:"none"},ref:el=>{this.csvFileInputEl=el},onChange:this.handleCsvFileChosen})),showQuickFilter&&h("div",{class:"sy-grid__quick-filter"},h("input",{class:"sy-grid__quick-filter-input",type:"search",defaultValue:value,placeholder:this.quickFilterPlaceholder??messages["toolbar.quickFilterPlaceholder"],"aria-label":messages["a11y.quickFilterLabel"],autoComplete:"off",spellcheck:false,readOnly:locked,"aria-disabled":locked?"true":void 0,ref:el=>{this.quickFilterInputEl=el},onInput:this.handleQuickFilterInput,onKeyDown:this.handleQuickFilterKeyDown}),hasValue&&h("button",{type:"button",class:"sy-grid__quick-filter-clear","aria-label":messages["toolbar.quickFilterClearAriaLabel"],disabled:locked,onClick:this.handleQuickFilterClear},"✕")))}emptyStateMessage(kind){const messages=this.resolvedMessages;if(kind==="loading")return this.loadingMessage??messages["loading.message"];if(kind==="no-matches")return this.noMatchesMessage??messages["empty.noMatches"];return this.emptyMessage??messages["empty.noData"]}renderEmptyState(kind){if(kind==="none")return null;const isLoading=kind==="loading";const isNoMatches=kind==="no-matches";const messages=this.resolvedMessages;const message=this.emptyStateMessage(kind);const canClearFilters=isNoMatches&&this.hasAnyActiveFilter();return h("div",{class:{"sy-grid__empty-state":true,"sy-grid__empty-state--loading":isLoading,"sy-grid__empty-state--no-data":kind==="no-data","sy-grid__empty-state--no-matches":isNoMatches},"data-kind":kind},isLoading?this.renderLoadingSpinner():h("span",{class:"sy-grid__empty-state-icon","aria-hidden":"true"},isNoMatches?"🔍":"📭"),h("span",{class:"sy-grid__empty-state-message"},message),canClearFilters&&h("button",{type:"button",class:"sy-grid__empty-state-action",onClick:this.handleEmptyStateClearFilters},this.clearFiltersLabel??messages["empty.clearFiltersAction"]))}renderEmptyStateLiveRegion(kind){return h("div",{class:"sy-grid__empty-state-live",role:"status","aria-live":"polite","aria-busy":kind==="loading"?"true":"false","data-empty-state-live":kind},kind==="none"?"":this.emptyStateMessage(kind))}renderLoadingSpinner(){return h("slot",{name:"loading-spinner"},h("span",{class:"sy-grid__loading-spinner",role:"presentation","aria-hidden":"true"},[1,2,3,4,5,6,7,8].map(i=>h("span",{key:`bar-${i}`,class:`sy-grid__loading-spinner-bar sy-grid__loading-spinner-bar--${i}`}))))}localeDataAttribute(){const locale=this.locale;if(locale==null)return void 0;if(typeof locale==="string"){return locale==="en"||locale==="ko"||locale==="ja"?locale:"en"}if(typeof locale==="object")return"custom";return"en"}render(){this.pendingLifecycleRenderers=new Map;this.componentIdentityIndex=null;this.rendererPresentationsByCoordinate=new Map;void this.lifecycleRendererPresentationVersion;const Tag=this.activeTag();const columnDefsMode=this.usingColumnDefsApi();this.auditProDeclarations();if(columnDefsMode)this.armRichSelect();if(columnDefsMode)this.armProUiChunks();if(columnDefsMode)this.armProEngineChunks();const engineMessages=this.resolvedMessages;const columnDefsGridAttrs=columnDefsMode?gridRootAttrs({rowCount:this.getDisplayRows().length+this.pinnedTopCount()+this.pinnedBottomCount()+(this.headerFilterRow?2:1)+this.headerGroupDepth(),colCount:this.renderedColumnCount(),busy:this.effectiveLoading===true,tree:this.treeSurface()!==null}):null;return h(Host,{key:"c3dc67eb20e2e71748307f5017b4f99480eaebd4",...this.licenseHostAttributes(),"data-theme":themeDataAttribute(this.theme),"data-locale":this.localeDataAttribute(),"data-row-hover-mode":this.rowHover,"data-quick-filter":this.quickFilterValue||void 0,"data-page-index":this.pagination?String(this.activePagination.pageIndex):void 0,"data-page-size":this.pagination?String(this.activePagination.pageSize):void 0,"data-total-rows":this.pagination?String(this.latestPaginatedMeta?.totalRows??0):void 0,"data-focus-region":this.activeCell==null?void 0:this.activeCell.rowIndex<0?"header":"body",class:{"sy-grid--column-defs":columnDefsMode},style:this.hostStyle()},this.renderToolbar(),this.renderFindToolbar(),this.renderNotesToolbar(),this.renderBatchToolbar(),this.proUiChunks["pro-panels"]?.renderColumnMenu(this.columnMenuHost()),columnDefsMode&&this.renderFormulaBar(),columnDefsMode&&this.renderCellFormulaSuggest(),columnDefsMode&&this.conditionBuilder&&this.proAllowed("grid.advanced-filter","conditionBuilder")&&this.renderConditionBuilder(),columnDefsMode?(()=>{const emptyStateKind=this.resolveEmptyStateKind();this.emptyStateOverlayRendered=emptyStateKind!=="none";const bodyEl=h("div",{class:"sy-grid__body"},h("div",{class:"sy-grid__grid",...columnDefsGridAttrs,"aria-label":this.resolvedMessages["a11y.gridLabel"]},this.renderPivotPanel(),this.renderGroupPanel(),this.renderHeader(),this.renderPinnedBand("top"),this.renderColumnDefsBody(),this.renderPinnedBand("bottom"),this.renderColumnResizeGuide()),this.renderEmptyState(emptyStateKind),this.renderEmptyStateLiveRegion(emptyStateKind),this.renderDragLiveRegions());const sideBarEl=this.renderSideBar();return sideBarEl===null?bodyEl:h("div",{class:"sy-grid__main"},bodyEl,sideBarEl)})():[h(Tag,{rows:this.engineRows(),columns:this.engineColumns(),"max-rendered":this.maxRendered,messages:engineMessages,selectedRowIds:this.selectionState.mode==="none"?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,h),this.renderActiveLargeTextEditor(),this.renderConditionalFormatBuilder(),this.renderContextMenu(),this.renderCsvWizard(),this.renderCellTooltip(),columnDefsMode&&this.collabGlue?.renderCommentPanel(this,h),this.collabConflictToast!==null&&h("div",{key:"25d5149a6f3ef9171c5ba34f5e0d42244741db08",class:{"sy-grid__conflict-toast":true,"sy-grid__conflict-toast--raised":this.pagination===true||this.statusBarSpec()!==null},"data-collab-conflict-toast":true,role:"status"},this.collabConflictToast),h("div",{key:"e2ae332f636df8ff6baf6ea71befd92bfdcfb30c",class:"sy-grid__collab-overlay",ref:el=>this.collabOverlayEl=el??null,style:{position:"absolute",inset:"0",overflow:"hidden","pointer-events":"none","z-index":"30"}}),this.fallbackReason&&h("span",{key:"f60030fa6875c34ac33ee923d30c1a88b51074ac",class:"sy-grid__watermark",title:this.fallbackReason},this.resolvedMessages["watermark.fallbackToStandard"]))}static get is(){return"sy-grid"}static get encapsulation(){return"scoped"}static get originalStyleUrls(){return{"$":["sy-grid.scss"]}}static get styleUrls(){return{"$":["sy-grid.css"]}}static get properties(){return{"rowData":{"type":"unknown","mutable":true,"complexType":{"original":"GridData[]","resolved":"GridData[]","references":{"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"columnDefs":{"type":"unknown","mutable":true,"complexType":{"original":"Array<ColumnDef | GridColumnGroupDef>","resolved":"(ColumnDef<GridData, unknown, unknown> | GridColumnGroupDef)[]","references":{"Array":{"location":"global","id":"global::Array"},"ColumnDef":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::ColumnDef","referenceLocation":"ColumnDef"},"GridColumnGroupDef":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridColumnGroupDef","referenceLocation":"GridColumnGroupDef"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"context":{"type":"unknown","mutable":false,"complexType":{"original":"unknown","resolved":"unknown","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"components":{"type":"unknown","mutable":false,"complexType":{"original":"GridComponentLocalDefinitions<\n GridData,\n unknown,\n unknown,\n unknown\n >","resolved":"GridComponentLocalDefinitions<GridData, unknown, unknown, unknown>","references":{"GridComponentLocalDefinitions":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentLocalDefinitions","referenceLocation":"GridComponentLocalDefinitions"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"externalFilter":{"type":"unknown","mutable":false,"complexType":{"original":"| GridExternalFilterCallbacks<GridData>\n | GridExternalFilterInstance<GridData, unknown>","resolved":"GridExternalFilterCallbacks<GridData> | GridExternalFilterInstance<GridData, unknown>","references":{"GridExternalFilterCallbacks":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridExternalFilterCallbacks","referenceLocation":"GridExternalFilterCallbacks"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"GridExternalFilterInstance":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridExternalFilterInstance","referenceLocation":"GridExternalFilterInstance"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"componentTimeoutMs":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"component-timeout-ms","defaultValue":"5_000"},"csvImport":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"csv-import","defaultValue":"false"},"pdfFontUrl":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pdf-font-url"},"pdfAutoFont":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pdf-auto-font","defaultValue":"true"},"formulas":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"formulas","defaultValue":"false"},"showFormulas":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"show-formulas","defaultValue":"false"},"formulaBar":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"formula-bar","defaultValue":"false"},"workbookId":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"workbook-id"},"sheetName":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"sheet-name"},"defaultColDef":{"type":"unknown","mutable":false,"complexType":{"original":"Partial<ColumnDef>","resolved":"ColumnDef<GridData, unknown, unknown>","references":{"Partial":{"location":"global","id":"global::Partial"},"ColumnDef":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::ColumnDef","referenceLocation":"ColumnDef"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"theme":{"type":"string","mutable":false,"complexType":{"original":"GridTheme","resolved":'"alpine" | "alpine-dark" | "balham" | "balham-dark" | GridThemeObject',"references":{"GridTheme":{"location":"import","path":"./core/theme/apply","id":"src/components/grid/core/theme/apply.ts::GridTheme","referenceLocation":"GridTheme"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"theme","defaultValue":"'alpine'"},"height":{"type":"any","mutable":false,"complexType":{"original":"string | number","resolved":"number | string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"height"},"locale":{"type":"string","mutable":false,"complexType":{"original":"GridLocale","resolved":'"en" | "ja" | "ko" | GridLocaleObject',"references":{"GridLocale":{"location":"import","path":"./core/locale/resolve","id":"src/components/grid/core/locale/resolve.ts::GridLocale","referenceLocation":"GridLocale"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"locale","defaultValue":"'en'"},"pagination":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pagination","defaultValue":"false"},"pageSize":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"page-size","defaultValue":"DEFAULT_PAGE_SIZE"},"pageSizeOptions":{"type":"unknown","mutable":false,"complexType":{"original":"readonly number[]","resolved":"readonly number[]","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"defaultValue":"DEFAULT_PAGE_SIZE_OPTIONS"},"rowHeight":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"row-height","defaultValue":"32"},"rowHeightFn":{"type":"unknown","mutable":false,"complexType":{"original":"(index: number, row: GridData) => number","resolved":"(index: number, row: GridData) => number","references":{"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"virtualScroll":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"virtual-scroll","defaultValue":"true"},"quickFilter":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"quick-filter","defaultValue":"false"},"quickFilterText":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"quick-filter-text","defaultValue":"''"},"quickFilterPlaceholder":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"quick-filter-placeholder"},"quickFilterMode":{"type":"string","mutable":false,"complexType":{"original":"'and' | 'or'","resolved":'"and" | "or"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"quick-filter-mode","defaultValue":"'and'"},"quickFilterRegex":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"quick-filter-regex","defaultValue":"false"},"quickFilterDebounce":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"quick-filter-debounce","defaultValue":"150"},"showEmptyState":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"show-empty-state","defaultValue":"true"},"emptyMessage":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"empty-message"},"noMatchesMessage":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"no-matches-message"},"clearFiltersLabel":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"clear-filters-label"},"loading":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"loading","defaultValue":"false"},"loadingMessage":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"loading-message"},"loadingMode":{"type":"string","mutable":false,"complexType":{"original":"LoadingMode","resolved":'"auto" | "manual" | "off"',"references":{"LoadingMode":{"location":"import","path":"./core/loading-cycle","id":"src/components/grid/core/loading-cycle.ts::LoadingMode","referenceLocation":"LoadingMode"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"loading-mode","defaultValue":"'manual'"},"minLoadingDuration":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"min-loading-duration","defaultValue":"DEFAULT_MIN_LOADING_DURATION_MS"},"datasource":{"type":"unknown","mutable":false,"complexType":{"original":"InfiniteRowDatasource","resolved":"InfiniteRowDatasource","references":{"InfiniteRowDatasource":{"location":"import","path":"./core/row-model/datasource","id":"src/components/grid/core/row-model/datasource.ts::InfiniteRowDatasource","referenceLocation":"InfiniteRowDatasource"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"cacheBlockSize":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"cache-block-size","defaultValue":"100"},"maxBlocksInCache":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"max-blocks-in-cache"},"serverSideDatasource":{"type":"unknown","mutable":false,"complexType":{"original":"ServerSideDatasource<GridRow>","resolved":"ServerSideDatasource<GridRow>","references":{"ServerSideDatasource":{"location":"import","path":"./core/row-model/server-side","id":"src/components/grid/core/row-model/server-side.ts::ServerSideDatasource","referenceLocation":"ServerSideDatasource"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"serverSideGroupCols":{"type":"unknown","mutable":false,"complexType":{"original":"string[]","resolved":"string[]","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"serverSideTransactionWaitMs":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"server-side-transaction-wait-ms"},"viewportDatasource":{"type":"unknown","mutable":false,"complexType":{"original":"ViewportDatasource<GridRow>","resolved":"ViewportDatasource<GridRow>","references":{"ViewportDatasource":{"location":"import","path":"./core/row-model/viewport","id":"src/components/grid/core/row-model/viewport.ts::ViewportDatasource","referenceLocation":"ViewportDatasource"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"rowDragManaged":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"row-drag-managed","defaultValue":"false"},"spanExportMode":{"type":"string","mutable":false,"complexType":{"original":"'origin-once' | 'repeat'","resolved":'"origin-once" | "repeat"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"span-export-mode","defaultValue":"'origin-once'"},"rowDragMultiRow":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"row-drag-multi-row","defaultValue":"false"},"rowDragText":{"type":"unknown","mutable":false,"complexType":{"original":"(params: { count: number; label: string }) => string","resolved":"(params: { count: number; label: string; }) => string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"cellChangeFlash":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"cell-change-flash","defaultValue":"false"},"enableCellChangeFlash":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"enable-cell-change-flash","defaultValue":"false"},"contextMenu":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"context-menu","defaultValue":"false"},"columnMenu":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"column-menu","defaultValue":"false"},"find":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"find","defaultValue":"false"},"cellNotes":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"cell-notes","defaultValue":"false"},"cellNotesAdapter":{"type":"unknown","mutable":false,"complexType":{"original":"GridCellNotesAdapter","resolved":"GridCellNotesAdapter","references":{"GridCellNotesAdapter":{"location":"import","path":"./core/notes/cell-notes","id":"src/components/grid/core/notes/cell-notes.ts::GridCellNotesAdapter","referenceLocation":"GridCellNotesAdapter"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"batchEditToolbar":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"batch-edit-toolbar","defaultValue":"false"},"columnMenuItems":{"type":"unknown","mutable":false,"complexType":{"original":"(context: GridColumnMenuContext) => readonly GridColumnMenuItem[]","resolved":"(context: GridColumnMenuContext) => readonly GridColumnMenuItem[]","references":{"GridColumnMenuContext":{"location":"import","path":"./core/pro-panels/column-menu","id":"src/components/grid/core/pro-panels/column-menu.tsx::GridColumnMenuContext","referenceLocation":"GridColumnMenuContext"},"GridColumnMenuItem":{"location":"import","path":"./core/pro-panels/column-menu","id":"src/components/grid/core/pro-panels/column-menu.tsx::GridColumnMenuItem","referenceLocation":"GridColumnMenuItem"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"contextMenuItemsCallback":{"type":"unknown","mutable":false,"complexType":{"original":"(\n ctx: ContextMenuContext<GridRow>,\n ) => ContextMenuItem<GridRow>[]","resolved":"(ctx: ContextMenuContext<GridRow>) => ContextMenuItem<GridRow>[]","references":{"ContextMenuContext":{"location":"import","path":"./core/context-menu/types","id":"src/components/grid/core/context-menu/types.ts::ContextMenuContext","referenceLocation":"ContextMenuContext"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"ContextMenuItem":{"location":"import","path":"./core/context-menu/types","id":"src/components/grid/core/context-menu/types.ts::ContextMenuItem","referenceLocation":"ContextMenuItem"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"keyboardNavigation":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"keyboard-navigation","defaultValue":"true"},"rowSelection":{"type":"string","mutable":false,"complexType":{"original":"RowSelectionMode","resolved":'"multi" | "none" | "single"',"references":{"RowSelectionMode":{"location":"import","path":"./core/selection/row","id":"src/components/grid/core/selection/row.ts::RowSelectionMode","referenceLocation":"RowSelectionMode"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"row-selection","defaultValue":"'none'"},"getRowId":{"type":"unknown","mutable":false,"complexType":{"original":"(row: Readonly<GridData>) => GridRowId","resolved":"(row: Readonly<GridData>) => GridRowId","references":{"Readonly":{"location":"global","id":"global::Readonly"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"selectionCheckbox":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"selection-checkbox","defaultValue":"false"},"showSelectionCheckbox":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"show-selection-checkbox","defaultValue":"false"},"shiftClickAdditive":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"shift-click-additive","defaultValue":"false"},"rowHover":{"type":"string","mutable":false,"complexType":{"original":"'css-only' | 'stateful' | 'off'","resolved":'"css-only" | "off" | "stateful"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"row-hover","defaultValue":"'css-only'"},"resizableColumns":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"resizable-columns","defaultValue":"false"},"reorderableColumns":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"reorderable-columns","defaultValue":"false"},"columnHiding":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"column-hiding","defaultValue":"false"},"hideableColumns":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"hideable-columns","defaultValue":"false"},"autoSizeOnDoubleClick":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"auto-size-on-double-click","defaultValue":"true"},"multiSort":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"multi-sort","defaultValue":"false"},"enableMultiSort":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"enable-multi-sort","defaultValue":"false"},"headerFilterRow":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"header-filter-row","defaultValue":"false"},"conditionBuilder":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"condition-builder","defaultValue":"false"},"virtualizeColumns":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"virtualize-columns"},"groupBy":{"type":"string","mutable":true,"complexType":{"original":"string | string[]","resolved":"string | string[]","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"group-by"},"pivotMode":{"type":"boolean","mutable":true,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pivot-mode","defaultValue":"false"},"pivotRowGroupColumns":{"type":"unknown","mutable":true,"complexType":{"original":"string[]","resolved":"string[]","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"pivotColumns":{"type":"unknown","mutable":true,"complexType":{"original":"string[]","resolved":"string[]","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"pivotValueColumns":{"type":"unknown","mutable":true,"complexType":{"original":"string[]","resolved":"string[]","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"pivotAggFuncs":{"type":"unknown","mutable":true,"complexType":{"original":"Record<string, string>","resolved":"string","references":{"Record":{"location":"global","id":"global::Record"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"pivotSubtotals":{"type":"string","mutable":false,"complexType":{"original":"'off' | 'top' | 'bottom'","resolved":'"bottom" | "off" | "top"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pivot-subtotals","defaultValue":"'off'"},"pivotGrandTotal":{"type":"string","mutable":false,"complexType":{"original":"'off' | 'top' | 'bottom'","resolved":'"bottom" | "off" | "top"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pivot-grand-total","defaultValue":"'bottom'"},"pivotPanelShow":{"type":"string","mutable":false,"complexType":{"original":"'always' | 'onlyWhenPivoting' | 'never'","resolved":'"always" | "never" | "onlyWhenPivoting"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pivot-panel-show","defaultValue":"'never'"},"pivotPanel":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pivot-panel","defaultValue":"false"},"groupPanel":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"group-panel","defaultValue":"false"},"getDataPath":{"type":"unknown","mutable":false,"complexType":{"original":"(row: Record<string, unknown>) => readonly string[]","resolved":"(row: Record<string, unknown>) => readonly string[]","references":{"Record":{"location":"global","id":"global::Record"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"treeIdField":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"tree-id-field"},"treeParentField":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"tree-parent-field"},"treeLabelField":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"tree-label-field"},"masterDetail":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"master-detail","defaultValue":"false"},"detailRowHeight":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"detail-row-height","defaultValue":"160"},"detailCellRenderer":{"type":"unknown","mutable":false,"complexType":{"original":"(params: { row: Record<string, unknown>; rowId: string | number }) => CellRenderOutput","resolved":"(params: { row: Record<string, unknown>; rowId: string | number; }) => CellRenderOutput","references":{"Record":{"location":"global","id":"global::Record"},"CellRenderOutput":{"location":"import","path":"./core/cell/renderer-registry","id":"src/components/grid/core/cell/renderer-registry.ts::CellRenderOutput","referenceLocation":"CellRenderOutput"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"detailGridOptions":{"type":"unknown","mutable":false,"complexType":{"original":"DetailGridOptions","resolved":"DetailGridOptions","references":{"DetailGridOptions":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::DetailGridOptions","referenceLocation":"DetailGridOptions"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"getDetailRowData":{"type":"unknown","mutable":false,"complexType":{"original":"(params: { row: Record<string, unknown>; rowId: string | number }) => unknown[] | Promise<unknown[]>","resolved":"(params: { row: Record<string, unknown>; rowId: string | number; }) => unknown[] | Promise<unknown[]>","references":{"Record":{"location":"global","id":"global::Record"},"Promise":{"location":"global","id":"global::Promise"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"detailNestingLevel":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"detail-nesting-level","defaultValue":"0"},"rangeSelection":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"range-selection","defaultValue":"false"},"clipboardEscapeFormulae":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"clipboard-escape-formulae","defaultValue":"true"},"statusBar":{"type":"boolean","mutable":false,"complexType":{"original":"boolean | { panels?: ReadonlyArray<{ panel: string; align?: string }> }","resolved":"boolean | { panels?: readonly { panel: string; align?: string; }[]; }","references":{"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"status-bar"},"sideBar":{"type":"any","mutable":false,"complexType":{"original":"boolean | string | { panels?: ReadonlyArray<{ id: string } | string>; defaultOpen?: string }","resolved":"boolean | string | { panels?: readonly (string | { id: string; })[]; defaultOpen?: string; }","references":{"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"side-bar"},"rows":{"type":"unknown","mutable":false,"complexType":{"original":"GridRow[]","resolved":"GridRow[]","references":{"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"defaultValue":"[]"},"columns":{"type":"unknown","mutable":false,"complexType":{"original":"GridColumnDef[]","resolved":"GridColumnDef[]","references":{"GridColumnDef":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridColumnDef","referenceLocation":"GridColumnDef"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"defaultValue":"[]"},"maxRendered":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"max-rendered","defaultValue":"200"},"engine":{"type":"string","mutable":false,"complexType":{"original":"GridEngineMode","resolved":'"auto" | "pro" | "standard"',"references":{"GridEngineMode":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridEngineMode","referenceLocation":"GridEngineMode"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"engine","defaultValue":"'auto'"},"proThreshold":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"pro-threshold","defaultValue":"100_000"},"unavailable":{"type":"string","mutable":false,"complexType":{"original":"GridUnavailableBehaviour","resolved":'"error" | "fallback"',"references":{"GridUnavailableBehaviour":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridUnavailableBehaviour","referenceLocation":"GridUnavailableBehaviour"}}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"unavailable","defaultValue":"'fallback'"},"brandLogo":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"brand-logo"},"collaborationRoom":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"collaboration-room"},"realtimeUrl":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"realtime-url"},"collabUserName":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"collab-user-name"},"collabUserColor":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"collab-user-color"},"collabPresence":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"collab-presence","defaultValue":"true"},"collabConflictUi":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"collab-conflict-ui","defaultValue":"true"},"auditLog":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"audit-log","defaultValue":"false"},"auditLogMax":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"audit-log-max","defaultValue":"1000"},"canReadCell":{"type":"unknown","mutable":false,"complexType":{"original":"CanReadCellFn","resolved":"(params: RbacCellReadParams) => boolean","references":{"CanReadCellFn":{"location":"import","path":"./core/rbac/cell-access","id":"src/components/grid/core/rbac/cell-access.ts::CanReadCellFn","referenceLocation":"CanReadCellFn"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"maskedCellValue":{"type":"string","mutable":false,"complexType":{"original":"string","resolved":"string","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"masked-cell-value","defaultValue":"'•••'"},"canEditCell":{"type":"unknown","mutable":false,"complexType":{"original":"CanEditCellFn","resolved":"(params: RbacCellReadParams) => boolean","references":{"CanEditCellFn":{"location":"import","path":"./core/rbac/cell-access","id":"src/components/grid/core/rbac/cell-access.ts::CanEditCellFn","referenceLocation":"CanEditCellFn"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"conditionalFormats":{"type":"unknown","mutable":true,"complexType":{"original":"ConditionalFormatRule[]","resolved":"ConditionalFormatRule[]","references":{"ConditionalFormatRule":{"location":"import","path":"./core/conditional-format/conditional-format","id":"src/components/grid/core/conditional-format/conditional-format.ts::ConditionalFormatRule","referenceLocation":"ConditionalFormatRule"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"conditionalFormatUi":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"conditional-format-ui","defaultValue":"false"},"validationRules":{"type":"unknown","mutable":false,"complexType":{"original":"ValidationRule[]","resolved":"ValidationRule[]","references":{"ValidationRule":{"location":"import","path":"./core/validation/validation","id":"src/components/grid/core/validation/validation.ts::ValidationRule","referenceLocation":"ValidationRule"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"invalidEditMode":{"type":"string","mutable":false,"complexType":{"original":"'allow' | 'revert' | 'block'","resolved":'"allow" | "block" | "revert"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"invalid-edit-mode","defaultValue":"'allow'"},"maxSnapshots":{"type":"number","mutable":false,"complexType":{"original":"number","resolved":"number","references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"max-snapshots","defaultValue":"20"},"collabPersistence":{"type":"string","mutable":false,"complexType":{"original":"'none' | 'indexeddb'","resolved":'"indexeddb" | "none"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"collab-persistence","defaultValue":"'none'"},"initialState":{"type":"unknown","mutable":false,"complexType":{"original":"SyGridState","resolved":"SyGridState","references":{"SyGridState":{"location":"import","path":"./core/state/contracts","id":"src/components/grid/core/state/contracts.ts::SyGridState","referenceLocation":"SyGridState"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"editType":{"type":"string","mutable":false,"complexType":{"original":"'cell' | 'fullRow'","resolved":'"cell" | "fullRow"',"references":{}},"required":false,"optional":false,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"edit-type","defaultValue":"'cell'"},"enableFillHandle":{"type":"boolean","mutable":false,"complexType":{"original":"boolean","resolved":"boolean","references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"enable-fill-handle"},"fillHandleAxes":{"type":"string","mutable":false,"complexType":{"original":"'both' | 'x' | 'y'","resolved":'"both" | "x" | "y"',"references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"fill-handle-axes"},"fillHandleMode":{"type":"string","mutable":false,"complexType":{"original":"'copy' | 'series'","resolved":'"copy" | "series"',"references":{}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"fill-handle-mode"},"alignedGrids":{"type":"string","mutable":false,"complexType":{"original":"SyGridAlignedGridsInput | string","resolved":"readonly HTMLElement[] | string | { readonly group: string; }","references":{"SyGridAlignedGridsInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridAlignedGridsInput","referenceLocation":"SyGridAlignedGridsInput"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"aligned-grids"},"isFullWidthRow":{"type":"unknown","mutable":false,"complexType":{"original":"(params: { row: GridRow; rowIndex: number; builtInKind: 'detail' | 'group' | 'group-footer' | 'loading' | 'custom' | null }) => boolean","resolved":'(params: { row: GridRow; rowIndex: number; builtInKind: "custom" | "loading" | "group" | "detail" | "group-footer"; }) => boolean',"references":{"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"fullWidthCellRenderer":{"type":"unknown","mutable":false,"complexType":{"original":"SyGridFullWidthRenderer<GridRow>","resolved":"SyGridFullWidthRenderer<GridRow>","references":{"SyGridFullWidthRenderer":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridFullWidthRenderer","referenceLocation":"SyGridFullWidthRenderer"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"fullWidthRowHeight":{"type":"number","mutable":false,"complexType":{"original":"number | ((row: GridRow, rowIndex: number) => number)","resolved":"((row: GridRow, rowIndex: number) => number) | number","references":{"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false,"reflect":false,"attribute":"full-width-row-height"},"pinnedTopRowData":{"type":"unknown","mutable":false,"complexType":{"original":"GridRow[]","resolved":"GridRow[]","references":{"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false},"pinnedBottomRowData":{"type":"unknown","mutable":false,"complexType":{"original":"GridRow[]","resolved":"GridRow[]","references":{"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}},"required":false,"optional":true,"docs":{text:"",tags:[]},"getter":false,"setter":false}}}static get states(){return{"activeTier":{},"fallbackReason":{},"formulaVersion":{},"resolvedMessages":{},"activeSortModel":{},"activeFilters":{},"activeConditionTree":{},"builderDraft":{},"conditionPresets":{},"presetNameDraft":{},"columnPinned":{},"dropdownAnchor":{},"bodyScrollbarWidth":{},"hScrollLeft":{},"collapsedGroups":{},"collapsedRowGroups":{},"pivotCollapsedRowGroups":{},"customAggFuncs":{},"collapsedTreeNodes":{},"expandedDetailRows":{},"rangeState":{},"contextMenuState":{},"cfBuilderOpen":{},"cfDraftRules":{},"flashingCells":{},"rowDragState":{},"rowLayoutVersion":{},"pinnedRowsVersion":{},"pinnedFocus":{},"fullWidthVersion":{},"unmanagedDragTarget":{},"unmanagedDragSource":{},"dragLive":{},"columnDragOverGroupPanel":{},"pivotPanelAnnouncement":{},"openFilterField":{},"filterForm":{},"activePagination":{},"latestPaginatedMeta":{},"quickFilterValue":{},"effectiveLoading":{},"activeCell":{},"formulaBarDraft":{},"cellTooltip":{},"editingCell":{},"editStore":{},"undoRedoStack":{},"lifecycleEditorVersion":{},"lifecycleFilterVersion":{},"cellCommentIndex":{},"conflictFlashCells":{},"collabConflictToast":{},"commentPanel":{},"commentPanelAnchor":{},"commentPanelOffscreen":{},"commentPanelThread":{},"columnWidths":{},"columnResizeGuide":{},"columnOrder":{},"columnHidden":{},"textEditorState":{},"numberEditorState":{},"dateEditorState":{},"calendarState":{},"calendarFocusedIso":{},"calendarAnchor":{},"selectEditorState":{},"autocompleteEditorState":{},"autocompleteAnchor":{},"richSelectTick":{},"checkboxEditorState":{},"textareaEditorState":{},"largeTextAnchor":{},"cellRendererRegistry":{},"cellRendererVersion":{},"lifecycleRendererPresentationVersion":{},"selectionState":{},"rangeAnchorRowId":{},"hoverState":{},"viewportSize":{},"virtualWindow":{},"autoHeightVersion":{},"csvWizard":{},"infiniteCache":{},"serverSideState":{},"ssrmSelection":{},"viewportState":{},"licenseRevision":{},"licenseRenderTick":{},"proUiChunkTick":{},"fillPreview":{},"groupPivotChunkTick":{},"formulaSuggest":{},"formulaSuggestAnchor":{},"openToolPanelId":{},"columnsPanelSearch":{},"filtersPanelSearch":{},"detailDataVersion":{}}}static get events(){return[{"method":"queryComplete","name":"queryComplete","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridQueryResult & { tier: GridEngineTier }","resolved":"GridQueryResult & { tier: GridEngineTier; }","references":{"GridQueryResult":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridQueryResult","referenceLocation":"GridQueryResult"},"GridEngineTier":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridEngineTier","referenceLocation":"GridEngineTier"}}}},{"method":"sortChanged","name":"sortChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridSortChangedDetail","resolved":"GridSortChangedDetail","references":{"GridSortChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridSortChangedDetail"}}}},{"method":"filterChanged","name":"filterChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridFilterChangedDetail","resolved":"GridFilterChangedDetail","references":{"GridFilterChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridFilterChangedDetail"}}}},{"method":"filterModified","name":"filterModified","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridFilterModifiedDetail","resolved":"GridFilterModifiedDetail","references":{"GridFilterModifiedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridFilterModifiedDetail"}}}},{"method":"conditionFilterChanged","name":"conditionFilterChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ model: ConditionNode | null }","resolved":"{ model: ConditionNode; }","references":{"ConditionNode":{"location":"import","path":"./core/filter/condition-builder","id":"src/components/grid/core/filter/condition-builder.ts::ConditionNode","referenceLocation":"ConditionNode"}}}},{"method":"conditionPresetsChanged","name":"conditionPresetsChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ presets: Array<{ name: string; json: string }> }","resolved":"{ presets: { name: string; json: string; }[]; }","references":{"Array":{"location":"global","id":"global::Array"}}}},{"method":"columnGroupToggled","name":"columnGroupToggled","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ groupId: string; open: boolean }","resolved":"{ groupId: string; open: boolean; }","references":{}}},{"method":"rowGroupToggled","name":"rowGroupToggled","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ key: string | null; expanded: boolean }","resolved":"{ key: string; expanded: boolean; }","references":{}}},{"method":"treeNodeToggled","name":"treeNodeToggled","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ path: readonly string[]; expanded: boolean }","resolved":"{ path: readonly string[]; expanded: boolean; }","references":{}}},{"method":"detailRowToggled","name":"detailRowToggled","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rowId: string | number; expanded: boolean }","resolved":"{ rowId: string | number; expanded: boolean; }","references":{}}},{"method":"detailRowCreated","name":"detailRowCreated","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rowId: string | number; master: GridRow | null }","resolved":"{ rowId: string | number; master: GridRow; }","references":{"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}}},{"method":"detailRowDestroyed","name":"detailRowDestroyed","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rowId: string | number }","resolved":"{ rowId: string | number; }","references":{}}},{"method":"rangeSelectionChanged","name":"rangeSelectionChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ ranges: CellRangeBounds[] }","resolved":"{ ranges: CellRangeBounds[]; }","references":{"CellRangeBounds":{"location":"import","path":"./core/selection/range","id":"src/components/grid/core/selection/range.ts::CellRangeBounds","referenceLocation":"CellRangeBounds"}}}},{"method":"toolPanelToggled","name":"toolPanelToggled","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ id: SideBarPanelId; open: boolean }","resolved":"{ id: SideBarPanelId; open: boolean; }","references":{"SideBarPanelId":{"location":"import","path":"./core/side-bar/side-bar","id":"src/components/grid/core/side-bar/side-bar.ts::SideBarPanelId","referenceLocation":"SideBarPanelId"}}}},{"method":"csvImported","name":"csvImported","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rowCount: number; columnCount: number }","resolved":"{ rowCount: number; columnCount: number; }","references":{}}},{"method":"clipboardCopied","name":"clipboardCopied","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ text: string; ranges: CellRangeBounds[] }","resolved":"{ text: string; ranges: CellRangeBounds[]; }","references":{"CellRangeBounds":{"location":"import","path":"./core/selection/range","id":"src/components/grid/core/selection/range.ts::CellRangeBounds","referenceLocation":"CellRangeBounds"}}}},{"method":"clipboardPasted","name":"clipboardPasted","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{\n applied: number;\n skipped: number;\n top: number;\n left: number;\n changes: GridCellValueChangedDetail[];\n }","resolved":"{ applied: number; skipped: number; top: number; left: number; changes: GridCellValueChangedDetail<GridData, unknown, unknown>[]; }","references":{"GridCellValueChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridCellValueChangedDetail"}}}},{"method":"paginationChanged","name":"paginationChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridPaginationChangedDetail","resolved":"GridPaginationChangedDetail","references":{"GridPaginationChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridPaginationChangedDetail"}}}},{"method":"quickFilterChanged","name":"quickFilterChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridQuickFilterChangedDetail","resolved":"GridQuickFilterChangedDetail","references":{"GridQuickFilterChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridQuickFilterChangedDetail"}}}},{"method":"emptyStateActionClicked","name":"emptyStateActionClicked","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridEmptyStateActionDetail","resolved":"GridEmptyStateActionDetail","references":{"GridEmptyStateActionDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridEmptyStateActionDetail"}}}},{"method":"activeCellChanged","name":"activeCellChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridActiveCellChangedDetail","resolved":"GridActiveCellChangedDetail","references":{"GridActiveCellChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridActiveCellChangedDetail"}}}},{"method":"cellClicked","name":"cellClicked","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCellClickedDetail","resolved":"GridCellClickedDetail<GridData>","references":{"GridCellClickedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridCellClickedDetail"}}}},{"method":"cellDoubleClicked","name":"cellDoubleClicked","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCellDoubleClickedDetail","resolved":"GridCellDoubleClickedDetail<GridData>","references":{"GridCellDoubleClickedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridCellDoubleClickedDetail"}}}},{"method":"rowClicked","name":"rowClicked","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridRowClickedDetail","resolved":"GridRowClickedDetail<GridData>","references":{"GridRowClickedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridRowClickedDetail"}}}},{"method":"cellEditingRequested","name":"cellEditingRequested","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCellEditingRequestedDetail","resolved":"GridCellEditingRequestedDetail<GridData>","references":{"GridCellEditingRequestedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridCellEditingRequestedDetail"}}}},{"method":"cellEditingCancelled","name":"cellEditingCancelled","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCellEditingCancelledDetail","resolved":"GridCellEditingCancelledDetail","references":{"GridCellEditingCancelledDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridCellEditingCancelledDetail"}}}},{"method":"cellEditingCommitted","name":"cellEditingCommitted","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCellEditingCommittedDetail","resolved":"GridCellEditingCommittedDetail<unknown>","references":{"GridCellEditingCommittedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridCellEditingCommittedDetail"}}}},{"method":"formulaEvaluated","name":"formulaEvaluated","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridFormulaEvaluatedDetail","resolved":"GridFormulaEvaluatedDetail","references":{"GridFormulaEvaluatedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridFormulaEvaluatedDetail"}}}},{"method":"formulaError","name":"formulaError","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridFormulaErrorDetail","resolved":"GridFormulaErrorDetail","references":{"GridFormulaErrorDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridFormulaErrorDetail"}}}},{"method":"workbookBindingChanged","name":"workbookBindingChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridWorkbookBindingChangedDetail","resolved":"GridWorkbookBindingChangedDetail","references":{"GridWorkbookBindingChangedDetail":{"location":"import","path":"./core/formula/workbook-binding","id":"src/components/grid/core/formula/workbook-binding.ts::GridWorkbookBindingChangedDetail","referenceLocation":"GridWorkbookBindingChangedDetail"}}}},{"method":"workbookBindingError","name":"workbookBindingError","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridWorkbookBindingErrorDetail","resolved":"GridWorkbookBindingErrorDetail","references":{"GridWorkbookBindingErrorDetail":{"location":"import","path":"./core/formula/workbook-binding","id":"src/components/grid/core/formula/workbook-binding.ts::GridWorkbookBindingErrorDetail","referenceLocation":"GridWorkbookBindingErrorDetail"}}}},{"method":"chunkLoading","name":"chunkLoading","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridChunkLoadEventDetail","resolved":"GridChunkLoadEventDetail","references":{"GridChunkLoadEventDetail":{"location":"import","path":"./core/loader/chunk-loader","id":"src/components/grid/core/loader/chunk-loader.ts::GridChunkLoadEventDetail","referenceLocation":"GridChunkLoadEventDetail"}}}},{"method":"chunkLoaded","name":"chunkLoaded","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridChunkLoadEventDetail","resolved":"GridChunkLoadEventDetail","references":{"GridChunkLoadEventDetail":{"location":"import","path":"./core/loader/chunk-loader","id":"src/components/grid/core/loader/chunk-loader.ts::GridChunkLoadEventDetail","referenceLocation":"GridChunkLoadEventDetail"}}}},{"method":"chunkLoadFailed","name":"chunkLoadFailed","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridChunkLoadEventDetail","resolved":"GridChunkLoadEventDetail","references":{"GridChunkLoadEventDetail":{"location":"import","path":"./core/loader/chunk-loader","id":"src/components/grid/core/loader/chunk-loader.ts::GridChunkLoadEventDetail","referenceLocation":"GridChunkLoadEventDetail"}}}},{"method":"componentError","name":"componentError","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridComponentErrorDetails","resolved":"GridComponentErrorDetails","references":{"GridComponentErrorDetails":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentErrorDetails","referenceLocation":"GridComponentErrorDetails"}}}},{"method":"rowDataChanged","name":"rowDataChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridRowDataChangedDetail","resolved":"GridRowDataChangedDetail<GridData>","references":{"GridRowDataChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridRowDataChangedDetail"}}}},{"method":"cellValueChanged","name":"cellValueChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCellValueChangedDetail","resolved":"GridCellValueChangedDetail<GridData, unknown, unknown>","references":{"GridCellValueChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridCellValueChangedDetail"}}}},{"method":"rowMoved","name":"rowMoved","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ fromIndex: number; toIndex: number; row: unknown }","resolved":"{ fromIndex: number; toIndex: number; row: unknown; }","references":{}}},{"method":"rowGroupChanged","name":"rowGroupChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ groupBy: string | null }","resolved":"{ groupBy: string; }","references":{}}},{"method":"pivotPanelChanged","name":"pivotPanelChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"PivotPanelChangeDetail","resolved":"PivotPanelChangeDetail","references":{"PivotPanelChangeDetail":{"location":"import","path":"./core/pipeline/pivot-panel","id":"src/components/grid/core/pipeline/pivot-panel.ts::PivotPanelChangeDetail","referenceLocation":"PivotPanelChangeDetail"}}}},{"method":"pivotChanged","name":"pivotChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"PivotPanelChangeDetail","resolved":"PivotPanelChangeDetail","references":{"PivotPanelChangeDetail":{"location":"import","path":"./core/pipeline/pivot-panel","id":"src/components/grid/core/pipeline/pivot-panel.ts::PivotPanelChangeDetail","referenceLocation":"PivotPanelChangeDetail"}}}},{"method":"pivotModeChanged","name":"pivotModeChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ pivotMode: boolean }","resolved":"{ pivotMode: boolean; }","references":{}}},{"method":"contextMenuItemClicked","name":"contextMenuItemClicked","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ id: string; rowIndex: number; field?: string }","resolved":"{ id: string; rowIndex: number; field?: string; }","references":{}}},{"method":"remoteEditApplied","name":"remoteEditApplied","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridRemoteEditAppliedDetail","resolved":"GridRemoteEditAppliedDetail<GridData, unknown>","references":{"GridRemoteEditAppliedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridRemoteEditAppliedDetail"}}}},{"method":"presenceChanged","name":"presenceChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridPresenceChangedDetail","resolved":"GridPresenceChangedDetail","references":{"GridPresenceChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridPresenceChangedDetail"}}}},{"method":"collabConflictResolved","name":"collabConflictResolved","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCollabConflict","resolved":"GridCollabConflict","references":{"GridCollabConflict":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridCollabConflict","referenceLocation":"GridCollabConflict"}}}},{"method":"collaboratorJoined","name":"collaboratorJoined","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridCollaboratorInfo","resolved":"GridCollaboratorInfo","references":{"GridCollaboratorInfo":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridCollaboratorInfo","referenceLocation":"GridCollaboratorInfo"}}}},{"method":"collaboratorLeft","name":"collaboratorLeft","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ id: string }","resolved":"{ id: string; }","references":{}}},{"method":"syncStatusChanged","name":"syncStatusChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ status: GridSyncStatus }","resolved":"{ status: GridSyncStatus; }","references":{"GridSyncStatus":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridSyncStatus","referenceLocation":"GridSyncStatus"}}}},{"method":"cellCommentsChanged","name":"cellCommentsChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rowId: string; field: string; comments: GridCellComment[] }","resolved":"{ rowId: string; field: string; comments: GridCellComment[]; }","references":{"GridCellComment":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridCellComment","referenceLocation":"GridCellComment"}}}},{"method":"commentMentioned","name":"commentMentioned","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rowId: string; field: string; comment: GridCellComment }","resolved":"{ rowId: string; field: string; comment: GridCellComment; }","references":{"GridCellComment":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridCellComment","referenceLocation":"GridCellComment"}}}},{"method":"auditLogChanged","name":"auditLogChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ entry: AuditEntry }","resolved":"{ entry: AuditEntry; }","references":{"AuditEntry":{"location":"import","path":"./core/audit/audit-log","id":"src/components/grid/core/audit/audit-log.ts::AuditEntry","referenceLocation":"AuditEntry"}}}},{"method":"conditionalFormatsChanged","name":"conditionalFormatsChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rules: ConditionalFormatRule[] }","resolved":"{ rules: ConditionalFormatRule[]; }","references":{"ConditionalFormatRule":{"location":"import","path":"./core/conditional-format/conditional-format","id":"src/components/grid/core/conditional-format/conditional-format.ts::ConditionalFormatRule","referenceLocation":"ConditionalFormatRule"}}}},{"method":"cellValidationFailed","name":"cellValidationFailed","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ rowIndex: number; field: string; value: unknown; message: string }","resolved":"{ rowIndex: number; field: string; value: unknown; message: string; }","references":{}}},{"method":"snapshotCaptured","name":"snapshotCaptured","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ id: string; name: string; rowCount: number }","resolved":"{ id: string; name: string; rowCount: number; }","references":{}}},{"method":"snapshotRestored","name":"snapshotRestored","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"{ id: string; name: string; rowCount: number }","resolved":"{ id: string; name: string; rowCount: number; }","references":{}}},{"method":"xlsxImported","name":"xlsxImported","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridXlsxImportedDetail","resolved":"GridXlsxImportedDetail","references":{"GridXlsxImportedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridXlsxImportedDetail"}}}},{"method":"historyChanged","name":"historyChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridHistoryChangedDetail","resolved":"GridHistoryChangedDetail","references":{"GridHistoryChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridHistoryChangedDetail"}}}},{"method":"columnResized","name":"columnResized","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridColumnResizedDetail","resolved":"GridColumnResizedDetail","references":{"GridColumnResizedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridColumnResizedDetail"}}}},{"method":"columnReordered","name":"columnReordered","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridColumnReorderedDetail","resolved":"GridColumnReorderedDetail","references":{"GridColumnReorderedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridColumnReorderedDetail"}}}},{"method":"columnVisibilityChanged","name":"columnVisibilityChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridColumnVisibilityChangedDetail","resolved":"GridColumnVisibilityChangedDetail","references":{"GridColumnVisibilityChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridColumnVisibilityChangedDetail"}}}},{"method":"selectionChanged","name":"selectionChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridSelectionChangedDetail","resolved":"GridSelectionChangedDetail","references":{"GridSelectionChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridSelectionChangedDetail"}}}},{"method":"rowHoverChanged","name":"rowHoverChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridRowHoverChangedDetail","resolved":"GridRowHoverChangedDetail","references":{"GridRowHoverChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridRowHoverChangedDetail"}}}},{"method":"themeChanged","name":"themeChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridThemeChangedDetail","resolved":"GridThemeChangedDetail","references":{"GridThemeChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridThemeChangedDetail"}}}},{"method":"localeChanged","name":"localeChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridLocaleChangedDetail","resolved":"GridLocaleChangedDetail","references":{"GridLocaleChangedDetail":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridLocaleChangedDetail"}}}},{"method":"gridObjectChanged","name":"gridObjectChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"GridLiveObjectEvent<GridData>","resolved":"GridLiveObjectEvent<GridData, unknown>","references":{"GridLiveObjectEvent":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridLiveObjectEvent","referenceLocation":"GridLiveObjectEvent"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}}}},{"method":"stateUpdated","name":"stateUpdated","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridStateUpdatedDetail","resolved":"SyGridStateUpdatedDetail","references":{"SyGridStateUpdatedDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridStateUpdatedDetail","referenceLocation":"SyGridStateUpdatedDetail"}}}},{"method":"preDestroyed","name":"preDestroyed","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridPreDestroyedDetail","resolved":"SyGridPreDestroyedDetail","references":{"SyGridPreDestroyedDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPreDestroyedDetail","referenceLocation":"SyGridPreDestroyedDetail"}}}},{"method":"batchEditStart","name":"batchEditStart","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridBatchEditStartEventDetail","resolved":"SyGridBatchEditStartEventDetail","references":{"SyGridBatchEditStartEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridBatchEditStartEventDetail","referenceLocation":"SyGridBatchEditStartEventDetail"}}}},{"method":"batchEditEnd","name":"batchEditEnd","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridBatchEditEndEventDetail","resolved":"SyGridBatchEditEndEventDetail","references":{"SyGridBatchEditEndEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridBatchEditEndEventDetail","referenceLocation":"SyGridBatchEditEndEventDetail"}}}},{"method":"rowValueChanged","name":"rowValueChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowValueChangedEventDetail","resolved":"SyGridRowValueChangedEventDetail","references":{"SyGridRowValueChangedEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowValueChangedEventDetail","referenceLocation":"SyGridRowValueChangedEventDetail"}}}},{"method":"rowEditStart","name":"rowEditStart","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowEditStartEventDetail","resolved":"SyGridRowEditStartEventDetail","references":{"SyGridRowEditStartEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowEditStartEventDetail","referenceLocation":"SyGridRowEditStartEventDetail"}}}},{"method":"rowEditStop","name":"rowEditStop","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowEditStopEventDetail","resolved":"SyGridRowEditStopEventDetail","references":{"SyGridRowEditStopEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowEditStopEventDetail","referenceLocation":"SyGridRowEditStopEventDetail"}}}},{"method":"fillStart","name":"fillStart","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridFillStartEventDetail","resolved":"SyGridFillStartEventDetail","references":{"SyGridFillStartEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridFillStartEventDetail","referenceLocation":"SyGridFillStartEventDetail"}}}},{"method":"fillEnd","name":"fillEnd","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridFillEndEventDetail","resolved":"SyGridFillEndEventDetail","references":{"SyGridFillEndEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridFillEndEventDetail","referenceLocation":"SyGridFillEndEventDetail"}}}},{"method":"pivotCombinationConflict","name":"pivotCombinationConflict","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridPivotCombinationConflictDetail","resolved":"SyGridPivotCombinationConflictDetail","references":{"SyGridPivotCombinationConflictDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPivotCombinationConflictDetail","referenceLocation":"SyGridPivotCombinationConflictDetail"}}}},{"method":"pivotColumnsChanged","name":"pivotColumnsChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridPivotColumnsChangedDetail","resolved":"SyGridPivotColumnsChangedDetail","references":{"SyGridPivotColumnsChangedDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPivotColumnsChangedDetail","referenceLocation":"SyGridPivotColumnsChangedDetail"}}}},{"method":"serverStoreUpdated","name":"serverStoreUpdated","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridServerStoreUpdatedDetail","resolved":"SyGridServerStoreUpdatedDetail","references":{"SyGridServerStoreUpdatedDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerStoreUpdatedDetail","referenceLocation":"SyGridServerStoreUpdatedDetail"}}}},{"method":"rowDragEnter","name":"rowDragEnter","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowDragEventDetail","resolved":"SyGridRowDragEventDetail","references":{"SyGridRowDragEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragEventDetail","referenceLocation":"SyGridRowDragEventDetail"}}}},{"method":"rowDragMove","name":"rowDragMove","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowDragEventDetail","resolved":"SyGridRowDragEventDetail","references":{"SyGridRowDragEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragEventDetail","referenceLocation":"SyGridRowDragEventDetail"}}}},{"method":"rowDragLeave","name":"rowDragLeave","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowDragEventDetail","resolved":"SyGridRowDragEventDetail","references":{"SyGridRowDragEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragEventDetail","referenceLocation":"SyGridRowDragEventDetail"}}}},{"method":"rowDragEnd","name":"rowDragEnd","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowDragEndDetail","resolved":"SyGridRowDragEndDetail","references":{"SyGridRowDragEndDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragEndDetail","referenceLocation":"SyGridRowDragEndDetail"}}}},{"method":"rowDragCancel","name":"rowDragCancel","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowDragCancelDetail","resolved":"SyGridRowDragCancelDetail","references":{"SyGridRowDragCancelDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragCancelDetail","referenceLocation":"SyGridRowDragCancelDetail"}}}},{"method":"rowsTransferred","name":"rowsTransferred","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowsTransferredDetail","resolved":"SyGridRowsTransferredDetail","references":{"SyGridRowsTransferredDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowsTransferredDetail","referenceLocation":"SyGridRowsTransferredDetail"}}}},{"method":"spanConflict","name":"spanConflict","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridSpanConflictEventDetail","resolved":"SyGridSpanConflictEventDetail","references":{"SyGridSpanConflictEventDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpanConflictEventDetail","referenceLocation":"SyGridSpanConflictEventDetail"}}}},{"method":"treeReparented","name":"treeReparented","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridTreeReparentedDetail","resolved":"SyGridTreeReparentedDetail","references":{"SyGridTreeReparentedDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridTreeReparentedDetail","referenceLocation":"SyGridTreeReparentedDetail"}}}},{"method":"pinnedRowsChanged","name":"pinnedRowsChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridPinnedRowsChangedDetail<GridRow>","resolved":"SyGridPinnedRowsChangedDetail<GridRow>","references":{"SyGridPinnedRowsChangedDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPinnedRowsChangedDetail","referenceLocation":"SyGridPinnedRowsChangedDetail"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}}}},{"method":"rowLayoutRefused","name":"rowLayoutRefused","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridRowLayoutRefusedDetail","resolved":"SyGridRowLayoutRefusedDetail","references":{"SyGridRowLayoutRefusedDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowLayoutRefusedDetail","referenceLocation":"SyGridRowLayoutRefusedDetail"}}}},{"method":"workbookValuesPropagated","name":"workbookValuesPropagated","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridWorkbookPropagationDetail","resolved":"SyGridWorkbookPropagationDetail","references":{"SyGridWorkbookPropagationDetail":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridWorkbookPropagationDetail","referenceLocation":"SyGridWorkbookPropagationDetail"}}}},{"method":"chartCreated","name":"chartCreated","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridChartEvent","resolved":'GridChartEventSpine & { readonly type: "created"; readonly chartType: "area" | "bar" | "line" | "column" | "dot-plot" | "dumbbell" | "funnel" | "gauge" | "lollipop" | "marimekko" | "pareto" | "pie" | "pyramid" | "radar" | "scatter" | "tornado" | "variwide"; readonly projection: "category-series" | "category-value" | "xy-pairs"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; } | GridChartEventSpine & { readonly type: "destroyed"; readonly cause: "api-destroy" | "grid-disconnect" | "materialize-failed"; } | GridChartEventSpine & { readonly type: "optionsChanged"; readonly options: GridChartOptions; readonly changedKeys: readonly ("legend" | "title" | "background" | "subtitle" | "theme" | "stacked" | "xAxisTitle" | "yAxisTitle")[]; } | GridChartEventSpine & { readonly type: "rangeChanged"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; readonly previousSource: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; }',"references":{"SyGridChartEvent":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartEvent","referenceLocation":"SyGridChartEvent"}}}},{"method":"chartRangeChanged","name":"chartRangeChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridChartEvent","resolved":'GridChartEventSpine & { readonly type: "created"; readonly chartType: "area" | "bar" | "line" | "column" | "dot-plot" | "dumbbell" | "funnel" | "gauge" | "lollipop" | "marimekko" | "pareto" | "pie" | "pyramid" | "radar" | "scatter" | "tornado" | "variwide"; readonly projection: "category-series" | "category-value" | "xy-pairs"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; } | GridChartEventSpine & { readonly type: "destroyed"; readonly cause: "api-destroy" | "grid-disconnect" | "materialize-failed"; } | GridChartEventSpine & { readonly type: "optionsChanged"; readonly options: GridChartOptions; readonly changedKeys: readonly ("legend" | "title" | "background" | "subtitle" | "theme" | "stacked" | "xAxisTitle" | "yAxisTitle")[]; } | GridChartEventSpine & { readonly type: "rangeChanged"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; readonly previousSource: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; }',"references":{"SyGridChartEvent":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartEvent","referenceLocation":"SyGridChartEvent"}}}},{"method":"chartOptionsChanged","name":"chartOptionsChanged","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridChartEvent","resolved":'GridChartEventSpine & { readonly type: "created"; readonly chartType: "area" | "bar" | "line" | "column" | "dot-plot" | "dumbbell" | "funnel" | "gauge" | "lollipop" | "marimekko" | "pareto" | "pie" | "pyramid" | "radar" | "scatter" | "tornado" | "variwide"; readonly projection: "category-series" | "category-value" | "xy-pairs"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; } | GridChartEventSpine & { readonly type: "destroyed"; readonly cause: "api-destroy" | "grid-disconnect" | "materialize-failed"; } | GridChartEventSpine & { readonly type: "optionsChanged"; readonly options: GridChartOptions; readonly changedKeys: readonly ("legend" | "title" | "background" | "subtitle" | "theme" | "stacked" | "xAxisTitle" | "yAxisTitle")[]; } | GridChartEventSpine & { readonly type: "rangeChanged"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; readonly previousSource: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; }',"references":{"SyGridChartEvent":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartEvent","referenceLocation":"SyGridChartEvent"}}}},{"method":"chartDestroyed","name":"chartDestroyed","bubbles":true,"cancelable":true,"composed":true,"docs":{text:"",tags:[]},"complexType":{"original":"SyGridChartEvent","resolved":'GridChartEventSpine & { readonly type: "created"; readonly chartType: "area" | "bar" | "line" | "column" | "dot-plot" | "dumbbell" | "funnel" | "gauge" | "lollipop" | "marimekko" | "pareto" | "pie" | "pyramid" | "radar" | "scatter" | "tornado" | "variwide"; readonly projection: "category-series" | "category-value" | "xy-pairs"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; } | GridChartEventSpine & { readonly type: "destroyed"; readonly cause: "api-destroy" | "grid-disconnect" | "materialize-failed"; } | GridChartEventSpine & { readonly type: "optionsChanged"; readonly options: GridChartOptions; readonly changedKeys: readonly ("legend" | "title" | "background" | "subtitle" | "theme" | "stacked" | "xAxisTitle" | "yAxisTitle")[]; } | GridChartEventSpine & { readonly type: "rangeChanged"; readonly source: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; readonly previousSource: { readonly kind: "params"; readonly firstRow: number; readonly lastRow: number; readonly columnIds: readonly string[]; }; }',"references":{"SyGridChartEvent":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartEvent","referenceLocation":"SyGridChartEvent"}}}}]}static get methods(){return{"getAuditLog":{"complexType":{"signature":"(filter?: AuditLogFilter) => Promise<AuditEntry[]>","parameters":[{"name":"filter","type":"AuditLogFilter","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"AuditEntry":{"location":"import","path":"./core/audit/audit-log","id":"src/components/grid/core/audit/audit-log.ts::AuditEntry","referenceLocation":"AuditEntry"},"AuditLogFilter":{"location":"import","path":"./core/audit/audit-log","id":"src/components/grid/core/audit/audit-log.ts::AuditLogFilter","referenceLocation":"AuditLogFilter"}},"return":"Promise<AuditEntry[]>"},"docs":{text:"",tags:[]}},"clearAuditLog":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getAuditLogAsCsv":{"complexType":{"signature":"(filter?: AuditLogFilter) => Promise<string>","parameters":[{"name":"filter","type":"AuditLogFilter","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"AuditLogFilter":{"location":"import","path":"./core/audit/audit-log","id":"src/components/grid/core/audit/audit-log.ts::AuditLogFilter","referenceLocation":"AuditLogFilter"}},"return":"Promise<string>"},"docs":{text:"",tags:[]}},"getAuditLogAsJson":{"complexType":{"signature":"(filter?: AuditLogFilter, pretty?: boolean) => Promise<string>","parameters":[{"name":"filter","type":"AuditLogFilter","docs":{text:"",tags:[]}},{"name":"pretty","type":"boolean","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"AuditLogFilter":{"location":"import","path":"./core/audit/audit-log","id":"src/components/grid/core/audit/audit-log.ts::AuditLogFilter","referenceLocation":"AuditLogFilter"}},"return":"Promise<string>"},"docs":{text:"",tags:[]}},"exportAuditLogAsCsv":{"complexType":{"signature":"(fileName?: string, filter?: AuditLogFilter) => Promise<void>","parameters":[{"name":"fileName","type":"string","docs":{text:"",tags:[]}},{"name":"filter","type":"AuditLogFilter","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"AuditLogFilter":{"location":"import","path":"./core/audit/audit-log","id":"src/components/grid/core/audit/audit-log.ts::AuditLogFilter","referenceLocation":"AuditLogFilter"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"exportAuditLogAsJson":{"complexType":{"signature":"(fileName?: string, filter?: AuditLogFilter) => Promise<void>","parameters":[{"name":"fileName","type":"string","docs":{text:"",tags:[]}},{"name":"filter","type":"AuditLogFilter","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"AuditLogFilter":{"location":"import","path":"./core/audit/audit-log","id":"src/components/grid/core/audit/audit-log.ts::AuditLogFilter","referenceLocation":"AuditLogFilter"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"openCellCommentPanel":{"complexType":{"signature":"(rowId: string | number, field: string) => Promise<void>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"field","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"closeCellCommentPanel":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getApi":{"complexType":{"signature":"<TData = GridData, TContext = unknown, TValue = unknown, TFilterModel = unknown>() => Promise<SyGridApi<TData, TContext, TValue, TFilterModel>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridApi":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::SyGridApi","referenceLocation":"SyGridApi"},"TData":{"location":"global","id":"global::TData"},"TContext":{"location":"global","id":"global::TContext"},"TValue":{"location":"global","id":"global::TValue"},"TFilterModel":{"location":"global","id":"global::TFilterModel"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<SyGridApi<TData, TContext, TValue, TFilterModel>>"},"docs":{text:"",tags:[]}},"getColumn":{"complexType":{"signature":"<TValue = unknown>(columnId: string) => Promise<GridColumnRef<GridData, TValue, unknown> | null>","parameters":[{"name":"columnId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridColumnRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridColumnRef","referenceLocation":"GridColumnRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"TValue":{"location":"global","id":"global::TValue"}},"return":"Promise<GridColumnRef<GridData, TValue, unknown>>"},"docs":{text:"",tags:[]}},"getColumns":{"complexType":{"signature":"() => Promise<ReadonlyArray<GridColumnRef<GridData, unknown, unknown>>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridColumnRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridColumnRef","referenceLocation":"GridColumnRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<readonly GridColumnRef<GridData, unknown, unknown>[]>"},"docs":{text:"",tags:[]}},"getColumnGroup":{"complexType":{"signature":"(groupId: string) => Promise<GridColumnGroupRef<GridData, unknown> | null>","parameters":[{"name":"groupId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridColumnGroupRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridColumnGroupRef","referenceLocation":"GridColumnGroupRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<GridColumnGroupRef<GridData, unknown>>"},"docs":{text:"",tags:[]}},"getColumnGroups":{"complexType":{"signature":"() => Promise<ReadonlyArray<GridColumnGroupRef<GridData, unknown>>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridColumnGroupRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridColumnGroupRef","referenceLocation":"GridColumnGroupRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<readonly GridColumnGroupRef<GridData, unknown>[]>"},"docs":{text:"",tags:[]}},"getRow":{"complexType":{"signature":"(rowId: GridRowId) => Promise<GridRowRef<GridData, unknown> | null>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowRef","referenceLocation":"GridRowRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<GridRowRef<GridData, unknown>>"},"docs":{text:"",tags:[]}},"getDisplayedRowAtIndex":{"complexType":{"signature":"(index: number) => Promise<GridRowRef<GridData, unknown> | null>","parameters":[{"name":"index","type":"number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowRef","referenceLocation":"GridRowRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<GridRowRef<GridData, unknown>>"},"docs":{text:"",tags:[]}},"forEachRow":{"complexType":{"signature":"(callback: (row: GridRowRef<GridData, unknown>) => void) => Promise<void>","parameters":[{"name":"callback","type":"(row: GridRowRef<GridData, unknown>) => void","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowRef","referenceLocation":"GridRowRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"forEachDisplayedRow":{"complexType":{"signature":"(callback: (row: GridRowRef<GridData, unknown>) => void) => Promise<void>","parameters":[{"name":"callback","type":"(row: GridRowRef<GridData, unknown>) => void","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowRef":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowRef","referenceLocation":"GridRowRef"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getWorkbookBinding":{"complexType":{"signature":"() => Promise<GridWorkbookBinding | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridWorkbookBinding":{"location":"import","path":"./core/formula/workbook-binding","id":"src/components/grid/core/formula/workbook-binding.ts::GridWorkbookBinding","referenceLocation":"GridWorkbookBinding"}},"return":"Promise<GridWorkbookBinding>"},"docs":{text:"",tags:[]}},"reconnectWorkbook":{"complexType":{"signature":"() => Promise<GridWorkbookBinding | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridWorkbookBinding":{"location":"import","path":"./core/formula/workbook-binding","id":"src/components/grid/core/formula/workbook-binding.ts::GridWorkbookBinding","referenceLocation":"GridWorkbookBinding"},"GridFormulaCoreModule":{"location":"global","id":"global::GridFormulaCoreModule"}},"return":"Promise<GridWorkbookBinding>"},"docs":{text:"",tags:[]}},"disconnectWorkbook":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"sortBy":{"complexType":{"signature":"(column: string, direction?: GridSortDirection | null) => Promise<void>","parameters":[{"name":"column","type":"string","docs":{text:"",tags:[]}},{"name":"direction","type":'"desc" | "asc"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridSortDirection":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridSortDirection","referenceLocation":"GridSortDirection"},"SortModelEntry":{"location":"import","path":"./core/sort-model","id":"src/components/grid/core/sort-model.ts::SortModelEntry","referenceLocation":"SortModelEntry"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"setSortModel":{"complexType":{"signature":'(model: ReadonlyArray<{ field: string; direction: "asc" | "desc"; }>) => Promise<void>',"parameters":[{"name":"model","type":'readonly { field: string; direction: "desc" | "asc"; }[]',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getSortModel":{"complexType":{"signature":"() => Promise<SortModelEntry[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SortModelEntry":{"location":"import","path":"./core/sort-model","id":"src/components/grid/core/sort-model.ts::SortModelEntry","referenceLocation":"SortModelEntry"}},"return":"Promise<SortModelEntry[]>"},"docs":{text:"",tags:[]}},"setQuery":{"complexType":{"signature":"(query: string) => Promise<void>","parameters":[{"name":"query","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getActiveTier":{"complexType":{"signature":"() => Promise<GridEngineTier>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridEngineTier":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridEngineTier","referenceLocation":"GridEngineTier"}},"return":"Promise<GridEngineTier>"},"docs":{text:"",tags:[]}},"registerAggFunc":{"complexType":{"signature":"(name: string, fn: (values: unknown[], rows: readonly unknown[]) => unknown) => Promise<void>","parameters":[{"name":"name","type":"string","docs":{text:"",tags:[]}},{"name":"fn","type":"(values: unknown[], rows: readonly unknown[]) => unknown","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"AggFunc":{"location":"import","path":"./core/pipeline/aggregate","id":"src/components/grid/core/pipeline/aggregate.ts::AggFunc","referenceLocation":"AggFunc"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"unregisterAggFunc":{"complexType":{"signature":"(name: string) => Promise<void>","parameters":[{"name":"name","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getRegisteredAggFuncNames":{"complexType":{"signature":"() => Promise<string[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<string[]>"},"docs":{text:"",tags:[]}},"setRowGroupExpanded":{"complexType":{"signature":"(key: string | null, expanded: boolean) => Promise<void>","parameters":[{"name":"key","type":"string","docs":{text:"",tags:[]}},{"name":"expanded","type":"boolean","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"expandAllRowGroups":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"collapseAllRowGroups":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"setTreeNodeExpanded":{"complexType":{"signature":"(path: readonly string[], expanded: boolean) => Promise<void>","parameters":[{"name":"path","type":"readonly string[]","docs":{text:"",tags:[]}},{"name":"expanded","type":"boolean","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"expandAllTreeNodes":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"collapseAllTreeNodes":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"setDetailRowExpanded":{"complexType":{"signature":"(rowId: string | number, expanded: boolean) => Promise<void>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"expanded","type":"boolean","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"expandAllDetailRows":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"collapseAllDetailRows":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"setColumnGroupOpened":{"complexType":{"signature":"(groupId: string, open: boolean) => Promise<void>","parameters":[{"name":"groupId","type":"string","docs":{text:"",tags:[]}},{"name":"open","type":"boolean","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getValidationErrors":{"complexType":{"signature":"() => Promise<Array<{ rowIndex: number; rowId: unknown; field: string; value: unknown; message: string; }>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"Array":{"location":"global","id":"global::Array"},"Record":{"location":"global","id":"global::Record"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<{ rowIndex: number; rowId: unknown; field: string; value: unknown; message: string; }[]>"},"docs":{text:"",tags:[]}},"captureSnapshot":{"complexType":{"signature":"(name?: string) => Promise<string>","parameters":[{"name":"name","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<string>"},"docs":{text:"",tags:[]}},"listSnapshots":{"complexType":{"signature":"() => Promise<SnapshotMeta[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SnapshotMeta":{"location":"import","path":"./core/snapshot/snapshot","id":"src/components/grid/core/snapshot/snapshot.ts::SnapshotMeta","referenceLocation":"SnapshotMeta"}},"return":"Promise<SnapshotMeta[]>"},"docs":{text:"",tags:[]}},"deleteSnapshot":{"complexType":{"signature":"(id: string) => Promise<boolean>","parameters":[{"name":"id","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"diffSnapshots":{"complexType":{"signature":"(idA: string, idB?: string) => Promise<SnapshotDiff<GridRow>>","parameters":[{"name":"idA","type":"string","docs":{text:"",tags:[]}},{"name":"idB","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SnapshotDiff":{"location":"import","path":"./core/snapshot/snapshot-diff","id":"src/components/grid/core/snapshot/snapshot-diff.ts::SnapshotDiff","referenceLocation":"SnapshotDiff"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"Record":{"location":"global","id":"global::Record"}},"return":"Promise<SnapshotDiff<GridRow>>"},"docs":{text:"",tags:[]}},"restoreSnapshot":{"complexType":{"signature":"(id: string) => Promise<boolean>","parameters":[{"name":"id","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"Record":{"location":"global","id":"global::Record"},"Map":{"location":"global","id":"global::Map"},"Array":{"location":"global","id":"global::Array"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getCellRanges":{"complexType":{"signature":"() => Promise<CellRangeBounds[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"CellRangeBounds":{"location":"import","path":"./core/selection/range","id":"src/components/grid/core/selection/range.ts::CellRangeBounds","referenceLocation":"CellRangeBounds"}},"return":"Promise<CellRangeBounds[]>"},"docs":{text:"",tags:[]}},"copyRangeToClipboard":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"pasteFromClipboard":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"clearCellRanges":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"refreshInfiniteCache":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"refreshRowHeights":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"scrollToTop":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"selectRows":{"complexType":{"signature":"(ids: Array<string | number>) => Promise<void>","parameters":[{"name":"ids","type":"(string | number)[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"Array":{"location":"global","id":"global::Array"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getSelectedRowIds":{"complexType":{"signature":"() => Promise<ReadonlyArray<string | number>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<readonly (string | number)[]>"},"docs":{text:"",tags:[]}},"applyTransaction":{"complexType":{"signature":"(transaction: RowDataTransaction<GridRow>, label?: string, opts?: { source?: GridEditSource; origin?: unknown; }) => Promise<ApplyRowTransactionResult<GridRow>>","parameters":[{"name":"transaction","type":"RowTransaction<GridRow>","docs":{text:"",tags:[]}},{"name":"label","type":"string","docs":{text:"",tags:[]}},{"name":"opts","type":"{ source?: GridEditSource; origin?: unknown; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ApplyRowTransactionResult":{"location":"import","path":"./core/edit/transaction-api","id":"src/components/grid/core/edit/transaction-api.ts::ApplyRowTransactionResult","referenceLocation":"ApplyRowTransactionResult"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"RowDataTransaction":{"location":"import","path":"./core/edit/transaction-api","id":"src/components/grid/core/edit/transaction-api.ts::RowTransaction","referenceLocation":"RowTransaction"},"GridEditSource":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::GridEditSource"}},"return":"Promise<ApplyRowTransactionResult<GridRow>>"},"docs":{text:"",tags:[]}},"undo":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"redo":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"clearHistory":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"connectCollabRoom":{"complexType":{"signature":'(opts?: { realtimeUrl?: string; userName?: string; userColor?: string; presence?: boolean; persistence?: "none" | "indexeddb"; }) => Promise<GridSyncStatus>',"parameters":[{"name":"opts","type":'{ realtimeUrl?: string; userName?: string; userColor?: string; presence?: boolean; persistence?: "none" | "indexeddb"; }',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridSyncStatus":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridSyncStatus","referenceLocation":"GridSyncStatus"},"GridCollabSession":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridCollabSession","referenceLocation":"GridCollabSession"},"GridCollabModule":{"location":"import","path":"./core/collab-loader","id":"src/components/grid/core/collab-loader.ts::GridCollabModule","referenceLocation":"GridCollabModule"}},"return":"Promise<GridSyncStatus>"},"docs":{text:"",tags:[]}},"preloadChunks":{"complexType":{"signature":"(ids: GridChunkId[]) => Promise<void>","parameters":[{"name":"ids","type":'("fill" | "rich-select" | "pivot" | "collab" | "batch-edit" | "chart-link" | "component-runtime" | "conditional-format" | "export-pdf" | "export-xlsx" | "formula-acceleration" | "formula-core" | "formula-engine" | "formula-wasm" | "formula-worker" | "group-pivot" | "import-xlsx" | "live-api" | "master-detail" | "pro-filters" | "pro-panels" | "range-selection" | "row-drag" | "row-layout" | "ssrm-ops" | "tree-data" | "viewport-row-model" | "workbook-ops")[]',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridChunkId":{"location":"import","path":"./core/loader/chunk-contract","id":"src/components/grid/core/loader/chunk-contract.ts::GridChunkId","referenceLocation":"GridChunkId"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"disconnectCollabRoom":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getSyncStatus":{"complexType":{"signature":"() => Promise<GridSyncStatus>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridSyncStatus":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridSyncStatus","referenceLocation":"GridSyncStatus"}},"return":"Promise<GridSyncStatus>"},"docs":{text:"",tags:[]}},"getCollaborators":{"complexType":{"signature":"() => Promise<GridCollaboratorInfo[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridCollaboratorInfo":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridCollaboratorInfo","referenceLocation":"GridCollaboratorInfo"}},"return":"Promise<GridCollaboratorInfo[]>"},"docs":{text:"",tags:[]}},"addCellComment":{"complexType":{"signature":"(rowId: string | number, field: string, text: string, parentId?: string) => Promise<string | null>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"field","type":"string","docs":{text:"",tags:[]}},{"name":"text","type":"string","docs":{text:"",tags:[]}},{"name":"parentId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<string>"},"docs":{text:"",tags:[]}},"getCellComments":{"complexType":{"signature":"(rowId: string | number, field: string) => Promise<GridCellComment[]>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"field","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridCellComment":{"location":"import","path":"./core/collab-types","id":"src/components/grid/core/collab-types.ts::GridCellComment","referenceLocation":"GridCellComment"}},"return":"Promise<GridCellComment[]>"},"docs":{text:"",tags:[]}},"setCellCommentResolved":{"complexType":{"signature":"(rowId: string | number, field: string, commentId: string, resolved: boolean) => Promise<boolean>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"field","type":"string","docs":{text:"",tags:[]}},{"name":"commentId","type":"string","docs":{text:"",tags:[]}},{"name":"resolved","type":"boolean","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"deleteCellComment":{"complexType":{"signature":"(rowId: string | number, field: string, commentId: string) => Promise<boolean>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"field","type":"string","docs":{text:"",tags:[]}},{"name":"commentId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getDataAsCsv":{"complexType":{"signature":'(options?: Omit<CsvExportOptions<GridRow>, "columns" | "rows">) => Promise<CsvExportResult>',"parameters":[{"name":"options","type":"{ locale?: string; blankForNullish?: boolean; delimiter?: string; lineTerminator?: string; includeHeaders?: boolean; bom?: boolean; escapeFormulae?: boolean; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"CsvExportResult":{"location":"import","path":"./core/export/csv","id":"src/components/grid/core/export/csv.ts::CsvExportResult","referenceLocation":"CsvExportResult"},"Omit":{"location":"global","id":"global::Omit"},"CsvExportOptions":{"location":"import","path":"./core/export/csv","id":"src/components/grid/core/export/csv.ts::CsvExportOptions","referenceLocation":"CsvExportOptions"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<CsvExportResult>"},"docs":{text:"",tags:[]}},"exportDataAsCsv":{"complexType":{"signature":'(options?: Omit<CsvDownloadOptions<GridRow>, "columns" | "rows">) => Promise<CsvExportResult>',"parameters":[{"name":"options","type":"{ locale?: string; fileName?: string; blankForNullish?: boolean; delimiter?: string; lineTerminator?: string; includeHeaders?: boolean; bom?: boolean; escapeFormulae?: boolean; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"CsvExportResult":{"location":"import","path":"./core/export/csv","id":"src/components/grid/core/export/csv.ts::CsvExportResult","referenceLocation":"CsvExportResult"},"Omit":{"location":"global","id":"global::Omit"},"CsvDownloadOptions":{"location":"import","path":"./core/export/csv","id":"src/components/grid/core/export/csv.ts::CsvDownloadOptions","referenceLocation":"CsvDownloadOptions"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<CsvExportResult>"},"docs":{text:"",tags:[]}},"getDataAsExcel":{"complexType":{"signature":"(options?: { sheetName?: string; onlySelected?: boolean; columnKeys?: readonly string[]; skipHeaders?: boolean; }) => Promise<Uint8Array>","parameters":[{"name":"options","type":"{ sheetName?: string; onlySelected?: boolean; columnKeys?: readonly string[]; skipHeaders?: boolean; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"Uint8Array":{"location":"global","id":"global::Uint8Array"},"ArrayBufferLike":{"location":"global","id":"global::ArrayBufferLike"}},"return":"Promise<Uint8Array<ArrayBufferLike>>"},"docs":{text:"",tags:[]}},"exportDataAsExcel":{"complexType":{"signature":"(options?: { fileName?: string; sheetName?: string; onlySelected?: boolean; columnKeys?: readonly string[]; skipHeaders?: boolean; }) => Promise<void>","parameters":[{"name":"options","type":"{ fileName?: string; sheetName?: string; onlySelected?: boolean; columnKeys?: readonly string[]; skipHeaders?: boolean; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"importCsvText":{"complexType":{"signature":"(text: string, options?: { delimiter?: CsvDelimiter; hasHeader?: boolean; }) => Promise<{ rowCount: number; columnCount: number; }>","parameters":[{"name":"text","type":"string","docs":{text:"",tags:[]}},{"name":"options","type":"{ delimiter?: string; hasHeader?: boolean; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"CsvDelimiter":{"location":"import","path":"./core/import/csv","id":"src/components/grid/core/import/csv/index.ts::CsvDelimiter","referenceLocation":"CsvDelimiter"}},"return":"Promise<{ rowCount: number; columnCount: number; }>"},"docs":{text:"",tags:[]}},"getDataAsPdf":{"complexType":{"signature":"(options?: SyGridPdfExportOptions) => Promise<PdfExportResult>","parameters":[{"name":"options","type":'Omit<PdfExportOptions<GridRow>, "rows" | "columns"> & SyGridPdfAutoFontOptions',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"PdfExportResult":{"location":"import","path":"./core/export/grid-pdf-export","id":"src/components/grid/core/export/grid-pdf-export.ts::PdfExportResult","referenceLocation":"PdfExportResult"},"SyGridPdfExportOptions":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::SyGridPdfExportOptions"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<PdfExportResult>"},"docs":{text:"",tags:[]}},"exportDataAsPdf":{"complexType":{"signature":"(options?: SyGridPdfDownloadOptions) => Promise<PdfExportResult>","parameters":[{"name":"options","type":'Omit<PdfDownloadOptions<GridRow>, "rows" | "columns"> & SyGridPdfAutoFontOptions',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"PdfExportResult":{"location":"import","path":"./core/export/grid-pdf-export","id":"src/components/grid/core/export/grid-pdf-export.ts::PdfExportResult","referenceLocation":"PdfExportResult"},"SyGridPdfDownloadOptions":{"location":"local","path":"src/components/grid/sy-grid.tsx","id":"src/components/grid/sy-grid.tsx::SyGridPdfDownloadOptions"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<PdfExportResult>"},"docs":{text:"",tags:[]}},"importDataFromXlsx":{"complexType":{"signature":"(source: ArrayBuffer | Uint8Array, options?: { sheetName?: string; snapshot?: SheetToRowDataOptions; }) => Promise<XlsxImportResult>","parameters":[{"name":"source","type":"ArrayBuffer | Uint8Array<ArrayBufferLike>","docs":{text:"",tags:[]}},{"name":"options","type":"{ sheetName?: string; snapshot?: SheetToRowDataOptions; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"XlsxImportResult":{"location":"import","path":"./core/import/xlsx/grid-import-chunk","id":"src/components/grid/core/import/xlsx/grid-import-chunk.ts::XlsxImportResult","referenceLocation":"XlsxImportResult"},"ArrayBuffer":{"location":"global","id":"global::ArrayBuffer"},"Uint8Array":{"location":"global","id":"global::Uint8Array"},"SheetToRowDataOptions":{"location":"import","path":"./core/import/xlsx/grid-import-chunk","id":"src/components/grid/core/import/xlsx/grid-import-chunk.ts::SheetToRowDataOptions","referenceLocation":"SheetToRowDataOptions"}},"return":"Promise<XlsxImportResult>"},"docs":{text:"",tags:[]}},"getContextMenuItems":{"complexType":{"signature":"(target: { rowIndex: number; field?: string; }) => Promise<ContextMenuItem[]>","parameters":[{"name":"target","type":"{ rowIndex: number; field?: string; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ContextMenuItem":{"location":"import","path":"./core/context-menu/types","id":"src/components/grid/core/context-menu/types.ts::ContextMenuItem","referenceLocation":"ContextMenuItem"},"Record":{"location":"global","id":"global::Record"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"ColumnDef":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::ColumnDef","referenceLocation":"ColumnDef"}},"return":"Promise<ContextMenuItem<Record<string, unknown>>[]>"},"docs":{text:"",tags:[]}},"copyCellAt":{"complexType":{"signature":"(rowIndex: number, field: string) => Promise<boolean>","parameters":[{"name":"rowIndex","type":"number","docs":{text:"",tags:[]}},{"name":"field","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"copyRowAt":{"complexType":{"signature":"(rowIndex: number) => Promise<boolean>","parameters":[{"name":"rowIndex","type":"number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getCellTooltipText":{"complexType":{"signature":"(target: { rowIndex: number; field: string; displayedText?: string; isOverflowing?: boolean; }) => Promise<string>","parameters":[{"name":"target","type":"{ rowIndex: number; field: string; displayedText?: string; isOverflowing?: boolean; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"TooltipColumn":{"location":"import","path":"./core/cell-tooltip","id":"src/components/grid/core/cell-tooltip/index.ts::TooltipColumn","referenceLocation":"TooltipColumn"},"Record":{"location":"global","id":"global::Record"},"ColumnDef":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::ColumnDef","referenceLocation":"ColumnDef"}},"return":"Promise<string>"},"docs":{text:"",tags:[]}},"getUndoRedoDepth":{"complexType":{"signature":"() => Promise<{ undo: number; redo: number; }>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<{ undo: number; redo: number; }>"},"docs":{text:"",tags:[]}},"setColumnWidth":{"complexType":{"signature":"(colId: string, width: number) => Promise<void>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}},{"name":"width","type":"number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"resetColumnWidth":{"complexType":{"signature":"(colId: string) => Promise<void>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getColumnWidth":{"complexType":{"signature":"(colId: string) => Promise<number | null>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<number>"},"docs":{text:"",tags:[]}},"setColumnPinned":{"complexType":{"signature":"(field: string, side: ColumnPinSide | null) => Promise<void>","parameters":[{"name":"field","type":"string","docs":{text:"",tags:[]}},{"name":"side","type":'"left" | "right"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ColumnPinSide":{"location":"import","path":"./core/column/column-pin","id":"src/components/grid/core/column/column-pin.ts::ColumnPinSide","referenceLocation":"ColumnPinSide"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getColumnPinned":{"complexType":{"signature":"(field: string) => Promise<ColumnPinSide | null>","parameters":[{"name":"field","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ColumnPinSide":{"location":"import","path":"./core/column/column-pin","id":"src/components/grid/core/column/column-pin.ts::ColumnPinSide","referenceLocation":"ColumnPinSide"}},"return":"Promise<ColumnPinSide>"},"docs":{text:"",tags:[]}},"setColumnOrder":{"complexType":{"signature":"(orderedColIds: string[]) => Promise<void>","parameters":[{"name":"orderedColIds","type":"string[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getColumnOrder":{"complexType":{"signature":"() => Promise<string[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<string[]>"},"docs":{text:"",tags:[]}},"hideColumn":{"complexType":{"signature":"(colId: string) => Promise<void>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"showColumn":{"complexType":{"signature":"(colId: string) => Promise<void>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"toggleColumnVisibility":{"complexType":{"signature":"(colId: string) => Promise<boolean>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"setHiddenColumns":{"complexType":{"signature":"(colIds: string[]) => Promise<void>","parameters":[{"name":"colIds","type":"string[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"resetColumnVisibility":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getHiddenColumns":{"complexType":{"signature":"() => Promise<string[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<string[]>"},"docs":{text:"",tags:[]}},"autoSizeColumn":{"complexType":{"signature":"(colId: string) => Promise<number | null>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<number>"},"docs":{text:"",tags:[]}},"autoSizeAllColumns":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getColumnState":{"complexType":{"signature":"() => Promise<ColumnStateEntry[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"ColumnStateEntry":{"location":"import","path":"./core/column/column-state","id":"src/components/grid/core/column/column-state.ts::ColumnStateEntry","referenceLocation":"ColumnStateEntry"}},"return":"Promise<ColumnStateEntry[]>"},"docs":{text:"",tags:[]}},"applyColumnState":{"complexType":{"signature":"(state: ColumnStateEntry[], opts?: ApplyColumnStateOptions) => Promise<void>","parameters":[{"name":"state","type":"ColumnStateEntry[]","docs":{text:"",tags:[]}},{"name":"opts","type":"ApplyColumnStateOptions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ColumnStateEntry":{"location":"import","path":"./core/column/column-state","id":"src/components/grid/core/column/column-state.ts::ColumnStateEntry","referenceLocation":"ColumnStateEntry"},"ApplyColumnStateOptions":{"location":"import","path":"./core/column/column-state","id":"src/components/grid/core/column/column-state.ts::ApplyColumnStateOptions","referenceLocation":"ApplyColumnStateOptions"},"SortModelEntry":{"location":"import","path":"./core/sort-model","id":"src/components/grid/core/sort-model.ts::SortModelEntry","referenceLocation":"SortModelEntry"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getState":{"complexType":{"signature":"() => Promise<SyGridState>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridState":{"location":"import","path":"./core/state/contracts","id":"src/components/grid/core/state/contracts.ts::SyGridState","referenceLocation":"SyGridState"}},"return":"Promise<SyGridState>"},"docs":{text:"",tags:[]}},"setState":{"complexType":{"signature":"(state: SyGridState, options?: GridStateApplyOptions) => Promise<SyGridStateApplyReport>","parameters":[{"name":"state","type":"SyGridState","docs":{text:"",tags:[]}},{"name":"options","type":"GridStateApplyOptions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridStateApplyReport":{"location":"import","path":"./core/state/grid-state","id":"src/components/grid/core/state/grid-state.ts::SyGridStateApplyReport","referenceLocation":"SyGridStateApplyReport"},"SyGridState":{"location":"import","path":"./core/state/contracts","id":"src/components/grid/core/state/contracts.ts::SyGridState","referenceLocation":"SyGridState"},"GridStateApplyOptions":{"location":"import","path":"./core/state/grid-state","id":"src/components/grid/core/state/grid-state.ts::GridStateApplyOptions","referenceLocation":"GridStateApplyOptions"},"GridStateApplyPlan":{"location":"import","path":"./core/state/grid-state","id":"src/components/grid/core/state/grid-state.ts::GridStateApplyPlan","referenceLocation":"GridStateApplyPlan"}},"return":"Promise<SyGridStateApplyReport>"},"docs":{text:"",tags:[]}},"getFilterModel":{"complexType":{"signature":"() => Promise<SyGridFilterSlice>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridFilterSlice":{"location":"import","path":"./core/state/slices/filter","id":"src/components/grid/core/state/slices/filter.ts::SyGridFilterSlice","referenceLocation":"SyGridFilterSlice"}},"return":"Promise<SyGridFilterSlice>"},"docs":{text:"",tags:[]}},"setFilterModel":{"complexType":{"signature":'(model: SyGridFilterSlice | null) => Promise<FilterSliceApplyResult["report"]>',"parameters":[{"name":"model","type":"SyGridFilterSlice","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridFilterSlice":{"location":"import","path":"./core/state/slices/filter","id":"src/components/grid/core/state/slices/filter.ts::SyGridFilterSlice","referenceLocation":"SyGridFilterSlice"},"FilterSliceApplyResult":{"location":"import","path":"./core/state/slices/filter","id":"src/components/grid/core/state/slices/filter.ts::FilterSliceApplyResult","referenceLocation":"FilterSliceApplyResult"}},"return":"Promise<{ readonly unknownBuiltInColumns: readonly string[]; readonly invalidBuiltIn: readonly FilterSliceIssue[]; readonly unavailableCustomFilters: readonly string[]; readonly conditionTreeError: string; readonly externalFilterWasActive: boolean; }>"},"docs":{text:"",tags:[]}},"getCanonicalRanges":{"complexType":{"signature":"() => Promise<SyGridCanonicalRange[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridCanonicalRange":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridCanonicalRange","referenceLocation":"SyGridCanonicalRange"}},"return":"Promise<CanonicalRange[]>"},"docs":{text:"",tags:[]}},"setCanonicalRanges":{"complexType":{"signature":"(ranges: SyGridCellRangeInput[]) => Promise<SyGridCanonicalChange[]>","parameters":[{"name":"ranges","type":"CellRange[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridCellRangeInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridCellRangeInput","referenceLocation":"SyGridCellRangeInput"},"SyGridCanonicalChange":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridCanonicalChange","referenceLocation":"SyGridCanonicalChange"},"GridRangeSelectionModule":{"location":"global","id":"global::GridRangeSelectionModule"},"CanonicalRangeSet":{"location":"import","path":"./core/selection/canonical-ranges","id":"src/components/grid/core/selection/canonical-ranges.ts::CanonicalRangeSet","referenceLocation":"CanonicalRangeSet"}},"return":"Promise<CanonicalRangeChange[]>"},"docs":{text:"",tags:[]}},"startBatchEdit":{"complexType":{"signature":"(options?: SyGridBatchStartOptions) => Promise<boolean>","parameters":[{"name":"options","type":"SyGridBatchStartOptions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridBatchStartOptions":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridBatchStartOptions","referenceLocation":"SyGridBatchStartOptions"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"isBatchEditing":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"stageBatchCell":{"complexType":{"signature":"(rowId: GridRowId, colId: string, value: unknown) => Promise<boolean>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"colId","type":"string","docs":{text:"",tags:[]}},{"name":"value","type":"unknown","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"Record":{"location":"global","id":"global::Record"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getPendingBatchCells":{"complexType":{"signature":"() => Promise<SyGridPendingBatchCell[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridPendingBatchCell":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPendingBatchCell","referenceLocation":"SyGridPendingBatchCell"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<SyGridPendingBatchCell[]>"},"docs":{text:"",tags:[]}},"cancelBatchEdit":{"complexType":{"signature":"() => Promise<number>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<number>"},"docs":{text:"",tags:[]}},"commitBatchEdit":{"complexType":{"signature":"(options?: SyGridBatchCommitOptions) => Promise<SyGridBatchCommitReport>","parameters":[{"name":"options","type":"SyGridBatchCommitOptions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridBatchCommitReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridBatchCommitReport","referenceLocation":"SyGridBatchCommitReport"},"SyGridBatchCommitOptions":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridBatchCommitOptions","referenceLocation":"SyGridBatchCommitOptions"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<SyGridBatchCommitReport>"},"docs":{text:"",tags:[]}},"startRowEdit":{"complexType":{"signature":"(rowId: GridRowId) => Promise<boolean>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"stopRowEdit":{"complexType":{"signature":'(reason?: "commit" | "cancel") => Promise<SyGridRowEditReport>',"parameters":[{"name":"reason","type":'"cancel" | "commit"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridRowEditReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowEditReport","referenceLocation":"SyGridRowEditReport"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<SyGridRowEditReport>"},"docs":{text:"",tags:[]}},"stageRowEditCell":{"complexType":{"signature":"(colId: string, value: unknown) => Promise<boolean>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}},{"name":"value","type":"unknown","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getStateCaptureReport":{"complexType":{"signature":"() => Promise<SyGridStateCaptureReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridStateCaptureReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridStateCaptureReport","referenceLocation":"SyGridStateCaptureReport"}},"return":"Promise<SyGridStateCaptureReport>"},"docs":{text:"",tags:[]}},"fillRange":{"complexType":{"signature":"(options: SyGridFillRangeOptions) => Promise<SyGridFillRangeReport>","parameters":[{"name":"options","type":"SyGridFillRangeOptions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridFillRangeReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridFillRangeReport","referenceLocation":"SyGridFillRangeReport"},"SyGridFillRangeOptions":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridFillRangeOptions","referenceLocation":"SyGridFillRangeOptions"},"SyGridCanonicalRange":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridCanonicalRange","referenceLocation":"SyGridCanonicalRange"},"CellRangeBounds":{"location":"import","path":"./core/selection/range","id":"src/components/grid/core/selection/range.ts::CellRangeBounds","referenceLocation":"CellRangeBounds"}},"return":"Promise<SyGridFillRangeReport>"},"docs":{text:"",tags:[]}},"getDisplayRowInfo":{"complexType":{"signature":"(index: number) => Promise<SyGridDisplayRowInfo | null>","parameters":[{"name":"index","type":"number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridDisplayRowInfo":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridDisplayRowInfo","referenceLocation":"SyGridDisplayRowInfo"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridDisplayRowInfo>"},"docs":{text:"",tags:[]}},"getPivotCombinationReport":{"complexType":{"signature":"() => Promise<SyGridPivotCombinationReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridPivotCombinationReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPivotCombinationReport","referenceLocation":"SyGridPivotCombinationReport"}},"return":"Promise<SyGridPivotCombinationReport>"},"docs":{text:"",tags:[]}},"getPivotSecondaryColumns":{"complexType":{"signature":"() => Promise<SyGridPivotSecondaryColumns | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridPivotSecondaryColumns":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPivotSecondaryColumns","referenceLocation":"SyGridPivotSecondaryColumns"}},"return":"Promise<SyGridPivotSecondaryColumns>"},"docs":{text:"",tags:[]}},"getGroupCheckStates":{"complexType":{"signature":"(options?: SyGridGroupCheckStatesOptions) => Promise<SyGridGroupCheckStatesReport>","parameters":[{"name":"options","type":"SyGridGroupCheckStatesOptions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridGroupCheckStatesReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridGroupCheckStatesReport","referenceLocation":"SyGridGroupCheckStatesReport"},"SyGridGroupCheckStatesOptions":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridGroupCheckStatesOptions","referenceLocation":"SyGridGroupCheckStatesOptions"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridGroupCheckStatesReport>"},"docs":{text:"",tags:[]}},"startRowDrag":{"complexType":{"signature":"(input: SyGridRowDragStartInput) => Promise<SyGridRowDragStartResult>","parameters":[{"name":"input","type":"SyGridRowDragStartInput","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridRowDragStartResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragStartResult","referenceLocation":"SyGridRowDragStartResult"},"SyGridRowDragStartInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragStartInput","referenceLocation":"SyGridRowDragStartInput"}},"return":"Promise<SyGridRowDragStartResult>"},"docs":{text:"",tags:[]}},"getRowDragSession":{"complexType":{"signature":"() => Promise<SyGridRowDragSessionReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridRowDragSessionReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowDragSessionReport","referenceLocation":"SyGridRowDragSessionReport"}},"return":"Promise<SyGridRowDragSessionReport>"},"docs":{text:"",tags:[]}},"registerDropZone":{"complexType":{"signature":"(input: SyGridDropZoneInput) => Promise<SyGridDropZoneRegistration>","parameters":[{"name":"input","type":"SyGridDropZoneInput","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridDropZoneRegistration":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridDropZoneRegistration","referenceLocation":"SyGridDropZoneRegistration"},"SyGridDropZoneInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridDropZoneInput","referenceLocation":"SyGridDropZoneInput"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridDropZoneRegistration>"},"docs":{text:"",tags:[]}},"unregisterDropZone":{"complexType":{"signature":"(zoneId: string) => Promise<boolean>","parameters":[{"name":"zoneId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getDropZones":{"complexType":{"signature":"() => Promise<SyGridDropZonesReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridDropZonesReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridDropZonesReport","referenceLocation":"SyGridDropZonesReport"}},"return":"Promise<SyGridDropZonesReport>"},"docs":{text:"",tags:[]}},"getDragSafetyReport":{"complexType":{"signature":"() => Promise<SyGridDragSafetyReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridDragSafetyReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridDragSafetyReport","referenceLocation":"SyGridDragSafetyReport"}},"return":"Promise<SyGridDragSafetyReport>"},"docs":{text:"",tags:[]}},"setAlignedGrids":{"complexType":{"signature":"(input: SyGridAlignedGridsInput) => Promise<SyGridAlignedGridsResult>","parameters":[{"name":"input","type":"{ readonly group: string; } | readonly HTMLElement[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridAlignedGridsResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridAlignedGridsResult","referenceLocation":"SyGridAlignedGridsResult"},"SyGridAlignedGridsInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridAlignedGridsInput","referenceLocation":"SyGridAlignedGridsInput"}},"return":"Promise<SyGridAlignedGridsResult>"},"docs":{text:"",tags:[]}},"getAlignedGrids":{"complexType":{"signature":"() => Promise<SyGridAlignedGridsReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridAlignedGridsReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridAlignedGridsReport","referenceLocation":"SyGridAlignedGridsReport"}},"return":"Promise<SyGridAlignedGridsReport>"},"docs":{text:"",tags:[]}},"reparentRows":{"complexType":{"signature":"(request: SyGridReparentRequest) => Promise<SyGridReparentResult>","parameters":[{"name":"request","type":"SyGridReparentRequest","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridReparentResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridReparentResult","referenceLocation":"SyGridReparentResult"},"SyGridReparentRequest":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridReparentRequest","referenceLocation":"SyGridReparentRequest"},"const":{"location":"global","id":"global::const"},"RowDragBinding":{"location":"global","id":"global::RowDragBinding"}},"return":"Promise<SyGridReparentResult>"},"docs":{text:"",tags:[]}},"getFullWidthRowInfo":{"complexType":{"signature":"(rowIndex?: number) => Promise<SyGridFullWidthRowInfo<GridRow> | SyGridFullWidthLayoutReport | null>","parameters":[{"name":"rowIndex","type":"number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridFullWidthLayoutReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridFullWidthLayoutReport","referenceLocation":"SyGridFullWidthLayoutReport"},"SyGridFullWidthRowInfo":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridFullWidthRowInfo","referenceLocation":"SyGridFullWidthRowInfo"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridFullWidthLayoutReport | SyGridFullWidthRowInfo<GridRow>>"},"docs":{text:"",tags:[]}},"setPinnedRows":{"complexType":{"signature":"(input: SyGridPinnedRowSetInput<GridRow>) => Promise<SyGridPinnedRowsResult<GridRow>>","parameters":[{"name":"input","type":"SyGridPinnedRowSetInput<GridRow>","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridPinnedRowsResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPinnedRowsResult","referenceLocation":"SyGridPinnedRowsResult"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"SyGridPinnedRowSetInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPinnedRowSetInput","referenceLocation":"SyGridPinnedRowSetInput"}},"return":"Promise<SyGridPinnedRowsResult<GridRow>>"},"docs":{text:"",tags:[]}},"getPinnedRows":{"complexType":{"signature":"() => Promise<SyGridPinnedRowsReport<GridRow>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridPinnedRowsReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPinnedRowsReport","referenceLocation":"SyGridPinnedRowsReport"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridPinnedRowsReport<GridRow>>"},"docs":{text:"",tags:[]}},"getPinnedRowInfo":{"complexType":{"signature":"(displayIndex: number) => Promise<SyGridPinnedRowInfo<GridRow> | null>","parameters":[{"name":"displayIndex","type":"number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridPinnedRowInfo":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridPinnedRowInfo","referenceLocation":"SyGridPinnedRowInfo"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridPinnedRowInfo<GridRow>>"},"docs":{text:"",tags:[]}},"getRowSpan":{"complexType":{"signature":"(colId: string) => Promise<SyGridRowSpanReport | null>","parameters":[{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridRowSpanReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridRowSpanReport","referenceLocation":"SyGridRowSpanReport"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridRowSpanReport>"},"docs":{text:"",tags:[]}},"getCellSpan":{"complexType":{"signature":"(rowIndex: number, colId: string) => Promise<SyGridCellSpanInfo | null>","parameters":[{"name":"rowIndex","type":"number","docs":{text:"",tags:[]}},{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridCellSpanInfo":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridCellSpanInfo","referenceLocation":"SyGridCellSpanInfo"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridCellSpanInfo>"},"docs":{text:"",tags:[]}},"getSpanInteraction":{"complexType":{"signature":"(query?: SyGridSpanInteractionQuery) => Promise<SyGridSpanInteractionReport>","parameters":[{"name":"query","type":"SyGridSpanInteractionQuery","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridSpanInteractionReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpanInteractionReport","referenceLocation":"SyGridSpanInteractionReport"},"SyGridSpanInteractionQuery":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpanInteractionQuery","referenceLocation":"SyGridSpanInteractionQuery"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridSpanInteractionReport>"},"docs":{text:"",tags:[]}},"getServerSideSelectionState":{"complexType":{"signature":"() => Promise<SyGridServerSelectionState>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerSelectionState":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerSelectionState","referenceLocation":"SyGridServerSelectionState"}},"return":"Promise<SyGridServerSelectionState>"},"docs":{text:"",tags:[]}},"getServerGroupSelectionState":{"complexType":{"signature":"() => Promise<SyGridServerSelectionState>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerSelectionState":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerSelectionState","referenceLocation":"SyGridServerSelectionState"}},"return":"Promise<SyGridServerSelectionState>"},"docs":{text:"",tags:[]}},"setServerSideSelectionState":{"complexType":{"signature":"(input: unknown) => Promise<SyGridServerSelectionSetResult>","parameters":[{"name":"input","type":"unknown","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerSelectionSetResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerSelectionSetResult","referenceLocation":"SyGridServerSelectionSetResult"}},"return":"Promise<SyGridServerSelectionSetResult>"},"docs":{text:"",tags:[]}},"setServerGroupSelectionState":{"complexType":{"signature":"(input: unknown) => Promise<SyGridServerSelectionSetResult>","parameters":[{"name":"input","type":"unknown","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerSelectionSetResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerSelectionSetResult","referenceLocation":"SyGridServerSelectionSetResult"}},"return":"Promise<SyGridServerSelectionSetResult>"},"docs":{text:"",tags:[]}},"selectAllServerSide":{"complexType":{"signature":'(action?: "select" | "clear") => Promise<SyGridServerSelectAllResult>',"parameters":[{"name":"action","type":'"clear" | "select"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerSelectAllResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerSelectAllResult","referenceLocation":"SyGridServerSelectAllResult"}},"return":"Promise<SyGridServerSelectAllResult>"},"docs":{text:"",tags:[]}},"selectServerGroupChildren":{"complexType":{"signature":'(groupKeys: ReadonlyArray<string>, action?: "select" | "deselect") => Promise<SyGridServerGroupChildrenResult>',"parameters":[{"name":"groupKeys","type":"readonly string[]","docs":{text:"",tags:[]}},{"name":"action","type":'"select" | "deselect"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerGroupChildrenResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerGroupChildrenResult","referenceLocation":"SyGridServerGroupChildrenResult"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<SyGridServerGroupChildrenResult>"},"docs":{text:"",tags:[]}},"refreshServerSide":{"complexType":{"signature":"(input?: SyGridServerRefreshInput) => Promise<SyGridServerRefreshResult>","parameters":[{"name":"input","type":"SyGridServerRefreshInput","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerRefreshResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerRefreshResult","referenceLocation":"SyGridServerRefreshResult"},"SyGridServerRefreshInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerRefreshInput","referenceLocation":"SyGridServerRefreshInput"}},"return":"Promise<SyGridServerRefreshResult>"},"docs":{text:"",tags:[]}},"applyServerSideTransaction":{"complexType":{"signature":"(transaction: SyGridServerTransactionInput) => Promise<SyGridServerTransactionResult>","parameters":[{"name":"transaction","type":"SyGridServerTransactionInput","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerTransactionResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerTransactionResult","referenceLocation":"SyGridServerTransactionResult"},"SyGridServerTransactionInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerTransactionInput","referenceLocation":"SyGridServerTransactionInput"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"},"Readonly":{"location":"global","id":"global::Readonly"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<SyGridServerTransactionResult>"},"docs":{text:"",tags:[]}},"applyServerSideTransactionAsync":{"complexType":{"signature":"(transaction: SyGridServerTransactionInput, onSettle?: (settlement: SyGridServerTransactionSettlement) => void) => Promise<SyGridServerTransactionEnqueue>","parameters":[{"name":"transaction","type":"SyGridServerTransactionInput","docs":{text:"",tags:[]}},{"name":"onSettle","type":"(settlement: SyGridServerTransactionSettlement) => void","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerTransactionEnqueue":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerTransactionEnqueue","referenceLocation":"SyGridServerTransactionEnqueue"},"SyGridServerTransactionInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerTransactionInput","referenceLocation":"SyGridServerTransactionInput"},"SyGridServerTransactionSettlement":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerTransactionSettlement","referenceLocation":"SyGridServerTransactionSettlement"},"GridRow":{"location":"import","path":"./core/types","id":"src/components/grid/core/types.ts::GridRow","referenceLocation":"GridRow"}},"return":"Promise<SyGridServerTransactionEnqueue>"},"docs":{text:"",tags:[]}},"flushServerSideAsyncTransactions":{"complexType":{"signature":"() => Promise<SyGridServerFlushReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerFlushReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerFlushReport","referenceLocation":"SyGridServerFlushReport"}},"return":"Promise<SyGridServerFlushReport>"},"docs":{text:"",tags:[]}},"getServerSideStoreState":{"complexType":{"signature":"() => Promise<SyGridServerStateReport | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerStateReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerStateReport","referenceLocation":"SyGridServerStateReport"}},"return":"Promise<SyGridServerStateReport>"},"docs":{text:"",tags:[]}},"getServerPivotResultColumns":{"complexType":{"signature":"() => Promise<SyGridServerPivotColumnsReport | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerPivotColumnsReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerPivotColumnsReport","referenceLocation":"SyGridServerPivotColumnsReport"}},"return":"Promise<SyGridServerPivotColumnsReport>"},"docs":{text:"",tags:[]}},"auditServerPivotResultColumns":{"complexType":{"signature":"(colIds: ReadonlyArray<string>) => Promise<SyGridServerPivotColumnAudit | null>","parameters":[{"name":"colIds","type":"readonly string[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridServerPivotColumnAudit":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridServerPivotColumnAudit","referenceLocation":"SyGridServerPivotColumnAudit"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<SyGridServerPivotColumnAudit>"},"docs":{text:"",tags:[]}},"getWorkbookPropagationState":{"complexType":{"signature":"() => Promise<SyGridWorkbookPropagationState>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridWorkbookPropagationState":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridWorkbookPropagationState","referenceLocation":"SyGridWorkbookPropagationState"}},"return":"Promise<SyGridWorkbookPropagationState>"},"docs":{text:"",tags:[]}},"flushWorkbookPropagation":{"complexType":{"signature":"() => Promise<SyGridWorkbookFlushReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridWorkbookFlushReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridWorkbookFlushReport","referenceLocation":"SyGridWorkbookFlushReport"}},"return":"Promise<SyGridWorkbookFlushReport>"},"docs":{text:"",tags:[]}},"getWorkbookSnapshotReport":{"complexType":{"signature":"() => Promise<SyGridWorkbookSnapshotReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridWorkbookSnapshotReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridWorkbookSnapshotReport","referenceLocation":"SyGridWorkbookSnapshotReport"}},"return":"Promise<SyGridWorkbookSnapshotReport>"},"docs":{text:"",tags:[]}},"getWorkbookIntegrityReport":{"complexType":{"signature":"() => Promise<SyGridWorkbookIntegrityReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridWorkbookIntegrityReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridWorkbookIntegrityReport","referenceLocation":"SyGridWorkbookIntegrityReport"}},"return":"Promise<SyGridWorkbookIntegrityReport>"},"docs":{text:"",tags:[]}},"applySpillFormula":{"complexType":{"signature":"(input: SyGridSpillApplyInput) => Promise<SyGridSpillApplyResult>","parameters":[{"name":"input","type":"SyGridSpillApplyInput","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridSpillApplyResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpillApplyResult","referenceLocation":"SyGridSpillApplyResult"},"SyGridSpillApplyInput":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpillApplyInput","referenceLocation":"SyGridSpillApplyInput"}},"return":"Promise<SyGridSpillApplyResult>"},"docs":{text:"",tags:[]}},"clearSpillFormula":{"complexType":{"signature":"(target: SyGridSpillTarget) => Promise<SyGridSpillClearResult>","parameters":[{"name":"target","type":"SyGridSpillTarget","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridSpillClearResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpillClearResult","referenceLocation":"SyGridSpillClearResult"},"SyGridSpillTarget":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpillTarget","referenceLocation":"SyGridSpillTarget"}},"return":"Promise<SyGridSpillClearResult>"},"docs":{text:"",tags:[]}},"undoSpillTransaction":{"complexType":{"signature":"(mutationId: GridMutationId) => Promise<SyGridSpillUndoResult>","parameters":[{"name":"mutationId","type":"`grid-mutation-${number}`","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridSpillUndoResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpillUndoResult","referenceLocation":"SyGridSpillUndoResult"},"GridMutationId":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::GridMutationId","referenceLocation":"GridMutationId"}},"return":"Promise<SyGridSpillUndoResult>"},"docs":{text:"",tags:[]}},"getSpillReport":{"complexType":{"signature":"() => Promise<SyGridSpillReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridSpillReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridSpillReport","referenceLocation":"SyGridSpillReport"}},"return":"Promise<SyGridSpillReport>"},"docs":{text:"",tags:[]}},"createRangeChart":{"complexType":{"signature":"(params: SyGridChartCreateParams) => Promise<SyGridChartCreateResult>","parameters":[{"name":"params","type":"ChartLinkCreateParams","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartCreateParams":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartCreateParams","referenceLocation":"SyGridChartCreateParams"},"SyGridChartCreateResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartCreateResult","referenceLocation":"SyGridChartCreateResult"}},"return":"Promise<ChartLinkCreateResult>"},"docs":{text:"",tags:[]}},"updateChart":{"complexType":{"signature":"(chartId: string, patch: SyGridChartUpdatePatch) => Promise<SyGridChartUpdateResult>","parameters":[{"name":"chartId","type":"string","docs":{text:"",tags:[]}},{"name":"patch","type":"SyGridChartUpdatePatch","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartUpdatePatch":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartUpdatePatch","referenceLocation":"SyGridChartUpdatePatch"},"SyGridChartUpdateResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartUpdateResult","referenceLocation":"SyGridChartUpdateResult"}},"return":"Promise<ChartLinkUpdateResult>"},"docs":{text:"",tags:[]}},"destroyChart":{"complexType":{"signature":"(chartId: string) => Promise<SyGridChartDestroyResult>","parameters":[{"name":"chartId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartDestroyResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartDestroyResult","referenceLocation":"SyGridChartDestroyResult"}},"return":"Promise<ChartLinkDestroyResult>"},"docs":{text:"",tags:[]}},"getChartRefs":{"complexType":{"signature":"() => Promise<SyGridChartReport[]>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartReport","referenceLocation":"SyGridChartReport"}},"return":"Promise<ChartLinkChartReport[]>"},"docs":{text:"",tags:[]}},"syncCharts":{"complexType":{"signature":"(mutation?: SyGridChartSyncMutation) => Promise<SyGridChartSyncReport>","parameters":[{"name":"mutation","type":'"sort" | "filter" | "column" | "edit" | "transaction" | "range-handle"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartSyncReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartSyncReport","referenceLocation":"SyGridChartSyncReport"},"SyGridChartSyncMutation":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartSyncMutation","referenceLocation":"SyGridChartSyncMutation"}},"return":"Promise<SyGridChartSyncReport>"},"docs":{text:"",tags:[]}},"getChartMenuModel":{"complexType":{"signature":"(permissions?: SyGridChartPermissions) => Promise<SyGridChartMenuReport>","parameters":[{"name":"permissions","type":"GridChartMenuPermissions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartPermissions":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartPermissions","referenceLocation":"SyGridChartPermissions"},"SyGridChartMenuReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartMenuReport","referenceLocation":"SyGridChartMenuReport"}},"return":"Promise<ChartLinkMenuReport>"},"docs":{text:"",tags:[]}},"openChartToolPanel":{"complexType":{"signature":"(permissions?: SyGridChartPermissions) => Promise<SyGridChartPanelReport>","parameters":[{"name":"permissions","type":"GridChartMenuPermissions","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartPermissions":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartPermissions","referenceLocation":"SyGridChartPermissions"},"SyGridChartPanelReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartPanelReport","referenceLocation":"SyGridChartPanelReport"}},"return":"Promise<ChartLinkPanelReport>"},"docs":{text:"",tags:[]}},"closeChartToolPanel":{"complexType":{"signature":"() => Promise<SyGridChartPanelReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartPanelReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartPanelReport","referenceLocation":"SyGridChartPanelReport"}},"return":"Promise<ChartLinkPanelReport>"},"docs":{text:"",tags:[]}},"getChartToolPanelReport":{"complexType":{"signature":"() => Promise<SyGridChartPanelReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartPanelReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartPanelReport","referenceLocation":"SyGridChartPanelReport"}},"return":"Promise<ChartLinkPanelReport>"},"docs":{text:"",tags:[]}},"activateChartToolPanelItem":{"complexType":{"signature":"() => Promise<SyGridChartCreateResult>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartCreateResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartCreateResult","referenceLocation":"SyGridChartCreateResult"}},"return":"Promise<ChartLinkCreateResult>"},"docs":{text:"",tags:[]}},"getChartModels":{"complexType":{"signature":"() => Promise<SyGridChartCaptureResult>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartCaptureResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartCaptureResult","referenceLocation":"SyGridChartCaptureResult"}},"return":"Promise<GridChartModelCaptureResult>"},"docs":{text:"",tags:[]}},"restoreChartModels":{"complexType":{"signature":"(envelope: unknown) => Promise<SyGridChartRestoreResult>","parameters":[{"name":"envelope","type":"unknown","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartRestoreResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartRestoreResult","referenceLocation":"SyGridChartRestoreResult"}},"return":"Promise<SyGridChartRestoreResult>"},"docs":{text:"",tags:[]}},"exportChartImage":{"complexType":{"signature":"(chartId: string, request: SyGridChartExportRequest) => Promise<SyGridChartExportResult>","parameters":[{"name":"chartId","type":"string","docs":{text:"",tags:[]}},{"name":"request","type":"GridChartExportRequest","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartExportRequest":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartExportRequest","referenceLocation":"SyGridChartExportRequest"},"SyGridChartExportResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartExportResult","referenceLocation":"SyGridChartExportResult"}},"return":"Promise<ChartLinkExportResult>"},"docs":{text:"",tags:[]}},"applyChartCrossFilter":{"complexType":{"signature":"(chartId: string, colId: string, action: SyGridChartCrossFilterAction, categories: unknown[]) => Promise<SyGridChartCrossFilterResult>","parameters":[{"name":"chartId","type":"string","docs":{text:"",tags:[]}},{"name":"colId","type":"string","docs":{text:"",tags:[]}},{"name":"action","type":'"replace" | "add" | "remove" | "toggle"',"docs":{text:"",tags:[]}},{"name":"categories","type":"unknown[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartCrossFilterAction":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartCrossFilterAction","referenceLocation":"SyGridChartCrossFilterAction"},"SyGridChartCrossFilterResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartCrossFilterResult","referenceLocation":"SyGridChartCrossFilterResult"}},"return":"Promise<GridChartCrossFilterResult>"},"docs":{text:"",tags:[]}},"resetChartCrossFilter":{"complexType":{"signature":"() => Promise<SyGridChartCrossFilterResult>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartCrossFilterResult":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartCrossFilterResult","referenceLocation":"SyGridChartCrossFilterResult"}},"return":"Promise<GridChartCrossFilterResult>"},"docs":{text:"",tags:[]}},"getChartAccessibleSummary":{"complexType":{"signature":"(chartId: string) => Promise<SyGridChartAccessibleReport | null>","parameters":[{"name":"chartId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartAccessibleReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartAccessibleReport","referenceLocation":"SyGridChartAccessibleReport"}},"return":"Promise<ChartLinkAccessibleReport>"},"docs":{text:"",tags:[]}},"getChartFleetReport":{"complexType":{"signature":"() => Promise<SyGridChartFleetReport>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"SyGridChartFleetReport":{"location":"import","path":"./core/api/contracts","id":"src/components/grid/core/api/contracts.ts::SyGridChartFleetReport","referenceLocation":"SyGridChartFleetReport"}},"return":"Promise<ChartLinkFleetReport>"},"docs":{text:"",tags:[]}},"setHoveredRow":{"complexType":{"signature":"(rowId: string | number | null) => Promise<void>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getHoveredRowId":{"complexType":{"signature":"() => Promise<string | number | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<string | number>"},"docs":{text:"",tags:[]}},"getActiveEditTransaction":{"complexType":{"signature":"() => Promise<EditTransaction | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"EditTransaction":{"location":"import","path":"./core/edit/transaction","id":"src/components/grid/core/edit/transaction.ts::EditTransaction","referenceLocation":"EditTransaction"}},"return":"Promise<EditTransaction<unknown>>"},"docs":{text:"",tags:[]}},"commitActiveEdit":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"cancelActiveEdit":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"registerCellRenderer":{"complexType":{"signature":"(name: string, renderer: CellRenderer) => Promise<boolean>","parameters":[{"name":"name","type":"string","docs":{text:"",tags:[]}},{"name":"renderer","type":"(input: CellRendererInput<Record<string, unknown>, unknown>) => CellRenderOutput","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"CellRenderer":{"location":"import","path":"./core/cell/renderer-registry","id":"src/components/grid/core/cell/renderer-registry.ts::CellRenderer","referenceLocation":"CellRenderer"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"listRegisteredCellRenderers":{"complexType":{"signature":"() => Promise<ReadonlyArray<string>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<readonly string[]>"},"docs":{text:"",tags:[]}},"unregisterCellRenderer":{"complexType":{"signature":"(name: string) => Promise<boolean>","parameters":[{"name":"name","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"registerGridComponent":{"complexType":{"signature":"<TKind extends GridComponentKind>(scope: GridComponentRegistrationScope, kind: TKind, name: string, definition: GridComponentDefinitionFor<TKind, GridData, unknown, unknown, unknown>) => Promise<void>","parameters":[{"name":"scope","type":'"local" | "global"',"docs":{text:"",tags:[]}},{"name":"kind","type":"TKind","docs":{text:"",tags:[]}},{"name":"name","type":"string","docs":{text:"",tags:[]}},{"name":"definition","type":"GridComponentDefinitionMap<GridData, unknown, unknown, unknown>[TKind]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridComponentKind":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentKind","referenceLocation":"GridComponentKind"},"GridComponentRegistrationScope":{"location":"import","path":"./core/component/registry","id":"src/components/grid/core/component/registry.ts::GridComponentRegistrationScope","referenceLocation":"GridComponentRegistrationScope"},"TKind":{"location":"global","id":"global::TKind"},"GridComponentDefinitionFor":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentDefinitionFor","referenceLocation":"GridComponentDefinitionFor"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"replaceGridComponent":{"complexType":{"signature":"<TKind extends GridComponentKind>(scope: GridComponentRegistrationScope, kind: TKind, name: string, definition: GridComponentDefinitionFor<TKind, GridData, unknown, unknown, unknown>) => Promise<void>","parameters":[{"name":"scope","type":'"local" | "global"',"docs":{text:"",tags:[]}},{"name":"kind","type":"TKind","docs":{text:"",tags:[]}},{"name":"name","type":"string","docs":{text:"",tags:[]}},{"name":"definition","type":"GridComponentDefinitionMap<GridData, unknown, unknown, unknown>[TKind]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridComponentKind":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentKind","referenceLocation":"GridComponentKind"},"GridComponentRegistrationScope":{"location":"import","path":"./core/component/registry","id":"src/components/grid/core/component/registry.ts::GridComponentRegistrationScope","referenceLocation":"GridComponentRegistrationScope"},"TKind":{"location":"global","id":"global::TKind"},"GridComponentDefinitionFor":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentDefinitionFor","referenceLocation":"GridComponentDefinitionFor"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"unregisterGridComponent":{"complexType":{"signature":"(scope: GridComponentRegistrationScope, kind: GridComponentKind, name: string) => Promise<boolean>","parameters":[{"name":"scope","type":'"local" | "global"',"docs":{text:"",tags:[]}},{"name":"kind","type":'"filter" | "renderer" | "editor" | "floatingFilter"',"docs":{text:"",tags:[]}},{"name":"name","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridComponentRegistrationScope":{"location":"import","path":"./core/component/registry","id":"src/components/grid/core/component/registry.ts::GridComponentRegistrationScope","referenceLocation":"GridComponentRegistrationScope"},"GridComponentKind":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentKind","referenceLocation":"GridComponentKind"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getRegisteredGridComponentNames":{"complexType":{"signature":"(scope: GridComponentRegistrationScope, kind: GridComponentKind) => Promise<ReadonlyArray<string>>","parameters":[{"name":"scope","type":'"local" | "global"',"docs":{text:"",tags:[]}},{"name":"kind","type":'"filter" | "renderer" | "editor" | "floatingFilter"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridComponentRegistrationScope":{"location":"import","path":"./core/component/registry","id":"src/components/grid/core/component/registry.ts::GridComponentRegistrationScope","referenceLocation":"GridComponentRegistrationScope"},"GridComponentKind":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridComponentKind","referenceLocation":"GridComponentKind"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"}},"return":"Promise<readonly string[]>"},"docs":{text:"",tags:[]}},"getCellRendererInstance":{"complexType":{"signature":"(rowId: GridRowId, colId: string) => Promise<GridRendererDiscovery<GridData, unknown, unknown>>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRendererDiscovery":{"location":"import","path":"./core/component/renderer-controller","id":"src/components/grid/core/component/renderer-controller.ts::GridRendererDiscovery","referenceLocation":"GridRendererDiscovery"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<GridRendererDiscovery<GridData, unknown, unknown>>"},"docs":{text:"",tags:[]}},"destroyCellRendererInstance":{"complexType":{"signature":"(rowId: GridRowId, colId: string) => Promise<boolean>","parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"colId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"focusCellRendererInstance":{"complexType":{"signature":'(rowId: GridRowId, colId: string, direction: "in" | "out") => Promise<boolean>',"parameters":[{"name":"rowId","type":"string | number","docs":{text:"",tags:[]}},{"name":"colId","type":"string","docs":{text:"",tags:[]}},{"name":"direction","type":'"in" | "out"',"docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridRowId":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridRowId","referenceLocation":"GridRowId"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"getCellEditorInstance":{"complexType":{"signature":"() => Promise<GridMountedComponentLookup<GridEditorInstance<GridData, unknown, unknown>, GridEditorParams<GridData, unknown, unknown>, HTMLElement> | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridMountedComponentLookup":{"location":"import","path":"./core/component/runtime","id":"src/components/grid/core/component/runtime.ts::GridMountedComponentLookup","referenceLocation":"GridMountedComponentLookup"},"GridEditorInstance":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridEditorInstance","referenceLocation":"GridEditorInstance"},"GridEditorParams":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridEditorParams","referenceLocation":"GridEditorParams"},"HTMLElement":{"location":"global","id":"global::HTMLElement"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"}},"return":"Promise<GridMountedComponentLookup<GridEditorInstance<GridData, unknown, unknown>, GridEditorParams<GridData, unknown, unknown>, HTMLElement>>"},"docs":{text:"",tags:[]}},"getColumnFilterInstance":{"complexType":{"signature":"<TColumnValue = unknown, TModel = unknown>(columnId: string) => Promise<GridFilterInstance<GridData, TColumnValue, TModel, unknown> | null>","parameters":[{"name":"columnId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridFilterInstance":{"location":"import","path":"./core/component/contracts","id":"src/components/grid/core/component/contracts.ts::GridFilterInstance","referenceLocation":"GridFilterInstance"},"GridData":{"location":"import","path":"./core/api","id":"src/components/grid/core/api/index.ts::GridData","referenceLocation":"GridData"},"TColumnValue":{"location":"global","id":"global::TColumnValue"},"TModel":{"location":"global","id":"global::TModel"}},"return":"Promise<GridFilterInstance<GridData, TColumnValue, TModel, unknown>>"},"docs":{text:"",tags:[]}},"getColumnFilterModel":{"complexType":{"signature":"<TModel = unknown>(columnId: string) => Promise<TModel | null>","parameters":[{"name":"columnId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"TModel":{"location":"global","id":"global::TModel"}},"return":"Promise<TModel>"},"docs":{text:"",tags:[]}},"setColumnFilterModel":{"complexType":{"signature":"<TModel = unknown>(columnId: string, model: TModel | null) => Promise<boolean>","parameters":[{"name":"columnId","type":"string","docs":{text:"",tags:[]}},{"name":"model","type":"TModel","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"TModel":{"location":"global","id":"global::TModel"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"onFilterChanged":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"refreshExternalFilter":{"complexType":{"signature":"() => Promise<boolean>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"destroyColumnFilter":{"complexType":{"signature":"(columnId: string) => Promise<boolean>","parameters":[{"name":"columnId","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"recreateColumnFilter":{"complexType":{"signature":"(columnId: string, options?: { preserveModel?: boolean; }) => Promise<boolean>","parameters":[{"name":"columnId","type":"string","docs":{text:"",tags:[]}},{"name":"options","type":"{ preserveModel?: boolean; }","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"setPivotColumns":{"complexType":{"signature":"(columns: string[]) => Promise<boolean>","parameters":[{"name":"columns","type":"string[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"setValueColumns":{"complexType":{"signature":"(columns: string[]) => Promise<boolean>","parameters":[{"name":"columns","type":"string[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"setConditionFilter":{"complexType":{"signature":"(model: ConditionNode | null) => Promise<void>","parameters":[{"name":"model","type":"ConditionGroup<unknown> | ConditionLeaf<unknown>","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ConditionNode":{"location":"import","path":"./core/filter/condition-builder","id":"src/components/grid/core/filter/condition-builder.ts::ConditionNode","referenceLocation":"ConditionNode"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getConditionFilter":{"complexType":{"signature":"() => Promise<ConditionNode | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"ConditionNode":{"location":"import","path":"./core/filter/condition-builder","id":"src/components/grid/core/filter/condition-builder.ts::ConditionNode","referenceLocation":"ConditionNode"}},"return":"Promise<ConditionNode>"},"docs":{text:"",tags:[]}},"setConditionPresets":{"complexType":{"signature":"(presets: ReadonlyArray<{ name: string; json: string; }>) => Promise<void>","parameters":[{"name":"presets","type":"readonly { name: string; json: string; }[]","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"ReadonlyArray":{"location":"global","id":"global::ReadonlyArray"},"Array":{"location":"global","id":"global::Array"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getConditionPresets":{"complexType":{"signature":"() => Promise<Array<{ name: string; json: string; }>>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"},"Array":{"location":"global","id":"global::Array"}},"return":"Promise<{ name: string; json: string; }[]>"},"docs":{text:"",tags:[]}},"openToolPanel":{"complexType":{"signature":"(id: string) => Promise<boolean>","parameters":[{"name":"id","type":"string","docs":{text:"",tags:[]}}],"references":{"Promise":{"location":"global","id":"global::Promise"},"GridProPanelsModule":{"location":"global","id":"global::GridProPanelsModule"},"SideBarPanelId":{"location":"import","path":"./core/side-bar/side-bar","id":"src/components/grid/core/side-bar/side-bar.ts::SideBarPanelId","referenceLocation":"SideBarPanelId"}},"return":"Promise<boolean>"},"docs":{text:"",tags:[]}},"closeToolPanel":{"complexType":{"signature":"() => Promise<void>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<void>"},"docs":{text:"",tags:[]}},"getOpenedToolPanel":{"complexType":{"signature":"() => Promise<string | null>","parameters":[],"references":{"Promise":{"location":"global","id":"global::Promise"}},"return":"Promise<string>"},"docs":{text:"",tags:[]}}}}static get elementRef(){return"host"}static get watchers(){return[{"propName":"auditLog","methodName":"onAuditLogChange"},{"propName":"auditLogMax","methodName":"onAuditLogMaxChange"},{"propName":"canReadCell","methodName":"onCanReadCellChange"},{"propName":"maskedCellValue","methodName":"onCanReadCellChange"},{"propName":"canEditCell","methodName":"onCanEditCellChange"},{"propName":"maxSnapshots","methodName":"onMaxSnapshotsChange"},{"propName":"brandLogo","methodName":"onBrandLogoChange"},{"propName":"theme","methodName":"onThemeChanged"},{"propName":"locale","methodName":"onLocaleChanged"},{"propName":"rowSelection","methodName":"onRowSelectionModeChanged"},{"propName":"pageSize","methodName":"onPageSizeChange"},{"propName":"columnDefs","methodName":"onColumnDefsChanged"},{"propName":"externalFilter","methodName":"onExternalFilterInputsChanged"},{"propName":"context","methodName":"onExternalFilterInputsChanged"},{"propName":"components","methodName":"onLifecycleComponentDefinitionsChanged"},{"propName":"defaultColDef","methodName":"onLifecycleComponentDefinitionsChanged"},{"propName":"formulaVersion","methodName":"onLifecycleComponentDefinitionsChanged"},{"propName":"getRowId","methodName":"onGetRowIdChanged"},{"propName":"keyboardNavigation","methodName":"onKeyboardNavigationChanged"},{"propName":"rowData","methodName":"reEvaluateEngine"},{"propName":"rows","methodName":"reEvaluateEngine"},{"propName":"engine","methodName":"reEvaluateEngine"},{"propName":"proThreshold","methodName":"reEvaluateEngine"},{"propName":"rowData","methodName":"rebuildFormulaSheet"},{"propName":"columnDefs","methodName":"rebuildFormulaSheet"},{"propName":"formulas","methodName":"rebuildFormulaSheet"},{"propName":"workbookId","methodName":"onWorkbookBindingInputsChanged"},{"propName":"sheetName","methodName":"onWorkbookBindingInputsChanged"},{"propName":"formulas","methodName":"onWorkbookBindingInputsChanged"},{"propName":"multiSort","methodName":"onMultiSortFlagChange"},{"propName":"enableMultiSort","methodName":"onMultiSortFlagChange"},{"propName":"pivotMode","methodName":"onPivotConfigChange"},{"propName":"pivotRowGroupColumns","methodName":"onPivotConfigChange"},{"propName":"pivotColumns","methodName":"onPivotConfigChange"},{"propName":"pivotValueColumns","methodName":"onPivotConfigChange"},{"propName":"pivotAggFuncs","methodName":"onPivotConfigChange"},{"propName":"groupBy","methodName":"onGroupByChange"},{"propName":"treeIdField","methodName":"onTreeSurfaceChange"},{"propName":"treeParentField","methodName":"onTreeSurfaceChange"},{"propName":"quickFilterText","methodName":"onQuickFilterTextPropChanged"},{"propName":"quickFilter","methodName":"onQuickFilterConfigChanged"},{"propName":"quickFilterMode","methodName":"onQuickFilterConfigChanged"},{"propName":"loading","methodName":"onLoadingChanged"},{"propName":"loadingMode","methodName":"onLoadingModeChanged"},{"propName":"minLoadingDuration","methodName":"onMinLoadingDurationChanged"},{"propName":"rangeSelection","methodName":"onRangeSelectionChange"},{"propName":"rowHover","methodName":"onRowHoverModeChanged"},{"propName":"virtualScroll","methodName":"onVirtualizationInputsChanged"},{"propName":"columnDefs","methodName":"onVirtualizationInputsChanged"},{"propName":"rowHeight","methodName":"onVirtualizationMetricsChanged"},{"propName":"rowHeightFn","methodName":"onVirtualizationMetricsChanged"},{"propName":"serverSideDatasource","methodName":"serverSideDatasourceChanged"},{"propName":"serverSideGroupCols","methodName":"serverSideGroupColsChanged"},{"propName":"viewportDatasource","methodName":"viewportDatasourceChanged"},{"propName":"datasource","methodName":"datasourceChanged"},{"propName":"activeSortModel","methodName":"infiniteModelInputsChanged"},{"propName":"activeFilters","methodName":"infiniteModelInputsChanged"},{"propName":"activeConditionTree","methodName":"infiniteModelInputsChanged"},{"propName":"quickFilterValue","methodName":"infiniteModelInputsChanged"},{"propName":"collaborationRoom","methodName":"onCollaborationRoomChange"},{"propName":"enableFillHandle","methodName":"onEnableFillHandleChanged"},{"propName":"alignedGrids","methodName":"onAlignedGridsChanged"},{"propName":"isFullWidthRow","methodName":"onFullWidthConfigChanged"},{"propName":"fullWidthCellRenderer","methodName":"onFullWidthConfigChanged"},{"propName":"fullWidthRowHeight","methodName":"onFullWidthConfigChanged"},{"propName":"pinnedTopRowData","methodName":"onPinnedRowDataChanged"},{"propName":"pinnedBottomRowData","methodName":"onPinnedRowDataChanged"},{"propName":"sideBar","methodName":"onSideBarChanged"}]}static get listeners(){return[{"name":"keydown","method":"handleWindowKeyDown","target":"window","capture":false,"passive":false}]}}
|