@payloadcms/next 3.0.0-beta.96 → 3.0.0-beta.98

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 (142) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +4 -4
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/index.js +3 -3
  6. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +2 -2
  10. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  11. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentHeader/index.js.map +1 -1
  13. package/dist/elements/EmailAndUsername/index.d.ts +1 -1
  14. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  15. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  16. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  17. package/dist/elements/Logo/index.js +1 -1
  18. package/dist/elements/Logo/index.js.map +1 -1
  19. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  20. package/dist/elements/Nav/index.client.js.map +1 -1
  21. package/dist/elements/Nav/index.d.ts.map +1 -1
  22. package/dist/elements/Nav/index.js +1 -1
  23. package/dist/elements/Nav/index.js.map +1 -1
  24. package/dist/exports/layouts.d.ts +1 -1
  25. package/dist/exports/layouts.d.ts.map +1 -1
  26. package/dist/exports/layouts.js +1 -1
  27. package/dist/exports/layouts.js.map +1 -1
  28. package/dist/exports/views.d.ts +1 -1
  29. package/dist/exports/views.d.ts.map +1 -1
  30. package/dist/exports/views.js +1 -1
  31. package/dist/exports/views.js.map +1 -1
  32. package/dist/fetchAPI-multipart/processMultipart.js +0 -1
  33. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  34. package/dist/fetchAPI-multipart/processNested.js +2 -2
  35. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  36. package/dist/layouts/Root/index.js +2 -2
  37. package/dist/layouts/Root/index.js.map +1 -1
  38. package/dist/prod/styles.css +1 -1
  39. package/dist/routes/rest/files/checkFileAccess.js +1 -1
  40. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  41. package/dist/routes/rest/og/image.d.ts +1 -1
  42. package/dist/routes/rest/og/image.d.ts.map +1 -1
  43. package/dist/routes/rest/og/image.js +7 -7
  44. package/dist/routes/rest/og/image.js.map +1 -1
  45. package/dist/routes/rest/og/index.js +2 -2
  46. package/dist/routes/rest/og/index.js.map +1 -1
  47. package/dist/templates/Default/index.d.ts.map +1 -1
  48. package/dist/templates/Default/index.js +1 -1
  49. package/dist/templates/Default/index.js.map +1 -1
  50. package/dist/templates/Default/index.scss +1 -1
  51. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  52. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  53. package/dist/utilities/getPayloadHMR.js.map +1 -1
  54. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  55. package/dist/utilities/getRequestTheme.js.map +1 -1
  56. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  57. package/dist/utilities/headersWithCors.js.map +1 -1
  58. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  59. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  60. package/dist/views/API/RenderJSON/index.js.map +1 -1
  61. package/dist/views/API/index.client.d.ts.map +1 -1
  62. package/dist/views/API/index.client.js.map +1 -1
  63. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  64. package/dist/views/Account/Settings/index.js.map +1 -1
  65. package/dist/views/Account/index.js +1 -1
  66. package/dist/views/Account/index.js.map +1 -1
  67. package/dist/views/CreateFirstUser/index.client.d.ts +1 -1
  68. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  69. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  70. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  71. package/dist/views/CreateFirstUser/index.js.map +1 -1
  72. package/dist/views/Dashboard/Default/index.js +4 -4
  73. package/dist/views/Dashboard/Default/index.js.map +1 -1
  74. package/dist/views/Dashboard/index.js +2 -2
  75. package/dist/views/Dashboard/index.js.map +1 -1
  76. package/dist/views/Document/getMetaBySegment.d.ts +2 -2
  77. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  78. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  79. package/dist/views/Document/index.js +1 -1
  80. package/dist/views/Document/index.js.map +1 -1
  81. package/dist/views/Edit/Default/Auth/APIKey.js +3 -3
  82. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  83. package/dist/views/Edit/Default/Auth/types.d.ts +1 -1
  84. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  85. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  86. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  87. package/dist/views/Edit/Default/index.js +3 -3
  88. package/dist/views/Edit/Default/index.js.map +1 -1
  89. package/dist/views/ForgotPassword/index.js +1 -1
  90. package/dist/views/ForgotPassword/index.js.map +1 -1
  91. package/dist/views/List/Default/index.js +12 -12
  92. package/dist/views/List/Default/index.js.map +1 -1
  93. package/dist/views/List/index.js +3 -3
  94. package/dist/views/List/index.js.map +1 -1
  95. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  96. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  97. package/dist/views/LivePreview/Context/context.js.map +1 -1
  98. package/dist/views/LivePreview/Toolbar/Controls/index.js +1 -1
  99. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  100. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  101. package/dist/views/LivePreview/index.client.js +2 -2
  102. package/dist/views/LivePreview/index.client.js.map +1 -1
  103. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  104. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  105. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  106. package/dist/views/Login/index.d.ts.map +1 -1
  107. package/dist/views/Login/index.js +1 -1
  108. package/dist/views/Login/index.js.map +1 -1
  109. package/dist/views/Logout/LogoutClient.js +1 -1
  110. package/dist/views/Logout/LogoutClient.js.map +1 -1
  111. package/dist/views/Logout/index.d.ts.map +1 -1
  112. package/dist/views/Logout/index.js.map +1 -1
  113. package/dist/views/NotFound/index.client.js +1 -1
  114. package/dist/views/NotFound/index.client.js.map +1 -1
  115. package/dist/views/NotFound/index.d.ts.map +1 -1
  116. package/dist/views/NotFound/index.js.map +1 -1
  117. package/dist/views/ResetPassword/index.js +1 -1
  118. package/dist/views/ResetPassword/index.js.map +1 -1
  119. package/dist/views/Root/getViewFromConfig.js +2 -2
  120. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  121. package/dist/views/Root/index.js +1 -1
  122. package/dist/views/Root/index.js.map +1 -1
  123. package/dist/views/Unauthorized/index.js +1 -1
  124. package/dist/views/Unauthorized/index.js.map +1 -1
  125. package/dist/views/Verify/index.js +0 -1
  126. package/dist/views/Verify/index.js.map +1 -1
  127. package/dist/views/Version/Default/index.d.ts.map +1 -1
  128. package/dist/views/Version/Default/index.js.map +1 -1
  129. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +1 -1
  130. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  131. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
  132. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  133. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  134. package/dist/views/Version/RenderFieldsToDiff/index.js +1 -1
  135. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  136. package/dist/views/Version/SelectComparison/index.js +1 -1
  137. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  138. package/dist/views/Versions/buildColumns.js +8 -8
  139. package/dist/views/Versions/buildColumns.js.map +1 -1
  140. package/dist/views/Versions/index.client.d.ts.map +1 -1
  141. package/dist/views/Versions/index.client.js.map +1 -1
  142. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGlE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAChC;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;CAAE,GAAG,iBAAiB,GAAG,gBAAgB,CAqF9E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGlE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAChC;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;CAAE,GAAG,iBAAiB,GAAG,gBAAgB,CAqF9E,CAAA"}
@@ -1,12 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared';
2
+ import { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared';
3
3
  import React, { Fragment } from 'react';
4
4
  import { DocumentTabLink } from './TabLink.js';
5
5
  export const baseClass = 'doc-tab';
6
6
  export const DocumentTab = props => {
7
7
  const {
8
- Pill,
9
- Pill_Component,
10
8
  apiURL,
11
9
  collectionConfig,
12
10
  condition,
@@ -17,7 +15,9 @@ export const DocumentTab = props => {
17
15
  label,
18
16
  newTab,
19
17
  payload,
20
- permissions
18
+ permissions,
19
+ Pill,
20
+ Pill_Component
21
21
  } = props;
22
22
  const {
23
23
  config
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderComponent","getCreateMappedComponent","React","Fragment","DocumentTabLink","baseClass","DocumentTab","props","Pill","Pill_Component","apiURL","collectionConfig","condition","globalConfig","href","tabHref","i18n","isActive","tabIsActive","label","newTab","payload","permissions","config","routes","collection","global","meetsCondition","Boolean","labelToRender","t","createMappedComponent","importMap","serverProps","mappedPin","undefined","_jsx","adminRoute","admin","ariaLabel","isCollection","_jsxs","className","mappedComponent"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabProps } from 'payload'\n\nimport { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport { DocumentTabLink } from './TabLink.js'\nimport './index.scss'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<\n { readonly Pill_Component?: React.FC } & DocumentTabConfig & DocumentTabProps\n> = (props) => {\n const {\n Pill,\n Pill_Component,\n apiURL,\n collectionConfig,\n condition,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n payload,\n permissions,\n } = props\n const { config } = payload\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition ||\n (condition && Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n const labelToRender =\n typeof label === 'function'\n ? label({\n t: i18n.t,\n })\n : label\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n payload,\n permissions,\n },\n })\n\n const mappedPin = createMappedComponent(Pill, undefined, Pill_Component, 'Pill')\n\n return (\n <DocumentTabLink\n adminRoute={routes.admin}\n ariaLabel={labelToRender}\n baseClass={baseClass}\n href={href}\n isActive={isActive}\n isCollection={!!collectionConfig && !globalConfig}\n newTab={newTab}\n >\n <span className={`${baseClass}__label`}>\n {labelToRender}\n {mappedPin && (\n <Fragment>\n &nbsp;\n <RenderComponent mappedComponent={mappedPin} />\n </Fragment>\n )}\n </span>\n </DocumentTabLink>\n )\n }\n\n return null\n}\n"],"mappings":";AAEA,SAASA,eAAe,EAAEC,wBAAwB,QAAQ;AAC1D,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,QAAQ;AAGhC,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,MAAMC,WAAA,GAERC,KAAA;EACH,MAAM;IACJC,IAAI;IACJC,cAAc;IACdC,MAAM;IACNC,gBAAgB;IAChBC,SAAS;IACTC,YAAY;IACZC,IAAA,EAAMC,OAAO;IACbC,IAAI;IACJC,QAAA,EAAUC,WAAW;IACrBC,KAAK;IACLC,MAAM;IACNC,OAAO;IACPC;EAAW,CACZ,GAAGf,KAAA;EACJ,MAAM;IAAEgB;EAAM,CAAE,GAAGF,OAAA;EACnB,MAAM;IAAEG;EAAM,CAAE,GAAGD,MAAA;EAEnB,IAAIT,IAAA,GAAO,OAAOC,OAAA,KAAY,WAAWA,OAAA,GAAU;EACnD,IAAIE,QAAA,GAAW,OAAOC,WAAA,KAAgB,YAAYA,WAAA,GAAc;EAEhE,IAAI,OAAOH,OAAA,KAAY,YAAY;IACjCD,IAAA,GAAOC,OAAA,CAAQ;MACbL,MAAA;MACAe,UAAA,EAAYd,gBAAA;MACZe,MAAA,EAAQb,YAAA;MACRW;IACF;EACF;EAEA,IAAI,OAAON,WAAA,KAAgB,YAAY;IACrCD,QAAA,GAAWC,WAAA,CAAY;MACrBJ;IACF;EACF;EAEA,MAAMa,cAAA,GACJ,CAACf,SAAA,IACAA,SAAA,IAAagB,OAAA,CAAQhB,SAAA,CAAU;IAAED,gBAAA;IAAkBY,MAAA;IAAQV,YAAA;IAAcS;EAAY;EAExF,IAAIK,cAAA,EAAgB;IAClB,MAAME,aAAA,GACJ,OAAOV,KAAA,KAAU,aACbA,KAAA,CAAM;MACJW,CAAA,EAAGd,IAAA,CAAKc;IACV,KACAX,KAAA;IAEN,MAAMY,qBAAA,GAAwB9B,wBAAA,CAAyB;MACrD+B,SAAA,EAAWX,OAAA,CAAQW,SAAS;MAC5BC,WAAA,EAAa;QACXjB,IAAA;QACAK,OAAA;QACAC;MACF;IACF;IAEA,MAAMY,SAAA,GAAYH,qBAAA,CAAsBvB,IAAA,EAAM2B,SAAA,EAAW1B,cAAA,EAAgB;IAEzE,oBACE2B,IAAA,CAAChC,eAAA;MACCiC,UAAA,EAAYb,MAAA,CAAOc,KAAK;MACxBC,SAAA,EAAWV,aAAA;MACXxB,SAAA,EAAWA,SAAA;MACXS,IAAA,EAAMA,IAAA;MACNG,QAAA,EAAUA,QAAA;MACVuB,YAAA,EAAc,CAAC,CAAC7B,gBAAA,IAAoB,CAACE,YAAA;MACrCO,MAAA,EAAQA,MAAA;gBAER,aAAAqB,KAAA,CAAC;QAAKC,SAAA,EAAW,GAAGrC,SAAA,SAAkB;mBACnCwB,aAAA,EACAK,SAAA,iBACCO,KAAA,CAACtC,QAAA;qBAAS,K,aAERiC,IAAA,CAACpC,eAAA;YAAgB2C,eAAA,EAAiBT;;;;;EAM9C;EAEA,OAAO;AACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getCreateMappedComponent","RenderComponent","React","Fragment","DocumentTabLink","baseClass","DocumentTab","props","apiURL","collectionConfig","condition","globalConfig","href","tabHref","i18n","isActive","tabIsActive","label","newTab","payload","permissions","Pill","Pill_Component","config","routes","collection","global","meetsCondition","Boolean","labelToRender","t","createMappedComponent","importMap","serverProps","mappedPin","undefined","_jsx","adminRoute","admin","ariaLabel","isCollection","_jsxs","className","mappedComponent"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/index.tsx"],"sourcesContent":["import type { DocumentTabConfig, DocumentTabProps } from 'payload'\n\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\nimport { DocumentTabLink } from './TabLink.js'\n\nexport const baseClass = 'doc-tab'\n\nexport const DocumentTab: React.FC<\n { readonly Pill_Component?: React.FC } & DocumentTabConfig & DocumentTabProps\n> = (props) => {\n const {\n apiURL,\n collectionConfig,\n condition,\n globalConfig,\n href: tabHref,\n i18n,\n isActive: tabIsActive,\n label,\n newTab,\n payload,\n permissions,\n Pill,\n Pill_Component,\n } = props\n const { config } = payload\n const { routes } = config\n\n let href = typeof tabHref === 'string' ? tabHref : ''\n let isActive = typeof tabIsActive === 'boolean' ? tabIsActive : false\n\n if (typeof tabHref === 'function') {\n href = tabHref({\n apiURL,\n collection: collectionConfig,\n global: globalConfig,\n routes,\n })\n }\n\n if (typeof tabIsActive === 'function') {\n isActive = tabIsActive({\n href,\n })\n }\n\n const meetsCondition =\n !condition ||\n (condition && Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n const labelToRender =\n typeof label === 'function'\n ? label({\n t: i18n.t,\n })\n : label\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n payload,\n permissions,\n },\n })\n\n const mappedPin = createMappedComponent(Pill, undefined, Pill_Component, 'Pill')\n\n return (\n <DocumentTabLink\n adminRoute={routes.admin}\n ariaLabel={labelToRender}\n baseClass={baseClass}\n href={href}\n isActive={isActive}\n isCollection={!!collectionConfig && !globalConfig}\n newTab={newTab}\n >\n <span className={`${baseClass}__label`}>\n {labelToRender}\n {mappedPin && (\n <Fragment>\n &nbsp;\n <RenderComponent mappedComponent={mappedPin} />\n </Fragment>\n )}\n </span>\n </DocumentTabLink>\n )\n }\n\n return null\n}\n"],"mappings":";AAEA,SAASA,wBAAwB,EAAEC,eAAe,QAAQ;AAC1D,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAGhC,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,MAAMC,WAAA,GAERC,KAAA;EACH,MAAM;IACJC,MAAM;IACNC,gBAAgB;IAChBC,SAAS;IACTC,YAAY;IACZC,IAAA,EAAMC,OAAO;IACbC,IAAI;IACJC,QAAA,EAAUC,WAAW;IACrBC,KAAK;IACLC,MAAM;IACNC,OAAO;IACPC,WAAW;IACXC,IAAI;IACJC;EAAc,CACf,GAAGf,KAAA;EACJ,MAAM;IAAEgB;EAAM,CAAE,GAAGJ,OAAA;EACnB,MAAM;IAAEK;EAAM,CAAE,GAAGD,MAAA;EAEnB,IAAIX,IAAA,GAAO,OAAOC,OAAA,KAAY,WAAWA,OAAA,GAAU;EACnD,IAAIE,QAAA,GAAW,OAAOC,WAAA,KAAgB,YAAYA,WAAA,GAAc;EAEhE,IAAI,OAAOH,OAAA,KAAY,YAAY;IACjCD,IAAA,GAAOC,OAAA,CAAQ;MACbL,MAAA;MACAiB,UAAA,EAAYhB,gBAAA;MACZiB,MAAA,EAAQf,YAAA;MACRa;IACF;EACF;EAEA,IAAI,OAAOR,WAAA,KAAgB,YAAY;IACrCD,QAAA,GAAWC,WAAA,CAAY;MACrBJ;IACF;EACF;EAEA,MAAMe,cAAA,GACJ,CAACjB,SAAA,IACAA,SAAA,IAAakB,OAAA,CAAQlB,SAAA,CAAU;IAAED,gBAAA;IAAkBc,MAAA;IAAQZ,YAAA;IAAcS;EAAY;EAExF,IAAIO,cAAA,EAAgB;IAClB,MAAME,aAAA,GACJ,OAAOZ,KAAA,KAAU,aACbA,KAAA,CAAM;MACJa,CAAA,EAAGhB,IAAA,CAAKgB;IACV,KACAb,KAAA;IAEN,MAAMc,qBAAA,GAAwB/B,wBAAA,CAAyB;MACrDgC,SAAA,EAAWb,OAAA,CAAQa,SAAS;MAC5BC,WAAA,EAAa;QACXnB,IAAA;QACAK,OAAA;QACAC;MACF;IACF;IAEA,MAAMc,SAAA,GAAYH,qBAAA,CAAsBV,IAAA,EAAMc,SAAA,EAAWb,cAAA,EAAgB;IAEzE,oBACEc,IAAA,CAAChC,eAAA;MACCiC,UAAA,EAAYb,MAAA,CAAOc,KAAK;MACxBC,SAAA,EAAWV,aAAA;MACXxB,SAAA,EAAWA,SAAA;MACXO,IAAA,EAAMA,IAAA;MACNG,QAAA,EAAUA,QAAA;MACVyB,YAAA,EAAc,CAAC,CAAC/B,gBAAA,IAAoB,CAACE,YAAA;MACrCO,MAAA,EAAQA,MAAA;gBAER,aAAAuB,KAAA,CAAC;QAAKC,SAAA,EAAW,GAAGrC,SAAA,SAAkB;mBACnCwB,aAAA,EACAK,SAAA,iBACCO,KAAA,CAACtC,QAAA;qBAAS,K,aAERiC,IAAA,CAACnC,eAAA;YAAgB0C,eAAA,EAAiBT;;;;;EAM9C;EAEA,OAAO;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,YAAY,EAAE,qBAAqB,CAAA;IACnC,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;CACzB,CAwGA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,YAAY,EAAE,qBAAqB,CAAA;IACnC,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;CACzB,CAwGA,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared';
2
+ import { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared';
3
3
  import React from 'react';
4
- import { ShouldRenderTabs } from './ShouldRenderTabs.js';
5
- import { DocumentTab } from './Tab/index.js';
6
4
  import { getCustomViews } from './getCustomViews.js';
7
5
  import { getViewConfig } from './getViewConfig.js';
6
+ import { ShouldRenderTabs } from './ShouldRenderTabs.js';
7
+ import { DocumentTab } from './Tab/index.js';
8
8
  import { tabs as defaultTabs } from './tabs/index.js';
9
9
  const baseClass = 'doc-tabs';
10
10
  export const DocumentTabs = props => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderComponent","getCreateMappedComponent","React","ShouldRenderTabs","DocumentTab","getCustomViews","getViewConfig","tabs","defaultTabs","baseClass","DocumentTabs","props","collectionConfig","globalConfig","i18n","payload","permissions","config","customViews","_jsx","className","_jsxs","Object","entries","sort","a","b","order","undefined","map","name","tab","index","viewConfig","tabFromConfig","condition","meetsCondition","Boolean","CustomView","path","Component","createMappedComponent","importMap","serverProps","key","mappedTab","clientProps","mappedComponent"],"sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n Payload,\n Permissions,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { ShouldRenderTabs } from './ShouldRenderTabs.js'\nimport { DocumentTab } from './Tab/index.js'\nimport { getCustomViews } from './getCustomViews.js'\nimport { getViewConfig } from './getViewConfig.js'\nimport './index.scss'\nimport { tabs as defaultTabs } from './tabs/index.js'\n\nconst baseClass = 'doc-tabs'\n\nexport const DocumentTabs: React.FC<{\n collectionConfig: SanitizedCollectionConfig\n globalConfig: SanitizedGlobalConfig\n i18n: I18n\n payload: Payload\n permissions: Permissions\n}> = (props) => {\n const { collectionConfig, globalConfig, i18n, payload, permissions } = props\n const { config } = payload\n\n const customViews = getCustomViews({ collectionConfig, globalConfig })\n\n return (\n <ShouldRenderTabs>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs-container`}>\n <ul className={`${baseClass}__tabs`}>\n {Object.entries(defaultTabs)\n // sort `defaultViews` based on `order` property from smallest to largest\n // if no `order`, append the view to the end\n // TODO: open `order` to the config and merge `defaultViews` with `customViews`\n ?.sort(([, a], [, b]) => {\n if (a.order === undefined && b.order === undefined) {\n return 0\n } else if (a.order === undefined) {\n return 1\n } else if (b.order === undefined) {\n return -1\n }\n return a.order - b.order\n })\n ?.map(([name, tab], index) => {\n const viewConfig = getViewConfig({ name, collectionConfig, globalConfig })\n const tabFromConfig = viewConfig && 'tab' in viewConfig ? viewConfig.tab : undefined\n\n const { condition } = tabFromConfig || {}\n\n const meetsCondition =\n !condition ||\n (condition &&\n Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n return (\n <DocumentTab\n key={`tab-${index}`}\n {...{\n ...props,\n ...(tab || {}),\n ...(tabFromConfig || {}),\n }}\n />\n )\n }\n\n return null\n })}\n {customViews?.map((CustomView, index) => {\n if ('tab' in CustomView) {\n const { path, tab } = CustomView\n\n if (tab.Component) {\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n payload,\n permissions,\n ...props,\n key: `tab-custom-${index}`,\n path,\n },\n })\n\n const mappedTab = createMappedComponent(\n tab.Component,\n undefined,\n undefined,\n 'tab.Component',\n )\n\n return (\n <RenderComponent\n clientProps={{\n key: `tab-custom-${index}`,\n path,\n }}\n key={`tab-custom-${index}`}\n mappedComponent={mappedTab}\n />\n )\n }\n\n return (\n <DocumentTab\n key={`tab-custom-${index}`}\n {...{\n ...props,\n ...tab,\n }}\n />\n )\n }\n return null\n })}\n </ul>\n </div>\n </div>\n </ShouldRenderTabs>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getCreateMappedComponent","RenderComponent","React","getCustomViews","getViewConfig","ShouldRenderTabs","DocumentTab","tabs","defaultTabs","baseClass","DocumentTabs","props","collectionConfig","globalConfig","i18n","payload","permissions","config","customViews","_jsx","className","_jsxs","Object","entries","sort","a","b","order","undefined","map","name","tab","index","viewConfig","tabFromConfig","condition","meetsCondition","Boolean","CustomView","path","Component","createMappedComponent","importMap","serverProps","key","mappedTab","clientProps","mappedComponent"],"sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n Payload,\n Permissions,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { getCustomViews } from './getCustomViews.js'\nimport { getViewConfig } from './getViewConfig.js'\nimport './index.scss'\nimport { ShouldRenderTabs } from './ShouldRenderTabs.js'\nimport { DocumentTab } from './Tab/index.js'\nimport { tabs as defaultTabs } from './tabs/index.js'\n\nconst baseClass = 'doc-tabs'\n\nexport const DocumentTabs: React.FC<{\n collectionConfig: SanitizedCollectionConfig\n globalConfig: SanitizedGlobalConfig\n i18n: I18n\n payload: Payload\n permissions: Permissions\n}> = (props) => {\n const { collectionConfig, globalConfig, i18n, payload, permissions } = props\n const { config } = payload\n\n const customViews = getCustomViews({ collectionConfig, globalConfig })\n\n return (\n <ShouldRenderTabs>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs-container`}>\n <ul className={`${baseClass}__tabs`}>\n {Object.entries(defaultTabs)\n // sort `defaultViews` based on `order` property from smallest to largest\n // if no `order`, append the view to the end\n // TODO: open `order` to the config and merge `defaultViews` with `customViews`\n ?.sort(([, a], [, b]) => {\n if (a.order === undefined && b.order === undefined) {\n return 0\n } else if (a.order === undefined) {\n return 1\n } else if (b.order === undefined) {\n return -1\n }\n return a.order - b.order\n })\n ?.map(([name, tab], index) => {\n const viewConfig = getViewConfig({ name, collectionConfig, globalConfig })\n const tabFromConfig = viewConfig && 'tab' in viewConfig ? viewConfig.tab : undefined\n\n const { condition } = tabFromConfig || {}\n\n const meetsCondition =\n !condition ||\n (condition &&\n Boolean(condition({ collectionConfig, config, globalConfig, permissions })))\n\n if (meetsCondition) {\n return (\n <DocumentTab\n key={`tab-${index}`}\n {...{\n ...props,\n ...(tab || {}),\n ...(tabFromConfig || {}),\n }}\n />\n )\n }\n\n return null\n })}\n {customViews?.map((CustomView, index) => {\n if ('tab' in CustomView) {\n const { path, tab } = CustomView\n\n if (tab.Component) {\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n payload,\n permissions,\n ...props,\n key: `tab-custom-${index}`,\n path,\n },\n })\n\n const mappedTab = createMappedComponent(\n tab.Component,\n undefined,\n undefined,\n 'tab.Component',\n )\n\n return (\n <RenderComponent\n clientProps={{\n key: `tab-custom-${index}`,\n path,\n }}\n key={`tab-custom-${index}`}\n mappedComponent={mappedTab}\n />\n )\n }\n\n return (\n <DocumentTab\n key={`tab-custom-${index}`}\n {...{\n ...props,\n ...tab,\n }}\n />\n )\n }\n return null\n })}\n </ul>\n </div>\n </div>\n </ShouldRenderTabs>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import type React from 'react';
3
3
  export declare const documentViewKeys: string[];
4
4
  export type DocumentViewKey = (typeof documentViewKeys)[number];
5
5
  export declare const tabs: Record<DocumentViewKey, {
6
- Pill_Component?: React.FC;
7
6
  order?: number;
7
+ Pill_Component?: React.FC;
8
8
  } & DocumentTabConfig>;
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,eAAO,MAAM,gBAAgB,UAQ5B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,EAAE,MAAM,CACvB,eAAe,EACf;IACE,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,iBAAiB,CA6DtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,eAAO,MAAM,gBAAgB,UAQ5B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/D,eAAO,MAAM,IAAI,EAAE,MAAM,CACvB,eAAe,EACf;IACE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,KAAK,CAAC,EAAE,CAAA;CAC1B,GAAG,iBAAiB,CA6DtB,CAAA"}
@@ -49,7 +49,6 @@ export const tabs = {
49
49
  condition: () => false
50
50
  },
51
51
  versions: {
52
- Pill_Component: VersionsPill,
53
52
  condition: ({
54
53
  collectionConfig,
55
54
  globalConfig,
@@ -59,7 +58,8 @@ export const tabs = {
59
58
  label: ({
60
59
  t
61
60
  }) => t('version:versions'),
62
- order: 200
61
+ order: 200,
62
+ Pill_Component: VersionsPill
63
63
  }
64
64
  };
65
65
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VersionsPill","documentViewKeys","tabs","api","condition","collectionConfig","globalConfig","admin","hideAPIURL","href","label","order","default","t","livePreview","config","Boolean","collections","includes","slug","globals","references","relationships","version","versions","Pill_Component","permissions","readVersions","permission"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig } from 'payload'\nimport type React from 'react'\n\nimport { VersionsPill } from './VersionsPill/index.js'\n\nexport const documentViewKeys = [\n 'api',\n 'default',\n 'livePreview',\n 'references',\n 'relationships',\n 'version',\n 'versions',\n]\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const tabs: Record<\n DocumentViewKey,\n {\n Pill_Component?: React.FC\n order?: number // TODO: expose this to the globalConfig config\n } & DocumentTabConfig\n> = {\n api: {\n condition: ({ collectionConfig, globalConfig }) =>\n (collectionConfig && !collectionConfig?.admin?.hideAPIURL) ||\n (globalConfig && !globalConfig?.admin?.hideAPIURL),\n href: '/api',\n label: 'API',\n order: 1000,\n },\n default: {\n href: '',\n // isActive: ({ href, location }) =>\n // location.pathname === href || location.pathname === `${href}/create`,\n label: ({ t }) => t('general:edit'),\n order: 0,\n },\n livePreview: {\n condition: ({ collectionConfig, config, globalConfig }) => {\n if (collectionConfig) {\n return Boolean(\n config?.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig?.admin?.livePreview,\n )\n }\n\n if (globalConfig) {\n return Boolean(\n config?.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig?.admin?.livePreview,\n )\n }\n\n return false\n },\n href: '/preview',\n label: ({ t }) => t('general:livePreview'),\n order: 100,\n },\n references: {\n condition: () => false,\n },\n relationships: {\n condition: () => false,\n },\n version: {\n condition: () => false,\n },\n versions: {\n Pill_Component: VersionsPill,\n condition: ({ collectionConfig, globalConfig, permissions }) =>\n Boolean(\n (collectionConfig?.versions &&\n permissions?.collections?.[collectionConfig?.slug]?.readVersions?.permission) ||\n (globalConfig?.versions &&\n permissions?.globals?.[globalConfig?.slug]?.readVersions?.permission),\n ),\n href: '/versions',\n label: ({ t }) => t('version:versions'),\n order: 200,\n },\n}\n"],"mappings":"AAGA,SAASA,YAAY,QAAQ;AAE7B,OAAO,MAAMC,gBAAA,GAAmB,CAC9B,OACA,WACA,eACA,cACA,iBACA,WACA,WACD;AAID,OAAO,MAAMC,IAAA,GAMT;EACFC,GAAA,EAAK;IACHC,SAAA,EAAWA,CAAC;MAAEC,gBAAgB;MAAEC;IAAY,CAAE,KAC5CD,gBAAC,IAAoB,CAACA,gBAAA,EAAkBE,KAAA,EAAOC,UAAA,IAC9CF,YAAA,IAAgB,CAACA,YAAA,EAAcC,KAAA,EAAOC,UAAA;IACzCC,IAAA,EAAM;IACNC,KAAA,EAAO;IACPC,KAAA,EAAO;EACT;EACAC,OAAA,EAAS;IACPH,IAAA,EAAM;IACN;IACA;IACAC,KAAA,EAAOA,CAAC;MAAEG;IAAC,CAAE,KAAKA,CAAA,CAAE;IACpBF,KAAA,EAAO;EACT;EACAG,WAAA,EAAa;IACXV,SAAA,EAAWA,CAAC;MAAEC,gBAAgB;MAAEU,MAAM;MAAET;IAAY,CAAE;MACpD,IAAID,gBAAA,EAAkB;QACpB,OAAOW,OAAA,CACLD,MAAA,EAAQR,KAAA,EAAOO,WAAA,EAAaG,WAAA,EAAaC,QAAA,CAASb,gBAAA,CAAiBc,IAAI,KACrEd,gBAAA,EAAkBE,KAAA,EAAOO,WAAA;MAE/B;MAEA,IAAIR,YAAA,EAAc;QAChB,OAAOU,OAAA,CACLD,MAAA,EAAQR,KAAA,EAAOO,WAAA,EAAaM,OAAA,EAASF,QAAA,CAASZ,YAAA,CAAaa,IAAI,KAC7Db,YAAA,EAAcC,KAAA,EAAOO,WAAA;MAE3B;MAEA,OAAO;IACT;IACAL,IAAA,EAAM;IACNC,KAAA,EAAOA,CAAC;MAAEG;IAAC,CAAE,KAAKA,CAAA,CAAE;IACpBF,KAAA,EAAO;EACT;EACAU,UAAA,EAAY;IACVjB,SAAA,EAAWA,CAAA,KAAM;EACnB;EACAkB,aAAA,EAAe;IACblB,SAAA,EAAWA,CAAA,KAAM;EACnB;EACAmB,OAAA,EAAS;IACPnB,SAAA,EAAWA,CAAA,KAAM;EACnB;EACAoB,QAAA,EAAU;IACRC,cAAA,EAAgBzB,YAAA;IAChBI,SAAA,EAAWA,CAAC;MAAEC,gBAAgB;MAAEC,YAAY;MAAEoB;IAAW,CAAE,KACzDV,OAAA,CACEX,gBAAC,EAAkBmB,QAAA,IACjBE,WAAA,EAAaT,WAAA,GAAcZ,gBAAA,EAAkBc,IAAA,CAAK,EAAEQ,YAAA,EAAcC,UAAA,IACjEtB,YAAA,EAAckB,QAAA,IACbE,WAAA,EAAaN,OAAA,GAAUd,YAAA,EAAca,IAAA,CAAK,EAAEQ,YAAA,EAAcC,UAAA;IAElEnB,IAAA,EAAM;IACNC,KAAA,EAAOA,CAAC;MAAEG;IAAC,CAAE,KAAKA,CAAA,CAAE;IACpBF,KAAA,EAAO;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["VersionsPill","documentViewKeys","tabs","api","condition","collectionConfig","globalConfig","admin","hideAPIURL","href","label","order","default","t","livePreview","config","Boolean","collections","includes","slug","globals","references","relationships","version","versions","permissions","readVersions","permission","Pill_Component"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/tabs/index.tsx"],"sourcesContent":["import type { DocumentTabConfig } from 'payload'\nimport type React from 'react'\n\nimport { VersionsPill } from './VersionsPill/index.js'\n\nexport const documentViewKeys = [\n 'api',\n 'default',\n 'livePreview',\n 'references',\n 'relationships',\n 'version',\n 'versions',\n]\n\nexport type DocumentViewKey = (typeof documentViewKeys)[number]\n\nexport const tabs: Record<\n DocumentViewKey,\n {\n order?: number // TODO: expose this to the globalConfig config\n Pill_Component?: React.FC\n } & DocumentTabConfig\n> = {\n api: {\n condition: ({ collectionConfig, globalConfig }) =>\n (collectionConfig && !collectionConfig?.admin?.hideAPIURL) ||\n (globalConfig && !globalConfig?.admin?.hideAPIURL),\n href: '/api',\n label: 'API',\n order: 1000,\n },\n default: {\n href: '',\n // isActive: ({ href, location }) =>\n // location.pathname === href || location.pathname === `${href}/create`,\n label: ({ t }) => t('general:edit'),\n order: 0,\n },\n livePreview: {\n condition: ({ collectionConfig, config, globalConfig }) => {\n if (collectionConfig) {\n return Boolean(\n config?.admin?.livePreview?.collections?.includes(collectionConfig.slug) ||\n collectionConfig?.admin?.livePreview,\n )\n }\n\n if (globalConfig) {\n return Boolean(\n config?.admin?.livePreview?.globals?.includes(globalConfig.slug) ||\n globalConfig?.admin?.livePreview,\n )\n }\n\n return false\n },\n href: '/preview',\n label: ({ t }) => t('general:livePreview'),\n order: 100,\n },\n references: {\n condition: () => false,\n },\n relationships: {\n condition: () => false,\n },\n version: {\n condition: () => false,\n },\n versions: {\n condition: ({ collectionConfig, globalConfig, permissions }) =>\n Boolean(\n (collectionConfig?.versions &&\n permissions?.collections?.[collectionConfig?.slug]?.readVersions?.permission) ||\n (globalConfig?.versions &&\n permissions?.globals?.[globalConfig?.slug]?.readVersions?.permission),\n ),\n href: '/versions',\n label: ({ t }) => t('version:versions'),\n order: 200,\n Pill_Component: VersionsPill,\n },\n}\n"],"mappings":"AAGA,SAASA,YAAY,QAAQ;AAE7B,OAAO,MAAMC,gBAAA,GAAmB,CAC9B,OACA,WACA,eACA,cACA,iBACA,WACA,WACD;AAID,OAAO,MAAMC,IAAA,GAMT;EACFC,GAAA,EAAK;IACHC,SAAA,EAAWA,CAAC;MAAEC,gBAAgB;MAAEC;IAAY,CAAE,KAC5CD,gBAAC,IAAoB,CAACA,gBAAA,EAAkBE,KAAA,EAAOC,UAAA,IAC9CF,YAAA,IAAgB,CAACA,YAAA,EAAcC,KAAA,EAAOC,UAAA;IACzCC,IAAA,EAAM;IACNC,KAAA,EAAO;IACPC,KAAA,EAAO;EACT;EACAC,OAAA,EAAS;IACPH,IAAA,EAAM;IACN;IACA;IACAC,KAAA,EAAOA,CAAC;MAAEG;IAAC,CAAE,KAAKA,CAAA,CAAE;IACpBF,KAAA,EAAO;EACT;EACAG,WAAA,EAAa;IACXV,SAAA,EAAWA,CAAC;MAAEC,gBAAgB;MAAEU,MAAM;MAAET;IAAY,CAAE;MACpD,IAAID,gBAAA,EAAkB;QACpB,OAAOW,OAAA,CACLD,MAAA,EAAQR,KAAA,EAAOO,WAAA,EAAaG,WAAA,EAAaC,QAAA,CAASb,gBAAA,CAAiBc,IAAI,KACrEd,gBAAA,EAAkBE,KAAA,EAAOO,WAAA;MAE/B;MAEA,IAAIR,YAAA,EAAc;QAChB,OAAOU,OAAA,CACLD,MAAA,EAAQR,KAAA,EAAOO,WAAA,EAAaM,OAAA,EAASF,QAAA,CAASZ,YAAA,CAAaa,IAAI,KAC7Db,YAAA,EAAcC,KAAA,EAAOO,WAAA;MAE3B;MAEA,OAAO;IACT;IACAL,IAAA,EAAM;IACNC,KAAA,EAAOA,CAAC;MAAEG;IAAC,CAAE,KAAKA,CAAA,CAAE;IACpBF,KAAA,EAAO;EACT;EACAU,UAAA,EAAY;IACVjB,SAAA,EAAWA,CAAA,KAAM;EACnB;EACAkB,aAAA,EAAe;IACblB,SAAA,EAAWA,CAAA,KAAM;EACnB;EACAmB,OAAA,EAAS;IACPnB,SAAA,EAAWA,CAAA,KAAM;EACnB;EACAoB,QAAA,EAAU;IACRpB,SAAA,EAAWA,CAAC;MAAEC,gBAAgB;MAAEC,YAAY;MAAEmB;IAAW,CAAE,KACzDT,OAAA,CACEX,gBAAC,EAAkBmB,QAAA,IACjBC,WAAA,EAAaR,WAAA,GAAcZ,gBAAA,EAAkBc,IAAA,CAAK,EAAEO,YAAA,EAAcC,UAAA,IACjErB,YAAA,EAAckB,QAAA,IACbC,WAAA,EAAaL,OAAA,GAAUd,YAAA,EAAca,IAAA,CAAK,EAAEO,YAAA,EAAcC,UAAA;IAElElB,IAAA,EAAM;IACNC,KAAA,EAAOA,CAAC;MAAEG;IAAC,CAAE,KAAKA,CAAA,CAAE;IACpBF,KAAA,EAAO;IACPiB,cAAA,EAAgB5B;EAClB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;CACzB,CAuBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;CACzB,CAuBA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Gutter","RenderTitle","React","Fragment","DocumentTabs","baseClass","DocumentHeader","props","collectionConfig","customHeader","globalConfig","hideTabs","i18n","payload","permissions","_jsxs","className","_jsx"],"sources":["../../../src/elements/DocumentHeader/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n Payload,\n Permissions,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { Gutter, RenderTitle } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nimport { DocumentTabs } from './Tabs/index.js'\nimport './index.scss'\n\nconst baseClass = `doc-header`\n\nexport const DocumentHeader: React.FC<{\n collectionConfig?: SanitizedCollectionConfig\n customHeader?: React.ReactNode\n globalConfig?: SanitizedGlobalConfig\n hideTabs?: boolean\n i18n: I18n\n payload: Payload\n permissions: Permissions\n}> = (props) => {\n const { collectionConfig, customHeader, globalConfig, hideTabs, i18n, payload, permissions } =\n props\n\n return (\n <Gutter className={baseClass}>\n {customHeader && customHeader}\n {!customHeader && (\n <Fragment>\n <RenderTitle className={`${baseClass}__title`} />\n {!hideTabs && (\n <DocumentTabs\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n </Fragment>\n )}\n </Gutter>\n )\n}\n"],"mappings":";AAQA,SAASA,MAAM,EAAEC,WAAW,QAAQ;AACpC,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,YAAY,QAAQ;AAG7B,MAAMC,SAAA,GAAY,YAAY;AAE9B,OAAO,MAAMC,cAAA,GAQPC,KAAA;EACJ,MAAM;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAW,CAAE,GAC1FP,KAAA;EAEF,oBACEQ,KAAA,CAACf,MAAA;IAAOgB,SAAA,EAAWX,SAAA;eAChBI,YAAA,IAAgBA,YAAA,EAChB,CAACA,YAAA,iBACAM,KAAA,CAACZ,QAAA;8BACCc,IAAA,CAAChB,WAAA;QAAYe,SAAA,EAAW,GAAGX,SAAA;UAC1B,CAACM,QAAA,iBACAM,IAAA,CAACb,YAAA;QACCI,gBAAA,EAAkBA,gBAAA;QAClBE,YAAA,EAAcA,YAAA;QACdE,IAAA,EAAMA,IAAA;QACNC,OAAA,EAASA,OAAA;QACTC,WAAA,EAAaA;;;;AAO3B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Gutter","RenderTitle","React","Fragment","DocumentTabs","baseClass","DocumentHeader","props","collectionConfig","customHeader","globalConfig","hideTabs","i18n","payload","permissions","_jsxs","className","_jsx"],"sources":["../../../src/elements/DocumentHeader/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n Payload,\n Permissions,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { Gutter, RenderTitle } from '@payloadcms/ui'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\nimport { DocumentTabs } from './Tabs/index.js'\n\nconst baseClass = `doc-header`\n\nexport const DocumentHeader: React.FC<{\n collectionConfig?: SanitizedCollectionConfig\n customHeader?: React.ReactNode\n globalConfig?: SanitizedGlobalConfig\n hideTabs?: boolean\n i18n: I18n\n payload: Payload\n permissions: Permissions\n}> = (props) => {\n const { collectionConfig, customHeader, globalConfig, hideTabs, i18n, payload, permissions } =\n props\n\n return (\n <Gutter className={baseClass}>\n {customHeader && customHeader}\n {!customHeader && (\n <Fragment>\n <RenderTitle className={`${baseClass}__title`} />\n {!hideTabs && (\n <DocumentTabs\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n </Fragment>\n )}\n </Gutter>\n )\n}\n"],"mappings":";AAQA,SAASA,MAAM,EAAEC,WAAW,QAAQ;AACpC,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAGhC,SAASC,YAAY,QAAQ;AAE7B,MAAMC,SAAA,GAAY,YAAY;AAE9B,OAAO,MAAMC,cAAA,GAQPC,KAAA;EACJ,MAAM;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAW,CAAE,GAC1FP,KAAA;EAEF,oBACEQ,KAAA,CAACf,MAAA;IAAOgB,SAAA,EAAWX,SAAA;eAChBI,YAAA,IAAgBA,YAAA,EAChB,CAACA,YAAA,iBACAM,KAAA,CAACZ,QAAA;8BACCc,IAAA,CAAChB,WAAA;QAAYe,SAAA,EAAW,GAAGX,SAAA;UAC1B,CAACM,QAAA,iBACAM,IAAA,CAACb,YAAA;QACCI,gBAAA,EAAkBA,gBAAA;QAClBE,YAAA,EAAcA,YAAA;QACdE,IAAA,EAAMA,IAAA;QACNC,OAAA,EAASA,OAAA;QACTC,WAAA,EAAaA;;;;AAO3B","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { FieldPermissions, LoginWithUsernameOptions } from 'payload';
2
2
  import React from 'react';
3
3
  type RenderEmailAndUsernameFieldsProps = {
4
4
  className?: string;
5
- loginWithUsername?: LoginWithUsernameOptions | false;
5
+ loginWithUsername?: false | LoginWithUsernameOptions;
6
6
  operation?: 'create' | 'update';
7
7
  permissions?: {
8
8
  [fieldName: string]: FieldPermissions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EmailAndUsername/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAqDzB,KAAK,iCAAiC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,KAAK,CAAA;IACpD,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,CAAC,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;IACD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,qBA6CpF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EmailAndUsername/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAqDzB,KAAK,iCAAiC,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,KAAK,GAAG,wBAAwB,CAAA;IACpD,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,CAAC,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAA;KACtC,CAAA;IACD,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iCAAiC,qBA6CpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","EmailField","RenderFields","TextField","useTranslation","email","username","React","EmailFieldComponent","props","$","loginWithUsername","t","requireEmail","showEmailField","allowEmailLogin","t0","_jsx","autoComplete","field","name","label","required","validate","UsernameFieldComponent","requireUsername","showUsernameField","Boolean","RenderEmailAndUsernameFields","className","operation","permissions","readOnly","fields","type","admin","components","Field","Component","RenderedComponent","localized","forceRender","path","schemaPath"],"sources":["../../../src/elements/EmailAndUsername/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldPermissions, LoginWithUsernameOptions } from 'payload'\n\nimport { EmailField, RenderFields, TextField, useTranslation } from '@payloadcms/ui'\nimport { email, username } from 'payload/shared'\nimport React from 'react'\n\ntype Props = {\n readonly loginWithUsername?: LoginWithUsernameOptions | false\n}\nfunction EmailFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireEmail = !loginWithUsername || (loginWithUsername && loginWithUsername.requireEmail)\n const showEmailField =\n !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin\n\n if (showEmailField) {\n return (\n <EmailField\n autoComplete=\"off\"\n field={{\n name: 'email',\n label: t('general:email'),\n required: requireEmail,\n }}\n validate={email}\n />\n )\n }\n\n return null\n}\n\nfunction UsernameFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireUsername = loginWithUsername && loginWithUsername.requireUsername\n const showUsernameField = Boolean(loginWithUsername)\n\n if (showUsernameField) {\n return (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: requireUsername,\n }}\n validate={username}\n />\n )\n }\n\n return null\n}\n\ntype RenderEmailAndUsernameFieldsProps = {\n className?: string\n loginWithUsername?: LoginWithUsernameOptions | false\n operation?: 'create' | 'update'\n permissions?: {\n [fieldName: string]: FieldPermissions\n }\n readOnly: boolean\n}\nexport function RenderEmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps) {\n const { className, loginWithUsername, operation, permissions, readOnly } = props\n\n return (\n <RenderFields\n className={className}\n fields={[\n {\n name: 'email',\n type: 'text',\n admin: {\n autoComplete: 'off',\n components: {\n Field: {\n type: 'client',\n Component: null,\n RenderedComponent: <EmailFieldComponent loginWithUsername={loginWithUsername} />,\n },\n },\n },\n localized: false,\n },\n {\n name: 'username',\n type: 'text',\n admin: {\n components: {\n Field: {\n type: 'client',\n Component: null,\n RenderedComponent: <UsernameFieldComponent loginWithUsername={loginWithUsername} />,\n },\n },\n },\n localized: false,\n },\n ]}\n forceRender\n operation={operation}\n path=\"\"\n permissions={permissions}\n readOnly={readOnly}\n schemaPath=\"\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AACpE,SAASC,KAAK,EAAEC,QAAQ,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAKlB,SAAAC,oBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACE;IAAAW;EAAA,IAA8BF,KAAA;EAC9B;IAAAG;EAAA,IAAcR,cAAA;EAEd,MAAAS,YAAA,GAAqB,CAACF,iBAAA,IAAsBA,iBAAA,IAAqBA,iBAAA,CAAAE,YAA8B;EAC/F,MAAAC,cAAA,GACE,CAACH,iBAAA,IAAqBA,iBAAA,EAAAE,YAAmB,IAAgBF,iBAAA,EAAAI,eAAmB;EAAA,IAE1ED,cAAA;IAAA,IAAAE,EAAA;IAAA,IAAAN,CAAA,QAAAE,CAAA,IAAAF,CAAA,QAAAG,YAAA;MAEAG,EAAA,GAAAC,IAAA,CAAAhB,UAAA;QAAAiB,YAAA,EACe;QAAAC,KAAA;UAAAC,IAAA,EAEL;UAAAC,KAAA,EACCT,CAAA,CAAE;UAAAU,QAAA,EACCT;QAAA;QAAAU,QAAA,EAAAlB;MAAA,C;;;;;;;WALdW,E;;;;AAeN,SAAAQ,uBAAAf,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACE;IAAAW;EAAA,IAA8BF,KAAA;EAC9B;IAAAG;EAAA,IAAcR,cAAA;EAEd,MAAAqB,eAAA,GAAwBd,iBAAA,IAAqBA,iBAAA,CAAAc,eAAiC;EAC9E,MAAAC,iBAAA,GAA0BC,OAAA,CAAQhB,iBAAA;EAAA,IAE9Be,iBAAA;IAAA,IAAAV,EAAA;IAAA,IAAAN,CAAA,QAAAE,CAAA,IAAAF,CAAA,QAAAe,eAAA;MAEAT,EAAA,GAAAC,IAAA,CAAAd,SAAA;QAAAgB,KAAA;UAAAC,IAAA,EAEU;UAAAC,KAAA,EACCT,CAAA,CAAE;UAAAU,QAAA,EACCG;QAAA;QAAAF,QAAA,EAAAjB;MAAA,C;;;;;;;WAJdU,E;;;;AAuBN,OAAO,SAASY,6BAA6BnB,KAAwC;EACnF,MAAM;IAAEoB,SAAS;IAAElB,iBAAiB;IAAEmB,SAAS;IAAEC,WAAW;IAAEC;EAAQ,CAAE,GAAGvB,KAAA;EAE3E,oBACEQ,IAAA,CAACf,YAAA;IACC2B,SAAA,EAAWA,SAAA;IACXI,MAAA,EAAQ,CACN;MACEb,IAAA,EAAM;MACNc,IAAA,EAAM;MACNC,KAAA,EAAO;QACLjB,YAAA,EAAc;QACdkB,UAAA,EAAY;UACVC,KAAA,EAAO;YACLH,IAAA,EAAM;YACNI,SAAA,EAAW;YACXC,iBAAA,eAAmBtB,IAAA,CAACT,mBAAA;cAAoBG,iBAAA,EAAmBA;;UAC7D;QACF;MACF;MACA6B,SAAA,EAAW;IACb,GACA;MACEpB,IAAA,EAAM;MACNc,IAAA,EAAM;MACNC,KAAA,EAAO;QACLC,UAAA,EAAY;UACVC,KAAA,EAAO;YACLH,IAAA,EAAM;YACNI,SAAA,EAAW;YACXC,iBAAA,eAAmBtB,IAAA,CAACO,sBAAA;cAAuBb,iBAAA,EAAmBA;;UAChE;QACF;MACF;MACA6B,SAAA,EAAW;IACb,EACD;IACDC,WAAW;IACXX,SAAA,EAAWA,SAAA;IACXY,IAAA,EAAK;IACLX,WAAA,EAAaA,WAAA;IACbC,QAAA,EAAUA,QAAA;IACVW,UAAA,EAAW;;AAGjB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","EmailField","RenderFields","TextField","useTranslation","email","username","React","EmailFieldComponent","props","$","loginWithUsername","t","requireEmail","showEmailField","allowEmailLogin","t0","_jsx","autoComplete","field","name","label","required","validate","UsernameFieldComponent","requireUsername","showUsernameField","Boolean","RenderEmailAndUsernameFields","className","operation","permissions","readOnly","fields","type","admin","components","Field","Component","RenderedComponent","localized","forceRender","path","schemaPath"],"sources":["../../../src/elements/EmailAndUsername/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldPermissions, LoginWithUsernameOptions } from 'payload'\n\nimport { EmailField, RenderFields, TextField, useTranslation } from '@payloadcms/ui'\nimport { email, username } from 'payload/shared'\nimport React from 'react'\n\ntype Props = {\n readonly loginWithUsername?: false | LoginWithUsernameOptions\n}\nfunction EmailFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireEmail = !loginWithUsername || (loginWithUsername && loginWithUsername.requireEmail)\n const showEmailField =\n !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin\n\n if (showEmailField) {\n return (\n <EmailField\n autoComplete=\"off\"\n field={{\n name: 'email',\n label: t('general:email'),\n required: requireEmail,\n }}\n validate={email}\n />\n )\n }\n\n return null\n}\n\nfunction UsernameFieldComponent(props: Props) {\n const { loginWithUsername } = props\n const { t } = useTranslation()\n\n const requireUsername = loginWithUsername && loginWithUsername.requireUsername\n const showUsernameField = Boolean(loginWithUsername)\n\n if (showUsernameField) {\n return (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: requireUsername,\n }}\n validate={username}\n />\n )\n }\n\n return null\n}\n\ntype RenderEmailAndUsernameFieldsProps = {\n className?: string\n loginWithUsername?: false | LoginWithUsernameOptions\n operation?: 'create' | 'update'\n permissions?: {\n [fieldName: string]: FieldPermissions\n }\n readOnly: boolean\n}\nexport function RenderEmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps) {\n const { className, loginWithUsername, operation, permissions, readOnly } = props\n\n return (\n <RenderFields\n className={className}\n fields={[\n {\n name: 'email',\n type: 'text',\n admin: {\n autoComplete: 'off',\n components: {\n Field: {\n type: 'client',\n Component: null,\n RenderedComponent: <EmailFieldComponent loginWithUsername={loginWithUsername} />,\n },\n },\n },\n localized: false,\n },\n {\n name: 'username',\n type: 'text',\n admin: {\n components: {\n Field: {\n type: 'client',\n Component: null,\n RenderedComponent: <UsernameFieldComponent loginWithUsername={loginWithUsername} />,\n },\n },\n },\n localized: false,\n },\n ]}\n forceRender\n operation={operation}\n path=\"\"\n permissions={permissions}\n readOnly={readOnly}\n schemaPath=\"\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AACpE,SAASC,KAAK,EAAEC,QAAQ,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAKlB,SAAAC,oBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACE;IAAAW;EAAA,IAA8BF,KAAA;EAC9B;IAAAG;EAAA,IAAcR,cAAA;EAEd,MAAAS,YAAA,GAAqB,CAACF,iBAAA,IAAsBA,iBAAA,IAAqBA,iBAAA,CAAAE,YAA8B;EAC/F,MAAAC,cAAA,GACE,CAACH,iBAAA,IAAqBA,iBAAA,EAAAE,YAAmB,IAAgBF,iBAAA,EAAAI,eAAmB;EAAA,IAE1ED,cAAA;IAAA,IAAAE,EAAA;IAAA,IAAAN,CAAA,QAAAE,CAAA,IAAAF,CAAA,QAAAG,YAAA;MAEAG,EAAA,GAAAC,IAAA,CAAAhB,UAAA;QAAAiB,YAAA,EACe;QAAAC,KAAA;UAAAC,IAAA,EAEL;UAAAC,KAAA,EACCT,CAAA,CAAE;UAAAU,QAAA,EACCT;QAAA;QAAAU,QAAA,EAAAlB;MAAA,C;;;;;;;WALdW,E;;;;AAeN,SAAAQ,uBAAAf,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACE;IAAAW;EAAA,IAA8BF,KAAA;EAC9B;IAAAG;EAAA,IAAcR,cAAA;EAEd,MAAAqB,eAAA,GAAwBd,iBAAA,IAAqBA,iBAAA,CAAAc,eAAiC;EAC9E,MAAAC,iBAAA,GAA0BC,OAAA,CAAQhB,iBAAA;EAAA,IAE9Be,iBAAA;IAAA,IAAAV,EAAA;IAAA,IAAAN,CAAA,QAAAE,CAAA,IAAAF,CAAA,QAAAe,eAAA;MAEAT,EAAA,GAAAC,IAAA,CAAAd,SAAA;QAAAgB,KAAA;UAAAC,IAAA,EAEU;UAAAC,KAAA,EACCT,CAAA,CAAE;UAAAU,QAAA,EACCG;QAAA;QAAAF,QAAA,EAAAjB;MAAA,C;;;;;;;WAJdU,E;;;;AAuBN,OAAO,SAASY,6BAA6BnB,KAAwC;EACnF,MAAM;IAAEoB,SAAS;IAAElB,iBAAiB;IAAEmB,SAAS;IAAEC,WAAW;IAAEC;EAAQ,CAAE,GAAGvB,KAAA;EAE3E,oBACEQ,IAAA,CAACf,YAAA;IACC2B,SAAA,EAAWA,SAAA;IACXI,MAAA,EAAQ,CACN;MACEb,IAAA,EAAM;MACNc,IAAA,EAAM;MACNC,KAAA,EAAO;QACLjB,YAAA,EAAc;QACdkB,UAAA,EAAY;UACVC,KAAA,EAAO;YACLH,IAAA,EAAM;YACNI,SAAA,EAAW;YACXC,iBAAA,eAAmBtB,IAAA,CAACT,mBAAA;cAAoBG,iBAAA,EAAmBA;;UAC7D;QACF;MACF;MACA6B,SAAA,EAAW;IACb,GACA;MACEpB,IAAA,EAAM;MACNc,IAAA,EAAM;MACNC,KAAA,EAAO;QACLC,UAAA,EAAY;UACVC,KAAA,EAAO;YACLH,IAAA,EAAM;YACNI,SAAA,EAAW;YACXC,iBAAA,eAAmBtB,IAAA,CAACO,sBAAA;cAAuBb,iBAAA,EAAmBA;;UAChE;QACF;MACF;MACA6B,SAAA,EAAW;IACb,EACD;IACDC,WAAW;IACXX,SAAA,EAAWA,SAAA;IACXY,IAAA,EAAK;IACLX,WAAA,EAAaA,WAAA;IACbC,QAAA,EAAUA,QAAA;IACVW,UAAA,EAAW;;AAGjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"usePreventLeave.js","names":["c","_c","useRouter","useCallback","useEffect","useRef","on","obj","args","addEventListener","off","removeEventListener","useBeforeUnload","t0","message","$","enabled","undefined","t1","event","finalEnabled","preventDefault","returnValue","handler","t2","t3","window","usePreventLeave","hasAccepted","onAccept","onPrevent","prevent","router","cancelledURL","isAnchorOfCurrentUrl","currentUrl","newUrl","currentUrlObj","URL","newUrlObj","hostname","pathname","search","currentHash","hash","newHash","href","replace","findClosestAnchor","element","tagName","toLowerCase","parentElement","handleClick","target","anchor","location","isAnchor","isDownloadLink","download","isPageLeaving","confirm","current","stopPropagation","err","alert","document","push"],"sources":["../../../src/elements/LeaveWithoutSaving/usePreventLeave.tsx"],"sourcesContent":["'use client'\n// Credit: @Taiki92777\n// - Source: https://github.com/vercel/next.js/discussions/32231#discussioncomment-7284386\n// Credit: `react-use` maintainers\n// - Source: https://github.com/streamich/react-use/blob/ade8d3905f544305515d010737b4ae604cc51024/src/useBeforeUnload.ts#L2\nimport { useRouter } from 'next/navigation.js'\nimport { useCallback, useEffect, useRef } from 'react'\n\nfunction on<T extends Document | EventTarget | HTMLElement | Window>(\n obj: T | null,\n ...args: [string, Function | null, ...any] | Parameters<T['addEventListener']>\n): void {\n if (obj && obj.addEventListener) {\n obj.addEventListener(...(args as Parameters<HTMLElement['addEventListener']>))\n }\n}\n\nfunction off<T extends Document | EventTarget | HTMLElement | Window>(\n obj: T | null,\n ...args: [string, Function | null, ...any] | Parameters<T['removeEventListener']>\n): void {\n if (obj && obj.removeEventListener) {\n obj.removeEventListener(...(args as Parameters<HTMLElement['removeEventListener']>))\n }\n}\n\nexport const useBeforeUnload = (enabled: (() => boolean) | boolean = true, message?: string) => {\n const handler = useCallback(\n (event: BeforeUnloadEvent) => {\n const finalEnabled = typeof enabled === 'function' ? enabled() : true\n\n if (!finalEnabled) {\n return\n }\n\n event.preventDefault()\n\n if (message) {\n event.returnValue = message\n }\n\n return message\n },\n [enabled, message],\n )\n\n useEffect(() => {\n if (!enabled) {\n return\n }\n\n on(window, 'beforeunload', handler)\n\n return () => off(window, 'beforeunload', handler)\n }, [enabled, handler])\n}\n\nexport const usePreventLeave = ({\n hasAccepted = false,\n message = 'Are you sure want to leave this page?',\n onAccept,\n onPrevent,\n prevent = true,\n}: {\n hasAccepted: boolean\n // if no `onPrevent` is provided, the message will be displayed in a confirm dialog\n message?: string\n onAccept?: () => void\n // to use a custom confirmation dialog, provide a function that returns a boolean\n onPrevent?: () => void\n prevent: boolean\n}) => {\n // check when page is about to be reloaded\n useBeforeUnload(prevent, message)\n\n const router = useRouter()\n const cancelledURL = useRef<string>('')\n\n // check when page is about to be changed\n useEffect(() => {\n function isAnchorOfCurrentUrl(currentUrl: string, newUrl: string) {\n const currentUrlObj = new URL(currentUrl)\n const newUrlObj = new URL(newUrl)\n // Compare hostname, pathname, and search parameters\n if (\n currentUrlObj.hostname === newUrlObj.hostname &&\n currentUrlObj.pathname === newUrlObj.pathname &&\n currentUrlObj.search === newUrlObj.search\n ) {\n // Check if the new URL is just an anchor of the current URL page\n const currentHash = currentUrlObj.hash\n const newHash = newUrlObj.hash\n return (\n currentHash !== newHash &&\n currentUrlObj.href.replace(currentHash, '') === newUrlObj.href.replace(newHash, '')\n )\n }\n return false\n }\n\n function findClosestAnchor(element: HTMLElement | null): HTMLAnchorElement | null {\n while (element && element.tagName.toLowerCase() !== 'a') {\n element = element.parentElement\n }\n return element as HTMLAnchorElement\n }\n function handleClick(event: MouseEvent) {\n try {\n const target = event.target as HTMLElement\n const anchor = findClosestAnchor(target)\n if (anchor) {\n const currentUrl = window.location.href\n const newUrl = anchor.href\n const isAnchor = isAnchorOfCurrentUrl(currentUrl, newUrl)\n const isDownloadLink = anchor.download !== ''\n\n const isPageLeaving = !(newUrl === currentUrl || isAnchor || isDownloadLink)\n\n if (isPageLeaving && prevent && (!onPrevent ? !window.confirm(message) : true)) {\n // Keep a reference of the href\n cancelledURL.current = newUrl\n\n // Cancel the route change\n event.preventDefault()\n event.stopPropagation()\n\n if (typeof onPrevent === 'function') {\n onPrevent()\n }\n }\n }\n } catch (err) {\n alert(err)\n }\n }\n\n // Add the global click event listener\n document.addEventListener('click', handleClick, true)\n\n // Clean up the global click event listener when the component is unmounted\n return () => {\n document.removeEventListener('click', handleClick, true)\n }\n }, [onPrevent, prevent, message])\n\n useEffect(() => {\n if (hasAccepted && cancelledURL.current) {\n if (onAccept) {\n onAccept()\n }\n router.push(cancelledURL.current)\n }\n }, [hasAccepted, onAccept, router])\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"usePreventLeave.js","names":["c","_c","useRouter","useCallback","useEffect","useRef","on","obj","args","addEventListener","off","removeEventListener","useBeforeUnload","t0","message","$","enabled","undefined","t1","event","finalEnabled","preventDefault","returnValue","handler","t2","t3","window","usePreventLeave","hasAccepted","onAccept","onPrevent","prevent","router","cancelledURL","isAnchorOfCurrentUrl","currentUrl","newUrl","currentUrlObj","URL","newUrlObj","hostname","pathname","search","currentHash","hash","newHash","href","replace","findClosestAnchor","element","tagName","toLowerCase","parentElement","handleClick","target","anchor","location","isAnchor","isDownloadLink","download","isPageLeaving","confirm","current","stopPropagation","err","alert","document","push"],"sources":["../../../src/elements/LeaveWithoutSaving/usePreventLeave.tsx"],"sourcesContent":["'use client'\n// Credit: @Taiki92777\n// - Source: https://github.com/vercel/next.js/discussions/32231#discussioncomment-7284386\n// Credit: `react-use` maintainers\n// - Source: https://github.com/streamich/react-use/blob/ade8d3905f544305515d010737b4ae604cc51024/src/useBeforeUnload.ts#L2\nimport { useRouter } from 'next/navigation.js'\nimport { useCallback, useEffect, useRef } from 'react'\n\nfunction on<T extends Document | EventTarget | HTMLElement | Window>(\n obj: null | T,\n ...args: [string, Function | null, ...any] | Parameters<T['addEventListener']>\n): void {\n if (obj && obj.addEventListener) {\n obj.addEventListener(...(args as Parameters<HTMLElement['addEventListener']>))\n }\n}\n\nfunction off<T extends Document | EventTarget | HTMLElement | Window>(\n obj: null | T,\n ...args: [string, Function | null, ...any] | Parameters<T['removeEventListener']>\n): void {\n if (obj && obj.removeEventListener) {\n obj.removeEventListener(...(args as Parameters<HTMLElement['removeEventListener']>))\n }\n}\n\nexport const useBeforeUnload = (enabled: (() => boolean) | boolean = true, message?: string) => {\n const handler = useCallback(\n (event: BeforeUnloadEvent) => {\n const finalEnabled = typeof enabled === 'function' ? enabled() : true\n\n if (!finalEnabled) {\n return\n }\n\n event.preventDefault()\n\n if (message) {\n event.returnValue = message\n }\n\n return message\n },\n [enabled, message],\n )\n\n useEffect(() => {\n if (!enabled) {\n return\n }\n\n on(window, 'beforeunload', handler)\n\n return () => off(window, 'beforeunload', handler)\n }, [enabled, handler])\n}\n\nexport const usePreventLeave = ({\n hasAccepted = false,\n message = 'Are you sure want to leave this page?',\n onAccept,\n onPrevent,\n prevent = true,\n}: {\n hasAccepted: boolean\n // if no `onPrevent` is provided, the message will be displayed in a confirm dialog\n message?: string\n onAccept?: () => void\n // to use a custom confirmation dialog, provide a function that returns a boolean\n onPrevent?: () => void\n prevent: boolean\n}) => {\n // check when page is about to be reloaded\n useBeforeUnload(prevent, message)\n\n const router = useRouter()\n const cancelledURL = useRef<string>('')\n\n // check when page is about to be changed\n useEffect(() => {\n function isAnchorOfCurrentUrl(currentUrl: string, newUrl: string) {\n const currentUrlObj = new URL(currentUrl)\n const newUrlObj = new URL(newUrl)\n // Compare hostname, pathname, and search parameters\n if (\n currentUrlObj.hostname === newUrlObj.hostname &&\n currentUrlObj.pathname === newUrlObj.pathname &&\n currentUrlObj.search === newUrlObj.search\n ) {\n // Check if the new URL is just an anchor of the current URL page\n const currentHash = currentUrlObj.hash\n const newHash = newUrlObj.hash\n return (\n currentHash !== newHash &&\n currentUrlObj.href.replace(currentHash, '') === newUrlObj.href.replace(newHash, '')\n )\n }\n return false\n }\n\n function findClosestAnchor(element: HTMLElement | null): HTMLAnchorElement | null {\n while (element && element.tagName.toLowerCase() !== 'a') {\n element = element.parentElement\n }\n return element as HTMLAnchorElement\n }\n function handleClick(event: MouseEvent) {\n try {\n const target = event.target as HTMLElement\n const anchor = findClosestAnchor(target)\n if (anchor) {\n const currentUrl = window.location.href\n const newUrl = anchor.href\n const isAnchor = isAnchorOfCurrentUrl(currentUrl, newUrl)\n const isDownloadLink = anchor.download !== ''\n\n const isPageLeaving = !(newUrl === currentUrl || isAnchor || isDownloadLink)\n\n if (isPageLeaving && prevent && (!onPrevent ? !window.confirm(message) : true)) {\n // Keep a reference of the href\n cancelledURL.current = newUrl\n\n // Cancel the route change\n event.preventDefault()\n event.stopPropagation()\n\n if (typeof onPrevent === 'function') {\n onPrevent()\n }\n }\n }\n } catch (err) {\n alert(err)\n }\n }\n\n // Add the global click event listener\n document.addEventListener('click', handleClick, true)\n\n // Clean up the global click event listener when the component is unmounted\n return () => {\n document.removeEventListener('click', handleClick, true)\n }\n }, [onPrevent, prevent, message])\n\n useEffect(() => {\n if (hasAccepted && cancelledURL.current) {\n if (onAccept) {\n onAccept()\n }\n router.push(cancelledURL.current)\n }\n }, [hasAccepted, onAccept, router])\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { PayloadLogo, RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared';
2
+ import { getCreateMappedComponent, PayloadLogo, RenderComponent } from '@payloadcms/ui/shared';
3
3
  import React from 'react';
4
4
  export const Logo = props => {
5
5
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PayloadLogo","RenderComponent","getCreateMappedComponent","React","Logo","props","i18n","locale","params","payload","permissions","searchParams","user","admin","components","graphics","CustomLogo","undefined","config","createMappedComponent","importMap","serverProps","mappedCustomLogo","_jsx","mappedComponent"],"sources":["../../../src/elements/Logo/index.tsx"],"sourcesContent":["import type { ServerProps } from 'payload'\n\nimport { PayloadLogo, RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nexport const Logo: React.FC<ServerProps> = (props) => {\n const { i18n, locale, params, payload, permissions, searchParams, user } = props\n\n const {\n admin: {\n components: {\n graphics: { Logo: CustomLogo } = {\n Logo: undefined,\n },\n } = {},\n } = {},\n } = payload.config\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedCustomLogo = createMappedComponent(CustomLogo, undefined, PayloadLogo, 'CustomLogo')\n\n return <RenderComponent mappedComponent={mappedCustomLogo} />\n}\n"],"mappings":";AAEA,SAASA,WAAW,EAAEC,eAAe,EAAEC,wBAAwB,QAAQ;AACvE,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,IAAA,GAA+BC,KAAA;EAC1C,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,YAAY;IAAEC;EAAI,CAAE,GAAGP,KAAA;EAE3E,MAAM;IACJQ,KAAA,EAAO;MACLC,UAAA,EAAY;QACVC,QAAA,EAAU;UAAEX,IAAA,EAAMY;QAAU,CAAE,GAAG;UAC/BZ,IAAA,EAAMa;QACR;MAAC,CACF,GAAG,CAAC;IAAC,CACP,GAAG,CAAC;EAAC,CACP,GAAGR,OAAA,CAAQS,MAAM;EAElB,MAAMC,qBAAA,GAAwBjB,wBAAA,CAAyB;IACrDkB,SAAA,EAAWX,OAAA,CAAQW,SAAS;IAC5BC,WAAA,EAAa;MACXf,IAAA;MACAC,MAAA;MACAC,MAAA;MACAC,OAAA;MACAC,WAAA;MACAC,YAAA;MACAC;IACF;EACF;EAEA,MAAMU,gBAAA,GAAmBH,qBAAA,CAAsBH,UAAA,EAAYC,SAAA,EAAWjB,WAAA,EAAa;EAEnF,oBAAOuB,IAAA,CAACtB,eAAA;IAAgBuB,eAAA,EAAiBF;;AAC3C","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getCreateMappedComponent","PayloadLogo","RenderComponent","React","Logo","props","i18n","locale","params","payload","permissions","searchParams","user","admin","components","graphics","CustomLogo","undefined","config","createMappedComponent","importMap","serverProps","mappedCustomLogo","_jsx","mappedComponent"],"sources":["../../../src/elements/Logo/index.tsx"],"sourcesContent":["import type { ServerProps } from 'payload'\n\nimport { getCreateMappedComponent, PayloadLogo, RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nexport const Logo: React.FC<ServerProps> = (props) => {\n const { i18n, locale, params, payload, permissions, searchParams, user } = props\n\n const {\n admin: {\n components: {\n graphics: { Logo: CustomLogo } = {\n Logo: undefined,\n },\n } = {},\n } = {},\n } = payload.config\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedCustomLogo = createMappedComponent(CustomLogo, undefined, PayloadLogo, 'CustomLogo')\n\n return <RenderComponent mappedComponent={mappedCustomLogo} />\n}\n"],"mappings":";AAEA,SAASA,wBAAwB,EAAEC,WAAW,EAAEC,eAAe,QAAQ;AACvE,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,IAAA,GAA+BC,KAAA;EAC1C,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,YAAY;IAAEC;EAAI,CAAE,GAAGP,KAAA;EAE3E,MAAM;IACJQ,KAAA,EAAO;MACLC,UAAA,EAAY;QACVC,QAAA,EAAU;UAAEX,IAAA,EAAMY;QAAU,CAAE,GAAG;UAC/BZ,IAAA,EAAMa;QACR;MAAC,CACF,GAAG,CAAC;IAAC,CACP,GAAG,CAAC;EAAC,CACP,GAAGR,OAAA,CAAQS,MAAM;EAElB,MAAMC,qBAAA,GAAwBnB,wBAAA,CAAyB;IACrDoB,SAAA,EAAWX,OAAA,CAAQW,SAAS;IAC5BC,WAAA,EAAa;MACXf,IAAA;MACAC,MAAA;MACAC,MAAA;MACAC,OAAA;MACAC,WAAA;MACAC,YAAA;MACAC;IACF;EACF;EAEA,MAAMU,gBAAA,GAAmBH,qBAAA,CAAsBH,UAAA,EAAYC,SAAA,EAAWhB,WAAA,EAAa;EAEnF,oBAAOsB,IAAA,CAACrB,eAAA;IAAgBsB,eAAA,EAAiBF;;AAC3C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EA4FpC,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EA4FpC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","NavGroup","useAuth","useConfig","useEntityVisibility","useNav","useTranslation","EntityType","formatAdminURL","groupNavItems","LinkWithDefault","usePathname","React","Fragment","baseClass","DefaultNavClient","$","permissions","isEntityVisible","pathname","config","t0","collections","globals","routes","t1","admin","adminRoute","i18n","navOpen","t2","t3","t4","slug","collectionSlug","t5","slug_0","globalSlug","groups","filter","map","_temp","_temp2","t6","key","entities","label","_jsx","children","t7","i","type","entity","entityLabel","href","id","collection","labels","plural","global","Link","default","LinkElement","activeCollection","startsWith","undefined","includes","length","_jsxs","className","Boolean","join","tabIndex","entityToGroup","entityToGroup_0"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { EntityToGroup } from '@payloadcms/ui/shared'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n ChevronIcon,\n NavGroup,\n useAuth,\n useConfig,\n useEntityVisibility,\n useNav,\n useTranslation,\n} from '@payloadcms/ui'\nimport { EntityType, formatAdminURL, groupNavItems } from '@payloadcms/ui/shared'\nimport LinkWithDefault from 'next/link.js'\nimport { usePathname } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC = () => {\n const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n const pathname = usePathname()\n\n const {\n config: {\n collections,\n globals,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => isEntityVisible({ collectionSlug: slug }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ slug }) => isEntityVisible({ globalSlug: slug }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${entity.slug}` })\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n const activeCollection =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n return (\n <LinkElement\n className={[`${baseClass}__link`, activeCollection && `active`]\n .filter(Boolean)\n .join(' ')}\n href={href}\n id={id}\n key={i}\n tabIndex={!navOpen ? -1 : undefined}\n >\n {activeCollection && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","NavGroup","useAuth","useConfig","useEntityVisibility","useNav","useTranslation","EntityType","formatAdminURL","groupNavItems","LinkWithDefault","usePathname","React","Fragment","baseClass","DefaultNavClient","$","permissions","isEntityVisible","pathname","config","t0","collections","globals","routes","t1","admin","adminRoute","i18n","navOpen","t2","t3","t4","slug","collectionSlug","t5","slug_0","globalSlug","groups","filter","map","_temp","_temp2","t6","key","entities","label","_jsx","children","t7","i","type","entity","entityLabel","href","id","collection","labels","plural","global","Link","default","LinkElement","activeCollection","startsWith","undefined","includes","length","_jsxs","className","Boolean","join","tabIndex","entityToGroup","entityToGroup_0"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { EntityToGroup } from '@payloadcms/ui/shared'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n NavGroup,\n useAuth,\n useConfig,\n useEntityVisibility,\n useNav,\n useTranslation,\n} from '@payloadcms/ui'\nimport { EntityType, formatAdminURL, groupNavItems } from '@payloadcms/ui/shared'\nimport LinkWithDefault from 'next/link.js'\nimport { usePathname } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC = () => {\n const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n const pathname = usePathname()\n\n const {\n config: {\n collections,\n globals,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => isEntityVisible({ collectionSlug: slug }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ slug }) => isEntityVisible({ globalSlug: slug }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${entity.slug}` })\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${entity.slug}` })\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n const activeCollection =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n return (\n <LinkElement\n className={[`${baseClass}__link`, activeCollection && `active`]\n .filter(Boolean)\n .join(' ')}\n href={href}\n id={id}\n key={i}\n tabIndex={!navOpen ? -1 : undefined}\n >\n {activeCollection && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAwDzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAQrB,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAA;AAElC,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAwDzC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Logout } from '@payloadcms/ui';
3
- import { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared';
3
+ import { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared';
4
4
  import React from 'react';
5
5
  import { NavHamburger } from './NavHamburger/index.js';
6
6
  import { NavWrapper } from './NavWrapper/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Logout","RenderComponent","getCreateMappedComponent","React","NavHamburger","NavWrapper","baseClass","DefaultNavClient","DefaultNav","props","i18n","locale","params","payload","permissions","searchParams","user","config","admin","components","afterNavLinks","beforeNavLinks","createMappedComponent","importMap","serverProps","mappedBeforeNavLinks","undefined","mappedAfterNavLinks","_jsxs","className","_jsx","mappedComponent"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { ServerProps } from 'payload'\n\nimport { Logout } from '@payloadcms/ui'\nimport { RenderComponent, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = (props) => {\n const { i18n, locale, params, payload, permissions, searchParams, user } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks },\n },\n } = payload.config\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedBeforeNavLinks = createMappedComponent(\n beforeNavLinks,\n undefined,\n undefined,\n 'beforeNavLinks',\n )\n const mappedAfterNavLinks = createMappedComponent(\n afterNavLinks,\n undefined,\n undefined,\n 'afterNavLinks',\n )\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n <RenderComponent mappedComponent={mappedBeforeNavLinks} />\n <DefaultNavClient />\n <RenderComponent mappedComponent={mappedAfterNavLinks} />\n <div className={`${baseClass}__controls`}>\n <Logout />\n </div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,eAAe,EAAEC,wBAAwB,QAAQ;AAC1D,OAAOC,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAG3B,MAAMC,SAAA,GAAY;AAElB,SAASC,gBAAgB,QAAQ;AAIjC,OAAO,MAAMC,UAAA,GAAkCC,KAAA;EAC7C,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,YAAY;IAAEC;EAAI,CAAE,GAAGP,KAAA;EAE3E,IAAI,CAACI,OAAA,EAASI,MAAA,EAAQ;IACpB,OAAO;EACT;EAEA,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC,aAAa;QAAEC;MAAc;IAAE;EAC9C,CACF,GAAGR,OAAA,CAAQI,MAAM;EAElB,MAAMK,qBAAA,GAAwBpB,wBAAA,CAAyB;IACrDqB,SAAA,EAAWV,OAAA,CAAQU,SAAS;IAC5BC,WAAA,EAAa;MACXd,IAAA;MACAC,MAAA;MACAC,MAAA;MACAC,OAAA;MACAC,WAAA;MACAC,YAAA;MACAC;IACF;EACF;EAEA,MAAMS,oBAAA,GAAuBH,qBAAA,CAC3BD,cAAA,EACAK,SAAA,EACAA,SAAA,EACA;EAEF,MAAMC,mBAAA,GAAsBL,qBAAA,CAC1BF,aAAA,EACAM,SAAA,EACAA,SAAA,EACA;EAGF,oBACEE,KAAA,CAACvB,UAAA;IAAWC,SAAA,EAAWA,SAAA;4BACrBsB,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGvB,SAAA,QAAiB;8BAClCwB,IAAA,CAAC7B,eAAA;QAAgB8B,eAAA,EAAiBN;uBAClCK,IAAA,CAACvB,gBAAA,O,aACDuB,IAAA,CAAC7B,eAAA;QAAgB8B,eAAA,EAAiBJ;uBAClCG,IAAA,CAAC;QAAID,SAAA,EAAW,GAAGvB,SAAA,YAAqB;kBACtC,aAAAwB,IAAA,CAAC9B,MAAA;;qBAGL8B,IAAA,CAAC;MAAID,SAAA,EAAW,GAAGvB,SAAA,UAAmB;gBACpC,aAAAwB,IAAA,CAAC;QAAID,SAAA,EAAW,GAAGvB,SAAA,kBAA2B;kBAC5C,aAAAwB,IAAA,CAAC1B,YAAA;UAAaE,SAAA,EAAWA;;;;;AAKnC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Logout","getCreateMappedComponent","RenderComponent","React","NavHamburger","NavWrapper","baseClass","DefaultNavClient","DefaultNav","props","i18n","locale","params","payload","permissions","searchParams","user","config","admin","components","afterNavLinks","beforeNavLinks","createMappedComponent","importMap","serverProps","mappedBeforeNavLinks","undefined","mappedAfterNavLinks","_jsxs","className","_jsx","mappedComponent"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { ServerProps } from 'payload'\n\nimport { Logout } from '@payloadcms/ui'\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport './index.scss'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\n\nconst baseClass = 'nav'\n\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = (props) => {\n const { i18n, locale, params, payload, permissions, searchParams, user } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks },\n },\n } = payload.config\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedBeforeNavLinks = createMappedComponent(\n beforeNavLinks,\n undefined,\n undefined,\n 'beforeNavLinks',\n )\n const mappedAfterNavLinks = createMappedComponent(\n afterNavLinks,\n undefined,\n undefined,\n 'afterNavLinks',\n )\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n <RenderComponent mappedComponent={mappedBeforeNavLinks} />\n <DefaultNavClient />\n <RenderComponent mappedComponent={mappedAfterNavLinks} />\n <div className={`${baseClass}__controls`}>\n <Logout />\n </div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,wBAAwB,EAAEC,eAAe,QAAQ;AAC1D,OAAOC,KAAA,MAAW;AAGlB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAE3B,MAAMC,SAAA,GAAY;AAElB,SAASC,gBAAgB,QAAQ;AAIjC,OAAO,MAAMC,UAAA,GAAkCC,KAAA;EAC7C,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,YAAY;IAAEC;EAAI,CAAE,GAAGP,KAAA;EAE3E,IAAI,CAACI,OAAA,EAASI,MAAA,EAAQ;IACpB,OAAO;EACT;EAEA,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC,aAAa;QAAEC;MAAc;IAAE;EAC9C,CACF,GAAGR,OAAA,CAAQI,MAAM;EAElB,MAAMK,qBAAA,GAAwBrB,wBAAA,CAAyB;IACrDsB,SAAA,EAAWV,OAAA,CAAQU,SAAS;IAC5BC,WAAA,EAAa;MACXd,IAAA;MACAC,MAAA;MACAC,MAAA;MACAC,OAAA;MACAC,WAAA;MACAC,YAAA;MACAC;IACF;EACF;EAEA,MAAMS,oBAAA,GAAuBH,qBAAA,CAC3BD,cAAA,EACAK,SAAA,EACAA,SAAA,EACA;EAEF,MAAMC,mBAAA,GAAsBL,qBAAA,CAC1BF,aAAA,EACAM,SAAA,EACAA,SAAA,EACA;EAGF,oBACEE,KAAA,CAACvB,UAAA;IAAWC,SAAA,EAAWA,SAAA;4BACrBsB,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGvB,SAAA,QAAiB;8BAClCwB,IAAA,CAAC5B,eAAA;QAAgB6B,eAAA,EAAiBN;uBAClCK,IAAA,CAACvB,gBAAA,O,aACDuB,IAAA,CAAC5B,eAAA;QAAgB6B,eAAA,EAAiBJ;uBAClCG,IAAA,CAAC;QAAID,SAAA,EAAW,GAAGvB,SAAA,YAAqB;kBACtC,aAAAwB,IAAA,CAAC9B,MAAA;;qBAGL8B,IAAA,CAAC;MAAID,SAAA,EAAW,GAAGvB,SAAA,UAAmB;gBACpC,aAAAwB,IAAA,CAAC;QAAID,SAAA,EAAW,GAAGvB,SAAA,kBAA2B;kBAC5C,aAAAwB,IAAA,CAAC1B,YAAA;UAAaE,SAAA,EAAWA;;;;;AAKnC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export { RootLayout, metadata } from '../layouts/Root/index.js';
1
+ export { metadata, RootLayout } from '../layouts/Root/index.js';
2
2
  //# sourceMappingURL=layouts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../../src/exports/layouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../../src/exports/layouts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,2 +1,2 @@
1
- export { RootLayout, metadata } from '../layouts/Root/index.js';
1
+ export { metadata, RootLayout } from '../layouts/Root/index.js';
2
2
  //# sourceMappingURL=layouts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layouts.js","names":["RootLayout","metadata"],"sources":["../../src/exports/layouts.ts"],"sourcesContent":["export { RootLayout, metadata } from '../layouts/Root/index.js'\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,QAAQ,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"layouts.js","names":["metadata","RootLayout"],"sources":["../../src/exports/layouts.ts"],"sourcesContent":["export { metadata, RootLayout } from '../layouts/Root/index.js'\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  export { DefaultEditView as EditView } from '../views/Edit/Default/index.js';
2
2
  export { DefaultListView as ListView } from '../views/List/Default/index.js';
3
3
  export { NotFoundPage } from '../views/NotFound/index.js';
4
- export { type GenerateViewMetadata, RootPage, generatePageMetadata } from '../views/Root/index.js';
4
+ export { generatePageMetadata, type GenerateViewMetadata, RootPage } from '../views/Root/index.js';
5
5
  //# sourceMappingURL=views.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/exports/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,KAAK,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/exports/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export { DefaultEditView as EditView } from '../views/Edit/Default/index.js';
2
2
  export { DefaultListView as ListView } from '../views/List/Default/index.js';
3
3
  export { NotFoundPage } from '../views/NotFound/index.js';
4
- export { RootPage, generatePageMetadata } from '../views/Root/index.js';
4
+ export { generatePageMetadata, RootPage } from '../views/Root/index.js';
5
5
  //# sourceMappingURL=views.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","names":["DefaultEditView","EditView","DefaultListView","ListView","NotFoundPage","RootPage","generatePageMetadata"],"sources":["../../src/exports/views.ts"],"sourcesContent":["export { DefaultEditView as EditView } from '../views/Edit/Default/index.js'\nexport { DefaultListView as ListView } from '../views/List/Default/index.js'\nexport { NotFoundPage } from '../views/NotFound/index.js'\nexport { type GenerateViewMetadata, RootPage, generatePageMetadata } from '../views/Root/index.js'\n"],"mappings":"AAAA,SAASA,eAAA,IAAmBC,QAAQ,QAAQ;AAC5C,SAASC,eAAA,IAAmBC,QAAQ,QAAQ;AAC5C,SAASC,YAAY,QAAQ;AAC7B,SAAoCC,QAAQ,EAAEC,oBAAoB,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"views.js","names":["DefaultEditView","EditView","DefaultListView","ListView","NotFoundPage","generatePageMetadata","RootPage"],"sources":["../../src/exports/views.ts"],"sourcesContent":["export { DefaultEditView as EditView } from '../views/Edit/Default/index.js'\nexport { DefaultListView as ListView } from '../views/List/Default/index.js'\nexport { NotFoundPage } from '../views/NotFound/index.js'\nexport { generatePageMetadata, type GenerateViewMetadata, RootPage } from '../views/Root/index.js'\n"],"mappings":"AAAA,SAASA,eAAA,IAAmBC,QAAQ,QAAQ;AAC5C,SAASC,eAAA,IAAmBC,QAAQ,QAAQ;AAC5C,SAASC,YAAY,QAAQ;AAC7B,SAASC,oBAAoB,EAA6BC,QAAQ,QAAQ","ignoreList":[]}
@@ -134,7 +134,6 @@ export const processMultipart = async ({
134
134
  uploadTimer.set();
135
135
  });
136
136
  // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.
137
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
138
137
  busboy.on('finish', async () => {
139
138
  debugLog(options, `Busboy finished parsing request.`);
140
139
  if (options.parseNested) {
@@ -1 +1 @@
1
- {"version":3,"file":"processMultipart.js","names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","abortAndDestroyFile","file","err","destroy","busboy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","reader","body","getReader","done","read","write","e"],"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\nimport type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n parsingRequest = false\n failedResolvingFiles(err)\n }\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated),\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n parsingRequest = false\n throw err\n },\n )\n\n const reader = request.body.getReader()\n\n // Start parsing request\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"processMultipart.js","names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","abortAndDestroyFile","file","err","destroy","busboy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","reader","body","getReader","done","read","write","e"],"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\nimport type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n parsingRequest = false\n failedResolvingFiles(err)\n }\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated),\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.\n\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n parsingRequest = false\n throw err\n },\n )\n\n const reader = request.body.getReader()\n\n // Start parsing request\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,8 +7,8 @@ export const processNested = function (data) {
7
7
  keys = Object.keys(data);
8
8
  for (let i = 0; i < keys.length; i++) {
9
9
  const key = keys[i],
10
- value = data[key],
11
- keyParts = key.replace(new RegExp(/\[/g), '.').replace(new RegExp(/\]/g), '').split('.');
10
+ keyParts = key.replace(new RegExp(/\[/g), '.').replace(new RegExp(/\]/g), '').split('.'),
11
+ value = data[key];
12
12
  let current = d;
13
13
  for (let index = 0; index < keyParts.length; index++) {
14
14
  const k = keyParts[index];
@@ -1 +1 @@
1
- {"version":3,"file":"processNested.js","names":["isSafeFromPollution","processNested","data","length","Object","create","d","keys","i","key","value","keyParts","replace","RegExp","split","current","index","k"],"sources":["../../src/fetchAPI-multipart/processNested.ts"],"sourcesContent":["import { isSafeFromPollution } from './utilities.js'\n\nexport const processNested = function (data) {\n if (!data || data.length < 1) {\n return Object.create(null)\n }\n\n const d = Object.create(null),\n keys = Object.keys(data)\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i],\n value = data[key],\n keyParts = key.replace(new RegExp(/\\[/g), '.').replace(new RegExp(/\\]/g), '').split('.')\n let current = d\n\n for (let index = 0; index < keyParts.length; index++) {\n const k = keyParts[index]\n\n // Ensure we don't allow prototype pollution\n if (!isSafeFromPollution(current, k)) {\n continue\n }\n\n if (index >= keyParts.length - 1) {\n current[k] = value\n } else {\n if (!current[k]) {\n current[k] = !keyParts[index + 1] ? [] : Object.create(null)\n }\n current = current[k]\n }\n }\n }\n return d\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,aAAA,GAAgB,SAAAA,CAAUC,IAAI;EACzC,IAAI,CAACA,IAAA,IAAQA,IAAA,CAAKC,MAAM,GAAG,GAAG;IAC5B,OAAOC,MAAA,CAAOC,MAAM,CAAC;EACvB;EAEA,MAAMC,CAAA,GAAIF,MAAA,CAAOC,MAAM,CAAC;IACtBE,IAAA,GAAOH,MAAA,CAAOG,IAAI,CAACL,IAAA;EAErB,KAAK,IAAIM,CAAA,GAAI,GAAGA,CAAA,GAAID,IAAA,CAAKJ,MAAM,EAAEK,CAAA,IAAK;IACpC,MAAMC,GAAA,GAAMF,IAAI,CAACC,CAAA,CAAE;MACjBE,KAAA,GAAQR,IAAI,CAACO,GAAA,CAAI;MACjBE,QAAA,GAAWF,GAAA,CAAIG,OAAO,CAAC,IAAIC,MAAA,CAAO,QAAQ,KAAKD,OAAO,CAAC,IAAIC,MAAA,CAAO,QAAQ,IAAIC,KAAK,CAAC;IACtF,IAAIC,OAAA,GAAUT,CAAA;IAEd,KAAK,IAAIU,KAAA,GAAQ,GAAGA,KAAA,GAAQL,QAAA,CAASR,MAAM,EAAEa,KAAA,IAAS;MACpD,MAAMC,CAAA,GAAIN,QAAQ,CAACK,KAAA,CAAM;MAEzB;MACA,IAAI,CAAChB,mBAAA,CAAoBe,OAAA,EAASE,CAAA,GAAI;QACpC;MACF;MAEA,IAAID,KAAA,IAASL,QAAA,CAASR,MAAM,GAAG,GAAG;QAChCY,OAAO,CAACE,CAAA,CAAE,GAAGP,KAAA;MACf,OAAO;QACL,IAAI,CAACK,OAAO,CAACE,CAAA,CAAE,EAAE;UACfF,OAAO,CAACE,CAAA,CAAE,GAAG,CAACN,QAAQ,CAACK,KAAA,GAAQ,EAAE,GAAG,EAAE,GAAGZ,MAAA,CAAOC,MAAM,CAAC;QACzD;QACAU,OAAA,GAAUA,OAAO,CAACE,CAAA,CAAE;MACtB;IACF;EACF;EACA,OAAOX,CAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"processNested.js","names":["isSafeFromPollution","processNested","data","length","Object","create","d","keys","i","key","keyParts","replace","RegExp","split","value","current","index","k"],"sources":["../../src/fetchAPI-multipart/processNested.ts"],"sourcesContent":["import { isSafeFromPollution } from './utilities.js'\n\nexport const processNested = function (data) {\n if (!data || data.length < 1) {\n return Object.create(null)\n }\n\n const d = Object.create(null),\n keys = Object.keys(data)\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i],\n keyParts = key.replace(new RegExp(/\\[/g), '.').replace(new RegExp(/\\]/g), '').split('.'),\n value = data[key]\n let current = d\n\n for (let index = 0; index < keyParts.length; index++) {\n const k = keyParts[index]\n\n // Ensure we don't allow prototype pollution\n if (!isSafeFromPollution(current, k)) {\n continue\n }\n\n if (index >= keyParts.length - 1) {\n current[k] = value\n } else {\n if (!current[k]) {\n current[k] = !keyParts[index + 1] ? [] : Object.create(null)\n }\n current = current[k]\n }\n }\n }\n return d\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,aAAA,GAAgB,SAAAA,CAAUC,IAAI;EACzC,IAAI,CAACA,IAAA,IAAQA,IAAA,CAAKC,MAAM,GAAG,GAAG;IAC5B,OAAOC,MAAA,CAAOC,MAAM,CAAC;EACvB;EAEA,MAAMC,CAAA,GAAIF,MAAA,CAAOC,MAAM,CAAC;IACtBE,IAAA,GAAOH,MAAA,CAAOG,IAAI,CAACL,IAAA;EAErB,KAAK,IAAIM,CAAA,GAAI,GAAGA,CAAA,GAAID,IAAA,CAAKJ,MAAM,EAAEK,CAAA,IAAK;IACpC,MAAMC,GAAA,GAAMF,IAAI,CAACC,CAAA,CAAE;MACjBE,QAAA,GAAWD,GAAA,CAAIE,OAAO,CAAC,IAAIC,MAAA,CAAO,QAAQ,KAAKD,OAAO,CAAC,IAAIC,MAAA,CAAO,QAAQ,IAAIC,KAAK,CAAC;MACpFC,KAAA,GAAQZ,IAAI,CAACO,GAAA,CAAI;IACnB,IAAIM,OAAA,GAAUT,CAAA;IAEd,KAAK,IAAIU,KAAA,GAAQ,GAAGA,KAAA,GAAQN,QAAA,CAASP,MAAM,EAAEa,KAAA,IAAS;MACpD,MAAMC,CAAA,GAAIP,QAAQ,CAACM,KAAA,CAAM;MAEzB;MACA,IAAI,CAAChB,mBAAA,CAAoBe,OAAA,EAASE,CAAA,GAAI;QACpC;MACF;MAEA,IAAID,KAAA,IAASN,QAAA,CAASP,MAAM,GAAG,GAAG;QAChCY,OAAO,CAACE,CAAA,CAAE,GAAGH,KAAA;MACf,OAAO;QACL,IAAI,CAACC,OAAO,CAACE,CAAA,CAAE,EAAE;UACfF,OAAO,CAACE,CAAA,CAAE,GAAG,CAACP,QAAQ,CAACM,KAAA,GAAQ,EAAE,GAAG,EAAE,GAAGZ,MAAA,CAAOC,MAAM,CAAC;QACzD;QACAU,OAAA,GAAUA,OAAO,CAACE,CAAA,CAAE;MACtB;IACF;EACF;EACA,OAAOX,CAAA;AACT","ignoreList":[]}