@payloadcms/ui 3.0.0-beta.70 → 3.0.0-beta.72
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/ArrayAction/index.d.ts +1 -1
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +1 -1
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +7 -1
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Collapsible/index.d.ts +1 -1
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +1 -1
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +4 -2
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts +1 -2
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +3 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/index.scss +2 -1
- package/dist/elements/EditMany/index.d.ts +1 -2
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts +1 -2
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +1 -2
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +2 -0
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +2 -2
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +4 -4
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +2 -2
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -2
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +7 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +7 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js +3 -3
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +1 -2
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/index.d.ts +5 -6
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +19 -18
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +1 -1
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +2 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +2 -15
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +25 -8
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +2 -3
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +2 -3
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +1 -14
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +22 -9
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +1 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +2 -2
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts +1 -9
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +2 -2
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +1 -7
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +2 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts +1 -0
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +2 -3
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -9
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +2 -2
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +1 -9
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +2 -2
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.d.ts +2 -2
- package/dist/fields/FieldDescription/index.d.ts.map +1 -1
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.d.ts +2 -2
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts +2 -2
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +2 -10
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +2 -2
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.d.ts +2 -9
- package/dist/fields/Hidden/index.d.ts.map +1 -1
- package/dist/fields/Hidden/index.js +2 -2
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +1 -9
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +2 -2
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +1 -14
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +2 -2
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +12 -2
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +58 -45
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.d.ts +5 -0
- package/dist/fields/Password/input.d.ts.map +1 -0
- package/dist/fields/Password/input.js +65 -0
- package/dist/fields/Password/input.js.map +1 -0
- package/dist/fields/Password/types.d.ts +27 -0
- package/dist/fields/Password/types.d.ts.map +1 -0
- package/dist/fields/Password/types.js.map +1 -0
- package/dist/fields/Point/index.d.ts +2 -9
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +2 -2
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +1 -12
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +2 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +1 -2
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +2 -2
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +1 -11
- 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 -8
- 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 +1 -2
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +2 -2
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/index.scss +1 -5
- package/dist/fields/Select/Input.d.ts +1 -2
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +1 -13
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +2 -2
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.d.ts +1 -1
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -9
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +24 -24
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts +3 -2
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +2 -2
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +1 -15
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +3 -2
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +2 -2
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +1 -11
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +1 -2
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +2 -2
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts +1 -25
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
- package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
- package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +5 -35
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts +17 -0
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
- package/dist/forms/Form/rowHelpers.js +24 -0
- package/dist/forms/Form/rowHelpers.js.map +1 -0
- package/dist/forms/Form/types.d.ts +3 -10
- 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 +4 -3
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +1 -2
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +2 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +5 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +1 -2
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +1 -2
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +126 -95
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -56
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/ComponentMap/index.d.ts +2 -1
- package/dist/providers/ComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +5 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +16 -9
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +8 -6
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +0 -2
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/flattenFieldMap.d.ts +1 -1
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
- package/dist/utilities/flattenFieldMap.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +1 -0
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.js +4 -4
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/package.json +5 -5
- package/dist/fields/Checkbox/types.d.ts +0 -12
- package/dist/fields/Checkbox/types.d.ts.map +0 -1
- package/dist/fields/Checkbox/types.js.map +0 -1
- package/dist/fields/Row/types.d.ts +0 -12
- package/dist/fields/Row/types.d.ts.map +0 -1
- package/dist/fields/Row/types.js +0 -3
- package/dist/fields/Row/types.js.map +0 -1
- package/dist/fields/Upload/types.d.ts +0 -10
- package/dist/fields/Upload/types.d.ts.map +0 -1
- package/dist/fields/Upload/types.js +0 -3
- package/dist/fields/Upload/types.js.map +0 -1
- /package/dist/fields/{Checkbox → Password}/types.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberField as NumberFieldType } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\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 { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type NumberFieldProps = {\n hasMany?: boolean\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} & FormFieldBase\n\nconst _NumberField: 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: readOnlyFromProps,\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, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<\n number | number[]\n >({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\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 (!disabled) {\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 [disabled, 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 disabled && '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 <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={disabled}\n filterOption={(_, rawInput) => {\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={disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\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 </div>\n )\n}\n\nexport const NumberField = withCondition(_NumberField)\n"],"names":["getTranslation","isNumber","React","useCallback","useEffect","useState","ReactSelect","useFieldProps","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","_NumberField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","label","labelProps","max","Infinity","maxRows","min","onChange","onChangeFromProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","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","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAK/D,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAerB,MAAMC,eAA2C,CAACC;IAChD,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,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,OAAO,CAAC,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAG5B;IAEJ,MAAM,EAAE6B,IAAI,EAAEC,CAAC,EAAE,GAAGpC;IAEpB,MAAMqC,mBAAmB5C,YACvB,CAAC6C,OAAOC;QACN,IAAI,OAAON,aAAa,YAAY;YAClC,OAAOA,SAASK,OAAO;gBAAE,GAAGC,OAAO;gBAAEpB;gBAAKG;gBAAKQ;YAAS;QAC1D;IACF,GACA;QAACG;QAAUX;QAAKH;QAAKW;KAAS;IAGhC,MAAM,EAAEL,MAAMe,eAAe,EAAEZ,UAAUa,mBAAmB,EAAE,GAAG5C;IAEjE,MAAM,EAAE6C,gBAAgB,EAAEC,cAAc,EAAElB,IAAI,EAAEmB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAGxC,SAE7E;QACA2B,MAAMe,mBAAmBd,iBAAiBnB;QAC1C0B,UAAUI;IACZ;IAEA,MAAMS,WAAWjB,qBAAqBY,uBAAuBE,kBAAkBD;IAE/E,MAAMK,eAAetD,YACnB,CAACuD;QACC,MAAMC,MAAMC,WAAWF,EAAEG,MAAM,CAACb,KAAK;QACrC,IAAIc,SAASH;QAEb,IAAII,OAAOC,KAAK,CAACL,MAAM;YACrBG,SAASG;QACX;QAEA,IAAI,OAAO/B,sBAAsB,YAAY;YAC3CA,kBAAkB4B;QACpB;QAEAR,SAASQ;IACX,GACA;QAAC5B;QAAmBoB;KAAS;IAG/B,MAAM,CAACY,eAAeC,iBAAiB,GAAG9D,SAExC,EAAE,EAAE,mBAAmB;;IAEzB,MAAM+D,sBAAsBjE,YAC1B,CAACkE;QACC,IAAI,CAACb,UAAU;YACb,IAAIc;YACJ,IAAI,CAACD,gBAAgB;gBACnBC,WAAW,EAAE;YACf,OAAO,IAAIC,MAAMC,OAAO,CAACH,iBAAiB;gBACxCC,WAAWD,eAAeI,GAAG,CAAC,CAACC,SAAWX,OAAOW,OAAO1B,KAAK,EAAEA,SAAS0B,OAAO1B,KAAK;YACtF,OAAO;gBACLsB,WAAW;oBAACP,OAAOM,eAAerB,KAAK,EAAEA,SAASqB,eAAerB,KAAK;iBAAE;YAC1E;YAEAM,SAASgB;QACX;IACF,GACA;QAACd;QAAUF;KAAS;IAGtB,kCAAkC;IAClClD,UAAU;QACR,IAAIsB,WAAW6C,MAAMC,OAAO,CAACxB,QAAQ;YACnCmB,iBACEnB,MAAMyB,GAAG,CAAC,CAACd,KAAKgB;gBACd,OAAO;oBACLC,IAAI,CAAC,EAAEjB,IAAI,EAAEgB,MAAM,CAAC;oBACpBhD,OAAO,CAAC,EAAEgC,IAAI,CAAC;oBACfX,OAAO;wBACL6B,UAAU,IAAM,CAAC,EAAElB,IAAI,EAAEgB,MAAM,CAAC;wBAChC3B,OAAO,AAACW,KAA2CX,SAASW;oBAC9D;gBACF;YACF;QAEJ;IACF,GAAG;QAACX;QAAOtB;KAAQ;IAEnB,qBACE,MAACoD;QACCvD,WAAW;YACTT;YACA;YACAS;YACAgC,aAAa;YACbC,YAAY;YACZ9B,WAAW;SACZ,CACEqD,MAAM,CAACC,SACPC,IAAI,CAAC;QACRvC,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAC/B;gBACCS,aAAaA;gBACbK,OAAOA;gBACPa,UAAUA;gBACT,GAAIZ,cAAc,CAAC,CAAC;;0BAEvB,MAACkD;gBAAIvD,WAAW,CAAC,EAAET,eAAe,MAAM,CAAC;;kCACvC,KAACF;wBAAWS,aAAaA;wBAAac,MAAMA;wBAAO,GAAIV,cAAc,CAAC,CAAC;;oBACtEC,wBACC,KAACpB;wBACCiB,WAAW,CAAC,MAAM,EAAEY,KAAK+C,OAAO,CAAC,OAAO,MAAM,CAAC;wBAC/C1B,UAAUA;wBACV2B,cAAc,CAACC,GAAGC;4BAChB,MAAMC,gBAAgBf,MAAMC,OAAO,CAACxB,UAAUA,MAAMuC,MAAM,IAAIxD;4BAC9D,OAAO9B,SAASoF,aAAa,CAACC;wBAChC;wBACAE,WAAW;wBACXC,WAAW;wBACXC,OAAO;wBACPC,UAAU;wBACVC,kBAAkB;4BAChB,MAAMN,gBAAgBf,MAAMC,OAAO,CAACxB,UAAUA,MAAMuC,MAAM,IAAIxD;4BAC9D,IAAIuD,eAAe;gCACjB,OAAOxC,EAAE,2BAA2B;oCAAEjB,KAAKE;oCAASiB,OAAOA,MAAMuC,MAAM,GAAG;gCAAE;4BAC9E;4BACA,OAAO;wBACT;wBACA,aAAa;wBACbtD,UAAUmC;wBACVnB,SAAS,EAAE;wBACXZ,aAAaS,EAAE;wBACfS,WAAWA;wBACXP,OAAOkB;uCAGT,MAACY;;4BACE3D;0CACD,KAAC0E;gCACCrC,UAAUA;gCACVoB,IAAI,CAAC,MAAM,EAAEzC,KAAK+C,OAAO,CAAC,OAAO,MAAM,CAAC;gCACxCrD,KAAKA;gCACLG,KAAKA;gCACLf,MAAMkB;gCACNF,UAAUwB;gCACVqC,SAAS,CAACpC;oCACR,mBAAmB;oCACnBA,EAAEG,MAAM,CAACkC,IAAI;gCACf;gCACA1D,aAAarC,eAAeqC,aAAaQ;gCACzCJ,MAAMA;gCACNuD,MAAK;gCACLhD,OAAO,OAAOA,UAAU,WAAWA,QAAQ;;4BAE5C9B;;;oBAGJE,sBAAsB6C,YACrB7C,kCAEA,KAACT;wBAAkB,GAAIa,oBAAoB,CAAC,CAAC;;;;;;AAKvD;AAEA,OAAO,MAAMyE,cAAcxF,cAAcM,cAAa"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\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: readOnlyFromProps,\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, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<\n number | number[]\n >({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\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 (!disabled) {\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 [disabled, 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 disabled && '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 <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={disabled}\n filterOption={(_, rawInput) => {\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={disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\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 </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","isNumber","React","useCallback","useEffect","useState","ReactSelect","useFieldProps","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","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","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","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","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"mappings":"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"}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import type { Description, Validate } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { FormFieldBase } from '../shared/index.js';
|
|
4
3
|
import './index.scss';
|
|
5
4
|
export type PasswordFieldProps = {
|
|
5
|
+
AfterInput?: React.ReactElement;
|
|
6
|
+
BeforeInput?: React.ReactElement;
|
|
7
|
+
CustomDescription?: React.ReactElement;
|
|
8
|
+
CustomError?: React.ReactElement;
|
|
9
|
+
CustomLabel?: React.ReactElement;
|
|
6
10
|
autoComplete?: string;
|
|
7
11
|
className?: string;
|
|
8
12
|
description?: Description;
|
|
9
13
|
disabled?: boolean;
|
|
14
|
+
errorProps?: any;
|
|
15
|
+
inputRef?: React.RefObject<HTMLInputElement>;
|
|
16
|
+
label?: string;
|
|
17
|
+
labelProps?: any;
|
|
10
18
|
name: string;
|
|
11
19
|
path?: string;
|
|
20
|
+
placeholder?: string;
|
|
12
21
|
required?: boolean;
|
|
22
|
+
rtl?: boolean;
|
|
13
23
|
style?: React.CSSProperties;
|
|
14
24
|
validate?: Validate;
|
|
15
25
|
width?: string;
|
|
16
|
-
}
|
|
26
|
+
};
|
|
17
27
|
export declare const PasswordField: React.FC<PasswordFieldProps>;
|
|
18
28
|
//# 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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAkB,QAAQ,EAAE,MAAM,SAAS,CAAA;AAIpF,OAAO,KAAsB,MAAM,OAAO,CAAA;AAK1C,OAAO,cAAc,CAAA;AAGrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,iBAAiB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAiGD,eAAO,MAAM,aAAa,8BAAwC,CAAA"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useConfig, useLocale, useTranslation } from '@payloadcms/ui';
|
|
4
|
+
import { password } from 'payload/shared';
|
|
3
5
|
import React, { useCallback } from 'react';
|
|
4
6
|
import { useField } from '../../forms/useField/index.js';
|
|
5
7
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
6
|
-
import {
|
|
7
|
-
import { FieldLabel } from '../FieldLabel/index.js';
|
|
8
|
-
import { fieldBaseClass } from '../shared/index.js';
|
|
8
|
+
import { isFieldRTL } from '../shared/index.js';
|
|
9
9
|
import './index.scss';
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
import { PasswordInput } from './input.js';
|
|
11
|
+
const PasswordFieldComponent = (props)=>{
|
|
12
|
+
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, autoComplete, className, disabled: disabledFromProps, errorProps, inputRef, label, labelProps, path: pathFromProps, placeholder, required, rtl, style, validate, width } = props;
|
|
13
|
+
const { t } = useTranslation();
|
|
14
|
+
const locale = useLocale();
|
|
15
|
+
const config = useConfig();
|
|
12
16
|
const memoizedValidate = useCallback((value, options)=>{
|
|
13
17
|
if (typeof validate === 'function') {
|
|
14
18
|
return validate(value, {
|
|
@@ -16,8 +20,26 @@ const _PasswordField = (props)=>{
|
|
|
16
20
|
required
|
|
17
21
|
});
|
|
18
22
|
}
|
|
23
|
+
return password(value, {
|
|
24
|
+
name: 'password',
|
|
25
|
+
type: 'text',
|
|
26
|
+
data: {},
|
|
27
|
+
preferences: {
|
|
28
|
+
fields: {}
|
|
29
|
+
},
|
|
30
|
+
req: {
|
|
31
|
+
payload: {
|
|
32
|
+
config
|
|
33
|
+
},
|
|
34
|
+
t
|
|
35
|
+
},
|
|
36
|
+
required: true,
|
|
37
|
+
siblingData: {}
|
|
38
|
+
});
|
|
19
39
|
}, [
|
|
20
40
|
validate,
|
|
41
|
+
config,
|
|
42
|
+
t,
|
|
21
43
|
required
|
|
22
44
|
]);
|
|
23
45
|
const { formInitializing, formProcessing, path, setValue, showError, value } = useField({
|
|
@@ -25,47 +47,38 @@ const _PasswordField = (props)=>{
|
|
|
25
47
|
validate: memoizedValidate
|
|
26
48
|
});
|
|
27
49
|
const disabled = disabledFromProps || formInitializing || formProcessing;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
50
|
+
const renderRTL = isFieldRTL({
|
|
51
|
+
fieldLocalized: false,
|
|
52
|
+
fieldRTL: rtl,
|
|
53
|
+
locale,
|
|
54
|
+
localizationConfig: config.localization || undefined
|
|
55
|
+
});
|
|
56
|
+
return /*#__PURE__*/ _jsx(PasswordInput, {
|
|
57
|
+
AfterInput: AfterInput,
|
|
58
|
+
BeforeInput: BeforeInput,
|
|
59
|
+
CustomDescription: CustomDescription,
|
|
60
|
+
CustomError: CustomError,
|
|
61
|
+
CustomLabel: CustomLabel,
|
|
62
|
+
autoComplete: autoComplete,
|
|
63
|
+
className: className,
|
|
64
|
+
errorProps: errorProps,
|
|
65
|
+
inputRef: inputRef,
|
|
66
|
+
label: label,
|
|
67
|
+
labelProps: labelProps,
|
|
68
|
+
onChange: (e)=>{
|
|
69
|
+
setValue(e.target.value);
|
|
39
70
|
},
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
children: [
|
|
50
|
-
/*#__PURE__*/ _jsx(FieldError, {
|
|
51
|
-
CustomError: CustomError,
|
|
52
|
-
path: path,
|
|
53
|
-
...errorProps || {}
|
|
54
|
-
}),
|
|
55
|
-
/*#__PURE__*/ _jsx("input", {
|
|
56
|
-
autoComplete: autoComplete,
|
|
57
|
-
disabled: disabled,
|
|
58
|
-
id: `field-${path.replace(/\./g, '__')}`,
|
|
59
|
-
name: path,
|
|
60
|
-
onChange: setValue,
|
|
61
|
-
type: "password",
|
|
62
|
-
value: value || ''
|
|
63
|
-
})
|
|
64
|
-
]
|
|
65
|
-
})
|
|
66
|
-
]
|
|
71
|
+
path: path,
|
|
72
|
+
placeholder: placeholder,
|
|
73
|
+
readOnly: disabled,
|
|
74
|
+
required: required,
|
|
75
|
+
rtl: renderRTL,
|
|
76
|
+
showError: showError,
|
|
77
|
+
style: style,
|
|
78
|
+
value: value || '',
|
|
79
|
+
width: width
|
|
67
80
|
});
|
|
68
81
|
};
|
|
69
|
-
export const PasswordField = withCondition(
|
|
82
|
+
export const PasswordField = withCondition(PasswordFieldComponent);
|
|
70
83
|
|
|
71
84
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, Validate } from 'payload'\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, PayloadRequest, Validate } from 'payload'\n\nimport { useConfig, useLocale, useTranslation } from '@payloadcms/ui'\nimport { password } from 'payload/shared'\nimport React, { useCallback } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport './index.scss'\nimport { PasswordInput } from './input.js'\n\nexport type PasswordFieldProps = {\n AfterInput?: React.ReactElement\n BeforeInput?: React.ReactElement\n CustomDescription?: React.ReactElement\n CustomError?: React.ReactElement\n CustomLabel?: React.ReactElement\n autoComplete?: string\n className?: string\n description?: Description\n disabled?: boolean\n errorProps?: any // unknown type\n inputRef?: React.RefObject<HTMLInputElement>\n label?: string\n labelProps?: any // unknown type\n name: string\n path?: string\n placeholder?: string\n required?: boolean\n rtl?: boolean\n style?: React.CSSProperties\n validate?: Validate\n width?: string\n}\n\nconst PasswordFieldComponent: React.FC<PasswordFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n disabled: disabledFromProps,\n errorProps,\n inputRef,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n required,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const { t } = useTranslation()\n const locale = useLocale()\n const config = useConfig()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n\n return password(value, {\n name: 'password',\n type: 'text',\n data: {},\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n },\n [validate, config, t, required],\n )\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const disabled = disabledFromProps || formInitializing || formProcessing\n\n const renderRTL = isFieldRTL({\n fieldLocalized: false,\n fieldRTL: rtl,\n locale,\n localizationConfig: config.localization || undefined,\n })\n\n return (\n <PasswordInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n autoComplete={autoComplete}\n className={className}\n errorProps={errorProps}\n inputRef={inputRef}\n label={label}\n labelProps={labelProps}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={placeholder}\n readOnly={disabled}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n width={width}\n />\n )\n}\n\nexport const PasswordField = withCondition(PasswordFieldComponent)\n"],"names":["useConfig","useLocale","useTranslation","password","React","useCallback","useField","withCondition","isFieldRTL","PasswordInput","PasswordFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","autoComplete","className","disabled","disabledFromProps","errorProps","inputRef","label","labelProps","path","pathFromProps","placeholder","required","rtl","style","validate","width","t","locale","config","memoizedValidate","value","options","type","data","preferences","fields","req","payload","siblingData","formInitializing","formProcessing","setValue","showError","renderRTL","fieldLocalized","fieldRTL","localizationConfig","localization","undefined","onChange","e","target","readOnly","PasswordField"],"mappings":"AAAA;;AAGA,SAASA,SAAS,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACrE,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,OAAO,eAAc;AACrB,SAASC,aAAa,QAAQ,aAAY;AA0B1C,MAAMC,yBAAuD,CAACC;IAC5D,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,UAAUC,iBAAiB,EAC3BC,UAAU,EACVC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,QAAQ,EACRC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGtB;IAEJ,MAAM,EAAEuB,CAAC,EAAE,GAAGhC;IACd,MAAMiC,SAASlC;IACf,MAAMmC,SAASpC;IAEf,MAAMqC,mBAAmChC,YACvC,CAACiC,OAAOC;QACN,IAAI,OAAOP,aAAa,YAAY;YAClC,OAAOA,SAASM,OAAO;gBAAE,GAAGC,OAAO;gBAAEV;YAAS;QAChD;QAEA,OAAO1B,SAASmC,OAAO;YACrB1B,MAAM;YACN4B,MAAM;YACNC,MAAM,CAAC;YACPC,aAAa;gBAAEC,QAAQ,CAAC;YAAE;YAC1BC,KAAK;gBACHC,SAAS;oBACPT;gBACF;gBACAF;YACF;YACAL,UAAU;YACViB,aAAa,CAAC;QAChB;IACF,GACA;QAACd;QAAUI;QAAQF;QAAGL;KAAS;IAGjC,MAAM,EAAEkB,gBAAgB,EAAEC,cAAc,EAAEtB,IAAI,EAAEuB,QAAQ,EAAEC,SAAS,EAAEZ,KAAK,EAAE,GAAGhC,SAAS;QACtFoB,MAAMC,iBAAiBf;QACvBoB,UAAUK;IACZ;IAEA,MAAMjB,WAAWC,qBAAqB0B,oBAAoBC;IAE1D,MAAMG,YAAY3C,WAAW;QAC3B4C,gBAAgB;QAChBC,UAAUvB;QACVK;QACAmB,oBAAoBlB,OAAOmB,YAAY,IAAIC;IAC7C;IAEA,qBACE,KAAC/C;QACCI,YAAYA;QACZC,aAAaA;QACbC,mBAAmBA;QACnBC,aAAaA;QACbC,aAAaA;QACbC,cAAcA;QACdC,WAAWA;QACXG,YAAYA;QACZC,UAAUA;QACVC,OAAOA;QACPC,YAAYA;QACZgC,UAAU,CAACC;YACTT,SAASS,EAAEC,MAAM,CAACrB,KAAK;QACzB;QACAZ,MAAMA;QACNE,aAAaA;QACbgC,UAAUxC;QACVS,UAAUA;QACVC,KAAKqB;QACLD,WAAWA;QACXnB,OAAOA;QACPO,OAAO,AAACA,SAAoB;QAC5BL,OAAOA;;AAGb;AAEA,OAAO,MAAM4B,gBAAgBtD,cAAcG,wBAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/input.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKpD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyEtD,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { FieldError } from '../FieldError/index.js';
|
|
5
|
+
import { FieldLabel } from '../FieldLabel/index.js';
|
|
6
|
+
import { fieldBaseClass } from '../shared/index.js';
|
|
7
|
+
import './index.scss';
|
|
8
|
+
export const PasswordInput = (props)=>{
|
|
9
|
+
const { AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, autoComplete = 'off', className, errorProps, inputRef, label, labelProps, onChange, onKeyDown, path, placeholder, readOnly, required, rtl, showError, style, value, width } = props;
|
|
10
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
11
|
+
className: [
|
|
12
|
+
fieldBaseClass,
|
|
13
|
+
'password',
|
|
14
|
+
className,
|
|
15
|
+
showError && 'error',
|
|
16
|
+
readOnly && 'read-only'
|
|
17
|
+
].filter(Boolean).join(' '),
|
|
18
|
+
style: {
|
|
19
|
+
...style,
|
|
20
|
+
width
|
|
21
|
+
},
|
|
22
|
+
children: [
|
|
23
|
+
/*#__PURE__*/ _jsx(FieldLabel, {
|
|
24
|
+
CustomLabel: CustomLabel,
|
|
25
|
+
htmlFor: `field-${path.replace(/\./g, '__')}`,
|
|
26
|
+
label: label,
|
|
27
|
+
required: required,
|
|
28
|
+
...labelProps || {}
|
|
29
|
+
}),
|
|
30
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
31
|
+
className: `${fieldBaseClass}__wrap`,
|
|
32
|
+
children: [
|
|
33
|
+
/*#__PURE__*/ _jsx(FieldError, {
|
|
34
|
+
CustomError: CustomError,
|
|
35
|
+
path: path,
|
|
36
|
+
...errorProps || {}
|
|
37
|
+
}),
|
|
38
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
39
|
+
children: [
|
|
40
|
+
BeforeInput !== undefined && BeforeInput,
|
|
41
|
+
/*#__PURE__*/ _jsx("input", {
|
|
42
|
+
"aria-label": label,
|
|
43
|
+
autoComplete: autoComplete,
|
|
44
|
+
"data-rtl": rtl,
|
|
45
|
+
disabled: readOnly,
|
|
46
|
+
id: `field-${path.replace(/\./g, '__')}`,
|
|
47
|
+
name: path,
|
|
48
|
+
onChange: onChange,
|
|
49
|
+
onKeyDown: onKeyDown,
|
|
50
|
+
placeholder: placeholder,
|
|
51
|
+
ref: inputRef,
|
|
52
|
+
type: "password",
|
|
53
|
+
value: value || ''
|
|
54
|
+
}),
|
|
55
|
+
AfterInput !== undefined && AfterInput
|
|
56
|
+
]
|
|
57
|
+
}),
|
|
58
|
+
CustomDescription !== undefined && CustomDescription
|
|
59
|
+
]
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Password/input.tsx"],"sourcesContent":["'use client'\nimport type { ChangeEvent } from 'react'\n\nimport React from 'react'\n\nimport type { PasswordInputProps } from './types.js'\n\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const PasswordInput: React.FC<PasswordInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n autoComplete = 'off',\n className,\n errorProps,\n inputRef,\n label,\n labelProps,\n onChange,\n onKeyDown,\n path,\n placeholder,\n readOnly,\n required,\n rtl,\n showError,\n style,\n value,\n width,\n } = props\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'password',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n htmlFor={`field-${path.replace(/\\./g, '__')}`}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <div>\n {BeforeInput !== undefined && BeforeInput}\n <input\n aria-label={label}\n autoComplete={autoComplete}\n data-rtl={rtl}\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={onChange as (e: ChangeEvent<HTMLInputElement>) => void}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={inputRef}\n type=\"password\"\n value={value || ''}\n />\n {AfterInput !== undefined && AfterInput}\n </div>\n {CustomDescription !== undefined && CustomDescription}\n </div>\n </div>\n )\n}\n"],"names":["React","FieldError","FieldLabel","fieldBaseClass","PasswordInput","props","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","autoComplete","className","errorProps","inputRef","label","labelProps","onChange","onKeyDown","path","placeholder","readOnly","required","rtl","showError","style","value","width","div","filter","Boolean","join","htmlFor","replace","undefined","input","aria-label","data-rtl","disabled","id","name","ref","type"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAIzB,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAErB,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,eAAe,KAAK,EACpBC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,GAAG,EACHC,SAAS,EACTC,KAAK,EACLC,KAAK,EACLC,KAAK,EACN,GAAGtB;IAEJ,qBACE,MAACuB;QACChB,WAAW;YACTT;YACA;YACAS;YACAY,aAAa;YACbH,YAAY;SACb,CACEQ,MAAM,CAACC,SACPC,IAAI,CAAC;QACRN,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAACzB;gBACCQ,aAAaA;gBACbsB,SAAS,CAAC,MAAM,EAAEb,KAAKc,OAAO,CAAC,OAAO,MAAM,CAAC;gBAC7ClB,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACY;gBAAIhB,WAAW,CAAC,EAAET,eAAe,MAAM,CAAC;;kCACvC,KAACF;wBAAWQ,aAAaA;wBAAaU,MAAMA;wBAAO,GAAIN,cAAc,CAAC,CAAC;;kCACvE,MAACe;;4BACErB,gBAAgB2B,aAAa3B;0CAC9B,KAAC4B;gCACCC,cAAYrB;gCACZJ,cAAcA;gCACd0B,YAAUd;gCACVe,UAAUjB;gCACVkB,IAAI,CAAC,MAAM,EAAEpB,KAAKc,OAAO,CAAC,OAAO,MAAM,CAAC;gCACxCO,MAAMrB;gCACNF,UAAUA;gCACVC,WAAWA;gCACXE,aAAaA;gCACbqB,KAAK3B;gCACL4B,MAAK;gCACLhB,OAAOA,SAAS;;4BAEjBpB,eAAe4B,aAAa5B;;;oBAE9BE,sBAAsB0B,aAAa1B;;;;;AAI5C,EAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ErrorProps, LabelProps } from 'payload';
|
|
2
|
+
import type { ChangeEvent } from 'react';
|
|
3
|
+
export type PasswordInputProps = {
|
|
4
|
+
AfterInput?: React.ReactElement;
|
|
5
|
+
BeforeInput?: React.ReactElement;
|
|
6
|
+
CustomDescription?: React.ReactElement;
|
|
7
|
+
CustomError?: React.ReactElement;
|
|
8
|
+
CustomLabel?: React.ReactElement;
|
|
9
|
+
autoComplete?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
errorProps: ErrorProps;
|
|
12
|
+
inputRef?: React.RefObject<HTMLInputElement>;
|
|
13
|
+
label: string;
|
|
14
|
+
labelProps: LabelProps;
|
|
15
|
+
onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
16
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
|
|
17
|
+
path: string;
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
readOnly?: boolean;
|
|
20
|
+
required?: boolean;
|
|
21
|
+
rtl?: boolean;
|
|
22
|
+
showError?: boolean;
|
|
23
|
+
style?: React.CSSProperties;
|
|
24
|
+
value?: string;
|
|
25
|
+
width?: string;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACxC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,iBAAiB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACxD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Password/types.ts"],"sourcesContent":["import type { ErrorProps, LabelProps } from 'payload'\nimport type { ChangeEvent } from 'react'\nexport type PasswordInputProps = {\n AfterInput?: React.ReactElement\n BeforeInput?: React.ReactElement\n CustomDescription?: React.ReactElement\n CustomError?: React.ReactElement\n CustomLabel?: React.ReactElement\n autoComplete?: string\n className?: string\n errorProps: ErrorProps\n inputRef?: React.RefObject<HTMLInputElement>\n label: string\n labelProps: LabelProps\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>\n path: string\n placeholder?: string\n readOnly?: boolean\n required?: boolean\n rtl?: boolean\n showError?: boolean\n style?: React.CSSProperties\n value?: string\n width?: string\n}\n"],"names":[],"mappings":"AAEA,WAuBC"}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
+
import type { PointFieldProps } from 'payload';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import './index.scss';
|
|
3
|
-
|
|
4
|
-
export type PointFieldProps = {
|
|
5
|
-
name?: string;
|
|
6
|
-
path?: string;
|
|
7
|
-
placeholder?: string;
|
|
8
|
-
step?: number;
|
|
9
|
-
width?: string;
|
|
10
|
-
} & FormFieldBase;
|
|
11
|
-
export declare const _PointField: React.FC<PointFieldProps>;
|
|
4
|
+
export declare const PointFieldComponent: React.FC<PointFieldProps>;
|
|
12
5
|
export declare const PointField: React.FC<PointFieldProps>;
|
|
13
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AASrB,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8IzD,CAAA;AAED,eAAO,MAAM,UAAU,2BAAqC,CAAA"}
|
|
@@ -12,7 +12,7 @@ import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
|
|
|
12
12
|
import { FieldDescription } from '../FieldDescription/index.js';
|
|
13
13
|
import { FieldError } from '../FieldError/index.js';
|
|
14
14
|
import { FieldLabel } from '../FieldLabel/index.js';
|
|
15
|
-
export const
|
|
15
|
+
export const PointFieldComponent = (props)=>{
|
|
16
16
|
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, path: pathFromProps, placeholder, readOnly: readOnlyFromProps, required, step, style, validate, width } = props;
|
|
17
17
|
const { i18n, t } = useTranslation();
|
|
18
18
|
const memoizedValidate = useCallback((value, options)=>{
|
|
@@ -134,6 +134,6 @@ export const _PointField = (props)=>{
|
|
|
134
134
|
]
|
|
135
135
|
});
|
|
136
136
|
};
|
|
137
|
-
export const PointField = withCondition(
|
|
137
|
+
export const PointField = withCondition(PointFieldComponent);
|
|
138
138
|
|
|
139
139
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload'\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
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, PointFieldProps } from 'payload'\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 { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\n\nexport const PointFieldComponent: 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 label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\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, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\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 = label ? getTranslation(label, i18n) : ''\n\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 <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 {/* disable eslint rule because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\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 <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n {/* disable eslint rule because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\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 PointField = withCondition(PointFieldComponent)\n"],"names":["getTranslation","React","useCallback","useField","withCondition","useTranslation","fieldBaseClass","baseClass","useFieldProps","FieldDescription","FieldError","FieldLabel","PointFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","getCoordinateFieldLabel","type","suffix","fieldLabel","div","filter","Boolean","join","ul","li","undefined","input","disabled","id","replace","onChange","PointField"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { OptionObject } from 'payload';
|
|
1
|
+
import type { OptionObject, RadioFieldProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { OnChange } from '../index.js';
|
|
4
3
|
import './index.scss';
|
|
5
4
|
export declare const Radio: React.FC<{
|
|
6
5
|
id: string;
|
|
7
6
|
isSelected: boolean;
|
|
8
|
-
onChange:
|
|
7
|
+
onChange: RadioFieldProps['onChange'];
|
|
9
8
|
option: OptionObject;
|
|
10
9
|
path: string;
|
|
11
10
|
readOnly?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CA0BA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject, RadioFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-input'\n\nexport const Radio: React.FC<{\n id: string\n isSelected: boolean\n onChange: RadioFieldProps['onChange']\n option: OptionObject\n path: string\n readOnly?: boolean\n uuid?: string\n}> = (props) => {\n const { isSelected, onChange, option, path, readOnly, uuid } = props\n const { i18n } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const id = `field-${path}-${option.value}${editDepth > 1 ? `-${editDepth}` : ''}${uuid ? `-${uuid}` : ''}`\n\n return (\n <label htmlFor={id}>\n <div\n className={[baseClass, isSelected && `${baseClass}--is-selected`].filter(Boolean).join(' ')}\n >\n <input\n checked={isSelected}\n disabled={readOnly}\n id={id}\n name={path}\n onChange={() => (typeof onChange === 'function' ? onChange(option.value) : null)}\n type=\"radio\"\n />\n <span className={`${baseClass}__styled-radio`} />\n <span className={`${baseClass}__label`}>{getTranslation(option.label, i18n)}</span>\n </div>\n </label>\n )\n}\n"],"names":["getTranslation","React","useEditDepth","useTranslation","baseClass","Radio","props","isSelected","onChange","option","path","readOnly","uuid","i18n","editDepth","id","value","label","htmlFor","div","className","filter","Boolean","join","input","checked","disabled","name","type","span"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,YAAY,QAAQ,wCAAuC;AACpE,SAASC,cAAc,QAAQ,0CAAyC;AACxE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,QAQR,CAACC;IACJ,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,IAAI,EAAE,GAAGN;IAC/D,MAAM,EAAEO,IAAI,EAAE,GAAGV;IAEjB,MAAMW,YAAYZ;IAElB,MAAMa,KAAK,CAAC,MAAM,EAAEL,KAAK,CAAC,EAAED,OAAOO,KAAK,CAAC,EAAEF,YAAY,IAAI,CAAC,CAAC,EAAEA,UAAU,CAAC,GAAG,GAAG,EAAEF,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,GAAG,CAAC;IAE1G,qBACE,KAACK;QAAMC,SAASH;kBACd,cAAA,MAACI;YACCC,WAAW;gBAAChB;gBAAWG,cAAc,CAAC,EAAEH,UAAU,aAAa,CAAC;aAAC,CAACiB,MAAM,CAACC,SAASC,IAAI,CAAC;;8BAEvF,KAACC;oBACCC,SAASlB;oBACTmB,UAAUf;oBACVI,IAAIA;oBACJY,MAAMjB;oBACNF,UAAU,IAAO,OAAOA,aAAa,aAAaA,SAASC,OAAOO,KAAK,IAAI;oBAC3EY,MAAK;;8BAEP,KAACC;oBAAKT,WAAW,CAAC,EAAEhB,UAAU,cAAc,CAAC;;8BAC7C,KAACyB;oBAAKT,WAAW,CAAC,EAAEhB,UAAU,OAAO,CAAC;8BAAGJ,eAAeS,OAAOQ,KAAK,EAAEJ;;;;;AAI9E,EAAC"}
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RadioFieldProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
|
-
import type { FormFieldBase } from '../shared/index.js';
|
|
5
|
-
export type RadioFieldProps = {
|
|
6
|
-
layout?: 'horizontal' | 'vertical';
|
|
7
|
-
name?: string;
|
|
8
|
-
onChange?: OnChange;
|
|
9
|
-
options?: Option[];
|
|
10
|
-
path?: string;
|
|
11
|
-
value?: string;
|
|
12
|
-
width?: string;
|
|
13
|
-
} & FormFieldBase;
|
|
14
|
-
export type OnChange<T = string> = (value: T) => void;
|
|
15
4
|
export declare const RadioGroupField: React.FC<RadioFieldProps>;
|
|
16
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAmIrB,eAAO,MAAM,eAAe,2BAA0C,CAAA"}
|
|
@@ -13,7 +13,7 @@ const baseClass = 'radio-group';
|
|
|
13
13
|
import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
|
|
14
14
|
import { FieldDescription } from '../FieldDescription/index.js';
|
|
15
15
|
import { FieldError } from '../FieldError/index.js';
|
|
16
|
-
const
|
|
16
|
+
const RadioGroupFieldComponent = (props)=>{
|
|
17
17
|
const { name, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, layout = 'horizontal', onChange: onChangeFromProps, options = [], path: pathFromProps, readOnly: readOnlyFromProps, required, style, validate, value: valueFromProps, width } = props;
|
|
18
18
|
const { uuid } = useForm();
|
|
19
19
|
const memoizedValidate = useCallback((value, validationOptions)=>{
|
|
@@ -106,6 +106,6 @@ const _RadioGroupField = (props)=>{
|
|
|
106
106
|
]
|
|
107
107
|
});
|
|
108
108
|
};
|
|
109
|
-
export const RadioGroupField = withCondition(
|
|
109
|
+
export const RadioGroupField = withCondition(RadioGroupFieldComponent);
|
|
110
110
|
|
|
111
111
|
//# sourceMappingURL=index.js.map
|