@payloadcms/ui 3.78.0-canary.1 → 3.78.0-canary.3

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 (41) hide show
  1. package/dist/elements/GroupByBuilder/index.d.ts +4 -1
  2. package/dist/elements/GroupByBuilder/index.d.ts.map +1 -1
  3. package/dist/elements/GroupByBuilder/index.js +81 -39
  4. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  5. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  6. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +100 -37
  7. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  8. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  9. package/dist/elements/QueryPresets/fields/GroupByField/index.js +24 -48
  10. package/dist/elements/QueryPresets/fields/GroupByField/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 +73 -94
  13. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  14. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +1 -1
  15. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
  16. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +2 -2
  17. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  18. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  19. package/dist/elements/WhereBuilder/Condition/Text/index.js +30 -32
  20. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  21. package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -2
  22. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  23. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  24. package/dist/elements/WhereBuilder/index.d.ts +3 -2
  25. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  26. package/dist/elements/WhereBuilder/index.js +33 -18
  27. package/dist/elements/WhereBuilder/index.js.map +1 -1
  28. package/dist/elements/WhereBuilder/types.d.ts +4 -1
  29. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  30. package/dist/elements/WhereBuilder/types.js.map +1 -1
  31. package/dist/exports/client/{DatePicker-YF5TBW3N.js → DatePicker-CL2EGBVQ.js} +2 -2
  32. package/dist/exports/client/{chunk-ZPLD37T2.js → chunk-SH42NW5R.js} +2 -2
  33. package/dist/exports/client/{chunk-ZPLD37T2.js.map → chunk-SH42NW5R.js.map} +4 -4
  34. package/dist/exports/client/index.js +12 -12
  35. package/dist/exports/client/index.js.map +4 -4
  36. package/dist/styles.css +1 -1
  37. package/dist/utilities/getColumns.d.ts.map +1 -1
  38. package/dist/utilities/getColumns.js +1 -2
  39. package/dist/utilities/getColumns.js.map +1 -1
  40. package/package.json +4 -4
  41. /package/dist/exports/client/{DatePicker-YF5TBW3N.js.map → DatePicker-CL2EGBVQ.js.map} +0 -0
@@ -1,81 +1,14 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { getTranslation } from '@payloadcms/translations';
5
- import { toWords } from 'payload/shared';
6
5
  import React from 'react';
7
6
  import { FieldLabel } from '../../../../fields/FieldLabel/index.js';
8
7
  import { useField } from '../../../../forms/useField/index.js';
9
- import { useConfig } from '../../../../providers/Config/index.js';
10
- import { useListQuery } from '../../../../providers/ListQuery/index.js';
11
- import { useTranslation } from '../../../../providers/Translation/index.js';
12
- import { Pill } from '../../../Pill/index.js';
8
+ import { WhereBuilder } from '../../../WhereBuilder/index.js';
13
9
  import './index.scss';
14
- /** @todo: improve this */
15
- const transformWhereToNaturalLanguage = (where, collectionLabel) => {
16
- if (!where) {
17
- return null;
18
- }
19
- const renderCondition = condition => {
20
- if (!condition || typeof condition !== 'object') {
21
- return 'No where query';
22
- }
23
- const key = Object.keys(condition)[0];
24
- if (!key || !condition[key] || typeof condition[key] !== 'object') {
25
- return 'No where query';
26
- }
27
- const operator = Object.keys(condition[key])[0];
28
- const operatorValue = condition[key][operator];
29
- // Format value - ideally would use field schema for proper typing
30
- const formatValue = val => {
31
- if (typeof val === 'object' && val != null) {
32
- try {
33
- return new Date(val).toLocaleDateString();
34
- } catch {
35
- return 'Unknown error has occurred';
36
- }
37
- }
38
- return val?.toString() ?? '';
39
- };
40
- const value = Array.isArray(operatorValue) ? operatorValue.map(formatValue).join(', ') : formatValue(operatorValue);
41
- return /*#__PURE__*/_jsxs(Pill, {
42
- pillStyle: "always-white",
43
- size: "small",
44
- children: [/*#__PURE__*/_jsx("b", {
45
- children: toWords(key)
46
- }), " ", operator, " ", /*#__PURE__*/_jsx("b", {
47
- children: toWords(value)
48
- })]
49
- });
50
- };
51
- const renderWhere = (where, collectionLabel) => {
52
- if (where.or && where.or.length > 0) {
53
- return /*#__PURE__*/_jsx("div", {
54
- className: "or-condition",
55
- children: where.or.map((orCondition, orIndex) => /*#__PURE__*/_jsx(React.Fragment, {
56
- children: orCondition.and && orCondition.and.length > 0 ? /*#__PURE__*/_jsxs("div", {
57
- className: "and-condition",
58
- children: [orIndex === 0 && /*#__PURE__*/_jsx("span", {
59
- className: "label",
60
- children: `Filter ${collectionLabel} where `
61
- }), orIndex > 0 && /*#__PURE__*/_jsx("span", {
62
- className: "label",
63
- children: " or "
64
- }), orCondition.and.map((andCondition, andIndex) => /*#__PURE__*/_jsxs(React.Fragment, {
65
- children: [renderCondition(andCondition), andIndex < orCondition.and.length - 1 && /*#__PURE__*/_jsx("span", {
66
- className: "label",
67
- children: " and "
68
- })]
69
- }, andIndex))]
70
- }) : renderCondition(orCondition)
71
- }, orIndex))
72
- });
73
- }
74
- return renderCondition(where);
75
- };
76
- return renderWhere(where, collectionLabel);
77
- };
78
10
  export const QueryPresetsWhereField = t0 => {
11
+ const $ = _c(14);
79
12
  const {
80
13
  field: t1
81
14
  } = t0;
@@ -85,31 +18,77 @@ export const QueryPresetsWhereField = t0 => {
85
18
  } = t1;
86
19
  const {
87
20
  path,
21
+ setValue,
88
22
  value
89
23
  } = useField();
90
- const {
91
- collectionSlug
92
- } = useListQuery();
93
- const {
94
- getEntityConfig
95
- } = useConfig();
96
- const collectionConfig = getEntityConfig({
97
- collectionSlug
98
- });
99
- const {
100
- i18n
101
- } = useTranslation();
102
- return _jsxs("div", {
103
- className: "field-type query-preset-where-field",
104
- children: [_jsx(FieldLabel, {
105
- as: "h3",
106
- label,
107
- path,
108
- required
109
- }), _jsx("div", {
110
- className: "value-wrapper",
111
- children: value ? transformWhereToNaturalLanguage(value, getTranslation(collectionConfig?.labels?.plural, i18n)) : "No where query"
112
- })]
113
- });
24
+ let t2;
25
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
26
+ t2 = {
27
+ path: "relatedCollection"
28
+ };
29
+ $[0] = t2;
30
+ } else {
31
+ t2 = $[0];
32
+ }
33
+ const relatedCollectionField = useField(t2);
34
+ const relatedCollection = relatedCollectionField.value;
35
+ if (!relatedCollection) {
36
+ let t3;
37
+ if ($[1] !== label || $[2] !== path || $[3] !== required) {
38
+ t3 = _jsxs("div", {
39
+ className: "field-type query-preset-where-field",
40
+ children: [_jsx(FieldLabel, {
41
+ as: "h3",
42
+ label,
43
+ path,
44
+ required
45
+ }), _jsx("p", {
46
+ className: "query-preset-where-field__hint",
47
+ children: "Select the related collection to configure filters."
48
+ })]
49
+ });
50
+ $[1] = label;
51
+ $[2] = path;
52
+ $[3] = required;
53
+ $[4] = t3;
54
+ } else {
55
+ t3 = $[4];
56
+ }
57
+ return t3;
58
+ }
59
+ let t3;
60
+ if ($[5] !== label || $[6] !== path || $[7] !== relatedCollection || $[8] !== required || $[9] !== setValue || $[10] !== value) {
61
+ let t4;
62
+ if ($[12] !== setValue) {
63
+ t4 = where => setValue(where);
64
+ $[12] = setValue;
65
+ $[13] = t4;
66
+ } else {
67
+ t4 = $[13];
68
+ }
69
+ t3 = _jsxs("div", {
70
+ className: "field-type query-preset-where-field",
71
+ children: [_jsx(FieldLabel, {
72
+ as: "h3",
73
+ label,
74
+ path,
75
+ required
76
+ }), _jsx(WhereBuilder, {
77
+ collectionSlug: relatedCollection,
78
+ onChange: t4,
79
+ value: value ?? undefined
80
+ })]
81
+ });
82
+ $[5] = label;
83
+ $[6] = path;
84
+ $[7] = relatedCollection;
85
+ $[8] = required;
86
+ $[9] = setValue;
87
+ $[10] = value;
88
+ $[11] = t3;
89
+ } else {
90
+ t3 = $[11];
91
+ }
92
+ return t3;
114
93
  };
115
94
  //# sourceMappingURL=index.js.map
@@ -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 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
+ {"version":3,"file":"index.js","names":["c","_c","React","FieldLabel","useField","WhereBuilder","QueryPresetsWhereField","t0","$","field","t1","label","required","path","setValue","value","t2","Symbol","for","relatedCollectionField","relatedCollection","t3","_jsxs","className","children","_jsx","as","t4","where","collectionSlug","onChange","undefined"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { WhereBuilder } from '../../../WhereBuilder/index.js'\nimport './index.scss'\n\nexport const QueryPresetsWhereField: JSONFieldClientComponent = ({\n field: { label, required },\n}) => {\n const { path, setValue, value } = useField<Where>()\n const relatedCollectionField = useField({ path: 'relatedCollection' })\n const relatedCollection = relatedCollectionField.value as string | undefined\n\n if (!relatedCollection) {\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <p className=\"query-preset-where-field__hint\">\n Select the related collection to configure filters.\n </p>\n </div>\n )\n }\n\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <WhereBuilder\n collectionSlug={relatedCollection}\n onChange={(where) => setValue(where)}\n value={value ?? undefined}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,sBAAA,GAAmDC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,KAAA,EAAAC;EAAA,IAAAH,EAEhE;EADQ;IAAAI,KAAA;IAAAC;EAAA,IAAAF,EAAmB;EAE1B;IAAAG,IAAA;IAAAC,QAAA;IAAAC;EAAA,IAAkCX,QAAA;EAAA,IAAAY,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IACMF,EAAA;MAAAH,IAAA,EAAQ;IAAA;IAAoBL,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAApE,MAAAW,sBAAA,GAA+Bf,QAAA,CAASY,EAA4B;EACpE,MAAAI,iBAAA,GAA0BD,sBAAA,CAAAJ,KAAA;EAA4B,KAEjDK,iBAAA;IAAA,IAAAC,EAAA;IAAA,IAAAb,CAAA,QAAAG,KAAA,IAAAH,CAAA,QAAAK,IAAA,IAAAL,CAAA,QAAAI,QAAA;MAEDS,EAAA,GAAAC,KAAA,CAAC;QAAAC,SAAA,EAAc;QAAAC,QAAA,GACbC,IAAA,CAAAtB,UAAA;UAAAuB,EAAA,EAAe;UAAAf,KAAA;UAAAE,IAAA;UAAAD;QAAA,C,GACfa,IAAA,CAAC;UAAAF,SAAA,EAAY;UAAAC,QAAA,EAAiC;QAAA,C;;;;;;;;;WAFhDH,E;;;;;;MAcYM,EAAA,GAAAC,KAAA,IAAWd,QAAA,CAASc,KAAA;MAAApB,CAAA,OAAAM,QAAA;MAAAN,CAAA,OAAAmB,EAAA;IAAA;MAAAA,EAAA,GAAAnB,CAAA;IAAA;IAJlCa,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAAtB,UAAA;QAAAuB,EAAA,EAAe;QAAAf,KAAA;QAAAE,IAAA;QAAAD;MAAA,C,GACfa,IAAA,CAAApB,YAAA;QAAAwB,cAAA,EACkBT,iBAAA;QAAAU,QAAA,EACNH,EAAoB;QAAAZ,KAAA,EACvBA,KAAA,IAAAgB;MAAS,C;;;;;;;;;;;;SALpBV,E;CASJ","ignoreList":[]}
@@ -4,7 +4,7 @@ import type { ReducedField, Value } from '../../types.js';
4
4
  type Props = {
5
5
  booleanSelect: boolean;
6
6
  disabled: boolean;
7
- filterOptions: ResolvedFilterOptions;
7
+ filterOptions?: ResolvedFilterOptions;
8
8
  internalField: ReducedField;
9
9
  onChange: React.Dispatch<React.SetStateAction<string>>;
10
10
  operator: Operator;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,MAAM,EACN,qBAAqB,EAGtB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAQzD,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,qBAAqB,CAAA;IACpC,aAAa,EAAE,YAAY,CAAA;IAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuFzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,MAAM,EACN,qBAAqB,EAGtB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAQzD,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,aAAa,EAAE,YAAY,CAAA;IAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuFzC,CAAA"}
@@ -52,7 +52,7 @@ export const DefaultFilter = ({
52
52
  return /*#__PURE__*/_jsx(RelationshipFilter, {
53
53
  disabled: disabled,
54
54
  field: internalField.field,
55
- filterOptions: filterOptions,
55
+ filterOptions: filterOptions ?? {},
56
56
  onChange: onChange,
57
57
  operator: operator,
58
58
  value: value
@@ -63,7 +63,7 @@ export const DefaultFilter = ({
63
63
  return /*#__PURE__*/_jsx(RelationshipFilter, {
64
64
  disabled: disabled,
65
65
  field: internalField.field,
66
- filterOptions: filterOptions,
66
+ filterOptions: filterOptions ?? {},
67
67
  onChange: onChange,
68
68
  operator: operator,
69
69
  value: value
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","DateFilter","NumberFilter","RelationshipFilter","Select","Text","DefaultFilter","booleanSelect","disabled","filterOptions","internalField","onChange","operator","options","value","includes","field","type","_jsx","isClearable"],"sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"sourcesContent":["import type {\n Operator,\n Option,\n ResolvedFilterOptions,\n SelectFieldClient,\n TextFieldClient,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ReducedField, Value } from '../../types.js'\n\nimport { DateFilter } from '../Date/index.js'\nimport { NumberFilter } from '../Number/index.js'\nimport { RelationshipFilter } from '../Relationship/index.js'\nimport { Select } from '../Select/index.js'\nimport { Text } from '../Text/index.js'\n\ntype Props = {\n booleanSelect: boolean\n disabled: boolean\n filterOptions: ResolvedFilterOptions\n internalField: ReducedField\n onChange: React.Dispatch<React.SetStateAction<string>>\n operator: Operator\n options: Option[]\n value: Value\n}\n\nexport const DefaultFilter: React.FC<Props> = ({\n booleanSelect,\n disabled,\n filterOptions,\n internalField,\n onChange,\n operator,\n options,\n value,\n}) => {\n if (booleanSelect || ['radio', 'select'].includes(internalField?.field?.type)) {\n return (\n <Select\n disabled={disabled}\n field={internalField.field as SelectFieldClient}\n isClearable={!booleanSelect}\n onChange={onChange}\n operator={operator}\n options={options}\n value={value as string}\n />\n )\n }\n\n switch (internalField?.field?.type) {\n case 'date': {\n return (\n <DateFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as Date | string}\n />\n )\n }\n\n case 'number': {\n return (\n <NumberFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as number | number[]}\n />\n )\n }\n\n case 'relationship': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'upload': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n default: {\n return (\n <Text\n disabled={disabled}\n field={internalField?.field as TextFieldClient}\n onChange={onChange}\n operator={operator}\n value={value as string | string[]}\n />\n )\n }\n }\n}\n"],"mappings":";AAQA,OAAOA,KAAA,MAAW;AAIlB,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AAarB,OAAO,MAAMC,aAAA,GAAiCA,CAAC;EAC7CC,aAAa;EACbC,QAAQ;EACRC,aAAa;EACbC,aAAa;EACbC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC;AAAK,CACN;EACC,IAAIP,aAAA,IAAiB,CAAC,SAAS,SAAS,CAACQ,QAAQ,CAACL,aAAA,EAAeM,KAAA,EAAOC,IAAA,GAAO;IAC7E,oBACEC,IAAA,CAACd,MAAA;MACCI,QAAA,EAAUA,QAAA;MACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;MAC1BG,WAAA,EAAa,CAACZ,aAAA;MACdI,QAAA,EAAUA,QAAA;MACVC,QAAA,EAAUA,QAAA;MACVC,OAAA,EAASA,OAAA;MACTC,KAAA,EAAOA;;EAGb;EAEA,QAAQJ,aAAA,EAAeM,KAAA,EAAOC,IAAA;IAC5B,KAAK;MAAQ;QACX,oBACEC,IAAA,CAACjB,UAAA;UACCO,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAU;QACb,oBACEI,IAAA,CAAChB,YAAA;UACCM,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAgB;QACnB,oBACEI,IAAA,CAACf,kBAAA;UACCK,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BP,aAAA,EAAeA,aAAA;UACfE,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAU;QACb,oBACEI,IAAA,CAACf,kBAAA;UACCK,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BP,aAAA,EAAeA,aAAA;UACfE,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA;MAAS;QACP,oBACEI,IAAA,CAACb,IAAA;UACCG,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,EAAeM,KAAA;UACtBL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DateFilter","NumberFilter","RelationshipFilter","Select","Text","DefaultFilter","booleanSelect","disabled","filterOptions","internalField","onChange","operator","options","value","includes","field","type","_jsx","isClearable"],"sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"sourcesContent":["import type {\n Operator,\n Option,\n ResolvedFilterOptions,\n SelectFieldClient,\n TextFieldClient,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ReducedField, Value } from '../../types.js'\n\nimport { DateFilter } from '../Date/index.js'\nimport { NumberFilter } from '../Number/index.js'\nimport { RelationshipFilter } from '../Relationship/index.js'\nimport { Select } from '../Select/index.js'\nimport { Text } from '../Text/index.js'\n\ntype Props = {\n booleanSelect: boolean\n disabled: boolean\n filterOptions?: ResolvedFilterOptions\n internalField: ReducedField\n onChange: React.Dispatch<React.SetStateAction<string>>\n operator: Operator\n options: Option[]\n value: Value\n}\n\nexport const DefaultFilter: React.FC<Props> = ({\n booleanSelect,\n disabled,\n filterOptions,\n internalField,\n onChange,\n operator,\n options,\n value,\n}) => {\n if (booleanSelect || ['radio', 'select'].includes(internalField?.field?.type)) {\n return (\n <Select\n disabled={disabled}\n field={internalField.field as SelectFieldClient}\n isClearable={!booleanSelect}\n onChange={onChange}\n operator={operator}\n options={options}\n value={value as string}\n />\n )\n }\n\n switch (internalField?.field?.type) {\n case 'date': {\n return (\n <DateFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as Date | string}\n />\n )\n }\n\n case 'number': {\n return (\n <NumberFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as number | number[]}\n />\n )\n }\n\n case 'relationship': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions ?? {}}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'upload': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions ?? {}}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n default: {\n return (\n <Text\n disabled={disabled}\n field={internalField?.field as TextFieldClient}\n onChange={onChange}\n operator={operator}\n value={value as string | string[]}\n />\n )\n }\n }\n}\n"],"mappings":";AAQA,OAAOA,KAAA,MAAW;AAIlB,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AAarB,OAAO,MAAMC,aAAA,GAAiCA,CAAC;EAC7CC,aAAa;EACbC,QAAQ;EACRC,aAAa;EACbC,aAAa;EACbC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC;AAAK,CACN;EACC,IAAIP,aAAA,IAAiB,CAAC,SAAS,SAAS,CAACQ,QAAQ,CAACL,aAAA,EAAeM,KAAA,EAAOC,IAAA,GAAO;IAC7E,oBACEC,IAAA,CAACd,MAAA;MACCI,QAAA,EAAUA,QAAA;MACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;MAC1BG,WAAA,EAAa,CAACZ,aAAA;MACdI,QAAA,EAAUA,QAAA;MACVC,QAAA,EAAUA,QAAA;MACVC,OAAA,EAASA,OAAA;MACTC,KAAA,EAAOA;;EAGb;EAEA,QAAQJ,aAAA,EAAeM,KAAA,EAAOC,IAAA;IAC5B,KAAK;MAAQ;QACX,oBACEC,IAAA,CAACjB,UAAA;UACCO,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAU;QACb,oBACEI,IAAA,CAAChB,YAAA;UACCM,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAgB;QACnB,oBACEI,IAAA,CAACf,kBAAA;UACCK,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BP,aAAA,EAAeA,aAAA,IAAiB,CAAC;UACjCE,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAU;QACb,oBACEI,IAAA,CAACf,kBAAA;UACCK,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BP,aAAA,EAAeA,aAAA,IAAiB,CAAC;UACjCE,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA;MAAS;QACP,oBACEI,IAAA,CAACb,IAAA;UACCG,QAAA,EAAUA,QAAA;UACVQ,KAAA,EAAON,aAAA,EAAeM,KAAA;UACtBL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,eAAe,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAI1D,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2EhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,eAAe,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAI1D,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsEhC,CAAA"}
@@ -11,38 +11,36 @@ export const Text = props => {
11
11
  const $ = _c(18);
12
12
  const {
13
13
  disabled,
14
- field: t0,
14
+ field,
15
15
  onChange,
16
16
  operator,
17
17
  value
18
18
  } = props;
19
- const {
20
- hasMany
21
- } = t0;
22
19
  const {
23
20
  t
24
21
  } = useTranslation();
25
- let t1;
22
+ const hasMany = field?.hasMany ?? false;
23
+ let t0;
26
24
  if ($[0] !== hasMany || $[1] !== operator) {
27
- t1 = ["in", "not_in"].includes(operator) || hasMany;
25
+ t0 = ["in", "not_in"].includes(operator) || hasMany;
28
26
  $[0] = hasMany;
29
27
  $[1] = operator;
30
- $[2] = t1;
28
+ $[2] = t0;
31
29
  } else {
32
- t1 = $[2];
30
+ t0 = $[2];
33
31
  }
34
- const isMulti = t1;
35
- let t2;
32
+ const isMulti = t0;
33
+ let t1;
36
34
  if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
37
- t2 = [];
38
- $[3] = t2;
35
+ t1 = [];
36
+ $[3] = t1;
39
37
  } else {
40
- t2 = $[3];
38
+ t1 = $[3];
41
39
  }
42
- const [valueToRender, setValueToRender] = React.useState(t2);
43
- let t3;
40
+ const [valueToRender, setValueToRender] = React.useState(t1);
41
+ let t2;
44
42
  if ($[4] !== isMulti || $[5] !== onChange) {
45
- t3 = selectedOption => {
43
+ t2 = selectedOption => {
46
44
  let newValue;
47
45
  if (!selectedOption) {
48
46
  newValue = [];
@@ -59,33 +57,33 @@ export const Text = props => {
59
57
  };
60
58
  $[4] = isMulti;
61
59
  $[5] = onChange;
62
- $[6] = t3;
60
+ $[6] = t2;
63
61
  } else {
64
- t3 = $[6];
62
+ t2 = $[6];
65
63
  }
66
- const onSelect = t3;
64
+ const onSelect = t2;
65
+ let t3;
67
66
  let t4;
68
- let t5;
69
67
  if ($[7] !== value) {
70
- t4 = () => {
68
+ t3 = () => {
71
69
  if (Array.isArray(value)) {
72
70
  setValueToRender(value.map(_temp2));
73
71
  } else {
74
72
  setValueToRender([]);
75
73
  }
76
74
  };
77
- t5 = [value];
75
+ t4 = [value];
78
76
  $[7] = value;
79
- $[8] = t4;
80
- $[9] = t5;
77
+ $[8] = t3;
78
+ $[9] = t4;
81
79
  } else {
82
- t4 = $[8];
83
- t5 = $[9];
80
+ t3 = $[8];
81
+ t4 = $[9];
84
82
  }
85
- React.useEffect(t4, t5);
86
- let t6;
83
+ React.useEffect(t3, t4);
84
+ let t5;
87
85
  if ($[10] !== disabled || $[11] !== isMulti || $[12] !== onChange || $[13] !== onSelect || $[14] !== t || $[15] !== value || $[16] !== valueToRender) {
88
- t6 = isMulti ? _jsx(ReactSelect, {
86
+ t5 = isMulti ? _jsx(ReactSelect, {
89
87
  disabled,
90
88
  isClearable: true,
91
89
  isCreatable: true,
@@ -110,11 +108,11 @@ export const Text = props => {
110
108
  $[14] = t;
111
109
  $[15] = value;
112
110
  $[16] = valueToRender;
113
- $[17] = t6;
111
+ $[17] = t5;
114
112
  } else {
115
- t6 = $[17];
113
+ t5 = $[17];
116
114
  }
117
- return t6;
115
+ return t5;
118
116
  };
119
117
  function _temp(option) {
120
118
  return option.value?.value || option.value;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useTranslation","ReactSelect","baseClass","Text","props","$","disabled","field","t0","onChange","operator","value","hasMany","t","t1","includes","isMulti","t2","Symbol","for","valueToRender","setValueToRender","useState","t3","selectedOption","newValue","Array","isArray","map","_temp","onSelect","t4","t5","_temp2","useEffect","t6","_jsx","isClearable","isCreatable","isSortable","options","placeholder","className","e","target","type","option","val","index","id","label","toString"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { TextFilterProps as Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-text'\n\nexport const Text: React.FC<Props> = (props) => {\n const {\n disabled,\n field: { hasMany },\n onChange,\n operator,\n value,\n } = props\n const { t } = useTranslation()\n\n const isMulti = ['in', 'not_in'].includes(operator) || hasMany\n\n const [valueToRender, setValueToRender] = React.useState<\n { id: string; label: string; value: { value: string } }[]\n >([])\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n if (Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as any)?.value || val,\n },\n }\n }),\n )\n } else {\n setValueToRender([])\n }\n }, [value])\n\n return isMulti ? (\n <ReactSelect\n disabled={disabled}\n isClearable\n isCreatable\n isMulti={isMulti}\n isSortable\n onChange={onSelect}\n options={[]}\n placeholder={t('general:enterAValue')}\n value={valueToRender || []}\n />\n ) : (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"text\"\n value={value || ''}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useTranslation","ReactSelect","baseClass","Text","props","$","disabled","field","onChange","operator","value","t","hasMany","t0","includes","isMulti","t1","Symbol","for","valueToRender","setValueToRender","useState","t2","selectedOption","newValue","Array","isArray","map","_temp","onSelect","t3","t4","_temp2","useEffect","t5","_jsx","isClearable","isCreatable","isSortable","options","placeholder","className","e","target","type","option","val","index","id","label","toString"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { TextFilterProps as Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-text'\n\nexport const Text: React.FC<Props> = (props) => {\n const { disabled, field, onChange, operator, value } = props\n const { t } = useTranslation()\n\n const hasMany = field?.hasMany ?? false\n const isMulti = ['in', 'not_in'].includes(operator) || hasMany\n\n const [valueToRender, setValueToRender] = React.useState<\n { id: string; label: string; value: { value: string } }[]\n >([])\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n if (Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as any)?.value || val,\n },\n }\n }),\n )\n } else {\n setValueToRender([])\n }\n }, [value])\n\n return isMulti ? (\n <ReactSelect\n disabled={disabled}\n isClearable\n isCreatable\n isMulti={isMulti}\n isSortable\n onChange={onSelect}\n options={[]}\n placeholder={t('general:enterAValue')}\n value={valueToRender || []}\n />\n ) : (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"text\"\n value={value || ''}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,12 +4,12 @@ export type Props = {
4
4
  readonly addCondition: AddCondition;
5
5
  readonly andIndex: number;
6
6
  readonly fieldPath: string;
7
- readonly filterOptions: ResolvedFilterOptions;
7
+ readonly filterOptions?: ResolvedFilterOptions;
8
8
  readonly operator: Operator;
9
9
  readonly orIndex: number;
10
10
  readonly reducedFields: ReducedField[];
11
11
  readonly removeCondition: RemoveCondition;
12
- readonly RenderedFilter: React.ReactNode;
12
+ readonly RenderedFilter?: React.ReactNode;
13
13
  readonly updateCondition: UpdateCondition;
14
14
  readonly value: Value;
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,KAAK,EACN,MAAM,aAAa,CAAA;AAEpB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAA2B,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAWvF,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoLrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,KAAK,EACN,MAAM,aAAa,CAAA;AAEpB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAA2B,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAWvF,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoLrC,CAAA"}
@@ -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","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":[]}
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":"AAAA;;;AACA,OAAOA,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AA4BxD,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,SAAA,GAA8BC,KAAA;EACzC,MAAM;IACJC,YAAY;IACZC,QAAQ;IACRC,SAAS;IACTC,aAAa;IACbC,QAAQ;IACRC,OAAO;IACPC,aAAa;IACbC,eAAe;IACfC,cAAc;IACdC,eAAe;IACfC;EAAK,CACN,GAAGX,KAAA;EAEJ,MAAM;IAAEY;EAAC,CAAE,GAAGnB,cAAA;EAEd,MAAMoB,YAAA,GAAeN,aAAA,CAAcO,IAAI,CAAEC,KAAA,IAAUA,KAAA,CAAMJ,KAAK,KAAKR,SAAA;EAEnE,MAAM,CAACa,aAAA,EAAeC,gBAAA,CAAiB,GAAG3B,QAAA,CAAgBqB,KAAA;EAE1D,MAAMO,cAAA,GAAiB3B,WAAA,CAAYyB,aAAA,EAAe;EAElD,MAAMG,aAAA,GAAgB,CAAC,SAAS,CAACC,QAAQ,CAACf,QAAA,KAAaQ,YAAA,EAAcE,KAAA,EAAOM,IAAA,KAAS;EAErF,IAAIC,YAAA,GAAgC,EAAE;EAEtC,IAAIH,aAAA,EAAe;IACjBG,YAAA,GAAe,CACb;MAAEC,KAAA,EAAOX,CAAA,CAAE;MAAiBD,KAAA,EAAO;IAAO,GAC1C;MAAEY,KAAA,EAAOX,CAAA,CAAE;MAAkBD,KAAA,EAAO;IAAQ,EAC7C;EACH,OAAO,IAAIE,YAAA,EAAcE,KAAA,IAAS,aAAaF,YAAA,CAAaE,KAAK,EAAE;IACjEO,YAAA,GAAeT,YAAA,CAAaE,KAAK,CAACS,OAAO;EAC3C;EAEA,MAAMC,WAAA,GAAcjC,cAAA,CAAe,MAAO0B,gBAAA;IACxC,IAAIb,QAAA,EAAU;MACZ,MAAMK,eAAA,CAAgB;QACpBW,IAAA,EAAM;QACNnB,QAAA;QACAa,KAAA,EAAOF,YAAA;QACPR,QAAA;QACAC,OAAA;QACAK,KAAA,EAAOO,gBAAA,KAAmB,QAAQA,gBAAA,KAAmB,KAAKQ,SAAA,GAAYR;MACxE;IACF;EACF;EAEA7B,SAAA,CAAU;IACR,KAAKoC,WAAA,CAAYP,cAAA;EACnB,GAAG,CAACA,cAAA,CAAe;EAEnB,MAAMS,QAAA,GACJ,CAAEd,YAAA,EAAcF,KAAA,IAAS,OAAOE,YAAA,EAAcF,KAAA,KAAU,YACxDE,YAAA,EAAcE,KAAA,EAAOa,KAAA,EAAOC,iBAAA;EAE9B,MAAMC,iBAAA,GAAoB1C,WAAA,CACxB,MAAO2B,OAAA;IACLE,gBAAA,CAAiBS,SAAA;IACjB,MAAMhB,eAAA,CAAgB;MACpBW,IAAA,EAAM;MACNnB,QAAA;MACAa,KAAA,EAAOR,aAAA,CAAcO,IAAI,CAAEiB,MAAA,IAAWA,MAAA,CAAOpB,KAAK,KAAKI,OAAA,CAAMJ,KAAK;MAClEN,QAAA;MACAC,OAAA;MACAK,KAAA,EAAOe;IACT;EACF,GACA,CAACxB,QAAA,EAAUG,QAAA,EAAUC,OAAA,EAASC,aAAA,EAAeG,eAAA,CAAgB;EAG/D,MAAMsB,oBAAA,GAAuB5C,WAAA,CAC3B,MAAOiB,UAAA;IACL,MAAM4B,kBAAA,GAAqBpC,qBAAA,CAAsBgB,YAAA,CAAaE,KAAK,CAACM,IAAI;IACxE,MAAMa,kBAAA,GAAqBD,kBAAkB,CAAC5B,UAAA,CAASM,KAAK,CAAC,IAAI;IACjE,MAAMwB,YAAA,GACJD,kBAAA,KAAuB,SACvB,OAAOvB,KAAA,KAAUuB,kBAAA,IAChBA,kBAAA,KAAuB,cAAcvB,KAAA,KAAU,UAAUA,KAAA,KAAU,OAAM;IAE5E,IAAI,CAACwB,YAAA,EAAc;MACjB;MACA;MACAlB,gBAAA,CAAiBS,SAAA;IACnB;IAEA,MAAMhB,eAAA,CAAgB;MACpBW,IAAA,EAAM;MACNnB,QAAA;MACAa,KAAA,EAAOF,YAAA;MACPR,QAAA,EAAUA,UAAA,CAASM,KAAK;MACxBL,OAAA;MACAK,KAAA,EAAOwB,YAAA,GAAexB,KAAA,GAAQe;IAChC;EACF,GACA,CAACxB,QAAA,EAAUW,YAAA,EAAcP,OAAA,EAASI,eAAA,EAAiBC,KAAA,CAAM;EAG3D,oBACEyB,IAAA,CAAC;IAAIC,SAAA,EAAWvC,SAAA;cACd,aAAAwC,KAAA,CAAC;MAAID,SAAA,EAAW,GAAGvC,SAAA,QAAiB;8BAClCwC,KAAA,CAAC;QAAID,SAAA,EAAW,GAAGvC,SAAA,UAAmB;gCACpCsC,IAAA,CAAC;UAAIC,SAAA,EAAW,GAAGvC,SAAA,SAAkB;oBACnC,aAAAsC,IAAA,CAACzC,WAAA;YACCgC,QAAA,EAAUA,QAAA;YACVY,YAAA,EAAcA,CAACR,QAAA,EAAQS,UAAA,KACrB,CAACT,QAAC,EAAQU,IAAA,EAAMC,cAAA,IAA6BX,QAAA,CAAOR,KAAK,EACtDoB,WAAW,GACXvB,QAAQ,CAACoB,UAAA,CAAWG,WAAW;YAEpCC,WAAA,EAAa;YACbC,QAAA,EAAUf,iBAAA;YACVN,OAAA,EAASjB,aAAA,CAAcuC,MAAM,CAAE/B,OAAA,IAAU,CAACA,OAAA,CAAMA,KAAK,CAACa,KAAK,CAACC,iBAAiB;YAC7ElB,KAAA,EACEE,YAAA,IAAgB;cACdF,KAAA,EAAOE,YAAA,EAAcF;YACvB;;yBAINyB,IAAA,CAAC;UAAIC,SAAA,EAAW,GAAGvC,SAAA,YAAqB;oBACtC,aAAAsC,IAAA,CAACzC,WAAA;YACCgC,QAAA,EAAUA,QAAA;YACViB,WAAA,EAAa;YACbC,QAAA,EAAUb,oBAAA;YACVR,OAAA,EAASX,YAAA,EAAckC,SAAA;YACvBpC,KAAA,EAAOE,YAAA,EAAckC,SAAA,CAAUjC,IAAA,CAAMkC,CAAA,IAAM3C,QAAA,KAAa2C,CAAA,CAAErC,KAAK,KAAK;;yBAGxEyB,IAAA,CAAC;UAAIC,SAAA,EAAW,GAAGvC,SAAA,SAAkB;oBAClCW,cAAA,iBACC2B,IAAA,CAACxC,aAAA;YACCuB,aAAA,EAAeA,aAAA;YACfQ,QAAA,EACE,CAACtB,QAAA,IAAY,CAACQ,YAAA,IAAgBA,YAAA,EAAcE,KAAA,EAAOa,KAAA,EAAOC,iBAAA;YAE5DzB,aAAA,EAAeA,aAAA;YACf6C,aAAA,EAAepC,YAAA;YACfgC,QAAA,EAAU5B,gBAAA;YACVZ,QAAA,EAAUA,QAAA;YACVmB,OAAA,EAASF,YAAA;YACTX,KAAA,EAAOK,aAAA,IAAiB;;;uBAKhCsB,KAAA,CAAC;QAAID,SAAA,EAAW,GAAGvC,SAAA,WAAoB;gCACrCsC,IAAA,CAAC1C,MAAA;UACCwD,WAAA,EAAY;UACZb,SAAA,EAAW,GAAGvC,SAAA,kBAA2B;UACzCqD,IAAA,EAAK;UACLC,SAAA,EAAU;UACVC,OAAA,EAASA,CAAA,KACP7C,eAAA,CAAgB;YACdN,QAAA;YACAI;UACF;UAEFgD,KAAK;yBAEPlB,IAAA,CAAC1C,MAAA;UACCwD,WAAA,EAAY;UACZb,SAAA,EAAW,GAAGvC,SAAA,eAAwB;UACtCqD,IAAA,EAAK;UACLC,SAAA,EAAU;UACVC,OAAA,EAASA,CAAA,KACPpD,YAAA,CAAa;YACXC,QAAA,EAAUA,QAAA,GAAW;YACrBa,KAAA,EAAOR,aAAA,CAAcO,IAAI,CAAEC,OAAA,IAAU,CAACA,OAAA,CAAMA,KAAK,CAACa,KAAK,EAAEC,iBAAA;YACzDvB,OAAA;YACAiD,QAAA,EAAU;UACZ;UAEFD,KAAK;;;;;AAMjB","ignoreList":[]}
@@ -3,8 +3,9 @@ import type { WhereBuilderProps } from './types.js';
3
3
  import './index.scss';
4
4
  export { WhereBuilderProps };
5
5
  /**
6
- * The WhereBuilder component is used to render the filter controls for a collection's list view.
7
- * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).
6
+ * The WhereBuilder component is used to render the filter controls for a collection's list view
7
+ * or in a form (e.g. Query Presets). When `value` and `onChange` are provided, it is controlled
8
+ * by the form; otherwise it uses list query state from {@link useListQuery}.
8
9
  */
9
10
  export declare const WhereBuilder: React.FC<WhereBuilderProps>;
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAkD,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAQnG,OAAO,cAAc,CAAA;AAKrB,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqNpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAkD,iBAAiB,EAAE,MAAM,YAAY,CAAA;AASnG,OAAO,cAAc,CAAA;AAKrB,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8OpD,CAAA"}