@payloadcms/ui 4.0.0-internal.e387174 → 4.0.0-internal.e7d4ebc
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/dist/css/spacing.css +1 -0
- package/dist/css/z-index.css +9 -0
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +2 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +65 -24
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/index.js +17 -1
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/types.d.ts +3 -0
- package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/index.css +5 -0
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
- package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +2 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts +2 -2
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +1 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.css +3 -3
- package/dist/elements/FileManager/index.css +36 -23
- package/dist/elements/FileManager/index.d.ts +1 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +14 -4
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
- package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
- package/dist/elements/Locked/index.d.ts +2 -2
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.css +39 -37
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
- package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
- package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
- package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
- package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
- package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
- package/dist/elements/ReactSelect/index.css +7 -0
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +24 -101
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +1 -2
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.css +0 -2
- package/dist/elements/RenderTitle/index.css +4 -0
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +18 -13
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SelectAll/index.css +3 -1
- package/dist/elements/SelectRow/index.d.ts +2 -2
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
- package/dist/elements/Table/index.css +7 -0
- package/dist/elements/Tabs/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +1 -1
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +5 -1
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/exports/layouts.d.ts +1 -0
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +97 -160
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +134 -195
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +2 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +23 -20
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +1 -1
- package/dist/fields/Checkbox/index.d.ts +1 -1
- package/dist/fields/Code/index.css +1 -1
- package/dist/fields/Code/index.d.ts +2 -2
- package/dist/fields/Collapsible/index.d.ts +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -1
- package/dist/fields/Email/index.d.ts +1 -1
- package/dist/fields/Group/index.d.ts +2 -2
- package/dist/fields/JSON/index.d.ts +1 -1
- package/dist/fields/Join/index.d.ts +1 -1
- package/dist/fields/Number/index.d.ts +1 -1
- package/dist/fields/Point/index.d.ts +1 -1
- package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
- package/dist/fields/Relationship/index.d.ts +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
- package/dist/fields/Row/index.d.ts +1 -1
- package/dist/fields/Select/index.d.ts +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +33 -24
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -1
- package/dist/fields/Text/index.d.ts +1 -1
- package/dist/fields/Textarea/index.d.ts +1 -1
- package/dist/fields/Upload/index.css +19 -4
- package/dist/fields/mergeFieldStyles.d.ts +1 -1
- package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
- package/dist/forms/Form/errorMessages.d.ts.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +3 -14
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
- package/dist/forms/Form/rows.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -1
- package/dist/forms/RenderFields/index.css +16 -2
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/withCondition/index.d.ts +1 -1
- package/dist/forms/withCondition/index.d.ts.map +1 -1
- package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
- package/dist/hooks/useDelay.d.ts.map +1 -1
- package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
- package/dist/hooks/useHotkey.d.ts.map +1 -1
- package/dist/hooks/useIntersect.d.ts.map +1 -1
- package/dist/hooks/usePopupWindow.d.ts +1 -1
- package/dist/hooks/usePopupWindow.d.ts.map +1 -1
- package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
- package/dist/hooks/useResize.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +4 -2
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/layouts/Root/viewport.d.ts +1 -0
- package/dist/layouts/Root/viewport.d.ts.map +1 -1
- package/dist/layouts/Root/viewport.js +4 -1
- package/dist/layouts/Root/viewport.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +6 -6
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +5 -5
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.d.ts +1 -0
- package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.js +2 -0
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
- package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
- package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
- package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
- package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/providers/Theme/index.d.ts +2 -2
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +2 -1
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Theme/shared.d.ts +3 -0
- package/dist/providers/Theme/shared.d.ts.map +1 -0
- package/dist/providers/Theme/shared.js +2 -0
- package/dist/providers/Theme/shared.js.map +1 -0
- package/dist/providers/UploadEdits/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.d.ts +2 -7
- package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.js +102 -42
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +12 -1
- package/dist/utilities/api.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFormState.d.ts +2 -2
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/checkDependencies.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
- package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/index.d.ts +1 -1
- package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
- package/dist/utilities/formatFields.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/getColumns.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDocPreferences.d.ts.map +1 -1
- package/dist/utilities/getDocumentData.d.ts.map +1 -1
- package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
- package/dist/utilities/getGlobalData.d.ts +2 -2
- package/dist/utilities/getGlobalData.d.ts.map +1 -1
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getIsLocked.d.ts.map +1 -1
- package/dist/utilities/getLanguageDir.d.ts +12 -0
- package/dist/utilities/getLanguageDir.d.ts.map +1 -0
- package/dist/utilities/getLanguageDir.js +12 -0
- package/dist/utilities/getLanguageDir.js.map +1 -0
- package/dist/utilities/getOffsetTop.d.ts.map +1 -1
- package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +1 -1
- package/dist/utilities/getRequestTheme.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.js +1 -1
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleGoBack.d.ts.map +1 -1
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/handlePreview.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +32 -8
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +17 -37
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.d.ts +5 -5
- package/dist/utilities/handleTakeOver.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
- package/dist/utilities/hasSavePermission.d.ts.map +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/isClientUserObject.d.ts +2 -2
- package/dist/utilities/isClientUserObject.d.ts.map +1 -1
- package/dist/utilities/isClientUserObject.js.map +1 -1
- package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
- package/dist/utilities/isEditing.d.ts.map +1 -1
- package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.d.ts.map +1 -1
- package/dist/utilities/recentlyViewed.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
- package/dist/utilities/renderTable.d.ts +2 -2
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
- package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
- package/dist/utilities/scrollToID.d.ts.map +1 -1
- package/dist/utilities/selectiveCache.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +25 -7
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/setsAreEqual.d.ts.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +2 -2
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Document/getDocumentView.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/index.d.ts +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -1
- package/dist/views/Edit/index.css +61 -53
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
- package/dist/views/List/createSerializableValue.d.ts.map +1 -1
- package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
- package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.d.ts +1 -1
- package/dist/views/List/handleHierarchy.d.ts.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
- package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
- package/dist/views/NotFound/page.d.ts.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
- package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/index.d.ts +12 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +10 -3
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +1 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/fetchVersions.d.ts +4 -4
- package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/WidgetCard/index.css +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom';
|
|
3
|
+
import React, { useCallback, useLayoutEffect, useRef } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
import { components as rsComponents } from 'react-select';
|
|
6
|
+
import { useTheme } from '../../providers/Theme/index.js';
|
|
7
|
+
const FLOATING_MENU_PADDING = 16;
|
|
8
|
+
const FLOATING_MENU_OFFSET = 4;
|
|
9
|
+
export function DefaultMenuPortal(props) {
|
|
10
|
+
const {
|
|
11
|
+
appendTo,
|
|
12
|
+
children,
|
|
13
|
+
controlElement,
|
|
14
|
+
innerProps = {},
|
|
15
|
+
menuPlacement
|
|
16
|
+
} = props;
|
|
17
|
+
const {
|
|
18
|
+
theme
|
|
19
|
+
} = useTheme();
|
|
20
|
+
const floatingRef = useRef(null);
|
|
21
|
+
const rafRef = useRef(null);
|
|
22
|
+
const selectProps = props.selectProps;
|
|
23
|
+
const menuPortalTheme = selectProps.customProps?.menuPortalTheme;
|
|
24
|
+
const updatePosition = useCallback(async () => {
|
|
25
|
+
const floatingElement = floatingRef.current;
|
|
26
|
+
if (!controlElement || !floatingElement) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const placement = menuPlacement === 'top' ? 'top-start' : 'bottom-start';
|
|
30
|
+
const {
|
|
31
|
+
x,
|
|
32
|
+
y
|
|
33
|
+
} = await computePosition(controlElement, floatingElement, {
|
|
34
|
+
middleware: [offset(FLOATING_MENU_OFFSET), flip({
|
|
35
|
+
padding: FLOATING_MENU_PADDING
|
|
36
|
+
}), shift({
|
|
37
|
+
padding: FLOATING_MENU_PADDING
|
|
38
|
+
}), size({
|
|
39
|
+
apply({
|
|
40
|
+
availableHeight,
|
|
41
|
+
elements,
|
|
42
|
+
rects
|
|
43
|
+
}) {
|
|
44
|
+
const maxHeight = `${Math.max(1, Math.floor(availableHeight))}px`;
|
|
45
|
+
const width = `${Math.floor(rects.reference.width)}px`;
|
|
46
|
+
Object.assign(elements.floating.style, {
|
|
47
|
+
'--rs-floating-menu-max-height': maxHeight,
|
|
48
|
+
minWidth: width,
|
|
49
|
+
width
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
padding: FLOATING_MENU_PADDING
|
|
53
|
+
})],
|
|
54
|
+
placement,
|
|
55
|
+
strategy: 'fixed'
|
|
56
|
+
});
|
|
57
|
+
Object.assign(floatingElement.style, {
|
|
58
|
+
left: `${x}px`,
|
|
59
|
+
top: `${y}px`
|
|
60
|
+
});
|
|
61
|
+
}, [controlElement, menuPlacement]);
|
|
62
|
+
const setFloatingElement = useCallback(element => {
|
|
63
|
+
floatingRef.current = element;
|
|
64
|
+
void updatePosition();
|
|
65
|
+
}, [updatePosition]);
|
|
66
|
+
useLayoutEffect(() => {
|
|
67
|
+
const floatingElement = floatingRef.current;
|
|
68
|
+
if (!appendTo || !controlElement || !floatingElement || typeof window === 'undefined') {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const cleanupAutoUpdate = autoUpdate(controlElement, floatingElement, updatePosition, {
|
|
72
|
+
elementResize: 'ResizeObserver' in window
|
|
73
|
+
});
|
|
74
|
+
const visualViewport = window.visualViewport;
|
|
75
|
+
visualViewport?.addEventListener('resize', updatePosition);
|
|
76
|
+
visualViewport?.addEventListener('scroll', updatePosition);
|
|
77
|
+
rafRef.current = window.requestAnimationFrame(() => {
|
|
78
|
+
void updatePosition();
|
|
79
|
+
});
|
|
80
|
+
return () => {
|
|
81
|
+
cleanupAutoUpdate();
|
|
82
|
+
visualViewport?.removeEventListener('resize', updatePosition);
|
|
83
|
+
visualViewport?.removeEventListener('scroll', updatePosition);
|
|
84
|
+
if (rafRef.current !== null) {
|
|
85
|
+
window.cancelAnimationFrame(rafRef.current);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}, [appendTo, controlElement, updatePosition]);
|
|
89
|
+
if (!appendTo || !controlElement) {
|
|
90
|
+
const themedInnerProps = {
|
|
91
|
+
...innerProps,
|
|
92
|
+
'data-theme': menuPortalTheme ?? theme
|
|
93
|
+
};
|
|
94
|
+
return /*#__PURE__*/_jsx(rsComponents.MenuPortal, {
|
|
95
|
+
...props,
|
|
96
|
+
innerProps: themedInnerProps
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
const {
|
|
100
|
+
className,
|
|
101
|
+
style,
|
|
102
|
+
...restInnerProps
|
|
103
|
+
} = innerProps;
|
|
104
|
+
const menuWrapper = /*#__PURE__*/_jsx("div", {
|
|
105
|
+
...restInnerProps,
|
|
106
|
+
className: ['rs__floating-menu-portal', className].filter(Boolean).join(' '),
|
|
107
|
+
"data-theme": menuPortalTheme ?? theme,
|
|
108
|
+
ref: setFloatingElement,
|
|
109
|
+
style: {
|
|
110
|
+
...style,
|
|
111
|
+
left: 0,
|
|
112
|
+
position: 'fixed',
|
|
113
|
+
top: 0,
|
|
114
|
+
zIndex: 'var(--z-portal-element)'
|
|
115
|
+
},
|
|
116
|
+
children: children
|
|
117
|
+
});
|
|
118
|
+
return /*#__PURE__*/createPortal(menuWrapper, appendTo);
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=DefaultMenuPortal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultMenuPortal.js","names":["autoUpdate","computePosition","flip","offset","shift","size","React","useCallback","useLayoutEffect","useRef","createPortal","components","rsComponents","useTheme","FLOATING_MENU_PADDING","FLOATING_MENU_OFFSET","DefaultMenuPortal","props","appendTo","children","controlElement","innerProps","menuPlacement","theme","floatingRef","rafRef","selectProps","menuPortalTheme","customProps","updatePosition","floatingElement","current","placement","x","y","middleware","padding","apply","availableHeight","elements","rects","maxHeight","Math","max","floor","width","reference","Object","assign","floating","style","minWidth","strategy","left","top","setFloatingElement","element","window","cleanupAutoUpdate","elementResize","visualViewport","addEventListener","requestAnimationFrame","removeEventListener","cancelAnimationFrame","themedInnerProps","_jsx","MenuPortal","className","restInnerProps","menuWrapper","filter","Boolean","join","ref","position","zIndex"],"sources":["../../../src/elements/ReactSelect/DefaultMenuPortal.tsx"],"sourcesContent":["import type { CSSProperties } from 'react'\nimport type { GroupBase } from 'react-select'\n\nimport { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom'\nimport React, { useCallback, useLayoutEffect, useRef } from 'react'\nimport { createPortal } from 'react-dom'\nimport { components as rsComponents } from 'react-select'\n\nimport type { CustomSelectProps } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\n\nconst FLOATING_MENU_PADDING = 16\nconst FLOATING_MENU_OFFSET = 4\n\ntype FloatingMenuPortalStyle = {\n '--rs-floating-menu-max-height'?: string\n} & CSSProperties\n\ntype ThemedMenuPortalInnerProps = {\n 'data-theme'?: string\n} & React.JSX.IntrinsicElements['div']\n\ntype DefaultMenuPortalProps<\n Opt,\n IsMulti extends boolean,\n Group extends GroupBase<Opt>,\n> = React.ComponentProps<typeof rsComponents.MenuPortal<Opt, IsMulti, Group>>\n\nexport function DefaultMenuPortal<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>>(\n props: DefaultMenuPortalProps<Opt, IsMulti, Group>,\n) {\n const { appendTo, children, controlElement, innerProps = {}, menuPlacement } = props\n const { theme } = useTheme()\n const floatingRef = useRef<HTMLDivElement | null>(null)\n const rafRef = useRef<null | number>(null)\n const selectProps = props.selectProps as {\n customProps?: CustomSelectProps\n } & typeof props.selectProps\n const menuPortalTheme = selectProps.customProps?.menuPortalTheme\n\n const updatePosition = useCallback(async () => {\n const floatingElement = floatingRef.current\n\n if (!controlElement || !floatingElement) {\n return\n }\n\n const placement = menuPlacement === 'top' ? 'top-start' : 'bottom-start'\n const { x, y } = await computePosition(controlElement, floatingElement, {\n middleware: [\n offset(FLOATING_MENU_OFFSET),\n flip({ padding: FLOATING_MENU_PADDING }),\n shift({ padding: FLOATING_MENU_PADDING }),\n size({\n apply({ availableHeight, elements, rects }) {\n const maxHeight = `${Math.max(1, Math.floor(availableHeight))}px`\n const width = `${Math.floor(rects.reference.width)}px`\n\n Object.assign(elements.floating.style, {\n '--rs-floating-menu-max-height': maxHeight,\n minWidth: width,\n width,\n })\n },\n padding: FLOATING_MENU_PADDING,\n }),\n ],\n placement,\n strategy: 'fixed',\n })\n\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n }, [controlElement, menuPlacement])\n\n const setFloatingElement = useCallback(\n (element: HTMLDivElement | null) => {\n floatingRef.current = element\n void updatePosition()\n },\n [updatePosition],\n )\n\n useLayoutEffect(() => {\n const floatingElement = floatingRef.current\n\n if (!appendTo || !controlElement || !floatingElement || typeof window === 'undefined') {\n return\n }\n\n const cleanupAutoUpdate = autoUpdate(controlElement, floatingElement, updatePosition, {\n elementResize: 'ResizeObserver' in window,\n })\n const visualViewport = window.visualViewport\n\n visualViewport?.addEventListener('resize', updatePosition)\n visualViewport?.addEventListener('scroll', updatePosition)\n rafRef.current = window.requestAnimationFrame(() => {\n void updatePosition()\n })\n\n return () => {\n cleanupAutoUpdate()\n visualViewport?.removeEventListener('resize', updatePosition)\n visualViewport?.removeEventListener('scroll', updatePosition)\n\n if (rafRef.current !== null) {\n window.cancelAnimationFrame(rafRef.current)\n }\n }\n }, [appendTo, controlElement, updatePosition])\n\n if (!appendTo || !controlElement) {\n const themedInnerProps: ThemedMenuPortalInnerProps = {\n ...innerProps,\n 'data-theme': menuPortalTheme ?? theme,\n }\n\n return <rsComponents.MenuPortal {...props} innerProps={themedInnerProps} />\n }\n\n const { className, style, ...restInnerProps } = innerProps\n const menuWrapper = (\n <div\n {...restInnerProps}\n className={['rs__floating-menu-portal', className].filter(Boolean).join(' ')}\n data-theme={menuPortalTheme ?? theme}\n ref={setFloatingElement}\n style={\n {\n ...style,\n left: 0,\n position: 'fixed',\n top: 0,\n zIndex: 'var(--z-portal-element)',\n } as FloatingMenuPortalStyle\n }\n >\n {children}\n </div>\n )\n\n return createPortal(menuWrapper, appendTo)\n}\n"],"mappings":";AAGA,SAASA,UAAU,EAAEC,eAAe,EAAEC,IAAI,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,QAAQ;AACvE,OAAOC,KAAA,IAASC,WAAW,EAAEC,eAAe,EAAEC,MAAM,QAAQ;AAC5D,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAA,IAAcC,YAAY,QAAQ;AAI3C,SAASC,QAAQ,QAAQ;AAEzB,MAAMC,qBAAA,GAAwB;AAC9B,MAAMC,oBAAA,GAAuB;AAgB7B,OAAO,SAASC,kBACdC,KAAkD;EAElD,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,cAAc;IAAEC,UAAA,GAAa,CAAC,CAAC;IAAEC;EAAa,CAAE,GAAGL,KAAA;EAC/E,MAAM;IAAEM;EAAK,CAAE,GAAGV,QAAA;EAClB,MAAMW,WAAA,GAAcf,MAAA,CAA8B;EAClD,MAAMgB,MAAA,GAAShB,MAAA,CAAsB;EACrC,MAAMiB,WAAA,GAAcT,KAAA,CAAMS,WAAW;EAGrC,MAAMC,eAAA,GAAkBD,WAAA,CAAYE,WAAW,EAAED,eAAA;EAEjD,MAAME,cAAA,GAAiBtB,WAAA,CAAY;IACjC,MAAMuB,eAAA,GAAkBN,WAAA,CAAYO,OAAO;IAE3C,IAAI,CAACX,cAAA,IAAkB,CAACU,eAAA,EAAiB;MACvC;IACF;IAEA,MAAME,SAAA,GAAYV,aAAA,KAAkB,QAAQ,cAAc;IAC1D,MAAM;MAAEW,CAAC;MAAEC;IAAC,CAAE,GAAG,MAAMjC,eAAA,CAAgBmB,cAAA,EAAgBU,eAAA,EAAiB;MACtEK,UAAA,EAAY,CACVhC,MAAA,CAAOY,oBAAA,GACPb,IAAA,CAAK;QAAEkC,OAAA,EAAStB;MAAsB,IACtCV,KAAA,CAAM;QAAEgC,OAAA,EAAStB;MAAsB,IACvCT,IAAA,CAAK;QACHgC,MAAM;UAAEC,eAAe;UAAEC,QAAQ;UAAEC;QAAK,CAAE;UACxC,MAAMC,SAAA,GAAY,GAAGC,IAAA,CAAKC,GAAG,CAAC,GAAGD,IAAA,CAAKE,KAAK,CAACN,eAAA,MAAqB;UACjE,MAAMO,KAAA,GAAQ,GAAGH,IAAA,CAAKE,KAAK,CAACJ,KAAA,CAAMM,SAAS,CAACD,KAAK,KAAK;UAEtDE,MAAA,CAAOC,MAAM,CAACT,QAAA,CAASU,QAAQ,CAACC,KAAK,EAAE;YACrC,iCAAiCT,SAAA;YACjCU,QAAA,EAAUN,KAAA;YACVA;UACF;QACF;QACAT,OAAA,EAAStB;MACX,GACD;MACDkB,SAAA;MACAoB,QAAA,EAAU;IACZ;IAEAL,MAAA,CAAOC,MAAM,CAAClB,eAAA,CAAgBoB,KAAK,EAAE;MACnCG,IAAA,EAAM,GAAGpB,CAAA,IAAK;MACdqB,GAAA,EAAK,GAAGpB,CAAA;IACV;EACF,GAAG,CAACd,cAAA,EAAgBE,aAAA,CAAc;EAElC,MAAMiC,kBAAA,GAAqBhD,WAAA,CACxBiD,OAAA;IACChC,WAAA,CAAYO,OAAO,GAAGyB,OAAA;IACtB,KAAK3B,cAAA;EACP,GACA,CAACA,cAAA,CAAe;EAGlBrB,eAAA,CAAgB;IACd,MAAMsB,eAAA,GAAkBN,WAAA,CAAYO,OAAO;IAE3C,IAAI,CAACb,QAAA,IAAY,CAACE,cAAA,IAAkB,CAACU,eAAA,IAAmB,OAAO2B,MAAA,KAAW,aAAa;MACrF;IACF;IAEA,MAAMC,iBAAA,GAAoB1D,UAAA,CAAWoB,cAAA,EAAgBU,eAAA,EAAiBD,cAAA,EAAgB;MACpF8B,aAAA,EAAe,oBAAoBF;IACrC;IACA,MAAMG,cAAA,GAAiBH,MAAA,CAAOG,cAAc;IAE5CA,cAAA,EAAgBC,gBAAA,CAAiB,UAAUhC,cAAA;IAC3C+B,cAAA,EAAgBC,gBAAA,CAAiB,UAAUhC,cAAA;IAC3CJ,MAAA,CAAOM,OAAO,GAAG0B,MAAA,CAAOK,qBAAqB,CAAC;MAC5C,KAAKjC,cAAA;IACP;IAEA,OAAO;MACL6B,iBAAA;MACAE,cAAA,EAAgBG,mBAAA,CAAoB,UAAUlC,cAAA;MAC9C+B,cAAA,EAAgBG,mBAAA,CAAoB,UAAUlC,cAAA;MAE9C,IAAIJ,MAAA,CAAOM,OAAO,KAAK,MAAM;QAC3B0B,MAAA,CAAOO,oBAAoB,CAACvC,MAAA,CAAOM,OAAO;MAC5C;IACF;EACF,GAAG,CAACb,QAAA,EAAUE,cAAA,EAAgBS,cAAA,CAAe;EAE7C,IAAI,CAACX,QAAA,IAAY,CAACE,cAAA,EAAgB;IAChC,MAAM6C,gBAAA,GAA+C;MACnD,GAAG5C,UAAU;MACb,cAAcM,eAAA,IAAmBJ;IACnC;IAEA,oBAAO2C,IAAA,CAACtD,YAAA,CAAauD,UAAU;MAAE,GAAGlD,KAAK;MAAEI,UAAA,EAAY4C;;EACzD;EAEA,MAAM;IAAEG,SAAS;IAAElB,KAAK;IAAE,GAAGmB;EAAA,CAAgB,GAAGhD,UAAA;EAChD,MAAMiD,WAAA,gBACJJ,IAAA,CAAC;IACE,GAAGG,cAAc;IAClBD,SAAA,EAAW,CAAC,4BAA4BA,SAAA,CAAU,CAACG,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACxE,cAAY9C,eAAA,IAAmBJ,KAAA;IAC/BmD,GAAA,EAAKnB,kBAAA;IACLL,KAAA,EACE;MACE,GAAGA,KAAK;MACRG,IAAA,EAAM;MACNsB,QAAA,EAAU;MACVrB,GAAA,EAAK;MACLsB,MAAA,EAAQ;IACV;cAGDzD;;EAIL,oBAAOT,YAAA,CAAa4D,WAAA,EAAapD,QAAA;AACnC","ignoreList":[]}
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
align-items: center;
|
|
9
9
|
max-width: 9.375rem;
|
|
10
10
|
color: currentColor;
|
|
11
|
-
padding-left: var(--spacer-1);
|
|
11
|
+
padding-left: var(--spacer-1-5);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.multi-value-label--disabled {
|
|
15
|
-
padding-right: var(--spacer-1);
|
|
15
|
+
padding-right: var(--spacer-1-5);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.multi-value-label__text {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCaptureMenuScroll.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getCaptureMenuScroll.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"getCaptureMenuScroll.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getCaptureMenuScroll.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,gEAG9B;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACtC,KAAG,OAMH,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GroupBase, StylesConfig } from 'react-select';
|
|
2
2
|
import type { Option } from './types.js';
|
|
3
3
|
type MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>;
|
|
4
|
-
export declare const getMenuListStyles: (externalStyles?: StylesConfig<Option, boolean, GroupBase<Option
|
|
4
|
+
export declare const getMenuListStyles: (externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>, shouldUseFloatingMenuPortal?: boolean) => MenuListStyles;
|
|
5
5
|
export {};
|
|
6
6
|
//# sourceMappingURL=getMenuListStyles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMenuListStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,KAAK,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/F,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"getMenuListStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,KAAK,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/F,eAAO,MAAM,iBAAiB,oBACX,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,gCACnC,OAAO,KACpC,cAiBF,CAAA"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
export const getMenuListStyles = externalStyles => {
|
|
2
|
-
return (rsStyles, state) =>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export const getMenuListStyles = (externalStyles, shouldUseFloatingMenuPortal) => {
|
|
2
|
+
return (rsStyles, state) => {
|
|
3
|
+
const styles = {
|
|
4
|
+
...rsStyles,
|
|
5
|
+
...(shouldUseFloatingMenuPortal && {
|
|
6
|
+
maxHeight: `var(--rs-floating-menu-max-height, ${String(rsStyles.maxHeight)}px)`
|
|
7
|
+
})
|
|
8
|
+
};
|
|
9
|
+
return {
|
|
10
|
+
...styles,
|
|
11
|
+
...externalStyles?.menuList?.(styles, state)
|
|
12
|
+
};
|
|
13
|
+
};
|
|
6
14
|
};
|
|
7
15
|
//# sourceMappingURL=getMenuListStyles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMenuListStyles.js","names":["getMenuListStyles","externalStyles","rsStyles","state","menuList"],"sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>\n\nexport const getMenuListStyles = (\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>,\n): MenuListStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menuList']>>[1],\n ) =>
|
|
1
|
+
{"version":3,"file":"getMenuListStyles.js","names":["getMenuListStyles","externalStyles","shouldUseFloatingMenuPortal","rsStyles","state","styles","maxHeight","String","menuList"],"sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>\n\nexport const getMenuListStyles = (\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>,\n shouldUseFloatingMenuPortal?: boolean,\n): MenuListStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menuList']>>[1],\n ) => {\n const styles: CSSObjectWithLabel = {\n ...rsStyles,\n ...(shouldUseFloatingMenuPortal && {\n maxHeight: `var(--rs-floating-menu-max-height, ${String(rsStyles.maxHeight)}px)`,\n }),\n }\n\n return {\n ...styles,\n ...externalStyles?.menuList?.(styles, state),\n }\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAA,GAAoBA,CAC/BC,cAAA,EACAC,2BAAA;EAEA,OAAO,CACLC,QAAA,EACAC,KAAA;IAEA,MAAMC,MAAA,GAA6B;MACjC,GAAGF,QAAQ;MACX,IAAID,2BAAA,IAA+B;QACjCI,SAAA,EAAW,sCAAsCC,MAAA,CAAOJ,QAAA,CAASG,SAAS;MAC5E,CAAC;IACH;IAEA,OAAO;MACL,GAAGD,MAAM;MACT,GAAGJ,cAAA,EAAgBO,QAAA,GAAWH,MAAA,EAAQD,KAAA;IACxC;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GroupBase, StylesConfig } from 'react-select';
|
|
2
|
+
import type { Option } from './types.js';
|
|
3
|
+
type MenuStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menu']>;
|
|
4
|
+
type Args = {
|
|
5
|
+
externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>;
|
|
6
|
+
shouldUseFloatingMenuPortal: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const getMenuStyles: ({ externalStyles, shouldUseFloatingMenuPortal, }: Args) => MenuStyles;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=getMenuStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMenuStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,KAAK,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAEvF,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,2BAA2B,EAAE,OAAO,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,aAAa,qDAGvB,IAAI,KAAG,UAoBT,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const getMenuStyles = ({
|
|
2
|
+
externalStyles,
|
|
3
|
+
shouldUseFloatingMenuPortal
|
|
4
|
+
}) => {
|
|
5
|
+
return (rsStyles, state) => {
|
|
6
|
+
const styles = {
|
|
7
|
+
...rsStyles,
|
|
8
|
+
zIndex: undefined,
|
|
9
|
+
...(shouldUseFloatingMenuPortal && {
|
|
10
|
+
bottom: undefined,
|
|
11
|
+
position: 'static',
|
|
12
|
+
top: undefined
|
|
13
|
+
})
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
...styles,
|
|
17
|
+
...externalStyles?.menu?.(styles, state)
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=getMenuStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMenuStyles.js","names":["getMenuStyles","externalStyles","shouldUseFloatingMenuPortal","rsStyles","state","styles","zIndex","undefined","bottom","position","top","menu"],"sources":["../../../src/elements/ReactSelect/getMenuStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menu']>\n\ntype Args = {\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>\n shouldUseFloatingMenuPortal: boolean\n}\n\nexport const getMenuStyles = ({\n externalStyles,\n shouldUseFloatingMenuPortal,\n}: Args): MenuStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menu']>>[1],\n ) => {\n const styles: CSSObjectWithLabel = {\n ...rsStyles,\n zIndex: undefined,\n ...(shouldUseFloatingMenuPortal && {\n bottom: undefined,\n position: 'static',\n top: undefined,\n }),\n }\n\n return {\n ...styles,\n ...externalStyles?.menu?.(styles, state),\n }\n }\n}\n"],"mappings":"AAWA,OAAO,MAAMA,aAAA,GAAgBA,CAAC;EAC5BC,cAAc;EACdC;AAA2B,CACtB;EACL,OAAO,CACLC,QAAA,EACAC,KAAA;IAEA,MAAMC,MAAA,GAA6B;MACjC,GAAGF,QAAQ;MACXG,MAAA,EAAQC,SAAA;MACR,IAAIL,2BAAA,IAA+B;QACjCM,MAAA,EAAQD,SAAA;QACRE,QAAA,EAAU;QACVC,GAAA,EAAKH;MACP,CAAC;IACH;IAEA,OAAO;MACL,GAAGF,MAAM;MACT,GAAGJ,cAAA,EAAgBU,IAAA,GAAON,MAAA,EAAQD,KAAA;IACpC;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/index.tsx"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAI/E,OAAO,KAAK,EAAU,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACjE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAmBxC,OAAO,aAAa,CAAA;AAiRpB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQzD,CAAA"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
4
|
import { arrayMove } from '@dnd-kit/sortable';
|
|
6
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
7
|
-
import React, { useCallback, useEffect, useId,
|
|
8
|
-
import Select
|
|
6
|
+
import React, { useCallback, useEffect, useId, useMemo, useState } from 'react';
|
|
7
|
+
import Select from 'react-select';
|
|
9
8
|
import CreatableSelect from 'react-select/creatable';
|
|
10
9
|
import { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js';
|
|
11
|
-
import { useTheme } from '../../providers/Theme/index.js';
|
|
12
10
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
13
11
|
import { DraggableSortable } from '../DraggableSortable/index.js';
|
|
14
12
|
import { ShimmerEffect } from '../ShimmerEffect/index.js';
|
|
15
13
|
import { ClearIndicator } from './ClearIndicator/index.js';
|
|
16
14
|
import { Control } from './Control/index.js';
|
|
15
|
+
import { DefaultMenuPortal } from './DefaultMenuPortal.js';
|
|
17
16
|
import { DropdownIndicator } from './DropdownIndicator/index.js';
|
|
18
17
|
import { getCaptureMenuScroll } from './getCaptureMenuScroll.js';
|
|
19
18
|
import { getMenuListStyles } from './getMenuListStyles.js';
|
|
19
|
+
import { getMenuStyles } from './getMenuStyles.js';
|
|
20
20
|
import { Input } from './Input/index.js';
|
|
21
21
|
import { generateMultiValueDraggableID, MultiValue } from './MultiValue/index.js';
|
|
22
22
|
import { MultiValueLabel } from './MultiValueLabel/index.js';
|
|
@@ -24,36 +24,7 @@ import { MultiValueRemove } from './MultiValueRemove/index.js';
|
|
|
24
24
|
import { SingleValue } from './SingleValue/index.js';
|
|
25
25
|
import { ValueContainer } from './ValueContainer/index.js';
|
|
26
26
|
import './index.css';
|
|
27
|
-
// Propagates the nearest scoped theme (via ThemeProvider) into the portal div,
|
|
28
|
-
// falling back to the global theme. Ensures dropdown menus portaled to
|
|
29
|
-
// document.body inherit the correct theme (e.g. dark Popup).
|
|
30
|
-
function ThemedMenuPortal(props) {
|
|
31
|
-
const $ = _c(3);
|
|
32
|
-
const {
|
|
33
|
-
theme
|
|
34
|
-
} = useTheme();
|
|
35
|
-
const menuPortalTheme = props.selectProps?.customProps?.menuPortalTheme;
|
|
36
|
-
const t0 = menuPortalTheme ?? theme;
|
|
37
|
-
let t1;
|
|
38
|
-
if ($[0] !== props || $[1] !== t0) {
|
|
39
|
-
t1 = _jsx(rsComponents.MenuPortal, {
|
|
40
|
-
...props,
|
|
41
|
-
innerProps: {
|
|
42
|
-
"data-theme": t0
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
$[0] = props;
|
|
46
|
-
$[1] = t0;
|
|
47
|
-
$[2] = t1;
|
|
48
|
-
} else {
|
|
49
|
-
t1 = $[2];
|
|
50
|
-
}
|
|
51
|
-
return t1;
|
|
52
|
-
}
|
|
53
27
|
const DEFAULT_MAX_MENU_HEIGHT = 300;
|
|
54
|
-
const MIN_USABLE_MENU_HEIGHT = 140;
|
|
55
|
-
const MENU_VIEWPORT_GAP = 16 // space between the control and the edge of the window
|
|
56
|
-
;
|
|
57
28
|
const SelectAdapter = props => {
|
|
58
29
|
const {
|
|
59
30
|
i18n,
|
|
@@ -63,10 +34,6 @@ const SelectAdapter = props => {
|
|
|
63
34
|
;
|
|
64
35
|
const uuid = useId();
|
|
65
36
|
const [hasMounted, setHasMounted] = useState(false);
|
|
66
|
-
const [isMenuOpen, setIsMenuOpen] = useState(false);
|
|
67
|
-
const [maxMenuHeight, setMaxMenuHeight] = useState(DEFAULT_MAX_MENU_HEIGHT);
|
|
68
|
-
const [menuPlacement, setMenuPlacement] = useState('auto');
|
|
69
|
-
const containerRef = useRef(null);
|
|
70
37
|
const {
|
|
71
38
|
captureMenuScroll: captureMenuScrollProp,
|
|
72
39
|
className,
|
|
@@ -94,43 +61,14 @@ const SelectAdapter = props => {
|
|
|
94
61
|
} = props;
|
|
95
62
|
const menuPortalTarget = menuPortalTargetProp === undefined ? typeof document !== 'undefined' ? document.body : null : menuPortalTargetProp;
|
|
96
63
|
const menuPosition = menuPositionProp ?? (menuPortalTarget ? 'fixed' : undefined);
|
|
64
|
+
const shouldUseFloatingMenuPortal = Boolean(menuPortalTarget && !components?.MenuPortal);
|
|
97
65
|
const captureMenuScroll = getCaptureMenuScroll({
|
|
98
66
|
captureMenuScroll: captureMenuScrollProp,
|
|
99
67
|
menuPortalTarget
|
|
100
68
|
});
|
|
101
|
-
const updateMenuViewportSettings = useCallback(() => {
|
|
102
|
-
if (!isMenuOpen || typeof window === 'undefined') {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
const controlEl = containerRef.current?.querySelector('.rs__control');
|
|
106
|
-
if (!controlEl) {
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
const controlRect = controlEl.getBoundingClientRect();
|
|
110
|
-
const availableBelow = Math.max(window.innerHeight - controlRect.bottom - MENU_VIEWPORT_GAP, 0);
|
|
111
|
-
const availableAbove = Math.max(controlRect.top - MENU_VIEWPORT_GAP, 0);
|
|
112
|
-
const shouldOpenTop = availableBelow < MIN_USABLE_MENU_HEIGHT && availableAbove > availableBelow;
|
|
113
|
-
const availableHeight = shouldOpenTop ? availableAbove : availableBelow;
|
|
114
|
-
setMenuPlacement(shouldOpenTop ? 'top' : 'bottom');
|
|
115
|
-
setMaxMenuHeight(Math.max(Math.min(Math.floor(availableHeight), DEFAULT_MAX_MENU_HEIGHT), 1));
|
|
116
|
-
}, [isMenuOpen]);
|
|
117
69
|
useEffect(() => {
|
|
118
70
|
setHasMounted(true);
|
|
119
71
|
}, []);
|
|
120
|
-
useLayoutEffect(() => {
|
|
121
|
-
if (!isMenuOpen) {
|
|
122
|
-
setMenuPlacement('auto');
|
|
123
|
-
setMaxMenuHeight(DEFAULT_MAX_MENU_HEIGHT);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
updateMenuViewportSettings();
|
|
127
|
-
window.addEventListener('resize', updateMenuViewportSettings);
|
|
128
|
-
window.addEventListener('scroll', updateMenuViewportSettings, true);
|
|
129
|
-
return () => {
|
|
130
|
-
window.removeEventListener('resize', updateMenuViewportSettings);
|
|
131
|
-
window.removeEventListener('scroll', updateMenuViewportSettings, true);
|
|
132
|
-
};
|
|
133
|
-
}, [isMenuOpen, updateMenuViewportSettings]);
|
|
134
72
|
// Debounce the loading state so that fast option fetches (e.g. relationship
|
|
135
73
|
// fields that resolve almost instantly) don't cause the clear indicator to
|
|
136
74
|
// flash to react-select's loading indicator and back. The loading indicator
|
|
@@ -139,15 +77,6 @@ const SelectAdapter = props => {
|
|
|
139
77
|
useDebouncedEffect(() => {
|
|
140
78
|
setIsLoadingDebounced(isLoading);
|
|
141
79
|
}, [isLoading], 250);
|
|
142
|
-
const handleMenuOpen = () => {
|
|
143
|
-
setIsMenuOpen(true);
|
|
144
|
-
requestAnimationFrame(updateMenuViewportSettings);
|
|
145
|
-
onMenuOpen?.();
|
|
146
|
-
};
|
|
147
|
-
const handleMenuClose = () => {
|
|
148
|
-
setIsMenuOpen(false);
|
|
149
|
-
onMenuClose?.();
|
|
150
|
-
};
|
|
151
80
|
const menuClassName = useCallback(state => {
|
|
152
81
|
const placement = state.placement ? `rs__menu--placement-${state.placement}` : '';
|
|
153
82
|
const external = externalClassNames?.menu?.(state) ?? '';
|
|
@@ -166,7 +95,7 @@ const SelectAdapter = props => {
|
|
|
166
95
|
Control,
|
|
167
96
|
DropdownIndicator,
|
|
168
97
|
Input,
|
|
169
|
-
MenuPortal:
|
|
98
|
+
MenuPortal: DefaultMenuPortal,
|
|
170
99
|
MultiValue,
|
|
171
100
|
MultiValueLabel,
|
|
172
101
|
MultiValueRemove,
|
|
@@ -187,50 +116,46 @@ const SelectAdapter = props => {
|
|
|
187
116
|
isLoading: isLoadingDebounced,
|
|
188
117
|
isSearchable,
|
|
189
118
|
loadingMessage: () => t('general:loading') + '...',
|
|
190
|
-
maxMenuHeight,
|
|
191
|
-
menuPlacement,
|
|
119
|
+
maxMenuHeight: DEFAULT_MAX_MENU_HEIGHT,
|
|
120
|
+
menuPlacement: 'auto',
|
|
192
121
|
menuPortalTarget,
|
|
193
122
|
menuPosition,
|
|
194
123
|
menuShouldBlockScroll: false,
|
|
195
124
|
noOptionsMessage,
|
|
196
125
|
onChange,
|
|
197
|
-
onMenuClose
|
|
198
|
-
onMenuOpen
|
|
126
|
+
onMenuClose,
|
|
127
|
+
onMenuOpen,
|
|
199
128
|
options,
|
|
200
129
|
placeholder: getTranslation(placeholder, i18n),
|
|
201
130
|
styles: {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
menu: (rsStyles, state_1) => ({
|
|
206
|
-
...rsStyles,
|
|
207
|
-
zIndex: undefined,
|
|
208
|
-
...externalStyles?.menu?.(rsStyles, state_1)
|
|
131
|
+
menu: getMenuStyles({
|
|
132
|
+
externalStyles,
|
|
133
|
+
shouldUseFloatingMenuPortal
|
|
209
134
|
}),
|
|
210
135
|
// When portaling to document.body, the portal container needs an explicit
|
|
211
136
|
// z-index so the menu appears above drawers and dialogs. unstyled={true}
|
|
212
137
|
// strips react-select's default zIndex:9999 from the portal container.
|
|
213
138
|
...(menuPortalTarget && {
|
|
214
|
-
menuPortal: (
|
|
215
|
-
...
|
|
216
|
-
zIndex:
|
|
217
|
-
...externalStyles?.menuPortal?.(
|
|
139
|
+
menuPortal: (rsStyles, state_1) => ({
|
|
140
|
+
...rsStyles,
|
|
141
|
+
zIndex: 'var(--z-portal-element)',
|
|
142
|
+
...externalStyles?.menuPortal?.(rsStyles, state_1)
|
|
218
143
|
})
|
|
219
144
|
}),
|
|
220
145
|
// Remove the default react-select min-height so our CSS can control it
|
|
221
|
-
control: (
|
|
222
|
-
...
|
|
146
|
+
control: (rsStyles_0, state_2) => ({
|
|
147
|
+
...rsStyles_0,
|
|
223
148
|
minHeight: undefined,
|
|
224
|
-
...externalStyles?.control?.(
|
|
149
|
+
...externalStyles?.control?.(rsStyles_0, state_2)
|
|
225
150
|
}),
|
|
226
151
|
// Allow external option styles to override emotion defaults
|
|
227
|
-
option: (
|
|
228
|
-
...
|
|
229
|
-
...externalStyles?.option?.(
|
|
152
|
+
option: (rsStyles_1, state_3) => ({
|
|
153
|
+
...rsStyles_1,
|
|
154
|
+
...externalStyles?.option?.(rsStyles_1, state_3)
|
|
230
155
|
}),
|
|
231
156
|
// Keep react-select's computed maxHeight so the menu can fit available
|
|
232
157
|
// viewport space near screen edges (instead of using a fixed class value).
|
|
233
|
-
menuList: getMenuListStyles(externalStyles)
|
|
158
|
+
menuList: getMenuListStyles(externalStyles, shouldUseFloatingMenuPortal)
|
|
234
159
|
},
|
|
235
160
|
unstyled: true
|
|
236
161
|
};
|
|
@@ -241,7 +166,6 @@ const SelectAdapter = props => {
|
|
|
241
166
|
}
|
|
242
167
|
if (!isCreatable) {
|
|
243
168
|
return /*#__PURE__*/_jsx("div", {
|
|
244
|
-
ref: containerRef,
|
|
245
169
|
children: /*#__PURE__*/_jsx(Select, {
|
|
246
170
|
...props,
|
|
247
171
|
...sharedSelectProps,
|
|
@@ -284,7 +208,6 @@ const SelectAdapter = props => {
|
|
|
284
208
|
}
|
|
285
209
|
};
|
|
286
210
|
return /*#__PURE__*/_jsx("div", {
|
|
287
|
-
ref: containerRef,
|
|
288
211
|
children: /*#__PURE__*/_jsx(CreatableSelect, {
|
|
289
212
|
...props,
|
|
290
213
|
...sharedSelectProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","arrayMove","getTranslation","React","useCallback","useEffect","useId","useLayoutEffect","useMemo","useRef","useState","Select","components","rsComponents","CreatableSelect","useDebouncedEffect","useTheme","useTranslation","DraggableSortable","ShimmerEffect","ClearIndicator","Control","DropdownIndicator","getCaptureMenuScroll","getMenuListStyles","Input","generateMultiValueDraggableID","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","ThemedMenuPortal","props","$","theme","menuPortalTheme","selectProps","customProps","t0","t1","_jsx","MenuPortal","innerProps","DEFAULT_MAX_MENU_HEIGHT","MIN_USABLE_MENU_HEIGHT","MENU_VIEWPORT_GAP","SelectAdapter","i18n","t","inputValue","setInputValue","uuid","hasMounted","setHasMounted","isMenuOpen","setIsMenuOpen","maxMenuHeight","setMaxMenuHeight","menuPlacement","setMenuPlacement","containerRef","captureMenuScroll","captureMenuScrollProp","className","classNames","externalClassNames","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","menuPortalTarget","menuPortalTargetProp","menuPosition","menuPositionProp","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","styles","externalStyles","value","document","body","updateMenuViewportSettings","window","controlEl","current","querySelector","controlRect","getBoundingClientRect","availableBelow","Math","max","innerHeight","bottom","availableAbove","top","shouldOpenTop","availableHeight","min","floor","addEventListener","removeEventListener","isLoadingDebounced","setIsLoadingDebounced","handleMenuOpen","requestAnimationFrame","handleMenuClose","menuClassName","state","placement","external","menu","filter","Boolean","join","selectClassNames","menuList","selectComponents","sharedSelectProps","classNamePrefix","instanceId","isDisabled","loadingMessage","menuShouldBlockScroll","rsStyles","zIndex","menuPortal","control","minHeight","option","unstyled","height","ref","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","nativeEvent","isComposing","label","onInputChange","newValue","onKeyDown","SortableSelect","draggableIDs","Array","isArray","map","optionValue","ids","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { JSX, KeyboardEventHandler } from 'react'\nimport type { GroupBase, MenuListProps, MenuProps, StylesConfig } from 'react-select'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport Select, { components as rsComponents } from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option, ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { DropdownIndicator } from './DropdownIndicator/index.js'\nimport { getCaptureMenuScroll } from './getCaptureMenuScroll.js'\nimport { getMenuListStyles } from './getMenuListStyles.js'\nimport { Input } from './Input/index.js'\nimport { generateMultiValueDraggableID, MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.css'\n\n// Propagates the nearest scoped theme (via ThemeProvider) into the portal div,\n// falling back to the global theme. Ensures dropdown menus portaled to\n// document.body inherit the correct theme (e.g. dark Popup).\nfunction ThemedMenuPortal<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>>(\n props: React.ComponentProps<typeof rsComponents.MenuPortal<Opt, IsMulti, Group>>,\n) {\n const { theme } = useTheme()\n const menuPortalTheme = (props.selectProps as any)?.customProps?.menuPortalTheme\n return (\n <rsComponents.MenuPortal\n {...props}\n innerProps={{ 'data-theme': menuPortalTheme ?? theme } as JSX.IntrinsicElements['div']}\n />\n )\n}\n\nconst DEFAULT_MAX_MENU_HEIGHT = 300\nconst MIN_USABLE_MENU_HEIGHT = 140\nconst MENU_VIEWPORT_GAP = 16 // space between the control and the edge of the window\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = useState('') // for creatable select\n const uuid = useId()\n const [hasMounted, setHasMounted] = useState(false)\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [maxMenuHeight, setMaxMenuHeight] = useState(DEFAULT_MAX_MENU_HEIGHT)\n const [menuPlacement, setMenuPlacement] = useState<'auto' | 'bottom' | 'top'>('auto')\n const containerRef = useRef<HTMLDivElement>(null)\n\n const {\n captureMenuScroll: captureMenuScrollProp,\n className,\n classNames: externalClassNames,\n components,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n menuPortalTarget: menuPortalTargetProp,\n menuPosition: menuPositionProp,\n noOptionsMessage = () => t('general:noOptions'),\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n styles: externalStyles,\n value,\n } = props\n\n const menuPortalTarget =\n menuPortalTargetProp === undefined\n ? typeof document !== 'undefined'\n ? document.body\n : null\n : menuPortalTargetProp\n\n const menuPosition = menuPositionProp ?? (menuPortalTarget ? 'fixed' : undefined)\n const captureMenuScroll = getCaptureMenuScroll({\n captureMenuScroll: captureMenuScrollProp,\n menuPortalTarget,\n })\n\n const updateMenuViewportSettings = useCallback(() => {\n if (!isMenuOpen || typeof window === 'undefined') {\n return\n }\n\n const controlEl = containerRef.current?.querySelector('.rs__control')\n\n if (!controlEl) {\n return\n }\n\n const controlRect = controlEl.getBoundingClientRect()\n const availableBelow = Math.max(window.innerHeight - controlRect.bottom - MENU_VIEWPORT_GAP, 0)\n const availableAbove = Math.max(controlRect.top - MENU_VIEWPORT_GAP, 0)\n const shouldOpenTop = availableBelow < MIN_USABLE_MENU_HEIGHT && availableAbove > availableBelow\n const availableHeight = shouldOpenTop ? availableAbove : availableBelow\n\n setMenuPlacement(shouldOpenTop ? 'top' : 'bottom')\n setMaxMenuHeight(Math.max(Math.min(Math.floor(availableHeight), DEFAULT_MAX_MENU_HEIGHT), 1))\n }, [isMenuOpen])\n\n useEffect(() => {\n setHasMounted(true)\n }, [])\n\n useLayoutEffect(() => {\n if (!isMenuOpen) {\n setMenuPlacement('auto')\n setMaxMenuHeight(DEFAULT_MAX_MENU_HEIGHT)\n return\n }\n\n updateMenuViewportSettings()\n\n window.addEventListener('resize', updateMenuViewportSettings)\n window.addEventListener('scroll', updateMenuViewportSettings, true)\n\n return () => {\n window.removeEventListener('resize', updateMenuViewportSettings)\n window.removeEventListener('scroll', updateMenuViewportSettings, true)\n }\n }, [isMenuOpen, updateMenuViewportSettings])\n\n // Debounce the loading state so that fast option fetches (e.g. relationship\n // fields that resolve almost instantly) don't cause the clear indicator to\n // flash to react-select's loading indicator and back. The loading indicator\n // only appears once a load takes longer than the threshold below.\n const [isLoadingDebounced, setIsLoadingDebounced] = useState(false)\n\n useDebouncedEffect(\n () => {\n setIsLoadingDebounced(isLoading)\n },\n [isLoading],\n 250,\n )\n\n const handleMenuOpen = () => {\n setIsMenuOpen(true)\n requestAnimationFrame(updateMenuViewportSettings)\n onMenuOpen?.()\n }\n\n const handleMenuClose = () => {\n setIsMenuOpen(false)\n onMenuClose?.()\n }\n\n const menuClassName = useCallback(\n (state: MenuProps<Option, boolean, GroupBase<Option>>) => {\n const placement = state.placement ? `rs__menu--placement-${state.placement}` : ''\n const external = externalClassNames?.menu?.(state) ?? ''\n return [placement, external].filter(Boolean).join(' ')\n },\n [externalClassNames],\n )\n\n const selectClassNames = useMemo(\n () => ({\n ...externalClassNames,\n menu: menuClassName,\n menuList: (state: MenuListProps<Option, boolean, GroupBase<Option>>) => {\n const external = externalClassNames?.menuList?.(state) ?? ''\n return ['scrollbar-thin', external].filter(Boolean).join(' ')\n },\n }),\n [externalClassNames, menuClassName],\n )\n\n const selectComponents = useMemo(\n () => ({\n ClearIndicator,\n Control,\n DropdownIndicator,\n Input,\n MenuPortal: ThemedMenuPortal,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }),\n [components],\n )\n\n const sharedSelectProps = {\n captureMenuScroll,\n className: [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' '),\n classNamePrefix: 'rs',\n classNames: selectClassNames,\n components: selectComponents,\n filterOption,\n instanceId: uuid,\n isClearable,\n isDisabled: disabled,\n isLoading: isLoadingDebounced,\n isSearchable,\n loadingMessage: () => t('general:loading') + '...',\n maxMenuHeight,\n menuPlacement,\n menuPortalTarget,\n menuPosition,\n menuShouldBlockScroll: false,\n noOptionsMessage,\n onChange,\n onMenuClose: handleMenuClose,\n onMenuOpen: handleMenuOpen,\n options,\n placeholder: getTranslation(placeholder, i18n),\n styles: {\n // Remove the default react-select z-index from the menu so that our custom\n // z-index in the \"payload-default\" css layer can take effect, in such a way\n // that end users can easily override it as with other styles.\n menu: (rsStyles, state) => ({\n ...rsStyles,\n zIndex: undefined,\n ...externalStyles?.menu?.(rsStyles, state),\n }),\n // When portaling to document.body, the portal container needs an explicit\n // z-index so the menu appears above drawers and dialogs. unstyled={true}\n // strips react-select's default zIndex:9999 from the portal container.\n ...(menuPortalTarget && {\n menuPortal: (rsStyles, state) => ({\n ...rsStyles,\n zIndex: 9999,\n ...externalStyles?.menuPortal?.(rsStyles, state),\n }),\n }),\n // Remove the default react-select min-height so our CSS can control it\n control: (rsStyles, state) => ({\n ...rsStyles,\n minHeight: undefined,\n ...externalStyles?.control?.(rsStyles, state),\n }),\n // Allow external option styles to override emotion defaults\n option: (rsStyles, state) => ({\n ...rsStyles,\n ...externalStyles?.option?.(rsStyles, state),\n }),\n // Keep react-select's computed maxHeight so the menu can fit available\n // viewport space near screen edges (instead of using a fixed class value).\n menuList: getMenuListStyles(externalStyles),\n },\n unstyled: true,\n }\n\n if (!hasMounted) {\n return <ShimmerEffect height=\"var(--field-min-height-large)\" />\n }\n\n if (!isCreatable) {\n return (\n <div ref={containerRef}>\n <Select<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n getOptionValue={getOptionValue}\n value={value}\n />\n </div>\n )\n }\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n\n if (!value || !inputValue || inputValue.trim() === '') {\n return\n }\n\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n\n if (event.nativeEvent.isComposing) {\n return\n }\n\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([\n ...(value as Option[]),\n {\n label: inputValue,\n value: inputValue,\n },\n ])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <div ref={containerRef}>\n <CreatableSelect<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n inputValue={inputValue}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n value={value}\n />\n </div>\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { getOptionValue, onChange, value } = props\n\n let draggableIDs: string[] = []\n if (value) {\n draggableIDs = (Array.isArray(value) ? value : [value]).map((optionValue) => {\n return generateMultiValueDraggableID(optionValue, getOptionValue)\n })\n }\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={draggableIDs}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["arrayMove","getTranslation","React","useCallback","useEffect","useId","useMemo","useState","Select","CreatableSelect","useDebouncedEffect","useTranslation","DraggableSortable","ShimmerEffect","ClearIndicator","Control","DefaultMenuPortal","DropdownIndicator","getCaptureMenuScroll","getMenuListStyles","getMenuStyles","Input","generateMultiValueDraggableID","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","DEFAULT_MAX_MENU_HEIGHT","SelectAdapter","props","i18n","t","inputValue","setInputValue","uuid","hasMounted","setHasMounted","captureMenuScroll","captureMenuScrollProp","className","classNames","externalClassNames","components","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","menuPortalTarget","menuPortalTargetProp","menuPosition","menuPositionProp","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","styles","externalStyles","value","document","body","shouldUseFloatingMenuPortal","Boolean","MenuPortal","isLoadingDebounced","setIsLoadingDebounced","menuClassName","state","placement","external","menu","filter","join","selectClassNames","menuList","selectComponents","sharedSelectProps","classNamePrefix","instanceId","isDisabled","loadingMessage","maxMenuHeight","menuPlacement","menuShouldBlockScroll","menuPortal","rsStyles","zIndex","control","minHeight","option","unstyled","_jsx","height","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","nativeEvent","isComposing","label","onInputChange","newValue","onKeyDown","SortableSelect","draggableIDs","Array","isArray","map","optionValue","ids","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { KeyboardEventHandler } from 'react'\nimport type { GroupBase, MenuListProps, MenuProps } from 'react-select'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\nimport Select from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option, ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { DefaultMenuPortal } from './DefaultMenuPortal.js'\nimport { DropdownIndicator } from './DropdownIndicator/index.js'\nimport { getCaptureMenuScroll } from './getCaptureMenuScroll.js'\nimport { getMenuListStyles } from './getMenuListStyles.js'\nimport { getMenuStyles } from './getMenuStyles.js'\nimport { Input } from './Input/index.js'\nimport { generateMultiValueDraggableID, MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.css'\n\nconst DEFAULT_MAX_MENU_HEIGHT = 300\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = useState('') // for creatable select\n const uuid = useId()\n const [hasMounted, setHasMounted] = useState(false)\n\n const {\n captureMenuScroll: captureMenuScrollProp,\n className,\n classNames: externalClassNames,\n components,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n menuPortalTarget: menuPortalTargetProp,\n menuPosition: menuPositionProp,\n noOptionsMessage = () => t('general:noOptions'),\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n styles: externalStyles,\n value,\n } = props\n\n const menuPortalTarget =\n menuPortalTargetProp === undefined\n ? typeof document !== 'undefined'\n ? document.body\n : null\n : menuPortalTargetProp\n\n const menuPosition = menuPositionProp ?? (menuPortalTarget ? 'fixed' : undefined)\n const shouldUseFloatingMenuPortal = Boolean(menuPortalTarget && !components?.MenuPortal)\n const captureMenuScroll = getCaptureMenuScroll({\n captureMenuScroll: captureMenuScrollProp,\n menuPortalTarget,\n })\n\n useEffect(() => {\n setHasMounted(true)\n }, [])\n\n // Debounce the loading state so that fast option fetches (e.g. relationship\n // fields that resolve almost instantly) don't cause the clear indicator to\n // flash to react-select's loading indicator and back. The loading indicator\n // only appears once a load takes longer than the threshold below.\n const [isLoadingDebounced, setIsLoadingDebounced] = useState(false)\n\n useDebouncedEffect(\n () => {\n setIsLoadingDebounced(isLoading)\n },\n [isLoading],\n 250,\n )\n\n const menuClassName = useCallback(\n (state: MenuProps<Option, boolean, GroupBase<Option>>) => {\n const placement = state.placement ? `rs__menu--placement-${state.placement}` : ''\n const external = externalClassNames?.menu?.(state) ?? ''\n return [placement, external].filter(Boolean).join(' ')\n },\n [externalClassNames],\n )\n\n const selectClassNames = useMemo(\n () => ({\n ...externalClassNames,\n menu: menuClassName,\n menuList: (state: MenuListProps<Option, boolean, GroupBase<Option>>) => {\n const external = externalClassNames?.menuList?.(state) ?? ''\n return ['scrollbar-thin', external].filter(Boolean).join(' ')\n },\n }),\n [externalClassNames, menuClassName],\n )\n\n const selectComponents = useMemo(\n () => ({\n ClearIndicator,\n Control,\n DropdownIndicator,\n Input,\n MenuPortal: DefaultMenuPortal,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }),\n [components],\n )\n\n const sharedSelectProps = {\n captureMenuScroll,\n className: [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' '),\n classNamePrefix: 'rs',\n classNames: selectClassNames,\n components: selectComponents,\n filterOption,\n instanceId: uuid,\n isClearable,\n isDisabled: disabled,\n isLoading: isLoadingDebounced,\n isSearchable,\n loadingMessage: () => t('general:loading') + '...',\n maxMenuHeight: DEFAULT_MAX_MENU_HEIGHT,\n menuPlacement: 'auto' as const,\n menuPortalTarget,\n menuPosition,\n menuShouldBlockScroll: false,\n noOptionsMessage,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder: getTranslation(placeholder, i18n),\n styles: {\n menu: getMenuStyles({\n externalStyles,\n shouldUseFloatingMenuPortal,\n }),\n // When portaling to document.body, the portal container needs an explicit\n // z-index so the menu appears above drawers and dialogs. unstyled={true}\n // strips react-select's default zIndex:9999 from the portal container.\n ...(menuPortalTarget && {\n menuPortal: (rsStyles, state) => ({\n ...rsStyles,\n zIndex: 'var(--z-portal-element)',\n ...externalStyles?.menuPortal?.(rsStyles, state),\n }),\n }),\n // Remove the default react-select min-height so our CSS can control it\n control: (rsStyles, state) => ({\n ...rsStyles,\n minHeight: undefined,\n ...externalStyles?.control?.(rsStyles, state),\n }),\n // Allow external option styles to override emotion defaults\n option: (rsStyles, state) => ({\n ...rsStyles,\n ...externalStyles?.option?.(rsStyles, state),\n }),\n // Keep react-select's computed maxHeight so the menu can fit available\n // viewport space near screen edges (instead of using a fixed class value).\n menuList: getMenuListStyles(externalStyles, shouldUseFloatingMenuPortal),\n },\n unstyled: true,\n }\n\n if (!hasMounted) {\n return <ShimmerEffect height=\"var(--field-min-height-large)\" />\n }\n\n if (!isCreatable) {\n return (\n <div>\n <Select<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n getOptionValue={getOptionValue}\n value={value}\n />\n </div>\n )\n }\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n\n if (!value || !inputValue || inputValue.trim() === '') {\n return\n }\n\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n\n if (event.nativeEvent.isComposing) {\n return\n }\n\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([\n ...(value as Option[]),\n {\n label: inputValue,\n value: inputValue,\n },\n ])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <div>\n <CreatableSelect<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n inputValue={inputValue}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n value={value}\n />\n </div>\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { getOptionValue, onChange, value } = props\n\n let draggableIDs: string[] = []\n if (value) {\n draggableIDs = (Array.isArray(value) ? value : [value]).map((optionValue) => {\n return generateMultiValueDraggableID(optionValue, getOptionValue)\n })\n }\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={draggableIDs}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LabelFunction } from 'payload';
|
|
2
2
|
import type { ClassNamesConfig, CommonProps, GroupBase, Props as ReactSelectStateManagerProps, StylesConfig } from 'react-select';
|
|
3
3
|
import type { DocumentDrawerProps } from '../DocumentDrawer/types.js';
|
|
4
|
-
type CustomSelectProps = {
|
|
4
|
+
export type CustomSelectProps = {
|
|
5
5
|
disableKeyDown?: boolean;
|
|
6
6
|
disableMouseDown?: boolean;
|
|
7
7
|
draggableProps?: any;
|
|
@@ -90,5 +90,4 @@ export type ReactSelectAdapterProps = {
|
|
|
90
90
|
styles?: StylesConfig<Option>;
|
|
91
91
|
value?: Option | Option[];
|
|
92
92
|
};
|
|
93
|
-
export {};
|
|
94
93
|
//# sourceMappingURL=types.d.ts.map
|