@osdk/react-components 0.2.0-beta.2 → 0.2.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +105 -0
- package/CHANGELOG.md +245 -0
- package/README.md +129 -24
- package/build/browser/action-form/ActionForm.js +113 -0
- package/build/browser/action-form/ActionForm.js.map +1 -0
- package/build/browser/action-form/ActionFormApi.js.map +1 -1
- package/build/browser/action-form/BaseForm.js +70 -0
- package/build/browser/action-form/BaseForm.js.map +1 -0
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/fields/DropdownField.js +104 -0
- package/build/browser/action-form/fields/DropdownField.js.map +1 -0
- package/build/browser/action-form/fields/FieldBridge.js +45 -0
- package/build/browser/action-form/fields/FieldBridge.js.map +1 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js +79 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/browser/action-form/fields/TextInputField.js +37 -0
- package/build/browser/action-form/fields/TextInputField.js.map +1 -0
- package/build/browser/action-form/utils/coerceFieldValue.js +93 -0
- package/build/browser/action-form/utils/coerceFieldValue.js.map +1 -0
- package/build/browser/action-form/utils/getDefaultFieldComponent.js +56 -0
- package/build/browser/action-form/utils/getDefaultFieldComponent.js.map +1 -0
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js +33 -0
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- package/build/browser/base-components/action-button/ActionButton.js +31 -0
- package/build/browser/base-components/action-button/ActionButton.js.map +1 -0
- package/build/browser/base-components/action-button/ActionButton.module.css +66 -0
- package/build/browser/base-components/action-button/ActionButton.module.css.js +8 -0
- package/build/browser/base-components/checkbox/Checkbox.module.css +1 -5
- package/build/browser/base-components/combobox/Combobox.js +146 -0
- package/build/browser/base-components/combobox/Combobox.js.map +1 -0
- package/build/browser/base-components/combobox/Combobox.module.css +357 -0
- package/build/browser/base-components/combobox/Combobox.module.css.js +17 -0
- package/build/browser/base-components/dialog/Dialog.js +52 -0
- package/build/browser/base-components/dialog/Dialog.js.map +1 -0
- package/build/browser/base-components/dialog/Dialog.module.css +93 -0
- package/build/browser/base-components/dialog/Dialog.module.css.js +13 -0
- package/build/browser/base-components/draggable-list/DraggableList.js +157 -0
- package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/browser/base-components/draggable-list/DraggableList.module.css +100 -0
- package/build/browser/base-components/draggable-list/DraggableList.module.css.js +11 -0
- package/build/browser/base-components/search-bar/SearchBar.js +44 -0
- package/build/browser/base-components/search-bar/SearchBar.js.map +1 -0
- package/build/browser/base-components/search-bar/SearchBar.module.css +53 -0
- package/build/browser/base-components/search-bar/SearchBar.module.css.js +8 -0
- package/build/browser/base-components/select/Select.js +95 -0
- package/build/browser/base-components/select/Select.js.map +1 -0
- package/build/browser/base-components/select/Select.module.css +235 -0
- package/build/browser/base-components/select/Select.module.css.js +13 -0
- package/build/browser/base-components/skeleton/SkeletonBar.js +36 -0
- package/build/browser/base-components/skeleton/SkeletonBar.js.map +1 -0
- package/build/browser/base-components/skeleton/SkeletonBar.module.css +39 -0
- package/build/browser/base-components/skeleton/SkeletonBar.module.css.js +7 -0
- package/build/browser/base-components/switch/Switch.js +33 -0
- package/build/browser/base-components/switch/Switch.js.map +1 -0
- package/build/browser/base-components/switch/Switch.module.css +91 -0
- package/build/browser/base-components/switch/Switch.module.css.js +7 -0
- package/build/browser/base-components/tooltip/Tooltip.js +91 -0
- package/build/browser/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css.js +11 -0
- package/build/browser/base-components/tooltip/index.js +18 -0
- package/build/browser/base-components/tooltip/index.js.map +1 -0
- package/build/browser/filter-list/FilterInput.js +132 -0
- package/build/browser/filter-list/FilterInput.js.map +1 -0
- package/build/browser/filter-list/FilterList.js +128 -0
- package/build/browser/filter-list/FilterList.js.map +1 -0
- package/build/browser/filter-list/FilterListApi.js.map +1 -1
- package/build/browser/filter-list/FilterListItemApi.js.map +1 -1
- package/build/browser/filter-list/base/AddFilterPopover.js +45 -0
- package/build/browser/filter-list/base/AddFilterPopover.js.map +1 -0
- package/build/browser/filter-list/base/AddFilterPopover.module.css +83 -0
- package/build/browser/filter-list/base/AddFilterPopover.module.css.js +9 -0
- package/build/browser/filter-list/base/BaseFilterList.js +90 -0
- package/build/browser/filter-list/base/BaseFilterList.js.map +1 -0
- package/build/browser/filter-list/base/BaseFilterListApi.js +2 -0
- package/build/browser/filter-list/base/BaseFilterListApi.js.map +1 -0
- package/build/browser/filter-list/base/DragHandleIcon.js +51 -0
- package/build/browser/filter-list/base/DragHandleIcon.js.map +1 -0
- package/build/browser/filter-list/base/FilterIcons.js +98 -0
- package/build/browser/filter-list/base/FilterIcons.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.module.css +132 -0
- package/build/browser/filter-list/base/FilterList.module.css.js +13 -0
- package/build/browser/filter-list/base/FilterListContent.js +198 -0
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -0
- package/build/browser/filter-list/base/FilterListContent.module.css +33 -0
- package/build/browser/filter-list/base/FilterListContent.module.css.js +8 -0
- package/build/browser/filter-list/base/FilterListHeader.js +58 -0
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -0
- package/build/browser/filter-list/base/FilterListHeader.module.css +123 -0
- package/build/browser/filter-list/base/FilterListHeader.module.css.js +13 -0
- package/build/browser/filter-list/base/FilterListItem.js +87 -0
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -0
- package/build/browser/filter-list/base/FilterListItem.module.css +126 -0
- package/build/browser/filter-list/base/FilterListItem.module.css.js +13 -0
- package/build/browser/filter-list/base/SortableFilterListItem.js +63 -0
- package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -0
- package/build/browser/filter-list/base/index.js +21 -0
- package/build/browser/filter-list/base/index.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js +83 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +65 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js +46 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css +32 -0
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js +85 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/DateRangeInput.js +37 -0
- package/build/browser/filter-list/base/inputs/DateRangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css.js +6 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js +103 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +106 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +12 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.js +45 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.module.css +32 -0
- package/build/browser/filter-list/base/inputs/ListogramSkeleton.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.js +82 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css +56 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +93 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +38 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +57 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +50 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js +48 -0
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/RangeInput.js +157 -0
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/RangeInput.module.css +106 -0
- package/build/browser/filter-list/base/inputs/RangeInput.module.css.js +13 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.js +61 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css +64 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +88 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.js +133 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.module.css +25 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.module.css.js +7 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.js +74 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.module.css +75 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.js +43 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.module.css +34 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js +53 -0
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/browser/filter-list/base/inputs/dateUtils.js +57 -0
- package/build/browser/filter-list/base/inputs/dateUtils.js.map +1 -0
- package/build/browser/filter-list/base/inputs/index.js +25 -0
- package/build/browser/filter-list/base/inputs/index.js.map +1 -0
- package/build/browser/filter-list/base/inputs/shared.module.css +80 -0
- package/build/browser/filter-list/base/inputs/shared.module.css.js +11 -0
- package/build/browser/filter-list/base/inputs/useStaleData.js +29 -0
- package/build/browser/filter-list/base/inputs/useStaleData.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterListState.js +158 -0
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterVisibility.js +68 -0
- package/build/browser/filter-list/hooks/useFilterVisibility.js.map +1 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.js +92 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -0
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js +56 -0
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ContainsTextFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js +105 -0
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js +508 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ListogramFilterInput.js +62 -0
- package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/MultiDateFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js +55 -0
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js +105 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/PropertyFilterInput.js +129 -0
- package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/SingleDateFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js +55 -0
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js +54 -0
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/TimelineFilterInput.js +49 -0
- package/build/browser/filter-list/inputs/TimelineFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ToggleFilterInput.js +36 -0
- package/build/browser/filter-list/inputs/ToggleFilterInput.js.map +1 -0
- package/build/browser/filter-list/types/AggregationTypes.js +2 -0
- package/build/browser/filter-list/types/AggregationTypes.js.map +1 -0
- package/build/browser/filter-list/types/CustomRendererTypes.js +2 -0
- package/build/browser/filter-list/types/CustomRendererTypes.js.map +1 -0
- package/build/browser/filter-list/types/KeywordSearchTypes.js +2 -0
- package/build/browser/filter-list/types/KeywordSearchTypes.js.map +1 -0
- package/build/browser/filter-list/types/LinkedFilterTypes.js +2 -0
- package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -0
- package/build/browser/filter-list/types/index.js +20 -0
- package/build/browser/filter-list/types/index.js.map +1 -0
- package/build/browser/filter-list/utils/aggregationHelpers.js +44 -0
- package/build/browser/filter-list/utils/aggregationHelpers.js.map +1 -0
- package/build/browser/filter-list/utils/coerceFilterValue.js +33 -0
- package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateSerialization.js +42 -0
- package/build/browser/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +375 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/browser/filter-list/utils/filterValues.js +81 -0
- package/build/browser/filter-list/utils/filterValues.js.map +1 -0
- package/build/browser/filter-list/utils/getFilterKey.js +34 -0
- package/build/browser/filter-list/utils/getFilterKey.js.map +1 -0
- package/build/browser/filter-list/utils/getFilterLabel.js +36 -0
- package/build/browser/filter-list/utils/getFilterLabel.js.map +1 -0
- package/build/browser/object-table/ColumnConfigDialog.js +259 -0
- package/build/browser/object-table/ColumnConfigDialog.js.map +1 -0
- package/build/browser/object-table/ColumnConfigDialog.module.css +238 -0
- package/build/browser/object-table/ColumnConfigDialog.module.css.js +29 -0
- package/build/browser/object-table/DefaultCellRenderer.js +61 -0
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/browser/object-table/EditableCell.js +168 -0
- package/build/browser/object-table/EditableCell.js.map +1 -0
- package/build/browser/object-table/EditableCell.module.css +70 -0
- package/build/browser/object-table/EditableCell.module.css.js +11 -0
- package/build/browser/object-table/LoadingCell.js +6 -3
- package/build/browser/object-table/LoadingCell.js.map +1 -1
- package/build/browser/object-table/LoadingRow.js +2 -1
- package/build/browser/object-table/LoadingRow.js.map +1 -1
- package/build/browser/object-table/LoadingStateTable.js +4 -4
- package/build/browser/object-table/LoadingStateTable.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +181 -0
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css +191 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css.js +22 -0
- package/build/browser/object-table/NonIdealState.module.css +2 -3
- package/build/browser/object-table/ObjectTable.js +69 -17
- package/build/browser/object-table/ObjectTable.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/object-table/SelectionCells.js +16 -4
- package/build/browser/object-table/SelectionCells.js.map +1 -1
- package/build/browser/object-table/SortableItemsList.js +35 -0
- package/build/browser/object-table/SortableItemsList.js.map +1 -0
- package/build/browser/object-table/Table.js +29 -4
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/Table.module.css +18 -3
- package/build/browser/object-table/Table.module.css.js +1 -0
- package/build/browser/object-table/TableBody.js +8 -2
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableBody.module.css +2 -0
- package/build/browser/object-table/TableCell.module.css +15 -1
- package/build/browser/object-table/TableCell.module.css.js +2 -1
- package/build/browser/object-table/TableEditContainer.js +90 -0
- package/build/browser/object-table/TableEditContainer.js.map +1 -0
- package/build/browser/object-table/TableEditContainer.module.css +71 -0
- package/build/browser/object-table/TableEditContainer.module.css.js +13 -0
- package/build/browser/object-table/TableHeader.js +97 -7
- package/build/browser/object-table/TableHeader.js.map +1 -1
- package/build/browser/object-table/TableHeader.module.css +11 -3
- package/build/browser/object-table/TableHeader.module.css.js +1 -0
- package/build/browser/object-table/TableHeaderWithPopover.js +53 -22
- package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/browser/object-table/TableHeaderWithPopover.module.css +44 -25
- package/build/browser/object-table/TableHeaderWithPopover.module.css.js +3 -1
- package/build/browser/object-table/TableRow.js +10 -3
- package/build/browser/object-table/TableRow.js.map +1 -1
- package/build/browser/object-table/TableRow.module.css +4 -1
- package/build/browser/object-table/components/AsyncValueCell.js +35 -0
- package/build/browser/object-table/components/AsyncValueCell.js.map +1 -0
- package/build/browser/object-table/hooks/useColumnDefs.js +20 -4
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnResize.js +45 -0
- package/build/browser/object-table/hooks/useColumnResize.js.map +1 -0
- package/build/browser/object-table/hooks/useColumnVisibility.js +52 -20
- package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/browser/object-table/hooks/useEditableTable.js +85 -0
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/browser/object-table/hooks/useFunctionColumnsData.js +270 -0
- package/build/browser/object-table/hooks/useFunctionColumnsData.js.map +1 -0
- package/build/browser/object-table/hooks/useObjectTableData.js +58 -7
- package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/browser/object-table/hooks/useRowSelection.js +40 -16
- package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/browser/object-table/hooks/useSelectionColumn.js +15 -6
- package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/browser/object-table/utils/AsyncCellData.js +30 -0
- package/build/browser/object-table/utils/AsyncCellData.js.map +1 -0
- package/build/browser/object-table/utils/constants.js +1 -0
- package/build/browser/object-table/utils/constants.js.map +1 -1
- package/build/browser/object-table/utils/getCellId.js +20 -0
- package/build/browser/object-table/utils/getCellId.js.map +1 -0
- package/build/browser/object-table/utils/types.js +2 -0
- package/build/browser/object-table/utils/types.js.map +1 -0
- package/build/browser/pdf-viewer/PdfRenderer.js +88 -0
- package/build/browser/pdf-viewer/PdfRenderer.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewer.js +197 -0
- package/build/browser/pdf-viewer/PdfViewer.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewer.module.css +95 -0
- package/build/browser/pdf-viewer/PdfViewer.module.css.js +16 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.js +74 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css +65 -0
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css.js +11 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.js +84 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.module.css +65 -0
- package/build/browser/pdf-viewer/PdfViewerSearchBar.module.css.js +10 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.js +74 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.module.css +46 -0
- package/build/browser/pdf-viewer/PdfViewerSidebar.module.css.js +11 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.js +100 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.module.css +26 -0
- package/build/browser/pdf-viewer/PdfViewerThumbnail.module.css.js +8 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.js +167 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.js.map +1 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.module.css +86 -0
- package/build/browser/pdf-viewer/PdfViewerToolbar.module.css.js +12 -0
- package/build/browser/pdf-viewer/constants.js +43 -0
- package/build/browser/pdf-viewer/constants.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js +54 -0
- package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js +67 -0
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js +69 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSearch.js +106 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSync.js +71 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -0
- package/build/browser/pdf-viewer/types.js +2 -0
- package/build/browser/pdf-viewer/types.js.map +1 -0
- package/build/browser/public/experimental.js +9 -0
- package/build/browser/public/experimental.js.map +1 -1
- package/build/browser/shared/ErrorBoundary.js +62 -0
- package/build/browser/shared/ErrorBoundary.js.map +1 -0
- package/build/browser/shared/ErrorBoundary.module.css +55 -0
- package/build/browser/shared/ErrorBoundary.module.css.js +8 -0
- package/build/browser/shared/assertUnreachable.js +25 -0
- package/build/browser/shared/assertUnreachable.js.map +1 -0
- package/build/browser/shared/typedMemo.js +25 -0
- package/build/browser/shared/typedMemo.js.map +1 -0
- package/build/browser/styles.css +3936 -220
- package/build/cjs/public/experimental.cjs +6675 -312
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +2573 -107
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +673 -68
- package/build/esm/action-form/ActionForm.js +113 -0
- package/build/esm/action-form/ActionForm.js.map +1 -0
- package/build/esm/action-form/ActionFormApi.js.map +1 -1
- package/build/esm/action-form/BaseForm.js +70 -0
- package/build/esm/action-form/BaseForm.js.map +1 -0
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/fields/DropdownField.js +104 -0
- package/build/esm/action-form/fields/DropdownField.js.map +1 -0
- package/build/esm/action-form/fields/FieldBridge.js +45 -0
- package/build/esm/action-form/fields/FieldBridge.js.map +1 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js +79 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -0
- package/build/esm/action-form/fields/TextInputField.js +37 -0
- package/build/esm/action-form/fields/TextInputField.js.map +1 -0
- package/build/esm/action-form/utils/coerceFieldValue.js +93 -0
- package/build/esm/action-form/utils/coerceFieldValue.js.map +1 -0
- package/build/esm/action-form/utils/getDefaultFieldComponent.js +56 -0
- package/build/esm/action-form/utils/getDefaultFieldComponent.js.map +1 -0
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js +33 -0
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js.map +1 -0
- package/build/esm/base-components/action-button/ActionButton.js +31 -0
- package/build/esm/base-components/action-button/ActionButton.js.map +1 -0
- package/build/esm/base-components/action-button/ActionButton.module.css +66 -0
- package/build/esm/base-components/checkbox/Checkbox.module.css +1 -5
- package/build/esm/base-components/combobox/Combobox.js +146 -0
- package/build/esm/base-components/combobox/Combobox.js.map +1 -0
- package/build/esm/base-components/combobox/Combobox.module.css +357 -0
- package/build/esm/base-components/dialog/Dialog.js +52 -0
- package/build/esm/base-components/dialog/Dialog.js.map +1 -0
- package/build/esm/base-components/dialog/Dialog.module.css +93 -0
- package/build/esm/base-components/draggable-list/DraggableList.js +157 -0
- package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/esm/base-components/draggable-list/DraggableList.module.css +100 -0
- package/build/esm/base-components/search-bar/SearchBar.js +44 -0
- package/build/esm/base-components/search-bar/SearchBar.js.map +1 -0
- package/build/esm/base-components/search-bar/SearchBar.module.css +53 -0
- package/build/esm/base-components/select/Select.js +95 -0
- package/build/esm/base-components/select/Select.js.map +1 -0
- package/build/esm/base-components/select/Select.module.css +235 -0
- package/build/esm/base-components/skeleton/SkeletonBar.js +36 -0
- package/build/esm/base-components/skeleton/SkeletonBar.js.map +1 -0
- package/build/esm/base-components/skeleton/SkeletonBar.module.css +39 -0
- package/build/esm/base-components/switch/Switch.js +33 -0
- package/build/esm/base-components/switch/Switch.js.map +1 -0
- package/build/esm/base-components/switch/Switch.module.css +91 -0
- package/build/esm/base-components/tooltip/Tooltip.js +91 -0
- package/build/esm/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/esm/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/esm/base-components/tooltip/index.js +18 -0
- package/build/esm/base-components/tooltip/index.js.map +1 -0
- package/build/esm/filter-list/FilterInput.js +132 -0
- package/build/esm/filter-list/FilterInput.js.map +1 -0
- package/build/esm/filter-list/FilterList.js +128 -0
- package/build/esm/filter-list/FilterList.js.map +1 -0
- package/build/esm/filter-list/FilterListApi.js.map +1 -1
- package/build/esm/filter-list/FilterListItemApi.js.map +1 -1
- package/build/esm/filter-list/base/AddFilterPopover.js +45 -0
- package/build/esm/filter-list/base/AddFilterPopover.js.map +1 -0
- package/build/esm/filter-list/base/AddFilterPopover.module.css +83 -0
- package/build/esm/filter-list/base/BaseFilterList.js +90 -0
- package/build/esm/filter-list/base/BaseFilterList.js.map +1 -0
- package/build/esm/filter-list/base/BaseFilterListApi.js +2 -0
- package/build/esm/filter-list/base/BaseFilterListApi.js.map +1 -0
- package/build/esm/filter-list/base/DragHandleIcon.js +51 -0
- package/build/esm/filter-list/base/DragHandleIcon.js.map +1 -0
- package/build/esm/filter-list/base/FilterIcons.js +98 -0
- package/build/esm/filter-list/base/FilterIcons.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.module.css +132 -0
- package/build/esm/filter-list/base/FilterListContent.js +198 -0
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -0
- package/build/esm/filter-list/base/FilterListContent.module.css +33 -0
- package/build/esm/filter-list/base/FilterListHeader.js +58 -0
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -0
- package/build/esm/filter-list/base/FilterListHeader.module.css +123 -0
- package/build/esm/filter-list/base/FilterListItem.js +87 -0
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -0
- package/build/esm/filter-list/base/FilterListItem.module.css +126 -0
- package/build/esm/filter-list/base/SortableFilterListItem.js +63 -0
- package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -0
- package/build/esm/filter-list/base/index.js +21 -0
- package/build/esm/filter-list/base/index.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js +83 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +65 -0
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js +46 -0
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.module.css +32 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js +85 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
- package/build/esm/filter-list/base/inputs/DateRangeInput.js +37 -0
- package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js +103 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +106 -0
- package/build/esm/filter-list/base/inputs/ListogramSkeleton.js +45 -0
- package/build/esm/filter-list/base/inputs/ListogramSkeleton.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ListogramSkeleton.module.css +32 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.js +82 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +56 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +93 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +38 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +57 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +50 -0
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js +48 -0
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/RangeInput.js +157 -0
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/RangeInput.module.css +106 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.js +61 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +64 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +88 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.js +133 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.module.css +25 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.js +74 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.module.css +75 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.js +43 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.module.css +34 -0
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js +53 -0
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/esm/filter-list/base/inputs/dateUtils.js +57 -0
- package/build/esm/filter-list/base/inputs/dateUtils.js.map +1 -0
- package/build/esm/filter-list/base/inputs/index.js +25 -0
- package/build/esm/filter-list/base/inputs/index.js.map +1 -0
- package/build/esm/filter-list/base/inputs/shared.module.css +80 -0
- package/build/esm/filter-list/base/inputs/useStaleData.js +29 -0
- package/build/esm/filter-list/base/inputs/useStaleData.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterListState.js +158 -0
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterVisibility.js +68 -0
- package/build/esm/filter-list/hooks/useFilterVisibility.js.map +1 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.js +92 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -0
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js +56 -0
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ContainsTextFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js +105 -0
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js +508 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ListogramFilterInput.js +62 -0
- package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/MultiDateFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js +55 -0
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js +105 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/PropertyFilterInput.js +129 -0
- package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/SingleDateFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js +55 -0
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js +54 -0
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/TimelineFilterInput.js +49 -0
- package/build/esm/filter-list/inputs/TimelineFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ToggleFilterInput.js +36 -0
- package/build/esm/filter-list/inputs/ToggleFilterInput.js.map +1 -0
- package/build/esm/filter-list/types/AggregationTypes.js +2 -0
- package/build/esm/filter-list/types/AggregationTypes.js.map +1 -0
- package/build/esm/filter-list/types/CustomRendererTypes.js +2 -0
- package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -0
- package/build/esm/filter-list/types/KeywordSearchTypes.js +2 -0
- package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -0
- package/build/esm/filter-list/types/LinkedFilterTypes.js +2 -0
- package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -0
- package/build/esm/filter-list/types/index.js +20 -0
- package/build/esm/filter-list/types/index.js.map +1 -0
- package/build/esm/filter-list/utils/aggregationHelpers.js +44 -0
- package/build/esm/filter-list/utils/aggregationHelpers.js.map +1 -0
- package/build/esm/filter-list/utils/coerceFilterValue.js +33 -0
- package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateSerialization.js +42 -0
- package/build/esm/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +375 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/esm/filter-list/utils/filterValues.js +81 -0
- package/build/esm/filter-list/utils/filterValues.js.map +1 -0
- package/build/esm/filter-list/utils/getFilterKey.js +34 -0
- package/build/esm/filter-list/utils/getFilterKey.js.map +1 -0
- package/build/esm/filter-list/utils/getFilterLabel.js +36 -0
- package/build/esm/filter-list/utils/getFilterLabel.js.map +1 -0
- package/build/esm/object-table/ColumnConfigDialog.js +259 -0
- package/build/esm/object-table/ColumnConfigDialog.js.map +1 -0
- package/build/esm/object-table/ColumnConfigDialog.module.css +238 -0
- package/build/esm/object-table/DefaultCellRenderer.js +61 -0
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/esm/object-table/EditableCell.js +168 -0
- package/build/esm/object-table/EditableCell.js.map +1 -0
- package/build/esm/object-table/EditableCell.module.css +70 -0
- package/build/esm/object-table/LoadingCell.js +6 -3
- package/build/esm/object-table/LoadingCell.js.map +1 -1
- package/build/esm/object-table/LoadingRow.js +2 -1
- package/build/esm/object-table/LoadingRow.js.map +1 -1
- package/build/esm/object-table/LoadingStateTable.js +4 -4
- package/build/esm/object-table/LoadingStateTable.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.js +181 -0
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/esm/object-table/MultiColumnSortDialog.module.css +191 -0
- package/build/esm/object-table/NonIdealState.module.css +2 -3
- package/build/esm/object-table/ObjectTable.js +69 -17
- package/build/esm/object-table/ObjectTable.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/object-table/SelectionCells.js +16 -4
- package/build/esm/object-table/SelectionCells.js.map +1 -1
- package/build/esm/object-table/SortableItemsList.js +35 -0
- package/build/esm/object-table/SortableItemsList.js.map +1 -0
- package/build/esm/object-table/Table.js +29 -4
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/Table.module.css +18 -3
- package/build/esm/object-table/TableBody.js +8 -2
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableBody.module.css +2 -0
- package/build/esm/object-table/TableCell.module.css +15 -1
- package/build/esm/object-table/TableEditContainer.js +90 -0
- package/build/esm/object-table/TableEditContainer.js.map +1 -0
- package/build/esm/object-table/TableEditContainer.module.css +71 -0
- package/build/esm/object-table/TableHeader.js +97 -7
- package/build/esm/object-table/TableHeader.js.map +1 -1
- package/build/esm/object-table/TableHeader.module.css +11 -3
- package/build/esm/object-table/TableHeaderWithPopover.js +53 -22
- package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/esm/object-table/TableHeaderWithPopover.module.css +44 -25
- package/build/esm/object-table/TableRow.js +10 -3
- package/build/esm/object-table/TableRow.js.map +1 -1
- package/build/esm/object-table/TableRow.module.css +4 -1
- package/build/esm/object-table/components/AsyncValueCell.js +35 -0
- package/build/esm/object-table/components/AsyncValueCell.js.map +1 -0
- package/build/esm/object-table/hooks/useColumnDefs.js +20 -4
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnResize.js +45 -0
- package/build/esm/object-table/hooks/useColumnResize.js.map +1 -0
- package/build/esm/object-table/hooks/useColumnVisibility.js +52 -20
- package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/esm/object-table/hooks/useEditableTable.js +85 -0
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/esm/object-table/hooks/useFunctionColumnsData.js +270 -0
- package/build/esm/object-table/hooks/useFunctionColumnsData.js.map +1 -0
- package/build/esm/object-table/hooks/useObjectTableData.js +58 -7
- package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/esm/object-table/hooks/useRowSelection.js +40 -16
- package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/esm/object-table/hooks/useSelectionColumn.js +15 -6
- package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/esm/object-table/utils/AsyncCellData.js +30 -0
- package/build/esm/object-table/utils/AsyncCellData.js.map +1 -0
- package/build/esm/object-table/utils/constants.js +1 -0
- package/build/esm/object-table/utils/constants.js.map +1 -1
- package/build/esm/object-table/utils/getCellId.js +20 -0
- package/build/esm/object-table/utils/getCellId.js.map +1 -0
- package/build/esm/object-table/utils/types.js +2 -0
- package/build/esm/object-table/utils/types.js.map +1 -0
- package/build/esm/pdf-viewer/PdfRenderer.js +88 -0
- package/build/esm/pdf-viewer/PdfRenderer.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewer.js +197 -0
- package/build/esm/pdf-viewer/PdfViewer.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewer.module.css +95 -0
- package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.js +74 -0
- package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.module.css +65 -0
- package/build/esm/pdf-viewer/PdfViewerSearchBar.js +84 -0
- package/build/esm/pdf-viewer/PdfViewerSearchBar.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerSearchBar.module.css +65 -0
- package/build/esm/pdf-viewer/PdfViewerSidebar.js +74 -0
- package/build/esm/pdf-viewer/PdfViewerSidebar.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerSidebar.module.css +46 -0
- package/build/esm/pdf-viewer/PdfViewerThumbnail.js +100 -0
- package/build/esm/pdf-viewer/PdfViewerThumbnail.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerThumbnail.module.css +26 -0
- package/build/esm/pdf-viewer/PdfViewerToolbar.js +167 -0
- package/build/esm/pdf-viewer/PdfViewerToolbar.js.map +1 -0
- package/build/esm/pdf-viewer/PdfViewerToolbar.module.css +86 -0
- package/build/esm/pdf-viewer/constants.js +43 -0
- package/build/esm/pdf-viewer/constants.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js +54 -0
- package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js +67 -0
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js +69 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSearch.js +106 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSync.js +71 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -0
- package/build/esm/pdf-viewer/types.js +2 -0
- package/build/esm/pdf-viewer/types.js.map +1 -0
- package/build/esm/public/experimental.js +9 -0
- package/build/esm/public/experimental.js.map +1 -1
- package/build/esm/shared/ErrorBoundary.js +62 -0
- package/build/esm/shared/ErrorBoundary.js.map +1 -0
- package/build/esm/shared/ErrorBoundary.module.css +55 -0
- package/build/esm/shared/assertUnreachable.js +25 -0
- package/build/esm/shared/assertUnreachable.js.map +1 -0
- package/build/esm/shared/typedMemo.js +25 -0
- package/build/esm/shared/typedMemo.js.map +1 -0
- package/build/types/action-form/ActionForm.d.ts +4 -0
- package/build/types/action-form/ActionForm.d.ts.map +1 -0
- package/build/types/action-form/ActionFormApi.d.ts +48 -32
- package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
- package/build/types/action-form/BaseForm.d.ts +3 -0
- package/build/types/action-form/BaseForm.d.ts.map +1 -0
- package/build/types/action-form/FormFieldApi.d.ts +93 -42
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/fields/DropdownField.d.ts +6 -0
- package/build/types/action-form/fields/DropdownField.d.ts.map +1 -0
- package/build/types/action-form/fields/FieldBridge.d.ts +9 -0
- package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -0
- package/build/types/action-form/fields/FormFieldRenderer.d.ts +8 -0
- package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -0
- package/build/types/action-form/fields/TextInputField.d.ts +5 -0
- package/build/types/action-form/fields/TextInputField.d.ts.map +1 -0
- package/build/types/action-form/utils/coerceFieldValue.d.ts +10 -0
- package/build/types/action-form/utils/coerceFieldValue.d.ts.map +1 -0
- package/build/types/action-form/utils/getDefaultFieldComponent.d.ts +6 -0
- package/build/types/action-form/utils/getDefaultFieldComponent.d.ts.map +1 -0
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts +6 -0
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts.map +1 -0
- package/build/types/base-components/action-button/ActionButton.d.ts +5 -0
- package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -0
- package/build/types/base-components/combobox/Combobox.d.ts +60 -0
- package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
- package/build/types/base-components/dialog/Dialog.d.ts +10 -0
- package/build/types/base-components/dialog/Dialog.d.ts.map +1 -0
- package/build/types/base-components/draggable-list/DraggableList.d.ts +17 -0
- package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -0
- package/build/types/base-components/search-bar/SearchBar.d.ts +11 -0
- package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -0
- package/build/types/base-components/select/Select.d.ts +40 -0
- package/build/types/base-components/select/Select.d.ts.map +1 -0
- package/build/types/base-components/skeleton/SkeletonBar.d.ts +9 -0
- package/build/types/base-components/skeleton/SkeletonBar.d.ts.map +1 -0
- package/build/types/base-components/switch/Switch.d.ts +10 -0
- package/build/types/base-components/switch/Switch.d.ts.map +1 -0
- package/build/types/base-components/tooltip/Tooltip.d.ts +31 -0
- package/build/types/base-components/tooltip/Tooltip.d.ts.map +1 -0
- package/build/types/base-components/tooltip/index.d.ts +1 -0
- package/build/types/base-components/tooltip/index.d.ts.map +1 -0
- package/build/types/filter-list/FilterInput.d.ts +15 -0
- package/build/types/filter-list/FilterInput.d.ts.map +1 -0
- package/build/types/filter-list/FilterList.d.ts +4 -0
- package/build/types/filter-list/FilterList.d.ts.map +1 -0
- package/build/types/filter-list/FilterListApi.d.ts +106 -22
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts +114 -53
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/base/AddFilterPopover.d.ts +12 -0
- package/build/types/filter-list/base/AddFilterPopover.d.ts.map +1 -0
- package/build/types/filter-list/base/BaseFilterList.d.ts +3 -0
- package/build/types/filter-list/base/BaseFilterList.d.ts.map +1 -0
- package/build/types/filter-list/base/BaseFilterListApi.d.ts +29 -0
- package/build/types/filter-list/base/BaseFilterListApi.d.ts.map +1 -0
- package/build/types/filter-list/base/DragHandleIcon.d.ts +2 -0
- package/build/types/filter-list/base/DragHandleIcon.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterIcons.d.ts +11 -0
- package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListContent.d.ts +17 -0
- package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListHeader.d.ts +14 -0
- package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListItem.d.ts +20 -0
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -0
- package/build/types/filter-list/base/SortableFilterListItem.d.ts +15 -0
- package/build/types/filter-list/base/SortableFilterListItem.d.ts.map +1 -0
- package/build/types/filter-list/base/index.d.ts +5 -0
- package/build/types/filter-list/base/index.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +16 -0
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/CheckboxListSkeleton.d.ts +2 -0
- package/build/types/filter-list/base/inputs/CheckboxListSkeleton.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts +13 -0
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts +17 -0
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts +20 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ListogramSkeleton.d.ts +2 -0
- package/build/types/filter-list/base/inputs/ListogramSkeleton.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/MultiDateInput.d.ts +12 -0
- package/build/types/filter-list/base/inputs/MultiDateInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts +18 -0
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +15 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +17 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/RangeInput.d.ts +30 -0
- package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/SingleDateInput.d.ts +13 -0
- package/build/types/filter-list/base/inputs/SingleDateInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts +18 -0
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +18 -0
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/TimelineInput.d.ts +11 -0
- package/build/types/filter-list/base/inputs/TimelineInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ToggleInput.d.ts +10 -0
- package/build/types/filter-list/base/inputs/ToggleInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts +16 -0
- package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/dateUtils.d.ts +17 -0
- package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/index.d.ts +8 -0
- package/build/types/filter-list/base/inputs/index.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/useStaleData.d.ts +1 -0
- package/build/types/filter-list/base/inputs/useStaleData.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts +12 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts +8 -0
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts.map +1 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +17 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts +14 -0
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts +10 -0
- package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts +12 -0
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts +21 -0
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts +16 -0
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts +12 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts +17 -0
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/TimelineFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/TimelineFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ToggleFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/ToggleFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/types/AggregationTypes.d.ts +5 -0
- package/build/types/filter-list/types/AggregationTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/CustomRendererTypes.d.ts +76 -0
- package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/KeywordSearchTypes.d.ts +56 -0
- package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts +70 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/index.d.ts +3 -0
- package/build/types/filter-list/types/index.d.ts.map +1 -0
- package/build/types/filter-list/utils/aggregationHelpers.d.ts +9 -0
- package/build/types/filter-list/utils/aggregationHelpers.d.ts.map +1 -0
- package/build/types/filter-list/utils/coerceFilterValue.d.ts +11 -0
- package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterStateSerialization.d.ts +3 -0
- package/build/types/filter-list/utils/filterStateSerialization.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +20 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterValues.d.ts +7 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -0
- package/build/types/filter-list/utils/getFilterKey.d.ts +3 -0
- package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -0
- package/build/types/filter-list/utils/getFilterLabel.d.ts +3 -0
- package/build/types/filter-list/utils/getFilterLabel.d.ts.map +1 -0
- package/build/types/object-table/ColumnConfigDialog.d.ts +18 -0
- package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -0
- package/build/types/object-table/DefaultCellRenderer.d.ts +3 -0
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -0
- package/build/types/object-table/EditableCell.d.ts +26 -0
- package/build/types/object-table/EditableCell.d.ts.map +1 -0
- package/build/types/object-table/LoadingCell.d.ts +1 -0
- package/build/types/object-table/LoadingCell.d.ts.map +1 -1
- package/build/types/object-table/LoadingRow.d.ts.map +1 -1
- package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
- package/build/types/object-table/MultiColumnSortDialog.d.ts +15 -0
- package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -0
- package/build/types/object-table/ObjectTable.d.ts +1 -9
- package/build/types/object-table/ObjectTable.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +150 -20
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/SortableItemsList.d.ts +13 -0
- package/build/types/object-table/SortableItemsList.d.ts.map +1 -0
- package/build/types/object-table/Table.d.ts +26 -1
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableBody.d.ts +4 -1
- package/build/types/object-table/TableBody.d.ts.map +1 -1
- package/build/types/object-table/TableEditContainer.d.ts +9 -0
- package/build/types/object-table/TableEditContainer.d.ts.map +1 -0
- package/build/types/object-table/TableHeader.d.ts +3 -1
- package/build/types/object-table/TableHeader.d.ts.map +1 -1
- package/build/types/object-table/TableHeaderWithPopover.d.ts +30 -6
- package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
- package/build/types/object-table/TableRow.d.ts +4 -1
- package/build/types/object-table/TableRow.d.ts.map +1 -1
- package/build/types/object-table/components/AsyncValueCell.d.ts +5 -0
- package/build/types/object-table/components/AsyncValueCell.d.ts.map +1 -0
- package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
- package/build/types/object-table/hooks/useColumnResize.d.ts +10 -0
- package/build/types/object-table/hooks/useColumnResize.d.ts.map +1 -0
- package/build/types/object-table/hooks/useColumnVisibility.d.ts +18 -7
- package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
- package/build/types/object-table/hooks/useEditableTable.d.ts +17 -0
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -0
- package/build/types/object-table/hooks/useFunctionColumnsData.d.ts +13 -0
- package/build/types/object-table/hooks/useFunctionColumnsData.d.ts.map +1 -0
- package/build/types/object-table/hooks/useObjectTableData.d.ts +13 -5
- package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
- package/build/types/object-table/hooks/useRowSelection.d.ts +8 -6
- package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
- package/build/types/object-table/utils/AsyncCellData.d.ts +8 -0
- package/build/types/object-table/utils/AsyncCellData.d.ts.map +1 -0
- package/build/types/object-table/utils/constants.d.ts +1 -0
- package/build/types/object-table/utils/constants.d.ts.map +1 -1
- package/build/types/object-table/utils/getCellId.d.ts +2 -0
- package/build/types/object-table/utils/getCellId.d.ts.map +1 -0
- package/build/types/object-table/utils/types.d.ts +39 -0
- package/build/types/object-table/utils/types.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfRenderer.d.ts +8 -0
- package/build/types/pdf-viewer/PdfRenderer.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewer.d.ts +4 -0
- package/build/types/pdf-viewer/PdfViewer.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerAnnotationLayer.d.ts +10 -0
- package/build/types/pdf-viewer/PdfViewerAnnotationLayer.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerSearchBar.d.ts +12 -0
- package/build/types/pdf-viewer/PdfViewerSearchBar.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerSidebar.d.ts +10 -0
- package/build/types/pdf-viewer/PdfViewerSidebar.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerThumbnail.d.ts +10 -0
- package/build/types/pdf-viewer/PdfViewerThumbnail.d.ts.map +1 -0
- package/build/types/pdf-viewer/PdfViewerToolbar.d.ts +14 -0
- package/build/types/pdf-viewer/PdfViewerToolbar.d.ts.map +1 -0
- package/build/types/pdf-viewer/constants.d.ts +17 -0
- package/build/types/pdf-viewer/constants.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts +10 -0
- package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfDocument.d.ts +9 -0
- package/build/types/pdf-viewer/hooks/usePdfDocument.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts +9 -0
- package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSearch.d.ts +15 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSearch.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSync.d.ts +15 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerSync.d.ts.map +1 -0
- package/build/types/pdf-viewer/types.d.ts +44 -0
- package/build/types/pdf-viewer/types.d.ts.map +1 -0
- package/build/types/public/experimental.d.ts +13 -3
- package/build/types/public/experimental.d.ts.map +1 -1
- package/build/types/shared/ErrorBoundary.d.ts +19 -0
- package/build/types/shared/ErrorBoundary.d.ts.map +1 -0
- package/build/types/shared/assertUnreachable.d.ts +6 -0
- package/build/types/shared/assertUnreachable.d.ts.map +1 -0
- package/build/types/shared/typedMemo.d.ts +6 -0
- package/build/types/shared/typedMemo.d.ts.map +1 -0
- package/package.json +13 -5
- package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
- package/build/browser/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +0 -508
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
- package/build/browser/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -178
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +0 -227
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +0 -548
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -275
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +0 -211
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js +0 -147
- package/build/esm/object-table/hooks/__tests__/useCellContextMenu.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +0 -508
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js +0 -266
- package/build/esm/object-table/hooks/__tests__/useColumnPinning.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +0 -178
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +0 -227
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +0 -548
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +0 -275
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +0 -1
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +0 -211
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +0 -1
- package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useCellContextMenu.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnDefs.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnPinning.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useColumnVisibility.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useObjectTableData.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useRowSelection.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useSelectionColumn.test.d.ts.map +0 -1
- package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts +0 -1
- package/build/types/object-table/hooks/__tests__/useTableSorting.test.d.ts.map +0 -1
|
@@ -0,0 +1,74 @@
|
|
|
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 classnames from "classnames";
|
|
18
|
+
import React, { useCallback, useMemo } from "react";
|
|
19
|
+
import styles from "./PdfViewerAnnotationLayer.module.css";
|
|
20
|
+
function AnnotationItem({
|
|
21
|
+
annotation,
|
|
22
|
+
pageHeight,
|
|
23
|
+
scale,
|
|
24
|
+
onClick
|
|
25
|
+
}) {
|
|
26
|
+
const handleClick = useCallback(() => {
|
|
27
|
+
onClick?.(annotation);
|
|
28
|
+
}, [onClick, annotation]);
|
|
29
|
+
const handleKeyDown = useCallback(e => {
|
|
30
|
+
if (e.key === "Enter") {
|
|
31
|
+
e.preventDefault();
|
|
32
|
+
onClick?.(annotation);
|
|
33
|
+
}
|
|
34
|
+
}, [onClick, annotation]);
|
|
35
|
+
|
|
36
|
+
// Convert PDF coordinates (bottom-left origin) to CSS (top-left origin)
|
|
37
|
+
const style = useMemo(() => ({
|
|
38
|
+
left: annotation.rect.x * scale,
|
|
39
|
+
top: (pageHeight - annotation.rect.y - annotation.rect.height) * scale,
|
|
40
|
+
width: annotation.rect.width * scale,
|
|
41
|
+
height: annotation.rect.height * scale,
|
|
42
|
+
...(annotation.color != null ? {
|
|
43
|
+
"--osdk-pdf-annotation-color": annotation.color
|
|
44
|
+
} : {})
|
|
45
|
+
}), [annotation, pageHeight, scale]);
|
|
46
|
+
const className = classnames(styles.annotation, styles[annotation.type]);
|
|
47
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
className: className,
|
|
49
|
+
style: style,
|
|
50
|
+
onClick: handleClick,
|
|
51
|
+
onKeyDown: handleKeyDown,
|
|
52
|
+
role: "button",
|
|
53
|
+
tabIndex: 0,
|
|
54
|
+
title: annotation.label,
|
|
55
|
+
"data-annotation-id": annotation.id
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export function PdfViewerAnnotationLayer({
|
|
59
|
+
annotations,
|
|
60
|
+
pageHeight,
|
|
61
|
+
scale,
|
|
62
|
+
onAnnotationClick
|
|
63
|
+
}) {
|
|
64
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
65
|
+
className: styles.annotationLayer
|
|
66
|
+
}, annotations.map(annotation => /*#__PURE__*/React.createElement(AnnotationItem, {
|
|
67
|
+
key: annotation.id,
|
|
68
|
+
annotation: annotation,
|
|
69
|
+
pageHeight: pageHeight,
|
|
70
|
+
scale: scale,
|
|
71
|
+
onClick: onAnnotationClick
|
|
72
|
+
})));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=PdfViewerAnnotationLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfViewerAnnotationLayer.js","names":["classnames","React","useCallback","useMemo","styles","AnnotationItem","annotation","pageHeight","scale","onClick","handleClick","handleKeyDown","e","key","preventDefault","style","left","rect","x","top","y","height","width","color","className","type","createElement","onKeyDown","role","tabIndex","title","label","id","PdfViewerAnnotationLayer","annotations","onAnnotationClick","annotationLayer","map"],"sources":["PdfViewerAnnotationLayer.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 classnames from \"classnames\";\nimport React, { useCallback, useMemo } from \"react\";\nimport styles from \"./PdfViewerAnnotationLayer.module.css\";\nimport type { PdfAnnotation } from \"./types.js\";\n\ninterface PdfViewerAnnotationLayerProps {\n annotations: PdfAnnotation[];\n pageHeight: number;\n scale: number;\n onAnnotationClick?: (annotation: PdfAnnotation) => void;\n}\n\ninterface AnnotationItemProps {\n annotation: PdfAnnotation;\n pageHeight: number;\n scale: number;\n onClick?: (annotation: PdfAnnotation) => void;\n}\n\nfunction AnnotationItem({\n annotation,\n pageHeight,\n scale,\n onClick,\n}: AnnotationItemProps): React.ReactElement {\n const handleClick = useCallback(() => {\n onClick?.(annotation);\n }, [onClick, annotation]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n onClick?.(annotation);\n }\n },\n [onClick, annotation],\n );\n\n // Convert PDF coordinates (bottom-left origin) to CSS (top-left origin)\n const style = useMemo(\n () => ({\n left: annotation.rect.x * scale,\n top: (pageHeight - annotation.rect.y - annotation.rect.height) * scale,\n width: annotation.rect.width * scale,\n height: annotation.rect.height * scale,\n ...(annotation.color != null\n ? {\n \"--osdk-pdf-annotation-color\": annotation.color,\n } as React.CSSProperties\n : {}),\n }),\n [annotation, pageHeight, scale],\n );\n\n const className = classnames(\n styles.annotation,\n styles[annotation.type],\n );\n\n return (\n <div\n className={className}\n style={style}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n title={annotation.label}\n data-annotation-id={annotation.id}\n />\n );\n}\n\nexport function PdfViewerAnnotationLayer({\n annotations,\n pageHeight,\n scale,\n onAnnotationClick,\n}: PdfViewerAnnotationLayerProps): React.ReactElement {\n return (\n <div className={styles.annotationLayer}>\n {annotations.map((annotation) => (\n <AnnotationItem\n key={annotation.id}\n annotation={annotation}\n pageHeight={pageHeight}\n scale={scale}\n onClick={onAnnotationClick}\n />\n ))}\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,OAAOC,MAAM,MAAM,uCAAuC;AAiB1D,SAASC,cAAcA,CAAC;EACtBC,UAAU;EACVC,UAAU;EACVC,KAAK;EACLC;AACmB,CAAC,EAAsB;EAC1C,MAAMC,WAAW,GAAGR,WAAW,CAAC,MAAM;IACpCO,OAAO,GAAGH,UAAU,CAAC;EACvB,CAAC,EAAE,CAACG,OAAO,EAAEH,UAAU,CAAC,CAAC;EAEzB,MAAMK,aAAa,GAAGT,WAAW,CAC9BU,CAAsB,IAAK;IAC1B,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACrBD,CAAC,CAACE,cAAc,CAAC,CAAC;MAClBL,OAAO,GAAGH,UAAU,CAAC;IACvB;EACF,CAAC,EACD,CAACG,OAAO,EAAEH,UAAU,CACtB,CAAC;;EAED;EACA,MAAMS,KAAK,GAAGZ,OAAO,CACnB,OAAO;IACLa,IAAI,EAAEV,UAAU,CAACW,IAAI,CAACC,CAAC,GAAGV,KAAK;IAC/BW,GAAG,EAAE,CAACZ,UAAU,GAAGD,UAAU,CAACW,IAAI,CAACG,CAAC,GAAGd,UAAU,CAACW,IAAI,CAACI,MAAM,IAAIb,KAAK;IACtEc,KAAK,EAAEhB,UAAU,CAACW,IAAI,CAACK,KAAK,GAAGd,KAAK;IACpCa,MAAM,EAAEf,UAAU,CAACW,IAAI,CAACI,MAAM,GAAGb,KAAK;IACtC,IAAIF,UAAU,CAACiB,KAAK,IAAI,IAAI,GACxB;MACA,6BAA6B,EAAEjB,UAAU,CAACiB;IAC5C,CAAC,GACC,CAAC,CAAC;EACR,CAAC,CAAC,EACF,CAACjB,UAAU,EAAEC,UAAU,EAAEC,KAAK,CAChC,CAAC;EAED,MAAMgB,SAAS,GAAGxB,UAAU,CAC1BI,MAAM,CAACE,UAAU,EACjBF,MAAM,CAACE,UAAU,CAACmB,IAAI,CACxB,CAAC;EAED,oBACExB,KAAA,CAAAyB,aAAA;IACEF,SAAS,EAAEA,SAAU;IACrBT,KAAK,EAAEA,KAAM;IACbN,OAAO,EAAEC,WAAY;IACrBiB,SAAS,EAAEhB,aAAc;IACzBiB,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAE,CAAE;IACZC,KAAK,EAAExB,UAAU,CAACyB,KAAM;IACxB,sBAAoBzB,UAAU,CAAC0B;EAAG,CACnC,CAAC;AAEN;AAEA,OAAO,SAASC,wBAAwBA,CAAC;EACvCC,WAAW;EACX3B,UAAU;EACVC,KAAK;EACL2B;AAC6B,CAAC,EAAsB;EACpD,oBACElC,KAAA,CAAAyB,aAAA;IAAKF,SAAS,EAAEpB,MAAM,CAACgC;EAAgB,GACpCF,WAAW,CAACG,GAAG,CAAE/B,UAAU,iBAC1BL,KAAA,CAAAyB,aAAA,CAACrB,cAAc;IACbQ,GAAG,EAAEP,UAAU,CAAC0B,EAAG;IACnB1B,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvBC,KAAK,EAAEA,KAAM;IACbC,OAAO,EAAE0B;EAAkB,CAC5B,CACF,CACE,CAAC;AAEV","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
.annotationLayer {
|
|
2
|
+
position: absolute;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
pointer-events: none;
|
|
8
|
+
z-index: 3;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.annotation {
|
|
12
|
+
position: absolute;
|
|
13
|
+
pointer-events: auto;
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
transition: opacity var(--osdk-emphasis-transition-duration)
|
|
17
|
+
var(--osdk-emphasis-ease-default);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.annotation:hover {
|
|
21
|
+
opacity: 0.8;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.annotation:focus-visible {
|
|
25
|
+
outline: var(--osdk-focus-outline);
|
|
26
|
+
outline-offset: var(--osdk-focus-visible-outline-offset);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.highlight {
|
|
30
|
+
background-color: var(
|
|
31
|
+
--osdk-pdf-annotation-color,
|
|
32
|
+
var(--osdk-pdf-viewer-annotation-highlight)
|
|
33
|
+
);
|
|
34
|
+
border-radius: 2px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.underline {
|
|
38
|
+
background-color: transparent;
|
|
39
|
+
border-bottom: 2px solid
|
|
40
|
+
var(
|
|
41
|
+
--osdk-pdf-annotation-color,
|
|
42
|
+
var(--osdk-pdf-viewer-annotation-underline)
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.comment {
|
|
47
|
+
background-color: var(
|
|
48
|
+
--osdk-pdf-annotation-color,
|
|
49
|
+
var(--osdk-pdf-viewer-annotation-comment)
|
|
50
|
+
);
|
|
51
|
+
border-radius: 50%;
|
|
52
|
+
width: 16px !important;
|
|
53
|
+
height: 16px !important;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.pin {
|
|
57
|
+
background-color: var(
|
|
58
|
+
--osdk-pdf-annotation-color,
|
|
59
|
+
var(--osdk-pdf-viewer-annotation-pin)
|
|
60
|
+
);
|
|
61
|
+
border-radius: 50% 50% 50% 0;
|
|
62
|
+
width: 16px !important;
|
|
63
|
+
height: 16px !important;
|
|
64
|
+
transform: rotate(-45deg);
|
|
65
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
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 { ChevronDown, ChevronUp, Cross } from "@blueprintjs/icons";
|
|
18
|
+
import React, { useCallback } from "react";
|
|
19
|
+
import styles from "./PdfViewerSearchBar.module.css";
|
|
20
|
+
export function PdfViewerSearchBar({
|
|
21
|
+
query,
|
|
22
|
+
totalMatches,
|
|
23
|
+
currentMatchIndex,
|
|
24
|
+
onQueryChange,
|
|
25
|
+
onNext,
|
|
26
|
+
onPrev,
|
|
27
|
+
onClose
|
|
28
|
+
}) {
|
|
29
|
+
const handleInputChange = useCallback(e => {
|
|
30
|
+
onQueryChange(e.target.value);
|
|
31
|
+
}, [onQueryChange]);
|
|
32
|
+
const handleKeyDown = useCallback(e => {
|
|
33
|
+
if (e.key === "Enter") {
|
|
34
|
+
e.preventDefault();
|
|
35
|
+
if (e.shiftKey) {
|
|
36
|
+
onPrev();
|
|
37
|
+
} else {
|
|
38
|
+
onNext();
|
|
39
|
+
}
|
|
40
|
+
} else if (e.key === "Escape") {
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
onClose();
|
|
43
|
+
}
|
|
44
|
+
}, [onNext, onPrev, onClose]);
|
|
45
|
+
const matchDisplay = totalMatches > 0 ? `${currentMatchIndex + 1} of ${totalMatches}` : query.length > 0 ? "No results" : "";
|
|
46
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
47
|
+
className: styles.searchBar
|
|
48
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
49
|
+
autoFocus: true,
|
|
50
|
+
className: styles.searchInput,
|
|
51
|
+
type: "text",
|
|
52
|
+
value: query,
|
|
53
|
+
onChange: handleInputChange,
|
|
54
|
+
onKeyDown: handleKeyDown,
|
|
55
|
+
placeholder: "Find in document...",
|
|
56
|
+
"aria-label": "Search in PDF"
|
|
57
|
+
}), matchDisplay.length > 0 && /*#__PURE__*/React.createElement("span", {
|
|
58
|
+
className: styles.matchCount
|
|
59
|
+
}, matchDisplay), /*#__PURE__*/React.createElement("button", {
|
|
60
|
+
className: styles.navButton,
|
|
61
|
+
onClick: onPrev,
|
|
62
|
+
disabled: totalMatches === 0,
|
|
63
|
+
"aria-label": "Previous match",
|
|
64
|
+
type: "button"
|
|
65
|
+
}, /*#__PURE__*/React.createElement(ChevronUp, {
|
|
66
|
+
size: 16
|
|
67
|
+
})), /*#__PURE__*/React.createElement("button", {
|
|
68
|
+
className: styles.navButton,
|
|
69
|
+
onClick: onNext,
|
|
70
|
+
disabled: totalMatches === 0,
|
|
71
|
+
"aria-label": "Next match",
|
|
72
|
+
type: "button"
|
|
73
|
+
}, /*#__PURE__*/React.createElement(ChevronDown, {
|
|
74
|
+
size: 16
|
|
75
|
+
})), /*#__PURE__*/React.createElement("button", {
|
|
76
|
+
className: styles.closeButton,
|
|
77
|
+
onClick: onClose,
|
|
78
|
+
"aria-label": "Close search",
|
|
79
|
+
type: "button"
|
|
80
|
+
}, /*#__PURE__*/React.createElement(Cross, {
|
|
81
|
+
size: 16
|
|
82
|
+
})));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=PdfViewerSearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfViewerSearchBar.js","names":["ChevronDown","ChevronUp","Cross","React","useCallback","styles","PdfViewerSearchBar","query","totalMatches","currentMatchIndex","onQueryChange","onNext","onPrev","onClose","handleInputChange","e","target","value","handleKeyDown","key","preventDefault","shiftKey","matchDisplay","length","createElement","className","searchBar","autoFocus","searchInput","type","onChange","onKeyDown","placeholder","matchCount","navButton","onClick","disabled","size","closeButton"],"sources":["PdfViewerSearchBar.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 { ChevronDown, ChevronUp, Cross } from \"@blueprintjs/icons\";\nimport React, { useCallback } from \"react\";\nimport styles from \"./PdfViewerSearchBar.module.css\";\n\ninterface PdfViewerSearchBarProps {\n query: string;\n totalMatches: number;\n currentMatchIndex: number;\n onQueryChange: (query: string) => void;\n onNext: () => void;\n onPrev: () => void;\n onClose: () => void;\n}\n\nexport function PdfViewerSearchBar({\n query,\n totalMatches,\n currentMatchIndex,\n onQueryChange,\n onNext,\n onPrev,\n onClose,\n}: PdfViewerSearchBarProps): React.ReactElement {\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onQueryChange(e.target.value);\n },\n [onQueryChange],\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n if (e.shiftKey) {\n onPrev();\n } else {\n onNext();\n }\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n onClose();\n }\n },\n [onNext, onPrev, onClose],\n );\n\n const matchDisplay = totalMatches > 0\n ? `${currentMatchIndex + 1} of ${totalMatches}`\n : query.length > 0\n ? \"No results\"\n : \"\";\n\n return (\n <div className={styles.searchBar}>\n <input\n autoFocus\n className={styles.searchInput}\n type=\"text\"\n value={query}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n placeholder=\"Find in document...\"\n aria-label=\"Search in PDF\"\n />\n {matchDisplay.length > 0 && (\n <span className={styles.matchCount}>{matchDisplay}</span>\n )}\n <button\n className={styles.navButton}\n onClick={onPrev}\n disabled={totalMatches === 0}\n aria-label=\"Previous match\"\n type=\"button\"\n >\n <ChevronUp size={16} />\n </button>\n <button\n className={styles.navButton}\n onClick={onNext}\n disabled={totalMatches === 0}\n aria-label=\"Next match\"\n type=\"button\"\n >\n <ChevronDown size={16} />\n </button>\n <button\n className={styles.closeButton}\n onClick={onClose}\n aria-label=\"Close search\"\n type=\"button\"\n >\n <Cross size={16} />\n </button>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
.searchBar {
|
|
2
|
+
position: absolute;
|
|
3
|
+
top: 0;
|
|
4
|
+
right: 0;
|
|
5
|
+
z-index: var(--osdk-surface-z-index-3);
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
gap: var(--osdk-pdf-viewer-toolbar-gap);
|
|
9
|
+
padding: var(--osdk-surface-spacing);
|
|
10
|
+
background-color: var(--osdk-pdf-viewer-search-bar-bg);
|
|
11
|
+
border: var(--osdk-surface-border);
|
|
12
|
+
border-radius: var(--osdk-surface-border-radius);
|
|
13
|
+
box-shadow: var(--osdk-surface-shadow-2);
|
|
14
|
+
margin: var(--osdk-surface-spacing);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.searchInput {
|
|
18
|
+
border: var(--osdk-surface-border);
|
|
19
|
+
border-radius: var(--osdk-surface-border-radius);
|
|
20
|
+
padding: var(--osdk-surface-spacing) calc(var(--osdk-surface-spacing) * 2);
|
|
21
|
+
font-family: var(--osdk-typography-family-default);
|
|
22
|
+
font-size: var(--osdk-typography-size-body-small);
|
|
23
|
+
color: var(--osdk-typography-color-default-rest);
|
|
24
|
+
background-color: var(--osdk-background-primary);
|
|
25
|
+
outline: none;
|
|
26
|
+
min-width: 200px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.searchInput:focus {
|
|
30
|
+
outline: var(--osdk-focus-outline);
|
|
31
|
+
outline-offset: var(--osdk-focus-visible-outline-offset);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.matchCount {
|
|
35
|
+
font-size: var(--osdk-typography-size-body-x-small);
|
|
36
|
+
color: var(--osdk-typography-color-muted);
|
|
37
|
+
white-space: nowrap;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.navButton {
|
|
41
|
+
display: flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
width: 24px;
|
|
45
|
+
height: 24px;
|
|
46
|
+
border: none;
|
|
47
|
+
background: none;
|
|
48
|
+
color: var(--osdk-typography-color-default-rest);
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
border-radius: var(--osdk-surface-border-radius);
|
|
51
|
+
padding: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.navButton:hover {
|
|
55
|
+
background-color: var(--osdk-surface-background-color-default-hover);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.navButton:focus-visible {
|
|
59
|
+
outline: var(--osdk-focus-outline);
|
|
60
|
+
outline-offset: var(--osdk-focus-visible-outline-offset);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.closeButton {
|
|
64
|
+
composes: navButton;
|
|
65
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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 { useVirtualizer } from "@tanstack/react-virtual";
|
|
18
|
+
import React, { useEffect, useRef } from "react";
|
|
19
|
+
import { DEFAULT_PAGE_HEIGHT, THUMBNAIL_GAP, THUMBNAIL_SCALE } from "./constants.js";
|
|
20
|
+
import styles from "./PdfViewerSidebar.module.css";
|
|
21
|
+
import { PdfViewerThumbnail } from "./PdfViewerThumbnail.js";
|
|
22
|
+
export function PdfViewerSidebar({
|
|
23
|
+
document,
|
|
24
|
+
numPages,
|
|
25
|
+
currentPage,
|
|
26
|
+
onPageClick
|
|
27
|
+
}) {
|
|
28
|
+
const scrollContainerRef = useRef(null);
|
|
29
|
+
const estimatedItemHeight = Math.floor(DEFAULT_PAGE_HEIGHT * THUMBNAIL_SCALE) + THUMBNAIL_GAP + 20;
|
|
30
|
+
const virtualizer = useVirtualizer({
|
|
31
|
+
count: numPages,
|
|
32
|
+
getScrollElement: () => scrollContainerRef.current,
|
|
33
|
+
estimateSize: () => estimatedItemHeight,
|
|
34
|
+
overscan: 2
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// Auto-scroll to keep the active thumbnail visible
|
|
38
|
+
useEffect(function () {
|
|
39
|
+
virtualizer.scrollToIndex(currentPage - 1, {
|
|
40
|
+
align: "auto"
|
|
41
|
+
});
|
|
42
|
+
}, [currentPage, virtualizer]);
|
|
43
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
className: styles.sidebar
|
|
45
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: styles.sidebarHeader
|
|
47
|
+
}, "Pages"), /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
ref: scrollContainerRef,
|
|
49
|
+
className: styles.scrollContainer
|
|
50
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
51
|
+
className: styles.thumbnailsContainer,
|
|
52
|
+
style: {
|
|
53
|
+
height: virtualizer.getTotalSize()
|
|
54
|
+
}
|
|
55
|
+
}, virtualizer.getVirtualItems().map(virtualItem => {
|
|
56
|
+
const pageNumber = virtualItem.index + 1;
|
|
57
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
58
|
+
key: virtualItem.key,
|
|
59
|
+
className: styles.thumbnailWrapper,
|
|
60
|
+
style: {
|
|
61
|
+
top: virtualItem.start,
|
|
62
|
+
height: virtualItem.size
|
|
63
|
+
}
|
|
64
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(PdfViewerThumbnail, {
|
|
65
|
+
document: document,
|
|
66
|
+
pageNumber: pageNumber,
|
|
67
|
+
isActive: pageNumber === currentPage,
|
|
68
|
+
onClick: () => onPageClick(pageNumber)
|
|
69
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
70
|
+
className: styles.pageNumber
|
|
71
|
+
}, pageNumber)));
|
|
72
|
+
}))));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=PdfViewerSidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfViewerSidebar.js","names":["useVirtualizer","React","useEffect","useRef","DEFAULT_PAGE_HEIGHT","THUMBNAIL_GAP","THUMBNAIL_SCALE","styles","PdfViewerThumbnail","PdfViewerSidebar","document","numPages","currentPage","onPageClick","scrollContainerRef","estimatedItemHeight","Math","floor","virtualizer","count","getScrollElement","current","estimateSize","overscan","scrollToIndex","align","createElement","className","sidebar","sidebarHeader","ref","scrollContainer","thumbnailsContainer","style","height","getTotalSize","getVirtualItems","map","virtualItem","pageNumber","index","key","thumbnailWrapper","top","start","size","isActive","onClick"],"sources":["PdfViewerSidebar.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 { useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { PDFDocumentProxy } from \"pdfjs-dist\";\nimport React, { useEffect, useRef } from \"react\";\nimport {\n DEFAULT_PAGE_HEIGHT,\n THUMBNAIL_GAP,\n THUMBNAIL_SCALE,\n} from \"./constants.js\";\nimport styles from \"./PdfViewerSidebar.module.css\";\nimport { PdfViewerThumbnail } from \"./PdfViewerThumbnail.js\";\n\ninterface PdfViewerSidebarProps {\n document: PDFDocumentProxy;\n numPages: number;\n currentPage: number;\n onPageClick: (page: number) => void;\n}\n\nexport function PdfViewerSidebar({\n document,\n numPages,\n currentPage,\n onPageClick,\n}: PdfViewerSidebarProps): React.ReactElement {\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const estimatedItemHeight = Math.floor(DEFAULT_PAGE_HEIGHT * THUMBNAIL_SCALE)\n + THUMBNAIL_GAP + 20;\n\n const virtualizer = useVirtualizer({\n count: numPages,\n getScrollElement: () => scrollContainerRef.current,\n estimateSize: () => estimatedItemHeight,\n overscan: 2,\n });\n\n // Auto-scroll to keep the active thumbnail visible\n useEffect(function syncActiveThumbnail() {\n virtualizer.scrollToIndex(currentPage - 1, { align: \"auto\" });\n }, [currentPage, virtualizer]);\n\n return (\n <div className={styles.sidebar}>\n <div className={styles.sidebarHeader}>Pages</div>\n <div ref={scrollContainerRef} className={styles.scrollContainer}>\n <div\n className={styles.thumbnailsContainer}\n style={{ height: virtualizer.getTotalSize() }}\n >\n {virtualizer.getVirtualItems().map((virtualItem) => {\n const pageNumber = virtualItem.index + 1;\n return (\n <div\n key={virtualItem.key}\n className={styles.thumbnailWrapper}\n style={{\n top: virtualItem.start,\n height: virtualItem.size,\n }}\n >\n <div>\n <PdfViewerThumbnail\n document={document}\n pageNumber={pageNumber}\n isActive={pageNumber === currentPage}\n onClick={() => onPageClick(pageNumber)}\n />\n <div className={styles.pageNumber}>{pageNumber}</div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,yBAAyB;AAExD,OAAOC,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,QACV,gBAAgB;AACvB,OAAOC,MAAM,MAAM,+BAA+B;AAClD,SAASC,kBAAkB,QAAQ,yBAAyB;AAS5D,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,QAAQ;EACRC,QAAQ;EACRC,WAAW;EACXC;AACqB,CAAC,EAAsB;EAC5C,MAAMC,kBAAkB,GAAGX,MAAM,CAAiB,IAAI,CAAC;EACvD,MAAMY,mBAAmB,GAAGC,IAAI,CAACC,KAAK,CAACb,mBAAmB,GAAGE,eAAe,CAAC,GACzED,aAAa,GAAG,EAAE;EAEtB,MAAMa,WAAW,GAAGlB,cAAc,CAAC;IACjCmB,KAAK,EAAER,QAAQ;IACfS,gBAAgB,EAAEA,CAAA,KAAMN,kBAAkB,CAACO,OAAO;IAClDC,YAAY,EAAEA,CAAA,KAAMP,mBAAmB;IACvCQ,QAAQ,EAAE;EACZ,CAAC,CAAC;;EAEF;EACArB,SAAS,CAAC,YAA+B;IACvCgB,WAAW,CAACM,aAAa,CAACZ,WAAW,GAAG,CAAC,EAAE;MAAEa,KAAK,EAAE;IAAO,CAAC,CAAC;EAC/D,CAAC,EAAE,CAACb,WAAW,EAAEM,WAAW,CAAC,CAAC;EAE9B,oBACEjB,KAAA,CAAAyB,aAAA;IAAKC,SAAS,EAAEpB,MAAM,CAACqB;EAAQ,gBAC7B3B,KAAA,CAAAyB,aAAA;IAAKC,SAAS,EAAEpB,MAAM,CAACsB;EAAc,GAAC,OAAU,CAAC,eACjD5B,KAAA,CAAAyB,aAAA;IAAKI,GAAG,EAAEhB,kBAAmB;IAACa,SAAS,EAAEpB,MAAM,CAACwB;EAAgB,gBAC9D9B,KAAA,CAAAyB,aAAA;IACEC,SAAS,EAAEpB,MAAM,CAACyB,mBAAoB;IACtCC,KAAK,EAAE;MAAEC,MAAM,EAAEhB,WAAW,CAACiB,YAAY,CAAC;IAAE;EAAE,GAE7CjB,WAAW,CAACkB,eAAe,CAAC,CAAC,CAACC,GAAG,CAAEC,WAAW,IAAK;IAClD,MAAMC,UAAU,GAAGD,WAAW,CAACE,KAAK,GAAG,CAAC;IACxC,oBACEvC,KAAA,CAAAyB,aAAA;MACEe,GAAG,EAAEH,WAAW,CAACG,GAAI;MACrBd,SAAS,EAAEpB,MAAM,CAACmC,gBAAiB;MACnCT,KAAK,EAAE;QACLU,GAAG,EAAEL,WAAW,CAACM,KAAK;QACtBV,MAAM,EAAEI,WAAW,CAACO;MACtB;IAAE,gBAEF5C,KAAA,CAAAyB,aAAA,2BACEzB,KAAA,CAAAyB,aAAA,CAAClB,kBAAkB;MACjBE,QAAQ,EAAEA,QAAS;MACnB6B,UAAU,EAAEA,UAAW;MACvBO,QAAQ,EAAEP,UAAU,KAAK3B,WAAY;MACrCmC,OAAO,EAAEA,CAAA,KAAMlC,WAAW,CAAC0B,UAAU;IAAE,CACxC,CAAC,eACFtC,KAAA,CAAAyB,aAAA;MAAKC,SAAS,EAAEpB,MAAM,CAACgC;IAAW,GAAEA,UAAgB,CACjD,CACF,CAAC;EAEV,CAAC,CACE,CACF,CACF,CAAC;AAEV","ignoreList":[]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
.sidebar {
|
|
2
|
+
width: var(--osdk-pdf-viewer-sidebar-width);
|
|
3
|
+
flex-shrink: 0;
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
background-color: var(--osdk-pdf-viewer-sidebar-bg);
|
|
7
|
+
border-right: 1px solid var(--osdk-pdf-viewer-sidebar-border);
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.sidebarHeader {
|
|
12
|
+
padding: var(--osdk-pdf-viewer-sidebar-thumbnail-gap);
|
|
13
|
+
font-family: var(--osdk-typography-family-default);
|
|
14
|
+
font-size: var(--osdk-typography-size-body-small);
|
|
15
|
+
font-weight: var(--osdk-typography-weight-semibold);
|
|
16
|
+
color: var(--osdk-typography-color-muted);
|
|
17
|
+
border-bottom: 1px solid var(--osdk-pdf-viewer-sidebar-border);
|
|
18
|
+
flex-shrink: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.scrollContainer {
|
|
22
|
+
flex: 1;
|
|
23
|
+
overflow-y: auto;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.thumbnailsContainer {
|
|
27
|
+
position: relative;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.thumbnailWrapper {
|
|
31
|
+
position: absolute;
|
|
32
|
+
left: 0;
|
|
33
|
+
width: 100%;
|
|
34
|
+
display: flex;
|
|
35
|
+
justify-content: center;
|
|
36
|
+
padding: var(--osdk-pdf-viewer-sidebar-thumbnail-gap)
|
|
37
|
+
var(--osdk-pdf-viewer-sidebar-thumbnail-gap) 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.pageNumber {
|
|
41
|
+
text-align: center;
|
|
42
|
+
font-family: var(--osdk-typography-family-default);
|
|
43
|
+
font-size: var(--osdk-typography-size-body-small);
|
|
44
|
+
color: var(--osdk-typography-color-muted);
|
|
45
|
+
margin-top: 4px;
|
|
46
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
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 classnames from "classnames";
|
|
18
|
+
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
19
|
+
import { DEVICE_PIXEL_RATIO, THUMBNAIL_SCALE } from "./constants.js";
|
|
20
|
+
import styles from "./PdfViewerThumbnail.module.css";
|
|
21
|
+
export function PdfViewerThumbnail({
|
|
22
|
+
document,
|
|
23
|
+
pageNumber,
|
|
24
|
+
isActive,
|
|
25
|
+
onClick
|
|
26
|
+
}) {
|
|
27
|
+
const canvasRef = useRef(null);
|
|
28
|
+
const renderTaskRef = useRef(null);
|
|
29
|
+
const [dimensions, setDimensions] = useState(undefined);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
let cancelled = false;
|
|
32
|
+
void document.getPage(pageNumber).then(page => {
|
|
33
|
+
if (cancelled || canvasRef.current == null) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const viewport = page.getViewport({
|
|
37
|
+
scale: THUMBNAIL_SCALE
|
|
38
|
+
});
|
|
39
|
+
const canvas = canvasRef.current;
|
|
40
|
+
const context = canvas.getContext("2d");
|
|
41
|
+
if (context == null) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
canvas.width = Math.floor(viewport.width * DEVICE_PIXEL_RATIO);
|
|
45
|
+
canvas.height = Math.floor(viewport.height * DEVICE_PIXEL_RATIO);
|
|
46
|
+
canvas.style.width = `${Math.floor(viewport.width)}px`;
|
|
47
|
+
canvas.style.height = `${Math.floor(viewport.height)}px`;
|
|
48
|
+
setDimensions({
|
|
49
|
+
width: Math.floor(viewport.width),
|
|
50
|
+
height: Math.floor(viewport.height)
|
|
51
|
+
});
|
|
52
|
+
if (renderTaskRef.current != null) {
|
|
53
|
+
renderTaskRef.current.cancel();
|
|
54
|
+
}
|
|
55
|
+
context.setTransform(DEVICE_PIXEL_RATIO, 0, 0, DEVICE_PIXEL_RATIO, 0, 0);
|
|
56
|
+
const renderTask = page.render({
|
|
57
|
+
canvasContext: context,
|
|
58
|
+
viewport
|
|
59
|
+
});
|
|
60
|
+
renderTaskRef.current = renderTask;
|
|
61
|
+
void renderTask.promise.catch(err => {
|
|
62
|
+
if (err instanceof Error && err.message.includes("cancelled")) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
throw err;
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
return () => {
|
|
69
|
+
cancelled = true;
|
|
70
|
+
if (renderTaskRef.current != null) {
|
|
71
|
+
renderTaskRef.current.cancel();
|
|
72
|
+
renderTaskRef.current = null;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}, [document, pageNumber]);
|
|
76
|
+
const handleKeyDown = useCallback(e => {
|
|
77
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
onClick();
|
|
80
|
+
}
|
|
81
|
+
}, [onClick]);
|
|
82
|
+
const containerClassName = classnames(styles.thumbnailContainer, isActive && styles.active);
|
|
83
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
84
|
+
className: containerClassName,
|
|
85
|
+
onClick: onClick,
|
|
86
|
+
onKeyDown: handleKeyDown,
|
|
87
|
+
role: "button",
|
|
88
|
+
tabIndex: 0,
|
|
89
|
+
"aria-label": `Page ${pageNumber}`,
|
|
90
|
+
"aria-current": isActive ? "page" : undefined,
|
|
91
|
+
style: dimensions != null ? {
|
|
92
|
+
width: dimensions.width,
|
|
93
|
+
height: dimensions.height
|
|
94
|
+
} : undefined
|
|
95
|
+
}, /*#__PURE__*/React.createElement("canvas", {
|
|
96
|
+
ref: canvasRef,
|
|
97
|
+
className: styles.canvas
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=PdfViewerThumbnail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfViewerThumbnail.js","names":["classnames","React","useCallback","useEffect","useRef","useState","DEVICE_PIXEL_RATIO","THUMBNAIL_SCALE","styles","PdfViewerThumbnail","document","pageNumber","isActive","onClick","canvasRef","renderTaskRef","dimensions","setDimensions","undefined","cancelled","getPage","then","page","current","viewport","getViewport","scale","canvas","context","getContext","width","Math","floor","height","style","cancel","setTransform","renderTask","render","canvasContext","promise","catch","err","Error","message","includes","handleKeyDown","e","key","preventDefault","containerClassName","thumbnailContainer","active","createElement","className","onKeyDown","role","tabIndex","ref"],"sources":["PdfViewerThumbnail.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 classnames from \"classnames\";\nimport type { PDFDocumentProxy, PDFPageProxy } from \"pdfjs-dist\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { DEVICE_PIXEL_RATIO, THUMBNAIL_SCALE } from \"./constants.js\";\nimport styles from \"./PdfViewerThumbnail.module.css\";\n\ninterface PdfViewerThumbnailProps {\n document: PDFDocumentProxy;\n pageNumber: number;\n isActive: boolean;\n onClick: () => void;\n}\n\nexport function PdfViewerThumbnail({\n document,\n pageNumber,\n isActive,\n onClick,\n}: PdfViewerThumbnailProps): React.ReactElement {\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const renderTaskRef = useRef<ReturnType<PDFPageProxy[\"render\"]> | null>(null);\n const [dimensions, setDimensions] = useState<\n { width: number; height: number } | undefined\n >(undefined);\n\n useEffect(() => {\n let cancelled = false;\n\n void document.getPage(pageNumber).then((page) => {\n if (cancelled || canvasRef.current == null) {\n return;\n }\n\n const viewport = page.getViewport({ scale: THUMBNAIL_SCALE });\n const canvas = canvasRef.current;\n const context = canvas.getContext(\"2d\");\n if (context == null) {\n return;\n }\n\n canvas.width = Math.floor(viewport.width * DEVICE_PIXEL_RATIO);\n canvas.height = Math.floor(viewport.height * DEVICE_PIXEL_RATIO);\n canvas.style.width = `${Math.floor(viewport.width)}px`;\n canvas.style.height = `${Math.floor(viewport.height)}px`;\n\n setDimensions({\n width: Math.floor(viewport.width),\n height: Math.floor(viewport.height),\n });\n\n if (renderTaskRef.current != null) {\n renderTaskRef.current.cancel();\n }\n\n context.setTransform(\n DEVICE_PIXEL_RATIO,\n 0,\n 0,\n DEVICE_PIXEL_RATIO,\n 0,\n 0,\n );\n\n const renderTask = page.render({\n canvasContext: context,\n viewport,\n });\n renderTaskRef.current = renderTask;\n\n void renderTask.promise.catch((err: unknown) => {\n if (err instanceof Error && err.message.includes(\"cancelled\")) {\n return;\n }\n throw err;\n });\n });\n\n return () => {\n cancelled = true;\n if (renderTaskRef.current != null) {\n renderTaskRef.current.cancel();\n renderTaskRef.current = null;\n }\n };\n }, [document, pageNumber]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onClick();\n }\n },\n [onClick],\n );\n\n const containerClassName = classnames(\n styles.thumbnailContainer,\n isActive && styles.active,\n );\n\n return (\n <div\n className={containerClassName}\n onClick={onClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n aria-label={`Page ${pageNumber}`}\n aria-current={isActive ? \"page\" : undefined}\n style={dimensions != null\n ? { width: dimensions.width, height: dimensions.height }\n : undefined}\n >\n <canvas ref={canvasRef} className={styles.canvas} />\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
.thumbnailContainer {
|
|
2
|
+
position: relative;
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
border: 2px solid transparent;
|
|
5
|
+
border-radius: var(--osdk-surface-border-radius);
|
|
6
|
+
box-shadow: var(--osdk-pdf-viewer-page-shadow);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
transition: border-color var(--osdk-emphasis-transition-duration)
|
|
9
|
+
var(--osdk-emphasis-ease-default);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.thumbnailContainer:hover {
|
|
13
|
+
border-color: var(--osdk-pdf-viewer-sidebar-border);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.active {
|
|
17
|
+
border-color: var(--osdk-pdf-viewer-sidebar-active-border);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.active:hover {
|
|
21
|
+
border-color: var(--osdk-pdf-viewer-sidebar-active-border);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.canvas {
|
|
25
|
+
display: block;
|
|
26
|
+
}
|