@payloadcms/ui 3.0.0-beta.81 → 3.0.0-beta.83

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 (55) hide show
  1. package/dist/elements/Autosave/index.js +1 -1
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/Dropzone/index.d.ts +5 -4
  4. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  5. package/dist/elements/Dropzone/index.js +4 -2
  6. package/dist/elements/Dropzone/index.js.map +1 -1
  7. package/dist/elements/Hamburger/index.d.ts +2 -2
  8. package/dist/elements/Hamburger/index.d.ts.map +1 -1
  9. package/dist/elements/Hamburger/index.js +2 -1
  10. package/dist/elements/Hamburger/index.js.map +1 -1
  11. package/dist/elements/IDLabel/index.scss +3 -2
  12. package/dist/elements/ListControls/index.d.ts +7 -7
  13. package/dist/elements/ListControls/index.d.ts.map +1 -1
  14. package/dist/elements/ListControls/index.js +1 -1
  15. package/dist/elements/ListControls/index.js.map +1 -1
  16. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  17. package/dist/elements/ReactSelect/DropdownIndicator/index.js +1 -1
  18. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  19. package/dist/elements/RenderTitle/index.scss +1 -1
  20. package/dist/elements/StepNav/index.d.ts.map +1 -1
  21. package/dist/elements/StepNav/index.js +1 -1
  22. package/dist/elements/StepNav/index.js.map +1 -1
  23. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  24. package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
  25. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  26. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  27. package/dist/elements/TableColumns/buildColumnState.js +1 -1
  28. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  29. package/dist/elements/Upload/index.d.ts +9 -9
  30. package/dist/elements/Upload/index.d.ts.map +1 -1
  31. package/dist/elements/Upload/index.js +9 -10
  32. package/dist/elements/Upload/index.js.map +1 -1
  33. package/dist/exports/client/index.d.ts +1 -0
  34. package/dist/exports/client/index.d.ts.map +1 -1
  35. package/dist/exports/client/index.js +7 -7
  36. package/dist/exports/client/index.js.map +4 -4
  37. package/dist/fields/Password/index.d.ts.map +1 -1
  38. package/dist/fields/Password/index.js +3 -1
  39. package/dist/fields/Password/index.js.map +1 -1
  40. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  41. package/dist/forms/RenderFields/RenderField.js +2 -1
  42. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  43. package/dist/graphics/Account/index.js +3 -3
  44. package/dist/graphics/Account/index.js.map +1 -1
  45. package/dist/icons/Chevron/index.js +1 -1
  46. package/dist/icons/Chevron/index.js.map +1 -1
  47. package/dist/providers/Actions/index.d.ts +3 -3
  48. package/dist/providers/Actions/index.d.ts.map +1 -1
  49. package/dist/providers/Actions/index.js +1 -1
  50. package/dist/providers/Actions/index.js.map +1 -1
  51. package/dist/scss/toasts.scss +15 -14
  52. package/dist/styles.css +1 -1
  53. package/dist/utilities/reduceFieldsToValuesWithValidation.js +1 -1
  54. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  55. package/package.json +4 -4
@@ -170,7 +170,7 @@ export const Autosave = ({ id, collection, global: globalDoc, publishedDocUpdate
170
170
  if (autosaveTimeout) clearTimeout(autosaveTimeout);
171
171
  if (abortController.signal) {
172
172
  try {
173
- abortController.abort();
173
+ abortController.abort('Autosave closed early.');
174
174
  } catch (error) {
175
175
  // swallow error
176
176
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { versionDefaults } from 'payload/shared'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../utilities/formatDate.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport './index.scss'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({\n id,\n collection,\n global: globalDoc,\n publishedDocUpdatedAt,\n}) => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { docConfig, getVersions, versions } = useDocumentInfo()\n const { reportUpdate } = useDocumentEvents()\n const { dispatchFields, setModified, setSubmitted } = useForm()\n const submitted = useFormSubmitted()\n const versionsConfig = docConfig?.versions\n\n const [fields] = useAllFormFields()\n const formModified = useFormModified()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n let interval = versionDefaults.autosaveInterval\n if (versionsConfig.drafts && versionsConfig.drafts.autosave)\n interval = versionsConfig.drafts.autosave.interval\n\n const [saving, setSaving] = useState(false)\n const [lastSaved, setLastSaved] = useState<number>()\n const debouncedFields = useDebounce(fields, interval)\n const modified = useDebounce(formModified, interval)\n const fieldRef = useRef(fields)\n const modifiedRef = useRef(modified)\n const localeRef = useRef(locale)\n const debouncedRef = useRef(debouncedFields)\n\n debouncedRef.current = debouncedFields\n\n // Store fields in ref so the autosave func\n // can always retrieve the most to date copies\n // after the timeout has executed\n fieldRef.current = fields\n\n // Store modified in ref so the autosave func\n // can bail out if modified becomes false while\n // timing out during autosave\n modifiedRef.current = modified\n\n // Store locale in ref so the autosave func\n // can always retrieve the most to date locale\n localeRef.current = locale\n\n // When debounced fields change, autosave\n useEffect(() => {\n const abortController = new AbortController()\n let autosaveTimeout = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const autosave = () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n\n if (collection && id) {\n entitySlug = collection.slug\n url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'POST'\n }\n\n if (url) {\n if (modifiedRef.current) {\n const { data, valid } = {\n ...reduceFieldsToValuesWithValidation(fieldRef.current, true),\n }\n data._status = 'draft'\n const skipSubmission =\n submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate\n\n if (!skipSubmission) {\n void fetch(url, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method,\n signal: abortController.signal,\n })\n .then((res) => {\n const newDate = new Date()\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n if (res.status === 200) {\n setLastSaved(newDate.getTime())\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: newDate.toISOString(),\n })\n setModified(false)\n void getVersions()\n } else {\n return res.json()\n }\n })\n .then((json) => {\n if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || i18n.t('error:unknown'))\n })\n\n setSubmitted(true)\n setSaving(false)\n return\n }\n }\n })\n .then(() => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeout = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n setSaving(false)\n }\n })\n }\n }\n }\n }\n }\n\n void autosave()\n\n return () => {\n if (autosaveTimeout) clearTimeout(autosaveTimeout)\n if (abortController.signal) {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n setSaving(false)\n }\n }, [\n api,\n collection,\n dispatchFields,\n getVersions,\n globalDoc,\n i18n,\n id,\n interval,\n modified,\n reportUpdate,\n serverURL,\n setSubmitted,\n setModified,\n versionsConfig?.drafts,\n debouncedFields,\n submitted,\n ])\n\n useEffect(() => {\n if (versions?.docs?.[0]) {\n setLastSaved(new Date(versions.docs[0].updatedAt).getTime())\n } else if (publishedDocUpdatedAt) {\n setLastSaved(new Date(publishedDocUpdatedAt).getTime())\n }\n }, [publishedDocUpdatedAt, versions])\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && Boolean(lastSaved) && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow({ date: lastSaved, i18n }),\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n"],"names":["versionDefaults","React","useEffect","useRef","useState","toast","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useConfig","useDocumentEvents","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValuesWithValidation","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","publishedDocUpdatedAt","config","routes","api","serverURL","docConfig","getVersions","versions","reportUpdate","dispatchFields","setModified","setSubmitted","submitted","versionsConfig","fields","formModified","code","locale","i18n","t","interval","autosaveInterval","drafts","autosave","saving","setSaving","lastSaved","setLastSaved","debouncedFields","modified","fieldRef","modifiedRef","localeRef","debouncedRef","current","abortController","AbortController","autosaveTimeout","undefined","startTimestamp","endTimestamp","Date","getTime","url","method","entitySlug","slug","data","valid","_status","skipSubmission","validate","fetch","body","JSON","stringify","credentials","headers","language","signal","then","res","newDate","status","updatedAt","toISOString","json","errors","Array","isArray","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","push","forEach","dataError","field","type","error","setTimeout","clearTimeout","abort","docs","div","className","Boolean","Fragment","distance","date"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { versionDefaults } from 'payload/shared'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../utilities/formatDate.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport './index.scss'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({\n id,\n collection,\n global: globalDoc,\n publishedDocUpdatedAt,\n}) => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { docConfig, getVersions, versions } = useDocumentInfo()\n const { reportUpdate } = useDocumentEvents()\n const { dispatchFields, setModified, setSubmitted } = useForm()\n const submitted = useFormSubmitted()\n const versionsConfig = docConfig?.versions\n\n const [fields] = useAllFormFields()\n const formModified = useFormModified()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n let interval = versionDefaults.autosaveInterval\n if (versionsConfig.drafts && versionsConfig.drafts.autosave)\n interval = versionsConfig.drafts.autosave.interval\n\n const [saving, setSaving] = useState(false)\n const [lastSaved, setLastSaved] = useState<number>()\n const debouncedFields = useDebounce(fields, interval)\n const modified = useDebounce(formModified, interval)\n const fieldRef = useRef(fields)\n const modifiedRef = useRef(modified)\n const localeRef = useRef(locale)\n const debouncedRef = useRef(debouncedFields)\n\n debouncedRef.current = debouncedFields\n\n // Store fields in ref so the autosave func\n // can always retrieve the most to date copies\n // after the timeout has executed\n fieldRef.current = fields\n\n // Store modified in ref so the autosave func\n // can bail out if modified becomes false while\n // timing out during autosave\n modifiedRef.current = modified\n\n // Store locale in ref so the autosave func\n // can always retrieve the most to date locale\n localeRef.current = locale\n\n // When debounced fields change, autosave\n useEffect(() => {\n const abortController = new AbortController()\n let autosaveTimeout = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const autosave = () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n\n if (collection && id) {\n entitySlug = collection.slug\n url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'POST'\n }\n\n if (url) {\n if (modifiedRef.current) {\n const { data, valid } = {\n ...reduceFieldsToValuesWithValidation(fieldRef.current, true),\n }\n data._status = 'draft'\n const skipSubmission =\n submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate\n\n if (!skipSubmission) {\n void fetch(url, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method,\n signal: abortController.signal,\n })\n .then((res) => {\n const newDate = new Date()\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n if (res.status === 200) {\n setLastSaved(newDate.getTime())\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: newDate.toISOString(),\n })\n setModified(false)\n void getVersions()\n } else {\n return res.json()\n }\n })\n .then((json) => {\n if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || i18n.t('error:unknown'))\n })\n\n setSubmitted(true)\n setSaving(false)\n return\n }\n }\n })\n .then(() => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeout = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n setSaving(false)\n }\n })\n }\n }\n }\n }\n }\n\n void autosave()\n\n return () => {\n if (autosaveTimeout) clearTimeout(autosaveTimeout)\n if (abortController.signal) {\n try {\n abortController.abort('Autosave closed early.')\n } catch (error) {\n // swallow error\n }\n }\n setSaving(false)\n }\n }, [\n api,\n collection,\n dispatchFields,\n getVersions,\n globalDoc,\n i18n,\n id,\n interval,\n modified,\n reportUpdate,\n serverURL,\n setSubmitted,\n setModified,\n versionsConfig?.drafts,\n debouncedFields,\n submitted,\n ])\n\n useEffect(() => {\n if (versions?.docs?.[0]) {\n setLastSaved(new Date(versions.docs[0].updatedAt).getTime())\n } else if (publishedDocUpdatedAt) {\n setLastSaved(new Date(publishedDocUpdatedAt).getTime())\n }\n }, [publishedDocUpdatedAt, versions])\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && Boolean(lastSaved) && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow({ date: lastSaved, i18n }),\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n"],"names":["versionDefaults","React","useEffect","useRef","useState","toast","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useConfig","useDocumentEvents","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValuesWithValidation","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","publishedDocUpdatedAt","config","routes","api","serverURL","docConfig","getVersions","versions","reportUpdate","dispatchFields","setModified","setSubmitted","submitted","versionsConfig","fields","formModified","code","locale","i18n","t","interval","autosaveInterval","drafts","autosave","saving","setSaving","lastSaved","setLastSaved","debouncedFields","modified","fieldRef","modifiedRef","localeRef","debouncedRef","current","abortController","AbortController","autosaveTimeout","undefined","startTimestamp","endTimestamp","Date","getTime","url","method","entitySlug","slug","data","valid","_status","skipSubmission","validate","fetch","body","JSON","stringify","credentials","headers","language","signal","then","res","newDate","status","updatedAt","toISOString","json","errors","Array","isArray","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","push","forEach","dataError","field","type","error","setTimeout","clearTimeout","abort","docs","div","className","Boolean","Fragment","distance","date"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
3
  export type Props = {
4
- className?: string;
5
- mimeTypes?: string[];
6
- onChange: (e: FileList) => void;
7
- onPasteUrlClick?: () => void;
4
+ readonly className?: string;
5
+ readonly mimeTypes?: string[];
6
+ readonly multipleFiles?: boolean;
7
+ readonly onChange: (e: FileList) => void;
8
+ readonly onPasteUrlClick?: () => void;
8
9
  };
9
10
  export declare const Dropzone: React.FC<Props>;
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Dropzone/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AASrB,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC/B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiHpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Dropzone/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AASrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2HpC,CAAA"}
@@ -9,7 +9,7 @@ const handleDragOver = (e)=>{
9
9
  e.stopPropagation();
10
10
  };
11
11
  const baseClass = 'dropzone';
12
- export const Dropzone = ({ className, mimeTypes, onChange, onPasteUrlClick })=>{
12
+ export const Dropzone = ({ className, mimeTypes, multipleFiles, onChange, onPasteUrlClick })=>{
13
13
  const dropRef = React.useRef(null);
14
14
  const [dragging, setDragging] = React.useState(false);
15
15
  const inputRef = React.useRef(null);
@@ -93,7 +93,7 @@ export const Dropzone = ({ className, mimeTypes, onChange, onPasteUrlClick })=>{
93
93
  size: "medium",
94
94
  children: t('upload:selectFile')
95
95
  }),
96
- /*#__PURE__*/ _jsx(Button, {
96
+ typeof onPasteUrlClick === 'function' && /*#__PURE__*/ _jsx(Button, {
97
97
  buttonStyle: "secondary",
98
98
  className: `${baseClass}__file-button`,
99
99
  onClick: onPasteUrlClick,
@@ -102,7 +102,9 @@ export const Dropzone = ({ className, mimeTypes, onChange, onPasteUrlClick })=>{
102
102
  }),
103
103
  /*#__PURE__*/ _jsx("input", {
104
104
  accept: mimeTypes?.join(','),
105
+ "aria-hidden": "true",
105
106
  className: `${baseClass}__hidden-input`,
107
+ multiple: multipleFiles,
106
108
  onChange: handleFileSelection,
107
109
  ref: inputRef,
108
110
  type: "file"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Dropzone/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst handleDragOver = (e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n}\n\nconst baseClass = 'dropzone'\n\nexport type Props = {\n className?: string\n mimeTypes?: string[]\n onChange: (e: FileList) => void\n onPasteUrlClick?: () => void\n}\n\nexport const Dropzone: React.FC<Props> = ({ className, mimeTypes, onChange, onPasteUrlClick }) => {\n const dropRef = React.useRef<HTMLDivElement>(null)\n const [dragging, setDragging] = React.useState(false)\n const inputRef = React.useRef(null)\n\n const { t } = useTranslation()\n\n const handlePaste = React.useCallback(\n (e: ClipboardEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (e.clipboardData.files && e.clipboardData.files.length > 0) {\n onChange(e.clipboardData.files)\n }\n },\n [onChange],\n )\n\n const handleDragEnter = React.useCallback((e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragging(true)\n }, [])\n\n const handleDragLeave = React.useCallback((e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragging(false)\n }, [])\n\n const handleDrop = React.useCallback(\n (e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragging(false)\n\n if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\n onChange(e.dataTransfer.files)\n setDragging(false)\n\n e.dataTransfer.clearData()\n }\n },\n [onChange],\n )\n\n const handleFileSelection = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.files && e.target.files.length > 0) {\n onChange(e.target.files)\n }\n },\n [onChange],\n )\n\n React.useEffect(() => {\n const div = dropRef.current\n\n if (div) {\n div.addEventListener('dragenter', handleDragEnter)\n div.addEventListener('dragleave', handleDragLeave)\n div.addEventListener('dragover', handleDragOver)\n div.addEventListener('drop', handleDrop)\n div.addEventListener('paste', handlePaste)\n\n return () => {\n div.removeEventListener('dragenter', handleDragEnter)\n div.removeEventListener('dragleave', handleDragLeave)\n div.removeEventListener('dragover', handleDragOver)\n div.removeEventListener('drop', handleDrop)\n div.removeEventListener('paste', handlePaste)\n }\n }\n\n return () => null\n }, [handleDragEnter, handleDragLeave, handleDrop, handlePaste])\n\n const classes = [baseClass, className, dragging ? 'dragging' : ''].filter(Boolean).join(' ')\n\n return (\n <div className={classes} ref={dropRef}>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__file-button`}\n onClick={() => {\n inputRef.current.click()\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__file-button`}\n onClick={onPasteUrlClick}\n size=\"medium\"\n >\n {t('upload:pasteURL')}\n </Button>\n <input\n accept={mimeTypes?.join(',')}\n className={`${baseClass}__hidden-input`}\n onChange={handleFileSelection}\n ref={inputRef}\n type=\"file\"\n />\n\n <p className={`${baseClass}__label`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n )\n}\n"],"names":["React","useTranslation","Button","handleDragOver","e","preventDefault","stopPropagation","baseClass","Dropzone","className","mimeTypes","onChange","onPasteUrlClick","dropRef","useRef","dragging","setDragging","useState","inputRef","t","handlePaste","useCallback","clipboardData","files","length","handleDragEnter","handleDragLeave","handleDrop","dataTransfer","clearData","handleFileSelection","target","useEffect","div","current","addEventListener","removeEventListener","classes","filter","Boolean","join","ref","buttonStyle","onClick","click","size","input","accept","type","p"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,OAAO,eAAc;AAErB,MAAMC,iBAAiB,CAACC;IACtBA,EAAEC,cAAc;IAChBD,EAAEE,eAAe;AACnB;AAEA,MAAMC,YAAY;AASlB,OAAO,MAAMC,WAA4B,CAAC,EAAEC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,eAAe,EAAE;IAC3F,MAAMC,UAAUb,MAAMc,MAAM,CAAiB;IAC7C,MAAM,CAACC,UAAUC,YAAY,GAAGhB,MAAMiB,QAAQ,CAAC;IAC/C,MAAMC,WAAWlB,MAAMc,MAAM,CAAC;IAE9B,MAAM,EAAEK,CAAC,EAAE,GAAGlB;IAEd,MAAMmB,cAAcpB,MAAMqB,WAAW,CACnC,CAACjB;QACCA,EAAEC,cAAc;QAChBD,EAAEE,eAAe;QAEjB,IAAIF,EAAEkB,aAAa,CAACC,KAAK,IAAInB,EAAEkB,aAAa,CAACC,KAAK,CAACC,MAAM,GAAG,GAAG;YAC7Db,SAASP,EAAEkB,aAAa,CAACC,KAAK;QAChC;IACF,GACA;QAACZ;KAAS;IAGZ,MAAMc,kBAAkBzB,MAAMqB,WAAW,CAAC,CAACjB;QACzCA,EAAEC,cAAc;QAChBD,EAAEE,eAAe;QACjBU,YAAY;IACd,GAAG,EAAE;IAEL,MAAMU,kBAAkB1B,MAAMqB,WAAW,CAAC,CAACjB;QACzCA,EAAEC,cAAc;QAChBD,EAAEE,eAAe;QACjBU,YAAY;IACd,GAAG,EAAE;IAEL,MAAMW,aAAa3B,MAAMqB,WAAW,CAClC,CAACjB;QACCA,EAAEC,cAAc;QAChBD,EAAEE,eAAe;QACjBU,YAAY;QAEZ,IAAIZ,EAAEwB,YAAY,CAACL,KAAK,IAAInB,EAAEwB,YAAY,CAACL,KAAK,CAACC,MAAM,GAAG,GAAG;YAC3Db,SAASP,EAAEwB,YAAY,CAACL,KAAK;YAC7BP,YAAY;YAEZZ,EAAEwB,YAAY,CAACC,SAAS;QAC1B;IACF,GACA;QAAClB;KAAS;IAGZ,MAAMmB,sBAAsB9B,MAAMqB,WAAW,CAC3C,CAACjB;QACC,IAAIA,EAAE2B,MAAM,CAACR,KAAK,IAAInB,EAAE2B,MAAM,CAACR,KAAK,CAACC,MAAM,GAAG,GAAG;YAC/Cb,SAASP,EAAE2B,MAAM,CAACR,KAAK;QACzB;IACF,GACA;QAACZ;KAAS;IAGZX,MAAMgC,SAAS,CAAC;QACd,MAAMC,MAAMpB,QAAQqB,OAAO;QAE3B,IAAID,KAAK;YACPA,IAAIE,gBAAgB,CAAC,aAAaV;YAClCQ,IAAIE,gBAAgB,CAAC,aAAaT;YAClCO,IAAIE,gBAAgB,CAAC,YAAYhC;YACjC8B,IAAIE,gBAAgB,CAAC,QAAQR;YAC7BM,IAAIE,gBAAgB,CAAC,SAASf;YAE9B,OAAO;gBACLa,IAAIG,mBAAmB,CAAC,aAAaX;gBACrCQ,IAAIG,mBAAmB,CAAC,aAAaV;gBACrCO,IAAIG,mBAAmB,CAAC,YAAYjC;gBACpC8B,IAAIG,mBAAmB,CAAC,QAAQT;gBAChCM,IAAIG,mBAAmB,CAAC,SAAShB;YACnC;QACF;QAEA,OAAO,IAAM;IACf,GAAG;QAACK;QAAiBC;QAAiBC;QAAYP;KAAY;IAE9D,MAAMiB,UAAU;QAAC9B;QAAWE;QAAWM,WAAW,aAAa;KAAG,CAACuB,MAAM,CAACC,SAASC,IAAI,CAAC;IAExF,qBACE,MAACP;QAAIxB,WAAW4B;QAASI,KAAK5B;;0BAC5B,KAACX;gBACCwC,aAAY;gBACZjC,WAAW,CAAC,EAAEF,UAAU,aAAa,CAAC;gBACtCoC,SAAS;oBACPzB,SAASgB,OAAO,CAACU,KAAK;gBACxB;gBACAC,MAAK;0BAEJ1B,EAAE;;0BAEL,KAACjB;gBACCwC,aAAY;gBACZjC,WAAW,CAAC,EAAEF,UAAU,aAAa,CAAC;gBACtCoC,SAAS/B;gBACTiC,MAAK;0BAEJ1B,EAAE;;0BAEL,KAAC2B;gBACCC,QAAQrC,WAAW8B,KAAK;gBACxB/B,WAAW,CAAC,EAAEF,UAAU,cAAc,CAAC;gBACvCI,UAAUmB;gBACVW,KAAKvB;gBACL8B,MAAK;;0BAGP,MAACC;gBAAExC,WAAW,CAAC,EAAEF,UAAU,OAAO,CAAC;;oBAChCY,EAAE;oBAAc;oBAAEA,EAAE;;;;;AAI7B,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Dropzone/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst handleDragOver = (e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n}\n\nconst baseClass = 'dropzone'\n\nexport type Props = {\n readonly className?: string\n readonly mimeTypes?: string[]\n readonly multipleFiles?: boolean\n readonly onChange: (e: FileList) => void\n readonly onPasteUrlClick?: () => void\n}\n\nexport const Dropzone: React.FC<Props> = ({\n className,\n mimeTypes,\n multipleFiles,\n onChange,\n onPasteUrlClick,\n}) => {\n const dropRef = React.useRef<HTMLDivElement>(null)\n const [dragging, setDragging] = React.useState(false)\n const inputRef = React.useRef(null)\n\n const { t } = useTranslation()\n\n const handlePaste = React.useCallback(\n (e: ClipboardEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (e.clipboardData.files && e.clipboardData.files.length > 0) {\n onChange(e.clipboardData.files)\n }\n },\n [onChange],\n )\n\n const handleDragEnter = React.useCallback((e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragging(true)\n }, [])\n\n const handleDragLeave = React.useCallback((e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragging(false)\n }, [])\n\n const handleDrop = React.useCallback(\n (e: DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragging(false)\n\n if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\n onChange(e.dataTransfer.files)\n setDragging(false)\n\n e.dataTransfer.clearData()\n }\n },\n [onChange],\n )\n\n const handleFileSelection = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.files && e.target.files.length > 0) {\n onChange(e.target.files)\n }\n },\n [onChange],\n )\n\n React.useEffect(() => {\n const div = dropRef.current\n\n if (div) {\n div.addEventListener('dragenter', handleDragEnter)\n div.addEventListener('dragleave', handleDragLeave)\n div.addEventListener('dragover', handleDragOver)\n div.addEventListener('drop', handleDrop)\n div.addEventListener('paste', handlePaste)\n\n return () => {\n div.removeEventListener('dragenter', handleDragEnter)\n div.removeEventListener('dragleave', handleDragLeave)\n div.removeEventListener('dragover', handleDragOver)\n div.removeEventListener('drop', handleDrop)\n div.removeEventListener('paste', handlePaste)\n }\n }\n\n return () => null\n }, [handleDragEnter, handleDragLeave, handleDrop, handlePaste])\n\n const classes = [baseClass, className, dragging ? 'dragging' : ''].filter(Boolean).join(' ')\n\n return (\n <div className={classes} ref={dropRef}>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__file-button`}\n onClick={() => {\n inputRef.current.click()\n }}\n size=\"medium\"\n >\n {t('upload:selectFile')}\n </Button>\n {typeof onPasteUrlClick === 'function' && (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__file-button`}\n onClick={onPasteUrlClick}\n size=\"medium\"\n >\n {t('upload:pasteURL')}\n </Button>\n )}\n <input\n accept={mimeTypes?.join(',')}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n multiple={multipleFiles}\n onChange={handleFileSelection}\n ref={inputRef}\n type=\"file\"\n />\n\n <p className={`${baseClass}__label`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n )\n}\n"],"names":["React","useTranslation","Button","handleDragOver","e","preventDefault","stopPropagation","baseClass","Dropzone","className","mimeTypes","multipleFiles","onChange","onPasteUrlClick","dropRef","useRef","dragging","setDragging","useState","inputRef","t","handlePaste","useCallback","clipboardData","files","length","handleDragEnter","handleDragLeave","handleDrop","dataTransfer","clearData","handleFileSelection","target","useEffect","div","current","addEventListener","removeEventListener","classes","filter","Boolean","join","ref","buttonStyle","onClick","click","size","input","accept","aria-hidden","multiple","type","p"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
3
  export declare const Hamburger: React.FC<{
4
- closeIcon?: 'collapse' | 'x';
5
- isActive?: boolean;
4
+ readonly closeIcon?: 'collapse' | 'x';
5
+ readonly isActive?: boolean;
6
6
  }>;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Hamburger/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,UAAU,GAAG,GAAG,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CA2BA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Hamburger/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,GAAG,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B,CA2BA,CAAA"}
@@ -1,8 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { CloseMenuIcon, MenuIcon } from '@payloadcms/ui';
4
3
  import React from 'react';
5
4
  import { ChevronIcon } from '../../icons/Chevron/index.js';
5
+ import { CloseMenuIcon } from '../../icons/CloseMenu/index.js';
6
+ import { MenuIcon } from '../../icons/Menu/index.js';
6
7
  import { useTranslation } from '../../providers/Translation/index.js';
7
8
  import './index.scss';
8
9
  const baseClass = 'hamburger';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Hamburger/index.tsx"],"sourcesContent":["'use client'\nimport { CloseMenuIcon, MenuIcon } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'hamburger'\n\nexport const Hamburger: React.FC<{\n closeIcon?: 'collapse' | 'x'\n isActive?: boolean\n}> = (props) => {\n const { t } = useTranslation()\n const { closeIcon = 'x', isActive = false } = props\n\n return (\n <div className={baseClass}>\n {!isActive && (\n <div\n aria-label={t('general:open')}\n className={`${baseClass}__open-icon`}\n title={t('general:open')}\n >\n <MenuIcon />\n </div>\n )}\n {isActive && (\n <div\n aria-label={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n className={`${baseClass}__close-icon`}\n title={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n >\n {closeIcon === 'x' && <CloseMenuIcon />}\n {closeIcon === 'collapse' && <ChevronIcon direction=\"left\" />}\n </div>\n )}\n </div>\n )\n}\n"],"names":["CloseMenuIcon","MenuIcon","React","ChevronIcon","useTranslation","baseClass","Hamburger","props","t","closeIcon","isActive","div","className","aria-label","title","direction"],"mappings":"AAAA;;AACA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,iBAAgB;AACxD,OAAOC,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAGR,CAACC;IACJ,MAAM,EAAEC,CAAC,EAAE,GAAGJ;IACd,MAAM,EAAEK,YAAY,GAAG,EAAEC,WAAW,KAAK,EAAE,GAAGH;IAE9C,qBACE,MAACI;QAAIC,WAAWP;;YACb,CAACK,0BACA,KAACC;gBACCE,cAAYL,EAAE;gBACdI,WAAW,CAAC,EAAEP,UAAU,WAAW,CAAC;gBACpCS,OAAON,EAAE;0BAET,cAAA,KAACP;;YAGJS,0BACC,MAACC;gBACCE,cAAYJ,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;gBACjEI,WAAW,CAAC,EAAEP,UAAU,YAAY,CAAC;gBACrCS,OAAOL,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;;oBAE3DC,cAAc,qBAAO,KAACT;oBACtBS,cAAc,4BAAc,KAACN;wBAAYY,WAAU;;;;;;AAK9D,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Hamburger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { CloseMenuIcon } from '../../icons/CloseMenu/index.js'\nimport { MenuIcon } from '../../icons/Menu/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'hamburger'\n\nexport const Hamburger: React.FC<{\n readonly closeIcon?: 'collapse' | 'x'\n readonly isActive?: boolean\n}> = (props) => {\n const { t } = useTranslation()\n const { closeIcon = 'x', isActive = false } = props\n\n return (\n <div className={baseClass}>\n {!isActive && (\n <div\n aria-label={t('general:open')}\n className={`${baseClass}__open-icon`}\n title={t('general:open')}\n >\n <MenuIcon />\n </div>\n )}\n {isActive && (\n <div\n aria-label={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n className={`${baseClass}__close-icon`}\n title={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n >\n {closeIcon === 'x' && <CloseMenuIcon />}\n {closeIcon === 'collapse' && <ChevronIcon direction=\"left\" />}\n </div>\n )}\n </div>\n )\n}\n"],"names":["React","ChevronIcon","CloseMenuIcon","MenuIcon","useTranslation","baseClass","Hamburger","props","t","closeIcon","isActive","div","className","aria-label","title","direction"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,QAAQ,QAAQ,4BAA2B;AACpD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAGR,CAACC;IACJ,MAAM,EAAEC,CAAC,EAAE,GAAGJ;IACd,MAAM,EAAEK,YAAY,GAAG,EAAEC,WAAW,KAAK,EAAE,GAAGH;IAE9C,qBACE,MAACI;QAAIC,WAAWP;;YACb,CAACK,0BACA,KAACC;gBACCE,cAAYL,EAAE;gBACdI,WAAW,CAAC,EAAEP,UAAU,WAAW,CAAC;gBACpCS,OAAON,EAAE;0BAET,cAAA,KAACL;;YAGJO,0BACC,MAACC;gBACCE,cAAYJ,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;gBACjEI,WAAW,CAAC,EAAEP,UAAU,YAAY,CAAC;gBACrCS,OAAOL,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;;oBAE3DC,cAAc,qBAAO,KAACP;oBACtBO,cAAc,4BAAc,KAACR;wBAAYc,WAAU;;;;;;AAK9D,EAAC"}
@@ -1,11 +1,12 @@
1
1
  @import '../../scss/styles';
2
2
 
3
3
  .id-label {
4
- font-size: base(0.75);
4
+ font-size: base(0.8);
5
+ line-height: base(1.2);
5
6
  font-weight: normal;
6
7
  color: var(--theme-elevation-600);
7
8
  background: var(--theme-elevation-100);
8
- padding: 0 base(0.6);
9
+ padding: base(0.2) base(0.4);
9
10
  border-radius: $style-radius-m;
10
11
  display: inline-flex;
11
12
  }
@@ -2,13 +2,13 @@ import type { ClientCollectionConfig, ClientField, Where } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export type ListControlsProps = {
5
- collectionConfig: ClientCollectionConfig;
6
- enableColumns?: boolean;
7
- enableSort?: boolean;
8
- fields: ClientField[];
9
- handleSearchChange?: (search: string) => void;
10
- handleSortChange?: (sort: string) => void;
11
- handleWhereChange?: (where: Where) => void;
5
+ readonly collectionConfig: ClientCollectionConfig;
6
+ readonly enableColumns?: boolean;
7
+ readonly enableSort?: boolean;
8
+ readonly fields: ClientField[];
9
+ readonly handleSearchChange?: (search: string) => void;
10
+ readonly handleSortChange?: (sort: string) => void;
11
+ readonly handleWhereChange?: (where: Where) => void;
12
12
  };
13
13
  /**
14
14
  * The ListControls component is used to render the controls (search, filter, where)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAwB1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyLpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAuB1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyLpD,CAAA"}
@@ -5,10 +5,10 @@ import { getTranslation } from '@payloadcms/translations';
5
5
  import React, { useEffect, useRef, useState } from 'react';
6
6
  import AnimateHeightImport from 'react-animate-height';
7
7
  const AnimateHeight = AnimateHeightImport.default || AnimateHeightImport;
8
- import { useListInfo } from '@payloadcms/ui';
9
8
  import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
10
9
  import { ChevronIcon } from '../../icons/Chevron/index.js';
11
10
  import { SearchIcon } from '../../icons/Search/index.js';
11
+ import { useListInfo } from '../../providers/ListInfo/index.js';
12
12
  import { useListQuery } from '../../providers/ListQuery/index.js';
13
13
  import { useSearchParams } from '../../providers/SearchParams/index.js';
14
14
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useListInfo } from '@payloadcms/ui'\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n collectionConfig: ClientCollectionConfig\n enableColumns?: boolean\n enableSort?: boolean\n fields: ClientField[]\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange } = useListQuery()\n const { collectionSlug } = useListInfo()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const [search, setSearch] = useState(\n typeof searchParams?.search === 'string' ? searchParams?.search : '',\n )\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n initialParams={searchParams}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n setValue={setSearch}\n value={search}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !searchParams?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"names":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useListInfo","useUseTitleField","ChevronIcon","SearchIcon","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fields","handleSearchChange","collectionSlug","searchParams","titleField","i18n","t","breakpoints","s","smallBreak","search","setSearch","searchLabel","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","div","className","fieldName","handleChange","initialParams","setValue","value","Fragment","collection","aria-controls","aria-expanded","icon","onClick","pillStyle","height","id","slug","collectionPluralLabel","labels","plural","String","p"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListInfo } from '../../providers/ListInfo/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly fields: ClientField[]\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange } = useListQuery()\n const { collectionSlug } = useListInfo()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const [search, setSearch] = useState(\n typeof searchParams?.search === 'string' ? searchParams?.search : '',\n )\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n initialParams={searchParams}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n setValue={setSearch}\n value={search}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !searchParams?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"names":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fields","handleSearchChange","collectionSlug","searchParams","titleField","i18n","t","breakpoints","s","smallBreak","search","setSearch","searchLabel","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","div","className","fieldName","handleChange","initialParams","setValue","value","Fragment","collection","aria-controls","aria-expanded","icon","onClick","pillStyle","height","id","slug","collectionPluralLabel","labels","plural","String","p"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAG1D,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CACtC;IACE,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CAC5C,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAmB7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CACtC;IACE,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;CAC5C,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAmB7C,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { ChevronIcon } from '@payloadcms/ui';
4
3
  import React from 'react';
4
+ import { ChevronIcon } from '../../../icons/Chevron/index.js';
5
5
  import './index.scss';
6
6
  const baseClass = 'dropdown-indicator';
7
7
  export const DropdownIndicator = (props)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"sourcesContent":["'use client'\nimport type { DropdownIndicatorProps } from 'react-select'\n\nimport { ChevronIcon } from '@payloadcms/ui'\nimport React, { type JSX } from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'dropdown-indicator'\nexport const DropdownIndicator: React.FC<\n {\n innerProps: JSX.IntrinsicElements['button']\n } & DropdownIndicatorProps<OptionType, true>\n> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <button\n className={baseClass}\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') e.key = ' '\n }}\n type=\"button\"\n >\n <ChevronIcon className={`${baseClass}__icon`} />\n </button>\n )\n}\n"],"names":["ChevronIcon","React","baseClass","DropdownIndicator","props","innerProps","ref","restInnerProps","button","className","onKeyDown","e","key","type"],"mappings":"AAAA;;AAGA,SAASA,WAAW,QAAQ,iBAAgB;AAC5C,OAAOC,WAAyB,QAAO;AAIvC,OAAO,eAAc;AAErB,MAAMC,YAAY;AAClB,OAAO,MAAMC,oBAIT,CAACC;IACH,MAAM,EACJC,YAAY,EAAEC,GAAG,EAAE,GAAGC,gBAAgB,EACvC,GAAGH;IAEJ,qBACE,KAACI;QACCC,WAAWP;QACXI,KAAKA;QACJ,GAAGC,cAAc;QAClBG,WAAW,CAACC;YACV,IAAIA,EAAEC,GAAG,KAAK,SAASD,EAAEC,GAAG,GAAG;QACjC;QACAC,MAAK;kBAEL,cAAA,KAACb;YAAYS,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;;;AAGlD,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/ReactSelect/DropdownIndicator/index.tsx"],"sourcesContent":["'use client'\nimport type { DropdownIndicatorProps } from 'react-select'\n\nimport React, { type JSX } from 'react'\n\nimport type { Option as OptionType } from '../types.js'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport './index.scss'\n\nconst baseClass = 'dropdown-indicator'\nexport const DropdownIndicator: React.FC<\n {\n innerProps: JSX.IntrinsicElements['button']\n } & DropdownIndicatorProps<OptionType, true>\n> = (props) => {\n const {\n innerProps: { ref, ...restInnerProps },\n } = props\n\n return (\n <button\n className={baseClass}\n ref={ref}\n {...restInnerProps}\n onKeyDown={(e) => {\n if (e.key === 'Enter') e.key = ' '\n }}\n type=\"button\"\n >\n <ChevronIcon className={`${baseClass}__icon`} />\n </button>\n )\n}\n"],"names":["React","ChevronIcon","baseClass","DropdownIndicator","props","innerProps","ref","restInnerProps","button","className","onKeyDown","e","key","type"],"mappings":"AAAA;;AAGA,OAAOA,WAAyB,QAAO;AAIvC,SAASC,WAAW,QAAQ,kCAAiC;AAC7D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAClB,OAAO,MAAMC,oBAIT,CAACC;IACH,MAAM,EACJC,YAAY,EAAEC,GAAG,EAAE,GAAGC,gBAAgB,EACvC,GAAGH;IAEJ,qBACE,KAACI;QACCC,WAAWP;QACXI,KAAKA;QACJ,GAAGC,cAAc;QAClBG,WAAW,CAACC;YACV,IAAIA,EAAEC,GAAG,KAAK,SAASD,EAAEC,GAAG,GAAG;QACjC;QACAC,MAAK;kBAEL,cAAA,KAACZ;YAAYQ,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;;;AAGlD,EAAC"}
@@ -1,7 +1,7 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
3
  .render-title {
4
- display: inline-flex;
4
+ display: inline-block;
5
5
  &__id {
6
6
  vertical-align: middle;
7
7
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7C,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAmEA,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAmEA,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
@@ -7,7 +7,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
7
7
  import { StepNavProvider, useStepNav } from './context.js';
8
8
  import './index.scss';
9
9
  export { SetStepNav } from './SetStepNav.js';
10
- import { PayloadIcon } from '@payloadcms/ui';
10
+ import { PayloadIcon } from '../../graphics/Icon/index.js';
11
11
  import { RenderComponent } from '../../providers/Config/RenderComponent.js';
12
12
  const baseClass = 'step-nav';
13
13
  const StepNav = ({ Link, className })=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/StepNav/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { StepNavProvider, useStepNav } from './context.js'\nimport './index.scss'\nexport { SetStepNav } from './SetStepNav.js'\nimport { PayloadIcon } from '@payloadcms/ui'\n\nimport type { StepNavItem } from './types.js'\n\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\n\nconst baseClass = 'step-nav'\n\nconst StepNav: React.FC<{\n readonly Link?: React.ComponentType\n readonly className?: string\n}> = ({ Link, className }) => {\n const { i18n } = useTranslation()\n\n const { stepNav } = useStepNav()\n\n const {\n config,\n config: {\n routes: { admin },\n },\n } = useConfig()\n\n const { t } = useTranslation()\n\n const LinkElement = Link || 'a'\n\n return (\n <Fragment>\n {stepNav.length > 0 ? (\n <nav className={[baseClass, className].filter(Boolean).join(' ')}>\n <LinkElement className={`${baseClass}__home`} href={admin} tabIndex={0}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </LinkElement>\n <span>/</span>\n {stepNav.map((item, i) => {\n const StepLabel = getTranslation(item.label, i18n)\n const isLast = stepNav.length === i + 1\n\n const Step = isLast ? (\n <span className={`${baseClass}__last`} key={i}>\n {StepLabel}\n </span>\n ) : (\n <Fragment key={i}>\n {item.url ? (\n <LinkElement href={item.url}>\n <span key={i}>{StepLabel}</span>\n </LinkElement>\n ) : (\n <span key={i}>{StepLabel}</span>\n )}\n <span>/</span>\n </Fragment>\n )\n\n return Step\n })}\n </nav>\n ) : (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__home`}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </div>\n </div>\n )}\n </Fragment>\n )\n}\n\nexport { StepNav, StepNavItem, StepNavProvider, useStepNav }\n"],"names":["getTranslation","React","Fragment","useConfig","useTranslation","StepNavProvider","useStepNav","SetStepNav","PayloadIcon","RenderComponent","baseClass","StepNav","Link","className","i18n","stepNav","config","routes","admin","t","LinkElement","length","nav","filter","Boolean","join","href","tabIndex","span","title","Component","mappedComponent","components","graphics","Icon","map","item","i","StepLabel","label","isLast","Step","url","div"],"mappings":"AAAA;;AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,EAAEC,UAAU,QAAQ,eAAc;AAC1D,OAAO,eAAc;AACrB,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,WAAW,QAAQ,iBAAgB;AAI5C,SAASC,eAAe,QAAQ,4CAA2C;AAE3E,MAAMC,YAAY;AAElB,MAAMC,UAGD,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAE;IACvB,MAAM,EAAEC,IAAI,EAAE,GAAGV;IAEjB,MAAM,EAAEW,OAAO,EAAE,GAAGT;IAEpB,MAAM,EACJU,MAAM,EACNA,QAAQ,EACNC,QAAQ,EAAEC,KAAK,EAAE,EAClB,EACF,GAAGf;IAEJ,MAAM,EAAEgB,CAAC,EAAE,GAAGf;IAEd,MAAMgB,cAAcR,QAAQ;IAE5B,qBACE,KAACV;kBACEa,QAAQM,MAAM,GAAG,kBAChB,MAACC;YAAIT,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;;8BAC1D,KAACL;oBAAYP,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;oBAAEgB,MAAMR;oBAAOS,UAAU;8BACnE,cAAA,KAACC;wBAAKC,OAAOV,EAAE;kCACb,cAAA,KAACV;4BACCqB,WAAWtB;4BACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;8BAI5D,KAACN;8BAAK;;gBACLb,QAAQoB,GAAG,CAAC,CAACC,MAAMC;oBAClB,MAAMC,YAAYtC,eAAeoC,KAAKG,KAAK,EAAEzB;oBAC7C,MAAM0B,SAASzB,QAAQM,MAAM,KAAKgB,IAAI;oBAEtC,MAAMI,OAAOD,uBACX,KAACZ;wBAAKf,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;kCAClC4B;uBADyCD,mBAI5C,MAACnC;;4BACEkC,KAAKM,GAAG,iBACP,KAACtB;gCAAYM,MAAMU,KAAKM,GAAG;0CACzB,cAAA,KAACd;8CAAcU;mCAAJD;+CAGb,KAACT;0CAAcU;+BAAJD;0CAEb,KAACT;0CAAK;;;uBAROS;oBAYjB,OAAOI;gBACT;;2BAGF,KAACE;YAAI9B,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAACkB;gBAAI9B,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;0BAClC,cAAA,KAACkB;oBAAKC,OAAOV,EAAE;8BACb,cAAA,KAACV;wBACCqB,WAAWtB;wBACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;;;AAQtE;AAEA,SAASvB,OAAO,EAAeN,eAAe,EAAEC,UAAU,GAAE"}
1
+ {"version":3,"sources":["../../../src/elements/StepNav/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { StepNavProvider, useStepNav } from './context.js'\nimport './index.scss'\nexport { SetStepNav } from './SetStepNav.js'\nimport type { StepNavItem } from './types.js'\n\nimport { PayloadIcon } from '../../graphics/Icon/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\n\nconst baseClass = 'step-nav'\n\nconst StepNav: React.FC<{\n readonly Link?: React.ComponentType\n readonly className?: string\n}> = ({ Link, className }) => {\n const { i18n } = useTranslation()\n\n const { stepNav } = useStepNav()\n\n const {\n config,\n config: {\n routes: { admin },\n },\n } = useConfig()\n\n const { t } = useTranslation()\n\n const LinkElement = Link || 'a'\n\n return (\n <Fragment>\n {stepNav.length > 0 ? (\n <nav className={[baseClass, className].filter(Boolean).join(' ')}>\n <LinkElement className={`${baseClass}__home`} href={admin} tabIndex={0}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </LinkElement>\n <span>/</span>\n {stepNav.map((item, i) => {\n const StepLabel = getTranslation(item.label, i18n)\n const isLast = stepNav.length === i + 1\n\n const Step = isLast ? (\n <span className={`${baseClass}__last`} key={i}>\n {StepLabel}\n </span>\n ) : (\n <Fragment key={i}>\n {item.url ? (\n <LinkElement href={item.url}>\n <span key={i}>{StepLabel}</span>\n </LinkElement>\n ) : (\n <span key={i}>{StepLabel}</span>\n )}\n <span>/</span>\n </Fragment>\n )\n\n return Step\n })}\n </nav>\n ) : (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__home`}>\n <span title={t('general:dashboard')}>\n <RenderComponent\n Component={PayloadIcon}\n mappedComponent={config?.admin?.components?.graphics?.Icon}\n />\n </span>\n </div>\n </div>\n )}\n </Fragment>\n )\n}\n\nexport { StepNav, StepNavItem, StepNavProvider, useStepNav }\n"],"names":["getTranslation","React","Fragment","useConfig","useTranslation","StepNavProvider","useStepNav","SetStepNav","PayloadIcon","RenderComponent","baseClass","StepNav","Link","className","i18n","stepNav","config","routes","admin","t","LinkElement","length","nav","filter","Boolean","join","href","tabIndex","span","title","Component","mappedComponent","components","graphics","Icon","map","item","i","StepLabel","label","isLast","Step","url","div"],"mappings":"AAAA;;AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,EAAEC,UAAU,QAAQ,eAAc;AAC1D,OAAO,eAAc;AACrB,SAASC,UAAU,QAAQ,kBAAiB;AAG5C,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,eAAe,QAAQ,4CAA2C;AAE3E,MAAMC,YAAY;AAElB,MAAMC,UAGD,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAE;IACvB,MAAM,EAAEC,IAAI,EAAE,GAAGV;IAEjB,MAAM,EAAEW,OAAO,EAAE,GAAGT;IAEpB,MAAM,EACJU,MAAM,EACNA,QAAQ,EACNC,QAAQ,EAAEC,KAAK,EAAE,EAClB,EACF,GAAGf;IAEJ,MAAM,EAAEgB,CAAC,EAAE,GAAGf;IAEd,MAAMgB,cAAcR,QAAQ;IAE5B,qBACE,KAACV;kBACEa,QAAQM,MAAM,GAAG,kBAChB,MAACC;YAAIT,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;;8BAC1D,KAACL;oBAAYP,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;oBAAEgB,MAAMR;oBAAOS,UAAU;8BACnE,cAAA,KAACC;wBAAKC,OAAOV,EAAE;kCACb,cAAA,KAACV;4BACCqB,WAAWtB;4BACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;8BAI5D,KAACN;8BAAK;;gBACLb,QAAQoB,GAAG,CAAC,CAACC,MAAMC;oBAClB,MAAMC,YAAYtC,eAAeoC,KAAKG,KAAK,EAAEzB;oBAC7C,MAAM0B,SAASzB,QAAQM,MAAM,KAAKgB,IAAI;oBAEtC,MAAMI,OAAOD,uBACX,KAACZ;wBAAKf,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;kCAClC4B;uBADyCD,mBAI5C,MAACnC;;4BACEkC,KAAKM,GAAG,iBACP,KAACtB;gCAAYM,MAAMU,KAAKM,GAAG;0CACzB,cAAA,KAACd;8CAAcU;mCAAJD;+CAGb,KAACT;0CAAcU;+BAAJD;0CAEb,KAACT;0CAAK;;;uBAROS;oBAYjB,OAAOI;gBACT;;2BAGF,KAACE;YAAI9B,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAACkB;gBAAI9B,WAAW,CAAC,EAAEH,UAAU,MAAM,CAAC;0BAClC,cAAA,KAACkB;oBAAKC,OAAOV,EAAE;8BACb,cAAA,KAACV;wBACCqB,WAAWtB;wBACXuB,iBAAiBf,QAAQE,OAAOc,YAAYC,UAAUC;;;;;;AAQtE;AAEA,SAASvB,OAAO,EAAeN,eAAe,EAAEC,UAAU,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC7B,yBAAyB,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,eAAe,CAAC,CAanE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAC7B,yBAAyB,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,eAAe,CAAC,CAanE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useConfig } from '@payloadcms/ui';
4
3
  import React from 'react';
4
+ import { useConfig } from '../../../../../providers/Config/index.js';
5
5
  import { useTranslation } from '../../../../../providers/Translation/index.js';
6
6
  import { formatDate } from '../../../../../utilities/formatDate.js';
7
7
  export const DateCell = ({ cellData, field: { admin: { date } = {} } })=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport { useConfig } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { formatDate } from '../../../../../utilities/formatDate.js'\n\nexport const DateCell: React.FC<\n DefaultCellComponentProps<Date | number | string, DateFieldClient>\n> = ({ cellData, field: { admin: { date } = {} } }) => {\n const {\n config: {\n admin: { dateFormat: dateFormatFromRoot },\n },\n } = useConfig()\n\n const dateFormat = date?.displayFormat || dateFormatFromRoot\n\n const { i18n } = useTranslation()\n\n return <span>{cellData && formatDate({ date: cellData, i18n, pattern: dateFormat })}</span>\n}\n"],"names":["useConfig","React","useTranslation","formatDate","DateCell","cellData","field","admin","date","config","dateFormat","dateFormatFromRoot","displayFormat","i18n","span","pattern"],"mappings":"AAAA;;AAGA,SAASA,SAAS,QAAQ,iBAAgB;AAC1C,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,gDAA+C;AAC9E,SAASC,UAAU,QAAQ,yCAAwC;AAEnE,OAAO,MAAMC,WAET,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE;IAChD,MAAM,EACJC,QAAQ,EACNF,OAAO,EAAEG,YAAYC,kBAAkB,EAAE,EAC1C,EACF,GAAGX;IAEJ,MAAMU,aAAaF,MAAMI,iBAAiBD;IAE1C,MAAM,EAAEE,IAAI,EAAE,GAAGX;IAEjB,qBAAO,KAACY;kBAAMT,YAAYF,WAAW;YAAEK,MAAMH;YAAUQ;YAAME,SAASL;QAAW;;AACnF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Date/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { formatDate } from '../../../../../utilities/formatDate.js'\n\nexport const DateCell: React.FC<\n DefaultCellComponentProps<Date | number | string, DateFieldClient>\n> = ({ cellData, field: { admin: { date } = {} } }) => {\n const {\n config: {\n admin: { dateFormat: dateFormatFromRoot },\n },\n } = useConfig()\n\n const dateFormat = date?.displayFormat || dateFormatFromRoot\n\n const { i18n } = useTranslation()\n\n return <span>{cellData && formatDate({ date: cellData, i18n, pattern: dateFormat })}</span>\n}\n"],"names":["React","useConfig","useTranslation","formatDate","DateCell","cellData","field","admin","date","config","dateFormat","dateFormatFromRoot","displayFormat","i18n","span","pattern"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,2CAA0C;AACpE,SAASC,cAAc,QAAQ,gDAA+C;AAC9E,SAASC,UAAU,QAAQ,yCAAwC;AAEnE,OAAO,MAAMC,WAET,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE;IAChD,MAAM,EACJC,QAAQ,EACNF,OAAO,EAAEG,YAAYC,kBAAkB,EAAE,EAC1C,EACF,GAAGV;IAEJ,MAAMS,aAAaF,MAAMI,iBAAiBD;IAE1C,MAAM,EAAEE,IAAI,EAAE,GAAGX;IAEjB,qBAAO,KAACY;kBAAMT,YAAYF,WAAW;YAAEK,MAAMH;YAAUQ;YAAME,SAASL;QAAW;;AACnF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EA0InD,CAAA"}
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EA0InD,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { DefaultCell } from '@payloadcms/ui';
4
3
  import React from 'react';
4
+ import { DefaultCell } from '../../elements/Table/DefaultCell/index.js';
5
5
  import { FieldLabel } from '../../fields/FieldLabel/index.js';
6
6
  import { flattenFieldMap } from '../../utilities/flattenFieldMap.js';
7
7
  import { SelectAll } from '../SelectAll/index.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport { DefaultCell } from '@payloadcms/ui'\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"names":["DefaultCell","React","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { DefaultCell } from '../../elements/Table/DefaultCell/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"names":["React","DefaultCell","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"mappings":"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"}
@@ -4,18 +4,18 @@ import './index.scss';
4
4
  export declare const editDrawerSlug = "edit-upload";
5
5
  export declare const sizePreviewSlug = "preview-sizes";
6
6
  type UploadActionsArgs = {
7
- customActions?: React.ReactNode[];
8
- enableAdjustments: boolean;
9
- enablePreviewSizes: boolean;
10
- mimeType: string;
7
+ readonly customActions?: React.ReactNode[];
8
+ readonly enableAdjustments: boolean;
9
+ readonly enablePreviewSizes: boolean;
10
+ readonly mimeType: string;
11
11
  };
12
12
  export declare const UploadActions: ({ customActions, enableAdjustments, enablePreviewSizes, mimeType, }: UploadActionsArgs) => React.JSX.Element;
13
13
  export type UploadProps = {
14
- collectionSlug: string;
15
- customActions?: React.ReactNode[];
16
- initialState?: FormState;
17
- onChange?: (file?: File) => void;
18
- uploadConfig: SanitizedCollectionConfig['upload'];
14
+ readonly collectionSlug: string;
15
+ readonly customActions?: React.ReactNode[];
16
+ readonly initialState?: FormState;
17
+ readonly onChange?: (file?: File) => void;
18
+ readonly uploadConfig: SanitizedCollectionConfig['upload'];
19
19
  };
20
20
  export declare const Upload: React.FC<UploadProps>;
21
21
  export {};