@payloadcms/ui 3.41.0-canary.3 → 3.41.0-canary.4
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/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +2 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +2 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +1 -0
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +30 -19
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.scss +16 -8
- package/dist/elements/DrawerActionHeader/index.d.ts +2 -1
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +41 -30
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.scss +2 -2
- package/dist/elements/FolderView/Cell/index.client.d.ts +6 -5
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +6 -3
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +4 -0
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -1
- package/dist/elements/FolderView/CollectionTypePill/index.js +20 -18
- package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +20 -14
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +9 -0
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +36 -0
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +2 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +120 -101
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +1 -1
- package/dist/elements/FolderView/Field/index.server.d.ts.map +1 -1
- package/dist/elements/FolderView/Field/index.server.js +4 -0
- package/dist/elements/FolderView/Field/index.server.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +19 -16
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +52 -41
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/ListFolderPills/index.d.ts +4 -3
- package/dist/elements/ListFolderPills/index.d.ts.map +1 -1
- package/dist/elements/ListFolderPills/index.js +5 -1
- package/dist/elements/ListFolderPills/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +75 -55
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFields.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceFields.js +1 -28
- package/dist/elements/WhereBuilder/reduceFields.js.map +1 -1
- package/dist/exports/client/index.d.ts +0 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +22 -22
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +4 -3
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +51 -51
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/providers/Folders/index.d.ts +10 -2
- package/dist/providers/Folders/index.d.ts.map +1 -1
- package/dist/providers/Folders/index.js +7 -5
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
- package/dist/views/BrowseByFolder/index.js +4 -3
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +36 -37
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.d.ts.map +1 -1
- package/dist/views/CollectionFolder/index.js +7 -4
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +5 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +2 -1
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts +0 -10
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.js +0 -55
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.js.map +0 -1
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.scss +0 -30
- package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts +0 -9
- package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Drawers/NewFolder/index.js +0 -157
- package/dist/elements/FolderView/Drawers/NewFolder/index.js.map +0 -1
- package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts +0 -13
- package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Drawers/RenameFolder/index.js +0 -140
- package/dist/elements/FolderView/Drawers/RenameFolder/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAaxE,OAAO,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAaxE,OAAO,cAAc,CAAA;AAkMrB,eAAO,MAAM,WAAW;;;;;;+EAAsC,CAAA"}
|
|
@@ -22,7 +22,7 @@ const NumberFieldComponent = props => {
|
|
|
22
22
|
admin: {
|
|
23
23
|
className,
|
|
24
24
|
description,
|
|
25
|
-
placeholder,
|
|
25
|
+
placeholder: placeholderFromProps,
|
|
26
26
|
step = 1
|
|
27
27
|
} = {},
|
|
28
28
|
hasMany = false,
|
|
@@ -111,6 +111,7 @@ const NumberFieldComponent = props => {
|
|
|
111
111
|
}
|
|
112
112
|
}, [value_0, hasMany]);
|
|
113
113
|
const styles = useMemo(() => mergeFieldStyles(field), [field]);
|
|
114
|
+
const placeholder = getTranslation(placeholderFromProps, i18n);
|
|
114
115
|
return /*#__PURE__*/_jsxs("div", {
|
|
115
116
|
className: [fieldBaseClass, 'number', className, showError && 'error', (readOnly || disabled) && 'read-only', hasMany && 'has-many'].filter(Boolean).join(' '),
|
|
116
117
|
style: styles,
|
|
@@ -154,7 +155,7 @@ const NumberFieldComponent = props => {
|
|
|
154
155
|
// numberOnly
|
|
155
156
|
onChange: handleHasManyChange,
|
|
156
157
|
options: [],
|
|
157
|
-
placeholder:
|
|
158
|
+
placeholder: placeholder,
|
|
158
159
|
showError: showError,
|
|
159
160
|
value: valueToRender
|
|
160
161
|
}) : /*#__PURE__*/_jsx("div", {
|
|
@@ -169,7 +170,7 @@ const NumberFieldComponent = props => {
|
|
|
169
170
|
// @ts-expect-error
|
|
170
171
|
e_0.target.blur();
|
|
171
172
|
},
|
|
172
|
-
placeholder:
|
|
173
|
+
placeholder: placeholder,
|
|
173
174
|
step: step,
|
|
174
175
|
type: "number",
|
|
175
176
|
value: typeof value_0 === 'number' ? value_0 : ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","name","onWheel","blur","type","NumberField"],"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/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 { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\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 {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n potentiallyStalePath: pathFromProps,\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 = null\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 || 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 [readOnly, 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 const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || 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 <input\n disabled={readOnly || 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 </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAIjE,SAASC,WAAW,QAAQ;AAC5B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,gBAAgB,QAAQ;AACjC,OAAO;AACP,SAASC,cAAc,QAAQ;AAE/B,MAAMC,oBAAA,GAAoDC,KAAA;EACxD,MAAM;IACJC,KAAK;IACLA,KAAA,EAAO;MACLC,KAAA,EAAO;QACLC,SAAS;QACTC,WAAW;QACXC,WAAW;QACXC,IAAA,GAAO;MAAC,CACT,GAAG,CAAC,CAA6C;MAClDC,OAAA,GAAU,KAAK;MACfC,KAAK;MACLC,SAAS;MACTC,GAAA,GAAMC,QAAQ;MACdC,OAAA,GAAUD,QAAQ;MAClBE,GAAA,GAAM,CAACF,QAAQ;MACfG;IAAQ,CACT;IACDC,QAAA,EAAUC,iBAAiB;IAC3BC,IAAA,EAAMC,aAAa;IACnBC,QAAQ;IACRC;EAAQ,CACT,GAAGpB,KAAA;EAEJ,MAAM;IAAEqB,IAAI;IAAEC;EAAC,CAAE,GAAG7B,cAAA;EAEpB,MAAM8B,gBAAA,GAAmBtC,WAAA,CACvB,CAACuC,KAAA,EAAOC,OAAA;IACN,IAAI,OAAOL,QAAA,KAAa,YAAY;MAClC,OAAOA,QAAA,CAASI,KAAA,EAAO;QAAE,GAAGC,OAAO;QAAEf,GAAA;QAAKG,GAAA;QAAKC;MAAS;IAC1D;EACF,GACA,CAACM,QAAA,EAAUP,GAAA,EAAKH,GAAA,EAAKI,QAAA,CAAS;EAGhC,MAAM;IACJY,gBAAA,EAAkB;MAAEC,UAAU;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK;MAAEC;IAAK,CAAE,GAAG,CAAC,CAAC;IAC7EC,QAAQ;IACRf,IAAI;IACJgB,QAAQ;IACRC,SAAS;IACTV,KAAK,EAALA;EAAK,CACN,GAAGjC,QAAA,CAA4B;IAC9B4C,oBAAA,EAAsBjB,aAAA;IACtBE,QAAA,EAAUG;EACZ;EAEA,MAAMa,YAAA,GAAenD,WAAA,CAClBoD,CAAA;IACC,MAAMC,GAAA,GAAMC,UAAA,CAAWF,CAAA,CAAEG,MAAM,CAAChB,KAAK;IACrC,IAAIiB,MAAA,GAASH,GAAA;IAEb,IAAII,MAAA,CAAOC,KAAK,CAACL,GAAA,GAAM;MACrBG,MAAA,GAAS;IACX;IAEA,IAAI,OAAOzB,iBAAA,KAAsB,YAAY;MAC3CA,iBAAA,CAAkByB,MAAA;IACpB;IAEAR,QAAA,CAASQ,MAAA;EACX,GACA,CAACzB,iBAAA,EAAmBiB,QAAA,CAAS;EAG/B,MAAM,CAACW,aAAA,EAAeC,gBAAA,CAAiB,GAAGzD,QAAA,CAExC,EAAE,EAAE;EAAA;EAEN,MAAM0D,mBAAA,GAAsB7D,WAAA,CACzB8D,cAAA;IACC,IAAI,EAAE5B,QAAA,IAAYa,QAAO,GAAI;MAC3B,IAAIgB,QAAA;MACJ,IAAI,CAACD,cAAA,EAAgB;QACnBC,QAAA,GAAW,EAAE;MACf,OAAO,IAAIC,KAAA,CAAMC,OAAO,CAACH,cAAA,GAAiB;QACxCC,QAAA,GAAWD,cAAA,CAAeI,GAAG,CAAEC,MAAA,IAAWV,MAAA,CAAOU,MAAA,CAAO5B,KAAK,EAAEA,KAAA,IAAS4B,MAAA,CAAO5B,KAAK;MACtF,OAAO;QACLwB,QAAA,GAAW,CAACN,MAAA,CAAOK,cAAA,CAAevB,KAAK,EAAEA,KAAA,IAASuB,cAAA,CAAevB,KAAK,EAAE;MAC1E;MAEAS,QAAA,CAASe,QAAA;IACX;EACF,GACA,CAAC7B,QAAA,EAAUa,QAAA,EAAUC,QAAA,CAAS;EAGhC;EACA/C,SAAA,CAAU;IACR,IAAIqB,OAAA,IAAW0C,KAAA,CAAMC,OAAO,CAAC1B,OAAA,GAAQ;MACnCqB,gBAAA,CACErB,OAAA,CAAM2B,GAAG,CAAC,CAACb,KAAA,EAAKe,KAAA;QACd,OAAO;UACLC,EAAA,EAAI,GAAGhB,KAAA,GAAMe,KAAA,EAAO;UACpB7C,KAAA,EAAO,GAAG8B,KAAA,EAAK;UACfd,KAAA,EAAO;YACL+B,QAAA,EAAUA,CAAA,KAAM,GAAGjB,KAAA,GAAMe,KAAA,EAAO;YAChC7B,KAAA,EAAOc,KAAC,EAA2Cd,KAAA,IAASc;UAC9D;QACF;MACF;IAEJ;EACF,GAAG,CAACd,OAAA,EAAOjB,OAAA,CAAQ;EAEnB,MAAMiD,MAAA,GAASrE,OAAA,CAAQ,MAAMU,gBAAA,CAAiBI,KAAA,GAAQ,CAACA,KAAA,CAAM;EAE7D,oBACEwD,KAAA,CAAC;IACCtD,SAAA,EAAW,CACTL,cAAA,EACA,UACAK,SAAA,EACA+B,SAAA,IAAa,SACZ,CAAAf,QAAA,IAAYa,QAAO,KAAM,aAC1BzB,OAAA,IAAW,WACZ,CACEmD,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;IACRC,KAAA,EAAOL,MAAA;4BAEPM,IAAA,CAACxE,qBAAA;MACCyE,eAAA,EAAiBhC,KAAA;MACjBiC,QAAA,eACEF,IAAA,CAAClE,UAAA;QAAWY,KAAA,EAAOA,KAAA;QAAOC,SAAA,EAAWA,SAAA;QAAWQ,IAAA,EAAMA,IAAA;QAAMH,QAAA,EAAUA;;qBAG1E2C,KAAA,CAAC;MAAItD,SAAA,EAAW,GAAGL,cAAA,QAAsB;8BACvCgE,IAAA,CAACxE,qBAAA;QACCyE,eAAA,EAAiBjC,KAAA;QACjBkC,QAAA,eAAUF,IAAA,CAACnE,UAAA;UAAWsB,IAAA,EAAMA,IAAA;UAAMiB,SAAA,EAAWA;;UAE9CN,WAAA,EACArB,OAAA,gBACCuD,IAAA,CAACzE,WAAA;QACCc,SAAA,EAAW,SAASc,IAAA,CAAKgD,OAAO,CAAC,OAAO,OAAO;QAC/CjC,QAAA,EAAUb,QAAA,IAAYa,QAAA;QACtBkC,YAAA,EAAcA,CAACC,CAAA,EAAGC,QAAA;UAChB,MAAMC,aAAA,GAAgBpB,KAAA,CAAMC,OAAO,CAAC1B,OAAA,KAAUA,OAAA,CAAM8C,MAAM,IAAI1D,OAAA;UAC9D,OAAO7B,QAAA,CAASqF,QAAA,KAAa,CAACC,aAAA;QAChC;QACAE,WAAW;QACXC,WAAW;QACXC,OAAO;QACPC,UAAU;QACVC,gBAAA,EAAkBA,CAAA;UAChB,MAAMN,eAAA,GAAgBpB,KAAA,CAAMC,OAAO,CAAC1B,OAAA,KAAUA,OAAA,CAAM8C,MAAM,IAAI1D,OAAA;UAC9D,IAAIyD,eAAA,EAAe;YACjB,OAAO/C,CAAA,CAAE,2BAA2B;cAAEZ,GAAA,EAAKE,OAAA;cAASY,KAAA,EAAOA,OAAA,CAAM8C,MAAM,GAAG;YAAE;UAC9E;UACA,OAAO;QACT;QACA;QACAvD,QAAA,EAAU+B,mBAAA;QACVrB,OAAA,EAAS,EAAE;QACXpB,WAAA,EAAaiB,CAAA,CAAE;QACfY,SAAA,EAAWA,SAAA;QACXV,KAAA,EAAOoB;wBAGTkB,IAAA,CAAC;kBACC,aAAAA,IAAA,CAAC;UACC9B,QAAA,EAAUb,QAAA,IAAYa,QAAA;UACtBsB,EAAA,EAAI,SAASrC,IAAA,CAAKgD,OAAO,CAAC,OAAO,OAAO;UACxCvD,GAAA,EAAKA,GAAA;UACLG,GAAA,EAAKA,GAAA;UACL+D,IAAA,EAAM3D,IAAA;UACNF,QAAA,EAAUqB,YAAA;UACVyC,OAAA,EAAUxC,GAAA;YACR;YACAA,GAAA,CAAEG,MAAM,CAACsC,IAAI;UACf;UACAzE,WAAA,EAAavB,cAAA,CAAeuB,WAAA,EAAagB,IAAA;UACzCf,IAAA,EAAMA,IAAA;UACNyE,IAAA,EAAK;UACLvD,KAAA,EAAO,OAAOA,OAAA,KAAU,WAAWA,OAAA,GAAQ;;UAIhDG,UAAA,E,aACDmC,IAAA,CAACxE,qBAAA;QACCyE,eAAA,EAAiBlC,WAAA;QACjBmC,QAAA,eAAUF,IAAA,CAACpE,gBAAA;UAAiBU,WAAA,EAAaA,WAAA;UAAaa,IAAA,EAAMA;;;;;AAKtE;AAEA,OAAO,MAAM+D,WAAA,GAAcxF,aAAA,CAAcO,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","placeholderFromProps","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","name","onWheel","blur","type","NumberField"],"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/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 { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder: placeholderFromProps,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\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 {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n potentiallyStalePath: pathFromProps,\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 = null\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 || 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 [readOnly, 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 const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const placeholder = getTranslation(placeholderFromProps, i18n)\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || 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={placeholder}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || 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={placeholder}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/Input.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAShD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/Input.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAShD,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4J9C,CAAA"}
|
|
@@ -31,7 +31,7 @@ export const TextInput = props => {
|
|
|
31
31
|
onChange,
|
|
32
32
|
onKeyDown,
|
|
33
33
|
path,
|
|
34
|
-
placeholder,
|
|
34
|
+
placeholder: placeholderFromProps,
|
|
35
35
|
readOnly,
|
|
36
36
|
required,
|
|
37
37
|
rtl,
|
|
@@ -45,25 +45,25 @@ export const TextInput = props => {
|
|
|
45
45
|
t
|
|
46
46
|
} = useTranslation();
|
|
47
47
|
const editableProps = _temp2;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
t3 =
|
|
54
|
-
|
|
55
|
-
$[
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
className: t4,
|
|
48
|
+
let t0;
|
|
49
|
+
if ($[0] !== AfterInput || $[1] !== BeforeInput || $[2] !== Description || $[3] !== Error || $[4] !== Label || $[5] !== className || $[6] !== description || $[7] !== hasMany || $[8] !== htmlAttributes || $[9] !== i18n || $[10] !== inputRef || $[11] !== label || $[12] !== localized || $[13] !== maxRows || $[14] !== onChange || $[15] !== onKeyDown || $[16] !== path || $[17] !== placeholderFromProps || $[18] !== readOnly || $[19] !== required || $[20] !== rtl || $[21] !== showError || $[22] !== style || $[23] !== t || $[24] !== value || $[25] !== valueToRender) {
|
|
50
|
+
const placeholder = getTranslation(placeholderFromProps, i18n);
|
|
51
|
+
const t1 = showError && "error";
|
|
52
|
+
const t2 = readOnly && "read-only";
|
|
53
|
+
const t3 = hasMany && "has-many";
|
|
54
|
+
let t4;
|
|
55
|
+
if ($[27] !== className || $[28] !== t1 || $[29] !== t2 || $[30] !== t3) {
|
|
56
|
+
t4 = [fieldBaseClass, "text", className, t1, t2, t3].filter(Boolean);
|
|
57
|
+
$[27] = className;
|
|
58
|
+
$[28] = t1;
|
|
59
|
+
$[29] = t2;
|
|
60
|
+
$[30] = t3;
|
|
61
|
+
$[31] = t4;
|
|
62
|
+
} else {
|
|
63
|
+
t4 = $[31];
|
|
64
|
+
}
|
|
65
|
+
t0 = _jsxs("div", {
|
|
66
|
+
className: t4.join(" "),
|
|
67
67
|
style,
|
|
68
68
|
children: [_jsx(RenderCustomComponent, {
|
|
69
69
|
CustomComponent: Label,
|
|
@@ -108,7 +108,7 @@ export const TextInput = props => {
|
|
|
108
108
|
},
|
|
109
109
|
onChange,
|
|
110
110
|
options: [],
|
|
111
|
-
placeholder
|
|
111
|
+
placeholder,
|
|
112
112
|
showError,
|
|
113
113
|
value: valueToRender
|
|
114
114
|
}) : _jsx("input", {
|
|
@@ -118,7 +118,7 @@ export const TextInput = props => {
|
|
|
118
118
|
name: path,
|
|
119
119
|
onChange,
|
|
120
120
|
onKeyDown,
|
|
121
|
-
placeholder
|
|
121
|
+
placeholder,
|
|
122
122
|
ref: inputRef,
|
|
123
123
|
type: "text",
|
|
124
124
|
value: value || "",
|
|
@@ -132,37 +132,37 @@ export const TextInput = props => {
|
|
|
132
132
|
})]
|
|
133
133
|
})]
|
|
134
134
|
});
|
|
135
|
-
$[
|
|
136
|
-
$[
|
|
137
|
-
$[
|
|
138
|
-
$[
|
|
139
|
-
$[
|
|
140
|
-
$[
|
|
141
|
-
$[
|
|
142
|
-
$[
|
|
143
|
-
$[
|
|
144
|
-
$[
|
|
145
|
-
$[
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
151
|
-
$[
|
|
152
|
-
$[
|
|
153
|
-
$[
|
|
154
|
-
$[
|
|
155
|
-
$[
|
|
156
|
-
$[
|
|
157
|
-
$[
|
|
158
|
-
$[
|
|
159
|
-
$[
|
|
160
|
-
$[
|
|
161
|
-
$[
|
|
135
|
+
$[0] = AfterInput;
|
|
136
|
+
$[1] = BeforeInput;
|
|
137
|
+
$[2] = Description;
|
|
138
|
+
$[3] = Error;
|
|
139
|
+
$[4] = Label;
|
|
140
|
+
$[5] = className;
|
|
141
|
+
$[6] = description;
|
|
142
|
+
$[7] = hasMany;
|
|
143
|
+
$[8] = htmlAttributes;
|
|
144
|
+
$[9] = i18n;
|
|
145
|
+
$[10] = inputRef;
|
|
146
|
+
$[11] = label;
|
|
147
|
+
$[12] = localized;
|
|
148
|
+
$[13] = maxRows;
|
|
149
|
+
$[14] = onChange;
|
|
150
|
+
$[15] = onKeyDown;
|
|
151
|
+
$[16] = path;
|
|
152
|
+
$[17] = placeholderFromProps;
|
|
153
|
+
$[18] = readOnly;
|
|
154
|
+
$[19] = required;
|
|
155
|
+
$[20] = rtl;
|
|
156
|
+
$[21] = showError;
|
|
157
|
+
$[22] = style;
|
|
158
|
+
$[23] = t;
|
|
159
|
+
$[24] = value;
|
|
160
|
+
$[25] = valueToRender;
|
|
161
|
+
$[26] = t0;
|
|
162
162
|
} else {
|
|
163
|
-
|
|
163
|
+
t0 = $[26];
|
|
164
164
|
}
|
|
165
|
-
return
|
|
165
|
+
return t0;
|
|
166
166
|
};
|
|
167
167
|
function _temp(event) {
|
|
168
168
|
event.currentTarget.contentEditable = "false";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","TextInput","props","$","AfterInput","BeforeInput","className","Description","description","Error","hasMany","htmlAttributes","inputRef","Label","label","localized","maxRows","onChange","onKeyDown","path","placeholder","readOnly","required","rtl","showError","style","value","valueToRender","i18n","t","editableProps","_temp2","t0","t1","t2","t3","filter","Boolean","t4","join","t5","_jsxs","children","_jsx","CustomComponent","Fallback","replace","components","DropdownIndicator","customProps","disabled","filterOption","Array","isArray","length","isClearable","isCreatable","isMulti","isSortable","menuIsOpen","noOptionsMessage","isOverHasMany","max","options","id","name","ref","type","_temp","event","currentTarget","contentEditable","data","className_0","selectProps","editableClassName","onBlur","onClick","event_0","classList","add","focus","event_1","key","remove","innerText","replaceAll","action","option","newValues","v","removedValue","preventDefault","stopPropagation"],"sources":["../../../src/fields/Text/Input.tsx"],"sourcesContent":["'use client'\nimport type { ChangeEvent } from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\nimport type { TextInputProps } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n hasMany,\n htmlAttributes,\n inputRef,\n Label,\n label,\n localized,\n maxRows,\n onChange,\n onKeyDown,\n path,\n placeholder,\n readOnly,\n required,\n rtl,\n showError,\n style,\n value,\n valueToRender,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editableProps: ReactSelectAdapterProps['customProps']['editableProps'] = (\n data,\n className,\n selectProps,\n ) => {\n const editableClassName = `${className}--editable`\n\n return {\n onBlur: (event: React.FocusEvent<HTMLDivElement>) => {\n event.currentTarget.contentEditable = 'false'\n },\n onClick: (event: React.MouseEvent<HTMLDivElement>) => {\n event.currentTarget.contentEditable = 'true'\n event.currentTarget.classList.add(editableClassName)\n event.currentTarget.focus()\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === 'Tab' || event.key === 'Escape') {\n event.currentTarget.contentEditable = 'false'\n event.currentTarget.classList.remove(editableClassName)\n data.value.value = event.currentTarget.innerText\n data.label = event.currentTarget.innerText\n\n if (data.value.value.replaceAll('\\n', '')) {\n selectProps.onChange(selectProps.value, {\n action: 'create-option',\n option: data,\n })\n } else {\n if (Array.isArray(selectProps.value)) {\n const newValues = selectProps.value.filter((v) => v.id !== data.id)\n selectProps.onChange(newValues, {\n action: 'pop-value',\n removedValue: data,\n })\n }\n }\n\n event.preventDefault()\n }\n event.stopPropagation()\n },\n }\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'text',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n components={{ DropdownIndicator: null }}\n customProps={{\n editableProps,\n }}\n disabled={readOnly}\n // prevent adding additional options if maxRows is reached\n filterOption={() =>\n !maxRows ? true : !(Array.isArray(value) && maxRows && value.length >= maxRows)\n }\n isClearable={false}\n isCreatable\n isMulti\n isSortable\n menuIsOpen={false}\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n onChange={onChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender}\n />\n ) : (\n <input\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={getTranslation(placeholder, i18n)}\n ref={inputRef}\n type=\"text\"\n value={value || ''}\n {...(htmlAttributes ?? {})}\n />\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Input.js","names":["c","_c","getTranslation","React","ReactSelect","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useTranslation","fieldBaseClass","TextInput","props","$","AfterInput","BeforeInput","className","Description","description","Error","hasMany","htmlAttributes","inputRef","Label","label","localized","maxRows","onChange","onKeyDown","path","placeholder","placeholderFromProps","readOnly","required","rtl","showError","style","value","valueToRender","i18n","t","editableProps","_temp2","t0","t1","t2","t3","t4","filter","Boolean","_jsxs","join","children","_jsx","CustomComponent","Fallback","replace","components","DropdownIndicator","customProps","disabled","filterOption","Array","isArray","length","isClearable","isCreatable","isMulti","isSortable","menuIsOpen","noOptionsMessage","isOverHasMany","max","options","id","name","ref","type","_temp","event","currentTarget","contentEditable","data","className_0","selectProps","editableClassName","onBlur","onClick","event_0","classList","add","focus","event_1","key","remove","innerText","replaceAll","action","option","newValues","v","removedValue","preventDefault","stopPropagation"],"sources":["../../../src/fields/Text/Input.tsx"],"sourcesContent":["'use client'\nimport type { ChangeEvent } from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\nimport type { TextInputProps } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport const TextInput: React.FC<TextInputProps> = (props) => {\n const {\n AfterInput,\n BeforeInput,\n className,\n Description,\n description,\n Error,\n hasMany,\n htmlAttributes,\n inputRef,\n Label,\n label,\n localized,\n maxRows,\n onChange,\n onKeyDown,\n path,\n placeholder: placeholderFromProps,\n readOnly,\n required,\n rtl,\n showError,\n style,\n value,\n valueToRender,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editableProps: ReactSelectAdapterProps['customProps']['editableProps'] = (\n data,\n className,\n selectProps,\n ) => {\n const editableClassName = `${className}--editable`\n\n return {\n onBlur: (event: React.FocusEvent<HTMLDivElement>) => {\n event.currentTarget.contentEditable = 'false'\n },\n onClick: (event: React.MouseEvent<HTMLDivElement>) => {\n event.currentTarget.contentEditable = 'true'\n event.currentTarget.classList.add(editableClassName)\n event.currentTarget.focus()\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === 'Tab' || event.key === 'Escape') {\n event.currentTarget.contentEditable = 'false'\n event.currentTarget.classList.remove(editableClassName)\n data.value.value = event.currentTarget.innerText\n data.label = event.currentTarget.innerText\n\n if (data.value.value.replaceAll('\\n', '')) {\n selectProps.onChange(selectProps.value, {\n action: 'create-option',\n option: data,\n })\n } else {\n if (Array.isArray(selectProps.value)) {\n const newValues = selectProps.value.filter((v) => v.id !== data.id)\n selectProps.onChange(newValues, {\n action: 'pop-value',\n removedValue: data,\n })\n }\n }\n\n event.preventDefault()\n }\n event.stopPropagation()\n },\n }\n }\n\n const placeholder = getTranslation(placeholderFromProps, i18n)\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'text',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={style}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n components={{ DropdownIndicator: null }}\n customProps={{\n editableProps,\n }}\n disabled={readOnly}\n // prevent adding additional options if maxRows is reached\n filterOption={() =>\n !maxRows ? true : !(Array.isArray(value) && maxRows && value.length >= maxRows)\n }\n isClearable={false}\n isCreatable\n isMulti\n isSortable\n menuIsOpen={false}\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n onChange={onChange}\n options={[]}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender}\n />\n ) : (\n <input\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=\"text\"\n value={value || ''}\n {...(htmlAttributes ?? {})}\n />\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,6 +23,10 @@ export type FolderContextValue = {
|
|
|
23
23
|
focusedRowIndex: number;
|
|
24
24
|
folderCollectionConfig: ClientCollectionConfig;
|
|
25
25
|
folderCollectionSlug: string;
|
|
26
|
+
/**
|
|
27
|
+
* Folder enabled collection slugs that can be populated within the provider
|
|
28
|
+
*/
|
|
29
|
+
readonly folderCollectionSlugs?: CollectionSlug[];
|
|
26
30
|
folderFieldName: string;
|
|
27
31
|
folderID?: number | string;
|
|
28
32
|
getSelectedItems?: () => FolderOrDocument[];
|
|
@@ -89,9 +93,13 @@ export type FolderProviderProps = {
|
|
|
89
93
|
*/
|
|
90
94
|
readonly filteredCollectionSlugs?: CollectionSlug[];
|
|
91
95
|
/**
|
|
92
|
-
* Folder enabled collection slugs
|
|
96
|
+
* Folder enabled collection slugs that can be populated within the provider
|
|
93
97
|
*/
|
|
94
98
|
readonly folderCollectionSlugs: CollectionSlug[];
|
|
99
|
+
/**
|
|
100
|
+
* The name of the field that contains the folder relation
|
|
101
|
+
*/
|
|
102
|
+
readonly folderFieldName: string;
|
|
95
103
|
/**
|
|
96
104
|
* The ID of the current folder
|
|
97
105
|
*/
|
|
@@ -113,7 +121,7 @@ export type FolderProviderProps = {
|
|
|
113
121
|
*/
|
|
114
122
|
readonly subfolders: FolderOrDocument[];
|
|
115
123
|
};
|
|
116
|
-
export declare function FolderProvider({ allowMultiSelection, breadcrumbs: _breadcrumbsFromProps, children, collectionSlug, documents: allDocumentsFromProps, filteredCollectionSlugs, folderCollectionSlugs, folderID: _folderIDFromProps, search: _searchFromProps, sort, subfolders: subfoldersFromProps, }: FolderProviderProps): React.JSX.Element;
|
|
124
|
+
export declare function FolderProvider({ allowMultiSelection, breadcrumbs: _breadcrumbsFromProps, children, collectionSlug, documents: allDocumentsFromProps, filteredCollectionSlugs, folderCollectionSlugs, folderFieldName, folderID: _folderIDFromProps, search: _searchFromProps, sort, subfolders: subfoldersFromProps, }: FolderProviderProps): React.JSX.Element;
|
|
117
125
|
export declare function useFolder(): FolderContextValue;
|
|
118
126
|
export {};
|
|
119
127
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Folders/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Folders/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ const Context = /*#__PURE__*/React.createContext({
|
|
|
21
21
|
focusedRowIndex: -1,
|
|
22
22
|
folderCollectionConfig: null,
|
|
23
23
|
folderCollectionSlug: '',
|
|
24
|
+
folderCollectionSlugs: [],
|
|
24
25
|
folderFieldName: 'folder',
|
|
25
26
|
folderID: undefined,
|
|
26
27
|
getSelectedItems: () => [],
|
|
@@ -66,6 +67,7 @@ export function FolderProvider({
|
|
|
66
67
|
documents: allDocumentsFromProps = [],
|
|
67
68
|
filteredCollectionSlugs,
|
|
68
69
|
folderCollectionSlugs = [],
|
|
70
|
+
folderFieldName,
|
|
69
71
|
folderID: _folderIDFromProps = undefined,
|
|
70
72
|
search: _searchFromProps,
|
|
71
73
|
sort,
|
|
@@ -76,7 +78,6 @@ export function FolderProvider({
|
|
|
76
78
|
config,
|
|
77
79
|
getEntityConfig
|
|
78
80
|
} = useConfig();
|
|
79
|
-
const folderFieldName = config.folders.fieldName;
|
|
80
81
|
const {
|
|
81
82
|
routes,
|
|
82
83
|
serverURL
|
|
@@ -89,7 +90,7 @@ export function FolderProvider({
|
|
|
89
90
|
const {
|
|
90
91
|
startRouteTransition
|
|
91
92
|
} = useRouteTransition();
|
|
92
|
-
const [folderCollectionConfig] = React.useState(() => config.collections.find(collection => collection.slug === config.folders.slug));
|
|
93
|
+
const [folderCollectionConfig] = React.useState(() => config.collections.find(collection => config.folders && collection.slug === config.folders.slug));
|
|
93
94
|
const folderCollectionSlug = folderCollectionConfig.slug;
|
|
94
95
|
const [isDragging, setIsDragging] = React.useState(false);
|
|
95
96
|
const [selectedIndexes, setSelectedIndexes] = React.useState(() => new Set());
|
|
@@ -640,7 +641,7 @@ export function FolderProvider({
|
|
|
640
641
|
setSubfolders(sortedSubfolders_1);
|
|
641
642
|
setAllSubfolders(sortedAllSubfolders);
|
|
642
643
|
}
|
|
643
|
-
}, [activeFolderID, documents, separateItems, sortItems, subfolders]);
|
|
644
|
+
}, [activeFolderID, documents, separateItems, sortItems, subfolders, parentFolderContext]);
|
|
644
645
|
/**
|
|
645
646
|
* Used to move items to a different folder.
|
|
646
647
|
*
|
|
@@ -724,7 +725,7 @@ export function FolderProvider({
|
|
|
724
725
|
docs
|
|
725
726
|
} = json;
|
|
726
727
|
const formattedItems = docs.map(doc => formatFolderOrDocumentItem({
|
|
727
|
-
folderFieldName
|
|
728
|
+
folderFieldName,
|
|
728
729
|
isUpload: Boolean(collectionConfig.upload),
|
|
729
730
|
relationTo: collectionSlug_1,
|
|
730
731
|
useAsTitle: collectionConfig.admin.useAsTitle,
|
|
@@ -780,7 +781,7 @@ export function FolderProvider({
|
|
|
780
781
|
}
|
|
781
782
|
}
|
|
782
783
|
clearSelections();
|
|
783
|
-
}, [folderCollectionSlug, activeFolderID, clearSelections, serverURL, routes.api, t, getFolderData, getEntityConfig, sortItems, documents, subfolders, drawerDepth, router]);
|
|
784
|
+
}, [folderCollectionSlug, activeFolderID, clearSelections, serverURL, routes.api, folderFieldName, t, getFolderData, getEntityConfig, sortItems, documents, subfolders, drawerDepth, router]);
|
|
784
785
|
/**
|
|
785
786
|
* Used to rename a folder in the current state.
|
|
786
787
|
*
|
|
@@ -839,6 +840,7 @@ export function FolderProvider({
|
|
|
839
840
|
focusedRowIndex,
|
|
840
841
|
folderCollectionConfig,
|
|
841
842
|
folderCollectionSlug,
|
|
843
|
+
folderCollectionSlugs,
|
|
842
844
|
folderFieldName,
|
|
843
845
|
folderID: activeFolderID,
|
|
844
846
|
getSelectedItems,
|