@payloadcms/ui 3.0.0-beta.35 → 3.0.0-beta.36
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/AppHeader/index.js +64 -39
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +75 -41
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +15 -8
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +16 -5
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/Button/index.js +53 -31
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.js +23 -15
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +3 -2
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +8 -6
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +63 -38
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +5 -3
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +24 -22
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +21 -11
- 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 +29 -17
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +7 -3
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +57 -32
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +43 -23
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +1 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +180 -101
- 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 +30 -24
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +14 -8
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +52 -34
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +14 -11
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -5
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +64 -56
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +5 -3
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +21 -11
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +14 -11
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +12 -8
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +58 -35
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +30 -18
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +37 -17
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +112 -76
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +233 -151
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +14 -7
- 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 +42 -25
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +54 -20
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +42 -30
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +48 -26
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +5 -3
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +48 -27
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +9 -3
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +94 -62
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +97 -67
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +14 -8
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +31 -17
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/Loading/index.js +31 -18
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +13 -8
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +19 -9
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +31 -24
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.js +9 -5
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +7 -5
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +5 -3
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +9 -6
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/context.d.ts +1 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +5 -3
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/index.client.js +43 -35
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +31 -19
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.js +39 -24
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +5 -3
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +5 -3
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +5 -3
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +17 -17
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +46 -28
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js +25 -12
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +17 -12
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +9 -6
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +52 -35
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +6 -4
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +81 -49
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/{Publish → PublishButton}/index.d.ts +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -0
- package/dist/elements/PublishButton/index.js +40 -0
- package/dist/elements/PublishButton/index.js.map +1 -0
- package/dist/elements/PublishMany/index.js +42 -22
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +9 -6
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +27 -23
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +7 -5
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +20 -17
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +11 -9
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +14 -8
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +11 -7
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +7 -3
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +15 -7
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +1 -1
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js +3 -2
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +8 -6
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/{Save → SaveButton}/index.d.ts +1 -1
- package/dist/elements/SaveButton/index.d.ts.map +1 -0
- package/dist/elements/{Save → SaveButton}/index.js +7 -5
- package/dist/elements/SaveButton/index.js.map +1 -0
- package/dist/elements/{SaveDraft → SaveDraftButton}/index.d.ts +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -0
- package/dist/elements/{SaveDraft → SaveDraftButton}/index.js +7 -5
- package/dist/elements/SaveDraftButton/index.js.map +1 -0
- package/dist/elements/SearchFilter/index.js +14 -9
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +2 -1
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +2 -1
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +23 -20
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +43 -31
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +41 -23
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Status/index.js +94 -41
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +40 -20
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/index.js +63 -41
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +4 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +4 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +8 -5
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -15
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +32 -21
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +4 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +4 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +31 -15
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +5 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.js +5 -3
- package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +39 -24
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +8 -5
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.js +1 -1
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/TableColumns/index.js +5 -3
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +14 -8
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +14 -7
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.d.ts +1 -1
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +36 -26
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +7 -7
- package/dist/elements/Translation/index.js +19 -16
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +42 -22
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +108 -77
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +6 -4
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +10 -8
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +49 -43
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +84 -66
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +97 -69
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +7 -2
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +4 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.js +53 -47
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +135 -91
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +62 -53
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +12 -7
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +36 -28
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +30 -24
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +14 -12
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +154 -103
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +3 -4
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +40 -25
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +2 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +29 -21
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +34 -20
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +57 -42
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +28 -19
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +36 -22
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +37 -23
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.js +58 -36
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +5 -3
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/HiddenInput/index.js +2 -1
- package/dist/fields/HiddenInput/index.js.map +1 -1
- package/dist/fields/JSON/index.js +40 -25
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.js +75 -57
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +31 -22
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.js +67 -31
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +27 -18
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.scss +2 -1
- package/dist/fields/RadioGroup/index.js +60 -47
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/AddNew/index.js +67 -44
- package/dist/fields/Relationship/AddNew/index.js.map +1 -1
- package/dist/fields/Relationship/index.js +112 -94
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +49 -33
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +50 -30
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +23 -19
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +5 -3
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.d.ts +11 -0
- package/dist/fields/Select/Input.d.ts.map +1 -0
- package/dist/fields/Select/Input.js +87 -0
- package/dist/fields/Select/Input.js.map +1 -0
- package/dist/fields/Select/index.d.ts +3 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +23 -60
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +26 -16
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +47 -31
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +5 -3
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +66 -48
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +2 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +51 -32
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +2 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +71 -43
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.js +2 -1
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/FieldDescription/index.js +8 -4
- package/dist/forms/FieldDescription/index.js.map +1 -1
- package/dist/forms/FieldError/index.js +8 -4
- package/dist/forms/FieldError/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.js +14 -6
- package/dist/forms/FieldLabel/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js +5 -3
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +31 -18
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +8 -5
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +7 -3
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +23 -22
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +5 -3
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +9 -6
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -9
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +4 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +7 -3
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +22 -16
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +2 -1
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +2 -1
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +32 -21
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/ExternalLink/index.js +9 -7
- package/dist/graphics/ExternalLink/index.js.map +1 -1
- package/dist/graphics/File/index.js +20 -14
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +14 -9
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +37 -22
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/graphics/Search/index.js +23 -18
- package/dist/graphics/Search/index.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js +1 -1
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDelay.js +1 -1
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.d.ts.map +1 -1
- package/dist/hooks/useDelayedRender.js +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/icons/Calendar/index.js +34 -27
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +18 -13
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +8 -6
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +22 -17
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +14 -9
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +17 -12
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +42 -33
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +22 -16
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Line/index.js +11 -9
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +14 -9
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +25 -15
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +27 -21
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +35 -19
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +24 -18
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/Plus/index.js +20 -15
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +19 -14
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Swap/index.js +29 -22
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/X/index.js +20 -15
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +5 -3
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +5 -3
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +8 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -2
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +12 -11
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +19 -16
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +7 -6
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +18 -11
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/index.js +5 -3
- package/dist/providers/ComponentMap/index.js.map +1 -1
- package/dist/providers/Config/index.js +5 -3
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +5 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +58 -28
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +2 -1
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/EditDepth/index.js +5 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +5 -3
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/FieldComponents/index.js +5 -3
- package/dist/providers/FieldComponents/index.js.map +1 -1
- package/dist/providers/FormQueryParams/index.js +5 -3
- package/dist/providers/FormQueryParams/index.js.map +1 -1
- package/dist/providers/ListInfo/index.js +5 -3
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +5 -3
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Locale/index.js +5 -3
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +5 -3
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +5 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +5 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +2 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +75 -28
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +5 -3
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +5 -3
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +5 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/Theme/index.d.ts +3 -0
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +31 -19
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Translation/index.js +5 -3
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/scss/app.scss +0 -6
- package/dist/templates/Default/NavHamburger/index.js +2 -1
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +5 -3
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js +43 -26
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js +8 -5
- package/dist/templates/Minimal/index.js.map +1 -1
- package/package.json +17 -13
- package/dist/elements/Publish/index.d.ts.map +0 -1
- package/dist/elements/Publish/index.js +0 -87
- package/dist/elements/Publish/index.js.map +0 -1
- package/dist/elements/Save/index.d.ts.map +0 -1
- package/dist/elements/Save/index.js.map +0 -1
- package/dist/elements/SaveDraft/index.d.ts.map +0 -1
- package/dist/elements/SaveDraft/index.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
4
|
import React, { useRef, useState } from 'react';
|
|
4
5
|
import ReactCrop from 'react-image-crop';
|
|
@@ -7,14 +8,18 @@ import { Plus } from '../../icons/Plus/index.js';
|
|
|
7
8
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
9
|
import { Button } from '../Button/index.js';
|
|
9
10
|
const baseClass = 'edit-upload';
|
|
10
|
-
const Input = ({ name, onChange, value })=>/*#__PURE__*/
|
|
11
|
-
className: `${baseClass}__input
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
const Input = ({ name, onChange, value })=>/*#__PURE__*/ _jsxs("div", {
|
|
12
|
+
className: `${baseClass}__input`,
|
|
13
|
+
children: [
|
|
14
|
+
name,
|
|
15
|
+
/*#__PURE__*/ _jsx("input", {
|
|
16
|
+
name: name,
|
|
17
|
+
onChange: (e)=>onChange(e.target.value),
|
|
18
|
+
type: "number",
|
|
19
|
+
value: value
|
|
20
|
+
})
|
|
21
|
+
]
|
|
22
|
+
});
|
|
18
23
|
const defaultCrop = {
|
|
19
24
|
height: 100,
|
|
20
25
|
unit: '%',
|
|
@@ -44,9 +49,9 @@ export const EditUpload = ({ fileName, fileSrc, imageCacheTag, initialCrop, init
|
|
|
44
49
|
const [checkBounds, setCheckBounds] = useState(false);
|
|
45
50
|
const [originalHeight, setOriginalHeight] = useState(0);
|
|
46
51
|
const [originalWidth, setOriginalWidth] = useState(0);
|
|
47
|
-
const focalWrapRef = useRef();
|
|
48
|
-
const imageRef = useRef();
|
|
49
|
-
const cropRef = useRef();
|
|
52
|
+
const focalWrapRef = useRef(undefined);
|
|
53
|
+
const imageRef = useRef(undefined);
|
|
54
|
+
const cropRef = useRef(undefined);
|
|
50
55
|
const fineTuneCrop = ({ dimension, value })=>{
|
|
51
56
|
const intValue = parseInt(value);
|
|
52
57
|
if (dimension === 'width' && intValue >= originalWidth) return null;
|
|
@@ -92,130 +97,202 @@ export const EditUpload = ({ fileName, fileSrc, imageCacheTag, initialCrop, init
|
|
|
92
97
|
});
|
|
93
98
|
};
|
|
94
99
|
const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc;
|
|
95
|
-
return /*#__PURE__*/
|
|
96
|
-
className: baseClass
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return /*#__PURE__*/ React.createElement("div", {
|
|
130
|
-
className: `${baseClass}__crop-window`,
|
|
131
|
-
ref: cropRef
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
}, /*#__PURE__*/ React.createElement("img", {
|
|
135
|
-
alt: t('upload:setCropArea'),
|
|
136
|
-
onLoad: (e)=>{
|
|
137
|
-
setOriginalHeight(e.currentTarget.naturalHeight);
|
|
138
|
-
setOriginalWidth(e.currentTarget.naturalWidth);
|
|
139
|
-
},
|
|
140
|
-
ref: imageRef,
|
|
141
|
-
src: fileSrcToUse
|
|
142
|
-
})) : /*#__PURE__*/ React.createElement("img", {
|
|
143
|
-
alt: t('upload:setFocalPoint'),
|
|
144
|
-
onLoad: (e)=>{
|
|
145
|
-
setOriginalHeight(e.currentTarget.naturalHeight);
|
|
146
|
-
setOriginalWidth(e.currentTarget.naturalWidth);
|
|
147
|
-
},
|
|
148
|
-
ref: imageRef,
|
|
149
|
-
src: fileSrcToUse
|
|
150
|
-
}), showFocalPoint && /*#__PURE__*/ React.createElement(DraggableElement, {
|
|
151
|
-
boundsRef: showCrop ? cropRef : imageRef,
|
|
152
|
-
checkBounds: showCrop ? checkBounds : false,
|
|
153
|
-
className: `${baseClass}__focalPoint`,
|
|
154
|
-
containerRef: focalWrapRef,
|
|
155
|
-
initialPosition: focalPosition,
|
|
156
|
-
onDragEnd: onDragEnd,
|
|
157
|
-
setCheckBounds: showCrop ? setCheckBounds : false
|
|
158
|
-
}, /*#__PURE__*/ React.createElement(Plus, null)))), (showCrop || showFocalPoint) && /*#__PURE__*/ React.createElement("div", {
|
|
159
|
-
className: `${baseClass}__sidebar`
|
|
160
|
-
}, showCrop && /*#__PURE__*/ React.createElement("div", {
|
|
161
|
-
className: `${baseClass}__groupWrap`
|
|
162
|
-
}, /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", {
|
|
163
|
-
className: `${baseClass}__titleWrap`
|
|
164
|
-
}, /*#__PURE__*/ React.createElement("h3", null, t('upload:crop')), /*#__PURE__*/ React.createElement(Button, {
|
|
165
|
-
buttonStyle: "none",
|
|
166
|
-
className: `${baseClass}__reset`,
|
|
167
|
-
onClick: ()=>setCrop({
|
|
168
|
-
height: 100,
|
|
169
|
-
unit: '%',
|
|
170
|
-
width: 100,
|
|
171
|
-
x: 0,
|
|
172
|
-
y: 0
|
|
173
|
-
})
|
|
174
|
-
}, t('general:reset')))), /*#__PURE__*/ React.createElement("span", {
|
|
175
|
-
className: `${baseClass}__description`
|
|
176
|
-
}, t('upload:cropToolDescription')), /*#__PURE__*/ React.createElement("div", {
|
|
177
|
-
className: `${baseClass}__inputsWrap`
|
|
178
|
-
}, /*#__PURE__*/ React.createElement(Input, {
|
|
179
|
-
name: `${t('upload:width')} (px)`,
|
|
180
|
-
onChange: (value)=>fineTuneCrop({
|
|
181
|
-
dimension: 'width',
|
|
182
|
-
value
|
|
183
|
-
}),
|
|
184
|
-
value: (crop.width / 100 * originalWidth).toFixed(0)
|
|
185
|
-
}), /*#__PURE__*/ React.createElement(Input, {
|
|
186
|
-
name: `${t('upload:height')} (px)`,
|
|
187
|
-
onChange: (value)=>fineTuneCrop({
|
|
188
|
-
dimension: 'height',
|
|
189
|
-
value
|
|
190
|
-
}),
|
|
191
|
-
value: (crop.height / 100 * originalHeight).toFixed(0)
|
|
192
|
-
}))), showFocalPoint && /*#__PURE__*/ React.createElement("div", {
|
|
193
|
-
className: `${baseClass}__groupWrap`
|
|
194
|
-
}, /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", {
|
|
195
|
-
className: `${baseClass}__titleWrap`
|
|
196
|
-
}, /*#__PURE__*/ React.createElement("h3", null, t('upload:focalPoint')), /*#__PURE__*/ React.createElement(Button, {
|
|
197
|
-
buttonStyle: "none",
|
|
198
|
-
className: `${baseClass}__reset`,
|
|
199
|
-
onClick: centerFocalPoint
|
|
200
|
-
}, t('general:reset')))), /*#__PURE__*/ React.createElement("span", {
|
|
201
|
-
className: `${baseClass}__description`
|
|
202
|
-
}, t('upload:focalPointDescription')), /*#__PURE__*/ React.createElement("div", {
|
|
203
|
-
className: `${baseClass}__inputsWrap`
|
|
204
|
-
}, /*#__PURE__*/ React.createElement(Input, {
|
|
205
|
-
name: "X %",
|
|
206
|
-
onChange: (value)=>fineTuneFocalPosition({
|
|
207
|
-
coordinate: 'x',
|
|
208
|
-
value
|
|
100
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
101
|
+
className: baseClass,
|
|
102
|
+
children: [
|
|
103
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
104
|
+
className: `${baseClass}__header`,
|
|
105
|
+
children: [
|
|
106
|
+
/*#__PURE__*/ _jsxs("h2", {
|
|
107
|
+
title: `${t('general:editing')} ${fileName}`,
|
|
108
|
+
children: [
|
|
109
|
+
t('general:editing'),
|
|
110
|
+
" ",
|
|
111
|
+
fileName
|
|
112
|
+
]
|
|
113
|
+
}),
|
|
114
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
115
|
+
className: `${baseClass}__actions`,
|
|
116
|
+
children: [
|
|
117
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
118
|
+
"aria-label": t('general:cancel'),
|
|
119
|
+
buttonStyle: "secondary",
|
|
120
|
+
className: `${baseClass}__cancel`,
|
|
121
|
+
onClick: ()=>closeModal(editDrawerSlug),
|
|
122
|
+
children: t('general:cancel')
|
|
123
|
+
}),
|
|
124
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
125
|
+
"aria-label": t('general:applyChanges'),
|
|
126
|
+
buttonStyle: "primary",
|
|
127
|
+
className: `${baseClass}__save`,
|
|
128
|
+
onClick: saveEdits,
|
|
129
|
+
children: t('general:applyChanges')
|
|
130
|
+
})
|
|
131
|
+
]
|
|
132
|
+
})
|
|
133
|
+
]
|
|
209
134
|
}),
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
135
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
136
|
+
className: `${baseClass}__toolWrap`,
|
|
137
|
+
children: [
|
|
138
|
+
/*#__PURE__*/ _jsx("div", {
|
|
139
|
+
className: `${baseClass}__crop`,
|
|
140
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
141
|
+
className: `${baseClass}__focal-wrapper`,
|
|
142
|
+
ref: focalWrapRef,
|
|
143
|
+
style: {
|
|
144
|
+
aspectRatio: `${originalWidth / originalHeight}`
|
|
145
|
+
},
|
|
146
|
+
children: [
|
|
147
|
+
showCrop ? /*#__PURE__*/ _jsx(ReactCrop, {
|
|
148
|
+
className: `${baseClass}__reactCrop`,
|
|
149
|
+
crop: crop,
|
|
150
|
+
onChange: (_, c)=>setCrop(c),
|
|
151
|
+
onComplete: ()=>setCheckBounds(true),
|
|
152
|
+
renderSelectionAddon: ()=>{
|
|
153
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
154
|
+
className: `${baseClass}__crop-window`,
|
|
155
|
+
ref: cropRef
|
|
156
|
+
});
|
|
157
|
+
},
|
|
158
|
+
children: /*#__PURE__*/ _jsx("img", {
|
|
159
|
+
alt: t('upload:setCropArea'),
|
|
160
|
+
onLoad: (e)=>{
|
|
161
|
+
setOriginalHeight(e.currentTarget.naturalHeight);
|
|
162
|
+
setOriginalWidth(e.currentTarget.naturalWidth);
|
|
163
|
+
},
|
|
164
|
+
ref: imageRef,
|
|
165
|
+
src: fileSrcToUse
|
|
166
|
+
})
|
|
167
|
+
}) : /*#__PURE__*/ _jsx("img", {
|
|
168
|
+
alt: t('upload:setFocalPoint'),
|
|
169
|
+
onLoad: (e)=>{
|
|
170
|
+
setOriginalHeight(e.currentTarget.naturalHeight);
|
|
171
|
+
setOriginalWidth(e.currentTarget.naturalWidth);
|
|
172
|
+
},
|
|
173
|
+
ref: imageRef,
|
|
174
|
+
src: fileSrcToUse
|
|
175
|
+
}),
|
|
176
|
+
showFocalPoint && /*#__PURE__*/ _jsx(DraggableElement, {
|
|
177
|
+
boundsRef: showCrop ? cropRef : imageRef,
|
|
178
|
+
checkBounds: showCrop ? checkBounds : false,
|
|
179
|
+
className: `${baseClass}__focalPoint`,
|
|
180
|
+
containerRef: focalWrapRef,
|
|
181
|
+
initialPosition: focalPosition,
|
|
182
|
+
onDragEnd: onDragEnd,
|
|
183
|
+
setCheckBounds: showCrop ? setCheckBounds : false,
|
|
184
|
+
children: /*#__PURE__*/ _jsx(Plus, {})
|
|
185
|
+
})
|
|
186
|
+
]
|
|
187
|
+
})
|
|
188
|
+
}),
|
|
189
|
+
(showCrop || showFocalPoint) && /*#__PURE__*/ _jsxs("div", {
|
|
190
|
+
className: `${baseClass}__sidebar`,
|
|
191
|
+
children: [
|
|
192
|
+
showCrop && /*#__PURE__*/ _jsxs("div", {
|
|
193
|
+
className: `${baseClass}__groupWrap`,
|
|
194
|
+
children: [
|
|
195
|
+
/*#__PURE__*/ _jsx("div", {
|
|
196
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
197
|
+
className: `${baseClass}__titleWrap`,
|
|
198
|
+
children: [
|
|
199
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
200
|
+
children: t('upload:crop')
|
|
201
|
+
}),
|
|
202
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
203
|
+
buttonStyle: "none",
|
|
204
|
+
className: `${baseClass}__reset`,
|
|
205
|
+
onClick: ()=>setCrop({
|
|
206
|
+
height: 100,
|
|
207
|
+
unit: '%',
|
|
208
|
+
width: 100,
|
|
209
|
+
x: 0,
|
|
210
|
+
y: 0
|
|
211
|
+
}),
|
|
212
|
+
children: t('general:reset')
|
|
213
|
+
})
|
|
214
|
+
]
|
|
215
|
+
})
|
|
216
|
+
}),
|
|
217
|
+
/*#__PURE__*/ _jsx("span", {
|
|
218
|
+
className: `${baseClass}__description`,
|
|
219
|
+
children: t('upload:cropToolDescription')
|
|
220
|
+
}),
|
|
221
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
222
|
+
className: `${baseClass}__inputsWrap`,
|
|
223
|
+
children: [
|
|
224
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
225
|
+
name: `${t('upload:width')} (px)`,
|
|
226
|
+
onChange: (value)=>fineTuneCrop({
|
|
227
|
+
dimension: 'width',
|
|
228
|
+
value
|
|
229
|
+
}),
|
|
230
|
+
value: (crop.width / 100 * originalWidth).toFixed(0)
|
|
231
|
+
}),
|
|
232
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
233
|
+
name: `${t('upload:height')} (px)`,
|
|
234
|
+
onChange: (value)=>fineTuneCrop({
|
|
235
|
+
dimension: 'height',
|
|
236
|
+
value
|
|
237
|
+
}),
|
|
238
|
+
value: (crop.height / 100 * originalHeight).toFixed(0)
|
|
239
|
+
})
|
|
240
|
+
]
|
|
241
|
+
})
|
|
242
|
+
]
|
|
243
|
+
}),
|
|
244
|
+
showFocalPoint && /*#__PURE__*/ _jsxs("div", {
|
|
245
|
+
className: `${baseClass}__groupWrap`,
|
|
246
|
+
children: [
|
|
247
|
+
/*#__PURE__*/ _jsx("div", {
|
|
248
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
249
|
+
className: `${baseClass}__titleWrap`,
|
|
250
|
+
children: [
|
|
251
|
+
/*#__PURE__*/ _jsx("h3", {
|
|
252
|
+
children: t('upload:focalPoint')
|
|
253
|
+
}),
|
|
254
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
255
|
+
buttonStyle: "none",
|
|
256
|
+
className: `${baseClass}__reset`,
|
|
257
|
+
onClick: centerFocalPoint,
|
|
258
|
+
children: t('general:reset')
|
|
259
|
+
})
|
|
260
|
+
]
|
|
261
|
+
})
|
|
262
|
+
}),
|
|
263
|
+
/*#__PURE__*/ _jsx("span", {
|
|
264
|
+
className: `${baseClass}__description`,
|
|
265
|
+
children: t('upload:focalPointDescription')
|
|
266
|
+
}),
|
|
267
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
268
|
+
className: `${baseClass}__inputsWrap`,
|
|
269
|
+
children: [
|
|
270
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
271
|
+
name: "X %",
|
|
272
|
+
onChange: (value)=>fineTuneFocalPosition({
|
|
273
|
+
coordinate: 'x',
|
|
274
|
+
value
|
|
275
|
+
}),
|
|
276
|
+
value: focalPosition.x.toFixed(0)
|
|
277
|
+
}),
|
|
278
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
279
|
+
name: "Y %",
|
|
280
|
+
onChange: (value)=>fineTuneFocalPosition({
|
|
281
|
+
coordinate: 'y',
|
|
282
|
+
value
|
|
283
|
+
}),
|
|
284
|
+
value: focalPosition.y.toFixed(0)
|
|
285
|
+
})
|
|
286
|
+
]
|
|
287
|
+
})
|
|
288
|
+
]
|
|
289
|
+
})
|
|
290
|
+
]
|
|
291
|
+
})
|
|
292
|
+
]
|
|
293
|
+
})
|
|
294
|
+
]
|
|
295
|
+
});
|
|
219
296
|
};
|
|
220
297
|
const DraggableElement = ({ boundsRef, checkBounds, children, className, containerRef, initialPosition = {
|
|
221
298
|
x: 50,
|
|
@@ -226,7 +303,7 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
|
|
|
226
303
|
y: initialPosition.y
|
|
227
304
|
});
|
|
228
305
|
const [isDragging, setIsDragging] = useState(false);
|
|
229
|
-
const dragRef = useRef();
|
|
306
|
+
const dragRef = useRef(undefined);
|
|
230
307
|
const getCoordinates = React.useCallback((mouseXArg, mouseYArg, recenter)=>{
|
|
231
308
|
const containerRect = containerRef.current.getBoundingClientRect();
|
|
232
309
|
const boundsRect = boundsRef.current.getBoundingClientRect();
|
|
@@ -313,26 +390,31 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
|
|
|
313
390
|
initialPosition.x,
|
|
314
391
|
initialPosition.y
|
|
315
392
|
]);
|
|
316
|
-
return /*#__PURE__*/
|
|
393
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
317
394
|
className: [
|
|
318
395
|
`${baseClass}__draggable-container`,
|
|
319
396
|
isDragging && `${baseClass}__draggable-container--dragging`
|
|
320
397
|
].filter(Boolean).join(' '),
|
|
321
|
-
onMouseMove: handleMouseMove
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
398
|
+
onMouseMove: handleMouseMove,
|
|
399
|
+
children: [
|
|
400
|
+
/*#__PURE__*/ _jsx("button", {
|
|
401
|
+
className: [
|
|
402
|
+
`${baseClass}__draggable`,
|
|
403
|
+
className
|
|
404
|
+
].filter(Boolean).join(' '),
|
|
405
|
+
onMouseDown: handleMouseDown,
|
|
406
|
+
onMouseUp: onDrop,
|
|
407
|
+
ref: dragRef,
|
|
408
|
+
style: {
|
|
409
|
+
left: `${position.x}%`,
|
|
410
|
+
top: `${position.y}%`
|
|
411
|
+
},
|
|
412
|
+
type: "button",
|
|
413
|
+
children: children
|
|
414
|
+
}),
|
|
415
|
+
/*#__PURE__*/ _jsx("div", {})
|
|
416
|
+
]
|
|
417
|
+
});
|
|
336
418
|
};
|
|
337
419
|
|
|
338
420
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/EditUpload/index.tsx"],"sourcesContent":["'use client'\nimport type { Data } from 'payload/types'\nimport type CropType from 'react-image-crop'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport React, { useRef, useState } from 'react'\nimport ReactCrop from 'react-image-crop'\nimport 'react-image-crop/dist/ReactCrop.css'\n\nimport { editDrawerSlug } from '../../elements/Upload/index.js'\nimport { Plus } from '../../icons/Plus/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-upload'\n\nconst Input: React.FC<{ name: string; onChange: (value: string) => void; value: string }> = ({\n name,\n onChange,\n value,\n}) => (\n <div className={`${baseClass}__input`}>\n {name}\n <input name={name} onChange={(e) => onChange(e.target.value)} type=\"number\" value={value} />\n </div>\n)\n\ntype FocalPosition = {\n x: number\n y: number\n}\n\nexport type EditUploadProps = {\n fileName: string\n fileSrc: string\n imageCacheTag?: string\n initialCrop?: CropType\n initialFocalPoint?: FocalPosition\n onSave?: ({ crop, focalPosition }: { crop: CropType; focalPosition: FocalPosition }) => void\n showCrop?: boolean\n showFocalPoint?: boolean\n}\n\nconst defaultCrop: CropType = {\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n}\n\nexport const EditUpload: React.FC<EditUploadProps> = ({\n fileName,\n fileSrc,\n imageCacheTag,\n initialCrop,\n initialFocalPoint,\n onSave,\n showCrop,\n showFocalPoint,\n}) => {\n const { useModal } = facelessUIImport\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const [crop, setCrop] = useState<CropType>(() => ({\n ...defaultCrop,\n ...initialCrop,\n }))\n\n const defaultFocalPosition: FocalPosition = {\n x: 50,\n y: 50,\n }\n\n console.log({ initialFocalPoint })\n\n const [focalPosition, setFocalPosition] = useState<FocalPosition>(() => ({\n ...defaultFocalPosition,\n ...initialFocalPoint,\n }))\n const [checkBounds, setCheckBounds] = useState<boolean>(false)\n const [originalHeight, setOriginalHeight] = useState<number>(0)\n const [originalWidth, setOriginalWidth] = useState<number>(0)\n\n const focalWrapRef = useRef<HTMLDivElement | undefined>()\n const imageRef = useRef<HTMLImageElement | undefined>()\n const cropRef = useRef<HTMLDivElement | undefined>()\n\n const fineTuneCrop = ({ dimension, value }: { dimension: 'height' | 'width'; value: string }) => {\n const intValue = parseInt(value)\n if (dimension === 'width' && intValue >= originalWidth) return null\n if (dimension === 'height' && intValue >= originalHeight) return null\n\n const percentage = 100 * (intValue / (dimension === 'width' ? originalWidth : originalHeight))\n\n if (percentage === 100 || percentage === 0) return null\n\n setCrop({\n ...crop,\n [dimension]: percentage,\n })\n }\n\n const fineTuneFocalPosition = ({\n coordinate,\n value,\n }: {\n coordinate: 'x' | 'y'\n value: string\n }) => {\n const intValue = parseInt(value)\n if (intValue >= 0 && intValue <= 100) {\n setFocalPosition((prevPosition) => ({ ...prevPosition, [coordinate]: intValue }))\n }\n }\n\n const saveEdits = () => {\n if (typeof onSave === 'function')\n onSave({\n crop,\n focalPosition,\n })\n closeModal(editDrawerSlug)\n }\n\n const onDragEnd = React.useCallback(({ x, y }) => {\n setFocalPosition({ x, y })\n setCheckBounds(false)\n }, [])\n\n const centerFocalPoint = () => {\n const containerRect = focalWrapRef.current.getBoundingClientRect()\n const boundsRect = showCrop\n ? cropRef.current.getBoundingClientRect()\n : imageRef.current.getBoundingClientRect()\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n setFocalPosition({ x: xCenter, y: yCenter })\n }\n\n const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <h2 title={`${t('general:editing')} ${fileName}`}>\n {t('general:editing')} {fileName}\n </h2>\n <div className={`${baseClass}__actions`}>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__cancel`}\n onClick={() => closeModal(editDrawerSlug)}\n >\n {t('general:cancel')}\n </Button>\n <Button\n aria-label={t('general:applyChanges')}\n buttonStyle=\"primary\"\n className={`${baseClass}__save`}\n onClick={saveEdits}\n >\n {t('general:applyChanges')}\n </Button>\n </div>\n </div>\n <div className={`${baseClass}__toolWrap`}>\n <div className={`${baseClass}__crop`}>\n <div\n className={`${baseClass}__focal-wrapper`}\n ref={focalWrapRef}\n style={{\n aspectRatio: `${originalWidth / originalHeight}`,\n }}\n >\n {showCrop ? (\n <ReactCrop\n className={`${baseClass}__reactCrop`}\n crop={crop}\n onChange={(_, c) => setCrop(c)}\n onComplete={() => setCheckBounds(true)}\n renderSelectionAddon={() => {\n return <div className={`${baseClass}__crop-window`} ref={cropRef} />\n }}\n >\n <img\n alt={t('upload:setCropArea')}\n onLoad={(e) => {\n setOriginalHeight(e.currentTarget.naturalHeight)\n setOriginalWidth(e.currentTarget.naturalWidth)\n }}\n ref={imageRef}\n src={fileSrcToUse}\n />\n </ReactCrop>\n ) : (\n <img\n alt={t('upload:setFocalPoint')}\n onLoad={(e) => {\n setOriginalHeight(e.currentTarget.naturalHeight)\n setOriginalWidth(e.currentTarget.naturalWidth)\n }}\n ref={imageRef}\n src={fileSrcToUse}\n />\n )}\n {showFocalPoint && (\n <DraggableElement\n boundsRef={showCrop ? cropRef : imageRef}\n checkBounds={showCrop ? checkBounds : false}\n className={`${baseClass}__focalPoint`}\n containerRef={focalWrapRef}\n initialPosition={focalPosition}\n onDragEnd={onDragEnd}\n setCheckBounds={showCrop ? setCheckBounds : false}\n >\n <Plus />\n </DraggableElement>\n )}\n </div>\n </div>\n {(showCrop || showFocalPoint) && (\n <div className={`${baseClass}__sidebar`}>\n {showCrop && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:crop')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={() =>\n setCrop({\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n })\n }\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:cropToolDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name={`${t('upload:width')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'width', value })}\n value={((crop.width / 100) * originalWidth).toFixed(0)}\n />\n <Input\n name={`${t('upload:height')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'height', value })}\n value={((crop.height / 100) * originalHeight).toFixed(0)}\n />\n </div>\n </div>\n )}\n\n {showFocalPoint && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:focalPoint')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={centerFocalPoint}\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:focalPointDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name=\"X %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'x', value })}\n value={focalPosition.x.toFixed(0)}\n />\n <Input\n name=\"Y %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'y', value })}\n value={focalPosition.y.toFixed(0)}\n />\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n )\n}\n\nconst DraggableElement = ({\n boundsRef,\n checkBounds,\n children,\n className,\n containerRef,\n initialPosition = { x: 50, y: 50 },\n onDragEnd,\n setCheckBounds,\n}) => {\n const [position, setPosition] = useState({ x: initialPosition.x, y: initialPosition.y })\n const [isDragging, setIsDragging] = useState(false)\n const dragRef = useRef<HTMLButtonElement | undefined>()\n\n const getCoordinates = React.useCallback(\n (mouseXArg?: number, mouseYArg?: number, recenter?: boolean) => {\n const containerRect = containerRef.current.getBoundingClientRect()\n const boundsRect = boundsRef.current.getBoundingClientRect()\n const mouseX = mouseXArg ?? boundsRect.left\n const mouseY = mouseYArg ?? boundsRect.top\n\n const xOutOfBounds = mouseX < boundsRect.left || mouseX > boundsRect.right\n const yOutOfBounds = mouseY < boundsRect.top || mouseY > boundsRect.bottom\n\n let x = ((mouseX - containerRect.left) / containerRect.width) * 100\n let y = ((mouseY - containerRect.top) / containerRect.height) * 100\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n if (xOutOfBounds || yOutOfBounds) {\n setIsDragging(false)\n if (mouseX < boundsRect.left) {\n x = ((boundsRect.left - containerRect.left) / containerRect.width) * 100\n } else if (mouseX > boundsRect.right) {\n x =\n ((containerRect.width - (containerRect.right - boundsRect.right)) /\n containerRect.width) *\n 100\n }\n\n if (mouseY < boundsRect.top) {\n y = ((boundsRect.top - containerRect.top) / containerRect.height) * 100\n } else if (mouseY > boundsRect.bottom) {\n y =\n ((containerRect.height - (containerRect.bottom - boundsRect.bottom)) /\n containerRect.height) *\n 100\n }\n\n if (recenter) {\n x = xOutOfBounds ? xCenter : x\n y = yOutOfBounds ? yCenter : y\n }\n }\n\n return { x, y }\n },\n [boundsRef, containerRef],\n )\n\n const handleMouseDown = (event) => {\n event.preventDefault()\n setIsDragging(true)\n }\n\n const handleMouseMove = (event) => {\n if (!isDragging) return null\n const { x, y } = getCoordinates(event.clientX, event.clientY)\n\n setPosition({ x, y })\n }\n\n const onDrop = () => {\n setIsDragging(false)\n onDragEnd(position)\n }\n\n React.useEffect(() => {\n if (isDragging || !dragRef.current) return\n if (checkBounds) {\n const { height, left, top, width } = dragRef.current.getBoundingClientRect()\n const { x, y } = getCoordinates(left + width / 2, top + height / 2, true)\n onDragEnd({ x, y })\n setPosition({ x, y })\n setCheckBounds(false)\n return\n }\n }, [getCoordinates, isDragging, checkBounds, setCheckBounds, position.x, position.y, onDragEnd])\n\n React.useEffect(() => {\n setPosition({ x: initialPosition.x, y: initialPosition.y })\n }, [initialPosition.x, initialPosition.y])\n\n return (\n <div\n className={[\n `${baseClass}__draggable-container`,\n isDragging && `${baseClass}__draggable-container--dragging`,\n ]\n .filter(Boolean)\n .join(' ')}\n onMouseMove={handleMouseMove}\n >\n <button\n className={[`${baseClass}__draggable`, className].filter(Boolean).join(' ')}\n onMouseDown={handleMouseDown}\n onMouseUp={onDrop}\n ref={dragRef}\n style={{ left: `${position.x}%`, top: `${position.y}%` }}\n type=\"button\"\n >\n {children}\n </button>\n <div />\n </div>\n )\n}\n"],"names":["facelessUIImport","React","useRef","useState","ReactCrop","editDrawerSlug","Plus","useTranslation","Button","baseClass","Input","name","onChange","value","div","className","input","e","target","type","defaultCrop","height","unit","width","x","y","EditUpload","fileName","fileSrc","imageCacheTag","initialCrop","initialFocalPoint","onSave","showCrop","showFocalPoint","useModal","closeModal","t","crop","setCrop","defaultFocalPosition","console","log","focalPosition","setFocalPosition","checkBounds","setCheckBounds","originalHeight","setOriginalHeight","originalWidth","setOriginalWidth","focalWrapRef","imageRef","cropRef","fineTuneCrop","dimension","intValue","parseInt","percentage","fineTuneFocalPosition","coordinate","prevPosition","saveEdits","onDragEnd","useCallback","centerFocalPoint","containerRect","current","getBoundingClientRect","boundsRect","xCenter","left","yCenter","top","fileSrcToUse","h2","title","aria-label","buttonStyle","onClick","ref","style","aspectRatio","_","c","onComplete","renderSelectionAddon","img","alt","onLoad","currentTarget","naturalHeight","naturalWidth","src","DraggableElement","boundsRef","containerRef","initialPosition","h3","span","toFixed","children","position","setPosition","isDragging","setIsDragging","dragRef","getCoordinates","mouseXArg","mouseYArg","recenter","mouseX","mouseY","xOutOfBounds","right","yOutOfBounds","bottom","handleMouseDown","event","preventDefault","handleMouseMove","clientX","clientY","onDrop","useEffect","filter","Boolean","join","onMouseMove","button","onMouseDown","onMouseUp"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/EditUpload/index.tsx"],"sourcesContent":["'use client'\nimport type { Data } from 'payload/types'\nimport type CropType from 'react-image-crop'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport React, { useRef, useState } from 'react'\nimport ReactCrop from 'react-image-crop'\nimport 'react-image-crop/dist/ReactCrop.css'\n\nimport { editDrawerSlug } from '../../elements/Upload/index.js'\nimport { Plus } from '../../icons/Plus/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-upload'\n\nconst Input: React.FC<{ name: string; onChange: (value: string) => void; value: string }> = ({\n name,\n onChange,\n value,\n}) => (\n <div className={`${baseClass}__input`}>\n {name}\n <input name={name} onChange={(e) => onChange(e.target.value)} type=\"number\" value={value} />\n </div>\n)\n\ntype FocalPosition = {\n x: number\n y: number\n}\n\nexport type EditUploadProps = {\n fileName: string\n fileSrc: string\n imageCacheTag?: string\n initialCrop?: CropType\n initialFocalPoint?: FocalPosition\n onSave?: ({ crop, focalPosition }: { crop: CropType; focalPosition: FocalPosition }) => void\n showCrop?: boolean\n showFocalPoint?: boolean\n}\n\nconst defaultCrop: CropType = {\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n}\n\nexport const EditUpload: React.FC<EditUploadProps> = ({\n fileName,\n fileSrc,\n imageCacheTag,\n initialCrop,\n initialFocalPoint,\n onSave,\n showCrop,\n showFocalPoint,\n}) => {\n const { useModal } = facelessUIImport\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const [crop, setCrop] = useState<CropType>(() => ({\n ...defaultCrop,\n ...initialCrop,\n }))\n\n const defaultFocalPosition: FocalPosition = {\n x: 50,\n y: 50,\n }\n\n console.log({ initialFocalPoint })\n\n const [focalPosition, setFocalPosition] = useState<FocalPosition>(() => ({\n ...defaultFocalPosition,\n ...initialFocalPoint,\n }))\n const [checkBounds, setCheckBounds] = useState<boolean>(false)\n const [originalHeight, setOriginalHeight] = useState<number>(0)\n const [originalWidth, setOriginalWidth] = useState<number>(0)\n\n const focalWrapRef = useRef<HTMLDivElement | undefined>(undefined)\n const imageRef = useRef<HTMLImageElement | undefined>(undefined)\n const cropRef = useRef<HTMLDivElement | undefined>(undefined)\n\n const fineTuneCrop = ({ dimension, value }: { dimension: 'height' | 'width'; value: string }) => {\n const intValue = parseInt(value)\n if (dimension === 'width' && intValue >= originalWidth) return null\n if (dimension === 'height' && intValue >= originalHeight) return null\n\n const percentage = 100 * (intValue / (dimension === 'width' ? originalWidth : originalHeight))\n\n if (percentage === 100 || percentage === 0) return null\n\n setCrop({\n ...crop,\n [dimension]: percentage,\n })\n }\n\n const fineTuneFocalPosition = ({\n coordinate,\n value,\n }: {\n coordinate: 'x' | 'y'\n value: string\n }) => {\n const intValue = parseInt(value)\n if (intValue >= 0 && intValue <= 100) {\n setFocalPosition((prevPosition) => ({ ...prevPosition, [coordinate]: intValue }))\n }\n }\n\n const saveEdits = () => {\n if (typeof onSave === 'function')\n onSave({\n crop,\n focalPosition,\n })\n closeModal(editDrawerSlug)\n }\n\n const onDragEnd = React.useCallback(({ x, y }) => {\n setFocalPosition({ x, y })\n setCheckBounds(false)\n }, [])\n\n const centerFocalPoint = () => {\n const containerRect = focalWrapRef.current.getBoundingClientRect()\n const boundsRect = showCrop\n ? cropRef.current.getBoundingClientRect()\n : imageRef.current.getBoundingClientRect()\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n setFocalPosition({ x: xCenter, y: yCenter })\n }\n\n const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <h2 title={`${t('general:editing')} ${fileName}`}>\n {t('general:editing')} {fileName}\n </h2>\n <div className={`${baseClass}__actions`}>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__cancel`}\n onClick={() => closeModal(editDrawerSlug)}\n >\n {t('general:cancel')}\n </Button>\n <Button\n aria-label={t('general:applyChanges')}\n buttonStyle=\"primary\"\n className={`${baseClass}__save`}\n onClick={saveEdits}\n >\n {t('general:applyChanges')}\n </Button>\n </div>\n </div>\n <div className={`${baseClass}__toolWrap`}>\n <div className={`${baseClass}__crop`}>\n <div\n className={`${baseClass}__focal-wrapper`}\n ref={focalWrapRef}\n style={{\n aspectRatio: `${originalWidth / originalHeight}`,\n }}\n >\n {showCrop ? (\n <ReactCrop\n className={`${baseClass}__reactCrop`}\n crop={crop}\n onChange={(_, c) => setCrop(c)}\n onComplete={() => setCheckBounds(true)}\n renderSelectionAddon={() => {\n return <div className={`${baseClass}__crop-window`} ref={cropRef} />\n }}\n >\n <img\n alt={t('upload:setCropArea')}\n onLoad={(e) => {\n setOriginalHeight(e.currentTarget.naturalHeight)\n setOriginalWidth(e.currentTarget.naturalWidth)\n }}\n ref={imageRef}\n src={fileSrcToUse}\n />\n </ReactCrop>\n ) : (\n <img\n alt={t('upload:setFocalPoint')}\n onLoad={(e) => {\n setOriginalHeight(e.currentTarget.naturalHeight)\n setOriginalWidth(e.currentTarget.naturalWidth)\n }}\n ref={imageRef}\n src={fileSrcToUse}\n />\n )}\n {showFocalPoint && (\n <DraggableElement\n boundsRef={showCrop ? cropRef : imageRef}\n checkBounds={showCrop ? checkBounds : false}\n className={`${baseClass}__focalPoint`}\n containerRef={focalWrapRef}\n initialPosition={focalPosition}\n onDragEnd={onDragEnd}\n setCheckBounds={showCrop ? setCheckBounds : false}\n >\n <Plus />\n </DraggableElement>\n )}\n </div>\n </div>\n {(showCrop || showFocalPoint) && (\n <div className={`${baseClass}__sidebar`}>\n {showCrop && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:crop')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={() =>\n setCrop({\n height: 100,\n unit: '%',\n width: 100,\n x: 0,\n y: 0,\n })\n }\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:cropToolDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name={`${t('upload:width')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'width', value })}\n value={((crop.width / 100) * originalWidth).toFixed(0)}\n />\n <Input\n name={`${t('upload:height')} (px)`}\n onChange={(value) => fineTuneCrop({ dimension: 'height', value })}\n value={((crop.height / 100) * originalHeight).toFixed(0)}\n />\n </div>\n </div>\n )}\n\n {showFocalPoint && (\n <div className={`${baseClass}__groupWrap`}>\n <div>\n <div className={`${baseClass}__titleWrap`}>\n <h3>{t('upload:focalPoint')}</h3>\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__reset`}\n onClick={centerFocalPoint}\n >\n {t('general:reset')}\n </Button>\n </div>\n </div>\n <span className={`${baseClass}__description`}>\n {t('upload:focalPointDescription')}\n </span>\n <div className={`${baseClass}__inputsWrap`}>\n <Input\n name=\"X %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'x', value })}\n value={focalPosition.x.toFixed(0)}\n />\n <Input\n name=\"Y %\"\n onChange={(value) => fineTuneFocalPosition({ coordinate: 'y', value })}\n value={focalPosition.y.toFixed(0)}\n />\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n )\n}\n\nconst DraggableElement = ({\n boundsRef,\n checkBounds,\n children,\n className,\n containerRef,\n initialPosition = { x: 50, y: 50 },\n onDragEnd,\n setCheckBounds,\n}) => {\n const [position, setPosition] = useState({ x: initialPosition.x, y: initialPosition.y })\n const [isDragging, setIsDragging] = useState(false)\n const dragRef = useRef<HTMLButtonElement | undefined>(undefined)\n\n const getCoordinates = React.useCallback(\n (mouseXArg?: number, mouseYArg?: number, recenter?: boolean) => {\n const containerRect = containerRef.current.getBoundingClientRect()\n const boundsRect = boundsRef.current.getBoundingClientRect()\n const mouseX = mouseXArg ?? boundsRect.left\n const mouseY = mouseYArg ?? boundsRect.top\n\n const xOutOfBounds = mouseX < boundsRect.left || mouseX > boundsRect.right\n const yOutOfBounds = mouseY < boundsRect.top || mouseY > boundsRect.bottom\n\n let x = ((mouseX - containerRect.left) / containerRect.width) * 100\n let y = ((mouseY - containerRect.top) / containerRect.height) * 100\n const xCenter =\n ((boundsRect.left - containerRect.left + boundsRect.width / 2) / containerRect.width) * 100\n const yCenter =\n ((boundsRect.top - containerRect.top + boundsRect.height / 2) / containerRect.height) * 100\n if (xOutOfBounds || yOutOfBounds) {\n setIsDragging(false)\n if (mouseX < boundsRect.left) {\n x = ((boundsRect.left - containerRect.left) / containerRect.width) * 100\n } else if (mouseX > boundsRect.right) {\n x =\n ((containerRect.width - (containerRect.right - boundsRect.right)) /\n containerRect.width) *\n 100\n }\n\n if (mouseY < boundsRect.top) {\n y = ((boundsRect.top - containerRect.top) / containerRect.height) * 100\n } else if (mouseY > boundsRect.bottom) {\n y =\n ((containerRect.height - (containerRect.bottom - boundsRect.bottom)) /\n containerRect.height) *\n 100\n }\n\n if (recenter) {\n x = xOutOfBounds ? xCenter : x\n y = yOutOfBounds ? yCenter : y\n }\n }\n\n return { x, y }\n },\n [boundsRef, containerRef],\n )\n\n const handleMouseDown = (event) => {\n event.preventDefault()\n setIsDragging(true)\n }\n\n const handleMouseMove = (event) => {\n if (!isDragging) return null\n const { x, y } = getCoordinates(event.clientX, event.clientY)\n\n setPosition({ x, y })\n }\n\n const onDrop = () => {\n setIsDragging(false)\n onDragEnd(position)\n }\n\n React.useEffect(() => {\n if (isDragging || !dragRef.current) return\n if (checkBounds) {\n const { height, left, top, width } = dragRef.current.getBoundingClientRect()\n const { x, y } = getCoordinates(left + width / 2, top + height / 2, true)\n onDragEnd({ x, y })\n setPosition({ x, y })\n setCheckBounds(false)\n return\n }\n }, [getCoordinates, isDragging, checkBounds, setCheckBounds, position.x, position.y, onDragEnd])\n\n React.useEffect(() => {\n setPosition({ x: initialPosition.x, y: initialPosition.y })\n }, [initialPosition.x, initialPosition.y])\n\n return (\n <div\n className={[\n `${baseClass}__draggable-container`,\n isDragging && `${baseClass}__draggable-container--dragging`,\n ]\n .filter(Boolean)\n .join(' ')}\n onMouseMove={handleMouseMove}\n >\n <button\n className={[`${baseClass}__draggable`, className].filter(Boolean).join(' ')}\n onMouseDown={handleMouseDown}\n onMouseUp={onDrop}\n ref={dragRef}\n style={{ left: `${position.x}%`, top: `${position.y}%` }}\n type=\"button\"\n >\n {children}\n </button>\n <div />\n </div>\n )\n}\n"],"names":["facelessUIImport","React","useRef","useState","ReactCrop","editDrawerSlug","Plus","useTranslation","Button","baseClass","Input","name","onChange","value","div","className","input","e","target","type","defaultCrop","height","unit","width","x","y","EditUpload","fileName","fileSrc","imageCacheTag","initialCrop","initialFocalPoint","onSave","showCrop","showFocalPoint","useModal","closeModal","t","crop","setCrop","defaultFocalPosition","console","log","focalPosition","setFocalPosition","checkBounds","setCheckBounds","originalHeight","setOriginalHeight","originalWidth","setOriginalWidth","focalWrapRef","undefined","imageRef","cropRef","fineTuneCrop","dimension","intValue","parseInt","percentage","fineTuneFocalPosition","coordinate","prevPosition","saveEdits","onDragEnd","useCallback","centerFocalPoint","containerRect","current","getBoundingClientRect","boundsRect","xCenter","left","yCenter","top","fileSrcToUse","h2","title","aria-label","buttonStyle","onClick","ref","style","aspectRatio","_","c","onComplete","renderSelectionAddon","img","alt","onLoad","currentTarget","naturalHeight","naturalWidth","src","DraggableElement","boundsRef","containerRef","initialPosition","h3","span","toFixed","children","position","setPosition","isDragging","setIsDragging","dragRef","getCoordinates","mouseXArg","mouseYArg","recenter","mouseX","mouseY","xOutOfBounds","right","yOutOfBounds","bottom","handleMouseDown","event","preventDefault","handleMouseMove","clientX","clientY","onDrop","useEffect","filter","Boolean","join","onMouseMove","button","onMouseDown","onMouseUp"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
const baseClass = 'error-pill';
|
|
3
4
|
export const ErrorPill = (props)=>{
|
|
@@ -9,13 +10,19 @@ export const ErrorPill = (props)=>{
|
|
|
9
10
|
className && className
|
|
10
11
|
].filter(Boolean).join(' ');
|
|
11
12
|
if (count === 0) return null;
|
|
12
|
-
return /*#__PURE__*/
|
|
13
|
-
className: classes
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
14
|
+
className: classes,
|
|
15
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
16
|
+
className: `${baseClass}__content`,
|
|
17
|
+
children: [
|
|
18
|
+
/*#__PURE__*/ _jsx("span", {
|
|
19
|
+
className: `${baseClass}__count`,
|
|
20
|
+
children: count
|
|
21
|
+
}),
|
|
22
|
+
withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`
|
|
23
|
+
]
|
|
24
|
+
})
|
|
25
|
+
});
|
|
19
26
|
};
|
|
20
27
|
|
|
21
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/ErrorPill/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'error-pill'\n\nexport type ErrorPillProps = {\n className?: string\n count: number\n i18n: I18nClient\n withMessage?: boolean\n}\n\nexport const ErrorPill: React.FC<ErrorPillProps> = (props) => {\n const { className, count, i18n, withMessage } = props\n const lessThan3Chars = !withMessage && count < 99\n\n const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className]\n .filter(Boolean)\n .join(' ')\n\n if (count === 0) return null\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__content`}>\n <span className={`${baseClass}__count`}>{count}</span>\n {withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`}\n </div>\n </div>\n )\n}\n"],"names":["React","baseClass","ErrorPill","props","className","count","i18n","withMessage","lessThan3Chars","classes","filter","Boolean","join","div","span","t"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ErrorPill/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'error-pill'\n\nexport type ErrorPillProps = {\n className?: string\n count: number\n i18n: I18nClient\n withMessage?: boolean\n}\n\nexport const ErrorPill: React.FC<ErrorPillProps> = (props) => {\n const { className, count, i18n, withMessage } = props\n const lessThan3Chars = !withMessage && count < 99\n\n const classes = [baseClass, lessThan3Chars && `${baseClass}--fixed-width`, className && className]\n .filter(Boolean)\n .join(' ')\n\n if (count === 0) return null\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__content`}>\n <span className={`${baseClass}__count`}>{count}</span>\n {withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`}\n </div>\n </div>\n )\n}\n"],"names":["React","baseClass","ErrorPill","props","className","count","i18n","withMessage","lessThan3Chars","classes","filter","Boolean","join","div","span","t"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAEA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AASlB,OAAO,MAAMC,YAAsC,CAACC;IAClD,MAAM,EAAEC,SAAS,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGJ;IAChD,MAAMK,iBAAiB,CAACD,eAAeF,QAAQ;IAE/C,MAAMI,UAAU;QAACR;QAAWO,kBAAkB,CAAC,EAAEP,UAAU,aAAa,CAAC;QAAEG,aAAaA;KAAU,CAC/FM,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIP,UAAU,GAAG,OAAO;IAExB,qBACE,KAACQ;QAAIT,WAAWK;kBACd,cAAA,MAACI;YAAIT,WAAW,CAAC,EAAEH,UAAU,SAAS,CAAC;;8BACrC,KAACa;oBAAKV,WAAW,CAAC,EAAEH,UAAU,OAAO,CAAC;8BAAGI;;gBACxCE,eAAe,CAAC,CAAC,EAAEF,QAAQ,IAAIC,KAAKS,CAAC,CAAC,oBAAoBT,KAAKS,CAAC,CAAC,iBAAiB,CAAC;;;;AAI5F,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAAuC,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yDAAyD,CAAA;AAOpG,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;CAC/C,CAAA;AAiHD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgDlD,CAAA"}
|