@osdk/react-components 0.2.0-beta.9 → 0.2.1-main-20260407074313
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 +26 -0
- package/CHANGELOG.md +356 -0
- package/README.md +166 -7
- package/build/browser/action-form/ActionForm.js +117 -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 +83 -0
- package/build/browser/action-form/BaseForm.js.map +1 -0
- package/build/browser/action-form/BaseForm.module.css +38 -0
- package/build/browser/action-form/BaseForm.module.css.js +8 -0
- package/build/browser/action-form/FormField.js +42 -0
- package/build/browser/action-form/FormField.js.map +1 -0
- package/build/browser/action-form/FormField.module.css +41 -0
- package/build/browser/action-form/FormField.module.css.js +10 -0
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/FormHeader.js +26 -0
- package/build/browser/action-form/FormHeader.js.map +1 -0
- package/build/browser/action-form/FormHeader.module.css +26 -0
- package/build/browser/action-form/FormHeader.module.css.js +6 -0
- package/build/browser/action-form/fields/BaseInput.module.css +56 -0
- package/build/browser/action-form/fields/BaseInput.module.css.js +6 -0
- package/build/browser/action-form/fields/CustomField.js +30 -0
- package/build/browser/action-form/fields/CustomField.js.map +1 -0
- package/build/browser/action-form/fields/DateCalendar.js +70 -0
- package/build/browser/action-form/fields/DateCalendar.js.map +1 -0
- package/build/browser/action-form/fields/DateCalendar.module.css +136 -0
- package/build/browser/action-form/fields/DateCalendar.module.css.js +22 -0
- package/build/browser/action-form/fields/DatetimePickerField.js +98 -0
- package/build/browser/action-form/fields/DatetimePickerField.js.map +1 -0
- package/build/browser/action-form/fields/DatetimePickerField.module.css +66 -0
- package/build/browser/action-form/fields/DatetimePickerField.module.css.js +10 -0
- 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/FilePickerField.js +119 -0
- package/build/browser/action-form/fields/FilePickerField.js.map +1 -0
- package/build/browser/action-form/fields/FilePickerField.module.css +132 -0
- package/build/browser/action-form/fields/FilePickerField.module.css.js +11 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js +128 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/browser/action-form/fields/LazyDateCalendar.js +27 -0
- package/build/browser/action-form/fields/LazyDateCalendar.js.map +1 -0
- package/build/browser/action-form/fields/NumberInputField.js +130 -0
- package/build/browser/action-form/fields/NumberInputField.js.map +1 -0
- package/build/browser/action-form/fields/NumberInputField.module.css +96 -0
- package/build/browser/action-form/fields/NumberInputField.module.css.js +9 -0
- package/build/browser/action-form/fields/RadioButtonsField.js +57 -0
- package/build/browser/action-form/fields/RadioButtonsField.js.map +1 -0
- package/build/browser/action-form/fields/RadioButtonsField.module.css +83 -0
- package/build/browser/action-form/fields/RadioButtonsField.module.css.js +10 -0
- package/build/browser/action-form/fields/TextAreaField.js +50 -0
- package/build/browser/action-form/fields/TextAreaField.js.map +1 -0
- package/build/browser/action-form/fields/TextInputField.js +39 -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/getDefaultFieldDefinitions.js +120 -0
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- package/build/browser/base-components/action-button/ActionButton.module.css +0 -4
- package/build/browser/base-components/checkbox/Checkbox.js +8 -4
- package/build/browser/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/browser/base-components/checkbox/Checkbox.module.css +13 -8
- package/build/browser/base-components/combobox/Combobox.js +154 -0
- package/build/browser/base-components/combobox/Combobox.js.map +1 -0
- package/build/browser/base-components/combobox/Combobox.module.css +364 -0
- package/build/browser/base-components/combobox/Combobox.module.css.js +18 -0
- package/build/browser/base-components/dialog/Dialog.js +4 -2
- package/build/browser/base-components/dialog/Dialog.js.map +1 -1
- package/build/browser/base-components/dialog/Dialog.module.css +0 -8
- package/build/browser/base-components/draggable-list/DraggableList.module.css +2 -10
- package/build/browser/base-components/search-bar/SearchBar.module.css +2 -2
- package/build/browser/base-components/searchable-menu/SearchableMenu.js +86 -0
- package/build/browser/base-components/searchable-menu/SearchableMenu.js.map +1 -0
- package/build/browser/base-components/searchable-menu/SearchableMenu.module.css +80 -0
- package/build/browser/base-components/searchable-menu/SearchableMenu.module.css.js +10 -0
- package/build/browser/base-components/select/Select.js +93 -0
- package/build/browser/base-components/select/Select.js.map +1 -0
- package/build/browser/base-components/select/Select.module.css +233 -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.module.css +14 -15
- 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 +141 -0
- package/build/browser/filter-list/FilterInput.js.map +1 -0
- package/build/browser/filter-list/FilterList.js +142 -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 +35 -0
- package/build/browser/filter-list/base/AddFilterPopover.js.map +1 -0
- package/build/browser/filter-list/base/AddFilterPopover.module.css +49 -0
- package/build/browser/filter-list/base/AddFilterPopover.module.css.js +6 -0
- package/build/browser/filter-list/base/BaseFilterList.js +94 -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/ExcludeDropdown.js +62 -0
- package/build/browser/filter-list/base/ExcludeDropdown.js.map +1 -0
- package/build/browser/filter-list/base/ExcludeDropdown.module.css +96 -0
- package/build/browser/filter-list/base/ExcludeDropdown.module.css.js +12 -0
- package/build/browser/filter-list/base/FilterIcons.js +65 -0
- package/build/browser/filter-list/base/FilterIcons.js.map +1 -0
- package/build/browser/filter-list/base/FilterInputExcludeRow.js +67 -0
- package/build/browser/filter-list/base/FilterInputExcludeRow.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.module.css +84 -6
- package/build/browser/filter-list/base/FilterList.module.css.js +6 -0
- package/build/browser/filter-list/base/FilterListContent.js +172 -6
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -1
- package/build/browser/filter-list/base/FilterListContent.module.css +6 -0
- package/build/browser/filter-list/base/FilterListContent.module.css.js +2 -1
- package/build/browser/filter-list/base/FilterListHeader.js +14 -13
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/browser/filter-list/base/FilterListHeader.module.css +22 -21
- package/build/browser/filter-list/base/FilterListHeader.module.css.js +1 -1
- package/build/browser/filter-list/base/FilterListItem.js +124 -27
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/FilterListItem.module.css +173 -0
- package/build/browser/filter-list/base/FilterListItem.module.css.js +11 -1
- package/build/browser/filter-list/base/SortableFilterListItem.js +64 -0
- package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -0
- package/build/browser/filter-list/base/index.js +1 -2
- package/build/browser/filter-list/base/index.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js +5 -7
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
- 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 +118 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +137 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +14 -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 +1 -1
- package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css +6 -6
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +76 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +37 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +8 -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 +159 -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 +1 -1
- package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css +2 -2
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +77 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css +45 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css.js +10 -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/createHistogramBuckets.js +53 -0
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/browser/filter-list/base/inputs/index.js +5 -1
- package/build/browser/filter-list/base/inputs/index.js.map +1 -1
- package/build/browser/filter-list/base/inputs/shared.module.css +5 -5
- package/build/browser/filter-list/base/inputs/useStableData.js +29 -0
- package/build/browser/filter-list/base/inputs/useStableData.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterListState.js +56 -10
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterVisibility.js +74 -0
- package/build/browser/filter-list/hooks/useFilterVisibility.js.map +1 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.js +98 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.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 +109 -0
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js +496 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ListogramFilterInput.js +83 -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 +71 -0
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js +109 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/PropertyFilterInput.js +142 -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 +71 -0
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js +70 -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.map +1 -1
- package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/browser/filter-list/types/index.js +0 -2
- package/build/browser/filter-list/types/index.js.map +1 -1
- 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/filterStateSerialization.js +42 -0
- package/build/browser/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +124 -91
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/browser/filter-list/utils/filterValues.js +55 -1
- package/build/browser/filter-list/utils/filterValues.js.map +1 -1
- package/build/browser/filter-list/utils/getFilterKey.js +1 -1
- package/build/browser/filter-list/utils/getFilterKey.js.map +1 -1
- 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.module.css +1 -11
- package/build/browser/object-table/DefaultCellRenderer.js +23 -5
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/browser/object-table/EditableCell.js +87 -10
- package/build/browser/object-table/EditableCell.js.map +1 -1
- package/build/browser/object-table/EditableCell.module.css +69 -2
- package/build/browser/object-table/EditableCell.module.css.js +6 -1
- package/build/browser/object-table/LoadingCell.js +7 -3
- package/build/browser/object-table/LoadingCell.js.map +1 -1
- package/build/browser/object-table/LoadingCell.module.css +3 -21
- package/build/browser/object-table/LoadingCell.module.css.js +1 -2
- 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 +2 -1
- package/build/browser/object-table/LoadingStateTable.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +22 -58
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.module.css +0 -69
- package/build/browser/object-table/MultiColumnSortDialog.module.css.js +0 -5
- package/build/browser/object-table/ObjectTable.js +16 -23
- 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 +1 -0
- package/build/browser/object-table/SelectionCells.js.map +1 -1
- package/build/browser/object-table/Table.js +23 -15
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/Table.module.css +0 -8
- package/build/browser/object-table/Table.module.css.js +1 -2
- package/build/browser/object-table/TableBody.js +8 -2
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableCell.module.css +2 -9
- 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 +4 -1
- package/build/browser/object-table/TableHeader.js.map +1 -1
- package/build/browser/object-table/TableHeader.module.css +4 -3
- package/build/browser/object-table/TableHeader.module.css.js +1 -0
- package/build/browser/object-table/TableHeaderWithPopover.js +2 -4
- package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/browser/object-table/TableHeaderWithPopover.module.css +1 -12
- 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 +2 -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 +5 -2
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/hooks/useEditableTable.js +39 -11
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/browser/object-table/hooks/useFunctionColumnsData.js +135 -0
- package/build/browser/object-table/hooks/useFunctionColumnsData.js.map +1 -0
- package/build/browser/object-table/hooks/useObjectTableData.js +33 -17
- package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/browser/object-table/hooks/useRowSelection.js +11 -8
- package/build/browser/object-table/hooks/useRowSelection.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 +0 -7
- package/build/browser/object-table/utils/getCellId.js.map +1 -1
- package/build/browser/object-table/utils/types.js.map +1 -1
- 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 +179 -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/PdfViewerContext.js +108 -0
- package/build/browser/pdf-viewer/PdfViewerContext.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.js +141 -0
- package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.module.css +82 -0
- package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.module.css.js +12 -0
- package/build/browser/pdf-viewer/components/PdfViewerContent.js +125 -0
- package/build/browser/pdf-viewer/components/PdfViewerContent.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.js +98 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.module.css +89 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.module.css.js +15 -0
- package/build/browser/pdf-viewer/components/PdfViewerSearchBar.js +84 -0
- package/build/browser/pdf-viewer/components/PdfViewerSearchBar.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerSearchBar.module.css +65 -0
- package/build/browser/pdf-viewer/components/PdfViewerSearchBar.module.css.js +10 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebar.js +78 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebar.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebar.module.css +37 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebar.module.css.js +10 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.js +54 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.module.css +70 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.module.css.js +8 -0
- package/build/browser/pdf-viewer/components/PdfViewerThumbnail.js +100 -0
- package/build/browser/pdf-viewer/components/PdfViewerThumbnail.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerThumbnail.module.css +26 -0
- package/build/browser/pdf-viewer/components/PdfViewerThumbnail.module.css.js +8 -0
- package/build/browser/pdf-viewer/components/PdfViewerToolbar.js +221 -0
- package/build/browser/pdf-viewer/components/PdfViewerToolbar.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerToolbar.module.css +91 -0
- package/build/browser/pdf-viewer/components/PdfViewerToolbar.module.css.js +13 -0
- package/build/browser/pdf-viewer/constants.js +46 -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/usePdfAnnotationsByPage.js +30 -0
- package/build/browser/pdf-viewer/hooks/usePdfAnnotationsByPage.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js +66 -0
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfFormFields.js +341 -0
- package/build/browser/pdf-viewer/hooks/usePdfFormFields.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfHighlightMode.js +227 -0
- package/build/browser/pdf-viewer/hooks/usePdfHighlightMode.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfOutline.js +268 -0
- package/build/browser/pdf-viewer/hooks/usePdfOutline.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js +86 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerCore.js +80 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerCore.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/usePdfViewerState.js +135 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerState.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 +34 -0
- package/build/browser/public/experimental.js.map +1 -1
- package/build/browser/public/primitives.js +20 -0
- package/build/browser/public/primitives.js.map +1 -0
- package/build/browser/shared/ErrorBoundary.module.css +14 -14
- package/build/browser/{filter-list/utils → shared}/assertUnreachable.js +1 -1
- package/build/browser/{filter-list/utils → shared}/assertUnreachable.js.map +1 -1
- package/build/{esm/filter-list/base/inputs → browser/shared}/dateUtils.js +38 -2
- package/build/browser/shared/dateUtils.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 +4452 -1405
- package/build/cjs/DateCalendar-QWGFKD6J.css +113 -0
- package/build/cjs/DateCalendar-QWGFKD6J.css.map +1 -0
- package/build/cjs/DateCalendar-R44GMN3O.cjs +67 -0
- package/build/cjs/DateCalendar-R44GMN3O.cjs.map +1 -0
- package/build/cjs/chunk-HMQTYQEX.cjs +9 -0
- package/build/cjs/chunk-HMQTYQEX.cjs.map +1 -0
- package/build/cjs/chunk-MRRRZN44.cjs +165 -0
- package/build/cjs/chunk-MRRRZN44.cjs.map +1 -0
- package/build/cjs/chunk-UZ2E5NRX.cjs +8 -0
- package/build/cjs/chunk-UZ2E5NRX.cjs.map +1 -0
- package/build/cjs/index.cjs +2 -0
- package/build/cjs/public/experimental.cjs +9514 -2011
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +3230 -736
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +1182 -125
- package/build/cjs/public/primitives.cjs +25 -0
- package/build/cjs/public/primitives.cjs.map +1 -0
- package/build/cjs/public/primitives.css +154 -0
- package/build/cjs/public/primitives.css.map +1 -0
- package/build/cjs/public/primitives.d.cts +50 -0
- package/build/esm/action-form/ActionForm.js +117 -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 +83 -0
- package/build/esm/action-form/BaseForm.js.map +1 -0
- package/build/esm/action-form/BaseForm.module.css +38 -0
- package/build/esm/action-form/FormField.js +42 -0
- package/build/esm/action-form/FormField.js.map +1 -0
- package/build/esm/action-form/FormField.module.css +41 -0
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/FormHeader.js +26 -0
- package/build/esm/action-form/FormHeader.js.map +1 -0
- package/build/esm/action-form/FormHeader.module.css +26 -0
- package/build/esm/action-form/fields/BaseInput.module.css +56 -0
- package/build/esm/action-form/fields/CustomField.js +30 -0
- package/build/esm/action-form/fields/CustomField.js.map +1 -0
- package/build/esm/action-form/fields/DateCalendar.js +70 -0
- package/build/esm/action-form/fields/DateCalendar.js.map +1 -0
- package/build/esm/action-form/fields/DateCalendar.module.css +136 -0
- package/build/esm/action-form/fields/DatetimePickerField.js +98 -0
- package/build/esm/action-form/fields/DatetimePickerField.js.map +1 -0
- package/build/esm/action-form/fields/DatetimePickerField.module.css +66 -0
- 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/FilePickerField.js +119 -0
- package/build/esm/action-form/fields/FilePickerField.js.map +1 -0
- package/build/esm/action-form/fields/FilePickerField.module.css +132 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js +128 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/esm/action-form/fields/LazyDateCalendar.js +27 -0
- package/build/esm/action-form/fields/LazyDateCalendar.js.map +1 -0
- package/build/esm/action-form/fields/NumberInputField.js +130 -0
- package/build/esm/action-form/fields/NumberInputField.js.map +1 -0
- package/build/esm/action-form/fields/NumberInputField.module.css +96 -0
- package/build/esm/action-form/fields/RadioButtonsField.js +57 -0
- package/build/esm/action-form/fields/RadioButtonsField.js.map +1 -0
- package/build/esm/action-form/fields/RadioButtonsField.module.css +83 -0
- package/build/esm/action-form/fields/TextAreaField.js +50 -0
- package/build/esm/action-form/fields/TextAreaField.js.map +1 -0
- package/build/esm/action-form/fields/TextInputField.js +39 -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/getDefaultFieldDefinitions.js +120 -0
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- package/build/esm/base-components/action-button/ActionButton.module.css +0 -4
- package/build/esm/base-components/checkbox/Checkbox.js +8 -4
- package/build/esm/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/esm/base-components/checkbox/Checkbox.module.css +13 -8
- package/build/esm/base-components/combobox/Combobox.js +154 -0
- package/build/esm/base-components/combobox/Combobox.js.map +1 -0
- package/build/esm/base-components/combobox/Combobox.module.css +364 -0
- package/build/esm/base-components/dialog/Dialog.js +4 -2
- package/build/esm/base-components/dialog/Dialog.js.map +1 -1
- package/build/esm/base-components/dialog/Dialog.module.css +0 -8
- package/build/esm/base-components/draggable-list/DraggableList.module.css +2 -10
- package/build/esm/base-components/search-bar/SearchBar.module.css +2 -2
- package/build/esm/base-components/searchable-menu/SearchableMenu.js +86 -0
- package/build/esm/base-components/searchable-menu/SearchableMenu.js.map +1 -0
- package/build/esm/base-components/searchable-menu/SearchableMenu.module.css +80 -0
- package/build/esm/base-components/select/Select.js +93 -0
- package/build/esm/base-components/select/Select.js.map +1 -0
- package/build/esm/base-components/select/Select.module.css +233 -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.module.css +14 -15
- 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 +141 -0
- package/build/esm/filter-list/FilterInput.js.map +1 -0
- package/build/esm/filter-list/FilterList.js +142 -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 +35 -0
- package/build/esm/filter-list/base/AddFilterPopover.js.map +1 -0
- package/build/esm/filter-list/base/AddFilterPopover.module.css +49 -0
- package/build/esm/filter-list/base/BaseFilterList.js +94 -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/ExcludeDropdown.js +62 -0
- package/build/esm/filter-list/base/ExcludeDropdown.js.map +1 -0
- package/build/esm/filter-list/base/ExcludeDropdown.module.css +96 -0
- package/build/esm/filter-list/base/FilterIcons.js +65 -0
- package/build/esm/filter-list/base/FilterIcons.js.map +1 -0
- package/build/esm/filter-list/base/FilterInputExcludeRow.js +67 -0
- package/build/esm/filter-list/base/FilterInputExcludeRow.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.module.css +84 -6
- package/build/esm/filter-list/base/FilterListContent.js +172 -6
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -1
- package/build/esm/filter-list/base/FilterListContent.module.css +6 -0
- package/build/esm/filter-list/base/FilterListHeader.js +14 -13
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/esm/filter-list/base/FilterListHeader.module.css +22 -21
- package/build/esm/filter-list/base/FilterListItem.js +124 -27
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/FilterListItem.module.css +173 -0
- package/build/esm/filter-list/base/SortableFilterListItem.js +64 -0
- package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -0
- package/build/esm/filter-list/base/index.js +1 -2
- package/build/esm/filter-list/base/index.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js +5 -7
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
- 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 +118 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +137 -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 +1 -1
- package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +6 -6
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +76 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +37 -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 +159 -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 +1 -1
- package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +2 -2
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +77 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.module.css +45 -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/createHistogramBuckets.js +53 -0
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/esm/filter-list/base/inputs/index.js +5 -1
- package/build/esm/filter-list/base/inputs/index.js.map +1 -1
- package/build/esm/filter-list/base/inputs/shared.module.css +5 -5
- package/build/esm/filter-list/base/inputs/useStableData.js +29 -0
- package/build/esm/filter-list/base/inputs/useStableData.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterListState.js +56 -10
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterVisibility.js +74 -0
- package/build/esm/filter-list/hooks/useFilterVisibility.js.map +1 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.js +98 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.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 +109 -0
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js +496 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ListogramFilterInput.js +83 -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 +71 -0
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js +109 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/PropertyFilterInput.js +142 -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 +71 -0
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js +70 -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.map +1 -1
- package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/esm/filter-list/types/index.js +0 -2
- package/build/esm/filter-list/types/index.js.map +1 -1
- 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/filterStateSerialization.js +42 -0
- package/build/esm/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +124 -91
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/esm/filter-list/utils/filterValues.js +55 -1
- package/build/esm/filter-list/utils/filterValues.js.map +1 -1
- package/build/esm/filter-list/utils/getFilterKey.js +1 -1
- package/build/esm/filter-list/utils/getFilterKey.js.map +1 -1
- 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.module.css +1 -11
- package/build/esm/object-table/DefaultCellRenderer.js +23 -5
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/esm/object-table/EditableCell.js +87 -10
- package/build/esm/object-table/EditableCell.js.map +1 -1
- package/build/esm/object-table/EditableCell.module.css +69 -2
- package/build/esm/object-table/LoadingCell.js +7 -3
- package/build/esm/object-table/LoadingCell.js.map +1 -1
- package/build/esm/object-table/LoadingCell.module.css +3 -21
- 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 +2 -1
- package/build/esm/object-table/LoadingStateTable.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.js +22 -58
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.module.css +0 -69
- package/build/esm/object-table/ObjectTable.js +16 -23
- 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 +1 -0
- package/build/esm/object-table/SelectionCells.js.map +1 -1
- package/build/esm/object-table/Table.js +23 -15
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/Table.module.css +0 -8
- package/build/esm/object-table/TableBody.js +8 -2
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableCell.module.css +2 -9
- 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 +4 -1
- package/build/esm/object-table/TableHeader.js.map +1 -1
- package/build/esm/object-table/TableHeader.module.css +4 -3
- package/build/esm/object-table/TableHeaderWithPopover.js +2 -4
- package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/esm/object-table/TableHeaderWithPopover.module.css +1 -12
- 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 +2 -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 +5 -2
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/hooks/useEditableTable.js +39 -11
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/esm/object-table/hooks/useFunctionColumnsData.js +135 -0
- package/build/esm/object-table/hooks/useFunctionColumnsData.js.map +1 -0
- package/build/esm/object-table/hooks/useObjectTableData.js +33 -17
- package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/esm/object-table/hooks/useRowSelection.js +11 -8
- package/build/esm/object-table/hooks/useRowSelection.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 +0 -7
- package/build/esm/object-table/utils/getCellId.js.map +1 -1
- package/build/esm/object-table/utils/types.js.map +1 -1
- 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 +179 -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/PdfViewerContext.js +108 -0
- package/build/esm/pdf-viewer/PdfViewerContext.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerAnnotationLayer.js +141 -0
- package/build/esm/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerAnnotationLayer.module.css +82 -0
- package/build/esm/pdf-viewer/components/PdfViewerContent.js +125 -0
- package/build/esm/pdf-viewer/components/PdfViewerContent.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.js +98 -0
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.module.css +89 -0
- package/build/esm/pdf-viewer/components/PdfViewerSearchBar.js +84 -0
- package/build/esm/pdf-viewer/components/PdfViewerSearchBar.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerSearchBar.module.css +65 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebar.js +78 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebar.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebar.module.css +37 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebarHeader.js +54 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebarHeader.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebarHeader.module.css +70 -0
- package/build/esm/pdf-viewer/components/PdfViewerThumbnail.js +100 -0
- package/build/esm/pdf-viewer/components/PdfViewerThumbnail.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerThumbnail.module.css +26 -0
- package/build/esm/pdf-viewer/components/PdfViewerToolbar.js +221 -0
- package/build/esm/pdf-viewer/components/PdfViewerToolbar.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerToolbar.module.css +91 -0
- package/build/esm/pdf-viewer/constants.js +46 -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/usePdfAnnotationsByPage.js +30 -0
- package/build/esm/pdf-viewer/hooks/usePdfAnnotationsByPage.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js +66 -0
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfFormFields.js +341 -0
- package/build/esm/pdf-viewer/hooks/usePdfFormFields.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfHighlightMode.js +227 -0
- package/build/esm/pdf-viewer/hooks/usePdfHighlightMode.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfOutline.js +268 -0
- package/build/esm/pdf-viewer/hooks/usePdfOutline.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js +86 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerCore.js +80 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerCore.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/usePdfViewerState.js +135 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerState.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 +34 -0
- package/build/esm/public/experimental.js.map +1 -1
- package/build/esm/public/primitives.js +20 -0
- package/build/esm/public/primitives.js.map +1 -0
- package/build/esm/shared/ErrorBoundary.module.css +14 -14
- package/build/esm/{filter-list/utils → shared}/assertUnreachable.js +1 -1
- package/build/esm/{filter-list/utils → shared}/assertUnreachable.js.map +1 -1
- package/build/{browser/filter-list/base/inputs → esm/shared}/dateUtils.js +38 -2
- package/build/esm/shared/dateUtils.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 +49 -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/FormField.d.ts +11 -0
- package/build/types/action-form/FormField.d.ts.map +1 -0
- package/build/types/action-form/FormFieldApi.d.ts +152 -51
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/FormHeader.d.ts +6 -0
- package/build/types/action-form/FormHeader.d.ts.map +1 -0
- package/build/types/action-form/fields/CustomField.d.ts +9 -0
- package/build/types/action-form/fields/CustomField.d.ts.map +1 -0
- package/build/types/action-form/fields/DateCalendar.d.ts +9 -0
- package/build/types/action-form/fields/DateCalendar.d.ts.map +1 -0
- package/build/types/action-form/fields/DatetimePickerField.d.ts +3 -0
- package/build/types/action-form/fields/DatetimePickerField.d.ts.map +1 -0
- 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/FilePickerField.d.ts +3 -0
- package/build/types/action-form/fields/FilePickerField.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/LazyDateCalendar.d.ts +3 -0
- package/build/types/action-form/fields/LazyDateCalendar.d.ts.map +1 -0
- package/build/types/action-form/fields/NumberInputField.d.ts +3 -0
- package/build/types/action-form/fields/NumberInputField.d.ts.map +1 -0
- package/build/types/action-form/fields/RadioButtonsField.d.ts +3 -0
- package/build/types/action-form/fields/RadioButtonsField.d.ts.map +1 -0
- package/build/types/action-form/fields/TextAreaField.d.ts +3 -0
- package/build/types/action-form/fields/TextAreaField.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/getDefaultFieldDefinitions.d.ts +9 -0
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts.map +1 -0
- package/build/types/base-components/checkbox/Checkbox.d.ts +2 -1
- package/build/types/base-components/checkbox/Checkbox.d.ts.map +1 -1
- package/build/types/base-components/combobox/Combobox.d.ts +65 -0
- package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
- package/build/types/base-components/dialog/Dialog.d.ts +3 -2
- package/build/types/base-components/dialog/Dialog.d.ts.map +1 -1
- package/build/types/base-components/searchable-menu/SearchableMenu.d.ts +18 -0
- package/build/types/base-components/searchable-menu/SearchableMenu.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/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 +17 -0
- package/build/types/filter-list/FilterInput.d.ts.map +1 -0
- package/build/types/filter-list/{base/FilterList.d.ts → FilterList.d.ts} +1 -1
- package/build/types/filter-list/FilterList.d.ts.map +1 -0
- package/build/types/filter-list/FilterListApi.d.ts +49 -33
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts +22 -6
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/base/AddFilterPopover.d.ts +13 -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 +32 -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/ExcludeDropdown.d.ts +8 -0
- package/build/types/filter-list/base/ExcludeDropdown.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterIcons.d.ts +10 -0
- package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterInputExcludeRow.d.ts +13 -0
- package/build/types/filter-list/base/FilterInputExcludeRow.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListContent.d.ts +9 -6
- package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListHeader.d.ts +3 -2
- package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListItem.d.ts +10 -6
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -1
- package/build/types/filter-list/base/SortableFilterListItem.d.ts +16 -0
- package/build/types/filter-list/base/SortableFilterListItem.d.ts.map +1 -0
- package/build/types/filter-list/base/index.d.ts +2 -2
- package/build/types/filter-list/base/index.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -1
- 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 +21 -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/MultiSelectInput.d.ts +16 -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.map +1 -1
- 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/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/index.d.ts +5 -1
- package/build/types/filter-list/base/inputs/index.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/useStableData.d.ts +1 -0
- package/build/types/filter-list/base/inputs/useStableData.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts +2 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts +10 -0
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts.map +1 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +18 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.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 +13 -0
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts +22 -0
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts +19 -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 +15 -0
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts +19 -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 +15 -0
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts +15 -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 +2 -1
- package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -1
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts +0 -19
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -1
- package/build/types/filter-list/types/index.d.ts +0 -2
- package/build/types/filter-list/types/index.d.ts.map +1 -1
- 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/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 +5 -1
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterValues.d.ts +4 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
- package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -1
- 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/DefaultCellRenderer.d.ts +2 -2
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -1
- package/build/types/object-table/EditableCell.d.ts +22 -6
- package/build/types/object-table/EditableCell.d.ts.map +1 -1
- 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.map +1 -1
- 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 +82 -22
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/Table.d.ts +10 -10
- 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.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/useEditableTable.d.ts +4 -9
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -1
- 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 +6 -1
- package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
- package/build/types/object-table/hooks/useRowSelection.d.ts +3 -2
- 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 +0 -1
- package/build/types/object-table/utils/getCellId.d.ts.map +1 -1
- package/build/types/object-table/utils/types.d.ts +28 -3
- package/build/types/object-table/utils/types.d.ts.map +1 -1
- 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/PdfViewerContext.d.ts +64 -0
- package/build/types/pdf-viewer/PdfViewerContext.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerAnnotationLayer.d.ts +9 -0
- package/build/types/pdf-viewer/components/PdfViewerAnnotationLayer.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerContent.d.ts +26 -0
- package/build/types/pdf-viewer/components/PdfViewerContent.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerOutlineSidebar.d.ts +11 -0
- package/build/types/pdf-viewer/components/PdfViewerOutlineSidebar.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerSearchBar.d.ts +11 -0
- package/build/types/pdf-viewer/components/PdfViewerSearchBar.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebar.d.ts +12 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebar.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebarHeader.d.ts +7 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebarHeader.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerThumbnail.d.ts +10 -0
- package/build/types/pdf-viewer/components/PdfViewerThumbnail.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerToolbar.d.ts +21 -0
- package/build/types/pdf-viewer/components/PdfViewerToolbar.d.ts.map +1 -0
- package/build/types/pdf-viewer/constants.d.ts +22 -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/usePdfAnnotationsByPage.d.ts +5 -0
- package/build/types/pdf-viewer/hooks/usePdfAnnotationsByPage.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/usePdfFormFields.d.ts +24 -0
- package/build/types/pdf-viewer/hooks/usePdfFormFields.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfHighlightMode.d.ts +36 -0
- package/build/types/pdf-viewer/hooks/usePdfHighlightMode.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfOutline.d.ts +3 -0
- package/build/types/pdf-viewer/hooks/usePdfOutline.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/usePdfViewerCore.d.ts +43 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerCore.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/usePdfViewerState.d.ts +39 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerState.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 +210 -0
- package/build/types/pdf-viewer/types.d.ts.map +1 -0
- package/build/types/public/experimental.d.ts +33 -2
- package/build/types/public/experimental.d.ts.map +1 -1
- package/build/types/public/primitives.d.ts +3 -0
- package/build/types/public/primitives.d.ts.map +1 -0
- package/build/types/shared/assertUnreachable.d.ts.map +1 -0
- package/build/types/shared/dateUtils.d.ts +31 -0
- package/build/types/shared/dateUtils.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 +23 -10
- package/primitives.d.ts +17 -0
- package/build/browser/filter-list/__tests__/dateUtils.test.js +0 -55
- package/build/browser/filter-list/__tests__/dateUtils.test.js.map +0 -1
- package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js +0 -296
- package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js.map +0 -1
- package/build/browser/filter-list/__tests__/getFilterKey.test.js +0 -53
- package/build/browser/filter-list/__tests__/getFilterKey.test.js.map +0 -1
- package/build/browser/filter-list/__tests__/testUtils.js +0 -203
- package/build/browser/filter-list/__tests__/testUtils.js.map +0 -1
- package/build/browser/filter-list/base/FilterInput.js +0 -225
- package/build/browser/filter-list/base/FilterInput.js.map +0 -1
- package/build/browser/filter-list/base/FilterList.js +0 -73
- package/build/browser/filter-list/base/FilterList.js.map +0 -1
- package/build/browser/filter-list/base/inputs/dateUtils.js.map +0 -1
- package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js +0 -128
- package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js.map +0 -1
- package/build/browser/filter-list/types/AddFilterMenuTypes.js +0 -2
- package/build/browser/filter-list/types/AddFilterMenuTypes.js.map +0 -1
- package/build/browser/filter-list/types/FilterPanelTypes.js +0 -2
- package/build/browser/filter-list/types/FilterPanelTypes.js.map +0 -1
- package/build/browser/object-table/__tests__/useEditableTable.test.js +0 -197
- package/build/browser/object-table/__tests__/useEditableTable.test.js.map +0 -1
- 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 -520
- 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 -200
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +0 -315
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +0 -596
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -220
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +0 -501
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
- package/build/esm/filter-list/__tests__/dateUtils.test.js +0 -55
- package/build/esm/filter-list/__tests__/dateUtils.test.js.map +0 -1
- package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js +0 -296
- package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js.map +0 -1
- package/build/esm/filter-list/__tests__/getFilterKey.test.js +0 -53
- package/build/esm/filter-list/__tests__/getFilterKey.test.js.map +0 -1
- package/build/esm/filter-list/__tests__/testUtils.js +0 -203
- package/build/esm/filter-list/__tests__/testUtils.js.map +0 -1
- package/build/esm/filter-list/base/FilterInput.js +0 -225
- package/build/esm/filter-list/base/FilterInput.js.map +0 -1
- package/build/esm/filter-list/base/FilterList.js +0 -73
- package/build/esm/filter-list/base/FilterList.js.map +0 -1
- package/build/esm/filter-list/base/inputs/dateUtils.js.map +0 -1
- package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js +0 -128
- package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js.map +0 -1
- package/build/esm/filter-list/types/AddFilterMenuTypes.js +0 -2
- package/build/esm/filter-list/types/AddFilterMenuTypes.js.map +0 -1
- package/build/esm/filter-list/types/FilterPanelTypes.js +0 -2
- package/build/esm/filter-list/types/FilterPanelTypes.js.map +0 -1
- package/build/esm/object-table/__tests__/useEditableTable.test.js +0 -197
- package/build/esm/object-table/__tests__/useEditableTable.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 -520
- 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 -200
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +0 -315
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +0 -596
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -220
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +0 -501
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
- package/build/types/filter-list/__tests__/dateUtils.test.d.ts +0 -1
- package/build/types/filter-list/__tests__/dateUtils.test.d.ts.map +0 -1
- package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts +0 -1
- package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts.map +0 -1
- package/build/types/filter-list/__tests__/getFilterKey.test.d.ts +0 -1
- package/build/types/filter-list/__tests__/getFilterKey.test.d.ts.map +0 -1
- package/build/types/filter-list/__tests__/testUtils.d.ts +0 -65
- package/build/types/filter-list/__tests__/testUtils.d.ts.map +0 -1
- package/build/types/filter-list/base/FilterInput.d.ts +0 -13
- package/build/types/filter-list/base/FilterInput.d.ts.map +0 -1
- package/build/types/filter-list/base/FilterList.d.ts.map +0 -1
- package/build/types/filter-list/base/inputs/dateUtils.d.ts +0 -17
- package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +0 -1
- package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts +0 -1
- package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts.map +0 -1
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts +0 -77
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts.map +0 -1
- package/build/types/filter-list/types/FilterPanelTypes.d.ts +0 -18
- package/build/types/filter-list/types/FilterPanelTypes.d.ts.map +0 -1
- package/build/types/filter-list/utils/assertUnreachable.d.ts.map +0 -1
- package/build/types/object-table/__tests__/useEditableTable.test.d.ts +0 -1
- package/build/types/object-table/__tests__/useEditableTable.test.d.ts.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
- /package/build/types/{filter-list/utils → shared}/assertUnreachable.d.ts +0 -0
|
@@ -1,128 +0,0 @@
|
|
|
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 { act, renderHook } from "@testing-library/react";
|
|
18
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
19
|
-
import { createPropertyFilterDef, createSelectState, createToggleState, MockObjectType } from "../../__tests__/testUtils.js";
|
|
20
|
-
import { getFilterKey } from "../../utils/getFilterKey.js";
|
|
21
|
-
import { useFilterListState } from "../useFilterListState.js";
|
|
22
|
-
function createMockObjectSet() {
|
|
23
|
-
return {
|
|
24
|
-
$objectSetInternals: {
|
|
25
|
-
def: MockObjectType
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function createProps(overrides = {}) {
|
|
30
|
-
return {
|
|
31
|
-
objectSet: createMockObjectSet(),
|
|
32
|
-
...overrides
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
describe("useFilterListState", () => {
|
|
36
|
-
beforeEach(() => {
|
|
37
|
-
vi.clearAllMocks();
|
|
38
|
-
});
|
|
39
|
-
afterEach(() => {
|
|
40
|
-
vi.clearAllMocks();
|
|
41
|
-
});
|
|
42
|
-
it("initializes with empty filter states when no definitions", () => {
|
|
43
|
-
const props = createProps({
|
|
44
|
-
filterDefinitions: undefined
|
|
45
|
-
});
|
|
46
|
-
const {
|
|
47
|
-
result
|
|
48
|
-
} = renderHook(() => useFilterListState(props));
|
|
49
|
-
expect(result.current.filterStates.size).toBe(0);
|
|
50
|
-
});
|
|
51
|
-
it("initializes filter states from filterState for property filters", () => {
|
|
52
|
-
const initialState = createSelectState([]);
|
|
53
|
-
const nameDef = createPropertyFilterDef("name", "CHECKBOX_LIST", initialState);
|
|
54
|
-
const props = createProps({
|
|
55
|
-
filterDefinitions: [nameDef]
|
|
56
|
-
});
|
|
57
|
-
const {
|
|
58
|
-
result
|
|
59
|
-
} = renderHook(() => useFilterListState(props));
|
|
60
|
-
expect(result.current.filterStates.get(getFilterKey(nameDef))).toEqual(initialState);
|
|
61
|
-
});
|
|
62
|
-
it("updates filter state via setFilterState", () => {
|
|
63
|
-
const nameDef = createPropertyFilterDef("name", "CHECKBOX_LIST", createSelectState([]));
|
|
64
|
-
const props = createProps({
|
|
65
|
-
filterDefinitions: [nameDef]
|
|
66
|
-
});
|
|
67
|
-
const {
|
|
68
|
-
result
|
|
69
|
-
} = renderHook(() => useFilterListState(props));
|
|
70
|
-
act(() => {
|
|
71
|
-
result.current.setFilterState(getFilterKey(nameDef), createSelectState(["selected"]));
|
|
72
|
-
});
|
|
73
|
-
expect(result.current.filterStates.get(getFilterKey(nameDef))).toEqual(createSelectState(["selected"]));
|
|
74
|
-
});
|
|
75
|
-
it("calls onFilterStateChanged callback", () => {
|
|
76
|
-
const onFilterStateChanged = vi.fn();
|
|
77
|
-
const nameDef = createPropertyFilterDef("name", "CHECKBOX_LIST", createSelectState([]));
|
|
78
|
-
const props = createProps({
|
|
79
|
-
filterDefinitions: [nameDef],
|
|
80
|
-
onFilterStateChanged
|
|
81
|
-
});
|
|
82
|
-
const {
|
|
83
|
-
result
|
|
84
|
-
} = renderHook(() => useFilterListState(props));
|
|
85
|
-
const newState = createSelectState(["selected"]);
|
|
86
|
-
act(() => {
|
|
87
|
-
result.current.setFilterState(getFilterKey(nameDef), newState);
|
|
88
|
-
});
|
|
89
|
-
expect(onFilterStateChanged).toHaveBeenCalledWith(nameDef, newState);
|
|
90
|
-
});
|
|
91
|
-
it("builds whereClause from filter states", () => {
|
|
92
|
-
const nameDef = createPropertyFilterDef("name", "CHECKBOX_LIST", createSelectState([]));
|
|
93
|
-
const props = createProps({
|
|
94
|
-
filterDefinitions: [nameDef]
|
|
95
|
-
});
|
|
96
|
-
const {
|
|
97
|
-
result
|
|
98
|
-
} = renderHook(() => useFilterListState(props));
|
|
99
|
-
act(() => {
|
|
100
|
-
result.current.setFilterState(getFilterKey(nameDef), createSelectState(["John"]));
|
|
101
|
-
});
|
|
102
|
-
expect(result.current.whereClause).toEqual({
|
|
103
|
-
name: "John"
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
it("handles multiple filter definitions", () => {
|
|
107
|
-
const nameDef = createPropertyFilterDef("name", "CHECKBOX_LIST", createSelectState([]));
|
|
108
|
-
const activeDef = createPropertyFilterDef("active", "TOGGLE", createToggleState(false));
|
|
109
|
-
const props = createProps({
|
|
110
|
-
filterDefinitions: [nameDef, activeDef]
|
|
111
|
-
});
|
|
112
|
-
const {
|
|
113
|
-
result
|
|
114
|
-
} = renderHook(() => useFilterListState(props));
|
|
115
|
-
act(() => {
|
|
116
|
-
result.current.setFilterState(getFilterKey(nameDef), createSelectState(["John"]));
|
|
117
|
-
result.current.setFilterState(getFilterKey(activeDef), createToggleState(true));
|
|
118
|
-
});
|
|
119
|
-
expect(result.current.whereClause).toEqual({
|
|
120
|
-
$and: [{
|
|
121
|
-
name: "John"
|
|
122
|
-
}, {
|
|
123
|
-
active: true
|
|
124
|
-
}]
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
//# sourceMappingURL=useFilterListState.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterListState.test.js","names":["act","renderHook","afterEach","beforeEach","describe","expect","it","vi","createPropertyFilterDef","createSelectState","createToggleState","MockObjectType","getFilterKey","useFilterListState","createMockObjectSet","$objectSetInternals","def","createProps","overrides","objectSet","clearAllMocks","props","filterDefinitions","undefined","result","current","filterStates","size","toBe","initialState","nameDef","get","toEqual","setFilterState","onFilterStateChanged","fn","newState","toHaveBeenCalledWith","whereClause","name","activeDef","$and","active"],"sources":["useFilterListState.test.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet } from \"@osdk/api\";\nimport { act, renderHook } from \"@testing-library/react\";\nimport { afterEach, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport {\n createPropertyFilterDef,\n createSelectState,\n createToggleState,\n MockObjectType,\n} from \"../../__tests__/testUtils.js\";\nimport type { FilterListProps } from \"../../FilterListApi.js\";\nimport { getFilterKey } from \"../../utils/getFilterKey.js\";\nimport { useFilterListState } from \"../useFilterListState.js\";\n\nfunction createMockObjectSet(): ObjectSet<typeof MockObjectType> {\n return {\n $objectSetInternals: {\n def: MockObjectType,\n },\n } as ObjectSet<typeof MockObjectType>;\n}\n\nfunction createProps(\n overrides: Partial<FilterListProps<typeof MockObjectType>> = {},\n): FilterListProps<typeof MockObjectType> {\n return {\n objectSet: createMockObjectSet(),\n ...overrides,\n };\n}\n\ndescribe(\"useFilterListState\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"initializes with empty filter states when no definitions\", () => {\n const props = createProps({ filterDefinitions: undefined });\n const { result } = renderHook(() => useFilterListState(props));\n expect(result.current.filterStates.size).toBe(0);\n });\n\n it(\"initializes filter states from filterState for property filters\", () => {\n const initialState = createSelectState([]);\n const nameDef = createPropertyFilterDef(\n \"name\",\n \"CHECKBOX_LIST\",\n initialState,\n );\n const props = createProps({\n filterDefinitions: [nameDef],\n });\n const { result } = renderHook(() => useFilterListState(props));\n expect(result.current.filterStates.get(getFilterKey(nameDef))).toEqual(\n initialState,\n );\n });\n\n it(\"updates filter state via setFilterState\", () => {\n const nameDef = createPropertyFilterDef(\n \"name\",\n \"CHECKBOX_LIST\",\n createSelectState([]),\n );\n const props = createProps({\n filterDefinitions: [nameDef],\n });\n const { result } = renderHook(() => useFilterListState(props));\n act(() => {\n result.current.setFilterState(\n getFilterKey(nameDef),\n createSelectState([\"selected\"]),\n );\n });\n expect(result.current.filterStates.get(getFilterKey(nameDef))).toEqual(\n createSelectState([\"selected\"]),\n );\n });\n\n it(\"calls onFilterStateChanged callback\", () => {\n const onFilterStateChanged = vi.fn();\n const nameDef = createPropertyFilterDef(\n \"name\",\n \"CHECKBOX_LIST\",\n createSelectState([]),\n );\n const props = createProps({\n filterDefinitions: [nameDef],\n onFilterStateChanged,\n });\n const { result } = renderHook(() => useFilterListState(props));\n const newState = createSelectState([\"selected\"]);\n act(() => {\n result.current.setFilterState(getFilterKey(nameDef), newState);\n });\n expect(onFilterStateChanged).toHaveBeenCalledWith(nameDef, newState);\n });\n\n it(\"builds whereClause from filter states\", () => {\n const nameDef = createPropertyFilterDef(\n \"name\",\n \"CHECKBOX_LIST\",\n createSelectState([]),\n );\n const props = createProps({\n filterDefinitions: [nameDef],\n });\n const { result } = renderHook(() => useFilterListState(props));\n act(() => {\n result.current.setFilterState(\n getFilterKey(nameDef),\n createSelectState([\"John\"]),\n );\n });\n expect(result.current.whereClause).toEqual({ name: \"John\" });\n });\n\n it(\"handles multiple filter definitions\", () => {\n const nameDef = createPropertyFilterDef(\n \"name\",\n \"CHECKBOX_LIST\",\n createSelectState([]),\n );\n const activeDef = createPropertyFilterDef(\n \"active\",\n \"TOGGLE\",\n createToggleState(false),\n );\n const props = createProps({\n filterDefinitions: [nameDef, activeDef],\n });\n const { result } = renderHook(() => useFilterListState(props));\n act(() => {\n result.current.setFilterState(\n getFilterKey(nameDef),\n createSelectState([\"John\"]),\n );\n result.current.setFilterState(\n getFilterKey(activeDef),\n createToggleState(true),\n );\n });\n expect(result.current.whereClause).toEqual({\n $and: [{ name: \"John\" }, { active: true }],\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddFilterMenuTypes.js","names":[],"sources":["AddFilterMenuTypes.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 { ReactNode } from \"react\";\nimport type { FilterComponentType } from \"../FilterListItemApi.js\";\n\n/**\n * Visual data indicator configuration for filter items\n */\nexport type FilterDataIndicator = \"histogram\" | \"count\" | \"none\";\n\n/**\n * Category for organizing filters in the add filter menu\n */\nexport type FilterCategory =\n | \"ALL_PROPERTIES\"\n | \"SINGLE_PROPERTY\"\n | \"LINKED_OBJECT\";\n\n/**\n * Template for a filter that can be added via the add filter menu\n */\nexport interface FilterTemplate {\n /**\n * Unique identifier for the template\n */\n id: string;\n\n /**\n * Display label for the filter\n */\n label: string;\n\n /**\n * Property key this filter applies to\n */\n key: string;\n\n /**\n * The type of filter component to use\n */\n filterComponent: FilterComponentType;\n\n /**\n * Icon to display next to the filter label.\n * Can be a string (icon name) or a ReactNode for custom icons.\n */\n icon: string | ReactNode;\n\n /**\n * Type of data indicator to show (histogram, count, none)\n */\n dataIndicator?: FilterDataIndicator;\n\n /**\n * Whether to show a \"Select All\" option for checkbox lists\n */\n showSelectAll?: boolean;\n\n /**\n * Maximum number of visible items before scrolling\n */\n maxVisibleItems?: number;\n\n /**\n * Whether multiple instances of this filter can be added\n */\n allowMultiple: boolean;\n\n /**\n * Category for grouping in the add filter menu\n */\n category: FilterCategory;\n}\n\n/**\n * Props for the add filter menu component\n */\nexport interface AddFilterMenuProps {\n /**\n * Available filter templates to display\n */\n templates: FilterTemplate[];\n\n /**\n * Current count of active filters by key\n */\n activeCounts: Record<string, number>;\n\n /**\n * Called when a filter template is selected\n */\n onSelectFilter: (template: FilterTemplate) => void;\n\n /**\n * Called when the menu should be closed\n */\n onClose: () => void;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanelTypes.js","names":[],"sources":["FilterPanelTypes.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 { ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\n\n/**\n * Filter states indexed by key (serializable to JSON)\n */\nexport type SerializableFilterStates = Record<string, FilterState>;\n\n/**\n * Persisted state for the filter list\n * Can be serialized and stored for session persistence\n *\n * Note: Only includes serializable data. Filter definitions are not persisted\n * because they may contain callback functions which cannot be serialized.\n */\nexport interface FilterListPersistedState<\n Q extends ObjectTypeDefinition = ObjectTypeDefinition,\n> {\n collapsed: boolean;\n filterStatesByKey: SerializableFilterStates;\n filterClause?: WhereClause<Q>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,197 +0,0 @@
|
|
|
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 { act, renderHook } from "@testing-library/react";
|
|
18
|
-
import { describe, expect, it, vi } from "vitest";
|
|
19
|
-
import { useEditableTable } from "../hooks/useEditableTable.js";
|
|
20
|
-
import { getCellId } from "../utils/getCellId.js";
|
|
21
|
-
describe("useEditableTable", () => {
|
|
22
|
-
it("adds cell to cellEdits when edited", () => {
|
|
23
|
-
const onCellValueChanged = vi.fn();
|
|
24
|
-
const {
|
|
25
|
-
result
|
|
26
|
-
} = renderHook(() => useEditableTable({
|
|
27
|
-
onCellValueChanged
|
|
28
|
-
}));
|
|
29
|
-
const cellIdentifier = {
|
|
30
|
-
rowId: "row-1",
|
|
31
|
-
columnId: "col-1"
|
|
32
|
-
};
|
|
33
|
-
const cellId = getCellId(cellIdentifier);
|
|
34
|
-
act(() => {
|
|
35
|
-
result.current.handleCellEdit(cellId, {
|
|
36
|
-
newValue: "new value",
|
|
37
|
-
oldValue: "old value"
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
expect(result.current.cellEdits).toEqual({
|
|
41
|
-
[cellId]: {
|
|
42
|
-
newValue: "new value",
|
|
43
|
-
oldValue: "old value"
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
expect(onCellValueChanged).toHaveBeenCalledWith(cellIdentifier, {
|
|
47
|
-
newValue: "new value",
|
|
48
|
-
oldValue: "old value"
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
it("removes cell from cellEdits when edited back to original value", () => {
|
|
52
|
-
const onCellValueChanged = vi.fn();
|
|
53
|
-
const {
|
|
54
|
-
result
|
|
55
|
-
} = renderHook(() => useEditableTable({
|
|
56
|
-
onCellValueChanged
|
|
57
|
-
}));
|
|
58
|
-
const cellId = getCellId({
|
|
59
|
-
rowId: "row-1",
|
|
60
|
-
columnId: "col-1"
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
// First edit
|
|
64
|
-
act(() => {
|
|
65
|
-
result.current.handleCellEdit(cellId, {
|
|
66
|
-
newValue: "new value",
|
|
67
|
-
oldValue: "original"
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
expect(result.current.cellEdits).toEqual({
|
|
71
|
-
[cellId]: {
|
|
72
|
-
newValue: "new value",
|
|
73
|
-
oldValue: "original"
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// Edit back to original
|
|
78
|
-
act(() => {
|
|
79
|
-
result.current.handleCellEdit(cellId, {
|
|
80
|
-
newValue: "original",
|
|
81
|
-
oldValue: "original"
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
// Should remove the cell from cellEdits
|
|
86
|
-
expect(result.current.cellEdits).toEqual({});
|
|
87
|
-
});
|
|
88
|
-
it("handles multiple cell edits", () => {
|
|
89
|
-
const {
|
|
90
|
-
result
|
|
91
|
-
} = renderHook(() => useEditableTable({}));
|
|
92
|
-
const cellId1 = getCellId({
|
|
93
|
-
rowId: "row-1",
|
|
94
|
-
columnId: "col-1"
|
|
95
|
-
});
|
|
96
|
-
const cellId2 = getCellId({
|
|
97
|
-
rowId: "row-2",
|
|
98
|
-
columnId: "col-2"
|
|
99
|
-
});
|
|
100
|
-
const cellId3 = getCellId({
|
|
101
|
-
rowId: "row-3",
|
|
102
|
-
columnId: "col-3"
|
|
103
|
-
});
|
|
104
|
-
act(() => {
|
|
105
|
-
result.current.handleCellEdit(cellId1, {
|
|
106
|
-
newValue: "new1",
|
|
107
|
-
oldValue: "old1"
|
|
108
|
-
});
|
|
109
|
-
result.current.handleCellEdit(cellId2, {
|
|
110
|
-
newValue: "new2",
|
|
111
|
-
oldValue: "old2"
|
|
112
|
-
});
|
|
113
|
-
result.current.handleCellEdit(cellId3, {
|
|
114
|
-
newValue: "new3",
|
|
115
|
-
oldValue: "old3"
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
expect(Object.keys(result.current.cellEdits).length).toBe(3);
|
|
119
|
-
|
|
120
|
-
// Edit one back to original
|
|
121
|
-
act(() => {
|
|
122
|
-
result.current.handleCellEdit(cellId2, {
|
|
123
|
-
newValue: "old2",
|
|
124
|
-
oldValue: "old2"
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
expect(Object.keys(result.current.cellEdits).length).toBe(2);
|
|
128
|
-
expect(result.current.cellEdits[cellId2]).toBeUndefined();
|
|
129
|
-
});
|
|
130
|
-
it("clears all edits", () => {
|
|
131
|
-
const {
|
|
132
|
-
result
|
|
133
|
-
} = renderHook(() => useEditableTable({}));
|
|
134
|
-
const cellId1 = getCellId({
|
|
135
|
-
rowId: "row-1",
|
|
136
|
-
columnId: "col-1"
|
|
137
|
-
});
|
|
138
|
-
const cellId2 = getCellId({
|
|
139
|
-
rowId: "row-2",
|
|
140
|
-
columnId: "col-2"
|
|
141
|
-
});
|
|
142
|
-
act(() => {
|
|
143
|
-
result.current.handleCellEdit(cellId1, {
|
|
144
|
-
newValue: "new1",
|
|
145
|
-
oldValue: "old1"
|
|
146
|
-
});
|
|
147
|
-
result.current.handleCellEdit(cellId2, {
|
|
148
|
-
newValue: "new2",
|
|
149
|
-
oldValue: "old2"
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
act(() => {
|
|
153
|
-
result.current.clearEdits();
|
|
154
|
-
});
|
|
155
|
-
expect(result.current.cellEdits).toEqual({});
|
|
156
|
-
});
|
|
157
|
-
it("handles submit edits", async () => {
|
|
158
|
-
const onSubmitEdits = vi.fn();
|
|
159
|
-
const {
|
|
160
|
-
result
|
|
161
|
-
} = renderHook(() => useEditableTable({
|
|
162
|
-
onSubmitEdits
|
|
163
|
-
}));
|
|
164
|
-
const cellId1 = getCellId({
|
|
165
|
-
rowId: "row-1",
|
|
166
|
-
columnId: "col-1"
|
|
167
|
-
});
|
|
168
|
-
const cellId2 = getCellId({
|
|
169
|
-
rowId: "row-2",
|
|
170
|
-
columnId: "col-2"
|
|
171
|
-
});
|
|
172
|
-
act(() => {
|
|
173
|
-
result.current.handleCellEdit(cellId1, {
|
|
174
|
-
newValue: "new1",
|
|
175
|
-
oldValue: "old1"
|
|
176
|
-
});
|
|
177
|
-
result.current.handleCellEdit(cellId2, {
|
|
178
|
-
newValue: "new2",
|
|
179
|
-
oldValue: "old2"
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
await act(async () => {
|
|
183
|
-
await result.current.handleSubmitEdits();
|
|
184
|
-
});
|
|
185
|
-
expect(onSubmitEdits).toHaveBeenCalledWith({
|
|
186
|
-
[cellId1]: {
|
|
187
|
-
newValue: "new1",
|
|
188
|
-
oldValue: "old1"
|
|
189
|
-
},
|
|
190
|
-
[cellId2]: {
|
|
191
|
-
newValue: "new2",
|
|
192
|
-
oldValue: "old2"
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
});
|
|
197
|
-
//# sourceMappingURL=useEditableTable.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useEditableTable.test.js","names":["act","renderHook","describe","expect","it","vi","useEditableTable","getCellId","onCellValueChanged","fn","result","cellIdentifier","rowId","columnId","cellId","current","handleCellEdit","newValue","oldValue","cellEdits","toEqual","toHaveBeenCalledWith","cellId1","cellId2","cellId3","Object","keys","length","toBe","toBeUndefined","clearEdits","onSubmitEdits","handleSubmitEdits"],"sources":["useEditableTable.test.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 { act, renderHook } from \"@testing-library/react\";\nimport { describe, expect, it, vi } from \"vitest\";\nimport { useEditableTable } from \"../hooks/useEditableTable.js\";\nimport { getCellId } from \"../utils/getCellId.js\";\n\ndescribe(\"useEditableTable\", () => {\n it(\"adds cell to cellEdits when edited\", () => {\n const onCellValueChanged = vi.fn();\n const { result } = renderHook(() =>\n useEditableTable({ onCellValueChanged })\n );\n const cellIdentifier = { rowId: \"row-1\", columnId: \"col-1\" };\n const cellId = getCellId(cellIdentifier);\n\n act(() => {\n result.current.handleCellEdit(cellId, {\n newValue: \"new value\",\n oldValue: \"old value\",\n });\n });\n\n expect(result.current.cellEdits).toEqual({\n [cellId]: { newValue: \"new value\", oldValue: \"old value\" },\n });\n expect(onCellValueChanged).toHaveBeenCalledWith(\n cellIdentifier,\n { newValue: \"new value\", oldValue: \"old value\" },\n );\n });\n\n it(\"removes cell from cellEdits when edited back to original value\", () => {\n const onCellValueChanged = vi.fn();\n const { result } = renderHook(() =>\n useEditableTable({ onCellValueChanged })\n );\n const cellIdentifier = { rowId: \"row-1\", columnId: \"col-1\" };\n const cellId = getCellId(cellIdentifier);\n\n // First edit\n act(() => {\n result.current.handleCellEdit(cellId, {\n newValue: \"new value\",\n oldValue: \"original\",\n });\n });\n\n expect(result.current.cellEdits).toEqual({\n [cellId]: { newValue: \"new value\", oldValue: \"original\" },\n });\n\n // Edit back to original\n act(() => {\n result.current.handleCellEdit(cellId, {\n newValue: \"original\",\n oldValue: \"original\",\n });\n });\n\n // Should remove the cell from cellEdits\n expect(result.current.cellEdits).toEqual({});\n });\n\n it(\"handles multiple cell edits\", () => {\n const { result } = renderHook(() => useEditableTable({}));\n const cellId1 = getCellId({ rowId: \"row-1\", columnId: \"col-1\" });\n const cellId2 = getCellId({ rowId: \"row-2\", columnId: \"col-2\" });\n const cellId3 = getCellId({ rowId: \"row-3\", columnId: \"col-3\" });\n\n act(() => {\n result.current.handleCellEdit(cellId1, {\n newValue: \"new1\",\n oldValue: \"old1\",\n });\n result.current.handleCellEdit(cellId2, {\n newValue: \"new2\",\n oldValue: \"old2\",\n });\n result.current.handleCellEdit(cellId3, {\n newValue: \"new3\",\n oldValue: \"old3\",\n });\n });\n\n expect(Object.keys(result.current.cellEdits).length).toBe(3);\n\n // Edit one back to original\n act(() => {\n result.current.handleCellEdit(cellId2, {\n newValue: \"old2\",\n oldValue: \"old2\",\n });\n });\n\n expect(Object.keys(result.current.cellEdits).length).toBe(2);\n expect(result.current.cellEdits[cellId2]).toBeUndefined();\n });\n\n it(\"clears all edits\", () => {\n const { result } = renderHook(() => useEditableTable({}));\n const cellId1 = getCellId({ rowId: \"row-1\", columnId: \"col-1\" });\n const cellId2 = getCellId({ rowId: \"row-2\", columnId: \"col-2\" });\n\n act(() => {\n result.current.handleCellEdit(cellId1, {\n newValue: \"new1\",\n oldValue: \"old1\",\n });\n result.current.handleCellEdit(cellId2, {\n newValue: \"new2\",\n oldValue: \"old2\",\n });\n });\n\n act(() => {\n result.current.clearEdits();\n });\n\n expect(result.current.cellEdits).toEqual({});\n });\n\n it(\"handles submit edits\", async () => {\n const onSubmitEdits = vi.fn();\n const { result } = renderHook(() => useEditableTable({ onSubmitEdits }));\n const cellId1 = getCellId({ rowId: \"row-1\", columnId: \"col-1\" });\n const cellId2 = getCellId({ rowId: \"row-2\", columnId: \"col-2\" });\n\n act(() => {\n result.current.handleCellEdit(cellId1, {\n newValue: \"new1\",\n oldValue: \"old1\",\n });\n result.current.handleCellEdit(cellId2, {\n newValue: \"new2\",\n oldValue: \"old2\",\n });\n });\n\n await act(async () => {\n await result.current.handleSubmitEdits();\n });\n\n expect(onSubmitEdits).toHaveBeenCalledWith({\n [cellId1]: { newValue: \"new1\", oldValue: \"old1\" },\n [cellId2]: { newValue: \"new2\", oldValue: \"old2\" },\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,147 +0,0 @@
|
|
|
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 { act, renderHook } from "@testing-library/react";
|
|
18
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
19
|
-
import { useCellContextMenu } from "../useCellContextMenu.js";
|
|
20
|
-
describe("useCellContextMenu", () => {
|
|
21
|
-
let mockElement;
|
|
22
|
-
beforeEach(() => {
|
|
23
|
-
// Create a mock table cell element with getBoundingClientRect
|
|
24
|
-
mockElement = document.createElement("td");
|
|
25
|
-
vi.spyOn(mockElement, "getBoundingClientRect").mockReturnValue({
|
|
26
|
-
left: 100,
|
|
27
|
-
top: 200,
|
|
28
|
-
bottom: 240,
|
|
29
|
-
width: 150,
|
|
30
|
-
height: 40,
|
|
31
|
-
right: 250,
|
|
32
|
-
x: 100,
|
|
33
|
-
y: 200,
|
|
34
|
-
toJSON: () => ({})
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
describe("initial state", () => {
|
|
38
|
-
it("returns closed context menu state by default", () => {
|
|
39
|
-
const tdRef = {
|
|
40
|
-
current: mockElement
|
|
41
|
-
};
|
|
42
|
-
const {
|
|
43
|
-
result
|
|
44
|
-
} = renderHook(() => useCellContextMenu({
|
|
45
|
-
tdRef
|
|
46
|
-
}));
|
|
47
|
-
expect(result.current.isContextMenuOpen).toBe(false);
|
|
48
|
-
expect(result.current.popoverPosition).toBeNull();
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe("handleOpenContextMenu", () => {
|
|
52
|
-
it("opens context menu and use position from bounding client rect", () => {
|
|
53
|
-
const tdRef = {
|
|
54
|
-
current: mockElement
|
|
55
|
-
};
|
|
56
|
-
const {
|
|
57
|
-
result
|
|
58
|
-
} = renderHook(() => useCellContextMenu({
|
|
59
|
-
tdRef
|
|
60
|
-
}));
|
|
61
|
-
const mockEvent = {
|
|
62
|
-
preventDefault: vi.fn(),
|
|
63
|
-
stopPropagation: vi.fn()
|
|
64
|
-
};
|
|
65
|
-
act(() => {
|
|
66
|
-
result.current.handleOpenContextMenu(mockEvent);
|
|
67
|
-
});
|
|
68
|
-
expect(mockEvent.preventDefault).toHaveBeenCalled();
|
|
69
|
-
expect(mockEvent.stopPropagation).toHaveBeenCalled();
|
|
70
|
-
expect(result.current.isContextMenuOpen).toBe(true);
|
|
71
|
-
expect(result.current.popoverPosition).toEqual({
|
|
72
|
-
left: 100,
|
|
73
|
-
top: 240,
|
|
74
|
-
width: 150
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
it("does not open context menu if tdRef.current is null", () => {
|
|
78
|
-
const tdRef = {
|
|
79
|
-
current: null
|
|
80
|
-
};
|
|
81
|
-
const {
|
|
82
|
-
result
|
|
83
|
-
} = renderHook(() => useCellContextMenu({
|
|
84
|
-
tdRef
|
|
85
|
-
}));
|
|
86
|
-
const mockEvent = {
|
|
87
|
-
preventDefault: vi.fn(),
|
|
88
|
-
stopPropagation: vi.fn()
|
|
89
|
-
};
|
|
90
|
-
act(() => {
|
|
91
|
-
result.current.handleOpenContextMenu(mockEvent);
|
|
92
|
-
});
|
|
93
|
-
expect(mockEvent.preventDefault).toHaveBeenCalled();
|
|
94
|
-
expect(mockEvent.stopPropagation).toHaveBeenCalled();
|
|
95
|
-
expect(result.current.isContextMenuOpen).toBe(false);
|
|
96
|
-
expect(result.current.popoverPosition).toBeNull();
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
describe("handleCloseContextMenu", () => {
|
|
100
|
-
it("closes context menu and clears position", () => {
|
|
101
|
-
const tdRef = {
|
|
102
|
-
current: mockElement
|
|
103
|
-
};
|
|
104
|
-
const {
|
|
105
|
-
result
|
|
106
|
-
} = renderHook(() => useCellContextMenu({
|
|
107
|
-
tdRef
|
|
108
|
-
}));
|
|
109
|
-
const mockEvent = {
|
|
110
|
-
preventDefault: vi.fn(),
|
|
111
|
-
stopPropagation: vi.fn()
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
// Open first
|
|
115
|
-
act(() => {
|
|
116
|
-
result.current.handleOpenContextMenu(mockEvent);
|
|
117
|
-
});
|
|
118
|
-
expect(result.current.isContextMenuOpen).toBe(true);
|
|
119
|
-
expect(result.current.popoverPosition).not.toBeNull();
|
|
120
|
-
|
|
121
|
-
// Close
|
|
122
|
-
act(() => {
|
|
123
|
-
result.current.handleCloseContextMenu();
|
|
124
|
-
});
|
|
125
|
-
expect(result.current.isContextMenuOpen).toBe(false);
|
|
126
|
-
expect(result.current.popoverPosition).toBeNull();
|
|
127
|
-
});
|
|
128
|
-
it("is safe to call when already closed", () => {
|
|
129
|
-
const tdRef = {
|
|
130
|
-
current: mockElement
|
|
131
|
-
};
|
|
132
|
-
const {
|
|
133
|
-
result
|
|
134
|
-
} = renderHook(() => useCellContextMenu({
|
|
135
|
-
tdRef
|
|
136
|
-
}));
|
|
137
|
-
|
|
138
|
-
// Close without opening
|
|
139
|
-
act(() => {
|
|
140
|
-
result.current.handleCloseContextMenu();
|
|
141
|
-
});
|
|
142
|
-
expect(result.current.isContextMenuOpen).toBe(false);
|
|
143
|
-
expect(result.current.popoverPosition).toBeNull();
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
//# sourceMappingURL=useCellContextMenu.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCellContextMenu.test.js","names":["act","renderHook","beforeEach","describe","expect","it","vi","useCellContextMenu","mockElement","document","createElement","spyOn","mockReturnValue","left","top","bottom","width","height","right","x","y","toJSON","tdRef","current","result","isContextMenuOpen","toBe","popoverPosition","toBeNull","mockEvent","preventDefault","fn","stopPropagation","handleOpenContextMenu","toHaveBeenCalled","toEqual","not","handleCloseContextMenu"],"sources":["useCellContextMenu.test.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { act, renderHook } from \"@testing-library/react\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport type { PopoverPosition } from \"../useCellContextMenu.js\";\nimport { useCellContextMenu } from \"../useCellContextMenu.js\";\n\ndescribe(\"useCellContextMenu\", () => {\n let mockElement: HTMLTableCellElement;\n\n beforeEach(() => {\n // Create a mock table cell element with getBoundingClientRect\n mockElement = document.createElement(\"td\");\n\n vi.spyOn(mockElement, \"getBoundingClientRect\").mockReturnValue({\n left: 100,\n top: 200,\n bottom: 240,\n width: 150,\n height: 40,\n right: 250,\n x: 100,\n y: 200,\n toJSON: () => ({}),\n });\n });\n\n describe(\"initial state\", () => {\n it(\"returns closed context menu state by default\", () => {\n const tdRef = { current: mockElement };\n const { result } = renderHook(() => useCellContextMenu({ tdRef }));\n\n expect(result.current.isContextMenuOpen).toBe(false);\n expect(result.current.popoverPosition).toBeNull();\n });\n });\n\n describe(\"handleOpenContextMenu\", () => {\n it(\"opens context menu and use position from bounding client rect\", () => {\n const tdRef = { current: mockElement };\n const { result } = renderHook(() => useCellContextMenu({ tdRef }));\n\n const mockEvent = {\n preventDefault: vi.fn(),\n stopPropagation: vi.fn(),\n } as unknown as React.MouseEvent<HTMLTableCellElement>;\n\n act(() => {\n result.current.handleOpenContextMenu(mockEvent);\n });\n\n expect(mockEvent.preventDefault).toHaveBeenCalled();\n expect(mockEvent.stopPropagation).toHaveBeenCalled();\n expect(result.current.isContextMenuOpen).toBe(true);\n expect(result.current.popoverPosition).toEqual({\n left: 100,\n top: 240,\n width: 150,\n } as PopoverPosition);\n });\n\n it(\"does not open context menu if tdRef.current is null\", () => {\n const tdRef = { current: null };\n const { result } = renderHook(() => useCellContextMenu({ tdRef }));\n\n const mockEvent = {\n preventDefault: vi.fn(),\n stopPropagation: vi.fn(),\n } as unknown as React.MouseEvent<HTMLTableCellElement>;\n\n act(() => {\n result.current.handleOpenContextMenu(mockEvent);\n });\n\n expect(mockEvent.preventDefault).toHaveBeenCalled();\n expect(mockEvent.stopPropagation).toHaveBeenCalled();\n expect(result.current.isContextMenuOpen).toBe(false);\n expect(result.current.popoverPosition).toBeNull();\n });\n });\n\n describe(\"handleCloseContextMenu\", () => {\n it(\"closes context menu and clears position\", () => {\n const tdRef = { current: mockElement };\n const { result } = renderHook(() => useCellContextMenu({ tdRef }));\n\n const mockEvent = {\n preventDefault: vi.fn(),\n stopPropagation: vi.fn(),\n } as unknown as React.MouseEvent<HTMLTableCellElement>;\n\n // Open first\n act(() => {\n result.current.handleOpenContextMenu(mockEvent);\n });\n\n expect(result.current.isContextMenuOpen).toBe(true);\n expect(result.current.popoverPosition).not.toBeNull();\n\n // Close\n act(() => {\n result.current.handleCloseContextMenu();\n });\n\n expect(result.current.isContextMenuOpen).toBe(false);\n expect(result.current.popoverPosition).toBeNull();\n });\n\n it(\"is safe to call when already closed\", () => {\n const tdRef = { current: mockElement };\n const { result } = renderHook(() => useCellContextMenu({ tdRef }));\n\n // Close without opening\n act(() => {\n result.current.handleCloseContextMenu();\n });\n\n expect(result.current.isContextMenuOpen).toBe(false);\n expect(result.current.popoverPosition).toBeNull();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|