@osdk/react-components 0.34.0 → 0.34.1-main-e39a72892d538f3130e2cd51cee05d83d11fa493
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/CHANGELOG.md +10 -0
- package/build/browser/action-form/ActionForm.js.map +1 -1
- package/build/browser/action-form/ActionFormApi.js.map +1 -1
- package/build/browser/action-form/BaseForm.js +3 -3
- package/build/browser/action-form/BaseForm.js.map +1 -1
- package/build/browser/action-form/FormField.js.map +1 -1
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/FormHeader.js.map +1 -1
- package/build/browser/action-form/FormSection.js.map +1 -1
- package/build/browser/action-form/fields/AsyncDropdownField.js +1 -1
- package/build/browser/action-form/fields/AsyncDropdownField.js.map +1 -1
- package/build/browser/action-form/fields/CustomField.js.map +1 -1
- package/build/browser/action-form/fields/DropdownField.js +2 -2
- package/build/browser/action-form/fields/DropdownField.js.map +1 -1
- package/build/browser/action-form/fields/FieldBridge.js.map +1 -1
- package/build/browser/action-form/fields/FilePickerField.js.map +1 -1
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/browser/action-form/fields/NumberInputField.js.map +1 -1
- package/build/browser/action-form/fields/ObjectSelectField.js.map +1 -1
- package/build/browser/action-form/fields/ObjectSetField.js.map +1 -1
- package/build/browser/action-form/fields/RadioButtonsField.js.map +1 -1
- package/build/browser/action-form/fields/SwitchField.js.map +1 -1
- package/build/browser/action-form/fields/TextAreaField.js.map +1 -1
- package/build/browser/action-form/fields/TextInputField.js.map +1 -1
- package/build/browser/action-form/utils/coerceFieldValue.js.map +1 -1
- package/build/browser/action-form/utils/extractValidationRules.js.map +1 -1
- package/build/browser/action-form/utils/getDefaultFieldDefinitions.js.map +1 -1
- package/build/browser/aip-agent-chat/AipAgentChat.js.map +1 -1
- package/build/browser/aip-agent-chat/BaseAipAgentChat.js +1 -1
- package/build/browser/aip-agent-chat/BaseAipAgentChat.js.map +1 -1
- package/build/browser/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -1
- package/build/browser/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -1
- package/build/browser/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -1
- package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js +1 -1
- package/build/browser/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -1
- package/build/browser/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -1
- package/build/browser/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -1
- package/build/browser/base-components/action-button/ActionButton.js.map +1 -1
- package/build/browser/base-components/callout/Callout.js.map +1 -1
- package/build/browser/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/browser/base-components/combobox/Combobox.js.map +1 -1
- package/build/browser/base-components/dialog/Dialog.js.map +1 -1
- package/build/browser/base-components/draggable-list/DraggableList.js +1 -1
- package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -1
- package/build/browser/base-components/icon/BlueprintIcon.js.map +1 -1
- package/build/browser/base-components/search-bar/SearchBar.js.map +1 -1
- package/build/browser/base-components/searchable-menu/SearchableMenu.js.map +1 -1
- package/build/browser/base-components/select/Select.js.map +1 -1
- package/build/browser/base-components/skeleton/SkeletonBar.js.map +1 -1
- package/build/browser/base-components/switch/Switch.js.map +1 -1
- package/build/browser/base-components/tooltip/Tooltip.js.map +1 -1
- package/build/browser/cbac-picker/CbacBanner.js.map +1 -1
- package/build/browser/cbac-picker/CbacBannerPopover.js.map +1 -1
- package/build/browser/cbac-picker/CbacPicker.js.map +1 -1
- package/build/browser/cbac-picker/CbacPickerDialog.js.map +1 -1
- package/build/browser/cbac-picker/base/BaseCbacBanner.js.map +1 -1
- package/build/browser/cbac-picker/base/BaseCbacBannerPopover.js.map +1 -1
- package/build/browser/cbac-picker/base/BaseCbacPicker.js +1 -1
- package/build/browser/cbac-picker/base/BaseCbacPicker.js.map +1 -1
- package/build/browser/cbac-picker/base/BaseCbacPickerDialog.js.map +1 -1
- package/build/browser/cbac-picker/base/CategoryMarkingGroup.js +1 -1
- package/build/browser/cbac-picker/base/CategoryMarkingGroup.js.map +1 -1
- package/build/browser/cbac-picker/base/CbacPickerDialogFooter.js.map +1 -1
- package/build/browser/cbac-picker/base/InfoBanner.js.map +1 -1
- package/build/browser/cbac-picker/base/MarkingButton.js +1 -1
- package/build/browser/cbac-picker/base/MarkingButton.js.map +1 -1
- package/build/browser/cbac-picker/base/MaxClassificationField.js.map +1 -1
- package/build/browser/cbac-picker/base/OverflowButton.js +1 -1
- package/build/browser/cbac-picker/base/OverflowButton.js.map +1 -1
- package/build/browser/cbac-picker/base/OverflowItem.js +1 -1
- package/build/browser/cbac-picker/base/OverflowItem.js.map +1 -1
- package/build/browser/cbac-picker/base/ValidationWarning.js.map +1 -1
- package/build/browser/cbac-picker/base/selectionStateHelpers.js.map +1 -1
- package/build/browser/cbac-picker/useCbacPickerState.js.map +1 -1
- package/build/browser/cbac-picker/useCbacSelection.js.map +1 -1
- package/build/browser/cbac-picker/useConstraintCallout.js.map +1 -1
- package/build/browser/cbac-picker/utils/cbacPickerUtils.js.map +1 -1
- package/build/browser/cbac-picker/utils/errorMessages.js.map +1 -1
- package/build/browser/cbac-picker/utils/selectionLogic.js.map +1 -1
- package/build/browser/cbac-picker/utils/validationMessages.js.map +1 -1
- package/build/browser/document-viewer/DocumentViewer.js +1 -1
- package/build/browser/document-viewer/DocumentViewer.js.map +1 -1
- package/build/browser/document-viewer/DocumentViewerApi.js.map +1 -1
- package/build/browser/document-viewer/TiffDocumentViewer.js +1 -1
- package/build/browser/document-viewer/TiffDocumentViewer.js.map +1 -1
- package/build/browser/document-viewer/hooks/useTiffToPdf.js.map +1 -1
- package/build/browser/email-viewer/BaseEmailViewer.js.map +1 -1
- package/build/browser/email-viewer/EmailViewer.js +1 -1
- package/build/browser/email-viewer/EmailViewer.js.map +1 -1
- package/build/browser/email-viewer/EmailViewerApi.js.map +1 -1
- package/build/browser/email-viewer/parseEmail.js.map +1 -1
- package/build/browser/excel-viewer/BaseExcelViewer.js +1 -0
- package/build/browser/excel-viewer/BaseExcelViewer.js.map +1 -1
- package/build/browser/excel-viewer/ExcelViewer.js +1 -1
- package/build/browser/excel-viewer/ExcelViewer.js.map +1 -1
- package/build/browser/excel-viewer/ExcelViewerApi.js.map +1 -1
- package/build/browser/excel-viewer/parseSpreadsheet.js.map +1 -1
- package/build/browser/filter-list/FilterInput.js.map +1 -1
- 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/FilterListItemApi.js.map +1 -1
- package/build/browser/filter-list/base/AddFilterPopover.js +1 -1
- package/build/browser/filter-list/base/AddFilterPopover.js.map +1 -1
- package/build/browser/filter-list/base/BaseFilterList.js +1 -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 +1 -1
- package/build/browser/filter-list/base/ExcludeDropdown.js.map +1 -1
- package/build/browser/filter-list/base/FilterInputExcludeRow.js.map +1 -1
- package/build/browser/filter-list/base/FilterListContent.js +1 -1
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -1
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/FilterPopover.js.map +1 -1
- package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/DateRangeHistogramInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/EmptyStringLabel.js +1 -0
- package/build/browser/filter-list/base/inputs/EmptyStringLabel.js.map +1 -1
- package/build/browser/filter-list/base/inputs/HistogramTooltip.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/ListogramSkeleton.js.map +1 -1
- package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/MultiSelectDropdownLayout.js.map +1 -1
- package/build/browser/filter-list/base/inputs/MultiSelectInlineLayout.js.map +1 -1
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +2 -2
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NoValueLabel.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/OptionLabel.js.map +1 -1
- package/build/browser/filter-list/base/inputs/RangeInput.js +1 -1
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/SelectInputSkeleton.js.map +1 -1
- package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +1 -1
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ToggleInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/comboboxFilter.js.map +1 -1
- package/build/browser/filter-list/base/inputs/createDateHistogramBuckets.js.map +1 -1
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js.map +1 -1
- package/build/browser/filter-list/hooks/useDualScopeAggregation.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterPropertyAggregation.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterVisibility.js.map +1 -1
- package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/browser/filter-list/inputs/ContainsTextFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js +1 -1
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
- package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/MultiDateFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/SingleDateFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/StaticValuesFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/TimelineFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/ToggleFilterInput.js.map +1 -1
- package/build/browser/filter-list/types/CustomRendererTypes.js.map +1 -1
- package/build/browser/filter-list/types/KeywordSearchTypes.js.map +1 -1
- package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/browser/filter-list/types/StaticValuesTypes.js.map +1 -1
- package/build/browser/filter-list/utils/aggregationHelpers.js.map +1 -1
- package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -1
- package/build/browser/filter-list/utils/emptyFilterDisplayState.js.map +1 -1
- package/build/browser/filter-list/utils/filterStateSerialization.js.map +1 -1
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/browser/filter-list/utils/filterValues.js.map +1 -1
- package/build/browser/filter-list/utils/getFilterKey.js.map +1 -1
- package/build/browser/filter-list/utils/getFilterLabel.js.map +1 -1
- package/build/browser/filter-list/utils/narrowObjectSet.js.map +1 -1
- package/build/browser/filter-list/utils/summarizeFilterValue.js.map +1 -1
- package/build/browser/images/image-viewer/BaseImageViewer.js.map +1 -1
- package/build/browser/images/image-viewer/ImageViewer.js.map +1 -1
- package/build/browser/images/image-viewer/ImageViewerApi.js.map +1 -1
- package/build/browser/images/tiff-renderer/TiffRenderer.js +1 -0
- package/build/browser/images/tiff-renderer/TiffRenderer.js.map +1 -1
- package/build/browser/images/tiff-renderer/TiffViewerMedia.js.map +1 -1
- package/build/browser/markdown-renderer/MarkdownRenderer.js.map +1 -1
- package/build/browser/markdown-renderer/MarkdownViewerMedia.js.map +1 -1
- package/build/browser/object-table/CellContextMenu.js.map +1 -1
- package/build/browser/object-table/ColumnConfigDialog.js.map +1 -1
- package/build/browser/object-table/DefaultCellRenderer.js +4 -3
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/browser/object-table/EditableCell.js +1 -1
- package/build/browser/object-table/EditableCell.js.map +1 -1
- package/build/browser/object-table/LoadingCell.js.map +1 -1
- package/build/browser/object-table/LoadingRow.js +1 -1
- package/build/browser/object-table/LoadingRow.js.map +1 -1
- package/build/browser/object-table/LoadingStateTable.js +3 -3
- package/build/browser/object-table/LoadingStateTable.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/browser/object-table/NonIdealState.js.map +1 -1
- 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.map +1 -1
- package/build/browser/object-table/SortableItemsList.js.map +1 -1
- package/build/browser/object-table/Table.js +1 -1
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/TableBody.js +1 -1
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableCell.js +1 -1
- package/build/browser/object-table/TableCell.js.map +1 -1
- package/build/browser/object-table/TableEditContainer.js.map +1 -1
- package/build/browser/object-table/TableHeader.js +1 -1
- package/build/browser/object-table/TableHeader.js.map +1 -1
- package/build/browser/object-table/TableHeaderContent.js.map +1 -1
- package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/browser/object-table/TableRow.js.map +1 -1
- package/build/browser/object-table/components/AsyncValueCell.js.map +1 -1
- package/build/browser/object-table/components/CbacMarkingCell.js.map +1 -1
- package/build/browser/object-table/components/DatePickerCellField.js +1 -1
- package/build/browser/object-table/components/DatePickerCellField.js.map +1 -1
- package/build/browser/object-table/components/DropdownCellField.js +1 -1
- package/build/browser/object-table/components/DropdownCellField.js.map +1 -1
- package/build/browser/object-table/components/MandatoryMarkingCell.js.map +1 -1
- package/build/browser/object-table/components/ReadonlyDisplayCell.js.map +1 -1
- package/build/browser/object-table/components/TextInputCellField.js.map +1 -1
- package/build/browser/object-table/hooks/useCellContextMenu.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnPinning.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnResize.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/browser/object-table/hooks/useFocusedRow.js.map +1 -1
- package/build/browser/object-table/hooks/useFunctionColumnsData.js.map +1 -1
- package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/browser/object-table/hooks/useObjectTableSnapshot.js.map +1 -1
- package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/browser/object-table/hooks/useTableSorting.js.map +1 -1
- package/build/browser/object-table/utils/AsyncCellData.js.map +1 -1
- package/build/browser/object-table/utils/PortalTracker.js.map +1 -1
- package/build/browser/object-table/utils/deriveSelectionObjectSet.js.map +1 -1
- package/build/browser/object-table/utils/editableUtils.js.map +1 -1
- package/build/browser/object-table/utils/functionColumns.js.map +1 -1
- package/build/browser/object-table/utils/getColumnPinningStyles.js.map +1 -1
- package/build/browser/object-table/utils/getRowId.js.map +1 -1
- package/build/browser/object-table/utils/objectTableSnapshot.js.map +1 -1
- package/build/browser/object-table/utils/shouldShowEditableCell.js.map +1 -1
- package/build/browser/object-table/utils/types.js.map +1 -1
- package/build/browser/pdf-viewer/PdfRenderer.js.map +1 -1
- package/build/browser/pdf-viewer/PdfViewer.js.map +1 -1
- package/build/browser/pdf-viewer/PdfViewerContext.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfAnnotationOverlay.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerContent.js +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerContent.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.js +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerOutlineSidebar.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerSearchBar.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerSidebar.js +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerSidebar.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerSidebarHeader.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerThumbnail.js.map +1 -1
- package/build/browser/pdf-viewer/components/PdfViewerToolbar.js.map +1 -1
- package/build/browser/pdf-viewer/constants.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfAnnotationsByPage.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfDocument.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfFormFields.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfHighlightMode.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfOutline.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfViewer.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfViewerCore.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfViewerState.js.map +1 -1
- package/build/browser/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -1
- package/build/browser/public/experimental/action-form.js.map +1 -1
- package/build/browser/public/experimental/cbac-picker.js.map +1 -1
- package/build/browser/public/experimental/document-viewer.js.map +1 -1
- package/build/browser/public/experimental/email-viewer.js.map +1 -1
- package/build/browser/public/experimental/excel-viewer.js.map +1 -1
- package/build/browser/public/experimental/filter-list.js.map +1 -1
- package/build/browser/public/experimental/image-viewer.js.map +1 -1
- package/build/browser/public/experimental/markdown-renderer.js.map +1 -1
- package/build/browser/public/experimental/object-table.js.map +1 -1
- package/build/browser/public/experimental/pdf-viewer.js.map +1 -1
- package/build/browser/public/experimental/tiff-renderer.js.map +1 -1
- package/build/browser/public/experimental/video-viewer.js.map +1 -1
- package/build/browser/public/experimental/xml-viewer.js.map +1 -1
- package/build/browser/shared/ErrorBoundary.js.map +1 -1
- package/build/browser/shared/PortalContainerContext.js.map +1 -1
- package/build/browser/shared/PortalDismissLayer.js.map +1 -1
- package/build/browser/shared/calendar/DateCalendar.js +1 -1
- package/build/browser/shared/calendar/DateCalendar.js.map +1 -1
- package/build/browser/shared/calendar/DatePicker.js +2 -2
- package/build/browser/shared/calendar/DatePicker.js.map +1 -1
- package/build/browser/shared/calendar/DateRangeCalendar.js.map +1 -1
- package/build/browser/shared/calendar/DateRangePicker.js +2 -2
- package/build/browser/shared/calendar/DateRangePicker.js.map +1 -1
- package/build/browser/shared/calendar/LazyDateCalendar.js.map +1 -1
- package/build/browser/shared/calendar/LazyDateRangeCalendar.js.map +1 -1
- package/build/browser/shared/calendar/TimePicker.js.map +1 -1
- package/build/browser/shared/calendar/calendarShared.js.map +1 -1
- package/build/browser/shared/calendar/useDateEditState.js.map +1 -1
- package/build/browser/shared/dateUtils.js.map +1 -1
- package/build/browser/shared/hooks/useAsyncAction.js.map +1 -1
- package/build/browser/shared/hooks/useDebouncedValue.js.map +1 -1
- package/build/browser/shared/hooks/useEventCallback.js.map +1 -1
- package/build/browser/shared/hooks/useInfiniteScroll.js.map +1 -1
- package/build/browser/shared/hooks/useMediaContents.js.map +1 -1
- package/build/browser/theme/OsdkThemeContext.js.map +1 -1
- package/build/browser/theme/OsdkThemeProvider.js.map +1 -1
- package/build/browser/theme/useOsdkTheme.js.map +1 -1
- package/build/browser/theme/useSystemTheme.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/withOsdkMetrics.js.map +1 -1
- package/build/browser/video-viewer/BaseVideoViewer.js.map +1 -1
- package/build/browser/video-viewer/VideoViewer.js.map +1 -1
- package/build/browser/video-viewer/VideoViewerApi.js.map +1 -1
- package/build/browser/xml-viewer/BaseXmlViewer.js.map +1 -1
- package/build/browser/xml-viewer/XmlViewer.js.map +1 -1
- package/build/browser/xml-viewer/XmlViewerApi.js.map +1 -1
- package/build/cjs/{DateCalendar-OCDSESQR.cjs → DateCalendar-FCZXD24P.cjs} +6 -6
- package/build/cjs/{DateCalendar-OCDSESQR.cjs.map → DateCalendar-FCZXD24P.cjs.map} +1 -1
- package/build/cjs/{DateCalendar-FTW3OIEP.css → DateCalendar-VBZGPZ5P.css} +39 -39
- package/build/cjs/DateCalendar-VBZGPZ5P.css.map +1 -0
- package/build/cjs/{DateRangeCalendar-I4JHCZAK.css → DateRangeCalendar-2M2I5Q3Z.css} +39 -39
- package/build/cjs/DateRangeCalendar-2M2I5Q3Z.css.map +1 -0
- package/build/cjs/DateRangeCalendar-XN2ZWAFK.cjs +12 -0
- package/build/cjs/{DateRangeCalendar-PHC3VPW3.cjs.map → DateRangeCalendar-XN2ZWAFK.cjs.map} +1 -1
- package/build/cjs/{chunk-DA22W6ZO.cjs → chunk-BE226IHU.cjs} +8 -8
- package/build/cjs/chunk-BE226IHU.cjs.map +1 -0
- package/build/cjs/{chunk-XWT6S3FL.cjs → chunk-BFRUHBWM.cjs} +12 -12
- package/build/cjs/{chunk-XWT6S3FL.cjs.map → chunk-BFRUHBWM.cjs.map} +1 -1
- package/build/cjs/chunk-CXMIRPQU.cjs +11 -0
- package/build/cjs/{chunk-PYOEFNQH.cjs.map → chunk-CXMIRPQU.cjs.map} +1 -1
- package/build/cjs/{chunk-CASYBF4M.cjs → chunk-ENE2RWIL.cjs} +25 -23
- package/build/cjs/chunk-ENE2RWIL.cjs.map +1 -0
- package/build/cjs/{chunk-IHVPE5CD.cjs → chunk-G6AOIKDH.cjs} +66 -66
- package/build/cjs/chunk-G6AOIKDH.cjs.map +1 -0
- package/build/cjs/{chunk-U74WOMFV.cjs → chunk-GJ2KJKWI.cjs} +17 -17
- package/build/cjs/{chunk-U74WOMFV.cjs.map → chunk-GJ2KJKWI.cjs.map} +1 -1
- package/build/cjs/chunk-HBU5ZLVP.cjs +11 -0
- package/build/cjs/{chunk-F4JELV7M.cjs.map → chunk-HBU5ZLVP.cjs.map} +1 -1
- package/build/cjs/{chunk-KNZXFIIH.cjs → chunk-HWWTZKC5.cjs} +24 -24
- package/build/cjs/{chunk-KNZXFIIH.cjs.map → chunk-HWWTZKC5.cjs.map} +1 -1
- package/build/cjs/{chunk-YTDSW5OV.cjs → chunk-IHTYJU2F.cjs} +29 -28
- package/build/cjs/chunk-IHTYJU2F.cjs.map +1 -0
- package/build/cjs/{chunk-5KTGUKJT.cjs → chunk-JCN6P3YW.cjs} +4 -4
- package/build/cjs/{chunk-5KTGUKJT.cjs.map → chunk-JCN6P3YW.cjs.map} +1 -1
- package/build/cjs/{chunk-XK4H7EHE.cjs → chunk-KQ4B2XDH.cjs} +5 -5
- package/build/cjs/chunk-KQ4B2XDH.cjs.map +1 -0
- package/build/cjs/{chunk-IISDOJPR.cjs → chunk-LB3IHFAB.cjs} +2 -2
- package/build/cjs/{chunk-IISDOJPR.cjs.map → chunk-LB3IHFAB.cjs.map} +1 -1
- package/build/cjs/{chunk-PUQBJVFU.cjs → chunk-MUDJXY6I.cjs} +22 -22
- package/build/cjs/{chunk-PUQBJVFU.cjs.map → chunk-MUDJXY6I.cjs.map} +1 -1
- package/build/cjs/chunk-NN5IHTYW.cjs +11 -0
- package/build/cjs/{chunk-W6DWGABB.cjs.map → chunk-NN5IHTYW.cjs.map} +1 -1
- package/build/cjs/{chunk-PKJFOG2Z.cjs → chunk-OISZU73V.cjs} +2 -2
- package/build/cjs/{chunk-PKJFOG2Z.cjs.map → chunk-OISZU73V.cjs.map} +1 -1
- package/build/cjs/chunk-PPVWOEYX.cjs +11 -0
- package/build/cjs/{chunk-VRTFHF24.cjs.map → chunk-PPVWOEYX.cjs.map} +1 -1
- package/build/cjs/{chunk-3SJODG6U.cjs → chunk-S2FQCZAB.cjs} +2 -2
- package/build/cjs/{chunk-3SJODG6U.cjs.map → chunk-S2FQCZAB.cjs.map} +1 -1
- package/build/cjs/{chunk-4VNWCW75.cjs → chunk-V3ZJM4N2.cjs} +16 -16
- package/build/cjs/chunk-V3ZJM4N2.cjs.map +1 -0
- package/build/cjs/{chunk-MMPVBH5H.cjs → chunk-VT7TNOMD.cjs} +24 -21
- package/build/cjs/chunk-VT7TNOMD.cjs.map +1 -0
- package/build/cjs/chunk-WKKN2KJU.cjs +11 -0
- package/build/cjs/{chunk-Q5H4KPSL.cjs.map → chunk-WKKN2KJU.cjs.map} +1 -1
- package/build/cjs/{chunk-WE4REEMW.cjs → chunk-YIBSLDUU.cjs} +3 -3
- package/build/cjs/chunk-YIBSLDUU.cjs.map +1 -0
- package/build/cjs/chunk-YK3PUDSD.cjs +11 -0
- package/build/cjs/{chunk-LGGRMQCE.cjs.map → chunk-YK3PUDSD.cjs.map} +1 -1
- package/build/cjs/public/experimental/action-form.cjs +8 -8
- package/build/cjs/public/experimental/action-form.css +98 -98
- package/build/cjs/public/experimental/action-form.css.map +1 -1
- package/build/cjs/public/experimental/aip-agent-chat.cjs +2 -0
- package/build/cjs/public/experimental/aip-agent-chat.cjs.map +1 -1
- package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
- package/build/cjs/public/experimental/cbac-picker.css +110 -110
- package/build/cjs/public/experimental/cbac-picker.css.map +1 -1
- package/build/cjs/public/experimental/document-viewer.cjs +8 -8
- package/build/cjs/public/experimental/document-viewer.css +72 -72
- package/build/cjs/public/experimental/document-viewer.css.map +1 -1
- package/build/cjs/public/experimental/email-viewer.cjs +5 -5
- package/build/cjs/public/experimental/excel-viewer.cjs +5 -5
- package/build/cjs/public/experimental/filter-list.cjs +18 -18
- package/build/cjs/public/experimental/filter-list.css +225 -225
- package/build/cjs/public/experimental/filter-list.css.map +1 -1
- package/build/cjs/public/experimental/image-viewer.cjs +3 -3
- package/build/cjs/public/experimental/markdown-renderer.cjs +3 -3
- package/build/cjs/public/experimental/object-table.cjs +12 -12
- package/build/cjs/public/experimental/object-table.css +151 -151
- package/build/cjs/public/experimental/object-table.css.map +1 -1
- package/build/cjs/public/experimental/pdf-viewer.cjs +25 -25
- package/build/cjs/public/experimental/pdf-viewer.css +72 -72
- package/build/cjs/public/experimental/pdf-viewer.css.map +1 -1
- package/build/cjs/public/experimental/pdf-viewer.d.cts +1 -1
- package/build/cjs/public/experimental/tiff-renderer.cjs +5 -5
- package/build/cjs/public/experimental/video-viewer.cjs +3 -3
- package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
- package/build/cjs/public/experimental.cjs +86 -86
- package/build/cjs/public/experimental.css +632 -632
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/esm/action-form/ActionForm.js.map +1 -1
- package/build/esm/action-form/ActionFormApi.js.map +1 -1
- package/build/esm/action-form/BaseForm.js +3 -3
- package/build/esm/action-form/BaseForm.js.map +1 -1
- package/build/esm/action-form/FormField.js.map +1 -1
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/FormHeader.js.map +1 -1
- package/build/esm/action-form/FormSection.js.map +1 -1
- package/build/esm/action-form/fields/AsyncDropdownField.js +1 -1
- package/build/esm/action-form/fields/AsyncDropdownField.js.map +1 -1
- package/build/esm/action-form/fields/CustomField.js.map +1 -1
- package/build/esm/action-form/fields/DropdownField.js +2 -2
- package/build/esm/action-form/fields/DropdownField.js.map +1 -1
- package/build/esm/action-form/fields/FieldBridge.js.map +1 -1
- package/build/esm/action-form/fields/FilePickerField.js.map +1 -1
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/esm/action-form/fields/NumberInputField.js.map +1 -1
- package/build/esm/action-form/fields/ObjectSelectField.js.map +1 -1
- package/build/esm/action-form/fields/ObjectSetField.js.map +1 -1
- package/build/esm/action-form/fields/RadioButtonsField.js.map +1 -1
- package/build/esm/action-form/fields/SwitchField.js.map +1 -1
- package/build/esm/action-form/fields/TextAreaField.js.map +1 -1
- package/build/esm/action-form/fields/TextInputField.js.map +1 -1
- package/build/esm/action-form/utils/coerceFieldValue.js.map +1 -1
- package/build/esm/action-form/utils/extractValidationRules.js.map +1 -1
- package/build/esm/action-form/utils/getDefaultFieldDefinitions.js.map +1 -1
- package/build/esm/aip-agent-chat/AipAgentChat.js.map +1 -1
- package/build/esm/aip-agent-chat/BaseAipAgentChat.js +1 -1
- package/build/esm/aip-agent-chat/BaseAipAgentChat.js.map +1 -1
- package/build/esm/aip-agent-chat/components/AipAgentChatComposer.js.map +1 -1
- package/build/esm/aip-agent-chat/components/AipAgentChatLoader.js.map +1 -1
- package/build/esm/aip-agent-chat/components/AipAgentChatMessage.js.map +1 -1
- package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js +1 -1
- package/build/esm/aip-agent-chat/components/AipAgentChatMessageList.js.map +1 -1
- package/build/esm/aip-agent-chat/components/AipAgentChatModelPicker.js.map +1 -1
- package/build/esm/aip-agent-chat/hooks/useChatAutoScroll.js.map +1 -1
- package/build/esm/base-components/action-button/ActionButton.js.map +1 -1
- package/build/esm/base-components/callout/Callout.js.map +1 -1
- package/build/esm/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/esm/base-components/combobox/Combobox.js.map +1 -1
- package/build/esm/base-components/dialog/Dialog.js.map +1 -1
- package/build/esm/base-components/draggable-list/DraggableList.js +1 -1
- package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -1
- package/build/esm/base-components/icon/BlueprintIcon.js.map +1 -1
- package/build/esm/base-components/search-bar/SearchBar.js.map +1 -1
- package/build/esm/base-components/searchable-menu/SearchableMenu.js.map +1 -1
- package/build/esm/base-components/select/Select.js.map +1 -1
- package/build/esm/base-components/skeleton/SkeletonBar.js.map +1 -1
- package/build/esm/base-components/switch/Switch.js.map +1 -1
- package/build/esm/base-components/tooltip/Tooltip.js.map +1 -1
- package/build/esm/cbac-picker/CbacBanner.js.map +1 -1
- package/build/esm/cbac-picker/CbacBannerPopover.js.map +1 -1
- package/build/esm/cbac-picker/CbacPicker.js.map +1 -1
- package/build/esm/cbac-picker/CbacPickerDialog.js.map +1 -1
- package/build/esm/cbac-picker/base/BaseCbacBanner.js.map +1 -1
- package/build/esm/cbac-picker/base/BaseCbacBannerPopover.js.map +1 -1
- package/build/esm/cbac-picker/base/BaseCbacPicker.js +1 -1
- package/build/esm/cbac-picker/base/BaseCbacPicker.js.map +1 -1
- package/build/esm/cbac-picker/base/BaseCbacPickerDialog.js.map +1 -1
- package/build/esm/cbac-picker/base/CategoryMarkingGroup.js +1 -1
- package/build/esm/cbac-picker/base/CategoryMarkingGroup.js.map +1 -1
- package/build/esm/cbac-picker/base/CbacPickerDialogFooter.js.map +1 -1
- package/build/esm/cbac-picker/base/InfoBanner.js.map +1 -1
- package/build/esm/cbac-picker/base/MarkingButton.js +1 -1
- package/build/esm/cbac-picker/base/MarkingButton.js.map +1 -1
- package/build/esm/cbac-picker/base/MaxClassificationField.js.map +1 -1
- package/build/esm/cbac-picker/base/OverflowButton.js +1 -1
- package/build/esm/cbac-picker/base/OverflowButton.js.map +1 -1
- package/build/esm/cbac-picker/base/OverflowItem.js +1 -1
- package/build/esm/cbac-picker/base/OverflowItem.js.map +1 -1
- package/build/esm/cbac-picker/base/ValidationWarning.js.map +1 -1
- package/build/esm/cbac-picker/base/selectionStateHelpers.js.map +1 -1
- package/build/esm/cbac-picker/useCbacPickerState.js.map +1 -1
- package/build/esm/cbac-picker/useCbacSelection.js.map +1 -1
- package/build/esm/cbac-picker/useConstraintCallout.js.map +1 -1
- package/build/esm/cbac-picker/utils/cbacPickerUtils.js.map +1 -1
- package/build/esm/cbac-picker/utils/errorMessages.js.map +1 -1
- package/build/esm/cbac-picker/utils/selectionLogic.js.map +1 -1
- package/build/esm/cbac-picker/utils/validationMessages.js.map +1 -1
- package/build/esm/document-viewer/DocumentViewer.js +1 -1
- package/build/esm/document-viewer/DocumentViewer.js.map +1 -1
- package/build/esm/document-viewer/DocumentViewerApi.js.map +1 -1
- package/build/esm/document-viewer/TiffDocumentViewer.js +1 -1
- package/build/esm/document-viewer/TiffDocumentViewer.js.map +1 -1
- package/build/esm/document-viewer/hooks/useTiffToPdf.js.map +1 -1
- package/build/esm/email-viewer/BaseEmailViewer.js.map +1 -1
- package/build/esm/email-viewer/EmailViewer.js +1 -1
- package/build/esm/email-viewer/EmailViewer.js.map +1 -1
- package/build/esm/email-viewer/EmailViewerApi.js.map +1 -1
- package/build/esm/email-viewer/parseEmail.js.map +1 -1
- package/build/esm/excel-viewer/BaseExcelViewer.js +1 -0
- package/build/esm/excel-viewer/BaseExcelViewer.js.map +1 -1
- package/build/esm/excel-viewer/ExcelViewer.js +1 -1
- package/build/esm/excel-viewer/ExcelViewer.js.map +1 -1
- package/build/esm/excel-viewer/ExcelViewerApi.js.map +1 -1
- package/build/esm/excel-viewer/parseSpreadsheet.js.map +1 -1
- package/build/esm/filter-list/FilterInput.js.map +1 -1
- 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/FilterListItemApi.js.map +1 -1
- package/build/esm/filter-list/base/AddFilterPopover.js +1 -1
- package/build/esm/filter-list/base/AddFilterPopover.js.map +1 -1
- package/build/esm/filter-list/base/BaseFilterList.js +1 -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 +1 -1
- package/build/esm/filter-list/base/ExcludeDropdown.js.map +1 -1
- package/build/esm/filter-list/base/FilterInputExcludeRow.js.map +1 -1
- package/build/esm/filter-list/base/FilterListContent.js +1 -1
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -1
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/FilterPopover.js.map +1 -1
- package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/DateRangeHistogramInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/EmptyStringLabel.js +1 -0
- package/build/esm/filter-list/base/inputs/EmptyStringLabel.js.map +1 -1
- package/build/esm/filter-list/base/inputs/HistogramTooltip.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/ListogramSkeleton.js.map +1 -1
- package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/MultiSelectDropdownLayout.js.map +1 -1
- package/build/esm/filter-list/base/inputs/MultiSelectInlineLayout.js.map +1 -1
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +2 -2
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NoValueLabel.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/OptionLabel.js.map +1 -1
- package/build/esm/filter-list/base/inputs/RangeInput.js +1 -1
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/SelectInputSkeleton.js.map +1 -1
- package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +1 -1
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ToggleInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/comboboxFilter.js.map +1 -1
- package/build/esm/filter-list/base/inputs/createDateHistogramBuckets.js.map +1 -1
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -1
- package/build/esm/filter-list/hooks/useDualScopeAggregation.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterPropertyAggregation.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterVisibility.js.map +1 -1
- package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/esm/filter-list/inputs/ContainsTextFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js +1 -1
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
- package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/MultiDateFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/SingleDateFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/StaticValuesFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/TimelineFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/ToggleFilterInput.js.map +1 -1
- package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -1
- package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -1
- package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/esm/filter-list/types/StaticValuesTypes.js.map +1 -1
- package/build/esm/filter-list/utils/aggregationHelpers.js.map +1 -1
- package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -1
- package/build/esm/filter-list/utils/emptyFilterDisplayState.js.map +1 -1
- package/build/esm/filter-list/utils/filterStateSerialization.js.map +1 -1
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/esm/filter-list/utils/filterValues.js.map +1 -1
- package/build/esm/filter-list/utils/getFilterKey.js.map +1 -1
- package/build/esm/filter-list/utils/getFilterLabel.js.map +1 -1
- package/build/esm/filter-list/utils/narrowObjectSet.js.map +1 -1
- package/build/esm/filter-list/utils/summarizeFilterValue.js.map +1 -1
- package/build/esm/images/image-viewer/BaseImageViewer.js.map +1 -1
- package/build/esm/images/image-viewer/ImageViewer.js.map +1 -1
- package/build/esm/images/image-viewer/ImageViewerApi.js.map +1 -1
- package/build/esm/images/tiff-renderer/TiffRenderer.js +1 -0
- package/build/esm/images/tiff-renderer/TiffRenderer.js.map +1 -1
- package/build/esm/images/tiff-renderer/TiffViewerMedia.js.map +1 -1
- package/build/esm/markdown-renderer/MarkdownRenderer.js.map +1 -1
- package/build/esm/markdown-renderer/MarkdownViewerMedia.js.map +1 -1
- package/build/esm/object-table/CellContextMenu.js.map +1 -1
- package/build/esm/object-table/ColumnConfigDialog.js.map +1 -1
- package/build/esm/object-table/DefaultCellRenderer.js +4 -3
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/esm/object-table/EditableCell.js +1 -1
- package/build/esm/object-table/EditableCell.js.map +1 -1
- package/build/esm/object-table/LoadingCell.js.map +1 -1
- package/build/esm/object-table/LoadingRow.js +1 -1
- package/build/esm/object-table/LoadingRow.js.map +1 -1
- package/build/esm/object-table/LoadingStateTable.js +3 -3
- package/build/esm/object-table/LoadingStateTable.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.js +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/esm/object-table/NonIdealState.js.map +1 -1
- 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.map +1 -1
- package/build/esm/object-table/SortableItemsList.js.map +1 -1
- package/build/esm/object-table/Table.js +1 -1
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/TableBody.js +1 -1
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableCell.js +1 -1
- package/build/esm/object-table/TableCell.js.map +1 -1
- package/build/esm/object-table/TableEditContainer.js.map +1 -1
- package/build/esm/object-table/TableHeader.js +1 -1
- package/build/esm/object-table/TableHeader.js.map +1 -1
- package/build/esm/object-table/TableHeaderContent.js.map +1 -1
- package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/esm/object-table/TableRow.js.map +1 -1
- package/build/esm/object-table/components/AsyncValueCell.js.map +1 -1
- package/build/esm/object-table/components/CbacMarkingCell.js.map +1 -1
- package/build/esm/object-table/components/DatePickerCellField.js +1 -1
- package/build/esm/object-table/components/DatePickerCellField.js.map +1 -1
- package/build/esm/object-table/components/DropdownCellField.js +1 -1
- package/build/esm/object-table/components/DropdownCellField.js.map +1 -1
- package/build/esm/object-table/components/MandatoryMarkingCell.js.map +1 -1
- package/build/esm/object-table/components/ReadonlyDisplayCell.js.map +1 -1
- package/build/esm/object-table/components/TextInputCellField.js.map +1 -1
- package/build/esm/object-table/hooks/useCellContextMenu.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnPinning.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnResize.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/esm/object-table/hooks/useFocusedRow.js.map +1 -1
- package/build/esm/object-table/hooks/useFunctionColumnsData.js.map +1 -1
- package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/esm/object-table/hooks/useObjectTableSnapshot.js.map +1 -1
- package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/esm/object-table/hooks/useTableSorting.js.map +1 -1
- package/build/esm/object-table/utils/AsyncCellData.js.map +1 -1
- package/build/esm/object-table/utils/PortalTracker.js.map +1 -1
- package/build/esm/object-table/utils/deriveSelectionObjectSet.js.map +1 -1
- package/build/esm/object-table/utils/editableUtils.js.map +1 -1
- package/build/esm/object-table/utils/functionColumns.js.map +1 -1
- package/build/esm/object-table/utils/getColumnPinningStyles.js.map +1 -1
- package/build/esm/object-table/utils/getRowId.js.map +1 -1
- package/build/esm/object-table/utils/objectTableSnapshot.js.map +1 -1
- package/build/esm/object-table/utils/shouldShowEditableCell.js.map +1 -1
- package/build/esm/object-table/utils/types.js.map +1 -1
- package/build/esm/pdf-viewer/PdfRenderer.js.map +1 -1
- package/build/esm/pdf-viewer/PdfViewer.js.map +1 -1
- package/build/esm/pdf-viewer/PdfViewerContext.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfAnnotationOverlay.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerAnnotationLayer.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerContent.js +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerContent.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.js +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerOutlineSidebar.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerSearchBar.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerSidebar.js +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerSidebar.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerSidebarHeader.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerThumbnail.js.map +1 -1
- package/build/esm/pdf-viewer/components/PdfViewerToolbar.js.map +1 -1
- package/build/esm/pdf-viewer/constants.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfAnnotationPortals.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfAnnotationsByPage.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfDocument.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfFormFields.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfHighlightMode.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfOutline.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfViewer.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfViewerCore.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfViewerSearch.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfViewerState.js.map +1 -1
- package/build/esm/pdf-viewer/hooks/usePdfViewerSync.js.map +1 -1
- package/build/esm/public/experimental/action-form.js.map +1 -1
- package/build/esm/public/experimental/cbac-picker.js.map +1 -1
- package/build/esm/public/experimental/document-viewer.js.map +1 -1
- package/build/esm/public/experimental/email-viewer.js.map +1 -1
- package/build/esm/public/experimental/excel-viewer.js.map +1 -1
- package/build/esm/public/experimental/filter-list.js.map +1 -1
- package/build/esm/public/experimental/image-viewer.js.map +1 -1
- package/build/esm/public/experimental/markdown-renderer.js.map +1 -1
- package/build/esm/public/experimental/object-table.js.map +1 -1
- package/build/esm/public/experimental/pdf-viewer.js.map +1 -1
- package/build/esm/public/experimental/tiff-renderer.js.map +1 -1
- package/build/esm/public/experimental/video-viewer.js.map +1 -1
- package/build/esm/public/experimental/xml-viewer.js.map +1 -1
- package/build/esm/shared/ErrorBoundary.js.map +1 -1
- package/build/esm/shared/PortalContainerContext.js.map +1 -1
- package/build/esm/shared/PortalDismissLayer.js.map +1 -1
- package/build/esm/shared/calendar/DateCalendar.js +1 -1
- package/build/esm/shared/calendar/DateCalendar.js.map +1 -1
- package/build/esm/shared/calendar/DatePicker.js +2 -2
- package/build/esm/shared/calendar/DatePicker.js.map +1 -1
- package/build/esm/shared/calendar/DateRangeCalendar.js.map +1 -1
- package/build/esm/shared/calendar/DateRangePicker.js +2 -2
- package/build/esm/shared/calendar/DateRangePicker.js.map +1 -1
- package/build/esm/shared/calendar/LazyDateCalendar.js.map +1 -1
- package/build/esm/shared/calendar/LazyDateRangeCalendar.js.map +1 -1
- package/build/esm/shared/calendar/TimePicker.js.map +1 -1
- package/build/esm/shared/calendar/calendarShared.js.map +1 -1
- package/build/esm/shared/calendar/useDateEditState.js.map +1 -1
- package/build/esm/shared/dateUtils.js.map +1 -1
- package/build/esm/shared/hooks/useAsyncAction.js.map +1 -1
- package/build/esm/shared/hooks/useDebouncedValue.js.map +1 -1
- package/build/esm/shared/hooks/useEventCallback.js.map +1 -1
- package/build/esm/shared/hooks/useInfiniteScroll.js.map +1 -1
- package/build/esm/shared/hooks/useMediaContents.js.map +1 -1
- package/build/esm/theme/OsdkThemeContext.js.map +1 -1
- package/build/esm/theme/OsdkThemeProvider.js.map +1 -1
- package/build/esm/theme/useOsdkTheme.js.map +1 -1
- package/build/esm/theme/useSystemTheme.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/withOsdkMetrics.js.map +1 -1
- package/build/esm/video-viewer/BaseVideoViewer.js.map +1 -1
- package/build/esm/video-viewer/VideoViewer.js.map +1 -1
- package/build/esm/video-viewer/VideoViewerApi.js.map +1 -1
- package/build/esm/xml-viewer/BaseXmlViewer.js.map +1 -1
- package/build/esm/xml-viewer/XmlViewer.js.map +1 -1
- package/build/esm/xml-viewer/XmlViewerApi.js.map +1 -1
- package/build/types/action-form/ActionForm.d.ts.map +1 -1
- 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.map +1 -1
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/FormHeader.d.ts.map +1 -1
- package/build/types/action-form/FormSection.d.ts.map +1 -1
- package/build/types/action-form/fields/AsyncDropdownField.d.ts.map +1 -1
- package/build/types/action-form/fields/CustomField.d.ts.map +1 -1
- package/build/types/action-form/fields/DropdownField.d.ts.map +1 -1
- package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -1
- package/build/types/action-form/fields/FilePickerField.d.ts.map +1 -1
- package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -1
- package/build/types/action-form/fields/NumberInputField.d.ts.map +1 -1
- package/build/types/action-form/fields/ObjectSelectField.d.ts.map +1 -1
- package/build/types/action-form/fields/ObjectSetField.d.ts.map +1 -1
- package/build/types/action-form/fields/RadioButtonsField.d.ts.map +1 -1
- package/build/types/action-form/fields/SwitchField.d.ts.map +1 -1
- package/build/types/action-form/fields/TextAreaField.d.ts.map +1 -1
- package/build/types/action-form/fields/TextInputField.d.ts.map +1 -1
- package/build/types/action-form/utils/extractValidationRules.d.ts.map +1 -1
- package/build/types/action-form/utils/getDefaultFieldDefinitions.d.ts.map +1 -1
- package/build/types/aip-agent-chat/AipAgentChat.d.ts.map +1 -1
- package/build/types/aip-agent-chat/BaseAipAgentChat.d.ts.map +1 -1
- package/build/types/aip-agent-chat/components/AipAgentChatComposer.d.ts.map +1 -1
- package/build/types/aip-agent-chat/components/AipAgentChatLoader.d.ts.map +1 -1
- package/build/types/aip-agent-chat/components/AipAgentChatMessage.d.ts.map +1 -1
- package/build/types/aip-agent-chat/components/AipAgentChatMessageList.d.ts.map +1 -1
- package/build/types/aip-agent-chat/components/AipAgentChatModelPicker.d.ts.map +1 -1
- package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -1
- package/build/types/base-components/callout/Callout.d.ts.map +1 -1
- package/build/types/base-components/checkbox/Checkbox.d.ts.map +1 -1
- package/build/types/base-components/combobox/Combobox.d.ts.map +1 -1
- package/build/types/base-components/dialog/Dialog.d.ts.map +1 -1
- package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -1
- package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -1
- package/build/types/base-components/searchable-menu/SearchableMenu.d.ts.map +1 -1
- package/build/types/base-components/select/Select.d.ts.map +1 -1
- package/build/types/base-components/skeleton/SkeletonBar.d.ts.map +1 -1
- package/build/types/base-components/switch/Switch.d.ts.map +1 -1
- package/build/types/base-components/tooltip/Tooltip.d.ts.map +1 -1
- package/build/types/cbac-picker/CbacBanner.d.ts.map +1 -1
- package/build/types/cbac-picker/CbacBannerPopover.d.ts.map +1 -1
- package/build/types/cbac-picker/CbacPicker.d.ts.map +1 -1
- package/build/types/cbac-picker/CbacPickerDialog.d.ts.map +1 -1
- package/build/types/cbac-picker/base/BaseCbacBanner.d.ts.map +1 -1
- package/build/types/cbac-picker/base/BaseCbacBannerPopover.d.ts.map +1 -1
- package/build/types/cbac-picker/base/BaseCbacPicker.d.ts.map +1 -1
- package/build/types/cbac-picker/base/BaseCbacPickerDialog.d.ts.map +1 -1
- package/build/types/cbac-picker/base/CategoryMarkingGroup.d.ts.map +1 -1
- package/build/types/cbac-picker/base/CbacPickerDialogFooter.d.ts.map +1 -1
- package/build/types/cbac-picker/base/InfoBanner.d.ts.map +1 -1
- package/build/types/cbac-picker/base/MarkingButton.d.ts.map +1 -1
- package/build/types/cbac-picker/base/MaxClassificationField.d.ts.map +1 -1
- package/build/types/cbac-picker/base/OverflowButton.d.ts.map +1 -1
- package/build/types/cbac-picker/base/OverflowItem.d.ts.map +1 -1
- package/build/types/cbac-picker/base/ValidationWarning.d.ts.map +1 -1
- package/build/types/cbac-picker/useCbacPickerState.d.ts.map +1 -1
- package/build/types/cbac-picker/useCbacSelection.d.ts.map +1 -1
- package/build/types/cbac-picker/useConstraintCallout.d.ts.map +1 -1
- package/build/types/cbac-picker/utils/errorMessages.d.ts.map +1 -1
- package/build/types/document-viewer/DocumentViewer.d.ts.map +1 -1
- package/build/types/document-viewer/DocumentViewerApi.d.ts.map +1 -1
- package/build/types/document-viewer/TiffDocumentViewer.d.ts.map +1 -1
- package/build/types/document-viewer/hooks/useTiffToPdf.d.ts.map +1 -1
- package/build/types/email-viewer/BaseEmailViewer.d.ts.map +1 -1
- package/build/types/email-viewer/EmailViewer.d.ts.map +1 -1
- package/build/types/email-viewer/EmailViewerApi.d.ts.map +1 -1
- package/build/types/email-viewer/parseEmail.d.ts.map +1 -1
- package/build/types/excel-viewer/BaseExcelViewer.d.ts.map +1 -1
- package/build/types/excel-viewer/ExcelViewer.d.ts.map +1 -1
- package/build/types/excel-viewer/ExcelViewerApi.d.ts.map +1 -1
- package/build/types/excel-viewer/parseSpreadsheet.d.ts.map +1 -1
- package/build/types/filter-list/FilterInput.d.ts.map +1 -1
- package/build/types/filter-list/FilterList.d.ts.map +1 -1
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/base/AddFilterPopover.d.ts.map +1 -1
- package/build/types/filter-list/base/BaseFilterList.d.ts.map +1 -1
- package/build/types/filter-list/base/BaseFilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/base/ExcludeDropdown.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterInputExcludeRow.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -1
- 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/FilterPopover.d.ts.map +1 -1
- package/build/types/filter-list/base/SortableFilterListItem.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/DateRangeHistogramInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/EmptyStringLabel.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/HistogramTooltip.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ListogramSkeleton.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/MultiDateInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/MultiSelectDropdownLayout.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/MultiSelectInlineLayout.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/NoValueLabel.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/OptionLabel.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/SelectInputSkeleton.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/SingleSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/TimelineInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ToggleInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/createDateHistogramBuckets.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useDualScopeAggregation.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterPropertyAggregation.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterVisibility.d.ts.map +1 -1
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -1
- package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/StaticValuesFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/TimelineFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/ToggleFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -1
- package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -1
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -1
- package/build/types/filter-list/types/StaticValuesTypes.d.ts.map +1 -1
- package/build/types/filter-list/utils/aggregationHelpers.d.ts.map +1 -1
- package/build/types/filter-list/utils/emptyFilterDisplayState.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
- package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -1
- package/build/types/filter-list/utils/getFilterLabel.d.ts.map +1 -1
- package/build/types/filter-list/utils/narrowObjectSet.d.ts.map +1 -1
- package/build/types/filter-list/utils/summarizeFilterValue.d.ts.map +1 -1
- package/build/types/images/image-viewer/BaseImageViewer.d.ts.map +1 -1
- package/build/types/images/image-viewer/ImageViewer.d.ts.map +1 -1
- package/build/types/images/image-viewer/ImageViewerApi.d.ts.map +1 -1
- package/build/types/images/tiff-renderer/TiffRenderer.d.ts.map +1 -1
- package/build/types/images/tiff-renderer/TiffViewerMedia.d.ts.map +1 -1
- package/build/types/markdown-renderer/MarkdownRenderer.d.ts.map +1 -1
- package/build/types/markdown-renderer/MarkdownViewerMedia.d.ts.map +1 -1
- package/build/types/object-table/CellContextMenu.d.ts.map +1 -1
- package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -1
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -1
- package/build/types/object-table/EditableCell.d.ts.map +1 -1
- package/build/types/object-table/LoadingCell.d.ts.map +1 -1
- package/build/types/object-table/LoadingRow.d.ts.map +1 -1
- package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
- package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -1
- package/build/types/object-table/NonIdealState.d.ts.map +1 -1
- package/build/types/object-table/ObjectTable.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/SelectionCells.d.ts.map +1 -1
- package/build/types/object-table/SortableItemsList.d.ts.map +1 -1
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableBody.d.ts.map +1 -1
- package/build/types/object-table/TableCell.d.ts.map +1 -1
- package/build/types/object-table/TableEditContainer.d.ts.map +1 -1
- package/build/types/object-table/TableHeader.d.ts.map +1 -1
- package/build/types/object-table/TableHeaderContent.d.ts.map +1 -1
- package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
- package/build/types/object-table/TableRow.d.ts.map +1 -1
- package/build/types/object-table/components/AsyncValueCell.d.ts.map +1 -1
- package/build/types/object-table/components/CbacMarkingCell.d.ts.map +1 -1
- package/build/types/object-table/components/DatePickerCellField.d.ts.map +1 -1
- package/build/types/object-table/components/DropdownCellField.d.ts.map +1 -1
- package/build/types/object-table/components/MandatoryMarkingCell.d.ts.map +1 -1
- package/build/types/object-table/components/ReadonlyDisplayCell.d.ts.map +1 -1
- package/build/types/object-table/components/TextInputCellField.d.ts.map +1 -1
- package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
- package/build/types/object-table/hooks/useColumnPinning.d.ts.map +1 -1
- package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -1
- package/build/types/object-table/hooks/useFocusedRow.d.ts.map +1 -1
- package/build/types/object-table/hooks/useFunctionColumnsData.d.ts.map +1 -1
- package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
- package/build/types/object-table/hooks/useObjectTableSnapshot.d.ts.map +1 -1
- package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
- package/build/types/object-table/hooks/useSelectionColumn.d.ts.map +1 -1
- package/build/types/object-table/hooks/useTableSorting.d.ts.map +1 -1
- package/build/types/object-table/utils/AsyncCellData.d.ts.map +1 -1
- package/build/types/object-table/utils/PortalTracker.d.ts.map +1 -1
- package/build/types/object-table/utils/deriveSelectionObjectSet.d.ts.map +1 -1
- package/build/types/object-table/utils/functionColumns.d.ts.map +1 -1
- package/build/types/object-table/utils/getRowId.d.ts.map +1 -1
- package/build/types/object-table/utils/objectTableSnapshot.d.ts.map +1 -1
- package/build/types/object-table/utils/types.d.ts.map +1 -1
- package/build/types/pdf-viewer/PdfRenderer.d.ts.map +1 -1
- package/build/types/pdf-viewer/PdfViewer.d.ts.map +1 -1
- package/build/types/pdf-viewer/PdfViewerContext.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfAnnotationOverlay.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerAnnotationLayer.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerContent.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerOutlineSidebar.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerSearchBar.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerSidebar.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerSidebarHeader.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerThumbnail.d.ts.map +1 -1
- package/build/types/pdf-viewer/components/PdfViewerToolbar.d.ts.map +1 -1
- package/build/types/pdf-viewer/constants.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfAnnotationPortals.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfAnnotationsByPage.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfFormFields.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfHighlightMode.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfOutline.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfViewer.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfViewerCore.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfViewerSearch.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfViewerState.d.ts.map +1 -1
- package/build/types/pdf-viewer/hooks/usePdfViewerSync.d.ts.map +1 -1
- package/build/types/shared/ErrorBoundary.d.ts.map +1 -1
- package/build/types/shared/PortalContainerContext.d.ts.map +1 -1
- package/build/types/shared/PortalDismissLayer.d.ts.map +1 -1
- package/build/types/shared/calendar/DateCalendar.d.ts.map +1 -1
- package/build/types/shared/calendar/DatePicker.d.ts.map +1 -1
- package/build/types/shared/calendar/DateRangeCalendar.d.ts.map +1 -1
- package/build/types/shared/calendar/DateRangePicker.d.ts.map +1 -1
- package/build/types/shared/calendar/LazyDateCalendar.d.ts.map +1 -1
- package/build/types/shared/calendar/LazyDateRangeCalendar.d.ts.map +1 -1
- package/build/types/shared/calendar/TimePicker.d.ts.map +1 -1
- package/build/types/shared/calendar/useDateEditState.d.ts.map +1 -1
- package/build/types/shared/dateUtils.d.ts.map +1 -1
- package/build/types/shared/hooks/useAsyncAction.d.ts.map +1 -1
- package/build/types/shared/hooks/useInfiniteScroll.d.ts.map +1 -1
- package/build/types/theme/OsdkThemeContext.d.ts.map +1 -1
- package/build/types/theme/OsdkThemeProvider.d.ts.map +1 -1
- package/build/types/theme/useOsdkTheme.d.ts.map +1 -1
- package/build/types/theme/useSystemTheme.d.ts.map +1 -1
- package/build/types/util/UserAgent.d.ts.map +1 -1
- package/build/types/util/withOsdkMetrics.d.ts.map +1 -1
- package/build/types/video-viewer/BaseVideoViewer.d.ts.map +1 -1
- package/build/types/video-viewer/VideoViewer.d.ts.map +1 -1
- package/build/types/video-viewer/VideoViewerApi.d.ts.map +1 -1
- package/build/types/xml-viewer/BaseXmlViewer.d.ts.map +1 -1
- package/build/types/xml-viewer/XmlViewer.d.ts.map +1 -1
- package/build/types/xml-viewer/XmlViewerApi.d.ts.map +1 -1
- package/package.json +9 -10
- package/build/cjs/DateCalendar-FTW3OIEP.css.map +0 -1
- package/build/cjs/DateRangeCalendar-I4JHCZAK.css.map +0 -1
- package/build/cjs/DateRangeCalendar-PHC3VPW3.cjs +0 -12
- package/build/cjs/chunk-4VNWCW75.cjs.map +0 -1
- package/build/cjs/chunk-CASYBF4M.cjs.map +0 -1
- package/build/cjs/chunk-DA22W6ZO.cjs.map +0 -1
- package/build/cjs/chunk-F4JELV7M.cjs +0 -11
- package/build/cjs/chunk-IHVPE5CD.cjs.map +0 -1
- package/build/cjs/chunk-LGGRMQCE.cjs +0 -11
- package/build/cjs/chunk-MMPVBH5H.cjs.map +0 -1
- package/build/cjs/chunk-PYOEFNQH.cjs +0 -11
- package/build/cjs/chunk-Q5H4KPSL.cjs +0 -11
- package/build/cjs/chunk-VRTFHF24.cjs +0 -11
- package/build/cjs/chunk-W6DWGABB.cjs +0 -11
- package/build/cjs/chunk-WE4REEMW.cjs.map +0 -1
- package/build/cjs/chunk-XK4H7EHE.cjs.map +0 -1
- package/build/cjs/chunk-YTDSW5OV.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentViewer.js","names":["Document","DocumentIcon","classnames","React","useMemo","EmailViewer","ExcelViewer","ImageViewer","TiffViewerMedia","MarkdownViewerMedia","PdfViewer","assertUnreachable","VideoViewer","XmlViewer","styles","ViewerType","TiffDocumentViewer","IMAGE_MIME_TYPES","Set","MARKDOWN_MIME_TYPES","XML_MIME_TYPES","isTiffFile","mimeType","fileName","lowered","toLowerCase","endsWith","getViewerType","Pdf","Tiff","has","Image","startsWith","Video","Markdown","Excel","Email","Xml","Unsupported","DocumentViewer","media","className","mimeTypeOverride","pdfViewerProps","imageViewerProps","videoViewerProps","tiffRendererProps","markdownRendererProps","excelViewerProps","emailViewerProps","xmlViewerProps","enableTiffToPdf","getMediaReference","viewerType","rootClassName","container","createElement","_extends","unsupportedContainer","unsupportedIcon"],"sources":["DocumentViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words openxmlformats officedocument wordprocessingml spreadsheetml */\n\nimport { Document as DocumentIcon } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { EmailViewer } from \"../email-viewer/EmailViewer.js\";\nimport { ExcelViewer } from \"../excel-viewer/ExcelViewer.js\";\nimport { ImageViewer } from \"../images/image-viewer/ImageViewer.js\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { MarkdownViewerMedia } from \"../markdown-renderer/MarkdownViewerMedia.js\";\nimport { PdfViewer } from \"../pdf-viewer/PdfRenderer.js\";\nimport { assertUnreachable } from \"../shared/assertUnreachable.js\";\nimport { VideoViewer } from \"../video-viewer/VideoViewer.js\";\nimport { XmlViewer } from \"../xml-viewer/XmlViewer.js\";\nimport styles from \"./DocumentViewer.module.css\";\nimport type { DocumentViewerProps } from \"./DocumentViewerApi.js\";\nimport { ViewerType } from \"./DocumentViewerApi.js\";\nimport { TiffDocumentViewer } from \"./TiffDocumentViewer.js\";\n\nconst IMAGE_MIME_TYPES = new Set([\n \"image/png\",\n \"image/jpeg\",\n \"image/gif\",\n \"image/svg+xml\",\n \"image/webp\",\n \"image/bmp\",\n]);\n\nconst MARKDOWN_MIME_TYPES = new Set([\n \"text/markdown\",\n \"text/x-markdown\",\n]);\n\nconst XML_MIME_TYPES = new Set([\n \"application/xml\",\n \"text/xml\",\n]);\n\nfunction isTiffFile(\n mimeType: string,\n fileName: string | undefined,\n): boolean {\n if (mimeType === \"image/tiff\") {\n return true;\n }\n const lowered = fileName?.toLowerCase();\n return lowered?.endsWith(\".tif\") === true\n || lowered?.endsWith(\".tiff\") === true;\n}\n\nfunction getViewerType(\n mimeType: string,\n fileName: string | undefined,\n): ViewerType {\n if (mimeType === \"application/pdf\") {\n return ViewerType.Pdf;\n }\n if (isTiffFile(mimeType, fileName)) {\n return ViewerType.Tiff;\n }\n if (IMAGE_MIME_TYPES.has(mimeType)) {\n return ViewerType.Image;\n }\n if (mimeType.startsWith(\"video/\")) {\n return ViewerType.Video;\n }\n if (MARKDOWN_MIME_TYPES.has(mimeType)) {\n return ViewerType.Markdown;\n }\n if (\n mimeType\n === \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\n ) {\n return ViewerType.Excel;\n }\n if (mimeType === \"message/rfc822\") {\n return ViewerType.Email;\n }\n if (XML_MIME_TYPES.has(mimeType)) {\n return ViewerType.Xml;\n }\n return ViewerType.Unsupported;\n}\n\nexport function DocumentViewer({\n media,\n className,\n mimeTypeOverride,\n pdfViewerProps,\n imageViewerProps,\n videoViewerProps,\n tiffRendererProps,\n markdownRendererProps,\n excelViewerProps,\n emailViewerProps,\n xmlViewerProps,\n fileName,\n enableTiffToPdf = false,\n}: DocumentViewerProps): React.ReactElement {\n const mimeType = mimeTypeOverride ?? media.getMediaReference().mimeType;\n const viewerType = useMemo(\n () => getViewerType(mimeType, fileName),\n [mimeType, fileName],\n );\n const rootClassName = classnames(styles.container, className);\n\n switch (viewerType) {\n case ViewerType.Pdf:\n return (\n <PdfViewer\n media={media}\n className={rootClassName}\n {...pdfViewerProps}\n />\n );\n case ViewerType.Tiff:\n if (enableTiffToPdf) {\n return (\n <TiffDocumentViewer\n media={media}\n className={rootClassName}\n enableTiffToPdf={enableTiffToPdf}\n tiffRendererProps={tiffRendererProps}\n pdfViewerProps={pdfViewerProps}\n />\n );\n }\n return (\n <TiffViewerMedia\n media={media}\n className={rootClassName}\n {...tiffRendererProps}\n />\n );\n case ViewerType.Image:\n return (\n <ImageViewer\n media={media}\n className={rootClassName}\n {...imageViewerProps}\n />\n );\n case ViewerType.Video:\n return (\n <VideoViewer\n media={media}\n className={rootClassName}\n {...videoViewerProps}\n />\n );\n case ViewerType.Markdown:\n return (\n <MarkdownViewerMedia\n media={media}\n className={rootClassName}\n {...markdownRendererProps}\n />\n );\n case ViewerType.Excel:\n return (\n <ExcelViewer\n media={media}\n className={rootClassName}\n {...excelViewerProps}\n />\n );\n case ViewerType.Email:\n return (\n <EmailViewer\n media={media}\n className={rootClassName}\n {...emailViewerProps}\n />\n );\n case ViewerType.Xml:\n return (\n <XmlViewer\n media={media}\n className={rootClassName}\n {...xmlViewerProps}\n />\n );\n case ViewerType.Unsupported:\n return (\n <div className={rootClassName}>\n <div className={styles.unsupportedContainer}>\n <DocumentIcon className={styles.unsupportedIcon} />\n Unsupported file type: {mimeType}\n </div>\n </div>\n );\n default:\n assertUnreachable(viewerType);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DocumentViewer.js","names":["Document","DocumentIcon","classnames","React","useMemo","EmailViewer","ExcelViewer","ImageViewer","TiffViewerMedia","MarkdownViewerMedia","PdfViewer","assertUnreachable","VideoViewer","XmlViewer","ViewerType","TiffDocumentViewer","styles","IMAGE_MIME_TYPES","Set","MARKDOWN_MIME_TYPES","XML_MIME_TYPES","isTiffFile","mimeType","fileName","lowered","toLowerCase","endsWith","getViewerType","Pdf","Tiff","has","Image","startsWith","Video","Markdown","Excel","Email","Xml","Unsupported","DocumentViewer","media","className","mimeTypeOverride","pdfViewerProps","imageViewerProps","videoViewerProps","tiffRendererProps","markdownRendererProps","excelViewerProps","emailViewerProps","xmlViewerProps","enableTiffToPdf","getMediaReference","viewerType","rootClassName","container","createElement","_extends","unsupportedContainer","unsupportedIcon"],"sources":["DocumentViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words openxmlformats officedocument wordprocessingml spreadsheetml */\n\nimport { Document as DocumentIcon } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\n\nimport { EmailViewer } from \"../email-viewer/EmailViewer.js\";\nimport { ExcelViewer } from \"../excel-viewer/ExcelViewer.js\";\nimport { ImageViewer } from \"../images/image-viewer/ImageViewer.js\";\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport { MarkdownViewerMedia } from \"../markdown-renderer/MarkdownViewerMedia.js\";\nimport { PdfViewer } from \"../pdf-viewer/PdfRenderer.js\";\nimport { assertUnreachable } from \"../shared/assertUnreachable.js\";\nimport { VideoViewer } from \"../video-viewer/VideoViewer.js\";\nimport { XmlViewer } from \"../xml-viewer/XmlViewer.js\";\nimport type { DocumentViewerProps } from \"./DocumentViewerApi.js\";\nimport { ViewerType } from \"./DocumentViewerApi.js\";\nimport { TiffDocumentViewer } from \"./TiffDocumentViewer.js\";\n\nimport styles from \"./DocumentViewer.module.css\";\n\nconst IMAGE_MIME_TYPES = new Set([\n \"image/png\",\n \"image/jpeg\",\n \"image/gif\",\n \"image/svg+xml\",\n \"image/webp\",\n \"image/bmp\",\n]);\n\nconst MARKDOWN_MIME_TYPES = new Set([\"text/markdown\", \"text/x-markdown\"]);\n\nconst XML_MIME_TYPES = new Set([\"application/xml\", \"text/xml\"]);\n\nfunction isTiffFile(mimeType: string, fileName: string | undefined): boolean {\n if (mimeType === \"image/tiff\") {\n return true;\n }\n const lowered = fileName?.toLowerCase();\n return (\n lowered?.endsWith(\".tif\") === true || lowered?.endsWith(\".tiff\") === true\n );\n}\n\nfunction getViewerType(\n mimeType: string,\n fileName: string | undefined\n): ViewerType {\n if (mimeType === \"application/pdf\") {\n return ViewerType.Pdf;\n }\n if (isTiffFile(mimeType, fileName)) {\n return ViewerType.Tiff;\n }\n if (IMAGE_MIME_TYPES.has(mimeType)) {\n return ViewerType.Image;\n }\n if (mimeType.startsWith(\"video/\")) {\n return ViewerType.Video;\n }\n if (MARKDOWN_MIME_TYPES.has(mimeType)) {\n return ViewerType.Markdown;\n }\n if (\n mimeType ===\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\n ) {\n return ViewerType.Excel;\n }\n if (mimeType === \"message/rfc822\") {\n return ViewerType.Email;\n }\n if (XML_MIME_TYPES.has(mimeType)) {\n return ViewerType.Xml;\n }\n return ViewerType.Unsupported;\n}\n\nexport function DocumentViewer({\n media,\n className,\n mimeTypeOverride,\n pdfViewerProps,\n imageViewerProps,\n videoViewerProps,\n tiffRendererProps,\n markdownRendererProps,\n excelViewerProps,\n emailViewerProps,\n xmlViewerProps,\n fileName,\n enableTiffToPdf = false,\n}: DocumentViewerProps): React.ReactElement {\n const mimeType = mimeTypeOverride ?? media.getMediaReference().mimeType;\n const viewerType = useMemo(\n () => getViewerType(mimeType, fileName),\n [mimeType, fileName]\n );\n const rootClassName = classnames(styles.container, className);\n\n switch (viewerType) {\n case ViewerType.Pdf:\n return (\n <PdfViewer\n media={media}\n className={rootClassName}\n {...pdfViewerProps}\n />\n );\n case ViewerType.Tiff:\n if (enableTiffToPdf) {\n return (\n <TiffDocumentViewer\n media={media}\n className={rootClassName}\n enableTiffToPdf={enableTiffToPdf}\n tiffRendererProps={tiffRendererProps}\n pdfViewerProps={pdfViewerProps}\n />\n );\n }\n return (\n <TiffViewerMedia\n media={media}\n className={rootClassName}\n {...tiffRendererProps}\n />\n );\n case ViewerType.Image:\n return (\n <ImageViewer\n media={media}\n className={rootClassName}\n {...imageViewerProps}\n />\n );\n case ViewerType.Video:\n return (\n <VideoViewer\n media={media}\n className={rootClassName}\n {...videoViewerProps}\n />\n );\n case ViewerType.Markdown:\n return (\n <MarkdownViewerMedia\n media={media}\n className={rootClassName}\n {...markdownRendererProps}\n />\n );\n case ViewerType.Excel:\n return (\n <ExcelViewer\n media={media}\n className={rootClassName}\n {...excelViewerProps}\n />\n );\n case ViewerType.Email:\n return (\n <EmailViewer\n media={media}\n className={rootClassName}\n {...emailViewerProps}\n />\n );\n case ViewerType.Xml:\n return (\n <XmlViewer\n media={media}\n className={rootClassName}\n {...xmlViewerProps}\n />\n );\n case ViewerType.Unsupported:\n return (\n <div className={rootClassName}>\n <div className={styles.unsupportedContainer}>\n <DocumentIcon className={styles.unsupportedIcon} />\n Unsupported file type: {mimeType}\n </div>\n </div>\n );\n default:\n assertUnreachable(viewerType);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentViewerApi.js","names":["ViewerType"],"sources":["DocumentViewerApi.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Media } from \"@osdk/api\";\nimport type { BaseEmailViewerProps } from \"../email-viewer/EmailViewerApi.js\";\nimport type { BaseExcelViewerProps } from \"../excel-viewer/ExcelViewerApi.js\";\nimport type { BaseImageViewerProps } from \"../images/image-viewer/ImageViewerApi.js\";\nimport type { TiffRendererProps } from \"../images/tiff-renderer/types.js\";\nimport type { MarkdownRendererProps } from \"../markdown-renderer/MarkdownRenderer.js\";\nimport type { PdfViewerProps } from \"../pdf-viewer/types.js\";\nimport type { BaseVideoViewerProps } from \"../video-viewer/VideoViewerApi.js\";\nimport type { BaseXmlViewerProps } from \"../xml-viewer/XmlViewerApi.js\";\n\nexport enum ViewerType {\n Pdf = \"pdf\",\n Tiff = \"tiff\",\n Image = \"image\",\n Video = \"video\",\n Markdown = \"markdown\",\n Excel = \"excel\",\n Email = \"email\",\n Xml = \"xml\",\n Unsupported = \"unsupported\",\n}\n\nexport interface DocumentViewerProps {\n /** The Media object to render */\n media: Media;\n /** Additional CSS class name for the root element\n * @default undefined */\n className?: string;\n /** Override the auto-detected MIME type\n * @default undefined */\n mimeTypeOverride?: string;\n /** Props forwarded to BasePdfViewer when rendering PDF\n * @default undefined */\n pdfViewerProps?: Partial<Omit<PdfViewerProps, \"src\" | \"className\">>;\n /** Props forwarded to BaseImageViewer when rendering images\n * @default undefined */\n imageViewerProps?: Partial<Omit<BaseImageViewerProps, \"src\" | \"className\">>;\n /** Props forwarded to BaseVideoViewer when rendering video\n * @default undefined */\n videoViewerProps?: Partial<Omit<BaseVideoViewerProps, \"src\" | \"className\">>;\n /** Props forwarded to TiffRenderer when rendering TIFF\n * @default undefined */\n tiffRendererProps?: Partial<Omit<TiffRendererProps, \"content\" | \"className\">>;\n /** Props forwarded to MarkdownRenderer when rendering markdown\n * @default undefined */\n markdownRendererProps?: Partial<\n Omit<MarkdownRendererProps, \"content\" | \"className\">\n >;\n /** Props forwarded to BaseExcelViewer when rendering Excel\n * @default undefined */\n excelViewerProps?: Partial<\n Omit<BaseExcelViewerProps, \"spreadsheet\" | \"className\">\n >;\n /** Props forwarded to BaseEmailViewer when rendering EML\n * @default undefined */\n emailViewerProps?: Partial<Omit<BaseEmailViewerProps, \"email\" | \"className\">>;\n /** Props forwarded to BaseXmlViewer when rendering XML\n * @default undefined */\n xmlViewerProps?: Partial
|
|
1
|
+
{"version":3,"file":"DocumentViewerApi.js","names":["ViewerType"],"sources":["DocumentViewerApi.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Media } from \"@osdk/api\";\n\nimport type { BaseEmailViewerProps } from \"../email-viewer/EmailViewerApi.js\";\nimport type { BaseExcelViewerProps } from \"../excel-viewer/ExcelViewerApi.js\";\nimport type { BaseImageViewerProps } from \"../images/image-viewer/ImageViewerApi.js\";\nimport type { TiffRendererProps } from \"../images/tiff-renderer/types.js\";\nimport type { MarkdownRendererProps } from \"../markdown-renderer/MarkdownRenderer.js\";\nimport type { PdfViewerProps } from \"../pdf-viewer/types.js\";\nimport type { BaseVideoViewerProps } from \"../video-viewer/VideoViewerApi.js\";\nimport type { BaseXmlViewerProps } from \"../xml-viewer/XmlViewerApi.js\";\n\nexport enum ViewerType {\n Pdf = \"pdf\",\n Tiff = \"tiff\",\n Image = \"image\",\n Video = \"video\",\n Markdown = \"markdown\",\n Excel = \"excel\",\n Email = \"email\",\n Xml = \"xml\",\n Unsupported = \"unsupported\",\n}\n\nexport interface DocumentViewerProps {\n /** The Media object to render */\n media: Media;\n /** Additional CSS class name for the root element\n * @default undefined */\n className?: string;\n /** Override the auto-detected MIME type\n * @default undefined */\n mimeTypeOverride?: string;\n /** Props forwarded to BasePdfViewer when rendering PDF\n * @default undefined */\n pdfViewerProps?: Partial<Omit<PdfViewerProps, \"src\" | \"className\">>;\n /** Props forwarded to BaseImageViewer when rendering images\n * @default undefined */\n imageViewerProps?: Partial<Omit<BaseImageViewerProps, \"src\" | \"className\">>;\n /** Props forwarded to BaseVideoViewer when rendering video\n * @default undefined */\n videoViewerProps?: Partial<Omit<BaseVideoViewerProps, \"src\" | \"className\">>;\n /** Props forwarded to TiffRenderer when rendering TIFF\n * @default undefined */\n tiffRendererProps?: Partial<Omit<TiffRendererProps, \"content\" | \"className\">>;\n /** Props forwarded to MarkdownRenderer when rendering markdown\n * @default undefined */\n markdownRendererProps?: Partial<\n Omit<MarkdownRendererProps, \"content\" | \"className\">\n >;\n /** Props forwarded to BaseExcelViewer when rendering Excel\n * @default undefined */\n excelViewerProps?: Partial<\n Omit<BaseExcelViewerProps, \"spreadsheet\" | \"className\">\n >;\n /** Props forwarded to BaseEmailViewer when rendering EML\n * @default undefined */\n emailViewerProps?: Partial<Omit<BaseEmailViewerProps, \"email\" | \"className\">>;\n /** Props forwarded to BaseXmlViewer when rendering XML\n * @default undefined */\n xmlViewerProps?: Partial<Omit<BaseXmlViewerProps, \"content\" | \"className\">>;\n /** File name hint for MIME type detection (e.g. \"scan.tif\"). Used to detect\n * TIFF files when the MIME type is ambiguous (e.g. application/octet-stream).\n * @default undefined */\n fileName?: string;\n /** When true, multi-page TIFF files are converted to PDF via MIO transform API\n * @default false */\n enableTiffToPdf?: boolean;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
|
|
@@ -19,9 +19,9 @@ import { Spin } from "@blueprintjs/icons";
|
|
|
19
19
|
import React from "react";
|
|
20
20
|
import { TiffViewerMedia } from "../images/tiff-renderer/TiffViewerMedia.js";
|
|
21
21
|
import { BasePdfViewer } from "../pdf-viewer/PdfViewer.js";
|
|
22
|
-
import styles from "./DocumentViewer.module.css";
|
|
23
22
|
import { ViewerType } from "./DocumentViewerApi.js";
|
|
24
23
|
import { useTiffToPdf } from "./hooks/useTiffToPdf.js";
|
|
24
|
+
import styles from "./DocumentViewer.module.css";
|
|
25
25
|
export function TiffDocumentViewer({
|
|
26
26
|
media,
|
|
27
27
|
className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TiffDocumentViewer.js","names":["Spin","React","TiffViewerMedia","BasePdfViewer","
|
|
1
|
+
{"version":3,"file":"TiffDocumentViewer.js","names":["Spin","React","TiffViewerMedia","BasePdfViewer","ViewerType","useTiffToPdf","styles","TiffDocumentViewer","media","className","enableTiffToPdf","tiffRendererProps","pdfViewerProps","viewerType","pdfData","loading","createElement","loadingContainer","spinnerIcon","Pdf","_extends","src"],"sources":["TiffDocumentViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Spin } from \"@blueprintjs/icons\";\nimport type { Media } from \"@osdk/api\";\nimport React from \"react\";\n\nimport { TiffViewerMedia } from \"../images/tiff-renderer/TiffViewerMedia.js\";\nimport type { TiffRendererProps } from \"../images/tiff-renderer/types.js\";\nimport { BasePdfViewer } from \"../pdf-viewer/PdfViewer.js\";\nimport type { PdfViewerProps } from \"../pdf-viewer/types.js\";\nimport { ViewerType } from \"./DocumentViewerApi.js\";\nimport { useTiffToPdf } from \"./hooks/useTiffToPdf.js\";\n\nimport styles from \"./DocumentViewer.module.css\";\n\ninterface TiffDocumentViewerProps {\n media: Media;\n className: string;\n enableTiffToPdf: boolean;\n tiffRendererProps?: Partial<Omit<TiffRendererProps, \"content\">>;\n pdfViewerProps?: Partial<Omit<PdfViewerProps, \"src\">>;\n}\n\nexport function TiffDocumentViewer({\n media,\n className,\n enableTiffToPdf,\n tiffRendererProps,\n pdfViewerProps,\n}: TiffDocumentViewerProps): React.ReactElement {\n const { viewerType, pdfData, loading } = useTiffToPdf(media, enableTiffToPdf);\n\n if (loading) {\n return (\n <div className={className}>\n <div className={styles.loadingContainer}>\n <Spin className={styles.spinnerIcon} />\n Converting document…\n </div>\n </div>\n );\n }\n\n if (viewerType === ViewerType.Pdf && pdfData != null) {\n return (\n <BasePdfViewer src={pdfData} className={className} {...pdfViewerProps} />\n );\n }\n\n return (\n <TiffViewerMedia\n media={media}\n className={className}\n {...tiffRendererProps}\n />\n );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,oBAAoB;AAEzC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,eAAe,QAAQ,4CAA4C;AAE5E,SAASC,aAAa,QAAQ,4BAA4B;AAE1D,SAASC,UAAU,QAAQ,wBAAwB;AACnD,SAASC,YAAY,QAAQ,yBAAyB;AAEtD,OAAOC,MAAM,MAAM,6BAA6B;AAUhD,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,KAAK;EACLC,SAAS;EACTC,eAAe;EACfC,iBAAiB;EACjBC;AACuB,CAAC,EAAsB;EAC9C,MAAM;IAAEC,UAAU;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GAAGV,YAAY,CAACG,KAAK,EAAEE,eAAe,CAAC;EAE7E,IAAIK,OAAO,EAAE;IACX,oBACEd,KAAA,CAAAe,aAAA;MAAKP,SAAS,EAAEA;IAAU,gBACxBR,KAAA,CAAAe,aAAA;MAAKP,SAAS,EAAEH,MAAM,CAACW;IAAiB,gBACtChB,KAAA,CAAAe,aAAA,CAAChB,IAAI;MAACS,SAAS,EAAEH,MAAM,CAACY;IAAY,CAAE,CAAC,6BAEpC,CACF,CAAC;EAEV;EAEA,IAAIL,UAAU,KAAKT,UAAU,CAACe,GAAG,IAAIL,OAAO,IAAI,IAAI,EAAE;IACpD,oBACEb,KAAA,CAAAe,aAAA,CAACb,aAAa,EAAAiB,QAAA;MAACC,GAAG,EAAEP,OAAQ;MAACL,SAAS,EAAEA;IAAU,GAAKG,cAAc,CAAG,CAAC;EAE7E;EAEA,oBACEX,KAAA,CAAAe,aAAA,CAACd,eAAe,EAAAkB,QAAA;IACdZ,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA;EAAU,GACjBE,iBAAiB,CACtB,CAAC;AAEN","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTiffToPdf.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait","useOsdkClient","useEffect","useRef","useState","UTIF","ViewerType","DISABLED_RESULT","viewerType","Tiff","pdfData","undefined","loading","error","useTiffToPdf","media","enabled","client","result","setResult","mediaRef","current","cancelled","detectAndTransform","currentMedia","response","fetchContents","buffer","arrayBuffer","ifds","decode","pageCount","length","mediaReference","getMediaReference","pdfResponse","transformAndWait","transformation","$imageToDocument","$operation","$createPdf","pdfBuffer","Pdf","catch","err","console","warn","Error","String"],"sources":["useTiffToPdf.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words ifds */\n\nimport type { Media } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait } from \"@osdk/api/unstable\";\nimport { useOsdkClient } from \"@osdk/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as UTIF from \"utif\";\nimport { ViewerType } from \"../DocumentViewerApi.js\";\n\nexport interface UseTiffToPdfResult {\n /** Which viewer to use: Tiff for single-page, Pdf for multi-page */\n viewerType: ViewerType.Tiff | ViewerType.Pdf;\n /** PDF content as ArrayBuffer when multi-page TIFF was converted */\n pdfData: ArrayBuffer | undefined;\n loading: boolean;\n error: Error | undefined;\n}\n\nconst DISABLED_RESULT: UseTiffToPdfResult = {\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined,\n};\n\n/**\n * Detects multi-page TIFFs and converts them to PDF via the MIO transform API.\n * Single-page TIFFs are left for the TiffRenderer to handle.\n *\n * @param media - The OSDK Media object (must be a TIFF)\n * @param enabled - Whether to attempt multi-page detection and conversion\n */\nexport function useTiffToPdf(\n media: Media,\n enabled: boolean
|
|
1
|
+
{"version":3,"file":"useTiffToPdf.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait","useOsdkClient","useEffect","useRef","useState","UTIF","ViewerType","DISABLED_RESULT","viewerType","Tiff","pdfData","undefined","loading","error","useTiffToPdf","media","enabled","client","result","setResult","mediaRef","current","cancelled","detectAndTransform","currentMedia","response","fetchContents","buffer","arrayBuffer","ifds","decode","pageCount","length","mediaReference","getMediaReference","pdfResponse","transformAndWait","transformation","$imageToDocument","$operation","$createPdf","pdfBuffer","Pdf","catch","err","console","warn","Error","String"],"sources":["useTiffToPdf.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words ifds */\n\nimport type { Media } from \"@osdk/api\";\nimport { __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait } from \"@osdk/api/unstable\";\nimport { useOsdkClient } from \"@osdk/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as UTIF from \"utif\";\n\nimport { ViewerType } from \"../DocumentViewerApi.js\";\n\nexport interface UseTiffToPdfResult {\n /** Which viewer to use: Tiff for single-page, Pdf for multi-page */\n viewerType: ViewerType.Tiff | ViewerType.Pdf;\n /** PDF content as ArrayBuffer when multi-page TIFF was converted */\n pdfData: ArrayBuffer | undefined;\n loading: boolean;\n error: Error | undefined;\n}\n\nconst DISABLED_RESULT: UseTiffToPdfResult = {\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined,\n};\n\n/**\n * Detects multi-page TIFFs and converts them to PDF via the MIO transform API.\n * Single-page TIFFs are left for the TiffRenderer to handle.\n *\n * @param media - The OSDK Media object (must be a TIFF)\n * @param enabled - Whether to attempt multi-page detection and conversion\n */\nexport function useTiffToPdf(\n media: Media,\n enabled: boolean\n): UseTiffToPdfResult {\n const client = useOsdkClient();\n const [result, setResult] = useState<UseTiffToPdfResult>(DISABLED_RESULT);\n const mediaRef = useRef(media);\n mediaRef.current = media;\n\n useEffect(() => {\n if (!enabled) {\n setResult(DISABLED_RESULT);\n return;\n }\n\n let cancelled = false;\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: true,\n error: undefined,\n });\n\n async function detectAndTransform() {\n const currentMedia = mediaRef.current;\n\n // Step 1: Fetch TIFF bytes and count pages\n const response = await currentMedia.fetchContents();\n const buffer = await response.arrayBuffer();\n\n if (cancelled) return;\n\n const ifds = UTIF.decode(buffer);\n const pageCount = ifds.length;\n\n if (pageCount <= 1) {\n // Single-page TIFF — use TiffRenderer\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: undefined,\n });\n }\n return;\n }\n\n // Step 2: Multi-page TIFF — convert to PDF via MIO transform\n const mediaReference = currentMedia.getMediaReference();\n const pdfResponse = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__transformAndWait\n ).transformAndWait({\n mediaReference,\n transformation: {\n $imageToDocument: { $operation: { $createPdf: {} } },\n },\n });\n\n if (cancelled) return;\n\n const pdfBuffer = await pdfResponse.arrayBuffer();\n\n if (!cancelled) {\n setResult({\n viewerType: ViewerType.Pdf,\n pdfData: pdfBuffer,\n loading: false,\n error: undefined,\n });\n }\n }\n\n detectAndTransform().catch((err: unknown) => {\n if (!cancelled) {\n // eslint-disable-next-line no-console\n console.warn(\n \"TIFF to PDF conversion failed, falling back to TIFF renderer:\",\n err\n );\n setResult({\n viewerType: ViewerType.Tiff,\n pdfData: undefined,\n loading: false,\n error: err instanceof Error ? err : new Error(String(err)),\n });\n }\n });\n\n return () => {\n cancelled = true;\n };\n }, [media, enabled, client]);\n\n return result;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEmailViewer.js","names":["classnames","React","useMemo","styles","formatAddress","address","name","formatAddressList","addresses","map","join","BaseEmailViewer","email","className","rootClassName","container","bodyContent","html","createElement","bodyContainer","bodyIframe","sandbox","srcDoc","title","text","textBody","emptyBody","header","subject","from","headerRow","headerLabel","headerValue","to","length","cc","date"],"sources":["BaseEmailViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\
|
|
1
|
+
{"version":3,"file":"BaseEmailViewer.js","names":["classnames","React","useMemo","styles","formatAddress","address","name","formatAddressList","addresses","map","join","BaseEmailViewer","email","className","rootClassName","container","bodyContent","html","createElement","bodyContainer","bodyIframe","sandbox","srcDoc","title","text","textBody","emptyBody","header","subject","from","headerRow","headerLabel","headerValue","to","length","cc","date"],"sources":["BaseEmailViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\n\nimport type { BaseEmailViewerProps, EmailAddress } from \"./EmailViewerApi.js\";\n\nimport styles from \"./BaseEmailViewer.module.css\";\n\nfunction formatAddress(address: EmailAddress): string {\n if (address.name) {\n return `${address.name} <${address.address}>`;\n }\n return address.address;\n}\n\nfunction formatAddressList(addresses: readonly EmailAddress[]): string {\n return addresses.map(formatAddress).join(\", \");\n}\n\nexport function BaseEmailViewer({\n email,\n className,\n}: BaseEmailViewerProps): React.ReactElement {\n const rootClassName = classnames(styles.container, className);\n\n const bodyContent = useMemo(() => {\n if (email.html != null) {\n return (\n <div className={styles.bodyContainer}>\n {/*\n * Security: allow-same-origin is needed so CSS within the email HTML\n * resolves correctly. Scripts are blocked because allow-scripts is NOT\n * set. Never add allow-scripts here — the combination of\n * allow-same-origin + allow-scripts bypasses the sandbox entirely.\n *\n * Known limitation: because the iframe shares the parent origin,\n * email CSS can make outbound requests via url() (e.g. tracking\n * pixels in background-image) and can read CSS custom properties.\n * This is acceptable for an experimental component.\n */}\n <iframe\n className={styles.bodyIframe}\n sandbox=\"allow-same-origin\"\n srcDoc={email.html}\n title=\"Email body\"\n />\n </div>\n );\n }\n if (email.text != null) {\n return <div className={styles.textBody}>{email.text}</div>;\n }\n return <div className={styles.emptyBody}>No content</div>;\n }, [email.html, email.text]);\n\n return (\n <div className={rootClassName}>\n <div className={styles.header}>\n {email.subject != null && (\n <div className={styles.subject}>{email.subject}</div>\n )}\n {email.from != null && (\n <div className={styles.headerRow}>\n <span className={styles.headerLabel}>From:</span>\n <span className={styles.headerValue}>\n {formatAddress(email.from)}\n </span>\n </div>\n )}\n {email.to.length > 0 && (\n <div className={styles.headerRow}>\n <span className={styles.headerLabel}>To:</span>\n <span className={styles.headerValue}>\n {formatAddressList(email.to)}\n </span>\n </div>\n )}\n {email.cc.length > 0 && (\n <div className={styles.headerRow}>\n <span className={styles.headerLabel}>Cc:</span>\n <span className={styles.headerValue}>\n {formatAddressList(email.cc)}\n </span>\n </div>\n )}\n {email.date != null && (\n <div className={styles.headerRow}>\n <span className={styles.headerLabel}>Date:</span>\n <span className={styles.headerValue}>{email.date}</span>\n </div>\n )}\n </div>\n {bodyContent}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,8 +20,8 @@ import classnames from "classnames";
|
|
|
20
20
|
import React from "react";
|
|
21
21
|
import { useMediaContents } from "../shared/hooks/useMediaContents.js";
|
|
22
22
|
import { BaseEmailViewer } from "./BaseEmailViewer.js";
|
|
23
|
-
import styles from "./BaseEmailViewer.module.css";
|
|
24
23
|
import { parseEmailFromResponse } from "./parseEmail.js";
|
|
24
|
+
import styles from "./BaseEmailViewer.module.css";
|
|
25
25
|
export function EmailViewer({
|
|
26
26
|
media,
|
|
27
27
|
className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailViewer.js","names":["Error","ErrorIcon","Spin","classnames","React","useMediaContents","BaseEmailViewer","
|
|
1
|
+
{"version":3,"file":"EmailViewer.js","names":["Error","ErrorIcon","Spin","classnames","React","useMediaContents","BaseEmailViewer","parseEmailFromResponse","styles","EmailViewer","media","className","emailViewerProps","data","email","loading","error","rootClassName","container","createElement","loadingContainer","spinnerIcon","errorContainer","errorIcon","message","_extends"],"sources":["EmailViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Error as ErrorIcon, Spin } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React from \"react\";\n\nimport { useMediaContents } from \"../shared/hooks/useMediaContents.js\";\nimport { BaseEmailViewer } from \"./BaseEmailViewer.js\";\nimport type { EmailViewerMediaProps, ParsedEmail } from \"./EmailViewerApi.js\";\nimport { parseEmailFromResponse } from \"./parseEmail.js\";\n\nimport styles from \"./BaseEmailViewer.module.css\";\n\nexport function EmailViewer({\n media,\n className,\n ...emailViewerProps\n}: EmailViewerMediaProps): React.ReactElement {\n const {\n data: email,\n loading,\n error,\n } = useMediaContents<ParsedEmail>(media, parseEmailFromResponse);\n\n const rootClassName = classnames(styles.container, className);\n\n return (\n <div className={rootClassName}>\n {loading && (\n <div className={styles.loadingContainer}>\n <Spin className={styles.spinnerIcon} />\n Loading…\n </div>\n )}\n {error != null && (\n <div className={styles.errorContainer}>\n <ErrorIcon className={styles.errorIcon} />\n Failed to load email: {error.message}\n </div>\n )}\n {email != null && <BaseEmailViewer email={email} {...emailViewerProps} />}\n </div>\n );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,KAAK,IAAIC,SAAS,EAAEC,IAAI,QAAQ,oBAAoB;AAC7D,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,qCAAqC;AACtE,SAASC,eAAe,QAAQ,sBAAsB;AAEtD,SAASC,sBAAsB,QAAQ,iBAAiB;AAExD,OAAOC,MAAM,MAAM,8BAA8B;AAEjD,OAAO,SAASC,WAAWA,CAAC;EAC1BC,KAAK;EACLC,SAAS;EACT,GAAGC;AACkB,CAAC,EAAsB;EAC5C,MAAM;IACJC,IAAI,EAAEC,KAAK;IACXC,OAAO;IACPC;EACF,CAAC,GAAGX,gBAAgB,CAAcK,KAAK,EAAEH,sBAAsB,CAAC;EAEhE,MAAMU,aAAa,GAAGd,UAAU,CAACK,MAAM,CAACU,SAAS,EAAEP,SAAS,CAAC;EAE7D,oBACEP,KAAA,CAAAe,aAAA;IAAKR,SAAS,EAAEM;EAAc,GAC3BF,OAAO,iBACNX,KAAA,CAAAe,aAAA;IAAKR,SAAS,EAAEH,MAAM,CAACY;EAAiB,gBACtChB,KAAA,CAAAe,aAAA,CAACjB,IAAI;IAACS,SAAS,EAAEH,MAAM,CAACa;EAAY,CAAE,CAAC,iBAEpC,CACN,EACAL,KAAK,IAAI,IAAI,iBACZZ,KAAA,CAAAe,aAAA;IAAKR,SAAS,EAAEH,MAAM,CAACc;EAAe,gBACpClB,KAAA,CAAAe,aAAA,CAAClB,SAAS;IAACU,SAAS,EAAEH,MAAM,CAACe;EAAU,CAAE,CAAC,0BACpB,EAACP,KAAK,CAACQ,OAC1B,CACN,EACAV,KAAK,IAAI,IAAI,iBAAIV,KAAA,CAAAe,aAAA,CAACb,eAAe,EAAAmB,QAAA;IAACX,KAAK,EAAEA;EAAM,GAAKF,gBAAgB,CAAG,CACrE,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailViewerApi.js","names":[],"sources":["EmailViewerApi.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Media } from \"@osdk/api\";\n\nexport interface EmailAddress {\n name: string;\n address: string;\n}\n\nexport interface ParsedEmail {\n subject: string | undefined;\n from: EmailAddress | undefined;\n to: readonly EmailAddress[];\n cc: readonly EmailAddress[];\n date: string | undefined;\n html: string | undefined;\n text: string | undefined;\n}\n\nexport interface BaseEmailViewerProps {\n /** Parsed email data */\n email: ParsedEmail;\n /** Additional CSS class name for the root element\n * @default undefined */\n className?: string;\n}\n\nexport interface EmailViewerMediaProps
|
|
1
|
+
{"version":3,"file":"EmailViewerApi.js","names":[],"sources":["EmailViewerApi.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Media } from \"@osdk/api\";\n\nexport interface EmailAddress {\n name: string;\n address: string;\n}\n\nexport interface ParsedEmail {\n subject: string | undefined;\n from: EmailAddress | undefined;\n to: readonly EmailAddress[];\n cc: readonly EmailAddress[];\n date: string | undefined;\n html: string | undefined;\n text: string | undefined;\n}\n\nexport interface BaseEmailViewerProps {\n /** Parsed email data */\n email: ParsedEmail;\n /** Additional CSS class name for the root element\n * @default undefined */\n className?: string;\n}\n\nexport interface EmailViewerMediaProps extends Omit<\n BaseEmailViewerProps,\n \"email\"\n> {\n /** The Media object to fetch EML contents from */\n media: Media;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseEmail.js","names":["PostalMime","extractAddresses","addresses","result","addr","address","push","name","group","member","extractSingleAddress","undefined","parseEmailFromResponse","response","buffer","arrayBuffer","email","parse","subject","from","to","cc","date","html","text"],"sources":["parseEmail.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Address } from \"postal-mime\";\nimport PostalMime from \"postal-mime\";\nimport type { EmailAddress, ParsedEmail } from \"./EmailViewerApi.js\";\n\nfunction extractAddresses(\n addresses: Address[] | undefined
|
|
1
|
+
{"version":3,"file":"parseEmail.js","names":["PostalMime","extractAddresses","addresses","result","addr","address","push","name","group","member","extractSingleAddress","undefined","parseEmailFromResponse","response","buffer","arrayBuffer","email","parse","subject","from","to","cc","date","html","text"],"sources":["parseEmail.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Address } from \"postal-mime\";\nimport PostalMime from \"postal-mime\";\n\nimport type { EmailAddress, ParsedEmail } from \"./EmailViewerApi.js\";\n\nfunction extractAddresses(\n addresses: Address[] | undefined\n): readonly EmailAddress[] {\n if (addresses == null) {\n return [];\n }\n const result: EmailAddress[] = [];\n for (const addr of addresses) {\n if (addr.address != null) {\n result.push({ name: addr.name, address: addr.address });\n } else if (addr.group != null) {\n for (const member of addr.group) {\n result.push({ name: member.name, address: member.address });\n }\n }\n }\n return result;\n}\n\nfunction extractSingleAddress(\n address: Address | undefined\n): EmailAddress | undefined {\n if (address == null) {\n return undefined;\n }\n if (address.address != null) {\n return { name: address.name, address: address.address };\n }\n return undefined;\n}\n\nexport async function parseEmailFromResponse(\n response: Response\n): Promise<ParsedEmail> {\n const buffer = await response.arrayBuffer();\n const email = await PostalMime.parse(buffer);\n\n return {\n subject: email.subject,\n from: extractSingleAddress(email.from),\n to: extractAddresses(email.to),\n cc: extractAddresses(email.cc),\n date: email.date,\n html: email.html ?? undefined,\n text: email.text ?? undefined,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,UAAU,MAAM,aAAa;AAIpC,SAASC,gBAAgBA,CACvBC,SAAgC,EACP;EACzB,IAAIA,SAAS,IAAI,IAAI,EAAE;IACrB,OAAO,EAAE;EACX;EACA,MAAMC,MAAsB,GAAG,EAAE;EACjC,KAAK,MAAMC,IAAI,IAAIF,SAAS,EAAE;IAC5B,IAAIE,IAAI,CAACC,OAAO,IAAI,IAAI,EAAE;MACxBF,MAAM,CAACG,IAAI,CAAC;QAAEC,IAAI,EAAEH,IAAI,CAACG,IAAI;QAAEF,OAAO,EAAED,IAAI,CAACC;MAAQ,CAAC,CAAC;IACzD,CAAC,MAAM,IAAID,IAAI,CAACI,KAAK,IAAI,IAAI,EAAE;MAC7B,KAAK,MAAMC,MAAM,IAAIL,IAAI,CAACI,KAAK,EAAE;QAC/BL,MAAM,CAACG,IAAI,CAAC;UAAEC,IAAI,EAAEE,MAAM,CAACF,IAAI;UAAEF,OAAO,EAAEI,MAAM,CAACJ;QAAQ,CAAC,CAAC;MAC7D;IACF;EACF;EACA,OAAOF,MAAM;AACf;AAEA,SAASO,oBAAoBA,CAC3BL,OAA4B,EACF;EAC1B,IAAIA,OAAO,IAAI,IAAI,EAAE;IACnB,OAAOM,SAAS;EAClB;EACA,IAAIN,OAAO,CAACA,OAAO,IAAI,IAAI,EAAE;IAC3B,OAAO;MAAEE,IAAI,EAAEF,OAAO,CAACE,IAAI;MAAEF,OAAO,EAAEA,OAAO,CAACA;IAAQ,CAAC;EACzD;EACA,OAAOM,SAAS;AAClB;AAEA,OAAO,eAAeC,sBAAsBA,CAC1CC,QAAkB,EACI;EACtB,MAAMC,MAAM,GAAG,MAAMD,QAAQ,CAACE,WAAW,CAAC,CAAC;EAC3C,MAAMC,KAAK,GAAG,MAAMhB,UAAU,CAACiB,KAAK,CAACH,MAAM,CAAC;EAE5C,OAAO;IACLI,OAAO,EAAEF,KAAK,CAACE,OAAO;IACtBC,IAAI,EAAET,oBAAoB,CAACM,KAAK,CAACG,IAAI,CAAC;IACtCC,EAAE,EAAEnB,gBAAgB,CAACe,KAAK,CAACI,EAAE,CAAC;IAC9BC,EAAE,EAAEpB,gBAAgB,CAACe,KAAK,CAACK,EAAE,CAAC;IAC9BC,IAAI,EAAEN,KAAK,CAACM,IAAI;IAChBC,IAAI,EAAEP,KAAK,CAACO,IAAI,IAAIZ,SAAS;IAC7Ba,IAAI,EAAER,KAAK,CAACQ,IAAI,IAAIb;EACtB,CAAC;AACH","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import classnames from "classnames";
|
|
18
18
|
import React, { useCallback, useMemo, useState } from "react";
|
|
19
19
|
import styles from "./BaseExcelViewer.module.css";
|
|
20
|
+
|
|
20
21
|
/**
|
|
21
22
|
* Converts a 0-based column index to a spreadsheet column letter (0=A, 1=B, ..., 25=Z, 26=AA).
|
|
22
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseExcelViewer.js","names":["classnames","React","useCallback","useMemo","useState","styles","columnIndexToLetter","index","letter","num","remainder","String","fromCharCode","Math","floor","SheetTable","memo","sheet","maxCols","rows","reduce","max","row","length","createElement","className","emptySheet","tableContainer","table","cornerCell","Array","from","_","i","key","columnHeader","map","rowIndex","rowHeader","cellIndex","cell","displayName","BaseExcelViewer","spreadsheet","activeSheetIndex","setActiveSheetIndex","rootClassName","container","safeIndex","min","sheets","activeSheet","handleTabClick","tabBar","name","tab","tabActive","onClick","type"],"sources":["BaseExcelViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React, { useCallback, useMemo, useState } from \"react\";\
|
|
1
|
+
{"version":3,"file":"BaseExcelViewer.js","names":["classnames","React","useCallback","useMemo","useState","styles","columnIndexToLetter","index","letter","num","remainder","String","fromCharCode","Math","floor","SheetTable","memo","sheet","maxCols","rows","reduce","max","row","length","createElement","className","emptySheet","tableContainer","table","cornerCell","Array","from","_","i","key","columnHeader","map","rowIndex","rowHeader","cellIndex","cell","displayName","BaseExcelViewer","spreadsheet","activeSheetIndex","setActiveSheetIndex","rootClassName","container","safeIndex","min","sheets","activeSheet","handleTabClick","tabBar","name","tab","tabActive","onClick","type"],"sources":["BaseExcelViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React, { useCallback, useMemo, useState } from \"react\";\n\nimport type { BaseExcelViewerProps, SheetData } from \"./ExcelViewerApi.js\";\n\nimport styles from \"./BaseExcelViewer.module.css\";\n\n/**\n * Converts a 0-based column index to a spreadsheet column letter (0=A, 1=B, ..., 25=Z, 26=AA).\n */\nfunction columnIndexToLetter(index: number): string {\n let letter = \"\";\n let num = index;\n do {\n const remainder = num % 26;\n letter = String.fromCharCode(65 + remainder) + letter;\n num = Math.floor(num / 26) - 1;\n } while (num >= 0);\n return letter;\n}\n\nconst SheetTable: React.FunctionComponent<{ sheet: SheetData }> = React.memo(\n ({ sheet }) => {\n const maxCols = useMemo(\n () => sheet.rows.reduce((max, row) => Math.max(max, row.length), 0),\n [sheet.rows]\n );\n\n if (sheet.rows.length === 0) {\n return <div className={styles.emptySheet}>Empty sheet</div>;\n }\n\n return (\n <div className={styles.tableContainer}>\n <table className={styles.table}>\n <thead>\n <tr>\n <th className={styles.cornerCell} />\n {Array.from({ length: maxCols }, (_, i) => (\n <th key={i} className={styles.columnHeader}>\n {columnIndexToLetter(i)}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {sheet.rows.map((row, rowIndex) => (\n <tr key={rowIndex}>\n <td className={styles.rowHeader}>{rowIndex + 1}</td>\n {Array.from({ length: maxCols }, (_, cellIndex) => (\n <td key={cellIndex} className={styles.cell}>\n {row[cellIndex] ?? \"\"}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n }\n);\nSheetTable.displayName = \"SheetTable\";\n\nexport function BaseExcelViewer({\n spreadsheet,\n className,\n}: BaseExcelViewerProps): React.ReactElement {\n const [activeSheetIndex, setActiveSheetIndex] = useState(0);\n const rootClassName = classnames(styles.container, className);\n\n const safeIndex = Math.min(\n activeSheetIndex,\n Math.max(0, spreadsheet.sheets.length - 1)\n );\n const activeSheet = useMemo(\n () => spreadsheet.sheets[safeIndex],\n [spreadsheet.sheets, safeIndex]\n );\n\n const handleTabClick = useCallback((index: number) => {\n setActiveSheetIndex(index);\n }, []);\n\n return (\n <div className={rootClassName}>\n {activeSheet != null ? (\n <SheetTable sheet={activeSheet} />\n ) : (\n <div className={styles.emptySheet}>No sheets</div>\n )}\n {spreadsheet.sheets.length > 1 && (\n <div className={styles.tabBar}>\n {spreadsheet.sheets.map((sheet, index) => (\n <button\n key={sheet.name}\n className={classnames(styles.tab, {\n [styles.tabActive]: index === safeIndex,\n })}\n onClick={() => handleTabClick(index)}\n type=\"button\"\n >\n {sheet.name}\n </button>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,8 +20,8 @@ import classnames from "classnames";
|
|
|
20
20
|
import React, { useCallback } from "react";
|
|
21
21
|
import { useMediaContents } from "../shared/hooks/useMediaContents.js";
|
|
22
22
|
import { BaseExcelViewer } from "./BaseExcelViewer.js";
|
|
23
|
-
import styles from "./BaseExcelViewer.module.css";
|
|
24
23
|
import { parseSpreadsheetFromResponse } from "./parseSpreadsheet.js";
|
|
24
|
+
import styles from "./BaseExcelViewer.module.css";
|
|
25
25
|
export function ExcelViewer({
|
|
26
26
|
media,
|
|
27
27
|
className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcelViewer.js","names":["Error","ErrorIcon","Spin","classnames","React","useCallback","useMediaContents","BaseExcelViewer","
|
|
1
|
+
{"version":3,"file":"ExcelViewer.js","names":["Error","ErrorIcon","Spin","classnames","React","useCallback","useMediaContents","BaseExcelViewer","parseSpreadsheetFromResponse","styles","ExcelViewer","media","className","excelViewerProps","data","spreadsheet","loading","error","rootClassName","container","createElement","loadingContainer","spinnerIcon","errorContainer","errorIcon","message","_extends"],"sources":["ExcelViewer.tsx"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Error as ErrorIcon, Spin } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport React, { useCallback } from \"react\";\n\nimport { useMediaContents } from \"../shared/hooks/useMediaContents.js\";\nimport { BaseExcelViewer } from \"./BaseExcelViewer.js\";\nimport type {\n ExcelViewerMediaProps,\n ParsedSpreadsheet,\n} from \"./ExcelViewerApi.js\";\nimport { parseSpreadsheetFromResponse } from \"./parseSpreadsheet.js\";\n\nimport styles from \"./BaseExcelViewer.module.css\";\n\nexport function ExcelViewer({\n media,\n className,\n ...excelViewerProps\n}: ExcelViewerMediaProps): React.ReactElement {\n const {\n data: spreadsheet,\n loading,\n error,\n } = useMediaContents<ParsedSpreadsheet>(\n media,\n useCallback(parseSpreadsheetFromResponse, [])\n );\n\n const rootClassName = classnames(styles.container, className);\n\n return (\n <div className={rootClassName}>\n {loading && (\n <div className={styles.loadingContainer}>\n <Spin className={styles.spinnerIcon} />\n Loading…\n </div>\n )}\n {error != null && (\n <div className={styles.errorContainer}>\n <ErrorIcon className={styles.errorIcon} />\n Failed to load spreadsheet: {error.message}\n </div>\n )}\n {spreadsheet != null && (\n <BaseExcelViewer spreadsheet={spreadsheet} {...excelViewerProps} />\n )}\n </div>\n );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,KAAK,IAAIC,SAAS,EAAEC,IAAI,QAAQ,oBAAoB;AAC7D,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAE1C,SAASC,gBAAgB,QAAQ,qCAAqC;AACtE,SAASC,eAAe,QAAQ,sBAAsB;AAKtD,SAASC,4BAA4B,QAAQ,uBAAuB;AAEpE,OAAOC,MAAM,MAAM,8BAA8B;AAEjD,OAAO,SAASC,WAAWA,CAAC;EAC1BC,KAAK;EACLC,SAAS;EACT,GAAGC;AACkB,CAAC,EAAsB;EAC5C,MAAM;IACJC,IAAI,EAAEC,WAAW;IACjBC,OAAO;IACPC;EACF,CAAC,GAAGX,gBAAgB,CAClBK,KAAK,EACLN,WAAW,CAACG,4BAA4B,EAAE,EAAE,CAC9C,CAAC;EAED,MAAMU,aAAa,GAAGf,UAAU,CAACM,MAAM,CAACU,SAAS,EAAEP,SAAS,CAAC;EAE7D,oBACER,KAAA,CAAAgB,aAAA;IAAKR,SAAS,EAAEM;EAAc,GAC3BF,OAAO,iBACNZ,KAAA,CAAAgB,aAAA;IAAKR,SAAS,EAAEH,MAAM,CAACY;EAAiB,gBACtCjB,KAAA,CAAAgB,aAAA,CAAClB,IAAI;IAACU,SAAS,EAAEH,MAAM,CAACa;EAAY,CAAE,CAAC,iBAEpC,CACN,EACAL,KAAK,IAAI,IAAI,iBACZb,KAAA,CAAAgB,aAAA;IAAKR,SAAS,EAAEH,MAAM,CAACc;EAAe,gBACpCnB,KAAA,CAAAgB,aAAA,CAACnB,SAAS;IAACW,SAAS,EAAEH,MAAM,CAACe;EAAU,CAAE,CAAC,gCACd,EAACP,KAAK,CAACQ,OAChC,CACN,EACAV,WAAW,IAAI,IAAI,iBAClBX,KAAA,CAAAgB,aAAA,CAACb,eAAe,EAAAmB,QAAA;IAACX,WAAW,EAAEA;EAAY,GAAKF,gBAAgB,CAAG,CAEjE,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcelViewerApi.js","names":[],"sources":["ExcelViewerApi.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Media } from \"@osdk/api\";\n\nexport interface SheetData {\n /** Sheet name */\n name: string;\n /** Rows of cell values as strings */\n rows: readonly (readonly string[])[];\n}\n\nexport interface ParsedSpreadsheet {\n /** All sheets in the workbook */\n sheets: readonly SheetData[];\n}\n\nexport interface BaseExcelViewerProps {\n /** Parsed spreadsheet data */\n spreadsheet: ParsedSpreadsheet;\n /** Additional CSS class name for the root element\n * @default undefined */\n className?: string;\n}\n\nexport interface ExcelViewerMediaProps
|
|
1
|
+
{"version":3,"file":"ExcelViewerApi.js","names":[],"sources":["ExcelViewerApi.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Media } from \"@osdk/api\";\n\nexport interface SheetData {\n /** Sheet name */\n name: string;\n /** Rows of cell values as strings */\n rows: readonly (readonly string[])[];\n}\n\nexport interface ParsedSpreadsheet {\n /** All sheets in the workbook */\n sheets: readonly SheetData[];\n}\n\nexport interface BaseExcelViewerProps {\n /** Parsed spreadsheet data */\n spreadsheet: ParsedSpreadsheet;\n /** Additional CSS class name for the root element\n * @default undefined */\n className?: string;\n}\n\nexport interface ExcelViewerMediaProps extends Omit<\n BaseExcelViewerProps,\n \"spreadsheet\"\n> {\n /** The Media object to fetch Excel contents from */\n media: Media;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSpreadsheet.js","names":["read","utils","parseSpreadsheetFromResponse","response","buffer","arrayBuffer","workbook","type","sheets","SheetNames","map","name","sheet","Sheets","rows","sheet_to_json","header","defval","raw"],"sources":["parseSpreadsheet.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words defval */\n\nimport { read, utils } from \"xlsx-republish\";\nimport type { ParsedSpreadsheet, SheetData } from \"./ExcelViewerApi.js\";\n\nexport async function parseSpreadsheetFromResponse(\n response: Response
|
|
1
|
+
{"version":3,"file":"parseSpreadsheet.js","names":["read","utils","parseSpreadsheetFromResponse","response","buffer","arrayBuffer","workbook","type","sheets","SheetNames","map","name","sheet","Sheets","rows","sheet_to_json","header","defval","raw"],"sources":["parseSpreadsheet.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* cspell:words defval */\n\nimport { read, utils } from \"xlsx-republish\";\n\nimport type { ParsedSpreadsheet, SheetData } from \"./ExcelViewerApi.js\";\n\nexport async function parseSpreadsheetFromResponse(\n response: Response\n): Promise<ParsedSpreadsheet> {\n const buffer = await response.arrayBuffer();\n const workbook = read(buffer, { type: \"array\" });\n\n const sheets: SheetData[] = workbook.SheetNames.map((name) => {\n const sheet = workbook.Sheets[name];\n const rows: string[][] =\n sheet != null\n ? utils.sheet_to_json<string[]>(sheet, {\n header: 1,\n defval: \"\",\n raw: false,\n })\n : [];\n return { name, rows };\n });\n\n return { sheets };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAASA,IAAI,EAAEC,KAAK,QAAQ,gBAAgB;AAI5C,OAAO,eAAeC,4BAA4BA,CAChDC,QAAkB,EACU;EAC5B,MAAMC,MAAM,GAAG,MAAMD,QAAQ,CAACE,WAAW,CAAC,CAAC;EAC3C,MAAMC,QAAQ,GAAGN,IAAI,CAACI,MAAM,EAAE;IAAEG,IAAI,EAAE;EAAQ,CAAC,CAAC;EAEhD,MAAMC,MAAmB,GAAGF,QAAQ,CAACG,UAAU,CAACC,GAAG,CAAEC,IAAI,IAAK;IAC5D,MAAMC,KAAK,GAAGN,QAAQ,CAACO,MAAM,CAACF,IAAI,CAAC;IACnC,MAAMG,IAAgB,GACpBF,KAAK,IAAI,IAAI,GACTX,KAAK,CAACc,aAAa,CAAWH,KAAK,EAAE;MACnCI,MAAM,EAAE,CAAC;MACTC,MAAM,EAAE,EAAE;MACVC,GAAG,EAAE;IACP,CAAC,CAAC,GACF,EAAE;IACR,OAAO;MAAEP,IAAI;MAAEG;IAAK,CAAC;EACvB,CAAC,CAAC;EAEF,OAAO;IAAEN;EAAO,CAAC;AACnB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterInput.js","names":["React","memo","useCallback","FilterInputExcludeRow","ContainsTextInput","ToggleInput","LinkedPropertyInput","PropertyFilterInput","StaticValuesFilterInput","FilterInputInner","objectType","objectSet","definition","filterState","onFilterStateChanged","whereClause","linkedFilters","showFilteredOutValues","searchQuery","excludeRowOpen","layout","type","createElement","HasLinkInput","Fragment","KeywordSearchInput","placeholder","label","renderInput","customFilterState","state","FilterInput","hasLink","isExcluding","handleChange","handleClearAll","onClearAll","enabled","onChange","searchTerm","undefined","operator","newSearchTerm","value"],"sources":["FilterInput.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport React, { memo, useCallback } from \"react\";\nimport { FilterInputExcludeRow } from \"./base/FilterInputExcludeRow.js\";\nimport { ContainsTextInput } from \"./base/inputs/ContainsTextInput.js\";\nimport type { MultiSelectInputLayout } from \"./base/inputs/MultiSelectInput.js\";\nimport { ToggleInput } from \"./base/inputs/ToggleInput.js\";\nimport type { FilterDefinitionUnion } from \"./FilterListApi.js\";\nimport type { FilterState } from \"./FilterListItemApi.js\";\nimport { LinkedPropertyInput } from \"./inputs/LinkedPropertyInput.js\";\nimport { PropertyFilterInput } from \"./inputs/PropertyFilterInput.js\";\nimport { StaticValuesFilterInput } from \"./inputs/StaticValuesFilterInput.js\";\nimport type { LinkedFilter } from \"./types/LinkedFilterTypes.js\";\n\nexport interface FilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet?: ObjectSet<Q>;\n definition: FilterDefinitionUnion<Q>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n /** Per-filter excluding-self where clause (direct filters only). */\n whereClause: WhereClause<Q>;\n /** Per-filter excluding-self linked-filter records. */\n linkedFilters?: ReadonlyArray<LinkedFilter<Q>>;\n showFilteredOutValues?: boolean;\n searchQuery?: string;\n excludeRowOpen?: boolean;\n /**\n * Layout for `MULTI_SELECT` filter components. Pass `\"inline\"` when this\n * input renders inside a popover (or any container where chips would feel\n * redundant) so the value list is always visible. Defaults to `\"dropdown\"`,\n * which renders chips + a portaled Combobox popup. Ignored by other\n * filter components.\n */\n layout?: MultiSelectInputLayout;\n}\n\nfunction FilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n linkedFilters,\n showFilteredOutValues,\n searchQuery,\n excludeRowOpen,\n layout,\n}: FilterInputProps<Q>): React.ReactElement {\n switch (definition.type) {\n case \"HAS_LINK\":\n return (\n <HasLinkInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n excludeRowOpen={excludeRowOpen}\n />\n );\n\n case \"LINKED_PROPERTY\": {\n if (objectSet == null) {\n return <></>;\n }\n return (\n <LinkedPropertyInput\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n linkedFilters={linkedFilters}\n showFilteredOutValues={showFilteredOutValues}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n layout={layout}\n />\n );\n }\n\n case \"KEYWORD_SEARCH\":\n return (\n <KeywordSearchInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n placeholder={definition.label ?? \"Search...\"}\n />\n );\n\n case \"CUSTOM\": {\n if (!definition.renderInput) {\n return (\n <div data-unsupported=\"true\">Custom filter missing renderInput</div>\n );\n }\n const customFilterState = filterState?.type === \"custom\"\n ? filterState\n : definition.filterState;\n return (\n <>\n {definition.renderInput({\n objectType,\n objectSet,\n filterState: customFilterState,\n onFilterStateChanged: (state) => onFilterStateChanged(state),\n })}\n </>\n );\n }\n\n case \"PROPERTY\":\n return (\n <PropertyFilterInput\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n linkedFilters={linkedFilters}\n showFilteredOutValues={showFilteredOutValues}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n layout={layout}\n />\n );\n\n case \"STATIC_VALUES\":\n return (\n <StaticValuesFilterInput\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n layout={layout}\n />\n );\n\n default:\n return <div data-unsupported=\"true\">Unsupported filter type</div>;\n }\n}\n\nexport const FilterInput = memo(FilterInputInner) as typeof FilterInputInner;\n\ninterface HasLinkInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n excludeRowOpen?: boolean;\n}\n\nconst HasLinkInput = memo(function HasLinkInput({\n filterState,\n onFilterStateChanged,\n excludeRowOpen,\n}: HasLinkInputProps): React.ReactElement {\n const hasLink = filterState?.type === \"hasLink\"\n ? filterState.hasLink\n : false;\n const isExcluding = filterState?.type === \"hasLink\"\n ? filterState.isExcluding ?? false\n : false;\n\n const handleChange = useCallback(\n (hasLink: boolean) => {\n onFilterStateChanged({ type: \"hasLink\", hasLink, isExcluding });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n const handleClearAll = useCallback(() => {\n onFilterStateChanged({ type: \"hasLink\", hasLink: false, isExcluding });\n }, [onFilterStateChanged, isExcluding]);\n\n return (\n <FilterInputExcludeRow\n excludeRowOpen={excludeRowOpen}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n onClearAll={handleClearAll}\n >\n <ToggleInput enabled={hasLink} onChange={handleChange} />\n </FilterInputExcludeRow>\n );\n});\n\ninterface KeywordSearchInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n placeholder: string;\n}\n\nconst KeywordSearchInput = memo(function KeywordSearchInput({\n filterState,\n onFilterStateChanged,\n placeholder,\n}: KeywordSearchInputProps): React.ReactElement {\n const searchTerm = filterState?.type === \"keywordSearch\"\n ? filterState.searchTerm\n : undefined;\n const operator = filterState?.type === \"keywordSearch\"\n ? filterState.operator\n : \"AND\";\n\n const handleChange = useCallback(\n (newSearchTerm: string | undefined) => {\n onFilterStateChanged({\n type: \"keywordSearch\",\n searchTerm: newSearchTerm ?? \"\",\n operator,\n });\n },\n [onFilterStateChanged, operator],\n );\n\n return (\n <ContainsTextInput\n value={searchTerm}\n onChange={handleChange}\n placeholder={placeholder}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FilterInput.js","names":["React","memo","useCallback","FilterInputExcludeRow","ContainsTextInput","ToggleInput","LinkedPropertyInput","PropertyFilterInput","StaticValuesFilterInput","FilterInputInner","objectType","objectSet","definition","filterState","onFilterStateChanged","whereClause","linkedFilters","showFilteredOutValues","searchQuery","excludeRowOpen","layout","type","createElement","HasLinkInput","Fragment","KeywordSearchInput","placeholder","label","renderInput","customFilterState","state","FilterInput","hasLink","isExcluding","handleChange","handleClearAll","onClearAll","enabled","onChange","searchTerm","undefined","operator","newSearchTerm","value"],"sources":["FilterInput.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport React, { memo, useCallback } from \"react\";\n\nimport { FilterInputExcludeRow } from \"./base/FilterInputExcludeRow.js\";\nimport { ContainsTextInput } from \"./base/inputs/ContainsTextInput.js\";\nimport type { MultiSelectInputLayout } from \"./base/inputs/MultiSelectInput.js\";\nimport { ToggleInput } from \"./base/inputs/ToggleInput.js\";\nimport type { FilterDefinitionUnion } from \"./FilterListApi.js\";\nimport type { FilterState } from \"./FilterListItemApi.js\";\nimport { LinkedPropertyInput } from \"./inputs/LinkedPropertyInput.js\";\nimport { PropertyFilterInput } from \"./inputs/PropertyFilterInput.js\";\nimport { StaticValuesFilterInput } from \"./inputs/StaticValuesFilterInput.js\";\nimport type { LinkedFilter } from \"./types/LinkedFilterTypes.js\";\n\nexport interface FilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet?: ObjectSet<Q>;\n definition: FilterDefinitionUnion<Q>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n /** Per-filter excluding-self where clause (direct filters only). */\n whereClause: WhereClause<Q>;\n /** Per-filter excluding-self linked-filter records. */\n linkedFilters?: ReadonlyArray<LinkedFilter<Q>>;\n showFilteredOutValues?: boolean;\n searchQuery?: string;\n excludeRowOpen?: boolean;\n /**\n * Layout for `MULTI_SELECT` filter components. Pass `\"inline\"` when this\n * input renders inside a popover (or any container where chips would feel\n * redundant) so the value list is always visible. Defaults to `\"dropdown\"`,\n * which renders chips + a portaled Combobox popup. Ignored by other\n * filter components.\n */\n layout?: MultiSelectInputLayout;\n}\n\nfunction FilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n linkedFilters,\n showFilteredOutValues,\n searchQuery,\n excludeRowOpen,\n layout,\n}: FilterInputProps<Q>): React.ReactElement {\n switch (definition.type) {\n case \"HAS_LINK\":\n return (\n <HasLinkInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n excludeRowOpen={excludeRowOpen}\n />\n );\n\n case \"LINKED_PROPERTY\": {\n if (objectSet == null) {\n return <></>;\n }\n return (\n <LinkedPropertyInput\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n linkedFilters={linkedFilters}\n showFilteredOutValues={showFilteredOutValues}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n layout={layout}\n />\n );\n }\n\n case \"KEYWORD_SEARCH\":\n return (\n <KeywordSearchInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n placeholder={definition.label ?? \"Search...\"}\n />\n );\n\n case \"CUSTOM\": {\n if (!definition.renderInput) {\n return (\n <div data-unsupported=\"true\">Custom filter missing renderInput</div>\n );\n }\n const customFilterState =\n filterState?.type === \"custom\" ? filterState : definition.filterState;\n return (\n <>\n {definition.renderInput({\n objectType,\n objectSet,\n filterState: customFilterState,\n onFilterStateChanged: (state) => onFilterStateChanged(state),\n })}\n </>\n );\n }\n\n case \"PROPERTY\":\n return (\n <PropertyFilterInput\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n linkedFilters={linkedFilters}\n showFilteredOutValues={showFilteredOutValues}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n layout={layout}\n />\n );\n\n case \"STATIC_VALUES\":\n return (\n <StaticValuesFilterInput\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n layout={layout}\n />\n );\n\n default:\n return <div data-unsupported=\"true\">Unsupported filter type</div>;\n }\n}\n\nexport const FilterInput = memo(FilterInputInner) as typeof FilterInputInner;\n\ninterface HasLinkInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n excludeRowOpen?: boolean;\n}\n\nconst HasLinkInput = memo(function HasLinkInput({\n filterState,\n onFilterStateChanged,\n excludeRowOpen,\n}: HasLinkInputProps): React.ReactElement {\n const hasLink = filterState?.type === \"hasLink\" ? filterState.hasLink : false;\n const isExcluding =\n filterState?.type === \"hasLink\"\n ? (filterState.isExcluding ?? false)\n : false;\n\n const handleChange = useCallback(\n (hasLink: boolean) => {\n onFilterStateChanged({ type: \"hasLink\", hasLink, isExcluding });\n },\n [onFilterStateChanged, isExcluding]\n );\n\n const handleClearAll = useCallback(() => {\n onFilterStateChanged({ type: \"hasLink\", hasLink: false, isExcluding });\n }, [onFilterStateChanged, isExcluding]);\n\n return (\n <FilterInputExcludeRow\n excludeRowOpen={excludeRowOpen}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n onClearAll={handleClearAll}\n >\n <ToggleInput enabled={hasLink} onChange={handleChange} />\n </FilterInputExcludeRow>\n );\n});\n\ninterface KeywordSearchInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n placeholder: string;\n}\n\nconst KeywordSearchInput = memo(function KeywordSearchInput({\n filterState,\n onFilterStateChanged,\n placeholder,\n}: KeywordSearchInputProps): React.ReactElement {\n const searchTerm =\n filterState?.type === \"keywordSearch\" ? filterState.searchTerm : undefined;\n const operator =\n filterState?.type === \"keywordSearch\" ? filterState.operator : \"AND\";\n\n const handleChange = useCallback(\n (newSearchTerm: string | undefined) => {\n onFilterStateChanged({\n type: \"keywordSearch\",\n searchTerm: newSearchTerm ?? \"\",\n operator,\n });\n },\n [onFilterStateChanged, operator]\n );\n\n return (\n <ContainsTextInput\n value={searchTerm}\n onChange={handleChange}\n placeholder={placeholder}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterList.js","names":["React","useCallback","useMemo","AddFilterPopover","BaseFilterList","FilterInput","useFilterListState","useFilterVisibility","EMPTY_LINKED_FILTERS","getEmptyDisplayState","getFilterKey","getFilterLabel","EMPTY_WHERE","FilterList","props","objectType","objectSet","title","titleIcon","collapsed","onCollapsedChange","filterDefinitions","addFilterMode","showResetButton","onReset","showActiveFilterCount","showFilteredOutValues","className","enableSorting","onFilterAdded","onFilterRemoved","onFilterVisibilityChange","renderAddFilterButton","filterStates","setFilterState","clearFilterState","perFilterWhereClauses","perFilterLinkedFilters","activeFilterCount","hasChangesFromInitial","reset","uncontrolledAddFilterMode","handleVisibilityChange","visibleKeys","hiddenKeys","states","map","key","filterKey","isVisible","visibleDefinitions","managedVisibleDefinitions","hiddenDefinitions","managedHiddenDefinitions","showFilter","hideFilter","reorderVisible","hasVisibilityChanges","resetVisibility","undefined","handleReset","simpleVisibleDefinitions","filter","def","effectiveVisibleDefinitions","handleFilterRemoved","handleFilterShown","handleOrderChange","orderedKeys","hiddenFilterItems","label","effectiveRenderAddFilterButton","length","createElement","onShowFilter","renderTrigger","effectiveOnFilterRemoved","renderInput","definition","filterState","onFilterStateChanged","searchQuery","excludeRowOpen","whereClause","get","linkedFilters","canReset","onOrderChange"],"sources":["FilterList.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectTypeDefinition } from \"@osdk/api\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { AddFilterPopover } from \"./base/AddFilterPopover.js\";\nimport { BaseFilterList } from \"./base/BaseFilterList.js\";\nimport type { RenderFilterInput } from \"./base/BaseFilterListApi.js\";\nimport { FilterInput } from \"./FilterInput.js\";\nimport type {\n FilterDefinitionUnion,\n FilterKey,\n FilterListProps,\n} from \"./FilterListApi.js\";\nimport { useFilterListState } from \"./hooks/useFilterListState.js\";\nimport { useFilterVisibility } from \"./hooks/useFilterVisibility.js\";\nimport { EMPTY_LINKED_FILTERS } from \"./types/LinkedFilterTypes.js\";\nimport { getEmptyDisplayState } from \"./utils/emptyFilterDisplayState.js\";\nimport { getFilterKey } from \"./utils/getFilterKey.js\";\nimport { getFilterLabel } from \"./utils/getFilterLabel.js\";\n\nconst EMPTY_WHERE = {};\n\nexport function FilterList<Q extends ObjectTypeDefinition>(\n props: FilterListProps<Q>,\n): React.ReactElement {\n const {\n objectType,\n objectSet,\n title,\n titleIcon,\n collapsed,\n onCollapsedChange,\n filterDefinitions,\n addFilterMode = \"uncontrolled\",\n showResetButton = false,\n onReset,\n showActiveFilterCount = false,\n showFilteredOutValues = false,\n className,\n enableSorting,\n onFilterAdded,\n onFilterRemoved,\n onFilterVisibilityChange,\n renderAddFilterButton,\n } = props;\n\n const {\n filterStates,\n setFilterState,\n clearFilterState,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n activeFilterCount,\n hasChangesFromInitial,\n reset,\n } = useFilterListState(props);\n\n const uncontrolledAddFilterMode = addFilterMode === \"uncontrolled\";\n\n const handleVisibilityChange = useCallback(\n (visibleKeys: string[], hiddenKeys: string[]) => {\n if (!onFilterVisibilityChange) {\n return;\n }\n const states: Array<{ filterKey: FilterKey<Q>; isVisible: boolean }> = [\n ...visibleKeys.map((key) => ({\n filterKey: key as FilterKey<Q>,\n isVisible: true,\n })),\n ...hiddenKeys.map((key) => ({\n filterKey: key as FilterKey<Q>,\n isVisible: false,\n })),\n ];\n onFilterVisibilityChange(states);\n },\n [onFilterVisibilityChange],\n );\n\n const {\n visibleDefinitions: managedVisibleDefinitions,\n hiddenDefinitions: managedHiddenDefinitions,\n showFilter,\n hideFilter,\n reorderVisible,\n hasVisibilityChanges,\n resetVisibility,\n } = useFilterVisibility(\n filterDefinitions,\n uncontrolledAddFilterMode ? handleVisibilityChange : undefined,\n );\n\n const canReset = hasChangesFromInitial || hasVisibilityChanges;\n\n const handleReset = useCallback(() => {\n reset();\n resetVisibility();\n onReset?.();\n }, [reset, resetVisibility, onReset]);\n\n const simpleVisibleDefinitions = useMemo(() => {\n if (filterDefinitions == null) {\n return undefined;\n }\n return filterDefinitions.filter(\n (def: FilterDefinitionUnion<Q>) => def.isVisible !== false,\n );\n }, [filterDefinitions]);\n\n const effectiveVisibleDefinitions = uncontrolledAddFilterMode\n ? managedVisibleDefinitions\n : simpleVisibleDefinitions;\n\n const handleFilterRemoved = useCallback(\n (filterKey: string) => {\n clearFilterState(filterKey);\n if (uncontrolledAddFilterMode) {\n hideFilter(filterKey);\n }\n onFilterRemoved?.(filterKey);\n },\n [clearFilterState, uncontrolledAddFilterMode, hideFilter, onFilterRemoved],\n );\n\n const handleFilterShown = useCallback(\n (filterKey: string) => {\n showFilter(filterKey);\n onFilterAdded?.(filterKey, filterDefinitions ?? []);\n },\n [showFilter, onFilterAdded, filterDefinitions],\n );\n\n const handleOrderChange = useCallback(\n (orderedKeys: string[]) => {\n reorderVisible(orderedKeys);\n },\n [reorderVisible],\n );\n\n const hiddenFilterItems = useMemo(\n () =>\n managedHiddenDefinitions.map((def) => ({\n key: getFilterKey(def),\n label: getFilterLabel(def),\n })),\n [managedHiddenDefinitions],\n );\n\n const effectiveRenderAddFilterButton = useMemo(() => {\n if (uncontrolledAddFilterMode) {\n if (managedHiddenDefinitions.length === 0) {\n return undefined;\n }\n return () => (\n <AddFilterPopover\n hiddenDefinitions={hiddenFilterItems}\n onShowFilter={handleFilterShown}\n renderTrigger={renderAddFilterButton}\n />\n );\n }\n return renderAddFilterButton;\n }, [\n uncontrolledAddFilterMode,\n managedHiddenDefinitions.length,\n hiddenFilterItems,\n handleFilterShown,\n renderAddFilterButton,\n ]);\n\n const effectiveOnFilterRemoved = uncontrolledAddFilterMode\n ? handleFilterRemoved\n : onFilterRemoved;\n\n const renderInput = useCallback<RenderFilterInput<FilterDefinitionUnion<Q>>>(\n (\n {\n definition,\n filterKey,\n filterState,\n onFilterStateChanged,\n searchQuery,\n excludeRowOpen,\n },\n ) => (\n <FilterInput\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={perFilterWhereClauses.get(filterKey) ?? EMPTY_WHERE}\n linkedFilters={perFilterLinkedFilters.get(filterKey)\n ?? EMPTY_LINKED_FILTERS}\n showFilteredOutValues={showFilteredOutValues}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n />\n ),\n [\n objectType,\n objectSet,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n showFilteredOutValues,\n ],\n );\n\n return (\n <BaseFilterList\n title={title}\n titleIcon={titleIcon}\n collapsed={collapsed}\n onCollapsedChange={onCollapsedChange}\n filterDefinitions={effectiveVisibleDefinitions}\n filterStates={filterStates}\n onFilterStateChanged={setFilterState}\n renderInput={renderInput}\n getFilterKey={getFilterKey}\n getFilterLabel={getFilterLabel}\n getEmptyDisplayState={getEmptyDisplayState}\n activeFilterCount={activeFilterCount}\n onReset={handleReset}\n showResetButton={showResetButton}\n showActiveFilterCount={showActiveFilterCount}\n canReset={canReset}\n enableSorting={enableSorting}\n onFilterRemoved={effectiveOnFilterRemoved}\n onOrderChange={handleOrderChange}\n className={className}\n renderAddFilterButton={effectiveRenderAddFilterButton}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FilterList.js","names":["React","useCallback","useMemo","AddFilterPopover","BaseFilterList","FilterInput","useFilterListState","useFilterVisibility","EMPTY_LINKED_FILTERS","getEmptyDisplayState","getFilterKey","getFilterLabel","EMPTY_WHERE","FilterList","props","objectType","objectSet","title","titleIcon","collapsed","onCollapsedChange","filterDefinitions","addFilterMode","showResetButton","onReset","showActiveFilterCount","showFilteredOutValues","className","enableSorting","onFilterAdded","onFilterRemoved","onFilterVisibilityChange","renderAddFilterButton","filterStates","setFilterState","clearFilterState","perFilterWhereClauses","perFilterLinkedFilters","activeFilterCount","hasChangesFromInitial","reset","uncontrolledAddFilterMode","handleVisibilityChange","visibleKeys","hiddenKeys","states","map","key","filterKey","isVisible","visibleDefinitions","managedVisibleDefinitions","hiddenDefinitions","managedHiddenDefinitions","showFilter","hideFilter","reorderVisible","hasVisibilityChanges","resetVisibility","undefined","handleReset","simpleVisibleDefinitions","filter","def","effectiveVisibleDefinitions","handleFilterRemoved","handleFilterShown","handleOrderChange","orderedKeys","hiddenFilterItems","label","effectiveRenderAddFilterButton","length","createElement","onShowFilter","renderTrigger","effectiveOnFilterRemoved","renderInput","definition","filterState","onFilterStateChanged","searchQuery","excludeRowOpen","whereClause","get","linkedFilters","canReset","onOrderChange"],"sources":["FilterList.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectTypeDefinition } from \"@osdk/api\";\nimport React, { useCallback, useMemo } from \"react\";\n\nimport { AddFilterPopover } from \"./base/AddFilterPopover.js\";\nimport { BaseFilterList } from \"./base/BaseFilterList.js\";\nimport type { RenderFilterInput } from \"./base/BaseFilterListApi.js\";\nimport { FilterInput } from \"./FilterInput.js\";\nimport type {\n FilterDefinitionUnion,\n FilterKey,\n FilterListProps,\n} from \"./FilterListApi.js\";\nimport { useFilterListState } from \"./hooks/useFilterListState.js\";\nimport { useFilterVisibility } from \"./hooks/useFilterVisibility.js\";\nimport { EMPTY_LINKED_FILTERS } from \"./types/LinkedFilterTypes.js\";\nimport { getEmptyDisplayState } from \"./utils/emptyFilterDisplayState.js\";\nimport { getFilterKey } from \"./utils/getFilterKey.js\";\nimport { getFilterLabel } from \"./utils/getFilterLabel.js\";\n\nconst EMPTY_WHERE = {};\n\nexport function FilterList<Q extends ObjectTypeDefinition>(\n props: FilterListProps<Q>\n): React.ReactElement {\n const {\n objectType,\n objectSet,\n title,\n titleIcon,\n collapsed,\n onCollapsedChange,\n filterDefinitions,\n addFilterMode = \"uncontrolled\",\n showResetButton = false,\n onReset,\n showActiveFilterCount = false,\n showFilteredOutValues = false,\n className,\n enableSorting,\n onFilterAdded,\n onFilterRemoved,\n onFilterVisibilityChange,\n renderAddFilterButton,\n } = props;\n\n const {\n filterStates,\n setFilterState,\n clearFilterState,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n activeFilterCount,\n hasChangesFromInitial,\n reset,\n } = useFilterListState(props);\n\n const uncontrolledAddFilterMode = addFilterMode === \"uncontrolled\";\n\n const handleVisibilityChange = useCallback(\n (visibleKeys: string[], hiddenKeys: string[]) => {\n if (!onFilterVisibilityChange) {\n return;\n }\n const states: Array<{ filterKey: FilterKey<Q>; isVisible: boolean }> = [\n ...visibleKeys.map((key) => ({\n filterKey: key as FilterKey<Q>,\n isVisible: true,\n })),\n ...hiddenKeys.map((key) => ({\n filterKey: key as FilterKey<Q>,\n isVisible: false,\n })),\n ];\n onFilterVisibilityChange(states);\n },\n [onFilterVisibilityChange]\n );\n\n const {\n visibleDefinitions: managedVisibleDefinitions,\n hiddenDefinitions: managedHiddenDefinitions,\n showFilter,\n hideFilter,\n reorderVisible,\n hasVisibilityChanges,\n resetVisibility,\n } = useFilterVisibility(\n filterDefinitions,\n uncontrolledAddFilterMode ? handleVisibilityChange : undefined\n );\n\n const canReset = hasChangesFromInitial || hasVisibilityChanges;\n\n const handleReset = useCallback(() => {\n reset();\n resetVisibility();\n onReset?.();\n }, [reset, resetVisibility, onReset]);\n\n const simpleVisibleDefinitions = useMemo(() => {\n if (filterDefinitions == null) {\n return undefined;\n }\n return filterDefinitions.filter(\n (def: FilterDefinitionUnion<Q>) => def.isVisible !== false\n );\n }, [filterDefinitions]);\n\n const effectiveVisibleDefinitions = uncontrolledAddFilterMode\n ? managedVisibleDefinitions\n : simpleVisibleDefinitions;\n\n const handleFilterRemoved = useCallback(\n (filterKey: string) => {\n clearFilterState(filterKey);\n if (uncontrolledAddFilterMode) {\n hideFilter(filterKey);\n }\n onFilterRemoved?.(filterKey);\n },\n [clearFilterState, uncontrolledAddFilterMode, hideFilter, onFilterRemoved]\n );\n\n const handleFilterShown = useCallback(\n (filterKey: string) => {\n showFilter(filterKey);\n onFilterAdded?.(filterKey, filterDefinitions ?? []);\n },\n [showFilter, onFilterAdded, filterDefinitions]\n );\n\n const handleOrderChange = useCallback(\n (orderedKeys: string[]) => {\n reorderVisible(orderedKeys);\n },\n [reorderVisible]\n );\n\n const hiddenFilterItems = useMemo(\n () =>\n managedHiddenDefinitions.map((def) => ({\n key: getFilterKey(def),\n label: getFilterLabel(def),\n })),\n [managedHiddenDefinitions]\n );\n\n const effectiveRenderAddFilterButton = useMemo(() => {\n if (uncontrolledAddFilterMode) {\n if (managedHiddenDefinitions.length === 0) {\n return undefined;\n }\n return () => (\n <AddFilterPopover\n hiddenDefinitions={hiddenFilterItems}\n onShowFilter={handleFilterShown}\n renderTrigger={renderAddFilterButton}\n />\n );\n }\n return renderAddFilterButton;\n }, [\n uncontrolledAddFilterMode,\n managedHiddenDefinitions.length,\n hiddenFilterItems,\n handleFilterShown,\n renderAddFilterButton,\n ]);\n\n const effectiveOnFilterRemoved = uncontrolledAddFilterMode\n ? handleFilterRemoved\n : onFilterRemoved;\n\n const renderInput = useCallback<RenderFilterInput<FilterDefinitionUnion<Q>>>(\n ({\n definition,\n filterKey,\n filterState,\n onFilterStateChanged,\n searchQuery,\n excludeRowOpen,\n }) => (\n <FilterInput\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={perFilterWhereClauses.get(filterKey) ?? EMPTY_WHERE}\n linkedFilters={\n perFilterLinkedFilters.get(filterKey) ?? EMPTY_LINKED_FILTERS\n }\n showFilteredOutValues={showFilteredOutValues}\n searchQuery={searchQuery}\n excludeRowOpen={excludeRowOpen}\n />\n ),\n [\n objectType,\n objectSet,\n perFilterWhereClauses,\n perFilterLinkedFilters,\n showFilteredOutValues,\n ]\n );\n\n return (\n <BaseFilterList\n title={title}\n titleIcon={titleIcon}\n collapsed={collapsed}\n onCollapsedChange={onCollapsedChange}\n filterDefinitions={effectiveVisibleDefinitions}\n filterStates={filterStates}\n onFilterStateChanged={setFilterState}\n renderInput={renderInput}\n getFilterKey={getFilterKey}\n getFilterLabel={getFilterLabel}\n getEmptyDisplayState={getEmptyDisplayState}\n activeFilterCount={activeFilterCount}\n onReset={handleReset}\n showResetButton={showResetButton}\n showActiveFilterCount={showActiveFilterCount}\n canReset={canReset}\n enableSorting={enableSorting}\n onFilterRemoved={effectiveOnFilterRemoved}\n onOrderChange={handleOrderChange}\n className={className}\n renderAddFilterButton={effectiveRenderAddFilterButton}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterListApi.js","names":[],"sources":["FilterListApi.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n LinkNames,\n ObjectSet,\n ObjectTypeDefinition,\n WhereClause,\n} from \"@osdk/api\";\nimport type React from \"react\";\nimport type { ReactNode } from \"react\";\nimport type {\n FilterState as FilterStateType,\n PropertyFilterDefinition,\n} from \"./FilterListItemApi.js\";\nimport type { CustomFilterDefinition } from \"./types/CustomRendererTypes.js\";\nimport type { KeywordSearchFilterDefinition } from \"./types/KeywordSearchTypes.js\";\nimport type {\n HasLinkFilterDefinition,\n LinkedPropertyFilterDefinition,\n} from \"./types/LinkedFilterTypes.js\";\nimport type { StaticValuesFilterDefinition } from \"./types/StaticValuesTypes.js\";\n\n/**\n * Distributes LinkedPropertyFilterDefinition over each link name individually,\n * so that LinkedQ/LinkedK/LinkedC defaults resolve correctly per link.\n */\ntype DistributeLinkedProperty<\n Q extends ObjectTypeDefinition,\n L extends LinkNames<Q>,\n> = L extends LinkNames<Q> ? LinkedPropertyFilterDefinition<Q, L> : never;\n\n/**\n * Union type of all filter definition types\n */\nexport type FilterDefinitionUnion<Q extends ObjectTypeDefinition> =\n | PropertyFilterDefinition<Q>\n | HasLinkFilterDefinition<Q>\n | DistributeLinkedProperty<Q, LinkNames<Q>>\n | KeywordSearchFilterDefinition<Q>\n | CustomFilterDefinition<Q>\n | StaticValuesFilterDefinition<Q>;\n\n/**\n * Extract the key from a filter definition union\n */\ntype ExtractFilterKey<D> = D extends { key: infer K }
|
|
1
|
+
{"version":3,"file":"FilterListApi.js","names":[],"sources":["FilterListApi.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n LinkNames,\n ObjectSet,\n ObjectTypeDefinition,\n WhereClause,\n} from \"@osdk/api\";\nimport type React from \"react\";\nimport type { ReactNode } from \"react\";\n\nimport type {\n FilterState as FilterStateType,\n PropertyFilterDefinition,\n} from \"./FilterListItemApi.js\";\nimport type { CustomFilterDefinition } from \"./types/CustomRendererTypes.js\";\nimport type { KeywordSearchFilterDefinition } from \"./types/KeywordSearchTypes.js\";\nimport type {\n HasLinkFilterDefinition,\n LinkedPropertyFilterDefinition,\n} from \"./types/LinkedFilterTypes.js\";\nimport type { StaticValuesFilterDefinition } from \"./types/StaticValuesTypes.js\";\n\n/**\n * Distributes LinkedPropertyFilterDefinition over each link name individually,\n * so that LinkedQ/LinkedK/LinkedC defaults resolve correctly per link.\n */\ntype DistributeLinkedProperty<\n Q extends ObjectTypeDefinition,\n L extends LinkNames<Q>,\n> = L extends LinkNames<Q> ? LinkedPropertyFilterDefinition<Q, L> : never;\n\n/**\n * Union type of all filter definition types\n */\nexport type FilterDefinitionUnion<Q extends ObjectTypeDefinition> =\n | PropertyFilterDefinition<Q>\n | HasLinkFilterDefinition<Q>\n | DistributeLinkedProperty<Q, LinkNames<Q>>\n | KeywordSearchFilterDefinition<Q>\n | CustomFilterDefinition<Q>\n | StaticValuesFilterDefinition<Q>;\n\n/**\n * Extract the key from a filter definition union\n */\ntype ExtractFilterKey<D> = D extends { key: infer K }\n ? K\n : D extends { linkName: infer L }\n ? L\n : never;\n\nexport type FilterKey<Q extends ObjectTypeDefinition> = ExtractFilterKey<\n FilterDefinitionUnion<Q>\n>;\n\n/**\n * Extract the filter state from a filter definition union\n */\ntype ExtractFilterState<D> = D extends { filterState: infer S } ? S : never;\n\nexport type FilterState<Q extends ObjectTypeDefinition> = ExtractFilterState<\n FilterDefinitionUnion<Q>\n>;\n\n/**\n * Map from filter definition objects to their current state.\n * Uses object identity for keys, ensuring stable lookups across reorders.\n */\nexport type FilterStatesMap<Q extends ObjectTypeDefinition> = Map<\n FilterDefinitionUnion<Q>,\n FilterStateType\n>;\n\nexport interface FilterListProps<Q extends ObjectTypeDefinition> {\n /**\n * The object type definition for the objects being filtered.\n * Used for metadata resolution (property types, display names).\n */\n objectType: Q;\n\n /**\n * Optional object set to scope aggregation queries. When omitted,\n * aggregations run against the full object type.\n */\n objectSet?: ObjectSet<Q>;\n\n /**\n * The current where clause to filter the objectSet.\n * If provided, the filter clause is controlled.\n * LINKED_PROPERTY filters are not included; use `onEffectiveObjectSet`.\n */\n filterClause?: WhereClause<Q>;\n\n /**\n * Called when the filter clause changes.\n * Required in controlled mode.\n *\n * @param newClause The updated filter clause\n */\n onFilterClauseChanged?: (newClause: WhereClause<Q>) => void;\n\n /**\n * Optional title to display in the filter list header\n */\n title?: ReactNode;\n\n /**\n * Optional icon to display next to the title\n */\n titleIcon?: React.ReactNode;\n\n /**\n * The definition for all supported filter items in the list\n * If not supplied, all filterable properties will be available\n */\n filterDefinitions?: Array<FilterDefinitionUnion<Q>>;\n\n /**\n * Called when filter state changes\n *\n * @param definition The filter definition whose state changed\n * @param newState The updated filter state\n */\n onFilterStateChanged?: (\n definition: FilterDefinitionUnion<Q>,\n newState: FilterStateType\n ) => void;\n\n /**\n * Called with the narrowed `ObjectSet` whenever filters change. Requires\n * `objectSet` to be set.\n *\n * A linked filter only narrows the set when its definition has\n * `reverseLinkName`. Linked filters without it are skipped here; read their\n * state from `onFilterStateChanged` instead.\n */\n onEffectiveObjectSet?: (objectSet: ObjectSet<Q>) => void;\n\n /**\n * When `true`, facets render greyed-out count=0 rows for values present in\n * the unfiltered data but excluded by other active filters.\n * @default false\n */\n showFilteredOutValues?: boolean;\n\n /**\n * Controls how filter visibility (add/remove) is managed.\n *\n * - `\"uncontrolled\"` (default): FilterList manages visibility internally.\n * An \"Add filter\" popover is rendered for filters with `isVisible: false`,\n * and each visible filter shows a remove button.\n * - `\"controlled\"`: The consumer manages which filters are visible via\n * `filterDefinitions`. Filters with `isVisible: false` are excluded from\n * the rendered list.\n *\n * @default \"uncontrolled\"\n */\n addFilterMode?: \"controlled\" | \"uncontrolled\";\n\n /**\n * Called when a filter is added (shown).\n *\n * In uncontrolled mode, this fires when a user selects a hidden filter\n * from the \"Add filter\" popover.\n *\n * @param filterKey The key of the added filter\n * @param newDefinitions The current filter definitions array\n */\n onFilterAdded?: (\n filterKey: FilterKey<Q>,\n newDefinitions: Array<FilterDefinitionUnion<Q>>\n ) => void;\n\n /**\n * Called when a filter is removed (hidden).\n *\n * In uncontrolled mode, this fires as a notification after the filter\n * is hidden internally.\n *\n * @param filterKey The key of the removed filter\n */\n onFilterRemoved?: (filterKey: FilterKey<Q>) => void;\n\n /**\n * Called when filter visibility or ordering changes, i.e. when filters\n * are reordered, or (in uncontrolled mode) added or\n * removed via the built-in show/remove controls.\n *\n * @param newStates The filters in current display order with their visibility state\n */\n onFilterVisibilityChange?: (\n newStates: Array<{\n filterKey: FilterKey<Q>;\n isVisible: boolean;\n }>\n ) => void;\n\n /**\n * Enable drag-and-drop reordering of filters.\n * When true, drag handles are rendered and filters can be reordered.\n * Reorder state is managed internally; consumers who need to track order\n * should use controlled filterDefinitions.\n */\n enableSorting?: boolean;\n\n /**\n * Whether the filter list panel is collapsed\n */\n collapsed?: boolean;\n\n /**\n * Called when the collapsed state changes\n */\n onCollapsedChange?: (collapsed: boolean) => void;\n\n /**\n * Initial filter states for hydrating from external storage.\n * These states are merged over definition defaults on mount.\n * Use onFilterStateChanged to persist state changes externally.\n */\n initialFilterStates?: Map<string, FilterStateType>;\n\n /**\n * Show reset filters button in header\n */\n showResetButton?: boolean;\n\n /**\n * Called when reset button is clicked\n */\n onReset?: () => void;\n\n /**\n * Show count of active filters in header\n */\n showActiveFilterCount?: boolean;\n\n /**\n * Additional CSS class name\n */\n className?: string;\n\n /**\n * Custom render function for the \"Add filter\" button.\n *\n * - In uncontrolled mode: customizes the trigger element for the built-in\n * add-filter popover. The popover behavior is handled automatically.\n * - In controlled mode: replaces the entire add-filter button area.\n * The consumer is responsible for all add-filter behavior.\n */\n renderAddFilterButton?: () => React.ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
|