@payloadcms/ui 3.0.0-beta.104 → 3.0.0-beta.105

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 (80) hide show
  1. package/dist/elements/SelectRow/index.js +29 -20
  2. package/dist/elements/SelectRow/index.js.map +1 -1
  3. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  4. package/dist/elements/TableColumns/buildColumnState.js +0 -1
  5. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  6. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  7. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  8. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  9. package/dist/exports/client/index.js +7 -7
  10. package/dist/exports/client/index.js.map +3 -3
  11. package/dist/fields/Array/index.d.ts.map +1 -1
  12. package/dist/fields/Array/index.js +0 -3
  13. package/dist/fields/Array/index.js.map +1 -1
  14. package/dist/fields/Blocks/index.d.ts.map +1 -1
  15. package/dist/fields/Blocks/index.js +0 -3
  16. package/dist/fields/Blocks/index.js.map +1 -1
  17. package/dist/fields/Checkbox/Input.js +1 -1
  18. package/dist/fields/Checkbox/Input.js.map +1 -1
  19. package/dist/fields/Checkbox/index.scss +13 -0
  20. package/dist/fields/Code/index.d.ts.map +1 -1
  21. package/dist/fields/Code/index.js +31 -36
  22. package/dist/fields/Code/index.js.map +1 -1
  23. package/dist/fields/Collapsible/index.d.ts +141 -4
  24. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  25. package/dist/fields/DateTime/index.d.ts.map +1 -1
  26. package/dist/fields/DateTime/index.js +32 -37
  27. package/dist/fields/DateTime/index.js.map +1 -1
  28. package/dist/fields/Email/index.d.ts.map +1 -1
  29. package/dist/fields/Email/index.js +28 -32
  30. package/dist/fields/Email/index.js.map +1 -1
  31. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  32. package/dist/fields/FieldLabel/index.js +7 -1
  33. package/dist/fields/FieldLabel/index.js.map +1 -1
  34. package/dist/fields/JSON/index.d.ts.map +1 -1
  35. package/dist/fields/JSON/index.js +0 -2
  36. package/dist/fields/JSON/index.js.map +1 -1
  37. package/dist/fields/Number/index.d.ts.map +1 -1
  38. package/dist/fields/Number/index.js +35 -40
  39. package/dist/fields/Number/index.js.map +1 -1
  40. package/dist/fields/Point/index.d.ts.map +1 -1
  41. package/dist/fields/Point/index.js +1 -0
  42. package/dist/fields/Point/index.js.map +1 -1
  43. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  44. package/dist/fields/RadioGroup/index.js +34 -39
  45. package/dist/fields/RadioGroup/index.js.map +1 -1
  46. package/dist/fields/Relationship/index.d.ts +4 -4
  47. package/dist/fields/Relationship/index.d.ts.map +1 -1
  48. package/dist/fields/Relationship/index.js +0 -3
  49. package/dist/fields/Relationship/index.js.map +1 -1
  50. package/dist/fields/Select/Input.d.ts +1 -1
  51. package/dist/fields/Select/Input.d.ts.map +1 -1
  52. package/dist/fields/Select/Input.js.map +1 -1
  53. package/dist/fields/Select/index.d.ts.map +1 -1
  54. package/dist/fields/Select/index.js +0 -2
  55. package/dist/fields/Select/index.js.map +1 -1
  56. package/dist/fields/Text/index.d.ts.map +1 -1
  57. package/dist/fields/Text/index.js +0 -2
  58. package/dist/fields/Text/index.js.map +1 -1
  59. package/dist/fields/Text/types.d.ts +1 -1
  60. package/dist/fields/Text/types.d.ts.map +1 -1
  61. package/dist/fields/Text/types.js.map +1 -1
  62. package/dist/fields/Textarea/index.d.ts.map +1 -1
  63. package/dist/fields/Textarea/index.js +0 -2
  64. package/dist/fields/Textarea/index.js.map +1 -1
  65. package/dist/fields/Textarea/types.d.ts +1 -1
  66. package/dist/fields/Textarea/types.d.ts.map +1 -1
  67. package/dist/fields/Textarea/types.js.map +1 -1
  68. package/dist/fields/Upload/Input.d.ts +1 -1
  69. package/dist/fields/Upload/Input.d.ts.map +1 -1
  70. package/dist/fields/Upload/Input.js +11 -12
  71. package/dist/fields/Upload/Input.js.map +1 -1
  72. package/dist/fields/Upload/index.d.ts.map +1 -1
  73. package/dist/fields/Upload/index.js +14 -17
  74. package/dist/fields/Upload/index.js.map +1 -1
  75. package/dist/providers/Selection/index.d.ts +1 -1
  76. package/dist/providers/Selection/index.d.ts.map +1 -1
  77. package/dist/providers/Selection/index.js +43 -29
  78. package/dist/providers/Selection/index.js.map +1 -1
  79. package/dist/styles.css +1 -1
  80. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EAEnB,eAAe,EAEf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,IAAI,eAAe,EAE/B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAmB9D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,WAAW,CAAA;AAIjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAA;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,2BAA2B,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IAChG,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;CAC9C,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAmdlD"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EAEnB,eAAe,EAEf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,IAAI,eAAe,EAE/B,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAmB9D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,WAAW,CAAA;AAIjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAA;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,2BAA2B,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IAChG,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;CAC9C,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAqdlD"}
@@ -103,7 +103,7 @@ export function UploadInput(props) {
103
103
  }
104
104
  let t4;
105
105
  if ($[9] !== value || $[10] !== t3) {
106
- t4 = t3.concat(...((Array.isArray(value) || value ? [value] : []) || []));
106
+ t4 = t3.concat(...(Array.isArray(value) || value ? [value] : []));
107
107
  $[9] = value;
108
108
  $[10] = t3;
109
109
  $[11] = t4;
@@ -326,13 +326,12 @@ export function UploadInput(props) {
326
326
  let t18;
327
327
  if ($[52] !== populateDocs || $[53] !== activeRelationTo || $[54] !== onChange || $[55] !== value || $[56] !== closeListDrawer) {
328
328
  t18 = async docs => {
329
- const selectedDocIDs = Object.entries(docs).reduce((acc, t19) => {
330
- const [docID, isSelected] = t19;
329
+ const selectedDocIDs = [];
330
+ for (const [id_0, isSelected] of docs) {
331
331
  if (isSelected) {
332
- acc.push(docID);
332
+ selectedDocIDs.push(id_0);
333
333
  }
334
- return acc;
335
- }, []);
334
+ }
336
335
  const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo);
337
336
  if (loadedDocs) {
338
337
  setPopulatedDocs(currentDocs_0 => [...(currentDocs_0 || []), ...loadedDocs.docs.map(doc_2 => ({
@@ -378,9 +377,9 @@ export function UploadInput(props) {
378
377
  t20 = async t21 => {
379
378
  const {
380
379
  collectionSlug,
381
- docID: docID_0
380
+ docID
382
381
  } = t21;
383
- const loadedDocs_0 = await populateDocs([docID_0], collectionSlug);
382
+ const loadedDocs_0 = await populateDocs([docID], collectionSlug);
384
383
  const selectedDoc = loadedDocs_0 ? loadedDocs_0.docs?.[0] : null;
385
384
  setPopulatedDocs(currentDocs_2 => {
386
385
  if (selectedDoc) {
@@ -398,9 +397,9 @@ export function UploadInput(props) {
398
397
  return currentDocs_2;
399
398
  });
400
399
  if (hasMany) {
401
- onChange([...(Array.isArray(value) ? value : []), docID_0]);
400
+ onChange([...(Array.isArray(value) ? value : []), docID]);
402
401
  } else {
403
- onChange(docID_0);
402
+ onChange(docID);
404
403
  }
405
404
  closeListDrawer();
406
405
  };
@@ -665,9 +664,9 @@ export function UploadInput(props) {
665
664
  }
666
665
  return t30;
667
666
  }
668
- function _temp(id_0) {
667
+ function _temp(id_1) {
669
668
  return _jsx(ShimmerEffect, {
670
669
  height: "40px"
671
- }, id_0);
670
+ }, id_1);
672
671
  }
673
672
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","ShimmerEffect","useAuth","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","api","className","Description","description","descriptionProps","Error","errorProps","field","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","labelProps","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","width","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","permission","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","populateDocs","t16","newDocs","mergedValue","doc_0","currentDocs","doc_1","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","Object","entries","reduce","acc","t19","docID","isSelected","push","loadedDocs","currentDocs_0","doc_2","onListBulkSelect","data","currentDocs_1","onDocCreate","t20","t21","docID_0","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","newValue_0","newValueIDs","t22","value_0","onReorder","newValue_1","newValueIDs_0","t23","value_1","onRemove","t24","loadInitialDocs","loadedDocs_1","doc_3","current","showDropzone","t25","t26","t27","filter","Boolean","t28","join","t29","replace","t30","t31","t32","t33","_jsxs","children","_jsx","CustomError","_Fragment","fileDocs","readonly","_temp","fileDoc","height","multipleFiles","buttonStyle","disabled","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_0"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldDescriptionClientProps,\n FieldErrorClientProps,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n MappedComponent,\n PaginatedDocs,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly allowNewUpload?: boolean\n readonly api?: string\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: MappedComponent\n readonly description?: StaticDescription\n readonly descriptionProps?: FieldDescriptionClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly Error?: MappedComponent\n readonly errorProps?: FieldErrorClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly field?: MarkOptional<UploadFieldClient, 'type'>\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly Label?: MappedComponent\n readonly label: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n readonly width?: React.CSSProperties['width']\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n allowNewUpload,\n api,\n className,\n Description,\n description,\n descriptionProps,\n Error,\n errorProps,\n field,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n labelProps,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const { drawerSlug, setCollectionSlug, setInitialFiles, setMaxFiles, setOnSuccess } =\n useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...((Array.isArray(value) || value ? [value] : []) || []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n if (permissions.collections[activeRelationTo].create?.permission === true) {\n return true\n }\n }\n }\n\n return false\n }, [activeRelationTo, permissions])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (\n ids: (number | string)[],\n relatedCollectionSlug: string,\n ): Promise<null | PaginatedDocs> => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n const sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n setOnSuccess(onUploadSuccess)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n onUploadSuccess,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n setOnSuccess,\n maxRows,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = Object.entries(docs).reduce<string[]>((acc, [docID, isSelected]) => {\n if (isSelected) {\n acc.push(docID)\n }\n return acc\n }, [])\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n\n loadedValueDocsRef.current = true\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n const showDropzone =\n !readOnly &&\n (!value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)))\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n field={field as UploadFieldClient}\n />\n <div className={`${baseClass}__wrap`}>\n <FieldError\n CustomError={Error}\n path={path}\n {...(errorProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n\n {showDropzone ? (\n <Dropzone multipleFiles={hasMany} onChange={onLocalFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n <FieldDescription\n Description={Description}\n description={description}\n {...(descriptionProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["c","_c","useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","useDocumentDrawer","Dropzone","useListDrawer","ShimmerEffect","useAuth","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","$","api","className","Description","description","descriptionProps","Error","errorProps","field","filterOptions","filterOptionsFromProps","hasMany","isSortable","Label","label","labelProps","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","width","populatedDocs","setPopulatedDocs","useState","activeRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","t0","t1","t2","id","t3","not_in","t4","concat","t5","t6","t7","t8","t9","collectionSlugs","ListDrawer","t10","closeDrawer","closeListDrawer","openDrawer","openListDrawer","t11","collectionSlug","CreateDocDrawer","t12","closeCreateDocDrawer","openCreateDocDrawer","loadedValueDocsRef","useRef","t13","bb0","collections","create","permission","canCreate","t14","newValue","t15","language","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","method","ok","json","sortedDocs","map","docs","find","doc","String","populateDocs","t16","newDocs","mergedValue","doc_0","currentDocs","doc_1","firstDoc","onUploadSuccess","t17","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onLocalFileSelection","t18","selectedDocIDs","id_0","isSelected","push","loadedDocs","currentDocs_0","doc_2","onListBulkSelect","t19","data","currentDocs_1","onDocCreate","t20","t21","docID","loadedDocs_0","selectedDoc","currentDocs_2","onListSelect","newValue_0","newValueIDs","t22","value_0","onReorder","newValue_1","newValueIDs_0","t23","value_1","onRemove","t24","loadInitialDocs","loadedDocs_1","doc_3","current","showDropzone","t25","t26","t27","filter","Boolean","t28","join","t29","replace","t30","t31","t32","t33","_jsxs","children","_jsx","CustomError","_Fragment","fileDocs","readonly","_temp","fileDoc","height","multipleFiles","buttonStyle","disabled","onClick","size","onSave","enableRowSelections","onBulkSelect","onSelect","id_1"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldDescriptionClientProps,\n FieldErrorClientProps,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n MappedComponent,\n PaginatedDocs,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly allowNewUpload?: boolean\n readonly api?: string\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly Description?: MappedComponent\n readonly description?: StaticDescription\n readonly descriptionProps?: FieldDescriptionClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly Error?: MappedComponent\n readonly errorProps?: FieldErrorClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly field?: MarkOptional<UploadFieldClient, 'type'>\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly Label?: MappedComponent\n readonly label?: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n readonly width?: React.CSSProperties['width']\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n allowNewUpload,\n api,\n className,\n Description,\n description,\n descriptionProps,\n Error,\n errorProps,\n field,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n Label,\n label,\n labelProps,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const { drawerSlug, setCollectionSlug, setInitialFiles, setMaxFiles, setOnSuccess } =\n useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...(Array.isArray(value) || value ? [value] : []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n const [\n CreateDocDrawer,\n ,\n { closeDrawer: closeCreateDocDrawer, openDrawer: openCreateDocDrawer },\n ] = useDocumentDrawer({\n collectionSlug: activeRelationTo,\n })\n\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n if (permissions.collections[activeRelationTo].create?.permission === true) {\n return true\n }\n }\n }\n\n return false\n }, [activeRelationTo, permissions])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (\n ids: (number | string)[],\n relatedCollectionSlug: string,\n ): Promise<null | PaginatedDocs> => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n const sortedDocs = ids.map((id) =>\n json.docs.find((doc) => {\n return String(doc.id) === String(id)\n }),\n )\n\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onLocalFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) {\n setInitialFiles(fileListToUse)\n }\n setCollectionSlug(relationTo)\n setOnSuccess(onUploadSuccess)\n if (typeof maxRows === 'number') {\n setMaxFiles(maxRows)\n }\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n onUploadSuccess,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n setOnSuccess,\n maxRows,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = []\n\n for (const [id, isSelected] of docs) {\n if (isSelected) {\n selectedDocIDs.push(id)\n }\n }\n\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onDocCreate = React.useCallback(\n (data) => {\n if (data.doc) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: data.doc,\n },\n ])\n\n onChange(data.doc.id)\n }\n closeCreateDocDrawer()\n },\n [closeCreateDocDrawer, activeRelationTo, onChange],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n\n loadedValueDocsRef.current = true\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n const showDropzone =\n !readOnly &&\n (!value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)))\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n field={field as UploadFieldClient}\n />\n <div className={`${baseClass}__wrap`}>\n <FieldError\n CustomError={Error}\n path={path}\n {...(errorProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n\n {showDropzone ? (\n <Dropzone multipleFiles={hasMany} onChange={onLocalFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__createNewToggler`}\n disabled={readOnly || !canCreate}\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onLocalFileSelection()\n } else {\n openCreateDocDrawer()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <span className={`${baseClass}__dropzoneContent__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__listToggler`}\n disabled={readOnly}\n onClick={openListDrawer}\n size=\"small\"\n >\n {t('fields:chooseFromExisting')}\n </Button>\n\n <CreateDocDrawer onSave={onDocCreate} />\n <ListDrawer\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n <FieldDescription\n Description={Description}\n description={description}\n {...(descriptionProps || {})}\n field={field as UploadFieldClient}\n />\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/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
+ {"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,qBAmE5D;AAED,eAAO,MAAM,WAAW,kCAAiC,CAAA"}
@@ -11,7 +11,7 @@ import { UploadInput } from './Input.js';
11
11
  export { UploadInput } from './Input.js';
12
12
  export const baseClass = 'upload';
13
13
  export function UploadComponent(props) {
14
- const $ = _c(31);
14
+ const $ = _c(30);
15
15
  const {
16
16
  field: t0,
17
17
  field,
@@ -22,7 +22,6 @@ export function UploadComponent(props) {
22
22
  _path,
23
23
  admin: t1,
24
24
  hasMany,
25
- label,
26
25
  maxRows,
27
26
  relationTo,
28
27
  required
@@ -91,7 +90,7 @@ export function UploadComponent(props) {
91
90
  const t7 = field?.admin?.components?.Error;
92
91
  const t8 = field?.admin?.components?.Label;
93
92
  let t9;
94
- if ($[8] !== config.routes.api || $[9] !== config.serverURL || $[10] !== className || $[11] !== t5 || $[12] !== t6 || $[13] !== t7 || $[14] !== field || $[15] !== filterOptions || $[16] !== hasMany || $[17] !== isSortable || $[18] !== t8 || $[19] !== label || $[20] !== maxRows || $[21] !== setValue || $[22] !== path || $[23] !== disabled || $[24] !== relationTo || $[25] !== required || $[26] !== showError || $[27] !== style || $[28] !== value_0 || $[29] !== width) {
93
+ if ($[8] !== config.routes.api || $[9] !== config.serverURL || $[10] !== className || $[11] !== t5 || $[12] !== t6 || $[13] !== t7 || $[14] !== field || $[15] !== filterOptions || $[16] !== hasMany || $[17] !== isSortable || $[18] !== t8 || $[19] !== maxRows || $[20] !== setValue || $[21] !== path || $[22] !== disabled || $[23] !== relationTo || $[24] !== required || $[25] !== showError || $[26] !== style || $[27] !== value_0 || $[28] !== width) {
95
94
  t9 = _jsx(UploadInput, {
96
95
  api: config.routes.api,
97
96
  className,
@@ -103,7 +102,6 @@ export function UploadComponent(props) {
103
102
  hasMany,
104
103
  isSortable,
105
104
  Label: t8,
106
- label,
107
105
  maxRows,
108
106
  onChange: setValue,
109
107
  path,
@@ -127,20 +125,19 @@ export function UploadComponent(props) {
127
125
  $[16] = hasMany;
128
126
  $[17] = isSortable;
129
127
  $[18] = t8;
130
- $[19] = label;
131
- $[20] = maxRows;
132
- $[21] = setValue;
133
- $[22] = path;
134
- $[23] = disabled;
135
- $[24] = relationTo;
136
- $[25] = required;
137
- $[26] = showError;
138
- $[27] = style;
139
- $[28] = value_0;
140
- $[29] = width;
141
- $[30] = t9;
128
+ $[19] = maxRows;
129
+ $[20] = setValue;
130
+ $[21] = path;
131
+ $[22] = disabled;
132
+ $[23] = relationTo;
133
+ $[24] = required;
134
+ $[25] = showError;
135
+ $[26] = style;
136
+ $[27] = value_0;
137
+ $[28] = width;
138
+ $[29] = t9;
142
139
  } else {
143
- t9 = $[30];
140
+ t9 = $[29];
144
141
  }
145
142
  return t9;
146
143
  }
@@ -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 { 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":[]}
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","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 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 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":[]}
@@ -12,7 +12,7 @@ type SelectionContext = {
12
12
  disableBulkEdit?: boolean;
13
13
  getQueryParams: (additionalParams?: Where) => string;
14
14
  selectAll: SelectAllStatus;
15
- selected: Record<number | string, boolean>;
15
+ selected: Map<number | string, boolean>;
16
16
  setSelection: (id: number | string) => void;
17
17
  toggleAll: (allAvailable?: boolean) => void;
18
18
  totalDocs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Selection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,KAA8E,MAAM,OAAO,CAAA;AAKlG,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,KAAK,MAAM,CAAA;IACpD,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAID,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsI7C,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Selection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,KAA8E,MAAM,OAAO,CAAA;AAKlG,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,KAAK,MAAM,CAAA;IACpD,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAID,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAElC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyJ7C,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA"}
@@ -23,11 +23,11 @@ export const SelectionProvider = ({
23
23
  code: locale
24
24
  } = useLocale();
25
25
  const [selected, setSelected] = useState(() => {
26
- const rows = {};
26
+ const rows = new Map();
27
27
  docs.forEach(({
28
28
  id
29
29
  }) => {
30
- rows[id] = false;
30
+ rows.set(id, false);
31
31
  });
32
32
  return rows;
33
33
  });
@@ -37,40 +37,35 @@ export const SelectionProvider = ({
37
37
  searchParams
38
38
  } = useSearchParams();
39
39
  const toggleAll = useCallback((allAvailable = false) => {
40
- const rows_0 = {};
40
+ const rows_0 = new Map();
41
41
  if (allAvailable) {
42
42
  setSelectAll("allAvailable");
43
43
  docs.forEach(({
44
44
  id: id_0
45
45
  }) => {
46
- rows_0[id_0] = true;
46
+ rows_0.set(id_0, true);
47
47
  });
48
48
  } else if (selectAll === "allAvailable" || selectAll === "allInPage") {
49
49
  setSelectAll("none");
50
- docs.forEach(({
51
- id: id_1
52
- }) => {
53
- rows_0[id_1] = false;
54
- });
55
50
  } else {
56
51
  docs.forEach(({
57
- id: id_2
52
+ id: id_1
58
53
  }) => {
59
- rows_0[id_2] = selectAll !== "some";
54
+ rows_0.set(id_1, selectAll !== "some");
60
55
  });
61
56
  }
62
57
  setSelected(rows_0);
63
58
  }, [docs, selectAll]);
64
- const setSelection = useCallback(id_3 => {
65
- const isSelected = !selected[id_3];
66
- const newSelected = {
67
- ...selected,
68
- [id_3]: isSelected
69
- };
70
- if (!isSelected) {
71
- setSelectAll("some");
59
+ const setSelection = useCallback(id_2 => {
60
+ const existingValue = selected.get(id_2);
61
+ const isSelected = typeof existingValue === 'boolean' ? !existingValue : true;
62
+ let newMap = new Map();
63
+ if (isSelected) {
64
+ newMap = new Map(selected.set(id_2, isSelected));
65
+ } else {
66
+ newMap = new Map(selected.set(id_2, false));
72
67
  }
73
- setSelected(newSelected);
68
+ setSelected(newMap);
74
69
  }, [selected]);
75
70
  const getQueryParams = useCallback(additionalParams => {
76
71
  let where;
@@ -82,9 +77,15 @@ export const SelectionProvider = ({
82
77
  }
83
78
  };
84
79
  } else {
80
+ const ids = [];
81
+ for (const [key, value] of selected) {
82
+ if (value) {
83
+ ids.push(key);
84
+ }
85
+ }
85
86
  where = {
86
87
  id: {
87
- in: Object.keys(selected).filter(id_4 => selected[id_4]).map(id_5 => id_5)
88
+ in: ids
88
89
  }
89
90
  };
90
91
  }
@@ -108,25 +109,38 @@ export const SelectionProvider = ({
108
109
  }
109
110
  let some = false;
110
111
  let all = true;
111
- if (!Object.values(selected).length) {
112
+ if (!selected.size) {
112
113
  all = false;
113
114
  some = false;
114
115
  } else {
115
- Object.values(selected).forEach(val => {
116
- all = all && val;
117
- some = some || val;
118
- });
116
+ for (const [_, value_0] of selected) {
117
+ all = all && value_0;
118
+ some = some || value_0;
119
+ }
119
120
  }
120
- if (all) {
121
+ if (all && selected.size === docs.length) {
122
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
121
123
  setSelectAll("allInPage");
122
124
  } else if (some) {
125
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
123
126
  setSelectAll("some");
124
127
  } else {
128
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
125
129
  setSelectAll("none");
126
130
  }
127
- }, [selectAll, selected]);
131
+ }, [selectAll, selected, totalDocs, docs]);
128
132
  useEffect(() => {
129
- const newCount = selectAll === "allAvailable" ? totalDocs : Object.keys(selected).filter(id_6 => selected[id_6]).length;
133
+ let newCount = 0;
134
+ if (selectAll === "allAvailable") {
135
+ newCount = totalDocs;
136
+ } else {
137
+ for (const [__0, value_1] of selected) {
138
+ if (value_1) {
139
+ newCount++;
140
+ }
141
+ }
142
+ }
143
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
130
144
  setCount(newCount);
131
145
  }, [selectAll, selected, totalDocs]);
132
146
  contextRef.current = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useLocale","useSearchParams","SelectAllStatus","Context","SelectionProvider","children","docs","totalDocs","contextRef","code","locale","selected","setSelected","rows","forEach","id","selectAll","setSelectAll","count","setCount","searchParams","toggleAll","allAvailable","setSelection","isSelected","newSelected","getQueryParams","additionalParams","where","params","not_equals","in","Object","keys","filter","map","and","stringify","addQueryPrefix","some","all","values","length","val","newCount","current","_jsx","Provider","value","useSelection"],"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport { useLocale } from '../Locale/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport enum SelectAllStatus {\n AllAvailable = 'allAvailable',\n AllInPage = 'allInPage',\n None = 'none',\n Some = 'some',\n}\n\ntype SelectionContext = {\n count: number\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n getQueryParams: (additionalParams?: Where) => string\n selectAll: SelectAllStatus\n selected: Record<number | string, boolean>\n setSelection: (id: number | string) => void\n toggleAll: (allAvailable?: boolean) => void\n totalDocs: number\n}\n\nconst Context = createContext({} as SelectionContext)\n\ntype Props = {\n readonly children: React.ReactNode\n readonly docs: any[]\n readonly totalDocs: number\n}\n\nexport const SelectionProvider: React.FC<Props> = ({ children, docs = [], totalDocs }) => {\n const contextRef = useRef({} as SelectionContext)\n\n const { code: locale } = useLocale()\n const [selected, setSelected] = useState<SelectionContext['selected']>(() => {\n const rows = {}\n docs.forEach(({ id }) => {\n rows[id] = false\n })\n return rows\n })\n const [selectAll, setSelectAll] = useState<SelectAllStatus>(SelectAllStatus.None)\n const [count, setCount] = useState(0)\n const { searchParams } = useSearchParams()\n\n const toggleAll = useCallback(\n (allAvailable = false) => {\n const rows = {}\n if (allAvailable) {\n setSelectAll(SelectAllStatus.AllAvailable)\n docs.forEach(({ id }) => {\n rows[id] = true\n })\n } else if (\n selectAll === SelectAllStatus.AllAvailable ||\n selectAll === SelectAllStatus.AllInPage\n ) {\n setSelectAll(SelectAllStatus.None)\n docs.forEach(({ id }) => {\n rows[id] = false\n })\n } else {\n docs.forEach(({ id }) => {\n rows[id] = selectAll !== SelectAllStatus.Some\n })\n }\n setSelected(rows)\n },\n [docs, selectAll],\n )\n\n const setSelection = useCallback(\n (id) => {\n const isSelected = !selected[id]\n const newSelected = {\n ...selected,\n [id]: isSelected,\n }\n if (!isSelected) {\n setSelectAll(SelectAllStatus.Some)\n }\n setSelected(newSelected)\n },\n [selected],\n )\n\n const getQueryParams = useCallback(\n (additionalParams?: Where): string => {\n let where: Where\n if (selectAll === SelectAllStatus.AllAvailable) {\n const params = searchParams?.where as Where\n where = params || {\n id: { not_equals: '' },\n }\n } else {\n where = {\n id: {\n in: Object.keys(selected)\n .filter((id) => selected[id])\n .map((id) => id),\n },\n }\n }\n if (additionalParams) {\n where = {\n and: [{ ...additionalParams }, where],\n }\n }\n return qs.stringify(\n {\n locale,\n where,\n },\n { addQueryPrefix: true },\n )\n },\n [selectAll, selected, locale, searchParams],\n )\n\n useEffect(() => {\n if (selectAll === SelectAllStatus.AllAvailable) {\n return\n }\n let some = false\n let all = true\n\n if (!Object.values(selected).length) {\n all = false\n some = false\n } else {\n Object.values(selected).forEach((val) => {\n all = all && val\n some = some || val\n })\n }\n\n if (all) {\n setSelectAll(SelectAllStatus.AllInPage)\n } else if (some) {\n setSelectAll(SelectAllStatus.Some)\n } else {\n setSelectAll(SelectAllStatus.None)\n }\n }, [selectAll, selected])\n\n useEffect(() => {\n const newCount =\n selectAll === SelectAllStatus.AllAvailable\n ? totalDocs\n : Object.keys(selected).filter((id) => selected[id]).length\n setCount(newCount)\n }, [selectAll, selected, totalDocs])\n\n contextRef.current = {\n count,\n getQueryParams,\n selectAll,\n selected,\n setSelection,\n toggleAll,\n totalDocs,\n }\n\n return <Context.Provider value={contextRef.current}>{children}</Context.Provider>\n}\n\nexport const useSelection = (): SelectionContext => useContext(Context)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useLocale","useSearchParams","SelectAllStatus","Context","SelectionProvider","children","docs","totalDocs","contextRef","code","locale","selected","setSelected","rows","Map","forEach","id","set","selectAll","setSelectAll","count","setCount","searchParams","toggleAll","allAvailable","setSelection","existingValue","get","isSelected","newMap","getQueryParams","additionalParams","where","params","not_equals","ids","key","value","push","in","and","stringify","addQueryPrefix","some","all","size","_","length","newCount","current","_jsx","Provider","useSelection"],"sources":["../../../src/providers/Selection/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport { useLocale } from '../Locale/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport enum SelectAllStatus {\n AllAvailable = 'allAvailable',\n AllInPage = 'allInPage',\n None = 'none',\n Some = 'some',\n}\n\ntype SelectionContext = {\n count: number\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n getQueryParams: (additionalParams?: Where) => string\n selectAll: SelectAllStatus\n selected: Map<number | string, boolean>\n setSelection: (id: number | string) => void\n toggleAll: (allAvailable?: boolean) => void\n totalDocs: number\n}\n\nconst Context = createContext({} as SelectionContext)\n\ntype Props = {\n readonly children: React.ReactNode\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly docs: any[]\n readonly totalDocs: number\n}\n\nexport const SelectionProvider: React.FC<Props> = ({ children, docs = [], totalDocs }) => {\n const contextRef = useRef({} as SelectionContext)\n\n const { code: locale } = useLocale()\n const [selected, setSelected] = useState<SelectionContext['selected']>(() => {\n const rows = new Map()\n docs.forEach(({ id }) => {\n rows.set(id, false)\n })\n return rows\n })\n\n const [selectAll, setSelectAll] = useState<SelectAllStatus>(SelectAllStatus.None)\n const [count, setCount] = useState(0)\n const { searchParams } = useSearchParams()\n\n const toggleAll = useCallback(\n (allAvailable = false) => {\n const rows = new Map()\n if (allAvailable) {\n setSelectAll(SelectAllStatus.AllAvailable)\n docs.forEach(({ id }) => {\n rows.set(id, true)\n })\n } else if (\n selectAll === SelectAllStatus.AllAvailable ||\n selectAll === SelectAllStatus.AllInPage\n ) {\n setSelectAll(SelectAllStatus.None)\n } else {\n docs.forEach(({ id }) => {\n rows.set(id, selectAll !== SelectAllStatus.Some)\n })\n }\n setSelected(rows)\n },\n [docs, selectAll],\n )\n\n const setSelection = useCallback(\n (id) => {\n const existingValue = selected.get(id)\n const isSelected = typeof existingValue === 'boolean' ? !existingValue : true\n\n let newMap = new Map()\n\n if (isSelected) {\n newMap = new Map(selected.set(id, isSelected))\n } else {\n newMap = new Map(selected.set(id, false))\n }\n\n setSelected(newMap)\n },\n [selected],\n )\n\n const getQueryParams = useCallback(\n (additionalParams?: Where): string => {\n let where: Where\n if (selectAll === SelectAllStatus.AllAvailable) {\n const params = searchParams?.where as Where\n where = params || {\n id: { not_equals: '' },\n }\n } else {\n const ids = []\n\n for (const [key, value] of selected) {\n if (value) {\n ids.push(key)\n }\n }\n\n where = {\n id: {\n in: ids,\n },\n }\n }\n if (additionalParams) {\n where = {\n and: [{ ...additionalParams }, where],\n }\n }\n return qs.stringify(\n {\n locale,\n where,\n },\n { addQueryPrefix: true },\n )\n },\n [selectAll, selected, locale, searchParams],\n )\n\n useEffect(() => {\n if (selectAll === SelectAllStatus.AllAvailable) {\n return\n }\n let some = false\n let all = true\n\n if (!selected.size) {\n all = false\n some = false\n } else {\n for (const [_, value] of selected) {\n all = all && value\n some = some || value\n }\n }\n\n if (all && selected.size === docs.length) {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setSelectAll(SelectAllStatus.AllInPage)\n } else if (some) {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setSelectAll(SelectAllStatus.Some)\n } else {\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setSelectAll(SelectAllStatus.None)\n }\n }, [selectAll, selected, totalDocs, docs])\n\n useEffect(() => {\n let newCount = 0\n\n if (selectAll === SelectAllStatus.AllAvailable) {\n newCount = totalDocs\n } else {\n for (const [_, value] of selected) {\n if (value) {\n newCount++\n }\n }\n }\n\n // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect\n setCount(newCount)\n }, [selectAll, selected, totalDocs])\n\n contextRef.current = {\n count,\n getQueryParams,\n selectAll,\n selected,\n setSelection,\n toggleAll,\n totalDocs,\n }\n\n return <Context.Provider value={contextRef.current}>{children}</Context.Provider>\n}\n\nexport const useSelection = (): SelectionContext => useContext(Context)\n"],"mappings":"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","ignoreList":[]}