@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
|
@@ -1,55 +1,201 @@
|
|
|
1
|
-
import { ObjectTypeDefinition, PropertyKeys,
|
|
1
|
+
import { ObjectTypeDefinition, ObjectSet, WhereClause, PropertyKeys, LinkNames, LinkedType, WirePropertyTypes, CompileTimeMetadata, ObjectOrInterfaceDefinition, SimplePropertyDef, QueryDefinition, DerivedProperty, Osdk, PrimaryKeyType } from '@osdk/api';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, { ReactElement } from 'react';
|
|
4
|
-
import { RowData, Table, Cell } from '@tanstack/react-table';
|
|
3
|
+
import React__default, { ReactNode, ReactElement } from 'react';
|
|
4
|
+
import { RowData, Table, Cell, VisibilityState, ColumnOrderState } from '@tanstack/react-table';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* State for custom filter
|
|
8
8
|
*/
|
|
9
|
-
interface
|
|
9
|
+
interface CustomFilterState<T = Record<string, unknown>> extends BaseFilterState {
|
|
10
|
+
type: "custom";
|
|
11
|
+
customState: T;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Props passed to custom filter input renderer
|
|
15
|
+
*/
|
|
16
|
+
interface CustomFilterInputRendererProps<Q extends ObjectTypeDefinition, State extends BaseFilterState> {
|
|
10
17
|
objectSet: ObjectSet<Q>;
|
|
18
|
+
filterState: State;
|
|
19
|
+
onFilterStateChanged: (newState: State) => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Props passed to custom filter item renderer
|
|
23
|
+
* Includes full item context in addition to input renderer props
|
|
24
|
+
*/
|
|
25
|
+
interface CustomFilterItemRendererProps<Q extends ObjectTypeDefinition, State extends BaseFilterState> extends CustomFilterInputRendererProps<Q, State> {
|
|
26
|
+
label: string;
|
|
27
|
+
onRemove?: () => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Filter definition for custom filters
|
|
31
|
+
* Provides full control over rendering and filter logic
|
|
32
|
+
*/
|
|
33
|
+
interface CustomFilterDefinition<Q extends ObjectTypeDefinition, State extends BaseFilterState = CustomFilterState> {
|
|
34
|
+
type: "CUSTOM";
|
|
11
35
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
36
|
+
* Optional unique identifier for stable keying across filter reorders.
|
|
37
|
+
* If provided, takes precedence over `key` for state keying.
|
|
14
38
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
39
|
+
id?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Unique key for this custom filter
|
|
42
|
+
*/
|
|
43
|
+
key: string;
|
|
44
|
+
label?: string;
|
|
45
|
+
filterComponent: "CUSTOM";
|
|
46
|
+
filterState: State;
|
|
47
|
+
defaultFilterState?: State;
|
|
48
|
+
/**
|
|
49
|
+
* Render the input portion of the filter
|
|
50
|
+
* Used when rendering within a filter item wrapper
|
|
51
|
+
*/
|
|
52
|
+
renderInput?: (props: CustomFilterInputRendererProps<Q, State>) => ReactNode;
|
|
53
|
+
/**
|
|
54
|
+
* Render the complete filter item
|
|
55
|
+
* Used when you need full control over the item appearance
|
|
56
|
+
*/
|
|
57
|
+
renderItem?: (props: CustomFilterItemRendererProps<Q, State>) => ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Convert filter state to a WhereClause for filtering
|
|
60
|
+
* Required for the filter to affect the object set
|
|
61
|
+
*/
|
|
62
|
+
toWhereClause: (state: State) => WhereClause<Q> | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Controls whether this filter is rendered.
|
|
65
|
+
* When false, the filter is hidden but its state is preserved.
|
|
66
|
+
* @default true
|
|
67
|
+
*/
|
|
68
|
+
isVisible?: boolean;
|
|
17
69
|
}
|
|
70
|
+
|
|
18
71
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* The component type C must be compatible with the property type derived from the key.
|
|
22
|
-
* For example, boolean properties can only use LISTOGRAM,
|
|
23
|
-
* while string properties can use LISTOGRAM, TEXT_TAGS, or CONTAINS_TEXT.
|
|
72
|
+
* Keys of string properties on an object type
|
|
24
73
|
*/
|
|
25
|
-
|
|
74
|
+
type StringPropertyKeys<Q extends ObjectTypeDefinition> = PropertyKeys.Filtered<Q, "string">;
|
|
75
|
+
/**
|
|
76
|
+
* State for keyword search filter
|
|
77
|
+
*/
|
|
78
|
+
interface KeywordSearchFilterState extends BaseFilterState {
|
|
79
|
+
type: "keywordSearch";
|
|
80
|
+
searchTerm: string;
|
|
26
81
|
/**
|
|
27
|
-
*
|
|
82
|
+
* How multiple terms are combined
|
|
83
|
+
* - "AND": All terms must match
|
|
84
|
+
* - "OR": Any term must match
|
|
28
85
|
*/
|
|
29
|
-
|
|
86
|
+
operator: "AND" | "OR";
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Filter definition for keyword search across string properties
|
|
90
|
+
*/
|
|
91
|
+
interface KeywordSearchFilterDefinition<Q extends ObjectTypeDefinition, K extends StringPropertyKeys<Q> = StringPropertyKeys<Q>> {
|
|
92
|
+
type: "KEYWORD_SEARCH";
|
|
30
93
|
/**
|
|
31
|
-
*
|
|
94
|
+
* Optional unique identifier for stable keying across filter reorders.
|
|
32
95
|
*/
|
|
96
|
+
id?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Properties to search within
|
|
99
|
+
* - "all": Search all string properties
|
|
100
|
+
* - K[]: Search specific string properties
|
|
101
|
+
*/
|
|
102
|
+
properties: "all" | K[];
|
|
33
103
|
label?: string;
|
|
34
104
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
105
|
+
* Controlled state for the filter.
|
|
106
|
+
* When provided, the filter becomes controlled and changes should be
|
|
107
|
+
* handled via onFilterStateChanged callback.
|
|
37
108
|
*/
|
|
38
|
-
|
|
109
|
+
filterState?: KeywordSearchFilterState;
|
|
39
110
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
111
|
+
* Default state for uncontrolled mode.
|
|
112
|
+
* Used when filterState is not provided.
|
|
42
113
|
*/
|
|
43
|
-
|
|
114
|
+
defaultFilterState?: KeywordSearchFilterState;
|
|
115
|
+
/**
|
|
116
|
+
* Controls whether this filter is rendered.
|
|
117
|
+
* When false, the filter is hidden but its state is preserved.
|
|
118
|
+
* @default true
|
|
119
|
+
*/
|
|
120
|
+
isVisible?: boolean;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* State for "has link" filter
|
|
125
|
+
*/
|
|
126
|
+
interface HasLinkFilterState extends BaseFilterState {
|
|
127
|
+
type: "hasLink";
|
|
128
|
+
hasLink: boolean;
|
|
44
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* State for linked property filter
|
|
132
|
+
* Wraps the filter state of the linked property
|
|
133
|
+
*/
|
|
134
|
+
interface LinkedPropertyFilterState<S extends FilterState = FilterState> extends BaseFilterState {
|
|
135
|
+
type: "linkedProperty";
|
|
136
|
+
linkedFilterState: S;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Filter definition for "Has Link" filter
|
|
140
|
+
* Filters objects based on whether they have any linked objects of the specified type
|
|
141
|
+
*/
|
|
142
|
+
interface HasLinkFilterDefinition<Q extends ObjectTypeDefinition, L extends LinkNames<Q> = LinkNames<Q>> {
|
|
143
|
+
type: "HAS_LINK";
|
|
144
|
+
/**
|
|
145
|
+
* Optional unique identifier for stable keying across filter reorders.
|
|
146
|
+
*/
|
|
147
|
+
id?: string;
|
|
148
|
+
linkName: L;
|
|
149
|
+
label?: string;
|
|
150
|
+
filterState: HasLinkFilterState;
|
|
151
|
+
defaultFilterState?: HasLinkFilterState;
|
|
152
|
+
/**
|
|
153
|
+
* Controls whether this filter is rendered.
|
|
154
|
+
* When false, the filter is hidden but its state is preserved.
|
|
155
|
+
* @default true
|
|
156
|
+
*/
|
|
157
|
+
isVisible?: boolean;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Filter definition for filtering on a property of linked objects
|
|
161
|
+
*/
|
|
162
|
+
interface LinkedPropertyFilterDefinition<Q extends ObjectTypeDefinition, L extends LinkNames<Q>, LinkedQ extends ObjectTypeDefinition = LinkedType<Q, L>, LinkedK extends PropertyKeys<LinkedQ> = PropertyKeys<LinkedQ>, LinkedC extends ValidComponentsForPropertyType<PropertyTypeFromKey<LinkedQ, LinkedK>> = ValidComponentsForPropertyType<PropertyTypeFromKey<LinkedQ, LinkedK>>> {
|
|
163
|
+
type: "LINKED_PROPERTY";
|
|
164
|
+
/**
|
|
165
|
+
* Optional unique identifier for stable keying across filter reorders.
|
|
166
|
+
*/
|
|
167
|
+
id?: string;
|
|
168
|
+
linkName: L;
|
|
169
|
+
linkedPropertyKey: LinkedK;
|
|
170
|
+
linkedFilterComponent: LinkedC;
|
|
171
|
+
linkedFilterState: FilterStateByComponentType[LinkedC];
|
|
172
|
+
defaultLinkedFilterState?: FilterStateByComponentType[LinkedC];
|
|
173
|
+
filterState: LinkedPropertyFilterState<FilterStateByComponentType[LinkedC]>;
|
|
174
|
+
label?: string;
|
|
175
|
+
/**
|
|
176
|
+
* Controls whether this filter is rendered.
|
|
177
|
+
* When false, the filter is hidden but its state is preserved.
|
|
178
|
+
* @default true
|
|
179
|
+
*/
|
|
180
|
+
isVisible?: boolean;
|
|
181
|
+
}
|
|
182
|
+
|
|
45
183
|
/**
|
|
46
184
|
* Helper type to extract the property type from an ObjectTypeDefinition given a property key
|
|
47
185
|
*/
|
|
48
186
|
type PropertyTypeFromKey<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q>> = CompileTimeMetadata<Q>["properties"][K]["type"];
|
|
187
|
+
/**
|
|
188
|
+
* All available filter component types
|
|
189
|
+
*/
|
|
190
|
+
type FilterComponentType = "LISTOGRAM" | "DATE_RANGE" | "NUMBER_RANGE" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" | "CHECKBOX_LIST" | "TOGGLE";
|
|
49
191
|
/**
|
|
50
192
|
* Gets valid component types for a given property type
|
|
51
193
|
*/
|
|
52
|
-
type ValidComponentsForPropertyType<P extends WirePropertyTypes> = P extends "boolean" ? "LISTOGRAM" : P extends "string" ? "LISTOGRAM" | "TEXT_TAGS" | "CONTAINS_TEXT" : P extends "datetime" | "timestamp" ? "DATE_RANGE" : P extends "double" | "integer" | "long" | "float" | "short" | "byte" | "decimal" ? "NUMBER_RANGE" : never;
|
|
194
|
+
type ValidComponentsForPropertyType<P extends WirePropertyTypes> = P extends "boolean" ? "LISTOGRAM" | "CHECKBOX_LIST" | "SINGLE_SELECT" | "TOGGLE" : P extends "string" ? "LISTOGRAM" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" | "CHECKBOX_LIST" : P extends "datetime" | "timestamp" ? "DATE_RANGE" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" : P extends "double" | "integer" | "long" | "float" | "short" | "byte" | "decimal" ? "NUMBER_RANGE" | "SINGLE_SELECT" | "MULTI_SELECT" : never;
|
|
195
|
+
/**
|
|
196
|
+
* Union of all possible filter states
|
|
197
|
+
*/
|
|
198
|
+
type FilterState = ExactMatchFilterState<string | boolean> | DateRangeFilterState | ContainsTextFilterState | NumberRangeFilterState | SelectFilterState<string | boolean | number> | SelectFilterState<Date> | TimelineFilterState | ToggleFilterState | HasLinkFilterState | LinkedPropertyFilterState | KeywordSearchFilterState | CustomFilterState;
|
|
53
199
|
/**
|
|
54
200
|
* Maps component types to their corresponding state types
|
|
55
201
|
*/
|
|
@@ -59,8 +205,18 @@ interface FilterStateByComponentType {
|
|
|
59
205
|
TEXT_TAGS: ExactMatchFilterState<string>;
|
|
60
206
|
CONTAINS_TEXT: ContainsTextFilterState;
|
|
61
207
|
NUMBER_RANGE: NumberRangeFilterState;
|
|
208
|
+
SINGLE_SELECT: SelectFilterState<string | boolean | number>;
|
|
209
|
+
MULTI_SELECT: SelectFilterState<string | boolean | number>;
|
|
210
|
+
SINGLE_DATE: SelectFilterState<Date>;
|
|
211
|
+
MULTI_DATE: SelectFilterState<Date>;
|
|
212
|
+
TIMELINE: TimelineFilterState;
|
|
213
|
+
CHECKBOX_LIST: SelectFilterState<string>;
|
|
214
|
+
TOGGLE: ToggleFilterState;
|
|
62
215
|
}
|
|
63
|
-
|
|
216
|
+
/**
|
|
217
|
+
* All filter state discriminator types
|
|
218
|
+
*/
|
|
219
|
+
type FilterStateType = "EXACT_MATCH" | "DATE_RANGE" | "NUMBER_RANGE" | "CONTAINS_TEXT" | "SELECT" | "TIMELINE" | "TOGGLE" | "hasLink" | "linkedProperty" | "keywordSearch" | "custom";
|
|
64
220
|
/**
|
|
65
221
|
* Base interface for all filter states
|
|
66
222
|
* Contains common properties shared across all filter types
|
|
@@ -111,17 +267,109 @@ interface NumberRangeFilterState extends BaseFilterState {
|
|
|
111
267
|
*/
|
|
112
268
|
maxValue?: number;
|
|
113
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Consolidated state type for select-based filters.
|
|
272
|
+
* Used by SINGLE_SELECT, MULTI_SELECT, SINGLE_DATE, MULTI_DATE, and CHECKBOX_LIST.
|
|
273
|
+
*/
|
|
274
|
+
interface SelectFilterState<T = string | boolean | number | Date> extends BaseFilterState {
|
|
275
|
+
type: "SELECT";
|
|
276
|
+
selectedValues: T[];
|
|
277
|
+
}
|
|
278
|
+
interface TimelineFilterState extends BaseFilterState {
|
|
279
|
+
type: "TIMELINE";
|
|
280
|
+
startDate?: Date;
|
|
281
|
+
endDate?: Date;
|
|
282
|
+
granularity?: "day" | "week" | "month" | "quarter" | "year";
|
|
283
|
+
}
|
|
284
|
+
interface ToggleFilterState extends BaseFilterState {
|
|
285
|
+
type: "TOGGLE";
|
|
286
|
+
enabled: boolean;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* A property filter definition specifies configuration for filtering on a single property
|
|
290
|
+
*
|
|
291
|
+
* The component type C must be compatible with the property type derived from the key.
|
|
292
|
+
* For example, boolean properties can only use LISTOGRAM, CHECKBOX_LIST, or SINGLE_SELECT,
|
|
293
|
+
* while string properties can use LISTOGRAM, TEXT_TAGS, CONTAINS_TEXT, SINGLE_SELECT, MULTI_SELECT, or CHECKBOX_LIST.
|
|
294
|
+
*/
|
|
295
|
+
interface PropertyFilterDefinition<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>> {
|
|
296
|
+
/**
|
|
297
|
+
* Discriminator for filter definition type
|
|
298
|
+
*/
|
|
299
|
+
type: "PROPERTY";
|
|
300
|
+
/**
|
|
301
|
+
* Optional unique identifier for stable keying across filter reorders.
|
|
302
|
+
*/
|
|
303
|
+
id?: string;
|
|
304
|
+
/**
|
|
305
|
+
* The property key to filter on
|
|
306
|
+
*/
|
|
307
|
+
key: K;
|
|
308
|
+
/**
|
|
309
|
+
* Display label for the filter
|
|
310
|
+
*/
|
|
311
|
+
label?: string;
|
|
312
|
+
/**
|
|
313
|
+
* The filter component type to render
|
|
314
|
+
* Must be compatible with the property type derived from the key, see ValidComponentsForPropertyType
|
|
315
|
+
*/
|
|
316
|
+
filterComponent: C;
|
|
317
|
+
/**
|
|
318
|
+
* The current state of the filter.
|
|
319
|
+
* If provided, the filter is controlled.
|
|
320
|
+
*/
|
|
321
|
+
filterState: FilterStateByComponentType[C];
|
|
322
|
+
/**
|
|
323
|
+
* Controls whether this filter is rendered.
|
|
324
|
+
* When false, the filter is hidden but its state is preserved.
|
|
325
|
+
* @default true
|
|
326
|
+
*/
|
|
327
|
+
isVisible?: boolean;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Props for a single filter list item component.
|
|
331
|
+
* Extends PropertyFilterDefinition with runtime props for rendering.
|
|
332
|
+
*/
|
|
333
|
+
interface FilterListItemProps<Q extends ObjectTypeDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>> extends PropertyFilterDefinition<Q, K, C> {
|
|
334
|
+
objectSet: ObjectSet<Q>;
|
|
335
|
+
/**
|
|
336
|
+
* Called when the state of the filter changes.
|
|
337
|
+
* Required in controlled mode.
|
|
338
|
+
*/
|
|
339
|
+
onFilterStateChanged: (state: FilterStateByComponentType[C]) => void;
|
|
340
|
+
onFilterRemoved?: (key: PropertyKeys<Q>) => void;
|
|
341
|
+
}
|
|
114
342
|
|
|
343
|
+
/**
|
|
344
|
+
* Union type of all filter definition types
|
|
345
|
+
*/
|
|
346
|
+
type FilterDefinitionUnion<Q extends ObjectTypeDefinition> = PropertyFilterDefinition<Q> | HasLinkFilterDefinition<Q> | LinkedPropertyFilterDefinition<Q, LinkNames<Q>> | KeywordSearchFilterDefinition<Q> | CustomFilterDefinition<Q>;
|
|
347
|
+
/**
|
|
348
|
+
* Extract the key from a filter definition union
|
|
349
|
+
*/
|
|
350
|
+
type FilterKey<Q extends ObjectTypeDefinition> = FilterDefinitionUnion<Q> extends infer D ? D extends {
|
|
351
|
+
key: infer K;
|
|
352
|
+
} ? K : D extends {
|
|
353
|
+
linkName: infer L;
|
|
354
|
+
} ? L : never : never;
|
|
115
355
|
interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
116
356
|
/**
|
|
117
357
|
* The set of objects to be filtered
|
|
118
358
|
*/
|
|
119
359
|
objectSet: ObjectSet<Q>;
|
|
360
|
+
/**
|
|
361
|
+
* Optional title to display in the filter list header
|
|
362
|
+
*/
|
|
363
|
+
title?: string;
|
|
364
|
+
/**
|
|
365
|
+
* Optional icon to display next to the title
|
|
366
|
+
*/
|
|
367
|
+
titleIcon?: React__default.ReactNode;
|
|
120
368
|
/**
|
|
121
369
|
* The definition for all supported filter items in the list
|
|
122
370
|
* If not supplied, all filterable properties will be available
|
|
123
371
|
*/
|
|
124
|
-
filterDefinitions?: Array<
|
|
372
|
+
filterDefinitions?: Array<FilterDefinitionUnion<Q>>;
|
|
125
373
|
/**
|
|
126
374
|
* The current where clause to filter the objectSet.
|
|
127
375
|
* If provided, the filter clause is controlled.
|
|
@@ -142,12 +390,12 @@ interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
|
142
390
|
*/
|
|
143
391
|
filterOperator?: "and" | "or";
|
|
144
392
|
/**
|
|
145
|
-
* Called when filter state
|
|
393
|
+
* Called when filter state changes
|
|
146
394
|
*
|
|
147
|
-
* @param
|
|
395
|
+
* @param definition The filter definition whose state changed
|
|
148
396
|
* @param newState The updated filter state
|
|
149
397
|
*/
|
|
150
|
-
onFilterStateChanged?: (
|
|
398
|
+
onFilterStateChanged?: (definition: FilterDefinitionUnion<Q>, newState: FilterState) => void;
|
|
151
399
|
/**
|
|
152
400
|
* Called when a filter is added
|
|
153
401
|
* If provided, user will be allowed to add filters
|
|
@@ -155,25 +403,52 @@ interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
|
155
403
|
* @param filterKey The key of the added filter
|
|
156
404
|
* @param newDefinitions The filter list with the new filter added
|
|
157
405
|
*/
|
|
158
|
-
onFilterAdded?: (filterKey: FilterKey<Q>, newDefinitions: Array<
|
|
406
|
+
onFilterAdded?: (filterKey: FilterKey<Q>, newDefinitions: Array<FilterDefinitionUnion<Q>>) => void;
|
|
159
407
|
/**
|
|
160
408
|
* Called when a filter is removed
|
|
161
409
|
* If provided, user will be allowed to remove filters
|
|
162
410
|
*
|
|
163
411
|
* @param filterKey The key of the removed filter
|
|
164
|
-
* @param newDefinitions The updated filter list with the filter removed
|
|
165
412
|
*/
|
|
166
|
-
onFilterRemoved?: (filterKey: FilterKey<Q
|
|
413
|
+
onFilterRemoved?: (filterKey: FilterKey<Q>) => void;
|
|
167
414
|
/**
|
|
168
|
-
*
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
415
|
+
* Show reset filters button in header
|
|
416
|
+
*/
|
|
417
|
+
showResetButton?: boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Called when reset button is clicked
|
|
172
420
|
*/
|
|
173
|
-
|
|
421
|
+
onReset?: () => void;
|
|
422
|
+
/**
|
|
423
|
+
* Show count of active filters in header
|
|
424
|
+
*/
|
|
425
|
+
showActiveFilterCount?: boolean;
|
|
426
|
+
/**
|
|
427
|
+
* Additional CSS class name
|
|
428
|
+
*/
|
|
429
|
+
className?: string;
|
|
430
|
+
/**
|
|
431
|
+
* Custom render function for the "Add filter" button.
|
|
432
|
+
* When not provided, a default button is shown if onFilterAdded is set.
|
|
433
|
+
*/
|
|
434
|
+
renderAddFilterButton?: () => React__default.ReactNode;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
declare function FilterList<Q extends ObjectTypeDefinition>(props: FilterListProps<Q>): React__default.ReactElement;
|
|
438
|
+
|
|
439
|
+
interface ColumnOption {
|
|
440
|
+
id: string;
|
|
441
|
+
name: string;
|
|
442
|
+
canSort: boolean;
|
|
443
|
+
}
|
|
444
|
+
interface CellIdentifier {
|
|
445
|
+
rowId: string;
|
|
446
|
+
columnId: string;
|
|
447
|
+
}
|
|
448
|
+
interface CellValueState<TData extends RowData = unknown> {
|
|
449
|
+
newValue: TData;
|
|
450
|
+
oldValue: TData;
|
|
174
451
|
}
|
|
175
|
-
type FilterKey<Q extends ObjectTypeDefinition> = FilterDefinition<Q>["key"];
|
|
176
|
-
type FilterState<Q extends ObjectTypeDefinition> = FilterDefinition<Q>["filterState"];
|
|
177
452
|
|
|
178
453
|
type ColumnDefinition<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>> = {
|
|
179
454
|
locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>;
|
|
@@ -191,7 +466,22 @@ type ColumnDefinition<Q extends ObjectOrInterfaceDefinition, RDPs extends Record
|
|
|
191
466
|
resizable?: boolean;
|
|
192
467
|
orderable?: boolean;
|
|
193
468
|
filterable?: boolean;
|
|
469
|
+
editable?: boolean;
|
|
194
470
|
renderCell?: (object: Osdk.Instance<Q, "$allBaseProperties", PropertyKeys<Q>, RDPs>, locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>) => React.ReactNode;
|
|
471
|
+
/**
|
|
472
|
+
* If provided, this will be used in the column header.
|
|
473
|
+
* If both columnName and renderHeader are provided, renderHeader will take precedence in the table header.
|
|
474
|
+
* columnName will still be used in other parts where the column name is displayed.
|
|
475
|
+
*
|
|
476
|
+
* If not provided,
|
|
477
|
+
* for a property column, the property displayName will be used
|
|
478
|
+
* for other columns, the id will be used.
|
|
479
|
+
*/
|
|
480
|
+
columnName?: string;
|
|
481
|
+
/**
|
|
482
|
+
* If provided, this will be used to render the header component.
|
|
483
|
+
* When both columnName and renderHeader are provided, renderHeader will take precedence in the table header.
|
|
484
|
+
*/
|
|
195
485
|
renderHeader?: () => React.ReactNode;
|
|
196
486
|
};
|
|
197
487
|
type ColumnDefinitionLocator<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>> = {
|
|
@@ -204,12 +494,22 @@ type ColumnDefinitionLocator<Q extends ObjectOrInterfaceDefinition, RDPs extends
|
|
|
204
494
|
type: "rdp";
|
|
205
495
|
id: keyof RDPs;
|
|
206
496
|
creator: DerivedProperty.Creator<Q, RDPs[keyof RDPs]>;
|
|
497
|
+
} | {
|
|
498
|
+
type: "custom";
|
|
499
|
+
id: string;
|
|
207
500
|
};
|
|
208
501
|
interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>> {
|
|
209
502
|
/**
|
|
210
|
-
* The object type of the object
|
|
503
|
+
* The object or interface type of the object
|
|
504
|
+
* If objectSet is not provided, objects will be fetched based on this type.
|
|
211
505
|
*/
|
|
212
506
|
objectType: Q;
|
|
507
|
+
/**
|
|
508
|
+
* The set of objects to show in the table.
|
|
509
|
+
* If provided and the objectType is not an interface, the table will use objectSet to fetch objects instead of fetching based on objectType.
|
|
510
|
+
*/
|
|
511
|
+
objectSet?: ObjectSet<Q>;
|
|
512
|
+
objectSetOptions?: ObjectSetOptions<Q>;
|
|
213
513
|
/**
|
|
214
514
|
* Ordered list of column definitions to show in the table
|
|
215
515
|
*
|
|
@@ -221,7 +521,7 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
|
|
|
221
521
|
*
|
|
222
522
|
* @default true
|
|
223
523
|
*/
|
|
224
|
-
|
|
524
|
+
enableFiltering?: boolean;
|
|
225
525
|
/**
|
|
226
526
|
* The current where clause to filter the objects in the table.
|
|
227
527
|
* If provided, the filter is controlled.
|
|
@@ -239,7 +539,25 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
|
|
|
239
539
|
*
|
|
240
540
|
* @default true
|
|
241
541
|
*/
|
|
242
|
-
|
|
542
|
+
enableOrdering?: boolean;
|
|
543
|
+
/**
|
|
544
|
+
* Whether columns can be pinned by the user.
|
|
545
|
+
*
|
|
546
|
+
* @default true
|
|
547
|
+
*/
|
|
548
|
+
enableColumnPinning?: boolean;
|
|
549
|
+
/**
|
|
550
|
+
* Whether columns can be resized by the user.
|
|
551
|
+
*
|
|
552
|
+
* @default true
|
|
553
|
+
*/
|
|
554
|
+
enableColumnResizing?: boolean;
|
|
555
|
+
/**
|
|
556
|
+
* Whether the column configuration dialog for column visibility and ordering is available to the user.
|
|
557
|
+
*
|
|
558
|
+
* @default true
|
|
559
|
+
*/
|
|
560
|
+
enableColumnConfig?: boolean;
|
|
243
561
|
/**
|
|
244
562
|
* The default order by clause to sort the objects in the table.
|
|
245
563
|
* If provided without orderBy prop, the sorting is uncontrolled.
|
|
@@ -269,11 +587,24 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
|
|
|
269
587
|
direction: "asc" | "desc";
|
|
270
588
|
}>) => void;
|
|
271
589
|
/**
|
|
272
|
-
* Called
|
|
590
|
+
* Called after the value of a cell is edited and committed by the user.
|
|
591
|
+
*
|
|
592
|
+
* @param cell The cell that was edited, identified by its row and column IDs
|
|
593
|
+
* @param state The new and old values of the cell
|
|
594
|
+
*/
|
|
595
|
+
onCellValueChanged?: (cell: CellIdentifier, state: CellValueState) => void;
|
|
596
|
+
/**
|
|
597
|
+
* If provided, the button Submit Edits will be shown in the table
|
|
598
|
+
*
|
|
599
|
+
* @param edits a map of cellId (stringified CellIdentifier) to the new and old values of the cell
|
|
600
|
+
*/
|
|
601
|
+
onSubmitEdits?: (edits: Record<string, CellValueState>) => Promise<void>;
|
|
602
|
+
/**
|
|
603
|
+
* Called when the column visibility or ordering changed.
|
|
273
604
|
*
|
|
274
605
|
* If provided, the table will allow the user to show/hide columns.
|
|
275
606
|
*
|
|
276
|
-
* @param newStates The
|
|
607
|
+
* @param newStates The columns sorted in their display order in the table and their visibility state.
|
|
277
608
|
*/
|
|
278
609
|
onColumnVisibilityChanged?: (newStates: Array<{
|
|
279
610
|
columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;
|
|
@@ -294,9 +625,9 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
|
|
|
294
625
|
* Called when a column is resized.
|
|
295
626
|
*
|
|
296
627
|
* @param columnId The ID of the resized column
|
|
297
|
-
* @param newWidth The new width of the column
|
|
628
|
+
* @param newWidth The new width of the column. When newWidth = null, the column size is reset.
|
|
298
629
|
*/
|
|
299
|
-
onColumnResize?: (columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns, newWidth: number) => void;
|
|
630
|
+
onColumnResize?: (columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns, newWidth: number | null) => void;
|
|
300
631
|
/**
|
|
301
632
|
* Called when a row is clicked.
|
|
302
633
|
*
|
|
@@ -336,6 +667,20 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
|
|
|
336
667
|
rowHeight?: number;
|
|
337
668
|
className?: string;
|
|
338
669
|
}
|
|
670
|
+
interface ObjectSetOptions<Q extends ObjectOrInterfaceDefinition> {
|
|
671
|
+
/**
|
|
672
|
+
* Object sets to union with
|
|
673
|
+
*/
|
|
674
|
+
union?: ObjectSet<Q>[];
|
|
675
|
+
/**
|
|
676
|
+
* Object sets to intersect with
|
|
677
|
+
*/
|
|
678
|
+
intersect?: ObjectSet<Q>[];
|
|
679
|
+
/**
|
|
680
|
+
* Object sets to subtract from
|
|
681
|
+
*/
|
|
682
|
+
subtract?: ObjectSet<Q>[];
|
|
683
|
+
}
|
|
339
684
|
|
|
340
685
|
/**
|
|
341
686
|
* ObjectTable - A headless table component for displaying OSDK object sets
|
|
@@ -345,8 +690,48 @@ interface ObjectTableProps<Q extends ObjectOrInterfaceDefinition, RDPs extends R
|
|
|
345
690
|
* <ObjectTable objectType={MyObjectType} />
|
|
346
691
|
* ```
|
|
347
692
|
*/
|
|
348
|
-
declare function ObjectTable<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>>({ objectType, columnDefinitions, filter, orderBy, defaultOrderBy, onOrderByChanged, onColumnsPinnedChanged, onRowSelection, renderCellContextMenu, selectionMode, selectedRows, ...props }: ObjectTableProps<Q, RDPs, FunctionColumns>): React__default.ReactElement;
|
|
693
|
+
declare function ObjectTable<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = Record<string, never>, FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>>({ objectType, objectSet, columnDefinitions, filter, objectSetOptions, orderBy, defaultOrderBy, onOrderByChanged, onColumnsPinnedChanged, onColumnResize, onRowSelection, renderCellContextMenu, selectionMode, selectedRows, onColumnVisibilityChanged, onCellValueChanged, onSubmitEdits, enableOrdering, enableColumnPinning, enableColumnResizing, enableColumnConfig, ...props }: ObjectTableProps<Q, RDPs, FunctionColumns>): React__default.ReactElement;
|
|
349
694
|
|
|
695
|
+
interface HeaderMenuFeatureFlags {
|
|
696
|
+
/**
|
|
697
|
+
* Whether sorting menu items should be shown.
|
|
698
|
+
* When false, hides "Sort ascending", "Sort descending", "Sort on multiple columns", and "Clear all sorts".
|
|
699
|
+
*/
|
|
700
|
+
showSortingItems?: boolean;
|
|
701
|
+
/**
|
|
702
|
+
* Whether pinning menu items should be shown.
|
|
703
|
+
* When false, hides "Pin column" and "Unpin Column".
|
|
704
|
+
*/
|
|
705
|
+
showPinningItems?: boolean;
|
|
706
|
+
/**
|
|
707
|
+
* Whether resize menu item should be shown.
|
|
708
|
+
* When false, hides "Reset Column Size".
|
|
709
|
+
*/
|
|
710
|
+
showResizeItem?: boolean;
|
|
711
|
+
/**
|
|
712
|
+
* Whether column config menu item should be shown.
|
|
713
|
+
* When false, hides "Configure Columns".
|
|
714
|
+
*/
|
|
715
|
+
showConfigItem?: boolean;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
declare module "@tanstack/react-table" {
|
|
719
|
+
interface ColumnMeta<TData extends RowData = unknown, TValue = unknown> {
|
|
720
|
+
columnName?: string;
|
|
721
|
+
isVisible?: boolean;
|
|
722
|
+
editable?: boolean;
|
|
723
|
+
dataType?: string;
|
|
724
|
+
}
|
|
725
|
+
interface TableMeta<TData extends RowData = unknown> {
|
|
726
|
+
onCellEdit?: (cellId: string, state: CellValueState) => void;
|
|
727
|
+
cellEdits?: Record<string, CellValueState>;
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
interface EditableConfig {
|
|
731
|
+
onSubmitEdits?: () => Promise<void>;
|
|
732
|
+
clearEdits?: () => void;
|
|
733
|
+
cellEdits?: Record<string, CellValueState>;
|
|
734
|
+
}
|
|
350
735
|
interface BaseTableProps<TData extends RowData> {
|
|
351
736
|
table: Table<TData>;
|
|
352
737
|
isLoading?: boolean;
|
|
@@ -356,7 +741,25 @@ interface BaseTableProps<TData extends RowData> {
|
|
|
356
741
|
renderCellContextMenu?: (row: TData, cell: Cell<TData, unknown>) => React__default.ReactNode;
|
|
357
742
|
className?: string;
|
|
358
743
|
error?: Error;
|
|
744
|
+
headerMenuFeatureFlags?: HeaderMenuFeatureFlags;
|
|
745
|
+
editableConfig?: EditableConfig;
|
|
746
|
+
}
|
|
747
|
+
declare function BaseTable<TData extends RowData>({ table, isLoading, fetchNextPage, onRowClick, rowHeight, renderCellContextMenu, className, error, headerMenuFeatureFlags, editableConfig, }: BaseTableProps<TData>): ReactElement;
|
|
748
|
+
|
|
749
|
+
interface ColumnConfig {
|
|
750
|
+
columnId: string;
|
|
751
|
+
isVisible: boolean;
|
|
752
|
+
}
|
|
753
|
+
type ColumnConfigOptions = Array<Pick<ColumnOption, "id" | "name">>;
|
|
754
|
+
interface ColumnConfigDialogProps {
|
|
755
|
+
isOpen: boolean;
|
|
756
|
+
onClose: () => void;
|
|
757
|
+
columnOptions: ColumnConfigOptions;
|
|
758
|
+
currentVisibility?: VisibilityState;
|
|
759
|
+
currentColumnOrder?: ColumnOrderState;
|
|
760
|
+
onApply: (columns: ColumnConfig[]) => void;
|
|
761
|
+
isValidConfig?: (columns: ColumnConfig[]) => boolean;
|
|
359
762
|
}
|
|
360
|
-
declare function
|
|
763
|
+
declare function ColumnConfigDialog({ isOpen, onClose, columnOptions, currentVisibility, currentColumnOrder, onApply, isValidConfig, }: ColumnConfigDialogProps): React__default.ReactElement | null;
|
|
361
764
|
|
|
362
|
-
export { BaseTable, type BaseTableProps, type ColumnDefinition, type ColumnDefinitionLocator, type FilterListItemProps, type FilterListProps, ObjectTable, type ObjectTableProps };
|
|
765
|
+
export { BaseTable, type BaseTableProps, type CellIdentifier, type CellValueState, ColumnConfigDialog, type ColumnConfigDialogProps, type ColumnConfigOptions, type ColumnDefinition, type ColumnDefinitionLocator, type FilterComponentType, type FilterDefinitionUnion, FilterList, type FilterListItemProps, type FilterListProps, type FilterState, ObjectTable, type ObjectTableProps, type PropertyFilterDefinition };
|