@glideappsfinal/glide-data-grid 6.0.9
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/.eslintignore +4 -0
- package/.eslintrc +68 -0
- package/API.md +1466 -0
- package/CHANGELOG.md +895 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/build.sh +21 -0
- package/dist/cjs/cells/boolean-cell.js +87 -0
- package/dist/cjs/cells/boolean-cell.js.map +1 -0
- package/dist/cjs/cells/bubble-cell.js +53 -0
- package/dist/cjs/cells/bubble-cell.js.map +1 -0
- package/dist/cjs/cells/cell-types.js +2 -0
- package/dist/cjs/cells/cell-types.js.map +1 -0
- package/dist/cjs/cells/drilldown-cell.js +171 -0
- package/dist/cjs/cells/drilldown-cell.js.map +1 -0
- package/dist/cjs/cells/image-cell.js +94 -0
- package/dist/cjs/cells/image-cell.js.map +1 -0
- package/dist/cjs/cells/index.js +29 -0
- package/dist/cjs/cells/index.js.map +1 -0
- package/dist/cjs/cells/loading-cell.js +41 -0
- package/dist/cjs/cells/loading-cell.js.map +1 -0
- package/dist/cjs/cells/markdown-cell.js +30 -0
- package/dist/cjs/cells/markdown-cell.js.map +1 -0
- package/dist/cjs/cells/marker-cell.js +80 -0
- package/dist/cjs/cells/marker-cell.js.map +1 -0
- package/dist/cjs/cells/new-row-cell.js +53 -0
- package/dist/cjs/cells/new-row-cell.js.map +1 -0
- package/dist/cjs/cells/number-cell.js +44 -0
- package/dist/cjs/cells/number-cell.js.map +1 -0
- package/dist/cjs/cells/protected-cell.js +35 -0
- package/dist/cjs/cells/protected-cell.js.map +1 -0
- package/dist/cjs/cells/row-id-cell.js +23 -0
- package/dist/cjs/cells/row-id-cell.js.map +1 -0
- package/dist/cjs/cells/text-cell.js +48 -0
- package/dist/cjs/cells/text-cell.js.map +1 -0
- package/dist/cjs/cells/uri-cell.js +104 -0
- package/dist/cjs/cells/uri-cell.js.map +1 -0
- package/dist/cjs/common/browser-detect.js +20 -0
- package/dist/cjs/common/browser-detect.js.map +1 -0
- package/dist/cjs/common/image-window-loader.js +98 -0
- package/dist/cjs/common/image-window-loader.js.map +1 -0
- package/dist/cjs/common/is-hotkey.js +76 -0
- package/dist/cjs/common/is-hotkey.js.map +1 -0
- package/dist/cjs/common/math.js +297 -0
- package/dist/cjs/common/math.js.map +1 -0
- package/dist/cjs/common/render-state-provider.js +70 -0
- package/dist/cjs/common/render-state-provider.js.map +1 -0
- package/dist/cjs/common/resize-detector.js +27 -0
- package/dist/cjs/common/resize-detector.js.map +1 -0
- package/dist/cjs/common/styles.js +135 -0
- package/dist/cjs/common/styles.js.map +1 -0
- package/dist/cjs/common/support.js +60 -0
- package/dist/cjs/common/support.js.map +1 -0
- package/dist/cjs/common/utils.js +193 -0
- package/dist/cjs/common/utils.js.map +1 -0
- package/dist/cjs/data-editor/copy-paste.js +269 -0
- package/dist/cjs/data-editor/copy-paste.js.map +1 -0
- package/dist/cjs/data-editor/data-editor-fns.js +190 -0
- package/dist/cjs/data-editor/data-editor-fns.js.map +1 -0
- package/dist/cjs/data-editor/data-editor-keybindings.js +126 -0
- package/dist/cjs/data-editor/data-editor-keybindings.js.map +1 -0
- package/dist/cjs/data-editor/data-editor.js +2892 -0
- package/dist/cjs/data-editor/data-editor.js.map +1 -0
- package/dist/cjs/data-editor/group-rename.css +2 -0
- package/dist/cjs/data-editor/group-rename.js +49 -0
- package/dist/cjs/data-editor/group-rename.js.map +1 -0
- package/dist/cjs/data-editor/row-grouping-api.js +34 -0
- package/dist/cjs/data-editor/row-grouping-api.js.map +1 -0
- package/dist/cjs/data-editor/row-grouping.js +189 -0
- package/dist/cjs/data-editor/row-grouping.js.map +1 -0
- package/dist/cjs/data-editor/use-autoscroll.js +36 -0
- package/dist/cjs/data-editor/use-autoscroll.js.map +1 -0
- package/dist/cjs/data-editor/use-cells-for-selection.js +53 -0
- package/dist/cjs/data-editor/use-cells-for-selection.js.map +1 -0
- package/dist/cjs/data-editor/use-column-sizer.js +189 -0
- package/dist/cjs/data-editor/use-column-sizer.js.map +1 -0
- package/dist/cjs/data-editor/use-initial-scroll-offset.js +81 -0
- package/dist/cjs/data-editor/use-initial-scroll-offset.js.map +1 -0
- package/dist/cjs/data-editor/use-rem-adjuster.js +29 -0
- package/dist/cjs/data-editor/use-rem-adjuster.js.map +1 -0
- package/dist/cjs/data-editor/visible-region.js +2 -0
- package/dist/cjs/data-editor/visible-region.js.map +1 -0
- package/dist/cjs/data-editor-all.js +19 -0
- package/dist/cjs/data-editor-all.js.map +1 -0
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/click-outside-container/click-outside-container.js +34 -0
- package/dist/cjs/internal/click-outside-container/click-outside-container.js.map +1 -0
- package/dist/cjs/internal/data-editor-container/data-grid-container.js +36 -0
- package/dist/cjs/internal/data-editor-container/data-grid-container.js.map +1 -0
- package/dist/cjs/internal/data-grid/animation-manager.js +95 -0
- package/dist/cjs/internal/data-grid/animation-manager.js.map +1 -0
- package/dist/cjs/internal/data-grid/cell-set.js +56 -0
- package/dist/cjs/internal/data-grid/cell-set.js.map +1 -0
- package/dist/cjs/internal/data-grid/color-parser.js +122 -0
- package/dist/cjs/internal/data-grid/color-parser.js.map +1 -0
- package/dist/cjs/internal/data-grid/data-grid-sprites.js +64 -0
- package/dist/cjs/internal/data-grid/data-grid-sprites.js.map +1 -0
- package/dist/cjs/internal/data-grid/data-grid-types.js +299 -0
- package/dist/cjs/internal/data-grid/data-grid-types.js.map +1 -0
- package/dist/cjs/internal/data-grid/data-grid.js +1208 -0
- package/dist/cjs/internal/data-grid/data-grid.js.map +1 -0
- package/dist/cjs/internal/data-grid/event-args.js +30 -0
- package/dist/cjs/internal/data-grid/event-args.js.map +1 -0
- package/dist/cjs/internal/data-grid/image-window-loader-interface.js +2 -0
- package/dist/cjs/internal/data-grid/image-window-loader-interface.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid-lib.js +652 -0
- package/dist/cjs/internal/data-grid/render/data-grid-lib.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.blit.js +218 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.blit.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.cells.js +369 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.cells.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.header.js +440 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.header.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.js +316 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.lines.js +256 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.lines.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.walk.js +157 -0
- package/dist/cjs/internal/data-grid/render/data-grid-render.walk.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/data-grid.render.rings.js +203 -0
- package/dist/cjs/internal/data-grid/render/data-grid.render.rings.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/draw-checkbox.js +65 -0
- package/dist/cjs/internal/data-grid/render/draw-checkbox.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/draw-edit-hover-indicator.js +38 -0
- package/dist/cjs/internal/data-grid/render/draw-edit-hover-indicator.js.map +1 -0
- package/dist/cjs/internal/data-grid/render/draw-grid-arg.js +2 -0
- package/dist/cjs/internal/data-grid/render/draw-grid-arg.js.map +1 -0
- package/dist/cjs/internal/data-grid/sprites.js +288 -0
- package/dist/cjs/internal/data-grid/sprites.js.map +1 -0
- package/dist/cjs/internal/data-grid/use-animation-queue.js +33 -0
- package/dist/cjs/internal/data-grid/use-animation-queue.js.map +1 -0
- package/dist/cjs/internal/data-grid/use-selection-behavior.js +112 -0
- package/dist/cjs/internal/data-grid/use-selection-behavior.js.map +1 -0
- package/dist/cjs/internal/data-grid-dnd/data-grid-dnd.js +239 -0
- package/dist/cjs/internal/data-grid-dnd/data-grid-dnd.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.js +77 -0
- package/dist/cjs/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/data-grid-overlay-editor.js +124 -0
- package/dist/cjs/internal/data-grid-overlay-editor/data-grid-overlay-editor.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/bubbles-overlay-editor-style.js +34 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/bubbles-overlay-editor-style.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/bubbles-overlay-editor.js +10 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/bubbles-overlay-editor.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/drilldown-overlay-editor.js +50 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/drilldown-overlay-editor.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/image-overlay-editor-style.js +56 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/image-overlay-editor-style.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/image-overlay-editor.js +21 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/image-overlay-editor.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/markdown-overlay-editor-style.js +76 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/markdown-overlay-editor-style.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/markdown-overlay-editor.js +32 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/markdown-overlay-editor.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/number-overlay-editor-style.js +15 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/number-overlay-editor-style.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/number-overlay-editor.js +30 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/number-overlay-editor.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/uri-overlay-editor-style.js +53 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/uri-overlay-editor-style.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/uri-overlay-editor.js +21 -0
- package/dist/cjs/internal/data-grid-overlay-editor/private/uri-overlay-editor.js.map +1 -0
- package/dist/cjs/internal/data-grid-overlay-editor/use-stay-on-screen.js +47 -0
- package/dist/cjs/internal/data-grid-overlay-editor/use-stay-on-screen.js.map +1 -0
- package/dist/cjs/internal/data-grid-search/data-grid-search-style.js +96 -0
- package/dist/cjs/internal/data-grid-search/data-grid-search-style.js.map +1 -0
- package/dist/cjs/internal/data-grid-search/data-grid-search.js +297 -0
- package/dist/cjs/internal/data-grid-search/data-grid-search.js.map +1 -0
- package/dist/cjs/internal/growing-entry/growing-entry-style.js +60 -0
- package/dist/cjs/internal/growing-entry/growing-entry-style.js.map +1 -0
- package/dist/cjs/internal/growing-entry/growing-entry.js +41 -0
- package/dist/cjs/internal/growing-entry/growing-entry.js.map +1 -0
- package/dist/cjs/internal/markdown-div/markdown-div.js +41 -0
- package/dist/cjs/internal/markdown-div/markdown-div.js.map +1 -0
- package/dist/cjs/internal/markdown-div/private/markdown-container.js +19 -0
- package/dist/cjs/internal/markdown-div/private/markdown-container.js.map +1 -0
- package/dist/cjs/internal/scrolling-data-grid/infinite-scroller.js +265 -0
- package/dist/cjs/internal/scrolling-data-grid/infinite-scroller.js.map +1 -0
- package/dist/cjs/internal/scrolling-data-grid/scrolling-data-grid.js +155 -0
- package/dist/cjs/internal/scrolling-data-grid/scrolling-data-grid.js.map +1 -0
- package/dist/cjs/internal/scrolling-data-grid/use-kinetic-scroll.js +65 -0
- package/dist/cjs/internal/scrolling-data-grid/use-kinetic-scroll.js.map +1 -0
- package/dist/dts/cells/boolean-cell.d.ts +4 -0
- package/dist/dts/cells/boolean-cell.d.ts.map +1 -0
- package/dist/dts/cells/bubble-cell.d.ts +4 -0
- package/dist/dts/cells/bubble-cell.d.ts.map +1 -0
- package/dist/dts/cells/cell-types.d.ts +89 -0
- package/dist/dts/cells/cell-types.d.ts.map +1 -0
- package/dist/dts/cells/drilldown-cell.d.ts +4 -0
- package/dist/dts/cells/drilldown-cell.d.ts.map +1 -0
- package/dist/dts/cells/image-cell.d.ts +5 -0
- package/dist/dts/cells/image-cell.d.ts.map +1 -0
- package/dist/dts/cells/index.d.ts +4 -0
- package/dist/dts/cells/index.d.ts.map +1 -0
- package/dist/dts/cells/loading-cell.d.ts +4 -0
- package/dist/dts/cells/loading-cell.d.ts.map +1 -0
- package/dist/dts/cells/markdown-cell.d.ts +4 -0
- package/dist/dts/cells/markdown-cell.d.ts.map +1 -0
- package/dist/dts/cells/marker-cell.d.ts +4 -0
- package/dist/dts/cells/marker-cell.d.ts.map +1 -0
- package/dist/dts/cells/new-row-cell.d.ts +4 -0
- package/dist/dts/cells/new-row-cell.d.ts.map +1 -0
- package/dist/dts/cells/number-cell.d.ts +4 -0
- package/dist/dts/cells/number-cell.d.ts.map +1 -0
- package/dist/dts/cells/protected-cell.d.ts +4 -0
- package/dist/dts/cells/protected-cell.d.ts.map +1 -0
- package/dist/dts/cells/row-id-cell.d.ts +4 -0
- package/dist/dts/cells/row-id-cell.d.ts.map +1 -0
- package/dist/dts/cells/text-cell.d.ts +4 -0
- package/dist/dts/cells/text-cell.d.ts.map +1 -0
- package/dist/dts/cells/uri-cell.d.ts +4 -0
- package/dist/dts/cells/uri-cell.d.ts.map +1 -0
- package/dist/dts/common/browser-detect.d.ts +11 -0
- package/dist/dts/common/browser-detect.d.ts.map +1 -0
- package/dist/dts/common/image-window-loader.d.ts +15 -0
- package/dist/dts/common/image-window-loader.d.ts.map +1 -0
- package/dist/dts/common/is-hotkey.d.ts +7 -0
- package/dist/dts/common/is-hotkey.d.ts.map +1 -0
- package/dist/dts/common/math.d.ts +20 -0
- package/dist/dts/common/math.d.ts.map +1 -0
- package/dist/dts/common/render-state-provider.d.ts +20 -0
- package/dist/dts/common/render-state-provider.d.ts.map +1 -0
- package/dist/dts/common/resize-detector.d.ts +11 -0
- package/dist/dts/common/resize-detector.d.ts.map +1 -0
- package/dist/dts/common/styles.d.ts +61 -0
- package/dist/dts/common/styles.d.ts.map +1 -0
- package/dist/dts/common/support.d.ts +13 -0
- package/dist/dts/common/support.d.ts.map +1 -0
- package/dist/dts/common/utils.d.ts +38 -0
- package/dist/dts/common/utils.d.ts.map +1 -0
- package/dist/dts/data-editor/copy-paste.d.ts +22 -0
- package/dist/dts/data-editor/copy-paste.d.ts.map +1 -0
- package/dist/dts/data-editor/data-editor-fns.d.ts +16 -0
- package/dist/dts/data-editor/data-editor-fns.d.ts.map +1 -0
- package/dist/dts/data-editor/data-editor-keybindings.d.ts +62 -0
- package/dist/dts/data-editor/data-editor-keybindings.d.ts.map +1 -0
- package/dist/dts/data-editor/data-editor.d.ts +532 -0
- package/dist/dts/data-editor/data-editor.d.ts.map +1 -0
- package/dist/dts/data-editor/group-rename.d.ts +12 -0
- package/dist/dts/data-editor/group-rename.d.ts.map +1 -0
- package/dist/dts/data-editor/row-grouping-api.d.ts +21 -0
- package/dist/dts/data-editor/row-grouping-api.d.ts.map +1 -0
- package/dist/dts/data-editor/row-grouping.d.ts +82 -0
- package/dist/dts/data-editor/row-grouping.d.ts.map +1 -0
- package/dist/dts/data-editor/use-autoscroll.d.ts +4 -0
- package/dist/dts/data-editor/use-autoscroll.d.ts.map +1 -0
- package/dist/dts/data-editor/use-cells-for-selection.d.ts +7 -0
- package/dist/dts/data-editor/use-cells-for-selection.d.ts.map +1 -0
- package/dist/dts/data-editor/use-column-sizer.d.ts +11 -0
- package/dist/dts/data-editor/use-column-sizer.d.ts.map +1 -0
- package/dist/dts/data-editor/use-initial-scroll-offset.d.ts +9 -0
- package/dist/dts/data-editor/use-initial-scroll-offset.d.ts.map +1 -0
- package/dist/dts/data-editor/use-rem-adjuster.d.ts +22 -0
- package/dist/dts/data-editor/use-rem-adjuster.d.ts.map +1 -0
- package/dist/dts/data-editor/visible-region.d.ts +19 -0
- package/dist/dts/data-editor/visible-region.d.ts.map +1 -0
- package/dist/dts/data-editor-all.d.ts +8 -0
- package/dist/dts/data-editor-all.d.ts.map +1 -0
- package/dist/dts/index.d.ts +52 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/click-outside-container/click-outside-container.d.ts +15 -0
- package/dist/dts/internal/click-outside-container/click-outside-container.d.ts.map +1 -0
- package/dist/dts/internal/data-editor-container/data-grid-container.d.ts +10 -0
- package/dist/dts/internal/data-editor-container/data-grid-container.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/animation-manager.d.ts +26 -0
- package/dist/dts/internal/data-grid/animation-manager.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/cell-set.d.ts +17 -0
- package/dist/dts/internal/data-grid/cell-set.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/color-parser.d.ts +16 -0
- package/dist/dts/internal/data-grid/color-parser.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/data-grid-sprites.d.ts +35 -0
- package/dist/dts/internal/data-grid/data-grid-sprites.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/data-grid-types.d.ts +443 -0
- package/dist/dts/internal/data-grid/data-grid-types.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/data-grid.d.ts +244 -0
- package/dist/dts/internal/data-grid/data-grid.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/event-args.d.ts +117 -0
- package/dist/dts/internal/data-grid/event-args.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/image-window-loader-interface.d.ts +9 -0
- package/dist/dts/internal/data-grid/image-window-loader-interface.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid-lib.d.ts +60 -0
- package/dist/dts/internal/data-grid/render/data-grid-lib.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.blit.d.ts +20 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.blit.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.cells.d.ts +32 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.cells.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.d.ts +3 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.header.d.ts +22 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.header.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.lines.d.ts +10 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.lines.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.walk.d.ts +14 -0
- package/dist/dts/internal/data-grid/render/data-grid-render.walk.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/data-grid.render.rings.d.ts +8 -0
- package/dist/dts/internal/data-grid/render/data-grid.render.rings.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/draw-checkbox.d.ts +4 -0
- package/dist/dts/internal/data-grid/render/draw-checkbox.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/draw-edit-hover-indicator.d.ts +4 -0
- package/dist/dts/internal/data-grid/render/draw-edit-hover-indicator.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/render/draw-grid-arg.d.ts +73 -0
- package/dist/dts/internal/data-grid/render/draw-grid-arg.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/sprites.d.ts +34 -0
- package/dist/dts/internal/data-grid/sprites.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/use-animation-queue.d.ts +5 -0
- package/dist/dts/internal/data-grid/use-animation-queue.d.ts.map +1 -0
- package/dist/dts/internal/data-grid/use-selection-behavior.d.ts +13 -0
- package/dist/dts/internal/data-grid/use-selection-behavior.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-dnd/data-grid-dnd.d.ts +63 -0
- package/dist/dts/internal/data-grid-dnd/data-grid-dnd.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.d.ts +9 -0
- package/dist/dts/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/data-grid-overlay-editor.d.ts +32 -0
- package/dist/dts/internal/data-grid-overlay-editor/data-grid-overlay-editor.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/bubbles-overlay-editor-style.d.ts +2 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/bubbles-overlay-editor-style.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/bubbles-overlay-editor.d.ts +7 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/bubbles-overlay-editor.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/drilldown-overlay-editor.d.ts +8 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/drilldown-overlay-editor.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/image-overlay-editor-style.d.ts +2 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/image-overlay-editor-style.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/image-overlay-editor.d.ts +13 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/image-overlay-editor.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/markdown-overlay-editor-style.d.ts +6 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/markdown-overlay-editor-style.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/markdown-overlay-editor.d.ts +14 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/markdown-overlay-editor.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/number-overlay-editor-style.d.ts +2 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/number-overlay-editor-style.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/number-overlay-editor.d.ts +17 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/number-overlay-editor.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/uri-overlay-editor-style.d.ts +2 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/uri-overlay-editor-style.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/uri-overlay-editor.d.ts +13 -0
- package/dist/dts/internal/data-grid-overlay-editor/private/uri-overlay-editor.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-overlay-editor/use-stay-on-screen.d.ts +8 -0
- package/dist/dts/internal/data-grid-overlay-editor/use-stay-on-screen.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-search/data-grid-search-style.d.ts +2 -0
- package/dist/dts/internal/data-grid-search/data-grid-search-style.d.ts.map +1 -0
- package/dist/dts/internal/data-grid-search/data-grid-search.d.ts +41 -0
- package/dist/dts/internal/data-grid-search/data-grid-search.d.ts.map +1 -0
- package/dist/dts/internal/growing-entry/growing-entry-style.d.ts +4 -0
- package/dist/dts/internal/growing-entry/growing-entry-style.d.ts.map +1 -0
- package/dist/dts/internal/growing-entry/growing-entry.d.ts +12 -0
- package/dist/dts/internal/growing-entry/growing-entry.d.ts.map +1 -0
- package/dist/dts/internal/markdown-div/markdown-div.d.ts +14 -0
- package/dist/dts/internal/markdown-div/markdown-div.d.ts.map +1 -0
- package/dist/dts/internal/markdown-div/private/markdown-container.d.ts +2 -0
- package/dist/dts/internal/markdown-div/private/markdown-container.d.ts.map +1 -0
- package/dist/dts/internal/scrolling-data-grid/infinite-scroller.d.ts +38 -0
- package/dist/dts/internal/scrolling-data-grid/infinite-scroller.d.ts.map +1 -0
- package/dist/dts/internal/scrolling-data-grid/scrolling-data-grid.d.ts +57 -0
- package/dist/dts/internal/scrolling-data-grid/scrolling-data-grid.d.ts.map +1 -0
- package/dist/dts/internal/scrolling-data-grid/use-kinetic-scroll.d.ts +3 -0
- package/dist/dts/internal/scrolling-data-grid/use-kinetic-scroll.d.ts.map +1 -0
- package/dist/esm/cells/boolean-cell.js +87 -0
- package/dist/esm/cells/boolean-cell.js.map +1 -0
- package/dist/esm/cells/bubble-cell.js +53 -0
- package/dist/esm/cells/bubble-cell.js.map +1 -0
- package/dist/esm/cells/cell-types.js +2 -0
- package/dist/esm/cells/cell-types.js.map +1 -0
- package/dist/esm/cells/drilldown-cell.js +171 -0
- package/dist/esm/cells/drilldown-cell.js.map +1 -0
- package/dist/esm/cells/image-cell.js +94 -0
- package/dist/esm/cells/image-cell.js.map +1 -0
- package/dist/esm/cells/index.js +30 -0
- package/dist/esm/cells/index.js.map +1 -0
- package/dist/esm/cells/loading-cell.js +41 -0
- package/dist/esm/cells/loading-cell.js.map +1 -0
- package/dist/esm/cells/markdown-cell.js +30 -0
- package/dist/esm/cells/markdown-cell.js.map +1 -0
- package/dist/esm/cells/marker-cell.js +80 -0
- package/dist/esm/cells/marker-cell.js.map +1 -0
- package/dist/esm/cells/new-row-cell.js +53 -0
- package/dist/esm/cells/new-row-cell.js.map +1 -0
- package/dist/esm/cells/number-cell.js +44 -0
- package/dist/esm/cells/number-cell.js.map +1 -0
- package/dist/esm/cells/protected-cell.js +35 -0
- package/dist/esm/cells/protected-cell.js.map +1 -0
- package/dist/esm/cells/row-id-cell.js +23 -0
- package/dist/esm/cells/row-id-cell.js.map +1 -0
- package/dist/esm/cells/text-cell.js +48 -0
- package/dist/esm/cells/text-cell.js.map +1 -0
- package/dist/esm/cells/uri-cell.js +104 -0
- package/dist/esm/cells/uri-cell.js.map +1 -0
- package/dist/esm/common/browser-detect.js +20 -0
- package/dist/esm/common/browser-detect.js.map +1 -0
- package/dist/esm/common/image-window-loader.js +98 -0
- package/dist/esm/common/image-window-loader.js.map +1 -0
- package/dist/esm/common/is-hotkey.js +76 -0
- package/dist/esm/common/is-hotkey.js.map +1 -0
- package/dist/esm/common/math.js +297 -0
- package/dist/esm/common/math.js.map +1 -0
- package/dist/esm/common/render-state-provider.js +70 -0
- package/dist/esm/common/render-state-provider.js.map +1 -0
- package/dist/esm/common/resize-detector.js +27 -0
- package/dist/esm/common/resize-detector.js.map +1 -0
- package/dist/esm/common/styles.js +135 -0
- package/dist/esm/common/styles.js.map +1 -0
- package/dist/esm/common/support.js +60 -0
- package/dist/esm/common/support.js.map +1 -0
- package/dist/esm/common/utils.js +193 -0
- package/dist/esm/common/utils.js.map +1 -0
- package/dist/esm/data-editor/copy-paste.js +269 -0
- package/dist/esm/data-editor/copy-paste.js.map +1 -0
- package/dist/esm/data-editor/data-editor-fns.js +197 -0
- package/dist/esm/data-editor/data-editor-fns.js.map +1 -0
- package/dist/esm/data-editor/data-editor-keybindings.js +126 -0
- package/dist/esm/data-editor/data-editor-keybindings.js.map +1 -0
- package/dist/esm/data-editor/data-editor.js +2892 -0
- package/dist/esm/data-editor/data-editor.js.map +1 -0
- package/dist/esm/data-editor/group-rename.css +2 -0
- package/dist/esm/data-editor/group-rename.js +49 -0
- package/dist/esm/data-editor/group-rename.js.map +1 -0
- package/dist/esm/data-editor/row-grouping-api.js +34 -0
- package/dist/esm/data-editor/row-grouping-api.js.map +1 -0
- package/dist/esm/data-editor/row-grouping.js +189 -0
- package/dist/esm/data-editor/row-grouping.js.map +1 -0
- package/dist/esm/data-editor/use-autoscroll.js +36 -0
- package/dist/esm/data-editor/use-autoscroll.js.map +1 -0
- package/dist/esm/data-editor/use-cells-for-selection.js +53 -0
- package/dist/esm/data-editor/use-cells-for-selection.js.map +1 -0
- package/dist/esm/data-editor/use-column-sizer.js +189 -0
- package/dist/esm/data-editor/use-column-sizer.js.map +1 -0
- package/dist/esm/data-editor/use-initial-scroll-offset.js +81 -0
- package/dist/esm/data-editor/use-initial-scroll-offset.js.map +1 -0
- package/dist/esm/data-editor/use-rem-adjuster.js +29 -0
- package/dist/esm/data-editor/use-rem-adjuster.js.map +1 -0
- package/dist/esm/data-editor/visible-region.js +2 -0
- package/dist/esm/data-editor/visible-region.js.map +1 -0
- package/dist/esm/data-editor-all.js +19 -0
- package/dist/esm/data-editor-all.js.map +1 -0
- package/dist/esm/index.js +36 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/click-outside-container/click-outside-container.js +34 -0
- package/dist/esm/internal/click-outside-container/click-outside-container.js.map +1 -0
- package/dist/esm/internal/data-editor-container/data-grid-container.js +36 -0
- package/dist/esm/internal/data-editor-container/data-grid-container.js.map +1 -0
- package/dist/esm/internal/data-grid/animation-manager.js +95 -0
- package/dist/esm/internal/data-grid/animation-manager.js.map +1 -0
- package/dist/esm/internal/data-grid/cell-set.js +56 -0
- package/dist/esm/internal/data-grid/cell-set.js.map +1 -0
- package/dist/esm/internal/data-grid/color-parser.js +122 -0
- package/dist/esm/internal/data-grid/color-parser.js.map +1 -0
- package/dist/esm/internal/data-grid/data-grid-sprites.js +65 -0
- package/dist/esm/internal/data-grid/data-grid-sprites.js.map +1 -0
- package/dist/esm/internal/data-grid/data-grid-types.js +299 -0
- package/dist/esm/internal/data-grid/data-grid-types.js.map +1 -0
- package/dist/esm/internal/data-grid/data-grid.js +1209 -0
- package/dist/esm/internal/data-grid/data-grid.js.map +1 -0
- package/dist/esm/internal/data-grid/event-args.js +30 -0
- package/dist/esm/internal/data-grid/event-args.js.map +1 -0
- package/dist/esm/internal/data-grid/image-window-loader-interface.js +2 -0
- package/dist/esm/internal/data-grid/image-window-loader-interface.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid-lib.js +653 -0
- package/dist/esm/internal/data-grid/render/data-grid-lib.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.blit.js +219 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.blit.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.cells.js +370 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.cells.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.header.js +440 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.header.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.js +320 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.lines.js +261 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.lines.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.walk.js +158 -0
- package/dist/esm/internal/data-grid/render/data-grid-render.walk.js.map +1 -0
- package/dist/esm/internal/data-grid/render/data-grid.render.rings.js +205 -0
- package/dist/esm/internal/data-grid/render/data-grid.render.rings.js.map +1 -0
- package/dist/esm/internal/data-grid/render/draw-checkbox.js +65 -0
- package/dist/esm/internal/data-grid/render/draw-checkbox.js.map +1 -0
- package/dist/esm/internal/data-grid/render/draw-edit-hover-indicator.js +38 -0
- package/dist/esm/internal/data-grid/render/draw-edit-hover-indicator.js.map +1 -0
- package/dist/esm/internal/data-grid/render/draw-grid-arg.js +2 -0
- package/dist/esm/internal/data-grid/render/draw-grid-arg.js.map +1 -0
- package/dist/esm/internal/data-grid/sprites.js +288 -0
- package/dist/esm/internal/data-grid/sprites.js.map +1 -0
- package/dist/esm/internal/data-grid/use-animation-queue.js +34 -0
- package/dist/esm/internal/data-grid/use-animation-queue.js.map +1 -0
- package/dist/esm/internal/data-grid/use-selection-behavior.js +112 -0
- package/dist/esm/internal/data-grid/use-selection-behavior.js.map +1 -0
- package/dist/esm/internal/data-grid-dnd/data-grid-dnd.js +239 -0
- package/dist/esm/internal/data-grid-dnd/data-grid-dnd.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.js +77 -0
- package/dist/esm/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/data-grid-overlay-editor.js +124 -0
- package/dist/esm/internal/data-grid-overlay-editor/data-grid-overlay-editor.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/bubbles-overlay-editor-style.js +34 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/bubbles-overlay-editor-style.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/bubbles-overlay-editor.js +10 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/bubbles-overlay-editor.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/drilldown-overlay-editor.js +50 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/drilldown-overlay-editor.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/image-overlay-editor-style.js +56 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/image-overlay-editor-style.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/image-overlay-editor.js +21 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/image-overlay-editor.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/markdown-overlay-editor-style.js +76 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/markdown-overlay-editor-style.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/markdown-overlay-editor.js +32 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/markdown-overlay-editor.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/number-overlay-editor-style.js +15 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/number-overlay-editor-style.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/number-overlay-editor.js +30 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/number-overlay-editor.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/uri-overlay-editor-style.js +53 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/uri-overlay-editor-style.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/uri-overlay-editor.js +21 -0
- package/dist/esm/internal/data-grid-overlay-editor/private/uri-overlay-editor.js.map +1 -0
- package/dist/esm/internal/data-grid-overlay-editor/use-stay-on-screen.js +47 -0
- package/dist/esm/internal/data-grid-overlay-editor/use-stay-on-screen.js.map +1 -0
- package/dist/esm/internal/data-grid-search/data-grid-search-style.js +96 -0
- package/dist/esm/internal/data-grid-search/data-grid-search-style.js.map +1 -0
- package/dist/esm/internal/data-grid-search/data-grid-search.js +297 -0
- package/dist/esm/internal/data-grid-search/data-grid-search.js.map +1 -0
- package/dist/esm/internal/growing-entry/growing-entry-style.js +60 -0
- package/dist/esm/internal/growing-entry/growing-entry-style.js.map +1 -0
- package/dist/esm/internal/growing-entry/growing-entry.js +41 -0
- package/dist/esm/internal/growing-entry/growing-entry.js.map +1 -0
- package/dist/esm/internal/markdown-div/markdown-div.js +41 -0
- package/dist/esm/internal/markdown-div/markdown-div.js.map +1 -0
- package/dist/esm/internal/markdown-div/private/markdown-container.js +19 -0
- package/dist/esm/internal/markdown-div/private/markdown-container.js.map +1 -0
- package/dist/esm/internal/scrolling-data-grid/infinite-scroller.js +265 -0
- package/dist/esm/internal/scrolling-data-grid/infinite-scroller.js.map +1 -0
- package/dist/esm/internal/scrolling-data-grid/scrolling-data-grid.js +155 -0
- package/dist/esm/internal/scrolling-data-grid/scrolling-data-grid.js.map +1 -0
- package/dist/esm/internal/scrolling-data-grid/use-kinetic-scroll.js +65 -0
- package/dist/esm/internal/scrolling-data-grid/use-kinetic-scroll.js.map +1 -0
- package/dist/index.css +2 -0
- package/package.json +81 -0
- package/src/cells/boolean-cell.tsx +135 -0
- package/src/cells/bubble-cell.tsx +68 -0
- package/src/cells/cell-types.ts +124 -0
- package/src/cells/drilldown-cell.tsx +244 -0
- package/src/cells/image-cell.tsx +117 -0
- package/src/cells/index.ts +31 -0
- package/src/cells/loading-cell.tsx +56 -0
- package/src/cells/markdown-cell.tsx +44 -0
- package/src/cells/marker-cell.tsx +110 -0
- package/src/cells/new-row-cell.tsx +60 -0
- package/src/cells/number-cell.tsx +64 -0
- package/src/cells/protected-cell.tsx +42 -0
- package/src/cells/row-id-cell.tsx +35 -0
- package/src/cells/text-cell.tsx +63 -0
- package/src/cells/uri-cell.tsx +155 -0
- package/src/common/browser-detect.ts +25 -0
- package/src/common/image-window-loader.ts +114 -0
- package/src/common/is-hotkey.ts +86 -0
- package/src/common/math.ts +357 -0
- package/src/common/render-state-provider.ts +87 -0
- package/src/common/resize-detector.ts +43 -0
- package/src/common/styles.ts +214 -0
- package/src/common/support.ts +67 -0
- package/src/common/utils.tsx +284 -0
- package/src/data-editor/copy-paste.ts +320 -0
- package/src/data-editor/data-editor-fns.ts +227 -0
- package/src/data-editor/data-editor-keybindings.ts +198 -0
- package/src/data-editor/data-editor.tsx +4382 -0
- package/src/data-editor/group-rename.tsx +67 -0
- package/src/data-editor/row-grouping-api.ts +72 -0
- package/src/data-editor/row-grouping.ts +326 -0
- package/src/data-editor/stories/data-editor-repros.stories.tsx +107 -0
- package/src/data-editor/stories/data-editor.stories.tsx +796 -0
- package/src/data-editor/stories/utils.tsx +827 -0
- package/src/data-editor/use-autoscroll.ts +41 -0
- package/src/data-editor/use-cells-for-selection.ts +72 -0
- package/src/data-editor/use-column-sizer.ts +253 -0
- package/src/data-editor/use-initial-scroll-offset.ts +102 -0
- package/src/data-editor/use-rem-adjuster.ts +59 -0
- package/src/data-editor/visible-region.ts +20 -0
- package/src/data-editor-all.tsx +36 -0
- package/src/docs/00-faq.stories.tsx +63 -0
- package/src/docs/01-getting-started.stories.tsx +299 -0
- package/src/docs/02-editing-data.stories.tsx +365 -0
- package/src/docs/03-grid-column.stories.tsx +146 -0
- package/src/docs/04-streaming-data.stories.tsx +434 -0
- package/src/docs/05-copy-paste.stories.tsx.tsx +279 -0
- package/src/docs/06-search.stories.tsx +219 -0
- package/src/docs/07-column-grouping.stories.tsx +212 -0
- package/src/docs/08-theming.stories.tsx +409 -0
- package/src/docs/09-menus.stories.tsx +344 -0
- package/src/docs/doc-wrapper.tsx +512 -0
- package/src/docs/examples/add-column.stories.tsx +62 -0
- package/src/docs/examples/add-data-to-middle.stories.tsx +93 -0
- package/src/docs/examples/add-data-to-top.stories.tsx +70 -0
- package/src/docs/examples/add-data.stories.tsx +74 -0
- package/src/docs/examples/all-cell-kinds.stories.tsx +61 -0
- package/src/docs/examples/append-row-handle.stories.tsx +79 -0
- package/src/docs/examples/automatic-row-markers.stories.tsx +57 -0
- package/src/docs/examples/built-in-search.stories.tsx +83 -0
- package/src/docs/examples/cell-activated-event.stories.tsx +92 -0
- package/src/docs/examples/column-group-collapse.stories.tsx +105 -0
- package/src/docs/examples/column-groups.stories.tsx +51 -0
- package/src/docs/examples/content-alignment.stories.tsx +64 -0
- package/src/docs/examples/controlled-search.stories.tsx +93 -0
- package/src/docs/examples/controlled-selection.stories.tsx +98 -0
- package/src/docs/examples/copy-support.stories.tsx +63 -0
- package/src/docs/examples/custom-editors.stories.tsx +90 -0
- package/src/docs/examples/custom-event-target.stories.tsx +157 -0
- package/src/docs/examples/custom-group-header.stories.tsx +423 -0
- package/src/docs/examples/custom-header-icons.stories.tsx +76 -0
- package/src/docs/examples/custom-header.stories.tsx +67 -0
- package/src/docs/examples/custom-renderers.stories.tsx +72 -0
- package/src/docs/examples/drag-source.stories.tsx +63 -0
- package/src/docs/examples/drop-events.stories.tsx +155 -0
- package/src/docs/examples/fill-handle.stories.tsx +118 -0
- package/src/docs/examples/freeze-columns.stories.tsx +59 -0
- package/src/docs/examples/freeze-rows.stories.tsx +71 -0
- package/src/docs/examples/get-mouse-args.stories.tsx +61 -0
- package/src/docs/examples/header-menus.stories.tsx +162 -0
- package/src/docs/examples/highlight-cells.stories.tsx +84 -0
- package/src/docs/examples/imperative-scroll.stories.tsx +96 -0
- package/src/docs/examples/input-blending.stories.tsx +116 -0
- package/src/docs/examples/keybindings.stories.tsx +90 -0
- package/src/docs/examples/layout-integration.stories.tsx +48 -0
- package/src/docs/examples/multi-level-column-groups.stories.tsx +119 -0
- package/src/docs/examples/multi-select-columns.stories.tsx +47 -0
- package/src/docs/examples/new-column-button.stories.tsx +56 -0
- package/src/docs/examples/obscured-grid.stories.tsx +70 -0
- package/src/docs/examples/observe-visible-region.stories.tsx +56 -0
- package/src/docs/examples/one-hundred-thousand-columns.stories.tsx +31 -0
- package/src/docs/examples/one-million-rows.stories.tsx +37 -0
- package/src/docs/examples/overscroll.stories.tsx +74 -0
- package/src/docs/examples/padding.stories.tsx +74 -0
- package/src/docs/examples/paste-support.stories.tsx +73 -0
- package/src/docs/examples/prevent-diagonal-scroll.stories.tsx +47 -0
- package/src/docs/examples/rapid-updates.stories.tsx +108 -0
- package/src/docs/examples/rearrange-columns.stories.tsx +76 -0
- package/src/docs/examples/reorder-rows.stories.tsx +83 -0
- package/src/docs/examples/resizable-columns.stories.tsx +67 -0
- package/src/docs/examples/right-element.stories.tsx +87 -0
- package/src/docs/examples/right-to-left.stories.tsx +73 -0
- package/src/docs/examples/row-and-header-sizes.stories.tsx +75 -0
- package/src/docs/examples/row-grouping.stories.tsx +142 -0
- package/src/docs/examples/row-hover.stories.tsx +67 -0
- package/src/docs/examples/row-markers.stories.tsx +74 -0
- package/src/docs/examples/row-selections.stories.tsx +84 -0
- package/src/docs/examples/scaled-view.stories.tsx +36 -0
- package/src/docs/examples/scroll-offset.stories.tsx +49 -0
- package/src/docs/examples/scroll-shadows.stories.tsx +83 -0
- package/src/docs/examples/search-as-filter.stories.tsx +76 -0
- package/src/docs/examples/selection-serialization.stories.tsx +208 -0
- package/src/docs/examples/server-side-data.stories.tsx +219 -0
- package/src/docs/examples/shadow-dom.stories.tsx +107 -0
- package/src/docs/examples/silly-numbers.stories.tsx +40 -0
- package/src/docs/examples/small-editable-grid.stories.tsx +39 -0
- package/src/docs/examples/smooth-scrolling-grid.stories.tsx +56 -0
- package/src/docs/examples/span-cell.stories.tsx +99 -0
- package/src/docs/examples/stretch-column-size.stories.tsx +55 -0
- package/src/docs/examples/ten-million-cells.stories.tsx +34 -0
- package/src/docs/examples/theme-per-column.stories.tsx +88 -0
- package/src/docs/examples/theme-per-row.stories.tsx +73 -0
- package/src/docs/examples/theme-support.stories.tsx +150 -0
- package/src/docs/examples/tooltips.stories.tsx +119 -0
- package/src/docs/examples/trailing-row-options.stories.tsx +106 -0
- package/src/docs/examples/uneven-rows.stories.tsx +44 -0
- package/src/docs/examples/validate-data.stories.tsx +63 -0
- package/src/docs/examples/wrapping-text.stories.tsx +97 -0
- package/src/docs/template.tsx +69 -0
- package/src/index.ts +87 -0
- package/src/internal/click-outside-container/click-outside-container.tsx +50 -0
- package/src/internal/data-editor-container/data-grid-container.tsx +48 -0
- package/src/internal/data-grid/animation-manager.ts +119 -0
- package/src/internal/data-grid/cell-set.ts +65 -0
- package/src/internal/data-grid/color-parser.ts +141 -0
- package/src/internal/data-grid/data-grid-sprites.ts +107 -0
- package/src/internal/data-grid/data-grid-types.ts +742 -0
- package/src/internal/data-grid/data-grid.stories.tsx +410 -0
- package/src/internal/data-grid/data-grid.tsx +1978 -0
- package/src/internal/data-grid/event-args.ts +157 -0
- package/src/internal/data-grid/image-window-loader-interface.ts +9 -0
- package/src/internal/data-grid/render/data-grid-lib.ts +906 -0
- package/src/internal/data-grid/render/data-grid-render.blit.ts +291 -0
- package/src/internal/data-grid/render/data-grid-render.cells.ts +564 -0
- package/src/internal/data-grid/render/data-grid-render.header.ts +842 -0
- package/src/internal/data-grid/render/data-grid-render.lines.ts +379 -0
- package/src/internal/data-grid/render/data-grid-render.ts +825 -0
- package/src/internal/data-grid/render/data-grid-render.walk.ts +243 -0
- package/src/internal/data-grid/render/data-grid.render.rings.ts +348 -0
- package/src/internal/data-grid/render/draw-checkbox.ts +122 -0
- package/src/internal/data-grid/render/draw-edit-hover-indicator.ts +61 -0
- package/src/internal/data-grid/render/draw-grid-arg.ts +85 -0
- package/src/internal/data-grid/sprites.ts +321 -0
- package/src/internal/data-grid/use-animation-queue.ts +41 -0
- package/src/internal/data-grid/use-selection-behavior.ts +152 -0
- package/src/internal/data-grid-dnd/data-grid-dnd.tsx +450 -0
- package/src/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.tsx +83 -0
- package/src/internal/data-grid-overlay-editor/data-grid-overlay-editor.tsx +262 -0
- package/src/internal/data-grid-overlay-editor/private/bubbles-overlay-editor-style.tsx +34 -0
- package/src/internal/data-grid-overlay-editor/private/bubbles-overlay-editor.tsx +21 -0
- package/src/internal/data-grid-overlay-editor/private/drilldown-overlay-editor.tsx +63 -0
- package/src/internal/data-grid-overlay-editor/private/image-overlay-editor-style.tsx +56 -0
- package/src/internal/data-grid-overlay-editor/private/image-overlay-editor.tsx +51 -0
- package/src/internal/data-grid-overlay-editor/private/markdown-overlay-editor-style.tsx +80 -0
- package/src/internal/data-grid-overlay-editor/private/markdown-overlay-editor.tsx +65 -0
- package/src/internal/data-grid-overlay-editor/private/number-overlay-editor-style.tsx +15 -0
- package/src/internal/data-grid-overlay-editor/private/number-overlay-editor.tsx +77 -0
- package/src/internal/data-grid-overlay-editor/private/uri-overlay-editor-style.tsx +53 -0
- package/src/internal/data-grid-overlay-editor/private/uri-overlay-editor.tsx +52 -0
- package/src/internal/data-grid-overlay-editor/use-stay-on-screen.ts +61 -0
- package/src/internal/data-grid-search/data-grid-search-style.tsx +96 -0
- package/src/internal/data-grid-search/data-grid-search.tsx +578 -0
- package/src/internal/growing-entry/growing-entry-style.tsx +62 -0
- package/src/internal/growing-entry/growing-entry.tsx +74 -0
- package/src/internal/markdown-div/markdown-div.tsx +55 -0
- package/src/internal/markdown-div/private/markdown-container.tsx +19 -0
- package/src/internal/scrolling-data-grid/infinite-scroller.tsx +379 -0
- package/src/internal/scrolling-data-grid/scrolling-data-grid.stories.tsx +164 -0
- package/src/internal/scrolling-data-grid/scrolling-data-grid.tsx +353 -0
- package/src/internal/scrolling-data-grid/use-kinetic-scroll.ts +78 -0
- package/src/stories/story-utils.tsx +72 -0
- package/test/animation-manager.test.ts +147 -0
- package/test/cells.test.tsx +122 -0
- package/test/click-outside-container.test.tsx +62 -0
- package/test/color-parser.test.ts +68 -0
- package/test/common.test.ts +74 -0
- package/test/compact-selection.test.ts +221 -0
- package/test/copy-paste.test.ts +485 -0
- package/test/data-editor-fns.test.ts +153 -0
- package/test/data-editor-input.test.tsx +683 -0
- package/test/data-editor-resize.test.tsx +271 -0
- package/test/data-editor.test.tsx +4945 -0
- package/test/data-grid-lib.test.ts +457 -0
- package/test/data-grid-overlay.test.tsx +67 -0
- package/test/data-grid-types.test.ts +52 -0
- package/test/data-grid.test.tsx +399 -0
- package/test/image-window-loader.test.ts +211 -0
- package/test/math.test.ts +201 -0
- package/test/render-state-provider.test.ts +86 -0
- package/test/row-grouping-api.test.ts +77 -0
- package/test/row-grouping.test.ts +586 -0
- package/test/test-utils.tsx +365 -0
- package/test/uri-cell.test.ts +124 -0
- package/test/use-animation-queue.test.ts +53 -0
- package/test/use-autoscroll.test.tsx +108 -0
- package/test/use-column-sizer.test.tsx +414 -0
- package/test/use-deep-memo.test.ts +41 -0
- package/test/use-kinetic-scroll.test.ts +57 -0
- package/test/use-rem-adjuster.test.ts +69 -0
- package/test/utils.test.ts +127 -0
- package/vitest.config.ts +40 -0
- package/vitest.setup.ts +13 -0
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type EditableGridCell, type GridCell, type GridSelection, type Rectangle, type InnerGridCell, CompactSelection, type ProvideEditorCallback, type GridColumn, type Item, type ValidatedGridCell, type ImageEditorType, type FillHandleDirection, type EditListItem, type CellActivationBehavior } from "../internal/data-grid/data-grid-types.js";
|
|
3
|
+
import { type DataGridSearchProps } from "../internal/data-grid-search/data-grid-search.js";
|
|
4
|
+
import { type Theme } from "../common/styles.js";
|
|
5
|
+
import type { DataGridRef } from "../internal/data-grid/data-grid.js";
|
|
6
|
+
import { type SelectionBlending } from "../internal/data-grid/use-selection-behavior.js";
|
|
7
|
+
import type { CustomRenderer, InternalCellRenderer } from "../cells/cell-types.js";
|
|
8
|
+
import { type HeaderClickedEventArgs, type GroupHeaderClickedEventArgs, type CellClickedEventArgs, type FillPatternEventArgs, type GridMouseEventArgs, type CellActivatedEventArgs } from "../internal/data-grid/event-args.js";
|
|
9
|
+
import { type Keybinds } from "./data-editor-keybindings.js";
|
|
10
|
+
import { type RowGroupingOptions } from "./row-grouping.js";
|
|
11
|
+
export interface RowMarkerOptions {
|
|
12
|
+
kind: "checkbox" | "number" | "clickable-number" | "checkbox-visible" | "both" | "none";
|
|
13
|
+
checkboxStyle?: "circle" | "square";
|
|
14
|
+
startIndex?: number;
|
|
15
|
+
width?: number;
|
|
16
|
+
theme?: Partial<Theme>;
|
|
17
|
+
headerTheme?: Partial<Theme>;
|
|
18
|
+
headerAlwaysVisible?: boolean;
|
|
19
|
+
headerDisabled?: boolean;
|
|
20
|
+
}
|
|
21
|
+
type Props = Partial<Omit<DataGridSearchProps, "accessibilityHeight" | "canvasRef" | "cellXOffset" | "cellYOffset" | "className" | "clientSize" | "columns" | "disabledRows" | "drawFocusRing" | "enableGroups" | "firstColAccessible" | "firstColSticky" | "freezeColumns" | "hasAppendRow" | "getCellContent" | "getCellRenderer" | "getCellsForSelection" | "getRowThemeOverride" | "gridRef" | "groupHeaderHeight" | "headerHeight" | "isFilling" | "isFocused" | "imageWindowLoader" | "lockColumns" | "maxColumnWidth" | "minColumnWidth" | "nonGrowWidth" | "onCanvasBlur" | "onCanvasFocused" | "onCellFocused" | "onContextMenu" | "onDragEnd" | "onMouseDown" | "onMouseMove" | "onMouseUp" | "onVisibleRegionChanged" | "rowHeight" | "rows" | "scrollRef" | "searchInputRef" | "selectedColumns" | "selection" | "theme" | "translateX" | "translateY" | "verticalBorder">>;
|
|
22
|
+
type EmitEvents = "copy" | "paste" | "delete" | "fill-right" | "fill-down";
|
|
23
|
+
/**
|
|
24
|
+
* @category DataEditor
|
|
25
|
+
*/
|
|
26
|
+
export interface DataEditorProps extends Props, Pick<DataGridSearchProps, "imageWindowLoader"> {
|
|
27
|
+
/** Emitted whenever the user has requested the deletion of the selection.
|
|
28
|
+
* @group Editing
|
|
29
|
+
*/
|
|
30
|
+
readonly onDelete?: (selection: GridSelection) => boolean | GridSelection;
|
|
31
|
+
/** Emitted whenever a cell edit is completed.
|
|
32
|
+
* @group Editing
|
|
33
|
+
*/
|
|
34
|
+
readonly onCellEdited?: (cell: Item, newValue: EditableGridCell) => void;
|
|
35
|
+
/** Emitted whenever a cell mutation is completed and provides all edits inbound as a single batch.
|
|
36
|
+
* @group Editing
|
|
37
|
+
*/
|
|
38
|
+
readonly onCellsEdited?: (newValues: readonly EditListItem[]) => boolean | void;
|
|
39
|
+
/** Emitted whenever a row append operation is requested. Append location can be set in callback.
|
|
40
|
+
* @group Editing
|
|
41
|
+
*/
|
|
42
|
+
readonly onRowAppended?: () => Promise<"top" | "bottom" | number | undefined> | void;
|
|
43
|
+
/** Emitted whenever a column append operation is requested. Append location can be set in callback.
|
|
44
|
+
* @group Editing
|
|
45
|
+
*/
|
|
46
|
+
readonly onColumnAppended?: () => Promise<"left" | "right" | number | undefined> | void;
|
|
47
|
+
/** Emitted when a column header should show a context menu. Usually right click.
|
|
48
|
+
* @group Events
|
|
49
|
+
*/
|
|
50
|
+
readonly onHeaderClicked?: (colIndex: number, event: HeaderClickedEventArgs) => void;
|
|
51
|
+
/** Emitted when a group header is clicked.
|
|
52
|
+
* @group Events
|
|
53
|
+
*/
|
|
54
|
+
readonly onGroupHeaderClicked?: (colIndex: number, event: GroupHeaderClickedEventArgs) => void;
|
|
55
|
+
/** Emitted whe the user wishes to rename a group.
|
|
56
|
+
* @group Events
|
|
57
|
+
*/
|
|
58
|
+
readonly onGroupHeaderRenamed?: (groupName: string, newVal: string) => void;
|
|
59
|
+
/** Emitted when a cell is clicked.
|
|
60
|
+
* @group Events
|
|
61
|
+
*/
|
|
62
|
+
readonly onCellClicked?: (cell: Item, event: CellClickedEventArgs) => void;
|
|
63
|
+
/** Emitted when a cell is activated, by pressing Enter, Space or double clicking it.
|
|
64
|
+
* @group Events
|
|
65
|
+
*/
|
|
66
|
+
readonly onCellActivated?: (cell: Item, event: CellActivatedEventArgs) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Emitted whenever the user initiats a pattern fill using the fill handle. This event provides both
|
|
69
|
+
* a patternSource region and a fillDestination region, and can be prevented.
|
|
70
|
+
* @group Editing
|
|
71
|
+
*/
|
|
72
|
+
readonly onFillPattern?: (event: FillPatternEventArgs) => void;
|
|
73
|
+
/** Emitted when editing has finished, regardless of data changing or not.
|
|
74
|
+
* @group Editing
|
|
75
|
+
*/
|
|
76
|
+
readonly onFinishedEditing?: (newValue: GridCell | undefined, movement: Item) => void;
|
|
77
|
+
/** Emitted when a column header should show a context menu. Usually right click.
|
|
78
|
+
* @group Events
|
|
79
|
+
*/
|
|
80
|
+
readonly onHeaderContextMenu?: (colIndex: number, event: HeaderClickedEventArgs) => void;
|
|
81
|
+
/** Emitted when a group header should show a context menu. Usually right click.
|
|
82
|
+
* @group Events
|
|
83
|
+
*/
|
|
84
|
+
readonly onGroupHeaderContextMenu?: (colIndex: number, event: GroupHeaderClickedEventArgs) => void;
|
|
85
|
+
/** Emitted when a cell should show a context menu. Usually right click.
|
|
86
|
+
* @group Events
|
|
87
|
+
*/
|
|
88
|
+
readonly onCellContextMenu?: (cell: Item, event: CellClickedEventArgs) => void;
|
|
89
|
+
/** Used for validating cell values during editing.
|
|
90
|
+
* @group Editing
|
|
91
|
+
* @param cell The cell which is being validated.
|
|
92
|
+
* @param newValue The new value being proposed.
|
|
93
|
+
* @param prevValue The previous value before the edit.
|
|
94
|
+
* @returns A return of false indicates the value will not be accepted. A value of
|
|
95
|
+
* true indicates the value will be accepted. Returning a new GridCell will immediately coerce the value to match.
|
|
96
|
+
*/
|
|
97
|
+
readonly validateCell?: (cell: Item, newValue: EditableGridCell, prevValue: GridCell) => boolean | ValidatedGridCell;
|
|
98
|
+
/** The columns to display in the data grid.
|
|
99
|
+
* @group Data
|
|
100
|
+
*/
|
|
101
|
+
readonly columns: readonly GridColumn[];
|
|
102
|
+
/** Controls the trailing row used to insert new data into the grid.
|
|
103
|
+
* @group Editing
|
|
104
|
+
*/
|
|
105
|
+
readonly trailingRowOptions?: {
|
|
106
|
+
/** If the trailing row should be tinted */
|
|
107
|
+
readonly tint?: boolean;
|
|
108
|
+
/** A hint string displayed on hover. Usually something like "New row" */
|
|
109
|
+
readonly hint?: string;
|
|
110
|
+
/** When set to true, the trailing row is always visible. */
|
|
111
|
+
readonly sticky?: boolean;
|
|
112
|
+
/** The icon to use for the cell. Either a GridColumnIcon or a member of the passed headerIcons */
|
|
113
|
+
readonly addIcon?: string;
|
|
114
|
+
/** Overrides the column to focus when a new row is created. */
|
|
115
|
+
readonly targetColumn?: number | GridColumn;
|
|
116
|
+
};
|
|
117
|
+
/** Controls the height of the header row
|
|
118
|
+
* @defaultValue 36
|
|
119
|
+
* @group Style
|
|
120
|
+
*/
|
|
121
|
+
readonly headerHeight?: number;
|
|
122
|
+
/** Controls the header of the group header row
|
|
123
|
+
* @defaultValue `headerHeight`
|
|
124
|
+
* @group Style
|
|
125
|
+
*/
|
|
126
|
+
readonly groupHeaderHeight?: number | number[];
|
|
127
|
+
/**
|
|
128
|
+
* The number of rows in the grid.
|
|
129
|
+
* @group Data
|
|
130
|
+
*/
|
|
131
|
+
readonly rows: number;
|
|
132
|
+
/** Determines if row markers should be automatically added to the grid.
|
|
133
|
+
* Interactive row markers allow the user to select a row.
|
|
134
|
+
*
|
|
135
|
+
* - "clickable-number" renders a number that can be clicked to
|
|
136
|
+
* select the row
|
|
137
|
+
* - "both" causes the row marker to show up as a number but
|
|
138
|
+
* reveal a checkbox when the marker is hovered.
|
|
139
|
+
*
|
|
140
|
+
* @defaultValue `none`
|
|
141
|
+
* @group Style
|
|
142
|
+
*/
|
|
143
|
+
readonly rowMarkers?: RowMarkerOptions["kind"] | RowMarkerOptions;
|
|
144
|
+
/**
|
|
145
|
+
* Sets the width of row markers in pixels, if unset row markers will automatically size.
|
|
146
|
+
* @group Style
|
|
147
|
+
* @deprecated Use `rowMarkers` instead.
|
|
148
|
+
*/
|
|
149
|
+
readonly rowMarkerWidth?: number;
|
|
150
|
+
/** Changes the starting index for row markers.
|
|
151
|
+
* @defaultValue 1
|
|
152
|
+
* @group Style
|
|
153
|
+
* @deprecated Use `rowMarkers` instead.
|
|
154
|
+
*/
|
|
155
|
+
readonly rowMarkerStartIndex?: number;
|
|
156
|
+
/** Changes the theme of the row marker column
|
|
157
|
+
* @group Style
|
|
158
|
+
* @deprecated Use `rowMarkers` instead.
|
|
159
|
+
*/
|
|
160
|
+
readonly rowMarkerTheme?: Partial<Theme>;
|
|
161
|
+
/** Sets the width of the data grid.
|
|
162
|
+
* @group Style
|
|
163
|
+
*/
|
|
164
|
+
readonly width?: number | string;
|
|
165
|
+
/** Sets the height of the data grid.
|
|
166
|
+
* @group Style
|
|
167
|
+
*/
|
|
168
|
+
readonly height?: number | string;
|
|
169
|
+
/** Custom classname for data grid wrapper.
|
|
170
|
+
* @group Style
|
|
171
|
+
*/
|
|
172
|
+
readonly className?: string;
|
|
173
|
+
/** If set to `default`, `gridSelection` will be coerced to always include full spans.
|
|
174
|
+
* @group Selection
|
|
175
|
+
* @defaultValue `default`
|
|
176
|
+
*/
|
|
177
|
+
readonly spanRangeBehavior?: "default" | "allowPartial";
|
|
178
|
+
/** Controls which types of selections can exist at the same time in the grid. If selection blending is set to
|
|
179
|
+
* exclusive, the grid will clear other types of selections when the exclusive selection is made. By default row,
|
|
180
|
+
* column, and range selections are exclusive.
|
|
181
|
+
* @group Selection
|
|
182
|
+
* @defaultValue `exclusive`
|
|
183
|
+
* */
|
|
184
|
+
readonly rangeSelectionBlending?: SelectionBlending;
|
|
185
|
+
/** {@inheritDoc rangeSelectionBlending}
|
|
186
|
+
* @group Selection
|
|
187
|
+
*/
|
|
188
|
+
readonly columnSelectionBlending?: SelectionBlending;
|
|
189
|
+
/** {@inheritDoc rangeSelectionBlending}
|
|
190
|
+
* @group Selection
|
|
191
|
+
*/
|
|
192
|
+
readonly rowSelectionBlending?: SelectionBlending;
|
|
193
|
+
/** Controls if multi-selection is allowed. If disabled, shift/ctrl/command clicking will work as if no modifiers
|
|
194
|
+
* are pressed.
|
|
195
|
+
*
|
|
196
|
+
* When range select is set to cell, only one cell may be selected at a time. When set to rect one one rect at a
|
|
197
|
+
* time. The multi variants allow for multiples of the rect or cell to be selected.
|
|
198
|
+
* @group Selection
|
|
199
|
+
* @defaultValue `rect`
|
|
200
|
+
*/
|
|
201
|
+
readonly rangeSelect?: "none" | "cell" | "rect" | "multi-cell" | "multi-rect";
|
|
202
|
+
/** {@inheritDoc rangeSelect}
|
|
203
|
+
* @group Selection
|
|
204
|
+
* @defaultValue `multi`
|
|
205
|
+
*/
|
|
206
|
+
readonly columnSelect?: "none" | "single" | "multi";
|
|
207
|
+
/** {@inheritDoc rangeSelect}
|
|
208
|
+
* @group Selection
|
|
209
|
+
* @defaultValue `multi`
|
|
210
|
+
*/
|
|
211
|
+
readonly rowSelect?: "none" | "single" | "multi";
|
|
212
|
+
/** Controls if range selection is allowed to span columns.
|
|
213
|
+
* @group Selection
|
|
214
|
+
* @defaultValue `true`
|
|
215
|
+
*/
|
|
216
|
+
readonly rangeSelectionColumnSpanning?: boolean;
|
|
217
|
+
/** Sets the initial scroll Y offset.
|
|
218
|
+
* @see {@link scrollOffsetX}
|
|
219
|
+
* @group Advanced
|
|
220
|
+
*/
|
|
221
|
+
readonly scrollOffsetY?: number;
|
|
222
|
+
/** Sets the initial scroll X offset
|
|
223
|
+
* @see {@link scrollOffsetY}
|
|
224
|
+
* @group Advanced
|
|
225
|
+
*/
|
|
226
|
+
readonly scrollOffsetX?: number;
|
|
227
|
+
/** Determins the height of each row.
|
|
228
|
+
* @group Style
|
|
229
|
+
* @defaultValue 34
|
|
230
|
+
*/
|
|
231
|
+
readonly rowHeight?: DataGridSearchProps["rowHeight"];
|
|
232
|
+
/** Fires whenever the mouse moves
|
|
233
|
+
* @group Events
|
|
234
|
+
* @param args
|
|
235
|
+
*/
|
|
236
|
+
readonly onMouseMove?: DataGridSearchProps["onMouseMove"];
|
|
237
|
+
/**
|
|
238
|
+
* The minimum width a column can be resized to.
|
|
239
|
+
* @defaultValue 50
|
|
240
|
+
* @group Style
|
|
241
|
+
*/
|
|
242
|
+
readonly minColumnWidth?: DataGridSearchProps["minColumnWidth"];
|
|
243
|
+
/**
|
|
244
|
+
* The maximum width a column can be resized to.
|
|
245
|
+
* @defaultValue 500
|
|
246
|
+
* @group Style
|
|
247
|
+
*/
|
|
248
|
+
readonly maxColumnWidth?: DataGridSearchProps["maxColumnWidth"];
|
|
249
|
+
/**
|
|
250
|
+
* The maximum width a column can be automatically sized to.
|
|
251
|
+
* @defaultValue `maxColumnWidth`
|
|
252
|
+
* @group Style
|
|
253
|
+
*/
|
|
254
|
+
readonly maxColumnAutoWidth?: number;
|
|
255
|
+
/**
|
|
256
|
+
* Used to provide an override to the default image editor for the data grid. `provideEditor` may be a better
|
|
257
|
+
* choice for most people.
|
|
258
|
+
* @group Advanced
|
|
259
|
+
* */
|
|
260
|
+
readonly imageEditorOverride?: ImageEditorType;
|
|
261
|
+
/**
|
|
262
|
+
* If specified, it will be used to render Markdown, instead of the default Markdown renderer used by the Grid.
|
|
263
|
+
* You'll want to use this if you need to process your Markdown for security purposes, or if you want to use a
|
|
264
|
+
* renderer with different Markdown features.
|
|
265
|
+
* @group Advanced
|
|
266
|
+
*/
|
|
267
|
+
readonly markdownDivCreateNode?: (content: string) => DocumentFragment;
|
|
268
|
+
/**
|
|
269
|
+
* Allows overriding the theme of any row
|
|
270
|
+
* @param row represents the row index of the row, increasing by 1 for every represented row. Collapsed rows are not included.
|
|
271
|
+
* @param groupRow represents the row index of the group row. Only distinct when row grouping enabled.
|
|
272
|
+
* @param contentRow represents the index of the row excluding group headers. Only distinct when row grouping enabled.
|
|
273
|
+
* @returns
|
|
274
|
+
*/
|
|
275
|
+
readonly getRowThemeOverride?: (row: number, groupRow: number, contentRow: number) => Partial<Theme> | undefined;
|
|
276
|
+
/** Callback for providing a custom editor for a cell.
|
|
277
|
+
* @group Editing
|
|
278
|
+
*/
|
|
279
|
+
readonly provideEditor?: ProvideEditorCallback<GridCell>;
|
|
280
|
+
/**
|
|
281
|
+
* Allows coercion of pasted values.
|
|
282
|
+
* @group Editing
|
|
283
|
+
* @param val The pasted value
|
|
284
|
+
* @param cell The cell being pasted into
|
|
285
|
+
* @returns `undefined` to accept default behavior or a `GridCell` which should be used to represent the pasted value.
|
|
286
|
+
*/
|
|
287
|
+
readonly coercePasteValue?: (val: string, cell: GridCell) => GridCell | undefined;
|
|
288
|
+
/**
|
|
289
|
+
* Emitted when the grid selection is cleared.
|
|
290
|
+
* @group Selection
|
|
291
|
+
*/
|
|
292
|
+
readonly onSelectionCleared?: () => void;
|
|
293
|
+
/**
|
|
294
|
+
* The current selection of the data grid. Contains all selected cells, ranges, rows, and columns.
|
|
295
|
+
* Used in conjunction with {@link onGridSelectionChange}
|
|
296
|
+
* method to implement a controlled selection.
|
|
297
|
+
* @group Selection
|
|
298
|
+
*/
|
|
299
|
+
readonly gridSelection?: GridSelection;
|
|
300
|
+
/**
|
|
301
|
+
* Emitted whenever the grid selection changes. Specifying
|
|
302
|
+
* this function will make the grid’s selection controlled, so
|
|
303
|
+
* so you will need to specify {@link gridSelection} as well. See
|
|
304
|
+
* the "Controlled Selection" example for details.
|
|
305
|
+
*
|
|
306
|
+
* @param newSelection The new gridSelection as created by user input.
|
|
307
|
+
* @group Selection
|
|
308
|
+
*/
|
|
309
|
+
readonly onGridSelectionChange?: (newSelection: GridSelection) => void;
|
|
310
|
+
/**
|
|
311
|
+
* Emitted whenever the visible cells change, usually due to scrolling.
|
|
312
|
+
* @group Events
|
|
313
|
+
* @param range An inclusive range of all visible cells. May include cells obscured by UI elements such
|
|
314
|
+
* as headers.
|
|
315
|
+
* @param tx The x transform of the cell region.
|
|
316
|
+
* @param ty The y transform of the cell region.
|
|
317
|
+
* @param extras Contains information about the selected cell and
|
|
318
|
+
* any visible freeze columns.
|
|
319
|
+
*/
|
|
320
|
+
readonly onVisibleRegionChanged?: (range: Rectangle, tx: number, ty: number, extras: {
|
|
321
|
+
/** The selected item if visible */
|
|
322
|
+
selected?: Item;
|
|
323
|
+
/** A selection of visible freeze columns
|
|
324
|
+
* @deprecated
|
|
325
|
+
*/
|
|
326
|
+
freezeRegion?: Rectangle;
|
|
327
|
+
/**
|
|
328
|
+
* All visible freeze regions
|
|
329
|
+
*/
|
|
330
|
+
freezeRegions?: readonly Rectangle[];
|
|
331
|
+
}) => void;
|
|
332
|
+
/**
|
|
333
|
+
* The primary callback for getting cell data into the data grid.
|
|
334
|
+
* @group Data
|
|
335
|
+
* @param cell The location of the cell being requested.
|
|
336
|
+
* @returns A valid GridCell to be rendered by the Grid.
|
|
337
|
+
*/
|
|
338
|
+
readonly getCellContent: (cell: Item) => GridCell;
|
|
339
|
+
/**
|
|
340
|
+
* Determines if row selection requires a modifier key to enable multi-selection or not. In auto mode it adapts to
|
|
341
|
+
* touch or mouse environments automatically, in multi-mode it always acts as if the multi key (Ctrl) is pressed.
|
|
342
|
+
* @group Editing
|
|
343
|
+
* @defaultValue `auto`
|
|
344
|
+
*/
|
|
345
|
+
readonly rowSelectionMode?: "auto" | "multi";
|
|
346
|
+
/**
|
|
347
|
+
* Determines if column selection requires a modifier key to enable multi-selection or not. In auto mode it adapts to
|
|
348
|
+
* touch or mouse environments automatically, in multi-mode it always acts as if the multi key (Ctrl) is pressed.
|
|
349
|
+
* @group Editing
|
|
350
|
+
* @defaultValue `auto`
|
|
351
|
+
*/
|
|
352
|
+
readonly columnSelectionMode?: "auto" | "multi";
|
|
353
|
+
/**
|
|
354
|
+
* Add table headers to copied data.
|
|
355
|
+
* @group Editing
|
|
356
|
+
* @defaultValue `false`
|
|
357
|
+
*/
|
|
358
|
+
readonly copyHeaders?: boolean;
|
|
359
|
+
/**
|
|
360
|
+
* Determins which keybindings are enabled.
|
|
361
|
+
* @group Editing
|
|
362
|
+
*/
|
|
363
|
+
readonly keybindings?: Partial<Keybinds>;
|
|
364
|
+
/**
|
|
365
|
+
* Determines if the data editor should immediately begin editing when the user types on a selected cell
|
|
366
|
+
* @group Editing
|
|
367
|
+
*/
|
|
368
|
+
readonly editOnType?: boolean;
|
|
369
|
+
/**
|
|
370
|
+
* Used to fetch large amounts of cells at once. Used for copy/paste, if unset copy will not work.
|
|
371
|
+
*
|
|
372
|
+
* `getCellsForSelection` is called when the user copies a selection to the clipboard or the data editor needs to
|
|
373
|
+
* inspect data which may be outside the curently visible range. It must return a two-dimensional array (an array of
|
|
374
|
+
* rows, where each row is an array of cells) of the cells in the selection's rectangle. Note that the rectangle can
|
|
375
|
+
* include cells that are not currently visible.
|
|
376
|
+
*
|
|
377
|
+
* If `true` is passed instead of a callback, the data grid will internally use the `getCellContent` callback to
|
|
378
|
+
* provide a basic implementation of `getCellsForSelection`. This can make it easier to light up more data grid
|
|
379
|
+
* functionality, but may have negative side effects if your data source is not able to handle being queried for
|
|
380
|
+
* data outside the normal window.
|
|
381
|
+
*
|
|
382
|
+
* If `getCellsForSelection` returns a thunk, the data may be loaded asynchronously, however the data grid may be
|
|
383
|
+
* unable to properly react to column spans when performing range selections. Copying large amounts of data out of
|
|
384
|
+
* the grid will depend on the performance of the thunk as well.
|
|
385
|
+
* @group Data
|
|
386
|
+
* @param {Rectangle} selection The range of requested cells
|
|
387
|
+
* @param {AbortSignal} abortSignal A signal indicating the requested cells are no longer needed
|
|
388
|
+
* @returns A row-major collection of cells or an async thunk which returns a row-major collection.
|
|
389
|
+
*/
|
|
390
|
+
readonly getCellsForSelection?: DataGridSearchProps["getCellsForSelection"] | true;
|
|
391
|
+
/** The number of columns which should remain in place when scrolling horizontally. The row marker column, if
|
|
392
|
+
* enabled is always frozen and is not included in this count.
|
|
393
|
+
* @defaultValue 0
|
|
394
|
+
* @group Style
|
|
395
|
+
*/
|
|
396
|
+
readonly freezeColumns?: DataGridSearchProps["freezeColumns"];
|
|
397
|
+
/**
|
|
398
|
+
* Controls the drawing of the left hand vertical border of a column. If set to a boolean value it controls all
|
|
399
|
+
* borders.
|
|
400
|
+
* @defaultValue `true`
|
|
401
|
+
* @group Style
|
|
402
|
+
*/
|
|
403
|
+
readonly verticalBorder?: DataGridSearchProps["verticalBorder"] | boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Controls the grouping of rows to be drawn in the grid.
|
|
406
|
+
*/
|
|
407
|
+
readonly rowGrouping?: RowGroupingOptions;
|
|
408
|
+
/**
|
|
409
|
+
* Called when data is pasted into the grid. If left undefined, the `DataEditor` will operate in a
|
|
410
|
+
* fallback mode and attempt to paste the text buffer into the current cell assuming the current cell is not
|
|
411
|
+
* readonly and can accept the data type. If `onPaste` is set to false or the function returns false, the grid will
|
|
412
|
+
* simply ignore paste. If `onPaste` evaluates to true the grid will attempt to split the data by tabs and newlines
|
|
413
|
+
* and paste into available cells.
|
|
414
|
+
*
|
|
415
|
+
* The grid will not attempt to add additional rows if more data is pasted then can fit. In that case it is
|
|
416
|
+
* advisable to simply return false from onPaste and handle the paste manually.
|
|
417
|
+
* @group Editing
|
|
418
|
+
*/
|
|
419
|
+
readonly onPaste?: ((target: Item, values: readonly (readonly string[])[]) => boolean) | boolean;
|
|
420
|
+
/**
|
|
421
|
+
* The theme used by the data grid to get all color and font information
|
|
422
|
+
* @group Style
|
|
423
|
+
*/
|
|
424
|
+
readonly theme?: Partial<Theme>;
|
|
425
|
+
readonly renderers?: readonly InternalCellRenderer<InnerGridCell>[];
|
|
426
|
+
/**
|
|
427
|
+
* An array of custom renderers which can be used to extend the data grid.
|
|
428
|
+
* @group Advanced
|
|
429
|
+
*/
|
|
430
|
+
readonly customRenderers?: readonly CustomRenderer<any>[];
|
|
431
|
+
/**
|
|
432
|
+
* Scales most elements in the theme to match rem scaling automatically
|
|
433
|
+
* @defaultValue false
|
|
434
|
+
*/
|
|
435
|
+
readonly scaleToRem?: boolean;
|
|
436
|
+
/**
|
|
437
|
+
* Custom predicate function to decide whether the click event occurred outside the grid
|
|
438
|
+
* Especially used when custom editor is opened with the portal and is outside the grid, but there is no possibility
|
|
439
|
+
* to add a class "click-outside-ignore"
|
|
440
|
+
* If this function is supplied and returns false, the click event is ignored
|
|
441
|
+
*/
|
|
442
|
+
readonly isOutsideClick?: (e: MouseEvent | TouchEvent) => boolean;
|
|
443
|
+
/**
|
|
444
|
+
* Controls which directions fill is allowed in.
|
|
445
|
+
*/
|
|
446
|
+
readonly allowedFillDirections?: FillHandleDirection;
|
|
447
|
+
/**
|
|
448
|
+
* Determines when a cell is considered activated and will emit the `onCellActivated` event. Generally an activated
|
|
449
|
+
* cell will open to edit mode.
|
|
450
|
+
*/
|
|
451
|
+
readonly cellActivationBehavior?: CellActivationBehavior;
|
|
452
|
+
/**
|
|
453
|
+
* Controls if focus will trap inside the data grid when doing tab and caret navigation.
|
|
454
|
+
*/
|
|
455
|
+
readonly trapFocus?: boolean;
|
|
456
|
+
/**
|
|
457
|
+
* Allows overriding the default amount of bloom (the size growth of the overlay editor)
|
|
458
|
+
*/
|
|
459
|
+
readonly editorBloom?: readonly [number, number];
|
|
460
|
+
/**
|
|
461
|
+
* If set to true, the data grid will attempt to scroll to keep the selction in view
|
|
462
|
+
*/
|
|
463
|
+
readonly scrollToActiveCell?: boolean;
|
|
464
|
+
readonly drawFocusRing?: boolean | "no-editor";
|
|
465
|
+
/**
|
|
466
|
+
* Allows overriding the default portal element.
|
|
467
|
+
*/
|
|
468
|
+
readonly portalElementRef?: React.RefObject<HTMLElement>;
|
|
469
|
+
}
|
|
470
|
+
type ScrollToFn = (col: number | {
|
|
471
|
+
amount: number;
|
|
472
|
+
unit: "cell" | "px";
|
|
473
|
+
}, row: number | {
|
|
474
|
+
amount: number;
|
|
475
|
+
unit: "cell" | "px";
|
|
476
|
+
}, dir?: "horizontal" | "vertical" | "both", paddingX?: number, paddingY?: number, options?: {
|
|
477
|
+
hAlign?: "start" | "center" | "end";
|
|
478
|
+
vAlign?: "start" | "center" | "end";
|
|
479
|
+
behavior?: ScrollBehavior;
|
|
480
|
+
}) => void;
|
|
481
|
+
/** @category DataEditor */
|
|
482
|
+
export interface DataEditorRef {
|
|
483
|
+
/**
|
|
484
|
+
* Programatically appends a row.
|
|
485
|
+
* @param col The column index to focus in the new row.
|
|
486
|
+
* @returns A promise which waits for the append to complete.
|
|
487
|
+
*/
|
|
488
|
+
appendRow: (col: number, openOverlay?: boolean, behavior?: ScrollBehavior) => Promise<void>;
|
|
489
|
+
/**
|
|
490
|
+
* Programatically appends a column.
|
|
491
|
+
* @param row The row index to focus in the new column.
|
|
492
|
+
* @returns A promise which waits for the append to complete.
|
|
493
|
+
*/
|
|
494
|
+
appendColumn: (row: number, openOverlay?: boolean) => Promise<void>;
|
|
495
|
+
/**
|
|
496
|
+
* Triggers cells to redraw.
|
|
497
|
+
*/
|
|
498
|
+
updateCells: DataGridRef["damage"];
|
|
499
|
+
/**
|
|
500
|
+
* Gets the screen space bounds of the requested item.
|
|
501
|
+
*/
|
|
502
|
+
getBounds: DataGridRef["getBounds"];
|
|
503
|
+
/**
|
|
504
|
+
* Triggers the data grid to focus itself or the correct accessibility element.
|
|
505
|
+
*/
|
|
506
|
+
focus: DataGridRef["focus"];
|
|
507
|
+
/**
|
|
508
|
+
* Generic API for emitting events as if they had been triggered via user interaction.
|
|
509
|
+
*/
|
|
510
|
+
emit: (eventName: EmitEvents) => Promise<void>;
|
|
511
|
+
/**
|
|
512
|
+
* Scrolls to the desired cell or location in the grid.
|
|
513
|
+
*/
|
|
514
|
+
scrollTo: ScrollToFn;
|
|
515
|
+
/**
|
|
516
|
+
* Causes the columns in the selection to have their natural size recomputed and re-emitted as a resize event.
|
|
517
|
+
*/
|
|
518
|
+
remeasureColumns: (cols: CompactSelection) => void;
|
|
519
|
+
/**
|
|
520
|
+
* Gets the mouse args from pointer event position.
|
|
521
|
+
*/
|
|
522
|
+
getMouseArgsForPosition: (posX: number, posY: number, ev?: MouseEvent | TouchEvent) => GridMouseEventArgs | undefined;
|
|
523
|
+
}
|
|
524
|
+
export declare const emptyGridSelection: GridSelection;
|
|
525
|
+
/**
|
|
526
|
+
* The primary component of Glide Data Grid.
|
|
527
|
+
* @category DataEditor
|
|
528
|
+
* @param {DataEditorProps} props
|
|
529
|
+
*/
|
|
530
|
+
export declare const DataEditor: React.ForwardRefExoticComponent<DataEditorProps & React.RefAttributes<DataEditorRef>>;
|
|
531
|
+
export {};
|
|
532
|
+
//# sourceMappingURL=data-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-editor.d.ts","sourceRoot":"","sources":["../../../src/data-editor/data-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Rectangle } from "../internal/data-grid/data-grid-types.js";
|
|
3
|
+
interface Props {
|
|
4
|
+
readonly bounds: Rectangle;
|
|
5
|
+
readonly group: string;
|
|
6
|
+
readonly onClose: () => void;
|
|
7
|
+
readonly onFinish: (newVal: string) => void;
|
|
8
|
+
readonly canvasBounds: DOMRect;
|
|
9
|
+
}
|
|
10
|
+
export declare const GroupRename: React.FC<Props>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=group-rename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-rename.d.ts","sourceRoot":"","sources":["../../../src/data-editor/group-rename.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE1E,UAAU,KAAK;IACX,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAeD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuCvC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Item } from "../internal/data-grid/data-grid-types.js";
|
|
2
|
+
import { type RowGroup, type RowGroupingOptions, type MapResult } from "./row-grouping.js";
|
|
3
|
+
export interface RowGroupingMapperResult<T> extends Omit<MapResult, 'originalIndex'> {
|
|
4
|
+
path: readonly number[];
|
|
5
|
+
originalIndex: T;
|
|
6
|
+
isGroupHeader: boolean;
|
|
7
|
+
groupRows: number;
|
|
8
|
+
}
|
|
9
|
+
export type RowGroupingMapper = {
|
|
10
|
+
(itemOrRow: number): RowGroupingMapperResult<number>;
|
|
11
|
+
(itemOrRow: Item): RowGroupingMapperResult<Item>;
|
|
12
|
+
};
|
|
13
|
+
export interface UseRowGroupingResult {
|
|
14
|
+
readonly mapper: RowGroupingMapper;
|
|
15
|
+
readonly updateRowGroupingByPath: (rowGrouping: readonly RowGroup[], path: readonly number[], update: Partial<RowGroup>) => readonly RowGroup[];
|
|
16
|
+
readonly getRowGroupingForPath: (rowGrouping: readonly RowGroup[], path: readonly number[]) => RowGroup;
|
|
17
|
+
}
|
|
18
|
+
export declare function useRowGrouping(options: RowGroupingOptions | undefined, rows: number): UseRowGroupingResult;
|
|
19
|
+
export declare function updateRowGroupingByPath(rowGrouping: readonly RowGroup[], path: readonly number[], update: Partial<RowGroup>): readonly RowGroup[];
|
|
20
|
+
export declare function getRowGroupingForPath(rowGrouping: readonly RowGroup[], path: readonly number[]): RowGroup;
|
|
21
|
+
//# sourceMappingURL=row-grouping-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-grouping-api.d.ts","sourceRoot":"","sources":["../../../src/data-editor/row-grouping-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAuC,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEhI,MAAM,WAAW,uBAAuB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAChF,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,CAAC,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,SAAS,EAAE,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,CAC9B,WAAW,EAAE,SAAS,QAAQ,EAAE,EAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KACxB,SAAS,QAAQ,EAAE,CAAC;IACzB,QAAQ,CAAC,qBAAqB,EAAE,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,QAAQ,CAAC;CAC3G;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAuB1G;AAED,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,SAAS,QAAQ,EAAE,EAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC1B,SAAS,QAAQ,EAAE,CAQrB;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAMzG"}
|