@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,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
2
3
|
import React, { useEffect } from 'react';
|
|
3
4
|
import { useField } from '../../forms/useField/index.js';
|
|
4
5
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
@@ -6,9 +7,10 @@ import { withCondition } from '../../forms/withCondition/index.js';
|
|
|
6
7
|
* This is mainly used to save a value on the form that is not visible to the user.
|
|
7
8
|
* For example, this sets the `ìd` property of a block in the Blocks field.
|
|
8
9
|
*/ const HiddenInputField = (props)=>{
|
|
9
|
-
const { name, disableModifyingForm = true, path: pathFromProps, value: valueFromProps } = props;
|
|
10
|
+
const { name, disableModifyingForm = true, forceUsePathFromProps, path: pathFromProps, value: valueFromProps } = props;
|
|
11
|
+
const { path: pathFromContext } = useFieldProps();
|
|
10
12
|
const { path, setValue, value } = useField({
|
|
11
|
-
path: pathFromProps || name
|
|
13
|
+
path: (!forceUsePathFromProps ? pathFromContext : null) || pathFromProps || name
|
|
12
14
|
});
|
|
13
15
|
useEffect(()=>{
|
|
14
16
|
if (valueFromProps !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/HiddenInput/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport type { FormFieldBase } from '../index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type HiddenInputFieldProps = FormFieldBase & {\n disableModifyingForm?: false\n name: string\n path?: string\n value?: unknown\n}\n\n/**\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenInputField: React.FC<HiddenInputFieldProps> = (props) => {\n const {
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/HiddenInput/index.tsx"],"sourcesContent":["'use client'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useEffect } from 'react'\n\nimport type { FormFieldBase } from '../index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type HiddenInputFieldProps = FormFieldBase & {\n disableModifyingForm?: false\n forceUsePathFromProps?: boolean\n name: string\n path?: string\n value?: unknown\n}\n\n/**\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenInputField: React.FC<HiddenInputFieldProps> = (props) => {\n const {\n name,\n disableModifyingForm = true,\n forceUsePathFromProps,\n path: pathFromProps,\n value: valueFromProps,\n } = props\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, setValue, value } = useField({\n path: (!forceUsePathFromProps ? pathFromContext : null) || pathFromProps || name,\n })\n\n useEffect(() => {\n if (valueFromProps !== undefined) {\n setValue(valueFromProps, disableModifyingForm)\n }\n }, [valueFromProps, setValue, disableModifyingForm])\n\n return (\n <input\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"hidden\"\n value={(value as string) || ''}\n />\n )\n}\n\nexport const HiddenInput = withCondition(HiddenInputField)\n"],"names":["useFieldProps","React","useEffect","useField","withCondition","HiddenInputField","props","name","disableModifyingForm","forceUsePathFromProps","path","pathFromProps","value","valueFromProps","pathFromContext","setValue","undefined","input","id","replace","onChange","type","HiddenInput"],"mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAIxC,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAUlE;;;CAGC,GACD,MAAMC,mBAAoD,CAACC;IACzD,MAAM,EACJC,IAAI,EACJC,uBAAuB,IAAI,EAC3BC,qBAAqB,EACrBC,MAAMC,aAAa,EACnBC,OAAOC,cAAc,EACtB,GAAGP;IAEJ,MAAM,EAAEI,MAAMI,eAAe,EAAE,GAAGd;IAElC,MAAM,EAAEU,IAAI,EAAEK,QAAQ,EAAEH,KAAK,EAAE,GAAGT,SAAS;QACzCO,MAAM,AAAC,CAAA,CAACD,wBAAwBK,kBAAkB,IAAG,KAAMH,iBAAiBJ;IAC9E;IAEAL,UAAU;QACR,IAAIW,mBAAmBG,WAAW;YAChCD,SAASF,gBAAgBL;QAC3B;IACF,GAAG;QAACK;QAAgBE;QAAUP;KAAqB;IAEnD,qBACE,oBAACS;QACCC,IAAI,CAAC,MAAM,EAAER,MAAMS,QAAQ,OAAO,MAAM,CAAC;QACzCZ,MAAMG;QACNU,UAAUL;QACVM,MAAK;QACLT,OAAO,AAACA,SAAoB;;AAGlC;AAEA,OAAO,MAAMU,cAAclB,cAAcC,kBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAM1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA8GD,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
|
|
@@ -8,8 +8,9 @@ import { fieldBaseClass } from '../shared/index.js';
|
|
|
8
8
|
const baseClass = 'json-field';
|
|
9
9
|
import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
|
|
10
10
|
import { FieldError } from '@payloadcms/ui/forms/FieldError';
|
|
11
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
11
12
|
const JSONFieldComponent = (props)=>{
|
|
12
|
-
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, editorOptions, errorProps, labelProps, path: pathFromProps, readOnly, required, style, validate, width } = props;
|
|
13
|
+
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, editorOptions, errorProps, label, labelProps, path: pathFromProps, readOnly, required, style, validate, width } = props;
|
|
13
14
|
const [stringValue, setStringValue] = useState();
|
|
14
15
|
const [jsonError, setJsonError] = useState();
|
|
15
16
|
const [hasLoadedValue, setHasLoadedValue] = useState(false);
|
|
@@ -24,9 +25,9 @@ const JSONFieldComponent = (props)=>{
|
|
|
24
25
|
required,
|
|
25
26
|
jsonError
|
|
26
27
|
]);
|
|
27
|
-
const {
|
|
28
|
-
setValue, showError, value } = useField({
|
|
29
|
-
path: pathFromProps || name,
|
|
28
|
+
const { path: pathFromContext } = useFieldProps();
|
|
29
|
+
const { initialValue, path, setValue, showError, value } = useField({
|
|
30
|
+
path: pathFromContext || pathFromProps || name,
|
|
30
31
|
validate: memoizedValidate
|
|
31
32
|
});
|
|
32
33
|
const handleChange = useCallback((val)=>{
|
|
@@ -67,9 +68,12 @@ const JSONFieldComponent = (props)=>{
|
|
|
67
68
|
}
|
|
68
69
|
}, /*#__PURE__*/ React.createElement(FieldError, {
|
|
69
70
|
CustomError: CustomError,
|
|
71
|
+
path: path,
|
|
70
72
|
...errorProps || {}
|
|
71
73
|
}), /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
72
74
|
CustomLabel: CustomLabel,
|
|
75
|
+
label: label,
|
|
76
|
+
required: required,
|
|
73
77
|
...labelProps || {}
|
|
74
78
|
}), /*#__PURE__*/ React.createElement("div", null, BeforeInput, /*#__PURE__*/ React.createElement(CodeEditor, {
|
|
75
79
|
defaultLanguage: "json",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport type { FieldBase, JSONField as JSONFieldType } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n label?: FieldBase['label']\n name?: string\n path?: string\n width?: string\n}\n\nconst JSONFieldComponent: React.FC<JSONFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions,\n errorProps,\n labelProps,\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n width,\n } = props\n\n const [stringValue, setStringValue] = useState<string>()\n const [jsonError, setJsonError] = useState<string>()\n const [hasLoadedValue, setHasLoadedValue] = useState(false)\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, jsonError, required })\n },\n [validate, required, jsonError],\n )\n\n const {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport type { FieldBase, JSONField as JSONFieldType } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n label?: FieldBase['label']\n name?: string\n path?: string\n width?: string\n}\n\nconst JSONFieldComponent: React.FC<JSONFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n width,\n } = props\n\n const [stringValue, setStringValue] = useState<string>()\n const [jsonError, setJsonError] = useState<string>()\n const [hasLoadedValue, setHasLoadedValue] = useState(false)\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, jsonError, required })\n },\n [validate, required, jsonError],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const { initialValue, path, setValue, showError, value } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly) return\n setStringValue(val)\n\n try {\n setValue(val ? JSON.parse(val) : null)\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n setJsonError(e)\n }\n },\n [readOnly, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue) return\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\n )\n setHasLoadedValue(true)\n }, [initialValue, value, hasLoadedValue])\n\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} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n options={editorOptions}\n readOnly={readOnly}\n value={stringValue}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","CodeEditor","FieldLabel","useField","withCondition","fieldBaseClass","baseClass","FieldDescription","FieldError","useFieldProps","JSONFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","label","labelProps","path","pathFromProps","readOnly","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","pathFromContext","initialValue","setValue","showError","handleChange","val","JSON","parse","undefined","e","stringify","div","filter","Boolean","join","defaultLanguage","onChange","JSONField"],"mappings":"AAAA;AAGA,OAAOA,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE/D,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,MAAMC,YAAY;AAIlB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AAYvE,MAAMC,qBAA+C,CAACC;IACpD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,aAAa,EACbC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGnB;IAEJ,MAAM,CAACoB,aAAaC,eAAe,GAAGhC;IACtC,MAAM,CAACiC,WAAWC,aAAa,GAAGlC;IAClC,MAAM,CAACmC,gBAAgBC,kBAAkB,GAAGpC,SAAS;IAErD,MAAMqC,mBAAmCvC,YACvC,CAACwC,OAAOC;QACN,IAAI,OAAOV,aAAa,YACtB,OAAOA,SAASS,OAAO;YAAE,GAAGC,OAAO;YAAEN;YAAWN;QAAS;IAC7D,GACA;QAACE;QAAUF;QAAUM;KAAU;IAGjC,MAAM,EAAET,MAAMgB,eAAe,EAAE,GAAG/B;IAElC,MAAM,EAAEgC,YAAY,EAAEjB,IAAI,EAAEkB,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAGnC,SAAiB;QAC1EqB,MAAMgB,mBAAmBf,iBAAiBb;QAC1CiB,UAAUQ;IACZ;IAEA,MAAMO,eAAe9C,YACnB,CAAC+C;QACC,IAAInB,UAAU;QACdM,eAAea;QAEf,IAAI;YACFH,SAASG,MAAMC,KAAKC,KAAK,CAACF,OAAO;YACjCX,aAAac;QACf,EAAE,OAAOC,GAAG;YACVP,SAASG,MAAMA,MAAM;YACrBX,aAAae;QACf;IACF,GACA;QAACvB;QAAUgB;QAAUV;KAAe;IAGtCjC,UAAU;QACR,IAAIoC,gBAAgB;QACpBH,eACEM,SAASG,eAAeK,KAAKI,SAAS,CAACZ,QAAQA,QAAQG,cAAc,MAAM,KAAK;QAElFL,kBAAkB;IACpB,GAAG;QAACK;QAAcH;QAAOH;KAAe;IAExC,qBACE,oBAACgB;QACCjC,WAAW;YACTb;YACAC;YACAY;YACAyB,aAAa;YACbjB,YAAY;SACb,CACE0B,MAAM,CAACC,SACPC,IAAI,CAAC;QACR1B,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACtB;QAAWQ,aAAaA;QAAaQ,MAAMA;QAAO,GAAIH,cAAc,CAAC,CAAC;sBACvE,oBAACnB;QACCe,aAAaA;QACbK,OAAOA;QACPK,UAAUA;QACT,GAAIJ,cAAc,CAAC,CAAC;sBAEvB,oBAAC4B,aACErC,2BACD,oBAACb;QACCsD,iBAAgB;QAChBC,UAAUZ;QACVL,SAASnB;QACTM,UAAUA;QACVY,OAAOP;QAERlB,aAEFE,sBAAsBiC,YACrBjC,kCAEA,oBAACR,kBAAsBY,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMsC,YAAYrD,cAAcM,oBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAQ9E,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA6LD,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { getTranslation } from '@payloadcms/translations';
|
|
|
3
3
|
import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
|
|
4
4
|
import { FieldError } from '@payloadcms/ui/forms/FieldError';
|
|
5
5
|
import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
|
|
6
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
6
7
|
import { isNumber } from 'payload/utilities';
|
|
7
8
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
8
9
|
import { ReactSelect } from '../../elements/ReactSelect/index.js';
|
|
@@ -11,7 +12,7 @@ import { withCondition } from '../../forms/withCondition/index.js';
|
|
|
11
12
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
12
13
|
import { fieldBaseClass } from '../shared/index.js';
|
|
13
14
|
const NumberFieldComponent = (props)=>{
|
|
14
|
-
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany = false, labelProps, max = Infinity, maxRows = Infinity, min = -Infinity, onChange: onChangeFromProps, path: pathFromProps, placeholder, readOnly, required, step = 1, style, validate, width } = props;
|
|
15
|
+
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany = false, label, labelProps, max = Infinity, maxRows = Infinity, min = -Infinity, onChange: onChangeFromProps, path: pathFromProps, placeholder, readOnly, required, step = 1, style, validate, width } = props;
|
|
15
16
|
const { i18n, t } = useTranslation();
|
|
16
17
|
const memoizedValidate = useCallback((value, options)=>{
|
|
17
18
|
if (typeof validate === 'function') {
|
|
@@ -28,8 +29,9 @@ const NumberFieldComponent = (props)=>{
|
|
|
28
29
|
max,
|
|
29
30
|
required
|
|
30
31
|
]);
|
|
32
|
+
const { path: pathFromContext } = useFieldProps();
|
|
31
33
|
const { path, setValue, showError, value } = useField({
|
|
32
|
-
path: pathFromProps || name,
|
|
34
|
+
path: pathFromContext || pathFromProps || name,
|
|
33
35
|
validate: memoizedValidate
|
|
34
36
|
});
|
|
35
37
|
const handleChange = useCallback((e)=>{
|
|
@@ -99,9 +101,12 @@ const NumberFieldComponent = (props)=>{
|
|
|
99
101
|
}
|
|
100
102
|
}, /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
101
103
|
CustomLabel: CustomLabel,
|
|
104
|
+
label: label,
|
|
105
|
+
required: required,
|
|
102
106
|
...labelProps || {}
|
|
103
107
|
}), /*#__PURE__*/ React.createElement(FieldError, {
|
|
104
108
|
CustomError: CustomError,
|
|
109
|
+
path: path,
|
|
105
110
|
...errorProps || {}
|
|
106
111
|
}), hasMany ? /*#__PURE__*/ React.createElement(ReactSelect, {
|
|
107
112
|
className: `field-${path.replace(/\./g, '__')}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { FieldBase, NumberField as NumberFieldType } 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 { isNumber } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type NumberFieldProps = FormFieldBase & {\n hasMany?: boolean\n label?: FieldBase['label']\n max?: number\n maxRows?: number\n min?: number\n name?: string\n onChange?: (e: number) => void\n path?: string\n placeholder?: NumberFieldType['admin']['placeholder']\n step?: number\n width?: string\n}\n\nconst NumberFieldComponent: React.FC<NumberFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n labelProps,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n onChange: onChangeFromProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step = 1,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const { path, setValue, showError, value } = useField<number | number[]>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = undefined\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\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) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(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 toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, 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 }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\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 <FieldLabel CustomLabel={CustomLabel} {...(labelProps || {})} />\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n filterOption={(_, rawInput) => {\n // eslint-disable-next-line no-restricted-globals\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\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 // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n {AfterInput}\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","isNumber","React","useCallback","useEffect","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","NumberFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","labelProps","max","Infinity","maxRows","min","onChange","onChangeFromProps","path","pathFromProps","placeholder","readOnly","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","label","toString","div","filter","Boolean","join","replace","disabled","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { FieldBase, NumberField as NumberFieldType } 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 { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { isNumber } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type NumberFieldProps = FormFieldBase & {\n hasMany?: boolean\n label?: FieldBase['label']\n max?: number\n maxRows?: number\n min?: number\n name?: string\n onChange?: (e: number) => void\n path?: string\n placeholder?: NumberFieldType['admin']['placeholder']\n step?: number\n width?: string\n}\n\nconst NumberFieldComponent: React.FC<NumberFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n label,\n labelProps,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n onChange: onChangeFromProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step = 1,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, setValue, showError, value } = useField<number | number[]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = undefined\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\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) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(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 toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, 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 }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\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 <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n filterOption={(_, rawInput) => {\n // eslint-disable-next-line no-restricted-globals\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\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 // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n {AfterInput}\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","useFieldProps","isNumber","React","useCallback","useEffect","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","NumberFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","label","labelProps","max","Infinity","maxRows","min","onChange","onChangeFromProps","path","pathFromProps","placeholder","readOnly","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","div","filter","Boolean","join","replace","disabled","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"mappings":"AAAA,iDAAiD,GACjD;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,oBAAmB;AAC5C,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAK/D,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAiBnD,MAAMC,uBAAmD,CAACC;IACxD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,KAAK,EACfC,KAAK,EACLC,UAAU,EACVC,MAAMC,QAAQ,EACdC,UAAUD,QAAQ,EAClBE,MAAM,CAACF,QAAQ,EACfG,UAAUC,iBAAiB,EAC3BC,MAAMC,aAAa,EACnBC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,OAAO,CAAC,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAG3B;IAEJ,MAAM,EAAE4B,IAAI,EAAEC,CAAC,EAAE,GAAGhC;IAEpB,MAAMiC,mBAAmBvC,YACvB,CAACwC,OAAOC;QACN,IAAI,OAAON,aAAa,YAAY;YAClC,OAAOA,SAASK,OAAO;gBAAE,GAAGC,OAAO;gBAAEnB;gBAAKG;gBAAKO;YAAS;QAC1D;IACF,GACA;QAACG;QAAUV;QAAKH;QAAKU;KAAS;IAGhC,MAAM,EAAEJ,MAAMc,eAAe,EAAE,GAAG7C;IAElC,MAAM,EAAE+B,IAAI,EAAEe,QAAQ,EAAEC,SAAS,EAAEJ,KAAK,EAAE,GAAGpC,SAA4B;QACvEwB,MAAMc,mBAAmBb,iBAAiBnB;QAC1CyB,UAAUI;IACZ;IAEA,MAAMM,eAAe7C,YACnB,CAAC8C;QACC,MAAMC,MAAMC,WAAWF,EAAEG,MAAM,CAACT,KAAK;QACrC,IAAIU,SAASH;QAEb,IAAII,OAAOC,KAAK,CAACL,MAAM;YACrBG,SAASG;QACX;QAEA,IAAI,OAAO1B,sBAAsB,YAAY;YAC3CA,kBAAkBuB;QACpB;QAEAP,SAASO;IACX,GACA;QAACvB;QAAmBgB;KAAS;IAG/B,MAAM,CAACW,eAAeC,iBAAiB,GAAGrD,SAExC,EAAE,EAAE,mBAAmB;;IAEzB,MAAMsD,sBAAsBxD,YAC1B,CAACyD;QACC,IAAI,CAAC1B,UAAU;YACb,IAAI2B;YACJ,IAAI,CAACD,gBAAgB;gBACnBC,WAAW,EAAE;YACf,OAAO,IAAIC,MAAMC,OAAO,CAACH,iBAAiB;gBACxCC,WAAWD,eAAeI,GAAG,CAAC,CAACC,SAAWX,OAAOW,OAAOtB,KAAK,EAAEA,SAASsB,OAAOtB,KAAK;YACtF,OAAO;gBACLkB,WAAW;oBAACP,OAAOM,eAAejB,KAAK,EAAEA,SAASiB,eAAejB,KAAK;iBAAE;YAC1E;YAEAG,SAASe;QACX;IACF,GACA;QAAC3B;QAAUY;KAAS;IAGtB,kCAAkC;IAClC1C,UAAU;QACR,IAAIkB,WAAWwC,MAAMC,OAAO,CAACpB,QAAQ;YACnCe,iBACEf,MAAMqB,GAAG,CAAC,CAACd,KAAKgB;gBACd,OAAO;oBACLC,IAAI,CAAC,EAAEjB,IAAI,EAAEgB,MAAM,CAAC;oBACpB3C,OAAO,CAAC,EAAE2B,IAAI,CAAC;oBACfP,OAAO;wBACLyB,UAAU,IAAM,CAAC,EAAElB,IAAI,EAAEgB,MAAM,CAAC;wBAChCvB,OAAO,AAACO,KAA2CP,SAASO;oBAC9D;gBACF;YACF;QAEJ;IACF,GAAG;QAACP;QAAOrB;KAAQ;IAEnB,qBACE,oBAAC+C;QACClD,WAAW;YACTT;YACA;YACAS;YACA4B,aAAa;YACbb,YAAY;YACZZ,WAAW;SACZ,CACEgD,MAAM,CAACC,SACPC,IAAI,CAAC;QACRnC,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACxC;QACCmB,aAAaA;QACbK,OAAOA;QACPY,UAAUA;QACT,GAAIX,cAAc,CAAC,CAAC;sBAEvB,oBAAC1B;QAAWmB,aAAaA;QAAac,MAAMA;QAAO,GAAIV,cAAc,CAAC,CAAC;QACtEC,wBACC,oBAAChB;QACCa,WAAW,CAAC,MAAM,EAAEY,KAAK0C,OAAO,CAAC,OAAO,MAAM,CAAC;QAC/CC,UAAUxC;QACVyC,cAAc,CAACC,GAAGC;YAChB,iDAAiD;YACjD,MAAMC,gBAAgBhB,MAAMC,OAAO,CAACpB,UAAUA,MAAMoC,MAAM,IAAIpD;YAC9D,OAAO1B,SAAS4E,aAAa,CAACC;QAChC;QACAE,aAAAA;QACAC,aAAAA;QACAC,SAAAA;QACAC,YAAAA;QACAC,kBAAkB;YAChB,MAAMN,gBAAgBhB,MAAMC,OAAO,CAACpB,UAAUA,MAAMoC,MAAM,IAAIpD;YAC9D,IAAImD,eAAe;gBACjB,OAAOrC,EAAE,2BAA2B;oBAAEhB,KAAKE;oBAASgB,OAAOA,MAAMoC,MAAM,GAAG;gBAAE;YAC9E;YACA,OAAO;QACT;QACA,aAAa;QACblD,UAAU8B;QACVf,SAAS,EAAE;QACXX,aAAaQ,EAAE;QACfM,WAAWA;QACXJ,OAAOc;uBAGT,oBAACY,aACEtD,2BACD,oBAACsE;QACCX,UAAUxC;QACViC,IAAI,CAAC,MAAM,EAAEpC,KAAK0C,OAAO,CAAC,OAAO,MAAM,CAAC;QACxChD,KAAKA;QACLG,KAAKA;QACLf,MAAMkB;QACNF,UAAUmB;QACVsC,SAAS,CAACrC;YACR,6DAA6D;YAC7D,mBAAmB;YACnBA,EAAEG,MAAM,CAACmC,IAAI;QACf;QACAtD,aAAarC,eAAeqC,aAAaO;QACzCJ,MAAMA;QACNoD,MAAK;QACL7C,OAAO,OAAOA,UAAU,WAAWA,QAAQ;QAE5C7B,aAGJE,sBAAsBwC,YACrBxC,kCAEA,oBAACnB,kBAAsBuB,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMqE,cAAcjF,cAAcG,sBAAqB"}
|
|
@@ -15,6 +15,5 @@ export type PasswordFieldProps = FormFieldBase & {
|
|
|
15
15
|
validate?: Validate;
|
|
16
16
|
width?: string;
|
|
17
17
|
};
|
|
18
|
-
export declare const PasswordField: React.FC<PasswordFieldProps>;
|
|
19
18
|
export declare const Password: React.FC<PasswordFieldProps>;
|
|
20
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAgED,eAAO,MAAM,QAAQ,8BAA+B,CAAA"}
|
|
@@ -5,8 +5,8 @@ import React, { useCallback } from 'react';
|
|
|
5
5
|
import { useField } from '../../forms/useField/index.js';
|
|
6
6
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
7
7
|
import { fieldBaseClass } from '../shared/index.js';
|
|
8
|
-
|
|
9
|
-
const { name, CustomError, CustomLabel, autoComplete, className, disabled, errorProps, labelProps, path: pathFromProps, required, style, validate, width } = props;
|
|
8
|
+
const PasswordField = (props)=>{
|
|
9
|
+
const { name, CustomError, CustomLabel, autoComplete, className, disabled, errorProps, label, labelProps, path: pathFromProps, required, style, validate, width } = props;
|
|
10
10
|
const memoizedValidate = useCallback((value, options)=>{
|
|
11
11
|
if (typeof validate === 'function') {
|
|
12
12
|
return validate(value, {
|
|
@@ -35,9 +35,12 @@ export const PasswordField = (props)=>{
|
|
|
35
35
|
}
|
|
36
36
|
}, /*#__PURE__*/ React.createElement(FieldError, {
|
|
37
37
|
CustomError: CustomError,
|
|
38
|
+
path: path,
|
|
38
39
|
...errorProps || {}
|
|
39
40
|
}), /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
40
41
|
CustomLabel: CustomLabel,
|
|
42
|
+
label: label,
|
|
43
|
+
required: required,
|
|
41
44
|
...labelProps || {}
|
|
42
45
|
}), /*#__PURE__*/ React.createElement("input", {
|
|
43
46
|
autoComplete: autoComplete,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, Validate } from 'payload/types'\n\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type PasswordFieldProps = FormFieldBase & {\n autoComplete?: string\n className?: string\n description?: Description\n disabled?: boolean\n label?: string\n name: string\n path?: string\n required?: boolean\n style?: React.CSSProperties\n validate?: Validate\n width?: string\n}\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, Validate } from 'payload/types'\n\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type PasswordFieldProps = FormFieldBase & {\n autoComplete?: string\n className?: string\n description?: Description\n disabled?: boolean\n label?: string\n name: string\n path?: string\n required?: boolean\n style?: React.CSSProperties\n validate?: Validate\n width?: string\n}\n\nconst PasswordField: React.FC<PasswordFieldProps> = (props) => {\n const {\n name,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n disabled,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { formProcessing, path, setValue, showError, value } = useField({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[fieldBaseClass, 'password', className, showError && 'error']\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 <input\n autoComplete={autoComplete}\n disabled={formProcessing || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"password\"\n value={(value as string) || ''}\n />\n </div>\n )\n}\n\nexport const Password = withCondition(PasswordField)\n"],"names":["FieldError","FieldLabel","React","useCallback","useField","withCondition","fieldBaseClass","PasswordField","props","name","CustomError","CustomLabel","autoComplete","className","disabled","errorProps","label","labelProps","path","pathFromProps","required","style","validate","width","memoizedValidate","value","options","formProcessing","setValue","showError","div","filter","Boolean","join","input","id","replace","onChange","type","Password"],"mappings":"AAAA;AAGA,SAASA,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAiBnD,MAAMC,gBAA8C,CAACC;IACnD,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGf;IAEJ,MAAMgB,mBAAmCrB,YACvC,CAACsB,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEO,cAAc,EAAET,IAAI,EAAEU,QAAQ,EAAEC,SAAS,EAAEJ,KAAK,EAAE,GAAGrB,SAAS;QACpEc,MAAMC,iBAAiBV;QACvBa,UAAUE;IACZ;IAEA,qBACE,oBAACM;QACCjB,WAAW;YAACP;YAAgB;YAAYO;YAAWgB,aAAa;SAAQ,CACrEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRZ,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACvB;QAAWU,aAAaA;QAAaQ,MAAMA;QAAO,GAAIH,cAAc,CAAC,CAAC;sBACvE,oBAACd;QACCU,aAAaA;QACbK,OAAOA;QACPI,UAAUA;QACT,GAAIH,cAAc,CAAC,CAAC;sBAEvB,oBAACiB;QACCtB,cAAcA;QACdE,UAAUa,kBAAkBb;QAC5BqB,IAAI,CAAC,MAAM,EAAEjB,KAAKkB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxC3B,MAAMS;QACNmB,UAAUT;QACVU,MAAK;QACLb,OAAO,AAACA,SAAoB;;AAIpC;AAEA,OAAO,MAAMc,WAAWlC,cAAcE,eAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AASrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA2ID,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
|
|
@@ -9,9 +9,10 @@ const baseClass = 'point';
|
|
|
9
9
|
import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
|
|
10
10
|
import { FieldError } from '@payloadcms/ui/forms/FieldError';
|
|
11
11
|
import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
|
|
12
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
12
13
|
const PointField = (props)=>{
|
|
13
14
|
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, labelProps, path: pathFromProps, placeholder, readOnly, required, step, style, validate, width } = props;
|
|
14
|
-
const { i18n } = useTranslation();
|
|
15
|
+
const { i18n, t } = useTranslation();
|
|
15
16
|
const memoizedValidate = useCallback((value, options)=>{
|
|
16
17
|
if (typeof validate === 'function') {
|
|
17
18
|
return validate(value, {
|
|
@@ -23,11 +24,12 @@ const PointField = (props)=>{
|
|
|
23
24
|
validate,
|
|
24
25
|
required
|
|
25
26
|
]);
|
|
27
|
+
const { path: pathFromContext } = useFieldProps();
|
|
26
28
|
const { path, setValue, showError, value = [
|
|
27
29
|
null,
|
|
28
30
|
null
|
|
29
31
|
] } = useField({
|
|
30
|
-
path: pathFromProps || name,
|
|
32
|
+
path: pathFromContext || pathFromProps || name,
|
|
31
33
|
validate: memoizedValidate
|
|
32
34
|
});
|
|
33
35
|
const handleChange = useCallback((e, index)=>{
|
|
@@ -44,6 +46,14 @@ const PointField = (props)=>{
|
|
|
44
46
|
setValue,
|
|
45
47
|
value
|
|
46
48
|
]);
|
|
49
|
+
const getCoordinateFieldLabel = (type)=>{
|
|
50
|
+
const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude');
|
|
51
|
+
const fieldLabel = labelProps && labelProps.label ? labelProps.label : '';
|
|
52
|
+
return {
|
|
53
|
+
...labelProps,
|
|
54
|
+
label: `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`
|
|
55
|
+
};
|
|
56
|
+
};
|
|
47
57
|
return /*#__PURE__*/ React.createElement("div", {
|
|
48
58
|
className: [
|
|
49
59
|
fieldBaseClass,
|
|
@@ -58,13 +68,11 @@ const PointField = (props)=>{
|
|
|
58
68
|
}
|
|
59
69
|
}, /*#__PURE__*/ React.createElement(FieldError, {
|
|
60
70
|
CustomError: CustomError,
|
|
71
|
+
path: path,
|
|
61
72
|
...errorProps || {}
|
|
62
73
|
}), /*#__PURE__*/ React.createElement("ul", {
|
|
63
74
|
className: `${baseClass}__wrap`
|
|
64
|
-
}, /*#__PURE__*/ React.createElement("li", null, /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
65
|
-
CustomLabel: CustomLabel,
|
|
66
|
-
...labelProps || {}
|
|
67
|
-
}), /*#__PURE__*/ React.createElement("div", {
|
|
75
|
+
}, /*#__PURE__*/ React.createElement("li", null, CustomLabel !== undefined ? CustomLabel : /*#__PURE__*/ React.createElement(FieldLabel, getCoordinateFieldLabel('longitude')), /*#__PURE__*/ React.createElement("div", {
|
|
68
76
|
className: "input-wrapper"
|
|
69
77
|
}, BeforeInput, /*#__PURE__*/ React.createElement("input", {
|
|
70
78
|
disabled: readOnly,
|
|
@@ -75,10 +83,7 @@ const PointField = (props)=>{
|
|
|
75
83
|
step: step,
|
|
76
84
|
type: "number",
|
|
77
85
|
value: value && typeof value[0] === 'number' ? value[0] : ''
|
|
78
|
-
}), AfterInput)), /*#__PURE__*/ React.createElement("li", null, /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
79
|
-
CustomLabel: CustomLabel,
|
|
80
|
-
...labelProps || {}
|
|
81
|
-
}), /*#__PURE__*/ React.createElement("div", {
|
|
86
|
+
}), AfterInput)), /*#__PURE__*/ React.createElement("li", null, CustomLabel !== undefined ? CustomLabel : /*#__PURE__*/ React.createElement(FieldLabel, getCoordinateFieldLabel('latitude')), /*#__PURE__*/ React.createElement("div", {
|
|
82
87
|
className: "input-wrapper"
|
|
83
88
|
}, BeforeInput, /*#__PURE__*/ React.createElement("input", {
|
|
84
89
|
disabled: readOnly,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate, FieldBase } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'point'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type PointFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n name?: string\n path?: string\n placeholder?: string\n step?: number\n width?: string\n}\n\nconst PointField: React.FC<PointFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n path,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\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 <ul className={`${baseClass}__wrap`}>\n <li>\n
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate, FieldBase } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'point'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type PointFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n name?: string\n path?: string\n placeholder?: string\n step?: number\n width?: string\n}\n\nconst PointField: React.FC<PointFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly,\n required,\n step,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate: ClientValidate = 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 {\n path,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\n const getCoordinateFieldLabel = (type: 'latitude' | 'longitude') => {\n const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude')\n const fieldLabel = labelProps && labelProps.label ? labelProps.label : ''\n return {\n ...labelProps,\n label: `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`,\n }\n }\n\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} path={path} {...(errorProps || {})} />\n <ul className={`${baseClass}__wrap`}>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('longitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-longitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.longitude`}\n onChange={(e) => handleChange(e, 0)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[0] === 'number' ? value[0] : ''}\n />\n {AfterInput}\n </div>\n </li>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('latitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-latitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.latitude`}\n onChange={(e) => handleChange(e, 1)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[1] === 'number' ? value[1] : ''}\n />\n {AfterInput}\n </div>\n </li>\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Point = withCondition(PointField)\n"],"names":["getTranslation","React","useCallback","useField","withCondition","useTranslation","fieldBaseClass","baseClass","FieldDescription","FieldError","FieldLabel","useFieldProps","PointField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","labelProps","path","pathFromProps","placeholder","readOnly","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","setValue","showError","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","getCoordinateFieldLabel","type","suffix","fieldLabel","label","div","filter","Boolean","join","ul","li","undefined","input","disabled","id","replace","onChange","Point"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAQrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;AAwHrD,eAAO,MAAM,UAAU,2BAAiC,CAAA"}
|
|
@@ -10,8 +10,9 @@ import { Radio } from './Radio/index.js';
|
|
|
10
10
|
const baseClass = 'radio-group';
|
|
11
11
|
import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
|
|
12
12
|
import { FieldError } from '@payloadcms/ui/forms/FieldError';
|
|
13
|
+
import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
|
|
13
14
|
const RadioGroupField = (props)=>{
|
|
14
|
-
const { name, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, labelProps, layout = 'horizontal', onChange: onChangeFromProps, options = [], path: pathFromProps, readOnly, required, style, validate, value: valueFromProps, width } = props;
|
|
15
|
+
const { name, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, layout = 'horizontal', onChange: onChangeFromProps, options = [], path: pathFromProps, readOnly, required, style, validate, value: valueFromProps, width } = props;
|
|
15
16
|
const { uuid } = useForm();
|
|
16
17
|
const memoizedValidate = useCallback((value, validationOptions)=>{
|
|
17
18
|
if (typeof validate === 'function') return validate(value, {
|
|
@@ -24,8 +25,9 @@ const RadioGroupField = (props)=>{
|
|
|
24
25
|
options,
|
|
25
26
|
required
|
|
26
27
|
]);
|
|
28
|
+
const { path: pathFromContext } = useFieldProps();
|
|
27
29
|
const { path, setValue, showError, value: valueFromContext } = useField({
|
|
28
|
-
path: pathFromProps || name,
|
|
30
|
+
path: pathFromContext || pathFromProps || name,
|
|
29
31
|
validate: memoizedValidate
|
|
30
32
|
});
|
|
31
33
|
const value = valueFromContext || valueFromProps;
|
|
@@ -46,9 +48,12 @@ const RadioGroupField = (props)=>{
|
|
|
46
48
|
className: `${baseClass}__error-wrap`
|
|
47
49
|
}, /*#__PURE__*/ React.createElement(FieldError, {
|
|
48
50
|
CustomError: CustomError,
|
|
51
|
+
path: path,
|
|
49
52
|
...errorProps || {}
|
|
50
53
|
})), /*#__PURE__*/ React.createElement(FieldLabel, {
|
|
51
54
|
CustomLabel: CustomLabel,
|
|
55
|
+
label: label,
|
|
56
|
+
required: required,
|
|
52
57
|
...labelProps || {}
|
|
53
58
|
}), /*#__PURE__*/ React.createElement("ul", {
|
|
54
59
|
className: `${baseClass}--group`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n/* eslint-disable react-hooks/exhaustive-deps */\n'use client'\nimport type { FieldBase, Option } from 'payload/types'\n\nimport { optionIsObject } from 'payload/types'\nimport React, { useCallback } from 'react'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-group'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RadioFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n layout?: 'horizontal' | 'vertical'\n name?: string\n onChange?: OnChange\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nexport type OnChange<T = string> = (value: T) => void\n\nconst RadioGroupField: React.FC<RadioFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n layout = 'horizontal',\n onChange: onChangeFromProps,\n options = [],\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n value: valueFromProps,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, options, required })\n },\n [validate, options, required],\n )\n\n const {\n path,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n </div>\n <FieldLabel
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n/* eslint-disable react-hooks/exhaustive-deps */\n'use client'\nimport type { FieldBase, Option } from 'payload/types'\n\nimport { optionIsObject } from 'payload/types'\nimport React, { useCallback } from 'react'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-group'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RadioFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n layout?: 'horizontal' | 'vertical'\n name?: string\n onChange?: OnChange\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nexport type OnChange<T = string> = (value: T) => void\n\nconst RadioGroupField: React.FC<RadioFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n layout = 'horizontal',\n onChange: onChangeFromProps,\n options = [],\n path: pathFromProps,\n readOnly,\n required,\n style,\n validate,\n value: valueFromProps,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, options, required })\n },\n [validate, options, required],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const {\n path,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <ul className={`${baseClass}--group`} id={`field-${path.replace(/\\./g, '__')}`}>\n {options.map((option) => {\n let optionValue = ''\n\n if (optionIsObject(option)) {\n optionValue = option.value\n } else {\n optionValue = option\n }\n\n const isSelected = String(optionValue) === String(value)\n\n const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`\n\n return (\n <li key={`${path} - ${optionValue}`}>\n <Radio\n id={id}\n isSelected={isSelected}\n onChange={() => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(optionValue)\n }\n\n if (!readOnly) {\n setValue(optionValue)\n }\n }}\n option={optionIsObject(option) ? option : { label: option, value: option }}\n path={path}\n uuid={uuid}\n />\n </li>\n )\n })}\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const RadioGroup = withCondition(RadioGroupField)\n"],"names":["optionIsObject","React","useCallback","FieldLabel","useForm","useField","withCondition","fieldBaseClass","Radio","baseClass","FieldDescription","FieldError","useFieldProps","RadioGroupField","props","name","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","layout","onChange","onChangeFromProps","options","path","pathFromProps","readOnly","required","style","validate","value","valueFromProps","width","uuid","memoizedValidate","validationOptions","pathFromContext","setValue","showError","valueFromContext","div","filter","Boolean","join","ul","id","replace","map","option","optionValue","isSelected","String","li","key","undefined","RadioGroup"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAAsB,sBAAsB,EAAS,MAAM,YAAY,CAAA;AAenF,OAAO,cAAc,CAAA;AASrB,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAqiBjC,eAAO,MAAM,YAAY,kCAAmC,CAAA"}
|