@payloadcms/ui 3.0.0-beta.84 → 3.0.0-beta.86
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/@types/assets.d.js.map +1 -1
- package/dist/assets/index.js +0 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +132 -95
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +93 -83
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +277 -199
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +27 -31
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/Button/index.js +212 -101
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +1 -2
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +33 -32
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +77 -28
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +15 -13
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +1 -2
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +167 -84
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +31 -27
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +94 -41
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +78 -45
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +132 -81
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js +10 -10
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/types.js +1 -2
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +127 -130
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +119 -114
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +179 -201
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +169 -82
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +251 -107
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +1 -2
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +53 -56
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +59 -21
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +1 -2
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +96 -40
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.js +1 -2
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +85 -24
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +1 -2
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.js +217 -103
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.js +1 -2
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +19 -7
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/Dropzone/index.js +157 -113
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +165 -97
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/index.js +399 -211
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +452 -401
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +21 -23
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +164 -135
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +92 -61
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +60 -49
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +62 -59
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/Gutter/index.d.ts.map +1 -1
- package/dist/elements/Gutter/index.js +18 -16
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +38 -25
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +27 -10
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +10 -13
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +8 -7
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.js +248 -150
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +507 -257
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +227 -120
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +1 -2
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListSelection/index.js +54 -36
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/Loading/index.js +150 -73
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +120 -59
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.js +30 -27
- package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
- package/dist/elements/LoadingOverlay/types.js +1 -2
- package/dist/elements/LoadingOverlay/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +56 -27
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +85 -40
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.js +94 -26
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Modal/index.d.ts.map +1 -1
- package/dist/elements/Modal/index.js +2 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +78 -28
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +126 -88
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +141 -73
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +15 -15
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +15 -14
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +5 -5
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +90 -81
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +77 -48
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js +108 -64
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +51 -48
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +34 -32
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
- package/dist/elements/Popup/index.js +143 -145
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +44 -21
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js +57 -48
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +118 -129
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +108 -44
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.js +120 -115
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +26 -20
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +40 -31
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +20 -15
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +12 -11
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +124 -38
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +20 -14
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +84 -35
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +13 -13
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +15 -11
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +180 -165
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +1 -2
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +53 -23
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +98 -41
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +143 -73
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +85 -27
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +44 -15
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +41 -11
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +61 -31
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +107 -65
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +172 -101
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Status/index.js +233 -176
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +98 -52
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +27 -10
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.d.ts.map +1 -1
- package/dist/elements/StepNav/context.js +35 -11
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +89 -67
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.js +1 -2
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +26 -7
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +51 -24
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +25 -8
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +16 -13
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +59 -11
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +27 -23
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +11 -9
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +182 -89
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +58 -17
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +8 -6
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js +13 -13
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +158 -72
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +144 -82
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
- package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.js +41 -18
- package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +83 -46
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +104 -97
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.js +17 -20
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.js +29 -42
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/elements/TableColumns/index.js +248 -125
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +100 -43
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +77 -35
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +131 -69
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.d.ts.map +1 -1
- package/dist/elements/Translation/index.js +40 -31
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +121 -116
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +455 -291
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +37 -14
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/ViewDescription/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +19 -12
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +38 -10
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +272 -300
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +68 -83
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +159 -68
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +38 -10
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +296 -140
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js +1 -2
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +103 -163
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +274 -229
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js +95 -89
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
- package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/transformWhereQuery.js +39 -45
- package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
- package/dist/elements/WhereBuilder/types.js +1 -2
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.js +30 -29
- package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
- package/dist/elements/WindowInfo/index.d.ts.map +1 -1
- package/dist/elements/WindowInfo/index.js +2 -1
- package/dist/elements/WindowInfo/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +20 -17
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +25 -21
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/CodeEditor-C4FLUUO7.js +24 -0
- package/dist/exports/client/CodeEditor-C4FLUUO7.js.map +8 -0
- package/dist/exports/client/{DatePicker-QKRYICNS.js → DatePicker-E6IJFDN2.js} +2 -2
- package/dist/exports/client/{chunk-HR5HEGNB.js → chunk-OBXEO4WP.js} +3 -3
- package/dist/exports/client/{chunk-HR5HEGNB.js.map → chunk-OBXEO4WP.js.map} +3 -3
- package/dist/exports/client/chunk-UGBVRIVY.js +14 -0
- package/dist/exports/client/chunk-UGBVRIVY.js.map +8 -0
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.js +163 -67
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +471 -291
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +155 -80
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +36 -16
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +121 -68
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +98 -34
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +77 -27
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +473 -307
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +47 -51
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +212 -76
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +198 -71
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +212 -124
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +80 -46
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +191 -72
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +190 -74
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +57 -26
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +73 -29
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +82 -30
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +176 -80
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +13 -8
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +73 -22
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +114 -114
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.js +315 -165
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +173 -68
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +131 -62
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.js +1 -2
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +255 -133
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +79 -34
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +241 -94
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/AddNew/index.js +246 -158
- package/dist/fields/Relationship/AddNew/index.js.map +1 -1
- package/dist/fields/Relationship/AddNew/types.js +1 -2
- package/dist/fields/Relationship/AddNew/types.js.map +1 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +1 -1
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js +25 -13
- package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
- package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
- package/dist/fields/Relationship/createRelationMap.js +48 -45
- package/dist/fields/Relationship/createRelationMap.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js +33 -29
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.js +642 -471
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +110 -113
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +168 -66
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +173 -67
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/types.js +1 -2
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js +4 -3
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.js +69 -22
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +13 -8
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +193 -70
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +99 -79
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +65 -30
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +234 -118
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/index.scss +2 -1
- package/dist/fields/Tabs/provider.js +13 -8
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +171 -82
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +194 -95
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.js +1 -2
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +144 -69
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +132 -53
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.js +1 -2
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/UI/index.d.ts.map +1 -1
- package/dist/fields/UI/index.js +4 -3
- package/dist/fields/UI/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +296 -143
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.js +142 -63
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +26 -25
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js +17 -8
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js +37 -27
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/context.js +30 -14
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.js +11 -10
- package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
- package/dist/forms/Form/errorMessages.d.ts.map +1 -1
- package/dist/forms/Form/errorMessages.js +3 -2
- package/dist/forms/Form/errorMessages.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +319 -288
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +510 -528
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +34 -33
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -1
- package/dist/forms/Form/mergeErrorPaths.js +25 -24
- package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +52 -51
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
- package/dist/forms/Form/rowHelpers.js +29 -21
- package/dist/forms/Form/rowHelpers.js.map +1 -1
- package/dist/forms/Form/rows.d.ts.map +1 -1
- package/dist/forms/Form/rows.js +33 -32
- package/dist/forms/Form/rows.js.map +1 -1
- package/dist/forms/Form/types.js +1 -2
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +57 -27
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +65 -61
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +112 -51
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.js +1 -2
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +29 -20
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/index.js +29 -24
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.js +1 -2
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.js +40 -17
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js +33 -32
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +26 -22
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
- package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/getNestedFieldState.js +19 -14
- package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +54 -19
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +395 -368
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +54 -61
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +16 -11
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +20 -14
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +127 -121
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js +26 -27
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js +37 -30
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js +56 -36
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.js +162 -173
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +1 -2
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +56 -18
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +37 -17
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +21 -29
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +32 -19
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +71 -19
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +31 -38
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/ExternalLink/index.js +18 -17
- package/dist/graphics/ExternalLink/index.js.map +1 -1
- package/dist/graphics/File/index.js +18 -23
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +18 -20
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +29 -41
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useDebounce.js +26 -15
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
- package/dist/hooks/useDebouncedCallback.js +24 -15
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +54 -18
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.d.ts.map +1 -1
- package/dist/hooks/useDelay.js +53 -27
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.d.ts.map +1 -1
- package/dist/hooks/useDelayedRender.js +77 -40
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useHotkey.js +105 -91
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.d.ts +1 -0
- package/dist/hooks/useIntersect.d.ts.map +1 -1
- package/dist/hooks/useIntersect.js +83 -26
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts +1 -0
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +180 -79
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useResize.d.ts.map +1 -1
- package/dist/hooks/useResize.js +70 -41
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts +1 -0
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +51 -17
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +10 -5
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Calendar/index.js +10 -11
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +10 -11
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +19 -20
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +10 -11
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +12 -13
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +16 -15
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +32 -41
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +12 -14
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Line/index.js +13 -14
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +15 -16
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +13 -14
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +13 -14
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +18 -20
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +20 -26
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/Plus/index.js +12 -13
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +11 -12
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Swap/index.js +10 -11
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/X/index.js +14 -16
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/SetViewActions/index.d.ts +1 -1
- package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
- package/dist/providers/Actions/SetViewActions/index.js +31 -14
- package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
- package/dist/providers/Actions/index.js +89 -24
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +226 -256
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +103 -54
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/RenderComponent.js +66 -61
- package/dist/providers/Config/RenderComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +165 -156
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.js +285 -279
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
- package/dist/providers/Config/createClientConfig/getComponent.js +31 -23
- package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -84
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/globals.js +97 -90
- package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
- package/dist/providers/Config/createClientConfig/index.js +92 -82
- package/dist/providers/Config/createClientConfig/index.js.map +1 -1
- package/dist/providers/Config/index.js +50 -21
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +29 -13
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +403 -447
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +1 -2
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/EditDepth/index.js +12 -7
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +49 -20
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/FieldComponents/index.js +13 -8
- package/dist/providers/FieldComponents/index.js.map +1 -1
- package/dist/providers/ListInfo/index.js +13 -8
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +122 -131
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Locale/index.js +124 -56
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +12 -7
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +24 -8
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +111 -109
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +72 -66
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +58 -22
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
- package/dist/providers/ScrollInfo/index.js +10 -5
- package/dist/providers/ScrollInfo/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +84 -35
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +212 -128
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/Theme/index.js +97 -57
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.d.ts.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +19 -21
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.d.ts.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +19 -21
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.d.ts.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +19 -21
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.d.ts.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +19 -21
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +31 -31
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +114 -58
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.d.ts.map +1 -1
- package/dist/providers/UploadEdits/index.js +53 -22
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/WindowInfo/index.d.ts.map +1 -1
- package/dist/providers/WindowInfo/index.js +10 -5
- package/dist/providers/WindowInfo/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/api.js +77 -78
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/arraysHaveSameStrings.js +13 -14
- package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +40 -44
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +76 -71
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/types.js +1 -2
- package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
- package/dist/utilities/buildFormState.js +158 -154
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/canUseDOM.js +0 -1
- package/dist/utilities/canUseDOM.js.map +1 -1
- package/dist/utilities/dateLocales.js +26 -27
- package/dist/utilities/dateLocales.js.map +1 -1
- package/dist/utilities/findLocaleFromCode.js +5 -6
- package/dist/utilities/findLocaleFromCode.js.map +1 -1
- package/dist/utilities/flattenFieldMap.js +16 -25
- package/dist/utilities/flattenFieldMap.js.map +1 -1
- package/dist/utilities/formatAdminURL.js +16 -12
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/formatDate.js +17 -11
- package/dist/utilities/formatDate.js.map +1 -1
- package/dist/utilities/formatDocTitle.js +32 -26
- package/dist/utilities/formatDocTitle.js.map +1 -1
- package/dist/utilities/formatFields.js +1 -2
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -3
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getFormState.js +29 -23
- package/dist/utilities/getFormState.js.map +1 -1
- package/dist/utilities/getOffsetTop.js +13 -14
- package/dist/utilities/getOffsetTop.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js +8 -5
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.js +13 -14
- package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
- package/dist/utilities/groupNavItems.js +31 -35
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/hasSavePermission.js +14 -10
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isEditing.js +5 -2
- package/dist/utilities/isEditing.js.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js +16 -16
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/dist/utilities/scrollToID.js +9 -10
- package/dist/utilities/scrollToID.js.map +1 -1
- package/dist/utilities/setsAreEqual.js +2 -3
- package/dist/utilities/setsAreEqual.js.map +1 -1
- package/package.json +14 -12
- package/dist/exports/client/CodeEditor-MODTAQNB.js +0 -24
- package/dist/exports/client/CodeEditor-MODTAQNB.js.map +0 -8
- package/dist/exports/client/chunk-QJ5EJH4V.js +0 -14
- package/dist/exports/client/chunk-QJ5EJH4V.js.map +0 -8
- package/dist/fields/Number/Input.d.ts +0 -2
- package/dist/fields/Number/Input.d.ts.map +0 -1
- package/dist/fields/Number/Input.js +0 -2
- package/dist/fields/Number/Input.js.map +0 -1
- /package/dist/exports/client/{DatePicker-QKRYICNS.js.map → DatePicker-E6IJFDN2.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, RelationshipFieldProps, Where } from 'payload'\n\nimport { wordBoundariesRegex } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { GetResults, Option, Value } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { AddNewRelation } from './AddNew/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport './index.scss'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst maxResultsPerRequest = 10\n\nconst baseClass = 'relationship'\n\nconst RelationshipFieldComponent: React.FC<RelationshipFieldProps> = (props) => {\n const {\n descriptionProps,\n errorProps,\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n allowCreate = true,\n className,\n description,\n isSortable = true,\n readOnly: readOnlyFromAdmin,\n sortOptions,\n style,\n width,\n } = {},\n hasMany,\n label,\n relationTo,\n required,\n },\n labelProps,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { config } = useConfig()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const menuIsOpen = useRef(false)\n const hasLoadedFirstPageRef = useRef(false)\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const {\n filterOptions,\n formInitializing,\n formProcessing,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<Value | Value[]>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const readOnly = readOnlyFromProps || readOnlyFromContext || formInitializing\n\n const valueRef = useRef(value)\n valueRef.current = value\n\n const [drawerIsOpen, setDrawerIsOpen] = useState(false)\n\n const getResults: GetResults = useCallback(\n async ({\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value: valueArg,\n })\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n let fieldToSort = collection?.defaultSort || 'id'\n if (typeof sortOptions === 'string') {\n fieldToSort = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSort = sortOptions[relation]\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n sort: fieldToSort,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') onSuccess()\n }\n },\n [\n permissions,\n relationTo,\n hasMany,\n errorLoading,\n search,\n collections,\n locale,\n filterOptions,\n serverURL,\n sortOptions,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback((searchArg: string, valueArg: Value | Value[]) => {\n void getResults({ lastLoadedPage: {}, search: searchArg, sort: true, value: valueArg })\n setSearch(searchArg)\n }, 300)\n\n const handleInputChange = useCallback(\n (searchArg: string, valueArg: Value | Value[]) => {\n if (search !== searchArg) {\n setLastLoadedPage({})\n updateSearch(searchArg, valueArg, searchArg !== '')\n }\n },\n [search, updateSearch],\n )\n\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n\n useEffect(() => {\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value,\n })\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n const collection = collections.find((coll) => coll.slug === relation)\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n }, [\n options,\n value,\n hasMany,\n errorLoading,\n collections,\n hasMultipleRelations,\n serverURL,\n api,\n i18n,\n relationTo,\n locale,\n config,\n ])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, collections])\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of getFormState and fast clicking into this field,\n // re-fetch options\n\n if (hasLoadedFirstPageRef.current && menuIsOpen.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: valueRef.current,\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu\n // opens by the user\n\n dispatchOptions({ type: 'CLEAR' })\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n hasLoadedFirstPageRef.current = false\n }, [\n relationTo,\n filterOptions,\n locale,\n menuIsOpen,\n getResults,\n valueRef,\n hasLoadedFirstPageRef,\n path,\n ])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n doc: args.doc,\n i18n,\n })\n },\n [i18n, config],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let string = item.label\n // strings less than breakApartThreshold length won't be chunked\n while (string.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = string.indexOf(' ', searchFilter.length)\n if (r.test(string.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {\n return true\n }\n string = string.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(string.slice(-breakApartThreshold))\n }, [])\n\n const valueToRender = findOptionsByValue({ options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') valueToRender.value = null\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n !readOnly && allowCreate && `${baseClass}--allow-create`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={field?.admin?.components?.Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError\n CustomError={field?.admin?.components?.Error}\n path={path}\n {...(errorProps || {})}\n />\n {!errorLoading && (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!drawerIsOpen}\n components={{\n MultiValueLabel,\n SingleValue,\n }}\n customProps={{\n disableKeyDown: drawerIsOpen,\n disableMouseDown: drawerIsOpen,\n onSave,\n setDrawerIsOpen,\n }}\n disabled={readOnly || formProcessing || drawerIsOpen}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n getOptionValue={(option) => {\n if (!option) return undefined\n return hasMany && Array.isArray(relationTo)\n ? `${option.relationTo}_${option.value}`\n : option.value\n }}\n isLoading={isLoading}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={\n !readOnly\n ? (selected) => {\n if (selected === null) {\n setValue(hasMany ? [] : null)\n } else if (hasMany && Array.isArray(selected)) {\n setValue(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option.relationTo,\n value: option.value,\n }\n }\n\n return option.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n setValue({\n relationTo: selected.relationTo,\n value: selected.value,\n })\n } else if (!Array.isArray(selected)) {\n setValue(selected.value)\n }\n }\n : undefined\n }\n onInputChange={(newSearch) => handleInputChange(newSearch, value)}\n onMenuClose={() => {\n menuIsOpen.current = false\n }}\n onMenuOpen={() => {\n menuIsOpen.current = true\n\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: initialValue,\n })\n }\n }}\n onMenuScrollToBottom={() => {\n void getResults({\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n value: initialValue,\n })\n }}\n options={options}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n {...{\n dispatchOptions,\n hasMany,\n options,\n path,\n relationTo,\n setValue,\n value,\n }}\n />\n )}\n </div>\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n <FieldDescription\n Description={field?.admin?.components?.Description}\n description={description}\n {...(descriptionProps || {})}\n />\n </div>\n </div>\n )\n}\n\nexport const RelationshipField = withCondition(RelationshipFieldComponent)\n"],"names":["wordBoundariesRegex","qs","React","useCallback","useEffect","useReducer","useRef","useState","ReactSelect","useFieldProps","useField","withCondition","useDebouncedCallback","useAuth","useConfig","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","AddNewRelation","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","maxResultsPerRequest","baseClass","RelationshipFieldComponent","props","descriptionProps","errorProps","field","name","_path","pathFromProps","admin","allowCreate","className","description","isSortable","readOnly","readOnlyFromAdmin","sortOptions","style","width","hasMany","label","relationTo","required","labelProps","readOnlyFromTopLevelProps","validate","readOnlyFromProps","config","collections","routes","api","serverURL","i18n","t","permissions","code","locale","hasMultipleRelations","Array","isArray","options","dispatchOptions","lastFullyLoadedRelation","setLastFullyLoadedRelation","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","hasLoadedFirstPageRef","memoizedValidate","value","validationOptions","path","pathFromContext","readOnlyFromContext","filterOptions","formInitializing","formProcessing","initialValue","setValue","showError","valueRef","current","drawerIsOpen","setDrawerIsOpen","getResults","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","reduce","priorRelation","relation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","find","coll","slug","fieldToSearch","useAsTitle","fieldToSort","defaultSort","query","depth","draft","limit","page","where","and","id","not_in","push","like","response","fetch","body","stringify","credentials","headers","language","method","ok","data","json","prevState","nextPage","docs","length","type","status","ids","updateSearch","handleInputChange","Object","entries","idsToLoad","filter","optionGroup","option","in","isIdOnly","idOnly","onSave","args","collectionConfig","doc","filterOption","item","searchFilter","r","breakApartThreshold","string","indexOfSpace","test","valueToRender","div","Boolean","join","replace","Label","components","CustomError","Error","backspaceRemovesValue","customProps","disableKeyDown","disableMouseDown","disabled","undefined","getOptionValue","isMulti","onChange","selected","map","onInputChange","newSearch","onMenuClose","onMenuOpen","onMenuScrollToBottom","Description","RelationshipField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","wordBoundariesRegex","qs","React","useCallback","useEffect","useReducer","useRef","useState","ReactSelect","useFieldProps","useField","withCondition","useDebouncedCallback","useAuth","useConfig","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","AddNewRelation","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","maxResultsPerRequest","baseClass","RelationshipFieldComponent","props","$","descriptionProps","errorProps","field","t0","labelProps","readOnly","readOnlyFromTopLevelProps","validate","name","_path","pathFromProps","admin","t1","hasMany","label","relationTo","required","t2","undefined","allowCreate","t3","className","description","isSortable","t4","readOnlyFromAdmin","sortOptions","style","width","readOnlyFromProps","config","collections","routes","t5","serverURL","api","i18n","t","permissions","code","locale","hasMultipleRelations","Array","isArray","t6","Symbol","for","options","dispatchOptions","lastFullyLoadedRelation","setLastFullyLoadedRelation","t7","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","hasLoadedFirstPageRef","t8","value","validationOptions","memoizedValidate","path","pathFromContext","readOnlyFromContext","t9","t10","filterOptions","formInitializing","formProcessing","initialValue","setValue","showError","value_0","valueRef","current","drawerIsOpen","setDrawerIsOpen","t11","t12","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","reduce","priorRelation","relation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","find","coll","slug","fieldToSearch","useAsTitle","fieldToSort","defaultSort","query","depth","draft","limit","page","where","and","id","not_in","push","like","response","fetch","body","stringify","credentials","headers","language","method","ok","data","json","prevState","nextPage","docs","length","type","status","ids","getResults","searchArg_0","valueArg_0","updateSearch","t13","searchArg_1","valueArg_1","handleInputChange","t14","relationMap_0","Object","entries","priorRelation_0","t15","relation_0","idsToLoad","filter","optionGroup","option","query_0","in","response_0","collection_0","coll_0","data_0","t16","t17","relations_0","isIdOnly","idOnly","relation_1","collection_1","coll_1","fieldToSearch_0","t18","args","collectionConfig","doc","onSave","filterOption","_temp","valueToRender","t19","t20","t21","t22","t23","Boolean","t24","t25","t26","_jsx","children","t27","_jsxs","join","replace","Label","components","CustomError","Error","backspaceRemovesValue","customProps","disableKeyDown","disableMouseDown","disabled","getOptionValue","option_0","isMulti","onChange","selected","map","option_1","onInputChange","newSearch","onMenuClose","onMenuOpen","onMenuScrollToBottom","Description","RelationshipField","item","searchFilter","r","string","indexOfSpace","test"],"sources":["../../../src/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, RelationshipFieldProps, Where } from 'payload'\n\nimport { wordBoundariesRegex } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { GetResults, Option, Value } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { AddNewRelation } from './AddNew/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport './index.scss'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst maxResultsPerRequest = 10\n\nconst baseClass = 'relationship'\n\nconst RelationshipFieldComponent: React.FC<RelationshipFieldProps> = (props) => {\n const {\n descriptionProps,\n errorProps,\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n allowCreate = true,\n className,\n description,\n isSortable = true,\n readOnly: readOnlyFromAdmin,\n sortOptions,\n style,\n width,\n } = {},\n hasMany,\n label,\n relationTo,\n required,\n },\n labelProps,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { config } = useConfig()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const menuIsOpen = useRef(false)\n const hasLoadedFirstPageRef = useRef(false)\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const {\n filterOptions,\n formInitializing,\n formProcessing,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<Value | Value[]>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const readOnly = readOnlyFromProps || readOnlyFromContext || formInitializing\n\n const valueRef = useRef(value)\n valueRef.current = value\n\n const [drawerIsOpen, setDrawerIsOpen] = useState(false)\n\n const getResults: GetResults = useCallback(\n async ({\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value: valueArg,\n })\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n let fieldToSort = collection?.defaultSort || 'id'\n if (typeof sortOptions === 'string') {\n fieldToSort = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSort = sortOptions[relation]\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n sort: fieldToSort,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') onSuccess()\n }\n },\n [\n permissions,\n relationTo,\n hasMany,\n errorLoading,\n search,\n collections,\n locale,\n filterOptions,\n serverURL,\n sortOptions,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback((searchArg: string, valueArg: Value | Value[]) => {\n void getResults({ lastLoadedPage: {}, search: searchArg, sort: true, value: valueArg })\n setSearch(searchArg)\n }, 300)\n\n const handleInputChange = useCallback(\n (searchArg: string, valueArg: Value | Value[]) => {\n if (search !== searchArg) {\n setLastLoadedPage({})\n updateSearch(searchArg, valueArg, searchArg !== '')\n }\n },\n [search, updateSearch],\n )\n\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n\n useEffect(() => {\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value,\n })\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n const collection = collections.find((coll) => coll.slug === relation)\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n }, [\n options,\n value,\n hasMany,\n errorLoading,\n collections,\n hasMultipleRelations,\n serverURL,\n api,\n i18n,\n relationTo,\n locale,\n config,\n ])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, collections])\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of getFormState and fast clicking into this field,\n // re-fetch options\n\n if (hasLoadedFirstPageRef.current && menuIsOpen.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: valueRef.current,\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu\n // opens by the user\n\n dispatchOptions({ type: 'CLEAR' })\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n hasLoadedFirstPageRef.current = false\n }, [\n relationTo,\n filterOptions,\n locale,\n menuIsOpen,\n getResults,\n valueRef,\n hasLoadedFirstPageRef,\n path,\n ])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n doc: args.doc,\n i18n,\n })\n },\n [i18n, config],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let string = item.label\n // strings less than breakApartThreshold length won't be chunked\n while (string.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = string.indexOf(' ', searchFilter.length)\n if (r.test(string.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {\n return true\n }\n string = string.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(string.slice(-breakApartThreshold))\n }, [])\n\n const valueToRender = findOptionsByValue({ options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') valueToRender.value = null\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n !readOnly && allowCreate && `${baseClass}--allow-create`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={field?.admin?.components?.Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError\n CustomError={field?.admin?.components?.Error}\n path={path}\n {...(errorProps || {})}\n />\n {!errorLoading && (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!drawerIsOpen}\n components={{\n MultiValueLabel,\n SingleValue,\n }}\n customProps={{\n disableKeyDown: drawerIsOpen,\n disableMouseDown: drawerIsOpen,\n onSave,\n setDrawerIsOpen,\n }}\n disabled={readOnly || formProcessing || drawerIsOpen}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n getOptionValue={(option) => {\n if (!option) return undefined\n return hasMany && Array.isArray(relationTo)\n ? `${option.relationTo}_${option.value}`\n : option.value\n }}\n isLoading={isLoading}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={\n !readOnly\n ? (selected) => {\n if (selected === null) {\n setValue(hasMany ? [] : null)\n } else if (hasMany && Array.isArray(selected)) {\n setValue(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option.relationTo,\n value: option.value,\n }\n }\n\n return option.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n setValue({\n relationTo: selected.relationTo,\n value: selected.value,\n })\n } else if (!Array.isArray(selected)) {\n setValue(selected.value)\n }\n }\n : undefined\n }\n onInputChange={(newSearch) => handleInputChange(newSearch, value)}\n onMenuClose={() => {\n menuIsOpen.current = false\n }}\n onMenuOpen={() => {\n menuIsOpen.current = true\n\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: initialValue,\n })\n }\n }}\n onMenuScrollToBottom={() => {\n void getResults({\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n value: initialValue,\n })\n }}\n options={options}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n {...{\n dispatchOptions,\n hasMany,\n options,\n path,\n relationTo,\n setValue,\n value,\n }}\n />\n )}\n </div>\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n <FieldDescription\n Description={field?.admin?.components?.Description}\n description={description}\n {...(descriptionProps || {})}\n />\n </div>\n </div>\n )\n}\n\nexport const RelationshipField = withCondition(RelationshipFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/optionsReducer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/optionsReducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,YAAY,CAAA;AAyB7D,eAAO,MAAM,cAAc,UAAW,WAAW,EAAE,UAAU,MAAM,KAAG,WAAW,EAmGhF,CAAA"}
|
|
@@ -1,119 +1,116 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
4
|
import { formatDocTitle } from '../../utilities/formatDocTitle.js';
|
|
3
|
-
const reduceToIDs =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const reduceToIDs = options => options.reduce((ids, option) => {
|
|
6
|
+
if (option.options) {
|
|
7
|
+
return [...ids, ...reduceToIDs(option.options)];
|
|
8
|
+
}
|
|
9
|
+
return [...ids, {
|
|
10
|
+
id: option.value,
|
|
11
|
+
relationTo: option.relationTo
|
|
12
|
+
}];
|
|
13
|
+
}, []);
|
|
14
|
+
const sortOptions = options => options.sort((a, b) => {
|
|
15
|
+
if (typeof a?.label?.localeCompare === 'function' && typeof b?.label?.localeCompare === 'function') {
|
|
16
|
+
return a.label.localeCompare(b.label);
|
|
17
|
+
}
|
|
18
|
+
return 0;
|
|
19
|
+
});
|
|
20
|
+
export const optionsReducer = (state, action) => {
|
|
21
|
+
switch (action.type) {
|
|
22
|
+
case 'CLEAR':
|
|
23
|
+
{
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
case 'UPDATE':
|
|
27
|
+
{
|
|
28
|
+
const {
|
|
29
|
+
collection,
|
|
30
|
+
config,
|
|
31
|
+
doc,
|
|
32
|
+
i18n
|
|
33
|
+
} = action;
|
|
34
|
+
const relation = collection.slug;
|
|
35
|
+
const newOptions = [...state];
|
|
36
|
+
const docTitle = formatDocTitle({
|
|
37
|
+
collectionConfig: collection,
|
|
38
|
+
data: doc,
|
|
39
|
+
dateFormat: config.admin.dateFormat,
|
|
40
|
+
fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,
|
|
41
|
+
i18n
|
|
42
|
+
});
|
|
43
|
+
const foundOptionGroup = newOptions.find(optionGroup => optionGroup.label === collection.labels.plural);
|
|
44
|
+
const foundOption = foundOptionGroup?.options?.find(option => option.value === doc.id);
|
|
45
|
+
if (foundOption) {
|
|
46
|
+
foundOption.label = docTitle;
|
|
47
|
+
foundOption.relationTo = relation;
|
|
9
48
|
}
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
49
|
+
return newOptions;
|
|
50
|
+
}
|
|
51
|
+
case 'ADD':
|
|
52
|
+
{
|
|
53
|
+
const {
|
|
54
|
+
collection,
|
|
55
|
+
config,
|
|
56
|
+
docs,
|
|
57
|
+
i18n,
|
|
58
|
+
ids = [],
|
|
59
|
+
sort
|
|
60
|
+
} = action;
|
|
61
|
+
const relation = collection.slug;
|
|
62
|
+
const loadedIDs = reduceToIDs(state);
|
|
63
|
+
const newOptions = [...state];
|
|
64
|
+
const optionsToAddTo = newOptions.find(optionGroup => optionGroup.label === collection.labels.plural);
|
|
65
|
+
const newSubOptions = docs.reduce((docSubOptions, doc) => {
|
|
66
|
+
if (loadedIDs.filter(item => item.id === doc.id && item.relationTo === relation).length === 0) {
|
|
67
|
+
loadedIDs.push({
|
|
68
|
+
id: doc.id,
|
|
69
|
+
relationTo: relation
|
|
70
|
+
});
|
|
71
|
+
const docTitle = formatDocTitle({
|
|
72
|
+
collectionConfig: collection,
|
|
73
|
+
data: doc,
|
|
74
|
+
dateFormat: config.admin.dateFormat,
|
|
75
|
+
fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,
|
|
76
|
+
i18n
|
|
77
|
+
});
|
|
78
|
+
return [...docSubOptions, {
|
|
79
|
+
label: docTitle,
|
|
80
|
+
relationTo: relation,
|
|
81
|
+
value: doc.id
|
|
82
|
+
}];
|
|
83
|
+
}
|
|
84
|
+
return docSubOptions;
|
|
85
|
+
}, []);
|
|
86
|
+
ids.forEach(id => {
|
|
87
|
+
if (loadedIDs.filter(item => item.id === id && item.relationTo === relation).length === 0) {
|
|
88
|
+
loadedIDs.push({
|
|
89
|
+
id,
|
|
90
|
+
relationTo: relation
|
|
91
|
+
});
|
|
92
|
+
newSubOptions.push({
|
|
93
|
+
label: `${i18n.t('general:untitled')} - ID: ${id}`,
|
|
94
|
+
relationTo: relation,
|
|
95
|
+
value: id
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
if (optionsToAddTo) {
|
|
100
|
+
const subOptions = [...optionsToAddTo.options, ...newSubOptions];
|
|
101
|
+
optionsToAddTo.options = sort ? sortOptions(subOptions) : subOptions;
|
|
102
|
+
} else {
|
|
103
|
+
newOptions.push({
|
|
104
|
+
label: getTranslation(collection.labels.plural, i18n),
|
|
105
|
+
options: sort ? sortOptions(newSubOptions) : newSubOptions
|
|
106
|
+
});
|
|
21
107
|
}
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
case 'UPDATE':
|
|
31
|
-
{
|
|
32
|
-
const { collection, config, doc, i18n } = action;
|
|
33
|
-
const relation = collection.slug;
|
|
34
|
-
const newOptions = [
|
|
35
|
-
...state
|
|
36
|
-
];
|
|
37
|
-
const docTitle = formatDocTitle({
|
|
38
|
-
collectionConfig: collection,
|
|
39
|
-
data: doc,
|
|
40
|
-
dateFormat: config.admin.dateFormat,
|
|
41
|
-
fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,
|
|
42
|
-
i18n
|
|
43
|
-
});
|
|
44
|
-
const foundOptionGroup = newOptions.find((optionGroup)=>optionGroup.label === collection.labels.plural);
|
|
45
|
-
const foundOption = foundOptionGroup?.options?.find((option)=>option.value === doc.id);
|
|
46
|
-
if (foundOption) {
|
|
47
|
-
foundOption.label = docTitle;
|
|
48
|
-
foundOption.relationTo = relation;
|
|
49
|
-
}
|
|
50
|
-
return newOptions;
|
|
51
|
-
}
|
|
52
|
-
case 'ADD':
|
|
53
|
-
{
|
|
54
|
-
const { collection, config, docs, i18n, ids = [], sort } = action;
|
|
55
|
-
const relation = collection.slug;
|
|
56
|
-
const loadedIDs = reduceToIDs(state);
|
|
57
|
-
const newOptions = [
|
|
58
|
-
...state
|
|
59
|
-
];
|
|
60
|
-
const optionsToAddTo = newOptions.find((optionGroup)=>optionGroup.label === collection.labels.plural);
|
|
61
|
-
const newSubOptions = docs.reduce((docSubOptions, doc)=>{
|
|
62
|
-
if (loadedIDs.filter((item)=>item.id === doc.id && item.relationTo === relation).length === 0) {
|
|
63
|
-
loadedIDs.push({
|
|
64
|
-
id: doc.id,
|
|
65
|
-
relationTo: relation
|
|
66
|
-
});
|
|
67
|
-
const docTitle = formatDocTitle({
|
|
68
|
-
collectionConfig: collection,
|
|
69
|
-
data: doc,
|
|
70
|
-
dateFormat: config.admin.dateFormat,
|
|
71
|
-
fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,
|
|
72
|
-
i18n
|
|
73
|
-
});
|
|
74
|
-
return [
|
|
75
|
-
...docSubOptions,
|
|
76
|
-
{
|
|
77
|
-
label: docTitle,
|
|
78
|
-
relationTo: relation,
|
|
79
|
-
value: doc.id
|
|
80
|
-
}
|
|
81
|
-
];
|
|
82
|
-
}
|
|
83
|
-
return docSubOptions;
|
|
84
|
-
}, []);
|
|
85
|
-
ids.forEach((id)=>{
|
|
86
|
-
if (loadedIDs.filter((item)=>item.id === id && item.relationTo === relation).length === 0) {
|
|
87
|
-
loadedIDs.push({
|
|
88
|
-
id,
|
|
89
|
-
relationTo: relation
|
|
90
|
-
});
|
|
91
|
-
newSubOptions.push({
|
|
92
|
-
label: `${i18n.t('general:untitled')} - ID: ${id}`,
|
|
93
|
-
relationTo: relation,
|
|
94
|
-
value: id
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
if (optionsToAddTo) {
|
|
99
|
-
const subOptions = [
|
|
100
|
-
...optionsToAddTo.options,
|
|
101
|
-
...newSubOptions
|
|
102
|
-
];
|
|
103
|
-
optionsToAddTo.options = sort ? sortOptions(subOptions) : subOptions;
|
|
104
|
-
} else {
|
|
105
|
-
newOptions.push({
|
|
106
|
-
label: getTranslation(collection.labels.plural, i18n),
|
|
107
|
-
options: sort ? sortOptions(newSubOptions) : newSubOptions
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
return newOptions;
|
|
111
|
-
}
|
|
112
|
-
default:
|
|
113
|
-
{
|
|
114
|
-
return state;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
108
|
+
return newOptions;
|
|
109
|
+
}
|
|
110
|
+
default:
|
|
111
|
+
{
|
|
112
|
+
return state;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
117
115
|
};
|
|
118
|
-
|
|
119
116
|
//# sourceMappingURL=optionsReducer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Relationship/optionsReducer.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"optionsReducer.js","names":["getTranslation","formatDocTitle","reduceToIDs","options","reduce","ids","option","id","value","relationTo","sortOptions","sort","a","b","label","localeCompare","optionsReducer","state","action","type","collection","config","doc","i18n","relation","slug","newOptions","docTitle","collectionConfig","data","dateFormat","admin","fallback","t","foundOptionGroup","find","optionGroup","labels","plural","foundOption","docs","loadedIDs","optionsToAddTo","newSubOptions","docSubOptions","filter","item","length","push","forEach","subOptions"],"sources":["../../../src/fields/Relationship/optionsReducer.ts"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Action, Option, OptionGroup } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\n\nconst reduceToIDs = (options) =>\n options.reduce((ids, option) => {\n if (option.options) {\n return [...ids, ...reduceToIDs(option.options)]\n }\n\n return [...ids, { id: option.value, relationTo: option.relationTo }]\n }, [])\n\nconst sortOptions = (options: Option[]): Option[] =>\n options.sort((a: Option, b: Option) => {\n if (\n typeof a?.label?.localeCompare === 'function' &&\n typeof b?.label?.localeCompare === 'function'\n ) {\n return a.label.localeCompare(b.label)\n }\n\n return 0\n })\n\nexport const optionsReducer = (state: OptionGroup[], action: Action): OptionGroup[] => {\n switch (action.type) {\n case 'CLEAR': {\n return []\n }\n\n case 'UPDATE': {\n const { collection, config, doc, i18n } = action\n const relation = collection.slug\n const newOptions = [...state]\n\n const docTitle = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,\n i18n,\n })\n\n const foundOptionGroup = newOptions.find(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n const foundOption = foundOptionGroup?.options?.find((option) => option.value === doc.id)\n\n if (foundOption) {\n foundOption.label = docTitle\n foundOption.relationTo = relation\n }\n\n return newOptions\n }\n\n case 'ADD': {\n const { collection, config, docs, i18n, ids = [], sort } = action\n const relation = collection.slug\n const loadedIDs = reduceToIDs(state)\n const newOptions = [...state]\n const optionsToAddTo = newOptions.find(\n (optionGroup) => optionGroup.label === collection.labels.plural,\n )\n const newSubOptions = docs.reduce((docSubOptions, doc) => {\n if (\n loadedIDs.filter((item) => item.id === doc.id && item.relationTo === relation).length ===\n 0\n ) {\n loadedIDs.push({ id: doc.id, relationTo: relation })\n\n const docTitle = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: `${i18n.t('general:untitled')} - ID: ${doc.id}`,\n i18n,\n })\n\n return [\n ...docSubOptions,\n {\n label: docTitle,\n relationTo: relation,\n value: doc.id,\n },\n ]\n }\n\n return docSubOptions\n }, [])\n\n ids.forEach((id) => {\n if (\n loadedIDs.filter((item) => item.id === id && item.relationTo === relation).length === 0\n ) {\n loadedIDs.push({ id, relationTo: relation })\n newSubOptions.push({\n label: `${i18n.t('general:untitled')} - ID: ${id}`,\n relationTo: relation,\n value: id,\n })\n }\n })\n\n if (optionsToAddTo) {\n const subOptions = [...optionsToAddTo.options, ...newSubOptions]\n\n optionsToAddTo.options = sort ? sortOptions(subOptions) : subOptions\n } else {\n newOptions.push({\n label: getTranslation(collection.labels.plural, i18n),\n options: sort ? sortOptions(newSubOptions) : newSubOptions,\n })\n }\n\n return newOptions\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|