@elliemae/ds-data-table 3.4.2 → 3.4.3
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/DataTable.js +23 -14
- package/dist/cjs/DataTable.js.map +1 -1
- package/dist/cjs/DataTableContext.js +4 -1
- package/dist/cjs/DataTableContext.js.map +1 -1
- package/dist/cjs/DataTableSchema.js +69 -34
- package/dist/cjs/DataTableSchema.js.map +1 -1
- package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js +4 -1
- package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +18 -15
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +1 -1
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +106 -79
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +49 -30
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +31 -19
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/cjs/addons/Columns/index.js +4 -1
- package/dist/cjs/addons/Columns/index.js.map +1 -1
- package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +8 -4
- package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +1 -1
- package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +17 -10
- package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
- package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +23 -16
- package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +1 -1
- package/dist/cjs/addons/Editables/index.js +4 -1
- package/dist/cjs/addons/Editables/index.js.map +1 -1
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +64 -34
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js +52 -25
- package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +77 -52
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +64 -34
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +41 -20
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +6 -3
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +1 -1
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +6 -3
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +1 -1
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +6 -3
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +1 -1
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +6 -3
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +1 -1
- package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js +49 -22
- package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/index.js +4 -1
- package/dist/cjs/addons/Filters/Components/index.js.map +1 -1
- package/dist/cjs/addons/Filters/index.js +4 -1
- package/dist/cjs/addons/Filters/index.js.map +1 -1
- package/dist/cjs/addons/Pagination/Pagination.js +7 -3
- package/dist/cjs/addons/Pagination/Pagination.js.map +1 -1
- package/dist/cjs/addons/Pagination/index.js +4 -1
- package/dist/cjs/addons/Pagination/index.js.map +1 -1
- package/dist/cjs/configs/constants.js +4 -1
- package/dist/cjs/configs/constants.js.map +2 -2
- package/dist/cjs/configs/fixedSizes.js +4 -1
- package/dist/cjs/configs/fixedSizes.js.map +1 -1
- package/dist/cjs/configs/index.js +4 -1
- package/dist/cjs/configs/index.js.map +1 -1
- package/dist/cjs/configs/useDatatableConfig.js +54 -37
- package/dist/cjs/configs/useDatatableConfig.js.map +1 -1
- package/dist/cjs/configs/useInternalStateConfig.js +31 -22
- package/dist/cjs/configs/useInternalStateConfig.js.map +2 -2
- package/dist/cjs/configs/usePaginationConfig.js +42 -36
- package/dist/cjs/configs/usePaginationConfig.js.map +1 -1
- package/dist/cjs/configs/useRowFlattenization.js +18 -6
- package/dist/cjs/configs/useRowFlattenization.js.map +1 -1
- package/dist/cjs/configs/useTableColsWithAddons.js +4 -1
- package/dist/cjs/configs/useTableColsWithAddons.js.map +1 -1
- package/dist/cjs/configs/zIndexInternalConfig.js +4 -1
- package/dist/cjs/configs/zIndexInternalConfig.js.map +1 -1
- package/dist/cjs/exported-related/EditableCell.js +50 -28
- package/dist/cjs/exported-related/EditableCell.js.map +1 -1
- package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +46 -30
- package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
- package/dist/cjs/exported-related/FilterBar/index.js +4 -1
- package/dist/cjs/exported-related/FilterBar/index.js.map +1 -1
- package/dist/cjs/exported-related/FilterPopover.js +64 -45
- package/dist/cjs/exported-related/FilterPopover.js.map +3 -3
- package/dist/cjs/exported-related/FilterTypes.js +4 -1
- package/dist/cjs/exported-related/FilterTypes.js.map +1 -1
- package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +4 -1
- package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +1 -1
- package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js +10 -3
- package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
- package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js +7 -2
- package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js.map +1 -1
- package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js +4 -1
- package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js.map +1 -1
- package/dist/cjs/exported-related/Filters/index.js +4 -1
- package/dist/cjs/exported-related/Filters/index.js.map +1 -1
- package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js +4 -1
- package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
- package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js +7 -2
- package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
- package/dist/cjs/exported-related/Filters/singleDateFilterFn.js +4 -1
- package/dist/cjs/exported-related/Filters/singleDateFilterFn.js.map +1 -1
- package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js +4 -1
- package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
- package/dist/cjs/exported-related/Filters/types.js +4 -1
- package/dist/cjs/exported-related/Filters/types.js.map +1 -1
- package/dist/cjs/exported-related/Filters/utilities.js +4 -1
- package/dist/cjs/exported-related/Filters/utilities.js.map +1 -1
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +64 -47
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
- package/dist/cjs/exported-related/RowRenderer/index.js +38 -28
- package/dist/cjs/exported-related/RowRenderer/index.js.map +1 -1
- package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +89 -68
- package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js +12 -6
- package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
- package/dist/cjs/exported-related/RowRenderer/useRowStyle.js +4 -1
- package/dist/cjs/exported-related/RowRenderer/useRowStyle.js.map +2 -2
- package/dist/cjs/exported-related/RowVariants.js +4 -1
- package/dist/cjs/exported-related/RowVariants.js.map +1 -1
- package/dist/cjs/exported-related/Toolbar/Toolbar.js +39 -24
- package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +1 -1
- package/dist/cjs/exported-related/Toolbar/index.js +4 -1
- package/dist/cjs/exported-related/Toolbar/index.js.map +1 -1
- package/dist/cjs/exported-related/groupBy.js +4 -1
- package/dist/cjs/exported-related/groupBy.js.map +1 -1
- package/dist/cjs/exported-related/index.js +4 -1
- package/dist/cjs/exported-related/index.js.map +1 -1
- package/dist/cjs/helpers/addCellData.js +4 -1
- package/dist/cjs/helpers/addCellData.js.map +2 -2
- package/dist/cjs/helpers/cellPadding.js +4 -1
- package/dist/cjs/helpers/cellPadding.js.map +1 -1
- package/dist/cjs/helpers/columnsToGrid.js +4 -1
- package/dist/cjs/helpers/columnsToGrid.js.map +1 -1
- package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js +4 -1
- package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
- package/dist/cjs/helpers/index.js +4 -1
- package/dist/cjs/helpers/index.js.map +1 -1
- package/dist/cjs/helpers/refs-helpers.js +4 -1
- package/dist/cjs/helpers/refs-helpers.js.map +1 -1
- package/dist/cjs/helpers/sizeToCss.js +4 -1
- package/dist/cjs/helpers/sizeToCss.js.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/parts/Cells/Cell.js +50 -32
- package/dist/cjs/parts/Cells/Cell.js.map +1 -1
- package/dist/cjs/parts/Cells/index.js +46 -41
- package/dist/cjs/parts/Cells/index.js.map +2 -2
- package/dist/cjs/parts/Cells/useCellStyle.js +4 -1
- package/dist/cjs/parts/Cells/useCellStyle.js.map +1 -1
- package/dist/cjs/parts/DnDHandle.js +9 -4
- package/dist/cjs/parts/DnDHandle.js.map +1 -1
- package/dist/cjs/parts/DropIndicator.js +24 -15
- package/dist/cjs/parts/DropIndicator.js.map +1 -1
- package/dist/cjs/parts/EmptyContent.js +32 -16
- package/dist/cjs/parts/EmptyContent.js.map +2 -2
- package/dist/cjs/parts/FilterBar/FiltersBar.js +54 -46
- package/dist/cjs/parts/FilterBar/FiltersBar.js.map +2 -2
- package/dist/cjs/parts/FilterBar/components/DateRangePill.js +20 -11
- package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +1 -1
- package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +20 -11
- package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
- package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +36 -25
- package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
- package/dist/cjs/parts/FilterBar/components/NumberRangePill.js +20 -11
- package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +1 -1
- package/dist/cjs/parts/FilterBar/components/SelectPill.js +20 -11
- package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +1 -1
- package/dist/cjs/parts/FilterBar/components/SingleDatePill.js +20 -11
- package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +1 -1
- package/dist/cjs/parts/FilterBar/components/index.js +4 -1
- package/dist/cjs/parts/FilterBar/components/index.js.map +1 -1
- package/dist/cjs/parts/FilterBar/index.js +4 -1
- package/dist/cjs/parts/FilterBar/index.js.map +1 -1
- package/dist/cjs/parts/FilterBar/styled.js +4 -1
- package/dist/cjs/parts/FilterBar/styled.js.map +1 -1
- package/dist/cjs/parts/FilterBar/types.js +4 -1
- package/dist/cjs/parts/FilterBar/types.js.map +1 -1
- package/dist/cjs/parts/Filters/index.js +25 -18
- package/dist/cjs/parts/Filters/index.js.map +2 -2
- package/dist/cjs/parts/Footer.js +8 -3
- package/dist/cjs/parts/Footer.js.map +1 -1
- package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +6 -3
- package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +1 -1
- package/dist/cjs/parts/Headers/HeaderCell.js +71 -42
- package/dist/cjs/parts/Headers/HeaderCell.js.map +1 -1
- package/dist/cjs/parts/Headers/HeaderCellGroup.js +35 -25
- package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderCellTitle.js +23 -14
- package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +1 -1
- package/dist/cjs/parts/Headers/HeaderResizer.js +35 -21
- package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
- package/dist/cjs/parts/Headers/RequiredDot.js +14 -10
- package/dist/cjs/parts/Headers/RequiredDot.js.map +1 -1
- package/dist/cjs/parts/Headers/index.js +31 -19
- package/dist/cjs/parts/Headers/index.js.map +1 -1
- package/dist/cjs/parts/Headers/useHeaderCellConfig.js +4 -1
- package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +1 -1
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +58 -46
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/dist/cjs/parts/HoC/SortableItemContext.js +4 -1
- package/dist/cjs/parts/HoC/SortableItemContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +55 -37
- package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +59 -42
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +13 -8
- package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +24 -13
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +24 -13
- package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +1 -1
- package/dist/cjs/parts/Loader.js +16 -11
- package/dist/cjs/parts/Loader.js.map +1 -1
- package/dist/cjs/parts/Row.js +17 -12
- package/dist/cjs/parts/Row.js.map +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantHeader.js +33 -19
- package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +1 -1
- package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +6 -3
- package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +1 -1
- package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +6 -3
- package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +1 -1
- package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js +8 -4
- package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
- package/dist/cjs/parts/RowVariants/index.js +8 -5
- package/dist/cjs/parts/RowVariants/index.js.map +1 -1
- package/dist/cjs/parts/RowVariants/types.js +4 -1
- package/dist/cjs/parts/RowVariants/types.js.map +1 -1
- package/dist/cjs/parts/Rows.js +35 -26
- package/dist/cjs/parts/Rows.js.map +2 -2
- package/dist/cjs/parts/SortByCaret.js +21 -10
- package/dist/cjs/parts/SortByCaret.js.map +1 -1
- package/dist/cjs/parts/SortableHeaderCell.js +4 -1
- package/dist/cjs/parts/SortableHeaderCell.js.map +1 -1
- package/dist/cjs/parts/TableContent.js +28 -16
- package/dist/cjs/parts/TableContent.js.map +2 -2
- package/dist/cjs/parts/VirtualRowsList.js +38 -19
- package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
- package/dist/cjs/parts/index.js +4 -1
- package/dist/cjs/parts/index.js.map +1 -1
- package/dist/cjs/parts/internal.js +4 -1
- package/dist/cjs/parts/internal.js.map +1 -1
- package/dist/cjs/styled.js +4 -1
- package/dist/cjs/styled.js.map +1 -1
- package/dist/cjs/tests/utils/index.js +4 -1
- package/dist/cjs/tests/utils/index.js.map +1 -1
- package/dist/cjs/types/FunctionalHoC.js +4 -1
- package/dist/cjs/types/FunctionalHoC.js.map +1 -1
- package/dist/cjs/types/props.js +4 -1
- package/dist/cjs/types/props.js.map +2 -2
- package/dist/esm/DataTable.js +19 -13
- package/dist/esm/DataTable.js.map +1 -1
- package/dist/esm/DataTableContext.js.map +1 -1
- package/dist/esm/DataTableSchema.js +65 -33
- package/dist/esm/DataTableSchema.js.map +1 -1
- package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +1 -1
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +102 -78
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +45 -29
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +27 -18
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/esm/addons/Columns/index.js.map +1 -1
- package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
- package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +1 -1
- package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +13 -9
- package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
- package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +19 -15
- package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +1 -1
- package/dist/esm/addons/Editables/index.js.map +1 -1
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +60 -33
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js +48 -24
- package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js +73 -51
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +60 -33
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +37 -19
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +1 -1
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +1 -1
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +1 -1
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +1 -1
- package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js +45 -21
- package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/index.js.map +1 -1
- package/dist/esm/addons/Filters/index.js.map +1 -1
- package/dist/esm/addons/Pagination/Pagination.js +3 -2
- package/dist/esm/addons/Pagination/Pagination.js.map +1 -1
- package/dist/esm/addons/Pagination/index.js.map +1 -1
- package/dist/esm/configs/constants.js.map +2 -2
- package/dist/esm/configs/fixedSizes.js.map +1 -1
- package/dist/esm/configs/index.js.map +1 -1
- package/dist/esm/configs/useDatatableConfig.js +50 -36
- package/dist/esm/configs/useDatatableConfig.js.map +1 -1
- package/dist/esm/configs/useInternalStateConfig.js +27 -21
- package/dist/esm/configs/useInternalStateConfig.js.map +2 -2
- package/dist/esm/configs/usePaginationConfig.js +38 -35
- package/dist/esm/configs/usePaginationConfig.js.map +1 -1
- package/dist/esm/configs/useRowFlattenization.js +14 -5
- package/dist/esm/configs/useRowFlattenization.js.map +1 -1
- package/dist/esm/configs/useTableColsWithAddons.js.map +1 -1
- package/dist/esm/configs/zIndexInternalConfig.js.map +1 -1
- package/dist/esm/exported-related/EditableCell.js +46 -27
- package/dist/esm/exported-related/EditableCell.js.map +1 -1
- package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +42 -29
- package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
- package/dist/esm/exported-related/FilterBar/index.js.map +1 -1
- package/dist/esm/exported-related/FilterPopover.js +60 -44
- package/dist/esm/exported-related/FilterPopover.js.map +2 -2
- package/dist/esm/exported-related/FilterTypes.js.map +1 -1
- package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +1 -1
- package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js +6 -2
- package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
- package/dist/esm/exported-related/Filters/dateRangeFilterFn.js +3 -1
- package/dist/esm/exported-related/Filters/dateRangeFilterFn.js.map +1 -1
- package/dist/esm/exported-related/Filters/dateSwitcherFilterFn.js.map +1 -1
- package/dist/esm/exported-related/Filters/index.js.map +1 -1
- package/dist/esm/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
- package/dist/esm/exported-related/Filters/numberRangeFilterFn.js +3 -1
- package/dist/esm/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
- package/dist/esm/exported-related/Filters/singleDateFilterFn.js.map +1 -1
- package/dist/esm/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
- package/dist/esm/exported-related/Filters/types.js.map +1 -1
- package/dist/esm/exported-related/Filters/utilities.js.map +1 -1
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +60 -46
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
- package/dist/esm/exported-related/RowRenderer/index.js +34 -27
- package/dist/esm/exported-related/RowRenderer/index.js.map +1 -1
- package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js +85 -67
- package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js +8 -5
- package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
- package/dist/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
- package/dist/esm/exported-related/RowVariants.js.map +1 -1
- package/dist/esm/exported-related/Toolbar/Toolbar.js +35 -23
- package/dist/esm/exported-related/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/exported-related/Toolbar/index.js.map +1 -1
- package/dist/esm/exported-related/groupBy.js.map +1 -1
- package/dist/esm/exported-related/index.js.map +1 -1
- package/dist/esm/helpers/addCellData.js.map +2 -2
- package/dist/esm/helpers/cellPadding.js.map +1 -1
- package/dist/esm/helpers/columnsToGrid.js.map +1 -1
- package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
- package/dist/esm/helpers/index.js.map +1 -1
- package/dist/esm/helpers/refs-helpers.js.map +1 -1
- package/dist/esm/helpers/sizeToCss.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/parts/Cells/Cell.js +46 -31
- package/dist/esm/parts/Cells/Cell.js.map +1 -1
- package/dist/esm/parts/Cells/index.js +42 -40
- package/dist/esm/parts/Cells/index.js.map +2 -2
- package/dist/esm/parts/Cells/useCellStyle.js.map +1 -1
- package/dist/esm/parts/DnDHandle.js +5 -3
- package/dist/esm/parts/DnDHandle.js.map +1 -1
- package/dist/esm/parts/DropIndicator.js +20 -14
- package/dist/esm/parts/DropIndicator.js.map +1 -1
- package/dist/esm/parts/EmptyContent.js +28 -15
- package/dist/esm/parts/EmptyContent.js.map +2 -2
- package/dist/esm/parts/FilterBar/FiltersBar.js +50 -45
- package/dist/esm/parts/FilterBar/FiltersBar.js.map +2 -2
- package/dist/esm/parts/FilterBar/components/DateRangePill.js +16 -10
- package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +1 -1
- package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +16 -10
- package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
- package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +32 -24
- package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
- package/dist/esm/parts/FilterBar/components/NumberRangePill.js +16 -10
- package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +1 -1
- package/dist/esm/parts/FilterBar/components/SelectPill.js +16 -10
- package/dist/esm/parts/FilterBar/components/SelectPill.js.map +1 -1
- package/dist/esm/parts/FilterBar/components/SingleDatePill.js +16 -10
- package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +1 -1
- package/dist/esm/parts/FilterBar/components/index.js.map +1 -1
- package/dist/esm/parts/FilterBar/index.js.map +1 -1
- package/dist/esm/parts/FilterBar/styled.js.map +1 -1
- package/dist/esm/parts/FilterBar/types.js.map +1 -1
- package/dist/esm/parts/Filters/index.js +21 -17
- package/dist/esm/parts/Filters/index.js.map +1 -1
- package/dist/esm/parts/Footer.js +4 -2
- package/dist/esm/parts/Footer.js.map +1 -1
- package/dist/esm/parts/Headers/EmptyChildrenGroup.js +2 -2
- package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +1 -1
- package/dist/esm/parts/Headers/HeaderCell.js +67 -41
- package/dist/esm/parts/Headers/HeaderCell.js.map +1 -1
- package/dist/esm/parts/Headers/HeaderCellGroup.js +31 -24
- package/dist/esm/parts/Headers/HeaderCellGroup.js.map +1 -1
- package/dist/esm/parts/Headers/HeaderCellTitle.js +19 -13
- package/dist/esm/parts/Headers/HeaderCellTitle.js.map +1 -1
- package/dist/esm/parts/Headers/HeaderResizer.js +31 -20
- package/dist/esm/parts/Headers/HeaderResizer.js.map +2 -2
- package/dist/esm/parts/Headers/RequiredDot.js +10 -9
- package/dist/esm/parts/Headers/RequiredDot.js.map +1 -1
- package/dist/esm/parts/Headers/index.js +27 -18
- package/dist/esm/parts/Headers/index.js.map +1 -1
- package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +1 -1
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js +54 -45
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/dist/esm/parts/HoC/SortableItemContext.js.map +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +51 -36
- package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +55 -41
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +9 -7
- package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +20 -12
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
- package/dist/esm/parts/HoC/withDnDSortableRowContext.js +20 -12
- package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +1 -1
- package/dist/esm/parts/Loader.js +12 -10
- package/dist/esm/parts/Loader.js.map +1 -1
- package/dist/esm/parts/Row.js +13 -11
- package/dist/esm/parts/Row.js.map +1 -1
- package/dist/esm/parts/RowVariants/RowVariantHeader.js +29 -18
- package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +1 -1
- package/dist/esm/parts/RowVariants/RowVariantPrimary.js +2 -2
- package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +1 -1
- package/dist/esm/parts/RowVariants/RowVariantSecondary.js +2 -2
- package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +1 -1
- package/dist/esm/parts/RowVariants/RowVariantSkeleton.js +4 -3
- package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
- package/dist/esm/parts/RowVariants/index.js +4 -4
- package/dist/esm/parts/RowVariants/index.js.map +1 -1
- package/dist/esm/parts/RowVariants/types.js.map +1 -1
- package/dist/esm/parts/Rows.js +31 -25
- package/dist/esm/parts/Rows.js.map +1 -1
- package/dist/esm/parts/SortByCaret.js +17 -9
- package/dist/esm/parts/SortByCaret.js.map +1 -1
- package/dist/esm/parts/SortableHeaderCell.js.map +1 -1
- package/dist/esm/parts/TableContent.js +24 -15
- package/dist/esm/parts/TableContent.js.map +2 -2
- package/dist/esm/parts/VirtualRowsList.js +34 -18
- package/dist/esm/parts/VirtualRowsList.js.map +1 -1
- package/dist/esm/parts/index.js.map +2 -2
- package/dist/esm/parts/internal.js.map +1 -1
- package/dist/esm/styled.js.map +1 -1
- package/dist/esm/tests/utils/index.js.map +1 -1
- package/dist/esm/types/FunctionalHoC.js.map +1 -1
- package/dist/esm/types/props.js.map +2 -2
- package/package.json +18 -18
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo, useCallback } from "react";
|
|
3
4
|
import { ArrowheadDown, ArrowheadRight, ArrowShortReturn } from "@elliemae/ds-icons";
|
|
4
5
|
import { styled, css } from "@elliemae/ds-system";
|
|
5
6
|
import { StyledFocusWithin } from "../../../styled";
|
|
@@ -17,19 +18,19 @@ const StyledSpan = styled.span`
|
|
|
17
18
|
|
|
18
19
|
${({ disabled }) => disabled && disabledCaret}
|
|
19
20
|
`;
|
|
20
|
-
const ArrowDown = ({ color = ["brand-primary", "600"], ...rest }) => /* @__PURE__ */
|
|
21
|
+
const ArrowDown = ({ color = ["brand-primary", "600"], ...rest }) => /* @__PURE__ */ jsx(ArrowheadDown, {
|
|
21
22
|
size: "s",
|
|
22
23
|
color,
|
|
23
24
|
"data-testid": DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN,
|
|
24
25
|
...rest
|
|
25
26
|
});
|
|
26
|
-
const ArrowMixed = () => /* @__PURE__ */
|
|
27
|
+
const ArrowMixed = () => /* @__PURE__ */ jsx(ArrowheadRight, {
|
|
27
28
|
size: "s",
|
|
28
29
|
color: ["brand-primary", "600"],
|
|
29
30
|
"data-testid": DATA_TESTID.DATA_TABLE_ICON_ARROW_MIXED,
|
|
30
31
|
style: { transform: "rotate(45deg)" }
|
|
31
32
|
});
|
|
32
|
-
const ArrowRight = ({ color = ["brand-primary", "600"], ...rest }) => /* @__PURE__ */
|
|
33
|
+
const ArrowRight = ({ color = ["brand-primary", "600"], ...rest }) => /* @__PURE__ */ jsx(ArrowheadRight, {
|
|
33
34
|
size: "s",
|
|
34
35
|
color,
|
|
35
36
|
"data-testid": DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT,
|
|
@@ -52,36 +53,45 @@ const expandRowColumn = {
|
|
|
52
53
|
});
|
|
53
54
|
return expandable;
|
|
54
55
|
}, [allDataFlattened, disabledRows]);
|
|
55
|
-
const isAllRowsExpanded = useMemo(
|
|
56
|
+
const isAllRowsExpanded = useMemo(
|
|
57
|
+
() => Object.keys(allExpandable).length === Object.keys(expandedRows).length,
|
|
58
|
+
[allExpandable, expandedRows]
|
|
59
|
+
);
|
|
56
60
|
const onExpandedAllHandler = useCallback(() => {
|
|
57
61
|
if (isAllRowsExpanded)
|
|
58
62
|
onRowExpand({}, "All");
|
|
59
63
|
else
|
|
60
64
|
onRowExpand({ ...allExpandable }, "All");
|
|
61
65
|
}, [allExpandable, isAllRowsExpanded, onRowExpand]);
|
|
62
|
-
const onKeyDownHandler = useCallback(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
const onKeyDownHandler = useCallback(
|
|
67
|
+
(e) => {
|
|
68
|
+
if (["Enter", "Space"].includes(e.code)) {
|
|
69
|
+
onExpandedAllHandler();
|
|
70
|
+
e.preventDefault();
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
[onExpandedAllHandler]
|
|
74
|
+
);
|
|
68
75
|
const GlobalExpandIcon = useMemo(() => {
|
|
69
76
|
if (isAllRowsExpanded)
|
|
70
|
-
return /* @__PURE__ */
|
|
77
|
+
return /* @__PURE__ */ jsx(ArrowDown, {});
|
|
71
78
|
if (Object.keys(expandedRows).length)
|
|
72
|
-
return /* @__PURE__ */
|
|
73
|
-
return /* @__PURE__ */
|
|
79
|
+
return /* @__PURE__ */ jsx(ArrowMixed, {});
|
|
80
|
+
return /* @__PURE__ */ jsx(ArrowRight, {});
|
|
74
81
|
}, [expandedRows, isAllRowsExpanded]);
|
|
75
|
-
return /* @__PURE__ */
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
return /* @__PURE__ */ jsx(StyledFocusWithin, {
|
|
83
|
+
children: /* @__PURE__ */ jsx(StyledSpan, {
|
|
84
|
+
role: "button",
|
|
85
|
+
tabIndex: 0,
|
|
86
|
+
title: "Toggle All Rows Expanded",
|
|
87
|
+
onClick: onExpandedAllHandler,
|
|
88
|
+
onKeyDown: onKeyDownHandler,
|
|
89
|
+
"data-testid": DATA_TESTID.DATA_TABLE_GLOBAL_EXPAND_CELL,
|
|
90
|
+
"aria-expanded": isAllRowsExpanded,
|
|
91
|
+
style: { width: "24px", height: "24px" },
|
|
92
|
+
children: GlobalExpandIcon
|
|
93
|
+
})
|
|
94
|
+
});
|
|
85
95
|
},
|
|
86
96
|
Cell: ({ cell, row, isRowSelected, ctx, draggableProps }) => {
|
|
87
97
|
const {
|
|
@@ -89,71 +99,85 @@ const expandRowColumn = {
|
|
|
89
99
|
} = ctx;
|
|
90
100
|
const uniqueId = row.uid;
|
|
91
101
|
const isExpanded = !!expandedRows[uniqueId];
|
|
92
|
-
const shouldPrintCaret = useMemo(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
102
|
+
const shouldPrintCaret = useMemo(
|
|
103
|
+
() => row.original.subRows?.length && row.depth === 0 || row.original.tableRowDetails || row.original.dimsumHeaderValue,
|
|
104
|
+
[row.depth, row.original.dimsumHeaderValue, row.original.subRows?.length, row.original.tableRowDetails]
|
|
105
|
+
);
|
|
106
|
+
const onRowExpandHandler = useCallback(
|
|
107
|
+
(e) => {
|
|
108
|
+
if (disabledRows[row.uid])
|
|
109
|
+
return;
|
|
110
|
+
e.stopPropagation();
|
|
111
|
+
if (expandedRows[uniqueId]) {
|
|
112
|
+
delete expandedRows[uniqueId];
|
|
113
|
+
} else {
|
|
114
|
+
expandedRows[uniqueId] = true;
|
|
115
|
+
}
|
|
116
|
+
onRowExpand({ ...expandedRows }, uniqueId);
|
|
117
|
+
},
|
|
118
|
+
[disabledRows, row.uid, expandedRows, uniqueId, onRowExpand]
|
|
119
|
+
);
|
|
120
|
+
const onKeyDownHandler = useCallback(
|
|
121
|
+
(e) => {
|
|
122
|
+
if (["Enter", "Space"].includes(e.code)) {
|
|
123
|
+
e.preventDefault();
|
|
124
|
+
onRowExpandHandler(e);
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
[onRowExpandHandler]
|
|
128
|
+
);
|
|
110
129
|
const isDragging = draggableProps && draggableProps.isDragging;
|
|
111
130
|
const isDragOverlay = dragAndDropRows && !draggableProps;
|
|
112
|
-
const indentStyle = useMemo(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
131
|
+
const indentStyle = useMemo(
|
|
132
|
+
() => ({
|
|
133
|
+
marginLeft: `${row.depth * 32}px`,
|
|
134
|
+
marginRight: "18px",
|
|
135
|
+
paddingLeft: "2px",
|
|
136
|
+
paddingRight: "2px",
|
|
137
|
+
position: "relative",
|
|
138
|
+
height: "100%",
|
|
139
|
+
display: "flex",
|
|
140
|
+
alignItems: "center"
|
|
141
|
+
}),
|
|
142
|
+
[row.depth]
|
|
143
|
+
);
|
|
122
144
|
const PureCaretIcon = useMemo(() => {
|
|
123
145
|
const Caret = isExpanded && !isDragging && !isDragOverlay ? ArrowDown : ArrowRight;
|
|
124
|
-
return /* @__PURE__ */
|
|
146
|
+
return /* @__PURE__ */ jsx(Caret, {
|
|
125
147
|
"data-is-col-expanded": isExpanded,
|
|
126
148
|
"data-role": "row-expander-col",
|
|
127
149
|
color: disabledRows[row.uid] ? ["neutral", "400"] : ["brand-primary", "600"]
|
|
128
150
|
});
|
|
129
151
|
}, [isExpanded, isDragging, isDragOverlay, disabledRows, row.uid]);
|
|
130
152
|
if (shouldPrintCaret)
|
|
131
|
-
return /* @__PURE__ */
|
|
132
|
-
style: indentStyle
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
153
|
+
return /* @__PURE__ */ jsx(StyledFocusWithin, {
|
|
154
|
+
style: indentStyle,
|
|
155
|
+
children: /* @__PURE__ */ jsx(StyledSpan, {
|
|
156
|
+
role: "button",
|
|
157
|
+
title: "Toggle Row Expanded",
|
|
158
|
+
onClick: onRowExpandHandler,
|
|
159
|
+
onKeyDown: onKeyDownHandler,
|
|
160
|
+
ref: cell.ref,
|
|
161
|
+
tabIndex: isRowSelected && !disabledRows[row.uid] ? 0 : -1,
|
|
162
|
+
"data-testid": "data-table-row-expand-cell",
|
|
163
|
+
"aria-expanded": isExpanded,
|
|
164
|
+
isRightArrow: !isExpanded || isDragging || isDragOverlay,
|
|
165
|
+
disabled: disabledRows[row.uid],
|
|
166
|
+
"aria-disabled": disabledRows[row.uid],
|
|
167
|
+
children: PureCaretIcon
|
|
168
|
+
}, `${row.uid}-expand-button`)
|
|
169
|
+
});
|
|
147
170
|
if (row.depth !== 0)
|
|
148
|
-
return /* @__PURE__ */
|
|
149
|
-
style: indentStyle
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
171
|
+
return /* @__PURE__ */ jsx("span", {
|
|
172
|
+
style: indentStyle,
|
|
173
|
+
children: /* @__PURE__ */ jsx(ArrowShortReturn, {
|
|
174
|
+
size: "s",
|
|
175
|
+
"data-testid": DATA_TESTID.DATA_TABLE_ICON_CHILD,
|
|
176
|
+
style: { transform: "rotate(90deg) scaleY(-1)" },
|
|
177
|
+
color: ["brand-primary", "600"]
|
|
178
|
+
})
|
|
179
|
+
});
|
|
180
|
+
return /* @__PURE__ */ jsx("div", {
|
|
157
181
|
style: { width: "36px" }
|
|
158
182
|
});
|
|
159
183
|
},
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnExpand/ColumnExpand.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useMemo, useCallback } from 'react';\nimport { ArrowheadDown, ArrowheadRight, ArrowShortReturn } from '@elliemae/ds-icons';\nimport { styled, css } from '@elliemae/ds-system';\nimport { TypescriptColumn } from '../../../types/props';\nimport { StyledFocusWithin } from '../../../styled';\nimport { DATA_TESTID } from '../../../configs/constants';\n\nconst disabledCaret = css`\n cursor: not-allowed;\n`;\nconst StyledSpan = styled.span<{ disabled: boolean }>`\n cursor: pointer;\n box-sizing: border-box;\n outline: none;\n display: flex;\n justify-content: center;\n align-items: center;\n\n ${({ disabled }) => disabled && disabledCaret}\n`;\n\nconst ArrowDown = ({ color = ['brand-primary', '600'], ...rest }) => (\n <ArrowheadDown size=\"s\" color={color} data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN} {...rest} />\n);\n\nconst ArrowMixed = () => (\n <ArrowheadRight\n size=\"s\"\n color={['brand-primary', '600']}\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_MIXED}\n style={{ transform: 'rotate(45deg)' }}\n />\n);\n\nconst ArrowRight = ({ color = ['brand-primary', '600'], ...rest }) => (\n <ArrowheadRight size=\"s\" color={color} data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT} {...rest} />\n);\n\nexport const expandRowColumn: TypescriptColumn<HTMLSpanElement> = {\n // Build our expander column\n id: 'expander', // Make sure it has an ID\n accessor: 'expandRowColumn',\n Header: ({ ctx }) => {\n const {\n tableProps: { expandedRows, onRowExpand, disabledRows },\n allDataFlattened,\n } = ctx;\n\n const allExpandable = useMemo(() => {\n const expandable: Record<string, boolean> = {};\n allDataFlattened.forEach((row) => {\n const isExpandableRow = row.original.subRows || row.original.tableRowDetails || row.original.dimsumHeaderValue;\n if (!disabledRows[row.uid] && isExpandableRow) expandable[row.uid] = true;\n });\n return expandable;\n }, [allDataFlattened, disabledRows]);\n\n const isAllRowsExpanded = useMemo(\n () => Object.keys(allExpandable).length === Object.keys(expandedRows).length,\n [allExpandable, expandedRows],\n );\n\n const onExpandedAllHandler = useCallback(() => {\n if (isAllRowsExpanded) onRowExpand({}, 'All');\n else onRowExpand({ ...allExpandable }, 'All');\n }, [allExpandable, isAllRowsExpanded, onRowExpand]);\n\n const onKeyDownHandler = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n onExpandedAllHandler();\n e.preventDefault();\n }\n },\n [onExpandedAllHandler],\n );\n\n const GlobalExpandIcon = useMemo(() => {\n if (isAllRowsExpanded) return <ArrowDown />;\n if (Object.keys(expandedRows).length) return <ArrowMixed />;\n return <ArrowRight />;\n }, [expandedRows, isAllRowsExpanded]);\n\n return (\n <StyledFocusWithin>\n <StyledSpan\n role=\"button\"\n tabIndex={0}\n title=\"Toggle All Rows Expanded\"\n onClick={onExpandedAllHandler}\n onKeyDown={onKeyDownHandler}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_EXPAND_CELL}\n aria-expanded={isAllRowsExpanded}\n style={{ width: '24px', height: '24px' }}\n >\n {GlobalExpandIcon}\n </StyledSpan>\n </StyledFocusWithin>\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx, draggableProps }) => {\n const {\n tableProps: { dragAndDropRows, expandedRows, onRowExpand, disabledRows },\n } = ctx;\n\n const uniqueId = row.uid;\n\n const isExpanded = !!expandedRows[uniqueId];\n\n const shouldPrintCaret = useMemo(\n () =>\n (row.original.subRows?.length && row.depth === 0) || // only allows 1 level of expands\n row.original.tableRowDetails ||\n row.original.dimsumHeaderValue,\n [row.depth, row.original.dimsumHeaderValue, row.original.subRows?.length, row.original.tableRowDetails],\n );\n\n const onRowExpandHandler = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (disabledRows[row.uid]) return;\n e.stopPropagation(); // to prevent on row click\n if (expandedRows[uniqueId]) {\n delete expandedRows[uniqueId];\n } else {\n expandedRows[uniqueId] = true;\n }\n onRowExpand({ ...expandedRows }, uniqueId);\n },\n [disabledRows, row.uid, expandedRows, uniqueId, onRowExpand],\n );\n\n const onKeyDownHandler = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n e.preventDefault();\n onRowExpandHandler(e);\n }\n },\n [onRowExpandHandler],\n );\n\n const isDragging = draggableProps && draggableProps.isDragging;\n const isDragOverlay = dragAndDropRows && !draggableProps;\n\n const indentStyle: React.CSSProperties = useMemo(\n () => ({\n marginLeft: `${row.depth * 32}px`,\n marginRight: '18px',\n paddingLeft: '2px',\n paddingRight: '2px',\n position: 'relative',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n }),\n [row.depth],\n );\n\n const PureCaretIcon = useMemo(() => {\n const Caret = isExpanded && !isDragging && !isDragOverlay ? ArrowDown : ArrowRight;\n return (\n <Caret\n data-is-col-expanded={isExpanded}\n data-role=\"row-expander-col\"\n color={disabledRows[row.uid] ? ['neutral', '400'] : ['brand-primary', '600']}\n />\n );\n }, [isExpanded, isDragging, isDragOverlay, disabledRows, row.uid]);\n\n if (shouldPrintCaret)\n return (\n <StyledFocusWithin style={indentStyle}>\n <StyledSpan\n role=\"button\"\n key={`${row.uid}-expand-button`}\n title=\"Toggle Row Expanded\"\n onClick={onRowExpandHandler}\n onKeyDown={onKeyDownHandler}\n ref={cell.ref}\n tabIndex={isRowSelected && !disabledRows[row.uid] ? 0 : -1}\n data-testid=\"data-table-row-expand-cell\"\n aria-expanded={isExpanded}\n isRightArrow={!isExpanded || isDragging || isDragOverlay}\n disabled={disabledRows[row.uid]}\n aria-disabled={disabledRows[row.uid]}\n >\n {PureCaretIcon}\n </StyledSpan>\n </StyledFocusWithin>\n );\n\n if (row.depth !== 0)\n return (\n <span style={indentStyle}>\n <ArrowShortReturn\n size=\"s\"\n data-testid={DATA_TESTID.DATA_TABLE_ICON_CHILD}\n style={{ transform: 'rotate(90deg) scaleY(-1)' }}\n color={['brand-primary', '600']}\n />\n </span>\n );\n\n return <div style={{ width: '36px' }} />;\n },\n textWrap: 'wrap',\n canResize: false,\n width: 25,\n padding: 0,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo, useCallback } from "react";
|
|
3
4
|
import { DSControlledCheckbox } from "@elliemae/ds-controlled-form";
|
|
4
5
|
import { DATA_TESTID } from "../../../configs/constants";
|
|
5
6
|
const stopThePropagation = (e) => e.stopPropagation();
|
|
@@ -12,7 +13,10 @@ const multiSelectColumn = {
|
|
|
12
13
|
} = ctx;
|
|
13
14
|
const dtSelection = selection ?? {};
|
|
14
15
|
const selectionKeyCount = Object.keys(dtSelection).length;
|
|
15
|
-
const currentGlobalState = useMemo(
|
|
16
|
+
const currentGlobalState = useMemo(
|
|
17
|
+
() => selectionKeyCount > 0 && selectionKeyCount < data.length ? "mixed" : selectionKeyCount > 0,
|
|
18
|
+
[selectionKeyCount, data]
|
|
19
|
+
);
|
|
16
20
|
const newGlobalStateAfterToggle = useMemo(() => currentGlobalState !== true, [currentGlobalState]);
|
|
17
21
|
const newSelection = useMemo(() => {
|
|
18
22
|
if (!newGlobalStateAfterToggle)
|
|
@@ -22,11 +26,17 @@ const multiSelectColumn = {
|
|
|
22
26
|
return newSelectionObject;
|
|
23
27
|
}, {});
|
|
24
28
|
}, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);
|
|
25
|
-
const onChangeHandler = useCallback(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
const onChangeHandler = useCallback(
|
|
30
|
+
(e) => {
|
|
31
|
+
onSelectionChange(newSelection, "All", e);
|
|
32
|
+
},
|
|
33
|
+
[newSelection, onSelectionChange]
|
|
34
|
+
);
|
|
35
|
+
const ariaControls = useMemo(
|
|
36
|
+
() => allDataFlattened.map((datum) => `data-table-checkbox-${datum.uid}`).join(" "),
|
|
37
|
+
[allDataFlattened]
|
|
38
|
+
);
|
|
39
|
+
return /* @__PURE__ */ jsx(DSControlledCheckbox, {
|
|
30
40
|
"aria-controls": ariaControls,
|
|
31
41
|
"data-testid": DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX,
|
|
32
42
|
"aria-label": "Toggle all rows selected",
|
|
@@ -41,29 +51,35 @@ const multiSelectColumn = {
|
|
|
41
51
|
} = ctx;
|
|
42
52
|
const { uid } = row;
|
|
43
53
|
const selectedState = selection?.[uid] ?? false;
|
|
44
|
-
const onChangeHandler = useCallback(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
const onChangeHandler = useCallback(
|
|
55
|
+
(e) => {
|
|
56
|
+
const newState = !selectedState;
|
|
57
|
+
const newSelection = { ...selection, [uid]: newState };
|
|
58
|
+
if (!newState)
|
|
59
|
+
delete newSelection[uid];
|
|
60
|
+
onSelectionChange(newSelection, uid, e);
|
|
61
|
+
},
|
|
62
|
+
[onSelectionChange, selectedState, selection, uid]
|
|
63
|
+
);
|
|
64
|
+
return /* @__PURE__ */ jsx("div", {
|
|
52
65
|
role: "presentation",
|
|
53
|
-
onClick: stopThePropagation
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
onClick: stopThePropagation,
|
|
67
|
+
onKeyDown: stopThePropagation,
|
|
68
|
+
children: /* @__PURE__ */ jsx(DSControlledCheckbox, {
|
|
69
|
+
id: `data-table-checkbox-${uid}`,
|
|
70
|
+
"data-testid": DATA_TESTID.DATA_TABLE_CHECKBOX,
|
|
71
|
+
"aria-label": "Toggle row selected",
|
|
72
|
+
"aria-checked": selectedState,
|
|
73
|
+
"aria-disabled": false,
|
|
74
|
+
checked: selectedState,
|
|
75
|
+
onClick: onChangeHandler,
|
|
76
|
+
onChange: stopThePropagation,
|
|
77
|
+
disabled: disabledRows[row.uid],
|
|
78
|
+
innerRef: cell.ref,
|
|
79
|
+
tabIndex: isRowSelected ? 0 : -1,
|
|
80
|
+
style: { cursor: "pointer" }
|
|
81
|
+
})
|
|
82
|
+
});
|
|
67
83
|
},
|
|
68
84
|
textWrap: "wrap",
|
|
69
85
|
width: 32,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useCallback } from 'react';\nimport { DSControlledCheckbox } from '@elliemae/ds-controlled-form';\nimport { TypescriptColumn, TypescriptSelection } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs/constants';\n\nconst stopThePropagation = (e: React.MouseEvent) => e.stopPropagation();\n\nexport const multiSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our multiSelecter column\n id: 'multiSelecter', // Make sure it has an ID\n Header: ({ ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, data, disabledRows },\n allDataFlattened,\n } = ctx;\n\n // We for sure have selection, so we just typecast it for TS reasons\n const dtSelection = selection ?? {};\n\n const selectionKeyCount = Object.keys(dtSelection).length;\n\n const currentGlobalState = useMemo(\n () => (selectionKeyCount > 0 && selectionKeyCount < data.length ? 'mixed' : selectionKeyCount > 0),\n [selectionKeyCount, data],\n );\n\n // global state toggling: false to true, mixed to true, true to false\n const newGlobalStateAfterToggle = useMemo(() => currentGlobalState !== true, [currentGlobalState]);\n\n const newSelection: TypescriptSelection = useMemo(() => {\n if (!newGlobalStateAfterToggle) return {};\n\n return allDataFlattened.reduce<TypescriptSelection>((newSelectionObject, datum) => {\n newSelectionObject[datum.uid] = !disabledRows[datum.uid];\n return newSelectionObject;\n }, {});\n }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);\n\n const onChangeHandler = useCallback(\n (e: React.ChangeEvent) => {\n onSelectionChange(newSelection, 'All', e);\n },\n [newSelection, onSelectionChange],\n );\n\n const ariaControls = useMemo(\n () => allDataFlattened.map((datum) => `data-table-checkbox-${datum.uid}`).join(' '),\n [allDataFlattened],\n );\n\n return (\n <DSControlledCheckbox\n aria-controls={ariaControls}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX}\n aria-label=\"Toggle all rows selected\"\n checked={currentGlobalState}\n onChange={onChangeHandler}\n style={{ cursor: 'pointer' }}\n />\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = selection?.[uid] ?? false;\n\n const onChangeHandler = useCallback(\n (e: React.ChangeEvent) => {\n const newState = !selectedState;\n const newSelection = { ...selection, [uid]: newState }; // we only want true and mixed values\n if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection\n onSelectionChange(newSelection, uid, e);\n },\n [onSelectionChange, selectedState, selection, uid],\n );\n\n return (\n <div role=\"presentation\" onClick={stopThePropagation}>\n <DSControlledCheckbox\n id={`data-table-checkbox-${uid}`}\n data-testid={DATA_TESTID.DATA_TABLE_CHECKBOX}\n aria-label=\"Toggle row selected\"\n aria-checked={selectedState}\n aria-disabled={false}\n checked={selectedState}\n
|
|
5
|
-
"mappings": "AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useCallback } from 'react';\nimport { DSControlledCheckbox } from '@elliemae/ds-controlled-form';\nimport { TypescriptColumn, TypescriptSelection } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs/constants';\n\nconst stopThePropagation = (e: React.MouseEvent | React.KeyboardEvent) => e.stopPropagation();\n\nexport const multiSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our multiSelecter column\n id: 'multiSelecter', // Make sure it has an ID\n Header: ({ ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, data, disabledRows },\n allDataFlattened,\n } = ctx;\n\n // We for sure have selection, so we just typecast it for TS reasons\n const dtSelection = selection ?? {};\n\n const selectionKeyCount = Object.keys(dtSelection).length;\n\n const currentGlobalState = useMemo(\n () => (selectionKeyCount > 0 && selectionKeyCount < data.length ? 'mixed' : selectionKeyCount > 0),\n [selectionKeyCount, data],\n );\n\n // global state toggling: false to true, mixed to true, true to false\n const newGlobalStateAfterToggle = useMemo(() => currentGlobalState !== true, [currentGlobalState]);\n\n const newSelection: TypescriptSelection = useMemo(() => {\n if (!newGlobalStateAfterToggle) return {};\n\n return allDataFlattened.reduce<TypescriptSelection>((newSelectionObject, datum) => {\n newSelectionObject[datum.uid] = !disabledRows[datum.uid];\n return newSelectionObject;\n }, {});\n }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);\n\n const onChangeHandler = useCallback(\n (e: React.ChangeEvent) => {\n onSelectionChange(newSelection, 'All', e);\n },\n [newSelection, onSelectionChange],\n );\n\n const ariaControls = useMemo(\n () => allDataFlattened.map((datum) => `data-table-checkbox-${datum.uid}`).join(' '),\n [allDataFlattened],\n );\n\n return (\n <DSControlledCheckbox\n aria-controls={ariaControls}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX}\n aria-label=\"Toggle all rows selected\"\n checked={currentGlobalState}\n onChange={onChangeHandler}\n style={{ cursor: 'pointer' }}\n />\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = selection?.[uid] ?? false;\n\n const onChangeHandler = useCallback(\n (e: React.ChangeEvent) => {\n const newState = !selectedState;\n const newSelection = { ...selection, [uid]: newState }; // we only want true and mixed values\n if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection\n onSelectionChange(newSelection, uid, e);\n },\n [onSelectionChange, selectedState, selection, uid],\n );\n\n return (\n <div role=\"presentation\" onClick={stopThePropagation} onKeyDown={stopThePropagation}>\n <DSControlledCheckbox\n id={`data-table-checkbox-${uid}`}\n data-testid={DATA_TESTID.DATA_TABLE_CHECKBOX}\n aria-label=\"Toggle row selected\"\n aria-checked={selectedState}\n aria-disabled={false}\n checked={selectedState}\n onClick={onChangeHandler}\n onChange={stopThePropagation}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n tabIndex={isRowSelected ? 0 : -1}\n style={{ cursor: 'pointer' }}\n />\n </div>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 7,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,SAAS,mBAAmB;AAC5C,SAAS,4BAA4B;AAErC,SAAS,mBAAmB;AAE5B,MAAM,qBAAqB,CAAC,MAA8C,EAAE,gBAAgB;AAErF,MAAM,oBAAwD;AAAA,EAEnE,IAAI;AAAA,EACJ,QAAQ,CAAC,EAAE,IAAI,MAAM;AACnB,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW,MAAM,aAAa;AAAA,MAC/D;AAAA,IACF,IAAI;AAGJ,UAAM,cAAc,aAAa,CAAC;AAElC,UAAM,oBAAoB,OAAO,KAAK,WAAW,EAAE;AAEnD,UAAM,qBAAqB;AAAA,MACzB,MAAO,oBAAoB,KAAK,oBAAoB,KAAK,SAAS,UAAU,oBAAoB;AAAA,MAChG,CAAC,mBAAmB,IAAI;AAAA,IAC1B;AAGA,UAAM,4BAA4B,QAAQ,MAAM,uBAAuB,MAAM,CAAC,kBAAkB,CAAC;AAEjG,UAAM,eAAoC,QAAQ,MAAM;AACtD,UAAI,CAAC;AAA2B,eAAO,CAAC;AAExC,aAAO,iBAAiB,OAA4B,CAAC,oBAAoB,UAAU;AACjF,2BAAmB,MAAM,OAAO,CAAC,aAAa,MAAM;AACpD,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP,GAAG,CAAC,2BAA2B,kBAAkB,YAAY,CAAC;AAE9D,UAAM,kBAAkB;AAAA,MACtB,CAAC,MAAyB;AACxB,0BAAkB,cAAc,OAAO,CAAC;AAAA,MAC1C;AAAA,MACA,CAAC,cAAc,iBAAiB;AAAA,IAClC;AAEA,UAAM,eAAe;AAAA,MACnB,MAAM,iBAAiB,IAAI,CAAC,UAAU,uBAAuB,MAAM,KAAK,EAAE,KAAK,GAAG;AAAA,MAClF,CAAC,gBAAgB;AAAA,IACnB;AAEA,WACE,oBAAC;AAAA,MACC,iBAAe;AAAA,MACf,eAAa,YAAY;AAAA,MACzB,cAAW;AAAA,MACX,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO,EAAE,QAAQ,UAAU;AAAA,KAC7B;AAAA,EAEJ;AAAA,EACA,MAAM,CAAC,EAAE,MAAM,KAAK,eAAe,IAAI,MAAM;AAC3C,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW,aAAa;AAAA,IAC3D,IAAI;AACJ,UAAM,EAAE,IAAI,IAAI;AAChB,UAAM,gBAAgB,YAAY,QAAQ;AAE1C,UAAM,kBAAkB;AAAA,MACtB,CAAC,MAAyB;AACxB,cAAM,WAAW,CAAC;AAClB,cAAM,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,SAAS;AACrD,YAAI,CAAC;AAAU,iBAAO,aAAa;AACnC,0BAAkB,cAAc,KAAK,CAAC;AAAA,MACxC;AAAA,MACA,CAAC,mBAAmB,eAAe,WAAW,GAAG;AAAA,IACnD;AAEA,WACE,oBAAC;AAAA,MAAI,MAAK;AAAA,MAAe,SAAS;AAAA,MAAoB,WAAW;AAAA,MAC/D,8BAAC;AAAA,QACC,IAAI,uBAAuB;AAAA,QAC3B,eAAa,YAAY;AAAA,QACzB,cAAW;AAAA,QACX,gBAAc;AAAA,QACd,iBAAe;AAAA,QACf,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU,aAAa,IAAI;AAAA,QAC3B,UAAU,KAAK;AAAA,QACf,UAAU,gBAAgB,IAAI;AAAA,QAC9B,OAAO,EAAE,QAAQ,UAAU;AAAA,OAC7B;AAAA,KACF;AAAA,EAEJ;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AACd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback } from "react";
|
|
3
4
|
import { DSControlledRadio } from "@elliemae/ds-controlled-form";
|
|
4
5
|
import { styled } from "@elliemae/ds-system";
|
|
5
6
|
import { DATA_TESTID } from "../../../configs/constants";
|
|
@@ -10,31 +11,39 @@ const CenteredContent = styled.div`
|
|
|
10
11
|
justify-content: center;
|
|
11
12
|
align-items: center;
|
|
12
13
|
`;
|
|
14
|
+
const stopThePropagation = (e) => e.stopPropagation();
|
|
13
15
|
const singleSelectColumn = {
|
|
14
16
|
id: "singleSelecter",
|
|
15
|
-
Header: () => /* @__PURE__ */
|
|
17
|
+
Header: () => /* @__PURE__ */ jsx("div", {}),
|
|
16
18
|
Cell: ({ cell, row, isRowSelected, ctx }) => {
|
|
17
19
|
const {
|
|
18
20
|
tableProps: { onSelectionChange, selection, disabledRows }
|
|
19
21
|
} = ctx;
|
|
20
22
|
const { uid } = row;
|
|
21
23
|
const selectedState = !!selection?.[uid];
|
|
22
|
-
const onChangeHandler = useCallback(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
const onChangeHandler = useCallback(
|
|
25
|
+
(newValue, e) => {
|
|
26
|
+
onSelectionChange({ [uid]: !selectedState }, uid, e);
|
|
27
|
+
},
|
|
28
|
+
[onSelectionChange, selectedState, uid]
|
|
29
|
+
);
|
|
30
|
+
return /* @__PURE__ */ jsx(CenteredContent, {
|
|
31
|
+
onClick: stopThePropagation,
|
|
32
|
+
onKeyDown: stopThePropagation,
|
|
33
|
+
children: /* @__PURE__ */ jsx(DSControlledRadio, {
|
|
34
|
+
"aria-checked": selectedState,
|
|
35
|
+
"aria-disabled": disabledRows[row.uid],
|
|
36
|
+
title: "Toggle row selected",
|
|
37
|
+
"aria-label": "Toggle row selected",
|
|
38
|
+
checked: selectedState,
|
|
39
|
+
onChange: onChangeHandler,
|
|
40
|
+
"data-testid": DATA_TESTID.DATA_TABLE_RADIO,
|
|
41
|
+
disabled: disabledRows[row.uid],
|
|
42
|
+
innerRef: cell.ref,
|
|
43
|
+
value: uid,
|
|
44
|
+
tabIndex: isRowSelected ? 0 : -1
|
|
45
|
+
})
|
|
46
|
+
});
|
|
38
47
|
},
|
|
39
48
|
textWrap: "wrap",
|
|
40
49
|
width: 32,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { DSControlledRadio } from '@elliemae/ds-controlled-form';\nimport { styled } from '@elliemae/ds-system';\nimport { TypescriptColumn } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs/constants';\n\nconst CenteredContent = styled.div`\n display: flex;\n height: 100%;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nexport const singleSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our singleSelecter column\n id: 'singleSelecter', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = !!selection?.[uid];\n\n const onChangeHandler = useCallback(\n (newValue: string, e: React.ChangeEvent) => {\n // in single select we only allow one item to be selected\n onSelectionChange({ [uid]: !selectedState }, uid, e);\n },\n [onSelectionChange, selectedState, uid],\n );\n\n return (\n <CenteredContent>\n <DSControlledRadio\n aria-checked={selectedState}\n aria-disabled={disabledRows[row.uid]}\n title=\"Toggle row selected\"\n aria-label=\"Toggle row selected\"\n checked={selectedState}\n onChange={onChangeHandler}\n data-testid={DATA_TESTID.DATA_TABLE_RADIO}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n value={uid}\n tabIndex={isRowSelected ? 0 : -1}\n />\n </CenteredContent>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 4,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { DSControlledRadio } from '@elliemae/ds-controlled-form';\nimport { styled } from '@elliemae/ds-system';\nimport { TypescriptColumn } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs/constants';\n\nconst CenteredContent = styled.div`\n display: flex;\n height: 100%;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nconst stopThePropagation = (e: React.MouseEvent | React.KeyboardEvent) => e.stopPropagation();\n\nexport const singleSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our singleSelecter column\n id: 'singleSelecter', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = !!selection?.[uid];\n\n const onChangeHandler = useCallback(\n (newValue: string, e: React.ChangeEvent) => {\n // in single select we only allow one item to be selected\n onSelectionChange({ [uid]: !selectedState }, uid, e);\n },\n [onSelectionChange, selectedState, uid],\n );\n\n return (\n <CenteredContent onClick={stopThePropagation} onKeyDown={stopThePropagation}>\n <DSControlledRadio\n aria-checked={selectedState}\n aria-disabled={disabledRows[row.uid]}\n title=\"Toggle row selected\"\n aria-label=\"Toggle row selected\"\n checked={selectedState}\n onChange={onChangeHandler}\n data-testid={DATA_TESTID.DATA_TABLE_RADIO}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n value={uid}\n tabIndex={isRowSelected ? 0 : -1}\n />\n </CenteredContent>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 4,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,mBAAmB;AACnC,SAAS,yBAAyB;AAClC,SAAS,cAAc;AAEvB,SAAS,mBAAmB;AAE5B,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ/B,MAAM,qBAAqB,CAAC,MAA8C,EAAE,gBAAgB;AAErF,MAAM,qBAAyD;AAAA,EAEpE,IAAI;AAAA,EAEJ,QAAQ,MAAM,oBAAC,SAAI;AAAA,EACnB,MAAM,CAAC,EAAE,MAAM,KAAK,eAAe,IAAI,MAAM;AAC3C,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW,aAAa;AAAA,IAC3D,IAAI;AACJ,UAAM,EAAE,IAAI,IAAI;AAChB,UAAM,gBAAgB,CAAC,CAAC,YAAY;AAEpC,UAAM,kBAAkB;AAAA,MACtB,CAAC,UAAkB,MAAyB;AAE1C,0BAAkB,EAAE,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;AAAA,MACrD;AAAA,MACA,CAAC,mBAAmB,eAAe,GAAG;AAAA,IACxC;AAEA,WACE,oBAAC;AAAA,MAAgB,SAAS;AAAA,MAAoB,WAAW;AAAA,MACvD,8BAAC;AAAA,QACC,gBAAc;AAAA,QACd,iBAAe,aAAa,IAAI;AAAA,QAChC,OAAM;AAAA,QACN,cAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,eAAa,YAAY;AAAA,QACzB,UAAU,aAAa,IAAI;AAAA,QAC3B,UAAU,KAAK;AAAA,QACf,OAAO;AAAA,QACP,UAAU,gBAAgB,IAAI;AAAA,OAChC;AAAA,KACF;AAAA,EAEJ;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AACd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/addons/Columns/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { actionColumn } from './ColumnAction/ColumnAction';\nexport { expandRowColumn } from './ColumnExpand/ColumnExpand';\nexport { multiSelectColumn } from './ColumnSelectMultiple/ColumnSelectMultiple';\nexport { singleSelectColumn } from './ColumnSelectSingle/ColumnSelectSingle';\nexport { dragHandleColumn } from './ColumnDragHandle/ColumnDragHandle';\n\nexport const INTERNAL_COLUMNS = ['rowActions', 'expander', 'multiSelecter', 'singleSelecter', 'dragHandleColumn'];\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AAE1B,MAAM,mBAAmB,CAAC,cAAc,YAAY,iBAAiB,kBAAkB,kBAAkB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useState, useCallback, useMemo } from "react";
|
|
3
4
|
import { DSComboBox } from "@elliemae/ds-controlled-form";
|
|
4
5
|
import { EditableCell } from "../../../exported-related";
|
|
5
6
|
import { DataTableContext } from "../../../DataTableContext";
|
|
@@ -33,9 +34,9 @@ const ComboboxEditableCell = (props) => {
|
|
|
33
34
|
const property = columnId;
|
|
34
35
|
onCellValueChange({ value: value?.value, property, rowIndex: cell.row.index });
|
|
35
36
|
}, [columnId, onCellValueChange, value?.value, cell]);
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ jsx(EditableCell, {
|
|
37
38
|
StandardRender: DefaultCellRender,
|
|
38
|
-
EditableRenderer: /* @__PURE__ */
|
|
39
|
+
EditableRenderer: /* @__PURE__ */ jsx(DSComboBox, {
|
|
39
40
|
selectedValues: value,
|
|
40
41
|
autoFocus: true,
|
|
41
42
|
withoutPortal: false,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable jsx-a11y/no-autofocus */\nimport React, { useContext, useState, useCallback, useMemo } from 'react';\nimport { DSComboBox } from '@elliemae/ds-controlled-form';\nimport { EditableCell } from '../../../exported-related';\nimport { DataTableContext } from '../../../DataTableContext';\n\nexport const ComboboxEditableCell: React.ComponentType<any> = (props) => {\n const { cell, DefaultCellRender, isRowSelected } = props;\n\n const {\n tableProps: { onCellValueChange },\n flattenedData,\n } = useContext(DataTableContext);\n const cellValue = useMemo(() => cell.value, [cell.value]);\n const columnId = useMemo(() => cell.column.id, [cell.column.id]);\n\n const [value, setValue] = useState({\n dsId: cellValue,\n type: 'option',\n value: cellValue,\n label: cellValue,\n });\n\n const uniqueOptions = useMemo(() => {\n const uniqueValuesMap = {};\n return flattenedData.reduce((optionsSoFar, currRow) => {\n const currValue = currRow.original[columnId];\n if (!uniqueValuesMap[currValue]) {\n optionsSoFar.push({ dsId: currValue, type: 'option', value: currValue, label: currValue });\n uniqueValuesMap[currValue] = true;\n }\n return optionsSoFar;\n }, []);\n }, [flattenedData, columnId]);\n\n const [currentOptions, setCurrentOptions] = useState(uniqueOptions);\n\n const handleOnBlur = useCallback(() => {\n const property = columnId;\n onCellValueChange({ value: value?.value, property, rowIndex: cell.row.index });\n }, [columnId, onCellValueChange, value?.value, cell]);\n return (\n <EditableCell\n StandardRender={DefaultCellRender}\n EditableRenderer={\n <DSComboBox\n selectedValues={value}\n autoFocus\n withoutPortal={false}\n onBlur={handleOnBlur}\n onChange={setValue}\n allOptions={uniqueOptions}\n onFilter={setCurrentOptions}\n filteredOptions={currentOptions}\n />\n }\n cell={cell}\n isRowSelected={isRowSelected}\n />\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,YAAY,UAAU,aAAa,eAAe;AAClE,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AAE1B,MAAM,uBAAiD,CAAC,UAAU;AACvE,QAAM,EAAE,MAAM,mBAAmB,cAAc,IAAI;AAEnD,QAAM;AAAA,IACJ,YAAY,EAAE,kBAAkB;AAAA,IAChC;AAAA,EACF,IAAI,WAAW,gBAAgB;AAC/B,QAAM,YAAY,QAAQ,MAAM,KAAK,OAAO,CAAC,KAAK,KAAK,CAAC;AACxD,QAAM,WAAW,QAAQ,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;AAE/D,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS;AAAA,IACjC,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACT,CAAC;AAED,QAAM,gBAAgB,QAAQ,MAAM;AAClC,UAAM,kBAAkB,CAAC;AACzB,WAAO,cAAc,OAAO,CAAC,cAAc,YAAY;AACrD,YAAM,YAAY,QAAQ,SAAS;AACnC,UAAI,CAAC,gBAAgB,YAAY;AAC/B,qBAAa,KAAK,EAAE,MAAM,WAAW,MAAM,UAAU,OAAO,WAAW,OAAO,UAAU,CAAC;AACzF,wBAAgB,aAAa;AAAA,MAC/B;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP,GAAG,CAAC,eAAe,QAAQ,CAAC;AAE5B,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,aAAa;AAElE,QAAM,eAAe,YAAY,MAAM;AACrC,UAAM,WAAW;AACjB,sBAAkB,EAAE,OAAO,OAAO,OAAO,UAAU,UAAU,KAAK,IAAI,MAAM,CAAC;AAAA,EAC/E,GAAG,CAAC,UAAU,mBAAmB,OAAO,OAAO,IAAI,CAAC;AACpD,SACE,oBAAC;AAAA,IACC,gBAAgB;AAAA,IAChB,kBACE,oBAAC;AAAA,MACC,gBAAgB;AAAA,MAChB,WAAS;AAAA,MACT,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,iBAAiB;AAAA,KACnB;AAAA,IAEF;AAAA,IACA;AAAA,GACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useState, useCallback } from "react";
|
|
3
4
|
import { EditableCell } from "../../../exported-related";
|
|
4
5
|
import { DataTableContext } from "../../../DataTableContext";
|
|
5
6
|
function DateEditableCell(props) {
|
|
@@ -8,20 +9,23 @@ function DateEditableCell(props) {
|
|
|
8
9
|
tableProps: { onCellValueChange }
|
|
9
10
|
} = useContext(DataTableContext);
|
|
10
11
|
const [value, setValue] = useState(cell.value);
|
|
11
|
-
const handleOnChange = useCallback(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const handleOnChange = useCallback(
|
|
13
|
+
(e) => {
|
|
14
|
+
const {
|
|
15
|
+
target: { value: tValue }
|
|
16
|
+
} = e;
|
|
17
|
+
setValue(tValue);
|
|
18
|
+
},
|
|
19
|
+
[onCellValueChange, value]
|
|
20
|
+
);
|
|
17
21
|
const handleOnBlur = useCallback(() => {
|
|
18
22
|
const property = cell.column.id;
|
|
19
23
|
const rowIndex = cell.row.index;
|
|
20
24
|
onCellValueChange({ value, property, rowIndex });
|
|
21
25
|
}, [value, onCellValueChange, cell.column.id, cell.row.index]);
|
|
22
|
-
return /* @__PURE__ */
|
|
26
|
+
return /* @__PURE__ */ jsx(EditableCell, {
|
|
23
27
|
StandardRender: DefaultCellRender,
|
|
24
|
-
EditableRenderer: /* @__PURE__ */
|
|
28
|
+
EditableRenderer: /* @__PURE__ */ jsx("input", {
|
|
25
29
|
value,
|
|
26
30
|
onChange: handleOnChange,
|
|
27
31
|
onBlur: handleOnBlur,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Editables/DateEditableCell/DateEditableCell.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable jsx-a11y/no-autofocus */\nimport React, { useContext, useState, useCallback } from 'react';\nimport { EditableCell } from '../../../exported-related';\nimport { DataTableContext } from '../../../DataTableContext';\n\nexport function DateEditableCell(props) {\n const { cell, DefaultCellRender } = props;\n\n const {\n tableProps: { onCellValueChange },\n } = useContext(DataTableContext);\n\n const [value, setValue] = useState(cell.value);\n\n const handleOnChange = useCallback(\n (e) => {\n const {\n target: { value: tValue },\n } = e;\n setValue(tValue);\n },\n [onCellValueChange, value],\n );\n const handleOnBlur = useCallback(() => {\n const property = cell.column.id;\n const rowIndex = cell.row.index;\n onCellValueChange({ value, property, rowIndex });\n }, [value, onCellValueChange, cell.column.id, cell.row.index]);\n\n return (\n <EditableCell\n StandardRender={DefaultCellRender}\n EditableRenderer={\n <input\n value={value}\n onChange={handleOnChange}\n onBlur={handleOnBlur}\n autoFocus\n />\n }\n cell={cell}\n />\n );\n}\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,YAAY,UAAU,mBAAmB;AACzD,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AAE1B,SAAS,iBAAiB,OAAO;AACtC,QAAM,EAAE,MAAM,kBAAkB,IAAI;AAEpC,QAAM;AAAA,IACJ,YAAY,EAAE,kBAAkB;AAAA,EAClC,IAAI,WAAW,gBAAgB;AAE/B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,KAAK,KAAK;AAE7C,QAAM,iBAAiB;AAAA,IACrB,CAAC,MAAM;AACL,YAAM;AAAA,QACJ,QAAQ,EAAE,OAAO,OAAO;AAAA,MAC1B,IAAI;AACJ,eAAS,MAAM;AAAA,IACjB;AAAA,IACA,CAAC,mBAAmB,KAAK;AAAA,EAC3B;AACA,QAAM,eAAe,YAAY,MAAM;AACrC,UAAM,WAAW,KAAK,OAAO;AAC7B,UAAM,WAAW,KAAK,IAAI;AAC1B,sBAAkB,EAAE,OAAO,UAAU,SAAS,CAAC;AAAA,EACjD,GAAG,CAAC,OAAO,mBAAmB,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC;AAE7D,SACE,oBAAC;AAAA,IACC,gBAAgB;AAAA,IAChB,kBACE,oBAAC;AAAA,MACC;AAAA,MACA,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAS;AAAA,KACX;AAAA,IAEF;AAAA,GACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|