@payloadcms/ui 3.0.0-canary.78bbed6 → 3.0.0-canary.79ab53e
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/elements/AddNewRelation/index.js +1 -1
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +45 -84
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +149 -228
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js +6 -2
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.scss +4 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +45 -30
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.scss +13 -0
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
- package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +39 -32
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +71 -59
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.scss +16 -14
- package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +64 -36
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +1 -3
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.d.ts +21 -5
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +149 -52
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +95 -219
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +2 -2
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.d.ts +1 -1
- package/dist/elements/Card/index.d.ts.map +1 -1
- package/dist/elements/Card/index.js +2 -2
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +1 -1
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +44 -62
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/index.scss +15 -28
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +2 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +20 -54
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +1 -1
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts +9 -6
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +65 -28
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.scss +24 -11
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +26 -18
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +24 -5
- package/dist/elements/DocumentControls/index.d.ts +9 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +26 -8
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +102 -37
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +6 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +2 -1
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.d.ts +1 -0
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +3 -3
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +1 -1
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Dropzone/index.d.ts +3 -3
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +58 -145
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/Dropzone/index.scss +6 -23
- package/dist/elements/DuplicateDocument/index.d.ts +6 -3
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +95 -137
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.scss +25 -5
- package/dist/elements/EditMany/index.js +124 -230
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +140 -201
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.d.ts.map +1 -1
- package/dist/elements/ErrorPill/index.js +3 -1
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +3 -1
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.scss +1 -0
- package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +31 -24
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.scss +24 -5
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +89 -200
- 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 +311 -233
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.scss +7 -0
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.js +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/context.js +47 -83
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Pagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/index.js +20 -10
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js +11 -5
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +3 -1
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +4 -2
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js +18 -6
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js +15 -5
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +113 -48
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +25 -17
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/PublishMany/index.scss +23 -4
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +5 -3
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +9 -2
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +35 -84
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +63 -119
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +45 -81
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +29 -20
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.d.ts +3 -3
- package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +4 -4
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +22 -39
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.d.ts.map +1 -1
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +43 -27
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Status/index.scss +26 -7
- package/dist/elements/StepNav/index.d.ts +1 -1
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +2 -2
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.scss +5 -5
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +2 -2
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +21 -16
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +16 -13
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +11 -33
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +10 -6
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +84 -9
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- 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 +0 -2
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +26 -18
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.scss +23 -4
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +183 -302
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +38 -0
- package/dist/elements/ViewDescription/index.d.ts +1 -1
- package/dist/elements/ViewDescription/index.d.ts.map +1 -1
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +2 -1
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +5 -8
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +1 -1
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/WindowInfo/index.d.ts +2 -2
- package/dist/elements/WindowInfo/index.d.ts.map +1 -1
- package/dist/elements/WindowInfo/index.js +2 -2
- package/dist/elements/WindowInfo/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-C4FLUUO7.js → CodeEditor-CHKRX3U2.js} +4 -4
- package/dist/exports/client/{CodeEditor-C4FLUUO7.js.map → CodeEditor-CHKRX3U2.js.map} +4 -4
- package/dist/exports/client/{DatePicker-E6IJFDN2.js → DatePicker-OLRZVTAD.js} +2 -2
- package/dist/exports/client/chunk-BGA6EPOL.js +14 -0
- package/dist/exports/client/chunk-BGA6EPOL.js.map +8 -0
- package/dist/exports/client/{chunk-OBXEO4WP.js → chunk-JINNHJP7.js} +1 -1
- package/dist/exports/client/{chunk-OBXEO4WP.js.map → chunk-JINNHJP7.js.map} +2 -2
- package/dist/exports/client/index.d.ts +5 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +3 -2
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts +1 -1
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +6 -6
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +11 -3
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +8 -5
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +2 -2
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +4 -4
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +3 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -1
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +8 -2
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +2 -5
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +1 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +3 -3
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +16 -4
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +2 -2
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Checkbox/index.scss +13 -0
- package/dist/fields/Code/index.d.ts +9 -2
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +32 -37
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +143 -2
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +49 -42
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +9 -2
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +33 -38
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +10 -2
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +29 -33
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +7 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +8 -3
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +8 -2
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +17 -11
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +9 -2
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +36 -41
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +3 -3
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +7 -7
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.d.ts +5 -5
- package/dist/fields/Password/types.d.ts.map +1 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.d.ts +10 -3
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +2 -1
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +10 -2
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +36 -41
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/createRelationMap.d.ts +1 -1
- package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
- package/dist/fields/Relationship/createRelationMap.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +8 -2
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +418 -515
- 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 +31 -1
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts +6 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -82
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +4 -0
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts +6 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +43 -92
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.scss +4 -0
- package/dist/fields/Relationship/types.d.ts +14 -5
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +2 -2
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +9 -2
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/index.scss +12 -2
- package/dist/fields/Select/Input.d.ts +5 -5
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +7 -7
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +10 -2
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +11 -11
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +6 -2
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.js +7 -7
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts +11 -3
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +4 -6
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +5 -5
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +7 -7
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +13 -4
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +4 -6
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +5 -5
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts +16 -2
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +154 -223
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.scss +12 -56
- package/dist/fields/Upload/HasOne/index.d.ts +13 -9
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +36 -120
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.scss +0 -69
- package/dist/fields/Upload/{HasOne/Input.d.ts → Input.d.ts} +14 -9
- package/dist/fields/Upload/Input.d.ts.map +1 -0
- package/dist/fields/Upload/Input.js +672 -0
- package/dist/fields/Upload/Input.js.map +1 -0
- package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
- package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
- package/dist/fields/Upload/RelationshipContent/index.js +140 -0
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
- package/dist/fields/Upload/RelationshipContent/index.scss +54 -0
- package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
- package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
- package/dist/fields/Upload/UploadCard/index.js +15 -0
- package/dist/fields/Upload/UploadCard/index.js.map +1 -0
- package/dist/fields/Upload/UploadCard/index.scss +27 -0
- package/dist/fields/Upload/index.d.ts +6 -6
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +85 -90
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/index.scss +62 -0
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +6 -2
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +20 -8
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +3 -1
- 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 +9 -3
- 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 +3 -1
- package/dist/forms/Form/rows.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +4 -2
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +1 -1
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +1 -1
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.d.ts +1 -1
- package/dist/forms/RowLabel/types.d.ts.map +1 -1
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -28
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +6 -2
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
- package/dist/graphics/Account/index.d.ts.map +1 -1
- package/dist/graphics/Account/index.js +1 -1
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/hooks/useDelay.js +15 -48
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +32 -71
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useHotkey.d.ts.map +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIgnoredEffect.d.ts +17 -0
- package/dist/hooks/useIgnoredEffect.d.ts.map +1 -0
- package/dist/hooks/useIgnoredEffect.js +28 -0
- package/dist/hooks/useIgnoredEffect.js.map +1 -0
- package/dist/hooks/useIntersect.d.ts.map +1 -1
- package/dist/hooks/useIntersect.js +14 -20
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts +7 -0
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +7 -0
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +6 -2
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/RenderComponent.d.ts +1 -1
- package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
- package/dist/providers/Config/RenderComponent.js +2 -2
- package/dist/providers/Config/RenderComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.d.ts +6 -6
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +17 -13
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.js +31 -11
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
- package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
- package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/getComponent.js +2 -2
- package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +3 -1
- package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
- package/dist/providers/Config/createClientConfig/globals.d.ts +4 -4
- package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/globals.js +3 -3
- package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
- package/dist/providers/Config/createClientConfig/index.d.ts +3 -3
- package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/index.js +20 -5
- package/dist/providers/Config/createClientConfig/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +12 -4
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +20 -3
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/ListInfo/index.d.ts +2 -2
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +12 -6
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +32 -20
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +4 -4
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +12 -12
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +118 -187
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/WindowInfo/index.d.ts +1 -1
- package/dist/providers/WindowInfo/index.d.ts.map +1 -1
- package/dist/providers/WindowInfo/index.js +1 -1
- package/dist/providers/WindowInfo/index.js.map +1 -1
- package/dist/scss/app.scss +6 -6
- package/dist/scss/type.scss +4 -4
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +6 -2
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js +6 -2
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/package.json +13 -13
- package/dist/exports/client/chunk-UGBVRIVY.js +0 -14
- package/dist/exports/client/chunk-UGBVRIVY.js.map +0 -8
- package/dist/fields/Upload/HasOne/Input.d.ts.map +0 -1
- package/dist/fields/Upload/HasOne/Input.js +0 -324
- package/dist/fields/Upload/HasOne/Input.js.map +0 -1
- /package/dist/exports/client/{DatePicker-E6IJFDN2.js.map → DatePicker-OLRZVTAD.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","isImage","reduceFieldsToValues","React","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useField","useDocumentInfo","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","Fragment","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","doc","setDoc","docPermissions","path","errorMessage","setValue","showError","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","cursorPositionRef","urlInputRef","newFile","File","URL","createObjectURL","handleFileChange","handleFileNameChange","e","updatedFileName","target","cursorPosition","selectionStart","current","fileValue","newFile_0","type","t4","inputElement","document","querySelector","setSelectionRange","t5","files","fileToUpload","handleFileSelection","t6","handleFileRemoval","t7","args","onEditsSave","t8","prev","handlePasteUrlClick","t9","response","fetch","data","blob","fileName","split","pop","file","t10","error","message","handleUrlSubmit","t11","t12","focus","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","t13","t14","showCrop","showFocalPoint","t15","filter","t16","filename","customUploadActions","handleRemove","imageCacheTag","updatedAt","t17","Header","name","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","t18","hoverTitle","title","label","join","field","mimeTypes","onPasteUrlClick","e_1","ref","onClick","buttonStyle","icon","iconStyle","round","tooltip","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) return null\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const cursorPositionRef = useRef(null)\n const urlInputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n const cursorPosition = e.target.selectionStart\n\n cursorPositionRef.current = cursorPosition\n\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n handleFileChange(newFile)\n }\n }\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const inputElement = document.querySelector(`.${baseClass}__filename`) as HTMLInputElement\n if (inputElement && cursorPositionRef.current !== null) {\n inputElement.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current)\n }\n }, [value])\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n setDoc({})\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handlePasteUrlClick = () => {\n setShowUrlInput((prev) => !prev)\n }\n\n const handleUrlSubmit = async () => {\n if (fileUrl) {\n try {\n const response = await fetch(fileUrl)\n const data = await response.blob()\n\n // Extract the file name from the URL\n const fileName = fileUrl.split('/').pop()\n\n // Create a new File object from the Blob data\n const file = new File([data], fileName, { type: data.type })\n handleFileChange(file)\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n }\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError field={null} message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n onPasteUrlClick={handlePasteUrlClick}\n />\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={doc?.url || fileSrc}\n imageCacheTag={doc.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || doc.focalX || 50,\n y: uploadEdits?.focalPoint?.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","isImage","reduceFieldsToValues","React","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useField","useDocumentInfo","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","Fragment","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","docPermissions","errorMessage","setValue","showError","path","doc","setDoc","fileSrc","setFileSrc","replacingFile","setReplacingFile","filename","setFilename","name","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","handleFileChange","newFile","File","URL","createObjectURL","renameFile","fileToChange","newName","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","response","fetch","data","blob","fileName","split","pop","file","error","message","current","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","filter","join","field","customUploadActions","handleRemove","imageCacheTag","updatedAt","buttonStyle","onClick","click","size","hidden","ref","icon","iconStyle","round","tooltip","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [replacingFile, setReplacingFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange(renameFile(value, updatedFileName))\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n setDoc({})\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = async () => {\n if (fileUrl) {\n try {\n const response = await fetch(fileUrl)\n const data = await response.blob()\n\n // Extract the file name from the URL\n const fileName = fileUrl.split('/').pop()\n\n // Create a new File object from the Blob data\n const file = new File([data], fileName, { type: data.type })\n handleFileChange(file)\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n }\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError field={null} message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={doc?.url || fileSrc}\n imageCacheTag={doc.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || doc.focalX || 50,\n y: uploadEdits?.focalPoint?.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
width: 100%;
|
|
29
29
|
height: 100%;
|
|
30
30
|
object-fit: contain;
|
|
31
|
+
border-radius: var(--style-radius-s) 0 0 var(--style-radius-s);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
|
|
@@ -83,6 +84,37 @@
|
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
86
|
|
|
87
|
+
.dropzone {
|
|
88
|
+
background-color: transparent;
|
|
89
|
+
padding-block: calc(var(--base) * 2.25);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&__dropzoneContent {
|
|
93
|
+
display: flex;
|
|
94
|
+
flex-wrap: wrap;
|
|
95
|
+
gap: base(0.4);
|
|
96
|
+
justify-content: space-between;
|
|
97
|
+
width: 100%;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&__dropzoneButtons {
|
|
101
|
+
display: flex;
|
|
102
|
+
gap: calc(var(--base) * 0.5);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&__orText {
|
|
106
|
+
color: var(--theme-elevation-500);
|
|
107
|
+
text-transform: lowercase;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
&__dragAndDropText {
|
|
111
|
+
flex-shrink: 0;
|
|
112
|
+
margin: 0;
|
|
113
|
+
text-transform: lowercase;
|
|
114
|
+
align-self: center;
|
|
115
|
+
color: var(--theme-elevation-500);
|
|
116
|
+
}
|
|
117
|
+
|
|
86
118
|
@include small-break {
|
|
87
119
|
&__upload {
|
|
88
120
|
flex-wrap: wrap;
|
|
@@ -114,4 +146,10 @@
|
|
|
114
146
|
display: none;
|
|
115
147
|
}
|
|
116
148
|
}
|
|
149
|
+
|
|
150
|
+
@include small-break {
|
|
151
|
+
&__dropzoneContent {
|
|
152
|
+
display: none;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
117
155
|
}
|
|
@@ -2,7 +2,7 @@ import type { DescriptionFunction, MappedComponent, StaticDescription } from 'pa
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
export type ViewDescriptionComponent = React.ComponentType<any>;
|
|
5
|
-
type Description = DescriptionFunction | StaticDescription |
|
|
5
|
+
type Description = DescriptionFunction | StaticDescription | string | ViewDescriptionComponent;
|
|
6
6
|
export type ViewDescriptionProps = {
|
|
7
7
|
readonly Description?: MappedComponent;
|
|
8
8
|
readonly description?: StaticDescription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ViewDescription/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;AAE/D,KAAK,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ViewDescription/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;AAE/D,KAAK,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,MAAM,GAAG,wBAAwB,CAAA;AAE9F,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CACzC,CAAA;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,IAAI,wBAAwB,CAE7F;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAa1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","RenderComponent","useTranslation","isComponent","description","isValidElement","ViewDescription","props","$","i18n","Description","rest","t0","_jsx","clientProps","mappedComponent","className","children"],"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport type { DescriptionFunction, MappedComponent, StaticDescription } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type ViewDescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionFunction | StaticDescription |
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","RenderComponent","useTranslation","isComponent","description","isValidElement","ViewDescription","props","$","i18n","Description","rest","t0","_jsx","clientProps","mappedComponent","className","children"],"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport type { DescriptionFunction, MappedComponent, StaticDescription } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type ViewDescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionFunction | StaticDescription | string | ViewDescriptionComponent\n\nexport type ViewDescriptionProps = {\n readonly Description?: MappedComponent\n readonly description?: StaticDescription\n}\n\nexport function isComponent(description: Description): description is ViewDescriptionComponent {\n return React.isValidElement(description)\n}\n\nexport const ViewDescription: React.FC<ViewDescriptionProps> = (props) => {\n const { i18n } = useTranslation()\n const { Description, description, ...rest } = props\n\n if (Description) {\n return <RenderComponent clientProps={{ description, ...rest }} mappedComponent={Description} />\n }\n\n if (description) {\n return <div className=\"view-description\">{getTranslation(description, i18n)}</div>\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAWP,OAAO,SAASC,YAAYC,WAAwB;EAClD,oBAAOJ,KAAA,CAAMK,cAAc,CAACD,WAAA;AAC9B;AAEA,OAAO,MAAME,eAAA,GAAkDC,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAC7D;IAAAW;EAAA,IAAiBP,cAAA;EAAA,IAAAQ,WAAA;EAAA,IAAAN,WAAA;EAAA,IAAAO,IAAA;EAAA,IAAAH,CAAA,QAAAD,KAAA;IACjB;MAAAG,WAAA;MAAAN,WAAA;MAAA,GAAAO;IAAA,IAA8CJ,KAAA;IAAAC,CAAA,MAAAD,KAAA;IAAAC,CAAA,MAAAE,WAAA;IAAAF,CAAA,MAAAJ,WAAA;IAAAI,CAAA,MAAAG,IAAA;EAAA;IAAAD,WAAA,GAAAF,CAAA;IAAAJ,WAAA,GAAAI,CAAA;IAAAG,IAAA,GAAAH,CAAA;EAAA;EAAA,IAE1CE,WAAA;IAAA,IAAAE,EAAA;IAAA,IAAAJ,CAAA,QAAAJ,WAAA,IAAAI,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAE,WAAA;MACKE,EAAA,GAAAC,IAAA,CAAAZ,eAAA;QAAAa,WAAA;UAAAV,WAAA;UAAA,GAAgDO;QAAI;QAAAI,eAAA,EAAqBL;MAAA,C;;;;;;;;WAAzEE,E;;MAGLR,WAAA;IAAA,IAAAQ,EAAA;IAAA,IAAAJ,CAAA,QAAAJ,WAAA,IAAAI,CAAA,QAAAC,IAAA;MACKG,EAAA,GAAAC,IAAA,CAAC;QAAAG,SAAA,EAAc;QAAAC,QAAA,EAAoBlB,cAAA,CAAeK,WAAA,EAAaK,IAAA;MAAA,C;;;;;;;WAA/DG,E;;;CAIX","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,YAAY,EAAE,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChG,QAAQ,CAAC,eAAe,EAAE,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;CACX,CAAA;AAED,OAAO,KAAK,EAA+B,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,YAAY,EAAE,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChG,QAAQ,CAAC,eAAe,EAAE,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;CACX,CAAA;AAED,OAAO,KAAK,EAA+B,QAAQ,EAAE,MAAM,SAAS,CAAA;AAUpE,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkKrC,CAAA"}
|
|
@@ -9,11 +9,11 @@ import { useTranslation } from '../../../providers/Translation/index.js';
|
|
|
9
9
|
import { Button } from '../../Button/index.js';
|
|
10
10
|
import { ReactSelect } from '../../ReactSelect/index.js';
|
|
11
11
|
import { DateField } from './Date/index.js';
|
|
12
|
+
import './index.scss';
|
|
12
13
|
import { NumberField } from './Number/index.js';
|
|
13
14
|
import { RelationshipField } from './Relationship/index.js';
|
|
14
15
|
import { Select } from './Select/index.js';
|
|
15
16
|
import { Text } from './Text/index.js';
|
|
16
|
-
import './index.scss';
|
|
17
17
|
const baseClass = 'condition';
|
|
18
18
|
export const Condition = props => {
|
|
19
19
|
const $ = _c(64);
|
|
@@ -98,6 +98,7 @@ export const Condition = props => {
|
|
|
98
98
|
t5 = {
|
|
99
99
|
date: DateField,
|
|
100
100
|
number: NumberField,
|
|
101
|
+
radio: Select,
|
|
101
102
|
relationship: RelationshipField,
|
|
102
103
|
select: Select,
|
|
103
104
|
text: Text
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useState","useDebounce","RenderComponent","useTranslation","Button","ReactSelect","DateField","NumberField","RelationshipField","Select","Text","baseClass","Condition","props","$","addCondition","andIndex","fieldName","fields","initialValue","operator","orIndex","removeCondition","updateCondition","t0","find","field","value","internalField","setInternalField","t","internalOperatorOption","setInternalOperatorOption","internalQueryValue","setInternalQueryValue","debouncedValue","t1","undefined","includes","t2","t3","t4","type","booleanSelect","t5","Symbol","for","date","number","relationship","select","text","valueFields","t6","Component","Filter","ValueComponent","valueOptions","t7","t8","label","t9","t10","t11","options","field_0","f","field_1","operator_0","t12","relation","_jsx","className","children","_jsxs","isClearable","onChange","disabled","operators","operator_1","clientProps","relationTo","mappedComponent","buttonStyle","icon","iconStyle","onClick","round"],"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useState } from 'react'\n\nimport type { FieldCondition } from '../types.js'\n\nexport type Props = {\n readonly addCondition: ({\n andIndex,\n fieldName,\n orIndex,\n relation,\n }: {\n andIndex: number\n fieldName: string\n orIndex: number\n relation: 'and' | 'or'\n }) => void\n readonly andIndex: number\n readonly fieldName: string\n readonly fields: FieldCondition[]\n readonly initialValue: string\n readonly operator: Operator\n readonly orIndex: number\n readonly removeCondition: ({ andIndex, orIndex }: { andIndex: number; orIndex: number }) => void\n readonly updateCondition: ({\n andIndex,\n fieldName,\n operator,\n orIndex,\n value,\n }: {\n andIndex: number\n fieldName: string\n operator: string\n orIndex: number\n value: string\n }) => void\n}\n\nimport type { FieldTypes, MappedComponent, Operator } from 'payload'\n\nimport type { Option } from '../../ReactSelect/index.js'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { RenderComponent } from '../../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DateField } from './Date/index.js'\nimport { NumberField } from './Number/index.js'\nimport { RelationshipField } from './Relationship/index.js'\nimport { Select } from './Select/index.js'\nimport { Text } from './Text/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n addCondition,\n andIndex,\n fieldName,\n fields,\n initialValue,\n operator,\n orIndex,\n removeCondition,\n updateCondition,\n } = props\n const [internalField, setInternalField] = useState<FieldCondition>(() =>\n fields.find((field) => fieldName === field.value),\n )\n const { t } = useTranslation()\n const [internalOperatorOption, setInternalOperatorOption] = useState<Operator>(operator)\n const [internalQueryValue, setInternalQueryValue] = useState<string>(initialValue)\n\n const debouncedValue = useDebounce(internalQueryValue, 300)\n\n useEffect(() => {\n // This is to trigger changes when the debounced value changes\n if (\n (internalField?.value || typeof internalField?.value === 'number') &&\n internalOperatorOption &&\n ![null, undefined].includes(debouncedValue)\n ) {\n updateCondition({\n andIndex,\n fieldName: internalField.value,\n operator: internalOperatorOption,\n orIndex,\n value: debouncedValue,\n })\n }\n }, [\n debouncedValue,\n andIndex,\n internalField?.value,\n internalOperatorOption,\n orIndex,\n updateCondition,\n operator,\n ])\n\n const booleanSelect =\n ['exists'].includes(internalOperatorOption) || internalField?.field?.type === 'checkbox'\n\n const valueFields: Partial<{\n [key in FieldTypes]: React.FC\n }> = {\n date: DateField,\n number: NumberField,\n relationship: RelationshipField,\n select: Select,\n text: Text,\n }\n\n const ValueComponent: MappedComponent = booleanSelect\n ? {\n type: 'client',\n Component: Select,\n }\n : internalField.Filter || {\n type: 'client',\n Component: valueFields?.[internalField?.field?.type] || Text,\n }\n\n let valueOptions\n if (booleanSelect) {\n valueOptions = [\n { label: t('general:true'), value: 'true' },\n { label: t('general:false'), value: 'false' },\n ]\n } else if (internalField?.field && 'options' in internalField.field) {\n valueOptions = internalField.field.options\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n isClearable={false}\n onChange={(field: Option) => {\n setInternalField(fields.find((f) => f.value === field.value))\n setInternalOperatorOption(undefined)\n setInternalQueryValue(undefined)\n }}\n options={fields}\n value={fields.find((field) => internalField?.value === field.value) || fields[0]}\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={!internalField?.value && typeof internalField?.value !== 'number'}\n isClearable={false}\n onChange={(operator: Option<Operator>) => {\n setInternalOperatorOption(operator.value)\n }}\n options={internalField?.operators}\n value={\n internalField?.operators.find(\n (operator) => internalOperatorOption === operator.value,\n ) || null\n }\n />\n </div>\n <div className={`${baseClass}__value`}>\n <RenderComponent\n clientProps={{\n ...internalField?.field,\n disabled: !internalOperatorOption,\n onChange: setInternalQueryValue,\n operator: internalOperatorOption,\n options: valueOptions,\n relationTo:\n internalField?.field?.type === 'relationship'\n ? internalField?.field?.relationTo\n : undefined,\n value: internalQueryValue ?? '',\n }}\n mappedComponent={ValueComponent}\n />\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n round\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-add`}\n icon=\"plus\"\n iconStyle=\"with-border\"\n onClick={() =>\n addCondition({\n andIndex: andIndex + 1,\n fieldName: fields[0].value,\n orIndex,\n relation: 'and',\n })\n }\n round\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useState","useDebounce","RenderComponent","useTranslation","Button","ReactSelect","DateField","NumberField","RelationshipField","Select","Text","baseClass","Condition","props","$","addCondition","andIndex","fieldName","fields","initialValue","operator","orIndex","removeCondition","updateCondition","t0","find","field","value","internalField","setInternalField","t","internalOperatorOption","setInternalOperatorOption","internalQueryValue","setInternalQueryValue","debouncedValue","t1","undefined","includes","t2","t3","t4","type","booleanSelect","t5","Symbol","for","date","number","radio","relationship","select","text","valueFields","t6","Component","Filter","ValueComponent","valueOptions","t7","t8","label","t9","t10","t11","options","field_0","f","field_1","operator_0","t12","relation","_jsx","className","children","_jsxs","isClearable","onChange","disabled","operators","operator_1","clientProps","relationTo","mappedComponent","buttonStyle","icon","iconStyle","onClick","round"],"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useState } from 'react'\n\nimport type { FieldCondition } from '../types.js'\n\nexport type Props = {\n readonly addCondition: ({\n andIndex,\n fieldName,\n orIndex,\n relation,\n }: {\n andIndex: number\n fieldName: string\n orIndex: number\n relation: 'and' | 'or'\n }) => void\n readonly andIndex: number\n readonly fieldName: string\n readonly fields: FieldCondition[]\n readonly initialValue: string\n readonly operator: Operator\n readonly orIndex: number\n readonly removeCondition: ({ andIndex, orIndex }: { andIndex: number; orIndex: number }) => void\n readonly updateCondition: ({\n andIndex,\n fieldName,\n operator,\n orIndex,\n value,\n }: {\n andIndex: number\n fieldName: string\n operator: string\n orIndex: number\n value: string\n }) => void\n}\n\nimport type { FieldTypes, MappedComponent, Operator } from 'payload'\n\nimport type { Option } from '../../ReactSelect/index.js'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { RenderComponent } from '../../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DateField } from './Date/index.js'\nimport './index.scss'\nimport { NumberField } from './Number/index.js'\nimport { RelationshipField } from './Relationship/index.js'\nimport { Select } from './Select/index.js'\nimport { Text } from './Text/index.js'\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n addCondition,\n andIndex,\n fieldName,\n fields,\n initialValue,\n operator,\n orIndex,\n removeCondition,\n updateCondition,\n } = props\n const [internalField, setInternalField] = useState<FieldCondition>(() =>\n fields.find((field) => fieldName === field.value),\n )\n const { t } = useTranslation()\n const [internalOperatorOption, setInternalOperatorOption] = useState<Operator>(operator)\n const [internalQueryValue, setInternalQueryValue] = useState<string>(initialValue)\n\n const debouncedValue = useDebounce(internalQueryValue, 300)\n\n useEffect(() => {\n // This is to trigger changes when the debounced value changes\n if (\n (internalField?.value || typeof internalField?.value === 'number') &&\n internalOperatorOption &&\n ![null, undefined].includes(debouncedValue)\n ) {\n updateCondition({\n andIndex,\n fieldName: internalField.value,\n operator: internalOperatorOption,\n orIndex,\n value: debouncedValue,\n })\n }\n }, [\n debouncedValue,\n andIndex,\n internalField?.value,\n internalOperatorOption,\n orIndex,\n updateCondition,\n operator,\n ])\n\n const booleanSelect =\n ['exists'].includes(internalOperatorOption) || internalField?.field?.type === 'checkbox'\n\n const valueFields: Partial<{\n [key in FieldTypes]: React.FC\n }> = {\n date: DateField,\n number: NumberField,\n radio: Select,\n relationship: RelationshipField,\n select: Select,\n text: Text,\n }\n\n const ValueComponent: MappedComponent = booleanSelect\n ? {\n type: 'client',\n Component: Select,\n }\n : internalField.Filter || {\n type: 'client',\n Component: valueFields?.[internalField?.field?.type] || Text,\n }\n\n let valueOptions\n if (booleanSelect) {\n valueOptions = [\n { label: t('general:true'), value: 'true' },\n { label: t('general:false'), value: 'false' },\n ]\n } else if (internalField?.field && 'options' in internalField.field) {\n valueOptions = internalField.field.options\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n isClearable={false}\n onChange={(field: Option) => {\n setInternalField(fields.find((f) => f.value === field.value))\n setInternalOperatorOption(undefined)\n setInternalQueryValue(undefined)\n }}\n options={fields}\n value={fields.find((field) => internalField?.value === field.value) || fields[0]}\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={!internalField?.value && typeof internalField?.value !== 'number'}\n isClearable={false}\n onChange={(operator: Option<Operator>) => {\n setInternalOperatorOption(operator.value)\n }}\n options={internalField?.operators}\n value={\n internalField?.operators.find(\n (operator) => internalOperatorOption === operator.value,\n ) || null\n }\n />\n </div>\n <div className={`${baseClass}__value`}>\n <RenderComponent\n clientProps={{\n ...internalField?.field,\n disabled: !internalOperatorOption,\n onChange: setInternalQueryValue,\n operator: internalOperatorOption,\n options: valueOptions,\n relationTo:\n internalField?.field?.type === 'relationship'\n ? internalField?.field?.relationTo\n : undefined,\n value: internalQueryValue ?? '',\n }}\n mappedComponent={ValueComponent}\n />\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n round\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-add`}\n icon=\"plus\"\n iconStyle=\"with-border\"\n onClick={() =>\n addCondition({\n andIndex: andIndex + 1,\n fieldName: fields[0].value,\n orIndex,\n relation: 'and',\n })\n }\n round\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAMnD,OAAO,cAAc,CAAA;AAOrB,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8NpD,CAAA"}
|
|
@@ -5,7 +5,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
6
|
import React, { useEffect, useState } from 'react';
|
|
7
7
|
import { useListQuery } from '../../providers/ListQuery/index.js';
|
|
8
|
-
import { useSearchParams } from '../../providers/SearchParams/index.js';
|
|
9
8
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
10
9
|
import { Button } from '../Button/index.js';
|
|
11
10
|
import { Condition } from './Condition/index.js';
|
|
@@ -61,16 +60,14 @@ export const WhereBuilder = props => {
|
|
|
61
60
|
}
|
|
62
61
|
useEffect(t1, t2);
|
|
63
62
|
const {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const {
|
|
67
|
-
handleWhereChange
|
|
63
|
+
handleWhereChange,
|
|
64
|
+
params
|
|
68
65
|
} = useListQuery();
|
|
69
66
|
const [shouldUpdateQuery, setShouldUpdateQuery] = React.useState(false);
|
|
70
67
|
let t3;
|
|
71
|
-
if ($[7] !==
|
|
68
|
+
if ($[7] !== params.where) {
|
|
72
69
|
t3 = () => {
|
|
73
|
-
const whereFromSearch =
|
|
70
|
+
const whereFromSearch = params.where;
|
|
74
71
|
if (whereFromSearch) {
|
|
75
72
|
if (validateWhereQuery(whereFromSearch)) {
|
|
76
73
|
return whereFromSearch.or;
|
|
@@ -83,7 +80,7 @@ export const WhereBuilder = props => {
|
|
|
83
80
|
}
|
|
84
81
|
return [];
|
|
85
82
|
};
|
|
86
|
-
$[7] =
|
|
83
|
+
$[7] = params.where;
|
|
87
84
|
$[8] = t3;
|
|
88
85
|
} else {
|
|
89
86
|
t3 = $[8];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useEffect","useState","useListQuery","useSearchParams","useTranslation","Button","Condition","reduceClientFields","transformWhereQuery","validateWhereQuery","baseClass","WhereBuilder","props","$","collectionPluralLabel","fields","i18n","t","t0","reducedFields","setReducedColumns","t1","t2","searchParams","handleWhereChange","shouldUpdateQuery","setShouldUpdateQuery","t3","where","whereFromSearch","or","transformedWhere","console","warn","JSON","stringify","conditions","setConditions","t4","t5","andIndex","fieldName","orIndex","relation","newConditions","and","splice","push","addCondition","t6","andIndex_0","fieldName_0","operator","orIndex_0","value","valueArg","existingRowCondition","newRowCondition","newConditions_0","undefined","includes","updateCondition","t7","andIndex_1","orIndex_1","newConditions_1","length","removeCondition","t8","handleChange","t9","_jsxs","className","children","Fragment","_jsx","label","map","orIndex_2","compoundOrKey","Array","isArray","_","andIndex_2","initialFieldName","Object","keys","initialOperator","initialValue","buttonStyle","icon","iconPosition","iconStyle","onClick"],"sources":["../../../src/elements/WhereBuilder/index.tsx"],"sourcesContent":["'use client'\nimport type { Operator } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport type { WhereBuilderProps } from './types.js'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Condition } from './Condition/index.js'\nimport './index.scss'\nimport { reduceClientFields } from './reduceClientFields.js'\nimport { transformWhereQuery } from './transformWhereQuery.js'\nimport validateWhereQuery from './validateWhereQuery.js'\n\nconst baseClass = 'where-builder'\n\nexport { WhereBuilderProps }\n\n/**\n * The WhereBuilder component is used to render the filter controls for a collection's list view.\n * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).\n */\nexport const WhereBuilder: React.FC<WhereBuilderProps> = (props) => {\n const { collectionPluralLabel, fields } = props\n const { i18n, t } = useTranslation()\n\n const [reducedFields, setReducedColumns] = useState(() => reduceClientFields({ fields, i18n }))\n\n useEffect(() => {\n setReducedColumns(reduceClientFields({ fields, i18n }))\n }, [fields, i18n])\n\n const { searchParams } = useSearchParams()\n const { handleWhereChange } = useListQuery()\n const [shouldUpdateQuery, setShouldUpdateQuery] = React.useState(false)\n\n // This handles initializing the where conditions from the search query (URL). That way, if you pass in\n // query params to the URL, the where conditions will be initialized from those and displayed in the UI.\n // Example: /admin/collections/posts?where[or][0][and][0][text][equals]=example%20post\n /*\n stored conditions look like this:\n [\n _or_ & _and_ queries have the same shape:\n {\n and: [{\n category: {\n equals: 'category-a'\n }\n }]\n },\n\n {\n and:[{\n category: {\n equals: 'category-b'\n },\n text: {\n not_equals: 'oranges'\n },\n }]\n }\n ]\n */\n\n const [conditions, setConditions] = React.useState(() => {\n const whereFromSearch = searchParams.where\n if (whereFromSearch) {\n if (validateWhereQuery(whereFromSearch)) {\n return whereFromSearch.or\n }\n // Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format\n const transformedWhere = transformWhereQuery(whereFromSearch)\n\n if (validateWhereQuery(transformedWhere)) {\n return transformedWhere.or\n }\n\n console.warn(`Invalid where query in URL: ${JSON.stringify(whereFromSearch)}`) // eslint-disable-line no-console\n }\n\n return []\n })\n\n const addCondition = React.useCallback(\n ({ andIndex, fieldName, orIndex, relation }) => {\n const newConditions = [...conditions]\n if (relation === 'and') {\n newConditions[orIndex].and.splice(andIndex, 0, { [fieldName]: {} })\n } else {\n newConditions.push({\n and: [\n {\n [fieldName]: {},\n },\n ],\n })\n }\n setConditions(newConditions)\n },\n [conditions],\n )\n\n const updateCondition = React.useCallback(\n ({ andIndex, fieldName, operator, orIndex, value: valueArg }) => {\n const existingRowCondition = conditions[orIndex].and[andIndex]\n if (typeof existingRowCondition === 'object' && fieldName && operator) {\n const value = valueArg ?? (operator ? existingRowCondition[operator] : '')\n const newRowCondition = {\n [fieldName]: operator ? { [operator]: value } : {},\n }\n\n if (JSON.stringify(existingRowCondition) !== JSON.stringify(newRowCondition)) {\n const newConditions = [...conditions]\n newConditions[orIndex].and[andIndex] = newRowCondition\n setConditions(newConditions)\n if (![null, undefined].includes(value)) {\n // only update query when field/operator/value are filled out\n setShouldUpdateQuery(true)\n }\n }\n }\n },\n [conditions],\n )\n\n const removeCondition = React.useCallback(\n ({ andIndex, orIndex }) => {\n const newConditions = [...conditions]\n newConditions[orIndex].and.splice(andIndex, 1)\n if (newConditions[orIndex].and.length === 0) {\n newConditions.splice(orIndex, 1)\n }\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n },\n [conditions],\n )\n\n React.useEffect(() => {\n if (shouldUpdateQuery) {\n async function handleChange() {\n await handleWhereChange({ or: conditions })\n setShouldUpdateQuery(false)\n }\n void handleChange()\n }\n }, [conditions, handleWhereChange, shouldUpdateQuery])\n\n return (\n <div className={baseClass}>\n {conditions.length > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__label`}>\n {t('general:filterWhere', { label: getTranslation(collectionPluralLabel, i18n) })}\n </div>\n <ul className={`${baseClass}__or-filters`}>\n {conditions.map((or, orIndex) => {\n const compoundOrKey = `${orIndex}_${Array.isArray(or?.and) ? or.and.length : ''}`\n\n return (\n <li key={compoundOrKey}>\n {orIndex !== 0 && <div className={`${baseClass}__label`}>{t('general:or')}</div>}\n <ul className={`${baseClass}__and-filters`}>\n {Array.isArray(or?.and) &&\n or.and.map((_, andIndex) => {\n const initialFieldName = Object.keys(conditions[orIndex].and[andIndex])[0]\n const initialOperator =\n (Object.keys(\n conditions[orIndex].and[andIndex]?.[initialFieldName] || {},\n )?.[0] as Operator) || undefined\n const initialValue =\n conditions[orIndex].and[andIndex]?.[initialFieldName]?.[\n initialOperator\n ] || ''\n\n return (\n <li key={andIndex}>\n {andIndex !== 0 && (\n <div className={`${baseClass}__label`}>{t('general:and')}</div>\n )}\n <Condition\n addCondition={addCondition}\n andIndex={andIndex}\n fieldName={initialFieldName}\n fields={reducedFields}\n initialValue={initialValue}\n operator={initialOperator}\n orIndex={orIndex}\n removeCondition={removeCondition}\n updateCondition={updateCondition}\n />\n </li>\n )\n })}\n </ul>\n </li>\n )\n })}\n </ul>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-or`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }}\n >\n {t('general:or')}\n </Button>\n </React.Fragment>\n )}\n {conditions.length === 0 && (\n <div className={`${baseClass}__no-filters`}>\n <div className={`${baseClass}__label`}>{t('general:noFiltersSet')}</div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-first-filter`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n if (reducedFields.length > 0) {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }\n }}\n >\n {t('general:addFilter')}\n </Button>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useEffect","useState","useListQuery","useTranslation","Button","Condition","reduceClientFields","transformWhereQuery","validateWhereQuery","baseClass","WhereBuilder","props","$","collectionPluralLabel","fields","i18n","t","t0","reducedFields","setReducedColumns","t1","t2","handleWhereChange","params","shouldUpdateQuery","setShouldUpdateQuery","t3","where","whereFromSearch","or","transformedWhere","console","warn","JSON","stringify","conditions","setConditions","t4","t5","andIndex","fieldName","orIndex","relation","newConditions","and","splice","push","addCondition","t6","andIndex_0","fieldName_0","operator","orIndex_0","value","valueArg","existingRowCondition","newRowCondition","newConditions_0","undefined","includes","updateCondition","t7","andIndex_1","orIndex_1","newConditions_1","length","removeCondition","t8","handleChange","t9","_jsxs","className","children","Fragment","_jsx","label","map","orIndex_2","compoundOrKey","Array","isArray","_","andIndex_2","initialFieldName","Object","keys","initialOperator","initialValue","buttonStyle","icon","iconPosition","iconStyle","onClick"],"sources":["../../../src/elements/WhereBuilder/index.tsx"],"sourcesContent":["'use client'\nimport type { Operator } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport type { WhereBuilderProps } from './types.js'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Condition } from './Condition/index.js'\nimport './index.scss'\nimport { reduceClientFields } from './reduceClientFields.js'\nimport { transformWhereQuery } from './transformWhereQuery.js'\nimport validateWhereQuery from './validateWhereQuery.js'\n\nconst baseClass = 'where-builder'\n\nexport { WhereBuilderProps }\n\n/**\n * The WhereBuilder component is used to render the filter controls for a collection's list view.\n * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).\n */\nexport const WhereBuilder: React.FC<WhereBuilderProps> = (props) => {\n const { collectionPluralLabel, fields } = props\n const { i18n, t } = useTranslation()\n\n const [reducedFields, setReducedColumns] = useState(() => reduceClientFields({ fields, i18n }))\n\n useEffect(() => {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setReducedColumns(reduceClientFields({ fields, i18n }))\n }, [fields, i18n])\n\n const { handleWhereChange, params } = useListQuery()\n const [shouldUpdateQuery, setShouldUpdateQuery] = React.useState(false)\n\n // This handles initializing the where conditions from the search query (URL). That way, if you pass in\n // query params to the URL, the where conditions will be initialized from those and displayed in the UI.\n // Example: /admin/collections/posts?where[or][0][and][0][text][equals]=example%20post\n /*\n stored conditions look like this:\n [\n _or_ & _and_ queries have the same shape:\n {\n and: [{\n category: {\n equals: 'category-a'\n }\n }]\n },\n\n {\n and:[{\n category: {\n equals: 'category-b'\n },\n text: {\n not_equals: 'oranges'\n },\n }]\n }\n ]\n */\n\n const [conditions, setConditions] = React.useState(() => {\n const whereFromSearch = params.where\n if (whereFromSearch) {\n if (validateWhereQuery(whereFromSearch)) {\n return whereFromSearch.or\n }\n // Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format\n const transformedWhere = transformWhereQuery(whereFromSearch)\n\n if (validateWhereQuery(transformedWhere)) {\n return transformedWhere.or\n }\n\n console.warn(`Invalid where query in URL: ${JSON.stringify(whereFromSearch)}`) // eslint-disable-line no-console\n }\n\n return []\n })\n\n const addCondition = React.useCallback(\n ({ andIndex, fieldName, orIndex, relation }) => {\n const newConditions = [...conditions]\n if (relation === 'and') {\n newConditions[orIndex].and.splice(andIndex, 0, { [fieldName]: {} })\n } else {\n newConditions.push({\n and: [\n {\n [fieldName]: {},\n },\n ],\n })\n }\n setConditions(newConditions)\n },\n [conditions],\n )\n\n const updateCondition = React.useCallback(\n ({ andIndex, fieldName, operator, orIndex, value: valueArg }) => {\n const existingRowCondition = conditions[orIndex].and[andIndex]\n if (typeof existingRowCondition === 'object' && fieldName && operator) {\n const value = valueArg ?? (operator ? existingRowCondition[operator] : '')\n const newRowCondition = {\n [fieldName]: operator ? { [operator]: value } : {},\n }\n\n if (JSON.stringify(existingRowCondition) !== JSON.stringify(newRowCondition)) {\n const newConditions = [...conditions]\n newConditions[orIndex].and[andIndex] = newRowCondition\n setConditions(newConditions)\n if (![null, undefined].includes(value)) {\n // only update query when field/operator/value are filled out\n setShouldUpdateQuery(true)\n }\n }\n }\n },\n [conditions],\n )\n\n const removeCondition = React.useCallback(\n ({ andIndex, orIndex }) => {\n const newConditions = [...conditions]\n newConditions[orIndex].and.splice(andIndex, 1)\n if (newConditions[orIndex].and.length === 0) {\n newConditions.splice(orIndex, 1)\n }\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n },\n [conditions],\n )\n\n React.useEffect(() => {\n if (shouldUpdateQuery) {\n async function handleChange() {\n await handleWhereChange({ or: conditions })\n setShouldUpdateQuery(false)\n }\n void handleChange()\n }\n }, [conditions, handleWhereChange, shouldUpdateQuery])\n\n return (\n <div className={baseClass}>\n {conditions.length > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__label`}>\n {t('general:filterWhere', { label: getTranslation(collectionPluralLabel, i18n) })}\n </div>\n <ul className={`${baseClass}__or-filters`}>\n {conditions.map((or, orIndex) => {\n const compoundOrKey = `${orIndex}_${Array.isArray(or?.and) ? or.and.length : ''}`\n\n return (\n <li key={compoundOrKey}>\n {orIndex !== 0 && <div className={`${baseClass}__label`}>{t('general:or')}</div>}\n <ul className={`${baseClass}__and-filters`}>\n {Array.isArray(or?.and) &&\n or.and.map((_, andIndex) => {\n const initialFieldName = Object.keys(conditions[orIndex].and[andIndex])[0]\n const initialOperator =\n (Object.keys(\n conditions[orIndex].and[andIndex]?.[initialFieldName] || {},\n )?.[0] as Operator) || undefined\n const initialValue =\n conditions[orIndex].and[andIndex]?.[initialFieldName]?.[\n initialOperator\n ] || ''\n\n return (\n <li key={andIndex}>\n {andIndex !== 0 && (\n <div className={`${baseClass}__label`}>{t('general:and')}</div>\n )}\n <Condition\n addCondition={addCondition}\n andIndex={andIndex}\n fieldName={initialFieldName}\n fields={reducedFields}\n initialValue={initialValue}\n operator={initialOperator}\n orIndex={orIndex}\n removeCondition={removeCondition}\n updateCondition={updateCondition}\n />\n </li>\n )\n })}\n </ul>\n </li>\n )\n })}\n </ul>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-or`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }}\n >\n {t('general:or')}\n </Button>\n </React.Fragment>\n )}\n {conditions.length === 0 && (\n <div className={`${baseClass}__no-filters`}>\n <div className={`${baseClass}__label`}>{t('general:noFiltersSet')}</div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-first-filter`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n if (reducedFields.length > 0) {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }\n }}\n >\n {t('general:addFilter')}\n </Button>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceClientFields.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/reduceClientFields.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAMhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,+CAK5B,sBAAsB,KAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"reduceClientFields.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/reduceClientFields.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAMhD,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,+CAK5B,sBAAsB,KAAG,cAAc,EA+IzC,CAAA"}
|
|
@@ -16,7 +16,9 @@ export const reduceClientFields = ({
|
|
|
16
16
|
pathPrefix
|
|
17
17
|
}) => {
|
|
18
18
|
return fields.reduce((reduced, field) => {
|
|
19
|
-
if (field.admin?.disableListFilter)
|
|
19
|
+
if (field.admin?.disableListFilter) {
|
|
20
|
+
return reduced;
|
|
21
|
+
}
|
|
20
22
|
if (field.type === 'tabs' && 'tabs' in field) {
|
|
21
23
|
const tabs = field.tabs;
|
|
22
24
|
tabs.forEach(tab => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceClientFields.js","names":["getTranslation","tabHasName","createNestedClientFieldPath","combineLabel","fieldTypes","reduceClientFields","fields","i18n","labelPrefix","pathPrefix","reduce","reduced","field","admin","disableListFilter","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","operatorKeys","Set","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","formattedValue","formattedField","Filter","components","Cell"],"sources":["../../../src/elements/WhereBuilder/reduceClientFields.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { tabHasName } from 'payload/shared'\n\nimport type { FieldCondition } from './types.js'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineLabel } from '../FieldSelect/index.js'\nimport fieldTypes from './field-types.js'\n\nexport type ReduceClientFieldsArgs = {\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Reduces a field map to a flat array of fields with labels and values.\n * Used in the WhereBuilder component to render the fields in the dropdown.\n */\nexport const reduceClientFields = ({\n fields,\n i18n,\n labelPrefix,\n pathPrefix,\n}: ReduceClientFieldsArgs): FieldCondition[] => {\n return fields.reduce((reduced, field) => {\n if (field.admin?.disableListFilter) return reduced\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceClientFields({\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n const operators = fieldTypes[field.type].operators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const formattedValue = pathPrefix\n ? createNestedClientFieldPath(pathPrefix, field)\n : field.name\n\n const formattedField: FieldCondition = {\n Filter: field.admin?.components?.Filter,\n label: formattedLabel,\n value: formattedValue,\n ...fieldTypes[field.type],\n field: {\n ...field,\n ...(field?.admin?.components?.Cell || {}),\n },\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n\n return reduced\n }, [])\n}\n"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAI3B,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,YAAY,QAAQ;AAC7B,OAAOC,UAAA,MAAgB;AASvB;;;;AAIA,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EACjCC,MAAM;EACNC,IAAI;EACJC,WAAW;EACXC;AAAU,CACa;EACvB,OAAOH,MAAA,CAAOI,MAAM,CAAC,CAACC,OAAA,EAASC,KAAA;IAC7B,IAAIA,KAAA,CAAMC,KAAK,EAAEC,iBAAA,EAAmB,OAAOH,OAAA;
|
|
1
|
+
{"version":3,"file":"reduceClientFields.js","names":["getTranslation","tabHasName","createNestedClientFieldPath","combineLabel","fieldTypes","reduceClientFields","fields","i18n","labelPrefix","pathPrefix","reduce","reduced","field","admin","disableListFilter","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","operatorKeys","Set","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","formattedValue","formattedField","Filter","components","Cell"],"sources":["../../../src/elements/WhereBuilder/reduceClientFields.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { tabHasName } from 'payload/shared'\n\nimport type { FieldCondition } from './types.js'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineLabel } from '../FieldSelect/index.js'\nimport fieldTypes from './field-types.js'\n\nexport type ReduceClientFieldsArgs = {\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Reduces a field map to a flat array of fields with labels and values.\n * Used in the WhereBuilder component to render the fields in the dropdown.\n */\nexport const reduceClientFields = ({\n fields,\n i18n,\n labelPrefix,\n pathPrefix,\n}: ReduceClientFieldsArgs): FieldCondition[] => {\n return fields.reduce((reduced, field) => {\n if (field.admin?.disableListFilter) {\n return reduced\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceClientFields({\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceClientFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n const operators = fieldTypes[field.type].operators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const formattedValue = pathPrefix\n ? createNestedClientFieldPath(pathPrefix, field)\n : field.name\n\n const formattedField: FieldCondition = {\n Filter: field.admin?.components?.Filter,\n label: formattedLabel,\n value: formattedValue,\n ...fieldTypes[field.type],\n field: {\n ...field,\n ...(field?.admin?.components?.Cell || {}),\n },\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,yBAAyB,EACzB,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7E,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,yBAAyB,EACzB,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7E,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnC,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAA;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,KAAK,EAAE,CAAA;CACZ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/WhereBuilder/types.ts"],"sourcesContent":["import type {\n ClientField,\n MappedComponent,\n Operator,\n SanitizedCollectionConfig,\n Where,\n} from 'payload'\n\nexport type WhereBuilderProps = {\n readonly collectionPluralLabel: SanitizedCollectionConfig['labels']['plural']\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly fields?: ClientField[]\n}\n\nexport type FieldCondition = {\n
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/WhereBuilder/types.ts"],"sourcesContent":["import type {\n ClientField,\n MappedComponent,\n Operator,\n SanitizedCollectionConfig,\n Where,\n} from 'payload'\n\nexport type WhereBuilderProps = {\n readonly collectionPluralLabel: SanitizedCollectionConfig['labels']['plural']\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly fields?: ClientField[]\n}\n\nexport type FieldCondition = {\n component?: string\n field: ClientField\n Filter: MappedComponent\n label: string\n operators: {\n label: string\n value: Operator\n }[]\n value: string\n}\n\nexport type Relation = 'and' | 'or'\n\nexport type ADD = {\n andIndex?: number\n field: string\n orIndex?: number\n relation?: Relation\n type: 'add'\n}\n\nexport type REMOVE = {\n andIndex: number\n orIndex: number\n type: 'remove'\n}\n\nexport type UPDATE = {\n andIndex: number\n field?: string\n operator?: string\n orIndex: number\n type: 'update'\n value?: unknown\n}\n\nexport type Action = ADD | REMOVE | UPDATE\n\nexport type State = {\n or: Where[]\n}\n"],"mappings":"AAqDA","ignoreList":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { useWindowInfo, WindowInfoProvider } from '@faceless-ui/window-info';
|
|
2
|
+
export { useWindowInfo, WindowInfoProvider };
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/WindowInfo/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/WindowInfo/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
3
|
+
import { useWindowInfo, WindowInfoProvider } from '@faceless-ui/window-info';
|
|
4
|
+
export { useWindowInfo, WindowInfoProvider };
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["useWindowInfo","WindowInfoProvider"],"sources":["../../../src/elements/WindowInfo/index.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo, WindowInfoProvider } from '@faceless-ui/window-info'\nexport { useWindowInfo, WindowInfoProvider }\n"],"mappings":"AAAA;;AACA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ;AAClD,SAASD,aAAa,EAAEC,kBAAkB","ignoreList":[]}
|