@simple-table/angular 3.0.0-beta.8
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/angular/src/buildVanillaConfig.d.ts +4 -0
- package/dist/angular/src/index.d.ts +4 -0
- package/dist/angular/src/lib/SimpleTableComponent.d.ts +81 -0
- package/dist/angular/src/lib/provideSimpleTable.d.ts +23 -0
- package/dist/angular/src/types.d.ts +37 -0
- package/dist/angular/src/utils/wrapAngularRenderer.d.ts +15 -0
- package/dist/cjs/angular/src/buildVanillaConfig.d.ts +4 -0
- package/dist/cjs/angular/src/index.d.ts +4 -0
- package/dist/cjs/angular/src/lib/SimpleTableComponent.d.ts +81 -0
- package/dist/cjs/angular/src/lib/provideSimpleTable.d.ts +23 -0
- package/dist/cjs/angular/src/types.d.ts +37 -0
- package/dist/cjs/angular/src/utils/wrapAngularRenderer.d.ts +15 -0
- 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/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/package.json +72 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import TableRow from "../types/TableRow";
|
|
2
|
+
import Row from "../types/Row";
|
|
3
|
+
import HeaderObject, { Accessor } from "../types/HeaderObject";
|
|
4
|
+
import CellValue from "../types/CellValue";
|
|
5
|
+
import RowState from "../types/RowState";
|
|
6
|
+
import { CustomTheme } from "../types/CustomTheme";
|
|
7
|
+
import { GetRowId } from "../types/GetRowId";
|
|
8
|
+
import { GenerateRowIdParams } from "../types/GenerateRowIdParams";
|
|
9
|
+
/**
|
|
10
|
+
* Calculate the height of a nested grid based on the number of child rows
|
|
11
|
+
* @param childRowCount - Number of rows in the nested grid
|
|
12
|
+
* @param rowHeight - Height of each row
|
|
13
|
+
* @param headerHeight - Height of the header
|
|
14
|
+
* @param customTheme - Custom theme configuration
|
|
15
|
+
* @returns Calculated height in pixels (includes padding, borders, row separators, and header border)
|
|
16
|
+
*/
|
|
17
|
+
export declare const calculateNestedGridHeight: ({ childRowCount, rowHeight, headerHeight, customTheme, }: {
|
|
18
|
+
childRowCount: number;
|
|
19
|
+
rowHeight: number;
|
|
20
|
+
headerHeight: number;
|
|
21
|
+
customTheme: CustomTheme;
|
|
22
|
+
}) => number;
|
|
23
|
+
/**
|
|
24
|
+
* Calculate the final wrapper height for a nested grid, accounting for custom heights
|
|
25
|
+
*
|
|
26
|
+
* @param calculatedHeight - The default calculated height based on child rows
|
|
27
|
+
* @param customHeight - Optional custom height from nestedTable config (e.g., "200px" or 200)
|
|
28
|
+
* @param customTheme - Custom theme configuration for padding
|
|
29
|
+
* @returns Final height in pixels for the wrapper (includes padding)
|
|
30
|
+
*/
|
|
31
|
+
export declare const calculateFinalNestedGridHeight: ({ calculatedHeight, customHeight, customTheme, }: {
|
|
32
|
+
calculatedHeight: number;
|
|
33
|
+
customHeight?: string | number;
|
|
34
|
+
customTheme: CustomTheme;
|
|
35
|
+
}) => number;
|
|
36
|
+
/**
|
|
37
|
+
* Calculate the inner height for a nested SimpleTable component
|
|
38
|
+
* This accounts for the padding that's applied to the wrapper
|
|
39
|
+
*
|
|
40
|
+
* @param calculatedHeight - The total height of the nested grid row (from calculateNestedGridHeight)
|
|
41
|
+
* @param customHeight - Optional custom height from nestedTable config (e.g., "200px")
|
|
42
|
+
* @param customTheme - Custom theme configuration for padding
|
|
43
|
+
* @returns Height value to pass to the nested SimpleTable (string with units)
|
|
44
|
+
*/
|
|
45
|
+
export declare const calculateNestedTableHeight: ({ calculatedHeight, customHeight, customTheme, }: {
|
|
46
|
+
calculatedHeight: number;
|
|
47
|
+
customHeight?: string | number;
|
|
48
|
+
customTheme: CustomTheme;
|
|
49
|
+
}) => string;
|
|
50
|
+
/**
|
|
51
|
+
* Get a nested property value from an object using dot notation and array bracket notation
|
|
52
|
+
* Examples:
|
|
53
|
+
* getNestedValue(row, "latest.rank") returns row.latest.rank
|
|
54
|
+
* getNestedValue(row, "albums[0].title") returns row.albums[0].title
|
|
55
|
+
* getNestedValue(row, "releaseDate[0]") returns row.releaseDate[0]
|
|
56
|
+
*/
|
|
57
|
+
export declare const getNestedValue: (obj: Row, path: Accessor) => CellValue;
|
|
58
|
+
/**
|
|
59
|
+
* Set a nested property value in an object using dot notation and array bracket notation
|
|
60
|
+
* Examples:
|
|
61
|
+
* setNestedValue(row, "latest.rank", 5) sets row.latest.rank = 5
|
|
62
|
+
* setNestedValue(row, "albums[0].title", "New Album") sets row.albums[0].title = "New Album"
|
|
63
|
+
* setNestedValue(row, "releaseDate[0]", "2024") sets row.releaseDate[0] = "2024"
|
|
64
|
+
*/
|
|
65
|
+
export declare const setNestedValue: (obj: Row, path: Accessor, value: CellValue) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Check if an array contains Row objects (vs primitive arrays like string[] or number[])
|
|
68
|
+
*/
|
|
69
|
+
export declare const isRowArray: (data: any) => data is Row[];
|
|
70
|
+
/**
|
|
71
|
+
* Generate the row ID array from index path and optional custom identifier.
|
|
72
|
+
*
|
|
73
|
+
* The row ID is always an array that includes:
|
|
74
|
+
* - The index at each level of nesting
|
|
75
|
+
* - The grouping key between levels (for readability)
|
|
76
|
+
* - An optional custom identifier from getRowId (appended at the end)
|
|
77
|
+
*
|
|
78
|
+
* Examples:
|
|
79
|
+
* - Root row (index 1): [1]
|
|
80
|
+
* - Nested store (parent index 1, store index 5): [1, "stores", 5]
|
|
81
|
+
* - With custom ID: [1, "stores", 5, "STORE-101"]
|
|
82
|
+
* - Deep nesting: [1, "stores", 5, "products", 2, "PROD-24"]
|
|
83
|
+
*
|
|
84
|
+
* @param params - Object containing row data, getRowId function, and metadata
|
|
85
|
+
* @returns An array representing the unique row ID path
|
|
86
|
+
*/
|
|
87
|
+
export declare const generateRowId: (params: GenerateRowIdParams) => (string | number)[];
|
|
88
|
+
/**
|
|
89
|
+
* Convert a row ID array to a string for use as Map keys, Set members, etc.
|
|
90
|
+
*
|
|
91
|
+
* @param rowId - Array of strings/numbers representing the row ID path
|
|
92
|
+
* @returns A string representation of the row ID
|
|
93
|
+
*/
|
|
94
|
+
export declare const rowIdToString: (rowId: (string | number)[]) => string;
|
|
95
|
+
/**
|
|
96
|
+
* Get nested rows from a row based on the grouping path
|
|
97
|
+
*/
|
|
98
|
+
export declare const getNestedRows: (row: Row, groupingKey: string) => Row[];
|
|
99
|
+
/**
|
|
100
|
+
* Check if a row has nested rows for a given grouping key
|
|
101
|
+
*/
|
|
102
|
+
export declare const hasNestedRows: (row: Row, groupingKey?: string) => boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Determine if a row is expanded based on expandedDepths and manual row overrides
|
|
105
|
+
* @param rowId - The ID of the row to check
|
|
106
|
+
* @param depth - The depth level of the row (0-indexed)
|
|
107
|
+
* @param expandedDepths - Set of depth levels that are expanded
|
|
108
|
+
* @param expandedRows - Map of row IDs to their depths for rows that user wants expanded
|
|
109
|
+
* @param collapsedRows - Map of row IDs to their depths for rows that user wants collapsed
|
|
110
|
+
* @returns true if the row is expanded, false otherwise
|
|
111
|
+
*/
|
|
112
|
+
export declare const isRowExpanded: (rowId: string | number, depth: number, expandedDepths: Set<number>, expandedRows: Map<string, number>, collapsedRows: Map<string, number>) => boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Flatten rows recursively based on row grouping configuration
|
|
115
|
+
* Now calculates ALL properties including position and isLastGroupRow
|
|
116
|
+
* Also injects special state rows for loading/error/empty states (only if renderers are available)
|
|
117
|
+
* Also injects nested grid rows when a header has nestedTable configuration
|
|
118
|
+
*/
|
|
119
|
+
export declare const flattenRowsWithGrouping: ({ depth, expandedDepths, expandedRows, collapsedRows, rowGrouping, getRowId, rows, displayPositionOffset, rowStateMap, hasLoadingRenderer, hasErrorRenderer, hasEmptyRenderer, headers, rowHeight, headerHeight, customTheme, }: {
|
|
120
|
+
depth?: number;
|
|
121
|
+
expandedDepths: Set<number>;
|
|
122
|
+
expandedRows: Map<string, number>;
|
|
123
|
+
collapsedRows: Map<string, number>;
|
|
124
|
+
rowGrouping?: Accessor[];
|
|
125
|
+
getRowId?: GetRowId;
|
|
126
|
+
rows: Row[];
|
|
127
|
+
displayPositionOffset?: number;
|
|
128
|
+
rowStateMap?: Map<string | number, RowState>;
|
|
129
|
+
hasLoadingRenderer?: boolean;
|
|
130
|
+
hasErrorRenderer?: boolean;
|
|
131
|
+
hasEmptyRenderer?: boolean;
|
|
132
|
+
headers?: HeaderObject[];
|
|
133
|
+
rowHeight: number;
|
|
134
|
+
headerHeight: number;
|
|
135
|
+
customTheme: CustomTheme;
|
|
136
|
+
}) => TableRow[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import HeaderObject from "../types/HeaderObject";
|
|
2
|
+
import Row from "../types/Row";
|
|
3
|
+
import SortColumn from "../types/SortColumn";
|
|
4
|
+
export declare const handleSort: ({ headers, rows, sortColumn, }: {
|
|
5
|
+
headers: HeaderObject[];
|
|
6
|
+
rows: Row[];
|
|
7
|
+
sortColumn: SortColumn;
|
|
8
|
+
}) => Row[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type TableRowType from "../types/TableRow";
|
|
2
|
+
import { HeightOffsets } from "./infiniteScrollUtils";
|
|
3
|
+
import { CustomTheme } from "../types/CustomTheme";
|
|
4
|
+
import { LoadingStateRenderer, ErrorStateRenderer, EmptyStateRenderer } from "../types/RowStateRendererProps";
|
|
5
|
+
export interface StateRowRenderContext {
|
|
6
|
+
index: number;
|
|
7
|
+
rowHeight: number;
|
|
8
|
+
heightOffsets: HeightOffsets | undefined;
|
|
9
|
+
customTheme: CustomTheme;
|
|
10
|
+
loadingStateRenderer?: LoadingStateRenderer;
|
|
11
|
+
errorStateRenderer?: ErrorStateRenderer;
|
|
12
|
+
emptyStateRenderer?: EmptyStateRenderer;
|
|
13
|
+
}
|
|
14
|
+
export declare const createStateRow: (tableRow: TableRowType, context: StateRowRenderContext) => HTMLElement;
|
|
15
|
+
export declare const cleanupStateRow: (rowElement: HTMLElement) => void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import TableRow from "../types/TableRow";
|
|
2
|
+
import HeaderObject from "../types/HeaderObject";
|
|
3
|
+
import { CumulativeHeightMap, HeightOffsets } from "./infiniteScrollUtils";
|
|
4
|
+
import type { SectionScrollController } from "../managers/SectionScrollController";
|
|
5
|
+
import { CustomTheme } from "../types/CustomTheme";
|
|
6
|
+
import { CellRenderContext } from "./bodyCell/types";
|
|
7
|
+
export interface StickyParentsContainerProps {
|
|
8
|
+
calculatedHeaderHeight: number;
|
|
9
|
+
heightMap?: CumulativeHeightMap;
|
|
10
|
+
partiallyVisibleRows: TableRow[];
|
|
11
|
+
pinnedLeftColumns: HeaderObject[];
|
|
12
|
+
pinnedLeftWidth: number;
|
|
13
|
+
pinnedRightColumns: HeaderObject[];
|
|
14
|
+
pinnedRightWidth: number;
|
|
15
|
+
scrollTop: number;
|
|
16
|
+
scrollbarWidth: number;
|
|
17
|
+
stickyParents: TableRow[];
|
|
18
|
+
}
|
|
19
|
+
export interface StickyParentsRenderContext {
|
|
20
|
+
collapsedHeaders: Set<string>;
|
|
21
|
+
customTheme: CustomTheme;
|
|
22
|
+
editColumns: boolean;
|
|
23
|
+
headers: HeaderObject[];
|
|
24
|
+
rowHeight: number;
|
|
25
|
+
heightOffsets: HeightOffsets | undefined;
|
|
26
|
+
cellRenderContext: CellRenderContext;
|
|
27
|
+
sectionScrollController?: SectionScrollController | null;
|
|
28
|
+
}
|
|
29
|
+
export declare const createStickyParentsContainer: (props: StickyParentsContainerProps, context: StickyParentsRenderContext) => HTMLElement | null;
|
|
30
|
+
export declare const cleanupStickyParentsContainer: (container: HTMLElement, sectionScrollController?: SectionScrollController | null) => void;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@angular/core"),t=require("simple-table-core");function o(e,t,o,n){var i,r=arguments.length,p=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)p=Reflect.decorate(e,t,o,n);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(p=(r<3?i(p):r>3?i(t,o,p):i(t,o))||p);return r>3&&p&&Object.defineProperty(t,o,p),p}function n(t,o,i){const{defaultHeaders:r,footerRenderer:p,emptyStateRenderer:l,errorStateRenderer:s,loadingStateRenderer:d,tableEmptyStateRenderer:a,headerDropdown:m,columnEditorConfig:h,...u}=t,C=t=>function(t,o,n){return i=>{const r=document.createElement("div"),p=e.createComponent(t,{environmentInjector:n,hostElement:r});return Object.assign(p.instance,i),o.attachView(p.hostView),p.changeDetectorRef.detectChanges(),r}}(t,o,i),v={...u,defaultHeaders:r.map(function e(t){const{cellRenderer:r,headerRenderer:p,children:l,nestedTable:s,...d}=t,a={...d};if(r&&(a.cellRenderer=r.ɵcmp?C(r):r),p&&(a.headerRenderer=p.ɵcmp?C(p):p),l&&(a.children=l.map(e)),s){const e={...s,rows:[]};a.nestedTable=n(e,o,i)}return a})};return void 0!==p&&(v.footerRenderer=p.ɵcmp?C(p):p),void 0!==l&&(v.emptyStateRenderer=l.ɵcmp?C(l):l),void 0!==s&&(v.errorStateRenderer=s.ɵcmp?C(s):s),void 0!==d&&(v.loadingStateRenderer=d.ɵcmp?C(d):d),void 0!==a&&(v.tableEmptyStateRenderer=a),void 0!==m&&(v.headerDropdown=C(m)),void 0!==h&&(v.columnEditorConfig=function(e){const{rowRenderer:t,...o}=e;return{...o,...t?{rowRenderer:C(t)}:{}}}(h)),v}"function"==typeof SuppressedError&&SuppressedError,exports.SimpleTableComponent=class{constructor(){this.tableReady=new e.EventEmitter,this.instance=null,this.hostEl=e.inject(e.ElementRef),this.appRef=e.inject(e.ApplicationRef),this.envInjector=e.inject(e.EnvironmentInjector)}ngOnInit(){const e=this.hostEl.nativeElement.querySelector("div");e&&(this.instance=new t.SimpleTableVanilla(e,n(this.getProps(),this.appRef,this.envInjector)),this.instance.mount(),this.tableReady.emit(this.instance.getAPI()))}ngOnChanges(){this.instance?.update(n(this.getProps(),this.appRef,this.envInjector))}ngOnDestroy(){this.instance?.destroy(),this.instance=null}getAPI(){return this.instance?.getAPI()??null}getProps(){const e={rows:this.rows,defaultHeaders:this.defaultHeaders};return void 0!==this.footerRenderer&&(e.footerRenderer=this.footerRenderer),void 0!==this.loadingStateRenderer&&(e.loadingStateRenderer=this.loadingStateRenderer),void 0!==this.errorStateRenderer&&(e.errorStateRenderer=this.errorStateRenderer),void 0!==this.emptyStateRenderer&&(e.emptyStateRenderer=this.emptyStateRenderer),void 0!==this.tableEmptyStateRenderer&&(e.tableEmptyStateRenderer=this.tableEmptyStateRenderer),void 0!==this.headerDropdown&&(e.headerDropdown=this.headerDropdown),void 0!==this.columnEditorConfig&&(e.columnEditorConfig=this.columnEditorConfig),void 0!==this.onCellClick&&(e.onCellClick=this.onCellClick),void 0!==this.onCellEdit&&(e.onCellEdit=this.onCellEdit),void 0!==this.onSortChange&&(e.onSortChange=this.onSortChange),void 0!==this.onFilterChange&&(e.onFilterChange=this.onFilterChange),void 0!==this.onRowSelectionChange&&(e.onRowSelectionChange=this.onRowSelectionChange),void 0!==this.onRowGroupExpand&&(e.onRowGroupExpand=this.onRowGroupExpand),void 0!==this.onColumnOrderChange&&(e.onColumnOrderChange=this.onColumnOrderChange),void 0!==this.onColumnVisibilityChange&&(e.onColumnVisibilityChange=this.onColumnVisibilityChange),void 0!==this.onColumnWidthChange&&(e.onColumnWidthChange=this.onColumnWidthChange),void 0!==this.onPageChange&&(e.onPageChange=this.onPageChange),void 0!==this.onLoadMore&&(e.onLoadMore=this.onLoadMore),void 0!==this.onGridReady&&(e.onGridReady=this.onGridReady),void 0!==this.rowGrouping&&(e.rowGrouping=this.rowGrouping),void 0!==this.enableRowSelection&&(e.enableRowSelection=this.enableRowSelection),void 0!==this.theme&&(e.theme=this.theme),void 0!==this.quickFilter&&(e.quickFilter=this.quickFilter),void 0!==this.isLoading&&(e.isLoading=this.isLoading),void 0!==this.getRowId&&(e.getRowId=this.getRowId),void 0!==this.shouldPaginate&&(e.shouldPaginate=this.shouldPaginate),void 0!==this.rowsPerPage&&(e.rowsPerPage=this.rowsPerPage),void 0!==this.serverSidePagination&&(e.serverSidePagination=this.serverSidePagination),void 0!==this.totalRowCount&&(e.totalRowCount=this.totalRowCount),void 0!==this.height&&(e.height=this.height),void 0!==this.maxHeight&&(e.maxHeight=this.maxHeight),void 0!==this.columnResizing&&(e.columnResizing=this.columnResizing),void 0!==this.columnReordering&&(e.columnReordering=this.columnReordering),void 0!==this.editColumns&&(e.editColumns=this.editColumns),void 0!==this.selectableCells&&(e.selectableCells=this.selectableCells),void 0!==this.selectableColumns&&(e.selectableColumns=this.selectableColumns),void 0!==this.enableHeaderEditing&&(e.enableHeaderEditing=this.enableHeaderEditing),void 0!==this.onHeaderEdit&&(e.onHeaderEdit=this.onHeaderEdit),void 0!==this.customTheme&&(e.customTheme=this.customTheme),void 0!==this.icons&&(e.icons=this.icons),void 0!==this.externalFilterHandling&&(e.externalFilterHandling=this.externalFilterHandling),void 0!==this.externalSortHandling&&(e.externalSortHandling=this.externalSortHandling),void 0!==this.columnBorders&&(e.columnBorders=this.columnBorders),void 0!==this.rowButtons&&(e.rowButtons=this.rowButtons),void 0!==this.hideFooter&&(e.hideFooter=this.hideFooter),void 0!==this.initialSortColumn&&(e.initialSortColumn=this.initialSortColumn),void 0!==this.initialSortDirection&&(e.initialSortDirection=this.initialSortDirection),void 0!==this.expandAll&&(e.expandAll=this.expandAll),void 0!==this.autoExpandColumns&&(e.autoExpandColumns=this.autoExpandColumns),e}},o([e.Input({required:!0})],exports.SimpleTableComponent.prototype,"rows",void 0),o([e.Input({required:!0})],exports.SimpleTableComponent.prototype,"defaultHeaders",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"footerRenderer",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"loadingStateRenderer",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"errorStateRenderer",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"emptyStateRenderer",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"tableEmptyStateRenderer",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"headerDropdown",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"columnEditorConfig",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onCellClick",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onCellEdit",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onSortChange",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onFilterChange",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onRowSelectionChange",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onRowGroupExpand",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onColumnOrderChange",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onColumnVisibilityChange",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onColumnWidthChange",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onPageChange",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onLoadMore",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onGridReady",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"rowGrouping",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"enableRowSelection",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"theme",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"quickFilter",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"isLoading",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"getRowId",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"shouldPaginate",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"rowsPerPage",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"serverSidePagination",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"totalRowCount",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"height",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"maxHeight",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"columnResizing",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"columnReordering",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"editColumns",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"selectableCells",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"selectableColumns",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"enableHeaderEditing",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"onHeaderEdit",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"customTheme",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"icons",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"externalFilterHandling",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"externalSortHandling",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"columnBorders",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"rowButtons",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"hideFooter",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"initialSortColumn",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"initialSortDirection",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"expandAll",void 0),o([e.Input()],exports.SimpleTableComponent.prototype,"autoExpandColumns",void 0),o([e.Output()],exports.SimpleTableComponent.prototype,"tableReady",void 0),exports.SimpleTableComponent=o([e.Component({selector:"simple-table",standalone:!0,template:"<div #host></div>",styles:[":host { display: block; }"]})],exports.SimpleTableComponent),exports.provideSimpleTable=function(){return e.makeEnvironmentProviders([])};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -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
|
+
}
|