@elliemae/ds-data-table 3.5.0-rc.9 → 3.6.0-next.0
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 +19 -13
- package/dist/cjs/DataTable.js.map +2 -2
- package/dist/cjs/DataTableContext.js +4 -11
- package/dist/cjs/DataTableContext.js.map +2 -2
- package/dist/cjs/DataTableSchema.js +4 -2
- package/dist/cjs/DataTableSchema.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
- package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +49 -43
- package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +20 -18
- package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +19 -17
- package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
- package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
- package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +4 -3
- package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
- package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +4 -3
- package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +40 -33
- package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js +31 -24
- package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +62 -51
- package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +40 -33
- package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +18 -15
- package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +3 -3
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
- package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js +28 -21
- package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
- package/dist/cjs/addons/Pagination/Pagination.js +3 -2
- package/dist/cjs/addons/Pagination/Pagination.js.map +2 -2
- package/dist/cjs/exported-related/EditableCell.js +18 -8
- package/dist/cjs/exported-related/EditableCell.js.map +2 -2
- package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +24 -20
- package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
- package/dist/cjs/exported-related/FilterPopover.js +52 -39
- package/dist/cjs/exported-related/FilterPopover.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +43 -35
- package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/cjs/exported-related/RowRenderer/index.js +34 -27
- package/dist/cjs/exported-related/RowRenderer/index.js.map +2 -2
- package/dist/cjs/exported-related/Toolbar/Toolbar.js +25 -16
- package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +2 -2
- package/dist/cjs/parts/Cells/Cell.js +28 -19
- package/dist/cjs/parts/Cells/Cell.js.map +2 -2
- package/dist/cjs/parts/Cells/index.js +42 -40
- package/dist/cjs/parts/Cells/index.js.map +2 -2
- package/dist/cjs/parts/DnDHandle.js +5 -3
- package/dist/cjs/parts/DnDHandle.js.map +2 -2
- package/dist/cjs/parts/DropIndicator.js +20 -14
- package/dist/cjs/parts/DropIndicator.js.map +2 -2
- package/dist/cjs/parts/EmptyContent.js +28 -15
- package/dist/cjs/parts/EmptyContent.js.map +1 -1
- package/dist/cjs/parts/FilterBar/FiltersBar.js +50 -45
- package/dist/cjs/parts/FilterBar/FiltersBar.js.map +1 -1
- package/dist/cjs/parts/FilterBar/components/DateRangePill.js +16 -10
- package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +2 -2
- package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +16 -10
- package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
- package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +16 -11
- package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
- package/dist/cjs/parts/FilterBar/components/NumberRangePill.js +16 -10
- package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +2 -2
- package/dist/cjs/parts/FilterBar/components/SelectPill.js +16 -10
- package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +2 -2
- package/dist/cjs/parts/FilterBar/components/SingleDatePill.js +16 -10
- package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +2 -2
- package/dist/cjs/parts/Filters/index.js +4 -3
- package/dist/cjs/parts/Filters/index.js.map +2 -2
- package/dist/cjs/parts/Footer.js +4 -2
- package/dist/cjs/parts/Footer.js.map +2 -2
- package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +2 -2
- package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderCell.js +66 -59
- package/dist/cjs/parts/Headers/HeaderCell.js.map +3 -3
- package/dist/cjs/parts/Headers/HeaderCellGroup.js +31 -24
- package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderCellTitle.js +19 -13
- package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +2 -2
- package/dist/cjs/parts/Headers/HeaderResizer.js +14 -9
- package/dist/cjs/parts/Headers/HeaderResizer.js.map +3 -3
- package/dist/cjs/parts/Headers/RequiredDot.js +10 -9
- package/dist/cjs/parts/Headers/RequiredDot.js.map +2 -2
- package/dist/cjs/parts/Headers/index.js +19 -16
- package/dist/cjs/parts/Headers/index.js.map +2 -2
- package/dist/cjs/parts/Headers/useHeaderCellConfig.js +10 -7
- package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +3 -3
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +33 -6
- package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +3 -3
- package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +19 -11
- package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +33 -25
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +9 -7
- package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +8 -6
- package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
- package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +8 -6
- package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +2 -2
- package/dist/cjs/parts/Loader.js +12 -10
- package/dist/cjs/parts/Loader.js.map +2 -2
- package/dist/cjs/parts/Row.js +13 -11
- package/dist/cjs/parts/Row.js.map +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantHeader.js +25 -17
- package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +2 -2
- package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js +4 -3
- package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
- package/dist/cjs/parts/RowVariants/index.js +4 -4
- package/dist/cjs/parts/RowVariants/index.js.map +2 -2
- package/dist/cjs/parts/Rows.js +28 -25
- package/dist/cjs/parts/Rows.js.map +2 -2
- package/dist/cjs/parts/SortByCaret.js +14 -9
- package/dist/cjs/parts/SortByCaret.js.map +3 -3
- package/dist/cjs/parts/TableContent.js +15 -9
- package/dist/cjs/parts/TableContent.js.map +1 -1
- package/dist/cjs/parts/VirtualRowsList.js +22 -9
- package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
- package/dist/cjs/types/props.js.map +1 -1
- package/dist/esm/DataTable.js +19 -13
- package/dist/esm/DataTable.js.map +2 -2
- package/dist/esm/DataTableContext.js +5 -12
- package/dist/esm/DataTableContext.js.map +2 -2
- package/dist/esm/DataTableSchema.js +4 -2
- package/dist/esm/DataTableSchema.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
- package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +49 -43
- package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +20 -18
- package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +19 -17
- package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
- package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
- package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
- package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +4 -3
- package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
- package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +4 -3
- package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +40 -33
- package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js +31 -24
- package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js +62 -51
- package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +40 -33
- package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +18 -15
- package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +3 -3
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
- package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
- package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js +28 -21
- package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
- package/dist/esm/addons/Pagination/Pagination.js +3 -2
- package/dist/esm/addons/Pagination/Pagination.js.map +2 -2
- package/dist/esm/exported-related/EditableCell.js +18 -8
- package/dist/esm/exported-related/EditableCell.js.map +2 -2
- package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +24 -20
- package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
- package/dist/esm/exported-related/FilterPopover.js +52 -39
- package/dist/esm/exported-related/FilterPopover.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +43 -35
- package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
- package/dist/esm/exported-related/RowRenderer/index.js +34 -27
- package/dist/esm/exported-related/RowRenderer/index.js.map +2 -2
- package/dist/esm/exported-related/Toolbar/Toolbar.js +25 -16
- package/dist/esm/exported-related/Toolbar/Toolbar.js.map +2 -2
- package/dist/esm/parts/Cells/Cell.js +28 -19
- package/dist/esm/parts/Cells/Cell.js.map +2 -2
- package/dist/esm/parts/Cells/index.js +42 -40
- 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 +20 -14
- package/dist/esm/parts/DropIndicator.js.map +2 -2
- package/dist/esm/parts/EmptyContent.js +28 -15
- package/dist/esm/parts/EmptyContent.js.map +1 -1
- package/dist/esm/parts/FilterBar/FiltersBar.js +50 -45
- package/dist/esm/parts/FilterBar/FiltersBar.js.map +1 -1
- package/dist/esm/parts/FilterBar/components/DateRangePill.js +16 -10
- package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +2 -2
- package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +16 -10
- package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
- package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +16 -11
- package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
- package/dist/esm/parts/FilterBar/components/NumberRangePill.js +16 -10
- package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +2 -2
- package/dist/esm/parts/FilterBar/components/SelectPill.js +16 -10
- package/dist/esm/parts/FilterBar/components/SelectPill.js.map +2 -2
- package/dist/esm/parts/FilterBar/components/SingleDatePill.js +16 -10
- package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +2 -2
- package/dist/esm/parts/Filters/index.js +4 -3
- package/dist/esm/parts/Filters/index.js.map +2 -2
- package/dist/esm/parts/Footer.js +4 -2
- package/dist/esm/parts/Footer.js.map +2 -2
- package/dist/esm/parts/Headers/EmptyChildrenGroup.js +2 -2
- package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderCell.js +66 -59
- package/dist/esm/parts/Headers/HeaderCell.js.map +3 -3
- package/dist/esm/parts/Headers/HeaderCellGroup.js +31 -24
- package/dist/esm/parts/Headers/HeaderCellGroup.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderCellTitle.js +19 -13
- package/dist/esm/parts/Headers/HeaderCellTitle.js.map +2 -2
- package/dist/esm/parts/Headers/HeaderResizer.js +14 -9
- package/dist/esm/parts/Headers/HeaderResizer.js.map +3 -3
- package/dist/esm/parts/Headers/RequiredDot.js +10 -9
- package/dist/esm/parts/Headers/RequiredDot.js.map +2 -2
- package/dist/esm/parts/Headers/index.js +19 -16
- package/dist/esm/parts/Headers/index.js.map +2 -2
- package/dist/esm/parts/Headers/useHeaderCellConfig.js +10 -7
- package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +2 -2
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js +34 -7
- package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +19 -11
- package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +33 -25
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +9 -7
- package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +8 -6
- package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
- package/dist/esm/parts/HoC/withDnDSortableRowContext.js +8 -6
- package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +2 -2
- package/dist/esm/parts/Loader.js +12 -10
- package/dist/esm/parts/Loader.js.map +2 -2
- package/dist/esm/parts/Row.js +13 -11
- package/dist/esm/parts/Row.js.map +2 -2
- package/dist/esm/parts/RowVariants/RowVariantHeader.js +25 -17
- package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +2 -2
- package/dist/esm/parts/RowVariants/RowVariantPrimary.js +2 -2
- package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +2 -2
- package/dist/esm/parts/RowVariants/RowVariantSecondary.js +2 -2
- package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +2 -2
- package/dist/esm/parts/RowVariants/RowVariantSkeleton.js +4 -3
- package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
- package/dist/esm/parts/RowVariants/index.js +4 -4
- package/dist/esm/parts/RowVariants/index.js.map +2 -2
- package/dist/esm/parts/Rows.js +28 -25
- package/dist/esm/parts/Rows.js.map +2 -2
- package/dist/esm/parts/SortByCaret.js +14 -9
- package/dist/esm/parts/SortByCaret.js.map +3 -3
- package/dist/esm/parts/TableContent.js +15 -9
- package/dist/esm/parts/TableContent.js.map +1 -1
- package/dist/esm/parts/VirtualRowsList.js +22 -9
- package/dist/esm/parts/VirtualRowsList.js.map +2 -2
- package/dist/esm/types/props.js.map +1 -1
- package/package.json +18 -18
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/FilterBar/components/SingleDatePill.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { DSPillGroupV2, DSPillV2 } from '@elliemae/ds-pills';\nimport { FilterPillComponent } from '../types';\n\nexport const SingleDatePill: FilterPillComponent<string> = ({\n columnHeader,\n column,\n value,\n filters,\n onFiltersChange,\n prevRef,\n innerRef,\n nextRef,\n}) => {\n const handleOnRemove = useCallback(() => {\n if (prevRef?.current) prevRef.current.focus();\n else nextRef.current?.focus();\n onFiltersChange(filters.filter((filter) => filter.id !== column));\n }, [onFiltersChange, filters, prevRef, nextRef, column]);\n\n return value ? (\n <DSPillGroupV2>\n <DSPillV2 type=\"label\" label={columnHeader} />\n <DSPillV2 type=\"removable\" label={value.replace(/-/g, '/')} onRemove={handleOnRemove} innerRef={innerRef} />\n </DSPillGroupV2>\n ) : null;\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,mBAAmB;AACnC,SAAS,eAAe,gBAAgB;AAGjC,MAAM,iBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,iBAAiB,YAAY,MAAM;AACvC,QAAI,SAAS;AAAS,cAAQ,QAAQ,MAAM;AAAA;AACvC,cAAQ,SAAS,MAAM;AAC5B,oBAAgB,QAAQ,OAAO,CAAC,WAAW,OAAO,OAAO,MAAM,CAAC;AAAA,EAClE,GAAG,CAAC,iBAAiB,SAAS,SAAS,SAAS,MAAM,CAAC;AAEvD,SAAO,QACL,qBAAC;AAAA,IACC;AAAA,0BAAC;AAAA,QAAS,MAAK;AAAA,QAAQ,OAAO;AAAA,OAAc;AAAA,MAC5C,oBAAC;AAAA,QAAS,MAAK;AAAA,QAAY,OAAO,MAAM,QAAQ,MAAM,GAAG;AAAA,QAAG,UAAU;AAAA,QAAgB;AAAA,OAAoB;AAAA;AAAA,GAC5G,IACE;AACN;",
|
|
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, useContext } from "react";
|
|
3
4
|
import {
|
|
4
5
|
DateRangeFilter,
|
|
5
6
|
DateSwitcherFilter,
|
|
@@ -57,7 +58,7 @@ const FilterMapItem = (props) => {
|
|
|
57
58
|
throw new Error(`column.filter must be a supported out-of-the-box filter in ${column}`);
|
|
58
59
|
}
|
|
59
60
|
const FilterComp = FilterMapper[column.filter];
|
|
60
|
-
return /* @__PURE__ */
|
|
61
|
+
return /* @__PURE__ */ jsx(FilterComp, {
|
|
61
62
|
...filterProps
|
|
62
63
|
});
|
|
63
64
|
}
|
|
@@ -66,7 +67,7 @@ const FilterMapItem = (props) => {
|
|
|
66
67
|
throw new Error(`column.Filter must be a component`);
|
|
67
68
|
}
|
|
68
69
|
const FilterComp = column.Filter;
|
|
69
|
-
return /* @__PURE__ */
|
|
70
|
+
return /* @__PURE__ */ jsx(FilterComp, {
|
|
70
71
|
...filterProps
|
|
71
72
|
});
|
|
72
73
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Filters/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/indent */\nimport React, { useCallback, useContext } from 'react';\nimport {\n DateRangeFilter,\n DateSwitcherFilter,\n NumberRangeFilter,\n SingleSelectFilter,\n SingleCreatableFilter,\n MultiSelectFilter,\n MultiCreatableFilter,\n SingleDateFilter,\n CurrencyRangeFilter,\n} from '../../addons/Filters';\nimport { FILTER_TYPES } from '../../exported-related';\nimport DataTableContext from '../../DataTableContext';\nimport { FilterProps } from '../../types/props';\n\nconst FilterMapper: Record<string, React.ComponentType<FilterProps>> = {\n [FILTER_TYPES.SELECT]: SingleSelectFilter,\n [FILTER_TYPES.CREATABLE_SELECT]: SingleCreatableFilter,\n [FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter,\n [FILTER_TYPES.CREATABLE_MULTI_SELECT]: MultiCreatableFilter,\n [FILTER_TYPES.SINGLE_DATE]: SingleDateFilter,\n [FILTER_TYPES.DATE_RANGE]: DateRangeFilter,\n [FILTER_TYPES.DATE_SWITCHER]: DateSwitcherFilter,\n [FILTER_TYPES.NUMBER_RANGE]: NumberRangeFilter,\n [FILTER_TYPES.CURRENCY_RANGE]: CurrencyRangeFilter,\n};\nexport const FilterMapItem: React.ComponentType<\n Omit<FilterProps, 'patchHeaderFilterButtonAndMenu' | 'patchHeader' | 'onValueChange'>\n> = (props) => {\n const { column, filterValue: filters, onFiltersChange } = props;\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n\n const filterValue = filters.find((filter) => filter.id === column.id);\n\n const onValueChange = useCallback(\n (type: string, newValue: any) => {\n const filterIndex = filters.findIndex((filter) => filter.id === column.id);\n if (newValue === undefined) {\n const newFilters = filters.filter((filter) => filter.id !== column.id);\n onFiltersChange(newFilters);\n } else if (filterIndex === -1) {\n onFiltersChange([...filters, { id: column.id, type, value: newValue }]);\n } else {\n const newFilters = [...filters];\n newFilters[filterIndex].type = type;\n newFilters[filterIndex].value = newValue;\n onFiltersChange(newFilters);\n }\n },\n [column.id, filters, onFiltersChange],\n );\n\n const filterProps = {\n ...props,\n filterValue: filterValue?.value,\n onValueChange,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n };\n\n if (typeof column.filter === 'string') {\n if (!(column.filter in FilterMapper)) {\n throw new Error(`column.filter must be a supported out-of-the-box filter in ${column}`);\n }\n const FilterComp = FilterMapper[column.filter];\n return <FilterComp {...filterProps} />;\n }\n\n if (column.Filter) {\n if (typeof column.Filter !== 'function') {\n throw new Error(`column.Filter must be a component`);\n }\n const FilterComp = column.Filter;\n return <FilterComp {...filterProps} />;\n }\n\n // Column doesn't have any filters\n return null;\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,aAAa,kBAAkB;AAC/C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,oBAAoB;AAC7B,OAAO,sBAAsB;AAG7B,MAAM,eAAiE;AAAA,EACrE,CAAC,aAAa,SAAS;AAAA,EACvB,CAAC,aAAa,mBAAmB;AAAA,EACjC,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,yBAAyB;AAAA,EACvC,CAAC,aAAa,cAAc;AAAA,EAC5B,CAAC,aAAa,aAAa;AAAA,EAC3B,CAAC,aAAa,gBAAgB;AAAA,EAC9B,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,iBAAiB;AACjC;AACO,MAAM,gBAET,CAAC,UAAU;AACb,QAAM,EAAE,QAAQ,aAAa,SAAS,gBAAgB,IAAI;AAE1D,QAAM,EAAE,gCAAgC,YAAY,IAAI,WAAW,gBAAgB;AAEnF,QAAM,cAAc,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AAEpE,QAAM,gBAAgB;AAAA,IACpB,CAAC,MAAc,aAAkB;AAC/B,YAAM,cAAc,QAAQ,UAAU,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AACzE,UAAI,aAAa,QAAW;AAC1B,cAAM,aAAa,QAAQ,OAAO,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE;AACrE,wBAAgB,UAAU;AAAA,MAC5B,WAAW,gBAAgB,IAAI;AAC7B,wBAAgB,CAAC,GAAG,SAAS,EAAE,IAAI,OAAO,IAAI,MAAM,OAAO,SAAS,CAAC,CAAC;AAAA,MACxE,OAAO;AACL,cAAM,aAAa,CAAC,GAAG,OAAO;AAC9B,mBAAW,aAAa,OAAO;AAC/B,mBAAW,aAAa,QAAQ;AAChC,wBAAgB,UAAU;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,CAAC,OAAO,IAAI,SAAS,eAAe;AAAA,EACtC;AAEA,QAAM,cAAc;AAAA,IAClB,GAAG;AAAA,IACH,aAAa,aAAa;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,OAAO,OAAO,WAAW,UAAU;AACrC,QAAI,EAAE,OAAO,UAAU,eAAe;AACpC,YAAM,IAAI,MAAM,8DAA8D,QAAQ;AAAA,IACxF;AACA,UAAM,aAAa,aAAa,OAAO;AACvC,WAAO,oBAAC;AAAA,MAAY,GAAG;AAAA,KAAa;AAAA,EACtC;AAEA,MAAI,OAAO,QAAQ;AACjB,QAAI,OAAO,OAAO,WAAW,YAAY;AACvC,YAAM,IAAI,MAAM,mCAAmC;AAAA,IACrD;AACA,UAAM,aAAa,OAAO;AAC1B,WAAO,oBAAC;AAAA,MAAY,GAAG;AAAA,KAAa;AAAA,EACtC;AAGA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/esm/parts/Footer.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
3
|
-
const Footer = ({ children }) => /* @__PURE__ */
|
|
2
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
3
|
+
const Footer = ({ children }) => /* @__PURE__ */ jsx(Fragment, {
|
|
4
|
+
children
|
|
5
|
+
});
|
|
4
6
|
var Footer_default = Footer;
|
|
5
7
|
export {
|
|
6
8
|
Footer,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/Footer.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nconst Footer: React.ComponentType = ({ children }) => <>{children}</>;\n\nexport { Footer };\nexport default Footer;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,MAAM,SAA8B,CAAC,EAAE,SAAS,MAAM;AAAA,EAAG;AAAA,CAAS;AAGlE,IAAO,iBAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { styled } from "@elliemae/ds-system";
|
|
4
4
|
const StyledBox = styled.div`
|
|
5
5
|
height: 24px;
|
|
6
6
|
margin: 0 ${(props) => props.theme.space.xxs};
|
|
7
7
|
border-top: 1px solid ${(props) => props.theme.colors.neutral[200]};
|
|
8
8
|
`;
|
|
9
|
-
const EmptyChildrenGroup = () => /* @__PURE__ */
|
|
9
|
+
const EmptyChildrenGroup = () => /* @__PURE__ */ jsx(StyledBox, {});
|
|
10
10
|
export {
|
|
11
11
|
EmptyChildrenGroup
|
|
12
12
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/EmptyChildrenGroup.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\n\nconst StyledBox = styled.div`\n height: 24px;\n margin: 0 ${(props) => props.theme.space.xxs};\n border-top: 1px solid ${(props) => props.theme.colors.neutral[200]};\n`;\n\nexport const EmptyChildrenGroup: React.ComponentType<Record<string, never>> = () => <StyledBox />;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,cAAc;AAEvB,MAAM,YAAY,OAAO;AAAA;AAAA,cAEX,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA,0BACjB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAGzD,MAAM,qBAAiE,MAAM,oBAAC,aAAU;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useMemo, useRef } from "react";
|
|
3
4
|
import { Grid } from "@elliemae/ds-grid";
|
|
4
5
|
import { StyledHeadTh, StyledHeaderRightIconsWrapper, StyledFocusWithin } from "../../styled";
|
|
5
6
|
import { DataTableContext } from "../../DataTableContext";
|
|
@@ -28,64 +29,59 @@ const HeaderCell = (props) => {
|
|
|
28
29
|
const { column, isDragOverlay, colSpan } = props;
|
|
29
30
|
const ctx = useContext(DataTableContext);
|
|
30
31
|
const {
|
|
31
|
-
tableProps: { isResizeable,
|
|
32
|
+
tableProps: { isResizeable, dragAndDropColumns, onFiltersChange, filters, textWrap },
|
|
32
33
|
flattenedData,
|
|
33
|
-
reduxHeaders
|
|
34
|
-
patchHeader
|
|
34
|
+
reduxHeaders
|
|
35
35
|
} = ctx;
|
|
36
36
|
const reduxHeader = useMemo(() => reduxHeaders[column.id], [reduxHeaders, column]);
|
|
37
37
|
const dragHandleRef = useRef(null);
|
|
38
38
|
const filterIconRef = useRef(null);
|
|
39
39
|
const { draggableProps } = useContext(SortableItemContext);
|
|
40
|
-
const { hasFilter, hasDnD, hasSortingCaret, hasRightIcons, shouldShowDnD, hCols, isDragging } = useHeaderCellConfig(
|
|
41
|
-
column,
|
|
42
|
-
dragAndDropColumns,
|
|
43
|
-
draggableProps,
|
|
44
|
-
reduxHeader,
|
|
45
|
-
isDragOverlay
|
|
46
|
-
});
|
|
40
|
+
const { hasFilter, hasDnD, hasSortingCaret, hasRightIcons, shouldShowDnD, hCols, isDragging } = useHeaderCellConfig(props);
|
|
47
41
|
const rightIcons = useMemo(() => {
|
|
48
42
|
if (!hasRightIcons)
|
|
49
43
|
return null;
|
|
50
|
-
return /* @__PURE__ */
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
44
|
+
return /* @__PURE__ */ jsxs(StyledHeaderRightIconsWrapper, {
|
|
45
|
+
children: [
|
|
46
|
+
/* @__PURE__ */ jsx(FilterMapItem, {
|
|
47
|
+
column,
|
|
48
|
+
ctx,
|
|
49
|
+
onFiltersChange,
|
|
50
|
+
reduxHeader,
|
|
51
|
+
filterValue: filters,
|
|
52
|
+
innerRef: filterIconRef
|
|
53
|
+
}),
|
|
54
|
+
hasSortingCaret && /* @__PURE__ */ jsx(SortByCaret, {
|
|
55
|
+
isSortedDesc: column.isSortedDesc
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
});
|
|
60
59
|
}, [hasRightIcons, column, ctx, onFiltersChange, reduxHeader, filters, hasSortingCaret]);
|
|
61
60
|
const DnDHandleComponent = useMemo(
|
|
62
|
-
() => /* @__PURE__ */
|
|
61
|
+
() => /* @__PURE__ */ jsx(Grid, {
|
|
63
62
|
mr: "2px",
|
|
64
63
|
alignItems: "center",
|
|
65
|
-
style: { position: "relative" }
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
style: { position: "relative" },
|
|
65
|
+
children: /* @__PURE__ */ jsx(StyledFocusWithin, {
|
|
66
|
+
hideFocus: isDragging,
|
|
67
|
+
children: /* @__PURE__ */ jsx(DnDHandle, {
|
|
68
|
+
innerRef: dragHandleRef,
|
|
69
|
+
isReachable: reduxHeader?.withTabStops,
|
|
70
|
+
id: column.id,
|
|
71
|
+
isDragOverlay
|
|
72
|
+
}, column.id)
|
|
73
|
+
})
|
|
74
|
+
}),
|
|
75
75
|
[column.id, isDragOverlay, isDragging, reduxHeader?.withTabStops]
|
|
76
76
|
);
|
|
77
77
|
const handlers = useHeaderCellHandlers({
|
|
78
78
|
hasFilter,
|
|
79
|
-
patchHeader,
|
|
80
79
|
column,
|
|
81
|
-
reduxHeader,
|
|
82
80
|
hasDnD,
|
|
83
|
-
onColumnSortChange,
|
|
84
81
|
dragHandleRef,
|
|
85
|
-
filterIconRef
|
|
86
|
-
headerRef: column.ref
|
|
82
|
+
filterIconRef
|
|
87
83
|
});
|
|
88
|
-
return /* @__PURE__ */
|
|
84
|
+
return /* @__PURE__ */ jsxs(StyledHeadTh, {
|
|
89
85
|
column,
|
|
90
86
|
...handlers,
|
|
91
87
|
role: colSpan === 1 ? "columnheader" : "group",
|
|
@@ -98,27 +94,38 @@ const HeaderCell = (props) => {
|
|
|
98
94
|
isDragOverlay,
|
|
99
95
|
isDraggingActive: draggableProps && draggableProps.active,
|
|
100
96
|
shouldShowDnD,
|
|
101
|
-
ref: column.ref
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
97
|
+
ref: column.ref,
|
|
98
|
+
children: [
|
|
99
|
+
/* @__PURE__ */ jsxs(Grid, {
|
|
100
|
+
width: "100%",
|
|
101
|
+
cols: hCols,
|
|
102
|
+
children: [
|
|
103
|
+
shouldShowDnD && DnDHandleComponent,
|
|
104
|
+
/* @__PURE__ */ jsx(HeaderCellTitle, {
|
|
105
|
+
column,
|
|
106
|
+
ctx,
|
|
107
|
+
draggableProps,
|
|
108
|
+
textWrap
|
|
109
|
+
}),
|
|
110
|
+
rightIcons,
|
|
111
|
+
isResizeable && column.canResize !== false && !column.columns && /* @__PURE__ */ jsx(HeaderResizer, {
|
|
112
|
+
column
|
|
113
|
+
})
|
|
114
|
+
]
|
|
115
|
+
}),
|
|
116
|
+
/* @__PURE__ */ jsx("span", {
|
|
117
|
+
id: `${column.id}-instructions`,
|
|
118
|
+
style: { display: "none" },
|
|
119
|
+
"aria-hidden": "false",
|
|
120
|
+
children: buildScreenReaderInstructions(
|
|
121
|
+
colSpan,
|
|
122
|
+
dragAndDropColumns && column.disableDnD !== true,
|
|
123
|
+
hasFilter,
|
|
124
|
+
column.canSort
|
|
125
|
+
)
|
|
126
|
+
})
|
|
127
|
+
]
|
|
128
|
+
});
|
|
122
129
|
};
|
|
123
130
|
export {
|
|
124
131
|
HeaderCell
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderCell.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { StyledHeadTh, StyledHeaderRightIconsWrapper, StyledFocusWithin } from '../../styled';\nimport { DataTableContext } from '../../DataTableContext';\nimport { SortByCaret } from '../SortByCaret';\nimport { DnDHandle } from '..';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { FilterMapItem } from '../Filters';\nimport { HeaderResizer } from './HeaderResizer';\nimport {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { StyledHeadTh, StyledHeaderRightIconsWrapper, StyledFocusWithin } from '../../styled';\nimport { DataTableContext } from '../../DataTableContext';\nimport { SortByCaret } from '../SortByCaret';\nimport { DnDHandle } from '..';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { FilterMapItem } from '../Filters';\nimport { HeaderResizer } from './HeaderResizer';\nimport { InternalTypescriptColumn } from '../../types/props';\nimport { useHeaderCellHandlers } from './useHeaderCellHandlers';\nimport { useHeaderCellConfig } from './useHeaderCellConfig';\nimport { DATA_TESTID } from '../../configs/constants';\nimport { HeaderCellTitle } from './HeaderCellTitle';\n\nconst buildScreenReaderInstructions = (colSpan: number, draggable: boolean, filterable: boolean, sortable: boolean) => {\n const preffix = colSpan === 1 ? '' : 'Column Group. ';\n if (!draggable && !filterable && !sortable) return preffix;\n\n let message = sortable\n ? 'You can sort the data ascendingly/descendingly by this column. Use the up / down arrows keys to do so'\n : '';\n if (draggable && filterable) {\n message = `This column is draggable and filterable. To enable these interactions press the enter key. ${message}`;\n } else if (draggable || filterable) {\n message = `This column is ${\n draggable ? 'draggable' : 'filterable'\n }. To enable this interaction press the enter key. ${message}`;\n }\n return `${preffix}${message}`;\n};\n\ninterface HeaderCellCompProps {\n column: InternalTypescriptColumn;\n isDragOverlay: boolean;\n colSpan: number;\n}\n\nexport const HeaderCell: React.ComponentType<HeaderCellCompProps> = (props) => {\n const { column, isDragOverlay, colSpan } = props;\n const ctx = useContext(DataTableContext);\n const {\n tableProps: { isResizeable, dragAndDropColumns, onFiltersChange, filters, textWrap },\n flattenedData,\n reduxHeaders,\n } = ctx;\n const reduxHeader = useMemo(() => reduxHeaders[column.id], [reduxHeaders, column]);\n const dragHandleRef = useRef<HTMLDivElement | null>(null);\n const filterIconRef = useRef<HTMLDivElement | null>(null);\n\n const { draggableProps } = useContext(SortableItemContext);\n\n const { hasFilter, hasDnD, hasSortingCaret, hasRightIcons, shouldShowDnD, hCols, isDragging } =\n useHeaderCellConfig(props);\n\n const rightIcons = useMemo(() => {\n if (!hasRightIcons) return null;\n return (\n <StyledHeaderRightIconsWrapper>\n <FilterMapItem\n column={column}\n ctx={ctx}\n onFiltersChange={onFiltersChange}\n reduxHeader={reduxHeader}\n filterValue={filters}\n innerRef={filterIconRef}\n />\n {hasSortingCaret && <SortByCaret isSortedDesc={column.isSortedDesc} />}\n </StyledHeaderRightIconsWrapper>\n );\n }, [hasRightIcons, column, ctx, onFiltersChange, reduxHeader, filters, hasSortingCaret]);\n\n const DnDHandleComponent = useMemo(\n () => (\n <Grid mr=\"2px\" alignItems=\"center\" style={{ position: 'relative' }}>\n <StyledFocusWithin hideFocus={isDragging}>\n <DnDHandle\n key={column.id}\n innerRef={dragHandleRef}\n isReachable={reduxHeader?.withTabStops}\n id={column.id}\n isDragOverlay={isDragOverlay}\n />\n </StyledFocusWithin>\n </Grid>\n ),\n [column.id, isDragOverlay, isDragging, reduxHeader?.withTabStops],\n );\n\n const handlers = useHeaderCellHandlers({\n hasFilter,\n column,\n hasDnD,\n dragHandleRef,\n filterIconRef,\n });\n\n return (\n <StyledHeadTh\n column={column}\n {...handlers}\n role={colSpan === 1 ? 'columnheader' : 'group'}\n colSpan={colSpan}\n aria-describedby={`${column.id}-instructions`}\n // eslint-disable-next-line no-nested-ternary\n aria-sort={hasSortingCaret ? (column.isSortedDesc ? 'descending' : 'ascending') : 'none'}\n data-testid={DATA_TESTID.DATA_TABLE_HEADER}\n isFirstRowGroup={!!flattenedData[0]?.original?.dimsumHeaderValue}\n tabIndex={column.isFocuseable === false ? -1 : 0}\n isDragOverlay={isDragOverlay}\n isDraggingActive={draggableProps && draggableProps.active}\n shouldShowDnD={shouldShowDnD}\n ref={column.ref}\n >\n <Grid width=\"100%\" cols={hCols}>\n {shouldShowDnD && DnDHandleComponent}\n <HeaderCellTitle column={column} ctx={ctx} draggableProps={draggableProps} textWrap={textWrap} />\n {rightIcons}\n {isResizeable && column.canResize !== false && !column.columns && <HeaderResizer column={column} />}\n </Grid>\n <span id={`${column.id}-instructions`} style={{ display: 'none' }} aria-hidden=\"false\">\n {buildScreenReaderInstructions(\n colSpan,\n dragAndDropColumns && column.disableDnD !== true,\n hasFilter,\n column.canSort,\n )}\n </span>\n </StyledHeadTh>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
3
4
|
import { Grid } from "@elliemae/ds-grid";
|
|
4
5
|
import { styled } from "@elliemae/ds-system";
|
|
5
6
|
import { HeaderCell } from "./HeaderCell";
|
|
@@ -36,7 +37,7 @@ const HeaderCellGroupComp = ({
|
|
|
36
37
|
const dropIndicatorPosition = draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;
|
|
37
38
|
const ChildGroup = isDragOverlay ? HeaderCellGroup : HeaderCellGroupSortable;
|
|
38
39
|
const colSpan = children?.length ?? 1;
|
|
39
|
-
return /* @__PURE__ */
|
|
40
|
+
return /* @__PURE__ */ jsxs(StyledWrapper, {
|
|
40
41
|
ref: draggableProps ? draggableProps.setNodeRef : null,
|
|
41
42
|
gridColumn: isDragOverlay ? "auto" : `span ${colSpan}`,
|
|
42
43
|
isDragOverlay,
|
|
@@ -44,28 +45,34 @@ const HeaderCellGroupComp = ({
|
|
|
44
45
|
cols: ["auto"],
|
|
45
46
|
"data-testid": isDragOverlay ? DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY : void 0,
|
|
46
47
|
isFirst,
|
|
47
|
-
shouldDropOneLevel: isMultiLevel && level === 0 && !children
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
48
|
+
shouldDropOneLevel: isMultiLevel && level === 0 && !children,
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ jsx(HeaderCell, {
|
|
51
|
+
column: header,
|
|
52
|
+
isDragOverlay,
|
|
53
|
+
colSpan
|
|
54
|
+
}),
|
|
55
|
+
!!children?.length && !isDragOverlay && /* @__PURE__ */ jsx(SortableHeaderCell, {
|
|
56
|
+
isGroup: true,
|
|
57
|
+
items: children,
|
|
58
|
+
isDragOverlay,
|
|
59
|
+
children: children.map((h, index) => /* @__PURE__ */ jsx(ChildGroup, {
|
|
60
|
+
header: h,
|
|
61
|
+
isDragOverlay,
|
|
62
|
+
isDraggingParent: isDragging,
|
|
63
|
+
isLast: index === children.length - 1,
|
|
64
|
+
isFirst: index === 0,
|
|
65
|
+
level: level + 1
|
|
66
|
+
}, h.id))
|
|
67
|
+
}),
|
|
68
|
+
children?.length && isDragOverlay && /* @__PURE__ */ jsx(EmptyChildrenGroup, {}),
|
|
69
|
+
/* @__PURE__ */ jsx(DropIndicator, {
|
|
70
|
+
vertical: true,
|
|
71
|
+
dropIndicatorPosition,
|
|
72
|
+
isLast: isLast && isDragging
|
|
73
|
+
})
|
|
74
|
+
]
|
|
75
|
+
});
|
|
69
76
|
};
|
|
70
77
|
const HeaderCellGroup = HeaderCellGroupComp;
|
|
71
78
|
const HeaderCellGroupSortable = withDnDSortableColumnContext(HeaderCellGroupComp);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderCellGroup.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled } from '@elliemae/ds-system';\nimport { HeaderCell } from './HeaderCell';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { withDnDSortableColumnContext } from '../internal';\nimport { DropIndicator } from '../DropIndicator';\nimport { SortableHeaderCell } from '../SortableHeaderCell';\nimport { TypescriptColumn } from '../../types/props';\nimport { EmptyChildrenGroup } from './EmptyChildrenGroup';\nimport { DATA_TESTID } from '../../configs';\nimport DataTableContext from '../../DataTableContext';\n\nconst StyledWrapper = styled(Grid)`\n position: relative;\n ${({ shouldDropOneLevel, isDragOverlay }) => (shouldDropOneLevel && !isDragOverlay ? `top: 50%; height: 50%;` : '')}\n width: ${(props) => (props.isDragOverlay ? 'fit-content' : '100%')};\n grid-column: ${(props) => props.gridColumn};\n background: ${(props) => (props.isDragging ? props.theme.colors.neutral['080'] : 'white')};\n opacity: ${(props) => (props.isDragging ? 0.8 : 1)};\n box-shadow: 0 2px 4px 0 ${(props) => (props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent')};\n border-left: ${({ isFirst }) => (isFirst ? '0px' : '1px')} solid ${(props) => props.theme.colors.neutral['080']};\n`;\n\ninterface HeaderCellGroupCompProps {\n header: TypescriptColumn;\n isDragOverlay?: boolean;\n isDraggingParent?: boolean;\n isLast?: boolean;\n isFirst?: boolean;\n level?: number;\n}\n\nconst HeaderCellGroupComp: React.ComponentType<HeaderCellGroupCompProps> = ({\n header,\n isDragOverlay,\n isDraggingParent,\n isLast,\n isFirst,\n level = 0,\n}) => {\n const { visibleColumns } = useContext(DataTableContext);\n const { draggableProps } = useContext(SortableItemContext);\n\n const isMultiLevel = visibleColumns.some((col) => !!col.columns);\n\n const children = header.columns;\n\n const isDragging = (draggableProps && draggableProps.isDragging) || isDraggingParent;\n const dropIndicatorPosition =\n draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;\n\n const ChildGroup = isDragOverlay ? HeaderCellGroup : HeaderCellGroupSortable;\n\n const colSpan = children?.length ?? 1;\n return (\n <StyledWrapper\n ref={draggableProps ? draggableProps.setNodeRef : null}\n gridColumn={isDragOverlay ? 'auto' : `span ${colSpan}`}\n isDragOverlay={isDragOverlay}\n isDragging={isDragging}\n cols={['auto']}\n data-testid={isDragOverlay ? DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY : undefined}\n isFirst={isFirst}\n shouldDropOneLevel={isMultiLevel && level === 0 && !children}\n >\n <HeaderCell column={header} isDragOverlay={isDragOverlay} colSpan={colSpan} />\n {!!children?.length && !isDragOverlay && (\n <SortableHeaderCell isGroup items={children} isDragOverlay={isDragOverlay}>\n {children.map((h, index) => (\n <ChildGroup\n key={h.id}\n header={h}\n isDragOverlay={isDragOverlay}\n isDraggingParent={isDragging}\n isLast={index === children.length - 1}\n isFirst={index === 0}\n level={level + 1}\n />\n ))}\n </SortableHeaderCell>\n )}\n {children?.length && isDragOverlay && <EmptyChildrenGroup />}\n <DropIndicator vertical dropIndicatorPosition={dropIndicatorPosition} isLast={isLast && isDragging} />\n </StyledWrapper>\n );\n};\n\n// We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function\n\nexport const HeaderCellGroup = HeaderCellGroupComp;\n\nexport const HeaderCellGroupSortable = withDnDSortableColumnContext(HeaderCellGroupComp);\n\nexport default HeaderCellGroupSortable;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAClC,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAC3B,SAAS,2BAA2B;AACpC,SAAS,oCAAoC;AAC7C,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AAEnC,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAC5B,OAAO,sBAAsB;AAE7B,MAAM,gBAAgB,OAAO,IAAI;AAAA;AAAA,IAE7B,CAAC,EAAE,oBAAoB,cAAc,MAAO,sBAAsB,CAAC,gBAAgB,2BAA2B;AAAA,WACvG,CAAC,UAAW,MAAM,gBAAgB,gBAAgB;AAAA,iBAC5C,CAAC,UAAU,MAAM;AAAA,gBAClB,CAAC,UAAW,MAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,SAAS;AAAA,aACtE,CAAC,UAAW,MAAM,aAAa,MAAM;AAAA,4BACtB,CAAC,UAAW,MAAM,gBAAgB,oBAAoB;AAAA,iBACjE,CAAC,EAAE,QAAQ,MAAO,UAAU,QAAQ,eAAgB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAY3G,MAAM,sBAAqE,CAAC;AAAA,EAC1E;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACV,MAAM;AACJ,QAAM,EAAE,eAAe,IAAI,WAAW,gBAAgB;AACtD,QAAM,EAAE,eAAe,IAAI,WAAW,mBAAmB;AAEzD,QAAM,eAAe,eAAe,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO;AAE/D,QAAM,WAAW,OAAO;AAExB,QAAM,aAAc,kBAAkB,eAAe,cAAe;AACpE,QAAM,wBACJ,kBAAkB,eAAe,mCAAmC,eAAe;AAErF,QAAM,aAAa,gBAAgB,kBAAkB;AAErD,QAAM,UAAU,UAAU,UAAU;AACpC,SACE,qBAAC;AAAA,IACC,KAAK,iBAAiB,eAAe,aAAa;AAAA,IAClD,YAAY,gBAAgB,SAAS,QAAQ;AAAA,IAC7C;AAAA,IACA;AAAA,IACA,MAAM,CAAC,MAAM;AAAA,IACb,eAAa,gBAAgB,YAAY,iCAAiC;AAAA,IAC1E;AAAA,IACA,oBAAoB,gBAAgB,UAAU,KAAK,CAAC;AAAA,IAEpD;AAAA,0BAAC;AAAA,QAAW,QAAQ;AAAA,QAAQ;AAAA,QAA8B;AAAA,OAAkB;AAAA,MAC3E,CAAC,CAAC,UAAU,UAAU,CAAC,iBACtB,oBAAC;AAAA,QAAmB,SAAO;AAAA,QAAC,OAAO;AAAA,QAAU;AAAA,QAC1C,mBAAS,IAAI,CAAC,GAAG,UAChB,oBAAC;AAAA,UAEC,QAAQ;AAAA,UACR;AAAA,UACA,kBAAkB;AAAA,UAClB,QAAQ,UAAU,SAAS,SAAS;AAAA,UACpC,SAAS,UAAU;AAAA,UACnB,OAAO,QAAQ;AAAA,WANV,EAAE,EAOT,CACD;AAAA,OACH;AAAA,MAED,UAAU,UAAU,iBAAiB,oBAAC,sBAAmB;AAAA,MAC1D,oBAAC;AAAA,QAAc,UAAQ;AAAA,QAAC;AAAA,QAA8C,QAAQ,UAAU;AAAA,OAAY;AAAA;AAAA,GACtG;AAEJ;AAIO,MAAM,kBAAkB;AAExB,MAAM,0BAA0B,6BAA6B,mBAAmB;AAEvF,IAAO,0BAAQ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
|
|
4
4
|
import { RequiredDot } from "./RequiredDot";
|
|
5
5
|
import { DATA_TESTID } from "../../configs/constants";
|
|
6
|
-
const StringTitle = ({ column, textWrap }) => (column.textWrap || textWrap) === "truncate" ? /* @__PURE__ */
|
|
6
|
+
const StringTitle = ({ column, textWrap }) => (column.textWrap || textWrap) === "truncate" ? /* @__PURE__ */ jsx(SimpleTruncatedTooltipText, {
|
|
7
7
|
value: column.Header
|
|
8
|
-
}) : /* @__PURE__ */
|
|
9
|
-
|
|
8
|
+
}) : /* @__PURE__ */ jsx(Fragment, {
|
|
9
|
+
children: column.Header
|
|
10
|
+
});
|
|
11
|
+
const HeaderCellTitle = ({ column, ctx, draggableProps, textWrap }) => /* @__PURE__ */ jsxs("div", {
|
|
10
12
|
style: { display: "flex", alignItems: "center" },
|
|
11
|
-
"data-testid": DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
"data-testid": DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE,
|
|
14
|
+
children: [
|
|
15
|
+
typeof column.Header === "string" ? /* @__PURE__ */ jsx(StringTitle, {
|
|
16
|
+
column,
|
|
17
|
+
textWrap
|
|
18
|
+
}) : /* @__PURE__ */ jsx(column.Header, {
|
|
19
|
+
column,
|
|
20
|
+
ctx,
|
|
21
|
+
draggableProps
|
|
22
|
+
}),
|
|
23
|
+
column.required && /* @__PURE__ */ jsx(RequiredDot, {})
|
|
24
|
+
]
|
|
25
|
+
});
|
|
20
26
|
export {
|
|
21
27
|
HeaderCellTitle
|
|
22
28
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderCellTitle.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { TypescriptColumn, TypescriptContext } from '../../types/props';\nimport { SortableItemContextType } from '../HoC/SortableItemContext';\nimport { RequiredDot } from './RequiredDot';\nimport { DATA_TESTID } from '../../configs/constants';\n\ninterface HeaderCellTitle {\n column: TypescriptColumn;\n ctx: TypescriptContext;\n draggableProps: SortableItemContextType['draggableProps'];\n textWrap: 'wrap' | 'wrap-all' | 'truncate';\n}\n\nconst StringTitle = ({ column, textWrap }) =>\n (column.textWrap || textWrap) === 'truncate' ? (\n <SimpleTruncatedTooltipText value={column.Header} />\n ) : (\n <>{column.Header}</>\n );\n\nexport const HeaderCellTitle: React.ComponentType<HeaderCellTitle> = ({ column, ctx, draggableProps, textWrap }) => (\n <div style={{ display: 'flex', alignItems: 'center' }} data-testid={DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE}>\n {typeof column.Header === 'string' ? (\n <StringTitle column={column} textWrap={textWrap} />\n ) : (\n <column.Header column={column} ctx={ctx} draggableProps={draggableProps} />\n )}\n {column.required && <RequiredDot />}\n </div>\n);\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAS,kCAAkC;AAG3C,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAS5B,MAAM,cAAc,CAAC,EAAE,QAAQ,SAAS,OACrC,OAAO,YAAY,cAAc,aAChC,oBAAC;AAAA,EAA2B,OAAO,OAAO;AAAA,CAAQ,IAElD;AAAA,EAAG,iBAAO;AAAA,CAAO;AAGd,MAAM,kBAAwD,CAAC,EAAE,QAAQ,KAAK,gBAAgB,SAAS,MAC5G,qBAAC;AAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAS;AAAA,EAAG,eAAa,YAAY;AAAA,EAC7E;AAAA,WAAO,OAAO,WAAW,WACxB,oBAAC;AAAA,MAAY;AAAA,MAAgB;AAAA,KAAoB,IAEjD,oBAAC,OAAO,QAAP;AAAA,MAAc;AAAA,MAAgB;AAAA,MAAU;AAAA,KAAgC;AAAA,IAE1E,OAAO,YAAY,oBAAC,eAAY;AAAA;AAAA,CACnC;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useCallback, useContext, useRef, useEffect, useMemo } from "react";
|
|
3
4
|
import { ColsLayoutStyle } from "../../configs/constants";
|
|
4
5
|
import { DataTableContext } from "../../DataTableContext";
|
|
5
6
|
import { columnsToGrid } from "../../helpers";
|
|
6
7
|
import { StyledResizer } from "../../styled";
|
|
7
8
|
const narrow = (value, min, max) => Math.min(Math.max(value, min ?? 30), max ?? Infinity);
|
|
9
|
+
const stopPropagation = (e) => e.stopPropagation();
|
|
8
10
|
const HeaderResizer = ({ column }) => {
|
|
9
11
|
const {
|
|
10
12
|
layoutHelpers: { setGridLayout },
|
|
11
13
|
visibleColumns,
|
|
12
|
-
tableProps: { onColumnResize }
|
|
14
|
+
tableProps: { onColumnResize, onColumnSizeChange }
|
|
13
15
|
} = useContext(DataTableContext);
|
|
14
16
|
const [isResizing, setIsResizing] = useState(false);
|
|
15
17
|
const [nextWidth, setNextWidth] = useState(column.width ?? 150);
|
|
@@ -22,13 +24,16 @@ const HeaderResizer = ({ column }) => {
|
|
|
22
24
|
}, []),
|
|
23
25
|
[visibleColumns]
|
|
24
26
|
);
|
|
27
|
+
const realColumnIndex = useMemo(
|
|
28
|
+
() => visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id),
|
|
29
|
+
[column.id, visibleColumnsCopy]
|
|
30
|
+
);
|
|
25
31
|
useEffect(() => {
|
|
26
|
-
const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);
|
|
27
32
|
if (realColumnIndex > -1) {
|
|
28
33
|
visibleColumnsCopy[realColumnIndex].width = nextWidth;
|
|
29
34
|
setGridLayout(columnsToGrid(visibleColumnsCopy, ColsLayoutStyle.Fixed));
|
|
30
35
|
}
|
|
31
|
-
}, [column.id, nextWidth, setGridLayout, visibleColumnsCopy]);
|
|
36
|
+
}, [realColumnIndex, column.id, nextWidth, setGridLayout, visibleColumnsCopy]);
|
|
32
37
|
const ref = useRef(null);
|
|
33
38
|
const onResizeStart = useCallback(() => {
|
|
34
39
|
setIsResizing(true);
|
|
@@ -36,7 +41,6 @@ const HeaderResizer = ({ column }) => {
|
|
|
36
41
|
const onResizeHandler = useCallback(
|
|
37
42
|
(e) => {
|
|
38
43
|
const delta = ("clientX" in e ? e.clientX : e.touches[0].clientX) - (ref.current?.getBoundingClientRect().x ?? 0);
|
|
39
|
-
const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);
|
|
40
44
|
if (realColumnIndex > -1) {
|
|
41
45
|
const widthWithDelta = narrow(
|
|
42
46
|
nextWidth + delta,
|
|
@@ -48,13 +52,14 @@ const HeaderResizer = ({ column }) => {
|
|
|
48
52
|
e.preventDefault();
|
|
49
53
|
e.stopPropagation();
|
|
50
54
|
},
|
|
51
|
-
[
|
|
55
|
+
[realColumnIndex, nextWidth, visibleColumnsCopy]
|
|
52
56
|
);
|
|
53
57
|
const onResizeEnd = useCallback(() => {
|
|
54
58
|
setGridLayout(columnsToGrid(visibleColumns, ColsLayoutStyle.Fixed));
|
|
55
59
|
setIsResizing(false);
|
|
56
60
|
onColumnResize(column.id, nextWidth);
|
|
57
|
-
|
|
61
|
+
onColumnSizeChange(visibleColumnsCopy, column.id, nextWidth);
|
|
62
|
+
}, [setGridLayout, visibleColumns, onColumnResize, column.id, nextWidth, onColumnSizeChange, visibleColumnsCopy]);
|
|
58
63
|
useEffect(() => {
|
|
59
64
|
const debouncedResizeHandler = onResizeHandler;
|
|
60
65
|
const debouncedResizeEnd = onResizeEnd;
|
|
@@ -76,7 +81,7 @@ const HeaderResizer = ({ column }) => {
|
|
|
76
81
|
removeEvents();
|
|
77
82
|
return removeEvents;
|
|
78
83
|
}, [isResizing, onResizeHandler, onResizeEnd]);
|
|
79
|
-
return /* @__PURE__ */
|
|
84
|
+
return /* @__PURE__ */ jsx(StyledResizer, {
|
|
80
85
|
ref,
|
|
81
86
|
role: "separator",
|
|
82
87
|
draggable: false,
|
|
@@ -85,7 +90,7 @@ const HeaderResizer = ({ column }) => {
|
|
|
85
90
|
onTouchStart: onResizeStart,
|
|
86
91
|
onMouseUp: onResizeEnd,
|
|
87
92
|
onTouchEnd: onResizeEnd,
|
|
88
|
-
onClick:
|
|
93
|
+
onClick: stopPropagation
|
|
89
94
|
});
|
|
90
95
|
};
|
|
91
96
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderResizer.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useCallback, useContext, useRef, useEffect, useMemo } from 'react';\nimport { ColsLayoutStyle } from '../../configs/constants';\nimport { DataTableContext } from '../../DataTableContext';\nimport { columnsToGrid } from '../../helpers';\nimport { StyledResizer } from '../../styled';\nimport { TypescriptColumn } from '../../types/props';\n\nconst narrow = (value: number, min: number | undefined, max: number | undefined): number =>\n Math.min(Math.max(value, min ?? 30), max ?? Infinity);\n\nexport const HeaderResizer: React.ComponentType<{\n column: TypescriptColumn;\n}> = ({ column }) => {\n const {\n layoutHelpers: { setGridLayout },\n visibleColumns,\n tableProps: { onColumnResize },\n } = useContext(DataTableContext);\n\n const [isResizing, setIsResizing] = useState(false);\n const [nextWidth, setNextWidth] = useState(column.width ?? 150);\n const visibleColumnsCopy = useMemo(\n () =>\n visibleColumns.reduce((acc, col) => {\n if (col.columns) {\n return [...acc, ...col.columns];\n }\n return [...acc, { ...col }];\n }, [] as TypescriptColumn[]),\n [visibleColumns],\n );\n
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useCallback, useContext, useRef, useEffect, useMemo } from 'react';\nimport { ColsLayoutStyle } from '../../configs/constants';\nimport { DataTableContext } from '../../DataTableContext';\nimport { columnsToGrid } from '../../helpers';\nimport { StyledResizer } from '../../styled';\nimport { TypescriptColumn } from '../../types/props';\n\nconst narrow = (value: number, min: number | undefined, max: number | undefined): number =>\n Math.min(Math.max(value, min ?? 30), max ?? Infinity);\n\nconst stopPropagation = (e: React.MouseEvent) => e.stopPropagation();\n\nexport const HeaderResizer: React.ComponentType<{\n column: TypescriptColumn;\n}> = ({ column }) => {\n const {\n layoutHelpers: { setGridLayout },\n visibleColumns,\n tableProps: { onColumnResize, onColumnSizeChange },\n } = useContext(DataTableContext);\n\n const [isResizing, setIsResizing] = useState(false);\n const [nextWidth, setNextWidth] = useState(column.width ?? 150);\n const visibleColumnsCopy = useMemo(\n () =>\n visibleColumns.reduce((acc, col) => {\n if (col.columns) {\n return [...acc, ...col.columns];\n }\n return [...acc, { ...col }];\n }, [] as TypescriptColumn[]),\n [visibleColumns],\n );\n const realColumnIndex = useMemo(\n () => visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id),\n [column.id, visibleColumnsCopy],\n );\n\n useEffect(() => {\n if (realColumnIndex > -1) {\n visibleColumnsCopy[realColumnIndex].width = nextWidth;\n setGridLayout(columnsToGrid(visibleColumnsCopy, ColsLayoutStyle.Fixed));\n }\n }, [realColumnIndex, column.id, nextWidth, setGridLayout, visibleColumnsCopy]);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const onResizeStart = useCallback(() => {\n setIsResizing(true);\n }, []);\n\n const onResizeHandler = useCallback(\n (e: MouseEvent | TouchEvent) => {\n const delta = ('clientX' in e ? e.clientX : e.touches[0].clientX) - (ref.current?.getBoundingClientRect().x ?? 0); // delta in pixels\n\n if (realColumnIndex > -1) {\n const widthWithDelta = narrow(\n nextWidth + delta,\n visibleColumnsCopy[realColumnIndex].minWidth,\n visibleColumnsCopy[realColumnIndex].maxWidth,\n );\n setNextWidth(widthWithDelta);\n }\n // To prevent text selection\n e.preventDefault();\n e.stopPropagation();\n },\n [realColumnIndex, nextWidth, visibleColumnsCopy],\n );\n\n const onResizeEnd = useCallback(() => {\n setGridLayout(columnsToGrid(visibleColumns, ColsLayoutStyle.Fixed));\n setIsResizing(false);\n onColumnResize(column.id, nextWidth);\n onColumnSizeChange(visibleColumnsCopy, column.id, nextWidth);\n }, [setGridLayout, visibleColumns, onColumnResize, column.id, nextWidth, onColumnSizeChange, visibleColumnsCopy]);\n\n useEffect(() => {\n const debouncedResizeHandler = onResizeHandler;\n const debouncedResizeEnd = onResizeEnd;\n const addEvents = () => {\n document.addEventListener('mousemove', debouncedResizeHandler);\n document.addEventListener('touchmove', debouncedResizeHandler);\n document.addEventListener('mouseup', debouncedResizeEnd);\n document.addEventListener('touchend', debouncedResizeEnd);\n };\n const removeEvents = () => {\n document.removeEventListener('mousemove', debouncedResizeHandler);\n document.removeEventListener('touchmove', debouncedResizeHandler);\n document.removeEventListener('mouseup', debouncedResizeEnd);\n document.removeEventListener('touchend', debouncedResizeEnd);\n };\n\n if (isResizing) addEvents();\n else removeEvents();\n\n // just in case the component is unmounted\n return removeEvents;\n }, [isResizing, onResizeHandler, onResizeEnd]);\n\n return (\n <StyledResizer\n ref={ref}\n role=\"separator\"\n draggable={false}\n isResizing={isResizing}\n onMouseDown={onResizeStart}\n onTouchStart={onResizeStart}\n onMouseUp={onResizeEnd}\n onTouchEnd={onResizeEnd}\n onClick={stopPropagation}\n />\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|