@payloadcms/ui 3.65.0-internal.ef335bd → 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 (46) 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/QueryPresets/cells/WhereCell/index.js +2 -2
  7. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  8. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  9. package/dist/elements/QueryPresets/fields/WhereField/index.js +4 -1
  10. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  11. package/dist/exports/client/{CodeEditor-IVFMKS4Z.js → CodeEditor-ORMD3ID3.js} +2 -2
  12. package/dist/exports/client/{chunk-XUCNM5EK.js → chunk-PXD7OIXB.js} +1 -1
  13. package/dist/exports/client/{chunk-XUCNM5EK.js.map → chunk-PXD7OIXB.js.map} +2 -2
  14. package/dist/exports/client/index.d.ts +1 -0
  15. package/dist/exports/client/index.d.ts.map +1 -1
  16. package/dist/exports/client/index.js +12 -12
  17. package/dist/exports/client/index.js.map +4 -4
  18. package/dist/fields/Array/index.js +1 -1
  19. package/dist/fields/Array/index.js.map +1 -1
  20. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -0
  21. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -0
  22. package/dist/fields/Blocks/BlockSelector/index.d.ts +13 -0
  23. package/dist/fields/Blocks/BlockSelector/index.d.ts.map +1 -0
  24. package/dist/fields/Blocks/BlockSelector/index.js +116 -0
  25. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -0
  26. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +0 -1
  27. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  28. package/dist/fields/Blocks/BlocksDrawer/index.js +62 -105
  29. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  30. package/dist/hooks/useControllableState.d.ts.map +1 -1
  31. package/dist/hooks/useControllableState.js.map +1 -1
  32. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  33. package/dist/providers/ListQuery/sanitizeQuery.js +1 -1
  34. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  35. package/dist/providers/Root/index.d.ts.map +1 -1
  36. package/dist/providers/Root/index.js +4 -3
  37. package/dist/providers/Root/index.js.map +1 -1
  38. package/dist/styles.css +1 -1
  39. package/package.json +5 -5
  40. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.d.ts.map +0 -1
  41. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +0 -1
  42. /package/dist/exports/client/{CodeEditor-IVFMKS4Z.js.map → CodeEditor-ORMD3ID3.js.map} +0 -0
  43. /package/dist/fields/Blocks/{BlocksDrawer → BlockSelector}/BlockSearch/index.d.ts +0 -0
  44. /package/dist/fields/Blocks/{BlocksDrawer → BlockSelector}/BlockSearch/index.js +0 -0
  45. /package/dist/fields/Blocks/{BlocksDrawer → BlockSelector}/BlockSearch/index.scss +0 -0
  46. /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":[]}
@@ -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":[]}
@@ -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