@osdk/react-components 0.1.0 → 0.2.0-beta.10
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/CHANGELOG.md +98 -19
- package/README.md +56 -23
- package/build/browser/base-components/action-button/ActionButton.js +31 -0
- package/build/browser/base-components/action-button/ActionButton.js.map +1 -0
- package/build/browser/base-components/action-button/ActionButton.module.css +70 -0
- package/build/browser/base-components/action-button/ActionButton.module.css.js +8 -0
- package/build/browser/base-components/checkbox/Checkbox.js +27 -32
- package/build/browser/base-components/checkbox/Checkbox.module.css +79 -0
- package/build/browser/base-components/checkbox/Checkbox.module.css.js +7 -0
- package/build/browser/base-components/combobox/Combobox.js +124 -0
- package/build/browser/base-components/combobox/Combobox.js.map +1 -0
- package/build/browser/base-components/combobox/Combobox.module.css +177 -0
- package/build/browser/base-components/combobox/Combobox.module.css.js +16 -0
- package/build/browser/base-components/dialog/Dialog.js +52 -0
- package/build/browser/base-components/dialog/Dialog.js.map +1 -0
- package/build/browser/base-components/dialog/Dialog.module.css +101 -0
- package/build/browser/base-components/dialog/Dialog.module.css.js +13 -0
- package/build/browser/base-components/draggable-list/DraggableList.js +155 -0
- package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/browser/base-components/draggable-list/DraggableList.module.css +108 -0
- package/build/browser/base-components/draggable-list/DraggableList.module.css.js +11 -0
- package/build/browser/base-components/search-bar/SearchBar.js +44 -0
- package/build/browser/base-components/search-bar/SearchBar.js.map +1 -0
- package/build/browser/base-components/search-bar/SearchBar.module.css +53 -0
- package/build/browser/base-components/search-bar/SearchBar.module.css.js +8 -0
- package/build/browser/base-components/select/Select.js +89 -0
- package/build/browser/base-components/select/Select.js.map +1 -0
- package/build/browser/base-components/select/Select.module.css +138 -0
- package/build/browser/base-components/select/Select.module.css.js +11 -0
- package/build/browser/base-components/switch/Switch.js +33 -0
- package/build/browser/base-components/switch/Switch.js.map +1 -0
- package/build/browser/base-components/switch/Switch.module.css +91 -0
- package/build/browser/base-components/switch/Switch.module.css.js +7 -0
- package/build/browser/filter-list/FilterListApi.js.map +1 -1
- package/build/browser/filter-list/FilterListItemApi.js.map +1 -1
- package/build/browser/filter-list/__tests__/LinkedPropertyInput.test.js +202 -0
- package/build/browser/filter-list/__tests__/LinkedPropertyInput.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/dateUtils.test.js +55 -0
- package/build/browser/filter-list/__tests__/dateUtils.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
- package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/getFilterKey.test.js +53 -0
- package/build/browser/filter-list/__tests__/getFilterKey.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/testUtils.js +203 -0
- package/build/browser/filter-list/__tests__/testUtils.js.map +1 -0
- package/build/browser/filter-list/base/FilterInput.js +542 -0
- package/build/browser/filter-list/base/FilterInput.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.js +77 -0
- package/build/browser/filter-list/base/FilterList.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.module.css +67 -0
- package/build/browser/filter-list/base/FilterList.module.css.js +8 -0
- package/build/browser/filter-list/base/FilterListContent.js +57 -0
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -0
- package/build/browser/filter-list/base/FilterListContent.module.css +27 -0
- package/build/browser/filter-list/base/FilterListContent.module.css.js +7 -0
- package/build/browser/filter-list/base/FilterListHeader.js +58 -0
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -0
- package/build/browser/filter-list/base/FilterListHeader.module.css +127 -0
- package/build/browser/filter-list/base/FilterListHeader.module.css.js +13 -0
- package/build/browser/filter-list/base/FilterListItem.js +75 -0
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -0
- package/build/browser/filter-list/base/FilterListItem.module.css +38 -0
- package/build/browser/filter-list/base/FilterListItem.module.css.js +9 -0
- package/build/browser/filter-list/base/index.js +22 -0
- package/build/browser/filter-list/base/index.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js +75 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +42 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js +85 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/DateRangeInput.js +37 -0
- package/build/browser/filter-list/base/inputs/DateRangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js +237 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css.js +6 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js +98 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +88 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +12 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.js +82 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css +54 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +100 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +35 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +76 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +49 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js +48 -0
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/RangeInput.js +187 -0
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/RangeInput.module.css +81 -0
- package/build/browser/filter-list/base/inputs/RangeInput.module.css.js +13 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.js +61 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css +63 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +95 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.js +141 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.module.css +25 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.module.css.js +7 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.js +74 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.module.css +73 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.js +43 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.module.css +34 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js +53 -0
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/browser/filter-list/base/inputs/dateUtils.js +57 -0
- package/build/browser/filter-list/base/inputs/dateUtils.js.map +1 -0
- package/build/browser/filter-list/base/inputs/index.js +25 -0
- package/build/browser/filter-list/base/inputs/index.js.map +1 -0
- package/build/browser/filter-list/base/inputs/shared.module.css +79 -0
- package/build/browser/filter-list/base/inputs/shared.module.css.js +11 -0
- package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
- package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterListState.js +119 -0
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.js +92 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -0
- package/build/browser/filter-list/types/AddFilterMenuTypes.js +2 -0
- package/build/browser/filter-list/types/AddFilterMenuTypes.js.map +1 -0
- package/build/browser/filter-list/types/CustomRendererTypes.js +2 -0
- package/build/browser/filter-list/types/CustomRendererTypes.js.map +1 -0
- package/build/browser/filter-list/types/FilterPanelTypes.js +2 -0
- package/build/browser/filter-list/types/FilterPanelTypes.js.map +1 -0
- package/build/browser/filter-list/types/KeywordSearchTypes.js +2 -0
- package/build/browser/filter-list/types/KeywordSearchTypes.js.map +1 -0
- package/build/browser/filter-list/types/LinkedFilterTypes.js +2 -0
- package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -0
- package/build/browser/filter-list/types/index.js +22 -0
- package/build/browser/filter-list/types/index.js.map +1 -0
- package/build/browser/filter-list/utils/aggregationHelpers.js +44 -0
- package/build/browser/filter-list/utils/aggregationHelpers.js.map +1 -0
- package/build/browser/filter-list/utils/assertUnreachable.js +25 -0
- package/build/browser/filter-list/utils/assertUnreachable.js.map +1 -0
- package/build/browser/filter-list/utils/coerceFilterValue.js +33 -0
- package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +337 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/browser/filter-list/utils/filterValues.js +55 -0
- package/build/browser/filter-list/utils/filterValues.js.map +1 -0
- package/build/browser/filter-list/utils/getFilterKey.js +34 -0
- package/build/browser/filter-list/utils/getFilterKey.js.map +1 -0
- package/build/browser/object-table/CellContextMenu.js +23 -20
- package/build/browser/object-table/CellContextMenu.module.css +20 -0
- package/build/browser/object-table/CellContextMenu.module.css.js +6 -0
- package/build/browser/object-table/ColumnConfigDialog.js +259 -0
- package/build/browser/object-table/ColumnConfigDialog.js.map +1 -0
- package/build/browser/object-table/ColumnConfigDialog.module.css +247 -0
- package/build/browser/object-table/ColumnConfigDialog.module.css.js +29 -0
- package/build/browser/object-table/DefaultCellRenderer.js +43 -0
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/browser/object-table/EditableCell.js +91 -0
- package/build/browser/object-table/EditableCell.js.map +1 -0
- package/build/browser/object-table/EditableCell.module.css +3 -0
- package/build/browser/object-table/EditableCell.module.css.js +6 -0
- package/build/browser/object-table/LoadingCell.js +24 -29
- package/build/browser/object-table/LoadingCell.module.css +48 -0
- package/build/browser/object-table/LoadingCell.module.css.js +8 -0
- package/build/browser/object-table/LoadingRow.js +24 -50
- package/build/browser/object-table/LoadingStateTable.js +49 -343
- package/build/browser/object-table/LoadingStateTable.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +178 -0
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css +195 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css.js +22 -0
- package/build/browser/object-table/NonIdealState.js +23 -20
- package/build/browser/object-table/NonIdealState.module.css +27 -0
- package/build/browser/object-table/NonIdealState.module.css.js +7 -0
- package/build/browser/object-table/ObjectTable.js +74 -15
- package/build/browser/object-table/ObjectTable.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/object-table/SelectionCells.js +15 -4
- package/build/browser/object-table/SelectionCells.js.map +1 -1
- package/build/browser/object-table/SortableItemsList.js +35 -0
- package/build/browser/object-table/SortableItemsList.js.map +1 -0
- package/build/browser/object-table/Table.js +70 -935
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/Table.module.css +45 -0
- package/build/browser/object-table/Table.module.css.js +8 -0
- package/build/browser/object-table/TableBody.js +36 -260
- package/build/browser/object-table/TableBody.module.css +22 -0
- package/build/browser/object-table/TableBody.module.css.js +6 -0
- package/build/browser/object-table/TableCell.js +31 -111
- package/build/browser/object-table/TableCell.module.css +83 -0
- package/build/browser/object-table/TableCell.module.css.js +8 -0
- package/build/browser/object-table/TableHeader.js +126 -216
- package/build/browser/object-table/TableHeader.js.map +1 -1
- package/build/browser/object-table/TableHeader.module.css +108 -0
- package/build/browser/object-table/TableHeader.module.css.js +10 -0
- package/build/browser/object-table/TableHeaderContent.js +21 -18
- package/build/browser/object-table/TableHeaderContent.module.css +30 -0
- package/build/browser/object-table/TableHeaderContent.module.css.js +6 -0
- package/build/browser/object-table/TableHeaderWithPopover.js +110 -93
- package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/browser/object-table/TableHeaderWithPopover.module.css +141 -0
- package/build/browser/object-table/TableHeaderWithPopover.module.css.js +17 -0
- package/build/browser/object-table/TableRow.js +26 -144
- package/build/browser/object-table/TableRow.module.css +62 -0
- package/build/browser/object-table/TableRow.module.css.js +6 -0
- package/build/browser/object-table/__tests__/useEditableTable.test.js +197 -0
- package/build/browser/object-table/__tests__/useEditableTable.test.js.map +1 -0
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnDefs.js +16 -3
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnResize.js +45 -0
- package/build/browser/object-table/hooks/useColumnResize.js.map +1 -0
- package/build/browser/object-table/hooks/useColumnVisibility.js +52 -20
- package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/browser/object-table/hooks/useEditableTable.js +57 -0
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/browser/object-table/hooks/useObjectTableData.js +42 -7
- package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/browser/object-table/hooks/useRowSelection.js +31 -10
- package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/browser/object-table/hooks/useSelectionColumn.js +15 -6
- package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/browser/object-table/utils/getCellId.js +27 -0
- package/build/browser/object-table/utils/getCellId.js.map +1 -0
- package/build/browser/object-table/utils/types.js +2 -0
- package/build/browser/object-table/utils/types.js.map +1 -0
- package/build/browser/public/experimental.js +2 -0
- package/build/browser/public/experimental.js.map +1 -1
- package/build/browser/shared/ErrorBoundary.js +62 -0
- package/build/browser/shared/ErrorBoundary.js.map +1 -0
- package/build/browser/shared/ErrorBoundary.module.css +55 -0
- package/build/browser/shared/ErrorBoundary.module.css.js +8 -0
- package/build/browser/styles.css +3073 -0
- package/build/cjs/public/experimental.cjs +4026 -240
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +1834 -154
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +453 -50
- package/build/esm/base-components/action-button/ActionButton.js +31 -0
- package/build/esm/base-components/action-button/ActionButton.js.map +1 -0
- package/build/esm/base-components/action-button/ActionButton.module.css +70 -0
- package/build/esm/base-components/checkbox/Checkbox.module.css +1 -1
- package/build/esm/base-components/combobox/Combobox.js +124 -0
- package/build/esm/base-components/combobox/Combobox.js.map +1 -0
- package/build/esm/base-components/combobox/Combobox.module.css +177 -0
- package/build/esm/base-components/dialog/Dialog.js +52 -0
- package/build/esm/base-components/dialog/Dialog.js.map +1 -0
- package/build/esm/base-components/dialog/Dialog.module.css +101 -0
- package/build/esm/base-components/draggable-list/DraggableList.js +155 -0
- package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/esm/base-components/draggable-list/DraggableList.module.css +108 -0
- package/build/esm/base-components/search-bar/SearchBar.js +44 -0
- package/build/esm/base-components/search-bar/SearchBar.js.map +1 -0
- package/build/esm/base-components/search-bar/SearchBar.module.css +53 -0
- package/build/esm/base-components/select/Select.js +89 -0
- package/build/esm/base-components/select/Select.js.map +1 -0
- package/build/esm/base-components/select/Select.module.css +138 -0
- package/build/esm/base-components/switch/Switch.js +33 -0
- package/build/esm/base-components/switch/Switch.js.map +1 -0
- package/build/esm/base-components/switch/Switch.module.css +91 -0
- package/build/esm/filter-list/FilterListApi.js.map +1 -1
- package/build/esm/filter-list/FilterListItemApi.js.map +1 -1
- package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js +202 -0
- package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/dateUtils.test.js +55 -0
- package/build/esm/filter-list/__tests__/dateUtils.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
- package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/getFilterKey.test.js +53 -0
- package/build/esm/filter-list/__tests__/getFilterKey.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/testUtils.js +203 -0
- package/build/esm/filter-list/__tests__/testUtils.js.map +1 -0
- package/build/esm/filter-list/base/FilterInput.js +542 -0
- package/build/esm/filter-list/base/FilterInput.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.js +77 -0
- package/build/esm/filter-list/base/FilterList.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.module.css +67 -0
- package/build/esm/filter-list/base/FilterListContent.js +57 -0
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -0
- package/build/esm/filter-list/base/FilterListContent.module.css +27 -0
- package/build/esm/filter-list/base/FilterListHeader.js +58 -0
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -0
- package/build/esm/filter-list/base/FilterListHeader.module.css +127 -0
- package/build/esm/filter-list/base/FilterListItem.js +75 -0
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -0
- package/build/esm/filter-list/base/FilterListItem.module.css +38 -0
- package/build/esm/filter-list/base/index.js +22 -0
- package/build/esm/filter-list/base/index.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js +75 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +42 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js +85 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
- package/build/esm/filter-list/base/inputs/DateRangeInput.js +37 -0
- package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js +237 -0
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js +98 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +88 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.js +82 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +54 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +100 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +35 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +76 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +49 -0
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js +48 -0
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/RangeInput.js +187 -0
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/RangeInput.module.css +81 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.js +61 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +63 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +95 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.js +141 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.module.css +25 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.js +74 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.module.css +73 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.js +43 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.module.css +34 -0
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js +53 -0
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/esm/filter-list/base/inputs/dateUtils.js +57 -0
- package/build/esm/filter-list/base/inputs/dateUtils.js.map +1 -0
- package/build/esm/filter-list/base/inputs/index.js +25 -0
- package/build/esm/filter-list/base/inputs/index.js.map +1 -0
- package/build/esm/filter-list/base/inputs/shared.module.css +79 -0
- package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
- package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterListState.js +119 -0
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.js +92 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -0
- package/build/esm/filter-list/types/AddFilterMenuTypes.js +2 -0
- package/build/esm/filter-list/types/AddFilterMenuTypes.js.map +1 -0
- package/build/esm/filter-list/types/CustomRendererTypes.js +2 -0
- package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -0
- package/build/esm/filter-list/types/FilterPanelTypes.js +2 -0
- package/build/esm/filter-list/types/FilterPanelTypes.js.map +1 -0
- package/build/esm/filter-list/types/KeywordSearchTypes.js +2 -0
- package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -0
- package/build/esm/filter-list/types/LinkedFilterTypes.js +2 -0
- package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -0
- package/build/esm/filter-list/types/index.js +22 -0
- package/build/esm/filter-list/types/index.js.map +1 -0
- package/build/esm/filter-list/utils/aggregationHelpers.js +44 -0
- package/build/esm/filter-list/utils/aggregationHelpers.js.map +1 -0
- package/build/esm/filter-list/utils/assertUnreachable.js +25 -0
- package/build/esm/filter-list/utils/assertUnreachable.js.map +1 -0
- package/build/esm/filter-list/utils/coerceFilterValue.js +33 -0
- package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +337 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/esm/filter-list/utils/filterValues.js +55 -0
- package/build/esm/filter-list/utils/filterValues.js.map +1 -0
- package/build/esm/filter-list/utils/getFilterKey.js +34 -0
- package/build/esm/filter-list/utils/getFilterKey.js.map +1 -0
- package/build/esm/object-table/ColumnConfigDialog.js +259 -0
- package/build/esm/object-table/ColumnConfigDialog.js.map +1 -0
- package/build/esm/object-table/ColumnConfigDialog.module.css +247 -0
- package/build/esm/object-table/DefaultCellRenderer.js +43 -0
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/esm/object-table/EditableCell.js +91 -0
- package/build/esm/object-table/EditableCell.js.map +1 -0
- package/build/esm/object-table/EditableCell.module.css +3 -0
- package/build/esm/object-table/LoadingStateTable.js +4 -4
- package/build/esm/object-table/LoadingStateTable.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.js +178 -0
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/esm/object-table/MultiColumnSortDialog.module.css +195 -0
- package/build/esm/object-table/NonIdealState.module.css +2 -3
- package/build/esm/object-table/ObjectTable.js +74 -15
- package/build/esm/object-table/ObjectTable.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/object-table/SelectionCells.js +15 -4
- package/build/esm/object-table/SelectionCells.js.map +1 -1
- package/build/esm/object-table/SortableItemsList.js +35 -0
- package/build/esm/object-table/SortableItemsList.js.map +1 -0
- package/build/esm/object-table/Table.js +25 -8
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/Table.module.css +26 -3
- package/build/esm/object-table/TableBody.module.css +2 -0
- package/build/esm/object-table/TableCell.module.css +22 -1
- package/build/esm/object-table/TableHeader.js +93 -6
- package/build/esm/object-table/TableHeader.js.map +1 -1
- package/build/esm/object-table/TableHeader.module.css +9 -2
- package/build/esm/object-table/TableHeaderWithPopover.js +53 -22
- package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/esm/object-table/TableHeaderWithPopover.module.css +56 -25
- package/build/esm/object-table/TableRow.module.css +2 -0
- package/build/esm/object-table/__tests__/useEditableTable.test.js +197 -0
- package/build/esm/object-table/__tests__/useEditableTable.test.js.map +1 -0
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnDefs.js +16 -3
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnResize.js +45 -0
- package/build/esm/object-table/hooks/useColumnResize.js.map +1 -0
- package/build/esm/object-table/hooks/useColumnVisibility.js +52 -20
- package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/esm/object-table/hooks/useEditableTable.js +57 -0
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/esm/object-table/hooks/useObjectTableData.js +42 -7
- package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/esm/object-table/hooks/useRowSelection.js +31 -10
- package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/esm/object-table/hooks/useSelectionColumn.js +15 -6
- package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/esm/object-table/utils/getCellId.js +27 -0
- package/build/esm/object-table/utils/getCellId.js.map +1 -0
- package/build/esm/object-table/utils/types.js +2 -0
- package/build/esm/object-table/utils/types.js.map +1 -0
- package/build/esm/public/experimental.js +2 -0
- package/build/esm/public/experimental.js.map +1 -1
- package/build/esm/shared/ErrorBoundary.js +62 -0
- package/build/esm/shared/ErrorBoundary.js.map +1 -0
- package/build/esm/shared/ErrorBoundary.module.css +55 -0
- package/build/types/base-components/action-button/ActionButton.d.ts +5 -0
- package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -0
- package/build/types/base-components/combobox/Combobox.d.ts +52 -0
- package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
- package/build/types/base-components/dialog/Dialog.d.ts +10 -0
- package/build/types/base-components/dialog/Dialog.d.ts.map +1 -0
- package/build/types/base-components/draggable-list/DraggableList.d.ts +17 -0
- package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -0
- package/build/types/base-components/search-bar/SearchBar.d.ts +11 -0
- package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -0
- package/build/types/base-components/select/Select.d.ts +34 -0
- package/build/types/base-components/select/Select.d.ts.map +1 -0
- package/build/types/base-components/switch/Switch.d.ts +10 -0
- package/build/types/base-components/switch/Switch.d.ts.map +1 -0
- package/build/types/filter-list/FilterListApi.d.ts +62 -17
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts +101 -53
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/dateUtils.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/dateUtils.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/getFilterKey.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/getFilterKey.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/testUtils.d.ts +65 -0
- package/build/types/filter-list/__tests__/testUtils.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterInput.d.ts +15 -0
- package/build/types/filter-list/base/FilterInput.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterList.d.ts +4 -0
- package/build/types/filter-list/base/FilterList.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListContent.d.ts +16 -0
- package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListHeader.d.ts +14 -0
- package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListItem.d.ts +18 -0
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -0
- package/build/types/filter-list/base/index.d.ts +5 -0
- package/build/types/filter-list/base/index.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +21 -0
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts +13 -0
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts +22 -0
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts +21 -0
- package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts +22 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/MultiDateInput.d.ts +12 -0
- package/build/types/filter-list/base/inputs/MultiDateInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts +24 -0
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +21 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +22 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/RangeInput.d.ts +37 -0
- package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/SingleDateInput.d.ts +13 -0
- package/build/types/filter-list/base/inputs/SingleDateInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts +24 -0
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +24 -0
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/TimelineInput.d.ts +11 -0
- package/build/types/filter-list/base/inputs/TimelineInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ToggleInput.d.ts +10 -0
- package/build/types/filter-list/base/inputs/ToggleInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts +16 -0
- package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/dateUtils.d.ts +17 -0
- package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/index.d.ts +8 -0
- package/build/types/filter-list/base/inputs/index.d.ts.map +1 -0
- package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts +1 -0
- package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts +11 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +20 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts +56 -0
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/CustomRendererTypes.d.ts +76 -0
- package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/FilterPanelTypes.d.ts +18 -0
- package/build/types/filter-list/types/FilterPanelTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/KeywordSearchTypes.d.ts +56 -0
- package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts +89 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/index.d.ts +5 -0
- package/build/types/filter-list/types/index.d.ts.map +1 -0
- package/build/types/filter-list/utils/aggregationHelpers.d.ts +9 -0
- package/build/types/filter-list/utils/aggregationHelpers.d.ts.map +1 -0
- package/build/types/filter-list/utils/assertUnreachable.d.ts +6 -0
- package/build/types/filter-list/utils/assertUnreachable.d.ts.map +1 -0
- package/build/types/filter-list/utils/coerceFilterValue.d.ts +11 -0
- package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +16 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterValues.d.ts +5 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -0
- package/build/types/filter-list/utils/getFilterKey.d.ts +3 -0
- package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -0
- package/build/types/object-table/ColumnConfigDialog.d.ts +18 -0
- package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -0
- package/build/types/object-table/DefaultCellRenderer.d.ts +3 -0
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -0
- package/build/types/object-table/EditableCell.d.ts +10 -0
- package/build/types/object-table/EditableCell.d.ts.map +1 -0
- package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
- package/build/types/object-table/MultiColumnSortDialog.d.ts +15 -0
- package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -0
- package/build/types/object-table/ObjectTable.d.ts +1 -1
- package/build/types/object-table/ObjectTable.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +79 -8
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/SortableItemsList.d.ts +13 -0
- package/build/types/object-table/SortableItemsList.d.ts.map +1 -0
- package/build/types/object-table/Table.d.ts +26 -1
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableHeader.d.ts +3 -1
- package/build/types/object-table/TableHeader.d.ts.map +1 -1
- package/build/types/object-table/TableHeaderWithPopover.d.ts +30 -6
- package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
- package/build/types/object-table/__tests__/useEditableTable.test.d.ts +1 -0
- package/build/types/object-table/__tests__/useEditableTable.test.d.ts.map +1 -0
- package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
- package/build/types/object-table/hooks/useColumnResize.d.ts +10 -0
- package/build/types/object-table/hooks/useColumnResize.d.ts.map +1 -0
- package/build/types/object-table/hooks/useColumnVisibility.d.ts +18 -7
- package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
- package/build/types/object-table/hooks/useEditableTable.d.ts +22 -0
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -0
- package/build/types/object-table/hooks/useObjectTableData.d.ts +6 -5
- package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
- package/build/types/object-table/hooks/useRowSelection.d.ts +5 -4
- package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
- package/build/types/object-table/utils/getCellId.d.ts +3 -0
- package/build/types/object-table/utils/getCellId.d.ts.map +1 -0
- package/build/types/object-table/utils/types.d.ts +14 -0
- package/build/types/object-table/utils/types.d.ts.map +1 -0
- package/build/types/public/experimental.d.ts +6 -2
- package/build/types/public/experimental.d.ts.map +1 -1
- package/build/types/shared/ErrorBoundary.d.ts +19 -0
- package/build/types/shared/ErrorBoundary.d.ts.map +1 -0
- package/package.json +17 -9
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import React, { memo, useCallback, useMemo } from "react";
|
|
18
|
+
import { coerceToString, coerceToStringArray } from "../utils/coerceFilterValue.js";
|
|
19
|
+
import { CheckboxListInput } from "./inputs/CheckboxListInput.js";
|
|
20
|
+
import { ContainsTextInput } from "./inputs/ContainsTextInput.js";
|
|
21
|
+
import { DateRangeInput } from "./inputs/DateRangeInput.js";
|
|
22
|
+
import { LinkedPropertyInput } from "./inputs/LinkedPropertyInput.js";
|
|
23
|
+
import { ListogramInput } from "./inputs/ListogramInput.js";
|
|
24
|
+
import { MultiDateInput } from "./inputs/MultiDateInput.js";
|
|
25
|
+
import { MultiSelectInput } from "./inputs/MultiSelectInput.js";
|
|
26
|
+
import { NullValueWrapper } from "./inputs/NullValueWrapper.js";
|
|
27
|
+
import { NumberRangeInput } from "./inputs/NumberRangeInput.js";
|
|
28
|
+
import { SingleDateInput } from "./inputs/SingleDateInput.js";
|
|
29
|
+
import { SingleSelectInput } from "./inputs/SingleSelectInput.js";
|
|
30
|
+
import { TextTagsInput } from "./inputs/TextTagsInput.js";
|
|
31
|
+
import { TimelineInput } from "./inputs/TimelineInput.js";
|
|
32
|
+
import { ToggleInput } from "./inputs/ToggleInput.js";
|
|
33
|
+
function FilterInputInner({
|
|
34
|
+
objectType,
|
|
35
|
+
objectSet,
|
|
36
|
+
definition,
|
|
37
|
+
filterState,
|
|
38
|
+
onFilterStateChanged,
|
|
39
|
+
whereClause
|
|
40
|
+
}) {
|
|
41
|
+
return /*#__PURE__*/React.createElement(FilterInputContent, {
|
|
42
|
+
objectType: objectType,
|
|
43
|
+
objectSet: objectSet,
|
|
44
|
+
definition: definition,
|
|
45
|
+
filterState: filterState,
|
|
46
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
47
|
+
whereClause: whereClause
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
export const FilterInput = /*#__PURE__*/memo(FilterInputInner);
|
|
51
|
+
function FilterInputContent({
|
|
52
|
+
objectType,
|
|
53
|
+
objectSet,
|
|
54
|
+
definition,
|
|
55
|
+
filterState,
|
|
56
|
+
onFilterStateChanged,
|
|
57
|
+
whereClause
|
|
58
|
+
}) {
|
|
59
|
+
switch (definition.type) {
|
|
60
|
+
case "HAS_LINK":
|
|
61
|
+
return /*#__PURE__*/React.createElement(HasLinkInput, {
|
|
62
|
+
filterState: filterState,
|
|
63
|
+
onFilterStateChanged: onFilterStateChanged
|
|
64
|
+
});
|
|
65
|
+
case "LINKED_PROPERTY":
|
|
66
|
+
return /*#__PURE__*/React.createElement(LinkedPropertyInput, {
|
|
67
|
+
objectSet: objectSet,
|
|
68
|
+
definition: definition,
|
|
69
|
+
filterState: filterState,
|
|
70
|
+
onFilterStateChanged: onFilterStateChanged
|
|
71
|
+
});
|
|
72
|
+
case "KEYWORD_SEARCH":
|
|
73
|
+
return /*#__PURE__*/React.createElement(KeywordSearchInput, {
|
|
74
|
+
filterState: filterState,
|
|
75
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
76
|
+
placeholder: definition.label ?? "Search..."
|
|
77
|
+
});
|
|
78
|
+
case "CUSTOM":
|
|
79
|
+
{
|
|
80
|
+
if (!definition.renderInput) {
|
|
81
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
"data-unsupported": "true"
|
|
83
|
+
}, "Custom filter missing renderInput");
|
|
84
|
+
}
|
|
85
|
+
const customFilterState = filterState?.type === "custom" ? filterState : definition.filterState;
|
|
86
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, definition.renderInput({
|
|
87
|
+
objectSet,
|
|
88
|
+
filterState: customFilterState,
|
|
89
|
+
onFilterStateChanged: state => onFilterStateChanged(state)
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
case "PROPERTY":
|
|
93
|
+
return /*#__PURE__*/React.createElement(PropertyFilterInput, {
|
|
94
|
+
objectType: objectType,
|
|
95
|
+
objectSet: objectSet,
|
|
96
|
+
definition: definition,
|
|
97
|
+
filterState: filterState,
|
|
98
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
99
|
+
whereClause: whereClause
|
|
100
|
+
});
|
|
101
|
+
default:
|
|
102
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
"data-unsupported": "true"
|
|
104
|
+
}, "Unsupported filter type");
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const HasLinkInput = /*#__PURE__*/memo(function ({
|
|
108
|
+
filterState,
|
|
109
|
+
onFilterStateChanged
|
|
110
|
+
}) {
|
|
111
|
+
const hasLink = filterState?.type === "hasLink" ? filterState.hasLink : false;
|
|
112
|
+
const handleChange = useCallback(hasLink => {
|
|
113
|
+
onFilterStateChanged({
|
|
114
|
+
type: "hasLink",
|
|
115
|
+
hasLink
|
|
116
|
+
});
|
|
117
|
+
}, [onFilterStateChanged]);
|
|
118
|
+
return /*#__PURE__*/React.createElement(ToggleInput, {
|
|
119
|
+
enabled: hasLink,
|
|
120
|
+
onChange: handleChange
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
const KeywordSearchInput = /*#__PURE__*/memo(function ({
|
|
124
|
+
filterState,
|
|
125
|
+
onFilterStateChanged,
|
|
126
|
+
placeholder
|
|
127
|
+
}) {
|
|
128
|
+
const searchTerm = filterState?.type === "keywordSearch" ? filterState.searchTerm : undefined;
|
|
129
|
+
const operator = filterState?.type === "keywordSearch" ? filterState.operator : "AND";
|
|
130
|
+
const handleChange = useCallback(newSearchTerm => {
|
|
131
|
+
onFilterStateChanged({
|
|
132
|
+
type: "keywordSearch",
|
|
133
|
+
searchTerm: newSearchTerm ?? "",
|
|
134
|
+
operator
|
|
135
|
+
});
|
|
136
|
+
}, [onFilterStateChanged, operator]);
|
|
137
|
+
return /*#__PURE__*/React.createElement(ContainsTextInput, {
|
|
138
|
+
value: searchTerm,
|
|
139
|
+
onChange: handleChange,
|
|
140
|
+
placeholder: placeholder
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
function PropertyFilterInputInner({
|
|
144
|
+
objectType,
|
|
145
|
+
objectSet,
|
|
146
|
+
definition,
|
|
147
|
+
filterState,
|
|
148
|
+
onFilterStateChanged,
|
|
149
|
+
whereClause
|
|
150
|
+
}) {
|
|
151
|
+
switch (definition.filterComponent) {
|
|
152
|
+
case "CHECKBOX_LIST":
|
|
153
|
+
return /*#__PURE__*/React.createElement(CheckboxListFilterInput, {
|
|
154
|
+
objectType: objectType,
|
|
155
|
+
objectSet: objectSet,
|
|
156
|
+
propertyKey: definition.key,
|
|
157
|
+
filterState: filterState,
|
|
158
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
159
|
+
whereClause: whereClause
|
|
160
|
+
});
|
|
161
|
+
case "CONTAINS_TEXT":
|
|
162
|
+
return /*#__PURE__*/React.createElement(ContainsTextFilterInput, {
|
|
163
|
+
propertyKey: definition.key,
|
|
164
|
+
filterState: filterState,
|
|
165
|
+
onFilterStateChanged: onFilterStateChanged
|
|
166
|
+
});
|
|
167
|
+
case "TOGGLE":
|
|
168
|
+
return /*#__PURE__*/React.createElement(ToggleFilterInput, {
|
|
169
|
+
filterState: filterState,
|
|
170
|
+
onFilterStateChanged: onFilterStateChanged
|
|
171
|
+
});
|
|
172
|
+
case "NUMBER_RANGE":
|
|
173
|
+
return /*#__PURE__*/React.createElement(NumberRangeFilterInput, {
|
|
174
|
+
objectType: objectType,
|
|
175
|
+
propertyKey: definition.key,
|
|
176
|
+
filterState: filterState,
|
|
177
|
+
onFilterStateChanged: onFilterStateChanged
|
|
178
|
+
});
|
|
179
|
+
case "DATE_RANGE":
|
|
180
|
+
return /*#__PURE__*/React.createElement(DateRangeFilterInput, {
|
|
181
|
+
objectType: objectType,
|
|
182
|
+
propertyKey: definition.key,
|
|
183
|
+
filterState: filterState,
|
|
184
|
+
onFilterStateChanged: onFilterStateChanged
|
|
185
|
+
});
|
|
186
|
+
case "SINGLE_SELECT":
|
|
187
|
+
return /*#__PURE__*/React.createElement(SingleSelectFilterInput, {
|
|
188
|
+
objectType: objectType,
|
|
189
|
+
propertyKey: definition.key,
|
|
190
|
+
filterState: filterState,
|
|
191
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
192
|
+
whereClause: whereClause
|
|
193
|
+
});
|
|
194
|
+
case "MULTI_SELECT":
|
|
195
|
+
return /*#__PURE__*/React.createElement(MultiSelectFilterInput, {
|
|
196
|
+
objectType: objectType,
|
|
197
|
+
propertyKey: definition.key,
|
|
198
|
+
filterState: filterState,
|
|
199
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
200
|
+
whereClause: whereClause
|
|
201
|
+
});
|
|
202
|
+
case "SINGLE_DATE":
|
|
203
|
+
return /*#__PURE__*/React.createElement(SingleDateFilterInput, {
|
|
204
|
+
filterState: filterState,
|
|
205
|
+
onFilterStateChanged: onFilterStateChanged
|
|
206
|
+
});
|
|
207
|
+
case "MULTI_DATE":
|
|
208
|
+
return /*#__PURE__*/React.createElement(MultiDateFilterInput, {
|
|
209
|
+
filterState: filterState,
|
|
210
|
+
onFilterStateChanged: onFilterStateChanged
|
|
211
|
+
});
|
|
212
|
+
case "LISTOGRAM":
|
|
213
|
+
return /*#__PURE__*/React.createElement(ListogramFilterInput, {
|
|
214
|
+
objectType: objectType,
|
|
215
|
+
propertyKey: definition.key,
|
|
216
|
+
filterState: filterState,
|
|
217
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
218
|
+
whereClause: whereClause
|
|
219
|
+
});
|
|
220
|
+
case "TEXT_TAGS":
|
|
221
|
+
return /*#__PURE__*/React.createElement(TextTagsFilterInput, {
|
|
222
|
+
objectType: objectType,
|
|
223
|
+
propertyKey: definition.key,
|
|
224
|
+
filterState: filterState,
|
|
225
|
+
onFilterStateChanged: onFilterStateChanged,
|
|
226
|
+
whereClause: whereClause
|
|
227
|
+
});
|
|
228
|
+
case "TIMELINE":
|
|
229
|
+
return /*#__PURE__*/React.createElement(TimelineFilterInput, {
|
|
230
|
+
filterState: filterState,
|
|
231
|
+
onFilterStateChanged: onFilterStateChanged
|
|
232
|
+
});
|
|
233
|
+
default:
|
|
234
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
235
|
+
"data-unsupported": "true"
|
|
236
|
+
}, "Unsupported filter component: ", definition.filterComponent);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
const PropertyFilterInput = /*#__PURE__*/memo(PropertyFilterInputInner);
|
|
240
|
+
function CheckboxListFilterInputInner({
|
|
241
|
+
objectType,
|
|
242
|
+
objectSet,
|
|
243
|
+
propertyKey,
|
|
244
|
+
filterState,
|
|
245
|
+
onFilterStateChanged,
|
|
246
|
+
whereClause
|
|
247
|
+
}) {
|
|
248
|
+
const selectedValues = useMemo(() => filterState?.type === "SELECT" ? coerceToStringArray(filterState.selectedValues) : [], [filterState]);
|
|
249
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
250
|
+
const handleChange = useCallback(newSelectedValues => {
|
|
251
|
+
onFilterStateChanged({
|
|
252
|
+
type: "SELECT",
|
|
253
|
+
selectedValues: newSelectedValues,
|
|
254
|
+
isExcluding
|
|
255
|
+
});
|
|
256
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
257
|
+
return /*#__PURE__*/React.createElement(CheckboxListInput, {
|
|
258
|
+
objectType: objectType,
|
|
259
|
+
objectSet: objectSet,
|
|
260
|
+
propertyKey: propertyKey,
|
|
261
|
+
selectedValues: selectedValues,
|
|
262
|
+
onChange: handleChange,
|
|
263
|
+
whereClause: whereClause
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
const CheckboxListFilterInput = /*#__PURE__*/memo(CheckboxListFilterInputInner);
|
|
267
|
+
const ContainsTextFilterInput = /*#__PURE__*/memo(function ({
|
|
268
|
+
propertyKey,
|
|
269
|
+
filterState,
|
|
270
|
+
onFilterStateChanged
|
|
271
|
+
}) {
|
|
272
|
+
const value = useMemo(() => filterState?.type === "CONTAINS_TEXT" ? filterState.value : undefined, [filterState]);
|
|
273
|
+
const handleChange = useCallback(value => {
|
|
274
|
+
onFilterStateChanged({
|
|
275
|
+
type: "CONTAINS_TEXT",
|
|
276
|
+
value
|
|
277
|
+
});
|
|
278
|
+
}, [onFilterStateChanged]);
|
|
279
|
+
return /*#__PURE__*/React.createElement(ContainsTextInput, {
|
|
280
|
+
value: value,
|
|
281
|
+
onChange: handleChange,
|
|
282
|
+
placeholder: `Search ${propertyKey}...`
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
const ToggleFilterInput = /*#__PURE__*/memo(function ({
|
|
286
|
+
filterState,
|
|
287
|
+
onFilterStateChanged
|
|
288
|
+
}) {
|
|
289
|
+
const enabled = filterState?.type === "TOGGLE" ? filterState.enabled : false;
|
|
290
|
+
const handleChange = useCallback(enabled => {
|
|
291
|
+
onFilterStateChanged({
|
|
292
|
+
type: "TOGGLE",
|
|
293
|
+
enabled
|
|
294
|
+
});
|
|
295
|
+
}, [onFilterStateChanged]);
|
|
296
|
+
return /*#__PURE__*/React.createElement(ToggleInput, {
|
|
297
|
+
enabled: enabled,
|
|
298
|
+
onChange: handleChange
|
|
299
|
+
});
|
|
300
|
+
});
|
|
301
|
+
function NumberRangeFilterInputInner({
|
|
302
|
+
objectType,
|
|
303
|
+
propertyKey,
|
|
304
|
+
filterState,
|
|
305
|
+
onFilterStateChanged
|
|
306
|
+
}) {
|
|
307
|
+
const numberRangeState = useMemo(() => filterState?.type === "NUMBER_RANGE" ? filterState : undefined, [filterState]);
|
|
308
|
+
const includeNull = filterState?.includeNull;
|
|
309
|
+
const handleNullChange = useCallback(includeNull => {
|
|
310
|
+
onFilterStateChanged({
|
|
311
|
+
type: "NUMBER_RANGE",
|
|
312
|
+
minValue: numberRangeState?.minValue,
|
|
313
|
+
maxValue: numberRangeState?.maxValue,
|
|
314
|
+
includeNull
|
|
315
|
+
});
|
|
316
|
+
}, [onFilterStateChanged, numberRangeState?.minValue, numberRangeState?.maxValue]);
|
|
317
|
+
const handleRangeChange = useCallback((minValue, maxValue) => {
|
|
318
|
+
onFilterStateChanged({
|
|
319
|
+
type: "NUMBER_RANGE",
|
|
320
|
+
minValue,
|
|
321
|
+
maxValue,
|
|
322
|
+
includeNull
|
|
323
|
+
});
|
|
324
|
+
}, [onFilterStateChanged, includeNull]);
|
|
325
|
+
return /*#__PURE__*/React.createElement(NullValueWrapper, {
|
|
326
|
+
objectType: objectType,
|
|
327
|
+
propertyKey: propertyKey,
|
|
328
|
+
includeNull: includeNull,
|
|
329
|
+
onIncludeNullChange: handleNullChange
|
|
330
|
+
}, /*#__PURE__*/React.createElement(NumberRangeInput, {
|
|
331
|
+
objectType: objectType,
|
|
332
|
+
propertyKey: propertyKey,
|
|
333
|
+
minValue: numberRangeState?.minValue,
|
|
334
|
+
maxValue: numberRangeState?.maxValue,
|
|
335
|
+
onChange: handleRangeChange
|
|
336
|
+
}));
|
|
337
|
+
}
|
|
338
|
+
const NumberRangeFilterInput = /*#__PURE__*/memo(NumberRangeFilterInputInner);
|
|
339
|
+
function DateRangeFilterInputInner({
|
|
340
|
+
objectType,
|
|
341
|
+
propertyKey,
|
|
342
|
+
filterState,
|
|
343
|
+
onFilterStateChanged
|
|
344
|
+
}) {
|
|
345
|
+
const dateRangeState = useMemo(() => filterState?.type === "DATE_RANGE" ? filterState : undefined, [filterState]);
|
|
346
|
+
const includeNull = filterState?.includeNull;
|
|
347
|
+
const handleNullChange = useCallback(includeNull => {
|
|
348
|
+
onFilterStateChanged({
|
|
349
|
+
type: "DATE_RANGE",
|
|
350
|
+
minValue: dateRangeState?.minValue,
|
|
351
|
+
maxValue: dateRangeState?.maxValue,
|
|
352
|
+
includeNull
|
|
353
|
+
});
|
|
354
|
+
}, [onFilterStateChanged, dateRangeState?.minValue, dateRangeState?.maxValue]);
|
|
355
|
+
const handleRangeChange = useCallback((minValue, maxValue) => {
|
|
356
|
+
onFilterStateChanged({
|
|
357
|
+
type: "DATE_RANGE",
|
|
358
|
+
minValue,
|
|
359
|
+
maxValue,
|
|
360
|
+
includeNull
|
|
361
|
+
});
|
|
362
|
+
}, [onFilterStateChanged, includeNull]);
|
|
363
|
+
return /*#__PURE__*/React.createElement(NullValueWrapper, {
|
|
364
|
+
objectType: objectType,
|
|
365
|
+
propertyKey: propertyKey,
|
|
366
|
+
includeNull: includeNull,
|
|
367
|
+
onIncludeNullChange: handleNullChange
|
|
368
|
+
}, /*#__PURE__*/React.createElement(DateRangeInput, {
|
|
369
|
+
objectType: objectType,
|
|
370
|
+
propertyKey: propertyKey,
|
|
371
|
+
minValue: dateRangeState?.minValue,
|
|
372
|
+
maxValue: dateRangeState?.maxValue,
|
|
373
|
+
onChange: handleRangeChange
|
|
374
|
+
}));
|
|
375
|
+
}
|
|
376
|
+
const DateRangeFilterInput = /*#__PURE__*/memo(DateRangeFilterInputInner);
|
|
377
|
+
function SingleSelectFilterInputInner({
|
|
378
|
+
objectType,
|
|
379
|
+
propertyKey,
|
|
380
|
+
filterState,
|
|
381
|
+
onFilterStateChanged,
|
|
382
|
+
whereClause
|
|
383
|
+
}) {
|
|
384
|
+
const selectedValue = useMemo(() => filterState?.type === "SELECT" ? coerceToString(filterState.selectedValues[0]) : undefined, [filterState]);
|
|
385
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
386
|
+
const handleChange = useCallback(value => {
|
|
387
|
+
onFilterStateChanged({
|
|
388
|
+
type: "SELECT",
|
|
389
|
+
selectedValues: value !== undefined ? [value] : [],
|
|
390
|
+
isExcluding
|
|
391
|
+
});
|
|
392
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
393
|
+
return /*#__PURE__*/React.createElement(SingleSelectInput, {
|
|
394
|
+
objectType: objectType,
|
|
395
|
+
propertyKey: propertyKey,
|
|
396
|
+
selectedValue: selectedValue,
|
|
397
|
+
onChange: handleChange,
|
|
398
|
+
whereClause: whereClause
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
const SingleSelectFilterInput = /*#__PURE__*/memo(SingleSelectFilterInputInner);
|
|
402
|
+
function MultiSelectFilterInputInner({
|
|
403
|
+
objectType,
|
|
404
|
+
propertyKey,
|
|
405
|
+
filterState,
|
|
406
|
+
onFilterStateChanged,
|
|
407
|
+
whereClause
|
|
408
|
+
}) {
|
|
409
|
+
const selectedValues = useMemo(() => filterState?.type === "SELECT" ? coerceToStringArray(filterState.selectedValues) : [], [filterState]);
|
|
410
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
411
|
+
const handleChange = useCallback(selectedValues => {
|
|
412
|
+
onFilterStateChanged({
|
|
413
|
+
type: "SELECT",
|
|
414
|
+
selectedValues,
|
|
415
|
+
isExcluding
|
|
416
|
+
});
|
|
417
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
418
|
+
return /*#__PURE__*/React.createElement(MultiSelectInput, {
|
|
419
|
+
objectType: objectType,
|
|
420
|
+
propertyKey: propertyKey,
|
|
421
|
+
selectedValues: selectedValues,
|
|
422
|
+
onChange: handleChange,
|
|
423
|
+
whereClause: whereClause
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
const MultiSelectFilterInput = /*#__PURE__*/memo(MultiSelectFilterInputInner);
|
|
427
|
+
const SingleDateFilterInput = /*#__PURE__*/memo(function ({
|
|
428
|
+
filterState,
|
|
429
|
+
onFilterStateChanged
|
|
430
|
+
}) {
|
|
431
|
+
const selectedDate = useMemo(() => filterState?.type === "SELECT" ? filterState.selectedValues[0] instanceof Date ? filterState.selectedValues[0] : undefined : undefined, [filterState]);
|
|
432
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
433
|
+
const handleChange = useCallback(selectedDate => {
|
|
434
|
+
onFilterStateChanged({
|
|
435
|
+
type: "SELECT",
|
|
436
|
+
selectedValues: selectedDate !== undefined ? [selectedDate] : [],
|
|
437
|
+
isExcluding
|
|
438
|
+
});
|
|
439
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
440
|
+
return /*#__PURE__*/React.createElement(SingleDateInput, {
|
|
441
|
+
selectedDate: selectedDate,
|
|
442
|
+
onChange: handleChange
|
|
443
|
+
});
|
|
444
|
+
});
|
|
445
|
+
const MultiDateFilterInput = /*#__PURE__*/memo(function ({
|
|
446
|
+
filterState,
|
|
447
|
+
onFilterStateChanged
|
|
448
|
+
}) {
|
|
449
|
+
const selectedDates = useMemo(() => filterState?.type === "SELECT" ? filterState.selectedValues.filter(v => v instanceof Date) : [], [filterState]);
|
|
450
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
451
|
+
const handleChange = useCallback(selectedDates => {
|
|
452
|
+
onFilterStateChanged({
|
|
453
|
+
type: "SELECT",
|
|
454
|
+
selectedValues: selectedDates,
|
|
455
|
+
isExcluding
|
|
456
|
+
});
|
|
457
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
458
|
+
return /*#__PURE__*/React.createElement(MultiDateInput, {
|
|
459
|
+
selectedDates: selectedDates,
|
|
460
|
+
onChange: handleChange
|
|
461
|
+
});
|
|
462
|
+
});
|
|
463
|
+
function ListogramFilterInputInner({
|
|
464
|
+
objectType,
|
|
465
|
+
propertyKey,
|
|
466
|
+
filterState,
|
|
467
|
+
onFilterStateChanged,
|
|
468
|
+
whereClause
|
|
469
|
+
}) {
|
|
470
|
+
const selectedValues = useMemo(() => filterState?.type === "EXACT_MATCH" ? coerceToStringArray(filterState.values) : [], [filterState]);
|
|
471
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
472
|
+
const handleChange = useCallback(values => {
|
|
473
|
+
onFilterStateChanged({
|
|
474
|
+
type: "EXACT_MATCH",
|
|
475
|
+
values,
|
|
476
|
+
isExcluding
|
|
477
|
+
});
|
|
478
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
479
|
+
return /*#__PURE__*/React.createElement(ListogramInput, {
|
|
480
|
+
objectType: objectType,
|
|
481
|
+
propertyKey: propertyKey,
|
|
482
|
+
selectedValues: selectedValues,
|
|
483
|
+
onChange: handleChange,
|
|
484
|
+
whereClause: whereClause
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
const ListogramFilterInput = /*#__PURE__*/memo(ListogramFilterInputInner);
|
|
488
|
+
function TextTagsFilterInputInner({
|
|
489
|
+
objectType,
|
|
490
|
+
propertyKey,
|
|
491
|
+
filterState,
|
|
492
|
+
onFilterStateChanged,
|
|
493
|
+
whereClause
|
|
494
|
+
}) {
|
|
495
|
+
const tags = useMemo(() => filterState?.type === "EXACT_MATCH" ? coerceToStringArray(filterState.values) : [], [filterState]);
|
|
496
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
497
|
+
const handleChange = useCallback(values => {
|
|
498
|
+
onFilterStateChanged({
|
|
499
|
+
type: "EXACT_MATCH",
|
|
500
|
+
values,
|
|
501
|
+
isExcluding
|
|
502
|
+
});
|
|
503
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
504
|
+
return /*#__PURE__*/React.createElement(TextTagsInput, {
|
|
505
|
+
objectType: objectType,
|
|
506
|
+
propertyKey: propertyKey,
|
|
507
|
+
tags: tags,
|
|
508
|
+
onChange: handleChange,
|
|
509
|
+
whereClause: whereClause
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
const TextTagsFilterInput = /*#__PURE__*/memo(TextTagsFilterInputInner);
|
|
513
|
+
const TimelineFilterInput = /*#__PURE__*/memo(function ({
|
|
514
|
+
filterState,
|
|
515
|
+
onFilterStateChanged
|
|
516
|
+
}) {
|
|
517
|
+
const {
|
|
518
|
+
startDate,
|
|
519
|
+
endDate
|
|
520
|
+
} = useMemo(() => filterState?.type === "TIMELINE" ? {
|
|
521
|
+
startDate: filterState.startDate,
|
|
522
|
+
endDate: filterState.endDate
|
|
523
|
+
} : {
|
|
524
|
+
startDate: undefined,
|
|
525
|
+
endDate: undefined
|
|
526
|
+
}, [filterState]);
|
|
527
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
528
|
+
const handleChange = useCallback((startDate, endDate) => {
|
|
529
|
+
onFilterStateChanged({
|
|
530
|
+
type: "TIMELINE",
|
|
531
|
+
startDate,
|
|
532
|
+
endDate,
|
|
533
|
+
isExcluding
|
|
534
|
+
});
|
|
535
|
+
}, [onFilterStateChanged, isExcluding]);
|
|
536
|
+
return /*#__PURE__*/React.createElement(TimelineInput, {
|
|
537
|
+
startDate: startDate,
|
|
538
|
+
endDate: endDate,
|
|
539
|
+
onChange: handleChange
|
|
540
|
+
});
|
|
541
|
+
});
|
|
542
|
+
//# sourceMappingURL=FilterInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterInput.js","names":["React","memo","useCallback","useMemo","coerceToString","coerceToStringArray","CheckboxListInput","ContainsTextInput","DateRangeInput","LinkedPropertyInput","ListogramInput","MultiDateInput","MultiSelectInput","NullValueWrapper","NumberRangeInput","SingleDateInput","SingleSelectInput","TextTagsInput","TimelineInput","ToggleInput","FilterInputInner","objectType","objectSet","definition","filterState","onFilterStateChanged","whereClause","createElement","FilterInputContent","FilterInput","type","HasLinkInput","KeywordSearchInput","placeholder","label","renderInput","customFilterState","Fragment","state","PropertyFilterInput","hasLink","handleChange","enabled","onChange","searchTerm","undefined","operator","newSearchTerm","value","PropertyFilterInputInner","filterComponent","CheckboxListFilterInput","propertyKey","key","ContainsTextFilterInput","ToggleFilterInput","NumberRangeFilterInput","DateRangeFilterInput","SingleSelectFilterInput","MultiSelectFilterInput","SingleDateFilterInput","MultiDateFilterInput","ListogramFilterInput","TextTagsFilterInput","TimelineFilterInput","CheckboxListFilterInputInner","selectedValues","isExcluding","newSelectedValues","NumberRangeFilterInputInner","numberRangeState","includeNull","handleNullChange","minValue","maxValue","handleRangeChange","onIncludeNullChange","DateRangeFilterInputInner","dateRangeState","SingleSelectFilterInputInner","selectedValue","MultiSelectFilterInputInner","selectedDate","Date","selectedDates","filter","v","ListogramFilterInputInner","values","TextTagsFilterInputInner","tags","startDate","endDate"],"sources":["FilterInput.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport React, { memo, useCallback, useMemo } from \"react\";\nimport type { FilterDefinitionUnion } from \"../FilterListApi.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport {\n coerceToString,\n coerceToStringArray,\n} from \"../utils/coerceFilterValue.js\";\nimport { CheckboxListInput } from \"./inputs/CheckboxListInput.js\";\nimport { ContainsTextInput } from \"./inputs/ContainsTextInput.js\";\nimport { DateRangeInput } from \"./inputs/DateRangeInput.js\";\nimport { LinkedPropertyInput } from \"./inputs/LinkedPropertyInput.js\";\nimport { ListogramInput } from \"./inputs/ListogramInput.js\";\nimport { MultiDateInput } from \"./inputs/MultiDateInput.js\";\nimport { MultiSelectInput } from \"./inputs/MultiSelectInput.js\";\nimport { NullValueWrapper } from \"./inputs/NullValueWrapper.js\";\nimport { NumberRangeInput } from \"./inputs/NumberRangeInput.js\";\nimport { SingleDateInput } from \"./inputs/SingleDateInput.js\";\nimport { SingleSelectInput } from \"./inputs/SingleSelectInput.js\";\nimport { TextTagsInput } from \"./inputs/TextTagsInput.js\";\nimport { TimelineInput } from \"./inputs/TimelineInput.js\";\nimport { ToggleInput } from \"./inputs/ToggleInput.js\";\n\ninterface FilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n definition: FilterDefinitionUnion<Q>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction FilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: FilterInputProps<Q>): React.ReactElement {\n return (\n <FilterInputContent\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n}\n\nexport const FilterInput = memo(FilterInputInner) as typeof FilterInputInner;\n\nfunction FilterInputContent<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: FilterInputProps<Q>): React.ReactElement {\n switch (definition.type) {\n case \"HAS_LINK\":\n return (\n <HasLinkInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"LINKED_PROPERTY\":\n return (\n <LinkedPropertyInput\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"KEYWORD_SEARCH\":\n return (\n <KeywordSearchInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n placeholder={definition.label ?? \"Search...\"}\n />\n );\n\n case \"CUSTOM\": {\n if (!definition.renderInput) {\n return (\n <div data-unsupported=\"true\">Custom filter missing renderInput</div>\n );\n }\n const customFilterState = filterState?.type === \"custom\"\n ? filterState\n : definition.filterState;\n return (\n <>\n {definition.renderInput({\n objectSet,\n filterState: customFilterState,\n onFilterStateChanged: (state) => onFilterStateChanged(state),\n })}\n </>\n );\n }\n\n case \"PROPERTY\":\n return (\n <PropertyFilterInput\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n default:\n return <div data-unsupported=\"true\">Unsupported filter type</div>;\n }\n}\n\ninterface HasLinkInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst HasLinkInput = memo(function HasLinkInput({\n filterState,\n onFilterStateChanged,\n}: HasLinkInputProps): React.ReactElement {\n const hasLink = filterState?.type === \"hasLink\"\n ? filterState.hasLink\n : false;\n\n const handleChange = useCallback(\n (hasLink: boolean) => {\n onFilterStateChanged({ type: \"hasLink\", hasLink });\n },\n [onFilterStateChanged],\n );\n\n return <ToggleInput enabled={hasLink} onChange={handleChange} />;\n});\n\ninterface KeywordSearchInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n placeholder: string;\n}\n\nconst KeywordSearchInput = memo(function KeywordSearchInput({\n filterState,\n onFilterStateChanged,\n placeholder,\n}: KeywordSearchInputProps): React.ReactElement {\n const searchTerm = filterState?.type === \"keywordSearch\"\n ? filterState.searchTerm\n : undefined;\n const operator = filterState?.type === \"keywordSearch\"\n ? filterState.operator\n : \"AND\";\n\n const handleChange = useCallback(\n (newSearchTerm: string | undefined) => {\n onFilterStateChanged({\n type: \"keywordSearch\",\n searchTerm: newSearchTerm ?? \"\",\n operator,\n });\n },\n [onFilterStateChanged, operator],\n );\n\n return (\n <ContainsTextInput\n value={searchTerm}\n onChange={handleChange}\n placeholder={placeholder}\n />\n );\n});\n\ninterface PropertyFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n definition: Extract<FilterDefinitionUnion<Q>, { type: \"PROPERTY\" }>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction PropertyFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: PropertyFilterInputProps<Q>): React.ReactElement {\n switch (definition.filterComponent) {\n case \"CHECKBOX_LIST\":\n return (\n <CheckboxListFilterInput\n objectType={objectType}\n objectSet={objectSet}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"CONTAINS_TEXT\":\n return (\n <ContainsTextFilterInput\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"TOGGLE\":\n return (\n <ToggleFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"NUMBER_RANGE\":\n return (\n <NumberRangeFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"DATE_RANGE\":\n return (\n <DateRangeFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"SINGLE_SELECT\":\n return (\n <SingleSelectFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"MULTI_SELECT\":\n return (\n <MultiSelectFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"SINGLE_DATE\":\n return (\n <SingleDateFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"MULTI_DATE\":\n return (\n <MultiDateFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"LISTOGRAM\":\n return (\n <ListogramFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"TEXT_TAGS\":\n return (\n <TextTagsFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"TIMELINE\":\n return (\n <TimelineFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n default:\n return (\n <div data-unsupported=\"true\">\n Unsupported filter component: {definition.filterComponent}\n </div>\n );\n }\n}\n\nconst PropertyFilterInput = memo(\n PropertyFilterInputInner,\n) as typeof PropertyFilterInputInner;\n\ninterface CheckboxListFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction CheckboxListFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: CheckboxListFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToStringArray(filterState.selectedValues)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (newSelectedValues: string[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: newSelectedValues,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <CheckboxListInput\n objectType={objectType}\n objectSet={objectSet}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst CheckboxListFilterInput = memo(\n CheckboxListFilterInputInner,\n) as typeof CheckboxListFilterInputInner;\n\ninterface ContainsTextFilterInputProps {\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst ContainsTextFilterInput = memo(function ContainsTextFilterInput({\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: ContainsTextFilterInputProps): React.ReactElement {\n const value = useMemo(\n () =>\n filterState?.type === \"CONTAINS_TEXT\"\n ? filterState.value\n : undefined,\n [filterState],\n );\n\n const handleChange = useCallback(\n (value: string | undefined) => {\n onFilterStateChanged({ type: \"CONTAINS_TEXT\", value });\n },\n [onFilterStateChanged],\n );\n\n return (\n <ContainsTextInput\n value={value}\n onChange={handleChange}\n placeholder={`Search ${propertyKey}...`}\n />\n );\n});\n\ninterface ToggleFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst ToggleFilterInput = memo(function ToggleFilterInput({\n filterState,\n onFilterStateChanged,\n}: ToggleFilterInputProps): React.ReactElement {\n const enabled = filterState?.type === \"TOGGLE\" ? filterState.enabled : false;\n\n const handleChange = useCallback(\n (enabled: boolean) => {\n onFilterStateChanged({ type: \"TOGGLE\", enabled });\n },\n [onFilterStateChanged],\n );\n\n return <ToggleInput enabled={enabled} onChange={handleChange} />;\n});\n\ninterface NumberRangeFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nfunction NumberRangeFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: NumberRangeFilterInputProps<Q>): React.ReactElement {\n const numberRangeState = useMemo(\n () => filterState?.type === \"NUMBER_RANGE\" ? filterState : undefined,\n [filterState],\n );\n const includeNull = filterState?.includeNull;\n\n const handleNullChange = useCallback(\n (includeNull: boolean) => {\n onFilterStateChanged({\n type: \"NUMBER_RANGE\",\n minValue: numberRangeState?.minValue,\n maxValue: numberRangeState?.maxValue,\n includeNull,\n });\n },\n [\n onFilterStateChanged,\n numberRangeState?.minValue,\n numberRangeState?.maxValue,\n ],\n );\n\n const handleRangeChange = useCallback(\n (minValue: number | undefined, maxValue: number | undefined) => {\n onFilterStateChanged({\n type: \"NUMBER_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, includeNull],\n );\n\n return (\n <NullValueWrapper\n objectType={objectType}\n propertyKey={propertyKey}\n includeNull={includeNull}\n onIncludeNullChange={handleNullChange}\n >\n <NumberRangeInput\n objectType={objectType}\n propertyKey={propertyKey}\n minValue={numberRangeState?.minValue}\n maxValue={numberRangeState?.maxValue}\n onChange={handleRangeChange}\n />\n </NullValueWrapper>\n );\n}\n\nconst NumberRangeFilterInput = memo(\n NumberRangeFilterInputInner,\n) as typeof NumberRangeFilterInputInner;\n\ninterface DateRangeFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nfunction DateRangeFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: DateRangeFilterInputProps<Q>): React.ReactElement {\n const dateRangeState = useMemo(\n () => filterState?.type === \"DATE_RANGE\" ? filterState : undefined,\n [filterState],\n );\n const includeNull = filterState?.includeNull;\n\n const handleNullChange = useCallback(\n (includeNull: boolean) => {\n onFilterStateChanged({\n type: \"DATE_RANGE\",\n minValue: dateRangeState?.minValue,\n maxValue: dateRangeState?.maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, dateRangeState?.minValue, dateRangeState?.maxValue],\n );\n\n const handleRangeChange = useCallback(\n (minValue: Date | undefined, maxValue: Date | undefined) => {\n onFilterStateChanged({\n type: \"DATE_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, includeNull],\n );\n\n return (\n <NullValueWrapper\n objectType={objectType}\n propertyKey={propertyKey}\n includeNull={includeNull}\n onIncludeNullChange={handleNullChange}\n >\n <DateRangeInput\n objectType={objectType}\n propertyKey={propertyKey}\n minValue={dateRangeState?.minValue}\n maxValue={dateRangeState?.maxValue}\n onChange={handleRangeChange}\n />\n </NullValueWrapper>\n );\n}\n\nconst DateRangeFilterInput = memo(\n DateRangeFilterInputInner,\n) as typeof DateRangeFilterInputInner;\n\ninterface SingleSelectFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction SingleSelectFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: SingleSelectFilterInputProps<Q>): React.ReactElement {\n const selectedValue = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToString(filterState.selectedValues[0])\n : undefined,\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (value: string | undefined) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: value !== undefined ? [value] : [],\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <SingleSelectInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValue={selectedValue}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst SingleSelectFilterInput = memo(\n SingleSelectFilterInputInner,\n) as typeof SingleSelectFilterInputInner;\n\ninterface MultiSelectFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction MultiSelectFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: MultiSelectFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToStringArray(filterState.selectedValues)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedValues: string[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <MultiSelectInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst MultiSelectFilterInput = memo(\n MultiSelectFilterInputInner,\n) as typeof MultiSelectFilterInputInner;\n\ninterface SingleDateFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst SingleDateFilterInput = memo(function SingleDateFilterInput({\n filterState,\n onFilterStateChanged,\n}: SingleDateFilterInputProps): React.ReactElement {\n const selectedDate = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? (filterState.selectedValues[0] instanceof Date\n ? filterState.selectedValues[0]\n : undefined)\n : undefined,\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedDate: Date | undefined) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: selectedDate !== undefined ? [selectedDate] : [],\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <SingleDateInput selectedDate={selectedDate} onChange={handleChange} />\n );\n});\n\ninterface MultiDateFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst MultiDateFilterInput = memo(function MultiDateFilterInput({\n filterState,\n onFilterStateChanged,\n}: MultiDateFilterInputProps): React.ReactElement {\n const selectedDates = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? filterState.selectedValues.filter((v): v is Date => v instanceof Date)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedDates: Date[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: selectedDates,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <MultiDateInput selectedDates={selectedDates} onChange={handleChange} />\n );\n});\n\ninterface ListogramFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction ListogramFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: ListogramFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"EXACT_MATCH\"\n ? coerceToStringArray(filterState.values)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (values: string[]) => {\n onFilterStateChanged({\n type: \"EXACT_MATCH\",\n values,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <ListogramInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst ListogramFilterInput = memo(\n ListogramFilterInputInner,\n) as typeof ListogramFilterInputInner;\n\ninterface TextTagsFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction TextTagsFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: TextTagsFilterInputProps<Q>): React.ReactElement {\n const tags = useMemo(\n () =>\n filterState?.type === \"EXACT_MATCH\"\n ? coerceToStringArray(filterState.values)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (values: string[]) => {\n onFilterStateChanged({\n type: \"EXACT_MATCH\",\n values,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <TextTagsInput\n objectType={objectType}\n propertyKey={propertyKey}\n tags={tags}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst TextTagsFilterInput = memo(\n TextTagsFilterInputInner,\n) as typeof TextTagsFilterInputInner;\n\ninterface TimelineFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst TimelineFilterInput = memo(function TimelineFilterInput({\n filterState,\n onFilterStateChanged,\n}: TimelineFilterInputProps): React.ReactElement {\n const { startDate, endDate } = useMemo(\n () =>\n filterState?.type === \"TIMELINE\"\n ? { startDate: filterState.startDate, endDate: filterState.endDate }\n : { startDate: undefined, endDate: undefined },\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (startDate: Date | undefined, endDate: Date | undefined) => {\n onFilterStateChanged({\n type: \"TIMELINE\",\n startDate,\n endDate,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <TimelineInput\n startDate={startDate}\n endDate={endDate}\n onChange={handleChange}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}
|