@payloadcms/ui 3.39.0-canary.4 → 3.39.0-canary.6

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 (37) hide show
  1. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  2. package/dist/elements/ColumnSelector/index.js +3 -2
  3. package/dist/elements/ColumnSelector/index.js.map +1 -1
  4. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -1
  5. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  6. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +5 -2
  7. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  8. package/dist/elements/ListControls/index.d.ts.map +1 -1
  9. package/dist/elements/ListControls/index.js +1 -1
  10. package/dist/elements/ListControls/index.js.map +1 -1
  11. package/dist/elements/SortColumn/index.scss +1 -1
  12. package/dist/exports/client/index.js +11 -11
  13. package/dist/exports/client/index.js.map +3 -3
  14. package/dist/fields/Group/index.d.ts.map +1 -1
  15. package/dist/fields/Group/index.js +4 -4
  16. package/dist/fields/Group/index.js.map +1 -1
  17. package/dist/fields/Join/index.d.ts.map +1 -1
  18. package/dist/fields/Join/index.js +3 -1
  19. package/dist/fields/Join/index.js.map +1 -1
  20. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  21. package/dist/hooks/useUseAsTitle.js +25 -5
  22. package/dist/hooks/useUseAsTitle.js.map +1 -1
  23. package/dist/providers/TableColumns/buildColumnState.d.ts.map +1 -1
  24. package/dist/providers/TableColumns/buildColumnState.js +28 -11
  25. package/dist/providers/TableColumns/buildColumnState.js.map +1 -1
  26. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -1
  27. package/dist/providers/TableColumns/buildPolymorphicColumnState.js +28 -11
  28. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +1 -1
  29. package/dist/providers/TableColumns/findValueInDoc.d.ts +2 -0
  30. package/dist/providers/TableColumns/findValueInDoc.d.ts.map +1 -0
  31. package/dist/providers/TableColumns/findValueInDoc.js +18 -0
  32. package/dist/providers/TableColumns/findValueInDoc.js.map +1 -0
  33. package/dist/styles.css +1 -1
  34. package/dist/utilities/renderTable.d.ts.map +1 -1
  35. package/dist/utilities/renderTable.js +16 -2
  36. package/dist/utilities/renderTable.js.map +1 -1
  37. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ColumnSelector/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,OAAO,KAAyB,MAAM,OAAO,CAAA;AAS7C,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyD1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ColumnSelector/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAGrE,OAAO,KAAyB,MAAM,OAAO,CAAA;AAS7C,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgE1C,CAAA"}
@@ -44,6 +44,7 @@ export const ColumnSelector = ({
44
44
  active,
45
45
  field
46
46
  } = col_1;
47
+ const label = 'labelWithPrefix' in field && field.labelWithPrefix !== undefined ? field.labelWithPrefix : 'label' in field && field.label !== undefined ? field.label : 'name' in field && field.name !== undefined ? field.name : undefined;
47
48
  return /*#__PURE__*/_jsx(Pill, {
48
49
  alignIcon: "left",
49
50
  "aria-checked": active,
@@ -55,10 +56,10 @@ export const ColumnSelector = ({
55
56
  void toggleColumn(accessor);
56
57
  },
57
58
  children: col_1.CustomLabel ?? /*#__PURE__*/_jsx(FieldLabel, {
58
- label: field && 'label' in field && field.label,
59
+ label: label,
59
60
  unstyled: true
60
61
  })
61
- }, `${collectionSlug}-${field && 'name' in field ? field?.name : i}${editDepth ? `-${editDepth}-` : ''}${uuid}`);
62
+ }, `${collectionSlug}-${accessor}-${i}${editDepth ? `-${editDepth}-` : ''}${uuid}`);
62
63
  })
63
64
  });
64
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","React","useId","useMemo","FieldLabel","PlusIcon","XIcon","useEditDepth","useTableColumns","DraggableSortable","Pill","baseClass","ColumnSelector","collectionSlug","columns","moveColumn","toggleColumn","uuid","editDepth","filteredColumns","filter","col","field","admin","disableListColumn","_jsx","className","ids","map","accessor","onDragEnd","moveFromIndex","moveToIndex","fromIndex","toIndex","i","active","alignIcon","Boolean","join","draggable","icon","id","onClick","CustomLabel","label","unstyled","name"],"sources":["../../../src/elements/ColumnSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\nimport React, { useId, useMemo } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTableColumns } from '../../providers/TableColumns/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'column-selector'\n\nexport type Props = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n}\n\nexport const ColumnSelector: React.FC<Props> = ({ collectionSlug }) => {\n const { columns, moveColumn, toggleColumn } = useTableColumns()\n\n const uuid = useId()\n const editDepth = useEditDepth()\n\n const filteredColumns = useMemo(\n () =>\n columns.filter(\n (col) =>\n !(fieldIsHiddenOrDisabled(col.field) && !fieldIsID(col.field)) &&\n !col?.field?.admin?.disableListColumn,\n ),\n [columns],\n )\n\n if (!columns) {\n return null\n }\n\n return (\n <DraggableSortable\n className={baseClass}\n ids={filteredColumns.map((col) => col?.accessor)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n void moveColumn({\n fromIndex: moveFromIndex,\n toIndex: moveToIndex,\n })\n }}\n >\n {filteredColumns.map((col, i) => {\n const { accessor, active, field } = col\n\n return (\n <Pill\n alignIcon=\"left\"\n aria-checked={active}\n className={[`${baseClass}__column`, active && `${baseClass}__column--active`]\n .filter(Boolean)\n .join(' ')}\n draggable\n icon={active ? <XIcon /> : <PlusIcon />}\n id={accessor}\n key={`${collectionSlug}-${field && 'name' in field ? field?.name : i}${editDepth ? `-${editDepth}-` : ''}${uuid}`}\n onClick={() => {\n void toggleColumn(accessor)\n }}\n >\n {col.CustomLabel ?? (\n <FieldLabel label={field && 'label' in field && field.label} unstyled />\n )}\n </Pill>\n )\n })}\n </DraggableSortable>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ;AACnD,OAAOC,KAAA,IAASC,KAAK,EAAEC,OAAO,QAAQ;AAEtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,KAAK,QAAQ;AACtB,SAASC,YAAY,QAAQ;AAC7B,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,cAAA,GAAkCA,CAAC;EAAEC;AAAc,CAAE;EAChE,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC;EAAY,CAAE,GAAGR,eAAA;EAE9C,MAAMS,IAAA,GAAOf,KAAA;EACb,MAAMgB,SAAA,GAAYX,YAAA;EAElB,MAAMY,eAAA,GAAkBhB,OAAA,CACtB,MACEW,OAAA,CAAQM,MAAM,CACXC,GAAA,IACC,EAAEtB,uBAAA,CAAwBsB,GAAA,CAAIC,KAAK,KAAK,CAACtB,SAAA,CAAUqB,GAAA,CAAIC,KAAK,MAC5D,CAACD,GAAA,EAAKC,KAAA,EAAOC,KAAA,EAAOC,iBAAA,GAE1B,CAACV,OAAA,CAAQ;EAGX,IAAI,CAACA,OAAA,EAAS;IACZ,OAAO;EACT;EAEA,oBACEW,IAAA,CAAChB,iBAAA;IACCiB,SAAA,EAAWf,SAAA;IACXgB,GAAA,EAAKR,eAAA,CAAgBS,GAAG,CAAEP,KAAA,IAAQA,KAAA,EAAKQ,QAAA;IACvCC,SAAA,EAAWA,CAAC;MAAEC,aAAa;MAAEC;IAAW,CAAE;MACxC,KAAKjB,UAAA,CAAW;QACdkB,SAAA,EAAWF,aAAA;QACXG,OAAA,EAASF;MACX;IACF;cAECb,eAAA,CAAgBS,GAAG,CAAC,CAACP,KAAA,EAAKc,CAAA;MACzB,MAAM;QAAEN,QAAQ;QAAEO,MAAM;QAAEd;MAAK,CAAE,GAAGD,KAAA;MAEpC,oBACEI,IAAA,CAACf,IAAA;QACC2B,SAAA,EAAU;QACV,gBAAcD,MAAA;QACdV,SAAA,EAAW,CAAC,GAAGf,SAAA,UAAmB,EAAEyB,MAAA,IAAU,GAAGzB,SAAA,kBAA2B,CAAC,CAC1ES,MAAM,CAACkB,OAAA,EACPC,IAAI,CAAC;QACRC,SAAS;QACTC,IAAA,EAAML,MAAA,gBAASX,IAAA,CAACnB,KAAA,qBAAWmB,IAAA,CAACpB,QAAA;QAC5BqC,EAAA,EAAIb,QAAA;QAEJc,OAAA,EAASA,CAAA;UACP,KAAK3B,YAAA,CAAaa,QAAA;QACpB;kBAECR,KAAA,CAAIuB,WAAW,iBACdnB,IAAA,CAACrB,UAAA;UAAWyC,KAAA,EAAOvB,KAAA,IAAS,WAAWA,KAAA,IAASA,KAAA,CAAMuB,KAAK;UAAEC,QAAQ;;SANlE,GAAGjC,cAAA,IAAkBS,KAAA,IAAS,UAAUA,KAAA,GAAQA,KAAA,EAAOyB,IAAA,GAAOZ,CAAA,GAAIjB,SAAA,GAAY,IAAIA,SAAA,GAAY,GAAG,KAAKD,IAAA,EAAM;IAUvH;;AAGN","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","React","useId","useMemo","FieldLabel","PlusIcon","XIcon","useEditDepth","useTableColumns","DraggableSortable","Pill","baseClass","ColumnSelector","collectionSlug","columns","moveColumn","toggleColumn","uuid","editDepth","filteredColumns","filter","col","field","admin","disableListColumn","_jsx","className","ids","map","accessor","onDragEnd","moveFromIndex","moveToIndex","fromIndex","toIndex","i","active","label","labelWithPrefix","undefined","name","alignIcon","Boolean","join","draggable","icon","id","onClick","CustomLabel","unstyled"],"sources":["../../../src/elements/ColumnSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, StaticLabel } from 'payload'\n\nimport { fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\nimport React, { useId, useMemo } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTableColumns } from '../../providers/TableColumns/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'column-selector'\n\nexport type Props = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n}\n\nexport const ColumnSelector: React.FC<Props> = ({ collectionSlug }) => {\n const { columns, moveColumn, toggleColumn } = useTableColumns()\n\n const uuid = useId()\n const editDepth = useEditDepth()\n\n const filteredColumns = useMemo(\n () =>\n columns.filter(\n (col) =>\n !(fieldIsHiddenOrDisabled(col.field) && !fieldIsID(col.field)) &&\n !col?.field?.admin?.disableListColumn,\n ),\n [columns],\n )\n\n if (!columns) {\n return null\n }\n\n return (\n <DraggableSortable\n className={baseClass}\n ids={filteredColumns.map((col) => col?.accessor)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n void moveColumn({\n fromIndex: moveFromIndex,\n toIndex: moveToIndex,\n })\n }}\n >\n {filteredColumns.map((col, i) => {\n const { accessor, active, field } = col\n\n const label =\n 'labelWithPrefix' in field && field.labelWithPrefix !== undefined\n ? field.labelWithPrefix\n : 'label' in field && field.label !== undefined\n ? field.label\n : 'name' in field && field.name !== undefined\n ? field.name\n : undefined\n\n return (\n <Pill\n alignIcon=\"left\"\n aria-checked={active}\n className={[`${baseClass}__column`, active && `${baseClass}__column--active`]\n .filter(Boolean)\n .join(' ')}\n draggable\n icon={active ? <XIcon /> : <PlusIcon />}\n id={accessor}\n key={`${collectionSlug}-${accessor}-${i}${editDepth ? `-${editDepth}-` : ''}${uuid}`}\n onClick={() => {\n void toggleColumn(accessor)\n }}\n >\n {col.CustomLabel ?? <FieldLabel label={label as StaticLabel} unstyled />}\n </Pill>\n )\n })}\n </DraggableSortable>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ;AACnD,OAAOC,KAAA,IAASC,KAAK,EAAEC,OAAO,QAAQ;AAEtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,KAAK,QAAQ;AACtB,SAASC,YAAY,QAAQ;AAC7B,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,cAAA,GAAkCA,CAAC;EAAEC;AAAc,CAAE;EAChE,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC;EAAY,CAAE,GAAGR,eAAA;EAE9C,MAAMS,IAAA,GAAOf,KAAA;EACb,MAAMgB,SAAA,GAAYX,YAAA;EAElB,MAAMY,eAAA,GAAkBhB,OAAA,CACtB,MACEW,OAAA,CAAQM,MAAM,CACXC,GAAA,IACC,EAAEtB,uBAAA,CAAwBsB,GAAA,CAAIC,KAAK,KAAK,CAACtB,SAAA,CAAUqB,GAAA,CAAIC,KAAK,MAC5D,CAACD,GAAA,EAAKC,KAAA,EAAOC,KAAA,EAAOC,iBAAA,GAE1B,CAACV,OAAA,CAAQ;EAGX,IAAI,CAACA,OAAA,EAAS;IACZ,OAAO;EACT;EAEA,oBACEW,IAAA,CAAChB,iBAAA;IACCiB,SAAA,EAAWf,SAAA;IACXgB,GAAA,EAAKR,eAAA,CAAgBS,GAAG,CAAEP,KAAA,IAAQA,KAAA,EAAKQ,QAAA;IACvCC,SAAA,EAAWA,CAAC;MAAEC,aAAa;MAAEC;IAAW,CAAE;MACxC,KAAKjB,UAAA,CAAW;QACdkB,SAAA,EAAWF,aAAA;QACXG,OAAA,EAASF;MACX;IACF;cAECb,eAAA,CAAgBS,GAAG,CAAC,CAACP,KAAA,EAAKc,CAAA;MACzB,MAAM;QAAEN,QAAQ;QAAEO,MAAM;QAAEd;MAAK,CAAE,GAAGD,KAAA;MAEpC,MAAMgB,KAAA,GACJ,qBAAqBf,KAAA,IAASA,KAAA,CAAMgB,eAAe,KAAKC,SAAA,GACpDjB,KAAA,CAAMgB,eAAe,GACrB,WAAWhB,KAAA,IAASA,KAAA,CAAMe,KAAK,KAAKE,SAAA,GAClCjB,KAAA,CAAMe,KAAK,GACX,UAAUf,KAAA,IAASA,KAAA,CAAMkB,IAAI,KAAKD,SAAA,GAChCjB,KAAA,CAAMkB,IAAI,GACVD,SAAA;MAEV,oBACEd,IAAA,CAACf,IAAA;QACC+B,SAAA,EAAU;QACV,gBAAcL,MAAA;QACdV,SAAA,EAAW,CAAC,GAAGf,SAAA,UAAmB,EAAEyB,MAAA,IAAU,GAAGzB,SAAA,kBAA2B,CAAC,CAC1ES,MAAM,CAACsB,OAAA,EACPC,IAAI,CAAC;QACRC,SAAS;QACTC,IAAA,EAAMT,MAAA,gBAASX,IAAA,CAACnB,KAAA,qBAAWmB,IAAA,CAACpB,QAAA;QAC5ByC,EAAA,EAAIjB,QAAA;QAEJkB,OAAA,EAASA,CAAA;UACP,KAAK/B,YAAA,CAAaa,QAAA;QACpB;kBAECR,KAAA,CAAI2B,WAAW,iBAAIvB,IAAA,CAACrB,UAAA;UAAWiC,KAAA,EAAOA,KAAA;UAAsBY,QAAQ;;SALhE,GAAGpC,cAAA,IAAkBgB,QAAA,IAAYM,CAAA,GAAIjB,SAAA,GAAY,IAAIA,SAAA,GAAY,GAAG,KAAKD,IAAA,EAAM;IAQ1F;;AAGN","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import type { I18nClient } from '@payloadcms/translations';
1
2
  import type { ClientField } from 'payload';
2
- export declare const getTextFieldsToBeSearched: (listSearchableFields: string[], fields: ClientField[]) => ClientField[];
3
+ export declare const getTextFieldsToBeSearched: (listSearchableFields: string[], fields: ClientField[], i18n: I18nClient) => ClientField[];
3
4
  //# sourceMappingURL=getTextFieldsToBeSearched.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTextFieldsToBeSearched.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/getTextFieldsToBeSearched.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,eAAO,MAAM,yBAAyB,yBACd,MAAM,EAAE,UACtB,WAAW,EAAE,KACpB,WAAW,EAUb,CAAA"}
1
+ {"version":3,"file":"getTextFieldsToBeSearched.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/getTextFieldsToBeSearched.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,eAAO,MAAM,yBAAyB,yBACd,MAAM,EAAE,UACtB,WAAW,EAAE,QACf,UAAU,KACf,WAAW,EAab,CAAA"}
@@ -1,9 +1,12 @@
1
1
  'use client';
2
2
 
3
3
  import { fieldAffectsData, flattenTopLevelFields } from 'payload/shared';
4
- export const getTextFieldsToBeSearched = (listSearchableFields, fields) => {
4
+ export const getTextFieldsToBeSearched = (listSearchableFields, fields, i18n) => {
5
5
  if (listSearchableFields) {
6
- const flattenedFields = flattenTopLevelFields(fields);
6
+ const flattenedFields = flattenTopLevelFields(fields, {
7
+ i18n,
8
+ moveSubFieldsToTop: true
9
+ });
7
10
  return flattenedFields.filter(field => fieldAffectsData(field) && listSearchableFields.includes(field.name));
8
11
  }
9
12
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"getTextFieldsToBeSearched.js","names":["fieldAffectsData","flattenTopLevelFields","getTextFieldsToBeSearched","listSearchableFields","fields","flattenedFields","filter","field","includes","name"],"sources":["../../../src/elements/ListControls/getTextFieldsToBeSearched.ts"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\n\nexport const getTextFieldsToBeSearched = (\n listSearchableFields: string[],\n fields: ClientField[],\n): ClientField[] => {\n if (listSearchableFields) {\n const flattenedFields = flattenTopLevelFields(fields) as ClientField[]\n\n return flattenedFields.filter(\n (field) => fieldAffectsData(field) && listSearchableFields.includes(field.name),\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAGA,SAASA,gBAAgB,EAAEC,qBAAqB,QAAQ;AAExD,OAAO,MAAMC,yBAAA,GAA4BA,CACvCC,oBAAA,EACAC,MAAA;EAEA,IAAID,oBAAA,EAAsB;IACxB,MAAME,eAAA,GAAkBJ,qBAAA,CAAsBG,MAAA;IAE9C,OAAOC,eAAA,CAAgBC,MAAM,CAC1BC,KAAA,IAAUP,gBAAA,CAAiBO,KAAA,KAAUJ,oBAAA,CAAqBK,QAAQ,CAACD,KAAA,CAAME,IAAI;EAElF;EAEA,OAAO;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getTextFieldsToBeSearched.js","names":["fieldAffectsData","flattenTopLevelFields","getTextFieldsToBeSearched","listSearchableFields","fields","i18n","flattenedFields","moveSubFieldsToTop","filter","field","includes","name"],"sources":["../../../src/elements/ListControls/getTextFieldsToBeSearched.ts"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\n\nexport const getTextFieldsToBeSearched = (\n listSearchableFields: string[],\n fields: ClientField[],\n i18n: I18nClient,\n): ClientField[] => {\n if (listSearchableFields) {\n const flattenedFields = flattenTopLevelFields(fields, {\n i18n,\n moveSubFieldsToTop: true,\n }) as ClientField[]\n\n return flattenedFields.filter(\n (field) => fieldAffectsData(field) && listSearchableFields.includes(field.name),\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAIA,SAASA,gBAAgB,EAAEC,qBAAqB,QAAQ;AAExD,OAAO,MAAMC,yBAAA,GAA4BA,CACvCC,oBAAA,EACAC,MAAA,EACAC,IAAA;EAEA,IAAIF,oBAAA,EAAsB;IACxB,MAAMG,eAAA,GAAkBL,qBAAA,CAAsBG,MAAA,EAAQ;MACpDC,IAAA;MACAE,kBAAA,EAAoB;IACtB;IAEA,OAAOD,eAAA,CAAgBE,MAAM,CAC1BC,KAAA,IAAUT,gBAAA,CAAiBS,KAAA,KAAUN,oBAAA,CAAqBO,QAAQ,CAACD,KAAA,CAAME,IAAI;EAElF;EAEA,OAAO;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAiBnD,OAAO,cAAc,CAAA;AAIrB;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwOpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAiBnD,OAAO,cAAc,CAAA;AAIrB;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyOpD,CAAA"}
@@ -70,7 +70,7 @@ export const ListControls = props => {
70
70
  }
71
71
  } = useWindowInfo();
72
72
  const searchLabel = (titleField && getTranslation('label' in titleField && (typeof titleField.label === 'string' || typeof titleField.label === 'object') ? titleField.label : 'name' in titleField ? titleField.name : null, i18n)) ?? 'ID';
73
- const listSearchableFields = getTextFieldsToBeSearched(collectionConfig.admin.listSearchableFields, collectionConfig.fields);
73
+ const listSearchableFields = getTextFieldsToBeSearched(collectionConfig.admin.listSearchableFields, collectionConfig.fields, i18n);
74
74
  const searchLabelTranslated = useRef(t('general:searchBy', {
75
75
  label: getTranslation(searchLabel, i18n)
76
76
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","validateWhereQuery","React","Fragment","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","ActiveQueryPreset","getTextFieldsToBeSearched","useQueryPresets","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","enableSort","listMenuItems","listMenuItemsFromProps","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","handleSearchChange","query","CreateNewPresetDrawer","DeletePresetModal","EditPresetDrawer","hasModifiedPreset","openPresetListDrawer","PresetListDrawer","queryPresetMenuItems","resetPreset","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","enableQueryPresets","_jsx","Divider","_jsxs","className","fieldName","handleChange","search","initialParams","icon","direction","onClick","pillStyle","Array","isArray","button","ariaLabel","horizontalAlign","id","size","verticalAlign","ButtonGroup","map","item","height","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateWhereQuery } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { ActiveQueryPreset } from './ActiveQueryPreset/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport { useQueryPresets } from './useQueryPresets.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableSort = false,\n listMenuItems: listMenuItemsFromProps,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n\n const {\n CreateNewPresetDrawer,\n DeletePresetModal,\n EditPresetDrawer,\n hasModifiedPreset,\n openPresetListDrawer,\n PresetListDrawer,\n queryPresetMenuItems,\n resetPreset,\n } = useQueryPresets({\n activePreset,\n collectionSlug,\n queryPresetPermissions,\n })\n\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n let listMenuItems: React.ReactNode[] = listMenuItemsFromProps\n\n if (\n collectionConfig?.enableQueryPresets &&\n !disableQueryPresets &&\n queryPresetMenuItems?.length > 0\n ) {\n // Cannot push or unshift into `listMenuItemsFromProps` as it will mutate the original array\n listMenuItems = [\n ...queryPresetMenuItems,\n listMenuItemsFromProps?.length > 0 ? <PopupList.Divider key=\"divider\" /> : null,\n ...(listMenuItemsFromProps || []),\n ]\n }\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n label={searchLabelTranslated.current}\n />\n {activePreset && hasModifiedPreset ? (\n <div className={`${baseClass}__modified`}>Modified</div>\n ) : null}\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {!disableQueryPresets && (\n <ActiveQueryPreset\n activePreset={activePreset}\n openPresetListDrawer={openPresetListDrawer}\n resetPreset={resetPreset}\n />\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n </div>\n {PresetListDrawer}\n {EditPresetDrawer}\n {CreateNewPresetDrawer}\n {DeletePresetModal}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","validateWhereQuery","React","Fragment","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","ActiveQueryPreset","getTextFieldsToBeSearched","useQueryPresets","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","enableSort","listMenuItems","listMenuItemsFromProps","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","handleSearchChange","query","CreateNewPresetDrawer","DeletePresetModal","EditPresetDrawer","hasModifiedPreset","openPresetListDrawer","PresetListDrawer","queryPresetMenuItems","resetPreset","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","enableQueryPresets","_jsx","Divider","_jsxs","className","fieldName","handleChange","search","initialParams","icon","direction","onClick","pillStyle","Array","isArray","button","ariaLabel","horizontalAlign","id","size","verticalAlign","ButtonGroup","map","item","height","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateWhereQuery } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { ActiveQueryPreset } from './ActiveQueryPreset/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport { useQueryPresets } from './useQueryPresets.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableSort = false,\n listMenuItems: listMenuItemsFromProps,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n\n const {\n CreateNewPresetDrawer,\n DeletePresetModal,\n EditPresetDrawer,\n hasModifiedPreset,\n openPresetListDrawer,\n PresetListDrawer,\n queryPresetMenuItems,\n resetPreset,\n } = useQueryPresets({\n activePreset,\n collectionSlug,\n queryPresetPermissions,\n })\n\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n i18n,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n let listMenuItems: React.ReactNode[] = listMenuItemsFromProps\n\n if (\n collectionConfig?.enableQueryPresets &&\n !disableQueryPresets &&\n queryPresetMenuItems?.length > 0\n ) {\n // Cannot push or unshift into `listMenuItemsFromProps` as it will mutate the original array\n listMenuItems = [\n ...queryPresetMenuItems,\n listMenuItemsFromProps?.length > 0 ? <PopupList.Divider key=\"divider\" /> : null,\n ...(listMenuItemsFromProps || []),\n ]\n }\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n label={searchLabelTranslated.current}\n />\n {activePreset && hasModifiedPreset ? (\n <div className={`${baseClass}__modified`}>Modified</div>\n ) : null}\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {!disableQueryPresets && (\n <ActiveQueryPreset\n activePreset={activePreset}\n openPresetListDrawer={openPresetListDrawer}\n resetPreset={resetPreset}\n />\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n </div>\n {PresetListDrawer}\n {EditPresetDrawer}\n {CreateNewPresetDrawer}\n {DeletePresetModal}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -25,7 +25,7 @@
25
25
  &__buttons {
26
26
  display: flex;
27
27
  align-items: center;
28
- gap: calc(var(--base) / 4);
28
+ gap: 0;
29
29
  }
30
30
 
31
31
  &__button {