@payloadcms/ui 3.21.0 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +20 -10
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/Button/index.d.ts.map +1 -1
  5. package/dist/elements/Button/index.js +3 -2
  6. package/dist/elements/Button/index.js.map +1 -1
  7. package/dist/elements/Button/types.d.ts +4 -0
  8. package/dist/elements/Button/types.d.ts.map +1 -1
  9. package/dist/elements/Button/types.js.map +1 -1
  10. package/dist/elements/ListControls/index.d.ts.map +1 -1
  11. package/dist/elements/ListControls/index.js +0 -1
  12. package/dist/elements/ListControls/index.js.map +1 -1
  13. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  14. package/dist/elements/ListDrawer/DrawerContent.js +9 -6
  15. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  16. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  17. package/dist/elements/PublishButton/index.js +2 -1
  18. package/dist/elements/PublishButton/index.js.map +1 -1
  19. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  20. package/dist/elements/ReactSelect/MultiValueLabel/index.js +6 -2
  21. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  22. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +5 -0
  23. package/dist/elements/ReactSelect/types.d.ts +6 -1
  24. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  25. package/dist/elements/ReactSelect/types.js.map +1 -1
  26. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  27. package/dist/elements/RelationshipTable/index.js +9 -6
  28. package/dist/elements/RelationshipTable/index.js.map +1 -1
  29. package/dist/elements/Upload/index.d.ts.map +1 -1
  30. package/dist/elements/Upload/index.js +4 -3
  31. package/dist/elements/Upload/index.js.map +1 -1
  32. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts +1 -1
  33. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts.map +1 -1
  34. package/dist/elements/WhereBuilder/Condition/Date/index.js +1 -1
  35. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  36. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +6 -6
  37. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  38. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts +1 -1
  39. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  40. package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -1
  41. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  42. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts +1 -1
  43. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  44. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +12 -10
  45. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  46. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  47. package/dist/elements/WhereBuilder/Condition/index.js +100 -88
  48. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  49. package/dist/exports/client/index.d.ts +4 -4
  50. package/dist/exports/client/index.d.ts.map +1 -1
  51. package/dist/exports/client/index.js +23 -22
  52. package/dist/exports/client/index.js.map +4 -4
  53. package/dist/fields/Password/index.d.ts.map +1 -1
  54. package/dist/fields/Password/index.js +1 -0
  55. package/dist/fields/Password/index.js.map +1 -1
  56. package/dist/fields/Relationship/index.d.ts.map +1 -1
  57. package/dist/fields/Relationship/index.js +41 -28
  58. package/dist/fields/Relationship/index.js.map +1 -1
  59. package/dist/fields/Text/Input.d.ts.map +1 -1
  60. package/dist/fields/Text/Input.js +47 -1
  61. package/dist/fields/Text/Input.js.map +1 -1
  62. package/dist/forms/Form/context.d.ts +7 -1
  63. package/dist/forms/Form/context.d.ts.map +1 -1
  64. package/dist/forms/Form/context.js +9 -1
  65. package/dist/forms/Form/context.js.map +1 -1
  66. package/dist/forms/Form/index.d.ts +1 -1
  67. package/dist/forms/Form/index.d.ts.map +1 -1
  68. package/dist/forms/Form/index.js +73 -58
  69. package/dist/forms/Form/index.js.map +1 -1
  70. package/dist/forms/Form/types.d.ts +7 -0
  71. package/dist/forms/Form/types.d.ts.map +1 -1
  72. package/dist/forms/Form/types.js.map +1 -1
  73. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +4 -0
  74. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  75. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +9 -0
  76. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  77. package/dist/forms/fieldSchemasToFormState/index.d.ts +23 -1
  78. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  79. package/dist/forms/fieldSchemasToFormState/index.js +10 -1
  80. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  81. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +5 -1
  82. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  83. package/dist/forms/fieldSchemasToFormState/iterateFields.js +3 -0
  84. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  85. package/dist/forms/useField/index.d.ts.map +1 -1
  86. package/dist/forms/useField/index.js +38 -34
  87. package/dist/forms/useField/index.js.map +1 -1
  88. package/dist/hooks/useEffectEvent.d.ts +2 -0
  89. package/dist/hooks/useEffectEvent.d.ts.map +1 -0
  90. package/dist/hooks/useEffectEvent.js +57 -0
  91. package/dist/hooks/useEffectEvent.js.map +1 -0
  92. package/dist/styles.css +1 -1
  93. package/dist/utilities/buildFormState.d.ts.map +1 -1
  94. package/dist/utilities/buildFormState.js +13 -0
  95. package/dist/utilities/buildFormState.js.map +1 -1
  96. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  97. package/dist/views/Edit/Auth/APIKey.js +1 -0
  98. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  99. package/dist/views/Edit/index.d.ts.map +1 -1
  100. package/dist/views/Edit/index.js +1 -0
  101. package/dist/views/Edit/index.js.map +1 -1
  102. package/package.json +5 -5
  103. package/dist/hooks/useIgnoredEffect.d.ts +0 -21
  104. package/dist/hooks/useIgnoredEffect.d.ts.map +0 -1
  105. package/dist/hooks/useIgnoredEffect.js +0 -41
  106. package/dist/hooks/useIgnoredEffect.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","ScheduleDrawer","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","t1","serverURL","api","t","t2","t3","bb0","t4","undefined","entityConfig","hasNewerVersions","canPublish","scheduledPublishEnabled","versions","drafts","schedulePublish","canSchedulePublish","Boolean","operation","disabled","search","action","method","overrides","_status","skipValidation","saveDraft","t5","Symbol","for","t6","cmdCtrlKey","keyCodes","t7","e","preventDefault","stopPropagation","autosave","t8","publish","t9","locale","params","stringify","publishSpecificLocale","action_0","publishAll","defaultLocalePublishOption","t10","locales","find","locale_0","activeLocale","activeLocaleLabel","t11","defaultPublish","t12","defaultLabel","t13","secondaryPublish","t14","t15","bb1","secondaryLabel","_jsxs","Fragment","children","_jsx","buttonId","onClick","size","SubMenuPopupContent","t16","close","ButtonGroup","Button","type","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled && hasPublishPermission && (globalSlug || (collectionSlug && id)),\n )\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n const publishAll =\n !localization || (localization && localization.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel =\n activeLocale &&\n (typeof activeLocale.label === 'string'\n ? activeLocale.label\n : (activeLocale.label?.[localeCode] ?? undefined))\n\n const defaultPublish = publishAll ? publish : () => publishSpecificLocale(activeLocale.code)\n const defaultLabel = publishAll ? label : t('version:publishIn', { locale: activeLocaleLabel })\n\n const secondaryPublish = publishAll ? () => publishSpecificLocale(activeLocale.code) : publish\n const secondaryLabel = publishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={defaultPublish}\n size=\"medium\"\n SubMenuPopupContent={\n localization || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button onClick={() => [toggleModal(drawerSlug), close()]}>\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {localization && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={secondaryPublish}>\n {secondaryLabel}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {localization ? defaultLabel : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && <ScheduleDrawer slug={drawerSlug} />}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","ScheduleDrawer","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","t1","serverURL","api","t","t2","t3","bb0","t4","undefined","entityConfig","hasNewerVersions","canPublish","scheduledPublishEnabled","versions","drafts","schedulePublish","canSchedulePublish","Boolean","operation","disabled","search","action","method","overrides","_status","skipValidation","saveDraft","t5","Symbol","for","t6","cmdCtrlKey","keyCodes","t7","e","preventDefault","stopPropagation","autosave","t8","publish","t9","locale","params","stringify","publishSpecificLocale","action_0","publishAll","defaultLocalePublishOption","t10","locales","find","locale_0","activeLocale","activeLocaleLabel","t11","defaultPublish","t12","defaultLabel","t13","secondaryPublish","t14","t15","bb1","secondaryLabel","_jsxs","Fragment","children","_jsx","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","t16","close","ButtonGroup","Button","type","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled && hasPublishPermission && (globalSlug || (collectionSlug && id)),\n )\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n const publishAll =\n !localization || (localization && localization.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel =\n activeLocale &&\n (typeof activeLocale.label === 'string'\n ? activeLocale.label\n : (activeLocale.label?.[localeCode] ?? undefined))\n\n const defaultPublish = publishAll ? publish : () => publishSpecificLocale(activeLocale.code)\n const defaultLabel = publishAll ? label : t('version:publishIn', { locale: activeLocaleLabel })\n\n const secondaryPublish = publishAll ? () => publishSpecificLocale(activeLocale.code) : publish\n const secondaryLabel = publishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n enableSubMenu={canSchedulePublish}\n onClick={defaultPublish}\n size=\"medium\"\n SubMenuPopupContent={\n localization || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button onClick={() => [toggleModal(drawerSlug), close()]}>\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {localization && canPublish && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={secondaryPublish}>\n {secondaryLabel}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {localization ? defaultLabel : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && <ScheduleDrawer slug={drawerSlug} />}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAe7D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAkB7D,CAAA"}
@@ -8,18 +8,22 @@ const baseClass = 'multi-value-label';
8
8
  export const MultiValueLabel = props => {
9
9
  // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module
10
10
  const {
11
+ data,
11
12
  selectProps: {
12
13
  customProps: {
13
- draggableProps
14
+ draggableProps,
15
+ editableProps
14
16
  } = {}
15
17
  } = {}
16
18
  } = props;
19
+ const className = `${baseClass}__text`;
17
20
  return /*#__PURE__*/_jsx("div", {
18
21
  className: baseClass,
19
22
  children: /*#__PURE__*/_jsx(SelectComponents.MultiValueLabel, {
20
23
  ...props,
21
24
  innerProps: {
22
- className: `${baseClass}__text`,
25
+ className,
26
+ ...(editableProps && editableProps(data, className, props.selectProps) || {}),
23
27
  ...(draggableProps || {})
24
28
  }
25
29
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","components","SelectComponents","baseClass","MultiValueLabel","props","selectProps","customProps","draggableProps","_jsx","className","innerProps"],"sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps: { draggableProps } = {} } = {} } = props\n\n return (\n <div className={baseClass}>\n <SelectComponents.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAClB,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAI/C,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,eAAA,GAAsDC,KAAA;EACjE;EACA,MAAM;IAAEC,WAAA,EAAa;MAAEC,WAAA,EAAa;QAAEC;MAAc,CAAE,GAAG,CAAC;IAAC,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGH,KAAA;EAEvE,oBACEI,IAAA,CAAC;IAAIC,SAAA,EAAWP,SAAA;cACd,aAAAM,IAAA,CAACP,gBAAA,CAAiBE,eAAe;MAC9B,GAAGC,KAAK;MACTM,UAAA,EAAY;QACVD,SAAA,EAAW,GAAGP,SAAA,QAAiB;QAC/B,IAAIK,cAAA,IAAkB,CAAC,CAAC;MAC1B;;;AAIR","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","components","SelectComponents","baseClass","MultiValueLabel","props","data","selectProps","customProps","draggableProps","editableProps","className","_jsx","innerProps"],"sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport './index.scss'\n\nconst baseClass = 'multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n const { data, selectProps: { customProps: { draggableProps, editableProps } = {} } = {} } = props\n\n const className = `${baseClass}__text`\n\n return (\n <div className={baseClass}>\n <SelectComponents.MultiValueLabel\n {...props}\n innerProps={{\n className,\n ...((editableProps && editableProps(data, className, props.selectProps)) || {}),\n ...(draggableProps || {}),\n }}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAClB,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAI/C,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,eAAA,GAAsDC,KAAA;EACjE;EACA,MAAM;IAAEC,IAAI;IAAEC,WAAA,EAAa;MAAEC,WAAA,EAAa;QAAEC,cAAc;QAAEC;MAAa,CAAE,GAAG,CAAC;IAAC,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGL,KAAA;EAE5F,MAAMM,SAAA,GAAY,GAAGR,SAAA,QAAiB;EAEtC,oBACES,IAAA,CAAC;IAAID,SAAA,EAAWR,SAAA;cACd,aAAAS,IAAA,CAACV,gBAAA,CAAiBE,eAAe;MAC9B,GAAGC,KAAK;MACTQ,UAAA,EAAY;QACVF,SAAA;QACA,IAAID,aAAC,IAAiBA,aAAA,CAAcJ,IAAA,EAAMK,SAAA,EAAWN,KAAA,CAAME,WAAW,KAAM,CAAC,CAAC;QAC9E,IAAIE,cAAA,IAAkB,CAAC,CAAC;MAC1B;;;AAIR","ignoreList":[]}
@@ -13,6 +13,11 @@
13
13
  text-overflow: ellipsis;
14
14
  overflow: hidden;
15
15
  white-space: nowrap;
16
+
17
+ &--editable {
18
+ cursor: text;
19
+ outline: var(--accessibility-outline);
20
+ }
16
21
  }
17
22
 
18
23
  &:focus-visible {
@@ -6,8 +6,12 @@ type CustomSelectProps = {
6
6
  DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1];
7
7
  draggableProps?: any;
8
8
  droppableRef?: React.RefObject<HTMLDivElement | null>;
9
+ editableProps?: (data: Option<{
10
+ label: string;
11
+ value: string;
12
+ }>, className: string, selectProps: ReactSelectStateManagerProps) => any;
9
13
  onDelete?: DocumentDrawerProps['onDelete'];
10
- onDocumentDrawerOpen: (args: {
14
+ onDocumentDrawerOpen?: (args: {
11
15
  collectionSlug: string;
12
16
  hasReadPermission: boolean;
13
17
  id: number | string;
@@ -60,6 +64,7 @@ export type ReactSelectAdapterProps = {
60
64
  isOptionSelected?: any;
61
65
  isSearchable?: boolean;
62
66
  isSortable?: boolean;
67
+ menuIsOpen?: boolean;
63
68
  noOptionsMessage?: (obj: {
64
69
  inputValue: string;
65
70
  }) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps, UseDocumentDrawer } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentDrawerOpen: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"mappings":"AAsDA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { CommonProps, GroupBase, Props as ReactSelectStateManagerProps } from 'react-select'\n\nimport type { DocumentDrawerProps, UseDocumentDrawer } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentDrawerOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n className?: string\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: string\n showError?: boolean\n value?: Option | Option[]\n}\n"],"mappings":"AA2DA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAwPvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAa,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG/E,OAAO,KAAqD,MAAM,OAAO,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAerE,OAAO,cAAc,CAAA;AASrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAwPvE,CAAA"}
@@ -2,10 +2,10 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { getTranslation } from '@payloadcms/translations';
5
- import React, { Fragment, useCallback, useState } from 'react';
5
+ import React, { Fragment, useCallback, useEffect, useState } from 'react';
6
6
  import { Button } from '../../elements/Button/index.js';
7
7
  import { Pill } from '../../elements/Pill/index.js';
8
- import { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js';
8
+ import { useEffectEvent } from '../../hooks/useEffectEvent.js';
9
9
  import { ChevronIcon } from '../../icons/Chevron/index.js';
10
10
  import { useAuth } from '../../providers/Auth/index.js';
11
11
  import { useConfig } from '../../providers/Config/index.js';
@@ -15,10 +15,10 @@ import { useTranslation } from '../../providers/Translation/index.js';
15
15
  import { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js';
16
16
  import { AnimateHeight } from '../AnimateHeight/index.js';
17
17
  import { ColumnSelector } from '../ColumnSelector/index.js';
18
+ import './index.scss';
18
19
  import { useDocumentDrawer } from '../DocumentDrawer/index.js';
19
20
  import { RelationshipProvider } from '../Table/RelationshipProvider/index.js';
20
21
  import { TableColumnsProvider } from '../TableColumns/index.js';
21
- import './index.scss';
22
22
  import { DrawerLink } from './cells/DrawerLink/index.js';
23
23
  import { RelationshipTablePagination } from './Pagination.js';
24
24
  const baseClass = 'relationship-table';
@@ -107,11 +107,14 @@ export const RelationshipTable = props => {
107
107
  setColumnState(newColumnState);
108
108
  setIsLoadingTable(false);
109
109
  }, [field.defaultLimit, field.defaultSort, field.admin.defaultColumns, collectionConfig.admin.pagination.defaultLimit, collectionConfig.defaultSort, query, filterOptions, getTableState, relationTo]);
110
- useIgnoredEffect(() => {
111
- if (!disableTable && (!Table || query)) {
110
+ const handleTableRender = useEffectEvent((query_0, disableTable_0) => {
111
+ if (!disableTable_0 && (!Table || query_0)) {
112
112
  void renderTable();
113
113
  }
114
- }, [query, disableTable], [Table, renderTable]);
114
+ });
115
+ useEffect(() => {
116
+ handleTableRender(query, disableTable);
117
+ }, [query, disableTable]);
115
118
  const [DocumentDrawer, DocumentDrawerToggler, {
116
119
  closeDrawer,
117
120
  openDrawer
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","Table","setTable","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","undefined","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","modifySearchParams","onQueryChange","LinkedCellOverride","sortColumnProps","appearance","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),\n sort: field.defaultSort || collectionConfig.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: defaultColumns,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n collectionConfig.admin.pagination.defaultLimit,\n collectionConfig.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n ],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data.docs, renderTable],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useEffect","useState","Button","Pill","useEffectEvent","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","Table","setTable","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","undefined","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","handleTableRender","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","modifySearchParams","onQueryChange","LinkedCellOverride","sortColumnProps","appearance","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type { JoinFieldClient, ListQuery, PaginatedDocs, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport './index.scss'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),\n sort: field.defaultSort || collectionConfig.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: defaultColumns,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n collectionConfig.admin.pagination.defaultLimit,\n collectionConfig.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data.docs, renderTable],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAGhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAiBjF,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAiCnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAkWxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAGhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAiBjF,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAiCnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoWxC,CAAA"}
@@ -256,6 +256,7 @@ export const Upload = props => {
256
256
  } = uploadConfig;
257
257
  const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled);
258
258
  const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ');
259
+ const imageCacheTag = uploadConfig?.cacheTags && savedDocumentData?.updatedAt;
259
260
  return /*#__PURE__*/_jsxs("div", {
260
261
  className: [fieldBaseClass, baseClass].filter(Boolean).join(' '),
261
262
  children: [/*#__PURE__*/_jsx(FieldError, {
@@ -268,7 +269,7 @@ export const Upload = props => {
268
269
  enableAdjustments: showCrop || showFocalPoint,
269
270
  handleRemove: canRemoveUpload ? handleFileRemoval : undefined,
270
271
  hasImageSizes: hasImageSizes,
271
- imageCacheTag: uploadConfig?.cacheTags && savedDocumentData.updatedAt,
272
+ imageCacheTag: imageCacheTag,
272
273
  uploadConfig: uploadConfig
273
274
  }), (!savedDocumentData?.filename || removedFile) && /*#__PURE__*/_jsxs("div", {
274
275
  className: `${baseClass}__upload`,
@@ -387,7 +388,7 @@ export const Upload = props => {
387
388
  children: /*#__PURE__*/_jsx(EditUpload, {
388
389
  fileName: value?.name || savedDocumentData?.filename,
389
390
  fileSrc: savedDocumentData?.url || fileSrc,
390
- imageCacheTag: savedDocumentData?.updatedAt,
391
+ imageCacheTag: imageCacheTag,
391
392
  initialCrop: uploadEdits?.crop ?? undefined,
392
393
  initialFocalPoint: {
393
394
  x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,
@@ -407,7 +408,7 @@ export const Upload = props => {
407
408
  }),
408
409
  children: /*#__PURE__*/_jsx(PreviewSizes, {
409
410
  doc: savedDocumentData,
410
- imageCacheTag: savedDocumentData.updatedAt,
411
+ imageCacheTag: imageCacheTag,
411
412
  uploadConfig: uploadConfig
412
413
  })
413
414
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","config","routes","api","serverURL","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","id","docPermissions","savedDocumentData","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","name","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","newFile","File","URL","createObjectURL","renameFile","fileToChange","newName","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","file","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","filter","message","customUploadActions","doc","handleRemove","imageCacheTag","cacheTags","updatedAt","buttonStyle","onClick","click","size","accept","hidden","ref","icon","iconStyle","round","tooltip","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport './index.scss'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const { id, docPermissions, savedDocumentData, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange(renameFile(value, updatedFileName))\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload =\n docPermissions?.update && 'delete' in docPermissions && docPermissions?.delete\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {savedDocumentData && savedDocumentData.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={savedDocumentData}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={uploadConfig?.cacheTags && savedDocumentData.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!savedDocumentData?.filename || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && savedDocumentData?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || savedDocumentData?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || savedDocumentData?.filename}\n fileSrc={savedDocumentData?.url || fileSrc}\n imageCacheTag={savedDocumentData?.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || savedDocumentData?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {savedDocumentData && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: savedDocumentData.filename })}\n >\n <PreviewSizes\n doc={savedDocumentData}\n imageCacheTag={savedDocumentData.updatedAt}\n uploadConfig={uploadConfig}\n />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","config","routes","api","serverURL","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","id","docPermissions","savedDocumentData","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","name","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","newFile","File","URL","createObjectURL","renameFile","fileToChange","newName","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","file","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","filter","message","customUploadActions","doc","handleRemove","buttonStyle","onClick","click","size","accept","hidden","ref","icon","iconStyle","round","tooltip","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport './index.scss'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const { id, docPermissions, savedDocumentData, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange(renameFile(value, updatedFileName))\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload =\n docPermissions?.update && 'delete' in docPermissions && docPermissions?.delete\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && savedDocumentData?.updatedAt\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {savedDocumentData && savedDocumentData.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={savedDocumentData}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {(!savedDocumentData?.filename || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && savedDocumentData?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || savedDocumentData?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || savedDocumentData?.filename}\n fileSrc={savedDocumentData?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || savedDocumentData?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {savedDocumentData && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: savedDocumentData.filename })}\n >\n <PreviewSizes\n doc={savedDocumentData}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { Props } from './types.js';
3
- export declare const DateField: React.FC<Props>;
3
+ export declare const DateFilter: React.FC<Props>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Date/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAQrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Date/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAQtC,CAAA"}
@@ -4,7 +4,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import React from 'react';
5
5
  import { DatePickerField } from '../../../DatePicker/index.js';
6
6
  const baseClass = 'condition-value-date';
7
- export const DateField = ({
7
+ export const DateFilter = ({
8
8
  disabled,
9
9
  field: {
10
10
  admin
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","DatePickerField","baseClass","DateField","disabled","field","admin","onChange","value","date","_jsx","className","readOnly"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Date/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { DatePickerField } from '../../../DatePicker/index.js'\n\nconst baseClass = 'condition-value-date'\n\nexport const DateField: React.FC<Props> = ({ disabled, field: { admin }, onChange, value }) => {\n const { date } = admin || {}\n\n return (\n <div className={baseClass}>\n <DatePickerField {...date} onChange={onChange} readOnly={disabled} value={value as Date} />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAIlB,SAASC,eAAe,QAAQ;AAEhC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,SAAA,GAA6BA,CAAC;EAAEC,QAAQ;EAAEC,KAAA,EAAO;IAAEC;EAAK,CAAE;EAAEC,QAAQ;EAAEC;AAAK,CAAE;EACxF,MAAM;IAAEC;EAAI,CAAE,GAAGH,KAAA,IAAS,CAAC;EAE3B,oBACEI,IAAA,CAAC;IAAIC,SAAA,EAAWT,SAAA;cACd,aAAAQ,IAAA,CAACT,eAAA;MAAiB,GAAGQ,IAAI;MAAEF,QAAA,EAAUA,QAAA;MAAUK,QAAA,EAAUR,QAAA;MAAUI,KAAA,EAAOA;;;AAGhF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DatePickerField","baseClass","DateFilter","disabled","field","admin","onChange","value","date","_jsx","className","readOnly"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Date/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { DatePickerField } from '../../../DatePicker/index.js'\n\nconst baseClass = 'condition-value-date'\n\nexport const DateFilter: React.FC<Props> = ({ disabled, field: { admin }, onChange, value }) => {\n const { date } = admin || {}\n\n return (\n <div className={baseClass}>\n <DatePickerField {...date} onChange={onChange} readOnly={disabled} value={value as Date} />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAIlB,SAASC,eAAe,QAAQ;AAEhC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,UAAA,GAA8BA,CAAC;EAAEC,QAAQ;EAAEC,KAAA,EAAO;IAAEC;EAAK,CAAE;EAAEC,QAAQ;EAAEC;AAAK,CAAE;EACzF,MAAM;IAAEC;EAAI,CAAE,GAAGH,KAAA,IAAS,CAAC;EAE3B,oBACEI,IAAA,CAAC;IAAIC,SAAA,EAAWT,SAAA;cACd,aAAAQ,IAAA,CAACT,eAAA;MAAiB,GAAGQ,IAAI;MAAEF,QAAA,EAAUA,QAAA;MAAUK,QAAA,EAAUR,QAAA;MAAUI,KAAA,EAAOA;;;AAGhF","ignoreList":[]}