@elliemae/ds-data-table 3.80.0-next.64 → 3.80.0-next.67
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/TruncatedTooltipText.js +1 -3
- package/dist/cjs/TruncatedTooltipText.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +27 -19
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +25 -17
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +24 -14
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/CurrencyRangeFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateRangeFilter/DateRangeFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/DateSwitcherFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/NumberRangeFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SingleDateFilter/SingleDateFilterV2.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
- package/dist/cjs/configs/constants.js +1 -3
- package/dist/cjs/configs/constants.js.map +2 -2
- package/dist/cjs/configs/index.js +0 -1
- package/dist/cjs/configs/index.js.map +2 -2
- package/dist/cjs/configs/useStore/index.js +1 -7
- package/dist/cjs/configs/useStore/index.js.map +2 -2
- package/dist/cjs/configs/useTableColsWithAddons.js +2 -2
- package/dist/cjs/configs/useTableColsWithAddons.js.map +2 -2
- package/dist/cjs/constants/index.js +2 -1
- package/dist/cjs/constants/index.js.map +2 -2
- package/dist/cjs/exported-related/EditableCell.js +6 -4
- package/dist/cjs/exported-related/EditableCell.js.map +2 -2
- package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +16 -62
- package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
- package/dist/cjs/exported-related/FilterBar/FilterMenuButton.js +15 -15
- package/dist/cjs/exported-related/FilterBar/FilterMenuButton.js.map +2 -2
- package/dist/cjs/exported-related/FilterBar/PillsFromDataTableFilters.js.map +2 -2
- package/dist/cjs/{parts/RowVariants/types.js → exported-related/FilterBar/dropdownMenuV2Bridge/bridgeTypes.js} +3 -3
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/bridgeTypes.js.map +7 -0
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/conversionHelpers.js +137 -0
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/conversionHelpers.js.map +7 -0
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/getHumanReadableWarnings.js +64 -0
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/getHumanReadableWarnings.js.map +7 -0
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/index.js +113 -0
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/index.js.map +7 -0
- package/dist/cjs/exported-related/FilterBar/dropdownMenuV2Bridge/types.js.map +7 -0
- package/dist/cjs/exported-related/FilterPopover/FilterPopoverV2.js +17 -8
- package/dist/cjs/exported-related/FilterPopover/FilterPopoverV2.js.map +2 -2
- package/dist/cjs/exported-related/FilterPopover/index.js +11 -2
- package/dist/cjs/exported-related/FilterPopover/index.js.map +2 -2
- package/dist/cjs/exported-related/FilterPopover/styled.js +11 -0
- package/dist/cjs/exported-related/FilterPopover/styled.js.map +2 -2
- package/dist/cjs/exported-related/FilterPopover/useGetFilterHandlers.js.map +1 -1
- package/dist/cjs/exported-related/FilterTypes.js +10 -0
- package/dist/cjs/exported-related/FilterTypes.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/index.js +2 -0
- package/dist/cjs/exported-related/RowRenderer/index.js.map +2 -2
- package/dist/cjs/exported-related/Toolbar/Toolbar.js +36 -22
- package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +2 -2
- package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
- package/dist/cjs/helpers/gridLayoutHelpers.js +2 -0
- package/dist/cjs/helpers/gridLayoutHelpers.js.map +2 -2
- package/dist/cjs/helpers/index.js +1 -0
- package/dist/cjs/helpers/index.js.map +2 -2
- package/dist/cjs/{parts/internal.js → helpers/smallButtonSize.js} +17 -8
- package/dist/cjs/helpers/smallButtonSize.js.map +7 -0
- package/dist/cjs/parts/Cells/CellFactory.js.map +2 -2
- package/dist/cjs/parts/Cells/index.js +19 -8
- package/dist/cjs/parts/Cells/index.js.map +2 -2
- package/dist/cjs/parts/DnDHandle.js +4 -2
- package/dist/cjs/parts/DnDHandle.js.map +2 -2
- package/dist/cjs/parts/DropIndicator.js.map +2 -2
- package/dist/cjs/parts/EmptyContent.js +2 -2
- package/dist/cjs/parts/EmptyContent.js.map +2 -2
- package/dist/cjs/parts/FilterBar/FilterBarMenuButtonAddon.js +88 -0
- package/dist/cjs/parts/FilterBar/FilterBarMenuButtonAddon.js.map +7 -0
- package/dist/cjs/parts/FilterBar/FiltersBar.js +4 -39
- package/dist/cjs/parts/FilterBar/FiltersBar.js.map +2 -2
- package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
- package/dist/cjs/{configs/fixedSizes.js → parts/FilterBar/convertExtraOptions.js} +16 -8
- package/dist/cjs/parts/FilterBar/convertExtraOptions.js.map +7 -0
- package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +4 -2
- package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderCell.js +29 -11
- package/dist/cjs/parts/Headers/HeaderCell.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderCellGroup.js +3 -1
- package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderCellTitle.js +5 -1
- package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderResizer.js +3 -1
- package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
- package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +2 -2
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +2 -2
- package/dist/cjs/parts/Headers/useHeaderResizer.js +2 -2
- package/dist/cjs/parts/Headers/useHeaderResizer.js.map +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantHeader.js +6 -2
- package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +2 -2
- package/dist/cjs/parts/SkeletonTable.js +1 -1
- package/dist/cjs/parts/SkeletonTable.js.map +2 -2
- package/dist/cjs/parts/SortByCaret.js +0 -1
- package/dist/cjs/parts/SortByCaret.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +75 -21
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/styled.js +7 -1
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/README.md +9 -0
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/filter-bar-props.js +71 -0
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/filter-bar-props.js.map +7 -0
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/get-row-variant.js +38 -0
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/get-row-variant.js.map +7 -0
- package/dist/cjs/{parts/FilterBar/index.js → tentative-typescript-testing-for-unsafe-type/sizes.js} +10 -12
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/sizes.js.map +7 -0
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/slot-props.js +134 -0
- package/dist/cjs/tentative-typescript-testing-for-unsafe-type/slot-props.js.map +7 -0
- package/dist/esm/TruncatedTooltipText.js +2 -8
- package/dist/esm/TruncatedTooltipText.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +28 -20
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +25 -17
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +24 -14
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/CurrencyRangeFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateRangeFilter/DateRangeFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/DateSwitcherFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/NumberRangeFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SingleDateFilter/SingleDateFilterV2.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
- package/dist/esm/configs/constants.js +1 -3
- package/dist/esm/configs/constants.js.map +2 -2
- package/dist/esm/configs/index.js +0 -1
- package/dist/esm/configs/index.js.map +2 -2
- package/dist/esm/configs/useStore/index.js +2 -8
- package/dist/esm/configs/useStore/index.js.map +2 -2
- package/dist/esm/configs/useTableColsWithAddons.js +2 -2
- package/dist/esm/configs/useTableColsWithAddons.js.map +2 -2
- package/dist/esm/constants/index.js +2 -1
- package/dist/esm/constants/index.js.map +2 -2
- package/dist/esm/exported-related/EditableCell.js +6 -4
- package/dist/esm/exported-related/EditableCell.js.map +2 -2
- package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +17 -63
- package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
- package/dist/esm/exported-related/FilterBar/FilterMenuButton.js +16 -16
- package/dist/esm/exported-related/FilterBar/FilterMenuButton.js.map +2 -2
- package/dist/esm/exported-related/FilterBar/PillsFromDataTableFilters.js.map +2 -2
- package/dist/esm/exported-related/FilterBar/dropdownMenuV2Bridge/bridgeTypes.js +2 -0
- package/dist/esm/{parts/RowVariants/types.js.map → exported-related/FilterBar/dropdownMenuV2Bridge/bridgeTypes.js.map} +1 -1
- package/dist/esm/exported-related/FilterBar/dropdownMenuV2Bridge/conversionHelpers.js +107 -0
- package/dist/esm/exported-related/FilterBar/dropdownMenuV2Bridge/conversionHelpers.js.map +7 -0
- package/dist/esm/exported-related/FilterBar/dropdownMenuV2Bridge/getHumanReadableWarnings.js +34 -0
- package/dist/esm/exported-related/FilterBar/dropdownMenuV2Bridge/getHumanReadableWarnings.js.map +7 -0
- package/dist/esm/exported-related/FilterBar/dropdownMenuV2Bridge/index.js +89 -0
- package/dist/esm/exported-related/FilterBar/dropdownMenuV2Bridge/index.js.map +7 -0
- package/dist/esm/exported-related/{FilterPopover → FilterBar/dropdownMenuV2Bridge}/types.js.map +1 -1
- package/dist/esm/exported-related/FilterPopover/FilterPopoverV2.js +17 -8
- package/dist/esm/exported-related/FilterPopover/FilterPopoverV2.js.map +2 -2
- package/dist/esm/exported-related/FilterPopover/index.js +11 -2
- package/dist/esm/exported-related/FilterPopover/index.js.map +2 -2
- package/dist/esm/exported-related/FilterPopover/styled.js +11 -0
- package/dist/esm/exported-related/FilterPopover/styled.js.map +2 -2
- package/dist/esm/exported-related/FilterPopover/useGetFilterHandlers.js.map +1 -1
- package/dist/esm/exported-related/FilterTypes.js +10 -0
- package/dist/esm/exported-related/FilterTypes.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/index.js +3 -1
- package/dist/esm/exported-related/RowRenderer/index.js.map +2 -2
- package/dist/esm/exported-related/Toolbar/Toolbar.js +36 -22
- package/dist/esm/exported-related/Toolbar/Toolbar.js.map +2 -2
- package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
- package/dist/esm/helpers/gridLayoutHelpers.js +2 -0
- package/dist/esm/helpers/gridLayoutHelpers.js.map +2 -2
- package/dist/esm/helpers/index.js +1 -0
- package/dist/esm/helpers/index.js.map +2 -2
- package/dist/esm/helpers/smallButtonSize.js +17 -0
- package/dist/esm/helpers/smallButtonSize.js.map +7 -0
- package/dist/esm/parts/Cells/CellFactory.js.map +2 -2
- package/dist/esm/parts/Cells/index.js +19 -8
- package/dist/esm/parts/Cells/index.js.map +2 -2
- package/dist/esm/parts/DnDHandle.js +5 -3
- package/dist/esm/parts/DnDHandle.js.map +2 -2
- package/dist/esm/parts/DropIndicator.js.map +2 -2
- package/dist/esm/parts/EmptyContent.js +2 -2
- package/dist/esm/parts/EmptyContent.js.map +2 -2
- package/dist/esm/parts/FilterBar/FilterBarMenuButtonAddon.js +58 -0
- package/dist/esm/parts/FilterBar/FilterBarMenuButtonAddon.js.map +7 -0
- package/dist/esm/parts/FilterBar/FiltersBar.js +5 -40
- package/dist/esm/parts/FilterBar/FiltersBar.js.map +2 -2
- package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
- package/dist/esm/parts/FilterBar/convertExtraOptions.js +16 -0
- package/dist/esm/parts/FilterBar/convertExtraOptions.js.map +7 -0
- package/dist/esm/parts/Headers/EmptyChildrenGroup.js +4 -2
- package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderCell.js +29 -11
- package/dist/esm/parts/Headers/HeaderCell.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderCellGroup.js +4 -2
- package/dist/esm/parts/Headers/HeaderCellGroup.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderCellTitle.js +5 -1
- package/dist/esm/parts/Headers/HeaderCellTitle.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderResizer.js +4 -2
- package/dist/esm/parts/Headers/HeaderResizer.js.map +2 -2
- package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +2 -2
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +2 -2
- package/dist/esm/parts/Headers/useHeaderResizer.js +3 -2
- package/dist/esm/parts/Headers/useHeaderResizer.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
- package/dist/esm/parts/RowVariants/RowVariantHeader.js +7 -3
- package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +2 -2
- package/dist/esm/parts/SkeletonTable.js +1 -1
- package/dist/esm/parts/SkeletonTable.js.map +2 -2
- package/dist/esm/parts/SortByCaret.js +0 -1
- package/dist/esm/parts/SortByCaret.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +75 -21
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/esm/styled.js +8 -2
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/README.md +9 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/filter-bar-props.js +48 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/filter-bar-props.js.map +7 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/get-row-variant.js +15 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/get-row-variant.js.map +7 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/sizes.js +11 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/sizes.js.map +7 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/slot-props.js +111 -0
- package/dist/esm/tentative-typescript-testing-for-unsafe-type/slot-props.js.map +7 -0
- package/dist/types/TruncatedTooltipText.d.ts +2 -7
- package/dist/types/addons/Columns/ColumnAction/ColumnAction.d.ts +1 -3
- package/dist/types/addons/Filters/Components/CurrencyRangeFilter/CurrencyRangeFilterV2.d.ts +1 -6
- package/dist/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +1 -6
- package/dist/types/addons/Filters/Components/DateRangeFilter/DateRangeFilterV2.d.ts +1 -6
- package/dist/types/addons/Filters/Components/DateRangeFilter/index.d.ts +1 -6
- package/dist/types/addons/Filters/Components/DateSwitcherFilter/DateSwitcherFilterV2.d.ts +1 -7
- package/dist/types/addons/Filters/Components/DateSwitcherFilter/index.d.ts +1 -7
- package/dist/types/addons/Filters/Components/NumberRangeFilter/NumberRangeFilterV2.d.ts +1 -6
- package/dist/types/addons/Filters/Components/NumberRangeFilter/index.d.ts +1 -6
- package/dist/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +1 -9
- package/dist/types/addons/Filters/Components/SelectFilter/BaseSelectFilterV2.d.ts +1 -9
- package/dist/types/addons/Filters/Components/SelectFilter/MultiCreatableFilter.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SelectFilter/MultiCreatableFilterV2.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SelectFilter/MultiSelectFilter.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SelectFilter/MultiSelectFilterV2.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SelectFilter/SingleCreatableFilter.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SelectFilter/SingleCreatableFilterV2.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SelectFilter/SingleSelectFilter.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SelectFilter/SingleSelectFilterV2.d.ts +1 -4
- package/dist/types/addons/Filters/Components/SingleDateFilter/SingleDateFilterV2.d.ts +1 -3
- package/dist/types/addons/Filters/Components/SingleDateFilter/index.d.ts +1 -3
- package/dist/types/configs/constants.d.ts +0 -1
- package/dist/types/configs/index.d.ts +0 -1
- package/dist/types/configs/useStore/index.d.ts +1 -2
- package/dist/types/constants/index.d.ts +4 -0
- package/dist/types/exported-related/FilterBar/FilterBarDropdownMenu.d.ts +8 -7
- package/dist/types/exported-related/FilterBar/FilterMenuButton.d.ts +2 -19
- package/dist/types/exported-related/FilterBar/PillsFromDataTableFilters.d.ts +1 -10
- package/dist/types/exported-related/FilterBar/dropdownMenuV2Bridge/bridgeTypes.d.ts +22 -0
- package/dist/types/exported-related/FilterBar/dropdownMenuV2Bridge/conversionHelpers.d.ts +78 -0
- package/dist/types/exported-related/FilterBar/dropdownMenuV2Bridge/getHumanReadableWarnings.d.ts +7 -0
- package/dist/types/exported-related/FilterBar/dropdownMenuV2Bridge/index.d.ts +14 -0
- package/dist/types/exported-related/FilterBar/dropdownMenuV2Bridge/types.d.ts +60 -0
- package/dist/types/exported-related/FilterPopover/FilterPopoverV2.d.ts +2 -2
- package/dist/types/exported-related/FilterPopover/index.d.ts +2 -2
- package/dist/types/exported-related/FilterPopover/styled.d.ts +3 -1
- package/dist/types/exported-related/FilterPopover/useGetFilterHandlers.d.ts +2 -2
- package/dist/types/exported-related/FilterTypes.d.ts +10 -0
- package/dist/types/exported-related/RowRenderer/DefaultRowContentRenderer.d.ts +2 -2
- package/dist/types/exported-related/RowRenderer/index.d.ts +1 -16
- package/dist/types/exported-related/Toolbar/Toolbar.d.ts +1 -7
- package/dist/types/helpers/gridLayoutHelpers.d.ts +1 -0
- package/dist/types/helpers/index.d.ts +1 -0
- package/dist/types/helpers/smallButtonSize.d.ts +4 -0
- package/dist/types/parts/Cells/CellFactory.d.ts +1 -10
- package/dist/types/parts/DnDHandle.d.ts +4 -0
- package/dist/types/parts/DropIndicator.d.ts +1 -7
- package/dist/types/parts/FilterBar/FilterBarMenuButtonAddon.d.ts +14 -0
- package/dist/types/parts/FilterBar/components/MultiSelectPill.d.ts +1 -4
- package/dist/types/parts/FilterBar/convertExtraOptions.d.ts +8 -0
- package/dist/types/parts/Headers/EmptyChildrenGroup.d.ts +3 -1
- package/dist/types/parts/Headers/HeaderCell.d.ts +1 -7
- package/dist/types/parts/Headers/HeaderCellTitle.d.ts +1 -8
- package/dist/types/parts/Headers/useHeaderCellConfig.d.ts +1 -15
- package/dist/types/parts/Headers/useHeaderCellHandlers.d.ts +1 -22
- package/dist/types/parts/HoC/withConditionalDnDSortableContext.d.ts +1 -6
- package/dist/types/parts/SkeletonTable.d.ts +1 -1
- package/dist/types/react-desc-prop-types.d.ts +305 -6
- package/package.json +29 -31
- package/skills/ds-data-table-boundaries/SKILL.md +50 -43
- package/skills/ds-data-table-columns/SKILL.md +17 -11
- package/skills/ds-data-table-expandable/SKILL.md +21 -13
- package/skills/ds-data-table-feedback/SKILL.md +9 -9
- package/skills/ds-data-table-filtering/SKILL.md +32 -11
- package/skills/ds-data-table-health-check/SKILL.md +7 -7
- package/skills/ds-data-table-migration/SKILL.md +8 -7
- package/skills/ds-data-table-pagination/SKILL.md +6 -6
- package/skills/ds-data-table-row-variants/SKILL.md +34 -22
- package/skills/ds-data-table-selection/SKILL.md +23 -25
- package/skills/ds-data-table-setup/SKILL.md +31 -13
- package/skills/ds-data-table-slots/SKILL.md +55 -25
- package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +0 -63
- package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +0 -7
- package/dist/cjs/configs/fixedSizes.js.map +0 -7
- package/dist/cjs/configs/useInternalStateConfig.js +0 -80
- package/dist/cjs/configs/useInternalStateConfig.js.map +0 -7
- package/dist/cjs/configs/useValidateProps.js +0 -47
- package/dist/cjs/configs/useValidateProps.js.map +0 -7
- package/dist/cjs/exported-related/FilterPopover/types.js.map +0 -7
- package/dist/cjs/parts/Cells/Cell.js +0 -126
- package/dist/cjs/parts/Cells/Cell.js.map +0 -7
- package/dist/cjs/parts/FilterBar/DeprecatedDropdown.js +0 -85
- package/dist/cjs/parts/FilterBar/DeprecatedDropdown.js.map +0 -7
- package/dist/cjs/parts/FilterBar/index.js.map +0 -7
- package/dist/cjs/parts/RowVariants/types.js.map +0 -7
- package/dist/cjs/parts/internal.js.map +0 -7
- package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +0 -33
- package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +0 -7
- package/dist/esm/configs/fixedSizes.js +0 -8
- package/dist/esm/configs/fixedSizes.js.map +0 -7
- package/dist/esm/configs/useInternalStateConfig.js +0 -50
- package/dist/esm/configs/useInternalStateConfig.js.map +0 -7
- package/dist/esm/configs/useValidateProps.js +0 -17
- package/dist/esm/configs/useValidateProps.js.map +0 -7
- package/dist/esm/parts/Cells/Cell.js +0 -96
- package/dist/esm/parts/Cells/Cell.js.map +0 -7
- package/dist/esm/parts/FilterBar/DeprecatedDropdown.js +0 -55
- package/dist/esm/parts/FilterBar/DeprecatedDropdown.js.map +0 -7
- package/dist/esm/parts/FilterBar/index.js +0 -6
- package/dist/esm/parts/FilterBar/index.js.map +0 -7
- package/dist/esm/parts/RowVariants/types.js +0 -2
- package/dist/esm/parts/internal.js +0 -8
- package/dist/esm/parts/internal.js.map +0 -7
- package/dist/types/addons/Editables/DateEditableCell/DateEditableCell.d.ts +0 -7
- package/dist/types/configs/fixedSizes.d.ts +0 -3
- package/dist/types/configs/useInternalStateConfig.d.ts +0 -12
- package/dist/types/configs/useValidateProps.d.ts +0 -2
- package/dist/types/exported-related/FilterPopover/types.d.ts +0 -33
- package/dist/types/parts/Cells/Cell.d.ts +0 -12
- package/dist/types/parts/FilterBar/DeprecatedDropdown.d.ts +0 -13
- package/dist/types/parts/FilterBar/index.d.ts +0 -1
- package/dist/types/parts/RowVariants/types.d.ts +0 -19
- package/dist/types/parts/internal.d.ts +0 -2
- /package/dist/cjs/exported-related/{FilterPopover → FilterBar/dropdownMenuV2Bridge}/types.js +0 -0
- /package/dist/esm/exported-related/{FilterPopover → FilterBar/dropdownMenuV2Bridge}/types.js +0 -0
|
@@ -5,7 +5,10 @@ import { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';
|
|
|
5
5
|
import type { DnDKitTree, useSortable } from '@elliemae/ds-drag-and-drop';
|
|
6
6
|
import type { DSControlledCheckboxT } from '@elliemae/ds-form-checkbox';
|
|
7
7
|
import type { DSComboboxT } from '@elliemae/ds-form-combobox';
|
|
8
|
-
import
|
|
8
|
+
import type { DSHookFloatingContextT } from '@elliemae/ds-floating-context';
|
|
9
|
+
import type { DSMenuButtonT } from '@elliemae/ds-menu-button';
|
|
10
|
+
import { type DSPropTypesSchema, type ValidationMap, type XstyledProps } from '@elliemae/ds-props-helpers';
|
|
11
|
+
import type { DSDropdownMenuT } from './exported-related/FilterBar/dropdownMenuV2Bridge/types.js';
|
|
9
12
|
import { type DropIndicatorPosition, ColsLayoutStyle } from './configs/constants.js';
|
|
10
13
|
import { DSDataTableName, DSDataTableSlots } from './constants/index.js';
|
|
11
14
|
export declare namespace DSDataTableT {
|
|
@@ -171,7 +174,7 @@ export declare namespace DSDataTableT {
|
|
|
171
174
|
pageDetails?: string[];
|
|
172
175
|
pageDetailsTitle?: string;
|
|
173
176
|
}
|
|
174
|
-
export type RowVariant = 'ds-header-group-row' | 'ds-primary-row' | 'ds-secondary-row';
|
|
177
|
+
export type RowVariant = 'ds-header-group-row' | 'ds-primary-row' | 'ds-secondary-row' | 'ds-compact-primary-row' | 'ds-compact-secondary-row' | 'ds-skeleton-row';
|
|
175
178
|
export interface RenderRowActionsConfig {
|
|
176
179
|
columnWidth: number;
|
|
177
180
|
renderer: React.ComponentType<CellProps>;
|
|
@@ -190,12 +193,22 @@ export declare namespace DSDataTableT {
|
|
|
190
193
|
[key: string]: unknown;
|
|
191
194
|
id: string;
|
|
192
195
|
subRows?: Row[];
|
|
196
|
+
/**
|
|
197
|
+
* @deprecated Master-detail is officially deprecated: do not use it in new code.
|
|
198
|
+
*/
|
|
193
199
|
tableRowDetails?: React.ComponentType<DetailsProps>;
|
|
194
200
|
dimsumHeaderValue?: string;
|
|
195
201
|
}
|
|
196
202
|
export interface EditableCellProps<T extends HTMLElement = HTMLElement> extends CellProps<T> {
|
|
197
203
|
DefaultCellRender: JSX.Element;
|
|
198
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* The resizer works in pixels: a column `width` is a number of pixels or a px string (`'200px'`). Any other string
|
|
207
|
+
* (`'20%'`, `'12rem'`) is a CSS size the table renders, but the resizer does not support it. The types do not
|
|
208
|
+
* enforce it: the documentation states it.
|
|
209
|
+
*/
|
|
210
|
+
export type ResizeableColumnWidth = number | `${number}px` | undefined;
|
|
211
|
+
export type NonResizeableColumnWidth = number | string | undefined;
|
|
199
212
|
export interface Column {
|
|
200
213
|
id?: string;
|
|
201
214
|
Header: string | React.ComponentType<HeaderProps>;
|
|
@@ -209,7 +222,7 @@ export declare namespace DSDataTableT {
|
|
|
209
222
|
Cell?: React.ComponentType<CellRendererProps>;
|
|
210
223
|
editable?: string | React.ComponentType<EditableCellProps>;
|
|
211
224
|
disableDnD?: boolean;
|
|
212
|
-
width?:
|
|
225
|
+
width?: NonResizeableColumnWidth | ResizeableColumnWidth;
|
|
213
226
|
minWidth?: number;
|
|
214
227
|
maxWidth?: number;
|
|
215
228
|
padding?: number;
|
|
@@ -330,8 +343,8 @@ export declare namespace DSDataTableT {
|
|
|
330
343
|
setIsHeaderCellDragging: React.Dispatch<React.SetStateAction<boolean>>;
|
|
331
344
|
}
|
|
332
345
|
export interface DefaultProps {
|
|
333
|
-
height: string;
|
|
334
|
-
width: string;
|
|
346
|
+
height: string | number;
|
|
347
|
+
width: string | number;
|
|
335
348
|
renderRowActions: false | RenderRowActionsConfig;
|
|
336
349
|
getRowVariant: (row: InternalRow, defaultCellRenderer: React.ComponentType<{
|
|
337
350
|
row: DSDataTableT.InternalRow;
|
|
@@ -392,7 +405,7 @@ export declare namespace DSDataTableT {
|
|
|
392
405
|
uniqueRowAccessor?: UniqueRowAccessorType;
|
|
393
406
|
cellRendererProps?: Record<string, unknown>;
|
|
394
407
|
selection?: Selection;
|
|
395
|
-
groupedRowsRenderHeader?: (
|
|
408
|
+
groupedRowsRenderHeader?: (dimsumHeaderValue: string | undefined, subRows: Row[] | undefined) => React.ReactNode;
|
|
396
409
|
filterBarProps?: {
|
|
397
410
|
filterBarAddonRenderer?: React.ComponentType<{
|
|
398
411
|
innerRef: React.MutableRefObject<HTMLButtonElement | null>;
|
|
@@ -435,7 +448,293 @@ export declare namespace DSDataTableT {
|
|
|
435
448
|
}
|
|
436
449
|
export type Props = PropsT<DefaultProps, RequiredProps, OptionalProps>;
|
|
437
450
|
export type InternalProps = InternalPropsT<DefaultProps, RequiredProps, OptionalProps>;
|
|
451
|
+
/**
|
|
452
|
+
* Arguments the DataTable hands to the function form of a slot prop (`dsDatatableXxx={(args) => ({ ... })}`).
|
|
453
|
+
* Slots that repeat per row, cell or column receive that instance; the other slots receive no arguments.
|
|
454
|
+
*
|
|
455
|
+
* Arguments are objects whose shape we own, with named keys (`{ row }`, `{ cell }`, `{ columnId }`): we own the fact
|
|
456
|
+
* that `row` is there, not the shape of the row, and new keys can be added later without breaking anyone.
|
|
457
|
+
* Legacy exception: `dsDatatableRow` and `dsDatatableCellsContainer` receive the row itself, and `dsDatatableCell`,
|
|
458
|
+
* `dsDatatableCellContent`, `dsDatatableEditableContainer` and `dsDatatableTextEditableCellInput` receive the cell
|
|
459
|
+
* itself. They shipped before this rule; moving them to `{ row }` / `{ cell }` is a breaking change.
|
|
460
|
+
*/
|
|
461
|
+
export interface HeaderSlotArguments {
|
|
462
|
+
columnId: string;
|
|
463
|
+
firstFocuseableColumnHeaderId: string | undefined;
|
|
464
|
+
}
|
|
465
|
+
export interface RowSlotArguments {
|
|
466
|
+
row: InternalRow;
|
|
467
|
+
}
|
|
468
|
+
export interface CellSlotArguments {
|
|
469
|
+
cell: Cell;
|
|
470
|
+
}
|
|
471
|
+
export interface ColumnSlotArguments {
|
|
472
|
+
columnId: string;
|
|
473
|
+
}
|
|
474
|
+
export interface ExpandSlotArguments {
|
|
475
|
+
isGlobal: boolean;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* One shape for a slot that wraps several kinds of control: the keys that describe the control at the render site
|
|
479
|
+
* are filled, the others are not there. `dsDatatableDragAndDropGripper` is a row handle (`row`) or a column header
|
|
480
|
+
* handle (`columnId`).
|
|
481
|
+
*/
|
|
482
|
+
export interface DragAndDropGripperSlotArguments {
|
|
483
|
+
row?: InternalRow;
|
|
484
|
+
columnId?: string;
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* One shape for the focus wrapper of the controls of the table. At the header drag handle `columnId` and
|
|
488
|
+
* `firstFocuseableColumnHeaderId` are filled, at the expand carets `isGlobal`, at the row drag handle `row`.
|
|
489
|
+
*/
|
|
490
|
+
export interface FocusWithinSlotArguments {
|
|
491
|
+
row?: InternalRow;
|
|
492
|
+
columnId?: string;
|
|
493
|
+
firstFocuseableColumnHeaderId?: string;
|
|
494
|
+
isGlobal?: boolean;
|
|
495
|
+
}
|
|
496
|
+
export type SlotFunctionArguments = {
|
|
497
|
+
dsDatatableRoot: () => object;
|
|
498
|
+
dsDatatableContentWrapper: () => object;
|
|
499
|
+
dsDatatableTableWrapper: () => object;
|
|
500
|
+
dsDatatablePaginationWrapper: () => object;
|
|
501
|
+
dsDatatableTableContentWrapper: () => object;
|
|
502
|
+
dsDatatableVirtualListWrapper: () => object;
|
|
503
|
+
dsDatatableHeadWrapper: () => object;
|
|
504
|
+
dsDatatableHeadTr: () => object;
|
|
505
|
+
dsDatatableHeadTh: (args: HeaderSlotArguments) => object;
|
|
506
|
+
dsDatatableHeadRightIconsWrapper: (args: HeaderSlotArguments) => object;
|
|
507
|
+
dsDatatableHeaderCellWrapper: (args: ColumnSlotArguments) => object;
|
|
508
|
+
dsDatatableEmptyHeader: (args: ColumnSlotArguments) => object;
|
|
509
|
+
dsDatatableResizer: (args: ColumnSlotArguments) => object;
|
|
510
|
+
dsDatatableActionCell: (args: RowSlotArguments) => object;
|
|
511
|
+
dsDatatableExpandCellContainer: (args: ExpandSlotArguments) => object;
|
|
512
|
+
dsDatatableGlobalCheckboxContainer: () => object;
|
|
513
|
+
dsDatatableSingleCellContainer: (args: RowSlotArguments) => object;
|
|
514
|
+
dsDatatableDragAndDropGripper: (args: DragAndDropGripperSlotArguments) => object;
|
|
515
|
+
dsDatatableTextEditableCellInput: (args: Cell) => object;
|
|
516
|
+
dsDatatableFilterPopoverButton: (args: ColumnSlotArguments) => object;
|
|
517
|
+
dsDatatableFilterPopoverContent: (args: ColumnSlotArguments) => object;
|
|
518
|
+
dsDatatableDropIndicator: () => object;
|
|
519
|
+
dsDatatableCell: (args: Cell) => object;
|
|
520
|
+
dsDatatableCellContent: (args: Cell) => object;
|
|
521
|
+
dsDatatablePencilIcon: (args: CellSlotArguments) => object;
|
|
522
|
+
dsDatatableEditableContainer: (args: Cell) => object;
|
|
523
|
+
dsDatatableFullsizeGrid: (args: RowSlotArguments) => object;
|
|
524
|
+
dsDatatableRow: (args: InternalRow) => object;
|
|
525
|
+
dsDatatableGroupHeaderContainer: (args: RowSlotArguments) => object;
|
|
526
|
+
dsDatatableHeaderTitle: (args: RowSlotArguments) => object;
|
|
527
|
+
dsDatatableCellsContainer: (args: InternalRow) => object;
|
|
528
|
+
dsDatatableToolbarWrapper: (args: RowSlotArguments) => object;
|
|
529
|
+
dsDatatableToolbarButtonsWrapper: (args: RowSlotArguments) => object;
|
|
530
|
+
dsDatatableToolbarButton: (args: RowSlotArguments) => object;
|
|
531
|
+
dsDatatableToolbarPosition: (args: RowSlotArguments) => object;
|
|
532
|
+
dsDatatableEmptyStateWrapper: () => object;
|
|
533
|
+
dsDatatableWarningIcon: () => object;
|
|
534
|
+
dsDatatableEmptyPrimaryMessage: () => object;
|
|
535
|
+
dsDatatableEmptySecondaryMessage: () => object;
|
|
536
|
+
dsDatatableEmptyButton: () => object;
|
|
537
|
+
dsDatatableCenterContentFlexWrapper: () => object;
|
|
538
|
+
dsDatatableLoaderWrapper: () => object;
|
|
539
|
+
dsDatatableFilterBarWrapper: () => object;
|
|
540
|
+
dsDatatableFreeTextSearchFilter: (args: ColumnSlotArguments) => object;
|
|
541
|
+
dsDatatableFreeTextSearchWrapper: (args: ColumnSlotArguments) => object;
|
|
542
|
+
dsDatatableFilterPopover: (args: ColumnSlotArguments) => object;
|
|
543
|
+
dsDatatableFilterBarMenuButton: () => object;
|
|
544
|
+
dsDatatableFilterPopoverFooter: (args: ColumnSlotArguments) => object;
|
|
545
|
+
dsDatatableFocusWithin: (args: FocusWithinSlotArguments) => object;
|
|
546
|
+
};
|
|
438
547
|
export type GetOwnerPropsT = () => ZustandT.PropsStore<DefaultProps & RequiredProps & OptionalProps & UseAutoCalculatedT>;
|
|
548
|
+
export interface RowContentRendererProps {
|
|
549
|
+
row: DSDataTableT.InternalRow;
|
|
550
|
+
compact?: boolean;
|
|
551
|
+
focusedRowId: string | null;
|
|
552
|
+
drilldownRowId: string | null;
|
|
553
|
+
itemIndex: number;
|
|
554
|
+
draggableProps: DraggablePropsT;
|
|
555
|
+
backgroundColor?: XstyledProps['backgroundColor'];
|
|
556
|
+
isDragOverlay: boolean;
|
|
557
|
+
minHeight: string;
|
|
558
|
+
height: string;
|
|
559
|
+
rowsLayout?: (string | number)[];
|
|
560
|
+
dropIndicatorPosition: false | DropIndicatorPositionValues;
|
|
561
|
+
isDropValid: boolean;
|
|
562
|
+
CustomRowContentRenderer?: React.ComponentType<RowContentRendererProps>;
|
|
563
|
+
}
|
|
564
|
+
export interface TruncatedTooltipTextProps {
|
|
565
|
+
value?: React.ReactNode;
|
|
566
|
+
placement?: DSHookFloatingContextT.PopperPlacementsT;
|
|
567
|
+
}
|
|
568
|
+
export type ConfigurableColumn = (renderRowActions: DSDataTableT.RenderRowActionsConfig) => DSDataTableT.InternalColumn;
|
|
569
|
+
export interface CurrentRangeFilterValue {
|
|
570
|
+
from: string | null;
|
|
571
|
+
to: string | null;
|
|
572
|
+
}
|
|
573
|
+
export interface DateRangeFilterValue {
|
|
574
|
+
startDate: string | null;
|
|
575
|
+
endDate: string | null;
|
|
576
|
+
}
|
|
577
|
+
export interface DateSwitcherFilterValue {
|
|
578
|
+
startDate: string | null;
|
|
579
|
+
endDate: string | null;
|
|
580
|
+
isDateRange: boolean;
|
|
581
|
+
}
|
|
582
|
+
export interface NumberRangeFilterValue {
|
|
583
|
+
from: number | '' | null;
|
|
584
|
+
to: number | '' | null;
|
|
585
|
+
}
|
|
586
|
+
export type BaseSelectFilterValue = DSComboboxT.SelectedOptionsT;
|
|
587
|
+
export interface BaseSelectProps {
|
|
588
|
+
isMulti?: boolean;
|
|
589
|
+
creatable?: boolean;
|
|
590
|
+
type: string;
|
|
591
|
+
}
|
|
592
|
+
export type MultiCreatableFilterValue = DSComboboxT.SelectedOptionsT;
|
|
593
|
+
export type MultiSelectFilterValue = DSComboboxT.SelectedOptionsT;
|
|
594
|
+
export type SingleCreatableFilterValue = DSComboboxT.SelectedOptionsT;
|
|
595
|
+
export type SingleSelectFilterValue = DSComboboxT.SelectedOptionsT;
|
|
596
|
+
export type SingleDataFilterValue = string | null;
|
|
597
|
+
export interface FilterBarDropdownMenuProps {
|
|
598
|
+
options?: DSDropdownMenuT.Item[] | readonly DSDropdownMenuT.Item[];
|
|
599
|
+
innerRef?: React.RefObject<HTMLButtonElement>;
|
|
600
|
+
}
|
|
601
|
+
export interface FilterPopoverProps {
|
|
602
|
+
column: InternalColumn;
|
|
603
|
+
columnId: string;
|
|
604
|
+
columnReference?: HTMLElement | null;
|
|
605
|
+
triggerIcon: JSX.Element;
|
|
606
|
+
menuContent: JSX.Element;
|
|
607
|
+
onTriggerClick?: (id: string, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
608
|
+
onClickOutsideMenu?: (id: string) => void;
|
|
609
|
+
reduxHeader: ReduxHeader;
|
|
610
|
+
innerRef: React.MutableRefObject<HTMLButtonElement | null>;
|
|
611
|
+
ariaLabel: string;
|
|
612
|
+
customStyles?: React.CSSProperties;
|
|
613
|
+
firstElementRef: React.RefObject<HTMLElement>;
|
|
614
|
+
lastElementRef: React.RefObject<HTMLElement>;
|
|
615
|
+
}
|
|
616
|
+
export interface FilterPopoverV2Props {
|
|
617
|
+
column: InternalColumn;
|
|
618
|
+
columnId: string;
|
|
619
|
+
columnReference?: HTMLElement | null;
|
|
620
|
+
triggerIcon: JSX.Element;
|
|
621
|
+
menuContent: JSX.Element;
|
|
622
|
+
onTriggerClick?: (id: string, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
623
|
+
onClickOutsideMenu?: (id: string) => void;
|
|
624
|
+
reduxHeader: ReduxHeader;
|
|
625
|
+
innerRef: React.MutableRefObject<HTMLButtonElement | null>;
|
|
626
|
+
ariaLabel: string;
|
|
627
|
+
customStyles?: React.CSSProperties;
|
|
628
|
+
firstElementRef: React.RefObject<HTMLElement>;
|
|
629
|
+
onFilterSubmit: (e: React.SyntheticEvent) => void;
|
|
630
|
+
onFilterReset: () => void;
|
|
631
|
+
}
|
|
632
|
+
export interface FilterMenuButtonProps {
|
|
633
|
+
options?: DSMenuButtonT.MenuItemInterface[];
|
|
634
|
+
innerRef?: React.RefObject<HTMLButtonElement>;
|
|
635
|
+
onClearFilters: TypescriptHelpersT.GenericFunc;
|
|
636
|
+
onItemSelected?: (newSelection: DSMenuButtonT.SelectionableMenuNodes[], metainfo: {
|
|
637
|
+
itemNode: DSMenuButtonT.SelectionableMenuNodes;
|
|
638
|
+
event?: React.SyntheticEvent;
|
|
639
|
+
}) => void | TypescriptHelpersT.StateSetter<DSMenuButtonT.SelectionableMenuNodes[]>;
|
|
640
|
+
onActivateItem?: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes, metainfo: {
|
|
641
|
+
itemNode: DSMenuButtonT.PseudoFocusableMenuNodes;
|
|
642
|
+
event?: React.SyntheticEvent;
|
|
643
|
+
}) => void;
|
|
644
|
+
onOpen?: (metainfo: DSMenuButtonT.MenuOpenMetainfo) => void;
|
|
645
|
+
onClose?: (metainfo: DSMenuButtonT.MenuCloseMetainfo) => void;
|
|
646
|
+
[key: string]: unknown;
|
|
647
|
+
selectedItems?: DSMenuButtonT.SelectionableMenuNodes[] | DSMenuButtonT.SelectionableMenuItemInterface[];
|
|
648
|
+
}
|
|
649
|
+
export interface PillsFromDataTableFiltersProps {
|
|
650
|
+
filters: DSDataTableT.Filter[];
|
|
651
|
+
columns: DSDataTableT.Column[];
|
|
652
|
+
onFiltersChange: (filters: DSDataTableT.Filter[]) => void;
|
|
653
|
+
onPillRemove?: (remove: () => void) => void;
|
|
654
|
+
customPillRenderers?: Record<string, React.ComponentType<DSDataTableT.FilterPillProps<unknown>>>;
|
|
655
|
+
customPillRenderer?: React.ComponentType<DSDataTableT.FilterPillProps<unknown>>;
|
|
656
|
+
}
|
|
657
|
+
export interface RowRendererProps {
|
|
658
|
+
row: DSDataTableT.InternalRow;
|
|
659
|
+
compact?: boolean;
|
|
660
|
+
itemIndex: number;
|
|
661
|
+
isDragOverlay: boolean;
|
|
662
|
+
minHeight: string;
|
|
663
|
+
height: string;
|
|
664
|
+
rowsLayout?: string[] | number[];
|
|
665
|
+
CustomRowContentRenderer?: React.ComponentType<RowContentRendererProps>;
|
|
666
|
+
focusedRowId: string | null;
|
|
667
|
+
drilldownRowId: string | null;
|
|
668
|
+
backgroundColor?: XstyledProps['backgroundColor'];
|
|
669
|
+
}
|
|
670
|
+
export interface ToolbarProps {
|
|
671
|
+
isRowSelected?: boolean;
|
|
672
|
+
cell: DSDataTableT.Cell;
|
|
673
|
+
children: React.ReactNode;
|
|
674
|
+
}
|
|
675
|
+
export interface CellFactoryProps {
|
|
676
|
+
cell: DSDataTableT.Cell;
|
|
677
|
+
column: DSDataTableT.InternalColumn;
|
|
678
|
+
row: DSDataTableT.InternalRow;
|
|
679
|
+
isRowSelected: boolean;
|
|
680
|
+
shouldAddExpandCell: boolean;
|
|
681
|
+
cellIsNextToExpander: boolean;
|
|
682
|
+
isDragOverlay: boolean;
|
|
683
|
+
}
|
|
684
|
+
export interface DropIndicatorProps {
|
|
685
|
+
vertical: boolean;
|
|
686
|
+
dropIndicatorPosition: false | DSDataTableT.DropIndicatorPositionValues;
|
|
687
|
+
isDropValid: boolean;
|
|
688
|
+
isLast?: boolean;
|
|
689
|
+
}
|
|
690
|
+
export type MultiSelectPillValues = DSComboboxT.ItemOption[];
|
|
691
|
+
export interface HeaderCellCompProps {
|
|
692
|
+
column: DSDataTableT.InternalColumn;
|
|
693
|
+
isDragOverlay?: boolean;
|
|
694
|
+
colSpan: number;
|
|
695
|
+
}
|
|
696
|
+
export interface HeaderCellTitleProps {
|
|
697
|
+
column: DSDataTableT.InternalColumn;
|
|
698
|
+
draggableProps: DraggablePropsT;
|
|
699
|
+
textWrap: 'wrap' | 'wrap-all' | 'truncate';
|
|
700
|
+
}
|
|
701
|
+
export type UseHeaderCellConfigType = (args: {
|
|
702
|
+
column: DSDataTableT.InternalColumn;
|
|
703
|
+
isDragOverlay?: boolean;
|
|
704
|
+
}) => {
|
|
705
|
+
hasFilter: boolean;
|
|
706
|
+
hasDnD: boolean;
|
|
707
|
+
hasSortingCaret: boolean;
|
|
708
|
+
hasRightIcons: boolean;
|
|
709
|
+
isDragging: boolean;
|
|
710
|
+
shouldShowDnD: boolean;
|
|
711
|
+
shouldShowResize: boolean;
|
|
712
|
+
hCols: string[];
|
|
713
|
+
};
|
|
714
|
+
export type UseHeaderCellHandlersType = (args: {
|
|
715
|
+
hasFilter: boolean;
|
|
716
|
+
column: DSDataTableT.InternalColumn;
|
|
717
|
+
hasDnD: boolean;
|
|
718
|
+
dragHandleRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
719
|
+
sortRef: React.MutableRefObject<HTMLButtonElement | null>;
|
|
720
|
+
filterIconRef: React.MutableRefObject<HTMLButtonElement | null>;
|
|
721
|
+
resizeHandlerRef: React.MutableRefObject<HTMLInputElement | null>;
|
|
722
|
+
hasSortingCaret: boolean;
|
|
723
|
+
isDragOverlay?: boolean;
|
|
724
|
+
draggableProps: DSDataTableT.DraggablePropsT;
|
|
725
|
+
referenceColumn: React.MutableRefObject<HTMLDivElement | null>;
|
|
726
|
+
}) => {
|
|
727
|
+
onMouseEnter: React.MouseEventHandler;
|
|
728
|
+
onMouseLeave: React.MouseEventHandler;
|
|
729
|
+
handleSort: React.MouseEventHandler;
|
|
730
|
+
onKeyDown: React.KeyboardEventHandler;
|
|
731
|
+
onFocus: React.FocusEventHandler;
|
|
732
|
+
onBlur: React.FocusEventHandler;
|
|
733
|
+
};
|
|
734
|
+
export interface WithConditionalDnDSortableContextProps {
|
|
735
|
+
items: DSDataTableT.InternalColumn[];
|
|
736
|
+
isDragOverlay: boolean;
|
|
737
|
+
}
|
|
439
738
|
export {};
|
|
440
739
|
}
|
|
441
740
|
export declare const defaultProps: () => DSDataTableT.DefaultProps;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-data-table",
|
|
3
|
-
"version": "3.80.0-next.
|
|
3
|
+
"version": "3.80.0-next.67",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Data Table",
|
|
6
6
|
"files": [
|
|
@@ -37,41 +37,39 @@
|
|
|
37
37
|
"indent": 4
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@elliemae/ds-button-v2": "3.80.0-next.
|
|
41
|
-
"@elliemae/ds-circular-progress-indicator": "3.80.0-next.
|
|
42
|
-
"@elliemae/ds-dialog": "3.80.0-next.
|
|
43
|
-
"@elliemae/ds-drag-and-drop": "3.80.0-next.
|
|
44
|
-
"@elliemae/ds-
|
|
45
|
-
"@elliemae/ds-
|
|
46
|
-
"@elliemae/ds-form-
|
|
47
|
-
"@elliemae/ds-form-
|
|
48
|
-
"@elliemae/ds-form-date-
|
|
49
|
-
"@elliemae/ds-form-
|
|
50
|
-
"@elliemae/ds-form-
|
|
51
|
-
"@elliemae/ds-form-
|
|
52
|
-
"@elliemae/ds-form-
|
|
53
|
-
"@elliemae/ds-
|
|
54
|
-
"@elliemae/ds-
|
|
55
|
-
"@elliemae/ds-
|
|
56
|
-
"@elliemae/ds-
|
|
57
|
-
"@elliemae/ds-
|
|
58
|
-
"@elliemae/ds-
|
|
59
|
-
"@elliemae/ds-
|
|
60
|
-
"@elliemae/ds-
|
|
61
|
-
"@elliemae/ds-
|
|
62
|
-
"@elliemae/ds-
|
|
63
|
-
"@elliemae/ds-
|
|
64
|
-
"@elliemae/ds-typescript-helpers": "3.80.0-next.64",
|
|
65
|
-
"@elliemae/ds-zustand-helpers": "3.80.0-next.64",
|
|
40
|
+
"@elliemae/ds-button-v2": "3.80.0-next.67",
|
|
41
|
+
"@elliemae/ds-circular-progress-indicator": "3.80.0-next.67",
|
|
42
|
+
"@elliemae/ds-dialog": "3.80.0-next.67",
|
|
43
|
+
"@elliemae/ds-drag-and-drop": "3.80.0-next.67",
|
|
44
|
+
"@elliemae/ds-floating-context": "3.80.0-next.67",
|
|
45
|
+
"@elliemae/ds-form-checkbox": "3.80.0-next.67",
|
|
46
|
+
"@elliemae/ds-form-combobox": "3.80.0-next.67",
|
|
47
|
+
"@elliemae/ds-form-date-range-picker": "3.80.0-next.67",
|
|
48
|
+
"@elliemae/ds-form-date-time-picker": "3.80.0-next.67",
|
|
49
|
+
"@elliemae/ds-form-helpers-mask-hooks": "3.80.0-next.67",
|
|
50
|
+
"@elliemae/ds-form-input-text": "3.80.0-next.67",
|
|
51
|
+
"@elliemae/ds-form-layout-blocks": "3.80.0-next.67",
|
|
52
|
+
"@elliemae/ds-form-radio": "3.80.0-next.67",
|
|
53
|
+
"@elliemae/ds-grid": "3.80.0-next.67",
|
|
54
|
+
"@elliemae/ds-hooks-focus-trap": "3.80.0-next.67",
|
|
55
|
+
"@elliemae/ds-icons": "3.80.0-next.67",
|
|
56
|
+
"@elliemae/ds-menu-button": "3.80.0-next.67",
|
|
57
|
+
"@elliemae/ds-pagination": "3.80.0-next.67",
|
|
58
|
+
"@elliemae/ds-pills-v2": "3.80.0-next.67",
|
|
59
|
+
"@elliemae/ds-props-helpers": "3.80.0-next.67",
|
|
60
|
+
"@elliemae/ds-skeleton": "3.80.0-next.67",
|
|
61
|
+
"@elliemae/ds-system": "3.80.0-next.67",
|
|
62
|
+
"@elliemae/ds-typescript-helpers": "3.80.0-next.67",
|
|
63
|
+
"@elliemae/ds-zustand-helpers": "3.80.0-next.67",
|
|
66
64
|
"@tanstack/react-virtual": "3.13.18",
|
|
67
65
|
"uid": "^2.0.2",
|
|
68
66
|
"use-onclickoutside": "0.4.1"
|
|
69
67
|
},
|
|
70
68
|
"devDependencies": {
|
|
71
|
-
"@elliemae/ds-monorepo-devops": "3.80.0-next.
|
|
72
|
-
"@elliemae/ds-tabs": "3.80.0-next.
|
|
73
|
-
"@elliemae/ds-test-utils": "3.80.0-next.
|
|
74
|
-
"@elliemae/ds-toolbar-v2": "3.80.0-next.
|
|
69
|
+
"@elliemae/ds-monorepo-devops": "3.80.0-next.67",
|
|
70
|
+
"@elliemae/ds-tabs": "3.80.0-next.67",
|
|
71
|
+
"@elliemae/ds-test-utils": "3.80.0-next.67",
|
|
72
|
+
"@elliemae/ds-toolbar-v2": "3.80.0-next.67",
|
|
75
73
|
"jest": "^30.0.0",
|
|
76
74
|
"styled-components": "~5.3.11",
|
|
77
75
|
"styled-system": "^5.1.5"
|
|
@@ -9,7 +9,7 @@ description: >
|
|
|
9
9
|
DataTable cell. DataTable-as-form forbidden — use @elliemae/ds-grid.
|
|
10
10
|
type: core
|
|
11
11
|
library: ds-data-table
|
|
12
|
-
library_version: '3.
|
|
12
|
+
library_version: '3.80.0'
|
|
13
13
|
sources:
|
|
14
14
|
- '@elliemae/ds-data-table:dist/types/react-desc-prop-types.d.ts'
|
|
15
15
|
---
|
|
@@ -71,18 +71,26 @@ When a column is needed exclusively for per-row action buttons, use the dedicate
|
|
|
71
71
|
|
|
72
72
|
Use when each action is a direct button (delete, print, copy, edit) with no sub-menus.
|
|
73
73
|
|
|
74
|
-
```
|
|
75
|
-
import { DataTable, Toolbar } from '@elliemae/ds-data-table';
|
|
74
|
+
```tsx
|
|
75
|
+
import { DataTable, Toolbar, type DSDataTableT } from '@elliemae/ds-data-table';
|
|
76
76
|
import { DSToolbarV2, DSToolbarItemV2 } from '@elliemae/ds-toolbar-v2';
|
|
77
77
|
import { DSButtonV3 } from '@elliemae/ds-button-v2';
|
|
78
|
+
import { Delete } from '@elliemae/ds-icons';
|
|
78
79
|
|
|
79
|
-
const RowActionsRenderer = React.memo((props) => (
|
|
80
|
+
const RowActionsRenderer = React.memo((props: DSDataTableT.CellProps) => (
|
|
80
81
|
<Toolbar {...props}>
|
|
81
82
|
<DSToolbarV2 withDepth={false}>
|
|
82
83
|
<DSToolbarItemV2
|
|
83
84
|
render={(itemProps) => (
|
|
84
|
-
<DSButtonV3
|
|
85
|
-
|
|
85
|
+
<DSButtonV3
|
|
86
|
+
autoFocus
|
|
87
|
+
buttonType="icon"
|
|
88
|
+
{...itemProps}
|
|
89
|
+
// the toolbar types the ref as any HTMLElement; you know it is rendered on a button
|
|
90
|
+
innerRef={itemProps.innerRef as React.MutableRefObject<HTMLButtonElement | null>}
|
|
91
|
+
aria-label="Delete"
|
|
92
|
+
>
|
|
93
|
+
<Delete />
|
|
86
94
|
</DSButtonV3>
|
|
87
95
|
)}
|
|
88
96
|
/>
|
|
@@ -109,39 +117,42 @@ import { Grid } from '@elliemae/ds-grid';
|
|
|
109
117
|
import { MoreOptionsVert } from '@elliemae/ds-icons';
|
|
110
118
|
import { DSMenuButton } from '@elliemae/ds-menu-button';
|
|
111
119
|
|
|
112
|
-
const RowActionsRenderer: DSDataTableT.RenderRowActionsConfig['renderer'] = React.memo(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
const RowActionsRenderer: DSDataTableT.RenderRowActionsConfig['renderer'] = React.memo(({ isRowSelected, cell }) => {
|
|
121
|
+
const { ref } = cell as unknown as { ref: React.MutableRefObject<HTMLButtonElement> };
|
|
122
|
+
|
|
123
|
+
const handleConflictingKeyPresses = React.useCallback<React.KeyboardEventHandler<HTMLDivElement>>((event) => {
|
|
124
|
+
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
125
|
+
event.stopPropagation();
|
|
126
|
+
event.preventDefault();
|
|
127
|
+
}
|
|
128
|
+
}, []);
|
|
129
|
+
|
|
130
|
+
return (
|
|
131
|
+
<Grid
|
|
132
|
+
minHeight="100%"
|
|
133
|
+
minWidth="100%"
|
|
134
|
+
justifyContent="center"
|
|
135
|
+
alignItems="center"
|
|
136
|
+
onKeyDown={handleConflictingKeyPresses}
|
|
137
|
+
>
|
|
138
|
+
<DSMenuButton
|
|
139
|
+
innerRef={ref}
|
|
140
|
+
tabIndex={isRowSelected ? 0 : -1}
|
|
141
|
+
buttonType={BUTTON_TYPES.ICON}
|
|
142
|
+
aria-label="Show row actions, to resume table row navigation press tab"
|
|
143
|
+
{
|
|
144
|
+
...menuButtonProps /* options, onActivateItem, etc. per scenario */
|
|
121
145
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
<DSMenuButton
|
|
129
|
-
innerRef={ref}
|
|
130
|
-
tabIndex={isRowSelected ? 0 : -1}
|
|
131
|
-
buttonType={BUTTON_TYPES.ICON}
|
|
132
|
-
aria-label="Show row actions, to resume table row navigation press tab"
|
|
133
|
-
{/* ...DSMenuButton props per scenario (options, onActivateItem, etc.) */}
|
|
134
|
-
>
|
|
135
|
-
<MoreOptionsVert />
|
|
136
|
-
</DSMenuButton>
|
|
137
|
-
</Grid>
|
|
138
|
-
);
|
|
139
|
-
},
|
|
140
|
-
);
|
|
146
|
+
>
|
|
147
|
+
<MoreOptionsVert />
|
|
148
|
+
</DSMenuButton>
|
|
149
|
+
</Grid>
|
|
150
|
+
);
|
|
151
|
+
});
|
|
141
152
|
|
|
142
153
|
const renderRowActions: DSDataTableT.RenderRowActionsConfig = { columnWidth: 32, renderer: RowActionsRenderer };
|
|
143
154
|
|
|
144
|
-
<DataTable columns={columns} data={rows} height={500} renderRowActions={renderRowActions}
|
|
155
|
+
<DataTable columns={columns} data={rows} height={500} renderRowActions={renderRowActions} />;
|
|
145
156
|
```
|
|
146
157
|
|
|
147
158
|
**`onKeyDown` on the Grid wrapper is required.** `DSMenuButton` uses ArrowUp/ArrowDown to navigate menu items. Without `stopPropagation`, those keystrokes also move the DataTable's row focus — the two navigation models conflict silently.
|
|
@@ -266,14 +277,14 @@ Cell: ({ row, cell, isRowSelected }) => (
|
|
|
266
277
|
),
|
|
267
278
|
```
|
|
268
279
|
|
|
269
|
-
The DataTable uses an Enter-to-enter-row keyboard model: Tab moves between rows; Enter "enters" a row to navigate its interactive elements;
|
|
280
|
+
The DataTable uses an Enter-to-enter-row keyboard model: Tab moves between rows; Enter "enters" a row to navigate its interactive elements; moving focus back onto the row element exits back to row navigation (Escape is not handled at row level). An interactive element with `tabIndex={0}` unconditionally is permanently tabbable from outside the row — it intercepts Tab focus and breaks the row navigation model entirely.
|
|
270
281
|
|
|
271
282
|
Two props from `CellRendererProps` are required:
|
|
272
283
|
|
|
273
284
|
- `tabIndex={isRowSelected ? 0 : -1}` — makes the element focusable only when the row is entered
|
|
274
285
|
- `cell.ref` — registers the element as the row's focusable target so Enter moves focus to it
|
|
275
286
|
|
|
276
|
-
For components that accept `innerRef`: pass `innerRef={cell.ref}`. For
|
|
287
|
+
For components that accept `innerRef`: pass `innerRef={cell.ref}`. For standard DOM elements: pass `ref={cell.ref}`. Do not pass `cell.ref` through `containerProps`: it lands on the component's wrapper element, not on the focusable control, so Enter has nothing to focus.
|
|
277
288
|
|
|
278
289
|
Source: https://dimsum.mortgagetech.ice.com/iframe.html?id=components-datatable-features-cell--custom-cell-row-and-header
|
|
279
290
|
|
|
@@ -313,7 +324,7 @@ const renderRowActions: DSDataTableT.RenderRowActionsConfig = {
|
|
|
313
324
|
<DataTable columns={columns} data={rows} height={500} renderRowActions={renderRowActions} />;
|
|
314
325
|
```
|
|
315
326
|
|
|
316
|
-
`renderRowActions` is the dedicated first-class API for per-row action columns. `Column.Cell`
|
|
327
|
+
`renderRowActions` is the dedicated first-class API for per-row action columns. `Column.Cell` loses built-in column width management for the actions column: the table adds the `renderRowActions` column with a fixed width (`columnWidth`), not resizable, not draggable and not focusable as a header. Neither API adds the arrow key conflict handler — the renderer adds it (see the multi-level pattern above).
|
|
317
328
|
|
|
318
329
|
Source: https://dimsum.mortgagetech.ice.com/iframe.html?id=components-datatable-advanced--with-multilevel-menu-button
|
|
319
330
|
|
|
@@ -328,11 +339,7 @@ Wrong:
|
|
|
328
339
|
const RowActionsRenderer = React.memo((props) => (
|
|
329
340
|
<Toolbar {...props}>
|
|
330
341
|
<DSToolbarV2 withDepth={false}>
|
|
331
|
-
<DSToolbarItemV2
|
|
332
|
-
render={(itemProps) => (
|
|
333
|
-
<DSMenuButton {...itemProps} {/* ...options, onActivateItem, etc. */} />
|
|
334
|
-
)}
|
|
335
|
-
/>
|
|
342
|
+
<DSToolbarItemV2 render={(itemProps) => <DSMenuButton {...itemProps} /* ...options, onActivateItem, etc. */ />} />
|
|
336
343
|
</DSToolbarV2>
|
|
337
344
|
</Toolbar>
|
|
338
345
|
));
|