@elliemae/ds-data-table 3.5.0-rc.9 → 3.5.1-rc.2
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/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 +2 -2
- 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 +62 -44
- package/dist/cjs/parts/Headers/HeaderCell.js.map +2 -2
- 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 +3 -2
- package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
- 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/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 +2 -2
- 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/esm/DataTable.js +19 -13
- package/dist/esm/DataTable.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 +2 -2
- 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 +62 -44
- package/dist/esm/parts/Headers/HeaderCell.js.map +2 -2
- 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 +3 -2
- 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 +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/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 +2 -2
- 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/package.json +18 -18
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/BaseSelectFilter.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React, { useState, useRef, useCallback, useEffect, useMemo } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSComboBox } from '@elliemae/ds-controlled-form';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { uid } from 'uid';\nimport { FilterPopover } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\ninterface FilterOptionT {\n dsId: string;\n type: string;\n value: string;\n label: string;\n}\n\ninterface BaseSelectProps {\n isMulti?: boolean;\n creatable?: boolean;\n selectedItems?: FilterOptionT[] | FilterOptionT;\n type: string;\n}\n\nexport const BaseSelectFilter: React.ComponentType<FilterProps & BaseSelectProps> = (props) => {\n const {\n isMulti = false,\n selectedItems = null,\n creatable = false,\n column,\n type,\n column: { id, filterOptions: userFilterOptions, filterMinWidth },\n ctx: {\n tableProps: { data },\n },\n reduxHeader,\n patchHeaderFilterButtonAndMenu,\n innerRef,\n onValueChange,\n } = props;\n\n const ref = useRef();\n const shouldFocus = useRef(true);\n const filterOptions: FilterOptionT[] = useMemo(() => {\n // If the user didn't provide options, use the available ones\n if (!userFilterOptions) {\n const automaticFilters = [\n ...new Set(data.map((datum) => datum?.[id]?.toString()).filter((val) => val !== undefined)),\n ].map((item) => ({\n type: 'option',\n dsId: item,\n value: item,\n label: item,\n }));\n\n return automaticFilters;\n }\n\n // If user provided the array itself, use it\n if (Array.isArray(userFilterOptions)) return userFilterOptions;\n // Otherwise, it is a function\n return userFilterOptions();\n }, [data, id, userFilterOptions]);\n\n const [filters, setFilteredOptions] = useState(filterOptions);\n\n const handleOnChange = (value) => {\n onValueChange(type, value);\n if (!isMulti) patchHeaderFilterButtonAndMenu(column.id, true);\n };\n\n const handleOnCreate = (label: string) => {\n if (label.trim() === '') {\n return;\n }\n if (filterOptions.some((item) => item.label === label)) {\n return;\n }\n const newId = uid();\n const newItem = {\n dsId: newId,\n value: newId,\n label,\n type: 'option',\n };\n filterOptions.unshift(newItem);\n handleOnChange(Array.isArray(selectedItems) ? [...selectedItems, newItem] : newItem);\n setFilteredOptions(filterOptions);\n };\n\n const handleRef = useCallback(\n (newRef) => {\n if (ref.current) ref.current = newRef;\n if (shouldFocus.current) {\n setTimeout(() => {\n newRef?.focus();\n shouldFocus.current = false;\n });\n }\n },\n [shouldFocus],\n );\n\n useEffect(() => {\n if (reduxHeader?.hideFilterMenu) {\n shouldFocus.current = true;\n }\n }, [reduxHeader?.hideFilterMenu]);\n\n const Select = (\n <Grid\n data-testid={\n isMulti ? DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER : DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER\n }\n style={{ background: '#fff', position: 'relative', width: filterMinWidth ?? column.ref?.current?.offsetWidth }}\n >\n <DSComboBox\n inline\n innerRef={handleRef}\n allOptions={filters}\n onCreate={creatable ? handleOnCreate : undefined}\n onChange={handleOnChange}\n selectedValues={selectedItems}\n menuMaxHeight={300}\n />\n </Grid>\n );\n\n const handleOnClickOutside = () => {\n setFilteredOptions(filterOptions);\n };\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={Select}\n triggerIcon={<SearchXsmall />}\n innerRef={innerRef}\n ariaLabel=\"Open Selection Filter\"\n onClickOutsideMenu={handleOnClickOutside}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyE;AACzE,qBAAqB;AACrB,gCAA2B;AAC3B,sBAA6B;AAC7B,iBAAoB;AACpB,8BAA8B;AAE9B,qBAA4B;AAgBrB,MAAM,mBAAuE,CAAC,UAAU;AAC7F,QAAM;AAAA,IACJ,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,QAAQ,EAAE,IAAI,eAAe,mBAAmB,eAAe;AAAA,IAC/D,KAAK;AAAA,MACH,YAAY,EAAE,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,UAAM,qBAAO;AACnB,QAAM,kBAAc,qBAAO,IAAI;AAC/B,QAAM,oBAAiC,sBAAQ,MAAM;AAEnD,QAAI,CAAC,mBAAmB;AACtB,YAAM,mBAAmB;AAAA,QACvB,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,QAAQ,KAAK,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,QAAQ,MAAS,CAAC;AAAA,MAC5F,EAAE,IAAI,CAAC,UAAU;AAAA,QACf,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,MACT,EAAE;AAEF,aAAO;AAAA,IACT;AAGA,QAAI,MAAM,QAAQ,iBAAiB;AAAG,aAAO;AAE7C,WAAO,kBAAkB;AAAA,EAC3B,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC;AAEhC,QAAM,CAAC,SAAS,kBAAkB,QAAI,uBAAS,aAAa;AAE5D,QAAM,iBAAiB,CAAC,UAAU;AAChC,kBAAc,MAAM,KAAK;AACzB,QAAI,CAAC;AAAS,qCAA+B,OAAO,IAAI,IAAI;AAAA,EAC9D;AAEA,QAAM,iBAAiB,CAAC,UAAkB;AACxC,QAAI,MAAM,KAAK,MAAM,IAAI;AACvB;AAAA,IACF;AACA,QAAI,cAAc,KAAK,CAAC,SAAS,KAAK,UAAU,KAAK,GAAG;AACtD;AAAA,IACF;AACA,UAAM,YAAQ,gBAAI;AAClB,UAAM,UAAU;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP;AAAA,MACA,MAAM;AAAA,IACR;AACA,kBAAc,QAAQ,OAAO;AAC7B,mBAAe,MAAM,QAAQ,aAAa,IAAI,CAAC,GAAG,eAAe,OAAO,IAAI,OAAO;AACnF,uBAAmB,aAAa;AAAA,
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["import React, { useState, useRef, useCallback, useEffect, useMemo } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSComboBox } from '@elliemae/ds-controlled-form';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { uid } from 'uid';\nimport { FilterPopover } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\ninterface FilterOptionT {\n dsId: string;\n type: string;\n value: string;\n label: string;\n}\n\ninterface BaseSelectProps {\n isMulti?: boolean;\n creatable?: boolean;\n selectedItems?: FilterOptionT[] | FilterOptionT;\n type: string;\n}\n\nexport const BaseSelectFilter: React.ComponentType<FilterProps & BaseSelectProps> = (props) => {\n const {\n isMulti = false,\n selectedItems = null,\n creatable = false,\n column,\n type,\n column: { id, filterOptions: userFilterOptions, filterMinWidth },\n ctx: {\n tableProps: { data },\n },\n reduxHeader,\n patchHeaderFilterButtonAndMenu,\n innerRef,\n onValueChange,\n } = props;\n\n const ref = useRef();\n const shouldFocus = useRef(true);\n const filterOptions: FilterOptionT[] = useMemo(() => {\n // If the user didn't provide options, use the available ones\n if (!userFilterOptions) {\n const automaticFilters = [\n ...new Set(data.map((datum) => datum?.[id]?.toString()).filter((val) => val !== undefined)),\n ].map((item) => ({\n type: 'option',\n dsId: item,\n value: item,\n label: item,\n }));\n\n return automaticFilters;\n }\n\n // If user provided the array itself, use it\n if (Array.isArray(userFilterOptions)) return userFilterOptions;\n // Otherwise, it is a function\n return userFilterOptions();\n }, [data, id, userFilterOptions]);\n\n const [filters, setFilteredOptions] = useState(filterOptions);\n\n useEffect(() => setFilteredOptions(filterOptions), [filterOptions]);\n\n const handleOnChange = (value) => {\n onValueChange(type, value);\n if (!isMulti) patchHeaderFilterButtonAndMenu(column.id, true);\n };\n\n const handleOnCreate = (label: string) => {\n if (label.trim() === '') {\n return;\n }\n if (filterOptions.some((item) => item.label === label)) {\n return;\n }\n const newId = uid();\n const newItem = {\n dsId: newId,\n value: newId,\n label,\n type: 'option',\n };\n filterOptions.unshift(newItem);\n handleOnChange(Array.isArray(selectedItems) ? [...selectedItems, newItem] : newItem);\n setFilteredOptions([...filterOptions]);\n };\n\n const handleRef = useCallback(\n (newRef) => {\n if (ref.current) ref.current = newRef;\n if (shouldFocus.current) {\n setTimeout(() => {\n newRef?.focus();\n shouldFocus.current = false;\n });\n }\n },\n [shouldFocus],\n );\n\n useEffect(() => {\n if (reduxHeader?.hideFilterMenu) {\n shouldFocus.current = true;\n }\n }, [reduxHeader?.hideFilterMenu]);\n\n const Select = (\n <Grid\n data-testid={\n isMulti ? DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER : DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER\n }\n style={{ background: '#fff', position: 'relative', width: filterMinWidth ?? column.ref?.current?.offsetWidth }}\n >\n <DSComboBox\n inline\n innerRef={handleRef}\n allOptions={filters}\n onCreate={creatable ? handleOnCreate : undefined}\n onChange={handleOnChange}\n selectedValues={selectedItems}\n menuMaxHeight={300}\n />\n </Grid>\n );\n\n const handleOnClickOutside = () => {\n setFilteredOptions(filterOptions);\n };\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={Select}\n triggerIcon={<SearchXsmall />}\n innerRef={innerRef}\n ariaLabel=\"Open Selection Filter\"\n onClickOutsideMenu={handleOnClickOutside}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,7 @@ __export(MultiCreatableFilter_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(MultiCreatableFilter_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
32
|
var import_BaseSelectFilter = require("./BaseSelectFilter");
|
|
33
33
|
var import_exported_related = require("../../../../exported-related");
|
|
34
34
|
var import_constants = require("../../../../configs/constants");
|
|
@@ -41,7 +41,7 @@ const MultiCreatableFilter = ({
|
|
|
41
41
|
reduxHeader,
|
|
42
42
|
filterValue,
|
|
43
43
|
innerRef
|
|
44
|
-
}) => /* @__PURE__ */
|
|
44
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BaseSelectFilter.BaseSelectFilter, {
|
|
45
45
|
creatable: true,
|
|
46
46
|
reduxHeader,
|
|
47
47
|
"data-testid": import_constants.DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/MultiCreatableFilter.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { FilterProps } from '../../../../types/props';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const MultiCreatableFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n reduxHeader,\n filterValue,\n innerRef,\n}) => (\n <BaseSelectFilter\n creatable\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER}\n isMulti\n column={column}\n ctx={ctx}\n selectedItems={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAEA,8BAAiC;AACjC,8BAA6B;AAC7B,uBAA4B;AAErB,MAAM,uBAAyD,CAAC;AAAA,EACrE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,4CAAC;AAAA,EACC,WAAS;AAAA,EACT;AAAA,EACA,eAAa,6BAAY;AAAA,EACzB,SAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,eAAe,eAAe,CAAC;AAAA,EAC/B,MAAM,qCAAa;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,CACF;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,7 @@ __export(MultiSelectFilter_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(MultiSelectFilter_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
32
|
var import_BaseSelectFilter = require("./BaseSelectFilter");
|
|
33
33
|
var import_exported_related = require("../../../../exported-related");
|
|
34
34
|
var import_constants = require("../../../../configs/constants");
|
|
@@ -41,7 +41,7 @@ const MultiSelectFilter = ({
|
|
|
41
41
|
reduxHeader,
|
|
42
42
|
filterValue,
|
|
43
43
|
innerRef
|
|
44
|
-
}) => /* @__PURE__ */
|
|
44
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BaseSelectFilter.BaseSelectFilter, {
|
|
45
45
|
reduxHeader,
|
|
46
46
|
"data-testid": import_constants.DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER,
|
|
47
47
|
isMulti: true,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/MultiSelectFilter.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { FilterProps } from '../../../../types/props';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const MultiSelectFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n reduxHeader,\n filterValue,\n innerRef,\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER}\n isMulti\n column={column}\n ctx={ctx}\n selectedItems={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAEA,8BAAiC;AACjC,8BAA6B;AAC7B,uBAA4B;AAErB,MAAM,oBAAsD,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,4CAAC;AAAA,EACC;AAAA,EACA,eAAa,6BAAY;AAAA,EACzB,SAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,eAAe,eAAe,CAAC;AAAA,EAC/B,MAAM,qCAAa;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,CACF;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,7 @@ __export(SingleCreatableFilter_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(SingleCreatableFilter_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
32
|
var import_BaseSelectFilter = require("./BaseSelectFilter");
|
|
33
33
|
var import_exported_related = require("../../../../exported-related");
|
|
34
34
|
var import_constants = require("../../../../configs/constants");
|
|
@@ -41,7 +41,7 @@ const SingleCreatableFilter = ({
|
|
|
41
41
|
filterValue,
|
|
42
42
|
reduxHeader,
|
|
43
43
|
innerRef
|
|
44
|
-
}) => /* @__PURE__ */
|
|
44
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BaseSelectFilter.BaseSelectFilter, {
|
|
45
45
|
creatable: true,
|
|
46
46
|
reduxHeader,
|
|
47
47
|
"data-testid": import_constants.DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/SingleCreatableFilter.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FilterProps } from '../../../../types/props';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const SingleCreatableFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n}) => (\n <BaseSelectFilter\n creatable\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n column={column}\n ctx={ctx}\n selectedItems={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAEA,8BAAiC;AAEjC,8BAA6B;AAC7B,uBAA4B;AAErB,MAAM,wBAA0D,CAAC;AAAA,EACtE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,4CAAC;AAAA,EACC,WAAS;AAAA,EACT;AAAA,EACA,eAAa,6BAAY;AAAA,EACzB;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,MAAM,qCAAa;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,CACF;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,7 @@ __export(SingleSelectFilter_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(SingleSelectFilter_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
32
|
var import_BaseSelectFilter = require("./BaseSelectFilter");
|
|
33
33
|
var import_exported_related = require("../../../../exported-related");
|
|
34
34
|
var import_constants = require("../../../../configs/constants");
|
|
@@ -41,7 +41,7 @@ const SingleSelectFilter = ({
|
|
|
41
41
|
filterValue,
|
|
42
42
|
reduxHeader,
|
|
43
43
|
innerRef
|
|
44
|
-
}) => /* @__PURE__ */
|
|
44
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BaseSelectFilter.BaseSelectFilter, {
|
|
45
45
|
reduxHeader,
|
|
46
46
|
"data-testid": import_constants.DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER,
|
|
47
47
|
column,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SelectFilter/SingleSelectFilter.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FilterProps } from '../../../../types/props';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const SingleSelectFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n column={column}\n ctx={ctx}\n selectedItems={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAEA,8BAAiC;AAEjC,8BAA6B;AAC7B,uBAA4B;AAErB,MAAM,qBAAuD,CAAC;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,4CAAC;AAAA,EACC;AAAA,EACA,eAAa,6BAAY;AAAA,EACzB;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,MAAM,qCAAa;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,CACF;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(SingleDateFilter_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(SingleDateFilter_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
33
34
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
34
35
|
var import_ds_controlled_form = require("@elliemae/ds-controlled-form");
|
|
@@ -72,30 +73,36 @@ const SingleDateFilter = (props) => {
|
|
|
72
73
|
shouldFocus.current = true;
|
|
73
74
|
}
|
|
74
75
|
}, [reduxHeader?.hideFilterMenu]);
|
|
75
|
-
return /* @__PURE__ */
|
|
76
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_exported_related.FilterPopover, {
|
|
76
77
|
reduxHeader,
|
|
77
78
|
column,
|
|
78
79
|
columnId: column.id,
|
|
79
|
-
menuContent: /* @__PURE__ */
|
|
80
|
+
menuContent: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, {
|
|
80
81
|
"data-testid": import_constants.DATA_TESTID.DATA_TABLE_SINGLE_DATE_CONTROLLER,
|
|
81
|
-
width: "260px"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
82
|
+
width: "260px",
|
|
83
|
+
children: [
|
|
84
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, {
|
|
85
|
+
p: "xxs",
|
|
86
|
+
style: { background: "white" },
|
|
87
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_controlled_form.DSControlledDateTimePicker, {
|
|
88
|
+
date,
|
|
89
|
+
onDateChange: setDate,
|
|
90
|
+
type: "date-inputs",
|
|
91
|
+
isClearable: true,
|
|
92
|
+
innerRef: handleRef
|
|
93
|
+
})
|
|
94
|
+
}),
|
|
95
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, {
|
|
96
|
+
onKeyDown: (e) => e.code === "Enter" && setTimeout(commitDateChange, 0),
|
|
97
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_controlled_form.DSControlledDateTimePicker, {
|
|
98
|
+
date,
|
|
99
|
+
onDateChange: setDate,
|
|
100
|
+
type: "date-picker-controller-only"
|
|
101
|
+
})
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
}),
|
|
105
|
+
triggerIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.DatePicker2, {}),
|
|
99
106
|
innerRef,
|
|
100
107
|
ariaLabel: "Open Single Date Filter"
|
|
101
108
|
});
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/addons/Filters/Components/SingleDateFilter/index.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useCallback, useMemo, useRef, useEffect, useState } from 'react';\nimport { DatePicker2 } from '@elliemae/ds-icons';\n\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nexport const SingleDateFilter: React.ComponentType<FilterProps> = (props) => {\n const {\n column,\n column: { id },\n filterValue,\n reduxHeader,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n innerRef,\n } = props;\n\n const [date, setDate] = useState(filterValue || '');\n\n useEffect(() => {\n setDate(filterValue || '');\n }, [filterValue]);\n\n useEffect(() => {\n if (!date.includes('_')) onValueChange(FILTER_TYPES.SINGLE_DATE, date || undefined);\n // We are missing onValueChange on purpose, this is an internal function and won't cause any problems\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [date]);\n\n const commitDateChange = useCallback(() => {\n patchHeaderFilterButtonAndMenu(id, true);\n }, [id, patchHeaderFilterButtonAndMenu]);\n\n const ref = useRef();\n const shouldFocus = useRef(true);\n const handleRef = useCallback((newRef) => {\n if (ref.current) ref.current = newRef;\n if (shouldFocus.current) {\n setTimeout(() => {\n newRef?.focus();\n shouldFocus.current = false;\n });\n }\n }, []);\n\n useEffect(() => {\n if (reduxHeader?.hideFilterMenu) {\n shouldFocus.current = true;\n }\n }, [reduxHeader?.hideFilterMenu]);\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid data-testid={DATA_TESTID.DATA_TABLE_SINGLE_DATE_CONTROLLER} width=\"260px\">\n <Grid p=\"xxs\" style={{ background: 'white' }}>\n <DSControlledDateTimePicker\n date={date}\n onDateChange={setDate}\n type=\"date-inputs\"\n isClearable\n innerRef={handleRef}\n />\n </Grid>\n <Grid onKeyDown={(e) => e.code === 'Enter' && setTimeout(commitDateChange, 0)}>\n <DSControlledDateTimePicker date={date} onDateChange={setDate} type=\"date-picker-controller-only\" />\n </Grid>\n </Grid>\n }\n triggerIcon={<DatePicker2 />}\n innerRef={innerRef}\n ariaLabel=\"Open Single Date Filter\"\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyE;AACzE,sBAA4B;AAE5B,qBAAqB;AACrB,gCAA2C;AAC3C,8BAA4C;AAE5C,uBAA4B;AAErB,MAAM,mBAAqD,CAAC,UAAU;AAC3E,QAAM;AAAA,IACJ;AAAA,IACA,QAAQ,EAAE,GAAG;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,eAAe,EAAE;AAElD,8BAAU,MAAM;AACd,YAAQ,eAAe,EAAE;AAAA,EAC3B,GAAG,CAAC,WAAW,CAAC;AAEhB,8BAAU,MAAM;AACd,QAAI,CAAC,KAAK,SAAS,GAAG;AAAG,oBAAc,qCAAa,aAAa,QAAQ,MAAS;AAAA,EAGpF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,uBAAmB,0BAAY,MAAM;AACzC,mCAA+B,IAAI,IAAI;AAAA,EACzC,GAAG,CAAC,IAAI,8BAA8B,CAAC;AAEvC,QAAM,UAAM,qBAAO;AACnB,QAAM,kBAAc,qBAAO,IAAI;AAC/B,QAAM,gBAAY,0BAAY,CAAC,WAAW;AACxC,QAAI,IAAI;AAAS,UAAI,UAAU;AAC/B,QAAI,YAAY,SAAS;AACvB,iBAAW,MAAM;AACf,gBAAQ,MAAM;AACd,oBAAY,UAAU;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,8BAAU,MAAM;AACd,QAAI,aAAa,gBAAgB;AAC/B,kBAAY,UAAU;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,aAAa,cAAc,CAAC;AAEhC,SACE,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAyE;AACzE,sBAA4B;AAE5B,qBAAqB;AACrB,gCAA2C;AAC3C,8BAA4C;AAE5C,uBAA4B;AAErB,MAAM,mBAAqD,CAAC,UAAU;AAC3E,QAAM;AAAA,IACJ;AAAA,IACA,QAAQ,EAAE,GAAG;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,eAAe,EAAE;AAElD,8BAAU,MAAM;AACd,YAAQ,eAAe,EAAE;AAAA,EAC3B,GAAG,CAAC,WAAW,CAAC;AAEhB,8BAAU,MAAM;AACd,QAAI,CAAC,KAAK,SAAS,GAAG;AAAG,oBAAc,qCAAa,aAAa,QAAQ,MAAS;AAAA,EAGpF,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,uBAAmB,0BAAY,MAAM;AACzC,mCAA+B,IAAI,IAAI;AAAA,EACzC,GAAG,CAAC,IAAI,8BAA8B,CAAC;AAEvC,QAAM,UAAM,qBAAO;AACnB,QAAM,kBAAc,qBAAO,IAAI;AAC/B,QAAM,gBAAY,0BAAY,CAAC,WAAW;AACxC,QAAI,IAAI;AAAS,UAAI,UAAU;AAC/B,QAAI,YAAY,SAAS;AACvB,iBAAW,MAAM;AACf,gBAAQ,MAAM;AACd,oBAAY,UAAU;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,8BAAU,MAAM;AACd,QAAI,aAAa,gBAAgB;AAC/B,kBAAY,UAAU;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,aAAa,cAAc,CAAC;AAEhC,SACE,4CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,aACE,6CAAC;AAAA,MAAK,eAAa,6BAAY;AAAA,MAAmC,OAAM;AAAA,MACtE;AAAA,oDAAC;AAAA,UAAK,GAAE;AAAA,UAAM,OAAO,EAAE,YAAY,QAAQ;AAAA,UACzC,sDAAC;AAAA,YACC;AAAA,YACA,cAAc;AAAA,YACd,MAAK;AAAA,YACL,aAAW;AAAA,YACX,UAAU;AAAA,WACZ;AAAA,SACF;AAAA,QACA,4CAAC;AAAA,UAAK,WAAW,CAAC,MAAM,EAAE,SAAS,WAAW,WAAW,kBAAkB,CAAC;AAAA,UAC1E,sDAAC;AAAA,YAA2B;AAAA,YAAY,cAAc;AAAA,YAAS,MAAK;AAAA,WAA8B;AAAA,SACpG;AAAA;AAAA,KACF;AAAA,IAEF,aAAa,4CAAC,+BAAY;AAAA,IAC1B;AAAA,IACA,WAAU;AAAA,GACZ;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(Pagination_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(Pagination_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_ds_pagination = require("@elliemae/ds-pagination");
|
|
33
34
|
var import_DataTableContext = require("../../DataTableContext");
|
|
34
35
|
const Pagination = () => {
|
|
@@ -42,7 +43,7 @@ const Pagination = () => {
|
|
|
42
43
|
(0, import_react.useEffect)(() => {
|
|
43
44
|
onPageChanged(originalPage);
|
|
44
45
|
}, [onPageChanged, originalPage]);
|
|
45
|
-
return /* @__PURE__ */
|
|
46
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_pagination.DSPagination, {
|
|
46
47
|
...paginationHelpers,
|
|
47
48
|
width: totalColumnsWidth
|
|
48
49
|
});
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/addons/Pagination/Pagination.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useContext, useEffect, useMemo } from 'react';\nimport { DSPagination } from '@elliemae/ds-pagination';\nimport { DataTableContext } from '../../DataTableContext';\n\nexport const Pagination: React.ComponentType<Record<string, never>> = () => {\n const {\n tableProps: { onPageChanged },\n paginationHelpers,\n flattenedData: page,\n layoutHelpers: { totalColumnsWidth },\n } = useContext(DataTableContext);\n\n const originalPage = useMemo(() => page.map((row) => row.original), [page]);\n\n useEffect(() => {\n onPageChanged(originalPage);\n }, [onPageChanged, originalPage]);\n\n return <DSPagination {...paginationHelpers} width={totalColumnsWidth} />;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAsD;AACtD,2BAA6B;AAC7B,8BAAiC;AAE1B,MAAM,aAAyD,MAAM;AAC1E,QAAM;AAAA,IACJ,YAAY,EAAE,cAAc;AAAA,IAC5B;AAAA,IACA,eAAe;AAAA,IACf,eAAe,EAAE,kBAAkB;AAAA,EACrC,QAAI,yBAAW,wCAAgB;AAE/B,QAAM,mBAAe,sBAAQ,MAAM,KAAK,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC;AAE1E,8BAAU,MAAM;AACd,kBAAc,YAAY;AAAA,EAC5B,GAAG,CAAC,eAAe,YAAY,CAAC;AAEhC,SAAO,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAsD;AACtD,2BAA6B;AAC7B,8BAAiC;AAE1B,MAAM,aAAyD,MAAM;AAC1E,QAAM;AAAA,IACJ,YAAY,EAAE,cAAc;AAAA,IAC5B;AAAA,IACA,eAAe;AAAA,IACf,eAAe,EAAE,kBAAkB;AAAA,EACrC,QAAI,yBAAW,wCAAgB;AAE/B,QAAM,mBAAe,sBAAQ,MAAM,KAAK,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC;AAE1E,8BAAU,MAAM;AACd,kBAAc,YAAY;AAAA,EAC5B,GAAG,CAAC,eAAe,YAAY,CAAC;AAEhC,SAAO,4CAAC;AAAA,IAAc,GAAG;AAAA,IAAmB,OAAO;AAAA,GAAmB;AACxE;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(EditableCell_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(EditableCell_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_styled = require("../styled");
|
|
33
34
|
var import_DataTableContext = require("../DataTableContext");
|
|
34
35
|
const EditableCell = (props) => {
|
|
@@ -73,7 +74,7 @@ const EditableCell = (props) => {
|
|
|
73
74
|
[isEditing]
|
|
74
75
|
);
|
|
75
76
|
const cols = !isEditing ? ["auto", "min-content"] : ["auto"];
|
|
76
|
-
return /* @__PURE__ */
|
|
77
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledEditableContainer, {
|
|
77
78
|
cols,
|
|
78
79
|
tabIndex: isRowSelected && !isEditing ? 0 : -1,
|
|
79
80
|
ref: cell.ref,
|
|
@@ -82,11 +83,20 @@ const EditableCell = (props) => {
|
|
|
82
83
|
onBlur: handleOnBlur,
|
|
83
84
|
shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
|
|
84
85
|
role: "cell",
|
|
85
|
-
"aria-labelledby": isEditing ? void 0 : cell.id
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
"aria-labelledby": isEditing ? void 0 : cell.id,
|
|
87
|
+
children: [
|
|
88
|
+
!isEditing ? StandardRender : EditableRenderer,
|
|
89
|
+
!isEditing && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledPencilIcon, {}),
|
|
90
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
91
|
+
id: cell.id,
|
|
92
|
+
style: { display: "none" },
|
|
93
|
+
"aria-hidden": "true",
|
|
94
|
+
children: [
|
|
95
|
+
cell.value,
|
|
96
|
+
", editable cell. To edit the content's of this cell, press the Enter key"
|
|
97
|
+
]
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
});
|
|
91
101
|
};
|
|
92
102
|
//# sourceMappingURL=EditableCell.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/exported-related/EditableCell.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useState, useCallback, useContext, useLayoutEffect } from 'react';\nimport { StyledPencilIcon, StyledEditableContainer } from '../styled';\nimport { DataTableContext } from '../DataTableContext';\n\nexport const EditableCell: React.ComponentType<any> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const { virtualListHelpers } = useContext(DataTableContext);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e: React.KeyboardEvent) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isEditing) {\n e.stopPropagation();\n if (['Enter', 'Escape'].includes(e.code)) {\n setIsEditing(false);\n }\n } else if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick, setIsEditing],\n );\n\n const handleOnBlur = useCallback(\n (event: EventTarget) => {\n if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];\n return (\n <StyledEditableContainer\n cols={cols}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n ref={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"cell\"\n aria-labelledby={isEditing ? undefined : cell.id}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={cell.id} style={{ display: 'none' }} aria-hidden=\"true\">\n {cell.value}, editable cell. To edit the content's of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA0E;AAC1E,oBAA0D;AAC1D,8BAAiC;AAE1B,MAAM,eAAyC,CAAC,UAAU;AAC/D,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,EAAE,mBAAmB,QAAI,yBAAW,wCAAgB;AAE1D,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAExD,oCAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,CAAC,WAAW;AACd,UAAE,gBAAgB;AAClB,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,WAAW;AACb,UAAE,gBAAgB;AAClB,YAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,wBAAgB,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,iBAAiB,YAAY;AAAA,EAC3C;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,UAAuB;AACtB,UAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA0E;AAC1E,oBAA0D;AAC1D,8BAAiC;AAE1B,MAAM,eAAyC,CAAC,UAAU;AAC/D,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,EAAE,mBAAmB,QAAI,yBAAW,wCAAgB;AAE1D,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAExD,oCAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,CAAC,WAAW;AACd,UAAE,gBAAgB;AAClB,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,WAAW;AACb,UAAE,gBAAgB;AAClB,YAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,wBAAgB,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,iBAAiB,YAAY;AAAA,EAC3C;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,UAAuB;AACtB,UAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE,6CAAC;AAAA,IACC;AAAA,IACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,IAC5C,KAAK,KAAK;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,uBAAuB,KAAK,OAAO;AAAA,IACnC,MAAK;AAAA,IACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,IAE7C;AAAA,OAAC,YAAY,iBAAiB;AAAA,MAC9B,CAAC,aAAa,4CAAC,kCAAiB;AAAA,MACjC,6CAAC;AAAA,QAAK,IAAI,KAAK;AAAA,QAAI,OAAO,EAAE,SAAS,OAAO;AAAA,QAAG,eAAY;AAAA,QACxD;AAAA,eAAK;AAAA,UAAM;AAAA;AAAA,OACd;AAAA;AAAA,GACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(FilterBarDropdownMenu_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(FilterBarDropdownMenu_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_ds_dropdownmenu = require("@elliemae/ds-dropdownmenu");
|
|
33
34
|
var import_ds_button = require("@elliemae/ds-button");
|
|
34
35
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
@@ -60,24 +61,27 @@ const FilterBarDropdownMenu = (props) => {
|
|
|
60
61
|
],
|
|
61
62
|
[extraOptions, removeFilters]
|
|
62
63
|
);
|
|
63
|
-
return /* @__PURE__ */
|
|
64
|
-
style: { marginLeft: "auto" }
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
64
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
65
|
+
style: { marginLeft: "auto" },
|
|
66
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_dropdownmenu.DSDropdownMenuV2, {
|
|
67
|
+
isOpened,
|
|
68
|
+
startPlacementPreference: "bottom-end",
|
|
69
|
+
options,
|
|
70
|
+
onClickOutside: () => {
|
|
71
|
+
setIsOpened(false);
|
|
72
|
+
},
|
|
73
|
+
onKeyDown: (e) => {
|
|
74
|
+
if (e.code === "Escape")
|
|
75
|
+
innerRef?.current?.focus?.();
|
|
76
|
+
},
|
|
77
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.DSButtonV2, {
|
|
78
|
+
buttonType: import_ds_button.BUTTON_TYPES.ICON,
|
|
79
|
+
onClick: () => setIsOpened((prevOpened) => !prevOpened),
|
|
80
|
+
innerRef,
|
|
81
|
+
...restProps,
|
|
82
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.MoreOptionsVert, {})
|
|
83
|
+
})
|
|
84
|
+
})
|
|
85
|
+
});
|
|
82
86
|
};
|
|
83
87
|
//# sourceMappingURL=FilterBarDropdownMenu.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/exported-related/FilterBar/FilterBarDropdownMenu.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useState, useContext, useRef, useCallback, useMemo } from 'react';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { DSButtonV2, BUTTON_TYPES } from '@elliemae/ds-button';\nimport { MoreOptionsVert } from '@elliemae/ds-icons';\nimport { DataTableContext } from '../../DataTableContext';\n\nexport const FilterBarDropdownMenu = (props) => {\n const {\n tableProps: { onFiltersChange },\n } = useContext(DataTableContext);\n const [isOpened, setIsOpened] = useState(false);\n\n const { options: extraOptions, innerRef, ...restProps } = props;\n const removeFilters = useCallback(() => {\n onFiltersChange([]);\n setIsOpened(false);\n innerRef?.current?.focus?.();\n }, [innerRef, onFiltersChange]);\n\n const options = useMemo(\n () => [\n {\n dsId: '__internal__option__clear__filters',\n label: 'Clear Filters',\n type: 'single',\n onClick: removeFilters,\n onKeyDown: (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) removeFilters();\n },\n },\n ...extraOptions,\n ],\n [extraOptions, removeFilters],\n );\n\n return (\n <div style={{ marginLeft: 'auto' }}>\n <DSDropdownMenuV2\n isOpened={isOpened}\n startPlacementPreference=\"bottom-end\"\n options={options}\n onClickOutside={() => {\n setIsOpened(false);\n }}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.code === 'Escape') innerRef?.current?.focus?.();\n }}\n >\n <DSButtonV2\n buttonType={BUTTON_TYPES.ICON}\n onClick={() => setIsOpened((prevOpened) => !prevOpened)}\n innerRef={innerRef}\n {...restProps}\n >\n <MoreOptionsVert />\n </DSButtonV2>\n </DSDropdownMenuV2>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA0E;AAC1E,6BAAiC;AACjC,uBAAyC;AACzC,sBAAgC;AAChC,8BAAiC;AAE1B,MAAM,wBAAwB,CAAC,UAAU;AAC9C,QAAM;AAAA,IACJ,YAAY,EAAE,gBAAgB;AAAA,EAChC,QAAI,yBAAW,wCAAgB;AAC/B,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,cAAc,aAAa,UAAU,IAAI;AAC1D,QAAM,oBAAgB,0BAAY,MAAM;AACtC,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AACjB,cAAU,SAAS,QAAQ;AAAA,EAC7B,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,QAAM,cAAU;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW,CAAC,MAA2B;AACrC,cAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI;AAAG,0BAAc;AAAA,QACzD;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,EAC9B;AAEA,SACE,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA0E;AAC1E,6BAAiC;AACjC,uBAAyC;AACzC,sBAAgC;AAChC,8BAAiC;AAE1B,MAAM,wBAAwB,CAAC,UAAU;AAC9C,QAAM;AAAA,IACJ,YAAY,EAAE,gBAAgB;AAAA,EAChC,QAAI,yBAAW,wCAAgB;AAC/B,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,cAAc,aAAa,UAAU,IAAI;AAC1D,QAAM,oBAAgB,0BAAY,MAAM;AACtC,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AACjB,cAAU,SAAS,QAAQ;AAAA,EAC7B,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,QAAM,cAAU;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW,CAAC,MAA2B;AACrC,cAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI;AAAG,0BAAc;AAAA,QACzD;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,EAC9B;AAEA,SACE,4CAAC;AAAA,IAAI,OAAO,EAAE,YAAY,OAAO;AAAA,IAC/B,sDAAC;AAAA,MACC;AAAA,MACA,0BAAyB;AAAA,MACzB;AAAA,MACA,gBAAgB,MAAM;AACpB,oBAAY,KAAK;AAAA,MACnB;AAAA,MACA,WAAW,CAAC,MAA2B;AACrC,YAAI,EAAE,SAAS;AAAU,oBAAU,SAAS,QAAQ;AAAA,MACtD;AAAA,MAEA,sDAAC;AAAA,QACC,YAAY,8BAAa;AAAA,QACzB,SAAS,MAAM,YAAY,CAAC,eAAe,CAAC,UAAU;AAAA,QACtD;AAAA,QACC,GAAG;AAAA,QAEJ,sDAAC,mCAAgB;AAAA,OACnB;AAAA,KACF;AAAA,GACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -28,7 +28,8 @@ __export(FilterPopover_exports, {
|
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(FilterPopover_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
|
-
var
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
32
33
|
var import_ds_button = require("@elliemae/ds-button");
|
|
33
34
|
var import_ds_popperjs = require("@elliemae/ds-popperjs");
|
|
34
35
|
var import_ds_system = require("@elliemae/ds-system");
|
|
@@ -45,7 +46,7 @@ const Button = (0, import_ds_system.styled)(import_ds_button.DSButton)`
|
|
|
45
46
|
const PopperContent = import_ds_system.styled.div`
|
|
46
47
|
background-color: #fff;
|
|
47
48
|
`;
|
|
48
|
-
const ButtonTrap = ({ cb }) => /* @__PURE__ */
|
|
49
|
+
const ButtonTrap = ({ cb }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
49
50
|
"aria-hidden": "true",
|
|
50
51
|
tabIndex: 0,
|
|
51
52
|
onFocus: (e) => {
|
|
@@ -99,7 +100,7 @@ const FilterPopover = ({
|
|
|
99
100
|
patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });
|
|
100
101
|
referenceElement?.focus();
|
|
101
102
|
}, [columnId, patchHeader, referenceElement]);
|
|
102
|
-
return /* @__PURE__ */
|
|
103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
103
104
|
onClick: (e) => e.stopPropagation(),
|
|
104
105
|
onKeyDown: (e) => {
|
|
105
106
|
e.stopPropagation();
|
|
@@ -111,41 +112,53 @@ const FilterPopover = ({
|
|
|
111
112
|
e.preventDefault();
|
|
112
113
|
}
|
|
113
114
|
},
|
|
114
|
-
style: { display: "flex" }
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
115
|
+
style: { display: "flex" },
|
|
116
|
+
children: [
|
|
117
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(FilterButton, {
|
|
118
|
+
hide: !isIconVisible,
|
|
119
|
+
"data-testid": import_constants.DATA_TESTID.DATA_TABLE_FILTER_BUTTON,
|
|
120
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
|
|
121
|
+
onClick: handleTriggerClick,
|
|
122
|
+
buttonType: "text",
|
|
123
|
+
"aria-label": ariaLabel,
|
|
124
|
+
"aria-hidden": "true",
|
|
125
|
+
size: "s",
|
|
126
|
+
leftIcon: triggerIcon,
|
|
127
|
+
innerRef: (_ref) => {
|
|
128
|
+
if (isIconVisible)
|
|
129
|
+
setReferenceElement(_ref);
|
|
130
|
+
innerRef.current = _ref;
|
|
131
|
+
},
|
|
132
|
+
tabIndex: reduxHeader?.withTabStops ? 0 : -1
|
|
133
|
+
})
|
|
134
|
+
}),
|
|
135
|
+
referenceElement && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_popperjs.DSPopperJS, {
|
|
136
|
+
referenceElement,
|
|
137
|
+
showPopover: isMenuOpen,
|
|
138
|
+
closeContextMenu: handleClickOutsideMenu,
|
|
139
|
+
"data-testid": import_constants.DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
|
|
140
|
+
startPlacementPreference: "bottom-end",
|
|
141
|
+
customOffset: [5, 4],
|
|
142
|
+
withoutArrow: true,
|
|
143
|
+
withoutAnimation: true,
|
|
144
|
+
extraPopperStyles: {
|
|
145
|
+
...customStyles,
|
|
146
|
+
minWidth: column.ref?.current?.offsetWidth ?? "0px"
|
|
147
|
+
},
|
|
148
|
+
placementOrderPreference: ["bottom-end"],
|
|
149
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PopperContent, {
|
|
150
|
+
children: [
|
|
151
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonTrap, {
|
|
152
|
+
cb: buttonTrapCallback
|
|
153
|
+
}),
|
|
154
|
+
menuContent,
|
|
155
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonTrap, {
|
|
156
|
+
cb: buttonTrapCallback
|
|
157
|
+
})
|
|
158
|
+
]
|
|
159
|
+
})
|
|
160
|
+
})
|
|
161
|
+
]
|
|
162
|
+
});
|
|
150
163
|
};
|
|
151
164
|
//# sourceMappingURL=FilterPopover.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/exported-related/FilterPopover.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { MutableRefObject, useCallback, useContext, useEffect, useState } from 'react';\nimport { DSButton } from '@elliemae/ds-button';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { styled } from '@elliemae/ds-system';\nimport DataTableContext from '../DataTableContext';\nimport { DATA_TESTID } from '../configs/constants';\nimport { ReduxHeader, TypescriptColumn } from '../types/props';\n\nconst FilterButton = styled.span<{ hide: boolean }>`\n display: inline-grid;\n ${(props) => (props.hide ? 'opacity: 0; display: none; width: 0;' : '')}\n`;\n\nconst Button = styled(DSButton)`\n position: relative;\n justify-self: flex-end;\n`;\n\nconst PopperContent = styled.div`\n background-color: #fff;\n`;\ninterface FilterPopoverProps {\n column: TypescriptColumn;\n columnId: string;\n triggerIcon: JSX.Element;\n menuContent: JSX.Element;\n onTriggerClick?: (id: string, e: UIEvent) => void;\n onClickOutsideMenu?: (id: string, e: UIEvent) => void;\n reduxHeader: ReduxHeader;\n innerRef: MutableRefObject<HTMLDivElement>;\n ariaLabel: string;\n customStyles?: React.CSSProperties;\n}\n\nconst ButtonTrap = ({ cb }) => (\n <span\n aria-hidden=\"true\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n cb();\n }}\n />\n);\n\nexport const FilterPopover: React.ComponentType<FilterPopoverProps> = ({\n column,\n columnId,\n triggerIcon,\n menuContent,\n onTriggerClick = () => null,\n onClickOutsideMenu = () => null,\n reduxHeader,\n innerRef,\n ariaLabel,\n customStyles,\n}) => {\n const { hideFilterButton, hideFilterMenu } = reduxHeader || {\n hideFilterButton: true,\n hideFilterMenu: true,\n };\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n const isIconVisible = !hideFilterButton || !hideFilterMenu;\n const isMenuOpen = !hideFilterMenu;\n\n const handleClickOutsideMenu = (e) => {\n onClickOutsideMenu(columnId, e);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n };\n\n useEffect(() => {\n const closeMenu = () => {\n patchHeaderFilterButtonAndMenu(columnId, true);\n };\n window.addEventListener('blur', closeMenu);\n\n return () => {\n window.removeEventListener('blur', closeMenu);\n };\n }, [columnId, patchHeaderFilterButtonAndMenu]);\n\n const handleTriggerClick = useCallback(\n (e) => {\n onTriggerClick(columnId, e);\n patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });\n e.stopPropagation();\n },\n [columnId, isMenuOpen, onTriggerClick, patchHeader],\n );\n\n const [referenceElement, setReferenceElement] = useState(null);\n\n const buttonTrapCallback = useCallback(() => {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n referenceElement?.focus();\n }, [columnId, patchHeader, referenceElement]);\n return (\n <div\n // This is here to prevent propagation, and not trigger the sort functionality\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n referenceElement.focus();\n }\n // Stop propagation for some reason is not enough to prevent scrolling of the datatable\n // so we just prevent default behaviour in this case\n if (['ArrowUp', 'ArrowDown'].includes(e.code)) {\n e.preventDefault();\n }\n }}\n style={{ display: 'flex' }}\n >\n <FilterButton hide={!isIconVisible} data-testid={DATA_TESTID.DATA_TABLE_FILTER_BUTTON}>\n <Button\n onClick={handleTriggerClick}\n buttonType=\"text\"\n aria-label={ariaLabel}\n aria-hidden=\"true\"\n size=\"s\"\n leftIcon={triggerIcon}\n // implement treeview mergerefs\n innerRef={(_ref) => {\n if (isIconVisible) setReferenceElement(_ref);\n innerRef.current = _ref;\n }}\n tabIndex={reduxHeader?.withTabStops ? 0 : -1}\n />\n </FilterButton>\n {referenceElement && (\n <DSPopperJS\n referenceElement={referenceElement}\n showPopover={isMenuOpen}\n closeContextMenu={handleClickOutsideMenu}\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT}\n startPlacementPreference=\"bottom-end\"\n customOffset={[5, 4]}\n withoutArrow\n withoutAnimation\n extraPopperStyles={{\n ...customStyles,\n minWidth: column.ref?.current?.offsetWidth ?? '0px',\n }}\n placementOrderPreference={['bottom-end']}\n >\n <PopperContent>\n <ButtonTrap cb={buttonTrapCallback} />\n {menuContent}\n <ButtonTrap cb={buttonTrapCallback} />\n </PopperContent>\n </DSPopperJS>\n )}\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DataTableContext"]
|
|
7
7
|
}
|