@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,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Column width constraints for the table
|
|
3
|
+
* These values control minimum and maximum widths for columns and sections
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* MIN_COLUMN_WIDTH
|
|
7
|
+
* The minimum width in pixels that any column can have.
|
|
8
|
+
* This is used as:
|
|
9
|
+
* - The default minimum width when header.minWidth is undefined
|
|
10
|
+
* - The absolute minimum in autoExpandColumns mode to prevent columns from becoming too narrow
|
|
11
|
+
*/
|
|
12
|
+
export declare const MIN_COLUMN_WIDTH = 40;
|
|
13
|
+
/**
|
|
14
|
+
* MAX_SINGLE_PINNED_SECTION_PERCENT
|
|
15
|
+
* Maximum percentage of container width that a single pinned section can occupy.
|
|
16
|
+
* When only one section (left OR right) is pinned, it can take up to 60% of the width.
|
|
17
|
+
* This ensures the main section always has at least 40% of the space.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MAX_SINGLE_PINNED_SECTION_PERCENT = 0.6;
|
|
20
|
+
/**
|
|
21
|
+
* MAX_DUAL_PINNED_SECTION_PERCENT
|
|
22
|
+
* Maximum percentage of container width that each pinned section can occupy
|
|
23
|
+
* when BOTH left and right sections are pinned.
|
|
24
|
+
* With both sections at 40%, the main section is guaranteed at least 20% of the space.
|
|
25
|
+
*/
|
|
26
|
+
export declare const MAX_DUAL_PINNED_SECTION_PERCENT = 0.4;
|
|
27
|
+
/**
|
|
28
|
+
* Mobile breakpoints for responsive pinned section constraints
|
|
29
|
+
*/
|
|
30
|
+
export declare const MOBILE_BREAKPOINT_SMALL = 480;
|
|
31
|
+
export declare const MOBILE_BREAKPOINT_MEDIUM = 768;
|
|
32
|
+
/**
|
|
33
|
+
* Get the maximum allowed width percentage for a single pinned section based on container width.
|
|
34
|
+
* This is used when only ONE section (left OR right) is pinned.
|
|
35
|
+
*
|
|
36
|
+
* @param containerWidth - The table container width in pixels (st-body-container)
|
|
37
|
+
* @returns The maximum percentage (0-1) of container width that the pinned section can occupy
|
|
38
|
+
*/
|
|
39
|
+
export declare const getMaxSinglePinnedPercent: (containerWidth: number) => number;
|
|
40
|
+
/**
|
|
41
|
+
* Get the maximum allowed width percentage for pinned sections based on container width
|
|
42
|
+
* and the number of pinned sections.
|
|
43
|
+
*
|
|
44
|
+
* @param containerWidth - The table container width in pixels (st-body-container)
|
|
45
|
+
* @param hasPinnedLeft - Whether there is a pinned left section
|
|
46
|
+
* @param hasPinnedRight - Whether there is a pinned right section
|
|
47
|
+
* @returns The maximum percentage (0-1) of container width that each pinned section can occupy
|
|
48
|
+
*/
|
|
49
|
+
export declare const getMaxPinnedSectionPercent: (containerWidth: number, hasPinnedLeft: boolean, hasPinnedRight: boolean) => number;
|
|
50
|
+
/**
|
|
51
|
+
* Calculate the maximum width in pixels for a pinned section
|
|
52
|
+
*
|
|
53
|
+
* @param containerWidth - The table container width in pixels (st-body-container)
|
|
54
|
+
* @param hasPinnedLeft - Whether there is a pinned left section
|
|
55
|
+
* @param hasPinnedRight - Whether there is a pinned right section
|
|
56
|
+
* @returns The maximum width in pixels for a pinned section
|
|
57
|
+
*/
|
|
58
|
+
export declare const getMaxPinnedSectionWidth: (containerWidth: number, hasPinnedLeft: boolean, hasPinnedRight: boolean) => number;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const DRAG_THROTTLE_LIMIT = 50;
|
|
2
|
+
export declare const ROW_SEPARATOR_WIDTH = 1;
|
|
3
|
+
export declare const PAGE_SIZE = 20;
|
|
4
|
+
export declare const CSS_VAR_BORDER_WIDTH = "--st-border-width";
|
|
5
|
+
export declare const DEFAULT_BORDER_WIDTH = 1;
|
|
6
|
+
export declare const VIRTUALIZATION_THRESHOLD = 20;
|
|
7
|
+
export declare const OVERSCAN_PIXELS = 800;
|
|
8
|
+
export declare const calculateBufferRowCount: (rowHeight: number) => number;
|
|
9
|
+
export declare const COLUMN_EDIT_WIDTH = 29.5;
|
|
10
|
+
export declare const TABLE_HEADER_CELL_WIDTH_DEFAULT = 150;
|
|
11
|
+
export declare const PINNED_BORDER_WIDTH = 1;
|
|
12
|
+
export declare const CHART_COLUMN_TYPES: string[];
|
|
13
|
+
export declare const OPTIMAL_CHART_COLUMN_WIDTH = 150;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { SimpleTableConfig } from "../types/SimpleTableConfig";
|
|
2
|
+
import { TableAPI } from "../types/TableAPI";
|
|
3
|
+
import "../styles/all-themes.css";
|
|
4
|
+
export declare class SimpleTableVanilla {
|
|
5
|
+
private container;
|
|
6
|
+
private config;
|
|
7
|
+
private customTheme;
|
|
8
|
+
private mergedColumnEditorConfig;
|
|
9
|
+
private resolvedIcons;
|
|
10
|
+
private domManager;
|
|
11
|
+
private renderOrchestrator;
|
|
12
|
+
private draggedHeaderRef;
|
|
13
|
+
private hoveredHeaderRef;
|
|
14
|
+
private localRows;
|
|
15
|
+
private headers;
|
|
16
|
+
private essentialAccessors;
|
|
17
|
+
private currentPage;
|
|
18
|
+
private scrollTop;
|
|
19
|
+
private scrollDirection;
|
|
20
|
+
private isResizing;
|
|
21
|
+
private isScrolling;
|
|
22
|
+
/** True when this render is scroll-driven so body can use position-only updates for existing cells. */
|
|
23
|
+
private _positionOnlyBody;
|
|
24
|
+
private firstRenderDone;
|
|
25
|
+
private internalIsLoading;
|
|
26
|
+
private scrollbarWidth;
|
|
27
|
+
private isMainSectionScrollable;
|
|
28
|
+
private columnEditorOpen;
|
|
29
|
+
private collapsedHeaders;
|
|
30
|
+
private expandedDepths;
|
|
31
|
+
private expandedRows;
|
|
32
|
+
private collapsedRows;
|
|
33
|
+
private rowStateMap;
|
|
34
|
+
private announcement;
|
|
35
|
+
private cellRegistry;
|
|
36
|
+
private headerRegistry;
|
|
37
|
+
private rowIndexMap;
|
|
38
|
+
private autoScaleManager;
|
|
39
|
+
private dimensionManager;
|
|
40
|
+
private scrollManager;
|
|
41
|
+
private sectionScrollController;
|
|
42
|
+
private sortManager;
|
|
43
|
+
private filterManager;
|
|
44
|
+
private selectionManager;
|
|
45
|
+
private rowSelectionManager;
|
|
46
|
+
private windowResizeManager;
|
|
47
|
+
private handleOutsideClickManager;
|
|
48
|
+
private scrollbarVisibilityManager;
|
|
49
|
+
private expandedDepthsManager;
|
|
50
|
+
private ariaAnnouncementManager;
|
|
51
|
+
private mounted;
|
|
52
|
+
private scrollRafId;
|
|
53
|
+
private scrollEndTimeoutId;
|
|
54
|
+
private lastScrollTop;
|
|
55
|
+
private isUpdating;
|
|
56
|
+
constructor(container: HTMLElement, config: SimpleTableConfig);
|
|
57
|
+
private rebuildRowIndexMap;
|
|
58
|
+
private initializeManagers;
|
|
59
|
+
mount(): void;
|
|
60
|
+
private setupManagers;
|
|
61
|
+
private setupEventListeners;
|
|
62
|
+
private handleScroll;
|
|
63
|
+
private clearHoveredRows;
|
|
64
|
+
private updateAriaLiveRegion;
|
|
65
|
+
private getRenderContext;
|
|
66
|
+
private getRenderState;
|
|
67
|
+
private render;
|
|
68
|
+
update(config: Partial<SimpleTableConfig>): void;
|
|
69
|
+
destroy(): void;
|
|
70
|
+
getAPI(): TableAPI;
|
|
71
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { TableAPI } from "../../types/TableAPI";
|
|
2
|
+
import { SimpleTableConfig } from "../../types/SimpleTableConfig";
|
|
3
|
+
import HeaderObject from "../../types/HeaderObject";
|
|
4
|
+
import Row from "../../types/Row";
|
|
5
|
+
import { CustomTheme } from "../../types/CustomTheme";
|
|
6
|
+
import RowState from "../../types/RowState";
|
|
7
|
+
import { SelectionManager } from "../../managers/SelectionManager";
|
|
8
|
+
import { SortManager } from "../../managers/SortManager";
|
|
9
|
+
import { FilterManager } from "../../managers/FilterManager";
|
|
10
|
+
import { FlattenRowsResult } from "../../utils/rowFlattening";
|
|
11
|
+
import { ProcessRowsResult } from "../../utils/rowProcessing";
|
|
12
|
+
export interface TableAPIContext {
|
|
13
|
+
config: SimpleTableConfig;
|
|
14
|
+
localRows: Row[];
|
|
15
|
+
effectiveHeaders: HeaderObject[];
|
|
16
|
+
headers: HeaderObject[];
|
|
17
|
+
essentialAccessors: Set<string>;
|
|
18
|
+
customTheme: CustomTheme;
|
|
19
|
+
currentPage: number;
|
|
20
|
+
/** Returns current page from live state (use this in API getCurrentPage so it stays correct after setPage). */
|
|
21
|
+
getCurrentPage: () => number;
|
|
22
|
+
expandedRows: Map<string, number>;
|
|
23
|
+
collapsedRows: Map<string, number>;
|
|
24
|
+
expandedDepths: Set<number>;
|
|
25
|
+
rowStateMap: Map<string | number, RowState>;
|
|
26
|
+
headerRegistry: Map<string, any>;
|
|
27
|
+
cellRegistry?: Map<string, {
|
|
28
|
+
updateContent: (value: any) => void;
|
|
29
|
+
}>;
|
|
30
|
+
columnEditorOpen: boolean;
|
|
31
|
+
expandedDepthsManager: any;
|
|
32
|
+
selectionManager: SelectionManager | null;
|
|
33
|
+
sortManager: SortManager | null;
|
|
34
|
+
filterManager: FilterManager | null;
|
|
35
|
+
getCachedFlattenResult?: () => FlattenRowsResult | null;
|
|
36
|
+
getCachedProcessedResult?: () => ProcessRowsResult | null;
|
|
37
|
+
onRender: () => void;
|
|
38
|
+
setHeaders: (headers: HeaderObject[]) => void;
|
|
39
|
+
setCurrentPage: (page: number) => void;
|
|
40
|
+
setColumnEditorOpen: (open: boolean) => void;
|
|
41
|
+
}
|
|
42
|
+
export declare class TableAPIImpl {
|
|
43
|
+
static createAPI(context: TableAPIContext): TableAPI;
|
|
44
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { SimpleTableConfig } from "../../types/SimpleTableConfig";
|
|
2
|
+
export interface DOMElements {
|
|
3
|
+
rootElement: HTMLElement;
|
|
4
|
+
wrapperContainer: HTMLElement;
|
|
5
|
+
contentWrapper: HTMLElement;
|
|
6
|
+
content: HTMLElement;
|
|
7
|
+
headerContainer: HTMLElement;
|
|
8
|
+
bodyContainer: HTMLElement;
|
|
9
|
+
footerContainer: HTMLElement;
|
|
10
|
+
ariaLiveRegion: HTMLElement;
|
|
11
|
+
}
|
|
12
|
+
export interface DOMRefs {
|
|
13
|
+
mainBodyRef: {
|
|
14
|
+
current: HTMLDivElement | null;
|
|
15
|
+
};
|
|
16
|
+
pinnedLeftRef: {
|
|
17
|
+
current: HTMLDivElement | null;
|
|
18
|
+
};
|
|
19
|
+
pinnedRightRef: {
|
|
20
|
+
current: HTMLDivElement | null;
|
|
21
|
+
};
|
|
22
|
+
mainHeaderRef: {
|
|
23
|
+
current: HTMLDivElement | null;
|
|
24
|
+
};
|
|
25
|
+
pinnedLeftHeaderRef: {
|
|
26
|
+
current: HTMLDivElement | null;
|
|
27
|
+
};
|
|
28
|
+
pinnedRightHeaderRef: {
|
|
29
|
+
current: HTMLDivElement | null;
|
|
30
|
+
};
|
|
31
|
+
headerContainerRef: {
|
|
32
|
+
current: HTMLDivElement | null;
|
|
33
|
+
};
|
|
34
|
+
tableBodyContainerRef: {
|
|
35
|
+
current: HTMLDivElement | null;
|
|
36
|
+
};
|
|
37
|
+
horizontalScrollbarRef: {
|
|
38
|
+
current: HTMLElement | null;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export declare class DOMManager {
|
|
42
|
+
private elements;
|
|
43
|
+
private refs;
|
|
44
|
+
constructor();
|
|
45
|
+
createDOMStructure(container: HTMLElement, config: SimpleTableConfig): DOMElements;
|
|
46
|
+
updateTheme(theme: string): void;
|
|
47
|
+
getElements(): DOMElements | null;
|
|
48
|
+
getRefs(): DOMRefs;
|
|
49
|
+
destroy(container: HTMLElement): void;
|
|
50
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SimpleTableConfig } from "../../types/SimpleTableConfig";
|
|
2
|
+
import { CustomTheme } from "../../types/CustomTheme";
|
|
3
|
+
import HeaderObject, { Accessor } from "../../types/HeaderObject";
|
|
4
|
+
export interface ResolvedIcons {
|
|
5
|
+
drag: string | HTMLElement | SVGSVGElement;
|
|
6
|
+
expand: string | HTMLElement | SVGSVGElement;
|
|
7
|
+
filter: string | HTMLElement | SVGSVGElement;
|
|
8
|
+
headerCollapse: string | HTMLElement | SVGSVGElement;
|
|
9
|
+
headerExpand: string | HTMLElement | SVGSVGElement;
|
|
10
|
+
next: string | HTMLElement | SVGSVGElement;
|
|
11
|
+
prev: string | HTMLElement | SVGSVGElement;
|
|
12
|
+
sortDown: string | HTMLElement | SVGSVGElement;
|
|
13
|
+
sortUp: string | HTMLElement | SVGSVGElement;
|
|
14
|
+
}
|
|
15
|
+
export interface MergedColumnEditorConfig {
|
|
16
|
+
text: string;
|
|
17
|
+
searchEnabled: boolean;
|
|
18
|
+
searchPlaceholder: string;
|
|
19
|
+
allowColumnPinning: boolean;
|
|
20
|
+
searchFunction?: (header: HeaderObject, searchText: string) => boolean;
|
|
21
|
+
rowRenderer?: any;
|
|
22
|
+
}
|
|
23
|
+
export declare class TableInitializer {
|
|
24
|
+
static resolveIcons(config: SimpleTableConfig): ResolvedIcons;
|
|
25
|
+
static mergeCustomTheme(config: SimpleTableConfig): CustomTheme;
|
|
26
|
+
static mergeColumnEditorConfig(config: SimpleTableConfig): MergedColumnEditorConfig;
|
|
27
|
+
static buildEssentialAccessors(headers: HeaderObject[]): Set<string>;
|
|
28
|
+
static getInitialCollapsedHeaders(headers: HeaderObject[]): Set<Accessor>;
|
|
29
|
+
static getInitialExpandedDepths(config: SimpleTableConfig): Set<number>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { SimpleTableConfig } from "../../types/SimpleTableConfig";
|
|
2
|
+
import { CustomTheme } from "../../types/CustomTheme";
|
|
3
|
+
import HeaderObject, { Accessor } from "../../types/HeaderObject";
|
|
4
|
+
import Row from "../../types/Row";
|
|
5
|
+
import RowState from "../../types/RowState";
|
|
6
|
+
import { DimensionManager } from "../../managers/DimensionManager";
|
|
7
|
+
import { ScrollManager } from "../../managers/ScrollManager";
|
|
8
|
+
import type { SectionScrollController } from "../../managers/SectionScrollController";
|
|
9
|
+
import { SortManager } from "../../managers/SortManager";
|
|
10
|
+
import { FilterManager } from "../../managers/FilterManager";
|
|
11
|
+
import { SelectionManager } from "../../managers/SelectionManager";
|
|
12
|
+
import { RowSelectionManager } from "../../managers/RowSelectionManager";
|
|
13
|
+
import { FlattenRowsResult } from "../../utils/rowFlattening";
|
|
14
|
+
import { ProcessRowsResult } from "../../utils/rowProcessing";
|
|
15
|
+
import { MergedColumnEditorConfig, ResolvedIcons } from "../initialization/TableInitializer";
|
|
16
|
+
export interface RenderContext {
|
|
17
|
+
cellRegistry: Map<string, any>;
|
|
18
|
+
collapsedHeaders: Set<Accessor>;
|
|
19
|
+
collapsedRows: Map<string, number>;
|
|
20
|
+
config: SimpleTableConfig;
|
|
21
|
+
customTheme: CustomTheme;
|
|
22
|
+
dimensionManager: DimensionManager | null;
|
|
23
|
+
draggedHeaderRef: {
|
|
24
|
+
current: HeaderObject | null;
|
|
25
|
+
};
|
|
26
|
+
effectiveHeaders: HeaderObject[];
|
|
27
|
+
essentialAccessors: Set<string>;
|
|
28
|
+
expandedDepths: Set<number>;
|
|
29
|
+
expandedRows: Map<string, number>;
|
|
30
|
+
filterManager: FilterManager | null;
|
|
31
|
+
getCollapsedRows: () => Map<string, number>;
|
|
32
|
+
getCollapsedHeaders?: () => Set<Accessor>;
|
|
33
|
+
getExpandedRows: () => Map<string, number>;
|
|
34
|
+
getRowStateMap: () => Map<string | number, RowState>;
|
|
35
|
+
headerRegistry: Map<string, any>;
|
|
36
|
+
headers: HeaderObject[];
|
|
37
|
+
hoveredHeaderRef: {
|
|
38
|
+
current: HeaderObject | null;
|
|
39
|
+
};
|
|
40
|
+
internalIsLoading: boolean;
|
|
41
|
+
isResizing: boolean;
|
|
42
|
+
localRows: Row[];
|
|
43
|
+
mainBodyRef: {
|
|
44
|
+
current: HTMLDivElement | null;
|
|
45
|
+
};
|
|
46
|
+
mainHeaderRef: {
|
|
47
|
+
current: HTMLDivElement | null;
|
|
48
|
+
};
|
|
49
|
+
onRender: () => void;
|
|
50
|
+
pinnedLeftHeaderRef: {
|
|
51
|
+
current: HTMLDivElement | null;
|
|
52
|
+
};
|
|
53
|
+
pinnedLeftRef: {
|
|
54
|
+
current: HTMLDivElement | null;
|
|
55
|
+
};
|
|
56
|
+
pinnedRightHeaderRef: {
|
|
57
|
+
current: HTMLDivElement | null;
|
|
58
|
+
};
|
|
59
|
+
pinnedRightRef: {
|
|
60
|
+
current: HTMLDivElement | null;
|
|
61
|
+
};
|
|
62
|
+
resolvedIcons: ResolvedIcons;
|
|
63
|
+
rowSelectionManager: RowSelectionManager | null;
|
|
64
|
+
rowStateMap: Map<string | number, RowState>;
|
|
65
|
+
scrollManager: ScrollManager | null;
|
|
66
|
+
sectionScrollController: SectionScrollController | null;
|
|
67
|
+
selectionManager: SelectionManager | null;
|
|
68
|
+
setCollapsedHeaders: (headers: Set<Accessor>) => void;
|
|
69
|
+
setCollapsedRows: (rows: Map<string, number>) => void;
|
|
70
|
+
setColumnEditorOpen: (open: boolean) => void;
|
|
71
|
+
setCurrentPage: (page: number) => void;
|
|
72
|
+
setExpandedRows: (rows: Map<string, number>) => void;
|
|
73
|
+
setHeaders: (headers: HeaderObject[]) => void;
|
|
74
|
+
setIsResizing: (value: boolean) => void;
|
|
75
|
+
setRowStateMap: (map: Map<string | number, any>) => void;
|
|
76
|
+
sortManager: SortManager | null;
|
|
77
|
+
/** When true, body cells that stay visible get only position updates (no content/selection recalc). Used during vertical scroll for performance. */
|
|
78
|
+
positionOnlyBody?: boolean;
|
|
79
|
+
}
|
|
80
|
+
export interface RenderState {
|
|
81
|
+
currentPage: number;
|
|
82
|
+
scrollTop: number;
|
|
83
|
+
scrollDirection: "up" | "down" | "none";
|
|
84
|
+
scrollbarWidth: number;
|
|
85
|
+
isMainSectionScrollable: boolean;
|
|
86
|
+
columnEditorOpen: boolean;
|
|
87
|
+
}
|
|
88
|
+
export declare class RenderOrchestrator {
|
|
89
|
+
private tableRenderer;
|
|
90
|
+
private lastHeadersRef;
|
|
91
|
+
private lastRowsRef;
|
|
92
|
+
private flattenedRowsCache;
|
|
93
|
+
private lastProcessedResult;
|
|
94
|
+
constructor();
|
|
95
|
+
getCachedFlattenResult(): FlattenRowsResult | null;
|
|
96
|
+
getLastProcessedResult(): ProcessRowsResult | null;
|
|
97
|
+
invalidateCache(type?: "body" | "header" | "context" | "all"): void;
|
|
98
|
+
computeEffectiveHeaders(headers: HeaderObject[], config: SimpleTableConfig, customTheme: CustomTheme, containerWidth?: number): HeaderObject[];
|
|
99
|
+
render(elements: {
|
|
100
|
+
bodyContainer: HTMLElement;
|
|
101
|
+
content: HTMLElement;
|
|
102
|
+
contentWrapper: HTMLElement;
|
|
103
|
+
footerContainer: HTMLElement;
|
|
104
|
+
headerContainer: HTMLElement;
|
|
105
|
+
rootElement: HTMLElement;
|
|
106
|
+
wrapperContainer: HTMLElement;
|
|
107
|
+
}, refs: {
|
|
108
|
+
mainBodyRef: {
|
|
109
|
+
current: HTMLDivElement | null;
|
|
110
|
+
};
|
|
111
|
+
tableBodyContainerRef: {
|
|
112
|
+
current: HTMLDivElement | null;
|
|
113
|
+
};
|
|
114
|
+
}, context: RenderContext, state: RenderState, mergedColumnEditorConfig: MergedColumnEditorConfig): void;
|
|
115
|
+
private renderHeader;
|
|
116
|
+
private renderBody;
|
|
117
|
+
private renderFooter;
|
|
118
|
+
private renderColumnEditor;
|
|
119
|
+
private renderHorizontalScrollbar;
|
|
120
|
+
private registerSectionPanes;
|
|
121
|
+
private buildRendererDeps;
|
|
122
|
+
cleanup(): void;
|
|
123
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import HeaderObject, { Accessor } from "../../types/HeaderObject";
|
|
2
|
+
import { HeaderRenderContext } from "../../utils/headerCellRenderer";
|
|
3
|
+
import { CellRenderContext } from "../../utils/bodyCellRenderer";
|
|
4
|
+
import TableRow from "../../types/TableRow";
|
|
5
|
+
export interface HeaderSectionParams {
|
|
6
|
+
headers: HeaderObject[];
|
|
7
|
+
collapsedHeaders: Set<Accessor>;
|
|
8
|
+
pinned?: "left" | "right";
|
|
9
|
+
maxHeaderDepth: number;
|
|
10
|
+
headerHeight: number;
|
|
11
|
+
context: HeaderRenderContext;
|
|
12
|
+
sectionWidth?: number;
|
|
13
|
+
startColIndex?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface BodySectionParams {
|
|
16
|
+
headers: HeaderObject[];
|
|
17
|
+
rows: TableRow[];
|
|
18
|
+
collapsedHeaders: Set<Accessor>;
|
|
19
|
+
pinned?: "left" | "right";
|
|
20
|
+
context: CellRenderContext;
|
|
21
|
+
sectionWidth?: number;
|
|
22
|
+
rowHeight: number;
|
|
23
|
+
heightOffsets?: Array<[number, number]>;
|
|
24
|
+
totalRowCount?: number;
|
|
25
|
+
startColIndex?: number;
|
|
26
|
+
/** When true, only update cell positions for existing cells (scroll performance). */
|
|
27
|
+
positionOnly?: boolean;
|
|
28
|
+
/** Full table rows ref + range for range-based body cell cache (avoids cache miss on every scroll). */
|
|
29
|
+
fullTableRows?: TableRow[];
|
|
30
|
+
renderedStartIndex?: number;
|
|
31
|
+
renderedEndIndex?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare class SectionRenderer {
|
|
34
|
+
private headerSections;
|
|
35
|
+
private bodySections;
|
|
36
|
+
private bodyCellsCache;
|
|
37
|
+
private headerCellsCache;
|
|
38
|
+
private contextCache;
|
|
39
|
+
private nextColIndexMap;
|
|
40
|
+
private stateRowsMap;
|
|
41
|
+
private nestedGridRowsMap;
|
|
42
|
+
renderHeaderSection(params: HeaderSectionParams): HTMLElement;
|
|
43
|
+
renderBodySection(params: BodySectionParams): HTMLElement;
|
|
44
|
+
private renderNestedGridRows;
|
|
45
|
+
private renderStateRows;
|
|
46
|
+
private calculateAbsoluteHeaderCells;
|
|
47
|
+
private calculateAbsoluteBodyCells;
|
|
48
|
+
private getLeafHeaders;
|
|
49
|
+
private createHeadersHash;
|
|
50
|
+
private createHeightOffsetsHash;
|
|
51
|
+
private createContextHash;
|
|
52
|
+
private getCachedBodyCells;
|
|
53
|
+
private getCachedHeaderCells;
|
|
54
|
+
private getCachedContext;
|
|
55
|
+
invalidateCache(type?: "body" | "header" | "context" | "all"): void;
|
|
56
|
+
/**
|
|
57
|
+
* Get the next colIndex after rendering a section
|
|
58
|
+
*/
|
|
59
|
+
getNextColIndex(sectionKey: string): number;
|
|
60
|
+
cleanup(): void;
|
|
61
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import HeaderObject, { Accessor } from "../../types/HeaderObject";
|
|
2
|
+
import { SimpleTableConfig } from "../../types/SimpleTableConfig";
|
|
3
|
+
import { CustomTheme } from "../../types/CustomTheme";
|
|
4
|
+
import { DimensionManager } from "../../managers/DimensionManager";
|
|
5
|
+
import type { SectionScrollController } from "../../managers/SectionScrollController";
|
|
6
|
+
import { SortManager } from "../../managers/SortManager";
|
|
7
|
+
import { FilterManager } from "../../managers/FilterManager";
|
|
8
|
+
import { SelectionManager } from "../../managers/SelectionManager";
|
|
9
|
+
import { RowSelectionManager } from "../../managers/RowSelectionManager";
|
|
10
|
+
export interface TableRendererDeps {
|
|
11
|
+
cellRegistry: Map<string, any>;
|
|
12
|
+
collapsedHeaders: Set<Accessor>;
|
|
13
|
+
collapsedRows: Map<string, number>;
|
|
14
|
+
config: SimpleTableConfig;
|
|
15
|
+
customTheme: CustomTheme;
|
|
16
|
+
dimensionManager: DimensionManager | null;
|
|
17
|
+
draggedHeaderRef: {
|
|
18
|
+
current: HeaderObject | null;
|
|
19
|
+
};
|
|
20
|
+
effectiveHeaders: HeaderObject[];
|
|
21
|
+
essentialAccessors: Set<string>;
|
|
22
|
+
expandedDepths: Set<number>;
|
|
23
|
+
expandedRows: Map<string, number>;
|
|
24
|
+
filterManager: FilterManager | null;
|
|
25
|
+
getCollapsedHeaders?: () => Set<Accessor>;
|
|
26
|
+
getCollapsedRows: () => Map<string, number>;
|
|
27
|
+
getExpandedRows: () => Map<string, number>;
|
|
28
|
+
getRowStateMap: () => Map<string | number, any>;
|
|
29
|
+
headerRegistry: Map<string, any>;
|
|
30
|
+
headers: HeaderObject[];
|
|
31
|
+
hoveredHeaderRef: {
|
|
32
|
+
current: HeaderObject | null;
|
|
33
|
+
};
|
|
34
|
+
internalIsLoading: boolean;
|
|
35
|
+
isResizing: boolean;
|
|
36
|
+
localRows: any[];
|
|
37
|
+
mainBodyRef: {
|
|
38
|
+
current: HTMLDivElement | null;
|
|
39
|
+
};
|
|
40
|
+
mainHeaderRef: {
|
|
41
|
+
current: HTMLDivElement | null;
|
|
42
|
+
};
|
|
43
|
+
onRender: () => void;
|
|
44
|
+
pinnedLeftHeaderRef: {
|
|
45
|
+
current: HTMLDivElement | null;
|
|
46
|
+
};
|
|
47
|
+
pinnedLeftRef: {
|
|
48
|
+
current: HTMLDivElement | null;
|
|
49
|
+
};
|
|
50
|
+
pinnedRightHeaderRef: {
|
|
51
|
+
current: HTMLDivElement | null;
|
|
52
|
+
};
|
|
53
|
+
pinnedRightRef: {
|
|
54
|
+
current: HTMLDivElement | null;
|
|
55
|
+
};
|
|
56
|
+
positionOnlyBody?: boolean; /** When true, body sections use position-only updates for existing cells (scroll performance). */
|
|
57
|
+
resolvedIcons: any;
|
|
58
|
+
rowSelectionManager: RowSelectionManager | null;
|
|
59
|
+
rowStateMap: Map<string | number, any>;
|
|
60
|
+
sectionScrollController: SectionScrollController | null;
|
|
61
|
+
selectionManager: SelectionManager | null;
|
|
62
|
+
setCollapsedHeaders: (headers: Set<Accessor>) => void;
|
|
63
|
+
setCollapsedRows: (rows: Map<string, number>) => void;
|
|
64
|
+
setExpandedRows: (rows: Map<string, number>) => void;
|
|
65
|
+
setHeaders: (headers: HeaderObject[]) => void;
|
|
66
|
+
setIsResizing: (value: boolean) => void;
|
|
67
|
+
setRowStateMap: (map: Map<string | number, any>) => void;
|
|
68
|
+
sortManager: SortManager | null;
|
|
69
|
+
}
|
|
70
|
+
export declare class TableRenderer {
|
|
71
|
+
private sectionRenderer;
|
|
72
|
+
private footerInstance;
|
|
73
|
+
private columnEditorInstance;
|
|
74
|
+
private horizontalScrollbarRef;
|
|
75
|
+
private scrollbarTimeoutId;
|
|
76
|
+
private stickyParentsContainer;
|
|
77
|
+
private sectionScrollController;
|
|
78
|
+
private renderScheduled;
|
|
79
|
+
private pendingRenderCallback;
|
|
80
|
+
constructor();
|
|
81
|
+
private scheduleRender;
|
|
82
|
+
invalidateCache(type?: "body" | "header" | "context" | "all"): void;
|
|
83
|
+
renderHeader(container: HTMLElement, calculatedHeaderHeight: number, maxHeaderDepth: number, deps: TableRendererDeps): void;
|
|
84
|
+
renderBody(container: HTMLElement, processedResult: any, deps: TableRendererDeps): void;
|
|
85
|
+
renderFooter(container: HTMLElement, totalRows: number, currentPage: number, onPageChange: (page: number) => void, deps: TableRendererDeps): void;
|
|
86
|
+
renderColumnEditor(contentWrapper: HTMLElement, columnEditorOpen: boolean, setColumnEditorOpen: (open: boolean) => void, mergedColumnEditorConfig: any, deps: TableRendererDeps): void;
|
|
87
|
+
renderHorizontalScrollbar(wrapperContainer: HTMLElement, mainBodyWidth: number, pinnedLeftWidth: number, pinnedRightWidth: number, pinnedLeftContentWidth: number, pinnedRightContentWidth: number, tableBodyContainerRef: HTMLDivElement, deps: TableRendererDeps): void;
|
|
88
|
+
cleanup(): void;
|
|
89
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages aria-live announcements for screen readers.
|
|
3
|
+
* This is a vanilla JS alternative to the useAriaAnnouncements hook.
|
|
4
|
+
*
|
|
5
|
+
* Provides a way to announce dynamic content changes to assistive technologies.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AriaAnnouncementManager {
|
|
8
|
+
private announcement;
|
|
9
|
+
private timeoutId;
|
|
10
|
+
private observers;
|
|
11
|
+
/**
|
|
12
|
+
* Announces a message to screen readers
|
|
13
|
+
* The message will be cleared after 1 second to allow for new announcements
|
|
14
|
+
* @param message - The message to announce
|
|
15
|
+
*/
|
|
16
|
+
announce(message: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Gets the current announcement message
|
|
19
|
+
* @returns The current announcement string
|
|
20
|
+
*/
|
|
21
|
+
getAnnouncement(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Subscribes to announcement changes
|
|
24
|
+
* @param callback - Function to call when announcement changes
|
|
25
|
+
* @returns Unsubscribe function
|
|
26
|
+
*/
|
|
27
|
+
subscribe(callback: (message: string) => void): () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Notifies all observers of announcement changes
|
|
30
|
+
*/
|
|
31
|
+
private notifyObservers;
|
|
32
|
+
/**
|
|
33
|
+
* Cleans up the manager and clears any pending timeouts
|
|
34
|
+
*/
|
|
35
|
+
destroy(): void;
|
|
36
|
+
}
|
|
37
|
+
export default AriaAnnouncementManager;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface ContentHeightConfig {
|
|
2
|
+
height?: string | number;
|
|
3
|
+
maxHeight?: string | number;
|
|
4
|
+
rowHeight: number;
|
|
5
|
+
shouldPaginate?: boolean;
|
|
6
|
+
rowsPerPage?: number;
|
|
7
|
+
totalRowCount: number;
|
|
8
|
+
headerHeight?: number;
|
|
9
|
+
footerHeight?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Converts a height value (string or number) to pixels
|
|
13
|
+
*/
|
|
14
|
+
export declare const convertHeightToPixels: (heightValue: string | number) => number;
|
|
15
|
+
/**
|
|
16
|
+
* Calculates the content height for the table.
|
|
17
|
+
* This is a pure function alternative to the useContentHeight hook.
|
|
18
|
+
*
|
|
19
|
+
* @param config - Configuration for content height calculation
|
|
20
|
+
* @returns The calculated content height in pixels, or undefined to disable virtualization
|
|
21
|
+
*/
|
|
22
|
+
export declare const calculateContentHeight: ({ height, maxHeight, rowHeight, shouldPaginate, rowsPerPage, totalRowCount, headerHeight, footerHeight, }: ContentHeightConfig) => number | undefined;
|
|
23
|
+
export default calculateContentHeight;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Accessor } from "../types/HeaderObject";
|
|
2
|
+
/**
|
|
3
|
+
* Initialize expandedDepths based on expandAll prop and rowGrouping
|
|
4
|
+
*/
|
|
5
|
+
export declare const initializeExpandedDepths: (expandAll: boolean, rowGrouping?: Accessor[]) => Set<number>;
|
|
6
|
+
/**
|
|
7
|
+
* Manages expanded depths state for row grouping.
|
|
8
|
+
* This is a vanilla JS alternative to the useExpandedDepths hook.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ExpandedDepthsManager {
|
|
11
|
+
private expandedDepths;
|
|
12
|
+
private observers;
|
|
13
|
+
constructor(expandAll: boolean, rowGrouping?: Accessor[]);
|
|
14
|
+
/**
|
|
15
|
+
* Updates the expanded depths when rowGrouping changes
|
|
16
|
+
* Filters out depths that are now out of range
|
|
17
|
+
* @param rowGrouping - The current row grouping configuration
|
|
18
|
+
*/
|
|
19
|
+
updateRowGrouping(rowGrouping?: Accessor[]): void;
|
|
20
|
+
/**
|
|
21
|
+
* Gets the current expanded depths
|
|
22
|
+
* @returns Set of expanded depth numbers
|
|
23
|
+
*/
|
|
24
|
+
getExpandedDepths(): Set<number>;
|
|
25
|
+
/**
|
|
26
|
+
* Sets the expanded depths
|
|
27
|
+
* @param depths - New set of expanded depths
|
|
28
|
+
*/
|
|
29
|
+
setExpandedDepths(depths: Set<number>): void;
|
|
30
|
+
/**
|
|
31
|
+
* Subscribes to expanded depths changes
|
|
32
|
+
* @param callback - Function to call when depths change
|
|
33
|
+
* @returns Unsubscribe function
|
|
34
|
+
*/
|
|
35
|
+
subscribe(callback: (depths: Set<number>) => void): () => void;
|
|
36
|
+
/**
|
|
37
|
+
* Notifies all observers of depth changes
|
|
38
|
+
*/
|
|
39
|
+
private notifyObservers;
|
|
40
|
+
/**
|
|
41
|
+
* Expands all depths
|
|
42
|
+
*/
|
|
43
|
+
expandAll(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Collapses all depths
|
|
46
|
+
*/
|
|
47
|
+
collapseAll(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Expands a specific depth
|
|
50
|
+
*/
|
|
51
|
+
expandDepth(depth: number): void;
|
|
52
|
+
/**
|
|
53
|
+
* Collapses a specific depth
|
|
54
|
+
*/
|
|
55
|
+
collapseDepth(depth: number): void;
|
|
56
|
+
/**
|
|
57
|
+
* Toggles a specific depth
|
|
58
|
+
*/
|
|
59
|
+
toggleDepth(depth: number): void;
|
|
60
|
+
/**
|
|
61
|
+
* Cleans up the manager
|
|
62
|
+
*/
|
|
63
|
+
destroy(): void;
|
|
64
|
+
}
|
|
65
|
+
export default ExpandedDepthsManager;
|