@payloadcms/ui 3.65.0-internal.ef3958a → 3.65.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 (65) hide show
  1. package/dist/elements/AppHeader/index.scss +2 -2
  2. package/dist/elements/CloseModalOnRouteChange/index.d.ts +2 -0
  3. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -0
  4. package/dist/elements/CloseModalOnRouteChange/index.js +51 -0
  5. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -0
  6. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  7. package/dist/elements/PublishButton/index.js +13 -16
  8. package/dist/elements/PublishButton/index.js.map +1 -1
  9. package/dist/elements/QueryPresets/cells/WhereCell/index.js +2 -2
  10. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  11. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  12. package/dist/elements/QueryPresets/fields/WhereField/index.js +4 -1
  13. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  14. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  15. package/dist/elements/ReactSelect/MultiValueLabel/index.js +18 -9
  16. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  17. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  18. package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
  19. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  20. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  21. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  22. package/dist/exports/client/{CodeEditor-IVFMKS4Z.js → CodeEditor-ORMD3ID3.js} +2 -2
  23. package/dist/exports/client/{chunk-XUCNM5EK.js → chunk-PXD7OIXB.js} +1 -1
  24. package/dist/exports/client/{chunk-XUCNM5EK.js.map → chunk-PXD7OIXB.js.map} +2 -2
  25. package/dist/exports/client/index.d.ts +1 -0
  26. package/dist/exports/client/index.d.ts.map +1 -1
  27. package/dist/exports/client/index.js +12 -12
  28. package/dist/exports/client/index.js.map +4 -4
  29. package/dist/fields/Array/index.js +1 -1
  30. package/dist/fields/Array/index.js.map +1 -1
  31. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -0
  32. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -0
  33. package/dist/fields/Blocks/BlockSelector/index.d.ts +13 -0
  34. package/dist/fields/Blocks/BlockSelector/index.d.ts.map +1 -0
  35. package/dist/fields/Blocks/BlockSelector/index.js +116 -0
  36. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -0
  37. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +0 -1
  38. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  39. package/dist/fields/Blocks/BlocksDrawer/index.js +62 -105
  40. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  41. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +1 -0
  42. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  43. package/dist/fields/Relationship/select-components/SingleValue/index.js +11 -8
  44. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  45. package/dist/hooks/useControllableState.d.ts.map +1 -1
  46. package/dist/hooks/useControllableState.js.map +1 -1
  47. package/dist/providers/Auth/index.d.ts.map +1 -1
  48. package/dist/providers/Auth/index.js +10 -8
  49. package/dist/providers/Auth/index.js.map +1 -1
  50. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  51. package/dist/providers/ListQuery/sanitizeQuery.js +1 -1
  52. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  53. package/dist/providers/Root/index.d.ts.map +1 -1
  54. package/dist/providers/Root/index.js +4 -3
  55. package/dist/providers/Root/index.js.map +1 -1
  56. package/dist/styles.css +1 -1
  57. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  58. package/package.json +5 -5
  59. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.d.ts.map +0 -1
  60. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +0 -1
  61. /package/dist/exports/client/{CodeEditor-IVFMKS4Z.js.map → CodeEditor-ORMD3ID3.js.map} +0 -0
  62. /package/dist/fields/Blocks/{BlocksDrawer → BlockSelector}/BlockSearch/index.d.ts +0 -0
  63. /package/dist/fields/Blocks/{BlocksDrawer → BlockSelector}/BlockSearch/index.js +0 -0
  64. /package/dist/fields/Blocks/{BlocksDrawer → BlockSelector}/BlockSearch/index.scss +0 -0
  65. /package/dist/fields/Blocks/{BlocksDrawer → BlockSelector}/index.scss +0 -0
@@ -91,8 +91,8 @@
91
91
  &__controls-wrapper {
92
92
  display: flex;
93
93
  align-items: center;
94
- flex-grow: 1;
95
- width: 100%;
94
+ flex: 1;
95
+ min-width: 0;
96
96
  }
97
97
 
98
98
  &__step-nav-wrapper {
@@ -0,0 +1,2 @@
1
+ export declare function CloseModalOnRouteChange(): any;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CloseModalOnRouteChange/index.tsx"],"names":[],"mappings":"AAQA,wBAAgB,uBAAuB,QAoBtC"}
@@ -0,0 +1,51 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { useModal } from '@faceless-ui/modal';
5
+ import { usePathname } from 'next/navigation.js';
6
+ import { useEffect, useRef } from 'react';
7
+ import { useEffectEvent } from '../../hooks/useEffectEvent.js';
8
+ export function CloseModalOnRouteChange() {
9
+ const $ = _c(6);
10
+ const {
11
+ closeAllModals
12
+ } = useModal();
13
+ const pathname = usePathname();
14
+ let t0;
15
+ if ($[0] !== closeAllModals) {
16
+ t0 = () => {
17
+ closeAllModals();
18
+ };
19
+ $[0] = closeAllModals;
20
+ $[1] = t0;
21
+ } else {
22
+ t0 = $[1];
23
+ }
24
+ const closeAllModalsEffectEvent = useEffectEvent(t0);
25
+ const initialRenderRef = useRef(true);
26
+ let t1;
27
+ if ($[2] !== closeAllModalsEffectEvent) {
28
+ t1 = () => {
29
+ if (initialRenderRef.current) {
30
+ initialRenderRef.current = false;
31
+ return;
32
+ }
33
+ closeAllModalsEffectEvent();
34
+ };
35
+ $[2] = closeAllModalsEffectEvent;
36
+ $[3] = t1;
37
+ } else {
38
+ t1 = $[3];
39
+ }
40
+ let t2;
41
+ if ($[4] !== pathname) {
42
+ t2 = [pathname];
43
+ $[4] = pathname;
44
+ $[5] = t2;
45
+ } else {
46
+ t2 = $[5];
47
+ }
48
+ useEffect(t1, t2);
49
+ return null;
50
+ }
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","usePathname","useEffect","useRef","useEffectEvent","CloseModalOnRouteChange","$","closeAllModals","pathname","t0","closeAllModalsEffectEvent","initialRenderRef","t1","current","t2"],"sources":["../../../src/elements/CloseModalOnRouteChange/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname } from 'next/navigation.js'\nimport { useEffect, useRef } from 'react'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\n\nexport function CloseModalOnRouteChange() {\n const { closeAllModals } = useModal()\n const pathname = usePathname()\n\n const closeAllModalsEffectEvent = useEffectEvent(() => {\n closeAllModals()\n })\n\n const initialRenderRef = useRef(true)\n\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false\n return\n }\n\n closeAllModalsEffectEvent()\n }, [pathname])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,SAASC,cAAc,QAAQ;AAE/B,OAAO,SAAAC,wBAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EACL;IAAAQ;EAAA,IAA2BP,QAAA;EAC3B,MAAAQ,QAAA,GAAiBP,WAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAH,CAAA,QAAAC,cAAA;IAEgCE,EAAA,GAAAA,CAAA;MAC/CF,cAAA;IAAA;IACFD,CAAA,MAAAC,cAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAFA,MAAAI,yBAAA,GAAkCN,cAAA,CAAeK,EAEjD;EAEA,MAAAE,gBAAA,GAAyBR,MAAA,KAAO;EAAA,IAAAS,EAAA;EAAA,IAAAN,CAAA,QAAAI,yBAAA;IAEtBE,EAAA,GAAAA,CAAA;MAAA,IACJD,gBAAA,CAAAE,OAAA;QACFF,gBAAA,CAAAE,OAAA;QAAA;MAAA;MAIFH,yBAAA;IAAA;IACFJ,CAAA,MAAAI,yBAAA;IAAAJ,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAE,QAAA;IAAGM,EAAA,IAACN,QAAA;IAASF,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAPbJ,SAAA,CAAUU,EAOV,EAAGE,EAAU;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAe/D,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,wBAAwB,qBAwP3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAe/D,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,wBAAwB,qBA2P3E"}
@@ -84,7 +84,7 @@ export function PublishButton({
84
84
  const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields);
85
85
  setHasLocalizedFields(hasLocalizedField);
86
86
  }, [entityConfig?.fields]);
87
- const canPublishSpecificLocale = localization && hasLocalizedFields && hasPublishPermission;
87
+ const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission;
88
88
  const operation = useOperation();
89
89
  const disabled = operation === 'update' && !modified;
90
90
  const saveDraft = useCallback(async () => {
@@ -157,17 +157,10 @@ export function PublishButton({
157
157
  setHasPublishedDoc(true);
158
158
  }
159
159
  }, [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus]);
160
- const publishAll = !localization || localization && localization.defaultLocalePublishOption !== 'active';
160
+ // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'
161
+ const isDefaultPublishAll = !isSpecificLocalePublishEnabled || localization && localization?.defaultLocalePublishOption !== 'active';
161
162
  const activeLocale = localization && localization?.locales.find(locale_0 => typeof locale_0 === 'string' ? locale_0 === localeCode : locale_0.code === localeCode);
162
163
  const activeLocaleLabel = activeLocale && (typeof activeLocale.label === 'string' ? activeLocale.label : activeLocale.label?.[localeCode] ?? undefined);
163
- const defaultPublish = publishAll ? publish : () => publishSpecificLocale(activeLocale.code);
164
- const defaultLabel = publishAll ? label : t('version:publishIn', {
165
- locale: activeLocaleLabel
166
- });
167
- const secondaryPublish = publishAll ? () => publishSpecificLocale(activeLocale.code) : publish;
168
- const secondaryLabel = publishAll ? t('version:publishIn', {
169
- locale: activeLocaleLabel
170
- }) : t('version:publishAllLocales');
171
164
  if (!hasPublishPermission) {
172
165
  return null;
173
166
  }
@@ -176,9 +169,9 @@ export function PublishButton({
176
169
  buttonId: "action-save",
177
170
  disabled: !canPublish,
178
171
  enableSubMenu: canSchedulePublish,
179
- onClick: defaultPublish,
172
+ onClick: isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code),
180
173
  size: "medium",
181
- SubMenuPopupContent: canPublishSpecificLocale || canSchedulePublish ? ({
174
+ SubMenuPopupContent: isSpecificLocalePublishEnabled || canSchedulePublish ? ({
182
175
  close
183
176
  }) => {
184
177
  return /*#__PURE__*/_jsxs(React.Fragment, {
@@ -188,17 +181,21 @@ export function PublishButton({
188
181
  onClick: () => [toggleModal(drawerSlug), close()],
189
182
  children: t('version:schedulePublish')
190
183
  })
191
- }, "schedule-publish"), canPublishSpecificLocale && /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
184
+ }, "schedule-publish"), isSpecificLocalePublishEnabled && /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
192
185
  children: /*#__PURE__*/_jsx(PopupList.Button, {
193
186
  id: "publish-locale",
194
- onClick: secondaryPublish,
195
- children: secondaryLabel
187
+ onClick: isDefaultPublishAll ? () => publishSpecificLocale(activeLocale.code) : publish,
188
+ children: isDefaultPublishAll ? t('version:publishIn', {
189
+ locale: activeLocaleLabel
190
+ }) : t('version:publishAllLocales')
196
191
  })
197
192
  })]
198
193
  });
199
194
  } : undefined,
200
195
  type: "button",
201
- children: localization ? defaultLabel : label
196
+ children: !isDefaultPublishAll ? t('version:publishIn', {
197
+ locale: activeLocaleLabel
198
+ }) : label
202
199
  }), canSchedulePublish && isModalOpen(drawerSlug) && /*#__PURE__*/_jsx(ScheduleDrawer, {
203
200
  defaultType: !hasNewerVersions ? 'unpublish' : 'publish',
204
201
  schedulePublishConfig: typeof schedulePublish === 'object' && schedulePublish,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","ScheduleDrawer","PublishButton","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","api","serverURL","t","entityConfig","useMemo","hasNewerVersions","schedulePublish","versions","drafts","canPublish","scheduledPublishEnabled","Boolean","hasAutosave","autosave","canSchedulePublish","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","canPublishSpecificLocale","operation","disabled","saveDraft","search","action","method","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","publish","result","publishSpecificLocale","locale","params","stringify","depth","publishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","undefined","defaultPublish","defaultLabel","secondaryPublish","secondaryLabel","_jsxs","Fragment","_jsx","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","type","defaultType","schedulePublishConfig","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } 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 { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({ label: labelProp }: PublishButtonClientProps) {\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 schedulePublish =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled = Boolean(schedulePublish)\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = Boolean(\n typeof entityConfig?.versions?.drafts === 'object' && entityConfig?.versions?.drafts.autosave,\n )\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const canPublishSpecificLocale = localization && hasLocalizedFields && hasPublishPermission\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(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const result = await submit({\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n depth: 0,\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params ? '?' + params : ''}`\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setHasPublishedDoc(true)\n }\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 canPublishSpecificLocale || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {canPublishSpecificLocale && (\n <PopupList.ButtonGroup>\n <PopupList.Button id=\"publish-locale\" 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) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n schedulePublishConfig={typeof schedulePublish === 'object' && schedulePublish}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","ScheduleDrawer","PublishButton","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","api","serverURL","t","entityConfig","useMemo","hasNewerVersions","schedulePublish","versions","drafts","canPublish","scheduledPublishEnabled","Boolean","hasAutosave","autosave","canSchedulePublish","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","isSpecificLocalePublishEnabled","operation","disabled","saveDraft","search","action","method","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","publish","result","publishSpecificLocale","locale","params","stringify","depth","isDefaultPublishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","undefined","_jsxs","Fragment","_jsx","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","type","defaultType","schedulePublishConfig","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } 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 { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({ label: labelProp }: PublishButtonClientProps) {\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 schedulePublish =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled = Boolean(schedulePublish)\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = Boolean(\n typeof entityConfig?.versions?.drafts === 'object' && entityConfig?.versions?.drafts.autosave,\n )\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\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(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const result = await submit({\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n depth: 0,\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params ? '?' + params : ''}`\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setHasPublishedDoc(true)\n }\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'\n const isDefaultPublishAll =\n !isSpecificLocalePublishEnabled ||\n (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 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={isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code)}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {isSpecificLocalePublishEnabled && (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"publish-locale\"\n onClick={\n isDefaultPublishAll\n ? () => publishSpecificLocale(activeLocale.code)\n : publish\n }\n >\n {isDefaultPublishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {!isDefaultPublishAll ? t('version:publishIn', { locale: activeLocaleLabel }) : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n schedulePublishConfig={typeof schedulePublish === 'object' && schedulePublish}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,11 +6,11 @@ const transformWhereToNaturalLanguage = where => {
6
6
  if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {
7
7
  const orQuery = where.or[0];
8
8
  const andQuery = orQuery?.and?.[0];
9
- if (!andQuery) {
9
+ if (!andQuery || typeof andQuery !== 'object') {
10
10
  return 'No where query';
11
11
  }
12
12
  const key = Object.keys(andQuery)[0];
13
- if (!andQuery[key]) {
13
+ if (!key || !andQuery[key] || typeof andQuery[key] !== 'object') {
14
14
  return 'No where query';
15
15
  }
16
16
  const operator = Object.keys(andQuery[key])[0];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["toWords","React","transformWhereToNaturalLanguage","where","or","length","and","orQuery","andQuery","key","Object","keys","operator","value","Array","isArray","map","val","join","QueryPresetsWhereCell","cellData","_jsx"],"sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps, Where } from 'payload'\n\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (where: Where): string => {\n if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {\n const orQuery = where.or[0]\n const andQuery = orQuery?.and?.[0]\n\n if (!andQuery) {\n return 'No where query'\n }\n\n const key = Object.keys(andQuery)[0]\n\n if (!andQuery[key]) {\n return 'No where query'\n }\n\n const operator = Object.keys(andQuery[key])[0]\n const value = andQuery[key][operator]\n\n if (typeof value === 'string') {\n return `${toWords(key)} ${operator} ${toWords(value)}`\n } else if (Array.isArray(value)) {\n return `${toWords(key)} ${operator} ${value.map((val) => toWords(val)).join(' or ')}`\n }\n }\n\n return ''\n}\n\nexport const QueryPresetsWhereCell: React.FC<DefaultCellComponentProps> = ({ cellData }) => {\n return <div>{cellData ? transformWhereToNaturalLanguage(cellData) : 'No where query'}</div>\n}\n"],"mappings":";AAEA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB;AACA,MAAMC,+BAAA,GAAmCC,KAAA;EACvC,IAAIA,KAAA,CAAMC,EAAE,IAAID,KAAA,CAAMC,EAAE,CAACC,MAAM,GAAG,KAAKF,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,IAAIH,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,CAACD,MAAM,GAAG,GAAG;IACpF,MAAME,OAAA,GAAUJ,KAAA,CAAMC,EAAE,CAAC,EAAE;IAC3B,MAAMI,QAAA,GAAWD,OAAA,EAASD,GAAA,GAAM,EAAE;IAElC,IAAI,CAACE,QAAA,EAAU;MACb,OAAO;IACT;IAEA,MAAMC,GAAA,GAAMC,MAAA,CAAOC,IAAI,CAACH,QAAA,CAAS,CAAC,EAAE;IAEpC,IAAI,CAACA,QAAQ,CAACC,GAAA,CAAI,EAAE;MAClB,OAAO;IACT;IAEA,MAAMG,QAAA,GAAWF,MAAA,CAAOC,IAAI,CAACH,QAAQ,CAACC,GAAA,CAAI,CAAC,CAAC,EAAE;IAC9C,MAAMI,KAAA,GAAQL,QAAQ,CAACC,GAAA,CAAI,CAACG,QAAA,CAAS;IAErC,IAAI,OAAOC,KAAA,KAAU,UAAU;MAC7B,OAAO,GAAGb,OAAA,CAAQS,GAAA,KAAQG,QAAA,IAAYZ,OAAA,CAAQa,KAAA,GAAQ;IACxD,OAAO,IAAIC,KAAA,CAAMC,OAAO,CAACF,KAAA,GAAQ;MAC/B,OAAO,GAAGb,OAAA,CAAQS,GAAA,KAAQG,QAAA,IAAYC,KAAA,CAAMG,GAAG,CAAEC,GAAA,IAAQjB,OAAA,CAAQiB,GAAA,GAAMC,IAAI,CAAC,SAAS;IACvF;EACF;EAEA,OAAO;AACT;AAEA,OAAO,MAAMC,qBAAA,GAA6DA,CAAC;EAAEC;AAAQ,CAAE;EACrF,oBAAOC,IAAA,CAAC;cAAKD,QAAA,GAAWlB,+BAAA,CAAgCkB,QAAA,IAAY;;AACtE","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["toWords","React","transformWhereToNaturalLanguage","where","or","length","and","orQuery","andQuery","key","Object","keys","operator","value","Array","isArray","map","val","join","QueryPresetsWhereCell","cellData","_jsx"],"sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps, Where } from 'payload'\n\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (where: Where): string => {\n if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {\n const orQuery = where.or[0]\n const andQuery = orQuery?.and?.[0]\n\n if (!andQuery || typeof andQuery !== 'object') {\n return 'No where query'\n }\n\n const key = Object.keys(andQuery)[0]\n\n if (!key || !andQuery[key] || typeof andQuery[key] !== 'object') {\n return 'No where query'\n }\n\n const operator = Object.keys(andQuery[key])[0]\n const value = andQuery[key][operator]\n\n if (typeof value === 'string') {\n return `${toWords(key)} ${operator} ${toWords(value)}`\n } else if (Array.isArray(value)) {\n return `${toWords(key)} ${operator} ${value.map((val) => toWords(val)).join(' or ')}`\n }\n }\n\n return ''\n}\n\nexport const QueryPresetsWhereCell: React.FC<DefaultCellComponentProps> = ({ cellData }) => {\n return <div>{cellData ? transformWhereToNaturalLanguage(cellData) : 'No where query'}</div>\n}\n"],"mappings":";AAEA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB;AACA,MAAMC,+BAAA,GAAmCC,KAAA;EACvC,IAAIA,KAAA,CAAMC,EAAE,IAAID,KAAA,CAAMC,EAAE,CAACC,MAAM,GAAG,KAAKF,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,IAAIH,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,CAACD,MAAM,GAAG,GAAG;IACpF,MAAME,OAAA,GAAUJ,KAAA,CAAMC,EAAE,CAAC,EAAE;IAC3B,MAAMI,QAAA,GAAWD,OAAA,EAASD,GAAA,GAAM,EAAE;IAElC,IAAI,CAACE,QAAA,IAAY,OAAOA,QAAA,KAAa,UAAU;MAC7C,OAAO;IACT;IAEA,MAAMC,GAAA,GAAMC,MAAA,CAAOC,IAAI,CAACH,QAAA,CAAS,CAAC,EAAE;IAEpC,IAAI,CAACC,GAAA,IAAO,CAACD,QAAQ,CAACC,GAAA,CAAI,IAAI,OAAOD,QAAQ,CAACC,GAAA,CAAI,KAAK,UAAU;MAC/D,OAAO;IACT;IAEA,MAAMG,QAAA,GAAWF,MAAA,CAAOC,IAAI,CAACH,QAAQ,CAACC,GAAA,CAAI,CAAC,CAAC,EAAE;IAC9C,MAAMI,KAAA,GAAQL,QAAQ,CAACC,GAAA,CAAI,CAACG,QAAA,CAAS;IAErC,IAAI,OAAOC,KAAA,KAAU,UAAU;MAC7B,OAAO,GAAGb,OAAA,CAAQS,GAAA,KAAQG,QAAA,IAAYZ,OAAA,CAAQa,KAAA,GAAQ;IACxD,OAAO,IAAIC,KAAA,CAAMC,OAAO,CAACF,KAAA,GAAQ;MAC/B,OAAO,GAAGb,OAAA,CAAQS,GAAA,KAAQG,QAAA,IAAYC,KAAA,CAAMG,GAAG,CAAEC,GAAA,IAAQjB,OAAA,CAAQiB,GAAA,GAAMC,IAAI,CAAC,SAAS;IACvF;EACF;EAEA,OAAO;AACT;AAEA,OAAO,MAAMC,qBAAA,GAA6DA,CAAC;EAAEC;AAAQ,CAAE;EACrF,oBAAOC,IAAA,CAAC;cAAKD,QAAA,GAAWlB,+BAAA,CAAgCkB,QAAA,IAAY;;AACtE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAS,MAAM,SAAS,CAAA;AAY9D,OAAO,cAAc,CAAA;AAgFrB,eAAO,MAAM,sBAAsB,EAAE,wBAwBpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAS,MAAM,SAAS,CAAA;AAY9D,OAAO,cAAc,CAAA;AAoFrB,eAAO,MAAM,sBAAsB,EAAE,wBAwBpC,CAAA"}
@@ -17,8 +17,11 @@ const transformWhereToNaturalLanguage = (where, collectionLabel) => {
17
17
  return null;
18
18
  }
19
19
  const renderCondition = condition => {
20
+ if (!condition || typeof condition !== 'object') {
21
+ return 'No where query';
22
+ }
20
23
  const key = Object.keys(condition)[0];
21
- if (!condition[key]) {
24
+ if (!key || !condition[key] || typeof condition[key] !== 'object') {
22
25
  return 'No where query';
23
26
  }
24
27
  const operator = Object.keys(condition[key])[0];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","toWords","React","FieldLabel","useField","useConfig","useListQuery","useTranslation","Pill","transformWhereToNaturalLanguage","where","collectionLabel","renderCondition","condition","key","Object","keys","operator","operatorValue","formatValue","val","Date","toLocaleDateString","toString","value","Array","isArray","map","join","_jsxs","pillStyle","size","_jsx","renderWhere","or","length","className","orCondition","orIndex","Fragment","and","andCondition","andIndex","QueryPresetsWhereField","t0","field","t1","label","required","path","collectionSlug","getEntityConfig","collectionConfig","i18n","children","as","labels","plural"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useListQuery } from '../../../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (\n where: Where,\n collectionLabel: string,\n): React.ReactNode => {\n if (!where) {\n return null\n }\n\n const renderCondition = (condition: any): React.ReactNode => {\n const key = Object.keys(condition)[0]\n\n if (!condition[key]) {\n return 'No where query'\n }\n\n const operator = Object.keys(condition[key])[0]\n const operatorValue = condition[key][operator]\n\n // Format value - ideally would use field schema for proper typing\n const formatValue = (val: any): string => {\n if (typeof val === 'object' && val != null) {\n try {\n return new Date(val).toLocaleDateString()\n } catch {\n return 'Unknown error has occurred'\n }\n }\n return val?.toString() ?? ''\n }\n\n const value = Array.isArray(operatorValue)\n ? operatorValue.map(formatValue).join(', ')\n : formatValue(operatorValue)\n\n return (\n <Pill pillStyle=\"always-white\" size=\"small\">\n <b>{toWords(key)}</b> {operator} <b>{toWords(value)}</b>\n </Pill>\n )\n }\n\n const renderWhere = (where: Where, collectionLabel: string): React.ReactNode => {\n if (where.or && where.or.length > 0) {\n return (\n <div className=\"or-condition\">\n {where.or.map((orCondition, orIndex) => (\n <React.Fragment key={orIndex}>\n {orCondition.and && orCondition.and.length > 0 ? (\n <div className=\"and-condition\">\n {orIndex === 0 && (\n <span className=\"label\">{`Filter ${collectionLabel} where `}</span>\n )}\n {orIndex > 0 && <span className=\"label\"> or </span>}\n {orCondition.and.map((andCondition, andIndex) => (\n <React.Fragment key={andIndex}>\n {renderCondition(andCondition)}\n {andIndex < orCondition.and.length - 1 && (\n <span className=\"label\"> and </span>\n )}\n </React.Fragment>\n ))}\n </div>\n ) : (\n renderCondition(orCondition)\n )}\n </React.Fragment>\n ))}\n </div>\n )\n }\n\n return renderCondition(where)\n }\n\n return renderWhere(where, collectionLabel)\n}\n\nexport const QueryPresetsWhereField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, value } = useField()\n const { collectionSlug } = useListQuery()\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { i18n } = useTranslation()\n\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <div className=\"value-wrapper\">\n {value\n ? transformWhereToNaturalLanguage(\n value as Where,\n getTranslation(collectionConfig?.labels?.plural, i18n),\n )\n : 'No where query'}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","toWords","React","FieldLabel","useField","useConfig","useListQuery","useTranslation","Pill","transformWhereToNaturalLanguage","where","collectionLabel","renderCondition","condition","key","Object","keys","operator","operatorValue","formatValue","val","Date","toLocaleDateString","toString","value","Array","isArray","map","join","_jsxs","pillStyle","size","_jsx","renderWhere","or","length","className","orCondition","orIndex","Fragment","and","andCondition","andIndex","QueryPresetsWhereField","t0","field","t1","label","required","path","collectionSlug","getEntityConfig","collectionConfig","i18n","children","as","labels","plural"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useListQuery } from '../../../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (\n where: Where,\n collectionLabel: string,\n): React.ReactNode => {\n if (!where) {\n return null\n }\n\n const renderCondition = (condition: any): React.ReactNode => {\n if (!condition || typeof condition !== 'object') {\n return 'No where query'\n }\n\n const key = Object.keys(condition)[0]\n\n if (!key || !condition[key] || typeof condition[key] !== 'object') {\n return 'No where query'\n }\n\n const operator = Object.keys(condition[key])[0]\n const operatorValue = condition[key][operator]\n\n // Format value - ideally would use field schema for proper typing\n const formatValue = (val: any): string => {\n if (typeof val === 'object' && val != null) {\n try {\n return new Date(val).toLocaleDateString()\n } catch {\n return 'Unknown error has occurred'\n }\n }\n return val?.toString() ?? ''\n }\n\n const value = Array.isArray(operatorValue)\n ? operatorValue.map(formatValue).join(', ')\n : formatValue(operatorValue)\n\n return (\n <Pill pillStyle=\"always-white\" size=\"small\">\n <b>{toWords(key)}</b> {operator} <b>{toWords(value)}</b>\n </Pill>\n )\n }\n\n const renderWhere = (where: Where, collectionLabel: string): React.ReactNode => {\n if (where.or && where.or.length > 0) {\n return (\n <div className=\"or-condition\">\n {where.or.map((orCondition, orIndex) => (\n <React.Fragment key={orIndex}>\n {orCondition.and && orCondition.and.length > 0 ? (\n <div className=\"and-condition\">\n {orIndex === 0 && (\n <span className=\"label\">{`Filter ${collectionLabel} where `}</span>\n )}\n {orIndex > 0 && <span className=\"label\"> or </span>}\n {orCondition.and.map((andCondition, andIndex) => (\n <React.Fragment key={andIndex}>\n {renderCondition(andCondition)}\n {andIndex < orCondition.and.length - 1 && (\n <span className=\"label\"> and </span>\n )}\n </React.Fragment>\n ))}\n </div>\n ) : (\n renderCondition(orCondition)\n )}\n </React.Fragment>\n ))}\n </div>\n )\n }\n\n return renderCondition(where)\n }\n\n return renderWhere(where, collectionLabel)\n}\n\nexport const QueryPresetsWhereField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, value } = useField()\n const { collectionSlug } = useListQuery()\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { i18n } = useTranslation()\n\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <div className=\"value-wrapper\">\n {value\n ? transformWhereToNaturalLanguage(\n value as Where,\n getTranslation(collectionConfig?.labels?.plural, i18n),\n )\n : 'No where query'}\n </div>\n </div>\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,CAkB7D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAqB7D,CAAA"}
@@ -1,25 +1,34 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { getTranslation } from '@payloadcms/translations';
4
5
  import React from 'react';
5
6
  import { components as SelectComponents } from 'react-select';
7
+ import { useTranslation } from '../../../providers/Translation/index.js';
6
8
  import './index.scss';
7
9
  const baseClass = 'multi-value-label';
8
10
  export const MultiValueLabel = props => {
9
- // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module
10
11
  const {
11
12
  data,
12
- selectProps: {
13
- customProps: {
14
- draggableProps,
15
- editableProps
16
- } = {}
17
- } = {}
13
+ selectProps: t0
18
14
  } = props;
15
+ const {
16
+ customProps: t1
17
+ } = t0 === undefined ? {} : t0;
18
+ const {
19
+ draggableProps,
20
+ editableProps
21
+ } = t1 === undefined ? {} : t1;
22
+ const {
23
+ i18n
24
+ } = useTranslation();
19
25
  const className = `${baseClass}__text`;
20
- return /*#__PURE__*/_jsx("div", {
26
+ const labelText = data.label ? getTranslation(data.label, i18n) : "";
27
+ const titleText = typeof labelText === "string" ? labelText : "";
28
+ return _jsx("div", {
21
29
  className: baseClass,
22
- children: /*#__PURE__*/_jsx(SelectComponents.MultiValueLabel, {
30
+ title: titleText,
31
+ children: _jsx(SelectComponents.MultiValueLabel, {
23
32
  ...props,
24
33
  innerProps: {
25
34
  className,
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","components","SelectComponents","useTranslation","baseClass","MultiValueLabel","props","data","selectProps","t0","customProps","t1","undefined","draggableProps","editableProps","i18n","className","labelText","label","titleText","_jsx","title","children","innerProps"],"sources":["../../../../src/elements/ReactSelect/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionLabel } from 'payload'\nimport type { MultiValueProps } from 'react-select'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\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 const { i18n } = useTranslation()\n\n const className = `${baseClass}__text`\n const labelText = data.label ? getTranslation(data.label as OptionLabel, i18n) : ''\n const titleText = typeof labelText === 'string' ? labelText : ''\n\n return (\n <div className={baseClass} title={titleText}>\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;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAClB,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAI/C,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,eAAA,GAAqDC,KAAA;EAEhE;IAAAC,IAAA;IAAAC,WAAA,EAAAC;EAAA,IAA4FH,KAAA;EAAjE;IAAAI,WAAA,EAAAC;EAAA,IAAAF,EAA4D,KAAAG,SAAA,QAA5DH,EAA4D;EAA7C;IAAAI,cAAA;IAAAC;EAAA,IAAAH,EAAsC,KAAAC,SAAA,QAAtCD,EAAsC;EAChF;IAAAI;EAAA,IAAiBZ,cAAA;EAEjB,MAAAa,SAAA,GAAkB,GAAAZ,SAAA,QAAoB;EACtC,MAAAa,SAAA,GAAkBV,IAAA,CAAAW,KAAA,GAAanB,cAAA,CAAeQ,IAAA,CAAAW,KAAA,EAA2BH,IAAA,IAAQ;EACjF,MAAAI,SAAA,GAAkB,OAAOF,SAAA,KAAc,WAAWA,SAAA,GAAY;EAAA,OAG5DG,IAAA,CAAC;IAAAJ,SAAA,EAAAZ,SAAA;IAAAiB,KAAA,EAAiCF,SAAA;IAAAG,QAAA,EAChCF,IAAA,CAAAlB,gBAAA,CAAAG,eAAA;MAAA,GACMC,KAAK;MAAAiB,UAAA;QAAAP,SAAA;QAAA,IAGHF,aAAC,IAAiBA,aAAA,CAAcP,IAAA,EAAMS,SAAA,EAAWV,KAAA,CAAAE,WAAiB,OAAQ;QAAA,IAC1EK,cAAA,MAAoB;MAAA;IAAA,C;;CAKlC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAYrE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAoBrE,CAAA"}
@@ -1,24 +1,36 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { getTranslation } from '@payloadcms/translations';
4
5
  import React from 'react';
5
6
  import { components as SelectComponents } from 'react-select';
7
+ import { useTranslation } from '../../../providers/Translation/index.js';
6
8
  import './index.scss';
7
9
  const baseClass = 'value-container';
8
10
  export const ValueContainer = props => {
9
- // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module
10
11
  const {
11
- selectProps: {
12
- customProps
13
- } = {}
12
+ selectProps: t0
14
13
  } = props;
15
- return /*#__PURE__*/_jsxs("div", {
14
+ const {
15
+ customProps,
16
+ value
17
+ } = t0 === undefined ? {} : t0;
18
+ const {
19
+ i18n
20
+ } = useTranslation();
21
+ let titleText = "";
22
+ if (value && !Array.isArray(value) && typeof value === "object" && "label" in value) {
23
+ const labelText = value.label ? getTranslation(value.label, i18n) : "";
24
+ titleText = typeof labelText === "string" ? labelText : "";
25
+ }
26
+ return _jsxs("div", {
16
27
  className: baseClass,
17
28
  ref: customProps?.droppableRef,
18
- children: [customProps?.valueContainerLabel && /*#__PURE__*/_jsx("span", {
29
+ title: titleText,
30
+ children: [customProps?.valueContainerLabel && _jsx("span", {
19
31
  className: `${baseClass}__label`,
20
32
  children: customProps?.valueContainerLabel
21
- }), /*#__PURE__*/_jsx(SelectComponents.ValueContainer, {
33
+ }), _jsx(SelectComponents.ValueContainer, {
22
34
  ...props
23
35
  })]
24
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","components","SelectComponents","baseClass","ValueContainer","props","selectProps","customProps","_jsxs","className","ref","droppableRef","valueContainerLabel","_jsx"],"sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { ValueContainerProps } 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 = 'value-container'\n\nexport const ValueContainer: React.FC<ValueContainerProps<Option, any>> = (props) => {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps } = {} } = props\n\n return (\n <div className={baseClass} ref={customProps?.droppableRef}>\n {customProps?.valueContainerLabel && (\n <span className={`${baseClass}__label`}>{customProps?.valueContainerLabel}</span>\n )}\n <SelectComponents.ValueContainer {...props} />\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,cAAA,GAA8DC,KAAA;EACzE;EACA,MAAM;IAAEC,WAAA,EAAa;MAAEC;IAAW,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGF,KAAA;EAE9C,oBACEG,KAAA,CAAC;IAAIC,SAAA,EAAWN,SAAA;IAAWO,GAAA,EAAKH,WAAA,EAAaI,YAAA;eAC1CJ,WAAA,EAAaK,mBAAA,iBACZC,IAAA,CAAC;MAAKJ,SAAA,EAAW,GAAGN,SAAA,SAAkB;gBAAGI,WAAA,EAAaK;qBAExDC,IAAA,CAACX,gBAAA,CAAiBE,cAAc;MAAE,GAAGC;;;AAG3C","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","components","SelectComponents","useTranslation","baseClass","ValueContainer","props","selectProps","t0","customProps","value","undefined","i18n","titleText","Array","isArray","labelText","label","_jsxs","className","ref","droppableRef","title","children","valueContainerLabel","_jsx"],"sources":["../../../../src/elements/ReactSelect/ValueContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionLabel } from 'payload'\nimport type { ValueContainerProps } from 'react-select'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport { components as SelectComponents } from 'react-select'\n\nimport type { Option } from '../types.js'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'value-container'\n\nexport const ValueContainer: React.FC<ValueContainerProps<Option, any>> = (props) => {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n const { selectProps: { customProps, value } = {} } = props\n const { i18n } = useTranslation()\n\n // Get the title for single-value selects\n let titleText = ''\n if (value && !Array.isArray(value) && typeof value === 'object' && 'label' in value) {\n const labelText = value.label ? getTranslation(value.label as OptionLabel, i18n) : ''\n titleText = typeof labelText === 'string' ? labelText : ''\n }\n\n return (\n <div className={baseClass} ref={customProps?.droppableRef} title={titleText}>\n {customProps?.valueContainerLabel && (\n <span className={`${baseClass}__label`}>{customProps?.valueContainerLabel}</span>\n )}\n <SelectComponents.ValueContainer {...props} />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAClB,SAASC,UAAA,IAAcC,gBAAgB,QAAQ;AAI/C,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,cAAA,GAA6DC,KAAA;EAExE;IAAAC,WAAA,EAAAC;EAAA,IAAqDF,KAAA;EAAhC;IAAAG,WAAA;IAAAC;EAAA,IAAAF,EAA2B,KAAAG,SAAA,QAA3BH,EAA2B;EAChD;IAAAI;EAAA,IAAiBT,cAAA;EAGjB,IAAAU,SAAA,GAAgB;EAAA,IACZH,KAAA,KAAUI,KAAA,CAAAC,OAAA,CAAcL,KAAA,KAAU,OAAOA,KAAA,KAAU,YAAY,WAAWA,KAAA;IAC5E,MAAAM,SAAA,GAAkBN,KAAA,CAAAO,KAAA,GAAclB,cAAA,CAAeW,KAAA,CAAAO,KAAA,EAA4BL,IAAA,IAAQ;IACnFC,SAAA,CAAAA,CAAA,CAAYA,MAAA,CAAOG,SAAA,KAAc,WAAWA,SAAA,GAAY;EAAxD;EAAA,OAIAE,KAAA,CAAC;IAAAC,SAAA,EAAAf,SAAA;IAAAgB,GAAA,EAA+BX,WAAA,EAAAY,YAAA;IAAAC,KAAA,EAAkCT,SAAA;IAAAU,QAAA,GAC/Dd,WAAA,EAAAe,mBAAA,IACCC,IAAA,CAAC;MAAAN,SAAA,EAAgB,GAAAf,SAAA,SAAqB;MAAAmB,QAAA,EAAGd,WAAA,EAAAe;IAAA,C,GAE3CC,IAAA,CAAAvB,gBAAA,CAAAG,cAAA;MAAA,GAAqCC;IAAK,C;;CAGhD","ignoreList":[]}
@@ -52,7 +52,7 @@ export const Condition = props => {
52
52
  field: reducedField,
53
53
  operator,
54
54
  orIndex,
55
- value: debouncedValue_0 === null ? '' : debouncedValue_0
55
+ value: debouncedValue_0 === null || debouncedValue_0 === '' ? undefined : debouncedValue_0
56
56
  });
57
57
  }
58
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useState","useDebounce","useEffectEvent","useTranslation","Button","ReactSelect","DefaultFilter","getOperatorValueTypes","baseClass","Condition","props","addCondition","andIndex","fieldPath","filterOptions","operator","orIndex","reducedFields","removeCondition","RenderedFilter","updateCondition","value","t","reducedField","find","field","internalValue","setInternalValue","debouncedValue","booleanSelect","includes","type","valueOptions","label","options","updateValue","disabled","admin","disableListFilter","handleFieldChange","undefined","option","handleOperatorChange","operatorValueTypes","validOperatorValue","isValidValue","_jsx","className","_jsxs","filterOption","inputValue","data","plainTextLabel","toLowerCase","isClearable","onChange","filter","operators","o","internalField","buttonStyle","icon","iconStyle","onClick","round","relation"],"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type {\n AddCondition,\n ReducedField,\n RemoveCondition,\n UpdateCondition,\n Value,\n} from '../types.js'\n\nexport type Props = {\n readonly addCondition: AddCondition\n readonly andIndex: number\n readonly fieldPath: string\n readonly filterOptions: ResolvedFilterOptions\n readonly operator: Operator\n readonly orIndex: number\n readonly reducedFields: ReducedField[]\n readonly removeCondition: RemoveCondition\n readonly RenderedFilter: React.ReactNode\n readonly updateCondition: UpdateCondition\n readonly value: Value\n}\n\nimport type { Operator, Option as PayloadOption, ResolvedFilterOptions } from 'payload'\n\nimport type { Option } from '../../ReactSelect/index.js'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DefaultFilter } from './DefaultFilter/index.js'\nimport { getOperatorValueTypes } from './validOperators.js'\nimport './index.scss'\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n addCondition,\n andIndex,\n fieldPath,\n filterOptions,\n operator,\n orIndex,\n reducedFields,\n removeCondition,\n RenderedFilter,\n updateCondition,\n value,\n } = props\n\n const { t } = useTranslation()\n\n const reducedField = reducedFields.find((field) => field.value === fieldPath)\n\n const [internalValue, setInternalValue] = useState<Value>(value)\n\n const debouncedValue = useDebounce(internalValue, 300)\n\n const booleanSelect = ['exists'].includes(operator) || reducedField?.field?.type === 'checkbox'\n\n let valueOptions: PayloadOption[] = []\n\n if (booleanSelect) {\n valueOptions = [\n { label: t('general:true'), value: 'true' },\n { label: t('general:false'), value: 'false' },\n ]\n } else if (reducedField?.field && 'options' in reducedField.field) {\n valueOptions = reducedField.field.options\n }\n\n const updateValue = useEffectEvent(async (debouncedValue) => {\n if (operator) {\n await updateCondition({\n type: 'value',\n andIndex,\n field: reducedField,\n operator,\n orIndex,\n value: debouncedValue === null ? '' : debouncedValue,\n })\n }\n })\n\n useEffect(() => {\n void updateValue(debouncedValue)\n }, [debouncedValue])\n\n const disabled =\n (!reducedField?.value && typeof reducedField?.value !== 'number') ||\n reducedField?.field?.admin?.disableListFilter\n\n const handleFieldChange = useCallback(\n async (field: Option<string>) => {\n setInternalValue(undefined)\n await updateCondition({\n type: 'field',\n andIndex,\n field: reducedFields.find((option) => option.value === field.value),\n operator,\n orIndex,\n value: undefined,\n })\n },\n [andIndex, operator, orIndex, reducedFields, updateCondition],\n )\n\n const handleOperatorChange = useCallback(\n async (operator: Option<Operator>) => {\n const operatorValueTypes = getOperatorValueTypes(reducedField.field.type)\n const validOperatorValue = operatorValueTypes[operator.value] || 'any'\n const isValidValue =\n validOperatorValue === 'any' ||\n typeof value === validOperatorValue ||\n (validOperatorValue === 'boolean' && (value === 'true' || value === 'false'))\n\n if (!isValidValue) {\n // if the current value is not valid for the new operator\n // reset the value before passing it to updateCondition\n setInternalValue(undefined)\n }\n\n await updateCondition({\n type: 'operator',\n andIndex,\n field: reducedField,\n operator: operator.value,\n orIndex,\n value: isValidValue ? value : undefined,\n })\n },\n [andIndex, reducedField, orIndex, updateCondition, value],\n )\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n disabled={disabled}\n filterOption={(option, inputValue) =>\n ((option?.data?.plainTextLabel as string) || option.label)\n .toLowerCase()\n .includes(inputValue.toLowerCase())\n }\n isClearable={false}\n onChange={handleFieldChange}\n options={reducedFields.filter((field) => !field.field.admin.disableListFilter)}\n value={\n reducedField || {\n value: reducedField?.value,\n }\n }\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={disabled}\n isClearable={false}\n onChange={handleOperatorChange}\n options={reducedField?.operators}\n value={reducedField?.operators.find((o) => operator === o.value) || null}\n />\n </div>\n <div className={`${baseClass}__value`}>\n {RenderedFilter || (\n <DefaultFilter\n booleanSelect={booleanSelect}\n disabled={\n !operator || !reducedField || reducedField?.field?.admin?.disableListFilter\n }\n filterOptions={filterOptions}\n internalField={reducedField}\n onChange={setInternalValue}\n operator={operator}\n options={valueOptions}\n value={internalValue ?? ''}\n />\n )}\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n round\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-add`}\n icon=\"plus\"\n iconStyle=\"with-border\"\n onClick={() =>\n addCondition({\n andIndex: andIndex + 1,\n field: reducedFields.find((field) => !field.field.admin?.disableListFilter),\n orIndex,\n relation: 'and',\n })\n }\n round\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useState","useDebounce","useEffectEvent","useTranslation","Button","ReactSelect","DefaultFilter","getOperatorValueTypes","baseClass","Condition","props","addCondition","andIndex","fieldPath","filterOptions","operator","orIndex","reducedFields","removeCondition","RenderedFilter","updateCondition","value","t","reducedField","find","field","internalValue","setInternalValue","debouncedValue","booleanSelect","includes","type","valueOptions","label","options","updateValue","undefined","disabled","admin","disableListFilter","handleFieldChange","option","handleOperatorChange","operatorValueTypes","validOperatorValue","isValidValue","_jsx","className","_jsxs","filterOption","inputValue","data","plainTextLabel","toLowerCase","isClearable","onChange","filter","operators","o","internalField","buttonStyle","icon","iconStyle","onClick","round","relation"],"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type {\n AddCondition,\n ReducedField,\n RemoveCondition,\n UpdateCondition,\n Value,\n} from '../types.js'\n\nexport type Props = {\n readonly addCondition: AddCondition\n readonly andIndex: number\n readonly fieldPath: string\n readonly filterOptions: ResolvedFilterOptions\n readonly operator: Operator\n readonly orIndex: number\n readonly reducedFields: ReducedField[]\n readonly removeCondition: RemoveCondition\n readonly RenderedFilter: React.ReactNode\n readonly updateCondition: UpdateCondition\n readonly value: Value\n}\n\nimport type { Operator, Option as PayloadOption, ResolvedFilterOptions } from 'payload'\n\nimport type { Option } from '../../ReactSelect/index.js'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DefaultFilter } from './DefaultFilter/index.js'\nimport { getOperatorValueTypes } from './validOperators.js'\nimport './index.scss'\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n addCondition,\n andIndex,\n fieldPath,\n filterOptions,\n operator,\n orIndex,\n reducedFields,\n removeCondition,\n RenderedFilter,\n updateCondition,\n value,\n } = props\n\n const { t } = useTranslation()\n\n const reducedField = reducedFields.find((field) => field.value === fieldPath)\n\n const [internalValue, setInternalValue] = useState<Value>(value)\n\n const debouncedValue = useDebounce(internalValue, 300)\n\n const booleanSelect = ['exists'].includes(operator) || reducedField?.field?.type === 'checkbox'\n\n let valueOptions: PayloadOption[] = []\n\n if (booleanSelect) {\n valueOptions = [\n { label: t('general:true'), value: 'true' },\n { label: t('general:false'), value: 'false' },\n ]\n } else if (reducedField?.field && 'options' in reducedField.field) {\n valueOptions = reducedField.field.options\n }\n\n const updateValue = useEffectEvent(async (debouncedValue: Value) => {\n if (operator) {\n await updateCondition({\n type: 'value',\n andIndex,\n field: reducedField,\n operator,\n orIndex,\n value: debouncedValue === null || debouncedValue === '' ? undefined : debouncedValue,\n })\n }\n })\n\n useEffect(() => {\n void updateValue(debouncedValue)\n }, [debouncedValue])\n\n const disabled =\n (!reducedField?.value && typeof reducedField?.value !== 'number') ||\n reducedField?.field?.admin?.disableListFilter\n\n const handleFieldChange = useCallback(\n async (field: Option<string>) => {\n setInternalValue(undefined)\n await updateCondition({\n type: 'field',\n andIndex,\n field: reducedFields.find((option) => option.value === field.value),\n operator,\n orIndex,\n value: undefined,\n })\n },\n [andIndex, operator, orIndex, reducedFields, updateCondition],\n )\n\n const handleOperatorChange = useCallback(\n async (operator: Option<Operator>) => {\n const operatorValueTypes = getOperatorValueTypes(reducedField.field.type)\n const validOperatorValue = operatorValueTypes[operator.value] || 'any'\n const isValidValue =\n validOperatorValue === 'any' ||\n typeof value === validOperatorValue ||\n (validOperatorValue === 'boolean' && (value === 'true' || value === 'false'))\n\n if (!isValidValue) {\n // if the current value is not valid for the new operator\n // reset the value before passing it to updateCondition\n setInternalValue(undefined)\n }\n\n await updateCondition({\n type: 'operator',\n andIndex,\n field: reducedField,\n operator: operator.value,\n orIndex,\n value: isValidValue ? value : undefined,\n })\n },\n [andIndex, reducedField, orIndex, updateCondition, value],\n )\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n disabled={disabled}\n filterOption={(option, inputValue) =>\n ((option?.data?.plainTextLabel as string) || option.label)\n .toLowerCase()\n .includes(inputValue.toLowerCase())\n }\n isClearable={false}\n onChange={handleFieldChange}\n options={reducedFields.filter((field) => !field.field.admin.disableListFilter)}\n value={\n reducedField || {\n value: reducedField?.value,\n }\n }\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={disabled}\n isClearable={false}\n onChange={handleOperatorChange}\n options={reducedField?.operators}\n value={reducedField?.operators.find((o) => operator === o.value) || null}\n />\n </div>\n <div className={`${baseClass}__value`}>\n {RenderedFilter || (\n <DefaultFilter\n booleanSelect={booleanSelect}\n disabled={\n !operator || !reducedField || reducedField?.field?.admin?.disableListFilter\n }\n filterOptions={filterOptions}\n internalField={reducedField}\n onChange={setInternalValue}\n operator={operator}\n options={valueOptions}\n value={internalValue ?? ''}\n />\n )}\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n round\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-add`}\n icon=\"plus\"\n iconStyle=\"with-border\"\n onClick={() =>\n addCondition({\n andIndex: andIndex + 1,\n field: reducedFields.find((field) => !field.field.admin?.disableListFilter),\n orIndex,\n relation: 'and',\n })\n }\n round\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,5 +10,5 @@ function require(m) {
10
10
  }
11
11
  // Workaround end
12
12
 
13
- import{l as a}from"./chunk-XUCNM5EK.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
- //# sourceMappingURL=CodeEditor-IVFMKS4Z.js.map
13
+ import{l as a}from"./chunk-PXD7OIXB.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
+ //# sourceMappingURL=CodeEditor-ORMD3ID3.js.map
@@ -24,4 +24,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
24
24
  `).length*18+2+p):l),d.current=u)},b=[c,l,p,u],e[4]=l,e[5]=p,e[6]=u,e[7]=c,e[8]=P,e[9]=b):(P=e[8],b=e[9]),Ke.useEffect(P,b),Ge(_r,{className:v,height:n?Math.min(C,n):C,loading:Ge(se,{height:C}),options:{...qe,...E,readOnly:!!a,detectIndentation:!1,insertSpaces:void 0,tabSize:void 0,trimAutoWhitespace:void 0},theme:L==="dark"?"vs-dark":"vs",value:c,...s,onChange:(f,T)=>{s.onChange?.(f,T),y(f?Math.max(l,f.split(`
25
25
  `).length*18+2+p):l)},onMount:(f,T)=>{s.onMount?.(f,T);let _=f.getModel();_&&_.updateOptions({insertSpaces:x??ee.insertSpaces,tabSize:w??ee.tabSize,trimAutoWhitespace:M??ee.trimAutoWhitespace}),y(Math.max(l,f.getValue().split(`
26
26
  `).length*18+2+p))}})},co=kr;export{ke as a,jr as b,ue as c,_n as d,Ue as e,se as f,Qn as g,Ar as h,Vn as i,Fe as j,ee as k,co as l};
27
- //# sourceMappingURL=chunk-XUCNM5EK.js.map
27
+ //# sourceMappingURL=chunk-PXD7OIXB.js.map