@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/elements/EditUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { forwardRef, useRef, useState } from 'react'\nimport ReactCrop from 'react-image-crop'\nimport 'react-image-crop/dist/ReactCrop.css'\n\nimport { editDrawerSlug } from '../../elements/Upload/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-upload'\n\ntype Props = {\n name: string\n onChange: (value: string) => void\n value: string\n}\n\nconst Input = forwardRef<HTMLInputElement, Props>((props, ref) => {\n const { name, onChange, value } = props\n\n return (\n <div className={`${baseClass}__input`}>\n {name}\n <input\n name={name}\n onChange={(e) => onChange(e.target.value)}\n ref={ref}\n type=\"number\"\n value={value}\n />\n </div>\n )\n})\n\ntype FocalPosition = {\n x: number\n y: number\n}\n\nexport type EditUploadProps = {\n fileName: string\n fileSrc: string\n imageCacheTag?: string\n initialCrop?: UploadEdits['crop']\n initialFocalPoint?: FocalPosition\n onSave?: (uploadEdits: UploadEdits) => void\n showCrop?: boolean\n showFocalPoint?: boolean\n}\n\nconst defaultCrop: UploadEdits['crop'] = {\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n}\n\nexport const EditUpload: React.FC<EditUploadProps> = ({\n fileName,\n fileSrc,\n imageCacheTag,\n initialCrop,\n initialFocalPoint,\n onSave,\n showCrop,\n showFocalPoint,\n}) => {\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const [crop, setCrop] = useState<UploadEdits['crop']>(() => ({\n ...defaultCrop,\n ...(initialCrop || {}),\n }))\n\n const defaultFocalPosition: FocalPosition = {\n x: 50,\n y: 50,\n }\n\n const [focalPosition, setFocalPosition] = useState<FocalPosition>(() => ({\n ...defaultFocalPosition,\n ...initialFocalPoint,\n }))\n\n const [checkBounds, setCheckBounds] = useState<boolean>(false)\n const [uncroppedPixelHeight, setUncroppedPixelHeight] = useState<number>(0)\n const [uncroppedPixelWidth, setUncroppedPixelWidth] = useState<number>(0)\n\n const focalWrapRef = useRef<HTMLDivElement | undefined>(undefined)\n const imageRef = useRef<HTMLImageElement | undefined>(undefined)\n const cropRef = useRef<HTMLDivElement | undefined>(undefined)\n\n const heightInputRef = useRef<HTMLInputElement | null>(null)\n const widthInputRef = useRef<HTMLInputElement | null>(null)\n\n const [imageLoaded, setImageLoaded] = useState<boolean>(false)\n\n const onImageLoad = (e) => {\n // set the default image height/width on load\n setUncroppedPixelHeight(e.currentTarget.naturalHeight)\n setUncroppedPixelWidth(e.currentTarget.naturalWidth)\n setImageLoaded(true)\n }\n\n const fineTuneCrop = ({ dimension, value }: { dimension: 'height' | 'width'; value: string }) => {\n const intValue = parseInt(value)\n if (dimension === 'width' && intValue >= uncroppedPixelWidth) return null\n if (dimension === 'height' && intValue >= uncroppedPixelHeight) return null\n\n const percentage =\n 100 * (intValue / (dimension === 'width' ? uncroppedPixelWidth : uncroppedPixelHeight))\n\n if (percentage === 100 || percentage === 0) return null\n\n setCrop({\n ...crop,\n [dimension]: percentage,\n })\n }\n\n const fineTuneFocalPosition = ({\n coordinate,\n value,\n }: {\n coordinate: 'x' | 'y'\n value: string\n }) => {\n const intValue = parseInt(value)\n if (intValue >= 0 && intValue <= 100) {\n setFocalPosition((prevPosition) => ({ ...prevPosition, [coordinate]: intValue }))\n }\n }\n\n const saveEdits = () => {\n if (typeof onSave === 'function')\n onSave({\n crop: crop ? crop : undefined,\n focalPoint: focalPosition,\n heightInPixels: Number(heightInputRef?.current?.value ?? uncroppedPixelHeight),\n widthInPixels: Number(widthInputRef?.current?.value ?? uncroppedPixelWidth),\n })\n closeModal(editDrawerSlug)\n }\n\n const onDragEnd = React.useCallback(({ x, y }) => {\n setFocalPosition({ x, y })\n setCheckBounds(false)\n }, [])\n\n const centerFocalPoint = () => {\n const containerRect = focalWrapRef.current.getBoundingClientRect()\n const boundsRect = showCrop\n ? cropRef.current.getBoundingClientRect()\n : imageRef.current.getBoundingClientRect()\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n setFocalPosition({ x: xCenter, y: yCenter })\n }\n\n const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <h2 title={`${t('general:editing')} ${fileName}`}>\n {t('general:editing')} {fileName}\n </h2>\n <div className={`${baseClass}__actions`}>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__cancel`}\n onClick={() => closeModal(editDrawerSlug)}\n >\n {t('general:cancel')}\n </Button>\n <Button\n aria-label={t('general:applyChanges')}\n buttonStyle=\"primary\"\n className={`${baseClass}__save`}\n disabled={!imageLoaded}\n onClick={saveEdits}\n >\n {t('general:applyChanges')}\n </Button>\n </div>\n </div>\n <div className={`${baseClass}__toolWrap`}>\n <div className={`${baseClass}__crop`}>\n <div\n className={`${baseClass}__focal-wrapper`}\n ref={focalWrapRef}\n style={{\n aspectRatio: `${uncroppedPixelWidth / uncroppedPixelHeight}`,\n }}\n >\n {showCrop ? (\n <ReactCrop\n className={`${baseClass}__reactCrop`}\n crop={crop}\n onChange={(_, c) => setCrop(c)}\n onComplete={() => setCheckBounds(true)}\n renderSelectionAddon={() => {\n return <div className={`${baseClass}__crop-window`} ref={cropRef} />\n }}\n >\n <img\n alt={t('upload:setCropArea')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n </ReactCrop>\n ) : (\n <img\n alt={t('upload:setFocalPoint')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n )}\n {showFocalPoint && (\n <DraggableElement\n boundsRef={showCrop ? cropRef : imageRef}\n checkBounds={showCrop ? checkBounds : false}\n className={`${baseClass}__focalPoint`}\n containerRef={focalWrapRef}\n initialPosition={focalPosition}\n onDragEnd={onDragEnd}\n setCheckBounds={showCrop ? setCheckBounds : false}\n >\n <PlusIcon />\n </DraggableElement>\n )}\n </div>\n </div>\n {(showCrop || showFocalPoint) && (\n <div className={`${baseClass}__sidebar`}>\n {showCrop && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:crop')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={() =>\n setCrop({\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n })\n }\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:cropToolDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name={`${t('upload:width')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'width', value })}\n ref={widthInputRef}\n value={((crop.width / 100) * uncroppedPixelWidth).toFixed(0)}\n />\n <Input\n name={`${t('upload:height')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'height', value })}\n ref={heightInputRef}\n value={((crop.height / 100) * uncroppedPixelHeight).toFixed(0)}\n />\n </div>\n </div>\n )}\n\n {showFocalPoint && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:focalPoint')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={centerFocalPoint}\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:focalPointDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name=\"X %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'x', value })}\n value={focalPosition.x.toFixed(0)}\n />\n <Input\n name=\"Y %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'y', value })}\n value={focalPosition.y.toFixed(0)}\n />\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n )\n}\n\nconst DraggableElement = ({\n boundsRef,\n checkBounds,\n children,\n className,\n containerRef,\n initialPosition = { x: 50, y: 50 },\n onDragEnd,\n setCheckBounds,\n}) => {\n const [position, setPosition] = useState({ x: initialPosition.x, y: initialPosition.y })\n const [isDragging, setIsDragging] = useState(false)\n const dragRef = useRef<HTMLButtonElement | undefined>(undefined)\n\n const getCoordinates = React.useCallback(\n (mouseXArg?: number, mouseYArg?: number, recenter?: boolean) => {\n const containerRect = containerRef.current.getBoundingClientRect()\n const boundsRect = boundsRef.current.getBoundingClientRect()\n const mouseX = mouseXArg ?? boundsRect.left\n const mouseY = mouseYArg ?? boundsRect.top\n\n const xOutOfBounds = mouseX < boundsRect.left || mouseX > boundsRect.right\n const yOutOfBounds = mouseY < boundsRect.top || mouseY > boundsRect.bottom\n\n let x = ((mouseX - containerRect.left) / containerRect.width) * 100\n let y = ((mouseY - containerRect.top) / containerRect.height) * 100\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n if (xOutOfBounds || yOutOfBounds) {\n setIsDragging(false)\n if (mouseX < boundsRect.left) {\n x = ((boundsRect.left - containerRect.left) / containerRect.width) * 100\n } else if (mouseX > boundsRect.right) {\n x =\n ((containerRect.width - (containerRect.right - boundsRect.right)) /\n containerRect.width) *\n 100\n }\n\n if (mouseY < boundsRect.top) {\n y = ((boundsRect.top - containerRect.top) / containerRect.height) * 100\n } else if (mouseY > boundsRect.bottom) {\n y =\n ((containerRect.height - (containerRect.bottom - boundsRect.bottom)) /\n containerRect.height) *\n 100\n }\n\n if (recenter) {\n x = xOutOfBounds ? xCenter : x\n y = yOutOfBounds ? yCenter : y\n }\n }\n\n return { x, y }\n },\n [boundsRef, containerRef],\n )\n\n const handleMouseDown = (event) => {\n event.preventDefault()\n setIsDragging(true)\n }\n\n const handleMouseMove = (event) => {\n if (!isDragging) return null\n const { x, y } = getCoordinates(event.clientX, event.clientY)\n\n setPosition({ x, y })\n }\n\n const onDrop = () => {\n setIsDragging(false)\n onDragEnd(position)\n }\n\n React.useEffect(() => {\n if (isDragging || !dragRef.current) return\n if (checkBounds) {\n const { height, left, top, width } = dragRef.current.getBoundingClientRect()\n const { x, y } = getCoordinates(left + width / 2, top + height / 2, true)\n onDragEnd({ x, y })\n setPosition({ x, y })\n setCheckBounds(false)\n return\n }\n }, [getCoordinates, isDragging, checkBounds, setCheckBounds, position.x, position.y, onDragEnd])\n\n React.useEffect(() => {\n setPosition({ x: initialPosition.x, y: initialPosition.y })\n }, [initialPosition.x, initialPosition.y])\n\n return (\n <div\n className={[\n `${baseClass}__draggable-container`,\n isDragging && `${baseClass}__draggable-container--dragging`,\n ]\n .filter(Boolean)\n .join(' ')}\n onMouseMove={handleMouseMove}\n >\n <button\n className={[`${baseClass}__draggable`, className].filter(Boolean).join(' ')}\n onMouseDown={handleMouseDown}\n onMouseUp={onDrop}\n ref={dragRef}\n style={{ left: `${position.x}%`, top: `${position.y}%` }}\n type=\"button\"\n >\n {children}\n </button>\n <div />\n </div>\n )\n}\n"],"names":["useModal","React","forwardRef","useRef","useState","ReactCrop","editDrawerSlug","PlusIcon","useTranslation","Button","baseClass","Input","props","ref","name","onChange","value","div","className","input","e","target","type","defaultCrop","height","unit","width","x","y","EditUpload","fileName","fileSrc","imageCacheTag","initialCrop","initialFocalPoint","onSave","showCrop","showFocalPoint","closeModal","t","crop","setCrop","defaultFocalPosition","focalPosition","setFocalPosition","checkBounds","setCheckBounds","uncroppedPixelHeight","setUncroppedPixelHeight","uncroppedPixelWidth","setUncroppedPixelWidth","focalWrapRef","undefined","imageRef","cropRef","heightInputRef","widthInputRef","imageLoaded","setImageLoaded","onImageLoad","currentTarget","naturalHeight","naturalWidth","fineTuneCrop","dimension","intValue","parseInt","percentage","fineTuneFocalPosition","coordinate","prevPosition","saveEdits","focalPoint","heightInPixels","Number","current","widthInPixels","onDragEnd","useCallback","centerFocalPoint","containerRect","getBoundingClientRect","boundsRect","xCenter","left","yCenter","top","fileSrcToUse","h2","title","aria-label","buttonStyle","onClick","disabled","style","aspectRatio","_","c","onComplete","renderSelectionAddon","img","alt","onLoad","src","DraggableElement","boundsRef","containerRef","initialPosition","h3","span","toFixed","children","position","setPosition","isDragging","setIsDragging","dragRef","getCoordinates","mouseXArg","mouseYArg","recenter","mouseX","mouseY","xOutOfBounds","right","yOutOfBounds","bottom","handleMouseDown","event","preventDefault","handleMouseMove","clientX","clientY","onDrop","useEffect","filter","Boolean","join","onMouseMove","button","onMouseDown","onMouseUp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","forwardRef","useRef","useState","ReactCrop","editDrawerSlug","PlusIcon","useTranslation","Button","baseClass","Input","props","ref","name","onChange","value","_jsxs","className","_jsx","e","target","type","defaultCrop","height","unit","width","x","y","EditUpload","t0","$","fileName","fileSrc","imageCacheTag","initialCrop","initialFocalPoint","onSave","showCrop","showFocalPoint","closeModal","t","t1","crop","setCrop","t2","Symbol","for","defaultFocalPosition","t3","focalPosition","setFocalPosition","checkBounds","setCheckBounds","uncroppedPixelHeight","setUncroppedPixelHeight","uncroppedPixelWidth","setUncroppedPixelWidth","focalWrapRef","undefined","imageRef","cropRef","heightInputRef","widthInputRef","imageLoaded","setImageLoaded","t4","currentTarget","naturalHeight","naturalWidth","onImageLoad","t5","t6","dimension","intValue","parseInt","percentage","fineTuneCrop","t7","coordinate","value_0","intValue_0","prevPosition","fineTuneFocalPosition","saveEdits","focalPoint","heightInPixels","Number","current","widthInPixels","t8","onDragEnd","centerFocalPoint","containerRect","getBoundingClientRect","boundsRect","xCenter","left","yCenter","top","fileSrcToUse","children","title","buttonStyle","onClick","disabled","style","aspectRatio","_","onComplete","renderSelectionAddon","alt","onLoad","src","DraggableElement","boundsRef","containerRef","initialPosition","value_1","toFixed","value_2","value_3","value_4","position","setPosition","isDragging","setIsDragging","dragRef","getCoordinates","useCallback","mouseXArg","mouseYArg","recenter","mouseX","mouseY","xOutOfBounds","right","yOutOfBounds","bottom","handleMouseDown","event","preventDefault","handleMouseMove","clientX","clientY","onDrop","useEffect","filter","Boolean","join","onMouseMove","onMouseDown","onMouseUp"],"sources":["../../../src/elements/EditUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { forwardRef, useRef, useState } from 'react'\nimport ReactCrop from 'react-image-crop'\nimport 'react-image-crop/dist/ReactCrop.css'\n\nimport { editDrawerSlug } from '../../elements/Upload/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-upload'\n\ntype Props = {\n name: string\n onChange: (value: string) => void\n value: string\n}\n\nconst Input = forwardRef<HTMLInputElement, Props>((props, ref) => {\n const { name, onChange, value } = props\n\n return (\n <div className={`${baseClass}__input`}>\n {name}\n <input\n name={name}\n onChange={(e) => onChange(e.target.value)}\n ref={ref}\n type=\"number\"\n value={value}\n />\n </div>\n )\n})\n\ntype FocalPosition = {\n x: number\n y: number\n}\n\nexport type EditUploadProps = {\n fileName: string\n fileSrc: string\n imageCacheTag?: string\n initialCrop?: UploadEdits['crop']\n initialFocalPoint?: FocalPosition\n onSave?: (uploadEdits: UploadEdits) => void\n showCrop?: boolean\n showFocalPoint?: boolean\n}\n\nconst defaultCrop: UploadEdits['crop'] = {\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n}\n\nexport const EditUpload: React.FC<EditUploadProps> = ({\n fileName,\n fileSrc,\n imageCacheTag,\n initialCrop,\n initialFocalPoint,\n onSave,\n showCrop,\n showFocalPoint,\n}) => {\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const [crop, setCrop] = useState<UploadEdits['crop']>(() => ({\n ...defaultCrop,\n ...(initialCrop || {}),\n }))\n\n const defaultFocalPosition: FocalPosition = {\n x: 50,\n y: 50,\n }\n\n const [focalPosition, setFocalPosition] = useState<FocalPosition>(() => ({\n ...defaultFocalPosition,\n ...initialFocalPoint,\n }))\n\n const [checkBounds, setCheckBounds] = useState<boolean>(false)\n const [uncroppedPixelHeight, setUncroppedPixelHeight] = useState<number>(0)\n const [uncroppedPixelWidth, setUncroppedPixelWidth] = useState<number>(0)\n\n const focalWrapRef = useRef<HTMLDivElement | undefined>(undefined)\n const imageRef = useRef<HTMLImageElement | undefined>(undefined)\n const cropRef = useRef<HTMLDivElement | undefined>(undefined)\n\n const heightInputRef = useRef<HTMLInputElement | null>(null)\n const widthInputRef = useRef<HTMLInputElement | null>(null)\n\n const [imageLoaded, setImageLoaded] = useState<boolean>(false)\n\n const onImageLoad = (e) => {\n // set the default image height/width on load\n setUncroppedPixelHeight(e.currentTarget.naturalHeight)\n setUncroppedPixelWidth(e.currentTarget.naturalWidth)\n setImageLoaded(true)\n }\n\n const fineTuneCrop = ({ dimension, value }: { dimension: 'height' | 'width'; value: string }) => {\n const intValue = parseInt(value)\n if (dimension === 'width' && intValue >= uncroppedPixelWidth) return null\n if (dimension === 'height' && intValue >= uncroppedPixelHeight) return null\n\n const percentage =\n 100 * (intValue / (dimension === 'width' ? uncroppedPixelWidth : uncroppedPixelHeight))\n\n if (percentage === 100 || percentage === 0) return null\n\n setCrop({\n ...crop,\n [dimension]: percentage,\n })\n }\n\n const fineTuneFocalPosition = ({\n coordinate,\n value,\n }: {\n coordinate: 'x' | 'y'\n value: string\n }) => {\n const intValue = parseInt(value)\n if (intValue >= 0 && intValue <= 100) {\n setFocalPosition((prevPosition) => ({ ...prevPosition, [coordinate]: intValue }))\n }\n }\n\n const saveEdits = () => {\n if (typeof onSave === 'function')\n onSave({\n crop: crop ? crop : undefined,\n focalPoint: focalPosition,\n heightInPixels: Number(heightInputRef?.current?.value ?? uncroppedPixelHeight),\n widthInPixels: Number(widthInputRef?.current?.value ?? uncroppedPixelWidth),\n })\n closeModal(editDrawerSlug)\n }\n\n const onDragEnd = React.useCallback(({ x, y }) => {\n setFocalPosition({ x, y })\n setCheckBounds(false)\n }, [])\n\n const centerFocalPoint = () => {\n const containerRect = focalWrapRef.current.getBoundingClientRect()\n const boundsRect = showCrop\n ? cropRef.current.getBoundingClientRect()\n : imageRef.current.getBoundingClientRect()\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n setFocalPosition({ x: xCenter, y: yCenter })\n }\n\n const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <h2 title={`${t('general:editing')} ${fileName}`}>\n {t('general:editing')} {fileName}\n </h2>\n <div className={`${baseClass}__actions`}>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__cancel`}\n onClick={() => closeModal(editDrawerSlug)}\n >\n {t('general:cancel')}\n </Button>\n <Button\n aria-label={t('general:applyChanges')}\n buttonStyle=\"primary\"\n className={`${baseClass}__save`}\n disabled={!imageLoaded}\n onClick={saveEdits}\n >\n {t('general:applyChanges')}\n </Button>\n </div>\n </div>\n <div className={`${baseClass}__toolWrap`}>\n <div className={`${baseClass}__crop`}>\n <div\n className={`${baseClass}__focal-wrapper`}\n ref={focalWrapRef}\n style={{\n aspectRatio: `${uncroppedPixelWidth / uncroppedPixelHeight}`,\n }}\n >\n {showCrop ? (\n <ReactCrop\n className={`${baseClass}__reactCrop`}\n crop={crop}\n onChange={(_, c) => setCrop(c)}\n onComplete={() => setCheckBounds(true)}\n renderSelectionAddon={() => {\n return <div className={`${baseClass}__crop-window`} ref={cropRef} />\n }}\n >\n <img\n alt={t('upload:setCropArea')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n </ReactCrop>\n ) : (\n <img\n alt={t('upload:setFocalPoint')}\n onLoad={onImageLoad}\n ref={imageRef}\n src={fileSrcToUse}\n />\n )}\n {showFocalPoint && (\n <DraggableElement\n boundsRef={showCrop ? cropRef : imageRef}\n checkBounds={showCrop ? checkBounds : false}\n className={`${baseClass}__focalPoint`}\n containerRef={focalWrapRef}\n initialPosition={focalPosition}\n onDragEnd={onDragEnd}\n setCheckBounds={showCrop ? setCheckBounds : false}\n >\n <PlusIcon />\n </DraggableElement>\n )}\n </div>\n </div>\n {(showCrop || showFocalPoint) && (\n <div className={`${baseClass}__sidebar`}>\n {showCrop && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:crop')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={() =>\n setCrop({\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n })\n }\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:cropToolDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name={`${t('upload:width')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'width', value })}\n ref={widthInputRef}\n value={((crop.width / 100) * uncroppedPixelWidth).toFixed(0)}\n />\n <Input\n name={`${t('upload:height')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'height', value })}\n ref={heightInputRef}\n value={((crop.height / 100) * uncroppedPixelHeight).toFixed(0)}\n />\n </div>\n </div>\n )}\n\n {showFocalPoint && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:focalPoint')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={centerFocalPoint}\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:focalPointDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name=\"X %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'x', value })}\n value={focalPosition.x.toFixed(0)}\n />\n <Input\n name=\"Y %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'y', value })}\n value={focalPosition.y.toFixed(0)}\n />\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n )\n}\n\nconst DraggableElement = ({\n boundsRef,\n checkBounds,\n children,\n className,\n containerRef,\n initialPosition = { x: 50, y: 50 },\n onDragEnd,\n setCheckBounds,\n}) => {\n const [position, setPosition] = useState({ x: initialPosition.x, y: initialPosition.y })\n const [isDragging, setIsDragging] = useState(false)\n const dragRef = useRef<HTMLButtonElement | undefined>(undefined)\n\n const getCoordinates = React.useCallback(\n (mouseXArg?: number, mouseYArg?: number, recenter?: boolean) => {\n const containerRect = containerRef.current.getBoundingClientRect()\n const boundsRect = boundsRef.current.getBoundingClientRect()\n const mouseX = mouseXArg ?? boundsRect.left\n const mouseY = mouseYArg ?? boundsRect.top\n\n const xOutOfBounds = mouseX < boundsRect.left || mouseX > boundsRect.right\n const yOutOfBounds = mouseY < boundsRect.top || mouseY > boundsRect.bottom\n\n let x = ((mouseX - containerRect.left) / containerRect.width) * 100\n let y = ((mouseY - containerRect.top) / containerRect.height) * 100\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n if (xOutOfBounds || yOutOfBounds) {\n setIsDragging(false)\n if (mouseX < boundsRect.left) {\n x = ((boundsRect.left - containerRect.left) / containerRect.width) * 100\n } else if (mouseX > boundsRect.right) {\n x =\n ((containerRect.width - (containerRect.right - boundsRect.right)) /\n containerRect.width) *\n 100\n }\n\n if (mouseY < boundsRect.top) {\n y = ((boundsRect.top - containerRect.top) / containerRect.height) * 100\n } else if (mouseY > boundsRect.bottom) {\n y =\n ((containerRect.height - (containerRect.bottom - boundsRect.bottom)) /\n containerRect.height) *\n 100\n }\n\n if (recenter) {\n x = xOutOfBounds ? xCenter : x\n y = yOutOfBounds ? yCenter : y\n }\n }\n\n return { x, y }\n },\n [boundsRef, containerRef],\n )\n\n const handleMouseDown = (event) => {\n event.preventDefault()\n setIsDragging(true)\n }\n\n const handleMouseMove = (event) => {\n if (!isDragging) return null\n const { x, y } = getCoordinates(event.clientX, event.clientY)\n\n setPosition({ x, y })\n }\n\n const onDrop = () => {\n setIsDragging(false)\n onDragEnd(position)\n }\n\n React.useEffect(() => {\n if (isDragging || !dragRef.current) return\n if (checkBounds) {\n const { height, left, top, width } = dragRef.current.getBoundingClientRect()\n const { x, y } = getCoordinates(left + width / 2, top + height / 2, true)\n onDragEnd({ x, y })\n setPosition({ x, y })\n setCheckBounds(false)\n return\n }\n }, [getCoordinates, isDragging, checkBounds, setCheckBounds, position.x, position.y, onDragEnd])\n\n React.useEffect(() => {\n setPosition({ x: initialPosition.x, y: initialPosition.y })\n }, [initialPosition.x, initialPosition.y])\n\n return (\n <div\n className={[\n `${baseClass}__draggable-container`,\n isDragging && `${baseClass}__draggable-container--dragging`,\n ]\n .filter(Boolean)\n .join(' ')}\n onMouseMove={handleMouseMove}\n >\n <button\n className={[`${baseClass}__draggable`, className].filter(Boolean).join(' ')}\n onMouseDown={handleMouseDown}\n onMouseUp={onDrop}\n ref={dragRef}\n style={{ left: `${position.x}%`, top: `${position.y}%` }}\n type=\"button\"\n >\n {children}\n </button>\n <div />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
|
|
2
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import './index.scss';
|
|
5
6
|
const baseClass = 'error-pill';
|
|
6
|
-
export const ErrorPill =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
})
|
|
27
|
-
});
|
|
7
|
+
export const ErrorPill = props => {
|
|
8
|
+
const {
|
|
9
|
+
className,
|
|
10
|
+
count,
|
|
11
|
+
i18n,
|
|
12
|
+
withMessage
|
|
13
|
+
} = props;
|
|
14
|
+
const lessThan3Chars = !withMessage && count < 99;
|
|
15
|
+
const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className].filter(Boolean).join(' ');
|
|
16
|
+
if (count === 0) return null;
|
|
17
|
+
return /*#__PURE__*/_jsx("div", {
|
|
18
|
+
className: classes,
|
|
19
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
20
|
+
className: `${baseClass}__content`,
|
|
21
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
22
|
+
className: `${baseClass}__count`,
|
|
23
|
+
children: count
|
|
24
|
+
}), withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`]
|
|
25
|
+
})
|
|
26
|
+
});
|
|
28
27
|
};
|
|
29
|
-
|
|
30
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/ErrorPill/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'error-pill'\n\nexport type ErrorPillProps = {\n className?: string\n count: number\n i18n: I18nClient\n withMessage?: boolean\n}\n\nexport const ErrorPill: React.FC<ErrorPillProps> = (props) => {\n const { className, count, i18n, withMessage } = props\n const lessThan3Chars = !withMessage && count < 99\n\n const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className]\n .filter(Boolean)\n .join(' ')\n\n if (count === 0) return null\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__content`}>\n <span className={`${baseClass}__count`}>{count}</span>\n {withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`}\n </div>\n </div>\n )\n}\n"],"
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","baseClass","ErrorPill","props","className","count","i18n","withMessage","lessThan3Chars","classes","filter","Boolean","join","_jsx","_jsxs","t"],"sources":["../../../src/elements/ErrorPill/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'error-pill'\n\nexport type ErrorPillProps = {\n className?: string\n count: number\n i18n: I18nClient\n withMessage?: boolean\n}\n\nexport const ErrorPill: React.FC<ErrorPillProps> = (props) => {\n const { className, count, i18n, withMessage } = props\n const lessThan3Chars = !withMessage && count < 99\n\n const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className]\n .filter(Boolean)\n .join(' ')\n\n if (count === 0) return null\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__content`}>\n <span className={`${baseClass}__count`}>{count}</span>\n {withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,SAAA,GAAuCC,KAAA;EAClD,MAAM;IAAEC,SAAS;IAAEC,KAAK;IAAEC,IAAI;IAAEC;EAAW,CAAE,GAAGJ,KAAA;EAChD,MAAMK,cAAA,GAAiB,CAACD,WAAA,IAAeF,KAAA,GAAQ;EAE/C,MAAMI,OAAA,GAAU,CAACR,SAAA,EAAWO,cAAA,IAAkB,GAAGP,SAAA,eAAwB,EAAEG,SAAA,IAAaA,SAAA,CAAU,CAC/FM,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;EAER,IAAIP,KAAA,KAAU,GAAG,OAAO;EAExB,oBACEQ,IAAA,CAAC;IAAIT,SAAA,EAAWK,OAAA;cACd,aAAAK,KAAA,CAAC;MAAIV,SAAA,EAAW,GAAGH,SAAA,WAAoB;8BACrCY,IAAA,CAAC;QAAKT,SAAA,EAAW,GAAGH,SAAA,SAAkB;kBAAGI;UACxCE,WAAA,IAAe,IAAIF,KAAA,GAAQ,IAAIC,IAAA,CAAKS,CAAC,CAAC,oBAAoBT,IAAA,CAAKS,CAAC,CAAC,kBAAkB;;;AAI5F","ignoreList":[]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
5
|
import { fieldAffectsData, fieldHasSubFields } from 'payload/shared';
|
|
4
6
|
import React, { Fragment, useState } from 'react';
|
|
@@ -10,148 +12,175 @@ import { useTranslation } from '../../providers/Translation/index.js';
|
|
|
10
12
|
import { ReactSelect } from '../ReactSelect/index.js';
|
|
11
13
|
import './index.scss';
|
|
12
14
|
const baseClass = 'field-select';
|
|
13
|
-
export const combineLabel = ({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
]
|
|
51
|
-
});
|
|
15
|
+
export const combineLabel = ({
|
|
16
|
+
customLabel,
|
|
17
|
+
field,
|
|
18
|
+
prefix
|
|
19
|
+
}) => {
|
|
20
|
+
const CustomLabelToRender = field?.admin?.components && 'Label' in field.admin.components && field?.admin?.components?.Label !== undefined ? field.admin.components.Label : null;
|
|
21
|
+
const DefaultLabelToRender = field && 'label' in field && field.label ? {
|
|
22
|
+
type: 'client',
|
|
23
|
+
Component: FieldLabel,
|
|
24
|
+
props: {
|
|
25
|
+
Label: field.admin?.components && 'Label' in field.admin.components ? field.admin?.components?.Label : null,
|
|
26
|
+
label: field.label
|
|
27
|
+
}
|
|
28
|
+
} : null;
|
|
29
|
+
const LabelToRender = CustomLabelToRender || DefaultLabelToRender || {
|
|
30
|
+
type: 'client',
|
|
31
|
+
Component: null,
|
|
32
|
+
RenderedComponent: customLabel
|
|
33
|
+
};
|
|
34
|
+
if (!LabelToRender) return null;
|
|
35
|
+
return /*#__PURE__*/_jsxs(Fragment, {
|
|
36
|
+
children: [prefix && /*#__PURE__*/_jsxs(Fragment, {
|
|
37
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
38
|
+
style: {
|
|
39
|
+
display: 'inline-block'
|
|
40
|
+
},
|
|
41
|
+
children: prefix
|
|
42
|
+
}), ' > ']
|
|
43
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
44
|
+
style: {
|
|
45
|
+
display: 'inline-block'
|
|
46
|
+
},
|
|
47
|
+
children: /*#__PURE__*/_jsx(RenderComponent, {
|
|
48
|
+
mappedComponent: LabelToRender
|
|
49
|
+
})
|
|
50
|
+
})]
|
|
51
|
+
});
|
|
52
52
|
};
|
|
53
|
-
const reduceFields = ({
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
const reduceFields = ({
|
|
54
|
+
fields,
|
|
55
|
+
labelPrefix = null,
|
|
56
|
+
path = ''
|
|
57
|
+
}) => {
|
|
58
|
+
if (!fields) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
return fields?.reduce((fieldsToUse, field) => {
|
|
62
|
+
// escape for a variety of reasons
|
|
63
|
+
if (fieldAffectsData(field) && (field.admin.disableBulkEdit || field.unique || field.admin.hidden || 'readOnly' in field && field.readOnly)) {
|
|
64
|
+
return fieldsToUse;
|
|
56
65
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return [
|
|
77
|
-
...fieldsToUse,
|
|
78
|
-
...field.tabs.reduce((tabFields, tab)=>{
|
|
79
|
-
if ('fields' in tab) {
|
|
80
|
-
const isNamedTab = 'name' in tab && tab.name;
|
|
81
|
-
return [
|
|
82
|
-
...tabFields,
|
|
83
|
-
...reduceFields({
|
|
84
|
-
fields: tab.fields,
|
|
85
|
-
labelPrefix,
|
|
86
|
-
path: isNamedTab ? createNestedClientFieldPath(path, field) : path
|
|
87
|
-
})
|
|
88
|
-
];
|
|
89
|
-
}
|
|
90
|
-
}, [])
|
|
91
|
-
];
|
|
66
|
+
if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {
|
|
67
|
+
return [...fieldsToUse, ...reduceFields({
|
|
68
|
+
fields: field.fields,
|
|
69
|
+
labelPrefix: combineLabel({
|
|
70
|
+
field,
|
|
71
|
+
prefix: labelPrefix
|
|
72
|
+
}),
|
|
73
|
+
path: createNestedClientFieldPath(path, field)
|
|
74
|
+
})];
|
|
75
|
+
}
|
|
76
|
+
if (field.type === 'tabs' && 'tabs' in field) {
|
|
77
|
+
return [...fieldsToUse, ...field.tabs.reduce((tabFields, tab) => {
|
|
78
|
+
if ('fields' in tab) {
|
|
79
|
+
const isNamedTab = 'name' in tab && tab.name;
|
|
80
|
+
return [...tabFields, ...reduceFields({
|
|
81
|
+
fields: tab.fields,
|
|
82
|
+
labelPrefix,
|
|
83
|
+
path: isNamedTab ? createNestedClientFieldPath(path, field) : path
|
|
84
|
+
})];
|
|
92
85
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}, []);
|
|
86
|
+
}, [])];
|
|
87
|
+
}
|
|
88
|
+
const formattedField = {
|
|
89
|
+
label: combineLabel({
|
|
90
|
+
field,
|
|
91
|
+
prefix: labelPrefix
|
|
92
|
+
}),
|
|
93
|
+
value: {
|
|
94
|
+
...field,
|
|
95
|
+
path: createNestedClientFieldPath(path, field)
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
return [...fieldsToUse, formattedField];
|
|
99
|
+
}, []);
|
|
108
100
|
};
|
|
109
|
-
export const FieldSelect =
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
101
|
+
export const FieldSelect = t0 => {
|
|
102
|
+
const $ = _c(10);
|
|
103
|
+
const {
|
|
104
|
+
fields,
|
|
105
|
+
setSelected
|
|
106
|
+
} = t0;
|
|
107
|
+
const {
|
|
108
|
+
t
|
|
109
|
+
} = useTranslation();
|
|
110
|
+
let t1;
|
|
111
|
+
if ($[0] !== fields) {
|
|
112
|
+
t1 = () => reduceFields({
|
|
113
|
+
fields
|
|
114
|
+
});
|
|
115
|
+
$[0] = fields;
|
|
116
|
+
$[1] = t1;
|
|
117
|
+
} else {
|
|
118
|
+
t1 = $[1];
|
|
119
|
+
}
|
|
120
|
+
const [options] = useState(t1);
|
|
121
|
+
const {
|
|
122
|
+
dispatchFields,
|
|
123
|
+
getFields
|
|
124
|
+
} = useForm();
|
|
125
|
+
let t2;
|
|
126
|
+
if ($[2] !== getFields || $[3] !== setSelected || $[4] !== dispatchFields) {
|
|
127
|
+
t2 = selected => {
|
|
128
|
+
const activeFields = getFields();
|
|
129
|
+
if (selected === null) {
|
|
130
|
+
setSelected([]);
|
|
131
|
+
} else {
|
|
132
|
+
setSelected(selected.map(t3 => {
|
|
133
|
+
const {
|
|
134
|
+
value
|
|
135
|
+
} = t3;
|
|
136
|
+
return value;
|
|
113
137
|
}));
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
// remove deselected values from form state
|
|
123
|
-
if (selected === null || Object.keys(activeFields || []).length > selected.length) {
|
|
124
|
-
Object.keys(activeFields).forEach((path)=>{
|
|
125
|
-
if (selected === null || !selected.find((field)=>{
|
|
126
|
-
return field.value.path === path;
|
|
127
|
-
})) {
|
|
128
|
-
dispatchFields({
|
|
129
|
-
type: 'REMOVE',
|
|
130
|
-
path
|
|
131
|
-
});
|
|
132
|
-
}
|
|
138
|
+
}
|
|
139
|
+
if (selected === null || Object.keys(activeFields || []).length > selected.length) {
|
|
140
|
+
Object.keys(activeFields).forEach(path => {
|
|
141
|
+
if (selected === null || !selected.find(field => field.value.path === path)) {
|
|
142
|
+
dispatchFields({
|
|
143
|
+
type: "REMOVE",
|
|
144
|
+
path
|
|
133
145
|
});
|
|
134
|
-
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
135
149
|
};
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
$[2] = getFields;
|
|
151
|
+
$[3] = setSelected;
|
|
152
|
+
$[4] = dispatchFields;
|
|
153
|
+
$[5] = t2;
|
|
154
|
+
} else {
|
|
155
|
+
t2 = $[5];
|
|
156
|
+
}
|
|
157
|
+
const handleChange = t2;
|
|
158
|
+
let t3;
|
|
159
|
+
if ($[6] !== t || $[7] !== handleChange || $[8] !== options) {
|
|
160
|
+
t3 = _jsxs("div", {
|
|
161
|
+
className: baseClass,
|
|
162
|
+
children: [_jsx(FieldLabel, {
|
|
163
|
+
label: t("fields:selectFieldsToEdit")
|
|
164
|
+
}), _jsx(ReactSelect, {
|
|
165
|
+
getOptionValue: _temp,
|
|
166
|
+
isMulti: true,
|
|
167
|
+
onChange: handleChange,
|
|
168
|
+
options
|
|
169
|
+
})]
|
|
154
170
|
});
|
|
171
|
+
$[6] = t;
|
|
172
|
+
$[7] = handleChange;
|
|
173
|
+
$[8] = options;
|
|
174
|
+
$[9] = t3;
|
|
175
|
+
} else {
|
|
176
|
+
t3 = $[9];
|
|
177
|
+
}
|
|
178
|
+
return t3;
|
|
155
179
|
};
|
|
156
|
-
|
|
180
|
+
function _temp(option) {
|
|
181
|
+
if (typeof option.value === "object" && "path" in option.value) {
|
|
182
|
+
return String(option.value.path);
|
|
183
|
+
}
|
|
184
|
+
return String(option.value);
|
|
185
|
+
}
|
|
157
186
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, MappedComponent } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, type JSX, useState } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n customLabel,\n field,\n prefix,\n}: {\n customLabel?: string\n field?: ClientField\n prefix?: JSX.Element | string\n}): JSX.Element => {\n const CustomLabelToRender: MappedComponent =\n field?.admin?.components &&\n 'Label' in field.admin.components &&\n field?.admin?.components?.Label !== undefined\n ? field.admin.components.Label\n : null\n\n const DefaultLabelToRender: MappedComponent =\n field && 'label' in field && field.label\n ? {\n type: 'client',\n Component: FieldLabel,\n props: {\n Label:\n field.admin?.components && 'Label' in field.admin.components\n ? field.admin?.components?.Label\n : null,\n label: field.label,\n },\n }\n : null\n\n const LabelToRender: MappedComponent = CustomLabelToRender ||\n DefaultLabelToRender || {\n type: 'client',\n Component: null,\n RenderedComponent: customLabel,\n }\n\n if (!LabelToRender) return null\n\n return (\n <Fragment>\n {prefix && (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n )}\n <span style={{ display: 'inline-block' }}>\n <RenderComponent mappedComponent={LabelToRender} />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n labelPrefix?: JSX.Element | string\n path?: string\n}): { Label: JSX.Element; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons\n if (\n fieldAffectsData(field) &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const [options] = useState(() => reduceFields({ fields }))\n\n const { dispatchFields, getFields } = useForm()\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"names":["fieldAffectsData","fieldHasSubFields","React","Fragment","useState","FieldLabel","useForm","createNestedClientFieldPath","RenderComponent","useTranslation","ReactSelect","baseClass","combineLabel","customLabel","field","prefix","CustomLabelToRender","admin","components","Label","undefined","DefaultLabelToRender","label","type","Component","props","LabelToRender","RenderedComponent","span","style","display","mappedComponent","reduceFields","fields","labelPrefix","path","reduce","fieldsToUse","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","setSelected","t","options","dispatchFields","getFields","handleChange","selected","activeFields","map","Object","keys","length","forEach","find","div","className","getOptionValue","option","String","isMulti","onChange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","FieldLabel","useForm","createNestedClientFieldPath","RenderComponent","useTranslation","ReactSelect","baseClass","combineLabel","customLabel","field","prefix","CustomLabelToRender","admin","components","Label","undefined","DefaultLabelToRender","label","type","Component","props","LabelToRender","RenderedComponent","_jsxs","_jsx","style","display","mappedComponent","reduceFields","fields","labelPrefix","path","reduce","fieldsToUse","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","t1","options","dispatchFields","getFields","t2","selected","activeFields","map","t3","Object","keys","length","forEach","find","handleChange","className","children","getOptionValue","_temp","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, MappedComponent } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, type JSX, useState } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n customLabel,\n field,\n prefix,\n}: {\n customLabel?: string\n field?: ClientField\n prefix?: JSX.Element | string\n}): JSX.Element => {\n const CustomLabelToRender: MappedComponent =\n field?.admin?.components &&\n 'Label' in field.admin.components &&\n field?.admin?.components?.Label !== undefined\n ? field.admin.components.Label\n : null\n\n const DefaultLabelToRender: MappedComponent =\n field && 'label' in field && field.label\n ? {\n type: 'client',\n Component: FieldLabel,\n props: {\n Label:\n field.admin?.components && 'Label' in field.admin.components\n ? field.admin?.components?.Label\n : null,\n label: field.label,\n },\n }\n : null\n\n const LabelToRender: MappedComponent = CustomLabelToRender ||\n DefaultLabelToRender || {\n type: 'client',\n Component: null,\n RenderedComponent: customLabel,\n }\n\n if (!LabelToRender) return null\n\n return (\n <Fragment>\n {prefix && (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n )}\n <span style={{ display: 'inline-block' }}>\n <RenderComponent mappedComponent={LabelToRender} />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n labelPrefix?: JSX.Element | string\n path?: string\n}): { Label: JSX.Element; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons\n if (\n fieldAffectsData(field) &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const [options] = useState(() => reduceFields({ fields }))\n\n const { dispatchFields, getFields } = useForm()\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|