@osdk/react-components 0.2.0-beta.21 → 0.2.0-beta.23
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 +14 -97
- package/CHANGELOG.md +35 -0
- package/README.md +23 -7
- package/build/browser/action-form/ActionFormApi.js.map +1 -1
- package/build/browser/action-form/BaseForm.js +18 -5
- package/build/browser/action-form/BaseForm.js.map +1 -1
- package/build/browser/action-form/BaseForm.module.css +38 -0
- package/build/browser/action-form/BaseForm.module.css.js +8 -0
- package/build/browser/action-form/FormField.js +42 -0
- package/build/browser/action-form/FormField.js.map +1 -0
- package/build/browser/action-form/FormField.module.css +41 -0
- package/build/browser/action-form/FormField.module.css.js +10 -0
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/FormHeader.js +26 -0
- package/build/browser/action-form/FormHeader.js.map +1 -0
- package/build/browser/action-form/FormHeader.module.css +26 -0
- package/build/browser/action-form/FormHeader.module.css.js +6 -0
- package/build/browser/action-form/fields/DateCalendar.js +70 -0
- package/build/browser/action-form/fields/DateCalendar.js.map +1 -0
- package/build/browser/action-form/fields/DateCalendar.module.css +136 -0
- package/build/browser/action-form/fields/DateCalendar.module.css.js +22 -0
- package/build/browser/action-form/fields/DatetimePickerField.js +98 -0
- package/build/browser/action-form/fields/DatetimePickerField.js.map +1 -0
- package/build/browser/action-form/fields/DatetimePickerField.module.css +66 -0
- package/build/browser/action-form/fields/DatetimePickerField.module.css.js +10 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js +17 -6
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/browser/action-form/fields/LazyDateCalendar.js +27 -0
- package/build/browser/action-form/fields/LazyDateCalendar.js.map +1 -0
- package/build/browser/action-form/fields/TextInputField.js +2 -0
- package/build/browser/action-form/fields/TextInputField.js.map +1 -1
- package/build/browser/action-form/fields/TextInputField.module.css +56 -0
- package/build/browser/action-form/fields/TextInputField.module.css.js +6 -0
- package/build/browser/base-components/checkbox/Checkbox.js +2 -2
- package/build/browser/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/browser/base-components/checkbox/Checkbox.module.css +0 -4
- package/build/browser/base-components/combobox/Combobox.js +3 -8
- package/build/browser/base-components/combobox/Combobox.js.map +1 -1
- package/build/browser/base-components/combobox/Combobox.module.css +0 -3
- package/build/browser/base-components/draggable-list/DraggableList.js +2 -4
- package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -1
- package/build/browser/base-components/search-bar/SearchBar.module.css +2 -2
- package/build/browser/base-components/select/Select.js +1 -3
- package/build/browser/base-components/select/Select.js.map +1 -1
- package/build/browser/base-components/select/Select.module.css +0 -2
- package/build/browser/base-components/switch/Switch.module.css +0 -1
- package/build/browser/filter-list/FilterInput.js +14 -5
- package/build/browser/filter-list/FilterInput.js.map +1 -1
- package/build/browser/filter-list/FilterList.js +22 -10
- package/build/browser/filter-list/FilterList.js.map +1 -1
- package/build/browser/filter-list/FilterListApi.js.map +1 -1
- package/build/browser/filter-list/base/AddFilterPopover.js +4 -3
- package/build/browser/filter-list/base/AddFilterPopover.js.map +1 -1
- package/build/browser/filter-list/base/BaseFilterList.js +3 -1
- package/build/browser/filter-list/base/BaseFilterList.js.map +1 -1
- package/build/browser/filter-list/base/BaseFilterListApi.js.map +1 -1
- package/build/browser/filter-list/base/ExcludeDropdown.js +61 -0
- package/build/browser/filter-list/base/ExcludeDropdown.js.map +1 -0
- package/build/browser/filter-list/base/ExcludeDropdown.module.css +94 -0
- package/build/browser/filter-list/base/ExcludeDropdown.module.css.js +12 -0
- package/build/browser/filter-list/base/FilterIcons.js +0 -39
- package/build/browser/filter-list/base/FilterIcons.js.map +1 -1
- package/build/browser/filter-list/base/FilterInputExcludeRow.js +55 -0
- package/build/browser/filter-list/base/FilterInputExcludeRow.js.map +1 -0
- package/build/browser/filter-list/base/FilterListHeader.js +3 -2
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/browser/filter-list/base/FilterListItem.js +72 -23
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/FilterListItem.module.css +96 -20
- package/build/browser/filter-list/base/FilterListItem.module.css.js +7 -2
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js +2 -2
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js +2 -6
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/DateRangeInput.js +1 -1
- package/build/browser/filter-list/base/inputs/DateRangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ListogramInput.js +2 -2
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/MultiDateInput.js +1 -1
- package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/RangeInput.js +2 -2
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/SingleDateInput.js +1 -1
- package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +1 -3
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TimelineInput.js +1 -1
- package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/index.js +1 -1
- package/build/browser/filter-list/base/inputs/index.js.map +1 -1
- package/build/{esm/filter-list/base/inputs/useStaleData.js → browser/filter-list/base/inputs/useStableData.js} +5 -5
- package/build/browser/filter-list/base/inputs/useStableData.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterListState.js +3 -0
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterVisibility.js +7 -1
- package/build/browser/filter-list/hooks/useFilterVisibility.js.map +1 -1
- package/build/browser/filter-list/hooks/usePropertyAggregation.js +3 -2
- package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js +15 -5
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js +10 -6
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js +41 -18
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
- package/build/browser/filter-list/inputs/ListogramFilterInput.js +15 -5
- package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js +12 -4
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js +10 -6
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/PropertyFilterInput.js +36 -10
- package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js +12 -4
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js +12 -4
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js.map +1 -1
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +1 -1
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/browser/filter-list/utils/filterValues.js +29 -1
- package/build/browser/filter-list/utils/filterValues.js.map +1 -1
- package/build/browser/object-table/LoadingCell.js +2 -1
- package/build/browser/object-table/LoadingCell.js.map +1 -1
- package/build/browser/object-table/LoadingCell.module.css +3 -21
- package/build/browser/object-table/LoadingCell.module.css.js +1 -2
- package/build/browser/object-table/LoadingStateTable.js +2 -1
- package/build/browser/object-table/LoadingStateTable.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +1 -3
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.module.css +0 -1
- package/build/browser/object-table/TableCell.module.css +1 -1
- package/build/browser/object-table/TableHeader.module.css +2 -2
- package/build/browser/object-table/TableHeaderWithPopover.js +2 -4
- package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/browser/object-table/TableHeaderWithPopover.module.css +1 -0
- package/build/browser/pdf-viewer/PdfRenderer.js +1 -1
- package/build/browser/pdf-viewer/PdfRenderer.js.map +1 -1
- package/build/browser/pdf-viewer/PdfViewer.js +59 -118
- package/build/browser/pdf-viewer/PdfViewer.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/{esm/pdf-viewer → browser/pdf-viewer/components}/PdfViewerAnnotationLayer.module.css +0 -1
- package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.module.css.js +11 -0
- package/build/browser/pdf-viewer/components/PdfViewerContent.js +113 -0
- package/build/browser/pdf-viewer/components/PdfViewerContent.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.js +98 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.module.css +89 -0
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.module.css.js +15 -0
- package/build/browser/pdf-viewer/components/PdfViewerSearchBar.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerSearchBar.module.css.js +10 -0
- package/build/browser/pdf-viewer/{PdfViewerSidebar.js → components/PdfViewerSidebar.js} +9 -5
- package/build/browser/pdf-viewer/components/PdfViewerSidebar.js.map +1 -0
- package/build/{esm/pdf-viewer → browser/pdf-viewer/components}/PdfViewerSidebar.module.css +0 -9
- package/build/browser/pdf-viewer/{PdfViewerSidebar.module.css.js → components/PdfViewerSidebar.module.css.js} +5 -6
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.js +54 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.js.map +1 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.module.css +70 -0
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.module.css.js +8 -0
- package/build/browser/pdf-viewer/{PdfViewerThumbnail.js → components/PdfViewerThumbnail.js} +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerThumbnail.js.map +1 -0
- package/build/browser/pdf-viewer/{PdfViewerThumbnail.module.css.js → components/PdfViewerThumbnail.module.css.js} +3 -3
- package/build/browser/pdf-viewer/{PdfViewerToolbar.js → components/PdfViewerToolbar.js} +39 -12
- package/build/browser/pdf-viewer/components/PdfViewerToolbar.js.map +1 -0
- package/build/browser/pdf-viewer/{PdfViewerToolbar.module.css → components/PdfViewerToolbar.module.css} +2 -2
- package/build/browser/pdf-viewer/components/PdfViewerToolbar.module.css.js +12 -0
- package/build/browser/pdf-viewer/constants.js +7 -5
- package/build/browser/pdf-viewer/constants.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js +2 -3
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfOutline.js +268 -0
- package/build/browser/pdf-viewer/hooks/usePdfOutline.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js +12 -1
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfViewerCore.js +80 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerCore.js.map +1 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerState.js +135 -0
- package/build/browser/pdf-viewer/hooks/usePdfViewerState.js.map +1 -0
- package/build/browser/pdf-viewer/types.js.map +1 -1
- package/build/browser/public/experimental.js +23 -2
- package/build/browser/public/experimental.js.map +1 -1
- package/build/browser/public/primitives.js +20 -0
- package/build/browser/public/primitives.js.map +1 -0
- package/build/browser/{filter-list/base/inputs → shared}/dateUtils.js +38 -2
- package/build/browser/shared/dateUtils.js.map +1 -0
- package/build/browser/styles.css +817 -136
- package/build/cjs/DateCalendar-QWGFKD6J.css +113 -0
- package/build/cjs/DateCalendar-QWGFKD6J.css.map +1 -0
- package/build/cjs/DateCalendar-R44GMN3O.cjs +67 -0
- package/build/cjs/DateCalendar-R44GMN3O.cjs.map +1 -0
- package/build/cjs/chunk-GT6IV6LV.cjs +163 -0
- package/build/cjs/chunk-GT6IV6LV.cjs.map +1 -0
- package/build/cjs/chunk-HMQTYQEX.cjs +9 -0
- package/build/cjs/chunk-HMQTYQEX.cjs.map +1 -0
- package/build/cjs/chunk-UZ2E5NRX.cjs +8 -0
- package/build/cjs/chunk-UZ2E5NRX.cjs.map +1 -0
- package/build/cjs/index.cjs +2 -0
- package/build/cjs/public/experimental.cjs +3227 -1848
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +650 -172
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +685 -17
- package/build/cjs/public/primitives.cjs +25 -0
- package/build/cjs/public/primitives.cjs.map +1 -0
- package/build/cjs/public/primitives.css +154 -0
- package/build/cjs/public/primitives.css.map +1 -0
- package/build/cjs/public/primitives.d.cts +49 -0
- package/build/esm/action-form/ActionFormApi.js.map +1 -1
- package/build/esm/action-form/BaseForm.js +18 -5
- package/build/esm/action-form/BaseForm.js.map +1 -1
- package/build/esm/action-form/BaseForm.module.css +38 -0
- package/build/esm/action-form/FormField.js +42 -0
- package/build/esm/action-form/FormField.js.map +1 -0
- package/build/esm/action-form/FormField.module.css +41 -0
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/FormHeader.js +26 -0
- package/build/esm/action-form/FormHeader.js.map +1 -0
- package/build/esm/action-form/FormHeader.module.css +26 -0
- package/build/esm/action-form/fields/DateCalendar.js +70 -0
- package/build/esm/action-form/fields/DateCalendar.js.map +1 -0
- package/build/esm/action-form/fields/DateCalendar.module.css +136 -0
- package/build/esm/action-form/fields/DatetimePickerField.js +98 -0
- package/build/esm/action-form/fields/DatetimePickerField.js.map +1 -0
- package/build/esm/action-form/fields/DatetimePickerField.module.css +66 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js +17 -6
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/esm/action-form/fields/LazyDateCalendar.js +27 -0
- package/build/esm/action-form/fields/LazyDateCalendar.js.map +1 -0
- package/build/esm/action-form/fields/TextInputField.js +2 -0
- package/build/esm/action-form/fields/TextInputField.js.map +1 -1
- package/build/esm/action-form/fields/TextInputField.module.css +56 -0
- package/build/esm/base-components/checkbox/Checkbox.js +2 -2
- package/build/esm/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/esm/base-components/checkbox/Checkbox.module.css +0 -4
- package/build/esm/base-components/combobox/Combobox.js +3 -8
- package/build/esm/base-components/combobox/Combobox.js.map +1 -1
- package/build/esm/base-components/combobox/Combobox.module.css +0 -3
- package/build/esm/base-components/draggable-list/DraggableList.js +2 -4
- package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -1
- package/build/esm/base-components/search-bar/SearchBar.module.css +2 -2
- package/build/esm/base-components/select/Select.js +1 -3
- package/build/esm/base-components/select/Select.js.map +1 -1
- package/build/esm/base-components/select/Select.module.css +0 -2
- package/build/esm/base-components/switch/Switch.module.css +0 -1
- package/build/esm/filter-list/FilterInput.js +14 -5
- package/build/esm/filter-list/FilterInput.js.map +1 -1
- package/build/esm/filter-list/FilterList.js +22 -10
- package/build/esm/filter-list/FilterList.js.map +1 -1
- package/build/esm/filter-list/FilterListApi.js.map +1 -1
- package/build/esm/filter-list/base/AddFilterPopover.js +4 -3
- package/build/esm/filter-list/base/AddFilterPopover.js.map +1 -1
- package/build/esm/filter-list/base/BaseFilterList.js +3 -1
- package/build/esm/filter-list/base/BaseFilterList.js.map +1 -1
- package/build/esm/filter-list/base/BaseFilterListApi.js.map +1 -1
- package/build/esm/filter-list/base/ExcludeDropdown.js +61 -0
- package/build/esm/filter-list/base/ExcludeDropdown.js.map +1 -0
- package/build/esm/filter-list/base/ExcludeDropdown.module.css +94 -0
- package/build/esm/filter-list/base/FilterIcons.js +0 -39
- package/build/esm/filter-list/base/FilterIcons.js.map +1 -1
- package/build/esm/filter-list/base/FilterInputExcludeRow.js +55 -0
- package/build/esm/filter-list/base/FilterInputExcludeRow.js.map +1 -0
- package/build/esm/filter-list/base/FilterListHeader.js +3 -2
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/esm/filter-list/base/FilterListItem.js +72 -23
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/FilterListItem.module.css +96 -20
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js +2 -2
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js +2 -6
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/DateRangeInput.js +1 -1
- package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ListogramInput.js +2 -2
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/MultiDateInput.js +1 -1
- package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/RangeInput.js +2 -2
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/SingleDateInput.js +1 -1
- package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +1 -3
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TimelineInput.js +1 -1
- package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/index.js +1 -1
- package/build/esm/filter-list/base/inputs/index.js.map +1 -1
- package/build/{browser/filter-list/base/inputs/useStaleData.js → esm/filter-list/base/inputs/useStableData.js} +5 -5
- package/build/esm/filter-list/base/inputs/useStableData.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterListState.js +3 -0
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterVisibility.js +7 -1
- package/build/esm/filter-list/hooks/useFilterVisibility.js.map +1 -1
- package/build/esm/filter-list/hooks/usePropertyAggregation.js +3 -2
- package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js +15 -5
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js +10 -6
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js +41 -18
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
- package/build/esm/filter-list/inputs/ListogramFilterInput.js +15 -5
- package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js +12 -4
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js +10 -6
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/PropertyFilterInput.js +36 -10
- package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js +12 -4
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js +12 -4
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js.map +1 -1
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +1 -1
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/esm/filter-list/utils/filterValues.js +29 -1
- package/build/esm/filter-list/utils/filterValues.js.map +1 -1
- package/build/esm/object-table/LoadingCell.js +2 -1
- package/build/esm/object-table/LoadingCell.js.map +1 -1
- package/build/esm/object-table/LoadingCell.module.css +3 -21
- package/build/esm/object-table/LoadingStateTable.js +2 -1
- package/build/esm/object-table/LoadingStateTable.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.js +1 -3
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.module.css +0 -1
- package/build/esm/object-table/TableCell.module.css +1 -1
- package/build/esm/object-table/TableHeader.module.css +2 -2
- package/build/esm/object-table/TableHeaderWithPopover.js +2 -4
- package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/esm/object-table/TableHeaderWithPopover.module.css +1 -0
- package/build/esm/pdf-viewer/PdfRenderer.js +1 -1
- package/build/esm/pdf-viewer/PdfRenderer.js.map +1 -1
- package/build/esm/pdf-viewer/PdfViewer.js +59 -118
- package/build/esm/pdf-viewer/PdfViewer.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -0
- package/build/{browser/pdf-viewer → esm/pdf-viewer/components}/PdfViewerAnnotationLayer.module.css +0 -1
- package/build/esm/pdf-viewer/components/PdfViewerContent.js +113 -0
- package/build/esm/pdf-viewer/components/PdfViewerContent.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.js +98 -0
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.module.css +89 -0
- package/build/esm/pdf-viewer/components/PdfViewerSearchBar.js.map +1 -0
- package/build/esm/pdf-viewer/{PdfViewerSidebar.js → components/PdfViewerSidebar.js} +9 -5
- package/build/esm/pdf-viewer/components/PdfViewerSidebar.js.map +1 -0
- package/build/{browser/pdf-viewer → esm/pdf-viewer/components}/PdfViewerSidebar.module.css +0 -9
- package/build/esm/pdf-viewer/components/PdfViewerSidebarHeader.js +54 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebarHeader.js.map +1 -0
- package/build/esm/pdf-viewer/components/PdfViewerSidebarHeader.module.css +70 -0
- package/build/esm/pdf-viewer/{PdfViewerThumbnail.js → components/PdfViewerThumbnail.js} +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerThumbnail.js.map +1 -0
- package/build/esm/pdf-viewer/{PdfViewerToolbar.js → components/PdfViewerToolbar.js} +39 -12
- package/build/esm/pdf-viewer/components/PdfViewerToolbar.js.map +1 -0
- package/build/esm/pdf-viewer/{PdfViewerToolbar.module.css → components/PdfViewerToolbar.module.css} +2 -2
- package/build/esm/pdf-viewer/constants.js +7 -5
- package/build/esm/pdf-viewer/constants.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js +2 -3
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfOutline.js +268 -0
- package/build/esm/pdf-viewer/hooks/usePdfOutline.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js +12 -1
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfViewerCore.js +80 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerCore.js.map +1 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerState.js +135 -0
- package/build/esm/pdf-viewer/hooks/usePdfViewerState.js.map +1 -0
- package/build/esm/pdf-viewer/types.js.map +1 -1
- package/build/esm/public/experimental.js +23 -2
- package/build/esm/public/experimental.js.map +1 -1
- package/build/esm/public/primitives.js +20 -0
- package/build/esm/public/primitives.js.map +1 -0
- package/build/esm/{filter-list/base/inputs → shared}/dateUtils.js +38 -2
- package/build/esm/shared/dateUtils.js.map +1 -0
- package/build/types/action-form/ActionFormApi.d.ts +1 -0
- package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
- package/build/types/action-form/BaseForm.d.ts.map +1 -1
- package/build/types/action-form/FormField.d.ts +11 -0
- package/build/types/action-form/FormField.d.ts.map +1 -0
- package/build/types/action-form/FormFieldApi.d.ts +22 -8
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/FormHeader.d.ts +6 -0
- package/build/types/action-form/FormHeader.d.ts.map +1 -0
- package/build/types/action-form/fields/DateCalendar.d.ts +9 -0
- package/build/types/action-form/fields/DateCalendar.d.ts.map +1 -0
- package/build/types/action-form/fields/DatetimePickerField.d.ts +3 -0
- package/build/types/action-form/fields/DatetimePickerField.d.ts.map +1 -0
- package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -1
- package/build/types/action-form/fields/LazyDateCalendar.d.ts +3 -0
- package/build/types/action-form/fields/LazyDateCalendar.d.ts.map +1 -0
- package/build/types/action-form/fields/TextInputField.d.ts.map +1 -1
- package/build/types/filter-list/FilterInput.d.ts +3 -1
- package/build/types/filter-list/FilterInput.d.ts.map +1 -1
- package/build/types/filter-list/FilterListApi.d.ts +14 -10
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/base/AddFilterPopover.d.ts +2 -1
- package/build/types/filter-list/base/AddFilterPopover.d.ts.map +1 -1
- package/build/types/filter-list/base/BaseFilterListApi.d.ts +4 -1
- package/build/types/filter-list/base/BaseFilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/base/ExcludeDropdown.d.ts +8 -0
- package/build/types/filter-list/base/ExcludeDropdown.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterIcons.d.ts +0 -2
- package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterInputExcludeRow.d.ts +12 -0
- package/build/types/filter-list/base/FilterInputExcludeRow.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListHeader.d.ts +3 -2
- package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/SingleDateInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/index.d.ts +1 -1
- package/build/types/filter-list/base/inputs/index.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/useStableData.d.ts +1 -0
- package/build/types/filter-list/base/inputs/useStableData.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts +2 -0
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts.map +1 -1
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +2 -2
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -1
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts +5 -2
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts +3 -2
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts +2 -1
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts +5 -2
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts +4 -2
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts +3 -2
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts +3 -1
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts +4 -2
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts +4 -2
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterValues.d.ts +2 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
- package/build/types/object-table/LoadingCell.d.ts.map +1 -1
- package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
- package/build/types/pdf-viewer/PdfRenderer.d.ts +2 -2
- package/build/types/pdf-viewer/PdfRenderer.d.ts.map +1 -1
- package/build/types/pdf-viewer/PdfViewer.d.ts +1 -1
- package/build/types/pdf-viewer/PdfViewer.d.ts.map +1 -1
- package/build/types/pdf-viewer/{PdfViewerAnnotationLayer.d.ts → components/PdfViewerAnnotationLayer.d.ts} +2 -3
- package/build/types/pdf-viewer/components/PdfViewerAnnotationLayer.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerContent.d.ts +22 -0
- package/build/types/pdf-viewer/components/PdfViewerContent.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerOutlineSidebar.d.ts +11 -0
- package/build/types/pdf-viewer/components/PdfViewerOutlineSidebar.d.ts.map +1 -0
- package/build/types/pdf-viewer/{PdfViewerSearchBar.d.ts → components/PdfViewerSearchBar.d.ts} +1 -2
- package/build/types/pdf-viewer/components/PdfViewerSearchBar.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebar.d.ts +12 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebar.d.ts.map +1 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebarHeader.d.ts +7 -0
- package/build/types/pdf-viewer/components/PdfViewerSidebarHeader.d.ts.map +1 -0
- package/build/types/pdf-viewer/{PdfViewerThumbnail.d.ts.map → components/PdfViewerThumbnail.d.ts.map} +1 -1
- package/build/types/pdf-viewer/{PdfViewerToolbar.d.ts → components/PdfViewerToolbar.d.ts} +5 -3
- package/build/types/pdf-viewer/components/PdfViewerToolbar.d.ts.map +1 -0
- package/build/types/pdf-viewer/constants.d.ts +5 -0
- package/build/types/pdf-viewer/constants.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfDocument.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfOutline.d.ts +3 -0
- package/build/types/pdf-viewer/hooks/usePdfOutline.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts +1 -1
- package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfViewerCore.d.ts +43 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerCore.d.ts.map +1 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerState.d.ts +39 -0
- package/build/types/pdf-viewer/hooks/usePdfViewerState.d.ts.map +1 -0
- package/build/types/pdf-viewer/types.d.ts +42 -0
- package/build/types/pdf-viewer/types.d.ts.map +1 -1
- package/build/types/public/experimental.d.ts +21 -2
- package/build/types/public/experimental.d.ts.map +1 -1
- package/build/types/public/primitives.d.ts +3 -0
- package/build/types/public/primitives.d.ts.map +1 -0
- package/build/types/shared/dateUtils.d.ts +31 -0
- package/build/types/shared/dateUtils.d.ts.map +1 -0
- package/package.json +14 -4
- package/primitives.d.ts +17 -0
- package/build/browser/filter-list/base/inputs/dateUtils.js.map +0 -1
- package/build/browser/filter-list/base/inputs/useStaleData.js.map +0 -1
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.js.map +0 -1
- package/build/browser/pdf-viewer/PdfViewerAnnotationLayer.module.css.js +0 -11
- package/build/browser/pdf-viewer/PdfViewerSearchBar.js.map +0 -1
- package/build/browser/pdf-viewer/PdfViewerSearchBar.module.css.js +0 -10
- package/build/browser/pdf-viewer/PdfViewerSidebar.js.map +0 -1
- package/build/browser/pdf-viewer/PdfViewerThumbnail.js.map +0 -1
- package/build/browser/pdf-viewer/PdfViewerToolbar.js.map +0 -1
- package/build/browser/pdf-viewer/PdfViewerToolbar.module.css.js +0 -12
- package/build/esm/filter-list/base/inputs/dateUtils.js.map +0 -1
- package/build/esm/filter-list/base/inputs/useStaleData.js.map +0 -1
- package/build/esm/pdf-viewer/PdfViewerAnnotationLayer.js.map +0 -1
- package/build/esm/pdf-viewer/PdfViewerSearchBar.js.map +0 -1
- package/build/esm/pdf-viewer/PdfViewerSidebar.js.map +0 -1
- package/build/esm/pdf-viewer/PdfViewerThumbnail.js.map +0 -1
- package/build/esm/pdf-viewer/PdfViewerToolbar.js.map +0 -1
- package/build/types/filter-list/base/inputs/dateUtils.d.ts +0 -17
- package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +0 -1
- package/build/types/filter-list/base/inputs/useStaleData.d.ts +0 -1
- package/build/types/filter-list/base/inputs/useStaleData.d.ts.map +0 -1
- package/build/types/pdf-viewer/PdfViewerAnnotationLayer.d.ts.map +0 -1
- package/build/types/pdf-viewer/PdfViewerSearchBar.d.ts.map +0 -1
- package/build/types/pdf-viewer/PdfViewerSidebar.d.ts +0 -10
- package/build/types/pdf-viewer/PdfViewerSidebar.d.ts.map +0 -1
- package/build/types/pdf-viewer/PdfViewerToolbar.d.ts.map +0 -1
- /package/build/browser/pdf-viewer/{PdfViewerAnnotationLayer.js → components/PdfViewerAnnotationLayer.js} +0 -0
- /package/build/browser/pdf-viewer/{PdfViewerSearchBar.js → components/PdfViewerSearchBar.js} +0 -0
- /package/build/browser/pdf-viewer/{PdfViewerSearchBar.module.css → components/PdfViewerSearchBar.module.css} +0 -0
- /package/build/browser/pdf-viewer/{PdfViewerThumbnail.module.css → components/PdfViewerThumbnail.module.css} +0 -0
- /package/build/esm/pdf-viewer/{PdfViewerAnnotationLayer.js → components/PdfViewerAnnotationLayer.js} +0 -0
- /package/build/esm/pdf-viewer/{PdfViewerSearchBar.js → components/PdfViewerSearchBar.js} +0 -0
- /package/build/esm/pdf-viewer/{PdfViewerSearchBar.module.css → components/PdfViewerSearchBar.module.css} +0 -0
- /package/build/esm/pdf-viewer/{PdfViewerThumbnail.module.css → components/PdfViewerThumbnail.module.css} +0 -0
- /package/build/types/pdf-viewer/{PdfViewerThumbnail.d.ts → components/PdfViewerThumbnail.d.ts} +0 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import React__default, { ReactNode, ReactElement } from 'react';
|
|
3
|
-
import { ObjectTypeDefinition, ObjectSet, WhereClause, PropertyKeys, LinkNames, LinkedType, WirePropertyTypes, CompileTimeMetadata, ObjectOrInterfaceDefinition, SimplePropertyDef, QueryDefinition, QueryMetadata, Osdk, DerivedProperty, PrimaryKeyType, Media } from '@osdk/api';
|
|
2
|
+
import React__default, { ReactNode, ReactElement, RefObject } from 'react';
|
|
3
|
+
import { ObjectTypeDefinition, ObjectSet, WhereClause, PropertyKeys, LinkNames, LinkedType, WirePropertyTypes, CompileTimeMetadata, ObjectOrInterfaceDefinition, SimplePropertyDef, QueryDefinition, QueryMetadata, Osdk, DerivedProperty, PrimaryKeyType, Media, ActionDefinition, ActionMetadata, ActionParam, DataValueClientToWire, ActionEditResponse, ActionValidationResponse } from '@osdk/api';
|
|
4
4
|
import { RowData, Table, Cell, VisibilityState, ColumnOrderState } from '@tanstack/react-table';
|
|
5
|
+
import { PDFDocumentProxy } from 'pdfjs-dist';
|
|
6
|
+
import { PDFViewer, EventBus, PDFFindController } from 'pdfjs-dist/web/pdf_viewer.mjs';
|
|
7
|
+
import { ActionValidationError } from '@osdk/client';
|
|
5
8
|
|
|
6
9
|
/**
|
|
7
10
|
* State for custom filter
|
|
@@ -358,6 +361,8 @@ type RenderFilterInput<D> = (props: {
|
|
|
358
361
|
filterKey: string;
|
|
359
362
|
filterState: FilterState | undefined;
|
|
360
363
|
onFilterStateChanged: (state: FilterState) => void;
|
|
364
|
+
searchQuery?: string;
|
|
365
|
+
excludeRowOpen?: boolean;
|
|
361
366
|
}) => React__default.ReactNode;
|
|
362
367
|
interface BaseFilterListProps<D> {
|
|
363
368
|
filterDefinitions?: Array<D>;
|
|
@@ -372,10 +377,11 @@ interface BaseFilterListProps<D> {
|
|
|
372
377
|
onFilterRemoved?: (filterKey: string) => void;
|
|
373
378
|
collapsed?: boolean;
|
|
374
379
|
onCollapsedChange?: (collapsed: boolean) => void;
|
|
375
|
-
title?:
|
|
380
|
+
title?: React__default.ReactNode;
|
|
376
381
|
titleIcon?: React__default.ReactNode;
|
|
377
382
|
showResetButton?: boolean;
|
|
378
383
|
showActiveFilterCount?: boolean;
|
|
384
|
+
hasVisibilityChanges?: boolean;
|
|
379
385
|
enableSorting?: boolean;
|
|
380
386
|
className?: string;
|
|
381
387
|
renderAddFilterButton?: () => React__default.ReactNode;
|
|
@@ -403,7 +409,7 @@ interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
|
403
409
|
/**
|
|
404
410
|
* Optional title to display in the filter list header
|
|
405
411
|
*/
|
|
406
|
-
title?:
|
|
412
|
+
title?: ReactNode;
|
|
407
413
|
/**
|
|
408
414
|
* Optional icon to display next to the title
|
|
409
415
|
*/
|
|
@@ -442,14 +448,14 @@ interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
|
442
448
|
/**
|
|
443
449
|
* Controls how filter visibility (add/remove) is managed.
|
|
444
450
|
*
|
|
445
|
-
* - `"
|
|
446
|
-
*
|
|
447
|
-
*
|
|
448
|
-
* - `"
|
|
449
|
-
*
|
|
450
|
-
*
|
|
451
|
+
* - `"uncontrolled"` (default): FilterList manages visibility internally.
|
|
452
|
+
* An "Add filter" popover is rendered for filters with `isVisible: false`,
|
|
453
|
+
* and each visible filter shows a remove button.
|
|
454
|
+
* - `"controlled"`: The consumer manages which filters are visible via
|
|
455
|
+
* `filterDefinitions`. Filters with `isVisible: false` are excluded from
|
|
456
|
+
* the rendered list.
|
|
451
457
|
*
|
|
452
|
-
* @default "
|
|
458
|
+
* @default "uncontrolled"
|
|
453
459
|
*/
|
|
454
460
|
addFilterMode?: "controlled" | "uncontrolled";
|
|
455
461
|
/**
|
|
@@ -510,8 +516,11 @@ interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
|
510
516
|
className?: string;
|
|
511
517
|
/**
|
|
512
518
|
* Custom render function for the "Add filter" button.
|
|
513
|
-
*
|
|
514
|
-
*
|
|
519
|
+
*
|
|
520
|
+
* - In uncontrolled mode: customizes the trigger element for the built-in
|
|
521
|
+
* add-filter popover. The popover behavior is handled automatically.
|
|
522
|
+
* - In controlled mode: replaces the entire add-filter button area.
|
|
523
|
+
* The consumer is responsible for all add-filter behavior.
|
|
515
524
|
*/
|
|
516
525
|
renderAddFilterButton?: () => React__default.ReactNode;
|
|
517
526
|
}
|
|
@@ -911,6 +920,16 @@ interface ColumnConfigDialogProps {
|
|
|
911
920
|
}
|
|
912
921
|
declare function ColumnConfigDialog({ isOpen, onClose, columnOptions, currentVisibility, currentColumnOrder, onApply, isValidConfig, }: ColumnConfigDialogProps): React__default.ReactElement | null;
|
|
913
922
|
|
|
923
|
+
/** Which sidebar panel to display when the sidebar is open. */
|
|
924
|
+
type SidebarMode = "thumbnails" | "outline";
|
|
925
|
+
/** A single item in the PDF document outline (table of contents). */
|
|
926
|
+
interface OutlineItem {
|
|
927
|
+
title: string;
|
|
928
|
+
depth: number;
|
|
929
|
+
pageNumber: number;
|
|
930
|
+
bold: boolean;
|
|
931
|
+
italic: boolean;
|
|
932
|
+
}
|
|
914
933
|
/** The visual style of an annotation rendered on the PDF. */
|
|
915
934
|
type AnnotationType = "highlight" | "underline" | "comment" | "pin";
|
|
916
935
|
/** A single annotation positioned on a specific page of the PDF. */
|
|
@@ -933,6 +952,14 @@ interface PdfAnnotation {
|
|
|
933
952
|
/** Optional color override (CSS color string) */
|
|
934
953
|
color?: string;
|
|
935
954
|
}
|
|
955
|
+
/** Result passed to the {@link PdfViewerProps.onDownload} callback. */
|
|
956
|
+
type PdfDownloadResult = {
|
|
957
|
+
success: true;
|
|
958
|
+
filename: string;
|
|
959
|
+
} | {
|
|
960
|
+
success: false;
|
|
961
|
+
error: Error;
|
|
962
|
+
};
|
|
936
963
|
/** Props for the {@link PdfViewer} component. */
|
|
937
964
|
interface PdfViewerProps {
|
|
938
965
|
/** PDF source — URL string or ArrayBuffer */
|
|
@@ -946,22 +973,663 @@ interface PdfViewerProps {
|
|
|
946
973
|
* @returns void
|
|
947
974
|
*/
|
|
948
975
|
onAnnotationClick?: (annotation: PdfAnnotation) => void;
|
|
976
|
+
/**
|
|
977
|
+
* Callback fired when a download completes or fails.
|
|
978
|
+
*
|
|
979
|
+
* @param result - The download result indicating success with the filename, or failure with an error
|
|
980
|
+
* @returns void
|
|
981
|
+
*/
|
|
982
|
+
onDownload?: (result: PdfDownloadResult) => void;
|
|
949
983
|
/** Initial page number (1-indexed, default 1) */
|
|
950
984
|
initialPage?: number;
|
|
951
985
|
/** Initial zoom scale (default 1.0) */
|
|
952
986
|
initialScale?: number;
|
|
953
987
|
/** Whether the sidebar is initially open (default false) */
|
|
954
988
|
initialSidebarOpen?: boolean;
|
|
989
|
+
/**
|
|
990
|
+
* Whether the download button is shown in the toolbar.
|
|
991
|
+
* @default false
|
|
992
|
+
*/
|
|
993
|
+
enableDownload?: boolean;
|
|
994
|
+
/**
|
|
995
|
+
* Which sidebar panel to show: thumbnails or document outline.
|
|
996
|
+
* @default "thumbnails"
|
|
997
|
+
*/
|
|
998
|
+
sidebarMode?: SidebarMode;
|
|
999
|
+
/**
|
|
1000
|
+
* Custom icon components for each outline depth level (0-indexed).
|
|
1001
|
+
* Key 0 = top-level items, 1 = first nesting level, etc.
|
|
1002
|
+
* If omitted, no icons are rendered.
|
|
1003
|
+
*/
|
|
1004
|
+
outlineIcons?: Partial<Record<number, React__default.ComponentType>>;
|
|
1005
|
+
/** Additional CSS class name for the root element */
|
|
1006
|
+
className?: string;
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
declare function BasePdfViewer({ src, annotations, onAnnotationClick, onDownload, initialPage, initialScale, initialSidebarOpen, enableDownload, sidebarMode: sidebarModeProp, outlineIcons, className, }: PdfViewerProps): React__default.ReactElement;
|
|
1010
|
+
|
|
1011
|
+
interface PdfViewerAnnotationLayerProps {
|
|
1012
|
+
annotations: PdfAnnotation[];
|
|
1013
|
+
pageHeight: number;
|
|
1014
|
+
scale: number;
|
|
1015
|
+
onAnnotationClick?: (annotation: PdfAnnotation) => void;
|
|
1016
|
+
}
|
|
1017
|
+
declare function PdfViewerAnnotationLayer({ annotations, pageHeight, scale, onAnnotationClick, }: PdfViewerAnnotationLayerProps): React__default.ReactElement;
|
|
1018
|
+
|
|
1019
|
+
interface PdfViewerContentProps {
|
|
1020
|
+
/** PDF source — URL string or ArrayBuffer */
|
|
1021
|
+
src: string | ArrayBuffer;
|
|
1022
|
+
/** Annotations to overlay on the PDF, keyed by page number (1-indexed) */
|
|
1023
|
+
annotations?: Record<number, PdfAnnotation[]>;
|
|
1024
|
+
/** Callback fired when an annotation is clicked */
|
|
1025
|
+
onAnnotationClick?: (annotation: PdfAnnotation) => void;
|
|
1026
|
+
/** Initial page number (1-indexed, default 1) */
|
|
1027
|
+
initialPage?: number;
|
|
1028
|
+
/** Initial zoom scale (default 1.0) */
|
|
1029
|
+
initialScale?: number;
|
|
1030
|
+
/** Callback fired when the current page changes during scrolling */
|
|
1031
|
+
onPageChange?: (page: number) => void;
|
|
1032
|
+
/** Callback fired when the zoom scale changes */
|
|
1033
|
+
onScaleChange?: (scale: number) => void;
|
|
955
1034
|
/** Additional CSS class name for the root element */
|
|
956
1035
|
className?: string;
|
|
957
1036
|
}
|
|
1037
|
+
declare function PdfViewerContent({ src, annotations, onAnnotationClick, initialPage, initialScale, onPageChange: onPageChangeProp, onScaleChange: onScaleChangeProp, className, }: PdfViewerContentProps): React__default.ReactElement;
|
|
1038
|
+
|
|
1039
|
+
interface PdfViewerOutlineSidebarProps {
|
|
1040
|
+
outlineItems: OutlineItem[];
|
|
1041
|
+
currentPage: number;
|
|
1042
|
+
onItemClick: (pageNumber: number) => void;
|
|
1043
|
+
sidebarMode: SidebarMode;
|
|
1044
|
+
onSidebarModeChange: (mode: SidebarMode) => void;
|
|
1045
|
+
outlineIcons?: Partial<Record<number, React__default.ComponentType>>;
|
|
1046
|
+
}
|
|
1047
|
+
declare function PdfViewerOutlineSidebar({ outlineItems, currentPage, onItemClick, sidebarMode, onSidebarModeChange, outlineIcons, }: PdfViewerOutlineSidebarProps): React__default.ReactElement;
|
|
1048
|
+
|
|
1049
|
+
interface PdfViewerSearchBarProps {
|
|
1050
|
+
query: string;
|
|
1051
|
+
totalMatches: number;
|
|
1052
|
+
currentMatchIndex: number;
|
|
1053
|
+
onQueryChange: (query: string) => void;
|
|
1054
|
+
onNext: () => void;
|
|
1055
|
+
onPrev: () => void;
|
|
1056
|
+
onClose: () => void;
|
|
1057
|
+
}
|
|
1058
|
+
declare function PdfViewerSearchBar({ query, totalMatches, currentMatchIndex, onQueryChange, onNext, onPrev, onClose, }: PdfViewerSearchBarProps): React__default.ReactElement;
|
|
1059
|
+
|
|
1060
|
+
interface PdfViewerSidebarProps {
|
|
1061
|
+
document: PDFDocumentProxy;
|
|
1062
|
+
numPages: number;
|
|
1063
|
+
currentPage: number;
|
|
1064
|
+
onPageClick: (page: number) => void;
|
|
1065
|
+
sidebarMode: SidebarMode;
|
|
1066
|
+
onSidebarModeChange: (mode: SidebarMode) => void;
|
|
1067
|
+
}
|
|
1068
|
+
declare function PdfViewerSidebar({ document, numPages, currentPage, onPageClick, sidebarMode, onSidebarModeChange, }: PdfViewerSidebarProps): React__default.ReactElement;
|
|
1069
|
+
|
|
1070
|
+
interface PdfViewerToolbarProps {
|
|
1071
|
+
currentPage: number;
|
|
1072
|
+
numPages: number;
|
|
1073
|
+
scale: number;
|
|
1074
|
+
sidebarOpen: boolean;
|
|
1075
|
+
onPageChange: (page: number) => void;
|
|
1076
|
+
onScaleChange: (scale: number) => void;
|
|
1077
|
+
onSearchOpen: () => void;
|
|
1078
|
+
onSidebarToggle: () => void;
|
|
1079
|
+
onDownload: () => void;
|
|
1080
|
+
enableDownload: boolean;
|
|
1081
|
+
onRotateLeft: () => void;
|
|
1082
|
+
onRotateRight: () => void;
|
|
1083
|
+
}
|
|
1084
|
+
declare function PdfViewerToolbar({ currentPage, numPages, scale, sidebarOpen, onPageChange, onScaleChange, onSearchOpen, onSidebarToggle, onDownload, enableDownload, onRotateLeft, onRotateRight, }: PdfViewerToolbarProps): React__default.ReactElement;
|
|
1085
|
+
|
|
1086
|
+
interface AnnotationPortalTarget {
|
|
1087
|
+
pageNumber: number;
|
|
1088
|
+
container: HTMLDivElement;
|
|
1089
|
+
pageHeight: number;
|
|
1090
|
+
scale: number;
|
|
1091
|
+
}
|
|
1092
|
+
declare function usePdfAnnotationPortals(pdfViewerRef: RefObject<PDFViewer | null>, eventBusRef: RefObject<EventBus | null>, document: PDFDocumentProxy | undefined): AnnotationPortalTarget[];
|
|
1093
|
+
|
|
1094
|
+
interface UsePdfDocumentResult {
|
|
1095
|
+
document: PDFDocumentProxy | undefined;
|
|
1096
|
+
numPages: number;
|
|
1097
|
+
loading: boolean;
|
|
1098
|
+
error: Error | undefined;
|
|
1099
|
+
}
|
|
1100
|
+
declare function usePdfDocument(src: string | ArrayBuffer): UsePdfDocumentResult;
|
|
1101
|
+
|
|
1102
|
+
declare function usePdfOutline(document: PDFDocumentProxy | undefined): OutlineItem[];
|
|
1103
|
+
|
|
1104
|
+
interface UsePdfViewerResult {
|
|
1105
|
+
pdfViewerRef: RefObject<PDFViewer | null>;
|
|
1106
|
+
eventBusRef: RefObject<EventBus | null>;
|
|
1107
|
+
findControllerRef: RefObject<PDFFindController | null>;
|
|
1108
|
+
}
|
|
1109
|
+
declare function usePdfViewer(containerRef: RefObject<HTMLDivElement | null>, viewerRef: RefObject<HTMLDivElement | null>, document: PDFDocumentProxy | undefined, initialScale?: number, initialPage?: number): UsePdfViewerResult;
|
|
1110
|
+
|
|
1111
|
+
interface UsePdfViewerSearchResult {
|
|
1112
|
+
query: string;
|
|
1113
|
+
totalMatches: number;
|
|
1114
|
+
currentMatchIndex: number;
|
|
1115
|
+
isSearchOpen: boolean;
|
|
1116
|
+
setQuery: (query: string) => void;
|
|
1117
|
+
nextMatch: () => void;
|
|
1118
|
+
prevMatch: () => void;
|
|
1119
|
+
openSearch: () => void;
|
|
1120
|
+
closeSearch: () => void;
|
|
1121
|
+
}
|
|
1122
|
+
declare function usePdfViewerSearch(eventBusRef: RefObject<EventBus | null>, findControllerRef: RefObject<PDFFindController | null>, document: PDFDocumentProxy | undefined): UsePdfViewerSearchResult;
|
|
1123
|
+
|
|
1124
|
+
interface UsePdfViewerSyncOptions {
|
|
1125
|
+
pdfViewerRef: RefObject<PDFViewer | null>;
|
|
1126
|
+
eventBusRef: RefObject<EventBus | null>;
|
|
1127
|
+
document: PDFDocumentProxy | undefined;
|
|
1128
|
+
scale: number;
|
|
1129
|
+
onScaleChange: (scale: number) => void;
|
|
1130
|
+
onPageChange: (page: number) => void;
|
|
1131
|
+
}
|
|
1132
|
+
declare function usePdfViewerSync({ pdfViewerRef, eventBusRef, document, scale, onScaleChange, onPageChange, }: UsePdfViewerSyncOptions): {
|
|
1133
|
+
scrollToPage: (page: number) => void;
|
|
1134
|
+
};
|
|
1135
|
+
|
|
1136
|
+
interface UsePdfViewerCoreOptions {
|
|
1137
|
+
/** PDF source — URL string or ArrayBuffer */
|
|
1138
|
+
src: string | ArrayBuffer;
|
|
1139
|
+
/** Initial page number (1-indexed, default 1) */
|
|
1140
|
+
initialPage?: number;
|
|
1141
|
+
/** Initial zoom scale (default 1.0) */
|
|
1142
|
+
initialScale?: number;
|
|
1143
|
+
}
|
|
1144
|
+
interface UsePdfViewerCoreResult {
|
|
1145
|
+
/** The loaded PDF document, or undefined while loading */
|
|
1146
|
+
document: PDFDocumentProxy | undefined;
|
|
1147
|
+
/** Total number of pages in the document */
|
|
1148
|
+
numPages: number;
|
|
1149
|
+
/** Whether the document is currently loading */
|
|
1150
|
+
loading: boolean;
|
|
1151
|
+
/** Error encountered while loading the document */
|
|
1152
|
+
error: Error | undefined;
|
|
1153
|
+
/** Ref to attach to the scroll-container div */
|
|
1154
|
+
containerRef: RefObject<HTMLDivElement>;
|
|
1155
|
+
/** Ref to attach to the inner viewer div (className="pdfViewer") */
|
|
1156
|
+
viewerRef: RefObject<HTMLDivElement>;
|
|
1157
|
+
/** Current page number (1-indexed) */
|
|
1158
|
+
currentPage: number;
|
|
1159
|
+
/** Navigate to a specific page (updates state and scrolls the viewer) */
|
|
1160
|
+
scrollToPage: (page: number) => void;
|
|
1161
|
+
/** Current zoom scale */
|
|
1162
|
+
scale: number;
|
|
1163
|
+
/** Set the zoom scale directly */
|
|
1164
|
+
setScale: (scale: number) => void;
|
|
1165
|
+
/** Portal targets for rendering annotation overlays on each page */
|
|
1166
|
+
portalTargets: AnnotationPortalTarget[];
|
|
1167
|
+
/** Ref to the internal pdfjs PDFViewer instance */
|
|
1168
|
+
pdfViewerRef: RefObject<PDFViewer | null>;
|
|
1169
|
+
/** Ref to the internal pdfjs EventBus instance */
|
|
1170
|
+
eventBusRef: RefObject<EventBus | null>;
|
|
1171
|
+
/** Ref to the internal pdfjs PDFFindController instance */
|
|
1172
|
+
findControllerRef: RefObject<PDFFindController | null>;
|
|
1173
|
+
}
|
|
1174
|
+
declare function usePdfViewerCore({ src, initialPage, initialScale, }: UsePdfViewerCoreOptions): UsePdfViewerCoreResult;
|
|
958
1175
|
|
|
959
|
-
|
|
1176
|
+
interface UsePdfViewerStateOptions extends UsePdfViewerCoreOptions {
|
|
1177
|
+
/** Whether the sidebar is initially open (default false) */
|
|
1178
|
+
initialSidebarOpen?: boolean;
|
|
1179
|
+
/** Which sidebar panel to show (default "thumbnails") */
|
|
1180
|
+
sidebarMode?: SidebarMode;
|
|
1181
|
+
/** Callback fired when a download completes or fails */
|
|
1182
|
+
onDownload?: (result: PdfDownloadResult) => void;
|
|
1183
|
+
}
|
|
1184
|
+
interface UsePdfViewerStateResult extends UsePdfViewerCoreResult {
|
|
1185
|
+
/** Zoom in by one step */
|
|
1186
|
+
zoomIn: () => void;
|
|
1187
|
+
/** Zoom out by one step */
|
|
1188
|
+
zoomOut: () => void;
|
|
1189
|
+
/** Current rotation in degrees (0, 90, 180, 270) */
|
|
1190
|
+
rotation: number;
|
|
1191
|
+
/** Rotate 90 degrees counter-clockwise */
|
|
1192
|
+
rotateLeft: () => void;
|
|
1193
|
+
/** Rotate 90 degrees clockwise */
|
|
1194
|
+
rotateRight: () => void;
|
|
1195
|
+
/** Whether the sidebar panel is open */
|
|
1196
|
+
sidebarOpen: boolean;
|
|
1197
|
+
/** Which sidebar panel is active */
|
|
1198
|
+
sidebarMode: SidebarMode;
|
|
1199
|
+
/** Change the active sidebar panel */
|
|
1200
|
+
setSidebarMode: (mode: SidebarMode) => void;
|
|
1201
|
+
/** Toggle sidebar open/closed */
|
|
1202
|
+
toggleSidebar: () => void;
|
|
1203
|
+
/** Search state and actions */
|
|
1204
|
+
search: UsePdfViewerSearchResult;
|
|
1205
|
+
/** Document outline items (from bookmarks or text extraction) */
|
|
1206
|
+
outlineItems: ReturnType<typeof usePdfOutline>;
|
|
1207
|
+
/** Download the PDF as a file */
|
|
1208
|
+
download: (filename?: string) => void;
|
|
1209
|
+
}
|
|
1210
|
+
declare function usePdfViewerState({ src, initialPage, initialScale, initialSidebarOpen, sidebarMode: sidebarModeProp, onDownload, }: UsePdfViewerStateOptions): UsePdfViewerStateResult;
|
|
960
1211
|
|
|
961
|
-
interface
|
|
1212
|
+
interface PdfViewerMediaProps extends Omit<PdfViewerProps, "src"> {
|
|
962
1213
|
/** The Media object to fetch PDF contents from */
|
|
963
1214
|
media: Media;
|
|
964
1215
|
}
|
|
965
|
-
declare function
|
|
1216
|
+
declare function PdfViewer({ media, className, ...pdfViewerProps }: PdfViewerMediaProps): React__default.ReactElement;
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* A form field definition specifies configuration for a single field
|
|
1220
|
+
*/
|
|
1221
|
+
interface FormFieldDefinition<Q extends ActionDefinition<unknown>, K extends FieldKey<Q> = FieldKey<Q>> {
|
|
1222
|
+
/**
|
|
1223
|
+
* The field's unique key
|
|
1224
|
+
*/
|
|
1225
|
+
fieldKey: K;
|
|
1226
|
+
/**
|
|
1227
|
+
* Display label for the field
|
|
1228
|
+
* If not provided, the form field will not show any label.
|
|
1229
|
+
*/
|
|
1230
|
+
label?: string;
|
|
1231
|
+
/**
|
|
1232
|
+
* Default value of the field
|
|
1233
|
+
*/
|
|
1234
|
+
defaultValue?: FieldValueType<Q, K>;
|
|
1235
|
+
/**
|
|
1236
|
+
* The form field component type to render
|
|
1237
|
+
*/
|
|
1238
|
+
fieldComponent: ValidFormFieldForPropertyType<FieldDescriptorType<Q, K>>;
|
|
1239
|
+
/**
|
|
1240
|
+
* Whether the field is required
|
|
1241
|
+
*/
|
|
1242
|
+
isRequired?: boolean;
|
|
1243
|
+
/**
|
|
1244
|
+
* Placeholder text
|
|
1245
|
+
*/
|
|
1246
|
+
placeholder?: string;
|
|
1247
|
+
/**
|
|
1248
|
+
* Additional information to display on this field
|
|
1249
|
+
* The placement of helper text depends on the value of helperTextPlacement prop
|
|
1250
|
+
*/
|
|
1251
|
+
helperText?: string;
|
|
1252
|
+
/**
|
|
1253
|
+
* The placement of the helper text either below the field or in a tooltip
|
|
1254
|
+
*
|
|
1255
|
+
* @default "tooltip"
|
|
1256
|
+
*/
|
|
1257
|
+
helperTextPlacement?: "bottom" | "tooltip";
|
|
1258
|
+
/**
|
|
1259
|
+
* Whether the field is disabled
|
|
1260
|
+
*/
|
|
1261
|
+
isDisabled?: boolean;
|
|
1262
|
+
/**
|
|
1263
|
+
* A callback to return a custom error message if validation failed
|
|
1264
|
+
*
|
|
1265
|
+
* @param validationRule the validation rule that failed with the error message
|
|
1266
|
+
* @returns the error message to display
|
|
1267
|
+
*/
|
|
1268
|
+
onValidationError?: (error: ValidationError) => string;
|
|
1269
|
+
/**
|
|
1270
|
+
* Additional function to validate the field
|
|
1271
|
+
*
|
|
1272
|
+
* @param value the current field value
|
|
1273
|
+
* @returns a boolean promise indicating whether the value is valid
|
|
1274
|
+
*/
|
|
1275
|
+
validate?: (value: FieldValueType<Q, K>) => Promise<boolean>;
|
|
1276
|
+
/**
|
|
1277
|
+
* The component props for the form field
|
|
1278
|
+
* Excludes runtime props (key, onChange) which are managed by ActionForm
|
|
1279
|
+
*/
|
|
1280
|
+
fieldComponentProps?: Omit<FormFieldPropsByType[ValidFormFieldForPropertyType<FieldDescriptorType<Q, K>>], "key" | "onChange">;
|
|
1281
|
+
}
|
|
1282
|
+
type ValidationError = {
|
|
1283
|
+
type: ValidationRule;
|
|
1284
|
+
error: string;
|
|
1285
|
+
};
|
|
1286
|
+
type ValidationRule = "required" | "min" | "max" | "minLength" | "maxLength" | "pattern" | "validate";
|
|
1287
|
+
/**
|
|
1288
|
+
* Maps field types to their corresponding props
|
|
1289
|
+
*/
|
|
1290
|
+
interface FormFieldPropsByType {
|
|
1291
|
+
DATETIME_PICKER: DatetimePickerFieldProps;
|
|
1292
|
+
DROPDOWN: DropdownFieldProps<unknown, boolean>;
|
|
1293
|
+
FILE_PICKER: FilePickerProps;
|
|
1294
|
+
NUMBER_INPUT: NumberInputFieldProps;
|
|
1295
|
+
OBJECT_SET: ObjectSetFieldProps<ObjectTypeDefinition>;
|
|
1296
|
+
RADIO_BUTTONS: RadioButtonsFieldProps<unknown>;
|
|
1297
|
+
TEXT_AREA: TextAreaFieldProps;
|
|
1298
|
+
TEXT_INPUT: TextInputFieldProps;
|
|
1299
|
+
CUSTOM: CustomFieldProps<unknown>;
|
|
1300
|
+
}
|
|
1301
|
+
/**
|
|
1302
|
+
* Datetime picker field props.
|
|
1303
|
+
*
|
|
1304
|
+
* When `formatDate` is omitted, ISO-like format is used (YYYY-MM-DD / YYYY-MM-DD HH:mm).
|
|
1305
|
+
*/
|
|
1306
|
+
interface DatetimePickerFieldProps extends BaseFormFieldProps<Date> {
|
|
1307
|
+
/**
|
|
1308
|
+
* The earliest date the user can select.
|
|
1309
|
+
* If provided, this will be added to the field validation.
|
|
1310
|
+
*/
|
|
1311
|
+
min?: Date;
|
|
1312
|
+
/**
|
|
1313
|
+
* The latest date the user can select.
|
|
1314
|
+
* If provided, this will be added to the field validation.
|
|
1315
|
+
*/
|
|
1316
|
+
max?: Date;
|
|
1317
|
+
/**
|
|
1318
|
+
* Whether to show time picker.
|
|
1319
|
+
*/
|
|
1320
|
+
showTime?: boolean;
|
|
1321
|
+
/**
|
|
1322
|
+
* Whether to close the popover after selecting a date.
|
|
1323
|
+
* @default true when `showTime` is false, false when `showTime` is true
|
|
1324
|
+
*/
|
|
1325
|
+
closeOnSelection?: boolean;
|
|
1326
|
+
/**
|
|
1327
|
+
* Placeholder text shown when no value is selected.
|
|
1328
|
+
*/
|
|
1329
|
+
placeholder?: string;
|
|
1330
|
+
/** Formats a Date for display in the trigger button. */
|
|
1331
|
+
formatDate?: (date: Date) => string;
|
|
1332
|
+
}
|
|
1333
|
+
/**
|
|
1334
|
+
* Dropdown field props with selectable items
|
|
1335
|
+
*/
|
|
1336
|
+
interface DropdownFieldProps<V, Multiple extends boolean = false> extends BaseFormFieldProps<Multiple extends true ? V[] : V> {
|
|
1337
|
+
/**
|
|
1338
|
+
* Available items for the dropdown
|
|
1339
|
+
*/
|
|
1340
|
+
items: V[];
|
|
1341
|
+
/**
|
|
1342
|
+
* Converts an item to a display string. Defaults to `String()`.
|
|
1343
|
+
*/
|
|
1344
|
+
itemToStringLabel?: (item: V) => string;
|
|
1345
|
+
/**
|
|
1346
|
+
* Returns a unique string key for a list item. Used as the React `key`.
|
|
1347
|
+
* Falls back to the item's index when not provided.
|
|
1348
|
+
*/
|
|
1349
|
+
itemToKey?: (item: V) => string;
|
|
1350
|
+
/**
|
|
1351
|
+
* Custom equality check for item values. Defaults to `Object.is`.
|
|
1352
|
+
* Required when items are objects to ensure correct selection matching.
|
|
1353
|
+
*/
|
|
1354
|
+
isItemEqual?: (a: V, b: V) => boolean;
|
|
1355
|
+
/**
|
|
1356
|
+
* Whether the dropdown allows searching/filtering.
|
|
1357
|
+
* When true, renders a Combobox with a search input.
|
|
1358
|
+
* When false (default), renders a Select dropdown.
|
|
1359
|
+
*/
|
|
1360
|
+
isSearchable?: boolean;
|
|
1361
|
+
/**
|
|
1362
|
+
* Placeholder text shown when no value is selected.
|
|
1363
|
+
*/
|
|
1364
|
+
placeholder?: string;
|
|
1365
|
+
/**
|
|
1366
|
+
* Whether multiple values can be selected
|
|
1367
|
+
*/
|
|
1368
|
+
isMultiple?: Multiple;
|
|
1369
|
+
}
|
|
1370
|
+
interface FilePickerProps extends BaseFormFieldProps<File | File[]> {
|
|
1371
|
+
/**
|
|
1372
|
+
* Whether multiple files can be selected
|
|
1373
|
+
*/
|
|
1374
|
+
isMulti?: boolean;
|
|
1375
|
+
/**
|
|
1376
|
+
* Accepted file types (e.g., "image/*", ".pdf")
|
|
1377
|
+
*/
|
|
1378
|
+
accept?: string | string[];
|
|
1379
|
+
/**
|
|
1380
|
+
* Maximum file size in bytes
|
|
1381
|
+
*/
|
|
1382
|
+
maxSize?: number;
|
|
1383
|
+
}
|
|
1384
|
+
/**
|
|
1385
|
+
* Text area field props
|
|
1386
|
+
*/
|
|
1387
|
+
interface TextAreaFieldProps extends BaseFormFieldProps<string>, Pick<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "rows" | "wrap"
|
|
1388
|
+
/**
|
|
1389
|
+
* If provided, this will be added to the field validation
|
|
1390
|
+
*/
|
|
1391
|
+
| "minLength"
|
|
1392
|
+
/**
|
|
1393
|
+
* If provided, this will be added to the field validation
|
|
1394
|
+
*/
|
|
1395
|
+
| "maxLength"> {
|
|
1396
|
+
}
|
|
1397
|
+
interface TextInputFieldProps extends BaseFormFieldProps<string>, Pick<React__default.InputHTMLAttributes<HTMLInputElement>,
|
|
1398
|
+
/**
|
|
1399
|
+
* If provided, this will be added to the field validation
|
|
1400
|
+
*/
|
|
1401
|
+
"minLength"
|
|
1402
|
+
/**
|
|
1403
|
+
* If provided, this will be added to the field validation
|
|
1404
|
+
*/
|
|
1405
|
+
| "maxLength"> {
|
|
1406
|
+
placeholder?: string;
|
|
1407
|
+
}
|
|
1408
|
+
/**
|
|
1409
|
+
* Number input field props
|
|
1410
|
+
*/
|
|
1411
|
+
interface NumberInputFieldProps extends BaseFormFieldProps<number>, Pick<React__default.InputHTMLAttributes<HTMLInputElement>,
|
|
1412
|
+
/**
|
|
1413
|
+
* If provided, this will be added to the field validation
|
|
1414
|
+
*/
|
|
1415
|
+
"min"
|
|
1416
|
+
/**
|
|
1417
|
+
* If provided, this will be added to the field validation
|
|
1418
|
+
*/
|
|
1419
|
+
| "max" | "step"> {
|
|
1420
|
+
}
|
|
1421
|
+
/**
|
|
1422
|
+
* Radio buttons field props
|
|
1423
|
+
*/
|
|
1424
|
+
interface RadioButtonsFieldProps<V> extends BaseFormFieldProps<V> {
|
|
1425
|
+
/**
|
|
1426
|
+
* Available options for radio buttons
|
|
1427
|
+
*/
|
|
1428
|
+
options: Option<V>[];
|
|
1429
|
+
}
|
|
1430
|
+
/**
|
|
1431
|
+
* Option interface for radio button options
|
|
1432
|
+
*/
|
|
1433
|
+
interface Option<V> {
|
|
1434
|
+
label: string;
|
|
1435
|
+
value: V;
|
|
1436
|
+
}
|
|
1437
|
+
/**
|
|
1438
|
+
* Object set field displays the summary of the count of the given object set
|
|
1439
|
+
*/
|
|
1440
|
+
interface ObjectSetFieldProps<T extends ObjectTypeDefinition> extends BaseFormFieldProps<ObjectSet<T>> {
|
|
1441
|
+
}
|
|
1442
|
+
/**
|
|
1443
|
+
* Custom field props for user-defined renderers
|
|
1444
|
+
*/
|
|
1445
|
+
interface CustomFieldProps<V> extends BaseFormFieldProps<V> {
|
|
1446
|
+
/**
|
|
1447
|
+
* Custom renderer function
|
|
1448
|
+
*/
|
|
1449
|
+
customRenderer: (props: BaseFormFieldProps<V>) => React__default.ReactNode;
|
|
1450
|
+
}
|
|
1451
|
+
interface BaseFormFieldProps<V> {
|
|
1452
|
+
/**
|
|
1453
|
+
* The HTML `id` attribute for the field input element.
|
|
1454
|
+
* Used for `<label htmlFor>` association.
|
|
1455
|
+
*/
|
|
1456
|
+
id?: string;
|
|
1457
|
+
/**
|
|
1458
|
+
* The value of the form field
|
|
1459
|
+
*/
|
|
1460
|
+
value: V | null;
|
|
1461
|
+
/**
|
|
1462
|
+
* Called when the field value changes.
|
|
1463
|
+
*
|
|
1464
|
+
* ActionForm internally wraps this to pass the key to `onFieldValueChange`:
|
|
1465
|
+
* ```
|
|
1466
|
+
* <DropdownField
|
|
1467
|
+
* {...fieldDef}
|
|
1468
|
+
* onChange={(value) => onFieldValueChange(fieldDef.key, value)}
|
|
1469
|
+
* />
|
|
1470
|
+
* ```
|
|
1471
|
+
*
|
|
1472
|
+
* @param value The new value of the form field
|
|
1473
|
+
*/
|
|
1474
|
+
onChange?: (value: V | null) => void;
|
|
1475
|
+
}
|
|
1476
|
+
type FieldKey<Q extends ActionDefinition<unknown>> = keyof ActionParameters<Q>;
|
|
1477
|
+
/**
|
|
1478
|
+
* Extracts parameters from an ActionDefinition
|
|
1479
|
+
*/
|
|
1480
|
+
type ActionParameters<Q extends ActionDefinition<unknown>> = CompileTimeMetadata<Q>["parameters"];
|
|
1481
|
+
/**
|
|
1482
|
+
* Extracts the value type for a specific parameter
|
|
1483
|
+
*
|
|
1484
|
+
* TODO: Re-use `BaseType`
|
|
1485
|
+
*/
|
|
1486
|
+
type FieldValueType<Q extends ActionDefinition<unknown>, K extends keyof ActionParameters<Q> = keyof ActionParameters<Q>> = ActionParameters<Q>[K]["type"] extends ActionMetadata.DataType.Object<infer T> ? ActionParam.ObjectType<T> : ActionParameters<Q>[K]["type"] extends ActionMetadata.DataType.ObjectSet<infer T> ? ActionParam.ObjectSetType<T> : ActionParameters<Q>[K]["type"] extends ActionMetadata.DataType.Struct<infer T> ? ActionParam.StructType<T> : ActionParameters<Q>[K]["type"] extends keyof DataValueClientToWire ? DataValueClientToWire[ActionParameters<Q>[K]["type"]] : never;
|
|
1487
|
+
/**
|
|
1488
|
+
* Extracts the parameter type descriptor for a specific action parameter.
|
|
1489
|
+
*/
|
|
1490
|
+
type FieldDescriptorType<Q extends ActionDefinition<unknown> = ActionDefinition<unknown>, K extends keyof ActionParameters<Q> = keyof ActionParameters<Q>> = ActionParameters<Q>[K]["type"];
|
|
1491
|
+
/**
|
|
1492
|
+
* Available form field component types
|
|
1493
|
+
*/
|
|
1494
|
+
type FieldComponent = "DATETIME_PICKER" | "DROPDOWN" | "FILE_PICKER" | "NUMBER_INPUT" | "RADIO_BUTTONS" | "OBJECT_SET" | "TEXT_AREA" | "TEXT_INPUT" | "CUSTOM";
|
|
1495
|
+
/**
|
|
1496
|
+
* Describes the data type of a form field, independent of OSDK.
|
|
1497
|
+
* Mirrors ActionMetadata.DataType to keep the rendering layer OSDK-agnostic.
|
|
1498
|
+
*/
|
|
1499
|
+
type FieldType = "boolean" | "string" | "integer" | "long" | "double" | "datetime" | "timestamp" | "attachment" | "marking" | "mediaReference" | "objectType" | "geoshape" | "geohash" | {
|
|
1500
|
+
type: "object";
|
|
1501
|
+
object: string;
|
|
1502
|
+
} | {
|
|
1503
|
+
type: "objectSet";
|
|
1504
|
+
objectSet: string;
|
|
1505
|
+
} | {
|
|
1506
|
+
type: "interface";
|
|
1507
|
+
interface: string;
|
|
1508
|
+
} | {
|
|
1509
|
+
type: "struct";
|
|
1510
|
+
struct: Record<string, string>;
|
|
1511
|
+
};
|
|
1512
|
+
/**
|
|
1513
|
+
* An OSDK-agnostic field definition used by BaseForm and FormFieldRenderer.
|
|
1514
|
+
* Contains only the information needed to render a single field — no generics,
|
|
1515
|
+
* no compile-time parameter constraints.
|
|
1516
|
+
*
|
|
1517
|
+
* Implemented as a distributed mapped type: switching on `fieldComponent`
|
|
1518
|
+
* narrows `fieldComponentProps` to the correct props type automatically.
|
|
1519
|
+
*/
|
|
1520
|
+
type RendererFieldDefinition = {
|
|
1521
|
+
[K in FieldComponent]: {
|
|
1522
|
+
fieldKey: string;
|
|
1523
|
+
fieldComponent: K;
|
|
1524
|
+
fieldType?: FieldType;
|
|
1525
|
+
label?: string;
|
|
1526
|
+
defaultValue?: unknown;
|
|
1527
|
+
isRequired?: boolean;
|
|
1528
|
+
placeholder?: string;
|
|
1529
|
+
helperText?: string;
|
|
1530
|
+
helperTextPlacement?: "bottom" | "tooltip";
|
|
1531
|
+
fieldComponentProps?: Omit<FormFieldPropsByType[K], "value" | "onChange">;
|
|
1532
|
+
};
|
|
1533
|
+
}[FieldComponent];
|
|
1534
|
+
/**
|
|
1535
|
+
* Gets valid form field types for a given property type
|
|
1536
|
+
*/
|
|
1537
|
+
type ValidFormFieldForPropertyType<P extends FieldDescriptorType> = P extends "objectSet" ? "OBJECT_SET" : P extends "object" ? "DROPDOWN" : P extends "mediaReference" | "attachment" ? "FILE_PICKER" : P extends "boolean" ? "RADIO_BUTTONS" | "DROPDOWN" : P extends "string" ? "TEXT_INPUT" | "TEXT_AREA" : P extends "datetime" | "timestamp" ? "DATETIME_PICKER" : P extends "double" | "integer" | "long" | "float" | "short" | "byte" | "decimal" ? "NUMBER_INPUT" : never;
|
|
1538
|
+
|
|
1539
|
+
/**
|
|
1540
|
+
* Props for the ActionForm component.
|
|
1541
|
+
*
|
|
1542
|
+
* A discriminated union ensures that controlled mode (formState provided)
|
|
1543
|
+
* always requires onFormStateChange, and uncontrolled mode makes `onFormStateChange` optional
|
|
1544
|
+
*/
|
|
1545
|
+
type ActionFormProps<Q extends ActionDefinition<unknown>> = (ActionFormConfigProps<Q> & {
|
|
1546
|
+
formState: FormState<Q>;
|
|
1547
|
+
onFormStateChange: (updater: (prevState: FormState<Q>) => FormState<Q>) => void;
|
|
1548
|
+
}) | (ActionFormConfigProps<Q> & {
|
|
1549
|
+
formState?: undefined;
|
|
1550
|
+
onFormStateChange?: (updater: (prevState: FormState<Q>) => FormState<Q>) => void;
|
|
1551
|
+
});
|
|
1552
|
+
interface ActionFormConfigProps<Q extends ActionDefinition<unknown>> extends Pick<BaseFormProps, "formTitle" | "isSubmitDisabled"> {
|
|
1553
|
+
actionDefinition: Q;
|
|
1554
|
+
/**
|
|
1555
|
+
* If not supplied, field definitions are constructed from `ActionParameters`.
|
|
1556
|
+
*/
|
|
1557
|
+
formFieldDefinitions?: ReadonlyArray<FormFieldDefinition<Q>>;
|
|
1558
|
+
/**
|
|
1559
|
+
* If supplied, this will override the default submit action
|
|
1560
|
+
* By default, the action's applyAction will be called
|
|
1561
|
+
*
|
|
1562
|
+
* @param formState all field values when onSubmit is called
|
|
1563
|
+
* @param applyAction the function to execute the action
|
|
1564
|
+
* @returns a promise of the submission response
|
|
1565
|
+
*/
|
|
1566
|
+
onSubmit?: (formState: FormState<Q>, applyAction: (args: ActionParameters<Q>) => Promise<ActionEditResponse | undefined>) => Promise<unknown> | void;
|
|
1567
|
+
/**
|
|
1568
|
+
* Called when the validation response is returned from a validateOnly submission
|
|
1569
|
+
*
|
|
1570
|
+
* @param results the validation response
|
|
1571
|
+
*/
|
|
1572
|
+
onValidationResponse?: (results: ActionValidationResponse) => void;
|
|
1573
|
+
/**
|
|
1574
|
+
* Called when the action is successfully executed from a non-validateOnly submission
|
|
1575
|
+
*
|
|
1576
|
+
* @param results the submission response
|
|
1577
|
+
*/
|
|
1578
|
+
onSuccess?: (results: ActionEditResponse | undefined) => void;
|
|
1579
|
+
/**
|
|
1580
|
+
* Called when there is an error in form submission
|
|
1581
|
+
*
|
|
1582
|
+
* @param error the error that occurred
|
|
1583
|
+
*/
|
|
1584
|
+
onError?: (error: FormError) => void;
|
|
1585
|
+
}
|
|
1586
|
+
/**
|
|
1587
|
+
* Form values mapping parameter names to their values
|
|
1588
|
+
*/
|
|
1589
|
+
type FormState<Q extends ActionDefinition<unknown>> = {
|
|
1590
|
+
[K in FieldKey<Q>]?: FieldValueType<Q, K>;
|
|
1591
|
+
};
|
|
1592
|
+
/**
|
|
1593
|
+
* Form error discriminated union
|
|
1594
|
+
*/
|
|
1595
|
+
type FormError = {
|
|
1596
|
+
type: "validation";
|
|
1597
|
+
error: ActionValidationError;
|
|
1598
|
+
} | {
|
|
1599
|
+
type: "submission";
|
|
1600
|
+
error: unknown;
|
|
1601
|
+
} | {
|
|
1602
|
+
type: "unknown";
|
|
1603
|
+
error: unknown;
|
|
1604
|
+
};
|
|
1605
|
+
/**
|
|
1606
|
+
* Props for the `BaseForm` component, which renders a form without
|
|
1607
|
+
* OSDK data fetching.
|
|
1608
|
+
*
|
|
1609
|
+
* Uses a discriminated union so that controlled mode (`formState` provided)
|
|
1610
|
+
* always requires `onFieldValueChange`, and uncontrolled mode omits both.
|
|
1611
|
+
* `onSubmit` receives the current form state so callers can access values
|
|
1612
|
+
* even in uncontrolled mode.
|
|
1613
|
+
*/
|
|
1614
|
+
type BaseFormProps = BaseFormCommonProps & ({
|
|
1615
|
+
formState: Record<string, unknown>;
|
|
1616
|
+
onFieldValueChange: (fieldKey: string, value: unknown) => void;
|
|
1617
|
+
} | {
|
|
1618
|
+
formState?: undefined;
|
|
1619
|
+
onFieldValueChange?: (fieldKey: string, value: unknown) => void;
|
|
1620
|
+
});
|
|
1621
|
+
interface BaseFormCommonProps {
|
|
1622
|
+
formTitle?: string;
|
|
1623
|
+
fieldDefinitions: ReadonlyArray<RendererFieldDefinition>;
|
|
1624
|
+
onSubmit: (formState: Record<string, unknown>) => void;
|
|
1625
|
+
isSubmitDisabled?: boolean;
|
|
1626
|
+
isPending?: boolean;
|
|
1627
|
+
isLoading?: boolean;
|
|
1628
|
+
className?: string;
|
|
1629
|
+
}
|
|
1630
|
+
|
|
1631
|
+
declare const ActionForm: <Q extends ActionDefinition<unknown>>(props: ActionFormProps<Q>) => React__default.ReactElement;
|
|
1632
|
+
|
|
1633
|
+
declare const BaseForm: React__default.FC<BaseFormProps>;
|
|
966
1634
|
|
|
967
|
-
export { type AnnotationType, BaseFilterList, type BaseFilterListProps, BasePdfViewer, BaseTable, type BaseTableProps, type CellEditInfo, ColumnConfigDialog, type ColumnConfigDialogProps, type ColumnConfigOptions, type ColumnDefinition, type ColumnDefinitionLocator, type CustomColumnLocator, type FilterComponentType, type FilterDefinitionUnion, FilterList, type FilterListItemProps, type FilterListProps, type FilterState, type FunctionColumnLocator, ObjectTable, type ObjectTableProps, type PdfAnnotation,
|
|
1635
|
+
export { ActionForm, type ActionFormProps, type ActionParameters, type AnnotationPortalTarget, type AnnotationType, BaseFilterList, type BaseFilterListProps, BaseForm, type BaseFormFieldProps, type BaseFormProps, BasePdfViewer, BaseTable, type BaseTableProps, type CellEditInfo, ColumnConfigDialog, type ColumnConfigDialogProps, type ColumnConfigOptions, type ColumnDefinition, type ColumnDefinitionLocator, type CustomColumnLocator, type CustomFieldProps, type DatetimePickerFieldProps, type DropdownFieldProps, type FieldComponent, type FieldValueType, type FilePickerProps, type FilterComponentType, type FilterDefinitionUnion, FilterList, type FilterListItemProps, type FilterListProps, type FilterState, type FormError, type FormFieldDefinition, type FormFieldPropsByType, type FormState, type FunctionColumnLocator, type NumberInputFieldProps, type ObjectSetFieldProps, ObjectTable, type ObjectTableProps, type Option, type OutlineItem, type PdfAnnotation, type PdfDownloadResult, PdfViewer, PdfViewerAnnotationLayer, type PdfViewerAnnotationLayerProps, PdfViewerContent, type PdfViewerContentProps, type PdfViewerMediaProps, PdfViewerOutlineSidebar, type PdfViewerOutlineSidebarProps, type PdfViewerProps, PdfViewerSearchBar, type PdfViewerSearchBarProps, PdfViewerSidebar, type PdfViewerSidebarProps, PdfViewerToolbar, type PdfViewerToolbarProps, type PropertyColumnLocator, type PropertyFilterDefinition, type RadioButtonsFieldProps, type RdpColumnLocator, type RenderFilterInput, type RendererFieldDefinition, type SidebarMode, type TextAreaFieldProps, type TextInputFieldProps, type UsePdfViewerCoreOptions, type UsePdfViewerCoreResult, type UsePdfViewerResult, type UsePdfViewerSearchResult, type UsePdfViewerStateOptions, type UsePdfViewerStateResult, deserializeFilterStates, serializeFilterStates, usePdfAnnotationPortals, usePdfDocument, usePdfOutline, usePdfViewer, usePdfViewerCore, usePdfViewerSearch, usePdfViewerState, usePdfViewerSync };
|