@payloadcms/ui 3.0.0-alpha.49 → 3.0.0-alpha.50
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/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -43
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +2 -5
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +2 -2
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +13 -4
- 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 +31 -112
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +0 -2
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +8 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +4 -0
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +3 -25
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +39 -12
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js +2 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +0 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +7 -6
- 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 +5 -9
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts +3 -0
- package/dist/elements/Nav/index.client.d.ts.map +1 -0
- package/dist/elements/Nav/index.client.js +77 -0
- package/dist/elements/Nav/index.client.js.map +1 -0
- package/dist/elements/Nav/index.d.ts +3 -7
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +4 -66
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/PerPage/index.d.ts +1 -0
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js +6 -4
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +4 -6
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -65
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.d.ts +9 -0
- package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -0
- package/dist/elements/PreviewButton/usePreviewURL.js +57 -0
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -0
- package/dist/elements/Publish/index.d.ts +4 -2
- package/dist/elements/Publish/index.d.ts.map +1 -1
- package/dist/elements/Publish/index.js +15 -25
- package/dist/elements/Publish/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +2 -1
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.scss +4 -0
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +4 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +2 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/Save/index.d.ts +4 -2
- package/dist/elements/Save/index.d.ts.map +1 -1
- package/dist/elements/Save/index.js +7 -14
- package/dist/elements/Save/index.js.map +1 -1
- package/dist/elements/SaveDraft/index.d.ts +1 -2
- package/dist/elements/SaveDraft/index.d.ts.map +1 -1
- package/dist/elements/SaveDraft/index.js +33 -42
- package/dist/elements/SaveDraft/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +3 -1
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +5 -6
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +3 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +4 -4
- 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/Checkbox/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -5
- package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +4 -3
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +3 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
- package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +4 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.d.ts +11 -11
- package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +8 -4
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +1 -0
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/{buildColumns.d.ts → buildColumnState.d.ts} +8 -6
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
- package/dist/elements/TableColumns/{buildColumns.js → buildColumnState.js} +37 -13
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
- package/dist/elements/TableColumns/filterFields.d.ts +3 -0
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
- package/dist/elements/TableColumns/filterFields.js +27 -0
- package/dist/elements/TableColumns/filterFields.js.map +1 -0
- package/dist/elements/TableColumns/getInitialColumns.d.ts +5 -0
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
- package/dist/elements/TableColumns/getInitialColumns.js +48 -0
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
- package/dist/elements/TableColumns/index.d.ts +2 -2
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +11 -7
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +6 -0
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +32 -16
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +2 -6
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +4 -4
- package/dist/elements/Translation/index.d.ts.map +1 -1
- package/dist/elements/Translation/index.js +12 -9
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -7
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +21 -4
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +45 -61
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.scss +6 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +134 -55
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +3 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js +36 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -0
- package/dist/elements/withMergedProps/index.js +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +2 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +3 -3
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +23 -8
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -3
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +0 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +17 -5
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +3 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +6 -2
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +8 -3
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +2 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +4 -3
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +7 -2
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +7 -2
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +0 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +9 -8
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/HiddenInput/index.d.ts +1 -0
- package/dist/fields/HiddenInput/index.d.ts.map +1 -1
- package/dist/fields/HiddenInput/index.js +4 -2
- package/dist/fields/HiddenInput/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +8 -4
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +7 -2
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +0 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +5 -2
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +15 -10
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +7 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +45 -14
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +3 -1
- 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 -0
- 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.map +1 -1
- package/dist/fields/Row/index.js +2 -1
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts +0 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +8 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +0 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +2 -2
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +4 -1
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +3 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.d.ts.map +1 -1
- package/dist/fields/Textarea/Input.js +4 -1
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +3 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +10 -8
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +6 -2
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts +1 -2
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/FieldDescription/index.d.ts +1 -2
- package/dist/forms/FieldDescription/index.d.ts.map +1 -1
- package/dist/forms/FieldDescription/index.js.map +1 -1
- package/dist/forms/FieldError/index.js +1 -1
- package/dist/forms/FieldError/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.d.ts.map +1 -1
- package/dist/forms/FieldLabel/index.js +4 -4
- package/dist/forms/FieldLabel/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.scss +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +5 -0
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js +5 -1
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +6 -8
- 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 +37 -20
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +1 -0
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeErrorPaths.d.ts +5 -0
- package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -0
- package/dist/forms/Form/mergeErrorPaths.js +29 -0
- package/dist/forms/Form/mergeErrorPaths.js.map +1 -0
- package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +36 -19
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +8 -2
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -0
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +12 -4
- 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 +3 -3
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +1 -0
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +4 -3
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +67 -42
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +11 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +13 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +11 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +16 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +12 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +122 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -0
- package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js +10 -2
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js +4 -3
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +32 -12
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +1 -0
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.d.ts +3 -0
- package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +10 -2
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +4 -2
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +3 -2
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +5 -6
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/providers/ClientFunction/index.d.ts.map +1 -1
- package/dist/providers/ClientFunction/index.js +27 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/{mapActions.d.ts → actions.d.ts} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapActions.js → actions.js} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +13 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +74 -0
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapFields.d.ts → fields.d.ts} +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/{mapFields.js → fields.js} +43 -23
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +49 -0
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -2
- package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +16 -83
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +8 -3
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +120 -96
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +12 -13
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/EntityVisibility/index.d.ts +16 -0
- package/dist/providers/EntityVisibility/index.d.ts.map +1 -0
- package/dist/providers/EntityVisibility/index.js +25 -0
- package/dist/providers/EntityVisibility/index.js.map +1 -0
- package/dist/providers/ListInfo/index.d.ts +0 -1
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js +2 -7
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/templates/Default/index.d.ts +2 -7
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +10 -12
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/buildComponentMap.d.ts +1 -1
- package/dist/utilities/buildComponentMap.d.ts.map +1 -1
- package/dist/utilities/buildComponentMap.js +1 -1
- package/dist/utilities/buildComponentMap.js.map +1 -1
- package/dist/utilities/flattenFieldMap.d.ts +10 -0
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -0
- package/dist/utilities/flattenFieldMap.js +33 -0
- package/dist/utilities/flattenFieldMap.js.map +1 -0
- package/dist/utilities/getFormState.d.ts +2 -0
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js +8 -3
- package/dist/utilities/getFormState.js.map +1 -1
- package/package.json +10 -4
- package/dist/elements/TableColumns/buildColumns.d.ts.map +0 -1
- package/dist/elements/TableColumns/buildColumns.js.map +0 -1
- package/dist/elements/WhereBuilder/reducer.d.ts +0 -5
- package/dist/elements/WhereBuilder/reducer.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/reducer.js +0 -78
- package/dist/elements/WhereBuilder/reducer.js.map +0 -1
- package/dist/forms/FieldDescription/types.d.ts +0 -8
- package/dist/forms/FieldDescription/types.d.ts.map +0 -1
- package/dist/forms/FieldDescription/types.js +0 -3
- package/dist/forms/FieldDescription/types.js.map +0 -1
- package/dist/hooks/useAdminThumbnail.d.ts +0 -3
- package/dist/hooks/useAdminThumbnail.d.ts.map +0 -1
- package/dist/hooks/useAdminThumbnail.js +0 -8
- package/dist/hooks/useAdminThumbnail.js.map +0 -1
- package/dist/hooks/useThumbnail.d.ts +0 -3
- package/dist/hooks/useThumbnail.d.ts.map +0 -1
- package/dist/hooks/useThumbnail.js +0 -45
- package/dist/hooks/useThumbnail.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapActions.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapActions.js.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapFields.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/mapFields.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions } from 'payload/auth'\nimport type { DocumentPreferences } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { toKebabCase } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { MappedTab } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { TabComponent } from './Tab/index.js'\nimport './index.scss'\nimport { TabsProvider } from './provider.js'\n\nconst baseClass = 'tabs-field'\n\nexport { TabsProvider }\n\nexport type TabsFieldProps = FormFieldBase & {\n forceRender?: boolean\n indexPath: string\n name?: string\n path?: string\n permissions: FieldPermissions\n tabs?: MappedTab[]\n width?: string\n}\n\nconst TabsField: React.FC<TabsFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n className,\n descriptionProps,\n forceRender = false,\n indexPath,\n path: pathFromProps,\n readOnly,\n tabs = [],\n } = props\n\n const { path: pathFromContext, permissions, schemaPath } = useFieldProps()\n const path = pathFromContext || pathFromProps || name\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const { i18n } = useTranslation()\n const isWithinCollapsible = useCollapsible()\n const [activeTabIndex, setActiveTabIndex] = useState<number>(0)\n const tabsPrefKey = `tabs-${indexPath}`\n\n useEffect(() => {\n const getInitialPref = async () => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n const initialIndex = path\n ? existingPreferences?.fields?.[path]?.tabIndex\n : existingPreferences?.fields?.[tabsPrefKey]?.tabIndex\n setActiveTabIndex(initialIndex || 0)\n }\n void getInitialPref()\n }, [path, getPreference, preferencesKey, tabsPrefKey])\n\n const handleTabChange = useCallback(\n async (incomingTabIndex: number) => {\n setActiveTabIndex(incomingTabIndex)\n\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n tabIndex: incomingTabIndex,\n },\n },\n }\n : {\n fields: {\n ...existingPreferences?.fields,\n [tabsPrefKey]: {\n ...existingPreferences?.fields?.[tabsPrefKey],\n tabIndex: incomingTabIndex,\n },\n },\n }),\n })\n },\n [preferencesKey, getPreference, setPreference, path, tabsPrefKey],\n )\n\n const activeTabConfig = tabs[activeTabIndex]\n\n return (\n <div\n className={[\n fieldBaseClass,\n className,\n baseClass,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <TabsProvider>\n <div className={`${baseClass}__tabs-wrap`}>\n <div className={`${baseClass}__tabs`}>\n {tabs.map((tab, tabIndex) => {\n return (\n <TabComponent\n isActive={activeTabIndex === tabIndex}\n key={tabIndex}\n parentPath={path}\n setIsActive={() => handleTabChange(tabIndex)}\n tab={tab}\n />\n )\n })}\n </div>\n </div>\n <div className={`${baseClass}__content-wrap`}>\n {activeTabConfig && (\n <React.Fragment>\n <div\n className={[\n `${baseClass}__tab`,\n activeTabConfig.label &&\n `${baseClass}__tabConfigLabel-${toKebabCase(\n getTranslation(activeTabConfig.label, i18n),\n )}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {CustomDescription ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n <RenderFields\n fieldMap={activeTabConfig.fieldMap}\n forceRender={forceRender}\n key={\n activeTabConfig.label\n ? getTranslation(activeTabConfig.label, i18n)\n : activeTabConfig['name']\n }\n margins=\"small\"\n path={`${path ? `${path}.` : ''}${activeTabConfig.name ? `${activeTabConfig.name}` : ''}`}\n permissions={\n 'name' in activeTabConfig && permissions?.fields?.[activeTabConfig.name]?.fields\n ? permissions?.fields?.[activeTabConfig.name]?.fields\n : permissions?.fields\n }\n readOnly={readOnly}\n schemaPath={`${schemaPath ? `${schemaPath}` : ''}${activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n </TabsProvider>\n </div>\n )\n}\n\nexport const Tabs = withCondition(TabsField)\n"],"names":["getTranslation","FieldDescription","toKebabCase","React","useCallback","useEffect","useState","useCollapsible","useFieldProps","RenderFields","withCondition","useDocumentInfo","usePreferences","useTranslation","fieldBaseClass","TabComponent","TabsProvider","baseClass","TabsField","props","name","CustomDescription","className","descriptionProps","forceRender","indexPath","path","pathFromProps","readOnly","tabs","pathFromContext","permissions","schemaPath","getPreference","setPreference","preferencesKey","i18n","isWithinCollapsible","activeTabIndex","setActiveTabIndex","tabsPrefKey","getInitialPref","existingPreferences","initialIndex","fields","tabIndex","handleTabChange","incomingTabIndex","activeTabConfig","div","filter","Boolean","join","map","tab","isActive","key","parentPath","setIsActive","Fragment","label","fieldMap","margins","Tabs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions } from 'payload/auth'\nimport type { DocumentPreferences } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { toKebabCase } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { MappedTab } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { TabComponent } from './Tab/index.js'\nimport './index.scss'\nimport { TabsProvider } from './provider.js'\n\nconst baseClass = 'tabs-field'\n\nexport { TabsProvider }\n\nexport type TabsFieldProps = FormFieldBase & {\n forceRender?: boolean\n name?: string\n path?: string\n permissions: FieldPermissions\n tabs?: MappedTab[]\n width?: string\n}\n\nconst TabsField: React.FC<TabsFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n className,\n descriptionProps,\n forceRender = false,\n path: pathFromProps,\n readOnly,\n tabs = [],\n } = props\n\n const { indexPath, path: pathFromContext, permissions, schemaPath } = useFieldProps()\n const path = pathFromContext || pathFromProps || name\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const { i18n } = useTranslation()\n const isWithinCollapsible = useCollapsible()\n const [activeTabIndex, setActiveTabIndex] = useState<number>(0)\n const tabsPrefKey = `tabs-${indexPath}`\n\n useEffect(() => {\n const getInitialPref = async () => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n const initialIndex = path\n ? existingPreferences?.fields?.[path]?.tabIndex\n : existingPreferences?.fields?.[tabsPrefKey]?.tabIndex\n setActiveTabIndex(initialIndex || 0)\n }\n void getInitialPref()\n }, [path, getPreference, preferencesKey, tabsPrefKey])\n\n const handleTabChange = useCallback(\n async (incomingTabIndex: number) => {\n setActiveTabIndex(incomingTabIndex)\n\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n tabIndex: incomingTabIndex,\n },\n },\n }\n : {\n fields: {\n ...existingPreferences?.fields,\n [tabsPrefKey]: {\n ...existingPreferences?.fields?.[tabsPrefKey],\n tabIndex: incomingTabIndex,\n },\n },\n }),\n })\n },\n [preferencesKey, getPreference, setPreference, path, tabsPrefKey],\n )\n\n const activeTabConfig = tabs[activeTabIndex]\n\n return (\n <div\n className={[\n fieldBaseClass,\n className,\n baseClass,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <TabsProvider>\n <div className={`${baseClass}__tabs-wrap`}>\n <div className={`${baseClass}__tabs`}>\n {tabs.map((tab, tabIndex) => {\n return (\n <TabComponent\n isActive={activeTabIndex === tabIndex}\n key={tabIndex}\n parentPath={path}\n setIsActive={() => handleTabChange(tabIndex)}\n tab={tab}\n />\n )\n })}\n </div>\n </div>\n <div className={`${baseClass}__content-wrap`}>\n {activeTabConfig && (\n <React.Fragment>\n <div\n className={[\n `${baseClass}__tab`,\n activeTabConfig.label &&\n `${baseClass}__tabConfigLabel-${toKebabCase(\n getTranslation(activeTabConfig.label, i18n),\n )}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {CustomDescription ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n <RenderFields\n fieldMap={activeTabConfig.fieldMap}\n forceRender={forceRender}\n key={\n activeTabConfig.label\n ? getTranslation(activeTabConfig.label, i18n)\n : activeTabConfig['name']\n }\n margins=\"small\"\n path={`${path ? `${path}.` : ''}${activeTabConfig.name ? `${activeTabConfig.name}` : ''}`}\n permissions={\n 'name' in activeTabConfig && permissions?.fields?.[activeTabConfig.name]?.fields\n ? permissions?.fields?.[activeTabConfig.name]?.fields\n : permissions?.fields\n }\n readOnly={readOnly}\n schemaPath={`${schemaPath ? `${schemaPath}` : ''}${activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n </TabsProvider>\n </div>\n )\n}\n\nexport const Tabs = withCondition(TabsField)\n"],"names":["getTranslation","FieldDescription","toKebabCase","React","useCallback","useEffect","useState","useCollapsible","useFieldProps","RenderFields","withCondition","useDocumentInfo","usePreferences","useTranslation","fieldBaseClass","TabComponent","TabsProvider","baseClass","TabsField","props","name","CustomDescription","className","descriptionProps","forceRender","path","pathFromProps","readOnly","tabs","indexPath","pathFromContext","permissions","schemaPath","getPreference","setPreference","preferencesKey","i18n","isWithinCollapsible","activeTabIndex","setActiveTabIndex","tabsPrefKey","getInitialPref","existingPreferences","initialIndex","fields","tabIndex","handleTabChange","incomingTabIndex","activeTabConfig","div","filter","Boolean","join","map","tab","isActive","key","parentPath","setIsActive","Fragment","label","fieldMap","margins","Tabs"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/Input.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAKhD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/Input.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAKhD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyG9C,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { ReactSelect } from '../../elements/ReactSelect/index.js';
|
|
|
8
8
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
9
9
|
import { fieldBaseClass } from '../shared/index.js';
|
|
10
10
|
export const TextInput = (props)=>{
|
|
11
|
-
const { AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany, inputRef, labelProps, maxRows, onChange, onKeyDown, path, placeholder, readOnly, rtl, showError, style, value, valueToRender, width } = props;
|
|
11
|
+
const { AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany, inputRef, label, labelProps, maxRows, onChange, onKeyDown, path, placeholder, readOnly, required, rtl, showError, style, value, valueToRender, width } = props;
|
|
12
12
|
const { i18n, t } = useTranslation();
|
|
13
13
|
return /*#__PURE__*/ React.createElement("div", {
|
|
14
14
|
className: [
|
|
@@ -25,9 +25,12 @@ export const TextInput = (props)=>{
|
|
|
25
25
|
}
|
|
26
26
|
}, /*#__PURE__*/ React.createElement(FieldError, {
|
|
27
27
|
CustomError: CustomError,
|
|
28
|
+
path: path,
|
|
28
29
|
...errorProps || {}
|
|
29
30
|
}), /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
30
31
|
CustomLabel: CustomLabel,
|
|
32
|
+
label: label,
|
|
33
|
+
required: required,
|
|
31
34
|
...labelProps || {}
|
|
32
35
|
}), hasMany ? /*#__PURE__*/ React.createElement(ReactSelect, {
|
|
33
36
|
className: `field-${path.replace(/\./g, '__')}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Text/Input.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React from 'react'\n\nimport type { TextInputProps } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n labelProps,\n maxRows,\n onChange,\n onKeyDown,\n path,\n placeholder,\n readOnly,\n rtl,\n showError,\n style,\n value,\n valueToRender,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'text',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n <FieldLabel
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Text/Input.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React from 'react'\n\nimport type { TextInputProps } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n label,\n labelProps,\n maxRows,\n onChange,\n onKeyDown,\n path,\n placeholder,\n readOnly,\n required,\n rtl,\n showError,\n style,\n value,\n valueToRender,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'text',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n // prevent adding additional options if maxRows is reached\n filterOption={() =>\n !maxRows ? true : !(Array.isArray(value) && maxRows && value.length >= maxRows)\n }\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n onChange={onChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender}\n />\n ) : (\n <div>\n {BeforeInput}\n <input\n data-rtl={rtl}\n disabled={readOnly}\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={onChange}\n onKeyDown={onKeyDown}\n placeholder={getTranslation(placeholder, i18n)}\n ref={inputRef}\n type=\"text\"\n value={value || ''}\n />\n {AfterInput}\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","React","ReactSelect","useTranslation","fieldBaseClass","TextInput","props","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","inputRef","label","labelProps","maxRows","onChange","onKeyDown","path","placeholder","readOnly","required","rtl","showError","style","value","valueToRender","width","i18n","t","div","filter","Boolean","join","replace","disabled","filterOption","Array","isArray","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","isOverHasMany","max","options","input","data-rtl","id","name","ref","type","undefined"],"mappings":"AAAA;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,WAAW,QAAO;AAIzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,OAAO,MAAMC,YAAsC,CAACC;IAClD,MAAM,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,OAAO,EACPC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,GAAG,EACHC,SAAS,EACTC,KAAK,EACLC,KAAK,EACLC,aAAa,EACbC,KAAK,EACN,GAAGzB;IAEJ,MAAM,EAAE0B,IAAI,EAAEC,CAAC,EAAE,GAAG9B;IAEpB,qBACE,oBAAC+B;QACCtB,WAAW;YACTR;YACA;YACAQ;YACAe,aAAa;YACbH,YAAY;YACZT,WAAW;SACZ,CACEoB,MAAM,CAACC,SACPC,IAAI,CAAC;QACRT,OAAO;YACL,GAAGA,KAAK;YACRG;QACF;qBAEA,oBAAChC;QAAWW,aAAaA;QAAaY,MAAMA;QAAO,GAAIR,cAAc,CAAC,CAAC;sBACvE,oBAACd;QACCW,aAAaA;QACbM,OAAOA;QACPQ,UAAUA;QACT,GAAIP,cAAc,CAAC,CAAC;QAEtBH,wBACC,oBAACb;QACCU,WAAW,CAAC,MAAM,EAAEU,KAAKgB,OAAO,CAAC,OAAO,MAAM,CAAC;QAC/CC,UAAUf;QACV,0DAA0D;QAC1DgB,cAAc,IACZ,CAACrB,UAAU,OAAO,CAAEsB,CAAAA,MAAMC,OAAO,CAACb,UAAUV,WAAWU,MAAMc,MAAM,IAAIxB,OAAM;QAE/EyB,aAAAA;QACAC,aAAAA;QACAC,SAAAA;QACAC,YAAAA;QACAC,kBAAkB;YAChB,MAAMC,gBAAgBR,MAAMC,OAAO,CAACb,UAAUA,MAAMc,MAAM,IAAIxB;YAC9D,IAAI8B,eAAe;gBACjB,OAAOhB,EAAE,2BAA2B;oBAAEiB,KAAK/B;oBAASU,OAAOA,MAAMc,MAAM,GAAG;gBAAE;YAC9E;YACA,OAAO;QACT;QACAvB,UAAUA;QACV+B,SAAS,EAAE;QACX5B,aAAaU,EAAE;QACfN,WAAWA;QACXE,OAAOC;uBAGT,oBAACI,aACE1B,2BACD,oBAAC4C;QACCC,YAAU3B;QACVa,UAAUf;QACV8B,IAAI,CAAC,MAAM,EAAEhC,MAAMgB,QAAQ,OAAO,MAAM,CAAC;QACzCiB,MAAMjC;QACNF,UAAUA;QACVC,WAAWA;QACXE,aAAa1B,eAAe0B,aAAaS;QACzCwB,KAAKxC;QACLyC,MAAK;QACL5B,OAAOA,SAAS;QAEjBtB,aAGJE,sBAAsBiD,YACrBjD,kCAEA,oBAACX,kBAAsBe,oBAAoB,CAAC;AAIpD,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAOhE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AAqIpD,eAAO,MAAM,IAAI,0BAA2B,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
2
3
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
3
4
|
import { useField } from '../../forms/useField/index.js';
|
|
4
5
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
@@ -24,8 +25,9 @@ const TextField = (props)=>{
|
|
|
24
25
|
maxLength,
|
|
25
26
|
required
|
|
26
27
|
]);
|
|
28
|
+
const { path: pathFromContext } = useFieldProps();
|
|
27
29
|
const { path, readOnly, setValue, showError, value } = useField({
|
|
28
|
-
path: pathFromProps || name,
|
|
30
|
+
path: pathFromContext || pathFromProps || name,
|
|
29
31
|
validate: memoizedValidate
|
|
30
32
|
});
|
|
31
33
|
const renderRTL = isFieldRTL({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\nimport type {} from 'payload/types'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextFieldProps, TextInputProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextFieldProps, TextInput, TextInputProps }\n\nconst TextField: React.FC<TextFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n labelProps,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n path: pathFromProps,\n placeholder,\n required,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const locale = useLocale()\n\n const { localization: localizationConfig } = useConfig()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path, readOnly, setValue, showError, value } = useField({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n hasMany={hasMany}\n inputRef={inputRef}\n labelProps={labelProps}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={readOnly}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const Text = withCondition(TextField)\n"],"names":["React","useCallback","useEffect","useState","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","inputRef","labelProps","localized","maxLength","maxRows","minLength","minRows","path","pathFromProps","placeholder","required","rtl","style","validate","width","locale","localization","localizationConfig","memoizedValidate","value","options","readOnly","setValue","showError","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","label","toString","onChange","e","target","Text"],"mappings":"AAAA;AAIA,
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\nimport type {} from 'payload/types'\n\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextFieldProps, TextInputProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextFieldProps, TextInput, TextInputProps }\n\nconst TextField: React.FC<TextFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n labelProps,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n path: pathFromProps,\n placeholder,\n required,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const locale = useLocale()\n\n const { localization: localizationConfig } = useConfig()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, readOnly, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n hasMany={hasMany}\n inputRef={inputRef}\n labelProps={labelProps}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={readOnly}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const Text = withCondition(TextField)\n"],"names":["useFieldProps","React","useCallback","useEffect","useState","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","inputRef","labelProps","localized","maxLength","maxRows","minLength","minRows","path","pathFromProps","placeholder","required","rtl","style","validate","width","locale","localization","localizationConfig","memoizedValidate","value","options","pathFromContext","readOnly","setValue","showError","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","label","toString","onChange","e","target","Text"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/Input.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIpD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/Input.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIpD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2EtD,CAAA"}
|
|
@@ -7,7 +7,7 @@ import React from 'react';
|
|
|
7
7
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
8
|
import { fieldBaseClass } from '../shared/index.js';
|
|
9
9
|
export const TextareaInput = (props)=>{
|
|
10
|
-
const { AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, labelProps, onChange, path, placeholder, readOnly, rows, rtl, showError, style, value, width } = props;
|
|
10
|
+
const { AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, onChange, path, placeholder, readOnly, required, rows, rtl, showError, style, value, width } = props;
|
|
11
11
|
const { i18n } = useTranslation();
|
|
12
12
|
return /*#__PURE__*/ React.createElement("div", {
|
|
13
13
|
className: [
|
|
@@ -23,9 +23,12 @@ export const TextareaInput = (props)=>{
|
|
|
23
23
|
}
|
|
24
24
|
}, /*#__PURE__*/ React.createElement(FieldError, {
|
|
25
25
|
CustomError: CustomError,
|
|
26
|
+
path: path,
|
|
26
27
|
...errorProps || {}
|
|
27
28
|
}), /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
28
29
|
CustomLabel: CustomLabel,
|
|
30
|
+
label: label,
|
|
31
|
+
required: required,
|
|
29
32
|
...labelProps || {}
|
|
30
33
|
}), BeforeInput, /*#__PURE__*/ React.createElement("label", {
|
|
31
34
|
className: "textarea-outer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Textarea/Input.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextareaInput: React.FC<TextAreaInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n onChange,\n path,\n placeholder,\n readOnly,\n rows,\n rtl,\n showError,\n style,\n value,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'textarea',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n <FieldLabel
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Textarea/Input.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextareaInput: React.FC<TextAreaInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n onChange,\n path,\n placeholder,\n readOnly,\n required,\n rows,\n rtl,\n showError,\n style,\n value,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'textarea',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n {BeforeInput}\n <label className=\"textarea-outer\" htmlFor={`field-${path.replace(/\\./g, '__')}`}>\n <div className=\"textarea-inner\">\n <div className=\"textarea-clone\" data-value={value || placeholder || ''} />\n <textarea\n className=\"textarea-element\"\n data-rtl={rtl}\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={onChange}\n placeholder={getTranslation(placeholder, i18n)}\n rows={rows}\n value={value || ''}\n />\n </div>\n </label>\n {AfterInput}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","React","useTranslation","fieldBaseClass","TextareaInput","props","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","onChange","path","placeholder","readOnly","required","rows","rtl","showError","style","value","width","i18n","div","filter","Boolean","join","htmlFor","replace","data-value","textarea","data-rtl","disabled","id","name","undefined"],"mappings":"AAAA;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,IAAI,EACJC,GAAG,EACHC,SAAS,EACTC,KAAK,EACLC,KAAK,EACLC,KAAK,EACN,GAAGrB;IAEJ,MAAM,EAAEsB,IAAI,EAAE,GAAGzB;IAEjB,qBACE,oBAAC0B;QACCjB,WAAW;YACTR;YACA;YACAQ;YACAY,aAAa;YACbJ,YAAY;SACb,CACEU,MAAM,CAACC,SACPC,IAAI,CAAC;QACRP,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAAC3B;QAAWU,aAAaA;QAAaQ,MAAMA;QAAO,GAAIJ,cAAc,CAAC,CAAC;sBACvE,oBAACb;QACCU,aAAaA;QACbI,OAAOA;QACPM,UAAUA;QACT,GAAIL,cAAc,CAAC,CAAC;QAEtBR,2BACD,oBAACO;QAAMH,WAAU;QAAiBqB,SAAS,CAAC,MAAM,EAAEf,KAAKgB,OAAO,CAAC,OAAO,MAAM,CAAC;qBAC7E,oBAACL;QAAIjB,WAAU;qBACb,oBAACiB;QAAIjB,WAAU;QAAiBuB,cAAYT,SAASP,eAAe;sBACpE,oBAACiB;QACCxB,WAAU;QACVyB,YAAUd;QACVe,UAAUlB;QACVmB,IAAI,CAAC,MAAM,EAAErB,KAAKgB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxCM,MAAMtB;QACND,UAAUA;QACVE,aAAarB,eAAeqB,aAAaS;QACzCN,MAAMA;QACNI,OAAOA,SAAS;UAIrBnB,YACAE,sBAAsBgC,YACrBhC,kCAEA,oBAACV,kBAAsBc,oBAAoB,CAAC;AAIpD,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAOxE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAA;AAkFhE,eAAO,MAAM,QAAQ,8BAA+B,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable react/destructuring-assignment */ 'use client';
|
|
2
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
3
4
|
import React, { useCallback } from 'react';
|
|
4
5
|
import { useField } from '../../forms/useField/index.js';
|
|
5
6
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
@@ -31,8 +32,9 @@ const TextareaField = (props)=>{
|
|
|
31
32
|
maxLength,
|
|
32
33
|
minLength
|
|
33
34
|
]);
|
|
35
|
+
const { path: pathFromContext } = useFieldProps();
|
|
34
36
|
const { path, readOnly, setValue, showError, value } = useField({
|
|
35
|
-
path: pathFromProps || name,
|
|
37
|
+
path: pathFromContext || pathFromProps || name,
|
|
36
38
|
validate: memoizedValidate
|
|
37
39
|
});
|
|
38
40
|
return /*#__PURE__*/ React.createElement(TextareaInput, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { TextAreaInputProps, TextareaFieldProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextareaInput } from './Input.js'\nimport './index.scss'\n\nexport { TextAreaInputProps, TextareaFieldProps, TextareaInput }\n\nconst TextareaField: React.FC<TextareaFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n locale,\n localized,\n maxLength,\n minLength,\n path: pathFromProps,\n placeholder,\n required,\n rows,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const { localization } = useConfig()\n\n const isRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localization || undefined,\n })\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, required, maxLength, minLength],\n )\n\n const { path, readOnly, setValue, showError, value } = useField<string>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <TextareaInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n labelProps={labelProps}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={readOnly}\n required={required}\n rows={rows}\n rtl={isRTL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const Textarea = withCondition(TextareaField)\n"],"names":["getTranslation","React","useCallback","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","TextareaField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","labelProps","locale","localized","maxLength","minLength","path","pathFromProps","placeholder","required","rows","rtl","style","validate","width","i18n","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","undefined","memoizedValidate","value","options","readOnly","setValue","showError","onChange","e","target","Textarea"],"mappings":"AAAA,iDAAiD,GACjD;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,SAASC,aAAa,QAAQ,aAAY;AAG1C,SAAiDA,aAAa,GAAE;AAEhE,MAAMC,gBAA8C,CAACC;IACnD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,MAAMC,aAAa,EACnBC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGvB;IAEJ,MAAM,EAAEwB,IAAI,EAAE,GAAG5B;IAEjB,MAAM,EAAE6B,YAAY,EAAE,GAAG9B;IAEzB,MAAM+B,QAAQ7B,WAAW;QACvB8B,gBAAgBf;QAChBgB,UAAUR;QACVT;QACAkB,oBAAoBJ,gBAAgBK;IACtC;IAEA,MAAMC,mBAAmCvC,YACvC,CAACwC,OAAOC;QACN,IAAI,OAAOX,aAAa,YACtB,OAAOA,SAASU,OAAO;YAAE,GAAGC,OAAO;YAAEpB;YAAWC;YAAWI;QAAS;IACxE,GACA;QAACI;QAAUJ;QAAUL;QAAWC;KAAU;IAG5C,MAAM,EAAEC,IAAI,
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback } from 'react'\n\nimport type { TextAreaInputProps, TextareaFieldProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextareaInput } from './Input.js'\nimport './index.scss'\n\nexport { TextAreaInputProps, TextareaFieldProps, TextareaInput }\n\nconst TextareaField: React.FC<TextareaFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n locale,\n localized,\n maxLength,\n minLength,\n path: pathFromProps,\n placeholder,\n required,\n rows,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const { localization } = useConfig()\n\n const isRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localization || undefined,\n })\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, required, maxLength, minLength],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, readOnly, setValue, showError, value } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <TextareaInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n labelProps={labelProps}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={readOnly}\n required={required}\n rows={rows}\n rtl={isRTL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const Textarea = withCondition(TextareaField)\n"],"names":["getTranslation","useFieldProps","React","useCallback","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","TextareaField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","labelProps","locale","localized","maxLength","minLength","path","pathFromProps","placeholder","required","rows","rtl","style","validate","width","i18n","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","undefined","memoizedValidate","value","options","pathFromContext","readOnly","setValue","showError","onChange","e","target","Textarea"],"mappings":"AAAA,iDAAiD,GACjD;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,SAASC,aAAa,QAAQ,aAAY;AAG1C,SAAiDA,aAAa,GAAE;AAEhE,MAAMC,gBAA8C,CAACC;IACnD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,MAAMC,aAAa,EACnBC,WAAW,EACXC,QAAQ,EACRC,IAAI,EACJC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGvB;IAEJ,MAAM,EAAEwB,IAAI,EAAE,GAAG5B;IAEjB,MAAM,EAAE6B,YAAY,EAAE,GAAG9B;IAEzB,MAAM+B,QAAQ7B,WAAW;QACvB8B,gBAAgBf;QAChBgB,UAAUR;QACVT;QACAkB,oBAAoBJ,gBAAgBK;IACtC;IAEA,MAAMC,mBAAmCvC,YACvC,CAACwC,OAAOC;QACN,IAAI,OAAOX,aAAa,YACtB,OAAOA,SAASU,OAAO;YAAE,GAAGC,OAAO;YAAEpB;YAAWC;YAAWI;QAAS;IACxE,GACA;QAACI;QAAUJ;QAAUL;QAAWC;KAAU;IAG5C,MAAM,EAAEC,MAAMmB,eAAe,EAAE,GAAG5C;IAElC,MAAM,EAAEyB,IAAI,EAAEoB,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAGvC,SAAiB;QACtEsB,MAAMmB,mBAAmBlB,iBAAiBf;QAC1CqB,UAAUS;IACZ;IAEA,qBACE,oBAACjC;QACCI,YAAYA;QACZC,aAAaA;QACbC,mBAAmBA;QACnBC,aAAaA;QACbC,aAAaA;QACbC,WAAWA;QACXC,kBAAkBA;QAClBC,YAAYA;QACZC,YAAYA;QACZ4B,UAAU,CAACC;YACTH,SAASG,EAAEC,MAAM,CAACR,KAAK;QACzB;QACAjB,MAAMA;QACNE,aAAa5B,eAAe4B,aAAaO;QACzCW,UAAUA;QACVjB,UAAUA;QACVC,MAAMA;QACNC,KAAKM;QACLW,WAAWA;QACXhB,OAAOA;QACPW,OAAOA;QACPT,OAAOA;;AAGb;AAEA,OAAO,MAAMkB,WAAW/C,cAAcK,eAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAM7F,OAAO,KAA2C,MAAM,OAAO,CAAA;AAI/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAQlD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG;IACvE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAM7F,OAAO,KAA2C,MAAM,OAAO,CAAA;AAI/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAQlD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG;IACvE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2JlD,CAAA"}
|
|
@@ -12,9 +12,9 @@ import { useTranslation } from '../../providers/Translation/index.js';
|
|
|
12
12
|
import { fieldBaseClass } from '../shared/index.js';
|
|
13
13
|
const baseClass = 'upload';
|
|
14
14
|
export const UploadInput = (props)=>{
|
|
15
|
-
const { CustomDescription, CustomError, CustomLabel, api = '/api', className, collection, descriptionProps, errorProps, filterOptions, labelProps, onChange, readOnly, relationTo, serverURL, showError, style, value, width } = props;
|
|
15
|
+
const { CustomDescription, CustomError, CustomLabel, api = '/api', className, collection, descriptionProps, errorProps, filterOptions, label, labelProps, onChange, readOnly, relationTo, required, serverURL, showError, style, value, width } = props;
|
|
16
16
|
const { i18n, t } = useTranslation();
|
|
17
|
-
const [
|
|
17
|
+
const [fileDoc, setFileDoc] = useState(undefined);
|
|
18
18
|
const [missingFile, setMissingFile] = useState(false);
|
|
19
19
|
const [collectionSlugs] = useState([
|
|
20
20
|
collection?.slug
|
|
@@ -37,15 +37,15 @@ export const UploadInput = (props)=>{
|
|
|
37
37
|
});
|
|
38
38
|
if (response.ok) {
|
|
39
39
|
const json = await response.json();
|
|
40
|
-
|
|
40
|
+
setFileDoc(json);
|
|
41
41
|
} else {
|
|
42
42
|
setMissingFile(true);
|
|
43
|
-
|
|
43
|
+
setFileDoc(undefined);
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
void fetchFile();
|
|
47
47
|
} else {
|
|
48
|
-
|
|
48
|
+
setFileDoc(undefined);
|
|
49
49
|
}
|
|
50
50
|
}, [
|
|
51
51
|
value,
|
|
@@ -90,15 +90,17 @@ export const UploadInput = (props)=>{
|
|
|
90
90
|
...errorProps || {}
|
|
91
91
|
}), /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
92
92
|
CustomLabel: CustomLabel,
|
|
93
|
+
label: label,
|
|
94
|
+
required: required,
|
|
93
95
|
...labelProps || {}
|
|
94
|
-
}), collection?.upload && /*#__PURE__*/ React.createElement(React.Fragment, null,
|
|
96
|
+
}), collection?.upload && /*#__PURE__*/ React.createElement(React.Fragment, null, fileDoc && !missingFile && /*#__PURE__*/ React.createElement(FileDetails, {
|
|
95
97
|
collectionSlug: relationTo,
|
|
96
|
-
doc:
|
|
98
|
+
doc: fileDoc,
|
|
97
99
|
handleRemove: readOnly ? undefined : ()=>{
|
|
98
100
|
onChange(null);
|
|
99
101
|
},
|
|
100
102
|
uploadConfig: collection.upload
|
|
101
|
-
}), (!
|
|
103
|
+
}), (!fileDoc || missingFile) && /*#__PURE__*/ React.createElement("div", {
|
|
102
104
|
className: `${baseClass}__wrap`
|
|
103
105
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
104
106
|
className: `${baseClass}__buttons`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, FilterOptionsResult, UploadField } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { UploadFieldProps } from './types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { FileDetails } from '../../elements/FileDetails/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload'\n\nexport type UploadInputProps = Omit<UploadFieldProps, 'filterOptions'> & {\n api?: string\n collection?: ClientCollectionConfig\n filterOptions?: FilterOptionsResult\n onChange?: (e) => void\n relationTo?: UploadField['relationTo']\n serverURL?: string\n showError?: boolean\n value?: string\n}\n\nexport const UploadInput: React.FC<UploadInputProps> = (props) => {\n const {\n CustomDescription,\n CustomError,\n CustomLabel,\n api = '/api',\n className,\n collection,\n descriptionProps,\n errorProps,\n filterOptions,\n labelProps,\n onChange,\n readOnly,\n relationTo,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const [
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, FilterOptionsResult, UploadField } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { UploadFieldProps } from './types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { FileDetails } from '../../elements/FileDetails/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload'\n\nexport type UploadInputProps = Omit<UploadFieldProps, 'filterOptions'> & {\n api?: string\n collection?: ClientCollectionConfig\n filterOptions?: FilterOptionsResult\n onChange?: (e) => void\n relationTo?: UploadField['relationTo']\n serverURL?: string\n showError?: boolean\n value?: string\n}\n\nexport const UploadInput: React.FC<UploadInputProps> = (props) => {\n const {\n CustomDescription,\n CustomError,\n CustomLabel,\n api = '/api',\n className,\n collection,\n descriptionProps,\n errorProps,\n filterOptions,\n label,\n labelProps,\n onChange,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const [fileDoc, setFileDoc] = useState(undefined)\n const [missingFile, setMissingFile] = useState(false)\n const [collectionSlugs] = useState([collection?.slug])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n collectionSlug: collectionSlugs[0],\n })\n\n const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = useListDrawer({\n collectionSlugs,\n filterOptions,\n })\n\n useEffect(() => {\n if (value !== null && typeof value !== 'undefined' && value !== '') {\n const fetchFile = async () => {\n const response = await fetch(`${serverURL}${api}/${relationTo}/${value}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n if (response.ok) {\n const json = await response.json()\n setFileDoc(json)\n } else {\n setMissingFile(true)\n setFileDoc(undefined)\n }\n }\n\n void fetchFile()\n } else {\n setFileDoc(undefined)\n }\n }, [value, relationTo, api, serverURL, i18n])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setMissingFile(false)\n onChange(args.doc)\n closeDrawer()\n },\n [onChange, closeDrawer],\n )\n\n const onSelect = useCallback<ListDrawerProps['onSelect']>(\n (args) => {\n setMissingFile(false)\n onChange({\n id: args.docID,\n })\n closeListDrawer()\n },\n [onChange, closeListDrawer],\n )\n\n if (collection.upload) {\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n {collection?.upload && (\n <React.Fragment>\n {fileDoc && !missingFile && (\n <FileDetails\n collectionSlug={relationTo}\n doc={fileDoc}\n handleRemove={\n readOnly\n ? undefined\n : () => {\n onChange(null)\n }\n }\n uploadConfig={collection.upload}\n />\n )}\n {(!fileDoc || missingFile) && (\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__buttons`}>\n <DocumentDrawerToggler className={`${baseClass}__toggler`} disabled={readOnly}>\n <Button buttonStyle=\"secondary\" disabled={readOnly} el=\"div\">\n {t('fields:uploadNewLabel', {\n label: getTranslation(collection.labels.singular, i18n),\n })}\n </Button>\n </DocumentDrawerToggler>\n <ListDrawerToggler className={`${baseClass}__toggler`} disabled={readOnly}>\n <Button buttonStyle=\"secondary\" disabled={readOnly} el=\"div\">\n {t('fields:chooseFromExisting')}\n </Button>\n </ListDrawerToggler>\n </div>\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </React.Fragment>\n )}\n {!readOnly && <DocumentDrawer onSave={onSave} />}\n {!readOnly && <ListDrawer onSelect={onSelect} />}\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","React","useCallback","useEffect","useState","Button","useDocumentDrawer","FileDetails","useListDrawer","useTranslation","fieldBaseClass","baseClass","UploadInput","props","CustomDescription","CustomError","CustomLabel","api","className","collection","descriptionProps","errorProps","filterOptions","label","labelProps","onChange","readOnly","relationTo","required","serverURL","showError","style","value","width","i18n","t","fileDoc","setFileDoc","undefined","missingFile","setMissingFile","collectionSlugs","slug","DocumentDrawer","DocumentDrawerToggler","closeDrawer","collectionSlug","ListDrawer","ListDrawerToggler","closeListDrawer","fetchFile","response","fetch","credentials","headers","language","ok","json","onSave","args","doc","onSelect","id","docID","upload","div","filter","Boolean","join","Fragment","handleRemove","uploadConfig","disabled","buttonStyle","el","labels","singular"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIlD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAmFhC,eAAO,MAAM,MAAM,4BAAyB,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
3
|
+
import { withCondition } from '@payloadcms/ui/forms/withCondition';
|
|
2
4
|
import React, { useCallback } from 'react';
|
|
3
5
|
import { useField } from '../../forms/useField/index.js';
|
|
4
6
|
import { useConfig } from '../../providers/Config/index.js';
|
|
5
7
|
import { UploadInput } from './Input.js';
|
|
6
8
|
export { UploadInput };
|
|
7
|
-
|
|
9
|
+
const _Upload = (props)=>{
|
|
8
10
|
const { CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, path: pathFromProps, readOnly, relationTo, required, style, validate, width } = props;
|
|
9
11
|
const { collections, routes: { api }, serverURL } = useConfig();
|
|
10
12
|
const collection = collections.find((coll)=>coll.slug === relationTo);
|
|
@@ -19,8 +21,9 @@ export const Upload = (props)=>{
|
|
|
19
21
|
validate,
|
|
20
22
|
required
|
|
21
23
|
]);
|
|
24
|
+
const { path: pathFromContext } = useFieldProps();
|
|
22
25
|
const { filterOptions, path, setValue, showError, value } = useField({
|
|
23
|
-
path: pathFromProps,
|
|
26
|
+
path: pathFromContext || pathFromProps,
|
|
24
27
|
validate: memoizedValidate
|
|
25
28
|
});
|
|
26
29
|
const onChange = useCallback((incomingValue)=>{
|
|
@@ -55,5 +58,6 @@ export const Upload = (props)=>{
|
|
|
55
58
|
}
|
|
56
59
|
return null;
|
|
57
60
|
};
|
|
61
|
+
export const Upload = withCondition(_Upload);
|
|
58
62
|
|
|
59
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback } from 'react'\n\nimport type { UploadInputProps } from './Input.js'\nimport type { UploadFieldProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { UploadInput } from './Input.js'\nimport './index.scss'\n\nexport { UploadFieldProps, UploadInput }\nexport type { UploadInputProps }\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { withCondition } from '@payloadcms/ui/forms/withCondition'\nimport React, { useCallback } from 'react'\n\nimport type { UploadInputProps } from './Input.js'\nimport type { UploadFieldProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { UploadInput } from './Input.js'\nimport './index.scss'\n\nexport { UploadFieldProps, UploadInput }\nexport type { UploadInputProps }\n\nconst _Upload: React.FC<UploadFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n readOnly,\n relationTo,\n required,\n style,\n validate,\n width,\n } = props\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collection = collections.find((coll) => coll.slug === relationTo)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const { filterOptions, path, setValue, showError, value } = useField<string>({\n path: pathFromContext || pathFromProps,\n validate: memoizedValidate,\n })\n\n const onChange = useCallback(\n (incomingValue) => {\n const incomingID = incomingValue?.id || incomingValue\n setValue(incomingID)\n },\n [setValue],\n )\n\n if (collection.upload) {\n return (\n <UploadInput\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n api={api}\n className={className}\n collection={collection}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n filterOptions={filterOptions}\n labelProps={labelProps}\n onChange={onChange}\n path={path}\n readOnly={readOnly}\n relationTo={relationTo}\n required={required}\n serverURL={serverURL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n }\n\n return null\n}\n\nexport const Upload = withCondition(_Upload)\n"],"names":["useFieldProps","withCondition","React","useCallback","useField","useConfig","UploadInput","_Upload","props","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","readOnly","relationTo","required","style","validate","width","collections","routes","api","serverURL","collection","find","coll","slug","memoizedValidate","value","options","pathFromContext","filterOptions","setValue","showError","onChange","incomingValue","incomingID","id","upload","Upload"],"mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,0CAAyC;AACvE,SAASC,aAAa,QAAQ,qCAAoC;AAClE,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAK1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,WAAW,QAAQ,aAAY;AAGxC,SAA2BA,WAAW,GAAE;AAGxC,MAAMC,UAAsC,CAACC;IAC3C,MAAM,EACJC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGhB;IAEJ,MAAM,EACJiB,WAAW,EACXC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGvB;IAEJ,MAAMwB,aAAaJ,YAAYK,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,KAAKZ;IAE5D,MAAMa,mBAAmB9B,YACvB,CAAC+B,OAAOC;QACN,IAAI,OAAOZ,aAAa,YAAY;YAClC,OAAOA,SAASW,OAAO;gBAAE,GAAGC,OAAO;gBAAEd;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEJ,MAAMmB,eAAe,EAAE,GAAGpC;IAElC,MAAM,EAAEqC,aAAa,EAAEpB,IAAI,EAAEqB,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAG9B,SAAiB;QAC3Ea,MAAMmB,mBAAmBlB;QACzBK,UAAUU;IACZ;IAEA,MAAMO,WAAWrC,YACf,CAACsC;QACC,MAAMC,aAAaD,eAAeE,MAAMF;QACxCH,SAASI;IACX,GACA;QAACJ;KAAS;IAGZ,IAAIT,WAAWe,MAAM,EAAE;QACrB,qBACE,oBAACtC;YACCG,mBAAmBA;YACnBC,aAAaA;YACbC,aAAaA;YACbgB,KAAKA;YACLf,WAAWA;YACXiB,YAAYA;YACZhB,kBAAkBA;YAClBC,YAAYA;YACZuB,eAAeA;YACfrB,YAAYA;YACZwB,UAAUA;YACVvB,MAAMA;YACNE,UAAUA;YACVC,YAAYA;YACZC,UAAUA;YACVO,WAAWA;YACXW,WAAWA;YACXjB,OAAOA;YACPY,OAAOA;YACPV,OAAOA;;IAGb;IAEA,OAAO;AACT;AAEA,OAAO,MAAMqB,SAAS5C,cAAcM,SAAQ"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" resolution-mode="require"/>
|
|
2
2
|
import type { User } from 'payload/auth';
|
|
3
3
|
import type { Locale, SanitizedLocalizationConfig } from 'payload/config';
|
|
4
|
-
import type { DocumentPreferences, ErrorProps, LabelProps, Validate } from 'payload/types';
|
|
5
|
-
import type { FieldDescriptionProps } from '../../forms/FieldDescription/types.js';
|
|
4
|
+
import type { DocumentPreferences, ErrorProps, FieldDescriptionProps, LabelProps, Validate } from 'payload/types';
|
|
6
5
|
export declare const fieldBaseClass = "field-type";
|
|
7
6
|
export type FormFieldBase = {
|
|
8
7
|
AfterInput?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/shared/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/shared/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACT,MAAM,eAAe,CAAA;AAEtB,eAAO,MAAM,cAAc,eAAe,CAAA;AAE1C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD,WAiBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/shared/index.tsx"],"sourcesContent":["import type { User } from 'payload/auth'\nimport type { Locale, SanitizedLocalizationConfig } from 'payload/config'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/shared/index.tsx"],"sourcesContent":["import type { User } from 'payload/auth'\nimport type { Locale, SanitizedLocalizationConfig } from 'payload/config'\nimport type {\n DocumentPreferences,\n ErrorProps,\n FieldDescriptionProps,\n LabelProps,\n Validate,\n} from 'payload/types'\n\nexport const fieldBaseClass = 'field-type'\n\nexport type FormFieldBase = {\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n CustomDescription?: React.ReactNode\n CustomError?: React.ReactNode\n CustomLabel?: React.ReactNode\n className?: string\n descriptionProps?: FieldDescriptionProps\n disabled?: boolean\n docPreferences?: DocumentPreferences\n errorProps?: ErrorProps\n labelProps?: LabelProps\n locale?: Locale\n localized?: boolean\n path?: string\n readOnly?: boolean\n required?: boolean\n rtl?: boolean\n style?: React.CSSProperties\n user?: User\n validate?: Validate\n}\n\n/**\n * Determines whether a field should be displayed as right-to-left (RTL) based on its configuration, payload's localization configuration and the adming user's currently enabled locale.\n\n * @returns Whether the field should be displayed as RTL.\n */\nexport function isFieldRTL({\n fieldLocalized,\n fieldRTL,\n locale,\n localizationConfig,\n}: {\n fieldLocalized: boolean\n fieldRTL: boolean\n locale: Locale\n localizationConfig?: SanitizedLocalizationConfig\n}) {\n const hasMultipleLocales =\n locale &&\n localizationConfig &&\n localizationConfig.locales &&\n localizationConfig.locales.length > 1\n\n const isCurrentLocaleDefaultLocale = locale?.code === localizationConfig?.defaultLocale\n\n return (\n (fieldRTL !== false &&\n locale?.rtl === true &&\n (fieldLocalized ||\n (!fieldLocalized && !hasMultipleLocales) || // If there is only one locale which is also rtl, that field is rtl too\n (!fieldLocalized && isCurrentLocaleDefaultLocale))) || // If the current locale is the default locale, but the field is not localized, that field is rtl too\n fieldRTL === true\n ) // If fieldRTL is true. This should be useful for when no localization is set at all in the payload config, but you still want fields to be rtl.\n}\n"],"names":["fieldBaseClass","isFieldRTL","fieldLocalized","fieldRTL","locale","localizationConfig","hasMultipleLocales","locales","length","isCurrentLocaleDefaultLocale","code","defaultLocale","rtl"],"mappings":"AAUA,OAAO,MAAMA,iBAAiB,aAAY;AAyB1C;;;;CAIC,GACD,OAAO,SAASC,WAAW,EACzBC,cAAc,EACdC,QAAQ,EACRC,MAAM,EACNC,kBAAkB,EAMnB;IACC,MAAMC,qBACJF,UACAC,sBACAA,mBAAmBE,OAAO,IAC1BF,mBAAmBE,OAAO,CAACC,MAAM,GAAG;IAEtC,MAAMC,+BAA+BL,QAAQM,SAASL,oBAAoBM;IAE1E,OACE,AAACR,aAAa,SACZC,QAAQQ,QAAQ,QACfV,CAAAA,kBACE,CAACA,kBAAkB,CAACI,sBAAuB,uEAAuE;IAClH,CAACJ,kBAAkBO,4BAA4B,KAAO,qGAAqG;IAChKN,aAAa,KACb,gJAAgJ;;AACpJ"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import type { FieldDescriptionProps } from 'payload/types';
|
|
1
2
|
import React from 'react';
|
|
2
|
-
import type { FieldDescriptionProps } from './types.js';
|
|
3
3
|
import './index.scss';
|
|
4
|
-
export { FieldDescriptionProps };
|
|
5
4
|
export declare const FieldDescription: React.FC<FieldDescriptionProps>;
|
|
6
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/FieldDescription/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/FieldDescription/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAG1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AA+BrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQ5D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/FieldDescription/index.tsx"],"sourcesContent":["'use client'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/FieldDescription/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldDescriptionProps } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-description'\n\nconst DefaultFieldDescription: React.FC<FieldDescriptionProps> = (props) => {\n const { className, description, marginPlacement } = props\n\n const { path } = useFieldProps()\n\n const { i18n } = useTranslation()\n\n if (description) {\n return (\n <div\n className={[\n baseClass,\n className,\n `field-description-${path.replace(/\\./g, '__')}`,\n marginPlacement && `${baseClass}--margin-${marginPlacement}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {getTranslation(description, i18n)}\n </div>\n )\n }\n\n return null\n}\n\nexport const FieldDescription: React.FC<FieldDescriptionProps> = (props) => {\n const { CustomDescription } = props\n\n if (CustomDescription !== undefined) {\n return CustomDescription\n }\n\n return <DefaultFieldDescription {...props} />\n}\n"],"names":["getTranslation","React","useTranslation","useFieldProps","baseClass","DefaultFieldDescription","props","className","description","marginPlacement","path","i18n","div","replace","filter","Boolean","join","FieldDescription","CustomDescription","undefined"],"mappings":"AAAA;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,aAAa,QAAQ,iCAAgC;AAG9D,MAAMC,YAAY;AAElB,MAAMC,0BAA2D,CAACC;IAChE,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAEC,eAAe,EAAE,GAAGH;IAEpD,MAAM,EAAEI,IAAI,EAAE,GAAGP;IAEjB,MAAM,EAAEQ,IAAI,EAAE,GAAGT;IAEjB,IAAIM,aAAa;QACf,qBACE,oBAACI;YACCL,WAAW;gBACTH;gBACAG;gBACA,CAAC,kBAAkB,EAAEG,KAAKG,OAAO,CAAC,OAAO,MAAM,CAAC;gBAChDJ,mBAAmB,CAAC,EAAEL,UAAU,SAAS,EAAEK,gBAAgB,CAAC;aAC7D,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;WAEPhB,eAAeQ,aAAaG;IAGnC;IAEA,OAAO;AACT;AAEA,OAAO,MAAMM,mBAAoD,CAACX;IAChE,MAAM,EAAEY,iBAAiB,EAAE,GAAGZ;IAE9B,IAAIY,sBAAsBC,WAAW;QACnC,OAAOD;IACT;IAEA,qBAAO,oBAACb,yBAA4BC;AACtC,EAAC"}
|
|
@@ -12,7 +12,7 @@ const DefaultFieldError = (props)=>{
|
|
|
12
12
|
const field = useFormFields(([fields])=>fields && fields?.[path] || null);
|
|
13
13
|
const { errorMessage, valid } = field || {};
|
|
14
14
|
const message = messageFromProps || errorMessage;
|
|
15
|
-
const showMessage = showErrorFromProps || hasSubmitted &&
|
|
15
|
+
const showMessage = showErrorFromProps || hasSubmitted && valid === false;
|
|
16
16
|
if (showMessage) {
|
|
17
17
|
return /*#__PURE__*/ React.createElement(Tooltip, {
|
|
18
18
|
alignCaret: alignCaret,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/FieldError/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ErrorProps } from 'payload/types'\n\nimport React from 'react'\n\nimport { Tooltip } from '../../elements/Tooltip/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport { useFormFields, useFormSubmitted } from '../Form/context.js'\nimport './index.scss'\n\nconst baseClass = 'field-error'\n\nconst DefaultFieldError: React.FC<ErrorProps> = (props) => {\n const {\n alignCaret = 'right',\n message: messageFromProps,\n path: pathFromProps,\n showError: showErrorFromProps,\n } = props\n\n const { path: pathFromContext } = useFieldProps()\n const path = pathFromContext || pathFromProps\n\n const hasSubmitted = useFormSubmitted()\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { errorMessage, valid } = field || {}\n\n const message = messageFromProps || errorMessage\n const showMessage = showErrorFromProps || (hasSubmitted &&
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/FieldError/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ErrorProps } from 'payload/types'\n\nimport React from 'react'\n\nimport { Tooltip } from '../../elements/Tooltip/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport { useFormFields, useFormSubmitted } from '../Form/context.js'\nimport './index.scss'\n\nconst baseClass = 'field-error'\n\nconst DefaultFieldError: React.FC<ErrorProps> = (props) => {\n const {\n alignCaret = 'right',\n message: messageFromProps,\n path: pathFromProps,\n showError: showErrorFromProps,\n } = props\n\n const { path: pathFromContext } = useFieldProps()\n const path = pathFromContext || pathFromProps\n\n const hasSubmitted = useFormSubmitted()\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { errorMessage, valid } = field || {}\n\n const message = messageFromProps || errorMessage\n const showMessage = showErrorFromProps || (hasSubmitted && valid === false)\n\n if (showMessage) {\n return (\n <Tooltip alignCaret={alignCaret} className={baseClass} delay={0}>\n {message}\n </Tooltip>\n )\n }\n\n return null\n}\n\nexport const FieldError: React.FC<ErrorProps> = (props) => {\n const { CustomError } = props\n\n if (CustomError !== undefined) {\n return CustomError\n }\n\n return <DefaultFieldError {...props} />\n}\n"],"names":["React","Tooltip","useFieldProps","useFormFields","useFormSubmitted","baseClass","DefaultFieldError","props","alignCaret","message","messageFromProps","path","pathFromProps","showError","showErrorFromProps","pathFromContext","hasSubmitted","field","fields","errorMessage","valid","showMessage","className","delay","FieldError","CustomError","undefined"],"mappings":"AAAA;AAIA,OAAOA,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,kCAAiC;AACzD,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,qBAAoB;AAGpE,MAAMC,YAAY;AAElB,MAAMC,oBAA0C,CAACC;IAC/C,MAAM,EACJC,aAAa,OAAO,EACpBC,SAASC,gBAAgB,EACzBC,MAAMC,aAAa,EACnBC,WAAWC,kBAAkB,EAC9B,GAAGP;IAEJ,MAAM,EAAEI,MAAMI,eAAe,EAAE,GAAGb;IAClC,MAAMS,OAAOI,mBAAmBH;IAEhC,MAAMI,eAAeZ;IACrB,MAAMa,QAAQd,cAAc,CAAC,CAACe,OAAO,GAAK,AAACA,UAAUA,QAAQ,CAACP,KAAK,IAAK;IAExE,MAAM,EAAEQ,YAAY,EAAEC,KAAK,EAAE,GAAGH,SAAS,CAAC;IAE1C,MAAMR,UAAUC,oBAAoBS;IACpC,MAAME,cAAcP,sBAAuBE,gBAAgBI,UAAU;IAErE,IAAIC,aAAa;QACf,qBACE,oBAACpB;YAAQO,YAAYA;YAAYc,WAAWjB;YAAWkB,OAAO;WAC3Dd;IAGP;IAEA,OAAO;AACT;AAEA,OAAO,MAAMe,aAAmC,CAACjB;IAC/C,MAAM,EAAEkB,WAAW,EAAE,GAAGlB;IAExB,IAAIkB,gBAAgBC,WAAW;QAC7B,OAAOD;IACT;IAEA,qBAAO,oBAACnB,mBAAsBC;AAChC,EAAC"}
|