@payloadcms/ui 3.35.0-canary.3 → 3.35.0-canary.4

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 (77) hide show
  1. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  2. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +14 -24
  3. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  4. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  5. package/dist/elements/QueryPresets/fields/WhereField/index.js +3 -15
  6. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  7. package/dist/exports/client/index.js +23 -23
  8. package/dist/exports/client/index.js.map +4 -4
  9. package/dist/fields/Array/index.d.ts.map +1 -1
  10. package/dist/fields/Array/index.js +5 -4
  11. package/dist/fields/Array/index.js.map +1 -1
  12. package/dist/fields/Blocks/index.d.ts.map +1 -1
  13. package/dist/fields/Blocks/index.js +5 -4
  14. package/dist/fields/Blocks/index.js.map +1 -1
  15. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  16. package/dist/fields/Checkbox/index.js +3 -2
  17. package/dist/fields/Checkbox/index.js.map +1 -1
  18. package/dist/fields/Code/index.d.ts.map +1 -1
  19. package/dist/fields/Code/index.js +3 -2
  20. package/dist/fields/Code/index.js.map +1 -1
  21. package/dist/fields/DateTime/index.d.ts.map +1 -1
  22. package/dist/fields/DateTime/index.js +3 -2
  23. package/dist/fields/DateTime/index.js.map +1 -1
  24. package/dist/fields/Email/index.d.ts.map +1 -1
  25. package/dist/fields/Email/index.js +4 -3
  26. package/dist/fields/Email/index.js.map +1 -1
  27. package/dist/fields/Hidden/index.d.ts.map +1 -1
  28. package/dist/fields/Hidden/index.js +6 -4
  29. package/dist/fields/Hidden/index.js.map +1 -1
  30. package/dist/fields/JSON/index.d.ts.map +1 -1
  31. package/dist/fields/JSON/index.js +3 -2
  32. package/dist/fields/JSON/index.js.map +1 -1
  33. package/dist/fields/Join/index.d.ts.map +1 -1
  34. package/dist/fields/Join/index.js +3 -2
  35. package/dist/fields/Join/index.js.map +1 -1
  36. package/dist/fields/Number/index.d.ts.map +1 -1
  37. package/dist/fields/Number/index.js +3 -2
  38. package/dist/fields/Number/index.js.map +1 -1
  39. package/dist/fields/Point/index.d.ts.map +1 -1
  40. package/dist/fields/Point/index.js +3 -2
  41. package/dist/fields/Point/index.js.map +1 -1
  42. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  43. package/dist/fields/RadioGroup/index.js +3 -2
  44. package/dist/fields/RadioGroup/index.js.map +1 -1
  45. package/dist/fields/Relationship/index.d.ts.map +1 -1
  46. package/dist/fields/Relationship/index.js +3 -2
  47. package/dist/fields/Relationship/index.js.map +1 -1
  48. package/dist/fields/Select/index.d.ts.map +1 -1
  49. package/dist/fields/Select/index.js +3 -2
  50. package/dist/fields/Select/index.js.map +1 -1
  51. package/dist/fields/Tabs/index.js +41 -51
  52. package/dist/fields/Tabs/index.js.map +1 -1
  53. package/dist/fields/Text/index.d.ts.map +1 -1
  54. package/dist/fields/Text/index.js +3 -2
  55. package/dist/fields/Text/index.js.map +1 -1
  56. package/dist/fields/Textarea/index.d.ts.map +1 -1
  57. package/dist/fields/Textarea/index.js +3 -2
  58. package/dist/fields/Textarea/index.js.map +1 -1
  59. package/dist/fields/Upload/index.d.ts.map +1 -1
  60. package/dist/fields/Upload/index.js +3 -2
  61. package/dist/fields/Upload/index.js.map +1 -1
  62. package/dist/forms/RenderFields/context.d.ts +4 -0
  63. package/dist/forms/RenderFields/context.d.ts.map +1 -0
  64. package/dist/forms/RenderFields/context.js +11 -0
  65. package/dist/forms/RenderFields/context.js.map +1 -0
  66. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  67. package/dist/forms/RenderFields/index.js +15 -11
  68. package/dist/forms/RenderFields/index.js.map +1 -1
  69. package/dist/forms/useField/index.d.ts +1 -1
  70. package/dist/forms/useField/index.d.ts.map +1 -1
  71. package/dist/forms/useField/index.js +128 -116
  72. package/dist/forms/useField/index.js.map +1 -1
  73. package/dist/forms/useField/types.d.ts +22 -1
  74. package/dist/forms/useField/types.d.ts.map +1 -1
  75. package/dist/forms/useField/types.js.map +1 -1
  76. package/dist/styles.css +1 -1
  77. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAQzE,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,uBAAuB,EAAE,wBAwBrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAQzE,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,uBAAuB,EAAE,wBAuBrC,CAAA"}
@@ -9,31 +9,21 @@ import { useField } from '../../../../forms/useField/index.js';
9
9
  import { Pill } from '../../../Pill/index.js';
10
10
  import './index.scss';
11
11
  export const QueryPresetsColumnField = t0 => {
12
- const $ = _c(7);
12
+ const $ = _c(5);
13
13
  const {
14
- field: t1,
15
- path
14
+ field: t1
16
15
  } = t0;
17
16
  const {
18
17
  label,
19
18
  required
20
19
  } = t1;
21
- let t2;
22
- if ($[0] !== path) {
23
- t2 = {
24
- path
25
- };
26
- $[0] = path;
27
- $[1] = t2;
28
- } else {
29
- t2 = $[1];
30
- }
31
20
  const {
21
+ path,
32
22
  value
33
- } = useField(t2);
34
- let t3;
35
- if ($[2] !== label || $[3] !== path || $[4] !== required || $[5] !== value) {
36
- t3 = _jsxs("div", {
23
+ } = useField();
24
+ let t2;
25
+ if ($[0] !== label || $[1] !== path || $[2] !== required || $[3] !== value) {
26
+ t2 = _jsxs("div", {
37
27
  className: "field-type query-preset-columns-field",
38
28
  children: [_jsx(FieldLabel, {
39
29
  as: "h3",
@@ -45,15 +35,15 @@ export const QueryPresetsColumnField = t0 => {
45
35
  children: value ? transformColumnsToSearchParams(value).map(_temp) : "No columns selected"
46
36
  })]
47
37
  });
48
- $[2] = label;
49
- $[3] = path;
50
- $[4] = required;
51
- $[5] = value;
52
- $[6] = t3;
38
+ $[0] = label;
39
+ $[1] = path;
40
+ $[2] = required;
41
+ $[3] = value;
42
+ $[4] = t2;
53
43
  } else {
54
- t3 = $[6];
44
+ t2 = $[4];
55
45
  }
56
- return t3;
46
+ return t2;
57
47
  };
58
48
  function _temp(column, i) {
59
49
  const isColumnActive = !column.startsWith("-");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","toWords","transformColumnsToSearchParams","React","FieldLabel","useField","Pill","QueryPresetsColumnField","t0","$","field","t1","path","label","required","t2","value","t3","_jsxs","className","children","_jsx","as","map","_temp","column","i","isColumnActive","startsWith","pillStyle"],"sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"sourcesContent":["'use client'\nimport type { ColumnPreference, JSONFieldClientComponent } from 'payload'\n\nimport { toWords, transformColumnsToSearchParams } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\nexport const QueryPresetsColumnField: JSONFieldClientComponent = ({\n field: { label, required },\n path,\n}) => {\n const { value } = useField({ path })\n\n return (\n <div className=\"field-type query-preset-columns-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <div className=\"value-wrapper\">\n {value\n ? transformColumnsToSearchParams(value as ColumnPreference[]).map((column, i) => {\n const isColumnActive = !column.startsWith('-')\n\n return (\n <Pill key={i} pillStyle={isColumnActive ? 'always-white' : 'light-gray'}>\n {toWords(column)}\n </Pill>\n )\n })\n : 'No columns selected'}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,OAAO,EAAEC,8BAA8B,QAAQ;AACxD,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,OAAO,MAAMC,uBAAA,GAAoDC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,KAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAJ,EAGjE;EAFQ;IAAAK,KAAA;IAAAC;EAAA,IAAAH,EAAmB;EAAA,IAAAI,EAAA;EAAA,IAAAN,CAAA,QAAAG,IAAA;IAGCG,EAAA;MAAAH;IAAA;IAAOH,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAlC;IAAAO;EAAA,IAAkBX,QAAA,CAASU,EAAO;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAO,KAAA;IAGhCC,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAAjB,UAAA;QAAAkB,EAAA,EAAe;QAAAT,KAAA;QAAAD,IAAA;QAAAE;MAAA,C,GACfO,IAAA,CAAC;QAAAF,SAAA,EAAc;QAAAC,QAAA,EACZJ,KAAA,GACGd,8BAAA,CAA+Bc,KAAA,EAAAO,GAAA,CAAAC,KAQ/B,IACA;MAAA,C;;;;;;;;;;SAbRP,E;CAiBJ;AAxBiE,SAAAO,MAAAC,MAAA,EAAAC,CAAA;EAYnD,MAAAC,cAAA,IAAwBF,MAAA,CAAAG,UAAA,CAAkB;EAAA,OAGxCP,IAAA,CAAAf,IAAA;IAAAuB,SAAA,EAAyBF,cAAA,GAAiB,iBAAiB;IAAAP,QAAA,EACxDnB,OAAA,CAAQwB,MAAA;EAAA,GADAC,CAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","toWords","transformColumnsToSearchParams","React","FieldLabel","useField","Pill","QueryPresetsColumnField","t0","$","field","t1","label","required","path","value","t2","_jsxs","className","children","_jsx","as","map","_temp","column","i","isColumnActive","startsWith","pillStyle"],"sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"sourcesContent":["'use client'\nimport type { ColumnPreference, JSONFieldClientComponent } from 'payload'\n\nimport { toWords, transformColumnsToSearchParams } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\nexport const QueryPresetsColumnField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, value } = useField()\n\n return (\n <div className=\"field-type query-preset-columns-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <div className=\"value-wrapper\">\n {value\n ? transformColumnsToSearchParams(value as ColumnPreference[]).map((column, i) => {\n const isColumnActive = !column.startsWith('-')\n\n return (\n <Pill key={i} pillStyle={isColumnActive ? 'always-white' : 'light-gray'}>\n {toWords(column)}\n </Pill>\n )\n })\n : 'No columns selected'}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,OAAO,EAAEC,8BAA8B,QAAQ;AACxD,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,OAAO,MAAMC,uBAAA,GAAoDC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,KAAA,EAAAC;EAAA,IAAAH,EAEjE;EADQ;IAAAI,KAAA;IAAAC;EAAA,IAAAF,EAAmB;EAE1B;IAAAG,IAAA;IAAAC;EAAA,IAAwBV,QAAA;EAAA,IAAAW,EAAA;EAAA,IAAAP,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAK,IAAA,IAAAL,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAM,KAAA;IAGtBC,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAAhB,UAAA;QAAAiB,EAAA,EAAe;QAAAT,KAAA;QAAAE,IAAA;QAAAD;MAAA,C,GACfO,IAAA,CAAC;QAAAF,SAAA,EAAc;QAAAC,QAAA,EACZJ,KAAA,GACGb,8BAAA,CAA+Ba,KAAA,EAAAO,GAAA,CAAAC,KAQ/B,IACA;MAAA,C;;;;;;;;;;SAbRP,E;CAiBJ;AAvBiE,SAAAO,MAAAC,MAAA,EAAAC,CAAA;EAWnD,MAAAC,cAAA,IAAwBF,MAAA,CAAAG,UAAA,CAAkB;EAAA,OAGxCP,IAAA,CAAAd,IAAA;IAAAsB,SAAA,EAAyBF,cAAA,GAAiB,iBAAiB;IAAAP,QAAA,EACxDlB,OAAA,CAAQuB,MAAA;EAAA,GADAC,CAAA;AAAA","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;AA2ErB,eAAO,MAAM,sBAAsB,EAAE,wBAyBpC,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;AA2ErB,eAAO,MAAM,sBAAsB,EAAE,wBAwBpC,CAAA"}
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import { getTranslation } from '@payloadcms/translations';
6
5
  import { toWords } from 'payload/shared';
@@ -71,28 +70,17 @@ const transformWhereToNaturalLanguage = (where, collectionLabel) => {
71
70
  return renderWhere(where, collectionLabel);
72
71
  };
73
72
  export const QueryPresetsWhereField = t0 => {
74
- const $ = _c(2);
75
73
  const {
76
- field: t1,
77
- path
74
+ field: t1
78
75
  } = t0;
79
76
  const {
80
77
  label,
81
78
  required
82
79
  } = t1;
83
- let t2;
84
- if ($[0] !== path) {
85
- t2 = {
86
- path
87
- };
88
- $[0] = path;
89
- $[1] = t2;
90
- } else {
91
- t2 = $[1];
92
- }
93
80
  const {
81
+ path,
94
82
  value
95
- } = useField(t2);
83
+ } = useField();
96
84
  const {
97
85
  collectionSlug
98
86
  } = useListQuery();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","toWords","React","FieldLabel","useField","useConfig","useListQuery","useTranslation","Pill","transformWhereToNaturalLanguage","where","collectionLabel","renderCondition","condition","key","Object","keys","operator","value","Date","toLocaleDateString","_err","_jsxs","pillStyle","_jsx","renderWhere","or","length","className","map","orCondition","orIndex","Fragment","and","andCondition","andIndex","QueryPresetsWhereField","t0","$","field","t1","path","label","required","t2","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 let value = condition[key][operator]\n\n // TODO: this is not right, but works for now at least.\n // Ideally we look up iterate _fields_ so we know the type of the field\n // Currently, we're only iterating over the `where` field's value, so we don't know the type\n if (typeof value === 'object') {\n try {\n value = new Date(value).toLocaleDateString()\n } catch (_err) {\n value = 'Unknown error has occurred'\n }\n }\n\n return (\n <Pill pillStyle=\"always-white\">\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 path,\n}) => {\n const { value } = useField({ path })\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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP;AACA,MAAMC,+BAAA,GAAkCA,CACtCC,KAAA,EACAC,eAAA;EAEA,IAAI,CAACD,KAAA,EAAO;IACV,OAAO;EACT;EAEA,MAAME,eAAA,GAAmBC,SAAA;IACvB,MAAMC,GAAA,GAAMC,MAAA,CAAOC,IAAI,CAACH,SAAA,CAAU,CAAC,EAAE;IAErC,IAAI,CAACA,SAAS,CAACC,GAAA,CAAI,EAAE;MACnB,OAAO;IACT;IAEA,MAAMG,QAAA,GAAWF,MAAA,CAAOC,IAAI,CAACH,SAAS,CAACC,GAAA,CAAI,CAAC,CAAC,EAAE;IAC/C,IAAII,KAAA,GAAQL,SAAS,CAACC,GAAA,CAAI,CAACG,QAAA,CAAS;IAEpC;IACA;IACA;IACA,IAAI,OAAOC,KAAA,KAAU,UAAU;MAC7B,IAAI;QACFA,KAAA,GAAQ,IAAIC,IAAA,CAAKD,KAAA,EAAOE,kBAAkB;MAC5C,EAAE,OAAOC,IAAA,EAAM;QACbH,KAAA,GAAQ;MACV;IACF;IAEA,oBACEI,KAAA,CAACd,IAAA;MAAKe,SAAA,EAAU;8BACdC,IAAA,CAAC;kBAAGvB,OAAA,CAAQa,GAAA;UAAS,KAAEG,QAAA,EAAS,K,aAACO,IAAA,CAAC;kBAAGvB,OAAA,CAAQiB,KAAA;;;EAGnD;EAEA,MAAMO,WAAA,GAAcA,CAACf,KAAA,EAAcC,eAAA;IACjC,IAAID,KAAA,CAAMgB,EAAE,IAAIhB,KAAA,CAAMgB,EAAE,CAACC,MAAM,GAAG,GAAG;MACnC,oBACEH,IAAA,CAAC;QAAII,SAAA,EAAU;kBACZlB,KAAA,CAAMgB,EAAE,CAACG,GAAG,CAAC,CAACC,WAAA,EAAaC,OAAA,kBAC1BP,IAAA,CAACtB,KAAA,CAAM8B,QAAQ;oBACZF,WAAA,CAAYG,GAAG,IAAIH,WAAA,CAAYG,GAAG,CAACN,MAAM,GAAG,iBAC3CL,KAAA,CAAC;YAAIM,SAAA,EAAU;uBACZG,OAAA,KAAY,kBACXP,IAAA,CAAC;cAAKI,SAAA,EAAU;wBAAS,UAAUjB,eAAA;gBAEpCoB,OAAA,GAAU,kBAAKP,IAAA,CAAC;cAAKI,SAAA,EAAU;wBAAQ;gBACvCE,WAAA,CAAYG,GAAG,CAACJ,GAAG,CAAC,CAACK,YAAA,EAAcC,QAAA,kBAClCb,KAAA,CAACpB,KAAA,CAAM8B,QAAQ;yBACZpB,eAAA,CAAgBsB,YAAA,GAChBC,QAAA,GAAWL,WAAA,CAAYG,GAAG,CAACN,MAAM,GAAG,kBACnCH,IAAA,CAAC;gBAAKI,SAAA,EAAU;0BAAQ;;eAHPO,QAAA;eASzBvB,eAAA,CAAgBkB,WAAA;WAjBCC,OAAA;;IAuB7B;IAEA,OAAOnB,eAAA,CAAgBF,KAAA;EACzB;EAEA,OAAOe,WAAA,CAAYf,KAAA,EAAOC,eAAA;AAC5B;AAEA,OAAO,MAAMyB,sBAAA,GAAmDC,EAAA;EAAA,MAAAC,CAAA,GAAAvC,EAAA;EAAC;IAAAwC,KAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAJ,EAGhE;EAFQ;IAAAK,KAAA;IAAAC;EAAA,IAAAH,EAAmB;EAAA,IAAAI,EAAA;EAAA,IAAAN,CAAA,QAAAG,IAAA;IAGCG,EAAA;MAAAH;IAAA;IAAOH,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAlC;IAAApB;EAAA,IAAkBd,QAAA,CAASwC,EAAO;EAClC;IAAAC;EAAA,IAA2BvC,YAAA;EAC3B;IAAAwC;EAAA,IAA4BzC,SAAA;EAE5B,MAAA0C,gBAAA,GAAyBD,eAAA;IAAAD;EAAA,CAAiC;EAE1D;IAAAG;EAAA,IAAiBzC,cAAA;EAAA,OAGfe,KAAA,CAAC;IAAAM,SAAA,EAAc;IAAAqB,QAAA,GACbzB,IAAA,CAAArB,UAAA;MAAA+C,EAAA,EAAe;MAAAR,KAAA;MAAAD,IAAA;MAAAE;IAAA,C,GACfnB,IAAA,CAAC;MAAAI,SAAA,EAAc;MAAAqB,QAAA,EACZ/B,KAAA,GACGT,+BAAA,CACES,KAAA,EACAlB,cAAA,CAAe+C,gBAAA,CAAAI,MAAA,CAAAC,MAAA,EAAgCJ,IAAA,KAEjD;IAAA,C;;CAIZ","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","value","Date","toLocaleDateString","_err","_jsxs","pillStyle","_jsx","renderWhere","or","length","className","map","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 let value = condition[key][operator]\n\n // TODO: this is not right, but works for now at least.\n // Ideally we look up iterate _fields_ so we know the type of the field\n // Currently, we're only iterating over the `where` field's value, so we don't know the type\n if (typeof value === 'object') {\n try {\n value = new Date(value).toLocaleDateString()\n } catch (_err) {\n value = 'Unknown error has occurred'\n }\n }\n\n return (\n <Pill pillStyle=\"always-white\">\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":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,SAASC,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP;AACA,MAAMC,+BAAA,GAAkCA,CACtCC,KAAA,EACAC,eAAA;EAEA,IAAI,CAACD,KAAA,EAAO;IACV,OAAO;EACT;EAEA,MAAME,eAAA,GAAmBC,SAAA;IACvB,MAAMC,GAAA,GAAMC,MAAA,CAAOC,IAAI,CAACH,SAAA,CAAU,CAAC,EAAE;IAErC,IAAI,CAACA,SAAS,CAACC,GAAA,CAAI,EAAE;MACnB,OAAO;IACT;IAEA,MAAMG,QAAA,GAAWF,MAAA,CAAOC,IAAI,CAACH,SAAS,CAACC,GAAA,CAAI,CAAC,CAAC,EAAE;IAC/C,IAAII,KAAA,GAAQL,SAAS,CAACC,GAAA,CAAI,CAACG,QAAA,CAAS;IAEpC;IACA;IACA;IACA,IAAI,OAAOC,KAAA,KAAU,UAAU;MAC7B,IAAI;QACFA,KAAA,GAAQ,IAAIC,IAAA,CAAKD,KAAA,EAAOE,kBAAkB;MAC5C,EAAE,OAAOC,IAAA,EAAM;QACbH,KAAA,GAAQ;MACV;IACF;IAEA,oBACEI,KAAA,CAACd,IAAA;MAAKe,SAAA,EAAU;8BACdC,IAAA,CAAC;kBAAGvB,OAAA,CAAQa,GAAA;UAAS,KAAEG,QAAA,EAAS,K,aAACO,IAAA,CAAC;kBAAGvB,OAAA,CAAQiB,KAAA;;;EAGnD;EAEA,MAAMO,WAAA,GAAcA,CAACf,KAAA,EAAcC,eAAA;IACjC,IAAID,KAAA,CAAMgB,EAAE,IAAIhB,KAAA,CAAMgB,EAAE,CAACC,MAAM,GAAG,GAAG;MACnC,oBACEH,IAAA,CAAC;QAAII,SAAA,EAAU;kBACZlB,KAAA,CAAMgB,EAAE,CAACG,GAAG,CAAC,CAACC,WAAA,EAAaC,OAAA,kBAC1BP,IAAA,CAACtB,KAAA,CAAM8B,QAAQ;oBACZF,WAAA,CAAYG,GAAG,IAAIH,WAAA,CAAYG,GAAG,CAACN,MAAM,GAAG,iBAC3CL,KAAA,CAAC;YAAIM,SAAA,EAAU;uBACZG,OAAA,KAAY,kBACXP,IAAA,CAAC;cAAKI,SAAA,EAAU;wBAAS,UAAUjB,eAAA;gBAEpCoB,OAAA,GAAU,kBAAKP,IAAA,CAAC;cAAKI,SAAA,EAAU;wBAAQ;gBACvCE,WAAA,CAAYG,GAAG,CAACJ,GAAG,CAAC,CAACK,YAAA,EAAcC,QAAA,kBAClCb,KAAA,CAACpB,KAAA,CAAM8B,QAAQ;yBACZpB,eAAA,CAAgBsB,YAAA,GAChBC,QAAA,GAAWL,WAAA,CAAYG,GAAG,CAACN,MAAM,GAAG,kBACnCH,IAAA,CAAC;gBAAKI,SAAA,EAAU;0BAAQ;;eAHPO,QAAA;eASzBvB,eAAA,CAAgBkB,WAAA;WAjBCC,OAAA;;IAuB7B;IAEA,OAAOnB,eAAA,CAAgBF,KAAA;EACzB;EAEA,OAAOe,WAAA,CAAYf,KAAA,EAAOC,eAAA;AAC5B;AAEA,OAAO,MAAMyB,sBAAA,GAAmDC,EAAA;EAAC;IAAAC,KAAA,EAAAC;EAAA,IAAAF,EAEhE;EADQ;IAAAG,KAAA;IAAAC;EAAA,IAAAF,EAAmB;EAE1B;IAAAG,IAAA;IAAAxB;EAAA,IAAwBd,QAAA;EACxB;IAAAuC;EAAA,IAA2BrC,YAAA;EAC3B;IAAAsC;EAAA,IAA4BvC,SAAA;EAE5B,MAAAwC,gBAAA,GAAyBD,eAAA;IAAAD;EAAA,CAAiC;EAE1D;IAAAG;EAAA,IAAiBvC,cAAA;EAAA,OAGfe,KAAA,CAAC;IAAAM,SAAA,EAAc;IAAAmB,QAAA,GACbvB,IAAA,CAAArB,UAAA;MAAA6C,EAAA,EAAe;MAAAR,KAAA;MAAAE,IAAA;MAAAD;IAAA,C,GACfjB,IAAA,CAAC;MAAAI,SAAA,EAAc;MAAAmB,QAAA,EACZ7B,KAAA,GACGT,+BAAA,CACES,KAAA,EACAlB,cAAA,CAAe6C,gBAAA,CAAAI,MAAA,CAAAC,MAAA,EAAgCJ,IAAA,KAEjD;IAAA,C;;CAIZ","ignoreList":[]}