@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.
Files changed (106) hide show
  1. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/FileSidebar/index.js +5 -3
  3. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FileSidebar/index.scss +4 -4
  5. package/dist/elements/ListControls/index.d.ts.map +1 -1
  6. package/dist/elements/ListControls/index.js +13 -18
  7. package/dist/elements/ListControls/index.js.map +1 -1
  8. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  9. package/dist/elements/ListDrawer/DrawerContent.js +304 -226
  10. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  11. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  12. package/dist/elements/SearchFilter/index.js +30 -12
  13. package/dist/elements/SearchFilter/index.js.map +1 -1
  14. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  15. package/dist/elements/SortColumn/index.js +3 -6
  16. package/dist/elements/SortColumn/index.js.map +1 -1
  17. package/dist/elements/Upload/index.scss +3 -0
  18. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  19. package/dist/elements/WhereBuilder/index.js +5 -8
  20. package/dist/elements/WhereBuilder/index.js.map +1 -1
  21. package/dist/exports/client/index.js +19 -19
  22. package/dist/exports/client/index.js.map +3 -3
  23. package/dist/fields/Array/index.d.ts +11 -3
  24. package/dist/fields/Array/index.d.ts.map +1 -1
  25. package/dist/fields/Array/index.js.map +1 -1
  26. package/dist/fields/Blocks/index.d.ts +8 -2
  27. package/dist/fields/Blocks/index.d.ts.map +1 -1
  28. package/dist/fields/Blocks/index.js +1 -1
  29. package/dist/fields/Blocks/index.js.map +1 -1
  30. package/dist/fields/Checkbox/index.d.ts +15 -3
  31. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  32. package/dist/fields/Checkbox/index.js.map +1 -1
  33. package/dist/fields/Code/index.d.ts +9 -2
  34. package/dist/fields/Code/index.d.ts.map +1 -1
  35. package/dist/fields/Code/index.js.map +1 -1
  36. package/dist/fields/Collapsible/index.d.ts +6 -2
  37. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  38. package/dist/fields/Collapsible/index.js.map +1 -1
  39. package/dist/fields/DateTime/index.d.ts +9 -2
  40. package/dist/fields/DateTime/index.d.ts.map +1 -1
  41. package/dist/fields/DateTime/index.js.map +1 -1
  42. package/dist/fields/Email/index.d.ts +10 -2
  43. package/dist/fields/Email/index.d.ts.map +1 -1
  44. package/dist/fields/Email/index.js.map +1 -1
  45. package/dist/fields/Group/index.d.ts +8 -3
  46. package/dist/fields/Group/index.d.ts.map +1 -1
  47. package/dist/fields/Group/index.js.map +1 -1
  48. package/dist/fields/JSON/index.d.ts +8 -2
  49. package/dist/fields/JSON/index.d.ts.map +1 -1
  50. package/dist/fields/JSON/index.js.map +1 -1
  51. package/dist/fields/Number/index.d.ts +9 -2
  52. package/dist/fields/Number/index.d.ts.map +1 -1
  53. package/dist/fields/Number/index.js.map +1 -1
  54. package/dist/fields/Point/index.d.ts +10 -3
  55. package/dist/fields/Point/index.d.ts.map +1 -1
  56. package/dist/fields/Point/index.js.map +1 -1
  57. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -2
  58. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  59. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  60. package/dist/fields/RadioGroup/index.d.ts +10 -2
  61. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  62. package/dist/fields/RadioGroup/index.js.map +1 -1
  63. package/dist/fields/Relationship/index.d.ts +8 -2
  64. package/dist/fields/Relationship/index.d.ts.map +1 -1
  65. package/dist/fields/Relationship/index.js.map +1 -1
  66. package/dist/fields/RichText/index.d.ts +2 -2
  67. package/dist/fields/RichText/index.d.ts.map +1 -1
  68. package/dist/fields/RichText/index.js.map +1 -1
  69. package/dist/fields/Row/index.d.ts +9 -2
  70. package/dist/fields/Row/index.d.ts.map +1 -1
  71. package/dist/fields/Row/index.js.map +1 -1
  72. package/dist/fields/Select/index.d.ts +10 -2
  73. package/dist/fields/Select/index.d.ts.map +1 -1
  74. package/dist/fields/Select/index.js.map +1 -1
  75. package/dist/fields/Tabs/index.d.ts +6 -2
  76. package/dist/fields/Tabs/index.d.ts.map +1 -1
  77. package/dist/fields/Tabs/index.js.map +1 -1
  78. package/dist/fields/Text/index.d.ts +10 -2
  79. package/dist/fields/Text/index.d.ts.map +1 -1
  80. package/dist/fields/Text/index.js.map +1 -1
  81. package/dist/fields/Textarea/index.d.ts +11 -2
  82. package/dist/fields/Textarea/index.d.ts.map +1 -1
  83. package/dist/fields/Textarea/index.js.map +1 -1
  84. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  85. package/dist/fields/Upload/HasMany/index.js +18 -11
  86. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  87. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  88. package/dist/fields/Upload/HasOne/index.js +8 -1
  89. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  90. package/dist/fields/Upload/index.d.ts +3 -3
  91. package/dist/fields/Upload/index.d.ts.map +1 -1
  92. package/dist/fields/Upload/index.js.map +1 -1
  93. package/dist/fields/Upload/index.scss +3 -0
  94. package/dist/hooks/useThrottledEffect.d.ts +7 -0
  95. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  96. package/dist/hooks/useThrottledEffect.js +7 -0
  97. package/dist/hooks/useThrottledEffect.js.map +1 -1
  98. package/dist/providers/ListQuery/index.d.ts +6 -0
  99. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  100. package/dist/providers/ListQuery/index.js +26 -18
  101. package/dist/providers/ListQuery/index.js.map +1 -1
  102. package/dist/providers/Selection/index.d.ts.map +1 -1
  103. package/dist/providers/Selection/index.js +9 -4
  104. package/dist/providers/Selection/index.js.map +1 -1
  105. package/dist/styles.css +1 -1
  106. 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 { TextareaFieldProps } from 'payload';
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<TextareaFieldProps>;
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,EAAE,kBAAkB,EAA2B,MAAM,SAAS,CAAA;AAG1E,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,8BAAwC,CAAA"}
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 { TextareaFieldProps, 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: React.FC<TextareaFieldProps> = (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
+ {"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,qBAyFlD"}
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] !== isSortable || $[11] !== readonly || $[12] !== removeItem || $[13] !== serverURL || $[14] !== t3) {
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] !== isSortable || $[19] !== readonly || $[20] !== removeItem || $[21] !== serverURL) {
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: `${serverURL}${value_0.url}`,
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] = isSortable;
127
- $[19] = readonly;
128
- $[20] = removeItem;
129
- $[21] = serverURL;
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] = isSortable;
146
- $[11] = readonly;
147
- $[12] = removeItem;
148
- $[13] = serverURL;
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","src","url","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 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={`${serverURL}${value.url}`}\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
+ {"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,qBAuBjD"}
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: `${serverURL}${value.url}`,
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","src","url","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 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={`${serverURL}${value.url}`}\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,oBACEE,IAAA,CAACb,UAAA;IAAWI,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACU,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cACjE,aAAAH,IAAA,CAACd,mBAAA;MACCkB,SAAA,EAAW,CAACV,QAAA;MACZW,WAAA,EAAa,CAACX,QAAA;MACdY,GAAA,EAAMT,KAAA,EAAOS,GAAA,IAAOT,KAAA,EAAOU,QAAA;MAC3BC,QAAA,EAAUX,KAAA,CAAMY,QAAQ;MACxBC,cAAA,EAAgBd,UAAA;MAChBW,QAAA,EAAUV,KAAA,CAAMU,QAAQ;MACxBT,EAAA,EAAIA,EAAA;MACJa,QAAA,EAAUd,KAAA,EAAOc,QAAA;MACjBlB,QAAA,EAAUA,QAAA;MACVmB,GAAA,EAAK,GAAGjB,SAAA,GAAYE,KAAA,CAAMgB,GAAG,EAAE;MAC/BC,CAAA,EAAGjB,KAAA,EAAOkB,KAAA;MACVC,CAAA,EAAGnB,KAAA,EAAOoB;;;AAIlB","ignoreList":[]}
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 { UploadFieldProps } from 'payload';
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: UploadFieldProps): React.JSX.Element;
8
- export declare const UploadField: React.FC<UploadFieldProps>;
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,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,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,gBAAgB,qBAqEtD;AAED,eAAO,MAAM,WAAW,4BAAiC,CAAA"}
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 { UploadFieldProps } 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: UploadFieldProps) {\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":[]}
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,KAAoC,MAAM,OAAO,CAAA;AAExD,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;CACpD,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,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,CA0JtD,CAAA"}
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 refineListData = React.useCallback(async query => {
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 params = {
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(params, {
64
+ router.replace(`${qs.stringify(params_0, {
64
65
  addQueryPrefix: true
65
66
  })}`);
66
- }, [preferenceKey, modifySearchParams, router, setPreference, currentQuery]);
67
- const handlePageChange = React.useCallback(async arg => {
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 = React.useCallback(async arg_1 => {
85
+ const handleSearchChange = useCallback(async arg_1 => {
86
+ const search = arg_1 === '' ? undefined : arg_1;
84
87
  if (typeof handleSearchChangeFromProps === 'function') {
85
- await handleSearchChangeFromProps(arg_1);
88
+ await handleSearchChangeFromProps(search);
86
89
  }
87
90
  await refineListData({
88
- search: arg_1
91
+ search
89
92
  });
90
- }, [refineListData, handleSearchChangeFromProps]);
91
- const handleSortChange = React.useCallback(async arg_2 => {
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 = React.useCallback(async arg_3 => {
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
- React.useEffect(() => {
108
- if (!hasSetInitialParams.current) {
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