@simple-table/vue 3.0.0-beta.10
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/dist/cjs/core/src/consts/column-constraints.d.ts +58 -0
- package/dist/cjs/core/src/consts/general-consts.d.ts +13 -0
- package/dist/cjs/core/src/core/SimpleTableVanilla.d.ts +71 -0
- package/dist/cjs/core/src/core/api/TableAPIImpl.d.ts +44 -0
- package/dist/cjs/core/src/core/dom/DOMManager.d.ts +50 -0
- package/dist/cjs/core/src/core/initialization/TableInitializer.d.ts +30 -0
- package/dist/cjs/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
- package/dist/cjs/core/src/core/rendering/SectionRenderer.d.ts +61 -0
- package/dist/cjs/core/src/core/rendering/TableRenderer.d.ts +89 -0
- package/dist/cjs/core/src/hooks/ariaAnnouncements.d.ts +37 -0
- package/dist/cjs/core/src/hooks/contentHeight.d.ts +23 -0
- package/dist/cjs/core/src/hooks/expandedDepths.d.ts +65 -0
- package/dist/cjs/core/src/hooks/handleOutsideClick.d.ts +50 -0
- package/dist/cjs/core/src/hooks/previousValue.d.ts +30 -0
- package/dist/cjs/core/src/hooks/scrollbarVisibility.d.ts +65 -0
- package/dist/cjs/core/src/hooks/scrollbarWidth.d.ts +52 -0
- package/dist/cjs/core/src/hooks/useAggregatedRows.d.ts +14 -0
- package/dist/cjs/core/src/hooks/useQuickFilter.d.ts +14 -0
- package/dist/cjs/core/src/hooks/windowResize.d.ts +31 -0
- package/dist/cjs/core/src/icons/AngleDownIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/AngleLeftIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/AngleRightIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/AngleUpIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/AscIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/CheckIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/DescIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/DragIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/FilterIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/SelectIcon.d.ts +1 -0
- package/dist/cjs/core/src/icons/index.d.ts +14 -0
- package/dist/cjs/core/src/index.d.ts +48 -0
- package/dist/cjs/core/src/managers/AutoScaleManager.d.ts +26 -0
- package/dist/cjs/core/src/managers/DimensionManager.d.ts +42 -0
- package/dist/cjs/core/src/managers/DragHandlerManager.d.ts +44 -0
- package/dist/cjs/core/src/managers/FilterManager.d.ts +36 -0
- package/dist/cjs/core/src/managers/RowManager.d.ts +56 -0
- package/dist/cjs/core/src/managers/RowSelectionManager.d.ts +36 -0
- package/dist/cjs/core/src/managers/ScrollManager.d.ts +35 -0
- package/dist/cjs/core/src/managers/SectionScrollController.d.ts +50 -0
- package/dist/cjs/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
- package/dist/cjs/core/src/managers/SelectionManager/index.d.ts +2 -0
- package/dist/cjs/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
- package/dist/cjs/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
- package/dist/cjs/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
- package/dist/cjs/core/src/managers/SelectionManager/types.d.ts +22 -0
- package/dist/cjs/core/src/managers/SortManager.d.ts +42 -0
- package/dist/cjs/core/src/types/AggregationTypes.d.ts +8 -0
- package/dist/cjs/core/src/types/BoundingBox.d.ts +11 -0
- package/dist/cjs/core/src/types/Cell.d.ts +7 -0
- package/dist/cjs/core/src/types/CellChangeProps.d.ts +9 -0
- package/dist/cjs/core/src/types/CellClickProps.d.ts +11 -0
- package/dist/cjs/core/src/types/CellRendererProps.d.ts +32 -0
- package/dist/cjs/core/src/types/CellValue.d.ts +2 -0
- package/dist/cjs/core/src/types/ColumnEditorConfig.d.ts +32 -0
- package/dist/cjs/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
- package/dist/cjs/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
- package/dist/cjs/core/src/types/CustomTheme.d.ts +26 -0
- package/dist/cjs/core/src/types/DragHandlerProps.d.ts +14 -0
- package/dist/cjs/core/src/types/EnumOption.d.ts +5 -0
- package/dist/cjs/core/src/types/FilterTypes.d.ts +22 -0
- package/dist/cjs/core/src/types/FlattenedHeader.d.ts +10 -0
- package/dist/cjs/core/src/types/FooterRendererProps.d.ts +17 -0
- package/dist/cjs/core/src/types/GenerateRowIdParams.d.ts +11 -0
- package/dist/cjs/core/src/types/GetRowId.d.ts +10 -0
- package/dist/cjs/core/src/types/HandleResizeStartProps.d.ts +21 -0
- package/dist/cjs/core/src/types/HeaderDropdownProps.d.ts +14 -0
- package/dist/cjs/core/src/types/HeaderObject.d.ts +98 -0
- package/dist/cjs/core/src/types/HeaderRendererProps.d.ts +17 -0
- package/dist/cjs/core/src/types/IconsConfig.d.ts +19 -0
- package/dist/cjs/core/src/types/OnNextPage.d.ts +2 -0
- package/dist/cjs/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
- package/dist/cjs/core/src/types/OnSortProps.d.ts +3 -0
- package/dist/cjs/core/src/types/PanelSection.d.ts +1 -0
- package/dist/cjs/core/src/types/Pinned.d.ts +1 -0
- package/dist/cjs/core/src/types/PinnedSectionsState.d.ts +6 -0
- package/dist/cjs/core/src/types/QuickFilterTypes.d.ts +21 -0
- package/dist/cjs/core/src/types/Row.d.ts +3 -0
- package/dist/cjs/core/src/types/RowButton.d.ts +6 -0
- package/dist/cjs/core/src/types/RowId.d.ts +1 -0
- package/dist/cjs/core/src/types/RowSelectionChangeProps.d.ts +7 -0
- package/dist/cjs/core/src/types/RowState.d.ts +12 -0
- package/dist/cjs/core/src/types/RowStateRendererProps.d.ts +18 -0
- package/dist/cjs/core/src/types/SharedTableProps.d.ts +24 -0
- package/dist/cjs/core/src/types/SimpleTableConfig.d.ts +88 -0
- package/dist/cjs/core/src/types/SimpleTableProps.d.ts +99 -0
- package/dist/cjs/core/src/types/SortColumn.d.ts +8 -0
- package/dist/cjs/core/src/types/TableAPI.d.ts +57 -0
- package/dist/cjs/core/src/types/TableHeaderProps.d.ts +17 -0
- package/dist/cjs/core/src/types/TableRefType.d.ts +78 -0
- package/dist/cjs/core/src/types/TableRow.d.ts +29 -0
- package/dist/cjs/core/src/types/TableRowProps.d.ts +29 -0
- package/dist/cjs/core/src/types/Theme.d.ts +2 -0
- package/dist/cjs/core/src/types/UpdateCellProps.d.ts +8 -0
- package/dist/cjs/core/src/utils/bodyCell/content.d.ts +5 -0
- package/dist/cjs/core/src/utils/bodyCell/editing.d.ts +4 -0
- package/dist/cjs/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
- package/dist/cjs/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
- package/dist/cjs/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
- package/dist/cjs/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
- package/dist/cjs/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
- package/dist/cjs/core/src/utils/bodyCell/expansion.d.ts +4 -0
- package/dist/cjs/core/src/utils/bodyCell/selection.d.ts +7 -0
- package/dist/cjs/core/src/utils/bodyCell/styling.d.ts +5 -0
- package/dist/cjs/core/src/utils/bodyCell/types.d.ts +103 -0
- package/dist/cjs/core/src/utils/bodyCellRenderer.d.ts +5 -0
- package/dist/cjs/core/src/utils/cellClipboardUtils.d.ts +25 -0
- package/dist/cjs/core/src/utils/cellScrollUtils.d.ts +10 -0
- package/dist/cjs/core/src/utils/cellUtils.d.ts +18 -0
- package/dist/cjs/core/src/utils/charts/createBarChart.d.ts +15 -0
- package/dist/cjs/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
- package/dist/cjs/core/src/utils/collapseUtils.d.ts +24 -0
- package/dist/cjs/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
- package/dist/cjs/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
- package/dist/cjs/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
- package/dist/cjs/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
- package/dist/cjs/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
- package/dist/cjs/core/src/utils/csvExportUtils.d.ts +14 -0
- package/dist/cjs/core/src/utils/dateUtils.d.ts +18 -0
- package/dist/cjs/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
- package/dist/cjs/core/src/utils/filterUtils.d.ts +5 -0
- package/dist/cjs/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
- package/dist/cjs/core/src/utils/filters/createCustomSelect.d.ts +20 -0
- package/dist/cjs/core/src/utils/filters/createDateFilter.d.ts +15 -0
- package/dist/cjs/core/src/utils/filters/createDatePicker.d.ts +10 -0
- package/dist/cjs/core/src/utils/filters/createDropdown.d.ts +16 -0
- package/dist/cjs/core/src/utils/filters/createEnumFilter.d.ts +15 -0
- package/dist/cjs/core/src/utils/filters/createFilterActions.d.ts +11 -0
- package/dist/cjs/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
- package/dist/cjs/core/src/utils/filters/createFilterInput.d.ts +16 -0
- package/dist/cjs/core/src/utils/filters/createNumberFilter.d.ts +15 -0
- package/dist/cjs/core/src/utils/filters/createStringFilter.d.ts +15 -0
- package/dist/cjs/core/src/utils/footer/createTableFooter.d.ts +21 -0
- package/dist/cjs/core/src/utils/formatters.d.ts +3 -0
- package/dist/cjs/core/src/utils/generalUtils.d.ts +4 -0
- package/dist/cjs/core/src/utils/headerCell/collapsing.d.ts +6 -0
- package/dist/cjs/core/src/utils/headerCell/dragging.d.ts +5 -0
- package/dist/cjs/core/src/utils/headerCell/editing.d.ts +4 -0
- package/dist/cjs/core/src/utils/headerCell/eventTracking.d.ts +25 -0
- package/dist/cjs/core/src/utils/headerCell/filtering.d.ts +3 -0
- package/dist/cjs/core/src/utils/headerCell/resizing.d.ts +3 -0
- package/dist/cjs/core/src/utils/headerCell/selection.d.ts +10 -0
- package/dist/cjs/core/src/utils/headerCell/sorting.d.ts +3 -0
- package/dist/cjs/core/src/utils/headerCell/styling.d.ts +5 -0
- package/dist/cjs/core/src/utils/headerCell/types.d.ts +75 -0
- package/dist/cjs/core/src/utils/headerCellRenderer.d.ts +4 -0
- package/dist/cjs/core/src/utils/headerUtils.d.ts +41 -0
- package/dist/cjs/core/src/utils/headerWidthUtils.d.ts +56 -0
- package/dist/cjs/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
- package/dist/cjs/core/src/utils/infiniteScrollUtils.d.ts +145 -0
- package/dist/cjs/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
- package/dist/cjs/core/src/utils/pinnedColumnUtils.d.ts +25 -0
- package/dist/cjs/core/src/utils/quickFilterUtils.d.ts +14 -0
- package/dist/cjs/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
- package/dist/cjs/core/src/utils/resizeUtils/compensation.d.ts +11 -0
- package/dist/cjs/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
- package/dist/cjs/core/src/utils/resizeUtils/index.d.ts +5 -0
- package/dist/cjs/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
- package/dist/cjs/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
- package/dist/cjs/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
- package/dist/cjs/core/src/utils/rowFlattening.d.ts +30 -0
- package/dist/cjs/core/src/utils/rowProcessing.d.ts +36 -0
- package/dist/cjs/core/src/utils/rowSelectionUtils.d.ts +39 -0
- package/dist/cjs/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
- package/dist/cjs/core/src/utils/rowUtils.d.ts +136 -0
- package/dist/cjs/core/src/utils/sortUtils.d.ts +8 -0
- package/dist/cjs/core/src/utils/stateRowRenderer.d.ts +15 -0
- package/dist/cjs/core/src/utils/stickyParentsRenderer.d.ts +30 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/vue/src/SimpleTable.d.ts +4 -0
- package/dist/cjs/vue/src/buildVanillaConfig.d.ts +3 -0
- package/dist/cjs/vue/src/index.d.ts +3 -0
- package/dist/cjs/vue/src/types.d.ts +51 -0
- package/dist/cjs/vue/src/utils/wrapVueRenderer.d.ts +21 -0
- package/dist/core/src/consts/column-constraints.d.ts +58 -0
- package/dist/core/src/consts/general-consts.d.ts +13 -0
- package/dist/core/src/core/SimpleTableVanilla.d.ts +71 -0
- package/dist/core/src/core/api/TableAPIImpl.d.ts +44 -0
- package/dist/core/src/core/dom/DOMManager.d.ts +50 -0
- package/dist/core/src/core/initialization/TableInitializer.d.ts +30 -0
- package/dist/core/src/core/rendering/RenderOrchestrator.d.ts +123 -0
- package/dist/core/src/core/rendering/SectionRenderer.d.ts +61 -0
- package/dist/core/src/core/rendering/TableRenderer.d.ts +89 -0
- package/dist/core/src/hooks/ariaAnnouncements.d.ts +37 -0
- package/dist/core/src/hooks/contentHeight.d.ts +23 -0
- package/dist/core/src/hooks/expandedDepths.d.ts +65 -0
- package/dist/core/src/hooks/handleOutsideClick.d.ts +50 -0
- package/dist/core/src/hooks/previousValue.d.ts +30 -0
- package/dist/core/src/hooks/scrollbarVisibility.d.ts +65 -0
- package/dist/core/src/hooks/scrollbarWidth.d.ts +52 -0
- package/dist/core/src/hooks/useAggregatedRows.d.ts +14 -0
- package/dist/core/src/hooks/useQuickFilter.d.ts +14 -0
- package/dist/core/src/hooks/windowResize.d.ts +31 -0
- package/dist/core/src/icons/AngleDownIcon.d.ts +1 -0
- package/dist/core/src/icons/AngleLeftIcon.d.ts +1 -0
- package/dist/core/src/icons/AngleRightIcon.d.ts +1 -0
- package/dist/core/src/icons/AngleUpIcon.d.ts +1 -0
- package/dist/core/src/icons/AscIcon.d.ts +1 -0
- package/dist/core/src/icons/CheckIcon.d.ts +1 -0
- package/dist/core/src/icons/DescIcon.d.ts +1 -0
- package/dist/core/src/icons/DragIcon.d.ts +1 -0
- package/dist/core/src/icons/FilterIcon.d.ts +1 -0
- package/dist/core/src/icons/SelectIcon.d.ts +1 -0
- package/dist/core/src/icons/index.d.ts +14 -0
- package/dist/core/src/index.d.ts +48 -0
- package/dist/core/src/managers/AutoScaleManager.d.ts +26 -0
- package/dist/core/src/managers/DimensionManager.d.ts +42 -0
- package/dist/core/src/managers/DragHandlerManager.d.ts +44 -0
- package/dist/core/src/managers/FilterManager.d.ts +36 -0
- package/dist/core/src/managers/RowManager.d.ts +56 -0
- package/dist/core/src/managers/RowSelectionManager.d.ts +36 -0
- package/dist/core/src/managers/ScrollManager.d.ts +35 -0
- package/dist/core/src/managers/SectionScrollController.d.ts +50 -0
- package/dist/core/src/managers/SelectionManager/SelectionManager.d.ts +246 -0
- package/dist/core/src/managers/SelectionManager/index.d.ts +2 -0
- package/dist/core/src/managers/SelectionManager/keyboardUtils.d.ts +7 -0
- package/dist/core/src/managers/SelectionManager/mouseUtils.d.ts +15 -0
- package/dist/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +7 -0
- package/dist/core/src/managers/SelectionManager/types.d.ts +22 -0
- package/dist/core/src/managers/SortManager.d.ts +42 -0
- package/dist/core/src/types/AggregationTypes.d.ts +8 -0
- package/dist/core/src/types/BoundingBox.d.ts +11 -0
- package/dist/core/src/types/Cell.d.ts +7 -0
- package/dist/core/src/types/CellChangeProps.d.ts +9 -0
- package/dist/core/src/types/CellClickProps.d.ts +11 -0
- package/dist/core/src/types/CellRendererProps.d.ts +32 -0
- package/dist/core/src/types/CellValue.d.ts +2 -0
- package/dist/core/src/types/ColumnEditorConfig.d.ts +32 -0
- package/dist/core/src/types/ColumnEditorRowRendererProps.d.ts +39 -0
- package/dist/core/src/types/ColumnVisibilityTypes.d.ts +4 -0
- package/dist/core/src/types/CustomTheme.d.ts +26 -0
- package/dist/core/src/types/DragHandlerProps.d.ts +14 -0
- package/dist/core/src/types/EnumOption.d.ts +5 -0
- package/dist/core/src/types/FilterTypes.d.ts +22 -0
- package/dist/core/src/types/FlattenedHeader.d.ts +10 -0
- package/dist/core/src/types/FooterRendererProps.d.ts +17 -0
- package/dist/core/src/types/GenerateRowIdParams.d.ts +11 -0
- package/dist/core/src/types/GetRowId.d.ts +10 -0
- package/dist/core/src/types/HandleResizeStartProps.d.ts +21 -0
- package/dist/core/src/types/HeaderDropdownProps.d.ts +14 -0
- package/dist/core/src/types/HeaderObject.d.ts +98 -0
- package/dist/core/src/types/HeaderRendererProps.d.ts +17 -0
- package/dist/core/src/types/IconsConfig.d.ts +19 -0
- package/dist/core/src/types/OnNextPage.d.ts +2 -0
- package/dist/core/src/types/OnRowGroupExpandProps.d.ts +16 -0
- package/dist/core/src/types/OnSortProps.d.ts +3 -0
- package/dist/core/src/types/PanelSection.d.ts +1 -0
- package/dist/core/src/types/Pinned.d.ts +1 -0
- package/dist/core/src/types/PinnedSectionsState.d.ts +6 -0
- package/dist/core/src/types/QuickFilterTypes.d.ts +21 -0
- package/dist/core/src/types/Row.d.ts +3 -0
- package/dist/core/src/types/RowButton.d.ts +6 -0
- package/dist/core/src/types/RowId.d.ts +1 -0
- package/dist/core/src/types/RowSelectionChangeProps.d.ts +7 -0
- package/dist/core/src/types/RowState.d.ts +12 -0
- package/dist/core/src/types/RowStateRendererProps.d.ts +18 -0
- package/dist/core/src/types/SharedTableProps.d.ts +24 -0
- package/dist/core/src/types/SimpleTableConfig.d.ts +88 -0
- package/dist/core/src/types/SimpleTableProps.d.ts +99 -0
- package/dist/core/src/types/SortColumn.d.ts +8 -0
- package/dist/core/src/types/TableAPI.d.ts +57 -0
- package/dist/core/src/types/TableHeaderProps.d.ts +17 -0
- package/dist/core/src/types/TableRefType.d.ts +78 -0
- package/dist/core/src/types/TableRow.d.ts +29 -0
- package/dist/core/src/types/TableRowProps.d.ts +29 -0
- package/dist/core/src/types/Theme.d.ts +2 -0
- package/dist/core/src/types/UpdateCellProps.d.ts +8 -0
- package/dist/core/src/utils/bodyCell/content.d.ts +5 -0
- package/dist/core/src/utils/bodyCell/editing.d.ts +4 -0
- package/dist/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +2 -0
- package/dist/core/src/utils/bodyCell/editors/datePicker.d.ts +2 -0
- package/dist/core/src/utils/bodyCell/editors/dropdown.d.ts +18 -0
- package/dist/core/src/utils/bodyCell/editors/enumDropdown.d.ts +2 -0
- package/dist/core/src/utils/bodyCell/eventTracking.d.ts +3 -0
- package/dist/core/src/utils/bodyCell/expansion.d.ts +4 -0
- package/dist/core/src/utils/bodyCell/selection.d.ts +7 -0
- package/dist/core/src/utils/bodyCell/styling.d.ts +5 -0
- package/dist/core/src/utils/bodyCell/types.d.ts +103 -0
- package/dist/core/src/utils/bodyCellRenderer.d.ts +5 -0
- package/dist/core/src/utils/cellClipboardUtils.d.ts +25 -0
- package/dist/core/src/utils/cellScrollUtils.d.ts +10 -0
- package/dist/core/src/utils/cellUtils.d.ts +18 -0
- package/dist/core/src/utils/charts/createBarChart.d.ts +15 -0
- package/dist/core/src/utils/charts/createLineAreaChart.d.ts +17 -0
- package/dist/core/src/utils/collapseUtils.d.ts +24 -0
- package/dist/core/src/utils/columnEditor/columnEditorUtils.d.ts +14 -0
- package/dist/core/src/utils/columnEditor/createCheckbox.d.ts +21 -0
- package/dist/core/src/utils/columnEditor/createColumnEditor.d.ts +25 -0
- package/dist/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +22 -0
- package/dist/core/src/utils/columnEditor/createColumnEditorRow.d.ts +31 -0
- package/dist/core/src/utils/csvExportUtils.d.ts +14 -0
- package/dist/core/src/utils/dateUtils.d.ts +18 -0
- package/dist/core/src/utils/deprecatedPropsWarnings.d.ts +10 -0
- package/dist/core/src/utils/filterUtils.d.ts +5 -0
- package/dist/core/src/utils/filters/createBooleanFilter.d.ts +15 -0
- package/dist/core/src/utils/filters/createCustomSelect.d.ts +20 -0
- package/dist/core/src/utils/filters/createDateFilter.d.ts +15 -0
- package/dist/core/src/utils/filters/createDatePicker.d.ts +10 -0
- package/dist/core/src/utils/filters/createDropdown.d.ts +16 -0
- package/dist/core/src/utils/filters/createEnumFilter.d.ts +15 -0
- package/dist/core/src/utils/filters/createFilterActions.d.ts +11 -0
- package/dist/core/src/utils/filters/createFilterDropdown.d.ts +15 -0
- package/dist/core/src/utils/filters/createFilterInput.d.ts +16 -0
- package/dist/core/src/utils/filters/createNumberFilter.d.ts +15 -0
- package/dist/core/src/utils/filters/createStringFilter.d.ts +15 -0
- package/dist/core/src/utils/footer/createTableFooter.d.ts +21 -0
- package/dist/core/src/utils/formatters.d.ts +3 -0
- package/dist/core/src/utils/generalUtils.d.ts +4 -0
- package/dist/core/src/utils/headerCell/collapsing.d.ts +6 -0
- package/dist/core/src/utils/headerCell/dragging.d.ts +5 -0
- package/dist/core/src/utils/headerCell/editing.d.ts +4 -0
- package/dist/core/src/utils/headerCell/eventTracking.d.ts +25 -0
- package/dist/core/src/utils/headerCell/filtering.d.ts +3 -0
- package/dist/core/src/utils/headerCell/resizing.d.ts +3 -0
- package/dist/core/src/utils/headerCell/selection.d.ts +10 -0
- package/dist/core/src/utils/headerCell/sorting.d.ts +3 -0
- package/dist/core/src/utils/headerCell/styling.d.ts +5 -0
- package/dist/core/src/utils/headerCell/types.d.ts +75 -0
- package/dist/core/src/utils/headerCellRenderer.d.ts +4 -0
- package/dist/core/src/utils/headerUtils.d.ts +41 -0
- package/dist/core/src/utils/headerWidthUtils.d.ts +56 -0
- package/dist/core/src/utils/horizontalScrollbarRenderer.d.ts +14 -0
- package/dist/core/src/utils/infiniteScrollUtils.d.ts +145 -0
- package/dist/core/src/utils/nestedGridRowRenderer.d.ts +34 -0
- package/dist/core/src/utils/pinnedColumnUtils.d.ts +25 -0
- package/dist/core/src/utils/quickFilterUtils.d.ts +14 -0
- package/dist/core/src/utils/resizeUtils/autoExpandResize.d.ts +21 -0
- package/dist/core/src/utils/resizeUtils/compensation.d.ts +11 -0
- package/dist/core/src/utils/resizeUtils/domUpdates.d.ts +15 -0
- package/dist/core/src/utils/resizeUtils/index.d.ts +5 -0
- package/dist/core/src/utils/resizeUtils/maxWidth.d.ts +9 -0
- package/dist/core/src/utils/resizeUtils/parentHeaderResize.d.ts +11 -0
- package/dist/core/src/utils/resizeUtils/sectionWidths.d.ts +16 -0
- package/dist/core/src/utils/rowFlattening.d.ts +30 -0
- package/dist/core/src/utils/rowProcessing.d.ts +36 -0
- package/dist/core/src/utils/rowSelectionUtils.d.ts +39 -0
- package/dist/core/src/utils/rowSeparatorRenderer.d.ts +12 -0
- package/dist/core/src/utils/rowUtils.d.ts +136 -0
- package/dist/core/src/utils/sortUtils.d.ts +8 -0
- package/dist/core/src/utils/stateRowRenderer.d.ts +15 -0
- package/dist/core/src/utils/stickyParentsRenderer.d.ts +30 -0
- package/dist/index.es.js +2 -0
- package/dist/index.es.js.map +1 -0
- package/dist/vue/src/SimpleTable.d.ts +4 -0
- package/dist/vue/src/buildVanillaConfig.d.ts +3 -0
- package/dist/vue/src/index.d.ts +3 -0
- package/dist/vue/src/types.d.ts +51 -0
- package/dist/vue/src/utils/wrapVueRenderer.d.ts +21 -0
- package/package.json +67 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface CustomSelectOption {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export interface CreateCustomSelectOptions {
|
|
6
|
+
value: string;
|
|
7
|
+
onChange: (value: string) => void;
|
|
8
|
+
options: CustomSelectOption[];
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
containerRef?: HTMLElement;
|
|
13
|
+
mainBodyRef?: HTMLElement;
|
|
14
|
+
}
|
|
15
|
+
export declare const createCustomSelect: (options: CreateCustomSelectOptions) => {
|
|
16
|
+
element: HTMLDivElement;
|
|
17
|
+
update: (newOptions: Partial<CreateCustomSelectOptions>) => void;
|
|
18
|
+
destroy: () => void;
|
|
19
|
+
setOpen: (newOpen: boolean) => void;
|
|
20
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { FilterCondition } from "../../types/FilterTypes";
|
|
3
|
+
export interface CreateDateFilterOptions {
|
|
4
|
+
header: HeaderObject;
|
|
5
|
+
currentFilter?: FilterCondition;
|
|
6
|
+
onApplyFilter: (filter: FilterCondition) => void;
|
|
7
|
+
onClearFilter: () => void;
|
|
8
|
+
containerRef?: HTMLElement;
|
|
9
|
+
mainBodyRef?: HTMLElement;
|
|
10
|
+
}
|
|
11
|
+
export declare const createDateFilter: (options: CreateDateFilterOptions) => {
|
|
12
|
+
element: HTMLDivElement;
|
|
13
|
+
update: (newOptions: Partial<CreateDateFilterOptions>) => void;
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CreateDatePickerOptions {
|
|
2
|
+
onChange: (date: Date) => void;
|
|
3
|
+
onClose?: () => void;
|
|
4
|
+
value: Date;
|
|
5
|
+
}
|
|
6
|
+
export declare const createDatePicker: (options: CreateDatePickerOptions) => {
|
|
7
|
+
element: HTMLDivElement;
|
|
8
|
+
update: (newOptions: Partial<CreateDatePickerOptions>) => void;
|
|
9
|
+
destroy: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface CreateDropdownOptions {
|
|
2
|
+
children: HTMLElement;
|
|
3
|
+
containerRef?: HTMLElement;
|
|
4
|
+
mainBodyRef?: HTMLElement;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
open: boolean;
|
|
7
|
+
overflow?: "auto" | "visible" | "hidden";
|
|
8
|
+
width?: number;
|
|
9
|
+
positioning?: "fixed" | "absolute";
|
|
10
|
+
}
|
|
11
|
+
export declare const createDropdown: (options: CreateDropdownOptions) => {
|
|
12
|
+
element: HTMLDivElement;
|
|
13
|
+
update: (newOptions: Partial<CreateDropdownOptions>) => void;
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
setOpen: (newOpen: boolean) => void;
|
|
16
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { FilterCondition } from "../../types/FilterTypes";
|
|
3
|
+
export interface CreateEnumFilterOptions {
|
|
4
|
+
header: HeaderObject;
|
|
5
|
+
currentFilter?: FilterCondition;
|
|
6
|
+
onApplyFilter: (filter: FilterCondition) => void;
|
|
7
|
+
onClearFilter: () => void;
|
|
8
|
+
containerRef?: HTMLElement;
|
|
9
|
+
mainBodyRef?: HTMLElement;
|
|
10
|
+
}
|
|
11
|
+
export declare const createEnumFilter: (options: CreateEnumFilterOptions) => {
|
|
12
|
+
element: HTMLDivElement;
|
|
13
|
+
update: (newOptions: Partial<CreateEnumFilterOptions>) => void;
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface CreateFilterActionsOptions {
|
|
2
|
+
onApply: () => void;
|
|
3
|
+
onClear?: () => void;
|
|
4
|
+
canApply: boolean;
|
|
5
|
+
showClear: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const createFilterActions: (options: CreateFilterActionsOptions) => {
|
|
8
|
+
element: HTMLDivElement;
|
|
9
|
+
update: (newOptions: Partial<CreateFilterActionsOptions>) => void;
|
|
10
|
+
destroy: () => void;
|
|
11
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { FilterCondition } from "../../types/FilterTypes";
|
|
3
|
+
export interface CreateFilterDropdownOptions {
|
|
4
|
+
header: HeaderObject;
|
|
5
|
+
currentFilter?: FilterCondition;
|
|
6
|
+
onApplyFilter: (filter: FilterCondition) => void;
|
|
7
|
+
onClearFilter: () => void;
|
|
8
|
+
containerRef?: HTMLElement;
|
|
9
|
+
mainBodyRef?: HTMLElement;
|
|
10
|
+
}
|
|
11
|
+
export declare const createFilterDropdown: (options: CreateFilterDropdownOptions) => {
|
|
12
|
+
element: HTMLDivElement;
|
|
13
|
+
update: (newOptions: Partial<import("./createStringFilter").CreateStringFilterOptions>) => void;
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface CreateFilterInputOptions {
|
|
2
|
+
type?: "text" | "number" | "date";
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
onEnter?: () => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
autoFocus?: boolean;
|
|
8
|
+
min?: string;
|
|
9
|
+
max?: string;
|
|
10
|
+
step?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const createFilterInput: (options: CreateFilterInputOptions) => {
|
|
13
|
+
element: HTMLInputElement;
|
|
14
|
+
update: (newOptions: Partial<CreateFilterInputOptions>) => void;
|
|
15
|
+
destroy: () => void;
|
|
16
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { FilterCondition } from "../../types/FilterTypes";
|
|
3
|
+
export interface CreateNumberFilterOptions {
|
|
4
|
+
header: HeaderObject;
|
|
5
|
+
currentFilter?: FilterCondition;
|
|
6
|
+
onApplyFilter: (filter: FilterCondition) => void;
|
|
7
|
+
onClearFilter: () => void;
|
|
8
|
+
containerRef?: HTMLElement;
|
|
9
|
+
mainBodyRef?: HTMLElement;
|
|
10
|
+
}
|
|
11
|
+
export declare const createNumberFilter: (options: CreateNumberFilterOptions) => {
|
|
12
|
+
element: HTMLDivElement;
|
|
13
|
+
update: (newOptions: Partial<CreateNumberFilterOptions>) => void;
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { FilterCondition } from "../../types/FilterTypes";
|
|
3
|
+
export interface CreateStringFilterOptions {
|
|
4
|
+
header: HeaderObject;
|
|
5
|
+
currentFilter?: FilterCondition;
|
|
6
|
+
onApplyFilter: (filter: FilterCondition) => void;
|
|
7
|
+
onClearFilter: () => void;
|
|
8
|
+
containerRef?: HTMLElement;
|
|
9
|
+
mainBodyRef?: HTMLElement;
|
|
10
|
+
}
|
|
11
|
+
export declare const createStringFilter: (options: CreateStringFilterOptions) => {
|
|
12
|
+
element: HTMLDivElement;
|
|
13
|
+
update: (newOptions: Partial<CreateStringFilterOptions>) => void;
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import OnNextPage from "../../types/OnNextPage";
|
|
2
|
+
export interface CreateTableFooterOptions {
|
|
3
|
+
currentPage: number;
|
|
4
|
+
hideFooter?: boolean;
|
|
5
|
+
onPageChange: (page: number) => void;
|
|
6
|
+
onNextPage?: OnNextPage;
|
|
7
|
+
onUserPageChange?: (page: number) => void | Promise<void>;
|
|
8
|
+
rowsPerPage: number;
|
|
9
|
+
shouldPaginate?: boolean;
|
|
10
|
+
totalPages: number;
|
|
11
|
+
totalRows: number;
|
|
12
|
+
/** Custom icon for previous page button (string = HTML, HTMLElement = node to clone/append). */
|
|
13
|
+
prevIcon?: string | HTMLElement | SVGSVGElement;
|
|
14
|
+
/** Custom icon for next page button. */
|
|
15
|
+
nextIcon?: string | HTMLElement | SVGSVGElement;
|
|
16
|
+
}
|
|
17
|
+
export declare const createTableFooter: (options: CreateTableFooterOptions) => {
|
|
18
|
+
element: HTMLDivElement;
|
|
19
|
+
update: (newOptions: Partial<CreateTableFooterOptions>) => void;
|
|
20
|
+
destroy: () => void;
|
|
21
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { HeaderRenderContext } from "./types";
|
|
3
|
+
/** Use same icon and animation as body row expand/collapse (icons.expand + st-expand-icon-container). */
|
|
4
|
+
export declare const createCollapseIcon: (header: HeaderObject, context: HeaderRenderContext) => HTMLElement | null;
|
|
5
|
+
/** Update header collapse icon direction on an existing cell (same pattern as body updateExpandIconState). */
|
|
6
|
+
export declare const updateHeaderCollapseIconState: (cellElement: HTMLElement, isCollapsed: boolean, label?: string) => void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { HeaderRenderContext } from "./types";
|
|
3
|
+
export declare const handleColumnHeaderClick: (event: MouseEvent, header: HeaderObject, colIndex: number, context: HeaderRenderContext) => void;
|
|
4
|
+
export declare const handleColumnHeaderDoubleClick: (event: MouseEvent, header: HeaderObject, context: HeaderRenderContext) => void;
|
|
5
|
+
export declare const attachDragHandlers: (labelElement: HTMLElement, cellElement: HTMLElement, header: HeaderObject, context: HeaderRenderContext) => void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import { HeaderRenderContext } from "./types";
|
|
3
|
+
export declare const createEditableInput: (header: HeaderObject, context: HeaderRenderContext, labelContainer: HTMLElement) => HTMLInputElement;
|
|
4
|
+
export declare const createLabelContent: (header: HeaderObject, context: HeaderRenderContext, labelOverride?: string) => HTMLElement;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
export declare let prevUpdateTime: number;
|
|
3
|
+
export declare let prevDraggingPosition: {
|
|
4
|
+
screenX: number;
|
|
5
|
+
screenY: number;
|
|
6
|
+
};
|
|
7
|
+
export declare let prevHeaders: HeaderObject[] | null;
|
|
8
|
+
export declare const setPrevUpdateTime: (time: number) => void;
|
|
9
|
+
export declare const setPrevDraggingPosition: (position: {
|
|
10
|
+
screenX: number;
|
|
11
|
+
screenY: number;
|
|
12
|
+
}) => void;
|
|
13
|
+
export declare const setPrevHeaders: (headers: HeaderObject[] | null) => void;
|
|
14
|
+
export declare const getRenderedCells: (container: HTMLElement) => Map<string, HTMLElement>;
|
|
15
|
+
export interface CachedHeaderPosition {
|
|
16
|
+
left: number;
|
|
17
|
+
top: number;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
}
|
|
21
|
+
export declare const getHeaderPositionCache: (container: HTMLElement) => Map<string, CachedHeaderPosition>;
|
|
22
|
+
export declare const REVERT_TO_PREVIOUS_HEADERS_DELAY = 1500;
|
|
23
|
+
export declare const throttle: (callback: () => void, limit: number) => void;
|
|
24
|
+
export declare const addTrackedEventListener: (element: HTMLElement, event: string, handler: EventListener, options?: AddEventListenerOptions) => void;
|
|
25
|
+
export declare const cleanupHeaderCellRendering: (container?: HTMLElement) => void;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HeaderRenderContext } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Updates an existing header select-all checkbox to match the current checked state.
|
|
4
|
+
* Use when selection changes but the header cell DOM is reused (e.g. from cache).
|
|
5
|
+
*/
|
|
6
|
+
export declare const updateHeaderSelectionCheckbox: (cellElement: HTMLElement, checked: boolean) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Creates the header select-all checkbox using the shared createCheckbox (same as column editor popout).
|
|
9
|
+
*/
|
|
10
|
+
export declare const createSelectionCheckbox: (context: HeaderRenderContext) => HTMLElement;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AbsoluteCell, HeaderRenderContext } from "./types";
|
|
2
|
+
export declare const calculateHeaderCellClasses: (cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => string;
|
|
3
|
+
export declare const createHeaderCellElement: (cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => HTMLElement;
|
|
4
|
+
export declare const getLastHeaderIndex: (absoluteCells: AbsoluteCell[]) => number;
|
|
5
|
+
export declare const updateHeaderCellElement: (cellElement: HTMLElement, cell: AbsoluteCell, context: HeaderRenderContext, isLastHeader: boolean) => void;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import HeaderObject, { Accessor } from "../../types/HeaderObject";
|
|
2
|
+
import SortColumn from "../../types/SortColumn";
|
|
3
|
+
import { TableFilterState, FilterCondition } from "../../types/FilterTypes";
|
|
4
|
+
import { IconsConfig } from "../../types/IconsConfig";
|
|
5
|
+
import Row from "../../types/Row";
|
|
6
|
+
type SetStateAction<T> = T | ((prevState: T) => T);
|
|
7
|
+
type Dispatch<A> = (value: A) => void;
|
|
8
|
+
type MutableRefObject<T> = {
|
|
9
|
+
current: T;
|
|
10
|
+
};
|
|
11
|
+
type RefObject<T> = {
|
|
12
|
+
readonly current: T | null;
|
|
13
|
+
};
|
|
14
|
+
export interface AbsoluteCell {
|
|
15
|
+
header: HeaderObject;
|
|
16
|
+
left: number;
|
|
17
|
+
top: number;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
colIndex: number;
|
|
21
|
+
parentHeader?: HeaderObject;
|
|
22
|
+
}
|
|
23
|
+
export interface HeaderRenderContext {
|
|
24
|
+
areAllRowsSelected?: () => boolean;
|
|
25
|
+
autoExpandColumns: boolean;
|
|
26
|
+
collapsedHeaders: Set<Accessor>;
|
|
27
|
+
essentialAccessors?: ReadonlySet<string>;
|
|
28
|
+
columnBorders: boolean;
|
|
29
|
+
columnReordering: boolean;
|
|
30
|
+
columnResizing: boolean;
|
|
31
|
+
columnsWithSelectedCells: Set<number>;
|
|
32
|
+
containerWidth: number;
|
|
33
|
+
draggedHeaderRef: MutableRefObject<HeaderObject | null>;
|
|
34
|
+
enableHeaderEditing?: boolean;
|
|
35
|
+
enableRowSelection?: boolean;
|
|
36
|
+
filters: TableFilterState;
|
|
37
|
+
forceUpdate: () => void;
|
|
38
|
+
getCollapsedHeaders?: () => Set<Accessor>; /** Get current collapsed headers (avoids stale closure in toggle handler). */
|
|
39
|
+
handleApplyFilter: (filter: FilterCondition) => void;
|
|
40
|
+
handleClearFilter: (accessor: Accessor) => void;
|
|
41
|
+
handleSelectAll?: (checked: boolean) => void;
|
|
42
|
+
headerHeight: number;
|
|
43
|
+
headerRegistry?: Map<string, {
|
|
44
|
+
setEditing: (editing: boolean) => void;
|
|
45
|
+
}>;
|
|
46
|
+
headers: HeaderObject[];
|
|
47
|
+
hoveredHeaderRef: MutableRefObject<HeaderObject | null>;
|
|
48
|
+
icons: IconsConfig;
|
|
49
|
+
lastHeaderIndex: number;
|
|
50
|
+
mainBodyRef: RefObject<HTMLDivElement>;
|
|
51
|
+
mainSectionContainerWidth?: number; /** Main section viewport width (avoids clientWidth read when set); use for getVisibleCells when !pinned */
|
|
52
|
+
onColumnOrderChange?: (headers: HeaderObject[]) => void;
|
|
53
|
+
onColumnSelect?: (header: HeaderObject) => void;
|
|
54
|
+
onColumnWidthChange?: (headers: HeaderObject[]) => void;
|
|
55
|
+
onHeaderEdit?: (header: HeaderObject, newLabel: string) => void;
|
|
56
|
+
onSort: (accessor: Accessor) => void;
|
|
57
|
+
onTableHeaderDragEnd: (headers: HeaderObject[]) => void;
|
|
58
|
+
pinned?: "left" | "right";
|
|
59
|
+
pinnedLeftRef: RefObject<HTMLDivElement>;
|
|
60
|
+
pinnedRightRef: RefObject<HTMLDivElement>;
|
|
61
|
+
reverse: boolean;
|
|
62
|
+
rows: Row[];
|
|
63
|
+
selectColumns?: (columnIndices: number[]) => void;
|
|
64
|
+
selectableColumns?: boolean;
|
|
65
|
+
selectedColumns: Set<number>;
|
|
66
|
+
selectedRowCount?: number; /** Used for context cache invalidation when row selection changes */
|
|
67
|
+
setCollapsedHeaders: Dispatch<SetStateAction<Set<Accessor>>>;
|
|
68
|
+
setHeaders: Dispatch<SetStateAction<HeaderObject[]>>;
|
|
69
|
+
setInitialFocusedCell: (cell: any) => void;
|
|
70
|
+
setIsResizing: Dispatch<SetStateAction<boolean>>;
|
|
71
|
+
setSelectedCells: Dispatch<SetStateAction<Set<string>>>;
|
|
72
|
+
setSelectedColumns: Dispatch<SetStateAction<Set<number>>>;
|
|
73
|
+
sort: SortColumn | null;
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AbsoluteCell, HeaderRenderContext } from "./headerCell/types";
|
|
2
|
+
export type { AbsoluteCell, HeaderRenderContext } from "./headerCell/types";
|
|
3
|
+
export { cleanupHeaderCellRendering } from "./headerCell/eventTracking";
|
|
4
|
+
export declare const renderHeaderCells: (container: HTMLElement, absoluteCells: AbsoluteCell[], context: HeaderRenderContext, scrollLeft?: number) => void;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import HeaderObject from "../types/HeaderObject";
|
|
2
|
+
/**
|
|
3
|
+
* Gets all leaf column indices (bottom-level columns) for a given header and its descendants
|
|
4
|
+
* @param header The header to get indices for
|
|
5
|
+
* @param colIndex The column index of the header in the current context
|
|
6
|
+
* @returns Array of column indices that belong to this header branch
|
|
7
|
+
*/
|
|
8
|
+
export declare const getHeaderLeafIndices: (header: HeaderObject, colIndex: number) => number[];
|
|
9
|
+
/**
|
|
10
|
+
* Flattens a nested header structure to get all leaf headers
|
|
11
|
+
* @param headers The headers array to flatten
|
|
12
|
+
* @returns Flattened array of all leaf headers
|
|
13
|
+
*/
|
|
14
|
+
export declare const flattenHeaders: (headers: HeaderObject[]) => HeaderObject[];
|
|
15
|
+
/**
|
|
16
|
+
* Flattens a nested header structure to get all headers (including parent headers)
|
|
17
|
+
* @param headers The headers array to flatten
|
|
18
|
+
* @returns Flattened array of all headers in the hierarchy
|
|
19
|
+
*/
|
|
20
|
+
export declare const flattenAllHeaders: (headers: HeaderObject[]) => HeaderObject[];
|
|
21
|
+
/**
|
|
22
|
+
* Gets the range of column indices between two column indices
|
|
23
|
+
* @param startColIndex Starting column index
|
|
24
|
+
* @param endColIndex Ending column index
|
|
25
|
+
* @returns Array of column indices in the range (inclusive)
|
|
26
|
+
*/
|
|
27
|
+
export declare const getColumnRange: (startColIndex: number, endColIndex: number) => number[];
|
|
28
|
+
export declare const calculatePinnedWidth: (width?: number) => number;
|
|
29
|
+
/**
|
|
30
|
+
* Generates a unique ID for header description element
|
|
31
|
+
* @param accessor The header accessor
|
|
32
|
+
* @returns Unique ID string for aria-describedby
|
|
33
|
+
*/
|
|
34
|
+
export declare const getHeaderDescriptionId: (accessor: string | number) => string;
|
|
35
|
+
/**
|
|
36
|
+
* Builds a descriptive string for screen readers about a column header
|
|
37
|
+
* @param header The header object
|
|
38
|
+
* @param filterable Whether the column is filterable
|
|
39
|
+
* @returns Description string for aria-describedby, or empty string if no description
|
|
40
|
+
*/
|
|
41
|
+
export declare const getHeaderDescription: (header: HeaderObject, filterable: boolean) => string;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import HeaderObject, { Accessor } from "../types/HeaderObject";
|
|
2
|
+
/**
|
|
3
|
+
* Find all leaf headers (headers without children) in a header tree
|
|
4
|
+
* Takes collapsed state into account - when a header is collapsed, only returns
|
|
5
|
+
* children that are visible when parent is collapsed (showWhen is 'parentCollapsed' or 'always')
|
|
6
|
+
*/
|
|
7
|
+
export declare const findLeafHeaders: (header: HeaderObject, collapsedHeaders?: Set<Accessor>) => HeaderObject[];
|
|
8
|
+
/** Default pixel width for 1fr when converting before container width is known */
|
|
9
|
+
export declare const DEFAULT_FR_PX = 150;
|
|
10
|
+
/** Default total table width used when normalizing fr/% if container width unknown */
|
|
11
|
+
export declare const DEFAULT_TABLE_WIDTH = 800;
|
|
12
|
+
/**
|
|
13
|
+
* Normalize header widths so that fr and % are converted to pixels.
|
|
14
|
+
* Call this as soon as headers are received so the rest of the code can assume numeric widths.
|
|
15
|
+
* If totalWidth is not provided, a reasonable total is computed from fixed widths + default for fr columns.
|
|
16
|
+
* If options.containerWidth is provided, the main section's fr columns are given the remaining space
|
|
17
|
+
* (container width minus pinned left/right), so the flexible column fills available space.
|
|
18
|
+
*/
|
|
19
|
+
export declare function normalizeHeaderWidths(headers: HeaderObject[], totalWidthOrOptions?: number | {
|
|
20
|
+
containerWidth: number;
|
|
21
|
+
}): HeaderObject[];
|
|
22
|
+
/**
|
|
23
|
+
* Get actual width of a header in pixels
|
|
24
|
+
*/
|
|
25
|
+
export declare const getHeaderWidthInPixels: (header: HeaderObject) => number;
|
|
26
|
+
/**
|
|
27
|
+
* Convert fractional widths to pixel values
|
|
28
|
+
*/
|
|
29
|
+
export declare const removeAllFractionalWidths: (header: HeaderObject) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Calculate the minimum width for a header
|
|
32
|
+
*/
|
|
33
|
+
export declare const getHeaderMinWidth: (header: HeaderObject) => number;
|
|
34
|
+
/**
|
|
35
|
+
* Get all visible leaf headers from an array of headers
|
|
36
|
+
*/
|
|
37
|
+
export declare const getAllVisibleLeafHeaders: (headers: HeaderObject[], collapsedHeaders?: Set<Accessor>) => HeaderObject[];
|
|
38
|
+
/**
|
|
39
|
+
* Convert pixel-based widths to proportional fr units
|
|
40
|
+
* This is used when autoExpandColumns is enabled
|
|
41
|
+
*/
|
|
42
|
+
export declare const convertPixelWidthsToFr: (headers: HeaderObject[], collapsedHeaders?: Set<Accessor>) => HeaderObject[];
|
|
43
|
+
/**
|
|
44
|
+
* Calculate the optimal width for a column by measuring both header and cell content
|
|
45
|
+
* This is used for auto-sizing columns to fit their content (like Excel/Google Sheets)
|
|
46
|
+
*
|
|
47
|
+
* @param accessor - The accessor of the header to measure
|
|
48
|
+
* @param options - Configuration options
|
|
49
|
+
* @returns The optimal width in pixels
|
|
50
|
+
*/
|
|
51
|
+
export declare const calculateHeaderContentWidth: (accessor: Accessor, options?: {
|
|
52
|
+
rows?: any[];
|
|
53
|
+
header?: HeaderObject;
|
|
54
|
+
maxWidth?: number;
|
|
55
|
+
sampleSize?: number;
|
|
56
|
+
}) => number;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SectionScrollController } from "../managers/SectionScrollController";
|
|
2
|
+
export interface HorizontalScrollbarProps {
|
|
3
|
+
mainBodyRef: HTMLDivElement;
|
|
4
|
+
mainBodyWidth: number;
|
|
5
|
+
pinnedLeftWidth: number;
|
|
6
|
+
pinnedRightWidth: number;
|
|
7
|
+
pinnedLeftContentWidth: number;
|
|
8
|
+
pinnedRightContentWidth: number;
|
|
9
|
+
tableBodyContainerRef: HTMLDivElement;
|
|
10
|
+
editColumns: boolean;
|
|
11
|
+
sectionScrollController?: SectionScrollController | null;
|
|
12
|
+
}
|
|
13
|
+
export declare const createHorizontalScrollbar: (props: HorizontalScrollbarProps) => HTMLElement | null;
|
|
14
|
+
export declare const cleanupHorizontalScrollbar: (container: HTMLElement, sectionScrollController?: SectionScrollController | null) => void;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import TableRow from "../types/TableRow";
|
|
2
|
+
import { CustomTheme } from "../types/CustomTheme";
|
|
3
|
+
import { Accessor } from "../types/HeaderObject";
|
|
4
|
+
/**
|
|
5
|
+
* Sorted array of [position, extraHeight] tuples for nested grids
|
|
6
|
+
* Position: the row index in flattened array
|
|
7
|
+
* ExtraHeight: additional height beyond standard rowHeight (in pixels)
|
|
8
|
+
* Array is kept sorted by position for efficient binary search
|
|
9
|
+
*/
|
|
10
|
+
export type HeightOffsets = Array<[number, number]>;
|
|
11
|
+
/**
|
|
12
|
+
* Precomputed cumulative height data structure for O(1) row position lookups
|
|
13
|
+
* and O(log n) viewport calculations
|
|
14
|
+
*/
|
|
15
|
+
export interface CumulativeHeightMap {
|
|
16
|
+
/** Array where index i contains the top pixel position of row i */
|
|
17
|
+
rowTopPositions: number[];
|
|
18
|
+
/** Total height of all rows combined */
|
|
19
|
+
totalHeight: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build a cumulative height map for efficient viewport calculations
|
|
23
|
+
* This precomputes the top position of every row, enabling:
|
|
24
|
+
* - O(1) lookup of row top position
|
|
25
|
+
* - O(log n) binary search to find rows in viewport
|
|
26
|
+
*
|
|
27
|
+
* @param rowCount - Total number of rows
|
|
28
|
+
* @param rowHeight - Standard height of each row
|
|
29
|
+
* @param heightOffsets - Array of [position, extraHeight] for variable-height rows
|
|
30
|
+
* @param customTheme - Theme configuration for separator width
|
|
31
|
+
* @returns Cumulative height map with row positions
|
|
32
|
+
*/
|
|
33
|
+
export declare const buildCumulativeHeightMap: (rowCount: number, rowHeight: number, heightOffsets: HeightOffsets | undefined, customTheme: CustomTheme) => CumulativeHeightMap;
|
|
34
|
+
/**
|
|
35
|
+
* Find the row index at a given scroll position using binary search
|
|
36
|
+
* Returns the index of the row that contains or is closest to the scroll position
|
|
37
|
+
*
|
|
38
|
+
* @param scrollTop - The scroll position in pixels
|
|
39
|
+
* @param heightMap - Precomputed cumulative height map
|
|
40
|
+
* @returns Row index at the scroll position
|
|
41
|
+
*/
|
|
42
|
+
export declare const findRowAtScrollPosition: (scrollTop: number, heightMap: CumulativeHeightMap) => number;
|
|
43
|
+
/**
|
|
44
|
+
* Calculate cumulative extra height from nested grids above a given position
|
|
45
|
+
* Uses binary search for O(log n) performance
|
|
46
|
+
* @param position - The row position to calculate height for
|
|
47
|
+
* @param heightOffsets - Sorted array of [position, extraHeight] tuples
|
|
48
|
+
* @returns Total extra height from all nested grids above this position
|
|
49
|
+
*/
|
|
50
|
+
export declare const getCumulativeExtraHeight: (position: number, heightOffsets?: HeightOffsets) => number;
|
|
51
|
+
export declare const getTotalRowCount: (tableRows: TableRow[]) => number;
|
|
52
|
+
/**
|
|
53
|
+
* Calculate the total height of all rows including nested grids with extra heights
|
|
54
|
+
* @param totalRowCount - Total number of rows
|
|
55
|
+
* @param rowHeight - Standard height of each row
|
|
56
|
+
* @param heightOffsets - Array of [position, extraHeight] tuples for rows with non-standard heights
|
|
57
|
+
* @param customTheme - Custom theme configuration for separator width
|
|
58
|
+
* @returns Total height in pixels
|
|
59
|
+
*/
|
|
60
|
+
export declare const calculateTotalHeight: (totalRowCount: number, rowHeight: number, heightOffsets: HeightOffsets | undefined, customTheme: CustomTheme) => number;
|
|
61
|
+
/**
|
|
62
|
+
* Viewport range calculation result containing start/end indices and the actual rows
|
|
63
|
+
*/
|
|
64
|
+
export interface ViewportRange {
|
|
65
|
+
startIndex: number;
|
|
66
|
+
endIndex: number;
|
|
67
|
+
rows: TableRow[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Complete viewport calculations with multiple strategies
|
|
71
|
+
* Provides three different ways to calculate visible rows for different use cases
|
|
72
|
+
*/
|
|
73
|
+
export interface ViewportCalculations {
|
|
74
|
+
/** Rows to render in the DOM (includes overscan buffer for smooth scrolling) */
|
|
75
|
+
rendered: ViewportRange;
|
|
76
|
+
/** Rows that are completely visible within the viewport boundaries */
|
|
77
|
+
fullyVisible: ViewportRange;
|
|
78
|
+
/** Rows that are at least partially visible in the viewport */
|
|
79
|
+
partiallyVisible: ViewportRange;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Calculate all viewport ranges for virtual scrolling with variable-height row support
|
|
83
|
+
* Returns three different viewport calculations:
|
|
84
|
+
* - rendered: What should be in the DOM (includes overscan buffer)
|
|
85
|
+
* - fullyVisible: Rows completely visible (useful for scroll-to-view logic)
|
|
86
|
+
* - partiallyVisible: Rows at least partially visible (useful for scroll boundaries)
|
|
87
|
+
*
|
|
88
|
+
* This function now supports variable-height rows by using a cumulative height map
|
|
89
|
+
* for O(log n) viewport calculations instead of assuming fixed row heights.
|
|
90
|
+
*/
|
|
91
|
+
export declare const getViewportCalculations: ({ bufferRowCount, contentHeight, rowHeight, scrollTop, tableRows, scrollDirection, heightMap, }: {
|
|
92
|
+
bufferRowCount: number;
|
|
93
|
+
contentHeight: number;
|
|
94
|
+
rowHeight: number;
|
|
95
|
+
scrollTop: number;
|
|
96
|
+
tableRows: TableRow[];
|
|
97
|
+
scrollDirection?: "up" | "down" | "none" | undefined;
|
|
98
|
+
heightMap?: CumulativeHeightMap | undefined;
|
|
99
|
+
}) => {
|
|
100
|
+
rendered: {
|
|
101
|
+
startIndex: number;
|
|
102
|
+
endIndex: number;
|
|
103
|
+
rows: TableRow[];
|
|
104
|
+
};
|
|
105
|
+
fullyVisible: {
|
|
106
|
+
startIndex: number;
|
|
107
|
+
endIndex: number;
|
|
108
|
+
rows: TableRow[];
|
|
109
|
+
};
|
|
110
|
+
partiallyVisible: {
|
|
111
|
+
startIndex: number;
|
|
112
|
+
endIndex: number;
|
|
113
|
+
rows: TableRow[];
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Get visible rows with pixel-based overscan
|
|
118
|
+
* Uses the viewport calculations internally and returns the rendered rows
|
|
119
|
+
* Maintains backward compatibility with existing code
|
|
120
|
+
*/
|
|
121
|
+
export declare const getVisibleRows: ({ bufferRowCount, contentHeight, rowHeight, scrollTop, tableRows, scrollDirection, heightMap, }: {
|
|
122
|
+
bufferRowCount: number;
|
|
123
|
+
contentHeight: number;
|
|
124
|
+
rowHeight: number;
|
|
125
|
+
scrollTop: number;
|
|
126
|
+
tableRows: TableRow[];
|
|
127
|
+
scrollDirection?: "up" | "down" | "none" | undefined;
|
|
128
|
+
heightMap?: CumulativeHeightMap | undefined;
|
|
129
|
+
}) => TableRow[];
|
|
130
|
+
export declare const calculateSeparatorTopPosition: ({ position, rowHeight, heightOffsets, customTheme, }: {
|
|
131
|
+
position: number;
|
|
132
|
+
rowHeight: number;
|
|
133
|
+
heightOffsets?: HeightOffsets | undefined;
|
|
134
|
+
customTheme: CustomTheme;
|
|
135
|
+
}) => number;
|
|
136
|
+
export declare const calculateRowTopPosition: ({ position, rowHeight, heightOffsets, customTheme, }: {
|
|
137
|
+
position: number;
|
|
138
|
+
rowHeight: number;
|
|
139
|
+
heightOffsets?: HeightOffsets | undefined;
|
|
140
|
+
customTheme: CustomTheme;
|
|
141
|
+
}) => number;
|
|
142
|
+
export declare const getStickyParents: (allTableRows: TableRow[], renderedRows: TableRow[], fullyVisibleRows: TableRow[], partiallyVisibleRows: TableRow[], rowGrouping: Accessor[]) => {
|
|
143
|
+
stickyParents: TableRow[];
|
|
144
|
+
regularRows: TableRow[];
|
|
145
|
+
};
|