@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":"FilterListItemApi.js","names":[],"sources":["FilterListItemApi.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 CompileTimeMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n PropertyKeys,\n WirePropertyTypes,\n} from \"@osdk/api\";\nimport type { ReactNode } from \"react\";\nimport type { CustomFilterState } from \"./types/CustomRendererTypes.js\";\nimport type { KeywordSearchFilterState } from \"./types/KeywordSearchTypes.js\";\nimport type {\n HasLinkFilterState,\n LinkedPropertyFilterState,\n} from \"./types/LinkedFilterTypes.js\";\n\n/**\n * Helper type to extract the property type from an ObjectTypeDefinition given a property key\n */\nexport type PropertyTypeFromKey<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q>,\n> = CompileTimeMetadata<Q>[\"properties\"][K][\"type\"];\n\n/**\n * Common mix-in for filter definitions: opt-out flag for the header search\n * monocle.\n */\nexport interface FilterDefinitionControls {\n /**\n * When `false`, the header monocle (search-values icon) is hidden even for\n * filter components that ordinarily support in-filter search. Useful for\n * `MULTI_SELECT`, which already has its own inline search field.\n *\n * @default true\n */\n searchField?: boolean;\n}\n\n/**\n * All available filter component types\n */\nexport type FilterComponentType =\n | \"LISTOGRAM\"\n | \"DATE_RANGE\"\n | \"NUMBER_RANGE\"\n | \"TEXT_TAGS\"\n | \"CONTAINS_TEXT\"\n | \"SINGLE_SELECT\"\n | \"MULTI_SELECT\"\n | \"SINGLE_DATE\"\n | \"MULTI_DATE\"\n | \"TIMELINE\"\n | \"TOGGLE\";\n\n/**\n * Gets valid component types for a given property type\n */\nexport type ValidComponentsForPropertyType<P extends WirePropertyTypes> =\n P extends \"boolean\" ? \"LISTOGRAM\" | \"SINGLE_SELECT\" | \"TOGGLE\"\n : P extends \"string\" ?\n | \"LISTOGRAM\"\n | \"TEXT_TAGS\"\n | \"CONTAINS_TEXT\"\n | \"SINGLE_SELECT\"\n | \"MULTI_SELECT\"\n : P extends \"datetime\" | \"timestamp\"\n ? \"DATE_RANGE\" | \"SINGLE_DATE\" | \"MULTI_DATE\" | \"TIMELINE\"\n : P extends\n | \"double\"\n | \"integer\"\n | \"long\"\n | \"float\"\n | \"short\"\n | \"byte\"\n | \"decimal\" ? \"NUMBER_RANGE\" | \"SINGLE_SELECT\" | \"MULTI_SELECT\"\n : never;\n\n/**\n * Union of all possible filter states\n */\nexport type FilterState =\n | ExactMatchFilterState<string | boolean>\n | DateRangeFilterState\n | ContainsTextFilterState\n | NumberRangeFilterState\n | SelectFilterState<string | boolean | number>\n | SelectFilterState<Date>\n | TimelineFilterState\n | ToggleFilterState\n | HasLinkFilterState\n | LinkedPropertyFilterState\n | KeywordSearchFilterState\n | CustomFilterState;\n\n/**\n * Maps component types to their corresponding state types\n */\nexport interface FilterStateByComponentType {\n LISTOGRAM: ExactMatchFilterState<string | boolean>;\n DATE_RANGE: DateRangeFilterState;\n TEXT_TAGS: ExactMatchFilterState<string>;\n CONTAINS_TEXT: ContainsTextFilterState;\n NUMBER_RANGE: NumberRangeFilterState;\n SINGLE_SELECT: SelectFilterState<string | boolean | number>;\n MULTI_SELECT: SelectFilterState<string | boolean | number>;\n SINGLE_DATE: SelectFilterState<Date>;\n MULTI_DATE: SelectFilterState<Date>;\n TIMELINE: TimelineFilterState;\n TOGGLE: ToggleFilterState;\n}\n\n/**\n * All filter state discriminator types\n */\nexport type FilterStateType =\n | \"EXACT_MATCH\"\n | \"DATE_RANGE\"\n | \"NUMBER_RANGE\"\n | \"CONTAINS_TEXT\"\n | \"SELECT\"\n | \"TIMELINE\"\n | \"TOGGLE\"\n | \"hasLink\"\n | \"linkedProperty\"\n | \"keywordSearch\"\n | \"custom\";\n\n/**\n * Base interface for all filter states\n * Contains common properties shared across all filter types\n */\nexport interface BaseFilterState {\n /**\n * The type of filter component\n */\n type: FilterStateType;\n\n /**\n * If true, the objects satisfying the filter are excluded\n * @default false\n */\n isExcluding?: boolean;\n\n /**\n * If true, include objects that have no value\n * @default false\n */\n includeNull?: boolean;\n}\n\nexport interface ExactMatchFilterState<T = string | boolean>\n extends BaseFilterState\n{\n type: \"EXACT_MATCH\";\n values: T[];\n}\n\nexport interface DateRangeFilterState extends BaseFilterState {\n type: \"DATE_RANGE\";\n /**\n * The earliest date the user can select\n */\n minValue?: Date;\n /**\n * The latest date the user can select\n */\n maxValue?: Date;\n}\n\nexport interface ContainsTextFilterState extends BaseFilterState {\n type: \"CONTAINS_TEXT\";\n value?: string;\n}\n\nexport interface NumberRangeFilterState extends BaseFilterState {\n type: \"NUMBER_RANGE\";\n /**\n * Minimum numeric value (inclusive)\n */\n minValue?: number;\n /**\n * Maximum numeric value (inclusive)\n */\n maxValue?: number;\n}\n\n/**\n * Consolidated state type for select-based filters.\n * Used by SINGLE_SELECT, MULTI_SELECT, SINGLE_DATE, and MULTI_DATE.\n */\nexport interface SelectFilterState<T = string | boolean | number | Date>\n extends BaseFilterState\n{\n type: \"SELECT\";\n selectedValues: T[];\n}\n\nexport interface TimelineFilterState extends BaseFilterState {\n type: \"TIMELINE\";\n startDate?: Date;\n endDate?: Date;\n granularity?: \"day\" | \"week\" | \"month\" | \"quarter\" | \"year\";\n}\n\nexport interface ToggleFilterState extends BaseFilterState {\n type: \"TOGGLE\";\n enabled: boolean;\n}\n\n/**\n * Optional date display formatter. Mixed into `PropertyFilterDefinition`\n * only when the property is `datetime` or `timestamp` — see\n * {@link PropertyFilterDateExtras}.\n *\n * `formatDate` overrides the displayed string everywhere the filter\n * surfaces a date: the shared `DateRangePicker` / `DatePicker` idle text,\n * the date-range histogram tooltip and period subtitle, the multi-date\n * chip text, and timeline labels. The picker's internal value remains\n * ISO `YYYY-MM-DD` so cross-locale viewers see a consistent input format\n * regardless of `formatDate`.\n *\n * Receives a `Date` in local time. If the property is a UTC ISO string and\n * you want a different timezone, do that conversion inside your callback.\n */\nexport interface DateFormattingProps {\n formatDate?: (date: Date) => string;\n}\n\n/**\n * Conditionally adds `formatDate` to a property filter definition only for\n * `datetime` / `timestamp` properties. For other property types this field\n * is typed as `never` so attempting to set it is a TypeScript error.\n */\nexport type PropertyFilterDateExtras<P extends WirePropertyTypes> = P extends\n \"datetime\" | \"timestamp\" ? DateFormattingProps\n : { formatDate?: never };\n\ninterface PropertyFilterDefinitionBase<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q> = PropertyKeys<Q>,\n C extends ValidComponentsForPropertyType<\n PropertyTypeFromKey<Q, K>\n > = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>,\n> extends FilterDefinitionControls {\n /**\n * Discriminator for filter definition type\n */\n type: \"PROPERTY\";\n\n /**\n * Optional unique identifier for stable keying across filter reorders.\n */\n id?: string;\n\n /**\n * The property key to filter on\n */\n key: K;\n\n /**\n * Display label for the filter\n */\n label?: string;\n\n /**\n * The filter component type to render\n * Must be compatible with the property type derived from the key, see ValidComponentsForPropertyType\n */\n filterComponent: C;\n\n /**\n * The current state of the filter.\n * If provided, the filter is controlled.\n */\n filterState: FilterStateByComponentType[C];\n\n /**\n * Maps filter values to colors for visual differentiation.\n * Used by LISTOGRAM (per-row bar colors).\n */\n colorMap?: Record<string, string>;\n\n /**\n * Configuration for LISTOGRAM display mode.\n * Only applies when filterComponent is \"LISTOGRAM\".\n */\n listogramConfig?: {\n displayMode?: \"full\" | \"count\" | \"minimal\";\n /**\n * Number of items shown before \"View all\" link appears\n * @default 5\n */\n maxVisibleItems?: number;\n };\n\n /**\n * Custom display function for filter values.\n * Replaces the default string display in dropdown items, chips, and listogram rows.\n * When the function returns a string, that string is also used for search matching\n * within filter dropdowns. When it returns a non-string `ReactNode`, search falls\n * back to the raw value.\n */\n renderValue?: (value: string) => ReactNode;\n\n /**\n * Show aggregation counts next to filter option values.\n * Applies to LISTOGRAM, SINGLE_SELECT, and MULTI_SELECT components.\n * @default true for LISTOGRAM and MULTI_SELECT, false for SINGLE_SELECT\n */\n showCount?: boolean;\n\n /**\n * When true, clicking a bar in the histogram replaces the filter range\n * with that bucket's `[min, max]`. Only applies to histogram-rendering\n * filter components (`NUMBER_RANGE` and `DATE_RANGE`); ignored on other\n * component types.\n *\n * Click replaces the current range — clicking a second bar discards the\n * previous selection. Multi-bucket selection / shift+click union is NOT\n * supported in v1.\n *\n * @default false\n */\n clickToFilter?: boolean;\n\n /**\n * Controls whether this filter is rendered.\n * When false, the filter is hidden but its state is preserved.\n * @default true\n */\n isVisible?: boolean;\n}\n\n/**\n * A property filter definition specifies configuration for filtering on a single property\n *\n * The component type C must be compatible with the property type derived from the key.\n * For example, boolean properties can only use LISTOGRAM or SINGLE_SELECT,\n * while string properties can use LISTOGRAM, TEXT_TAGS, CONTAINS_TEXT, SINGLE_SELECT, or MULTI_SELECT.\n *\n * Date and datetime properties may additionally specify `formatDate` — see\n * {@link PropertyFilterDateExtras}.\n */\nexport type PropertyFilterDefinition<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q> = PropertyKeys<Q>,\n C extends ValidComponentsForPropertyType<\n PropertyTypeFromKey<Q, K>\n > = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>,\n> =\n & PropertyFilterDefinitionBase<Q, K, C>\n & PropertyFilterDateExtras<PropertyTypeFromKey<Q, K>>;\n\n/**\n * Props for a single filter list item component.\n * Extends PropertyFilterDefinition with runtime props for rendering.\n */\nexport type FilterListItemProps<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q> = PropertyKeys<Q>,\n C extends ValidComponentsForPropertyType<\n PropertyTypeFromKey<Q, K>\n > = ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>,\n> = PropertyFilterDefinition<Q, K, C> & {\n objectSet: ObjectSet<Q>;\n\n /**\n * Called when the state of the filter changes.\n * Required in controlled mode.\n */\n onFilterStateChanged: (state: FilterStateByComponentType[C]) => void;\n\n onFilterRemoved?: (key: PropertyKeys<Q>) => void;\n};\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FilterListItemApi.js","names":[],"sources":["FilterListItemApi.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 CompileTimeMetadata,\n ObjectSet,\n ObjectTypeDefinition,\n PropertyKeys,\n WirePropertyTypes,\n} from \"@osdk/api\";\nimport type { ReactNode } from \"react\";\n\nimport type { CustomFilterState } from \"./types/CustomRendererTypes.js\";\nimport type { KeywordSearchFilterState } from \"./types/KeywordSearchTypes.js\";\nimport type {\n HasLinkFilterState,\n LinkedPropertyFilterState,\n} from \"./types/LinkedFilterTypes.js\";\n\n/**\n * Helper type to extract the property type from an ObjectTypeDefinition given a property key\n */\nexport type PropertyTypeFromKey<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q>,\n> = CompileTimeMetadata<Q>[\"properties\"][K][\"type\"];\n\n/**\n * Common mix-in for filter definitions: opt-out flag for the header search\n * monocle.\n */\nexport interface FilterDefinitionControls {\n /**\n * When `false`, the header monocle (search-values icon) is hidden even for\n * filter components that ordinarily support in-filter search. Useful for\n * `MULTI_SELECT`, which already has its own inline search field.\n *\n * @default true\n */\n searchField?: boolean;\n}\n\n/**\n * All available filter component types\n */\nexport type FilterComponentType =\n | \"LISTOGRAM\"\n | \"DATE_RANGE\"\n | \"NUMBER_RANGE\"\n | \"TEXT_TAGS\"\n | \"CONTAINS_TEXT\"\n | \"SINGLE_SELECT\"\n | \"MULTI_SELECT\"\n | \"SINGLE_DATE\"\n | \"MULTI_DATE\"\n | \"TIMELINE\"\n | \"TOGGLE\";\n\n/**\n * Gets valid component types for a given property type\n */\nexport type ValidComponentsForPropertyType<P extends WirePropertyTypes> =\n P extends \"boolean\"\n ? \"LISTOGRAM\" | \"SINGLE_SELECT\" | \"TOGGLE\"\n : P extends \"string\"\n ?\n | \"LISTOGRAM\"\n | \"TEXT_TAGS\"\n | \"CONTAINS_TEXT\"\n | \"SINGLE_SELECT\"\n | \"MULTI_SELECT\"\n : P extends \"datetime\" | \"timestamp\"\n ? \"DATE_RANGE\" | \"SINGLE_DATE\" | \"MULTI_DATE\" | \"TIMELINE\"\n : P extends\n | \"double\"\n | \"integer\"\n | \"long\"\n | \"float\"\n | \"short\"\n | \"byte\"\n | \"decimal\"\n ? \"NUMBER_RANGE\" | \"SINGLE_SELECT\" | \"MULTI_SELECT\"\n : never;\n\n/**\n * Union of all possible filter states\n */\nexport type FilterState =\n | ExactMatchFilterState<string | boolean>\n | DateRangeFilterState\n | ContainsTextFilterState\n | NumberRangeFilterState\n | SelectFilterState<string | boolean | number>\n | SelectFilterState<Date>\n | TimelineFilterState\n | ToggleFilterState\n | HasLinkFilterState\n | LinkedPropertyFilterState\n | KeywordSearchFilterState\n | CustomFilterState;\n\n/**\n * Maps component types to their corresponding state types\n */\nexport interface FilterStateByComponentType {\n LISTOGRAM: ExactMatchFilterState<string | boolean>;\n DATE_RANGE: DateRangeFilterState;\n TEXT_TAGS: ExactMatchFilterState<string>;\n CONTAINS_TEXT: ContainsTextFilterState;\n NUMBER_RANGE: NumberRangeFilterState;\n SINGLE_SELECT: SelectFilterState<string | boolean | number>;\n MULTI_SELECT: SelectFilterState<string | boolean | number>;\n SINGLE_DATE: SelectFilterState<Date>;\n MULTI_DATE: SelectFilterState<Date>;\n TIMELINE: TimelineFilterState;\n TOGGLE: ToggleFilterState;\n}\n\n/**\n * All filter state discriminator types\n */\nexport type FilterStateType =\n | \"EXACT_MATCH\"\n | \"DATE_RANGE\"\n | \"NUMBER_RANGE\"\n | \"CONTAINS_TEXT\"\n | \"SELECT\"\n | \"TIMELINE\"\n | \"TOGGLE\"\n | \"hasLink\"\n | \"linkedProperty\"\n | \"keywordSearch\"\n | \"custom\";\n\n/**\n * Base interface for all filter states\n * Contains common properties shared across all filter types\n */\nexport interface BaseFilterState {\n /**\n * The type of filter component\n */\n type: FilterStateType;\n\n /**\n * If true, the objects satisfying the filter are excluded\n * @default false\n */\n isExcluding?: boolean;\n\n /**\n * If true, include objects that have no value\n * @default false\n */\n includeNull?: boolean;\n}\n\nexport interface ExactMatchFilterState<\n T = string | boolean,\n> extends BaseFilterState {\n type: \"EXACT_MATCH\";\n values: T[];\n}\n\nexport interface DateRangeFilterState extends BaseFilterState {\n type: \"DATE_RANGE\";\n /**\n * The earliest date the user can select\n */\n minValue?: Date;\n /**\n * The latest date the user can select\n */\n maxValue?: Date;\n}\n\nexport interface ContainsTextFilterState extends BaseFilterState {\n type: \"CONTAINS_TEXT\";\n value?: string;\n}\n\nexport interface NumberRangeFilterState extends BaseFilterState {\n type: \"NUMBER_RANGE\";\n /**\n * Minimum numeric value (inclusive)\n */\n minValue?: number;\n /**\n * Maximum numeric value (inclusive)\n */\n maxValue?: number;\n}\n\n/**\n * Consolidated state type for select-based filters.\n * Used by SINGLE_SELECT, MULTI_SELECT, SINGLE_DATE, and MULTI_DATE.\n */\nexport interface SelectFilterState<\n T = string | boolean | number | Date,\n> extends BaseFilterState {\n type: \"SELECT\";\n selectedValues: T[];\n}\n\nexport interface TimelineFilterState extends BaseFilterState {\n type: \"TIMELINE\";\n startDate?: Date;\n endDate?: Date;\n granularity?: \"day\" | \"week\" | \"month\" | \"quarter\" | \"year\";\n}\n\nexport interface ToggleFilterState extends BaseFilterState {\n type: \"TOGGLE\";\n enabled: boolean;\n}\n\n/**\n * Optional date display formatter. Mixed into `PropertyFilterDefinition`\n * only when the property is `datetime` or `timestamp` — see\n * {@link PropertyFilterDateExtras}.\n *\n * `formatDate` overrides the displayed string everywhere the filter\n * surfaces a date: the shared `DateRangePicker` / `DatePicker` idle text,\n * the date-range histogram tooltip and period subtitle, the multi-date\n * chip text, and timeline labels. The picker's internal value remains\n * ISO `YYYY-MM-DD` so cross-locale viewers see a consistent input format\n * regardless of `formatDate`.\n *\n * Receives a `Date` in local time. If the property is a UTC ISO string and\n * you want a different timezone, do that conversion inside your callback.\n */\nexport interface DateFormattingProps {\n formatDate?: (date: Date) => string;\n}\n\n/**\n * Conditionally adds `formatDate` to a property filter definition only for\n * `datetime` / `timestamp` properties. For other property types this field\n * is typed as `never` so attempting to set it is a TypeScript error.\n */\nexport type PropertyFilterDateExtras<P extends WirePropertyTypes> = P extends\n | \"datetime\"\n | \"timestamp\"\n ? DateFormattingProps\n : { formatDate?: never };\n\ninterface PropertyFilterDefinitionBase<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q> = PropertyKeys<Q>,\n C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> =\n ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>,\n> extends FilterDefinitionControls {\n /**\n * Discriminator for filter definition type\n */\n type: \"PROPERTY\";\n\n /**\n * Optional unique identifier for stable keying across filter reorders.\n */\n id?: string;\n\n /**\n * The property key to filter on\n */\n key: K;\n\n /**\n * Display label for the filter\n */\n label?: string;\n\n /**\n * The filter component type to render\n * Must be compatible with the property type derived from the key, see ValidComponentsForPropertyType\n */\n filterComponent: C;\n\n /**\n * The current state of the filter.\n * If provided, the filter is controlled.\n */\n filterState: FilterStateByComponentType[C];\n\n /**\n * Maps filter values to colors for visual differentiation.\n * Used by LISTOGRAM (per-row bar colors).\n */\n colorMap?: Record<string, string>;\n\n /**\n * Configuration for LISTOGRAM display mode.\n * Only applies when filterComponent is \"LISTOGRAM\".\n */\n listogramConfig?: {\n displayMode?: \"full\" | \"count\" | \"minimal\";\n /**\n * Number of items shown before \"View all\" link appears\n * @default 5\n */\n maxVisibleItems?: number;\n };\n\n /**\n * Custom display function for filter values.\n * Replaces the default string display in dropdown items, chips, and listogram rows.\n * When the function returns a string, that string is also used for search matching\n * within filter dropdowns. When it returns a non-string `ReactNode`, search falls\n * back to the raw value.\n */\n renderValue?: (value: string) => ReactNode;\n\n /**\n * Show aggregation counts next to filter option values.\n * Applies to LISTOGRAM, SINGLE_SELECT, and MULTI_SELECT components.\n * @default true for LISTOGRAM and MULTI_SELECT, false for SINGLE_SELECT\n */\n showCount?: boolean;\n\n /**\n * When true, clicking a bar in the histogram replaces the filter range\n * with that bucket's `[min, max]`. Only applies to histogram-rendering\n * filter components (`NUMBER_RANGE` and `DATE_RANGE`); ignored on other\n * component types.\n *\n * Click replaces the current range — clicking a second bar discards the\n * previous selection. Multi-bucket selection / shift+click union is NOT\n * supported in v1.\n *\n * @default false\n */\n clickToFilter?: boolean;\n\n /**\n * Controls whether this filter is rendered.\n * When false, the filter is hidden but its state is preserved.\n * @default true\n */\n isVisible?: boolean;\n}\n\n/**\n * A property filter definition specifies configuration for filtering on a single property\n *\n * The component type C must be compatible with the property type derived from the key.\n * For example, boolean properties can only use LISTOGRAM or SINGLE_SELECT,\n * while string properties can use LISTOGRAM, TEXT_TAGS, CONTAINS_TEXT, SINGLE_SELECT, or MULTI_SELECT.\n *\n * Date and datetime properties may additionally specify `formatDate` — see\n * {@link PropertyFilterDateExtras}.\n */\nexport type PropertyFilterDefinition<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q> = PropertyKeys<Q>,\n C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> =\n ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>,\n> = PropertyFilterDefinitionBase<Q, K, C> &\n PropertyFilterDateExtras<PropertyTypeFromKey<Q, K>>;\n\n/**\n * Props for a single filter list item component.\n * Extends PropertyFilterDefinition with runtime props for rendering.\n */\nexport type FilterListItemProps<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q> = PropertyKeys<Q>,\n C extends ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>> =\n ValidComponentsForPropertyType<PropertyTypeFromKey<Q, K>>,\n> = PropertyFilterDefinition<Q, K, C> & {\n objectSet: ObjectSet<Q>;\n\n /**\n * Called when the state of the filter changes.\n * Required in controlled mode.\n */\n onFilterStateChanged: (state: FilterStateByComponentType[C]) => void;\n\n onFilterRemoved?: (key: PropertyKeys<Q>) => void;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
import React, { memo } from "react";
|
|
18
18
|
import { SearchableMenu } from "../../base-components/searchable-menu/SearchableMenu.js";
|
|
19
|
-
import styles from "./AddFilterPopover.module.css";
|
|
20
19
|
import { useFilterListBoundary } from "./FilterListBoundaryContext.js";
|
|
20
|
+
import styles from "./AddFilterPopover.module.css";
|
|
21
21
|
function AddFilterPopoverInner({
|
|
22
22
|
hiddenDefinitions,
|
|
23
23
|
onShowFilter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddFilterPopover.js","names":["React","memo","SearchableMenu","
|
|
1
|
+
{"version":3,"file":"AddFilterPopover.js","names":["React","memo","SearchableMenu","useFilterListBoundary","styles","AddFilterPopoverInner","hiddenDefinitions","onShowFilter","renderTrigger","collisionBoundary","createElement","items","onItemSelected","trigger","triggerClassName","undefined","searchPlaceholder","emptyMessage","AddFilterPopover"],"sources":["AddFilterPopover.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 React, { memo } from \"react\";\n\nimport { SearchableMenu } from \"../../base-components/searchable-menu/SearchableMenu.js\";\nimport { useFilterListBoundary } from \"./FilterListBoundaryContext.js\";\n\nimport styles from \"./AddFilterPopover.module.css\";\n\ninterface HiddenFilterItem {\n key: string;\n label: string;\n}\n\ninterface AddFilterPopoverProps {\n hiddenDefinitions: Array<HiddenFilterItem>;\n onShowFilter: (key: string) => void;\n renderTrigger?: () => React.ReactNode;\n}\n\nfunction AddFilterPopoverInner({\n hiddenDefinitions,\n onShowFilter,\n renderTrigger,\n}: AddFilterPopoverProps): React.ReactElement {\n const collisionBoundary = useFilterListBoundary();\n\n return (\n <SearchableMenu\n items={hiddenDefinitions}\n onItemSelected={onShowFilter}\n trigger={renderTrigger != null ? renderTrigger() : \"+ Add filter\"}\n triggerClassName={renderTrigger == null ? styles.trigger : undefined}\n searchPlaceholder=\"Search filters\"\n emptyMessage=\"No matching filters\"\n collisionBoundary={collisionBoundary}\n />\n );\n}\n\nexport const AddFilterPopover: React.MemoExoticComponent<\n typeof AddFilterPopoverInner\n> = memo(AddFilterPopoverInner);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AAEnC,SAASC,cAAc,QAAQ,yDAAyD;AACxF,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,OAAOC,MAAM,MAAM,+BAA+B;AAalD,SAASC,qBAAqBA,CAAC;EAC7BC,iBAAiB;EACjBC,YAAY;EACZC;AACqB,CAAC,EAAsB;EAC5C,MAAMC,iBAAiB,GAAGN,qBAAqB,CAAC,CAAC;EAEjD,oBACEH,KAAA,CAAAU,aAAA,CAACR,cAAc;IACbS,KAAK,EAAEL,iBAAkB;IACzBM,cAAc,EAAEL,YAAa;IAC7BM,OAAO,EAAEL,aAAa,IAAI,IAAI,GAAGA,aAAa,CAAC,CAAC,GAAG,cAAe;IAClEM,gBAAgB,EAAEN,aAAa,IAAI,IAAI,GAAGJ,MAAM,CAACS,OAAO,GAAGE,SAAU;IACrEC,iBAAiB,EAAC,gBAAgB;IAClCC,YAAY,EAAC,qBAAqB;IAClCR,iBAAiB,EAAEA;EAAkB,CACtC,CAAC;AAEN;AAEA,OAAO,MAAMS,gBAEZ,gBAAGjB,IAAI,CAACI,qBAAqB,CAAC","ignoreList":[]}
|
|
@@ -18,10 +18,10 @@ import { Button } from "@base-ui/react/button";
|
|
|
18
18
|
import classnames from "classnames";
|
|
19
19
|
import React, { useCallback, useState } from "react";
|
|
20
20
|
import { ExpandIcon } from "./FilterIcons.js";
|
|
21
|
-
import styles from "./FilterList.module.css";
|
|
22
21
|
import { FilterListBoundaryProvider } from "./FilterListBoundaryContext.js";
|
|
23
22
|
import { FilterListContent } from "./FilterListContent.js";
|
|
24
23
|
import { FilterListHeader } from "./FilterListHeader.js";
|
|
24
|
+
import styles from "./FilterList.module.css";
|
|
25
25
|
export function BaseFilterList(props) {
|
|
26
26
|
const {
|
|
27
27
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFilterList.js","names":["Button","classnames","React","useCallback","useState","ExpandIcon","
|
|
1
|
+
{"version":3,"file":"BaseFilterList.js","names":["Button","classnames","React","useCallback","useState","ExpandIcon","FilterListBoundaryProvider","FilterListContent","FilterListHeader","styles","BaseFilterList","props","title","titleIcon","collapsed","onCollapsedChange","filterDefinitions","filterStates","onFilterStateChanged","renderInput","getFilterKey","getFilterLabel","getEmptyDisplayState","activeFilterCount","onReset","onFilterAdded","onFilterRemoved","onOrderChange","showResetButton","showActiveFilterCount","canReset","hasVisibilityChanges","enableSorting","className","renderAddFilterButton","boundaryElement","setBoundaryElement","handleExpand","isCollapsed","createElement","filterList","filterListCollapsed","expandButton","onClick","collapsedLabel","ref","expandedContent","hiddenContent","value","scrollableContent","addButtonContainer","type","addButton"],"sources":["BaseFilterList.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 { Button } from \"@base-ui/react/button\";\nimport classnames from \"classnames\";\nimport React, { useCallback, useState } from \"react\";\n\nimport type { FilterDefinitionControls } from \"../FilterListItemApi.js\";\nimport type { BaseFilterListProps } from \"./BaseFilterListApi.js\";\nimport { ExpandIcon } from \"./FilterIcons.js\";\nimport { FilterListBoundaryProvider } from \"./FilterListBoundaryContext.js\";\nimport { FilterListContent } from \"./FilterListContent.js\";\nimport { FilterListHeader } from \"./FilterListHeader.js\";\n\nimport styles from \"./FilterList.module.css\";\n\nexport function BaseFilterList<D extends FilterDefinitionControls>(\n props: BaseFilterListProps<D>\n): React.ReactElement {\n const {\n title,\n titleIcon,\n collapsed = false,\n onCollapsedChange,\n filterDefinitions,\n filterStates,\n onFilterStateChanged,\n renderInput,\n getFilterKey,\n getFilterLabel,\n getEmptyDisplayState,\n activeFilterCount,\n onReset,\n onFilterAdded,\n onFilterRemoved,\n onOrderChange,\n showResetButton = false,\n showActiveFilterCount = false,\n canReset,\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- consumed as a backwards-compatible fallback when canReset is not provided\n hasVisibilityChanges,\n enableSorting,\n className,\n renderAddFilterButton,\n } = props;\n\n const [boundaryElement, setBoundaryElement] = useState<HTMLDivElement | null>(\n null\n );\n\n const showHeader =\n title ||\n titleIcon ||\n showResetButton ||\n showActiveFilterCount ||\n onCollapsedChange;\n\n const showAddButton = renderAddFilterButton != null || onFilterAdded != null;\n\n const handleExpand = useCallback(() => {\n onCollapsedChange?.(false);\n }, [onCollapsedChange]);\n\n const isCollapsed = collapsed && onCollapsedChange != null;\n\n return (\n <div className={classnames(styles.filterList, className)}>\n {isCollapsed && (\n <div className={styles.filterListCollapsed} data-collapsed=\"true\">\n <Button\n className={styles.expandButton}\n onClick={handleExpand}\n aria-label=\"Expand filters\"\n >\n <ExpandIcon />\n </Button>\n <span className={styles.collapsedLabel}>{title ?? \"Filters\"}</span>\n </div>\n )}\n <div\n ref={setBoundaryElement}\n className={classnames(\n styles.expandedContent,\n isCollapsed && styles.hiddenContent\n )}\n data-active-count={activeFilterCount}\n >\n <FilterListBoundaryProvider value={boundaryElement}>\n {showHeader && (\n <FilterListHeader\n title={title}\n titleIcon={titleIcon}\n collapsed={collapsed}\n onCollapsedChange={onCollapsedChange}\n showResetButton={showResetButton}\n onReset={onReset}\n showActiveFilterCount={showActiveFilterCount}\n activeFilterCount={activeFilterCount}\n canReset={canReset}\n hasVisibilityChanges={hasVisibilityChanges}\n />\n )}\n\n <div className={styles.scrollableContent}>\n <FilterListContent\n filterDefinitions={filterDefinitions}\n filterStates={filterStates}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n onOrderChange={onOrderChange}\n renderInput={renderInput}\n getFilterKey={getFilterKey}\n getFilterLabel={getFilterLabel}\n getEmptyDisplayState={getEmptyDisplayState}\n enableSorting={enableSorting}\n />\n </div>\n\n {showAddButton && (\n <div className={styles.addButtonContainer}>\n {renderAddFilterButton ? (\n renderAddFilterButton()\n ) : (\n <Button\n type=\"button\"\n className={styles.addButton}\n onClick={onFilterAdded}\n >\n + Add filter\n </Button>\n )}\n </div>\n )}\n </FilterListBoundaryProvider>\n </div>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFilterListApi.js","names":[],"sources":["BaseFilterListApi.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 React from \"react\";\nimport type {\n FilterDefinitionControls,\n FilterState,\n} from \"../FilterListItemApi.js\";\n\nexport type RenderFilterInput<D> = (props: {\n definition: D;\n filterKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n searchQuery?: string;\n excludeRowOpen?: boolean;\n}) => React.ReactNode;\n\nexport interface BaseFilterListProps<D extends FilterDefinitionControls> {\n filterDefinitions?: Array<D>;\n filterStates: Map<string, FilterState>;\n onFilterStateChanged: (filterKey: string, state: FilterState) => void;\n renderInput: RenderFilterInput<D>;\n getFilterKey: (definition: D) => string;\n getFilterLabel: (definition: D) => string;\n /**\n * Display-only fallback state for a filter that has no stored state, used so\n * capability-driven header controls (overflow … menu, search) render for\n * empty/just-added filters. Never written into the filter-state map.\n */\n getEmptyDisplayState?: (definition: D) => FilterState | undefined;\n activeFilterCount: number;\n onReset?: () => void;\n onFilterAdded?: () => void;\n onFilterRemoved?: (filterKey: string) => void;\n onOrderChange?: (orderedKeys: string[]) => void;\n\n collapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n title?: React.ReactNode;\n titleIcon?: React.ReactNode;\n showResetButton?: boolean;\n showActiveFilterCount?: boolean;\n /**\n * Whether the reset button is enabled. Hosts compute this from whether the\n * filter and/or visibility state has diverged from its initial snapshot.\n */\n canReset?: boolean;\n /**\n * @deprecated Use {@link canReset} instead. When `canReset` is provided it\n * takes precedence; `hasVisibilityChanges` is only consulted as a fallback\n * for the reset button's enabled state.\n */\n hasVisibilityChanges?: boolean;\n enableSorting?: boolean;\n className?: string;\n renderAddFilterButton?: () => React.ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BaseFilterListApi.js","names":[],"sources":["BaseFilterListApi.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 React from \"react\";\n\nimport type {\n FilterDefinitionControls,\n FilterState,\n} from \"../FilterListItemApi.js\";\n\nexport type RenderFilterInput<D> = (props: {\n definition: D;\n filterKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n searchQuery?: string;\n excludeRowOpen?: boolean;\n}) => React.ReactNode;\n\nexport interface BaseFilterListProps<D extends FilterDefinitionControls> {\n filterDefinitions?: Array<D>;\n filterStates: Map<string, FilterState>;\n onFilterStateChanged: (filterKey: string, state: FilterState) => void;\n renderInput: RenderFilterInput<D>;\n getFilterKey: (definition: D) => string;\n getFilterLabel: (definition: D) => string;\n /**\n * Display-only fallback state for a filter that has no stored state, used so\n * capability-driven header controls (overflow … menu, search) render for\n * empty/just-added filters. Never written into the filter-state map.\n */\n getEmptyDisplayState?: (definition: D) => FilterState | undefined;\n activeFilterCount: number;\n onReset?: () => void;\n onFilterAdded?: () => void;\n onFilterRemoved?: (filterKey: string) => void;\n onOrderChange?: (orderedKeys: string[]) => void;\n\n collapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n title?: React.ReactNode;\n titleIcon?: React.ReactNode;\n showResetButton?: boolean;\n showActiveFilterCount?: boolean;\n /**\n * Whether the reset button is enabled. Hosts compute this from whether the\n * filter and/or visibility state has diverged from its initial snapshot.\n */\n canReset?: boolean;\n /**\n * @deprecated Use {@link canReset} instead. When `canReset` is provided it\n * takes precedence; `hasVisibilityChanges` is only consulted as a fallback\n * for the reset button's enabled state.\n */\n hasVisibilityChanges?: boolean;\n enableSorting?: boolean;\n className?: string;\n renderAddFilterButton?: () => React.ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
|
|
17
17
|
import { Menu } from "@base-ui/react/menu";
|
|
18
18
|
import React, { memo, useCallback } from "react";
|
|
19
|
-
import styles from "./ExcludeDropdown.module.css";
|
|
20
19
|
import { CheckIcon, ChevronDownIcon, ExcludeIcon } from "./FilterIcons.js";
|
|
21
20
|
import { useFilterListBoundary } from "./FilterListBoundaryContext.js";
|
|
21
|
+
import styles from "./ExcludeDropdown.module.css";
|
|
22
22
|
function ExcludeDropdownInner({
|
|
23
23
|
isExcluding,
|
|
24
24
|
onToggleExclude
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcludeDropdown.js","names":["Menu","React","memo","useCallback","
|
|
1
|
+
{"version":3,"file":"ExcludeDropdown.js","names":["Menu","React","memo","useCallback","CheckIcon","ChevronDownIcon","ExcludeIcon","useFilterListBoundary","styles","ExcludeDropdownInner","isExcluding","onToggleExclude","collisionBoundary","label","handleSelectKeeping","handleSelectExcluding","createElement","className","excludeDropdownContainer","Root","Trigger","trigger","undefined","triggerLabel","Portal","Positioner","positioner","sideOffset","Popup","popup","Item","menuItem","onClick","menuItemCheck","ExcludeDropdown"],"sources":["ExcludeDropdown.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 { Menu } from \"@base-ui/react/menu\";\nimport React, { memo, useCallback } from \"react\";\n\nimport { CheckIcon, ChevronDownIcon, ExcludeIcon } from \"./FilterIcons.js\";\nimport { useFilterListBoundary } from \"./FilterListBoundaryContext.js\";\n\nimport styles from \"./ExcludeDropdown.module.css\";\n\ninterface ExcludeDropdownProps {\n isExcluding: boolean;\n onToggleExclude: () => void;\n}\n\nfunction ExcludeDropdownInner({\n isExcluding,\n onToggleExclude,\n}: ExcludeDropdownProps): React.ReactElement {\n const collisionBoundary = useFilterListBoundary();\n const label = isExcluding ? \"Excluding\" : \"Keeping\";\n\n const handleSelectKeeping = useCallback(() => {\n if (isExcluding) {\n onToggleExclude();\n }\n }, [isExcluding, onToggleExclude]);\n\n const handleSelectExcluding = useCallback(() => {\n if (!isExcluding) {\n onToggleExclude();\n }\n }, [isExcluding, onToggleExclude]);\n\n return (\n <div className={styles.excludeDropdownContainer}>\n <Menu.Root>\n <Menu.Trigger\n className={styles.trigger}\n aria-label={label}\n data-excluding={isExcluding || undefined}\n >\n {isExcluding && <ExcludeIcon />}\n <span className={styles.triggerLabel}>{label}</span>\n <ChevronDownIcon />\n </Menu.Trigger>\n <Menu.Portal>\n <Menu.Positioner\n className={styles.positioner}\n sideOffset={4}\n collisionBoundary={collisionBoundary}\n >\n <Menu.Popup className={styles.popup}>\n <Menu.Item\n className={styles.menuItem}\n onClick={handleSelectKeeping}\n >\n <span className={styles.menuItemCheck}>\n {!isExcluding && <CheckIcon />}\n </span>\n Keeping\n </Menu.Item>\n <Menu.Item\n className={styles.menuItem}\n onClick={handleSelectExcluding}\n >\n <span className={styles.menuItemCheck}>\n {isExcluding && <CheckIcon />}\n </span>\n Excluding\n </Menu.Item>\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </Menu.Root>\n </div>\n );\n}\n\nexport const ExcludeDropdown: React.MemoExoticComponent<\n typeof ExcludeDropdownInner\n> = memo(ExcludeDropdownInner);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,qBAAqB;AAC1C,OAAOC,KAAK,IAAIC,IAAI,EAAEC,WAAW,QAAQ,OAAO;AAEhD,SAASC,SAAS,EAAEC,eAAe,EAAEC,WAAW,QAAQ,kBAAkB;AAC1E,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,OAAOC,MAAM,MAAM,8BAA8B;AAOjD,SAASC,oBAAoBA,CAAC;EAC5BC,WAAW;EACXC;AACoB,CAAC,EAAsB;EAC3C,MAAMC,iBAAiB,GAAGL,qBAAqB,CAAC,CAAC;EACjD,MAAMM,KAAK,GAAGH,WAAW,GAAG,WAAW,GAAG,SAAS;EAEnD,MAAMI,mBAAmB,GAAGX,WAAW,CAAC,MAAM;IAC5C,IAAIO,WAAW,EAAE;MACfC,eAAe,CAAC,CAAC;IACnB;EACF,CAAC,EAAE,CAACD,WAAW,EAAEC,eAAe,CAAC,CAAC;EAElC,MAAMI,qBAAqB,GAAGZ,WAAW,CAAC,MAAM;IAC9C,IAAI,CAACO,WAAW,EAAE;MAChBC,eAAe,CAAC,CAAC;IACnB;EACF,CAAC,EAAE,CAACD,WAAW,EAAEC,eAAe,CAAC,CAAC;EAElC,oBACEV,KAAA,CAAAe,aAAA;IAAKC,SAAS,EAAET,MAAM,CAACU;EAAyB,gBAC9CjB,KAAA,CAAAe,aAAA,CAAChB,IAAI,CAACmB,IAAI,qBACRlB,KAAA,CAAAe,aAAA,CAAChB,IAAI,CAACoB,OAAO;IACXH,SAAS,EAAET,MAAM,CAACa,OAAQ;IAC1B,cAAYR,KAAM;IAClB,kBAAgBH,WAAW,IAAIY;EAAU,GAExCZ,WAAW,iBAAIT,KAAA,CAAAe,aAAA,CAACV,WAAW,MAAE,CAAC,eAC/BL,KAAA,CAAAe,aAAA;IAAMC,SAAS,EAAET,MAAM,CAACe;EAAa,GAAEV,KAAY,CAAC,eACpDZ,KAAA,CAAAe,aAAA,CAACX,eAAe,MAAE,CACN,CAAC,eACfJ,KAAA,CAAAe,aAAA,CAAChB,IAAI,CAACwB,MAAM,qBACVvB,KAAA,CAAAe,aAAA,CAAChB,IAAI,CAACyB,UAAU;IACdR,SAAS,EAAET,MAAM,CAACkB,UAAW;IAC7BC,UAAU,EAAE,CAAE;IACdf,iBAAiB,EAAEA;EAAkB,gBAErCX,KAAA,CAAAe,aAAA,CAAChB,IAAI,CAAC4B,KAAK;IAACX,SAAS,EAAET,MAAM,CAACqB;EAAM,gBAClC5B,KAAA,CAAAe,aAAA,CAAChB,IAAI,CAAC8B,IAAI;IACRb,SAAS,EAAET,MAAM,CAACuB,QAAS;IAC3BC,OAAO,EAAElB;EAAoB,gBAE7Bb,KAAA,CAAAe,aAAA;IAAMC,SAAS,EAAET,MAAM,CAACyB;EAAc,GACnC,CAACvB,WAAW,iBAAIT,KAAA,CAAAe,aAAA,CAACZ,SAAS,MAAE,CACzB,CAAC,WAEE,CAAC,eACZH,KAAA,CAAAe,aAAA,CAAChB,IAAI,CAAC8B,IAAI;IACRb,SAAS,EAAET,MAAM,CAACuB,QAAS;IAC3BC,OAAO,EAAEjB;EAAsB,gBAE/Bd,KAAA,CAAAe,aAAA;IAAMC,SAAS,EAAET,MAAM,CAACyB;EAAc,GACnCvB,WAAW,iBAAIT,KAAA,CAAAe,aAAA,CAACZ,SAAS,MAAE,CACxB,CAAC,aAEE,CACD,CACG,CACN,CACJ,CACR,CAAC;AAEV;AAEA,OAAO,MAAM8B,eAEZ,gBAAGhC,IAAI,CAACO,oBAAoB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterInputExcludeRow.js","names":["Button","classnames","React","memo","useCallback","filterHasActiveState","getEffectiveFilterState","getSelectedCount","supportsExcluding","toggleIsExcluding","ExcludeDropdown","styles","FilterInputExcludeRowInner","excludeRowOpen","filterState","onFilterStateChanged","totalValueCount","onClearAll","children","handleToggleExclude","next","effectiveState","isExcluding","selectedCount","createElement","Fragment","className","excludeRow","excludeRowVisible","excludeRowLeading","onToggleExclude","excludeCountLabel","title","toLocaleString","clearAllButton","onClick","FilterInputExcludeRow"],"sources":["FilterInputExcludeRow.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 { Button } from \"@base-ui/react/button\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback } from \"react\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport {\n filterHasActiveState,\n getEffectiveFilterState,\n getSelectedCount,\n supportsExcluding,\n toggleIsExcluding,\n} from \"../utils/filterValues.js\";\nimport { ExcludeDropdown } from \"./ExcludeDropdown.js\";\nimport styles from \"./FilterListItem.module.css\";\n\ninterface FilterInputExcludeRowProps {\n excludeRowOpen?: boolean;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n totalValueCount?: number;\n onClearAll?: () => void;\n children: React.ReactNode;\n}\n\nfunction FilterInputExcludeRowInner({\n excludeRowOpen,\n filterState,\n onFilterStateChanged,\n totalValueCount,\n onClearAll,\n children,\n}: FilterInputExcludeRowProps): React.ReactElement {\n const handleToggleExclude = useCallback(() => {\n if (filterState == null) {\n return;\n }\n const next = toggleIsExcluding(filterState);\n if (next != null) {\n onFilterStateChanged(next);\n }\n }, [filterState, onFilterStateChanged]);\n\n const effectiveState = getEffectiveFilterState(filterState);\n const isExcluding = effectiveState?.isExcluding ?? false;\n const isOpen = excludeRowOpen ?? false;\n const selectedCount = getSelectedCount(effectiveState);\n\n if (!supportsExcluding(effectiveState)) {\n return <>{children}</>;\n }\n\n return (\n <>\n <div\n data-exclude-row={true}\n className={classnames(styles.excludeRow, {\n [styles.excludeRowVisible]: isOpen,\n })}\n >\n <div className={styles.excludeRowLeading}>\n <ExcludeDropdown\n isExcluding={isExcluding}\n onToggleExclude={handleToggleExclude}\n />\n {totalValueCount != null && totalValueCount > 0 && (\n <span\n className={styles.excludeCountLabel}\n title=\"Approximate count of unique values\"\n >\n {selectedCount.toLocaleString()} of{\" \"}\n {totalValueCount.toLocaleString()} values\n </span>\n )}\n </div>\n {onClearAll && filterHasActiveState(effectiveState) && (\n <Button
|
|
1
|
+
{"version":3,"file":"FilterInputExcludeRow.js","names":["Button","classnames","React","memo","useCallback","filterHasActiveState","getEffectiveFilterState","getSelectedCount","supportsExcluding","toggleIsExcluding","ExcludeDropdown","styles","FilterInputExcludeRowInner","excludeRowOpen","filterState","onFilterStateChanged","totalValueCount","onClearAll","children","handleToggleExclude","next","effectiveState","isExcluding","selectedCount","createElement","Fragment","className","excludeRow","excludeRowVisible","excludeRowLeading","onToggleExclude","excludeCountLabel","title","toLocaleString","clearAllButton","onClick","FilterInputExcludeRow"],"sources":["FilterInputExcludeRow.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 { Button } from \"@base-ui/react/button\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback } from \"react\";\n\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport {\n filterHasActiveState,\n getEffectiveFilterState,\n getSelectedCount,\n supportsExcluding,\n toggleIsExcluding,\n} from \"../utils/filterValues.js\";\nimport { ExcludeDropdown } from \"./ExcludeDropdown.js\";\n\nimport styles from \"./FilterListItem.module.css\";\n\ninterface FilterInputExcludeRowProps {\n excludeRowOpen?: boolean;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n totalValueCount?: number;\n onClearAll?: () => void;\n children: React.ReactNode;\n}\n\nfunction FilterInputExcludeRowInner({\n excludeRowOpen,\n filterState,\n onFilterStateChanged,\n totalValueCount,\n onClearAll,\n children,\n}: FilterInputExcludeRowProps): React.ReactElement {\n const handleToggleExclude = useCallback(() => {\n if (filterState == null) {\n return;\n }\n const next = toggleIsExcluding(filterState);\n if (next != null) {\n onFilterStateChanged(next);\n }\n }, [filterState, onFilterStateChanged]);\n\n const effectiveState = getEffectiveFilterState(filterState);\n const isExcluding = effectiveState?.isExcluding ?? false;\n const isOpen = excludeRowOpen ?? false;\n const selectedCount = getSelectedCount(effectiveState);\n\n if (!supportsExcluding(effectiveState)) {\n return <>{children}</>;\n }\n\n return (\n <>\n <div\n data-exclude-row={true}\n className={classnames(styles.excludeRow, {\n [styles.excludeRowVisible]: isOpen,\n })}\n >\n <div className={styles.excludeRowLeading}>\n <ExcludeDropdown\n isExcluding={isExcluding}\n onToggleExclude={handleToggleExclude}\n />\n {totalValueCount != null && totalValueCount > 0 && (\n <span\n className={styles.excludeCountLabel}\n title=\"Approximate count of unique values\"\n >\n {selectedCount.toLocaleString()} of{\" \"}\n {totalValueCount.toLocaleString()} values\n </span>\n )}\n </div>\n {onClearAll && filterHasActiveState(effectiveState) && (\n <Button className={styles.clearAllButton} onClick={onClearAll}>\n Clear all\n </Button>\n )}\n </div>\n {children}\n </>\n );\n}\n\nexport const FilterInputExcludeRow: React.MemoExoticComponent<\n typeof FilterInputExcludeRowInner\n> = memo(FilterInputExcludeRowInner);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,IAAI,EAAEC,WAAW,QAAQ,OAAO;AAGhD,SACEC,oBAAoB,EACpBC,uBAAuB,EACvBC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,QACZ,0BAA0B;AACjC,SAASC,eAAe,QAAQ,sBAAsB;AAEtD,OAAOC,MAAM,MAAM,6BAA6B;AAWhD,SAASC,0BAA0BA,CAAC;EAClCC,cAAc;EACdC,WAAW;EACXC,oBAAoB;EACpBC,eAAe;EACfC,UAAU;EACVC;AAC0B,CAAC,EAAsB;EACjD,MAAMC,mBAAmB,GAAGf,WAAW,CAAC,MAAM;IAC5C,IAAIU,WAAW,IAAI,IAAI,EAAE;MACvB;IACF;IACA,MAAMM,IAAI,GAAGX,iBAAiB,CAACK,WAAW,CAAC;IAC3C,IAAIM,IAAI,IAAI,IAAI,EAAE;MAChBL,oBAAoB,CAACK,IAAI,CAAC;IAC5B;EACF,CAAC,EAAE,CAACN,WAAW,EAAEC,oBAAoB,CAAC,CAAC;EAEvC,MAAMM,cAAc,GAAGf,uBAAuB,CAACQ,WAAW,CAAC;EAC3D,MAAMQ,WAAW,GAAGD,cAAc,EAAEC,WAAW,IAAI,KAAK;EAExD,MAAMC,aAAa,GAAGhB,gBAAgB,CAACc,cAAc,CAAC;EAEtD,IAAI,CAACb,iBAAiB,CAACa,cAAc,CAAC,EAAE;IACtC,oBAAOnB,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,QAAGP,QAAW,CAAC;EACxB;EAEA,oBACEhB,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,qBACEvB,KAAA,CAAAsB,aAAA;IACE,oBAAkB,IAAK;IACvBE,SAAS,EAAEzB,UAAU,CAACU,MAAM,CAACgB,UAAU,EAAE;MACvC,CAAChB,MAAM,CAACiB,iBAAiB,GAZlBf,cAAc,IAAI;IAa3B,CAAC;EAAE,gBAEHX,KAAA,CAAAsB,aAAA;IAAKE,SAAS,EAAEf,MAAM,CAACkB;EAAkB,gBACvC3B,KAAA,CAAAsB,aAAA,CAACd,eAAe;IACdY,WAAW,EAAEA,WAAY;IACzBQ,eAAe,EAAEX;EAAoB,CACtC,CAAC,EACDH,eAAe,IAAI,IAAI,IAAIA,eAAe,GAAG,CAAC,iBAC7Cd,KAAA,CAAAsB,aAAA;IACEE,SAAS,EAAEf,MAAM,CAACoB,iBAAkB;IACpCC,KAAK,EAAC;EAAoC,GAEzCT,aAAa,CAACU,cAAc,CAAC,CAAC,EAAC,KAAG,EAAC,GAAG,EACtCjB,eAAe,CAACiB,cAAc,CAAC,CAAC,EAAC,SAC9B,CAEL,CAAC,EACLhB,UAAU,IAAIZ,oBAAoB,CAACgB,cAAc,CAAC,iBACjDnB,KAAA,CAAAsB,aAAA,CAACxB,MAAM;IAAC0B,SAAS,EAAEf,MAAM,CAACuB,cAAe;IAACC,OAAO,EAAElB;EAAW,GAAC,WAEvD,CAEP,CAAC,EACLC,QACD,CAAC;AAEP;AAEA,OAAO,MAAMkB,qBAEZ,gBAAGjC,IAAI,CAACS,0BAA0B,CAAC","ignoreList":[]}
|
|
@@ -18,9 +18,9 @@ import { closestCenter, DndContext, DragOverlay, KeyboardSensor, PointerSensor,
|
|
|
18
18
|
import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from "@dnd-kit/sortable";
|
|
19
19
|
import classnames from "classnames";
|
|
20
20
|
import React, { useCallback, useMemo, useState } from "react";
|
|
21
|
-
import styles from "./FilterListContent.module.css";
|
|
22
21
|
import { FilterListItem } from "./FilterListItem.js";
|
|
23
22
|
import { SortableFilterListItem } from "./SortableFilterListItem.js";
|
|
23
|
+
import styles from "./FilterListContent.module.css";
|
|
24
24
|
const restrictToVerticalAxis = ({
|
|
25
25
|
transform
|
|
26
26
|
}) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterListContent.js","names":["closestCenter","DndContext","DragOverlay","KeyboardSensor","PointerSensor","useSensor","useSensors","arrayMove","SortableContext","sortableKeyboardCoordinates","verticalListSortingStrategy","classnames","React","useCallback","useMemo","useState","styles","FilterListItem","SortableFilterListItem","restrictToVerticalAxis","transform","x","POINTER_ACTIVATION_CONSTRAINT","distance","MODIFIERS","DRAG_OVERLAY_HANDLE_ATTRIBUTES","role","tabIndex","undefined","FilterListContent","filterDefinitions","filterStates","onFilterStateChanged","onFilterRemoved","onOrderChange","renderInput","getFilterKey","getFilterLabel","getEmptyDisplayState","enableSorting","className","style","activeId","setActiveId","sortableIds","map","def","pointerSensor","activationConstraint","keyboardSensor","coordinateGetter","sensors","activeIndex","indexOf","String","activeDefinition","activeFilterKey","emptyDisplayStates","Map","definition","fallback","set","handleDragStart","event","active","id","handleDragEnd","over","oldIndex","newIndex","next","handleDragCancel","announcements","labelForId","idx","onDragStart","onDragOver","overIdx","length","onDragEnd","label","onDragCancel","accessibility","createElement","content","collisionDetection","modifiers","items","strategy","index","filterKey","state","get","key","filterState","searchField","dropAnimation","dragOverlay","dragHandleAttributes"],"sources":["FilterListContent.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 {\n Announcements,\n DragEndEvent,\n DraggableAttributes,\n DragStartEvent,\n Modifier,\n UniqueIdentifier,\n} from \"@dnd-kit/core\";\nimport {\n closestCenter,\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport classnames from \"classnames\";\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport type {\n FilterDefinitionControls,\n FilterState,\n} from \"../FilterListItemApi.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport styles from \"./FilterListContent.module.css\";\nimport { FilterListItem } from \"./FilterListItem.js\";\nimport { SortableFilterListItem } from \"./SortableFilterListItem.js\";\n\nconst restrictToVerticalAxis: Modifier = ({ transform }) => ({\n ...transform,\n x: 0,\n});\n\nconst POINTER_ACTIVATION_CONSTRAINT = { distance: 8 } as const;\nconst MODIFIERS: Modifier[] = [restrictToVerticalAxis];\n\nconst DRAG_OVERLAY_HANDLE_ATTRIBUTES: DraggableAttributes = {\n role: \"button\",\n tabIndex: -1,\n \"aria-disabled\": true,\n \"aria-pressed\": undefined,\n \"aria-roledescription\": \"sortable\",\n \"aria-describedby\": \"\",\n};\n\ninterface FilterListContentProps<D extends FilterDefinitionControls> {\n filterDefinitions?: Array<D>;\n filterStates: Map<string, FilterState>;\n onFilterStateChanged: (\n filterKey: string,\n state: FilterState,\n ) => void;\n onFilterRemoved?: (filterKey: string) => void;\n onOrderChange?: (orderedKeys: string[]) => void;\n renderInput: RenderFilterInput<D>;\n getFilterKey: (definition: D) => string;\n getFilterLabel: (definition: D) => string;\n getEmptyDisplayState?: (definition: D) => FilterState | undefined;\n enableSorting?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function FilterListContent<D extends FilterDefinitionControls>({\n filterDefinitions,\n filterStates,\n onFilterStateChanged,\n onFilterRemoved,\n onOrderChange,\n renderInput,\n getFilterKey,\n getFilterLabel,\n getEmptyDisplayState,\n enableSorting,\n className,\n style,\n}: FilterListContentProps<D>): React.ReactElement {\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n\n const sortableIds = useMemo(\n () =>\n enableSorting && filterDefinitions\n ? filterDefinitions.map((def) => getFilterKey(def))\n : [],\n [enableSorting, filterDefinitions, getFilterKey],\n );\n\n const pointerSensor = useSensor(PointerSensor, {\n activationConstraint: POINTER_ACTIVATION_CONSTRAINT,\n });\n const keyboardSensor = useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n });\n const sensors = useSensors(pointerSensor, keyboardSensor);\n\n const activeIndex = activeId != null\n ? sortableIds.indexOf(String(activeId))\n : -1;\n const activeDefinition = activeIndex >= 0 && filterDefinitions\n ? filterDefinitions[activeIndex]\n : undefined;\n\n const activeFilterKey = useMemo(\n () => activeDefinition ? getFilterKey(activeDefinition) : undefined,\n [activeDefinition, getFilterKey],\n );\n\n // Memoize per-definition fallbacks by filter key so the `??` lookup at each\n // render site returns a stable reference; otherwise every render allocates a\n // fresh FilterState and defeats memoization in the downstream filter inputs.\n const emptyDisplayStates = useMemo(() => {\n const map = new Map<string, FilterState>();\n if (!getEmptyDisplayState || !filterDefinitions) {\n return map;\n }\n for (const definition of filterDefinitions) {\n const fallback = getEmptyDisplayState(definition);\n if (fallback != null) {\n map.set(getFilterKey(definition), fallback);\n }\n }\n return map;\n }, [filterDefinitions, getEmptyDisplayState, getFilterKey]);\n\n const handleDragStart = useCallback((event: DragStartEvent) => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n setActiveId(null);\n const { active, over } = event;\n if (!over || active.id === over.id) {\n return;\n }\n const oldIndex = sortableIds.indexOf(String(active.id));\n const newIndex = sortableIds.indexOf(String(over.id));\n if (oldIndex !== -1 && newIndex !== -1) {\n const next = arrayMove(sortableIds, oldIndex, newIndex);\n onOrderChange?.(next);\n }\n },\n [sortableIds, onOrderChange],\n );\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const announcements = useMemo<Announcements>(() => {\n const labelForId = (id: UniqueIdentifier) => {\n const idx = sortableIds.indexOf(String(id));\n const def = idx >= 0 ? filterDefinitions?.[idx] : undefined;\n return def ? getFilterLabel(def) : \"filter\";\n };\n return {\n onDragStart({ active }) {\n return `Picked up ${labelForId(active.id)} filter`;\n },\n onDragOver({ over }) {\n if (!over) {\n return \"Not over a droppable area\";\n }\n const overIdx = sortableIds.indexOf(String(over.id));\n return `Moved to position ${overIdx + 1} of ${sortableIds.length}`;\n },\n onDragEnd({ active, over }) {\n const label = labelForId(active.id);\n if (over && active.id !== over.id) {\n const overIdx = sortableIds.indexOf(String(over.id));\n return `Dropped ${label} filter at position ${overIdx + 1}`;\n }\n return `Dropped ${label} filter back in its original position`;\n },\n onDragCancel({ active }) {\n return `Cancelled dragging ${labelForId(active.id)} filter`;\n },\n };\n }, [filterDefinitions, sortableIds, getFilterLabel]);\n\n const accessibility = useMemo(\n () => ({ announcements }),\n [announcements],\n );\n\n if (!filterDefinitions || filterDefinitions.length === 0) {\n return (\n <div\n className={classnames(styles.content, className)}\n style={style}\n data-empty=\"true\"\n />\n );\n }\n\n if (enableSorting) {\n return (\n <div\n className={classnames(styles.content, className)}\n style={style}\n >\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={MODIFIERS}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n accessibility={accessibility}\n >\n <SortableContext\n items={sortableIds}\n strategy={verticalListSortingStrategy}\n >\n {filterDefinitions.map((definition, index) => {\n const id = sortableIds[index];\n const filterKey = getFilterKey(definition);\n const label = getFilterLabel(definition);\n const state = filterStates.get(filterKey)\n ?? emptyDisplayStates.get(filterKey);\n\n return (\n <SortableFilterListItem\n key={id}\n id={id}\n definition={definition}\n filterKey={filterKey}\n label={label}\n filterState={state}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n searchField={definition.searchField}\n />\n );\n })}\n </SortableContext>\n\n <DragOverlay\n dropAnimation={null}\n className={styles.dragOverlay}\n >\n {activeDefinition && activeFilterKey && (\n <FilterListItem\n definition={activeDefinition}\n filterKey={activeFilterKey}\n label={getFilterLabel(activeDefinition)}\n filterState={filterStates.get(activeFilterKey)\n ?? emptyDisplayStates.get(activeFilterKey)}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n searchField={activeDefinition.searchField}\n dragHandleAttributes={DRAG_OVERLAY_HANDLE_ATTRIBUTES}\n />\n )}\n </DragOverlay>\n </DndContext>\n </div>\n );\n }\n\n return (\n <div\n className={classnames(styles.content, className)}\n style={style}\n >\n {filterDefinitions.map((definition) => {\n const filterKey = getFilterKey(definition);\n const state = filterStates.get(filterKey)\n ?? emptyDisplayStates.get(filterKey);\n\n return (\n <FilterListItem\n key={filterKey}\n definition={definition}\n filterKey={filterKey}\n label={getFilterLabel(definition)}\n filterState={state}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n searchField={definition.searchField}\n />\n );\n })}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FilterListContent.js","names":["closestCenter","DndContext","DragOverlay","KeyboardSensor","PointerSensor","useSensor","useSensors","arrayMove","SortableContext","sortableKeyboardCoordinates","verticalListSortingStrategy","classnames","React","useCallback","useMemo","useState","FilterListItem","SortableFilterListItem","styles","restrictToVerticalAxis","transform","x","POINTER_ACTIVATION_CONSTRAINT","distance","MODIFIERS","DRAG_OVERLAY_HANDLE_ATTRIBUTES","role","tabIndex","undefined","FilterListContent","filterDefinitions","filterStates","onFilterStateChanged","onFilterRemoved","onOrderChange","renderInput","getFilterKey","getFilterLabel","getEmptyDisplayState","enableSorting","className","style","activeId","setActiveId","sortableIds","map","def","pointerSensor","activationConstraint","keyboardSensor","coordinateGetter","sensors","activeIndex","indexOf","String","activeDefinition","activeFilterKey","emptyDisplayStates","Map","definition","fallback","set","handleDragStart","event","active","id","handleDragEnd","over","oldIndex","newIndex","next","handleDragCancel","announcements","labelForId","idx","onDragStart","onDragOver","overIdx","length","onDragEnd","label","onDragCancel","accessibility","createElement","content","collisionDetection","modifiers","items","strategy","index","filterKey","state","get","key","filterState","searchField","dropAnimation","dragOverlay","dragHandleAttributes"],"sources":["FilterListContent.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 {\n Announcements,\n DragEndEvent,\n DraggableAttributes,\n DragStartEvent,\n Modifier,\n UniqueIdentifier,\n} from \"@dnd-kit/core\";\nimport {\n closestCenter,\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport classnames from \"classnames\";\nimport React, { useCallback, useMemo, useState } from \"react\";\n\nimport type {\n FilterDefinitionControls,\n FilterState,\n} from \"../FilterListItemApi.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport { FilterListItem } from \"./FilterListItem.js\";\nimport { SortableFilterListItem } from \"./SortableFilterListItem.js\";\n\nimport styles from \"./FilterListContent.module.css\";\n\nconst restrictToVerticalAxis: Modifier = ({ transform }) => ({\n ...transform,\n x: 0,\n});\n\nconst POINTER_ACTIVATION_CONSTRAINT = { distance: 8 } as const;\nconst MODIFIERS: Modifier[] = [restrictToVerticalAxis];\n\nconst DRAG_OVERLAY_HANDLE_ATTRIBUTES: DraggableAttributes = {\n role: \"button\",\n tabIndex: -1,\n \"aria-disabled\": true,\n \"aria-pressed\": undefined,\n \"aria-roledescription\": \"sortable\",\n \"aria-describedby\": \"\",\n};\n\ninterface FilterListContentProps<D extends FilterDefinitionControls> {\n filterDefinitions?: Array<D>;\n filterStates: Map<string, FilterState>;\n onFilterStateChanged: (filterKey: string, state: FilterState) => void;\n onFilterRemoved?: (filterKey: string) => void;\n onOrderChange?: (orderedKeys: string[]) => void;\n renderInput: RenderFilterInput<D>;\n getFilterKey: (definition: D) => string;\n getFilterLabel: (definition: D) => string;\n getEmptyDisplayState?: (definition: D) => FilterState | undefined;\n enableSorting?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function FilterListContent<D extends FilterDefinitionControls>({\n filterDefinitions,\n filterStates,\n onFilterStateChanged,\n onFilterRemoved,\n onOrderChange,\n renderInput,\n getFilterKey,\n getFilterLabel,\n getEmptyDisplayState,\n enableSorting,\n className,\n style,\n}: FilterListContentProps<D>): React.ReactElement {\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n\n const sortableIds = useMemo(\n () =>\n enableSorting && filterDefinitions\n ? filterDefinitions.map((def) => getFilterKey(def))\n : [],\n [enableSorting, filterDefinitions, getFilterKey]\n );\n\n const pointerSensor = useSensor(PointerSensor, {\n activationConstraint: POINTER_ACTIVATION_CONSTRAINT,\n });\n const keyboardSensor = useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n });\n const sensors = useSensors(pointerSensor, keyboardSensor);\n\n const activeIndex =\n activeId != null ? sortableIds.indexOf(String(activeId)) : -1;\n const activeDefinition =\n activeIndex >= 0 && filterDefinitions\n ? filterDefinitions[activeIndex]\n : undefined;\n\n const activeFilterKey = useMemo(\n () => (activeDefinition ? getFilterKey(activeDefinition) : undefined),\n [activeDefinition, getFilterKey]\n );\n\n // Memoize per-definition fallbacks by filter key so the `??` lookup at each\n // render site returns a stable reference; otherwise every render allocates a\n // fresh FilterState and defeats memoization in the downstream filter inputs.\n const emptyDisplayStates = useMemo(() => {\n const map = new Map<string, FilterState>();\n if (!getEmptyDisplayState || !filterDefinitions) {\n return map;\n }\n for (const definition of filterDefinitions) {\n const fallback = getEmptyDisplayState(definition);\n if (fallback != null) {\n map.set(getFilterKey(definition), fallback);\n }\n }\n return map;\n }, [filterDefinitions, getEmptyDisplayState, getFilterKey]);\n\n const handleDragStart = useCallback((event: DragStartEvent) => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n setActiveId(null);\n const { active, over } = event;\n if (!over || active.id === over.id) {\n return;\n }\n const oldIndex = sortableIds.indexOf(String(active.id));\n const newIndex = sortableIds.indexOf(String(over.id));\n if (oldIndex !== -1 && newIndex !== -1) {\n const next = arrayMove(sortableIds, oldIndex, newIndex);\n onOrderChange?.(next);\n }\n },\n [sortableIds, onOrderChange]\n );\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const announcements = useMemo<Announcements>(() => {\n const labelForId = (id: UniqueIdentifier) => {\n const idx = sortableIds.indexOf(String(id));\n const def = idx >= 0 ? filterDefinitions?.[idx] : undefined;\n return def ? getFilterLabel(def) : \"filter\";\n };\n return {\n onDragStart({ active }) {\n return `Picked up ${labelForId(active.id)} filter`;\n },\n onDragOver({ over }) {\n if (!over) {\n return \"Not over a droppable area\";\n }\n const overIdx = sortableIds.indexOf(String(over.id));\n return `Moved to position ${overIdx + 1} of ${sortableIds.length}`;\n },\n onDragEnd({ active, over }) {\n const label = labelForId(active.id);\n if (over && active.id !== over.id) {\n const overIdx = sortableIds.indexOf(String(over.id));\n return `Dropped ${label} filter at position ${overIdx + 1}`;\n }\n return `Dropped ${label} filter back in its original position`;\n },\n onDragCancel({ active }) {\n return `Cancelled dragging ${labelForId(active.id)} filter`;\n },\n };\n }, [filterDefinitions, sortableIds, getFilterLabel]);\n\n const accessibility = useMemo(() => ({ announcements }), [announcements]);\n\n if (!filterDefinitions || filterDefinitions.length === 0) {\n return (\n <div\n className={classnames(styles.content, className)}\n style={style}\n data-empty=\"true\"\n />\n );\n }\n\n if (enableSorting) {\n return (\n <div className={classnames(styles.content, className)} style={style}>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={MODIFIERS}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n accessibility={accessibility}\n >\n <SortableContext\n items={sortableIds}\n strategy={verticalListSortingStrategy}\n >\n {filterDefinitions.map((definition, index) => {\n const id = sortableIds[index];\n const filterKey = getFilterKey(definition);\n const label = getFilterLabel(definition);\n const state =\n filterStates.get(filterKey) ??\n emptyDisplayStates.get(filterKey);\n\n return (\n <SortableFilterListItem\n key={id}\n id={id}\n definition={definition}\n filterKey={filterKey}\n label={label}\n filterState={state}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n searchField={definition.searchField}\n />\n );\n })}\n </SortableContext>\n\n <DragOverlay dropAnimation={null} className={styles.dragOverlay}>\n {activeDefinition && activeFilterKey && (\n <FilterListItem\n definition={activeDefinition}\n filterKey={activeFilterKey}\n label={getFilterLabel(activeDefinition)}\n filterState={\n filterStates.get(activeFilterKey) ??\n emptyDisplayStates.get(activeFilterKey)\n }\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n searchField={activeDefinition.searchField}\n dragHandleAttributes={DRAG_OVERLAY_HANDLE_ATTRIBUTES}\n />\n )}\n </DragOverlay>\n </DndContext>\n </div>\n );\n }\n\n return (\n <div className={classnames(styles.content, className)} style={style}>\n {filterDefinitions.map((definition) => {\n const filterKey = getFilterKey(definition);\n const state =\n filterStates.get(filterKey) ?? emptyDisplayStates.get(filterKey);\n\n return (\n <FilterListItem\n key={filterKey}\n definition={definition}\n filterKey={filterKey}\n label={getFilterLabel(definition)}\n filterState={state}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n searchField={definition.searchField}\n />\n );\n })}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterListHeader.js","names":["Button","React","memo","useCallback","CollapseIcon","ResetIcon","styles","FilterListHeaderInner","title","titleIcon","collapsed","onCollapsedChange","showResetButton","onReset","showActiveFilterCount","activeFilterCount","canReset","hasVisibilityChanges","handleCollapseClick","resetDisabled","createElement","className","header","titleContainer","activeCount","actions","resetButton","onClick","disabled","collapseButton","FilterListHeader"],"sources":["FilterListHeader.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 { Button } from \"@base-ui/react/button\";\nimport React, { memo, type ReactNode, useCallback } from \"react\";\nimport { CollapseIcon, ResetIcon } from \"./FilterIcons.js\";\nimport styles from \"./FilterListHeader.module.css\";\n\ninterface FilterListHeaderProps {\n title?: ReactNode;\n titleIcon?: ReactNode;\n collapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n showResetButton?: boolean;\n onReset?: () => void;\n showActiveFilterCount?: boolean;\n activeFilterCount?: number;\n canReset?: boolean;\n hasVisibilityChanges?: boolean;\n}\n\nfunction FilterListHeaderInner({\n title,\n titleIcon,\n collapsed = false,\n onCollapsedChange,\n showResetButton,\n onReset,\n showActiveFilterCount,\n activeFilterCount = 0,\n canReset,\n hasVisibilityChanges = false,\n}: FilterListHeaderProps): React.ReactElement {\n const showCollapseButton = onCollapsedChange != null;\n\n const handleCollapseClick = useCallback(() => {\n onCollapsedChange?.(!collapsed);\n }, [onCollapsedChange, collapsed]);\n\n const resetDisabled
|
|
1
|
+
{"version":3,"file":"FilterListHeader.js","names":["Button","React","memo","useCallback","CollapseIcon","ResetIcon","styles","FilterListHeaderInner","title","titleIcon","collapsed","onCollapsedChange","showResetButton","onReset","showActiveFilterCount","activeFilterCount","canReset","hasVisibilityChanges","handleCollapseClick","resetDisabled","createElement","className","header","titleContainer","activeCount","actions","resetButton","onClick","disabled","collapseButton","FilterListHeader"],"sources":["FilterListHeader.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 { Button } from \"@base-ui/react/button\";\nimport React, { memo, type ReactNode, useCallback } from \"react\";\n\nimport { CollapseIcon, ResetIcon } from \"./FilterIcons.js\";\n\nimport styles from \"./FilterListHeader.module.css\";\n\ninterface FilterListHeaderProps {\n title?: ReactNode;\n titleIcon?: ReactNode;\n collapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n showResetButton?: boolean;\n onReset?: () => void;\n showActiveFilterCount?: boolean;\n activeFilterCount?: number;\n canReset?: boolean;\n hasVisibilityChanges?: boolean;\n}\n\nfunction FilterListHeaderInner({\n title,\n titleIcon,\n collapsed = false,\n onCollapsedChange,\n showResetButton,\n onReset,\n showActiveFilterCount,\n activeFilterCount = 0,\n canReset,\n hasVisibilityChanges = false,\n}: FilterListHeaderProps): React.ReactElement {\n const showCollapseButton = onCollapsedChange != null;\n\n const handleCollapseClick = useCallback(() => {\n onCollapsedChange?.(!collapsed);\n }, [onCollapsedChange, collapsed]);\n\n const resetDisabled =\n canReset != null\n ? !canReset\n : activeFilterCount === 0 && !hasVisibilityChanges;\n\n return (\n <div className={styles.header}>\n <div className={styles.titleContainer}>\n {titleIcon && <span className={styles.titleIcon}>{titleIcon}</span>}\n {title && <span className={styles.title}>{title}</span>}\n {showActiveFilterCount && activeFilterCount > 0 && (\n <span className={styles.activeCount}>({activeFilterCount})</span>\n )}\n </div>\n\n <div className={styles.actions}>\n {showResetButton && (\n <Button\n className={styles.resetButton}\n onClick={onReset}\n disabled={resetDisabled}\n >\n <ResetIcon /> Reset filters\n </Button>\n )}\n\n {showCollapseButton && (\n <Button\n className={styles.collapseButton}\n onClick={handleCollapseClick}\n aria-expanded={!collapsed}\n aria-label={collapsed ? \"Expand filters\" : \"Collapse filters\"}\n >\n <CollapseIcon />\n </Button>\n )}\n </div>\n </div>\n );\n}\n\nexport const FilterListHeader: React.MemoExoticComponent<\n typeof FilterListHeaderInner\n> = memo(FilterListHeaderInner);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,OAAOC,KAAK,IAAIC,IAAI,EAAkBC,WAAW,QAAQ,OAAO;AAEhE,SAASC,YAAY,EAAEC,SAAS,QAAQ,kBAAkB;AAE1D,OAAOC,MAAM,MAAM,+BAA+B;AAelD,SAASC,qBAAqBA,CAAC;EAC7BC,KAAK;EACLC,SAAS;EACTC,SAAS,GAAG,KAAK;EACjBC,iBAAiB;EACjBC,eAAe;EACfC,OAAO;EACPC,qBAAqB;EACrBC,iBAAiB,GAAG,CAAC;EACrBC,QAAQ;EACRC,oBAAoB,GAAG;AACF,CAAC,EAAsB;EAG5C,MAAMC,mBAAmB,GAAGf,WAAW,CAAC,MAAM;IAC5CQ,iBAAiB,GAAG,CAACD,SAAS,CAAC;EACjC,CAAC,EAAE,CAACC,iBAAiB,EAAED,SAAS,CAAC,CAAC;EAElC,MAAMS,aAAa,GACjBH,QAAQ,IAAI,IAAI,GACZ,CAACA,QAAQ,GACTD,iBAAiB,KAAK,CAAC,IAAI,CAACE,oBAAoB;EAEtD,oBACEhB,KAAA,CAAAmB,aAAA;IAAKC,SAAS,EAAEf,MAAM,CAACgB;EAAO,gBAC5BrB,KAAA,CAAAmB,aAAA;IAAKC,SAAS,EAAEf,MAAM,CAACiB;EAAe,GACnCd,SAAS,iBAAIR,KAAA,CAAAmB,aAAA;IAAMC,SAAS,EAAEf,MAAM,CAACG;EAAU,GAAEA,SAAgB,CAAC,EAClED,KAAK,iBAAIP,KAAA,CAAAmB,aAAA;IAAMC,SAAS,EAAEf,MAAM,CAACE;EAAM,GAAEA,KAAY,CAAC,EACtDM,qBAAqB,IAAIC,iBAAiB,GAAG,CAAC,iBAC7Cd,KAAA,CAAAmB,aAAA;IAAMC,SAAS,EAAEf,MAAM,CAACkB;EAAY,GAAC,GAAC,EAACT,iBAAiB,EAAC,GAAO,CAE/D,CAAC,eAENd,KAAA,CAAAmB,aAAA;IAAKC,SAAS,EAAEf,MAAM,CAACmB;EAAQ,GAC5Bb,eAAe,iBACdX,KAAA,CAAAmB,aAAA,CAACpB,MAAM;IACLqB,SAAS,EAAEf,MAAM,CAACoB,WAAY;IAC9BC,OAAO,EAAEd,OAAQ;IACjBe,QAAQ,EAAET;EAAc,gBAExBlB,KAAA,CAAAmB,aAAA,CAACf,SAAS,MAAE,CAAC,kBACP,CACT,EA9BoBM,iBAAiB,IAAI,IAAI,iBAiC5CV,KAAA,CAAAmB,aAAA,CAACpB,MAAM;IACLqB,SAAS,EAAEf,MAAM,CAACuB,cAAe;IACjCF,OAAO,EAAET,mBAAoB;IAC7B,iBAAe,CAACR,SAAU;IAC1B,cAAYA,SAAS,GAAG,gBAAgB,GAAG;EAAmB,gBAE9DT,KAAA,CAAAmB,aAAA,CAAChB,YAAY,MAAE,CACT,CAEP,CACF,CAAC;AAEV;AAEA,OAAO,MAAM0B,gBAEZ,gBAAG5B,IAAI,CAACK,qBAAqB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterListItem.js","names":["Button","Input","classnames","React","memo","useCallback","useMemo","useState","ErrorBoundary","filterHasActiveState","getEffectiveFilterState","supportsExcluding","supportsSearch","DragHandleIcon","OverflowMenuIcon","RemoveIcon","SearchIcon","styles","FilterListItemInner","definition","filterKey","label","filterState","onFilterStateChanged","onFilterRemoved","renderInput","searchField","dragHandleAttributes","dragHandleListeners","className","style","searchState","setSearchState","type","excludeRowOpen","setExcludeRowOpen","handleFilterStateChanged","newState","handleToggleSearch","prev","query","handleSearchChange","e","target","value","handleSearchClear","handleRemove","handleToggleExcludeRow","searchInputRef","element","focus","preventScroll","effectiveState","showExcludeDropdown","showSearch","hasSelection","searchOpen","searchQuery","searchQueryForInput","undefined","createElement","filterItem","itemHeader","_extends","dragHandle","itemLabel","headerActionButton","onClick","searchRow","searchInput","onChange","placeholder","ref","searchClearButton","itemContent","errorMessage","FilterListItem"],"sources":["FilterListItem.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 { Button } from \"@base-ui/react/button\";\nimport { Input } from \"@base-ui/react/input\";\nimport type {\n DraggableAttributes,\n DraggableSyntheticListeners,\n} from \"@dnd-kit/core\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useMemo, useState } from \"react\";\nimport { ErrorBoundary } from \"../../shared/ErrorBoundary.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport {\n filterHasActiveState,\n getEffectiveFilterState,\n supportsExcluding,\n supportsSearch,\n} from \"../utils/filterValues.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport { DragHandleIcon } from \"./DragHandleIcon.js\";\nimport { OverflowMenuIcon, RemoveIcon, SearchIcon } from \"./FilterIcons.js\";\nimport styles from \"./FilterListItem.module.css\";\n\ninterface FilterListItemProps<D> {\n definition: D;\n filterKey: string;\n label: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (\n filterKey: string,\n state: FilterState,\n ) => void;\n onFilterRemoved?: (filterKey: string) => void;\n renderInput: RenderFilterInput<D>;\n searchField?: boolean;\n dragHandleAttributes?: DraggableAttributes;\n dragHandleListeners?: DraggableSyntheticListeners;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction FilterListItemInner<D>({\n definition,\n filterKey,\n label,\n filterState,\n onFilterStateChanged,\n onFilterRemoved,\n renderInput,\n searchField,\n dragHandleAttributes,\n dragHandleListeners,\n className,\n style,\n}: FilterListItemProps<D>): React.ReactElement {\n const [searchState, setSearchState] = useState<\n { type: \"closed\" } | { type: \"open\"; query: string }\n >({ type: \"closed\" });\n const [excludeRowOpen, setExcludeRowOpen] = useState(false);\n\n const handleFilterStateChanged = useCallback(\n (newState: FilterState) => {\n onFilterStateChanged(filterKey, newState);\n },\n [filterKey, onFilterStateChanged],\n );\n\n const handleToggleSearch = useCallback(() => {\n setSearchState((prev) =>\n prev.type === \"closed\" ? { type: \"open\", query: \"\" } : { type: \"closed\" }\n );\n }, []);\n\n const handleSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchState({ type: \"open\", query: e.target.value });\n },\n [],\n );\n\n const handleSearchClear = useCallback(() => {\n setSearchState({ type: \"open\", query: \"\" });\n }, []);\n\n const handleRemove = useCallback(() => {\n onFilterRemoved?.(filterKey);\n }, [filterKey, onFilterRemoved]);\n\n const handleToggleExcludeRow = useCallback(() => {\n setExcludeRowOpen((prev) => !prev);\n }, []);\n\n const searchInputRef = useCallback((element: HTMLInputElement | null) => {\n element?.focus({ preventScroll: true });\n }, []);\n\n const effectiveState = useMemo(\n () => getEffectiveFilterState(filterState),\n [filterState],\n );\n\n const showExcludeDropdown = supportsExcluding(effectiveState);\n const showSearch = supportsSearch(effectiveState) && searchField !== false;\n const hasOverflowActions = showExcludeDropdown;\n const hasSelection = filterHasActiveState(filterState);\n\n const searchOpen = searchState.type === \"open\";\n const searchQuery = searchState.type === \"open\" ? searchState.query : \"\";\n const searchQueryForInput = searchState.type === \"open\"\n ? searchState.query\n : undefined;\n\n return (\n <div\n className={classnames(styles.filterItem, className)}\n style={style}\n data-has-selection={hasSelection || undefined}\n >\n <div className={styles.itemHeader}>\n {dragHandleAttributes && (\n <Button\n className={styles.dragHandle}\n aria-label={`Reorder ${label}`}\n {...dragHandleAttributes}\n {...dragHandleListeners}\n >\n <DragHandleIcon />\n </Button>\n )}\n <span\n className={styles.itemLabel}\n >\n {label}\n </span>\n {showSearch && (\n <Button\n className={styles.headerActionButton}\n onClick={handleToggleSearch}\n aria-label=\"Search values\"\n aria-pressed={searchOpen}\n >\n <SearchIcon />\n </Button>\n )}\n {onFilterRemoved && (\n <Button\n className={styles.headerActionButton}\n onClick={handleRemove}\n aria-label={`Remove ${label} filter`}\n >\n <RemoveIcon />\n </Button>\n )}\n {hasOverflowActions && (\n <Button\n className={styles.headerActionButton}\n onClick={handleToggleExcludeRow}\n aria-label=\"More actions\"\n aria-pressed={excludeRowOpen}\n >\n <OverflowMenuIcon />\n </Button>\n )}\n </div>\n\n {searchOpen && (\n <div className={styles.searchRow}>\n <Input\n type=\"text\"\n className={styles.searchInput}\n value={searchQuery}\n onChange={handleSearchChange}\n placeholder=\"Search property values...\"\n aria-label=\"Search property values\"\n ref={searchInputRef}\n />\n {searchQuery && (\n <Button\n type=\"button\"\n className={styles.searchClearButton}\n onClick={handleSearchClear}\n aria-label=\"Clear search\"\n >\n <RemoveIcon />\n </Button>\n )}\n </div>\n )}\n\n <div className={styles.itemContent}>\n <ErrorBoundary errorMessage=\"Error loading filter\">\n {renderInput({\n definition,\n filterKey,\n filterState,\n onFilterStateChanged: handleFilterStateChanged,\n searchQuery: searchQueryForInput,\n excludeRowOpen,\n })}\n </ErrorBoundary>\n </div>\n </div>\n );\n}\n\nexport const FilterListItem = memo(\n FilterListItemInner,\n) as typeof FilterListItemInner;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FilterListItem.js","names":["Button","Input","classnames","React","memo","useCallback","useMemo","useState","ErrorBoundary","filterHasActiveState","getEffectiveFilterState","supportsExcluding","supportsSearch","DragHandleIcon","OverflowMenuIcon","RemoveIcon","SearchIcon","styles","FilterListItemInner","definition","filterKey","label","filterState","onFilterStateChanged","onFilterRemoved","renderInput","searchField","dragHandleAttributes","dragHandleListeners","className","style","searchState","setSearchState","type","excludeRowOpen","setExcludeRowOpen","handleFilterStateChanged","newState","handleToggleSearch","prev","query","handleSearchChange","e","target","value","handleSearchClear","handleRemove","handleToggleExcludeRow","searchInputRef","element","focus","preventScroll","effectiveState","showExcludeDropdown","showSearch","hasSelection","searchOpen","searchQuery","searchQueryForInput","undefined","createElement","filterItem","itemHeader","_extends","dragHandle","itemLabel","headerActionButton","onClick","searchRow","searchInput","onChange","placeholder","ref","searchClearButton","itemContent","errorMessage","FilterListItem"],"sources":["FilterListItem.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 { Button } from \"@base-ui/react/button\";\nimport { Input } from \"@base-ui/react/input\";\nimport type {\n DraggableAttributes,\n DraggableSyntheticListeners,\n} from \"@dnd-kit/core\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useMemo, useState } from \"react\";\n\nimport { ErrorBoundary } from \"../../shared/ErrorBoundary.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport {\n filterHasActiveState,\n getEffectiveFilterState,\n supportsExcluding,\n supportsSearch,\n} from \"../utils/filterValues.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport { DragHandleIcon } from \"./DragHandleIcon.js\";\nimport { OverflowMenuIcon, RemoveIcon, SearchIcon } from \"./FilterIcons.js\";\n\nimport styles from \"./FilterListItem.module.css\";\n\ninterface FilterListItemProps<D> {\n definition: D;\n filterKey: string;\n label: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (filterKey: string, state: FilterState) => void;\n onFilterRemoved?: (filterKey: string) => void;\n renderInput: RenderFilterInput<D>;\n searchField?: boolean;\n dragHandleAttributes?: DraggableAttributes;\n dragHandleListeners?: DraggableSyntheticListeners;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction FilterListItemInner<D>({\n definition,\n filterKey,\n label,\n filterState,\n onFilterStateChanged,\n onFilterRemoved,\n renderInput,\n searchField,\n dragHandleAttributes,\n dragHandleListeners,\n className,\n style,\n}: FilterListItemProps<D>): React.ReactElement {\n const [searchState, setSearchState] = useState<\n { type: \"closed\" } | { type: \"open\"; query: string }\n >({ type: \"closed\" });\n const [excludeRowOpen, setExcludeRowOpen] = useState(false);\n\n const handleFilterStateChanged = useCallback(\n (newState: FilterState) => {\n onFilterStateChanged(filterKey, newState);\n },\n [filterKey, onFilterStateChanged]\n );\n\n const handleToggleSearch = useCallback(() => {\n setSearchState((prev) =>\n prev.type === \"closed\" ? { type: \"open\", query: \"\" } : { type: \"closed\" }\n );\n }, []);\n\n const handleSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchState({ type: \"open\", query: e.target.value });\n },\n []\n );\n\n const handleSearchClear = useCallback(() => {\n setSearchState({ type: \"open\", query: \"\" });\n }, []);\n\n const handleRemove = useCallback(() => {\n onFilterRemoved?.(filterKey);\n }, [filterKey, onFilterRemoved]);\n\n const handleToggleExcludeRow = useCallback(() => {\n setExcludeRowOpen((prev) => !prev);\n }, []);\n\n const searchInputRef = useCallback((element: HTMLInputElement | null) => {\n element?.focus({ preventScroll: true });\n }, []);\n\n const effectiveState = useMemo(\n () => getEffectiveFilterState(filterState),\n [filterState]\n );\n\n const showExcludeDropdown = supportsExcluding(effectiveState);\n const showSearch = supportsSearch(effectiveState) && searchField !== false;\n const hasOverflowActions = showExcludeDropdown;\n const hasSelection = filterHasActiveState(filterState);\n\n const searchOpen = searchState.type === \"open\";\n const searchQuery = searchState.type === \"open\" ? searchState.query : \"\";\n const searchQueryForInput =\n searchState.type === \"open\" ? searchState.query : undefined;\n\n return (\n <div\n className={classnames(styles.filterItem, className)}\n style={style}\n data-has-selection={hasSelection || undefined}\n >\n <div className={styles.itemHeader}>\n {dragHandleAttributes && (\n <Button\n className={styles.dragHandle}\n aria-label={`Reorder ${label}`}\n {...dragHandleAttributes}\n {...dragHandleListeners}\n >\n <DragHandleIcon />\n </Button>\n )}\n <span className={styles.itemLabel}>{label}</span>\n {showSearch && (\n <Button\n className={styles.headerActionButton}\n onClick={handleToggleSearch}\n aria-label=\"Search values\"\n aria-pressed={searchOpen}\n >\n <SearchIcon />\n </Button>\n )}\n {onFilterRemoved && (\n <Button\n className={styles.headerActionButton}\n onClick={handleRemove}\n aria-label={`Remove ${label} filter`}\n >\n <RemoveIcon />\n </Button>\n )}\n {hasOverflowActions && (\n <Button\n className={styles.headerActionButton}\n onClick={handleToggleExcludeRow}\n aria-label=\"More actions\"\n aria-pressed={excludeRowOpen}\n >\n <OverflowMenuIcon />\n </Button>\n )}\n </div>\n\n {searchOpen && (\n <div className={styles.searchRow}>\n <Input\n type=\"text\"\n className={styles.searchInput}\n value={searchQuery}\n onChange={handleSearchChange}\n placeholder=\"Search property values...\"\n aria-label=\"Search property values\"\n ref={searchInputRef}\n />\n {searchQuery && (\n <Button\n type=\"button\"\n className={styles.searchClearButton}\n onClick={handleSearchClear}\n aria-label=\"Clear search\"\n >\n <RemoveIcon />\n </Button>\n )}\n </div>\n )}\n\n <div className={styles.itemContent}>\n <ErrorBoundary errorMessage=\"Error loading filter\">\n {renderInput({\n definition,\n filterKey,\n filterState,\n onFilterStateChanged: handleFilterStateChanged,\n searchQuery: searchQueryForInput,\n excludeRowOpen,\n })}\n </ErrorBoundary>\n </div>\n </div>\n );\n}\n\nexport const FilterListItem = memo(\n FilterListItemInner\n) as typeof FilterListItemInner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPopover.js","names":["Popover","classnames","React","memo","useCallback","useState","RemoveIcon","styles","FilterPopoverInner","label","summary","isActive","onRemove","children","className","placeholder","labelPlacement","open","setOpen","summaryHasValue","handleRemoveClick","e","stopPropagation","createElement","Root","onOpenChange","fieldGroup","fieldGroupTop","Trigger","trigger","undefined","type","onClick","removeButton","Portal","Positioner","sideOffset","align","Popup","popup","FilterPopover"],"sources":["FilterPopover.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 { Popover } from \"@base-ui/react/popover\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useState } from \"react\";\nimport { RemoveIcon } from \"./FilterIcons.js\";\nimport styles from \"./FilterPopover.module.css\";\n\nexport interface FilterPopoverProps {\n label: string;\n /** Short summary of the current value; falls back to `placeholder` when empty. */\n summary: string;\n isActive: boolean;\n onRemove?: () => void;\n /** Popup contents — only mounted while the popover is open. */\n children: React.ReactNode;\n className?: string;\n placeholder?: string;\n /**\n * Where the label sits relative to the trigger.\n * - `\"inline\"` (default): label and trigger sit on one row.\n * - `\"top\"`: label stacks above the trigger.\n */\n labelPlacement?: \"inline\" | \"top\";\n}\n\n/** Labeled, popover-backed filter trigger. Pair with `FilterInput` for the popup body. */\nfunction FilterPopoverInner(\n
|
|
1
|
+
{"version":3,"file":"FilterPopover.js","names":["Popover","classnames","React","memo","useCallback","useState","RemoveIcon","styles","FilterPopoverInner","label","summary","isActive","onRemove","children","className","placeholder","labelPlacement","open","setOpen","summaryHasValue","handleRemoveClick","e","stopPropagation","createElement","Root","onOpenChange","fieldGroup","fieldGroupTop","Trigger","trigger","undefined","type","onClick","removeButton","Portal","Positioner","sideOffset","align","Popup","popup","FilterPopover"],"sources":["FilterPopover.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 { Popover } from \"@base-ui/react/popover\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useState } from \"react\";\n\nimport { RemoveIcon } from \"./FilterIcons.js\";\n\nimport styles from \"./FilterPopover.module.css\";\n\nexport interface FilterPopoverProps {\n label: string;\n /** Short summary of the current value; falls back to `placeholder` when empty. */\n summary: string;\n isActive: boolean;\n onRemove?: () => void;\n /** Popup contents — only mounted while the popover is open. */\n children: React.ReactNode;\n className?: string;\n placeholder?: string;\n /**\n * Where the label sits relative to the trigger.\n * - `\"inline\"` (default): label and trigger sit on one row.\n * - `\"top\"`: label stacks above the trigger.\n */\n labelPlacement?: \"inline\" | \"top\";\n}\n\n/** Labeled, popover-backed filter trigger. Pair with `FilterInput` for the popup body. */\nfunction FilterPopoverInner({\n label,\n summary,\n isActive,\n onRemove,\n children,\n className,\n placeholder = \"Any\",\n labelPlacement = \"inline\",\n}: FilterPopoverProps): React.ReactElement {\n const [open, setOpen] = useState(false);\n const summaryHasValue = summary !== \"\";\n const handleRemoveClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onRemove?.();\n },\n [onRemove]\n );\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <span\n className={classnames(\n styles.fieldGroup,\n labelPlacement === \"top\" && styles.fieldGroupTop,\n className\n )}\n >\n <span className={styles.label}>{label}</span>\n <Popover.Trigger\n className={styles.trigger}\n data-active={isActive ? \"true\" : undefined}\n >\n <span\n className={classnames(\n styles.summary,\n !summaryHasValue && styles.placeholder\n )}\n >\n {summaryHasValue ? summary : placeholder}\n </span>\n </Popover.Trigger>\n {onRemove && (\n <button\n type=\"button\"\n onClick={handleRemoveClick}\n className={styles.removeButton}\n aria-label={`Remove ${label} filter`}\n >\n <RemoveIcon />\n </button>\n )}\n </span>\n <Popover.Portal>\n <Popover.Positioner sideOffset={4} align=\"start\">\n <Popover.Popup className={styles.popup}>{children}</Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n </Popover.Root>\n );\n}\n\nexport const FilterPopover: React.NamedExoticComponent<FilterPopoverProps> =\n memo(FilterPopoverInner);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,wBAAwB;AAChD,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAE1D,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,MAAM,MAAM,4BAA4B;AAoB/C;AACA,SAASC,kBAAkBA,CAAC;EAC1BC,KAAK;EACLC,OAAO;EACPC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,WAAW,GAAG,KAAK;EACnBC,cAAc,GAAG;AACC,CAAC,EAAsB;EACzC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EACvC,MAAMc,eAAe,GAAGT,OAAO,KAAK,EAAE;EACtC,MAAMU,iBAAiB,GAAGhB,WAAW,CAClCiB,CAAmB,IAAK;IACvBA,CAAC,CAACC,eAAe,CAAC,CAAC;IACnBV,QAAQ,GAAG,CAAC;EACd,CAAC,EACD,CAACA,QAAQ,CACX,CAAC;EAED,oBACEV,KAAA,CAAAqB,aAAA,CAACvB,OAAO,CAACwB,IAAI;IAACP,IAAI,EAAEA,IAAK;IAACQ,YAAY,EAAEP;EAAQ,gBAC9ChB,KAAA,CAAAqB,aAAA;IACET,SAAS,EAAEb,UAAU,CACnBM,MAAM,CAACmB,UAAU,EACjBV,cAAc,KAAK,KAAK,IAAIT,MAAM,CAACoB,aAAa,EAChDb,SACF;EAAE,gBAEFZ,KAAA,CAAAqB,aAAA;IAAMT,SAAS,EAAEP,MAAM,CAACE;EAAM,GAAEA,KAAY,CAAC,eAC7CP,KAAA,CAAAqB,aAAA,CAACvB,OAAO,CAAC4B,OAAO;IACdd,SAAS,EAAEP,MAAM,CAACsB,OAAQ;IAC1B,eAAalB,QAAQ,GAAG,MAAM,GAAGmB;EAAU,gBAE3C5B,KAAA,CAAAqB,aAAA;IACET,SAAS,EAAEb,UAAU,CACnBM,MAAM,CAACG,OAAO,EACd,CAACS,eAAe,IAAIZ,MAAM,CAACQ,WAC7B;EAAE,GAEDI,eAAe,GAAGT,OAAO,GAAGK,WACzB,CACS,CAAC,EACjBH,QAAQ,iBACPV,KAAA,CAAAqB,aAAA;IACEQ,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEZ,iBAAkB;IAC3BN,SAAS,EAAEP,MAAM,CAAC0B,YAAa;IAC/B,cAAY,UAAUxB,KAAK;EAAU,gBAErCP,KAAA,CAAAqB,aAAA,CAACjB,UAAU,MAAE,CACP,CAEN,CAAC,eACPJ,KAAA,CAAAqB,aAAA,CAACvB,OAAO,CAACkC,MAAM,qBACbhC,KAAA,CAAAqB,aAAA,CAACvB,OAAO,CAACmC,UAAU;IAACC,UAAU,EAAE,CAAE;IAACC,KAAK,EAAC;EAAO,gBAC9CnC,KAAA,CAAAqB,aAAA,CAACvB,OAAO,CAACsC,KAAK;IAACxB,SAAS,EAAEP,MAAM,CAACgC;EAAM,GAAE1B,QAAwB,CAC/C,CACN,CACJ,CAAC;AAEnB;AAEA,OAAO,MAAM2B,aAA6D,gBACxErC,IAAI,CAACK,kBAAkB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortableFilterListItem.js","names":["useSortable","CSS","classnames","React","memo","useMemo","FilterListItem","styles","SortableFilterListItemInner","id","definition","filterKey","label","filterState","onFilterStateChanged","onFilterRemoved","renderInput","searchField","attributes","listeners","setNodeRef","transform","transition","isDragging","style","Transform","toString","undefined","createElement","ref","className","dragging","dragHandleAttributes","dragHandleListeners","SortableFilterListItem"],"sources":["SortableFilterListItem.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 { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classnames from \"classnames\";\nimport React, { memo, useMemo } from \"react\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport { FilterListItem } from \"./FilterListItem.js\";\nimport styles from \"./FilterListItem.module.css\";\n\ninterface SortableFilterListItemProps<D> {\n id: string;\n definition: D;\n filterKey: string;\n label: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (
|
|
1
|
+
{"version":3,"file":"SortableFilterListItem.js","names":["useSortable","CSS","classnames","React","memo","useMemo","FilterListItem","styles","SortableFilterListItemInner","id","definition","filterKey","label","filterState","onFilterStateChanged","onFilterRemoved","renderInput","searchField","attributes","listeners","setNodeRef","transform","transition","isDragging","style","Transform","toString","undefined","createElement","ref","className","dragging","dragHandleAttributes","dragHandleListeners","SortableFilterListItem"],"sources":["SortableFilterListItem.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 { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classnames from \"classnames\";\nimport React, { memo, useMemo } from \"react\";\n\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport { FilterListItem } from \"./FilterListItem.js\";\n\nimport styles from \"./FilterListItem.module.css\";\n\ninterface SortableFilterListItemProps<D> {\n id: string;\n definition: D;\n filterKey: string;\n label: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (filterKey: string, state: FilterState) => void;\n onFilterRemoved?: (filterKey: string) => void;\n renderInput: RenderFilterInput<D>;\n searchField?: boolean;\n}\n\nfunction SortableFilterListItemInner<D>({\n id,\n definition,\n filterKey,\n label,\n filterState,\n onFilterStateChanged,\n onFilterRemoved,\n renderInput,\n searchField,\n}: SortableFilterListItemProps<D>): React.ReactElement {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id });\n\n const style = useMemo<React.CSSProperties>(\n () => ({\n transform: CSS.Transform.toString(transform),\n transition: transition ?? undefined,\n }),\n [transform, transition]\n );\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n className={classnames(isDragging && styles.dragging)}\n >\n <FilterListItem\n definition={definition}\n filterKey={filterKey}\n label={label}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n searchField={searchField}\n dragHandleAttributes={attributes}\n dragHandleListeners={listeners}\n />\n </div>\n );\n}\n\nexport const SortableFilterListItem = memo(\n SortableFilterListItemInner\n) as typeof SortableFilterListItemInner;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,GAAG,QAAQ,oBAAoB;AACxC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAI5C,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,OAAOC,MAAM,MAAM,6BAA6B;AAchD,SAASC,2BAA2BA,CAAI;EACtCC,EAAE;EACFC,UAAU;EACVC,SAAS;EACTC,KAAK;EACLC,WAAW;EACXC,oBAAoB;EACpBC,eAAe;EACfC,WAAW;EACXC;AAC8B,CAAC,EAAsB;EACrD,MAAM;IACJC,UAAU;IACVC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,UAAU;IACVC;EACF,CAAC,GAAGvB,WAAW,CAAC;IAAES;EAAG,CAAC,CAAC;EAEvB,MAAMe,KAAK,GAAGnB,OAAO,CACnB,OAAO;IACLgB,SAAS,EAAEpB,GAAG,CAACwB,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;IAC5CC,UAAU,EAAEA,UAAU,IAAIK;EAC5B,CAAC,CAAC,EACF,CAACN,SAAS,EAAEC,UAAU,CACxB,CAAC;EAED,oBACEnB,KAAA,CAAAyB,aAAA;IACEC,GAAG,EAAET,UAAW;IAChBI,KAAK,EAAEA,KAAM;IACbM,SAAS,EAAE5B,UAAU,CAACqB,UAAU,IAAIhB,MAAM,CAACwB,QAAQ;EAAE,gBAErD5B,KAAA,CAAAyB,aAAA,CAACtB,cAAc;IACbI,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzBC,oBAAoB,EAAEA,oBAAqB;IAC3CC,eAAe,EAAEA,eAAgB;IACjCC,WAAW,EAAEA,WAAY;IACzBC,WAAW,EAAEA,WAAY;IACzBe,oBAAoB,EAAEd,UAAW;IACjCe,mBAAmB,EAAEd;EAAU,CAChC,CACE,CAAC;AAEV;AAEA,OAAO,MAAMe,sBAAsB,gBAAG9B,IAAI,CACxCI,2BACF,CAAuC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainsTextInput.js","names":["Button","Input","Cross","Search","classnames","debounce","React","memo","useCallback","useEffect","useMemo","useRef","useState","styles","ContainsTextInputInner","value","onChange","placeholder","debounceMs","className","style","renderSearchIcon","renderClearIcon","localValue","setLocalValue","onChangeRef","current","debouncedOnChange","newValue","length","undefined","cancel","handleInputChange","e","target","handleClear","createElement","textInput","inputGroup","searchIcon","type","input","clearButton","onClick","disabled","ContainsTextInput"],"sources":["ContainsTextInput.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 { Button } from \"@base-ui/react/button\";\nimport { Input } from \"@base-ui/react/input\";\nimport { Cross, Search } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport { debounce } from \"lodash-es\";\nimport React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport styles from \"./ContainsTextInput.module.css\";\n\ninterface ContainsTextInputProps {\n value: string | undefined;\n onChange: (value: string | undefined) => void;\n placeholder?: string;\n debounceMs?: number;\n className?: string;\n style?: React.CSSProperties;\n renderSearchIcon?: () => React.ReactNode;\n renderClearIcon?: () => React.ReactNode;\n}\n\nfunction ContainsTextInputInner({\n value,\n onChange,\n placeholder = \"Search...\",\n debounceMs = 300,\n className,\n style,\n renderSearchIcon,\n renderClearIcon,\n}: ContainsTextInputProps): React.ReactElement {\n const [localValue, setLocalValue] = useState(value ?? \"\");\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const debouncedOnChange = useMemo(\n () =>\n debounce((newValue: string) => {\n onChangeRef.current(newValue.length > 0 ? newValue : undefined);\n }, debounceMs),\n [debounceMs]
|
|
1
|
+
{"version":3,"file":"ContainsTextInput.js","names":["Button","Input","Cross","Search","classnames","debounce","React","memo","useCallback","useEffect","useMemo","useRef","useState","styles","ContainsTextInputInner","value","onChange","placeholder","debounceMs","className","style","renderSearchIcon","renderClearIcon","localValue","setLocalValue","onChangeRef","current","debouncedOnChange","newValue","length","undefined","cancel","handleInputChange","e","target","handleClear","createElement","textInput","inputGroup","searchIcon","type","input","clearButton","onClick","disabled","ContainsTextInput"],"sources":["ContainsTextInput.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 { Button } from \"@base-ui/react/button\";\nimport { Input } from \"@base-ui/react/input\";\nimport { Cross, Search } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport { debounce } from \"lodash-es\";\nimport React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport styles from \"./ContainsTextInput.module.css\";\n\ninterface ContainsTextInputProps {\n value: string | undefined;\n onChange: (value: string | undefined) => void;\n placeholder?: string;\n debounceMs?: number;\n className?: string;\n style?: React.CSSProperties;\n renderSearchIcon?: () => React.ReactNode;\n renderClearIcon?: () => React.ReactNode;\n}\n\nfunction ContainsTextInputInner({\n value,\n onChange,\n placeholder = \"Search...\",\n debounceMs = 300,\n className,\n style,\n renderSearchIcon,\n renderClearIcon,\n}: ContainsTextInputProps): React.ReactElement {\n const [localValue, setLocalValue] = useState(value ?? \"\");\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const debouncedOnChange = useMemo(\n () =>\n debounce((newValue: string) => {\n onChangeRef.current(newValue.length > 0 ? newValue : undefined);\n }, debounceMs),\n [debounceMs]\n );\n\n useEffect(() => {\n return () => {\n debouncedOnChange.cancel();\n };\n }, [debouncedOnChange]);\n\n useEffect(() => {\n setLocalValue(value ?? \"\");\n debouncedOnChange.cancel();\n }, [value, debouncedOnChange]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setLocalValue(e.target.value);\n debouncedOnChange(e.target.value);\n },\n [debouncedOnChange]\n );\n\n const handleClear = useCallback(() => {\n setLocalValue(\"\");\n debouncedOnChange.cancel();\n onChangeRef.current(undefined);\n }, [debouncedOnChange]);\n\n return (\n <div\n className={classnames(styles.textInput, className)}\n style={style}\n data-has-value={!!localValue}\n >\n <div className={styles.inputGroup}>\n {renderSearchIcon ? (\n renderSearchIcon()\n ) : (\n <span className={styles.searchIcon}>\n <Search />\n </span>\n )}\n <Input\n type=\"text\"\n className={styles.input}\n value={localValue}\n onChange={handleInputChange}\n placeholder={placeholder}\n aria-label={placeholder}\n />\n <Button\n type=\"button\"\n className={styles.clearButton}\n data-active={!!localValue || undefined}\n onClick={handleClear}\n disabled={!localValue}\n aria-label=\"Clear search\"\n >\n {renderClearIcon ? renderClearIcon() : <Cross />}\n </Button>\n </div>\n </div>\n );\n}\n\nexport const ContainsTextInput: React.NamedExoticComponent<ContainsTextInputProps> =\n memo(ContainsTextInputInner);\n"],"mappings":"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","ignoreList":[]}
|