@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":"useColumnDefs.js","names":["useOsdkMetadata","useMemo","useColumnDefs","objectType","columnDefinitions","metadata","loading","error","columns","objectProperties","properties","getColumnsFromColumnDefinitions","getDefaultColumns","map","col","locator","width","minWidth","maxWidth","resizable","orderable","filterable","renderCell","renderHeader","propertyMetadata","type","id","undefined","colKey","colDef","accessorKey","header","displayName","size","minSize","maxSize","enableResizing","enableSorting","enableColumnFilter","cell","cellContext","object","row","original","
|
|
1
|
+
{"version":3,"file":"useColumnDefs.js","names":["useOsdkMetadata","useMemo","renderDefaultCell","useColumnDefs","objectType","columnDefinitions","metadata","loading","error","columns","objectProperties","properties","getColumnsFromColumnDefinitions","getDefaultColumns","map","col","locator","width","minWidth","maxWidth","resizable","orderable","filterable","editable","renderCell","renderHeader","columnName","propertyMetadata","type","id","undefined","colKey","dataType","colDef","accessorKey","header","displayName","meta","isAsyncColumn","isVisible","validateEdit","size","minSize","maxSize","enableResizing","enableSorting","enableColumnFilter","cell","cellContext","object","row","original","Object","entries","key","property"],"sources":["useColumnDefs.ts"],"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 {\n ObjectMetadata,\n ObjectOrInterfaceDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport { useOsdkMetadata } from \"@osdk/react\";\nimport type { AccessorColumnDef } from \"@tanstack/react-table\";\nimport { useMemo } from \"react\";\nimport { renderDefaultCell } from \"../DefaultCellRenderer.js\";\nimport type { ColumnDefinition } from \"../ObjectTableApi.js\";\n\ninterface UseColumnDefsResult<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n columns: AccessorColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n >[];\n\n loading: boolean;\n\n error: string | undefined;\n}\n\n/**\n * Hook which builds column definitions for tanstack-table given the objectSet\n */\nexport function useColumnDefs<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n objectType: Q,\n columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>,\n): UseColumnDefsResult<Q, RDPs> {\n const { metadata, loading, error } = useOsdkMetadata(objectType);\n\n const columns: AccessorColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n >[] = useMemo(() => {\n const objectProperties = metadata?.properties;\n // If columnDefinitions is provided, construct colDefs with it\n if (columnDefinitions) {\n return getColumnsFromColumnDefinitions<Q, RDPs, FunctionColumns>(\n columnDefinitions,\n objectProperties,\n );\n }\n\n // If not, return the default columns from the object properties\n return getDefaultColumns<Q, RDPs>(objectProperties);\n }, [columnDefinitions, metadata?.properties]);\n\n return { columns, loading, error };\n}\n\nfunction getColumnsFromColumnDefinitions<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n columnDefinitions: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>,\n objectProperties?: Record<any, ObjectMetadata.Property>,\n): Array<\n AccessorColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n >\n> {\n return columnDefinitions.map((col) => {\n const {\n locator,\n width,\n minWidth,\n maxWidth,\n resizable,\n orderable,\n filterable,\n editable,\n renderCell,\n renderHeader,\n columnName,\n } = col;\n\n const propertyMetadata = locator.type === \"property\"\n ? objectProperties?.[locator.id]\n : undefined;\n\n const colKey = locator.id as string;\n\n const dataType =\n propertyMetadata?.type && typeof propertyMetadata.type === \"string\"\n ? propertyMetadata.type\n : undefined;\n\n const colDef: AccessorColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = {\n id: colKey,\n accessorKey: colKey,\n header: renderHeader ?? (columnName || propertyMetadata?.displayName),\n meta: {\n columnName: columnName || propertyMetadata?.displayName,\n isAsyncColumn: locator.type === \"function\",\n isVisible: col.isVisible !== false,\n editable,\n dataType,\n validateEdit: col.validateEdit,\n },\n size: width,\n ...(minWidth ? { minSize: minWidth } : {}),\n ...(maxWidth ? { maxSize: maxWidth } : {}),\n enableResizing: resizable,\n // Function-backed columns must be sorted on the frontend, so disable sorting for now\n enableSorting: locator.type === \"function\" ? false : orderable,\n enableColumnFilter: filterable,\n cell: (cellContext) => {\n const object: Osdk.Instance<\n Q,\n \"$allBaseProperties\",\n PropertyKeys<Q>,\n RDPs\n > = cellContext.row.original;\n\n if (renderCell) {\n return renderCell(object, locator);\n }\n\n return renderDefaultCell(cellContext);\n },\n };\n\n return colDef;\n });\n}\n\nfunction getDefaultColumns<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n>(\n objectProperties?: Record<any, ObjectMetadata.Property>,\n): Array<\n AccessorColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n >\n> {\n if (!objectProperties) return [];\n\n return Object.entries(objectProperties).map(([key, property]) => {\n const colDef: AccessorColumnDef<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = {\n accessorKey: key,\n header: property.displayName ?? key,\n };\n return colDef;\n });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,SAASA,eAAe,QAAQ,aAAa;AAE7C,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB,QAAQ,2BAA2B;AAgB7D;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAW3BC,UAAa,EACbC,iBAAqE,EACvC;EAC9B,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGR,eAAe,CAACI,UAAU,CAAC;EAEhE,MAAMK,OAEH,GAAGR,OAAO,CAAC,MAAM;IAClB,MAAMS,gBAAgB,GAAGJ,QAAQ,EAAEK,UAAU;IAC7C;IACA,IAAIN,iBAAiB,EAAE;MACrB,OAAOO,+BAA+B,CACpCP,iBAAiB,EACjBK,gBACF,CAAC;IACH;;IAEA;IACA,OAAOG,iBAAiB,CAAUH,gBAAgB,CAAC;EACrD,CAAC,EAAE,CAACL,iBAAiB,EAAEC,QAAQ,EAAEK,UAAU,CAAC,CAAC;EAE7C,OAAO;IAAEF,OAAO;IAAEF,OAAO;IAAEC;EAAM,CAAC;AACpC;AAEA,SAASI,+BAA+BA,CAWtCP,iBAAoE,EACpEK,gBAAuD,EAKvD;EACA,OAAOL,iBAAiB,CAACS,GAAG,CAAEC,GAAG,IAAK;IACpC,MAAM;MACJC,OAAO;MACPC,KAAK;MACLC,QAAQ;MACRC,QAAQ;MACRC,SAAS;MACTC,SAAS;MACTC,UAAU;MACVC,QAAQ;MACRC,UAAU;MACVC,YAAY;MACZC;IACF,CAAC,GAAGX,GAAG;IAEP,MAAMY,gBAAgB,GAAGX,OAAO,CAACY,IAAI,KAAK,UAAU,GAChDlB,gBAAgB,GAAGM,OAAO,CAACa,EAAE,CAAC,GAC9BC,SAAS;IAEb,MAAMC,MAAM,GAAGf,OAAO,CAACa,EAAY;IAEnC,MAAMG,QAAQ,GACZL,gBAAgB,EAAEC,IAAI,IAAI,OAAOD,gBAAgB,CAACC,IAAI,KAAK,QAAQ,GAC/DD,gBAAgB,CAACC,IAAI,GACrBE,SAAS;IAEf,MAAMG,MAEL,GAAG;MACFJ,EAAE,EAAEE,MAAM;MACVG,WAAW,EAAEH,MAAM;MACnBI,MAAM,EAAEV,YAAY,KAAKC,UAAU,IAAIC,gBAAgB,EAAES,WAAW,CAAC;MACrEC,IAAI,EAAE;QACJX,UAAU,EAAEA,UAAU,IAAIC,gBAAgB,EAAES,WAAW;QACvDE,aAAa,EAAEtB,OAAO,CAACY,IAAI,KAAK,UAAU;QAC1CW,SAAS,EAAExB,GAAG,CAACwB,SAAS,KAAK,KAAK;QAClChB,QAAQ;QACRS,QAAQ;QACRQ,YAAY,EAAEzB,GAAG,CAACyB;MACpB,CAAC;MACDC,IAAI,EAAExB,KAAK;MACX,IAAIC,QAAQ,GAAG;QAAEwB,OAAO,EAAExB;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1C,IAAIC,QAAQ,GAAG;QAAEwB,OAAO,EAAExB;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1CyB,cAAc,EAAExB,SAAS;MACzB;MACAyB,aAAa,EAAE7B,OAAO,CAACY,IAAI,KAAK,UAAU,GAAG,KAAK,GAAGP,SAAS;MAC9DyB,kBAAkB,EAAExB,UAAU;MAC9ByB,IAAI,EAAGC,WAAW,IAAK;QACrB,MAAMC,MAKL,GAAGD,WAAW,CAACE,GAAG,CAACC,QAAQ;QAE5B,IAAI3B,UAAU,EAAE;UACd,OAAOA,UAAU,CAACyB,MAAM,EAAEjC,OAAO,CAAC;QACpC;QAEA,OAAOd,iBAAiB,CAAC8C,WAAW,CAAC;MACvC;IACF,CAAC;IAED,OAAOf,MAAM;EACf,CAAC,CAAC;AACJ;AAEA,SAASpB,iBAAiBA,CAOxBH,gBAAuD,EAKvD;EACA,IAAI,CAACA,gBAAgB,EAAE,OAAO,EAAE;EAEhC,OAAO0C,MAAM,CAACC,OAAO,CAAC3C,gBAAgB,CAAC,CAACI,GAAG,CAAC,CAAC,CAACwC,GAAG,EAAEC,QAAQ,CAAC,KAAK;IAC/D,MAAMtB,MAEL,GAAG;MACFC,WAAW,EAAEoB,GAAG;MAChBnB,MAAM,EAAEoB,QAAQ,CAACnB,WAAW,IAAIkB;IAClC,CAAC;IACD,OAAOrB,MAAM;EACf,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 { useCallback, useState } from "react";
|
|
18
|
+
export const useColumnResize = ({
|
|
19
|
+
onColumnResize
|
|
20
|
+
}) => {
|
|
21
|
+
const [columnSizing, setColumnSizing] = useState({});
|
|
22
|
+
const onColumnSizingChange = useCallback(updater => {
|
|
23
|
+
setColumnSizing(prev => {
|
|
24
|
+
const newState = typeof updater === "function" ? updater(prev) : updater;
|
|
25
|
+
if (onColumnResize) {
|
|
26
|
+
for (const columnId of Object.keys(newState)) {
|
|
27
|
+
if (newState[columnId] !== prev[columnId]) {
|
|
28
|
+
onColumnResize(columnId, newState[columnId]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
for (const columnId of Object.keys(prev)) {
|
|
32
|
+
if (!(columnId in newState)) {
|
|
33
|
+
onColumnResize(columnId, null);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return newState;
|
|
38
|
+
});
|
|
39
|
+
}, [onColumnResize]);
|
|
40
|
+
return {
|
|
41
|
+
columnSizing,
|
|
42
|
+
onColumnSizingChange
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=useColumnResize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColumnResize.js","names":["useCallback","useState","useColumnResize","onColumnResize","columnSizing","setColumnSizing","onColumnSizingChange","updater","prev","newState","columnId","Object","keys"],"sources":["useColumnResize.ts"],"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 { ColumnSizingState, OnChangeFn } from \"@tanstack/react-table\";\nimport { useCallback, useState } from \"react\";\n\ninterface UseColumnResizeProps {\n onColumnResize?: (columnId: string, newWidth: number | null) => void;\n}\n\ninterface UseColumnResizeResults {\n columnSizing: ColumnSizingState;\n onColumnSizingChange: OnChangeFn<ColumnSizingState>;\n}\n\nexport const useColumnResize = ({\n onColumnResize,\n}: UseColumnResizeProps): UseColumnResizeResults => {\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>({});\n\n const onColumnSizingChange: OnChangeFn<ColumnSizingState> = useCallback(\n (updater) => {\n setColumnSizing((prev) => {\n const newState = typeof updater === \"function\"\n ? updater(prev)\n : updater;\n\n if (onColumnResize) {\n for (const columnId of Object.keys(newState)) {\n if (newState[columnId] !== prev[columnId]) {\n onColumnResize(columnId, newState[columnId]);\n }\n }\n for (const columnId of Object.keys(prev)) {\n if (!(columnId in newState)) {\n onColumnResize(columnId, null);\n }\n }\n }\n\n return newState;\n });\n },\n [onColumnResize],\n );\n\n return { columnSizing, onColumnSizingChange };\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAW7C,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC;AACoB,CAAC,KAA6B;EAClD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGJ,QAAQ,CAAoB,CAAC,CAAC,CAAC;EAEvE,MAAMK,oBAAmD,GAAGN,WAAW,CACpEO,OAAO,IAAK;IACXF,eAAe,CAAEG,IAAI,IAAK;MACxB,MAAMC,QAAQ,GAAG,OAAOF,OAAO,KAAK,UAAU,GAC1CA,OAAO,CAACC,IAAI,CAAC,GACbD,OAAO;MAEX,IAAIJ,cAAc,EAAE;QAClB,KAAK,MAAMO,QAAQ,IAAIC,MAAM,CAACC,IAAI,CAACH,QAAQ,CAAC,EAAE;UAC5C,IAAIA,QAAQ,CAACC,QAAQ,CAAC,KAAKF,IAAI,CAACE,QAAQ,CAAC,EAAE;YACzCP,cAAc,CAACO,QAAQ,EAAED,QAAQ,CAACC,QAAQ,CAAC,CAAC;UAC9C;QACF;QACA,KAAK,MAAMA,QAAQ,IAAIC,MAAM,CAACC,IAAI,CAACJ,IAAI,CAAC,EAAE;UACxC,IAAI,EAAEE,QAAQ,IAAID,QAAQ,CAAC,EAAE;YAC3BN,cAAc,CAACO,QAAQ,EAAE,IAAI,CAAC;UAChC;QACF;MACF;MAEA,OAAOD,QAAQ;IACjB,CAAC,CAAC;EACJ,CAAC,EACD,CAACN,cAAc,CACjB,CAAC;EAED,OAAO;IAAEC,YAAY;IAAEE;EAAqB,CAAC;AAC/C,CAAC","ignoreList":[]}
|
|
@@ -14,28 +14,60 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import {
|
|
17
|
+
import { useCallback, useEffect, useState } from "react";
|
|
18
18
|
export const useColumnVisibility = ({
|
|
19
|
-
|
|
19
|
+
allColumns,
|
|
20
|
+
onColumnVisibilityChanged
|
|
20
21
|
}) => {
|
|
21
|
-
const columnVisibility =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
22
|
+
const [columnVisibility, setColumnVisibility] = useState(() => getColumnVisibilityState(allColumns));
|
|
23
|
+
const [columnOrder, setColumnOrder] = useState(() => getColumnOrder(allColumns));
|
|
24
|
+
|
|
25
|
+
// TODO: Explore other ways to respond to props changes for controlled mode
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
setColumnVisibility(getColumnVisibilityState(allColumns));
|
|
28
|
+
}, [allColumns]);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
setColumnOrder(getColumnOrder(allColumns));
|
|
31
|
+
}, [allColumns]);
|
|
32
|
+
const onColumnVisibilityChange = useCallback(updaterOrValue => {
|
|
33
|
+
setColumnVisibility(prev => {
|
|
34
|
+
const newState = typeof updaterOrValue === "function" ? updaterOrValue(prev) : updaterOrValue;
|
|
35
|
+
if (onColumnVisibilityChanged) {
|
|
36
|
+
const changes = Object.entries(newState).map(([columnId, isVisible]) => ({
|
|
37
|
+
columnId,
|
|
38
|
+
isVisible
|
|
39
|
+
}));
|
|
40
|
+
onColumnVisibilityChanged(changes);
|
|
41
|
+
}
|
|
42
|
+
return newState;
|
|
43
|
+
});
|
|
44
|
+
}, [onColumnVisibilityChanged]);
|
|
45
|
+
const onColumnOrderChange = useCallback(updaterOrValue => {
|
|
46
|
+
setColumnOrder(prev => {
|
|
47
|
+
const newState = typeof updaterOrValue === "function" ? updaterOrValue(prev) : updaterOrValue;
|
|
48
|
+
return newState;
|
|
49
|
+
});
|
|
50
|
+
}, []);
|
|
51
|
+
return {
|
|
52
|
+
columnVisibility,
|
|
53
|
+
onColumnVisibilityChange,
|
|
54
|
+
columnOrder,
|
|
55
|
+
onColumnOrderChange
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
const getColumnVisibilityState = allColumns => {
|
|
59
|
+
return allColumns.reduce((acc, col) => {
|
|
60
|
+
const colId = col.id ?? col.accessorKey;
|
|
61
|
+
if (colId) {
|
|
62
|
+
return {
|
|
63
|
+
...acc,
|
|
64
|
+
[colId]: col.meta?.isVisible !== false
|
|
65
|
+
};
|
|
37
66
|
}
|
|
38
|
-
|
|
39
|
-
|
|
67
|
+
return acc;
|
|
68
|
+
}, {});
|
|
69
|
+
};
|
|
70
|
+
const getColumnOrder = allColumns => {
|
|
71
|
+
return allColumns.map(col => col.id ?? col.accessorKey).filter(id => id != null);
|
|
40
72
|
};
|
|
41
73
|
//# sourceMappingURL=useColumnVisibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColumnVisibility.js","names":["
|
|
1
|
+
{"version":3,"file":"useColumnVisibility.js","names":["useCallback","useEffect","useState","useColumnVisibility","allColumns","onColumnVisibilityChanged","columnVisibility","setColumnVisibility","getColumnVisibilityState","columnOrder","setColumnOrder","getColumnOrder","onColumnVisibilityChange","updaterOrValue","prev","newState","changes","Object","entries","map","columnId","isVisible","onColumnOrderChange","reduce","acc","col","colId","id","accessorKey","meta","filter"],"sources":["useColumnVisibility.ts"],"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 {\n ObjectOrInterfaceDefinition,\n PropertyKeys,\n QueryDefinition,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type {\n ColumnDef,\n ColumnOrderState,\n OnChangeFn,\n VisibilityState,\n} from \"@tanstack/react-table\";\nimport { useCallback, useEffect, useState } from \"react\";\n\ninterface UseColumnVisibilityProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n TData = unknown,\n> {\n allColumns: ColumnDef<TData>[];\n onColumnVisibilityChanged?: (\n newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n isVisible: boolean;\n }>,\n ) => void;\n}\n\ninterface UseColumnVisibilityResult {\n columnVisibility: VisibilityState;\n onColumnVisibilityChange: OnChangeFn<VisibilityState>;\n columnOrder: ColumnOrderState;\n onColumnOrderChange: OnChangeFn<ColumnOrderState>;\n}\n\nexport const useColumnVisibility = <\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n TData = unknown,\n>(\n {\n allColumns,\n onColumnVisibilityChanged,\n }: UseColumnVisibilityProps<Q, RDPs, FunctionColumns, TData>,\n): UseColumnVisibilityResult => {\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>(\n () => getColumnVisibilityState<TData>(allColumns),\n );\n\n const [columnOrder, setColumnOrder] = useState<ColumnOrderState>(\n () => getColumnOrder(allColumns),\n );\n\n // TODO: Explore other ways to respond to props changes for controlled mode\n useEffect(() => {\n setColumnVisibility(getColumnVisibilityState<TData>(allColumns));\n }, [allColumns]);\n\n useEffect(() => {\n setColumnOrder(getColumnOrder(allColumns));\n }, [allColumns]);\n\n const onColumnVisibilityChange: OnChangeFn<VisibilityState> = useCallback(\n (updaterOrValue) => {\n setColumnVisibility((prev) => {\n const newState = typeof updaterOrValue === \"function\"\n ? updaterOrValue(prev)\n : updaterOrValue;\n\n if (onColumnVisibilityChanged) {\n const changes = Object.entries(newState).map(\n ([columnId, isVisible]) => ({\n columnId,\n isVisible,\n }),\n );\n onColumnVisibilityChanged(changes);\n }\n\n return newState;\n });\n },\n [onColumnVisibilityChanged],\n );\n\n const onColumnOrderChange: OnChangeFn<ColumnOrderState> = useCallback(\n (updaterOrValue) => {\n setColumnOrder((prev) => {\n const newState = typeof updaterOrValue === \"function\"\n ? updaterOrValue(prev)\n : updaterOrValue;\n return newState;\n });\n },\n [],\n );\n\n return {\n columnVisibility,\n onColumnVisibilityChange,\n columnOrder,\n onColumnOrderChange,\n };\n};\n\nconst getColumnVisibilityState = <TData>(\n allColumns: ColumnDef<TData>[],\n): VisibilityState => {\n return allColumns.reduce(\n (acc, col) => {\n const colId = col.id ?? (col as { accessorKey?: string }).accessorKey;\n if (colId) {\n return {\n ...acc,\n [colId]: col.meta?.isVisible !== false,\n };\n }\n return acc;\n },\n {},\n );\n};\n\nconst getColumnOrder = <TData>(\n allColumns: ColumnDef<TData>[],\n): ColumnOrderState => {\n return allColumns\n .map(col => col.id ?? (col as { accessorKey?: string }).accessorKey)\n .filter((id): id is string => id != null);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AA2BxD,OAAO,MAAMC,mBAAmB,GAAGA,CASjC;EACEC,UAAU;EACVC;AACyD,CAAC,KAC9B;EAC9B,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGL,QAAQ,CACtD,MAAMM,wBAAwB,CAAQJ,UAAU,CAClD,CAAC;EAED,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAGR,QAAQ,CAC5C,MAAMS,cAAc,CAACP,UAAU,CACjC,CAAC;;EAED;EACAH,SAAS,CAAC,MAAM;IACdM,mBAAmB,CAACC,wBAAwB,CAAQJ,UAAU,CAAC,CAAC;EAClE,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhBH,SAAS,CAAC,MAAM;IACdS,cAAc,CAACC,cAAc,CAACP,UAAU,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMQ,wBAAqD,GAAGZ,WAAW,CACtEa,cAAc,IAAK;IAClBN,mBAAmB,CAAEO,IAAI,IAAK;MAC5B,MAAMC,QAAQ,GAAG,OAAOF,cAAc,KAAK,UAAU,GACjDA,cAAc,CAACC,IAAI,CAAC,GACpBD,cAAc;MAElB,IAAIR,yBAAyB,EAAE;QAC7B,MAAMW,OAAO,GAAGC,MAAM,CAACC,OAAO,CAACH,QAAQ,CAAC,CAACI,GAAG,CAC1C,CAAC,CAACC,QAAQ,EAAEC,SAAS,CAAC,MAAM;UAC1BD,QAAQ;UACRC;QACF,CAAC,CACH,CAAC;QACDhB,yBAAyB,CAACW,OAAO,CAAC;MACpC;MAEA,OAAOD,QAAQ;IACjB,CAAC,CAAC;EACJ,CAAC,EACD,CAACV,yBAAyB,CAC5B,CAAC;EAED,MAAMiB,mBAAiD,GAAGtB,WAAW,CAClEa,cAAc,IAAK;IAClBH,cAAc,CAAEI,IAAI,IAAK;MACvB,MAAMC,QAAQ,GAAG,OAAOF,cAAc,KAAK,UAAU,GACjDA,cAAc,CAACC,IAAI,CAAC,GACpBD,cAAc;MAClB,OAAOE,QAAQ;IACjB,CAAC,CAAC;EACJ,CAAC,EACD,EACF,CAAC;EAED,OAAO;IACLT,gBAAgB;IAChBM,wBAAwB;IACxBH,WAAW;IACXa;EACF,CAAC;AACH,CAAC;AAED,MAAMd,wBAAwB,GAC5BJ,UAA8B,IACV;EACpB,OAAOA,UAAU,CAACmB,MAAM,CACtB,CAACC,GAAG,EAAEC,GAAG,KAAK;IACZ,MAAMC,KAAK,GAAGD,GAAG,CAACE,EAAE,IAAKF,GAAG,CAA8BG,WAAW;IACrE,IAAIF,KAAK,EAAE;MACT,OAAO;QACL,GAAGF,GAAG;QACN,CAACE,KAAK,GAAGD,GAAG,CAACI,IAAI,EAAER,SAAS,KAAK;MACnC,CAAC;IACH;IACA,OAAOG,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;AACH,CAAC;AAED,MAAMb,cAAc,GAClBP,UAA8B,IACT;EACrB,OAAOA,UAAU,CACde,GAAG,CAACM,GAAG,IAAIA,GAAG,CAACE,EAAE,IAAKF,GAAG,CAA8BG,WAAW,CAAC,CACnEE,MAAM,CAAEH,EAAE,IAAmBA,EAAE,IAAI,IAAI,CAAC;AAC7C,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
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 { useCallback, useState } from "react";
|
|
18
|
+
export function useEditableTable({
|
|
19
|
+
editMode = "manual",
|
|
20
|
+
onCellValueChanged,
|
|
21
|
+
onSubmitEdits
|
|
22
|
+
}) {
|
|
23
|
+
const [isActive, setActive] = useState(editMode === "always");
|
|
24
|
+
const [cellEdits, setCellEdits] = useState({});
|
|
25
|
+
const [validationErrors, setValidationErrors] = useState(new Map());
|
|
26
|
+
const clearCellValidationError = useCallback(cellId => {
|
|
27
|
+
setValidationErrors(prev => {
|
|
28
|
+
const newErrors = new Map(prev);
|
|
29
|
+
newErrors.delete(cellId);
|
|
30
|
+
return newErrors;
|
|
31
|
+
});
|
|
32
|
+
}, []);
|
|
33
|
+
const handleCellEdit = useCallback((cellId, info) => {
|
|
34
|
+
// If value is changed back to original, remove it from edits
|
|
35
|
+
if (info.newValue === info.oldValue) {
|
|
36
|
+
setCellEdits(prev => {
|
|
37
|
+
const {
|
|
38
|
+
[cellId]: _,
|
|
39
|
+
...rest
|
|
40
|
+
} = prev;
|
|
41
|
+
return rest;
|
|
42
|
+
});
|
|
43
|
+
} else {
|
|
44
|
+
setCellEdits(prev => ({
|
|
45
|
+
...prev,
|
|
46
|
+
[cellId]: info
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
onCellValueChanged?.(info);
|
|
50
|
+
}, [onCellValueChanged]);
|
|
51
|
+
const clearEdits = useCallback(() => {
|
|
52
|
+
setCellEdits({});
|
|
53
|
+
setValidationErrors(new Map());
|
|
54
|
+
}, []);
|
|
55
|
+
const handleSubmitEdits = useCallback(async () => {
|
|
56
|
+
const edits = Object.values(cellEdits);
|
|
57
|
+
return onSubmitEdits ? onSubmitEdits(edits) : false;
|
|
58
|
+
}, [cellEdits, onSubmitEdits]);
|
|
59
|
+
const onCellValidationError = useCallback((cellId, error) => {
|
|
60
|
+
setValidationErrors(prev => {
|
|
61
|
+
const newErrors = new Map(prev);
|
|
62
|
+
newErrors.set(cellId, error);
|
|
63
|
+
return newErrors;
|
|
64
|
+
});
|
|
65
|
+
}, []);
|
|
66
|
+
const editModeState = editMode === "always" ? {
|
|
67
|
+
type: "always",
|
|
68
|
+
isActive: true
|
|
69
|
+
} : {
|
|
70
|
+
type: "manual",
|
|
71
|
+
isActive,
|
|
72
|
+
setActive
|
|
73
|
+
};
|
|
74
|
+
return {
|
|
75
|
+
cellEdits,
|
|
76
|
+
onCellEdit: handleCellEdit,
|
|
77
|
+
onSubmitEdits: onSubmitEdits ? handleSubmitEdits : undefined,
|
|
78
|
+
clearEdits,
|
|
79
|
+
editModeState,
|
|
80
|
+
onCellValidationError,
|
|
81
|
+
validationErrors,
|
|
82
|
+
clearCellValidationError
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=useEditableTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditableTable.js","names":["useCallback","useState","useEditableTable","editMode","onCellValueChanged","onSubmitEdits","isActive","setActive","cellEdits","setCellEdits","validationErrors","setValidationErrors","Map","clearCellValidationError","cellId","prev","newErrors","delete","handleCellEdit","info","newValue","oldValue","_","rest","clearEdits","handleSubmitEdits","edits","Object","values","onCellValidationError","error","set","editModeState","type","onCellEdit","undefined"],"sources":["useEditableTable.ts"],"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 {\n ObjectOrInterfaceDefinition,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport { useCallback, useState } from \"react\";\nimport type { ObjectTableProps } from \"../ObjectTableApi.js\";\nimport type {\n CellEditInfo,\n EditableConfig,\n EditModeState,\n} from \"../utils/types.js\";\n\nexport interface UseEditableTableProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n> {\n editMode?: \"always\" | \"manual\";\n\n onCellValueChanged?: ObjectTableProps<\n Q,\n RDPs,\n FunctionColumns\n >[\"onCellValueChanged\"];\n\n onSubmitEdits?: ObjectTableProps<\n Q,\n RDPs,\n FunctionColumns\n >[\"onSubmitEdits\"];\n}\n\nexport function useEditableTable<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<\n string,\n never\n >,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>({\n editMode = \"manual\",\n onCellValueChanged,\n onSubmitEdits,\n}: UseEditableTableProps<Q, RDPs, FunctionColumns>): EditableConfig<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n> {\n const [isActive, setActive] = useState<boolean>(\n editMode === \"always\",\n );\n const [cellEdits, setCellEdits] = useState<\n Record<\n string,\n CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >\n >\n >(\n {},\n );\n const [validationErrors, setValidationErrors] = useState<\n Map<string, string>\n >(\n new Map(),\n );\n\n const clearCellValidationError = useCallback((cellId: string) => {\n setValidationErrors(prev => {\n const newErrors = new Map(prev);\n newErrors.delete(cellId);\n return newErrors;\n });\n }, []);\n\n const handleCellEdit = useCallback(\n (\n cellId: string,\n info: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >,\n ) => {\n // If value is changed back to original, remove it from edits\n if (info.newValue === info.oldValue) {\n setCellEdits(prev => {\n const { [cellId]: _, ...rest } = prev;\n return rest;\n });\n } else {\n setCellEdits(prev => ({\n ...prev,\n [cellId]: info,\n }));\n }\n\n onCellValueChanged?.(info);\n },\n [onCellValueChanged],\n );\n\n const clearEdits = useCallback(() => {\n setCellEdits({});\n setValidationErrors(new Map());\n }, []);\n\n const handleSubmitEdits = useCallback(async () => {\n const edits = Object.values(cellEdits);\n return onSubmitEdits ? onSubmitEdits(edits) : false;\n }, [cellEdits, onSubmitEdits]);\n\n const onCellValidationError = useCallback(\n (cellId: string, error: string) => {\n setValidationErrors(prev => {\n const newErrors = new Map(prev);\n newErrors.set(cellId, error);\n return newErrors;\n });\n },\n [],\n );\n\n const editModeState: EditModeState = editMode === \"always\"\n ? { type: \"always\", isActive: true }\n : { type: \"manual\", isActive, setActive };\n\n return {\n cellEdits,\n onCellEdit: handleCellEdit,\n onSubmitEdits: onSubmitEdits ? handleSubmitEdits : undefined,\n clearEdits,\n editModeState,\n onCellValidationError,\n validationErrors,\n clearCellValidationError,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAkC7C,OAAO,SAASC,gBAAgBA,CAU9B;EACAC,QAAQ,GAAG,QAAQ;EACnBC,kBAAkB;EAClBC;AAC+C,CAAC,EAGhD;EACA,MAAM,CAACC,QAAQ,EAAEC,SAAS,CAAC,GAAGN,QAAQ,CACpCE,QAAQ,KAAK,QACf,CAAC;EACD,MAAM,CAACK,SAAS,EAAEC,YAAY,CAAC,GAAGR,QAAQ,CASxC,CAAC,CACH,CAAC;EACD,MAAM,CAACS,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGV,QAAQ,CAGtD,IAAIW,GAAG,CAAC,CACV,CAAC;EAED,MAAMC,wBAAwB,GAAGb,WAAW,CAAEc,MAAc,IAAK;IAC/DH,mBAAmB,CAACI,IAAI,IAAI;MAC1B,MAAMC,SAAS,GAAG,IAAIJ,GAAG,CAACG,IAAI,CAAC;MAC/BC,SAAS,CAACC,MAAM,CAACH,MAAM,CAAC;MACxB,OAAOE,SAAS;IAClB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,cAAc,GAAGlB,WAAW,CAChC,CACEc,MAAc,EACdK,IAGC,KACE;IACH;IACA,IAAIA,IAAI,CAACC,QAAQ,KAAKD,IAAI,CAACE,QAAQ,EAAE;MACnCZ,YAAY,CAACM,IAAI,IAAI;QACnB,MAAM;UAAE,CAACD,MAAM,GAAGQ,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGR,IAAI;QACrC,OAAOQ,IAAI;MACb,CAAC,CAAC;IACJ,CAAC,MAAM;MACLd,YAAY,CAACM,IAAI,KAAK;QACpB,GAAGA,IAAI;QACP,CAACD,MAAM,GAAGK;MACZ,CAAC,CAAC,CAAC;IACL;IAEAf,kBAAkB,GAAGe,IAAI,CAAC;EAC5B,CAAC,EACD,CAACf,kBAAkB,CACrB,CAAC;EAED,MAAMoB,UAAU,GAAGxB,WAAW,CAAC,MAAM;IACnCS,YAAY,CAAC,CAAC,CAAC,CAAC;IAChBE,mBAAmB,CAAC,IAAIC,GAAG,CAAC,CAAC,CAAC;EAChC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMa,iBAAiB,GAAGzB,WAAW,CAAC,YAAY;IAChD,MAAM0B,KAAK,GAAGC,MAAM,CAACC,MAAM,CAACpB,SAAS,CAAC;IACtC,OAAOH,aAAa,GAAGA,aAAa,CAACqB,KAAK,CAAC,GAAG,KAAK;EACrD,CAAC,EAAE,CAAClB,SAAS,EAAEH,aAAa,CAAC,CAAC;EAE9B,MAAMwB,qBAAqB,GAAG7B,WAAW,CACvC,CAACc,MAAc,EAAEgB,KAAa,KAAK;IACjCnB,mBAAmB,CAACI,IAAI,IAAI;MAC1B,MAAMC,SAAS,GAAG,IAAIJ,GAAG,CAACG,IAAI,CAAC;MAC/BC,SAAS,CAACe,GAAG,CAACjB,MAAM,EAAEgB,KAAK,CAAC;MAC5B,OAAOd,SAAS;IAClB,CAAC,CAAC;EACJ,CAAC,EACD,EACF,CAAC;EAED,MAAMgB,aAA4B,GAAG7B,QAAQ,KAAK,QAAQ,GACtD;IAAE8B,IAAI,EAAE,QAAQ;IAAE3B,QAAQ,EAAE;EAAK,CAAC,GAClC;IAAE2B,IAAI,EAAE,QAAQ;IAAE3B,QAAQ;IAAEC;EAAU,CAAC;EAE3C,OAAO;IACLC,SAAS;IACT0B,UAAU,EAAEhB,cAAc;IAC1Bb,aAAa,EAAEA,aAAa,GAAGoB,iBAAiB,GAAGU,SAAS;IAC5DX,UAAU;IACVQ,aAAa;IACbH,qBAAqB;IACrBnB,gBAAgB;IAChBG;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 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 { useOsdkClient } from "@osdk/react";
|
|
18
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
19
|
+
import { createAsyncCellData } from "../utils/AsyncCellData.js";
|
|
20
|
+
export function useFunctionColumnsData(objectSet, objects, columnDefinitions) {
|
|
21
|
+
const client = useOsdkClient();
|
|
22
|
+
const [data, setData] = useState({});
|
|
23
|
+
const abortControllerRef = useRef(null);
|
|
24
|
+
|
|
25
|
+
// Function column configurations grouped by unique query definition
|
|
26
|
+
const functionColumnConfigs = useMemo(() => getFunctionColumnConfigs(columnDefinitions), [columnDefinitions]);
|
|
27
|
+
const stableObjects = useStableObjects(objects);
|
|
28
|
+
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
const stableObjectSet = useMemo(() => objectSet, [JSON.stringify(objectSet)]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (!stableObjects || stableObjects.length === 0 || functionColumnConfigs.length === 0 || !stableObjectSet) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Cancel previous requests
|
|
37
|
+
if (abortControllerRef.current) {
|
|
38
|
+
abortControllerRef.current.abort();
|
|
39
|
+
}
|
|
40
|
+
const abortController = new AbortController();
|
|
41
|
+
abortControllerRef.current = abortController;
|
|
42
|
+
void (async () => {
|
|
43
|
+
if (!stableObjectSet) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
initializeFunctionColumnData(functionColumnConfigs, stableObjects, setData);
|
|
47
|
+
|
|
48
|
+
// Process query results as they complete
|
|
49
|
+
for await (const queryResult of executeQueriesGenerator(functionColumnConfigs, stableObjectSet, client, abortController.signal)) {
|
|
50
|
+
if (abortController.signal.aborted) {
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
const {
|
|
54
|
+
config,
|
|
55
|
+
result,
|
|
56
|
+
error,
|
|
57
|
+
aborted
|
|
58
|
+
} = queryResult;
|
|
59
|
+
if (!aborted) {
|
|
60
|
+
processQueryResult(config, result, error, stableObjects, setData);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
})();
|
|
64
|
+
return () => {
|
|
65
|
+
abortController.abort();
|
|
66
|
+
abortControllerRef.current = null;
|
|
67
|
+
};
|
|
68
|
+
}, [functionColumnConfigs, stableObjects, stableObjectSet, client]);
|
|
69
|
+
return data;
|
|
70
|
+
}
|
|
71
|
+
function getFunctionColumnConfigs(columnDefinitions) {
|
|
72
|
+
if (!columnDefinitions) return [];
|
|
73
|
+
|
|
74
|
+
// Group columns by their query definition apiName
|
|
75
|
+
const configsByApiName = new Map();
|
|
76
|
+
columnDefinitions.forEach(colDef => {
|
|
77
|
+
if (colDef.locator.type === "function") {
|
|
78
|
+
const locator = colDef.locator;
|
|
79
|
+
const apiName = locator.queryDefinition.apiName;
|
|
80
|
+
const existingConfig = configsByApiName.get(apiName);
|
|
81
|
+
if (existingConfig) {
|
|
82
|
+
// Add this column to the existing config
|
|
83
|
+
existingConfig.columnIds.push({
|
|
84
|
+
columnId: String(locator.id),
|
|
85
|
+
getValue: locator.getValue,
|
|
86
|
+
getKey: locator.getKey
|
|
87
|
+
});
|
|
88
|
+
} else {
|
|
89
|
+
// Create new config
|
|
90
|
+
configsByApiName.set(apiName, {
|
|
91
|
+
queryDefinition: locator.queryDefinition,
|
|
92
|
+
getParams: locator.getFunctionParams,
|
|
93
|
+
columnIds: [{
|
|
94
|
+
columnId: String(locator.id),
|
|
95
|
+
getValue: locator.getValue,
|
|
96
|
+
getKey: locator.getKey
|
|
97
|
+
}]
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return Array.from(configsByApiName.values());
|
|
103
|
+
}
|
|
104
|
+
const useStableObjects = objects => {
|
|
105
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
106
|
+
return useMemo(() => objects, [
|
|
107
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
108
|
+
JSON.stringify((objects ?? []).map(item => ({
|
|
109
|
+
$apiName: item.$apiName,
|
|
110
|
+
$primaryKey: item.$primaryKey
|
|
111
|
+
})).sort((a, b) => {
|
|
112
|
+
if (a.$apiName !== b.$apiName) {
|
|
113
|
+
return a.$apiName.localeCompare(b.$apiName);
|
|
114
|
+
}
|
|
115
|
+
return String(a.$primaryKey).localeCompare(String(b.$primaryKey));
|
|
116
|
+
}))]);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Generator that yields query results as they complete
|
|
121
|
+
*/
|
|
122
|
+
async function* executeQueriesGenerator(functionColumnConfigs, objectSet, client, signal) {
|
|
123
|
+
// Start all queries in parallel
|
|
124
|
+
const queryPromises = functionColumnConfigs.map(config => createQueryPromise(config, objectSet, client, signal));
|
|
125
|
+
const pendingPromises = [...queryPromises];
|
|
126
|
+
|
|
127
|
+
// Yield results as they complete using Promise.race
|
|
128
|
+
while (pendingPromises.length > 0) {
|
|
129
|
+
const result = await Promise.race(pendingPromises.map((promise, index) => promise.then(result => ({
|
|
130
|
+
result,
|
|
131
|
+
index
|
|
132
|
+
}))));
|
|
133
|
+
yield result.result;
|
|
134
|
+
|
|
135
|
+
// Remove the completed promise from the pending list
|
|
136
|
+
void pendingPromises.splice(result.index, 1);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Create a promise that executes a function column query
|
|
142
|
+
*/
|
|
143
|
+
function createQueryPromise(config, objectSet, client, signal) {
|
|
144
|
+
return new Promise(resolve => {
|
|
145
|
+
if (signal?.aborted) {
|
|
146
|
+
resolve({
|
|
147
|
+
config,
|
|
148
|
+
result: null,
|
|
149
|
+
error: null,
|
|
150
|
+
aborted: true
|
|
151
|
+
});
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const params = config.getParams(objectSet);
|
|
155
|
+
client(config.queryDefinition).executeFunction(params).then(result => {
|
|
156
|
+
// Check if aborted during execution
|
|
157
|
+
if (signal?.aborted) {
|
|
158
|
+
resolve({
|
|
159
|
+
config,
|
|
160
|
+
result: null,
|
|
161
|
+
error: null,
|
|
162
|
+
aborted: true
|
|
163
|
+
});
|
|
164
|
+
} else {
|
|
165
|
+
resolve({
|
|
166
|
+
config,
|
|
167
|
+
result,
|
|
168
|
+
error: null
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}).catch(error => {
|
|
172
|
+
// Check if aborted during error handling
|
|
173
|
+
if (signal?.aborted) {
|
|
174
|
+
resolve({
|
|
175
|
+
config,
|
|
176
|
+
result: null,
|
|
177
|
+
error: null,
|
|
178
|
+
aborted: true
|
|
179
|
+
});
|
|
180
|
+
} else {
|
|
181
|
+
resolve({
|
|
182
|
+
config,
|
|
183
|
+
result: null,
|
|
184
|
+
error: error instanceof Error ? error : new Error(String(error))
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Initialize function column data with isLoading state for all columns and objects
|
|
193
|
+
*/
|
|
194
|
+
function initializeFunctionColumnData(functionColumnConfigs, objects, setData) {
|
|
195
|
+
setData(prev => {
|
|
196
|
+
const newData = {
|
|
197
|
+
...prev
|
|
198
|
+
};
|
|
199
|
+
functionColumnConfigs.forEach(config => {
|
|
200
|
+
config.columnIds.forEach(({
|
|
201
|
+
columnId
|
|
202
|
+
}) => {
|
|
203
|
+
// Initialize column if it doesn't exist
|
|
204
|
+
if (!newData[columnId]) {
|
|
205
|
+
newData[columnId] = {};
|
|
206
|
+
}
|
|
207
|
+
objects.forEach(obj => {
|
|
208
|
+
const key = String(obj.$primaryKey);
|
|
209
|
+
// Only set isLoading state if this object's data doesn't already exist
|
|
210
|
+
if (!newData[columnId][key]) {
|
|
211
|
+
newData[columnId][key] = createAsyncCellData({
|
|
212
|
+
isLoading: true
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
return newData;
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
function processQueryResult(config, result, error, objects, setData) {
|
|
222
|
+
// Batch all updates into a single setState call
|
|
223
|
+
setData(prev => {
|
|
224
|
+
const newData = {
|
|
225
|
+
...prev
|
|
226
|
+
};
|
|
227
|
+
if (error) {
|
|
228
|
+
// Set error for all objects in all columns that use this query
|
|
229
|
+
config.columnIds.forEach(({
|
|
230
|
+
columnId
|
|
231
|
+
}) => {
|
|
232
|
+
if (!newData[columnId]) {
|
|
233
|
+
newData[columnId] = {};
|
|
234
|
+
}
|
|
235
|
+
objects.forEach(obj => {
|
|
236
|
+
const key = String(obj.$primaryKey);
|
|
237
|
+
newData[columnId][key] = createAsyncCellData({
|
|
238
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
239
|
+
isLoading: false
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
} else if (result) {
|
|
244
|
+
// Process the FunctionsMap result
|
|
245
|
+
objects.forEach(obj => {
|
|
246
|
+
const key = String(obj.$primaryKey);
|
|
247
|
+
|
|
248
|
+
// Process each column that uses this query result
|
|
249
|
+
config.columnIds.forEach(({
|
|
250
|
+
columnId,
|
|
251
|
+
getValue,
|
|
252
|
+
getKey: columnGetKey
|
|
253
|
+
}) => {
|
|
254
|
+
if (!newData[columnId]) {
|
|
255
|
+
newData[columnId] = {};
|
|
256
|
+
}
|
|
257
|
+
const customKey = columnGetKey(obj);
|
|
258
|
+
const rawData = result[customKey];
|
|
259
|
+
const cellData = getValue ? getValue(rawData) : rawData;
|
|
260
|
+
newData[columnId][key] = createAsyncCellData({
|
|
261
|
+
data: cellData,
|
|
262
|
+
isLoading: false
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
return newData;
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=useFunctionColumnsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFunctionColumnsData.js","names":["useOsdkClient","useEffect","useMemo","useRef","useState","createAsyncCellData","useFunctionColumnsData","objectSet","objects","columnDefinitions","client","data","setData","abortControllerRef","functionColumnConfigs","getFunctionColumnConfigs","stableObjects","useStableObjects","stableObjectSet","JSON","stringify","length","current","abort","abortController","AbortController","initializeFunctionColumnData","queryResult","executeQueriesGenerator","signal","aborted","config","result","error","processQueryResult","configsByApiName","Map","forEach","colDef","locator","type","apiName","queryDefinition","existingConfig","get","columnIds","push","columnId","String","id","getValue","getKey","set","getParams","getFunctionParams","Array","from","values","map","item","$apiName","$primaryKey","sort","a","b","localeCompare","queryPromises","createQueryPromise","pendingPromises","Promise","race","promise","index","then","splice","resolve","params","executeFunction","catch","Error","prev","newData","obj","key","isLoading","columnGetKey","customKey","rawData","cellData"],"sources":["useFunctionColumnsData.ts"],"sourcesContent":["/*\n * Copyright 2026 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 {\n ObjectOrInterfaceDefinition,\n ObjectSet,\n Osdk,\n PropertyKeys,\n QueryDefinition,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport { useOsdkClient } from \"@osdk/react\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport type {\n ColumnDefinition,\n ExtractQueryParameters,\n FunctionColumnLocator,\n} from \"../ObjectTableApi.js\";\nimport {\n type AsyncCellData,\n createAsyncCellData,\n} from \"../utils/AsyncCellData.js\";\n\nexport interface FunctionColumnData {\n [columnId: string]: {\n [objectPrimaryKey: string]: AsyncCellData;\n };\n}\n\ntype FunctionColumnConfig<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n> = {\n queryDefinition: QueryDefinition<any>;\n getParams: (\n objectSet: ObjectSet<Q>,\n ) => ExtractQueryParameters<FunctionColumns[keyof FunctionColumns]>;\n columnIds: Array<{\n columnId: string;\n getValue?: (cellData: unknown) => unknown;\n getKey: (\n object: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n ) => string;\n }>;\n};\n\ntype QueryResult<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n> = {\n config: FunctionColumnConfig<Q, RDPs, FunctionColumns>;\n result: Record<string, unknown> | null;\n error: Error | null;\n aborted?: boolean;\n};\n\nexport function useFunctionColumnsData<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n objectSet: ObjectSet<Q, RDPs> | undefined,\n objects:\n | Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>[]\n | undefined,\n columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>,\n): FunctionColumnData {\n const client = useOsdkClient();\n const [data, setData] = useState<FunctionColumnData>({});\n const abortControllerRef = useRef<AbortController | null>(null);\n\n // Function column configurations grouped by unique query definition\n const functionColumnConfigs = useMemo(\n () => getFunctionColumnConfigs(columnDefinitions),\n [columnDefinitions],\n );\n\n const stableObjects = useStableObjects(objects);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const stableObjectSet = useMemo(() => objectSet, [JSON.stringify(objectSet)]);\n\n useEffect(() => {\n if (\n !stableObjects || stableObjects.length === 0\n || functionColumnConfigs.length === 0 || !stableObjectSet\n ) {\n return;\n }\n\n // Cancel previous requests\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n const executeQueries = async () => {\n if (!stableObjectSet) {\n return;\n }\n\n initializeFunctionColumnData(\n functionColumnConfigs,\n stableObjects,\n setData,\n );\n\n // Process query results as they complete\n for await (\n const queryResult of executeQueriesGenerator(\n functionColumnConfigs,\n stableObjectSet as ObjectSet<Q>,\n client,\n abortController.signal,\n )\n ) {\n if (abortController.signal.aborted) {\n break;\n }\n\n const { config, result, error, aborted } = queryResult;\n if (!aborted) {\n processQueryResult(config, result, error, stableObjects, setData);\n }\n }\n };\n\n void executeQueries();\n\n return () => {\n abortController.abort();\n abortControllerRef.current = null;\n };\n }, [functionColumnConfigs, stableObjects, stableObjectSet, client]);\n\n return data;\n}\n\nfunction getFunctionColumnConfigs<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>,\n): Array<FunctionColumnConfig<Q, RDPs, FunctionColumns>> {\n if (!columnDefinitions) return [];\n\n // Group columns by their query definition apiName\n const configsByApiName = new Map<\n string,\n FunctionColumnConfig<Q, RDPs, FunctionColumns>\n >();\n\n columnDefinitions.forEach((colDef) => {\n if (colDef.locator.type === \"function\") {\n const locator = colDef.locator as FunctionColumnLocator<\n Q,\n RDPs,\n FunctionColumns\n >;\n\n const apiName = locator.queryDefinition.apiName;\n const existingConfig = configsByApiName.get(apiName);\n\n if (existingConfig) {\n // Add this column to the existing config\n existingConfig.columnIds.push({\n columnId: String(locator.id),\n getValue: locator.getValue,\n getKey: locator.getKey,\n });\n } else {\n // Create new config\n configsByApiName.set(apiName, {\n queryDefinition: locator.queryDefinition,\n getParams: locator.getFunctionParams,\n columnIds: [{\n columnId: String(locator.id),\n getValue: locator.getValue,\n getKey: locator.getKey,\n }],\n });\n }\n }\n });\n\n return Array.from(configsByApiName.values());\n}\n\nconst useStableObjects = <\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n objects:\n | Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>[]\n | undefined,\n):\n | Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>[]\n | undefined =>\n{\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo(() => objects, [\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(\n (objects ?? []).map(item => ({\n $apiName: item.$apiName,\n $primaryKey: item.$primaryKey,\n })).sort((a, b) => {\n if (a.$apiName !== b.$apiName) {\n return a.$apiName.localeCompare(b.$apiName);\n }\n return String(a.$primaryKey).localeCompare(String(b.$primaryKey));\n }),\n ),\n ]);\n};\n\n/**\n * Generator that yields query results as they complete\n */\nasync function* executeQueriesGenerator<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n functionColumnConfigs: Array<FunctionColumnConfig<Q, RDPs, FunctionColumns>>,\n objectSet: ObjectSet<Q>,\n client: ReturnType<typeof useOsdkClient>,\n signal?: AbortSignal,\n): AsyncGenerator<QueryResult<Q, RDPs, FunctionColumns>, void, unknown> {\n // Start all queries in parallel\n const queryPromises = functionColumnConfigs.map(config =>\n createQueryPromise(config, objectSet, client, signal)\n ) as Array<Promise<QueryResult<Q, RDPs, FunctionColumns>>>;\n const pendingPromises = [...queryPromises];\n\n // Yield results as they complete using Promise.race\n while (pendingPromises.length > 0) {\n const result = await Promise.race(\n pendingPromises.map((promise, index) =>\n promise.then(result => ({ result, index }))\n ),\n );\n\n yield result.result;\n\n // Remove the completed promise from the pending list\n void pendingPromises.splice(result.index, 1);\n }\n}\n\n/**\n * Create a promise that executes a function column query\n */\nfunction createQueryPromise<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n config: FunctionColumnConfig<Q, RDPs, FunctionColumns>,\n objectSet: ObjectSet<Q>,\n client: ReturnType<typeof useOsdkClient>,\n signal?: AbortSignal,\n): Promise<QueryResult<Q, RDPs, FunctionColumns>> {\n return new Promise((resolve) => {\n if (signal?.aborted) {\n resolve({ config, result: null, error: null, aborted: true });\n return;\n }\n\n const params = config.getParams(objectSet as ObjectSet<Q>);\n\n client(config.queryDefinition)\n .executeFunction(params)\n .then((result: Record<string, unknown>) => {\n // Check if aborted during execution\n if (signal?.aborted) {\n resolve({ config, result: null, error: null, aborted: true });\n } else {\n resolve({ config, result, error: null });\n }\n })\n .catch((error: unknown) => {\n // Check if aborted during error handling\n if (signal?.aborted) {\n resolve({ config, result: null, error: null, aborted: true });\n } else {\n resolve({\n config,\n result: null,\n error: error instanceof Error ? error : new Error(String(error)),\n });\n }\n });\n });\n}\n\n/**\n * Initialize function column data with isLoading state for all columns and objects\n */\nfunction initializeFunctionColumnData<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n functionColumnConfigs: Array<FunctionColumnConfig<Q, RDPs, FunctionColumns>>,\n objects: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>[],\n setData: React.Dispatch<React.SetStateAction<FunctionColumnData>>,\n): void {\n setData(prev => {\n const newData = { ...prev };\n\n functionColumnConfigs.forEach(config => {\n config.columnIds.forEach(({ columnId }) => {\n // Initialize column if it doesn't exist\n if (!newData[columnId]) {\n newData[columnId] = {};\n }\n\n objects.forEach(obj => {\n const key = String(obj.$primaryKey);\n // Only set isLoading state if this object's data doesn't already exist\n if (!newData[columnId][key]) {\n newData[columnId][key] = createAsyncCellData({\n isLoading: true,\n });\n }\n });\n });\n });\n\n return newData;\n });\n}\n\nfunction processQueryResult<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<\n string,\n never\n >,\n>(\n config: FunctionColumnConfig<Q, RDPs, FunctionColumns>,\n result: Record<string, unknown> | null,\n error: Error | null,\n objects: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>[],\n setData: React.Dispatch<React.SetStateAction<FunctionColumnData>>,\n): void {\n // Batch all updates into a single setState call\n setData(prev => {\n const newData = { ...prev };\n\n if (error) {\n // Set error for all objects in all columns that use this query\n config.columnIds.forEach(({ columnId }) => {\n if (!newData[columnId]) {\n newData[columnId] = {};\n }\n\n objects.forEach(obj => {\n const key = String(obj.$primaryKey);\n newData[columnId][key] = createAsyncCellData({\n error: error instanceof Error\n ? error\n : new Error(String(error)),\n isLoading: false,\n });\n });\n });\n } else if (result) {\n // Process the FunctionsMap result\n objects.forEach(obj => {\n const key = String(obj.$primaryKey);\n\n // Process each column that uses this query result\n config.columnIds.forEach(\n ({ columnId, getValue, getKey: columnGetKey }) => {\n if (!newData[columnId]) {\n newData[columnId] = {};\n }\n\n const customKey = columnGetKey(obj);\n const rawData = result[customKey];\n const cellData = getValue ? getValue(rawData) : rawData;\n\n newData[columnId][key] = createAsyncCellData({\n data: cellData,\n isLoading: false,\n });\n },\n );\n });\n }\n\n return newData;\n });\n}\n"],"mappings":"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","ignoreList":[]}
|