@osdk/react-components 0.2.0-beta.2 → 0.2.0-beta.21
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/AGENTS.md +105 -0
- package/CHANGELOG.md +245 -0
- package/README.md +129 -24
- package/build/browser/action-form/ActionForm.js +113 -0
- package/build/browser/action-form/ActionForm.js.map +1 -0
- package/build/browser/action-form/ActionFormApi.js.map +1 -1
- package/build/browser/action-form/BaseForm.js +70 -0
- package/build/browser/action-form/BaseForm.js.map +1 -0
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/fields/DropdownField.js +104 -0
- package/build/browser/action-form/fields/DropdownField.js.map +1 -0
- package/build/browser/action-form/fields/FieldBridge.js +45 -0
- package/build/browser/action-form/fields/FieldBridge.js.map +1 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js +79 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/browser/action-form/fields/TextInputField.js +37 -0
- package/build/browser/action-form/fields/TextInputField.js.map +1 -0
- package/build/browser/action-form/utils/coerceFieldValue.js +93 -0
- package/build/browser/action-form/utils/coerceFieldValue.js.map +1 -0
- package/build/browser/action-form/utils/getDefaultFieldComponent.js +56 -0
- package/build/browser/action-form/utils/getDefaultFieldComponent.js.map +1 -0
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js +33 -0
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- 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 +66 -0
- package/build/browser/base-components/action-button/ActionButton.module.css.js +8 -0
- package/build/browser/base-components/checkbox/Checkbox.module.css +1 -5
- package/build/browser/base-components/combobox/Combobox.js +146 -0
- package/build/browser/base-components/combobox/Combobox.js.map +1 -0
- package/build/browser/base-components/combobox/Combobox.module.css +357 -0
- package/build/browser/base-components/combobox/Combobox.module.css.js +17 -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 +93 -0
- package/build/browser/base-components/dialog/Dialog.module.css.js +13 -0
- package/build/browser/base-components/draggable-list/DraggableList.js +157 -0
- package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/browser/base-components/draggable-list/DraggableList.module.css +100 -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 +95 -0
- package/build/browser/base-components/select/Select.js.map +1 -0
- package/build/browser/base-components/select/Select.module.css +235 -0
- package/build/browser/base-components/select/Select.module.css.js +13 -0
- package/build/browser/base-components/skeleton/SkeletonBar.js +36 -0
- package/build/browser/base-components/skeleton/SkeletonBar.js.map +1 -0
- package/build/browser/base-components/skeleton/SkeletonBar.module.css +39 -0
- package/build/browser/base-components/skeleton/SkeletonBar.module.css.js +7 -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/base-components/tooltip/Tooltip.js +91 -0
- package/build/browser/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css.js +11 -0
- package/build/browser/base-components/tooltip/index.js +18 -0
- package/build/browser/base-components/tooltip/index.js.map +1 -0
- package/build/browser/filter-list/FilterInput.js +132 -0
- package/build/browser/filter-list/FilterInput.js.map +1 -0
- package/build/browser/filter-list/FilterList.js +128 -0
- package/build/browser/filter-list/FilterList.js.map +1 -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/base/AddFilterPopover.js +45 -0
- package/build/browser/filter-list/base/AddFilterPopover.js.map +1 -0
- package/build/browser/filter-list/base/AddFilterPopover.module.css +83 -0
- package/build/browser/filter-list/base/AddFilterPopover.module.css.js +9 -0
- package/build/browser/filter-list/base/BaseFilterList.js +90 -0
- package/build/browser/filter-list/base/BaseFilterList.js.map +1 -0
- package/build/browser/filter-list/base/BaseFilterListApi.js +2 -0
- package/build/browser/filter-list/base/BaseFilterListApi.js.map +1 -0
- package/build/browser/filter-list/base/DragHandleIcon.js +51 -0
- package/build/browser/filter-list/base/DragHandleIcon.js.map +1 -0
- package/build/browser/filter-list/base/FilterIcons.js +98 -0
- package/build/browser/filter-list/base/FilterIcons.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.module.css +132 -0
- package/build/browser/filter-list/base/FilterList.module.css.js +13 -0
- package/build/browser/filter-list/base/FilterListContent.js +198 -0
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -0
- package/build/browser/filter-list/base/FilterListContent.module.css +33 -0
- package/build/browser/filter-list/base/FilterListContent.module.css.js +8 -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 +123 -0
- package/build/browser/filter-list/base/FilterListHeader.module.css.js +13 -0
- package/build/browser/filter-list/base/FilterListItem.js +87 -0
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -0
- package/build/browser/filter-list/base/FilterListItem.module.css +126 -0
- package/build/browser/filter-list/base/FilterListItem.module.css.js +13 -0
- package/build/browser/filter-list/base/SortableFilterListItem.js +63 -0
- package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -0
- package/build/browser/filter-list/base/index.js +21 -0
- package/build/browser/filter-list/base/index.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js +83 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +65 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js +46 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css +32 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css.js +8 -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.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 +103 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +106 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +12 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.js +45 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.module.css +32 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.module.css.js +8 -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 +56 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +93 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +38 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +57 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +50 -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 +157 -0
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/RangeInput.module.css +106 -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 +64 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +88 -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 +133 -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 +75 -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 +80 -0
- package/build/browser/filter-list/base/inputs/shared.module.css.js +11 -0
- package/build/browser/filter-list/base/inputs/useStaleData.js +29 -0
- package/build/browser/filter-list/base/inputs/useStaleData.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterListState.js +158 -0
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterVisibility.js +68 -0
- package/build/browser/filter-list/hooks/useFilterVisibility.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/inputs/CheckboxListFilterInput.js +56 -0
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ContainsTextFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js +105 -0
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js +508 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ListogramFilterInput.js +62 -0
- package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/MultiDateFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js +55 -0
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js +105 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/PropertyFilterInput.js +129 -0
- package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/SingleDateFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js +55 -0
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js +54 -0
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/TimelineFilterInput.js +49 -0
- package/build/browser/filter-list/inputs/TimelineFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ToggleFilterInput.js +36 -0
- package/build/browser/filter-list/inputs/ToggleFilterInput.js.map +1 -0
- package/build/browser/filter-list/types/AggregationTypes.js +2 -0
- package/build/browser/filter-list/types/AggregationTypes.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/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 +20 -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/coerceFilterValue.js +33 -0
- package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateSerialization.js +42 -0
- package/build/browser/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +375 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/browser/filter-list/utils/filterValues.js +81 -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/filter-list/utils/getFilterLabel.js +36 -0
- package/build/browser/filter-list/utils/getFilterLabel.js.map +1 -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 +238 -0
- package/build/browser/object-table/ColumnConfigDialog.module.css.js +29 -0
- package/build/browser/object-table/DefaultCellRenderer.js +61 -0
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/browser/object-table/EditableCell.js +168 -0
- package/build/browser/object-table/EditableCell.js.map +1 -0
- package/build/browser/object-table/EditableCell.module.css +70 -0
- package/build/browser/object-table/EditableCell.module.css.js +11 -0
- package/build/browser/object-table/LoadingCell.js +6 -3
- package/build/browser/object-table/LoadingCell.js.map +1 -1
- package/build/browser/object-table/LoadingRow.js +2 -1
- package/build/browser/object-table/LoadingRow.js.map +1 -1
- package/build/browser/object-table/LoadingStateTable.js +4 -4
- package/build/browser/object-table/LoadingStateTable.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +181 -0
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css +191 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css.js +22 -0
- package/build/browser/object-table/NonIdealState.module.css +2 -3
- package/build/browser/object-table/ObjectTable.js +69 -17
- 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 +16 -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 +29 -4
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/Table.module.css +18 -3
- package/build/browser/object-table/Table.module.css.js +1 -0
- package/build/browser/object-table/TableBody.js +8 -2
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableBody.module.css +2 -0
- package/build/browser/object-table/TableCell.module.css +15 -1
- package/build/browser/object-table/TableCell.module.css.js +2 -1
- package/build/browser/object-table/TableEditContainer.js +90 -0
- package/build/browser/object-table/TableEditContainer.js.map +1 -0
- package/build/browser/object-table/TableEditContainer.module.css +71 -0
- package/build/browser/object-table/TableEditContainer.module.css.js +13 -0
- package/build/browser/object-table/TableHeader.js +97 -7
- package/build/browser/object-table/TableHeader.js.map +1 -1
- package/build/browser/object-table/TableHeader.module.css +11 -3
- package/build/browser/object-table/TableHeader.module.css.js +1 -0
- package/build/browser/object-table/TableHeaderWithPopover.js +53 -22
- package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/browser/object-table/TableHeaderWithPopover.module.css +44 -25
- package/build/browser/object-table/TableHeaderWithPopover.module.css.js +3 -1
- package/build/browser/object-table/TableRow.js +10 -3
- package/build/browser/object-table/TableRow.js.map +1 -1
- package/build/browser/object-table/TableRow.module.css +4 -1
- package/build/browser/object-table/components/AsyncValueCell.js +35 -0
- package/build/browser/object-table/components/AsyncValueCell.js.map +1 -0
- package/build/browser/object-table/hooks/useColumnDefs.js +20 -4
- 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 +85 -0
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/browser/object-table/hooks/useFunctionColumnsData.js +270 -0
- package/build/browser/object-table/hooks/useFunctionColumnsData.js.map +1 -0
- package/build/browser/object-table/hooks/useObjectTableData.js +58 -7
- package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/browser/object-table/hooks/useRowSelection.js +40 -16
- 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/AsyncCellData.js +30 -0
- package/build/browser/object-table/utils/AsyncCellData.js.map +1 -0
- package/build/browser/object-table/utils/constants.js +1 -0
- package/build/browser/object-table/utils/constants.js.map +1 -1
- package/build/browser/object-table/utils/getCellId.js +20 -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/pdf-viewer/PdfRenderer.js +88 -0
- package/build/browser/pdf-viewer/PdfRenderer.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewer.js +197 -0
- package/build/browser/pdf-viewer/PdfViewer.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewer.module.css +95 -0
- package/build/browser/pdf-viewer/PdfViewer.module.css.js +16 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.js +74 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css +65 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css.js +11 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.js +84 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.module.css +65 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.module.css.js +10 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.js +74 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.module.css +46 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.module.css.js +11 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.js +100 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.module.css +26 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.module.css.js +8 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.js +167 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.module.css +86 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.module.css.js +12 -0
- package/build/browser/pdf-viewer/constants.js +43 -0
- package/build/browser/pdf-viewer/constants.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js +54 -0
- package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js +67 -0
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js +69 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSearch.js +106 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSync.js +71 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -0
- package/build/browser/pdf-viewer/types.js +2 -0
- package/build/browser/pdf-viewer/types.js.map +1 -0
- package/build/browser/public/experimental.js +9 -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/shared/assertUnreachable.js +25 -0
- package/build/browser/shared/assertUnreachable.js.map +1 -0
- package/build/browser/shared/typedMemo.js +25 -0
- package/build/browser/shared/typedMemo.js.map +1 -0
- package/build/browser/styles.css +3936 -220
- package/build/cjs/public/experimental.cjs +6675 -312
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +2573 -107
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +673 -68
- package/build/esm/action-form/ActionForm.js +113 -0
- package/build/esm/action-form/ActionForm.js.map +1 -0
- package/build/esm/action-form/ActionFormApi.js.map +1 -1
- package/build/esm/action-form/BaseForm.js +70 -0
- package/build/esm/action-form/BaseForm.js.map +1 -0
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/fields/DropdownField.js +104 -0
- package/build/esm/action-form/fields/DropdownField.js.map +1 -0
- package/build/esm/action-form/fields/FieldBridge.js +45 -0
- package/build/esm/action-form/fields/FieldBridge.js.map +1 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js +79 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/esm/action-form/fields/TextInputField.js +37 -0
- package/build/esm/action-form/fields/TextInputField.js.map +1 -0
- package/build/esm/action-form/utils/coerceFieldValue.js +93 -0
- package/build/esm/action-form/utils/coerceFieldValue.js.map +1 -0
- package/build/esm/action-form/utils/getDefaultFieldComponent.js +56 -0
- package/build/esm/action-form/utils/getDefaultFieldComponent.js.map +1 -0
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js +33 -0
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- 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 +66 -0
- package/build/esm/base-components/checkbox/Checkbox.module.css +1 -5
- package/build/esm/base-components/combobox/Combobox.js +146 -0
- package/build/esm/base-components/combobox/Combobox.js.map +1 -0
- package/build/esm/base-components/combobox/Combobox.module.css +357 -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 +93 -0
- package/build/esm/base-components/draggable-list/DraggableList.js +157 -0
- package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/esm/base-components/draggable-list/DraggableList.module.css +100 -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 +95 -0
- package/build/esm/base-components/select/Select.js.map +1 -0
- package/build/esm/base-components/select/Select.module.css +235 -0
- package/build/esm/base-components/skeleton/SkeletonBar.js +36 -0
- package/build/esm/base-components/skeleton/SkeletonBar.js.map +1 -0
- package/build/esm/base-components/skeleton/SkeletonBar.module.css +39 -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/base-components/tooltip/Tooltip.js +91 -0
- package/build/esm/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/esm/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/esm/base-components/tooltip/index.js +18 -0
- package/build/esm/base-components/tooltip/index.js.map +1 -0
- package/build/esm/filter-list/FilterInput.js +132 -0
- package/build/esm/filter-list/FilterInput.js.map +1 -0
- package/build/esm/filter-list/FilterList.js +128 -0
- package/build/esm/filter-list/FilterList.js.map +1 -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/base/AddFilterPopover.js +45 -0
- package/build/esm/filter-list/base/AddFilterPopover.js.map +1 -0
- package/build/esm/filter-list/base/AddFilterPopover.module.css +83 -0
- package/build/esm/filter-list/base/BaseFilterList.js +90 -0
- package/build/esm/filter-list/base/BaseFilterList.js.map +1 -0
- package/build/esm/filter-list/base/BaseFilterListApi.js +2 -0
- package/build/esm/filter-list/base/BaseFilterListApi.js.map +1 -0
- package/build/esm/filter-list/base/DragHandleIcon.js +51 -0
- package/build/esm/filter-list/base/DragHandleIcon.js.map +1 -0
- package/build/esm/filter-list/base/FilterIcons.js +98 -0
- package/build/esm/filter-list/base/FilterIcons.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.module.css +132 -0
- package/build/esm/filter-list/base/FilterListContent.js +198 -0
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -0
- package/build/esm/filter-list/base/FilterListContent.module.css +33 -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 +123 -0
- package/build/esm/filter-list/base/FilterListItem.js +87 -0
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -0
- package/build/esm/filter-list/base/FilterListItem.module.css +126 -0
- package/build/esm/filter-list/base/SortableFilterListItem.js +63 -0
- package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -0
- package/build/esm/filter-list/base/index.js +21 -0
- package/build/esm/filter-list/base/index.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js +83 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +65 -0
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js +46 -0
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.module.css +32 -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.module.css +20 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js +103 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +106 -0
- package/build/esm/filter-list/base/inputs/ListogramSkeleton.js +45 -0
- package/build/esm/filter-list/base/inputs/ListogramSkeleton.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ListogramSkeleton.module.css +32 -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 +56 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +93 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +38 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +57 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +50 -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 +157 -0
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/RangeInput.module.css +106 -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 +64 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +88 -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 +133 -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 +75 -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 +80 -0
- package/build/esm/filter-list/base/inputs/useStaleData.js +29 -0
- package/build/esm/filter-list/base/inputs/useStaleData.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterListState.js +158 -0
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterVisibility.js +68 -0
- package/build/esm/filter-list/hooks/useFilterVisibility.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/inputs/CheckboxListFilterInput.js +56 -0
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ContainsTextFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js +105 -0
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js +508 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ListogramFilterInput.js +62 -0
- package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/MultiDateFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js +55 -0
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js +105 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/PropertyFilterInput.js +129 -0
- package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/SingleDateFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js +55 -0
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js +54 -0
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/TimelineFilterInput.js +49 -0
- package/build/esm/filter-list/inputs/TimelineFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ToggleFilterInput.js +36 -0
- package/build/esm/filter-list/inputs/ToggleFilterInput.js.map +1 -0
- package/build/esm/filter-list/types/AggregationTypes.js +2 -0
- package/build/esm/filter-list/types/AggregationTypes.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/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 +20 -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/coerceFilterValue.js +33 -0
- package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateSerialization.js +42 -0
- package/build/esm/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +375 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/esm/filter-list/utils/filterValues.js +81 -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/filter-list/utils/getFilterLabel.js +36 -0
- package/build/esm/filter-list/utils/getFilterLabel.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 +238 -0
- package/build/esm/object-table/DefaultCellRenderer.js +61 -0
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/esm/object-table/EditableCell.js +168 -0
- package/build/esm/object-table/EditableCell.js.map +1 -0
- package/build/esm/object-table/EditableCell.module.css +70 -0
- package/build/esm/object-table/LoadingCell.js +6 -3
- package/build/esm/object-table/LoadingCell.js.map +1 -1
- package/build/esm/object-table/LoadingRow.js +2 -1
- package/build/esm/object-table/LoadingRow.js.map +1 -1
- 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 +181 -0
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/esm/object-table/MultiColumnSortDialog.module.css +191 -0
- package/build/esm/object-table/NonIdealState.module.css +2 -3
- package/build/esm/object-table/ObjectTable.js +69 -17
- 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 +16 -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 +29 -4
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/Table.module.css +18 -3
- package/build/esm/object-table/TableBody.js +8 -2
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableBody.module.css +2 -0
- package/build/esm/object-table/TableCell.module.css +15 -1
- package/build/esm/object-table/TableEditContainer.js +90 -0
- package/build/esm/object-table/TableEditContainer.js.map +1 -0
- package/build/esm/object-table/TableEditContainer.module.css +71 -0
- package/build/esm/object-table/TableHeader.js +97 -7
- package/build/esm/object-table/TableHeader.js.map +1 -1
- package/build/esm/object-table/TableHeader.module.css +11 -3
- 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 +44 -25
- package/build/esm/object-table/TableRow.js +10 -3
- package/build/esm/object-table/TableRow.js.map +1 -1
- package/build/esm/object-table/TableRow.module.css +4 -1
- package/build/esm/object-table/components/AsyncValueCell.js +35 -0
- package/build/esm/object-table/components/AsyncValueCell.js.map +1 -0
- package/build/esm/object-table/hooks/useColumnDefs.js +20 -4
- 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 +85 -0
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/esm/object-table/hooks/useFunctionColumnsData.js +270 -0
- package/build/esm/object-table/hooks/useFunctionColumnsData.js.map +1 -0
- package/build/esm/object-table/hooks/useObjectTableData.js +58 -7
- package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/esm/object-table/hooks/useRowSelection.js +40 -16
- 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/AsyncCellData.js +30 -0
- package/build/esm/object-table/utils/AsyncCellData.js.map +1 -0
- package/build/esm/object-table/utils/constants.js +1 -0
- package/build/esm/object-table/utils/constants.js.map +1 -1
- package/build/esm/object-table/utils/getCellId.js +20 -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/pdf-viewer/PdfRenderer.js +88 -0
- package/build/esm/pdf-viewer/PdfRenderer.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewer.js +197 -0
- package/build/esm/pdf-viewer/PdfViewer.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewer.module.css +95 -0
- package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.js +74 -0
- package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.module.css +65 -0
- package/build/esm/pdf-viewer/PdfViewerSearchBar.js +84 -0
- package/build/esm/pdf-viewer/PdfViewerSearchBar.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerSearchBar.module.css +65 -0
- package/build/esm/pdf-viewer/PdfViewerSidebar.js +74 -0
- package/build/esm/pdf-viewer/PdfViewerSidebar.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerSidebar.module.css +46 -0
- package/build/esm/pdf-viewer/PdfViewerThumbnail.js +100 -0
- package/build/esm/pdf-viewer/PdfViewerThumbnail.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerThumbnail.module.css +26 -0
- package/build/esm/pdf-viewer/PdfViewerToolbar.js +167 -0
- package/build/esm/pdf-viewer/PdfViewerToolbar.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerToolbar.module.css +86 -0
- package/build/esm/pdf-viewer/constants.js +43 -0
- package/build/esm/pdf-viewer/constants.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js +54 -0
- package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js +67 -0
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js +69 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSearch.js +106 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSync.js +71 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -0
- package/build/esm/pdf-viewer/types.js +2 -0
- package/build/esm/pdf-viewer/types.js.map +1 -0
- package/build/esm/public/experimental.js +9 -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/esm/shared/assertUnreachable.js +25 -0
- package/build/esm/shared/assertUnreachable.js.map +1 -0
- package/build/esm/shared/typedMemo.js +25 -0
- package/build/esm/shared/typedMemo.js.map +1 -0
- package/build/types/action-form/ActionForm.d.ts +4 -0
- package/build/types/action-form/ActionForm.d.ts.map +1 -0
- package/build/types/action-form/ActionFormApi.d.ts +48 -32
- package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
- package/build/types/action-form/BaseForm.d.ts +3 -0
- package/build/types/action-form/BaseForm.d.ts.map +1 -0
- package/build/types/action-form/FormFieldApi.d.ts +93 -42
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/fields/DropdownField.d.ts +6 -0
- package/build/types/action-form/fields/DropdownField.d.ts.map +1 -0
- package/build/types/action-form/fields/FieldBridge.d.ts +9 -0
- package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -0
- package/build/types/action-form/fields/FormFieldRenderer.d.ts +8 -0
- package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -0
- package/build/types/action-form/fields/TextInputField.d.ts +5 -0
- package/build/types/action-form/fields/TextInputField.d.ts.map +1 -0
- package/build/types/action-form/utils/coerceFieldValue.d.ts +10 -0
- package/build/types/action-form/utils/coerceFieldValue.d.ts.map +1 -0
- package/build/types/action-form/utils/getDefaultFieldComponent.d.ts +6 -0
- package/build/types/action-form/utils/getDefaultFieldComponent.d.ts.map +1 -0
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts +6 -0
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts.map +1 -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 +60 -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 +40 -0
- package/build/types/base-components/select/Select.d.ts.map +1 -0
- package/build/types/base-components/skeleton/SkeletonBar.d.ts +9 -0
- package/build/types/base-components/skeleton/SkeletonBar.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/base-components/tooltip/Tooltip.d.ts +31 -0
- package/build/types/base-components/tooltip/Tooltip.d.ts.map +1 -0
- package/build/types/base-components/tooltip/index.d.ts +1 -0
- package/build/types/base-components/tooltip/index.d.ts.map +1 -0
- package/build/types/filter-list/FilterInput.d.ts +15 -0
- package/build/types/filter-list/FilterInput.d.ts.map +1 -0
- package/build/types/filter-list/FilterList.d.ts +4 -0
- package/build/types/filter-list/FilterList.d.ts.map +1 -0
- package/build/types/filter-list/FilterListApi.d.ts +106 -22
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts +114 -53
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/base/AddFilterPopover.d.ts +12 -0
- package/build/types/filter-list/base/AddFilterPopover.d.ts.map +1 -0
- package/build/types/filter-list/base/BaseFilterList.d.ts +3 -0
- package/build/types/filter-list/base/BaseFilterList.d.ts.map +1 -0
- package/build/types/filter-list/base/BaseFilterListApi.d.ts +29 -0
- package/build/types/filter-list/base/BaseFilterListApi.d.ts.map +1 -0
- package/build/types/filter-list/base/DragHandleIcon.d.ts +2 -0
- package/build/types/filter-list/base/DragHandleIcon.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterIcons.d.ts +11 -0
- package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListContent.d.ts +17 -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 +20 -0
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -0
- package/build/types/filter-list/base/SortableFilterListItem.d.ts +15 -0
- package/build/types/filter-list/base/SortableFilterListItem.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 +16 -0
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/CheckboxListSkeleton.d.ts +2 -0
- package/build/types/filter-list/base/inputs/CheckboxListSkeleton.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 +17 -0
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts +20 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ListogramSkeleton.d.ts +2 -0
- package/build/types/filter-list/base/inputs/ListogramSkeleton.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 +18 -0
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +15 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +17 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/RangeInput.d.ts +30 -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 +18 -0
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +18 -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/base/inputs/useStaleData.d.ts +1 -0
- package/build/types/filter-list/base/inputs/useStaleData.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts +12 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts +8 -0
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts.map +1 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +17 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts +14 -0
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts +10 -0
- package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts +12 -0
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts +21 -0
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts +16 -0
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts +12 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts +17 -0
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/TimelineFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/TimelineFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ToggleFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/ToggleFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/types/AggregationTypes.d.ts +5 -0
- package/build/types/filter-list/types/AggregationTypes.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/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 +70 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/index.d.ts +3 -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/coerceFilterValue.d.ts +11 -0
- package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterStateSerialization.d.ts +3 -0
- package/build/types/filter-list/utils/filterStateSerialization.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +20 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterValues.d.ts +7 -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/filter-list/utils/getFilterLabel.d.ts +3 -0
- package/build/types/filter-list/utils/getFilterLabel.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 +26 -0
- package/build/types/object-table/EditableCell.d.ts.map +1 -0
- package/build/types/object-table/LoadingCell.d.ts +1 -0
- package/build/types/object-table/LoadingCell.d.ts.map +1 -1
- package/build/types/object-table/LoadingRow.d.ts.map +1 -1
- 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 -9
- package/build/types/object-table/ObjectTable.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +150 -20
- 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/TableBody.d.ts +4 -1
- package/build/types/object-table/TableBody.d.ts.map +1 -1
- package/build/types/object-table/TableEditContainer.d.ts +9 -0
- package/build/types/object-table/TableEditContainer.d.ts.map +1 -0
- 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/TableRow.d.ts +4 -1
- package/build/types/object-table/TableRow.d.ts.map +1 -1
- package/build/types/object-table/components/AsyncValueCell.d.ts +5 -0
- package/build/types/object-table/components/AsyncValueCell.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 +17 -0
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -0
- package/build/types/object-table/hooks/useFunctionColumnsData.d.ts +13 -0
- package/build/types/object-table/hooks/useFunctionColumnsData.d.ts.map +1 -0
- package/build/types/object-table/hooks/useObjectTableData.d.ts +13 -5
- package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
- package/build/types/object-table/hooks/useRowSelection.d.ts +8 -6
- package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
- package/build/types/object-table/utils/AsyncCellData.d.ts +8 -0
- package/build/types/object-table/utils/AsyncCellData.d.ts.map +1 -0
- package/build/types/object-table/utils/constants.d.ts +1 -0
- package/build/types/object-table/utils/constants.d.ts.map +1 -1
- package/build/types/object-table/utils/getCellId.d.ts +2 -0
- package/build/types/object-table/utils/getCellId.d.ts.map +1 -0
- package/build/types/object-table/utils/types.d.ts +39 -0
- package/build/types/object-table/utils/types.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfRenderer.d.ts +8 -0
- package/build/types/pdf-viewer/PdfRenderer.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewer.d.ts +4 -0
- package/build/types/pdf-viewer/PdfViewer.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerAnnotationLayer.d.ts +10 -0
- package/build/types/pdf-viewer/PdfViewerAnnotationLayer.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerSearchBar.d.ts +12 -0
- package/build/types/pdf-viewer/PdfViewerSearchBar.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerSidebar.d.ts +10 -0
- package/build/types/pdf-viewer/PdfViewerSidebar.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerThumbnail.d.ts +10 -0
- package/build/types/pdf-viewer/PdfViewerThumbnail.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerToolbar.d.ts +14 -0
- package/build/types/pdf-viewer/PdfViewerToolbar.d.ts.map +1 -0
- package/build/types/pdf-viewer/constants.d.ts +17 -0
- package/build/types/pdf-viewer/constants.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts +10 -0
- package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfDocument.d.ts +9 -0
- package/build/types/pdf-viewer/hooks/usePdfDocument.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts +9 -0
- package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSearch.d.ts +15 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSearch.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSync.d.ts +15 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSync.d.ts.map +1 -0
- package/build/types/pdf-viewer/types.d.ts +44 -0
- package/build/types/pdf-viewer/types.d.ts.map +1 -0
- package/build/types/public/experimental.d.ts +13 -3
- 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/build/types/shared/assertUnreachable.d.ts +6 -0
- package/build/types/shared/assertUnreachable.d.ts.map +1 -0
- package/build/types/shared/typedMemo.d.ts +6 -0
- package/build/types/shared/typedMemo.d.ts.map +1 -0
- package/package.json +13 -5
- package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
- package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +0 -508
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
- package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -178
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +0 -227
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +0 -548
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -275
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +0 -211
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
- package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +0 -508
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
- package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -178
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +0 -227
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +0 -548
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -275
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +0 -211
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
- package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingStateTable.js","names":["classNames","React","useEffect","useRef","useState","loadingStyles","LoadingRow","bodyStyles","TableHeader","headerStyles","MIN_ROWS","LoadingStateTable","table","tableContainerRef","headerGroups","rowHeight","columnWidth","
|
|
1
|
+
{"version":3,"file":"LoadingStateTable.js","names":["classNames","React","useEffect","useMemo","useRef","useState","loadingStyles","LoadingRow","bodyStyles","TableHeader","headerStyles","MIN_ROWS","LoadingStateTable","table","tableContainerRef","headerGroups","rowHeight","columnWidth","enableRowSelection","options","minHeaderCount","headers","length","hasHeadersLoaded","headerRef","bodyRef","loadingRowCount","setLoadingRowCount","loadingColumnCount","setLoadingColumnCount","current","tableWidth","clientWidth","columnsNeeded","Math","ceil","containerHeight","clientHeight","availableHeight","rowsNeeded","max","createElement","Fragment","className","osdkTableHeader","ref","osdkTableHeaderRow","Array","from","map","_","index","width","getSize","key","osdkTableHeaderCell","style","osdkLoadingHeaderCell","osdkCellSkeleton","osdkTableBody","columnCount","translateY"],"sources":["LoadingStateTable.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 { HeaderGroup, RowData, Table } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport loadingStyles from \"./LoadingCell.module.css\";\nimport { LoadingRow } from \"./LoadingRow.js\";\nimport bodyStyles from \"./TableBody.module.css\";\nimport { TableHeader } from \"./TableHeader.js\";\nimport headerStyles from \"./TableHeader.module.css\";\n\ninterface LoadingStateTableProps<TData extends RowData> {\n table: Table<TData>;\n tableContainerRef: React.RefObject<HTMLDivElement>;\n headerGroups: Array<HeaderGroup<TData>>;\n rowHeight?: number;\n columnWidth?: number;\n}\n\nconst MIN_ROWS = 5;\n\nexport function LoadingStateTable<TData extends RowData>({\n table,\n tableContainerRef,\n headerGroups,\n rowHeight = 40,\n columnWidth = 120,\n}: LoadingStateTableProps<TData>): React.ReactElement {\n // If selection enabled, there will be a header for the selection column\n const enableRowSelection = table.options.enableRowSelection;\n const minHeaderCount = enableRowSelection ? 1 : 0;\n const headers = useMemo(\n () => headerGroups.length > 0 ? headerGroups[0].headers : [],\n [headerGroups],\n );\n const hasHeadersLoaded = headers.length > minHeaderCount;\n\n const headerRef = useRef<HTMLTableSectionElement>(null);\n const bodyRef = useRef<HTMLTableSectionElement>(null);\n const [loadingRowCount, setLoadingRowCount] = useState<number>(MIN_ROWS);\n const [loadingColumnCount, setLoadingColumnCount] = useState<number>(\n headers.length,\n );\n // Calculate number of columns needed to fill container width\n useEffect(() => {\n if (hasHeadersLoaded) {\n setLoadingColumnCount(headers.length);\n } else {\n if (tableContainerRef.current) {\n const tableWidth = tableContainerRef.current.clientWidth;\n if (tableWidth > 0) {\n const columnsNeeded = Math.ceil(tableWidth / columnWidth);\n setLoadingColumnCount(columnsNeeded);\n }\n }\n }\n }, [columnWidth, hasHeadersLoaded, headers, tableContainerRef]);\n\n // Calculate number of rows needed to fill container height\n useEffect(() => {\n if (tableContainerRef.current) {\n const containerHeight = tableContainerRef.current.clientHeight;\n const availableHeight = containerHeight - rowHeight;\n\n if (availableHeight > 0) {\n const rowsNeeded = Math.ceil(availableHeight / rowHeight);\n setLoadingRowCount(Math.max(rowsNeeded, MIN_ROWS));\n }\n }\n }, [tableContainerRef, rowHeight]);\n\n return (\n <>\n {hasHeadersLoaded\n ? <TableHeader table={table} />\n : (\n <thead className={headerStyles.osdkTableHeader} ref={headerRef}>\n <tr className={headerStyles.osdkTableHeaderRow}>\n {Array.from({ length: loadingColumnCount }).map((\n _,\n index,\n ) => {\n const width = headers.length > index\n ? headers[index].getSize()\n : columnWidth;\n return (\n <th\n key={`loading-header-${index}`}\n className={headerStyles.osdkTableHeaderCell}\n style={{ width }}\n >\n <div\n className={classNames(\n headerStyles.osdkLoadingHeaderCell,\n loadingStyles.osdkCellSkeleton,\n )}\n />\n </th>\n );\n })}\n </tr>\n </thead>\n )}\n <tbody className={bodyStyles.osdkTableBody} ref={bodyRef}>\n {Array.from({ length: loadingRowCount }).map((_, index) => (\n <LoadingRow\n key={`skeleton-${index}`}\n columnCount={loadingColumnCount}\n headers={headers}\n translateY={rowHeight * index}\n rowHeight={rowHeight}\n columnWidth={columnWidth}\n />\n ))}\n </tbody>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,181 @@
|
|
|
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 { Button } from "@base-ui/react/button";
|
|
18
|
+
import { Menu } from "@base-ui/react/menu";
|
|
19
|
+
import { Add, CaretDown, Cog, SortAlphabetical, SortAlphabeticalDesc } from "@blueprintjs/icons";
|
|
20
|
+
import { arrayMove } from "@dnd-kit/sortable";
|
|
21
|
+
import classNames from "classnames";
|
|
22
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
23
|
+
import { ActionButton } from "../base-components/action-button/ActionButton.js";
|
|
24
|
+
import { Dialog } from "../base-components/dialog/Dialog.js";
|
|
25
|
+
import { SearchBar } from "../base-components/search-bar/SearchBar.js";
|
|
26
|
+
import styles from "./MultiColumnSortDialog.module.css";
|
|
27
|
+
import { SortableItemsList } from "./SortableItemsList.js";
|
|
28
|
+
export function MultiColumnSortDialog({
|
|
29
|
+
isOpen,
|
|
30
|
+
onClose,
|
|
31
|
+
onApply,
|
|
32
|
+
currentSorting,
|
|
33
|
+
columnOptions
|
|
34
|
+
}) {
|
|
35
|
+
const [selectedSortColumns, setSelectedSortColumns] = useState([]);
|
|
36
|
+
const [menuSearchQuery, setMenuSearchQuery] = useState("");
|
|
37
|
+
|
|
38
|
+
// Initialize selected sort columns from current sorting
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (isOpen) {
|
|
41
|
+
const selectedColumns = [];
|
|
42
|
+
for (const sort of currentSorting) {
|
|
43
|
+
const column = columnOptions.find(col => col.id === sort.id);
|
|
44
|
+
if (column) {
|
|
45
|
+
selectedColumns.push({
|
|
46
|
+
...column,
|
|
47
|
+
direction: sort.desc ? "desc" : "asc"
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
setSelectedSortColumns(selectedColumns);
|
|
52
|
+
}
|
|
53
|
+
}, [isOpen, currentSorting, columnOptions]);
|
|
54
|
+
const handleAddColumn = useCallback(column => {
|
|
55
|
+
setSelectedSortColumns(prev => [...prev, {
|
|
56
|
+
...column,
|
|
57
|
+
direction: "asc"
|
|
58
|
+
}]);
|
|
59
|
+
}, []);
|
|
60
|
+
const handleRemoveSortColumn = useCallback(id => {
|
|
61
|
+
setSelectedSortColumns(prev => prev.filter(item => item.id !== id));
|
|
62
|
+
}, []);
|
|
63
|
+
const handleReorderSortColumns = useCallback((fromIndex, toIndex) => {
|
|
64
|
+
setSelectedSortColumns(items => arrayMove(items, fromIndex, toIndex));
|
|
65
|
+
}, []);
|
|
66
|
+
const handleToggleSortDirection = useCallback(id => {
|
|
67
|
+
setSelectedSortColumns(prev => prev.map(item => item.id === id ? {
|
|
68
|
+
...item,
|
|
69
|
+
direction: item.direction === "asc" ? "desc" : "asc"
|
|
70
|
+
} : item));
|
|
71
|
+
}, []);
|
|
72
|
+
const handleApply = useCallback(() => {
|
|
73
|
+
const sortingState = selectedSortColumns.map(col => ({
|
|
74
|
+
id: col.id,
|
|
75
|
+
desc: col.direction === "desc"
|
|
76
|
+
}));
|
|
77
|
+
onApply(sortingState);
|
|
78
|
+
onClose();
|
|
79
|
+
}, [selectedSortColumns, onApply, onClose]);
|
|
80
|
+
const availableColumns = useMemo(() => columnOptions.filter(col => col.canSort && !selectedSortColumns.some(selected => selected.id === col.id)), [columnOptions, selectedSortColumns]);
|
|
81
|
+
const filteredAvailableColumns = useMemo(() => {
|
|
82
|
+
const query = menuSearchQuery.toLowerCase().trim();
|
|
83
|
+
if (!query) {
|
|
84
|
+
return availableColumns;
|
|
85
|
+
}
|
|
86
|
+
return availableColumns.filter(col => col.name.toLowerCase().includes(query));
|
|
87
|
+
}, [availableColumns, menuSearchQuery]);
|
|
88
|
+
const handleMenuSearchChange = useCallback(event => {
|
|
89
|
+
setMenuSearchQuery(event.target.value);
|
|
90
|
+
}, []);
|
|
91
|
+
const handleMenuOpenChange = useCallback(open => {
|
|
92
|
+
if (open) {
|
|
93
|
+
setMenuSearchQuery("");
|
|
94
|
+
}
|
|
95
|
+
}, []);
|
|
96
|
+
const sortableItems = useMemo(() => {
|
|
97
|
+
return selectedSortColumns.map(item => ({
|
|
98
|
+
id: item.id,
|
|
99
|
+
label: item.name,
|
|
100
|
+
content: /*#__PURE__*/React.createElement("div", {
|
|
101
|
+
className: styles.sortColumnItem
|
|
102
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
103
|
+
className: classNames(styles.sortColumnName, styles.truncate)
|
|
104
|
+
}, item.name), /*#__PURE__*/React.createElement(Button, {
|
|
105
|
+
className: styles.sortDirectionButton,
|
|
106
|
+
onClick: () => handleToggleSortDirection(item.id),
|
|
107
|
+
"aria-label": `Toggle sort direction for ${item.name}`
|
|
108
|
+
}, item.direction === "asc" ? /*#__PURE__*/React.createElement(SortAlphabetical, {
|
|
109
|
+
className: styles.sortIcon
|
|
110
|
+
}) : /*#__PURE__*/React.createElement(SortAlphabeticalDesc, {
|
|
111
|
+
className: styles.sortIcon
|
|
112
|
+
})))
|
|
113
|
+
}));
|
|
114
|
+
}, [selectedSortColumns, handleToggleSortDirection]);
|
|
115
|
+
const footer = useMemo(() => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ActionButton, {
|
|
116
|
+
onClick: onClose
|
|
117
|
+
}, "Cancel"), /*#__PURE__*/React.createElement(ActionButton, {
|
|
118
|
+
variant: "primary",
|
|
119
|
+
onClick: handleApply
|
|
120
|
+
}, "Apply")), [handleApply, onClose]);
|
|
121
|
+
const handleKeyDown = useCallback(event => {
|
|
122
|
+
event.stopPropagation();
|
|
123
|
+
}, []);
|
|
124
|
+
return /*#__PURE__*/React.createElement(Dialog, {
|
|
125
|
+
isOpen: isOpen,
|
|
126
|
+
onOpenChange: onClose,
|
|
127
|
+
title: DialogTitle,
|
|
128
|
+
footer: footer
|
|
129
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
130
|
+
className: styles.sortColumnsList
|
|
131
|
+
}, /*#__PURE__*/React.createElement(SortableItemsList, {
|
|
132
|
+
items: sortableItems,
|
|
133
|
+
onReorder: handleReorderSortColumns,
|
|
134
|
+
onRemove: handleRemoveSortColumn,
|
|
135
|
+
className: styles.sortableList
|
|
136
|
+
}), /*#__PURE__*/React.createElement(Menu.Root, {
|
|
137
|
+
onOpenChange: handleMenuOpenChange
|
|
138
|
+
}, /*#__PURE__*/React.createElement(Menu.Trigger, {
|
|
139
|
+
className: styles.addColumnButton,
|
|
140
|
+
disabled: availableColumns.length === 0,
|
|
141
|
+
"aria-label": "Add column to sort"
|
|
142
|
+
}, /*#__PURE__*/React.createElement(Add, {
|
|
143
|
+
className: styles.addIcon
|
|
144
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
145
|
+
className: styles.addColumnText
|
|
146
|
+
}, "Add Column to Sort"), /*#__PURE__*/React.createElement(CaretDown, {
|
|
147
|
+
color: "currentColor"
|
|
148
|
+
})), /*#__PURE__*/React.createElement(Menu.Portal, null, /*#__PURE__*/React.createElement(Menu.Positioner, {
|
|
149
|
+
className: styles.menuPositioner,
|
|
150
|
+
sideOffset: 4
|
|
151
|
+
}, /*#__PURE__*/React.createElement(Menu.Popup, {
|
|
152
|
+
className: styles.dropdownMenu
|
|
153
|
+
}, /*#__PURE__*/React.createElement(SearchBar, {
|
|
154
|
+
value: menuSearchQuery,
|
|
155
|
+
onChange: handleMenuSearchChange,
|
|
156
|
+
placeholder: "Search columns",
|
|
157
|
+
"aria-label": "Search columns to sort",
|
|
158
|
+
className: styles.menuSearchContainer,
|
|
159
|
+
onKeyDown: handleKeyDown
|
|
160
|
+
}), filteredAvailableColumns.map(column => /*#__PURE__*/React.createElement(AvailableColumnMenuItem, {
|
|
161
|
+
key: column.id,
|
|
162
|
+
column: column,
|
|
163
|
+
onAddColumn: handleAddColumn
|
|
164
|
+
})), filteredAvailableColumns.length === 0 && /*#__PURE__*/React.createElement("div", {
|
|
165
|
+
className: styles.menuEmptyState
|
|
166
|
+
}, "No matching columns")))))));
|
|
167
|
+
}
|
|
168
|
+
const DialogTitle = /*#__PURE__*/React.createElement("div", {
|
|
169
|
+
className: styles.title
|
|
170
|
+
}, /*#__PURE__*/React.createElement(Cog, null), "Sort on Multiple Columns");
|
|
171
|
+
function AvailableColumnMenuItem({
|
|
172
|
+
column,
|
|
173
|
+
onAddColumn
|
|
174
|
+
}) {
|
|
175
|
+
const onClick = useCallback(() => onAddColumn(column), [onAddColumn, column]);
|
|
176
|
+
return /*#__PURE__*/React.createElement(Menu.Item, {
|
|
177
|
+
className: classNames(styles.dropdownItem, styles.truncate),
|
|
178
|
+
onClick: onClick
|
|
179
|
+
}, column.name);
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=MultiColumnSortDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiColumnSortDialog.js","names":["Button","Menu","Add","CaretDown","Cog","SortAlphabetical","SortAlphabeticalDesc","arrayMove","classNames","React","useCallback","useEffect","useMemo","useState","ActionButton","Dialog","SearchBar","styles","SortableItemsList","MultiColumnSortDialog","isOpen","onClose","onApply","currentSorting","columnOptions","selectedSortColumns","setSelectedSortColumns","menuSearchQuery","setMenuSearchQuery","selectedColumns","sort","column","find","col","id","push","direction","desc","handleAddColumn","prev","handleRemoveSortColumn","filter","item","handleReorderSortColumns","fromIndex","toIndex","items","handleToggleSortDirection","map","handleApply","sortingState","availableColumns","canSort","some","selected","filteredAvailableColumns","query","toLowerCase","trim","name","includes","handleMenuSearchChange","event","target","value","handleMenuOpenChange","open","sortableItems","label","content","createElement","className","sortColumnItem","sortColumnName","truncate","sortDirectionButton","onClick","sortIcon","footer","Fragment","variant","handleKeyDown","stopPropagation","onOpenChange","title","DialogTitle","sortColumnsList","onReorder","onRemove","sortableList","Root","Trigger","addColumnButton","disabled","length","addIcon","addColumnText","color","Portal","Positioner","menuPositioner","sideOffset","Popup","dropdownMenu","onChange","placeholder","menuSearchContainer","onKeyDown","AvailableColumnMenuItem","key","onAddColumn","menuEmptyState","Item","dropdownItem"],"sources":["MultiColumnSortDialog.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 { Button } from \"@base-ui/react/button\";\nimport { Menu } from \"@base-ui/react/menu\";\nimport {\n Add,\n CaretDown,\n Cog,\n SortAlphabetical,\n SortAlphabeticalDesc,\n} from \"@blueprintjs/icons\";\nimport { arrayMove } from \"@dnd-kit/sortable\";\nimport type { SortingState } from \"@tanstack/react-table\";\nimport classNames from \"classnames\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { ActionButton } from \"../base-components/action-button/ActionButton.js\";\nimport { Dialog } from \"../base-components/dialog/Dialog.js\";\nimport { SearchBar } from \"../base-components/search-bar/SearchBar.js\";\nimport styles from \"./MultiColumnSortDialog.module.css\";\nimport { type SortableItem, SortableItemsList } from \"./SortableItemsList.js\";\nimport type { ColumnOption } from \"./utils/types.js\";\n\nexport interface SortColumnItem extends ColumnOption {\n direction: \"asc\" | \"desc\";\n}\n\ninterface MultiColumnSortDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onApply: (sortColumns: SortingState) => void;\n currentSorting: SortingState;\n columnOptions: ColumnOption[];\n}\n\nexport function MultiColumnSortDialog({\n isOpen,\n onClose,\n onApply,\n currentSorting,\n columnOptions,\n}: MultiColumnSortDialogProps): React.ReactElement {\n const [selectedSortColumns, setSelectedSortColumns] = useState<\n SortColumnItem[]\n >([]);\n const [menuSearchQuery, setMenuSearchQuery] = useState(\"\");\n\n // Initialize selected sort columns from current sorting\n useEffect(() => {\n if (isOpen) {\n const selectedColumns: SortColumnItem[] = [];\n for (const sort of currentSorting) {\n const column = columnOptions.find((col) => col.id === sort.id);\n if (column) {\n selectedColumns.push({\n ...column,\n direction: sort.desc ? \"desc\" : \"asc\",\n });\n }\n }\n setSelectedSortColumns(selectedColumns);\n }\n }, [isOpen, currentSorting, columnOptions]);\n\n const handleAddColumn = useCallback((column: ColumnOption) => {\n setSelectedSortColumns((prev) => [\n ...prev,\n { ...column, direction: \"asc\" },\n ]);\n }, []);\n\n const handleRemoveSortColumn = useCallback((id: string) => {\n setSelectedSortColumns((prev) => prev.filter((item) => item.id !== id));\n }, []);\n\n const handleReorderSortColumns = useCallback(\n (fromIndex: number, toIndex: number) => {\n setSelectedSortColumns((items) => arrayMove(items, fromIndex, toIndex));\n },\n [],\n );\n\n const handleToggleSortDirection = useCallback((id: string) => {\n setSelectedSortColumns((prev) =>\n prev.map((item) =>\n item.id === id\n ? { ...item, direction: item.direction === \"asc\" ? \"desc\" : \"asc\" }\n : item\n )\n );\n }, []);\n\n const handleApply = useCallback(() => {\n const sortingState: SortingState = selectedSortColumns.map((col) => ({\n id: col.id,\n desc: col.direction === \"desc\",\n }));\n onApply(sortingState);\n onClose();\n }, [selectedSortColumns, onApply, onClose]);\n\n const availableColumns = useMemo(\n () =>\n columnOptions.filter(\n (col) =>\n col.canSort\n && !selectedSortColumns.some((selected) => selected.id === col.id),\n ),\n [columnOptions, selectedSortColumns],\n );\n\n const filteredAvailableColumns = useMemo(() => {\n const query = menuSearchQuery.toLowerCase().trim();\n if (!query) {\n return availableColumns;\n }\n return availableColumns.filter((col) =>\n col.name.toLowerCase().includes(query)\n );\n }, [availableColumns, menuSearchQuery]);\n\n const handleMenuSearchChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setMenuSearchQuery(event.target.value);\n },\n [],\n );\n\n const handleMenuOpenChange = useCallback((open: boolean) => {\n if (open) {\n setMenuSearchQuery(\"\");\n }\n }, []);\n\n const sortableItems: SortableItem[] = useMemo(() => {\n return selectedSortColumns.map((item) => ({\n id: item.id,\n label: item.name,\n content: (\n <div className={styles.sortColumnItem}>\n <span className={classNames(styles.sortColumnName, styles.truncate)}>\n {item.name}\n </span>\n <Button\n className={styles.sortDirectionButton}\n onClick={() => handleToggleSortDirection(item.id)}\n aria-label={`Toggle sort direction for ${item.name}`}\n >\n {item.direction === \"asc\"\n ? <SortAlphabetical className={styles.sortIcon} />\n : <SortAlphabeticalDesc className={styles.sortIcon} />}\n </Button>\n </div>\n ),\n }));\n }, [selectedSortColumns, handleToggleSortDirection]);\n\n const footer = useMemo(() => (\n <>\n <ActionButton onClick={onClose}>Cancel</ActionButton>\n <ActionButton variant=\"primary\" onClick={handleApply}>\n Apply\n </ActionButton>\n </>\n ), [handleApply, onClose]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n event.stopPropagation();\n },\n [],\n );\n\n return (\n <Dialog\n isOpen={isOpen}\n onOpenChange={onClose}\n title={DialogTitle}\n footer={footer}\n >\n <div className={styles.sortColumnsList}>\n <SortableItemsList\n items={sortableItems}\n onReorder={handleReorderSortColumns}\n onRemove={handleRemoveSortColumn}\n className={styles.sortableList}\n />\n <Menu.Root onOpenChange={handleMenuOpenChange}>\n <Menu.Trigger\n className={styles.addColumnButton}\n disabled={availableColumns.length === 0}\n aria-label=\"Add column to sort\"\n >\n <Add className={styles.addIcon} />\n <span className={styles.addColumnText}>\n Add Column to Sort\n </span>\n <CaretDown color={\"currentColor\"} />\n </Menu.Trigger>\n <Menu.Portal>\n <Menu.Positioner className={styles.menuPositioner} sideOffset={4}>\n <Menu.Popup className={styles.dropdownMenu}>\n <SearchBar\n value={menuSearchQuery}\n onChange={handleMenuSearchChange}\n placeholder=\"Search columns\"\n aria-label=\"Search columns to sort\"\n className={styles.menuSearchContainer}\n onKeyDown={handleKeyDown}\n />\n {filteredAvailableColumns.map((column) => (\n <AvailableColumnMenuItem\n key={column.id}\n column={column}\n onAddColumn={handleAddColumn}\n />\n ))}\n {filteredAvailableColumns.length === 0 && (\n <div className={styles.menuEmptyState}>\n No matching columns\n </div>\n )}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </Menu.Root>\n </div>\n </Dialog>\n );\n}\n\nconst DialogTitle = (\n <div className={styles.title}>\n <Cog />Sort on Multiple Columns\n </div>\n);\nfunction AvailableColumnMenuItem(\n { column, onAddColumn }: {\n column: ColumnOption;\n onAddColumn: (column: ColumnOption) => void;\n },\n) {\n const onClick = useCallback(() => onAddColumn(column), [onAddColumn, column]);\n\n return (\n <Menu.Item\n className={classNames(styles.dropdownItem, styles.truncate)}\n onClick={onClick}\n >\n {column.name}\n </Menu.Item>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,IAAI,QAAQ,qBAAqB;AAC1C,SACEC,GAAG,EACHC,SAAS,EACTC,GAAG,EACHC,gBAAgB,EAChBC,oBAAoB,QACf,oBAAoB;AAC3B,SAASC,SAAS,QAAQ,mBAAmB;AAE7C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACxE,SAASC,YAAY,QAAQ,kDAAkD;AAC/E,SAASC,MAAM,QAAQ,qCAAqC;AAC5D,SAASC,SAAS,QAAQ,4CAA4C;AACtE,OAAOC,MAAM,MAAM,oCAAoC;AACvD,SAA4BC,iBAAiB,QAAQ,wBAAwB;AAe7E,OAAO,SAASC,qBAAqBA,CAAC;EACpCC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,cAAc;EACdC;AAC0B,CAAC,EAAsB;EACjD,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGb,QAAQ,CAE5D,EAAE,CAAC;EACL,MAAM,CAACc,eAAe,EAAEC,kBAAkB,CAAC,GAAGf,QAAQ,CAAC,EAAE,CAAC;;EAE1D;EACAF,SAAS,CAAC,MAAM;IACd,IAAIS,MAAM,EAAE;MACV,MAAMS,eAAiC,GAAG,EAAE;MAC5C,KAAK,MAAMC,IAAI,IAAIP,cAAc,EAAE;QACjC,MAAMQ,MAAM,GAAGP,aAAa,CAACQ,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,EAAE,KAAKJ,IAAI,CAACI,EAAE,CAAC;QAC9D,IAAIH,MAAM,EAAE;UACVF,eAAe,CAACM,IAAI,CAAC;YACnB,GAAGJ,MAAM;YACTK,SAAS,EAAEN,IAAI,CAACO,IAAI,GAAG,MAAM,GAAG;UAClC,CAAC,CAAC;QACJ;MACF;MACAX,sBAAsB,CAACG,eAAe,CAAC;IACzC;EACF,CAAC,EAAE,CAACT,MAAM,EAAEG,cAAc,EAAEC,aAAa,CAAC,CAAC;EAE3C,MAAMc,eAAe,GAAG5B,WAAW,CAAEqB,MAAoB,IAAK;IAC5DL,sBAAsB,CAAEa,IAAI,IAAK,CAC/B,GAAGA,IAAI,EACP;MAAE,GAAGR,MAAM;MAAEK,SAAS,EAAE;IAAM,CAAC,CAChC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,sBAAsB,GAAG9B,WAAW,CAAEwB,EAAU,IAAK;IACzDR,sBAAsB,CAAEa,IAAI,IAAKA,IAAI,CAACE,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAACR,EAAE,KAAKA,EAAE,CAAC,CAAC;EACzE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMS,wBAAwB,GAAGjC,WAAW,CAC1C,CAACkC,SAAiB,EAAEC,OAAe,KAAK;IACtCnB,sBAAsB,CAAEoB,KAAK,IAAKvC,SAAS,CAACuC,KAAK,EAAEF,SAAS,EAAEC,OAAO,CAAC,CAAC;EACzE,CAAC,EACD,EACF,CAAC;EAED,MAAME,yBAAyB,GAAGrC,WAAW,CAAEwB,EAAU,IAAK;IAC5DR,sBAAsB,CAAEa,IAAI,IAC1BA,IAAI,CAACS,GAAG,CAAEN,IAAI,IACZA,IAAI,CAACR,EAAE,KAAKA,EAAE,GACV;MAAE,GAAGQ,IAAI;MAAEN,SAAS,EAAEM,IAAI,CAACN,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG;IAAM,CAAC,GACjEM,IACN,CACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,WAAW,GAAGvC,WAAW,CAAC,MAAM;IACpC,MAAMwC,YAA0B,GAAGzB,mBAAmB,CAACuB,GAAG,CAAEf,GAAG,KAAM;MACnEC,EAAE,EAAED,GAAG,CAACC,EAAE;MACVG,IAAI,EAAEJ,GAAG,CAACG,SAAS,KAAK;IAC1B,CAAC,CAAC,CAAC;IACHd,OAAO,CAAC4B,YAAY,CAAC;IACrB7B,OAAO,CAAC,CAAC;EACX,CAAC,EAAE,CAACI,mBAAmB,EAAEH,OAAO,EAAED,OAAO,CAAC,CAAC;EAE3C,MAAM8B,gBAAgB,GAAGvC,OAAO,CAC9B,MACEY,aAAa,CAACiB,MAAM,CACjBR,GAAG,IACFA,GAAG,CAACmB,OAAO,IACR,CAAC3B,mBAAmB,CAAC4B,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACpB,EAAE,KAAKD,GAAG,CAACC,EAAE,CACrE,CAAC,EACH,CAACV,aAAa,EAAEC,mBAAmB,CACrC,CAAC;EAED,MAAM8B,wBAAwB,GAAG3C,OAAO,CAAC,MAAM;IAC7C,MAAM4C,KAAK,GAAG7B,eAAe,CAAC8B,WAAW,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;IAClD,IAAI,CAACF,KAAK,EAAE;MACV,OAAOL,gBAAgB;IACzB;IACA,OAAOA,gBAAgB,CAACV,MAAM,CAAER,GAAG,IACjCA,GAAG,CAAC0B,IAAI,CAACF,WAAW,CAAC,CAAC,CAACG,QAAQ,CAACJ,KAAK,CACvC,CAAC;EACH,CAAC,EAAE,CAACL,gBAAgB,EAAExB,eAAe,CAAC,CAAC;EAEvC,MAAMkC,sBAAsB,GAAGnD,WAAW,CACvCoD,KAA0C,IAAK;IAC9ClC,kBAAkB,CAACkC,KAAK,CAACC,MAAM,CAACC,KAAK,CAAC;EACxC,CAAC,EACD,EACF,CAAC;EAED,MAAMC,oBAAoB,GAAGvD,WAAW,CAAEwD,IAAa,IAAK;IAC1D,IAAIA,IAAI,EAAE;MACRtC,kBAAkB,CAAC,EAAE,CAAC;IACxB;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMuC,aAA6B,GAAGvD,OAAO,CAAC,MAAM;IAClD,OAAOa,mBAAmB,CAACuB,GAAG,CAAEN,IAAI,KAAM;MACxCR,EAAE,EAAEQ,IAAI,CAACR,EAAE;MACXkC,KAAK,EAAE1B,IAAI,CAACiB,IAAI;MAChBU,OAAO,eACL5D,KAAA,CAAA6D,aAAA;QAAKC,SAAS,EAAEtD,MAAM,CAACuD;MAAe,gBACpC/D,KAAA,CAAA6D,aAAA;QAAMC,SAAS,EAAE/D,UAAU,CAACS,MAAM,CAACwD,cAAc,EAAExD,MAAM,CAACyD,QAAQ;MAAE,GACjEhC,IAAI,CAACiB,IACF,CAAC,eACPlD,KAAA,CAAA6D,aAAA,CAACtE,MAAM;QACLuE,SAAS,EAAEtD,MAAM,CAAC0D,mBAAoB;QACtCC,OAAO,EAAEA,CAAA,KAAM7B,yBAAyB,CAACL,IAAI,CAACR,EAAE,CAAE;QAClD,cAAY,6BAA6BQ,IAAI,CAACiB,IAAI;MAAG,GAEpDjB,IAAI,CAACN,SAAS,KAAK,KAAK,gBACrB3B,KAAA,CAAA6D,aAAA,CAACjE,gBAAgB;QAACkE,SAAS,EAAEtD,MAAM,CAAC4D;MAAS,CAAE,CAAC,gBAChDpE,KAAA,CAAA6D,aAAA,CAAChE,oBAAoB;QAACiE,SAAS,EAAEtD,MAAM,CAAC4D;MAAS,CAAE,CACjD,CACL;IAET,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CAACpD,mBAAmB,EAAEsB,yBAAyB,CAAC,CAAC;EAEpD,MAAM+B,MAAM,GAAGlE,OAAO,CAAC,mBACrBH,KAAA,CAAA6D,aAAA,CAAA7D,KAAA,CAAAsE,QAAA,qBACEtE,KAAA,CAAA6D,aAAA,CAACxD,YAAY;IAAC8D,OAAO,EAAEvD;EAAQ,GAAC,QAAoB,CAAC,eACrDZ,KAAA,CAAA6D,aAAA,CAACxD,YAAY;IAACkE,OAAO,EAAC,SAAS;IAACJ,OAAO,EAAE3B;EAAY,GAAC,OAExC,CACd,CACH,EAAE,CAACA,WAAW,EAAE5B,OAAO,CAAC,CAAC;EAE1B,MAAM4D,aAAa,GAAGvE,WAAW,CAC9BoD,KAA4C,IAAK;IAChDA,KAAK,CAACoB,eAAe,CAAC,CAAC;EACzB,CAAC,EACD,EACF,CAAC;EAED,oBACEzE,KAAA,CAAA6D,aAAA,CAACvD,MAAM;IACLK,MAAM,EAAEA,MAAO;IACf+D,YAAY,EAAE9D,OAAQ;IACtB+D,KAAK,EAAEC,WAAY;IACnBP,MAAM,EAAEA;EAAO,gBAEfrE,KAAA,CAAA6D,aAAA;IAAKC,SAAS,EAAEtD,MAAM,CAACqE;EAAgB,gBACrC7E,KAAA,CAAA6D,aAAA,CAACpD,iBAAiB;IAChB4B,KAAK,EAAEqB,aAAc;IACrBoB,SAAS,EAAE5C,wBAAyB;IACpC6C,QAAQ,EAAEhD,sBAAuB;IACjC+B,SAAS,EAAEtD,MAAM,CAACwE;EAAa,CAChC,CAAC,eACFhF,KAAA,CAAA6D,aAAA,CAACrE,IAAI,CAACyF,IAAI;IAACP,YAAY,EAAElB;EAAqB,gBAC5CxD,KAAA,CAAA6D,aAAA,CAACrE,IAAI,CAAC0F,OAAO;IACXpB,SAAS,EAAEtD,MAAM,CAAC2E,eAAgB;IAClCC,QAAQ,EAAE1C,gBAAgB,CAAC2C,MAAM,KAAK,CAAE;IACxC,cAAW;EAAoB,gBAE/BrF,KAAA,CAAA6D,aAAA,CAACpE,GAAG;IAACqE,SAAS,EAAEtD,MAAM,CAAC8E;EAAQ,CAAE,CAAC,eAClCtF,KAAA,CAAA6D,aAAA;IAAMC,SAAS,EAAEtD,MAAM,CAAC+E;EAAc,GAAC,oBAEjC,CAAC,eACPvF,KAAA,CAAA6D,aAAA,CAACnE,SAAS;IAAC8F,KAAK,EAAE;EAAe,CAAE,CACvB,CAAC,eACfxF,KAAA,CAAA6D,aAAA,CAACrE,IAAI,CAACiG,MAAM,qBACVzF,KAAA,CAAA6D,aAAA,CAACrE,IAAI,CAACkG,UAAU;IAAC5B,SAAS,EAAEtD,MAAM,CAACmF,cAAe;IAACC,UAAU,EAAE;EAAE,gBAC/D5F,KAAA,CAAA6D,aAAA,CAACrE,IAAI,CAACqG,KAAK;IAAC/B,SAAS,EAAEtD,MAAM,CAACsF;EAAa,gBACzC9F,KAAA,CAAA6D,aAAA,CAACtD,SAAS;IACRgD,KAAK,EAAErC,eAAgB;IACvB6E,QAAQ,EAAE3C,sBAAuB;IACjC4C,WAAW,EAAC,gBAAgB;IAC5B,cAAW,wBAAwB;IACnClC,SAAS,EAAEtD,MAAM,CAACyF,mBAAoB;IACtCC,SAAS,EAAE1B;EAAc,CAC1B,CAAC,EACD1B,wBAAwB,CAACP,GAAG,CAAEjB,MAAM,iBACnCtB,KAAA,CAAA6D,aAAA,CAACsC,uBAAuB;IACtBC,GAAG,EAAE9E,MAAM,CAACG,EAAG;IACfH,MAAM,EAAEA,MAAO;IACf+E,WAAW,EAAExE;EAAgB,CAC9B,CACF,CAAC,EACDiB,wBAAwB,CAACuC,MAAM,KAAK,CAAC,iBACpCrF,KAAA,CAAA6D,aAAA;IAAKC,SAAS,EAAEtD,MAAM,CAAC8F;EAAe,GAAC,qBAElC,CAEG,CACG,CACN,CACJ,CACR,CACC,CAAC;AAEb;AAEA,MAAM1B,WAAW,gBACf5E,KAAA,CAAA6D,aAAA;EAAKC,SAAS,EAAEtD,MAAM,CAACmE;AAAM,gBAC3B3E,KAAA,CAAA6D,aAAA,CAAClE,GAAG,MAAE,CAAC,4BACJ,CACN;AACD,SAASwG,uBAAuBA,CAC9B;EAAE7E,MAAM;EAAE+E;AAGV,CAAC,EACD;EACA,MAAMlC,OAAO,GAAGlE,WAAW,CAAC,MAAMoG,WAAW,CAAC/E,MAAM,CAAC,EAAE,CAAC+E,WAAW,EAAE/E,MAAM,CAAC,CAAC;EAE7E,oBACEtB,KAAA,CAAA6D,aAAA,CAACrE,IAAI,CAAC+G,IAAI;IACRzC,SAAS,EAAE/D,UAAU,CAACS,MAAM,CAACgG,YAAY,EAAEhG,MAAM,CAACyD,QAAQ,CAAE;IAC5DE,OAAO,EAAEA;EAAQ,GAEhB7C,MAAM,CAAC4B,IACC,CAAC;AAEhB","ignoreList":[]}
|
|
@@ -0,0 +1,191 @@
|
|
|
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
|
+
.title {
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
gap: var(--osdk-surface-spacing);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.sortColumnsList {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
gap: var(--osdk-surface-spacing);
|
|
27
|
+
flex: 1;
|
|
28
|
+
justify-content: space-between;
|
|
29
|
+
overflow-x: hidden;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.sortableList {
|
|
33
|
+
flex: 1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.selectedColumnsContainer {
|
|
37
|
+
margin-bottom: calc(var(--osdk-surface-spacing) * 2);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.sortColumnItem {
|
|
41
|
+
display: flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
justify-content: space-between;
|
|
44
|
+
min-width: 0;
|
|
45
|
+
width: 100%;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.sortColumnName {
|
|
49
|
+
min-width: 0;
|
|
50
|
+
flex-shrink: 1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.sortDirectionButton {
|
|
54
|
+
flex-shrink: 0;
|
|
55
|
+
background: none;
|
|
56
|
+
border: none;
|
|
57
|
+
padding: var(--osdk-surface-spacing);
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
justify-content: center;
|
|
62
|
+
border-radius: var(--osdk-surface-border-radius);
|
|
63
|
+
|
|
64
|
+
&:hover {
|
|
65
|
+
background-color: var(--osdk-button-secondary-bg-hover);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&:focus {
|
|
69
|
+
outline: none;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&:focus-visible {
|
|
73
|
+
outline: var(--osdk-focus-outline);
|
|
74
|
+
outline-offset: calc(-1 * var(--osdk-focus-visible-outline-offset));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.sortIcon {
|
|
79
|
+
color: var(--osdk-typography-color-muted);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.addColumnButton {
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
gap: calc(var(--osdk-surface-spacing) * 2);
|
|
86
|
+
width: 100%;
|
|
87
|
+
padding: calc(var(--osdk-surface-spacing) * 2)
|
|
88
|
+
calc(var(--osdk-surface-spacing) * 3);
|
|
89
|
+
background-color: var(--osdk-button-secondary-bg);
|
|
90
|
+
border: var(--osdk-surface-border);
|
|
91
|
+
border-radius: var(--osdk-surface-border-radius);
|
|
92
|
+
cursor: pointer;
|
|
93
|
+
color: var(--osdk-button-secondary-color);
|
|
94
|
+
margin-top: calc(var(--osdk-surface-spacing) * 2);
|
|
95
|
+
|
|
96
|
+
&:hover:not(:disabled) {
|
|
97
|
+
background-color: var(--osdk-button-secondary-bg-hover);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&:disabled {
|
|
101
|
+
opacity: 0.5;
|
|
102
|
+
cursor: not-allowed;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&:focus-visible {
|
|
106
|
+
outline: var(--osdk-focus-outline);
|
|
107
|
+
outline-offset: calc(-1 * var(--osdk-focus-visible-outline-offset));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.addIcon {
|
|
112
|
+
width: var(--osdk-iconography-size-small);
|
|
113
|
+
height: var(--osdk-iconography-size-small);
|
|
114
|
+
color: currentColor;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.addColumnText {
|
|
118
|
+
flex: 1;
|
|
119
|
+
text-align: left;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.menuPositioner {
|
|
123
|
+
z-index: var(--osdk-surface-z-index-2);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.dropdownMenu {
|
|
127
|
+
background-color: var(--osdk-surface-background-color-default-rest);
|
|
128
|
+
border: var(--osdk-surface-border);
|
|
129
|
+
border-radius: var(--osdk-surface-border-radius);
|
|
130
|
+
box-shadow: var(--osdk-surface-shadow-2);
|
|
131
|
+
max-height: calc(var(--osdk-dialog-max-height) * 0.5);
|
|
132
|
+
overflow-y: auto;
|
|
133
|
+
width: var(--anchor-width);
|
|
134
|
+
|
|
135
|
+
&:focus {
|
|
136
|
+
outline: none;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
&:focus-visible {
|
|
140
|
+
outline: var(--osdk-focus-outline);
|
|
141
|
+
outline-offset: var(--osdk-focus-visible-outline-offset);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.menuSearchContainer {
|
|
146
|
+
border: none;
|
|
147
|
+
border-bottom: var(--osdk-surface-border);
|
|
148
|
+
border-radius: 0;
|
|
149
|
+
position: sticky;
|
|
150
|
+
top: 0;
|
|
151
|
+
background-color: var(--osdk-surface-background-color-default-rest);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.menuEmptyState {
|
|
155
|
+
padding: calc(var(--osdk-surface-spacing) * 3);
|
|
156
|
+
text-align: center;
|
|
157
|
+
color: var(--osdk-typography-color-muted);
|
|
158
|
+
font-size: var(--osdk-typography-size-body-medium);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.dropdownItem {
|
|
162
|
+
display: block;
|
|
163
|
+
width: 100%;
|
|
164
|
+
text-align: left;
|
|
165
|
+
padding: calc(var(--osdk-surface-spacing) * 2)
|
|
166
|
+
calc(var(--osdk-surface-spacing) * 3);
|
|
167
|
+
background: none;
|
|
168
|
+
border: none;
|
|
169
|
+
cursor: pointer;
|
|
170
|
+
font-size: var(--osdk-typography-size-body-medium);
|
|
171
|
+
color: var(--osdk-typography-color-default-rest);
|
|
172
|
+
|
|
173
|
+
&:hover {
|
|
174
|
+
background-color: var(--osdk-surface-background-color-default-hover);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&:focus {
|
|
178
|
+
outline: none;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
&:focus-visible {
|
|
182
|
+
outline: var(--osdk-focus-outline);
|
|
183
|
+
outline-offset: calc(-1 * var(--osdk-focus-visible-outline-offset));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.truncate {
|
|
188
|
+
overflow: hidden;
|
|
189
|
+
text-overflow: ellipsis;
|
|
190
|
+
white-space: nowrap;
|
|
191
|
+
}
|
|
@@ -18,11 +18,10 @@
|
|
|
18
18
|
display: flex;
|
|
19
19
|
align-items: center;
|
|
20
20
|
justify-content: center;
|
|
21
|
-
width: 100%;
|
|
22
|
-
height: 100%;
|
|
23
|
-
min-height: 80px;
|
|
24
21
|
}
|
|
25
22
|
|
|
26
23
|
.message {
|
|
24
|
+
padding: calc(var(--osdk-surface-spacing) * 5);
|
|
27
25
|
color: var(--osdk-typography-color-muted);
|
|
26
|
+
font-style: italic;
|
|
28
27
|
}
|
|
@@ -15,17 +15,18 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { getCoreRowModel, useReactTable } from "@tanstack/react-table";
|
|
18
|
-
import React, { useCallback, useMemo
|
|
18
|
+
import React, { useCallback, useMemo } from "react";
|
|
19
19
|
import { useColumnDefs } from "./hooks/useColumnDefs.js";
|
|
20
20
|
import { useColumnPinning } from "./hooks/useColumnPinning.js";
|
|
21
|
+
import { useColumnResize } from "./hooks/useColumnResize.js";
|
|
21
22
|
import { useColumnVisibility } from "./hooks/useColumnVisibility.js";
|
|
23
|
+
import { useEditableTable } from "./hooks/useEditableTable.js";
|
|
22
24
|
import { useObjectTableData } from "./hooks/useObjectTableData.js";
|
|
23
25
|
import { useRowSelection } from "./hooks/useRowSelection.js";
|
|
24
26
|
import { useSelectionColumn } from "./hooks/useSelectionColumn.js";
|
|
25
27
|
import { useTableSorting } from "./hooks/useTableSorting.js";
|
|
26
28
|
import { BaseTable } from "./Table.js";
|
|
27
29
|
import { getRowId } from "./utils/getRowId.js";
|
|
28
|
-
|
|
29
30
|
/**
|
|
30
31
|
* ObjectTable - A headless table component for displaying OSDK object sets
|
|
31
32
|
*
|
|
@@ -35,21 +36,39 @@ import { getRowId } from "./utils/getRowId.js";
|
|
|
35
36
|
* ```
|
|
36
37
|
*/
|
|
37
38
|
|
|
39
|
+
const EMPTY_ARRAY = [];
|
|
38
40
|
export function ObjectTable({
|
|
39
41
|
objectType,
|
|
42
|
+
objectSet,
|
|
40
43
|
columnDefinitions,
|
|
41
44
|
filter,
|
|
45
|
+
objectSetOptions,
|
|
42
46
|
orderBy,
|
|
43
47
|
defaultOrderBy,
|
|
44
48
|
onOrderByChanged,
|
|
45
49
|
onColumnsPinnedChanged,
|
|
50
|
+
onColumnResize,
|
|
46
51
|
onRowSelection,
|
|
47
52
|
renderCellContextMenu,
|
|
48
53
|
selectionMode = "none",
|
|
49
54
|
selectedRows,
|
|
55
|
+
isAllSelected: isAllSelectedProp,
|
|
56
|
+
onColumnVisibilityChanged,
|
|
57
|
+
onCellValueChanged,
|
|
58
|
+
onSubmitEdits,
|
|
59
|
+
enableOrdering = true,
|
|
60
|
+
enableColumnPinning = true,
|
|
61
|
+
enableColumnResizing = true,
|
|
62
|
+
enableColumnConfig = true,
|
|
63
|
+
editMode = "manual",
|
|
50
64
|
...props
|
|
51
65
|
}) {
|
|
52
|
-
const
|
|
66
|
+
const {
|
|
67
|
+
columnSizing,
|
|
68
|
+
onColumnSizingChange
|
|
69
|
+
} = useColumnResize({
|
|
70
|
+
onColumnResize
|
|
71
|
+
});
|
|
53
72
|
const {
|
|
54
73
|
sorting,
|
|
55
74
|
onSortingChange
|
|
@@ -63,23 +82,22 @@ export function ObjectTable({
|
|
|
63
82
|
fetchMore,
|
|
64
83
|
isLoading,
|
|
65
84
|
error
|
|
66
|
-
} = useObjectTableData(objectType, columnDefinitions, filter, sorting);
|
|
85
|
+
} = useObjectTableData(objectType, columnDefinitions, filter, sorting, objectSet, objectSetOptions);
|
|
67
86
|
const {
|
|
68
87
|
columns,
|
|
69
88
|
loading: isColumnsLoading
|
|
70
89
|
} = useColumnDefs(objectType, columnDefinitions);
|
|
71
|
-
const columnVisibility = useColumnVisibility({
|
|
72
|
-
columnDefinitions
|
|
73
|
-
});
|
|
74
90
|
const {
|
|
75
91
|
rowSelection,
|
|
76
92
|
isAllSelected,
|
|
77
93
|
hasSelection,
|
|
78
94
|
onToggleAll,
|
|
79
|
-
onToggleRow
|
|
95
|
+
onToggleRow,
|
|
96
|
+
enableRowSelection
|
|
80
97
|
} = useRowSelection({
|
|
81
98
|
selectionMode,
|
|
82
99
|
selectedRows,
|
|
100
|
+
isAllSelected: isAllSelectedProp,
|
|
83
101
|
onRowSelection,
|
|
84
102
|
data
|
|
85
103
|
});
|
|
@@ -90,32 +108,50 @@ export function ObjectTable({
|
|
|
90
108
|
onToggleAll,
|
|
91
109
|
onToggleRow
|
|
92
110
|
});
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
111
|
+
const {
|
|
112
|
+
columnVisibility,
|
|
113
|
+
onColumnVisibilityChange,
|
|
114
|
+
columnOrder,
|
|
115
|
+
onColumnOrderChange
|
|
116
|
+
} = useColumnVisibility({
|
|
117
|
+
allColumns: columns,
|
|
118
|
+
onColumnVisibilityChanged
|
|
119
|
+
});
|
|
96
120
|
const {
|
|
97
121
|
columnPinning,
|
|
98
122
|
onColumnPinningChange
|
|
99
123
|
} = useColumnPinning({
|
|
100
124
|
columnDefinitions,
|
|
101
|
-
hasSelectionColumn:
|
|
125
|
+
hasSelectionColumn: enableRowSelection,
|
|
102
126
|
onColumnsPinnedChanged
|
|
103
127
|
});
|
|
128
|
+
const allColumns = useMemo(() => {
|
|
129
|
+
return selectionColumn ? [selectionColumn, ...columns] : columns;
|
|
130
|
+
}, [selectionColumn, columns]);
|
|
131
|
+
const editableConfig = useEditableTable({
|
|
132
|
+
editMode,
|
|
133
|
+
onCellValueChanged,
|
|
134
|
+
onSubmitEdits
|
|
135
|
+
});
|
|
104
136
|
const table = useReactTable({
|
|
105
|
-
data: data ??
|
|
137
|
+
data: data ?? EMPTY_ARRAY,
|
|
106
138
|
columns: allColumns,
|
|
107
139
|
getCoreRowModel: getCoreRowModel(),
|
|
108
140
|
state: {
|
|
109
141
|
columnVisibility,
|
|
142
|
+
columnOrder,
|
|
110
143
|
rowSelection,
|
|
111
144
|
sorting,
|
|
112
145
|
columnSizing,
|
|
113
146
|
columnPinning
|
|
114
147
|
},
|
|
115
148
|
onSortingChange,
|
|
116
|
-
onColumnSizingChange
|
|
149
|
+
onColumnSizingChange,
|
|
117
150
|
onColumnPinningChange,
|
|
118
|
-
|
|
151
|
+
onColumnVisibilityChange,
|
|
152
|
+
onColumnOrderChange,
|
|
153
|
+
enableRowSelection,
|
|
154
|
+
enableSorting: enableOrdering,
|
|
119
155
|
columnResizeMode: "onChange",
|
|
120
156
|
columnResizeDirection: "ltr",
|
|
121
157
|
manualSorting: true,
|
|
@@ -123,11 +159,25 @@ export function ObjectTable({
|
|
|
123
159
|
defaultColumn: {
|
|
124
160
|
minSize: 80
|
|
125
161
|
},
|
|
126
|
-
getRowId
|
|
162
|
+
getRowId,
|
|
163
|
+
meta: {
|
|
164
|
+
onCellEdit: editableConfig.onCellEdit,
|
|
165
|
+
onCellValidationError: editableConfig.onCellValidationError,
|
|
166
|
+
clearCellValidationError: editableConfig.clearCellValidationError,
|
|
167
|
+
cellEdits: editableConfig.cellEdits,
|
|
168
|
+
isInEditMode: editableConfig.editModeState.isActive,
|
|
169
|
+
validationErrors: editableConfig.validationErrors
|
|
170
|
+
}
|
|
127
171
|
});
|
|
128
172
|
const onRenderCellContextMenu = useCallback((row, cell) => {
|
|
129
173
|
return renderCellContextMenu?.(row, cell.getValue());
|
|
130
174
|
}, [renderCellContextMenu]);
|
|
175
|
+
const headerMenuFeatureFlags = useMemo(() => ({
|
|
176
|
+
showSortingItems: enableOrdering,
|
|
177
|
+
showPinningItems: enableColumnPinning,
|
|
178
|
+
showResizeItem: enableColumnResizing,
|
|
179
|
+
showConfigItem: enableColumnConfig
|
|
180
|
+
}), [enableOrdering, enableColumnPinning, enableColumnResizing, enableColumnConfig]);
|
|
131
181
|
return /*#__PURE__*/React.createElement(BaseTable, {
|
|
132
182
|
table: table,
|
|
133
183
|
isLoading: isLoading || isColumnsLoading,
|
|
@@ -136,7 +186,9 @@ export function ObjectTable({
|
|
|
136
186
|
rowHeight: props.rowHeight,
|
|
137
187
|
renderCellContextMenu: onRenderCellContextMenu,
|
|
138
188
|
className: props.className,
|
|
139
|
-
error: error
|
|
189
|
+
error: error,
|
|
190
|
+
headerMenuFeatureFlags: headerMenuFeatureFlags,
|
|
191
|
+
editableConfig: editableConfig
|
|
140
192
|
});
|
|
141
193
|
}
|
|
142
194
|
//# sourceMappingURL=ObjectTable.js.map
|