@payloadcms/ui 3.0.0-beta.100 → 3.0.0-beta.102
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/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +5 -3
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.scss +4 -4
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +13 -18
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +304 -226
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +30 -12
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +3 -6
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +3 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +5 -8
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/index.d.ts +11 -3
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +8 -2
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +1 -1
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +15 -3
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts +9 -2
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +6 -2
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +9 -2
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +10 -2
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +8 -3
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +8 -2
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +9 -2
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts +10 -3
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
- 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 +10 -2
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +8 -2
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +2 -2
- 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 +9 -2
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts +10 -2
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +6 -2
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts +10 -2
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +11 -2
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +18 -11
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +8 -1
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/index.d.ts +3 -3
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/index.scss +3 -0
- package/dist/hooks/useThrottledEffect.d.ts +7 -0
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +7 -0
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +6 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +26 -18
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +9 -4
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useState","useFieldProps","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextFieldComponent","props","$","field","t0","inputRef","readOnly","readOnlyFromTopLevelProps","validate","name","_path","pathFromProps","admin","t1","hasMany","label","localized","maxLength","maxRows","minLength","minRows","required","t2","undefined","className","description","placeholder","readOnlyFromAdmin","rtl","style","width","readOnlyFromProps","locale","config","t3","localization","localizationConfig","t4","value","options","memoizedValidate","path","pathFromContext","readOnlyFromContext","t5","t6","formInitializing","formProcessing","setValue","showError","value_0","disabled","renderRTL","fieldLocalized","fieldRTL","t7","Symbol","for","valueToRender","setValueToRender","t8","selectedOption","newValue","Array","isArray","map","option","handleHasManyChange","t9","t10","val","index","id","toString","t11","e","target","_jsx","afterInput","components","beforeInput","Description","Error","Label","onChange","TextField"],"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldProps } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport './index.scss'\nimport { TextInput } from './Input.js'\n\nexport { TextInput, TextInputProps }\n\nconst TextFieldComponent: React.FC<TextFieldProps> = (props) => {\n const {\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n placeholder,\n readOnly: readOnlyFromAdmin,\n rtl,\n style,\n width,\n } = {},\n hasMany,\n label,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n required,\n },\n inputRef,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const locale = useLocale()\n\n const {\n config: { localization: localizationConfig },\n } = useConfig()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxLength, minLength, required })\n }\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!disabled) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [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 // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n className={className}\n Description={field?.admin?.components?.Description}\n description={description}\n Error={field?.admin?.components?.Error}\n field={field}\n hasMany={hasMany}\n inputRef={inputRef}\n Label={field?.admin?.components?.Label}\n label={label}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={disabled}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const TextField = withCondition(TextFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useState","useFieldProps","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextFieldComponent","props","$","field","t0","inputRef","readOnly","readOnlyFromTopLevelProps","validate","name","_path","pathFromProps","admin","t1","hasMany","label","localized","maxLength","maxRows","minLength","minRows","required","t2","undefined","className","description","placeholder","readOnlyFromAdmin","rtl","style","width","readOnlyFromProps","locale","config","t3","localization","localizationConfig","t4","value","options","memoizedValidate","path","pathFromContext","readOnlyFromContext","t5","t6","formInitializing","formProcessing","setValue","showError","value_0","disabled","renderRTL","fieldLocalized","fieldRTL","t7","Symbol","for","valueToRender","setValueToRender","t8","selectedOption","newValue","Array","isArray","map","option","handleHasManyChange","t9","t10","val","index","id","toString","t11","e","target","_jsx","afterInput","components","beforeInput","Description","Error","Label","onChange","TextField"],"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { TextFieldClientComponent } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport './index.scss'\nimport { TextInput } from './Input.js'\n\nexport { TextInput, TextInputProps }\n\nconst TextFieldComponent: TextFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n placeholder,\n readOnly: readOnlyFromAdmin,\n rtl,\n style,\n width,\n } = {},\n hasMany,\n label,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n required,\n },\n inputRef,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const locale = useLocale()\n\n const {\n config: { localization: localizationConfig },\n } = useConfig()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxLength, minLength, required })\n }\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!disabled) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [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 // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n className={className}\n Description={field?.admin?.components?.Description}\n description={description}\n Error={field?.admin?.components?.Error}\n field={field}\n hasMany={hasMany}\n inputRef={inputRef}\n Label={field?.admin?.components?.Label}\n label={label}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={disabled}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const TextField = withCondition(TextFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TextareaFieldValidation } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { TextAreaInputProps } from './types.js';
|
|
4
4
|
import './index.scss';
|
|
5
5
|
import { TextareaInput } from './Input.js';
|
|
6
6
|
export { TextareaInput, TextAreaInputProps };
|
|
7
|
-
export declare const TextareaField: React.FC<
|
|
7
|
+
export declare const TextareaField: React.FC<{
|
|
8
|
+
readonly inputRef?: React.Ref<HTMLInputElement>;
|
|
9
|
+
readonly onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
|
|
10
|
+
readonly validate?: TextareaFieldValidation;
|
|
11
|
+
} & {
|
|
12
|
+
readonly descriptionProps?: import("payload").FieldDescriptionClientProps<Omit<import("payload").TextareaFieldClient, "type"> & Partial<Pick<import("payload").TextareaFieldClient, "type">>>;
|
|
13
|
+
readonly errorProps?: import("payload").FieldErrorClientProps<Omit<import("payload").TextareaFieldClient, "type"> & Partial<Pick<import("payload").TextareaFieldClient, "type">>>;
|
|
14
|
+
readonly field: Omit<import("payload").TextareaFieldClient, "type"> & Partial<Pick<import("payload").TextareaFieldClient, "type">>;
|
|
15
|
+
readonly labelProps?: import("payload").FieldLabelClientProps<Omit<import("payload").TextareaFieldClient, "type"> & Partial<Pick<import("payload").TextareaFieldClient, "type">>>;
|
|
16
|
+
} & import("payload").FormFieldBase>;
|
|
8
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgC,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAGpF,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAQpD,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAA;AA+F5C,eAAO,MAAM,aAAa;;;;;;;;;oCAAwC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","useFieldProps","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","TextareaFieldComponent","props","$","descriptionProps","errorProps","field","t0","labelProps","locale","readOnly","readOnlyFromTopLevelProps","validate","name","_path","pathFromProps","admin","t1","label","localized","maxLength","minLength","required","t2","undefined","className","description","placeholder","readOnlyFromAdmin","rows","rtl","style","width","readOnlyFromProps","i18n","config","t3","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","t4","value","options","memoizedValidate","path","pathFromContext","readOnlyFromContext","t5","t6","formInitializing","formProcessing","setValue","showError","value_0","disabled","t7","e","target","_jsx","afterInput","components","beforeInput","Description","Error","Label","onChange","TextareaField"],"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type {
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","useFieldProps","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","TextareaFieldComponent","props","$","descriptionProps","errorProps","field","t0","labelProps","locale","readOnly","readOnlyFromTopLevelProps","validate","name","_path","pathFromProps","admin","t1","label","localized","maxLength","minLength","required","t2","undefined","className","description","placeholder","readOnlyFromAdmin","rows","rtl","style","width","readOnlyFromProps","i18n","config","t3","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","t4","value","options","memoizedValidate","path","pathFromContext","readOnlyFromContext","t5","t6","formInitializing","formProcessing","setValue","showError","value_0","disabled","t7","e","target","_jsx","afterInput","components","beforeInput","Description","Error","Label","onChange","TextareaField"],"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { TextareaFieldClientComponent, TextareaFieldValidation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport './index.scss'\nimport { TextareaInput } from './Input.js'\n\nexport { TextareaInput, TextAreaInputProps }\n\nconst TextareaFieldComponent: TextareaFieldClientComponent = (props) => {\n const {\n descriptionProps,\n errorProps,\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n className,\n description,\n placeholder,\n readOnly: readOnlyFromAdmin,\n rows,\n rtl,\n style,\n width,\n } = {},\n label,\n localized,\n maxLength,\n minLength,\n required,\n },\n labelProps,\n locale,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { i18n } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const isRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localization || undefined,\n })\n\n const memoizedValidate: TextareaFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxLength, minLength, required })\n }\n },\n [validate, required, maxLength, minLength],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<string>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <TextareaInput\n afterInput={field?.admin?.components?.afterInput}\n beforeInput={field?.admin?.components?.beforeInput}\n className={className}\n Description={field?.admin?.components?.Description}\n description={description}\n descriptionProps={descriptionProps}\n Error={field?.admin?.components?.Error}\n errorProps={errorProps}\n Label={field?.admin?.components?.Label}\n label={label}\n labelProps={labelProps}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n required={required}\n rows={rows}\n rtl={isRTL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const TextareaField = withCondition(TextareaFieldComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,EAAE,CAAA;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AACD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,EAAE,CAAA;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AACD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,qBAkGlD"}
|
|
@@ -63,7 +63,7 @@ export function UploadComponentHasMany(props) {
|
|
|
63
63
|
}
|
|
64
64
|
const t3 = t2.join(" ");
|
|
65
65
|
let t4;
|
|
66
|
-
if ($[8] !== fileDocs || $[9] !== moveRow || $[10] !==
|
|
66
|
+
if ($[8] !== fileDocs || $[9] !== moveRow || $[10] !== serverURL || $[11] !== isSortable || $[12] !== readonly || $[13] !== removeItem || $[14] !== t3) {
|
|
67
67
|
let t5;
|
|
68
68
|
if ($[16] !== moveRow) {
|
|
69
69
|
t5 = t6 => {
|
|
@@ -79,13 +79,20 @@ export function UploadComponentHasMany(props) {
|
|
|
79
79
|
t5 = $[17];
|
|
80
80
|
}
|
|
81
81
|
let t6;
|
|
82
|
-
if ($[18] !==
|
|
82
|
+
if ($[18] !== serverURL || $[19] !== isSortable || $[20] !== readonly || $[21] !== removeItem) {
|
|
83
83
|
t6 = (t7, index_0) => {
|
|
84
84
|
const {
|
|
85
85
|
relationTo,
|
|
86
86
|
value: value_0
|
|
87
87
|
} = t7;
|
|
88
88
|
const id = String(value_0.id);
|
|
89
|
+
const url = value_0.thumbnailURL || value_0.url;
|
|
90
|
+
let src;
|
|
91
|
+
try {
|
|
92
|
+
src = new URL(url, serverURL).toString();
|
|
93
|
+
} catch {
|
|
94
|
+
src = `${serverURL}${url}`;
|
|
95
|
+
}
|
|
89
96
|
return _jsx(DraggableSortableItem, {
|
|
90
97
|
disabled: !isSortable,
|
|
91
98
|
id,
|
|
@@ -114,7 +121,7 @@ export function UploadComponentHasMany(props) {
|
|
|
114
121
|
id,
|
|
115
122
|
mimeType: value_0?.mimeType,
|
|
116
123
|
onRemove: () => removeItem(index_0),
|
|
117
|
-
src
|
|
124
|
+
src,
|
|
118
125
|
withMeta: false,
|
|
119
126
|
x: value_0?.width,
|
|
120
127
|
y: value_0?.height
|
|
@@ -123,10 +130,10 @@ export function UploadComponentHasMany(props) {
|
|
|
123
130
|
})
|
|
124
131
|
}, id);
|
|
125
132
|
};
|
|
126
|
-
$[18] =
|
|
127
|
-
$[19] =
|
|
128
|
-
$[20] =
|
|
129
|
-
$[21] =
|
|
133
|
+
$[18] = serverURL;
|
|
134
|
+
$[19] = isSortable;
|
|
135
|
+
$[20] = readonly;
|
|
136
|
+
$[21] = removeItem;
|
|
130
137
|
$[22] = t6;
|
|
131
138
|
} else {
|
|
132
139
|
t6 = $[22];
|
|
@@ -142,10 +149,10 @@ export function UploadComponentHasMany(props) {
|
|
|
142
149
|
});
|
|
143
150
|
$[8] = fileDocs;
|
|
144
151
|
$[9] = moveRow;
|
|
145
|
-
$[10] =
|
|
146
|
-
$[11] =
|
|
147
|
-
$[12] =
|
|
148
|
-
$[13] =
|
|
152
|
+
$[10] = serverURL;
|
|
153
|
+
$[11] = isSortable;
|
|
154
|
+
$[12] = readonly;
|
|
155
|
+
$[13] = removeItem;
|
|
149
156
|
$[14] = t3;
|
|
150
157
|
$[15] = t4;
|
|
151
158
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","DraggableSortableItem","DraggableSortable","DragHandleIcon","RelationshipContent","UploadCard","baseClass","UploadComponentHasMany","props","$","className","fileDocs","isSortable","onRemove","onReorder","readonly","serverURL","t0","moveFromIndex","moveToIndex","updatedArray","item","splice","moveRow","t1","index","updatedArray_0","length","removeItem","t2","filter","Boolean","t3","join","t4","t5","t6","moveFromIndex_0","moveToIndex_0","t7","index_0","relationTo","value","value_0","id","String","_jsx","disabled","children","draggableSortableItemProps","ref","setNodeRef","style","transform","transition","zIndex","isDragging","undefined","_jsxs","size","attributes","listeners","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","mimeType","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","DraggableSortableItem","DraggableSortable","DragHandleIcon","RelationshipContent","UploadCard","baseClass","UploadComponentHasMany","props","$","className","fileDocs","isSortable","onRemove","onReorder","readonly","serverURL","t0","moveFromIndex","moveToIndex","updatedArray","item","splice","moveRow","t1","index","updatedArray_0","length","removeItem","t2","filter","Boolean","t3","join","t4","t5","t6","moveFromIndex_0","moveToIndex_0","t7","index_0","relationTo","value","value_0","id","String","url","thumbnailURL","src","toString","_jsx","disabled","children","draggableSortableItemProps","ref","setNodeRef","style","transform","transition","zIndex","isDragging","undefined","_jsxs","size","attributes","listeners","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","mimeType","withMeta","x","width","y","height","ids","map","_temp","onDragEnd"],"sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"sourcesContent":["'use client'\nimport type { JsonObject } from 'payload'\n\nimport React from 'react'\n\nimport { DraggableSortableItem } from '../../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../../elements/DraggableSortable/index.js'\nimport { DragHandleIcon } from '../../../icons/DragHandle/index.js'\nimport { RelationshipContent } from '../RelationshipContent/index.js'\nimport { UploadCard } from '../UploadCard/index.js'\n\nconst baseClass = 'upload upload--has-many'\n\nimport './index.scss'\n\ntype Props = {\n readonly className?: string\n readonly fileDocs: {\n relationTo: string\n value: JsonObject\n }[]\n readonly isSortable?: boolean\n readonly onRemove?: (value) => void\n readonly onReorder?: (value) => void\n readonly readonly?: boolean\n readonly serverURL: string\n}\nexport function UploadComponentHasMany(props: Props) {\n const { className, fileDocs, isSortable, onRemove, onReorder, readonly, serverURL } = props\n\n const moveRow = React.useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n if (moveFromIndex === moveToIndex) {\n return\n }\n\n const updatedArray = [...fileDocs]\n const [item] = updatedArray.splice(moveFromIndex, 1)\n\n updatedArray.splice(moveToIndex, 0, item)\n\n onReorder(updatedArray)\n },\n [fileDocs, onReorder],\n )\n\n const removeItem = React.useCallback(\n (index: number) => {\n const updatedArray = [...(fileDocs || [])]\n updatedArray.splice(index, 1)\n onRemove(updatedArray.length === 0 ? [] : updatedArray)\n },\n [fileDocs, onRemove],\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={fileDocs?.map(({ value }) => String(value.id))}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {fileDocs.map(({ relationTo, value }, index) => {\n const id = String(value.id)\n const url: string = value.thumbnailURL || value.url\n let src: string\n\n try {\n src = new URL(url, serverURL).toString()\n } catch {\n src = `${serverURL}${url}`\n }\n\n return (\n <DraggableSortableItem disabled={!isSortable} id={id} key={id}>\n {(draggableSortableItemProps) => (\n <div\n className={[\n `${baseClass}__dragItem`,\n draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={draggableSortableItemProps.setNodeRef}\n style={{\n transform: draggableSortableItemProps.transform,\n transition: draggableSortableItemProps.transition,\n zIndex: draggableSortableItemProps.isDragging ? 1 : undefined,\n }}\n >\n <UploadCard size=\"small\">\n {isSortable && draggableSortableItemProps && (\n <div\n className={`${baseClass}__drag`}\n {...draggableSortableItemProps.attributes}\n {...draggableSortableItemProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n\n <RelationshipContent\n allowEdit={!readonly}\n allowRemove={!readonly}\n alt={(value?.alt || value?.filename) as string}\n byteSize={value.filesize as number}\n collectionSlug={relationTo}\n filename={value.filename as string}\n id={id}\n mimeType={value?.mimeType as string}\n onRemove={() => removeItem(index)}\n src={src}\n withMeta={false}\n x={value?.width as number}\n y={value?.height as number}\n />\n </UploadCard>\n </div>\n )}\n </DraggableSortableItem>\n )\n })}\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasOne/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,CAAA;IACD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasOne/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,CAAA;IACD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,qBAgCjD"}
|
|
@@ -19,6 +19,13 @@ export function UploadComponentHasOne(props) {
|
|
|
19
19
|
value
|
|
20
20
|
} = fileDoc;
|
|
21
21
|
const id = String(value.id);
|
|
22
|
+
const url = value.thumbnailURL || value.url;
|
|
23
|
+
let src;
|
|
24
|
+
try {
|
|
25
|
+
src = new URL(url, serverURL).toString();
|
|
26
|
+
} catch {
|
|
27
|
+
src = `${serverURL}${url}`;
|
|
28
|
+
}
|
|
22
29
|
return /*#__PURE__*/_jsx(UploadCard, {
|
|
23
30
|
className: [baseClass, className].filter(Boolean).join(' '),
|
|
24
31
|
children: /*#__PURE__*/_jsx(RelationshipContent, {
|
|
@@ -31,7 +38,7 @@ export function UploadComponentHasOne(props) {
|
|
|
31
38
|
id: id,
|
|
32
39
|
mimeType: value?.mimeType,
|
|
33
40
|
onRemove: onRemove,
|
|
34
|
-
src:
|
|
41
|
+
src: src,
|
|
35
42
|
x: value?.width,
|
|
36
43
|
y: value?.height
|
|
37
44
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","RelationshipContent","UploadCard","baseClass","UploadComponentHasOne","props","className","fileDoc","onRemove","readonly","serverURL","relationTo","value","id","String","_jsx","filter","Boolean","join","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","mimeType","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","RelationshipContent","UploadCard","baseClass","UploadComponentHasOne","props","className","fileDoc","onRemove","readonly","serverURL","relationTo","value","id","String","url","thumbnailURL","src","URL","toString","_jsx","filter","Boolean","join","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","mimeType","x","width","y","height"],"sources":["../../../../src/fields/Upload/HasOne/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport React from 'react'\n\nimport { RelationshipContent } from '../RelationshipContent/index.js'\nimport { UploadCard } from '../UploadCard/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload upload--has-one'\n\ntype Props = {\n readonly className?: string\n readonly fileDoc: {\n relationTo: string\n value: JsonObject\n }\n readonly onRemove?: () => void\n readonly readonly?: boolean\n readonly serverURL: string\n}\n\nexport function UploadComponentHasOne(props: Props) {\n const { className, fileDoc, onRemove, readonly, serverURL } = props\n const { relationTo, value } = fileDoc\n const id = String(value.id)\n\n const url: string = value.thumbnailURL || value.url\n let src: string\n\n try {\n src = new URL(url, serverURL).toString()\n } catch {\n src = `${serverURL}${url}`\n }\n\n return (\n <UploadCard className={[baseClass, className].filter(Boolean).join(' ')}>\n <RelationshipContent\n allowEdit={!readonly}\n allowRemove={!readonly}\n alt={(value?.alt || value?.filename) as string}\n byteSize={value.filesize as number}\n collectionSlug={relationTo}\n filename={value.filename as string}\n id={id}\n mimeType={value?.mimeType as string}\n onRemove={onRemove}\n src={src}\n x={value?.width as number}\n y={value?.height as number}\n />\n </UploadCard>\n )\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,MAAW;AAElB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAalB,OAAO,SAASC,sBAAsBC,KAAY;EAChD,MAAM;IAAEC,SAAS;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC;EAAS,CAAE,GAAGL,KAAA;EAC9D,MAAM;IAAEM,UAAU;IAAEC;EAAK,CAAE,GAAGL,OAAA;EAC9B,MAAMM,EAAA,GAAKC,MAAA,CAAOF,KAAA,CAAMC,EAAE;EAE1B,MAAME,GAAA,GAAcH,KAAA,CAAMI,YAAY,IAAIJ,KAAA,CAAMG,GAAG;EACnD,IAAIE,GAAA;EAEJ,IAAI;IACFA,GAAA,GAAM,IAAIC,GAAA,CAAIH,GAAA,EAAKL,SAAA,EAAWS,QAAQ;EACxC,EAAE,MAAM;IACNF,GAAA,GAAM,GAAGP,SAAA,GAAYK,GAAA,EAAK;EAC5B;EAEA,oBACEK,IAAA,CAAClB,UAAA;IAAWI,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACe,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cACjE,aAAAH,IAAA,CAACnB,mBAAA;MACCuB,SAAA,EAAW,CAACf,QAAA;MACZgB,WAAA,EAAa,CAAChB,QAAA;MACdiB,GAAA,EAAMd,KAAA,EAAOc,GAAA,IAAOd,KAAA,EAAOe,QAAA;MAC3BC,QAAA,EAAUhB,KAAA,CAAMiB,QAAQ;MACxBC,cAAA,EAAgBnB,UAAA;MAChBgB,QAAA,EAAUf,KAAA,CAAMe,QAAQ;MACxBd,EAAA,EAAIA,EAAA;MACJkB,QAAA,EAAUnB,KAAA,EAAOmB,QAAA;MACjBvB,QAAA,EAAUA,QAAA;MACVS,GAAA,EAAKA,GAAA;MACLe,CAAA,EAAGpB,KAAA,EAAOqB,KAAA;MACVC,CAAA,EAAGtB,KAAA,EAAOuB;;;AAIlB","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UploadFieldClientProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
export { UploadInput } from './Input.js';
|
|
5
5
|
export type { UploadInputProps } from './Input.js';
|
|
6
6
|
export declare const baseClass = "upload";
|
|
7
|
-
export declare function UploadComponent(props:
|
|
8
|
-
export declare const UploadField: React.FC<
|
|
7
|
+
export declare function UploadComponent(props: UploadFieldClientProps): React.JSX.Element;
|
|
8
|
+
export declare const UploadField: React.FC<UploadFieldClientProps>;
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,SAAS,WAAW,CAAA;AAEjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,qBAqE5D;AAED,eAAO,MAAM,WAAW,kCAAiC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useField","withCondition","useConfig","UploadInput","baseClass","UploadComponent","props","$","field","t0","readOnly","readOnlyFromTopLevelProps","validate","_path","admin","t1","hasMany","label","maxRows","relationTo","required","t2","undefined","className","isSortable","readOnlyFromAdmin","style","width","readOnlyFromProps","config","t3","value","options","memoizedValidate","t4","path","filterOptions","formInitializing","formProcessing","readOnlyFromField","setValue","showError","value_0","disabled","t5","components","Description","t6","description","t7","Error","t8","Label","t9","routes","api","serverURL","_jsx","onChange","UploadField"],"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport type {
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useField","withCondition","useConfig","UploadInput","baseClass","UploadComponent","props","$","field","t0","readOnly","readOnlyFromTopLevelProps","validate","_path","admin","t1","hasMany","label","maxRows","relationTo","required","t2","undefined","className","isSortable","readOnlyFromAdmin","style","width","readOnlyFromProps","config","t3","value","options","memoizedValidate","t4","path","filterOptions","formInitializing","formProcessing","readOnlyFromField","setValue","showError","value_0","disabled","t5","components","Description","t6","description","t7","Error","t8","Label","t9","routes","api","serverURL","_jsx","onChange","UploadField"],"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadFieldClientProps } from 'payload'\n\nimport React from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport './index.scss'\nimport { UploadInput } from './Input.js'\n\nexport { UploadInput } from './Input.js'\nexport type { UploadInputProps } from './Input.js'\n\nexport const baseClass = 'upload'\n\nexport function UploadComponent(props: UploadFieldClientProps) {\n const {\n field: {\n _path,\n admin: { className, isSortable, readOnly: readOnlyFromAdmin, style, width } = {},\n hasMany,\n label,\n maxRows,\n relationTo,\n required,\n },\n field,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { config } = useConfig()\n\n const memoizedValidate = React.useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n const {\n filterOptions,\n formInitializing,\n formProcessing,\n path,\n readOnly: readOnlyFromField,\n setValue,\n showError,\n value,\n } = useField<string | string[]>({\n path: _path,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromField || formProcessing || formInitializing\n\n return (\n <UploadInput\n api={config.routes.api}\n className={className}\n Description={field?.admin?.components?.Description}\n description={field?.admin?.description}\n Error={field?.admin?.components?.Error}\n field={field}\n filterOptions={filterOptions}\n hasMany={hasMany}\n isSortable={isSortable}\n Label={field?.admin?.components?.Label}\n label={label}\n maxRows={maxRows}\n onChange={setValue}\n path={path}\n readOnly={disabled}\n relationTo={relationTo}\n required={required}\n serverURL={config.serverURL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const UploadField = withCondition(UploadComponent)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
&__dropzoneContent {
|
|
11
11
|
display: flex;
|
|
12
|
+
flex-wrap: wrap;
|
|
13
|
+
gap: base(0.4);
|
|
12
14
|
justify-content: space-between;
|
|
13
15
|
width: 100%;
|
|
14
16
|
}
|
|
@@ -34,6 +36,7 @@
|
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
&__dragAndDropText {
|
|
39
|
+
flex-shrink: 0;
|
|
37
40
|
margin: 0;
|
|
38
41
|
text-transform: lowercase;
|
|
39
42
|
align-self: center;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
type useThrottledEffect = (callback: React.EffectCallback, delay: number, deps: React.DependencyList) => void;
|
|
3
|
+
/**
|
|
4
|
+
* A hook that will throttle the execution of a callback function inside a useEffect.
|
|
5
|
+
* This is useful for things like throttling loading states or other UI updates.
|
|
6
|
+
* @param callback The callback function to be executed.
|
|
7
|
+
* @param delay The delay in milliseconds to throttle the callback.
|
|
8
|
+
* @param deps The dependencies to watch for changes.
|
|
9
|
+
*/
|
|
3
10
|
export declare const useThrottledEffect: useThrottledEffect;
|
|
4
11
|
export {};
|
|
5
12
|
//# sourceMappingURL=useThrottledEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThrottledEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useThrottledEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,KAAK,kBAAkB,GAAG,CACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,cAAc,KACvB,IAAI,CAAA;AAET,eAAO,MAAM,kBAAkB,EAAE,kBAkBhC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useThrottledEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useThrottledEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,KAAK,kBAAkB,GAAG,CACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,cAAc,KACvB,IAAI,CAAA;AAET;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAkBhC,CAAA"}
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useRef } from 'react';
|
|
5
|
+
/**
|
|
6
|
+
* A hook that will throttle the execution of a callback function inside a useEffect.
|
|
7
|
+
* This is useful for things like throttling loading states or other UI updates.
|
|
8
|
+
* @param callback The callback function to be executed.
|
|
9
|
+
* @param delay The delay in milliseconds to throttle the callback.
|
|
10
|
+
* @param deps The dependencies to watch for changes.
|
|
11
|
+
*/
|
|
5
12
|
export const useThrottledEffect = (callback, delay, t0) => {
|
|
6
13
|
const $ = _c(9);
|
|
7
14
|
let t1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThrottledEffect.js","names":["c","_c","useEffect","useRef","useThrottledEffect","callback","delay","t0","$","t1","undefined","deps","t2","Symbol","for","Date","now","lastRan","t3","handler","setTimeout","current","clearTimeout","t4"],"sources":["../../src/hooks/useThrottledEffect.ts"],"sourcesContent":["'use client'\nimport type React from 'react'\n\nimport { useEffect, useRef } from 'react'\n\ntype useThrottledEffect = (\n callback: React.EffectCallback,\n delay: number,\n deps: React.DependencyList,\n) => void\n\nexport const useThrottledEffect: useThrottledEffect = (callback, delay, deps = []) => {\n const lastRan = useRef(Date.now())\n\n useEffect(() => {\n const handler = setTimeout(\n () => {\n if (Date.now() - lastRan.current >= delay) {\n callback()\n lastRan.current = Date.now()\n }\n },\n delay - (Date.now() - lastRan.current),\n )\n\n return () => {\n clearTimeout(handler)\n }\n }, [delay, ...deps])\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAQlC,OAAO,MAAMC,kBAAA,GAAyCA,CAAAC,QAAA,EAAAC,KAAA,EAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAD,CAAA,QAAAD,EAAA;IAAkBE,EAAA,GAAAF,EAAS,KAAAG,SAAA,QAATH,EAAS;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAC,EAAA;EAAA;IAAAA,EAAA,GAAAD,CAAA;EAAA;EAAT,MAAAG,IAAA,GAAAF,EAAS;EAAA,IAAAG,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IACxDF,EAAA,GAAAG,IAAA,CAAAC,GAAA,CAAQ;IAAAR,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAA/B,MAAAS,OAAA,GAAgBd,MAAA,CAAOS,EAAQ;EAAA,IAAAM,EAAA;EAAA,IAAAV,CAAA,QAAAF,KAAA,IAAAE,CAAA,QAAAH,QAAA;IAErBa,EAAA,GAAAA,CAAA;MACR,MAAAC,OAAA,GAAgBC,UAAA;QAAA,IAERL,IAAA,CAAAC,GAAA,CAAQ,IAAKC,OAAA,CAAAI,OAAe,IAAIf,KAAA;UAClCD,QAAA;UACAY,OAAA,CAAAI,OAAA,GAAkBN,IAAA,CAAAC,GAAA,CAAQ;QAAA;MAAA,GAG9BV,KAAA,IAASS,IAAA,CAAAC,GAAA,CAAQ,IAAKC,OAAA,CAAAI,OAAe,CAAD;MAAA;QAIpCC,YAAA,CAAaH,OAAA;MAAA;IAAA;IAEjBX,CAAA,MAAAF,KAAA;IAAAE,CAAA,MAAAH,QAAA;IAAAG,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAe,EAAA;EAAA,IAAAf,CAAA,QAAAF,KAAA,IAAAE,CAAA,QAAAG,IAAA;IAAGY,EAAA,IAACjB,KAAA,KAAUK,IAAA;IAAKH,CAAA,MAAAF,KAAA;IAAAE,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAdnBN,SAAA,CAAUgB,EAcV,EAAGK,EAAgB;AAAA,CACrB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useThrottledEffect.js","names":["c","_c","useEffect","useRef","useThrottledEffect","callback","delay","t0","$","t1","undefined","deps","t2","Symbol","for","Date","now","lastRan","t3","handler","setTimeout","current","clearTimeout","t4"],"sources":["../../src/hooks/useThrottledEffect.ts"],"sourcesContent":["'use client'\nimport type React from 'react'\n\nimport { useEffect, useRef } from 'react'\n\ntype useThrottledEffect = (\n callback: React.EffectCallback,\n delay: number,\n deps: React.DependencyList,\n) => void\n\n/**\n * A hook that will throttle the execution of a callback function inside a useEffect.\n * This is useful for things like throttling loading states or other UI updates.\n * @param callback The callback function to be executed.\n * @param delay The delay in milliseconds to throttle the callback.\n * @param deps The dependencies to watch for changes.\n */\nexport const useThrottledEffect: useThrottledEffect = (callback, delay, deps = []) => {\n const lastRan = useRef(Date.now())\n\n useEffect(() => {\n const handler = setTimeout(\n () => {\n if (Date.now() - lastRan.current >= delay) {\n callback()\n lastRan.current = Date.now()\n }\n },\n delay - (Date.now() - lastRan.current),\n )\n\n return () => {\n clearTimeout(handler)\n }\n }, [delay, ...deps])\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAQlC;;;;;;;AAOA,OAAO,MAAMC,kBAAA,GAAyCA,CAAAC,QAAA,EAAAC,KAAA,EAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAD,CAAA,QAAAD,EAAA;IAAkBE,EAAA,GAAAF,EAAS,KAAAG,SAAA,QAATH,EAAS;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAC,EAAA;EAAA;IAAAA,EAAA,GAAAD,CAAA;EAAA;EAAT,MAAAG,IAAA,GAAAF,EAAS;EAAA,IAAAG,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IACxDF,EAAA,GAAAG,IAAA,CAAAC,GAAA,CAAQ;IAAAR,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAA/B,MAAAS,OAAA,GAAgBd,MAAA,CAAOS,EAAQ;EAAA,IAAAM,EAAA;EAAA,IAAAV,CAAA,QAAAF,KAAA,IAAAE,CAAA,QAAAH,QAAA;IAErBa,EAAA,GAAAA,CAAA;MACR,MAAAC,OAAA,GAAgBC,UAAA;QAAA,IAERL,IAAA,CAAAC,GAAA,CAAQ,IAAKC,OAAA,CAAAI,OAAe,IAAIf,KAAA;UAClCD,QAAA;UACAY,OAAA,CAAAI,OAAA,GAAkBN,IAAA,CAAAC,GAAA,CAAQ;QAAA;MAAA,GAG9BV,KAAA,IAASS,IAAA,CAAAC,GAAA,CAAQ,IAAKC,OAAA,CAAAI,OAAe,CAAD;MAAA;QAIpCC,YAAA,CAAaH,OAAA;MAAA;IAAA;IAEjBX,CAAA,MAAAF,KAAA;IAAAE,CAAA,MAAAH,QAAA;IAAAG,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAe,EAAA;EAAA,IAAAf,CAAA,QAAAF,KAAA,IAAAE,CAAA,QAAAG,IAAA;IAAGY,EAAA,IAACjB,KAAA,KAAUK,IAAA;IAAKH,CAAA,MAAAF,KAAA;IAAAE,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAdnBN,SAAA,CAAUgB,EAcV,EAAGK,EAAgB;AAAA,CACrB","ignoreList":[]}
|
|
@@ -15,6 +15,7 @@ type ContextHandlers = {
|
|
|
15
15
|
handleSearchChange?: (search: string) => Promise<void>;
|
|
16
16
|
handleSortChange?: (sort: string) => Promise<void>;
|
|
17
17
|
handleWhereChange?: (where: Where) => Promise<void>;
|
|
18
|
+
params: RefineOverrides;
|
|
18
19
|
};
|
|
19
20
|
export type ListQueryProps = {
|
|
20
21
|
readonly children: React.ReactNode;
|
|
@@ -22,6 +23,11 @@ export type ListQueryProps = {
|
|
|
22
23
|
readonly defaultLimit?: number;
|
|
23
24
|
readonly defaultSort?: string;
|
|
24
25
|
readonly modifySearchParams?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Used to manage the query params manually. If you pass this prop, the provider will not manage the query params from the searchParams.
|
|
28
|
+
* Useful for modals or other components that need to manage the query params themselves.
|
|
29
|
+
*/
|
|
30
|
+
readonly params?: RefineOverrides;
|
|
25
31
|
readonly preferenceKey?: string;
|
|
26
32
|
} & PropHandlers;
|
|
27
33
|
export type ListQueryContext = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAsE,MAAM,OAAO,CAAA;AAE1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,YAAY,GAAG;IAClB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC3D,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,EAAE,eAAe,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC,GAAG,YAAY,CAAA;AAEhB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACzD,GAAG,eAAe,CAAA;AAInB,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA;AAEvE,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4KtD,CAAA"}
|
|
@@ -4,7 +4,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
import { useRouter } from 'next/navigation.js';
|
|
5
5
|
import { isNumber } from 'payload/shared';
|
|
6
6
|
import * as qs from 'qs-esm';
|
|
7
|
-
import React, { createContext, useContext } from 'react';
|
|
7
|
+
import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';
|
|
8
8
|
import { usePreferences } from '../Preferences/index.js';
|
|
9
9
|
import { useSearchParams } from '../SearchParams/index.js';
|
|
10
10
|
const Context = /*#__PURE__*/createContext({});
|
|
@@ -22,17 +22,18 @@ export const ListQueryProvider = ({
|
|
|
22
22
|
handleSortChange: handleSortChangeFromProps,
|
|
23
23
|
handleWhereChange: handleWhereChangeFromProps,
|
|
24
24
|
modifySearchParams,
|
|
25
|
+
params: paramsFromProps,
|
|
25
26
|
preferenceKey
|
|
26
27
|
}) => {
|
|
27
28
|
const router = useRouter();
|
|
28
29
|
const {
|
|
29
30
|
setPreference
|
|
30
31
|
} = usePreferences();
|
|
31
|
-
const hasSetInitialParams = React.useRef(false);
|
|
32
32
|
const {
|
|
33
33
|
searchParams: currentQuery
|
|
34
34
|
} = useSearchParams();
|
|
35
|
-
const
|
|
35
|
+
const [params, setParams] = useState(paramsFromProps || currentQuery);
|
|
36
|
+
const refineListData = useCallback(async query => {
|
|
36
37
|
if (!modifySearchParams) {
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
@@ -53,18 +54,18 @@ export const ListQueryProvider = ({
|
|
|
53
54
|
if (updatePreferences && preferenceKey) {
|
|
54
55
|
await setPreference(preferenceKey, updatedPreferences);
|
|
55
56
|
}
|
|
56
|
-
const
|
|
57
|
+
const params_0 = {
|
|
57
58
|
limit: 'limit' in query ? query.limit : currentQuery?.limit,
|
|
58
59
|
page: pageQuery,
|
|
59
60
|
search: 'search' in query ? query.search : currentQuery?.search,
|
|
60
61
|
sort: 'sort' in query ? query.sort : currentQuery?.sort,
|
|
61
62
|
where: 'where' in query ? query.where : currentQuery?.where
|
|
62
63
|
};
|
|
63
|
-
router.replace(`${qs.stringify(
|
|
64
|
+
router.replace(`${qs.stringify(params_0, {
|
|
64
65
|
addQueryPrefix: true
|
|
65
66
|
})}`);
|
|
66
|
-
}, [
|
|
67
|
-
const handlePageChange =
|
|
67
|
+
}, [modifySearchParams, currentQuery?.page, currentQuery?.limit, currentQuery?.search, currentQuery?.sort, currentQuery?.where, preferenceKey, router, setPreference]);
|
|
68
|
+
const handlePageChange = useCallback(async arg => {
|
|
68
69
|
if (typeof handlePageChangeFromProps === 'function') {
|
|
69
70
|
await handlePageChangeFromProps(arg);
|
|
70
71
|
}
|
|
@@ -77,18 +78,20 @@ export const ListQueryProvider = ({
|
|
|
77
78
|
await handlePerPageChangeFromProps(arg_0);
|
|
78
79
|
}
|
|
79
80
|
await refineListData({
|
|
80
|
-
limit: String(arg_0)
|
|
81
|
+
limit: String(arg_0),
|
|
82
|
+
page: '1'
|
|
81
83
|
});
|
|
82
84
|
}, [refineListData, handlePerPageChangeFromProps]);
|
|
83
|
-
const handleSearchChange =
|
|
85
|
+
const handleSearchChange = useCallback(async arg_1 => {
|
|
86
|
+
const search = arg_1 === '' ? undefined : arg_1;
|
|
84
87
|
if (typeof handleSearchChangeFromProps === 'function') {
|
|
85
|
-
await handleSearchChangeFromProps(
|
|
88
|
+
await handleSearchChangeFromProps(search);
|
|
86
89
|
}
|
|
87
90
|
await refineListData({
|
|
88
|
-
search
|
|
91
|
+
search
|
|
89
92
|
});
|
|
90
|
-
}, [
|
|
91
|
-
const handleSortChange =
|
|
93
|
+
}, [handleSearchChangeFromProps, refineListData]);
|
|
94
|
+
const handleSortChange = useCallback(async arg_2 => {
|
|
92
95
|
if (typeof handleSortChangeFromProps === 'function') {
|
|
93
96
|
await handleSortChangeFromProps(arg_2);
|
|
94
97
|
}
|
|
@@ -96,7 +99,7 @@ export const ListQueryProvider = ({
|
|
|
96
99
|
sort: arg_2
|
|
97
100
|
});
|
|
98
101
|
}, [refineListData, handleSortChangeFromProps]);
|
|
99
|
-
const handleWhereChange =
|
|
102
|
+
const handleWhereChange = useCallback(async arg_3 => {
|
|
100
103
|
if (typeof handleWhereChangeFromProps === 'function') {
|
|
101
104
|
await handleWhereChangeFromProps(arg_3);
|
|
102
105
|
}
|
|
@@ -104,8 +107,11 @@ export const ListQueryProvider = ({
|
|
|
104
107
|
where: arg_3
|
|
105
108
|
});
|
|
106
109
|
}, [refineListData, handleWhereChangeFromProps]);
|
|
107
|
-
|
|
108
|
-
if (
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (paramsFromProps) {
|
|
112
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
113
|
+
setParams(paramsFromProps);
|
|
114
|
+
} else {
|
|
109
115
|
if (modifySearchParams) {
|
|
110
116
|
let shouldUpdateQueryString = false;
|
|
111
117
|
if (isNumber(defaultLimit) && !('limit' in currentQuery)) {
|
|
@@ -116,13 +122,14 @@ export const ListQueryProvider = ({
|
|
|
116
122
|
currentQuery.sort = defaultSort;
|
|
117
123
|
shouldUpdateQueryString = true;
|
|
118
124
|
}
|
|
125
|
+
// eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
|
|
126
|
+
setParams(currentQuery);
|
|
119
127
|
if (shouldUpdateQueryString) {
|
|
120
128
|
router.replace(`?${qs.stringify(currentQuery)}`);
|
|
121
129
|
}
|
|
122
130
|
}
|
|
123
|
-
hasSetInitialParams.current = true;
|
|
124
131
|
}
|
|
125
|
-
}, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery]);
|
|
132
|
+
}, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery, paramsFromProps, params]);
|
|
126
133
|
return /*#__PURE__*/_jsx(Context.Provider, {
|
|
127
134
|
value: {
|
|
128
135
|
data,
|
|
@@ -131,6 +138,7 @@ export const ListQueryProvider = ({
|
|
|
131
138
|
handleSearchChange,
|
|
132
139
|
handleSortChange,
|
|
133
140
|
handleWhereChange,
|
|
141
|
+
params,
|
|
134
142
|
refineListData
|
|
135
143
|
},
|
|
136
144
|
children: children
|