{"version":3,"sources":["../../../src/bin/generateImportMap/iterateCollections.ts"],"sourcesContent":["import type { AdminViewConfig } from '../../admin/views/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { SanitizedConfig } from '../../config/types.js'\nimport type { AddToImportMap, Imports, InternalImportMap } from './index.js'\n\nimport { genImportMapIterateFields } from './iterateFields.js'\n\nexport function iterateCollections({\n  addToImportMap,\n  baseDir,\n  collections,\n  config,\n  importMap,\n  imports,\n}: {\n  addToImportMap: AddToImportMap\n  baseDir: string\n  collections: SanitizedCollectionConfig[]\n  config: SanitizedConfig\n  importMap: InternalImportMap\n  imports: Imports\n}) {\n  for (const collection of collections) {\n    genImportMapIterateFields({\n      addToImportMap,\n      baseDir,\n      config,\n      fields: collection.fields,\n      importMap,\n      imports,\n    })\n\n    addToImportMap(collection.admin?.components?.afterList)\n    addToImportMap(collection.admin?.components?.listMenuItems)\n    addToImportMap(collection.admin?.components?.afterListTable)\n    addToImportMap(collection.admin?.components?.beforeList)\n    addToImportMap(collection.admin?.components?.beforeListTable)\n    addToImportMap(collection.admin?.components?.Description)\n\n    addToImportMap(collection.admin?.components?.edit?.beforeDocumentControls)\n    addToImportMap(collection.admin?.components?.edit?.editMenuItems)\n    addToImportMap(collection.admin?.components?.edit?.PreviewButton)\n    addToImportMap(collection.admin?.components?.edit?.PublishButton)\n    addToImportMap(collection.admin?.components?.edit?.SaveButton)\n    addToImportMap(collection.admin?.components?.edit?.SaveDraftButton)\n    addToImportMap(collection.admin?.components?.edit?.Status)\n    addToImportMap(collection.admin?.components?.edit?.UnpublishButton)\n    addToImportMap(collection.admin?.components?.edit?.Upload)\n\n    if (collection.upload?.admin?.components?.controls) {\n      addToImportMap(collection.upload?.admin?.components?.controls)\n    }\n\n    if (collection.admin?.components?.views?.edit) {\n      for (const editViewConfig of Object.values(collection.admin?.components?.views?.edit)) {\n        if ('Component' in editViewConfig) {\n          addToImportMap(editViewConfig?.Component)\n        }\n\n        if ('actions' in editViewConfig) {\n          addToImportMap(editViewConfig?.actions)\n        }\n\n        if ('tab' in editViewConfig) {\n          addToImportMap(editViewConfig?.tab?.Component)\n          addToImportMap(editViewConfig?.tab?.Pill)\n        }\n      }\n    }\n\n    addToImportMap(collection.admin?.components?.views?.list?.Component)\n    addToImportMap(collection.admin?.components?.views?.list?.actions)\n\n    // Register custom collection view components (any key other than 'edit' and 'list')\n    if (collection.admin?.components?.views) {\n      for (const [key, view] of Object.entries(collection.admin.components.views)) {\n        if (key === 'edit' || key === 'list') {\n          continue\n        }\n        if (view && typeof view === 'object' && 'Component' in view && 'path' in view) {\n          addToImportMap((view as AdminViewConfig).Component)\n        }\n      }\n    }\n  }\n}\n"],"names":["genImportMapIterateFields","iterateCollections","addToImportMap","baseDir","collections","config","importMap","imports","collection","fields","admin","components","afterList","listMenuItems","afterListTable","beforeList","beforeListTable","Description","edit","beforeDocumentControls","editMenuItems","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","upload","controls","views","editViewConfig","Object","values","Component","actions","tab","Pill","list","key","view","entries"],"mappings":"AAKA,SAASA,yBAAyB,QAAQ,qBAAoB;AAE9D,OAAO,SAASC,mBAAmB,EACjCC,cAAc,EACdC,OAAO,EACPC,WAAW,EACXC,MAAM,EACNC,SAAS,EACTC,OAAO,EAQR;IACC,KAAK,MAAMC,cAAcJ,YAAa;QACpCJ,0BAA0B;YACxBE;YACAC;YACAE;YACAI,QAAQD,WAAWC,MAAM;YACzBH;YACAC;QACF;QAEAL,eAAeM,WAAWE,KAAK,EAAEC,YAAYC;QAC7CV,eAAeM,WAAWE,KAAK,EAAEC,YAAYE;QAC7CX,eAAeM,WAAWE,KAAK,EAAEC,YAAYG;QAC7CZ,eAAeM,WAAWE,KAAK,EAAEC,YAAYI;QAC7Cb,eAAeM,WAAWE,KAAK,EAAEC,YAAYK;QAC7Cd,eAAeM,WAAWE,KAAK,EAAEC,YAAYM;QAE7Cf,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMC;QACnDjB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAME;QACnDlB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMG;QACnDnB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMI;QACnDpB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMK;QACnDrB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMM;QACnDtB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMO;QACnDvB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMQ;QACnDxB,eAAeM,WAAWE,KAAK,EAAEC,YAAYO,MAAMS;QAEnD,IAAInB,WAAWoB,MAAM,EAAElB,OAAOC,YAAYkB,UAAU;YAClD3B,eAAeM,WAAWoB,MAAM,EAAElB,OAAOC,YAAYkB;QACvD;QAEA,IAAIrB,WAAWE,KAAK,EAAEC,YAAYmB,OAAOZ,MAAM;YAC7C,KAAK,MAAMa,kBAAkBC,OAAOC,MAAM,CAACzB,WAAWE,KAAK,EAAEC,YAAYmB,OAAOZ,MAAO;gBACrF,IAAI,eAAea,gBAAgB;oBACjC7B,eAAe6B,gBAAgBG;gBACjC;gBAEA,IAAI,aAAaH,gBAAgB;oBAC/B7B,eAAe6B,gBAAgBI;gBACjC;gBAEA,IAAI,SAASJ,gBAAgB;oBAC3B7B,eAAe6B,gBAAgBK,KAAKF;oBACpChC,eAAe6B,gBAAgBK,KAAKC;gBACtC;YACF;QACF;QAEAnC,eAAeM,WAAWE,KAAK,EAAEC,YAAYmB,OAAOQ,MAAMJ;QAC1DhC,eAAeM,WAAWE,KAAK,EAAEC,YAAYmB,OAAOQ,MAAMH;QAE1D,oFAAoF;QACpF,IAAI3B,WAAWE,KAAK,EAAEC,YAAYmB,OAAO;YACvC,KAAK,MAAM,CAACS,KAAKC,KAAK,IAAIR,OAAOS,OAAO,CAACjC,WAAWE,KAAK,CAACC,UAAU,CAACmB,KAAK,EAAG;gBAC3E,IAAIS,QAAQ,UAAUA,QAAQ,QAAQ;oBACpC;gBACF;gBACA,IAAIC,QAAQ,OAAOA,SAAS,YAAY,eAAeA,QAAQ,UAAUA,MAAM;oBAC7EtC,eAAe,AAACsC,KAAyBN,SAAS;gBACpD;YACF;QACF;IACF;AACF"}