@strapi/content-manager 0.0.0-experimental.b74470bad5a933136da63d001641ca7d2e170f04 → 0.0.0-experimental.b7cfb5022f2343257445f9e7feb75c7465742c85

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 (362) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +300 -204
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +13 -15
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +14 -16
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js +419 -0
  10. package/dist/admin/components/Widgets.js.map +1 -0
  11. package/dist/admin/components/Widgets.mjs +396 -0
  12. package/dist/admin/components/Widgets.mjs.map +1 -0
  13. package/dist/admin/history/components/VersionContent.js +24 -3
  14. package/dist/admin/history/components/VersionContent.js.map +1 -1
  15. package/dist/admin/history/components/VersionContent.mjs +25 -4
  16. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  17. package/dist/admin/history/components/VersionHeader.js +6 -0
  18. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  19. package/dist/admin/history/components/VersionHeader.mjs +7 -1
  20. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  21. package/dist/admin/hooks/useDocumentActions.js +12 -7
  22. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  23. package/dist/admin/hooks/useDocumentActions.mjs +13 -8
  24. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  25. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  26. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  27. package/dist/admin/index.js +81 -5
  28. package/dist/admin/index.js.map +1 -1
  29. package/dist/admin/index.mjs +80 -3
  30. package/dist/admin/index.mjs.map +1 -1
  31. package/dist/admin/layout.js +1 -27
  32. package/dist/admin/layout.js.map +1 -1
  33. package/dist/admin/layout.mjs +2 -9
  34. package/dist/admin/layout.mjs.map +1 -1
  35. package/dist/admin/pages/EditView/EditViewPage.js +92 -75
  36. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  37. package/dist/admin/pages/EditView/EditViewPage.mjs +94 -77
  38. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  40. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  41. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  42. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  43. package/dist/admin/pages/EditView/components/DocumentActions.js +304 -91
  44. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  45. package/dist/admin/pages/EditView/components/DocumentActions.mjs +308 -95
  46. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  50. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +61 -26
  52. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +63 -28
  54. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  56. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  58. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
  60. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
  62. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  64. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  66. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +15 -2
  68. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +16 -3
  70. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  72. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  74. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +129 -55
  76. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +129 -55
  78. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +124 -33
  80. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +128 -37
  82. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  84. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  86. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  88. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  90. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +50 -97
  92. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
  94. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  96. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  98. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormLayout.js +47 -27
  100. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
  102. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  103. package/dist/admin/pages/EditView/components/InputRenderer.js +15 -5
  104. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  105. package/dist/admin/pages/EditView/components/InputRenderer.mjs +15 -5
  106. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  107. package/dist/admin/pages/EditView/utils/data.js +128 -0
  108. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  109. package/dist/admin/pages/EditView/utils/data.mjs +128 -1
  110. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  111. package/dist/admin/pages/ListView/ListViewPage.js +221 -203
  112. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  113. package/dist/admin/pages/ListView/ListViewPage.mjs +222 -204
  114. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  115. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  116. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  117. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  118. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  119. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
  120. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  121. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
  122. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  123. package/dist/admin/pages/ListView/components/Filters.js +4 -1
  124. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  125. package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
  126. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  127. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  128. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  129. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  130. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  131. package/dist/admin/preview/components/InputPopover.js +73 -0
  132. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  133. package/dist/admin/preview/components/InputPopover.mjs +70 -0
  134. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  135. package/dist/admin/preview/components/PreviewHeader.js +1 -1
  136. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  137. package/dist/admin/preview/components/PreviewHeader.mjs +1 -1
  138. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  139. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  140. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  141. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  142. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  143. package/dist/admin/preview/hooks/usePreviewInputManager.js +67 -0
  144. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  145. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +46 -0
  146. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  147. package/dist/admin/preview/pages/Preview.js +170 -68
  148. package/dist/admin/preview/pages/Preview.js.map +1 -1
  149. package/dist/admin/preview/pages/Preview.mjs +172 -70
  150. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  151. package/dist/admin/preview/utils/constants.js +22 -0
  152. package/dist/admin/preview/utils/constants.js.map +1 -0
  153. package/dist/admin/preview/utils/constants.mjs +19 -0
  154. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  155. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  156. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  157. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  158. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  159. package/dist/admin/preview/utils/previewScript.js +441 -0
  160. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  161. package/dist/admin/preview/utils/previewScript.mjs +439 -0
  162. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  163. package/dist/admin/services/api.js +4 -1
  164. package/dist/admin/services/api.js.map +1 -1
  165. package/dist/admin/services/api.mjs +4 -1
  166. package/dist/admin/services/api.mjs.map +1 -1
  167. package/dist/admin/services/documents.js +42 -16
  168. package/dist/admin/services/documents.js.map +1 -1
  169. package/dist/admin/services/documents.mjs +42 -16
  170. package/dist/admin/services/documents.mjs.map +1 -1
  171. package/dist/admin/services/homepage.js +30 -0
  172. package/dist/admin/services/homepage.js.map +1 -0
  173. package/dist/admin/services/homepage.mjs +28 -0
  174. package/dist/admin/services/homepage.mjs.map +1 -0
  175. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  176. package/dist/admin/src/components/Widgets.d.ts +4 -0
  177. package/dist/admin/src/exports.d.ts +1 -0
  178. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  179. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  180. package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
  181. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  182. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
  183. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +26 -5
  184. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  185. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
  186. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  187. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  188. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  189. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +4 -0
  190. package/dist/admin/src/preview/pages/Preview.d.ts +8 -0
  191. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  192. package/dist/admin/src/preview/utils/constants.d.ts +20 -0
  193. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  194. package/dist/admin/src/preview/utils/previewScript.d.ts +23 -0
  195. package/dist/admin/src/services/api.d.ts +1 -1
  196. package/dist/admin/src/services/components.d.ts +2 -2
  197. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  198. package/dist/admin/src/services/documents.d.ts +23 -17
  199. package/dist/admin/src/services/homepage.d.ts +5 -0
  200. package/dist/admin/src/services/init.d.ts +1 -1
  201. package/dist/admin/src/services/relations.d.ts +2 -2
  202. package/dist/admin/src/services/uid.d.ts +3 -3
  203. package/dist/admin/src/utils/api.d.ts +1 -1
  204. package/dist/admin/src/utils/validation.d.ts +1 -0
  205. package/dist/admin/translations/en.json.js +9 -1
  206. package/dist/admin/translations/en.json.js.map +1 -1
  207. package/dist/admin/translations/en.json.mjs +9 -1
  208. package/dist/admin/translations/en.json.mjs.map +1 -1
  209. package/dist/admin/translations/es.json.js +5 -2
  210. package/dist/admin/translations/es.json.js.map +1 -1
  211. package/dist/admin/translations/es.json.mjs +5 -2
  212. package/dist/admin/translations/es.json.mjs.map +1 -1
  213. package/dist/admin/translations/fr.json.js +10 -2
  214. package/dist/admin/translations/fr.json.js.map +1 -1
  215. package/dist/admin/translations/fr.json.mjs +10 -2
  216. package/dist/admin/translations/fr.json.mjs.map +1 -1
  217. package/dist/admin/translations/ru.json.js +235 -226
  218. package/dist/admin/translations/ru.json.js.map +1 -1
  219. package/dist/admin/translations/ru.json.mjs +230 -226
  220. package/dist/admin/translations/ru.json.mjs.map +1 -1
  221. package/dist/admin/utils/api.js +1 -1
  222. package/dist/admin/utils/api.js.map +1 -1
  223. package/dist/admin/utils/api.mjs +1 -1
  224. package/dist/admin/utils/api.mjs.map +1 -1
  225. package/dist/admin/utils/validation.js +19 -7
  226. package/dist/admin/utils/validation.js.map +1 -1
  227. package/dist/admin/utils/validation.mjs +19 -7
  228. package/dist/admin/utils/validation.mjs.map +1 -1
  229. package/dist/server/controllers/content-types.js +11 -1
  230. package/dist/server/controllers/content-types.js.map +1 -1
  231. package/dist/server/controllers/content-types.mjs +11 -1
  232. package/dist/server/controllers/content-types.mjs.map +1 -1
  233. package/dist/server/controllers/index.js +3 -1
  234. package/dist/server/controllers/index.js.map +1 -1
  235. package/dist/server/controllers/index.mjs +3 -1
  236. package/dist/server/controllers/index.mjs.map +1 -1
  237. package/dist/server/controllers/relations.js +2 -2
  238. package/dist/server/controllers/relations.js.map +1 -1
  239. package/dist/server/controllers/relations.mjs +2 -2
  240. package/dist/server/controllers/relations.mjs.map +1 -1
  241. package/dist/server/controllers/validation/index.js +14 -2
  242. package/dist/server/controllers/validation/index.js.map +1 -1
  243. package/dist/server/controllers/validation/index.mjs +14 -2
  244. package/dist/server/controllers/validation/index.mjs.map +1 -1
  245. package/dist/server/history/services/lifecycles.js +23 -19
  246. package/dist/server/history/services/lifecycles.js.map +1 -1
  247. package/dist/server/history/services/lifecycles.mjs +23 -19
  248. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  249. package/dist/server/homepage/controllers/homepage.js +62 -0
  250. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  251. package/dist/server/homepage/controllers/homepage.mjs +41 -0
  252. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  253. package/dist/server/homepage/controllers/index.js +10 -0
  254. package/dist/server/homepage/controllers/index.js.map +1 -0
  255. package/dist/server/homepage/controllers/index.mjs +8 -0
  256. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  257. package/dist/server/homepage/index.js +14 -0
  258. package/dist/server/homepage/index.js.map +1 -0
  259. package/dist/server/homepage/index.mjs +12 -0
  260. package/dist/server/homepage/index.mjs.map +1 -0
  261. package/dist/server/homepage/routes/homepage.js +36 -0
  262. package/dist/server/homepage/routes/homepage.js.map +1 -0
  263. package/dist/server/homepage/routes/homepage.mjs +34 -0
  264. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  265. package/dist/server/homepage/routes/index.js +13 -0
  266. package/dist/server/homepage/routes/index.js.map +1 -0
  267. package/dist/server/homepage/routes/index.mjs +11 -0
  268. package/dist/server/homepage/routes/index.mjs.map +1 -0
  269. package/dist/server/homepage/services/homepage.js +197 -0
  270. package/dist/server/homepage/services/homepage.js.map +1 -0
  271. package/dist/server/homepage/services/homepage.mjs +195 -0
  272. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  273. package/dist/server/homepage/services/index.js +10 -0
  274. package/dist/server/homepage/services/index.js.map +1 -0
  275. package/dist/server/homepage/services/index.mjs +8 -0
  276. package/dist/server/homepage/services/index.mjs.map +1 -0
  277. package/dist/server/preview/services/preview-config.js +5 -1
  278. package/dist/server/preview/services/preview-config.js.map +1 -1
  279. package/dist/server/preview/services/preview-config.mjs +5 -1
  280. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  281. package/dist/server/preview/services/preview.js +4 -1
  282. package/dist/server/preview/services/preview.js.map +1 -1
  283. package/dist/server/preview/services/preview.mjs +4 -1
  284. package/dist/server/preview/services/preview.mjs.map +1 -1
  285. package/dist/server/routes/index.js +3 -1
  286. package/dist/server/routes/index.js.map +1 -1
  287. package/dist/server/routes/index.mjs +3 -1
  288. package/dist/server/routes/index.mjs.map +1 -1
  289. package/dist/server/services/data-mapper.js +4 -1
  290. package/dist/server/services/data-mapper.js.map +1 -1
  291. package/dist/server/services/data-mapper.mjs +4 -1
  292. package/dist/server/services/data-mapper.mjs.map +1 -1
  293. package/dist/server/services/document-manager.js +8 -1
  294. package/dist/server/services/document-manager.js.map +1 -1
  295. package/dist/server/services/document-manager.mjs +8 -1
  296. package/dist/server/services/document-manager.mjs.map +1 -1
  297. package/dist/server/services/document-metadata.js +3 -1
  298. package/dist/server/services/document-metadata.js.map +1 -1
  299. package/dist/server/services/document-metadata.mjs +3 -1
  300. package/dist/server/services/document-metadata.mjs.map +1 -1
  301. package/dist/server/services/index.js +3 -1
  302. package/dist/server/services/index.js.map +1 -1
  303. package/dist/server/services/index.mjs +3 -1
  304. package/dist/server/services/index.mjs.map +1 -1
  305. package/dist/server/services/utils/configuration/attributes.js +1 -1
  306. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  307. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  308. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  309. package/dist/server/services/utils/configuration/layouts.js +1 -1
  310. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  311. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  312. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  313. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  314. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  315. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  316. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  317. package/dist/server/services/utils/populate.js +11 -0
  318. package/dist/server/services/utils/populate.js.map +1 -1
  319. package/dist/server/services/utils/populate.mjs +11 -0
  320. package/dist/server/services/utils/populate.mjs.map +1 -1
  321. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  322. package/dist/server/src/controllers/index.d.ts.map +1 -1
  323. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  324. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  325. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  326. package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
  327. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  328. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  329. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  330. package/dist/server/src/homepage/index.d.ts +23 -0
  331. package/dist/server/src/homepage/index.d.ts.map +1 -0
  332. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  333. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  334. package/dist/server/src/homepage/routes/index.d.ts +8 -0
  335. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  336. package/dist/server/src/homepage/services/homepage.d.ts +14 -0
  337. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  338. package/dist/server/src/homepage/services/index.d.ts +16 -0
  339. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  340. package/dist/server/src/index.d.ts +14 -0
  341. package/dist/server/src/index.d.ts.map +1 -1
  342. package/dist/server/src/preview/services/index.d.ts +1 -0
  343. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  344. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  345. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  346. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  347. package/dist/server/src/preview/utils.d.ts +1 -0
  348. package/dist/server/src/preview/utils.d.ts.map +1 -1
  349. package/dist/server/src/routes/index.d.ts +1 -0
  350. package/dist/server/src/routes/index.d.ts.map +1 -1
  351. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  352. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  353. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  354. package/dist/server/src/services/index.d.ts +13 -0
  355. package/dist/server/src/services/index.d.ts.map +1 -1
  356. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  357. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  358. package/dist/shared/contracts/collection-types.d.ts +0 -1
  359. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  360. package/dist/shared/contracts/homepage.d.ts +38 -0
  361. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  362. package/package.json +11 -9
@@ -0,0 +1,439 @@
1
+ // NOTE: This override is for the properties on _user's site_, it's not about Strapi Admin.
2
+ /**
3
+ * previewScript will be injected into the preview iframe after being stringified.
4
+ * Therefore it CANNOT use any imports, or refer to any variables outside of its own scope.
5
+ * It's why many functions are defined within previewScript, it's the only way to avoid going full spaghetti.
6
+ * To get a better overview of everything previewScript does, go to the orchestration part at its end.
7
+ */ const previewScript = (shouldRun = true)=>{
8
+ /* -----------------------------------------------------------------------------------------------
9
+ * Params
10
+ * ---------------------------------------------------------------------------------------------*/ const HIGHLIGHT_PADDING = 2; // in pixels
11
+ const HIGHLIGHT_HOVER_COLOR = window.STRAPI_HIGHLIGHT_HOVER_COLOR ?? '#4945ff'; // dark primary500
12
+ const HIGHLIGHT_ACTIVE_COLOR = window.STRAPI_HIGHLIGHT_ACTIVE_COLOR ?? '#7b79ff'; // dark primary600
13
+ const DISABLE_STEGA_DECODING = window.STRAPI_DISABLE_STEGA_DECODING ?? false;
14
+ const SOURCE_ATTRIBUTE = 'data-strapi-source';
15
+ const OVERLAY_ID = 'strapi-preview-overlay';
16
+ const INTERNAL_EVENTS = {
17
+ STRAPI_FIELD_FOCUS: 'strapiFieldFocus',
18
+ STRAPI_FIELD_BLUR: 'strapiFieldBlur',
19
+ STRAPI_FIELD_CHANGE: 'strapiFieldChange',
20
+ STRAPI_FIELD_FOCUS_INTENT: 'strapiFieldFocusIntent'
21
+ };
22
+ /**
23
+ * Calling the function in no-run mode lets us retrieve the constants from other files and keep
24
+ * a single source of truth for them. It's the only way to do this because this script can't
25
+ * refer to any variables outside of its own scope, because it's stringified before it's run.
26
+ */ if (!shouldRun) {
27
+ return {
28
+ INTERNAL_EVENTS
29
+ };
30
+ }
31
+ /* -----------------------------------------------------------------------------------------------
32
+ * Utils
33
+ * ---------------------------------------------------------------------------------------------*/ const sendMessage = (type, payload)=>{
34
+ window.parent.postMessage({
35
+ type,
36
+ payload
37
+ }, '*');
38
+ };
39
+ /* -----------------------------------------------------------------------------------------------
40
+ * Functionality pieces
41
+ * ---------------------------------------------------------------------------------------------*/ const setupStegaDOMObserver = async ()=>{
42
+ if (DISABLE_STEGA_DECODING) {
43
+ return;
44
+ }
45
+ const { vercelStegaDecode: stegaDecode } = await import(// @ts-expect-error it's not a local dependency
46
+ // eslint-disable-next-line import/no-unresolved
47
+ 'https://cdn.jsdelivr.net/npm/@vercel/stega@0.1.2/+esm');
48
+ const processElementForStega = (element)=>{
49
+ const directTextContent = Array.from(element.childNodes).filter((node)=>node.nodeType === Node.TEXT_NODE).map((node)=>node.textContent || '').join('');
50
+ if (directTextContent) {
51
+ try {
52
+ const result = stegaDecode(directTextContent);
53
+ if (result) {
54
+ element.setAttribute(SOURCE_ATTRIBUTE, result.key);
55
+ }
56
+ } catch (error) {}
57
+ }
58
+ };
59
+ // Process all existing elements
60
+ const allElements = document.querySelectorAll('*');
61
+ Array.from(allElements).forEach(processElementForStega);
62
+ // Create observer for new elements and text changes
63
+ const observer = new MutationObserver((mutations)=>{
64
+ mutations.forEach((mutation)=>{
65
+ // Handle added nodes
66
+ if (mutation.type === 'childList') {
67
+ mutation.addedNodes.forEach((node)=>{
68
+ if (node.nodeType === Node.ELEMENT_NODE) {
69
+ const element = node;
70
+ // Process the added element
71
+ processElementForStega(element);
72
+ // Process all child elements
73
+ const childElements = element.querySelectorAll('*');
74
+ Array.from(childElements).forEach(processElementForStega);
75
+ }
76
+ });
77
+ }
78
+ // Handle text content changes
79
+ if (mutation.type === 'characterData' && mutation.target.parentElement) {
80
+ processElementForStega(mutation.target.parentElement);
81
+ }
82
+ });
83
+ });
84
+ observer.observe(document, {
85
+ childList: true,
86
+ subtree: true,
87
+ characterData: true
88
+ });
89
+ return observer;
90
+ };
91
+ const createOverlaySystem = ()=>{
92
+ // Clean up before creating a new overlay so we can safely call previewScript multiple times
93
+ window.__strapi_previewCleanup?.();
94
+ document.getElementById(OVERLAY_ID)?.remove();
95
+ const overlay = document.createElement('div');
96
+ overlay.id = OVERLAY_ID;
97
+ overlay.style.cssText = `
98
+ position: fixed;
99
+ top: 0;
100
+ left: 0;
101
+ width: 100%;
102
+ height: 100%;
103
+ pointer-events: none;
104
+ z-index: 9999;
105
+ `;
106
+ window.document.body.appendChild(overlay);
107
+ return overlay;
108
+ };
109
+ const createHighlightManager = (overlay)=>{
110
+ const elementToHighlight = new Map();
111
+ const eventListeners = [];
112
+ const focusedHighlights = [];
113
+ let focusedField = null;
114
+ const drawHighlight = (target, highlight)=>{
115
+ if (!highlight) return;
116
+ const rect = target.getBoundingClientRect();
117
+ highlight.style.width = `${rect.width + HIGHLIGHT_PADDING * 2}px`;
118
+ highlight.style.height = `${rect.height + HIGHLIGHT_PADDING * 2}px`;
119
+ highlight.style.transform = `translate(${rect.left - HIGHLIGHT_PADDING}px, ${rect.top - HIGHLIGHT_PADDING}px)`;
120
+ };
121
+ const updateAllHighlights = ()=>{
122
+ elementToHighlight.forEach((highlight, element)=>{
123
+ drawHighlight(element, highlight);
124
+ });
125
+ };
126
+ const createHighlightForElement = (element)=>{
127
+ if (elementToHighlight.has(element)) {
128
+ return; // Already has a highlight
129
+ }
130
+ const highlight = document.createElement('div');
131
+ highlight.style.cssText = `
132
+ position: absolute;
133
+ outline: 2px solid transparent;
134
+ pointer-events: none;
135
+ border-radius: 2px;
136
+ background-color: transparent;
137
+ will-change: transform;
138
+ transition: outline-color 0.1s ease-in-out;
139
+ `;
140
+ // Move hover detection to the underlying element
141
+ const mouseEnterHandler = ()=>{
142
+ if (!focusedHighlights.includes(highlight)) {
143
+ highlight.style.outlineColor = HIGHLIGHT_HOVER_COLOR;
144
+ }
145
+ };
146
+ const mouseLeaveHandler = ()=>{
147
+ if (!focusedHighlights.includes(highlight)) {
148
+ highlight.style.outlineColor = 'transparent';
149
+ }
150
+ };
151
+ const doubleClickHandler = ()=>{
152
+ const sourceAttribute = element.getAttribute(SOURCE_ATTRIBUTE);
153
+ if (sourceAttribute) {
154
+ const rect = element.getBoundingClientRect();
155
+ sendMessage(INTERNAL_EVENTS.STRAPI_FIELD_FOCUS_INTENT, {
156
+ path: sourceAttribute,
157
+ position: {
158
+ top: rect.top,
159
+ left: rect.left,
160
+ right: rect.right,
161
+ bottom: rect.bottom,
162
+ width: rect.width,
163
+ height: rect.height
164
+ }
165
+ });
166
+ }
167
+ };
168
+ const mouseDownHandler = (event)=>{
169
+ // Prevent default multi click to select behavior
170
+ if (event.detail >= 2) {
171
+ event.preventDefault();
172
+ }
173
+ };
174
+ element.addEventListener('mouseenter', mouseEnterHandler);
175
+ element.addEventListener('mouseleave', mouseLeaveHandler);
176
+ element.addEventListener('dblclick', doubleClickHandler);
177
+ element.addEventListener('mousedown', mouseDownHandler);
178
+ // Store event listeners for cleanup
179
+ eventListeners.push({
180
+ element,
181
+ type: 'mouseenter',
182
+ handler: mouseEnterHandler
183
+ }, {
184
+ element,
185
+ type: 'mouseleave',
186
+ handler: mouseLeaveHandler
187
+ }, {
188
+ element,
189
+ type: 'dblclick',
190
+ handler: doubleClickHandler
191
+ }, {
192
+ element,
193
+ type: 'mousedown',
194
+ handler: mouseDownHandler
195
+ });
196
+ elementToHighlight.set(element, highlight);
197
+ overlay.appendChild(highlight);
198
+ drawHighlight(element, highlight);
199
+ };
200
+ const removeHighlightForElement = (element)=>{
201
+ const highlight = elementToHighlight.get(element);
202
+ if (!highlight) return;
203
+ highlight.remove();
204
+ elementToHighlight.delete(element);
205
+ // Remove event listeners for this element
206
+ const listenersToRemove = eventListeners.filter((listener)=>listener.element === element);
207
+ listenersToRemove.forEach(({ element, type, handler })=>{
208
+ element.removeEventListener(type, handler);
209
+ });
210
+ // Mutate eventListeners to remove listeners for this element
211
+ eventListeners.splice(0, eventListeners.length, ...eventListeners.filter((listener)=>listener.element !== element));
212
+ };
213
+ // Process all existing elements with source attributes
214
+ const initialElements = window.document.querySelectorAll(`[${SOURCE_ATTRIBUTE}]`);
215
+ Array.from(initialElements).forEach((element)=>{
216
+ if (element instanceof HTMLElement) {
217
+ createHighlightForElement(element);
218
+ }
219
+ });
220
+ return {
221
+ get elements () {
222
+ return Array.from(elementToHighlight.keys());
223
+ },
224
+ get highlights () {
225
+ return Array.from(elementToHighlight.values());
226
+ },
227
+ updateAllHighlights,
228
+ eventListeners,
229
+ focusedHighlights,
230
+ createHighlightForElement,
231
+ removeHighlightForElement,
232
+ setFocusedField: (field)=>{
233
+ focusedField = field;
234
+ },
235
+ getFocusedField: ()=>focusedField
236
+ };
237
+ };
238
+ const setupObservers = (highlightManager, stegaObserver)=>{
239
+ const resizeObserver = new ResizeObserver(()=>{
240
+ highlightManager.updateAllHighlights();
241
+ });
242
+ const observeElementForResize = (element)=>{
243
+ resizeObserver.observe(element);
244
+ };
245
+ // Observe existing elements
246
+ highlightManager.elements.forEach(observeElementForResize);
247
+ resizeObserver.observe(document.documentElement);
248
+ // Create highlight observer to watch for new elements with source attributes
249
+ const highlightObserver = new MutationObserver((mutations)=>{
250
+ mutations.forEach((mutation)=>{
251
+ if (mutation.type === 'attributes' && mutation.attributeName === SOURCE_ATTRIBUTE) {
252
+ const target = mutation.target;
253
+ if (target.hasAttribute(SOURCE_ATTRIBUTE)) {
254
+ highlightManager.createHighlightForElement(target);
255
+ observeElementForResize(target);
256
+ } else {
257
+ highlightManager.removeHighlightForElement(target);
258
+ }
259
+ }
260
+ if (mutation.type === 'childList') {
261
+ mutation.addedNodes.forEach((node)=>{
262
+ if (node.nodeType === Node.ELEMENT_NODE) {
263
+ const element = node;
264
+ // Check if the added element has source attribute
265
+ if (element.hasAttribute(SOURCE_ATTRIBUTE) && element instanceof HTMLElement) {
266
+ highlightManager.createHighlightForElement(element);
267
+ observeElementForResize(element);
268
+ }
269
+ // Check all child elements for source attributes
270
+ const elementsWithSource = element.querySelectorAll(`[${SOURCE_ATTRIBUTE}]`);
271
+ Array.from(elementsWithSource).forEach((childElement)=>{
272
+ if (childElement instanceof HTMLElement) {
273
+ highlightManager.createHighlightForElement(childElement);
274
+ observeElementForResize(childElement);
275
+ }
276
+ });
277
+ }
278
+ });
279
+ mutation.removedNodes.forEach((node)=>{
280
+ if (node.nodeType === Node.ELEMENT_NODE) {
281
+ const element = node;
282
+ highlightManager.removeHighlightForElement(element);
283
+ }
284
+ });
285
+ }
286
+ });
287
+ });
288
+ highlightObserver.observe(document, {
289
+ childList: true,
290
+ subtree: true,
291
+ attributes: true,
292
+ attributeFilter: [
293
+ SOURCE_ATTRIBUTE
294
+ ]
295
+ });
296
+ const updateOnScroll = ()=>{
297
+ highlightManager.updateAllHighlights();
298
+ };
299
+ const scrollableElements = new Set();
300
+ scrollableElements.add(window);
301
+ const findScrollableAncestors = ()=>{
302
+ // Clear existing scrollable elements (except window)
303
+ scrollableElements.forEach((element)=>{
304
+ if (element !== window) {
305
+ element.removeEventListener('scroll', updateOnScroll);
306
+ }
307
+ });
308
+ scrollableElements.clear();
309
+ scrollableElements.add(window);
310
+ // Find all scrollable ancestors for all tracked elements
311
+ highlightManager.elements.forEach((element)=>{
312
+ let parent = element.parentElement;
313
+ while(parent){
314
+ const computedStyle = window.getComputedStyle(parent);
315
+ const overflow = computedStyle.overflow + computedStyle.overflowX + computedStyle.overflowY;
316
+ if (overflow.includes('scroll') || overflow.includes('auto')) {
317
+ scrollableElements.add(parent);
318
+ }
319
+ parent = parent.parentElement;
320
+ }
321
+ });
322
+ // Add scroll listeners to all scrollable elements
323
+ scrollableElements.forEach((element)=>{
324
+ if (element === window) {
325
+ window.addEventListener('scroll', updateOnScroll);
326
+ window.addEventListener('resize', updateOnScroll);
327
+ } else {
328
+ element.addEventListener('scroll', updateOnScroll);
329
+ }
330
+ });
331
+ };
332
+ // Initial setup of scrollable elements
333
+ findScrollableAncestors();
334
+ return {
335
+ resizeObserver,
336
+ highlightObserver,
337
+ stegaObserver,
338
+ updateOnScroll,
339
+ scrollableElements,
340
+ findScrollableAncestors
341
+ };
342
+ };
343
+ const setupEventHandlers = (highlightManager)=>{
344
+ const handleMessage = (event)=>{
345
+ if (!event.data?.type) return;
346
+ // The user typed in an input, reflect the change in the preview
347
+ if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_CHANGE) {
348
+ const { field, value } = event.data.payload;
349
+ if (!field) return;
350
+ const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}="${field}"]`);
351
+ matchingElements.forEach((element)=>{
352
+ if (element instanceof HTMLElement) {
353
+ element.textContent = value || '';
354
+ }
355
+ });
356
+ // Update highlight dimensions since the new text content may affect them
357
+ highlightManager.updateAllHighlights();
358
+ return;
359
+ }
360
+ // The user focused a new input, update the highlights in the preview
361
+ if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_FOCUS) {
362
+ const { field } = event.data.payload;
363
+ if (!field) return;
364
+ // Clear existing focused highlights
365
+ highlightManager.focusedHighlights.forEach((highlight)=>{
366
+ highlight.style.outlineColor = 'transparent';
367
+ });
368
+ highlightManager.focusedHighlights.length = 0;
369
+ // Set new focused field and highlight matching elements
370
+ highlightManager.setFocusedField(field);
371
+ const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}="${field}"]`);
372
+ matchingElements.forEach((element)=>{
373
+ const highlight = highlightManager.highlights[Array.from(highlightManager.elements).indexOf(element)];
374
+ if (highlight) {
375
+ highlight.style.outlineColor = HIGHLIGHT_ACTIVE_COLOR;
376
+ highlight.style.outlineWidth = '3px';
377
+ highlightManager.focusedHighlights.push(highlight);
378
+ }
379
+ });
380
+ return;
381
+ }
382
+ // The user is no longer focusing an input, remove the highlights
383
+ if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_BLUR) {
384
+ const { field } = event.data.payload;
385
+ if (field !== highlightManager.getFocusedField()) return;
386
+ highlightManager.focusedHighlights.forEach((highlight)=>{
387
+ highlight.style.outlineColor = 'transparent';
388
+ highlight.style.outlineWidth = '2px';
389
+ });
390
+ highlightManager.focusedHighlights.length = 0;
391
+ highlightManager.setFocusedField(null);
392
+ }
393
+ };
394
+ window.addEventListener('message', handleMessage);
395
+ // Add the message handler to the cleanup list
396
+ const messageEventListener = {
397
+ element: window,
398
+ type: 'message',
399
+ handler: handleMessage
400
+ };
401
+ return [
402
+ ...highlightManager.eventListeners,
403
+ messageEventListener
404
+ ];
405
+ };
406
+ const createCleanupSystem = (overlay, observers, eventHandlers)=>{
407
+ window.__strapi_previewCleanup = ()=>{
408
+ observers.resizeObserver.disconnect();
409
+ observers.highlightObserver.disconnect();
410
+ observers.stegaObserver?.disconnect();
411
+ // Remove all scroll listeners
412
+ observers.scrollableElements.forEach((element)=>{
413
+ if (element === window) {
414
+ window.removeEventListener('scroll', observers.updateOnScroll);
415
+ window.removeEventListener('resize', observers.updateOnScroll);
416
+ } else {
417
+ element.removeEventListener('scroll', observers.updateOnScroll);
418
+ }
419
+ });
420
+ // Remove highlight event listeners
421
+ eventHandlers.forEach(({ element, type, handler })=>{
422
+ element.removeEventListener(type, handler);
423
+ });
424
+ overlay.remove();
425
+ };
426
+ };
427
+ /* -----------------------------------------------------------------------------------------------
428
+ * Orchestration
429
+ * ---------------------------------------------------------------------------------------------*/ setupStegaDOMObserver().then((stegaObserver)=>{
430
+ const overlay = createOverlaySystem();
431
+ const highlightManager = createHighlightManager(overlay);
432
+ const observers = setupObservers(highlightManager, stegaObserver);
433
+ const eventHandlers = setupEventHandlers(highlightManager);
434
+ createCleanupSystem(overlay, observers, eventHandlers);
435
+ });
436
+ };
437
+
438
+ export { previewScript };
439
+ //# sourceMappingURL=previewScript.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewScript.mjs","sources":["../../../../admin/src/preview/utils/previewScript.ts"],"sourcesContent":["// NOTE: This override is for the properties on _user's site_, it's not about Strapi Admin.\ndeclare global {\n interface Window {\n __strapi_previewCleanup?: () => void;\n STRAPI_HIGHLIGHT_HOVER_COLOR?: string;\n STRAPI_HIGHLIGHT_ACTIVE_COLOR?: string;\n STRAPI_DISABLE_STEGA_DECODING?: boolean;\n }\n}\n\n/**\n * previewScript will be injected into the preview iframe after being stringified.\n * Therefore it CANNOT use any imports, or refer to any variables outside of its own scope.\n * It's why many functions are defined within previewScript, it's the only way to avoid going full spaghetti.\n * To get a better overview of everything previewScript does, go to the orchestration part at its end.\n */\nconst previewScript = (shouldRun = true) => {\n /* -----------------------------------------------------------------------------------------------\n * Params\n * ---------------------------------------------------------------------------------------------*/\n const HIGHLIGHT_PADDING = 2; // in pixels\n const HIGHLIGHT_HOVER_COLOR = window.STRAPI_HIGHLIGHT_HOVER_COLOR ?? '#4945ff'; // dark primary500\n const HIGHLIGHT_ACTIVE_COLOR = window.STRAPI_HIGHLIGHT_ACTIVE_COLOR ?? '#7b79ff'; // dark primary600\n\n const DISABLE_STEGA_DECODING = window.STRAPI_DISABLE_STEGA_DECODING ?? false;\n const SOURCE_ATTRIBUTE = 'data-strapi-source';\n const OVERLAY_ID = 'strapi-preview-overlay';\n const INTERNAL_EVENTS = {\n STRAPI_FIELD_FOCUS: 'strapiFieldFocus',\n STRAPI_FIELD_BLUR: 'strapiFieldBlur',\n STRAPI_FIELD_CHANGE: 'strapiFieldChange',\n STRAPI_FIELD_FOCUS_INTENT: 'strapiFieldFocusIntent',\n } as const;\n\n /**\n * Calling the function in no-run mode lets us retrieve the constants from other files and keep\n * a single source of truth for them. It's the only way to do this because this script can't\n * refer to any variables outside of its own scope, because it's stringified before it's run.\n */\n if (!shouldRun) {\n return { INTERNAL_EVENTS };\n }\n\n /* -----------------------------------------------------------------------------------------------\n * Utils\n * ---------------------------------------------------------------------------------------------*/\n\n const sendMessage = (\n type: (typeof INTERNAL_EVENTS)[keyof typeof INTERNAL_EVENTS],\n payload: unknown\n ) => {\n window.parent.postMessage({ type, payload }, '*');\n };\n\n /* -----------------------------------------------------------------------------------------------\n * Functionality pieces\n * ---------------------------------------------------------------------------------------------*/\n\n const setupStegaDOMObserver = async () => {\n if (DISABLE_STEGA_DECODING) {\n return;\n }\n\n const { vercelStegaDecode: stegaDecode } = await import(\n // @ts-expect-error it's not a local dependency\n // eslint-disable-next-line import/no-unresolved\n 'https://cdn.jsdelivr.net/npm/@vercel/stega@0.1.2/+esm'\n );\n\n const processElementForStega = (element: Element) => {\n const directTextContent = Array.from(element.childNodes)\n .filter((node) => node.nodeType === Node.TEXT_NODE)\n .map((node) => node.textContent || '')\n .join('');\n\n if (directTextContent) {\n try {\n const result = stegaDecode(directTextContent);\n if (result) {\n element.setAttribute(SOURCE_ATTRIBUTE, result.key);\n }\n } catch (error) {}\n }\n };\n\n // Process all existing elements\n const allElements = document.querySelectorAll('*');\n Array.from(allElements).forEach(processElementForStega);\n\n // Create observer for new elements and text changes\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n // Handle added nodes\n if (mutation.type === 'childList') {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as Element;\n // Process the added element\n processElementForStega(element);\n // Process all child elements\n const childElements = element.querySelectorAll('*');\n Array.from(childElements).forEach(processElementForStega);\n }\n });\n }\n\n // Handle text content changes\n if (mutation.type === 'characterData' && mutation.target.parentElement) {\n processElementForStega(mutation.target.parentElement);\n }\n });\n });\n\n observer.observe(document, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n\n return observer;\n };\n\n const createOverlaySystem = () => {\n // Clean up before creating a new overlay so we can safely call previewScript multiple times\n window.__strapi_previewCleanup?.();\n document.getElementById(OVERLAY_ID)?.remove();\n\n const overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n overlay.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 9999;\n `;\n\n window.document.body.appendChild(overlay);\n return overlay;\n };\n\n type EventListenersList = Array<{\n element: HTMLElement | Window;\n type: keyof HTMLElementEventMap | 'message';\n handler: EventListener;\n }>;\n\n const createHighlightManager = (overlay: HTMLElement) => {\n const elementToHighlight = new Map<Element, HTMLElement>();\n const eventListeners: EventListenersList = [];\n const focusedHighlights: HTMLElement[] = [];\n let focusedField: string | null = null;\n\n const drawHighlight = (target: Element, highlight: HTMLElement) => {\n if (!highlight) return;\n\n const rect = target.getBoundingClientRect();\n highlight.style.width = `${rect.width + HIGHLIGHT_PADDING * 2}px`;\n highlight.style.height = `${rect.height + HIGHLIGHT_PADDING * 2}px`;\n highlight.style.transform = `translate(${rect.left - HIGHLIGHT_PADDING}px, ${rect.top - HIGHLIGHT_PADDING}px)`;\n };\n\n const updateAllHighlights = () => {\n elementToHighlight.forEach((highlight, element) => {\n drawHighlight(element, highlight);\n });\n };\n\n const createHighlightForElement = (element: HTMLElement) => {\n if (elementToHighlight.has(element)) {\n return; // Already has a highlight\n }\n\n const highlight = document.createElement('div');\n highlight.style.cssText = `\n position: absolute;\n outline: 2px solid transparent;\n pointer-events: none;\n border-radius: 2px;\n background-color: transparent;\n will-change: transform;\n transition: outline-color 0.1s ease-in-out;\n `;\n\n // Move hover detection to the underlying element\n const mouseEnterHandler = () => {\n if (!focusedHighlights.includes(highlight)) {\n highlight.style.outlineColor = HIGHLIGHT_HOVER_COLOR;\n }\n };\n const mouseLeaveHandler = () => {\n if (!focusedHighlights.includes(highlight)) {\n highlight.style.outlineColor = 'transparent';\n }\n };\n const doubleClickHandler = () => {\n const sourceAttribute = element.getAttribute(SOURCE_ATTRIBUTE);\n if (sourceAttribute) {\n const rect = element.getBoundingClientRect();\n sendMessage(INTERNAL_EVENTS.STRAPI_FIELD_FOCUS_INTENT, {\n path: sourceAttribute,\n position: {\n top: rect.top,\n left: rect.left,\n right: rect.right,\n bottom: rect.bottom,\n width: rect.width,\n height: rect.height,\n },\n });\n }\n };\n const mouseDownHandler = (event: MouseEvent) => {\n // Prevent default multi click to select behavior\n if (event.detail >= 2) {\n event.preventDefault();\n }\n };\n\n element.addEventListener('mouseenter', mouseEnterHandler);\n element.addEventListener('mouseleave', mouseLeaveHandler);\n element.addEventListener('dblclick', doubleClickHandler);\n element.addEventListener('mousedown', mouseDownHandler);\n\n // Store event listeners for cleanup\n eventListeners.push(\n { element, type: 'mouseenter', handler: mouseEnterHandler },\n { element, type: 'mouseleave', handler: mouseLeaveHandler },\n { element, type: 'dblclick', handler: doubleClickHandler },\n { element, type: 'mousedown', handler: mouseDownHandler as EventListener }\n );\n\n elementToHighlight.set(element, highlight);\n overlay.appendChild(highlight);\n drawHighlight(element, highlight);\n };\n\n const removeHighlightForElement = (element: Element) => {\n const highlight = elementToHighlight.get(element);\n\n if (!highlight) return;\n\n highlight.remove();\n elementToHighlight.delete(element);\n\n // Remove event listeners for this element\n const listenersToRemove = eventListeners.filter((listener) => listener.element === element);\n listenersToRemove.forEach(({ element, type, handler }) => {\n element.removeEventListener(type, handler);\n });\n\n // Mutate eventListeners to remove listeners for this element\n eventListeners.splice(\n 0,\n eventListeners.length,\n ...eventListeners.filter((listener) => listener.element !== element)\n );\n };\n\n // Process all existing elements with source attributes\n const initialElements = window.document.querySelectorAll(`[${SOURCE_ATTRIBUTE}]`);\n Array.from(initialElements).forEach((element) => {\n if (element instanceof HTMLElement) {\n createHighlightForElement(element);\n }\n });\n\n return {\n get elements() {\n return Array.from(elementToHighlight.keys());\n },\n get highlights() {\n return Array.from(elementToHighlight.values());\n },\n updateAllHighlights,\n eventListeners,\n focusedHighlights,\n createHighlightForElement,\n removeHighlightForElement,\n setFocusedField: (field: string | null) => {\n focusedField = field;\n },\n getFocusedField: () => focusedField,\n };\n };\n\n type HighlightManager = ReturnType<typeof createHighlightManager>;\n\n const setupObservers = (\n highlightManager: HighlightManager,\n stegaObserver: MutationObserver | undefined\n ) => {\n const resizeObserver = new ResizeObserver(() => {\n highlightManager.updateAllHighlights();\n });\n\n const observeElementForResize = (element: Element) => {\n resizeObserver.observe(element);\n };\n\n // Observe existing elements\n highlightManager.elements.forEach(observeElementForResize);\n resizeObserver.observe(document.documentElement);\n\n // Create highlight observer to watch for new elements with source attributes\n const highlightObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === SOURCE_ATTRIBUTE) {\n const target = mutation.target as HTMLElement;\n if (target.hasAttribute(SOURCE_ATTRIBUTE)) {\n highlightManager.createHighlightForElement(target);\n observeElementForResize(target);\n } else {\n highlightManager.removeHighlightForElement(target);\n }\n }\n\n if (mutation.type === 'childList') {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as Element;\n // Check if the added element has source attribute\n if (element.hasAttribute(SOURCE_ATTRIBUTE) && element instanceof HTMLElement) {\n highlightManager.createHighlightForElement(element);\n observeElementForResize(element);\n }\n // Check all child elements for source attributes\n const elementsWithSource = element.querySelectorAll(`[${SOURCE_ATTRIBUTE}]`);\n Array.from(elementsWithSource).forEach((childElement) => {\n if (childElement instanceof HTMLElement) {\n highlightManager.createHighlightForElement(childElement);\n observeElementForResize(childElement);\n }\n });\n }\n });\n\n mutation.removedNodes.forEach((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as Element;\n highlightManager.removeHighlightForElement(element);\n }\n });\n }\n });\n });\n\n highlightObserver.observe(document, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: [SOURCE_ATTRIBUTE],\n });\n\n const updateOnScroll = () => {\n highlightManager.updateAllHighlights();\n };\n\n const scrollableElements = new Set<Element | Window>();\n scrollableElements.add(window);\n\n const findScrollableAncestors = () => {\n // Clear existing scrollable elements (except window)\n scrollableElements.forEach((element) => {\n if (element !== window) {\n (element as Element).removeEventListener('scroll', updateOnScroll);\n }\n });\n scrollableElements.clear();\n scrollableElements.add(window);\n\n // Find all scrollable ancestors for all tracked elements\n highlightManager.elements.forEach((element) => {\n let parent = element.parentElement;\n while (parent) {\n const computedStyle = window.getComputedStyle(parent);\n const overflow =\n computedStyle.overflow + computedStyle.overflowX + computedStyle.overflowY;\n\n if (overflow.includes('scroll') || overflow.includes('auto')) {\n scrollableElements.add(parent);\n }\n\n parent = parent.parentElement;\n }\n });\n\n // Add scroll listeners to all scrollable elements\n scrollableElements.forEach((element) => {\n if (element === window) {\n window.addEventListener('scroll', updateOnScroll);\n window.addEventListener('resize', updateOnScroll);\n } else {\n element.addEventListener('scroll', updateOnScroll);\n }\n });\n };\n\n // Initial setup of scrollable elements\n findScrollableAncestors();\n\n return {\n resizeObserver,\n highlightObserver,\n stegaObserver,\n updateOnScroll,\n scrollableElements,\n findScrollableAncestors,\n };\n };\n\n const setupEventHandlers = (highlightManager: HighlightManager) => {\n const handleMessage = (event: MessageEvent) => {\n if (!event.data?.type) return;\n\n // The user typed in an input, reflect the change in the preview\n if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_CHANGE) {\n const { field, value } = event.data.payload;\n if (!field) return;\n\n const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}=\"${field}\"]`);\n matchingElements.forEach((element) => {\n if (element instanceof HTMLElement) {\n element.textContent = value || '';\n }\n });\n\n // Update highlight dimensions since the new text content may affect them\n highlightManager.updateAllHighlights();\n return;\n }\n\n // The user focused a new input, update the highlights in the preview\n if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_FOCUS) {\n const { field } = event.data.payload;\n if (!field) return;\n\n // Clear existing focused highlights\n highlightManager.focusedHighlights.forEach((highlight: HTMLElement) => {\n highlight.style.outlineColor = 'transparent';\n });\n highlightManager.focusedHighlights.length = 0;\n\n // Set new focused field and highlight matching elements\n highlightManager.setFocusedField(field);\n const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}=\"${field}\"]`);\n matchingElements.forEach((element) => {\n const highlight =\n highlightManager.highlights[Array.from(highlightManager.elements).indexOf(element)];\n if (highlight) {\n highlight.style.outlineColor = HIGHLIGHT_ACTIVE_COLOR;\n highlight.style.outlineWidth = '3px';\n highlightManager.focusedHighlights.push(highlight);\n }\n });\n return;\n }\n\n // The user is no longer focusing an input, remove the highlights\n if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_BLUR) {\n const { field } = event.data.payload;\n if (field !== highlightManager.getFocusedField()) return;\n\n highlightManager.focusedHighlights.forEach((highlight: HTMLElement) => {\n highlight.style.outlineColor = 'transparent';\n highlight.style.outlineWidth = '2px';\n });\n highlightManager.focusedHighlights.length = 0;\n highlightManager.setFocusedField(null);\n }\n };\n\n window.addEventListener('message', handleMessage);\n\n // Add the message handler to the cleanup list\n const messageEventListener = {\n element: window,\n type: 'message' as keyof HTMLElementEventMap,\n handler: handleMessage as EventListener,\n };\n\n return [...highlightManager.eventListeners, messageEventListener];\n };\n\n const createCleanupSystem = (\n overlay: HTMLElement,\n observers: ReturnType<typeof setupObservers>,\n eventHandlers: EventListenersList\n ) => {\n window.__strapi_previewCleanup = () => {\n observers.resizeObserver.disconnect();\n observers.highlightObserver.disconnect();\n observers.stegaObserver?.disconnect();\n\n // Remove all scroll listeners\n observers.scrollableElements.forEach((element) => {\n if (element === window) {\n window.removeEventListener('scroll', observers.updateOnScroll);\n window.removeEventListener('resize', observers.updateOnScroll);\n } else {\n (element as Element).removeEventListener('scroll', observers.updateOnScroll);\n }\n });\n\n // Remove highlight event listeners\n eventHandlers.forEach(({ element, type, handler }) => {\n element.removeEventListener(type, handler);\n });\n\n overlay.remove();\n };\n };\n\n /* -----------------------------------------------------------------------------------------------\n * Orchestration\n * ---------------------------------------------------------------------------------------------*/\n\n setupStegaDOMObserver().then((stegaObserver) => {\n const overlay = createOverlaySystem();\n const highlightManager = createHighlightManager(overlay);\n const observers = setupObservers(highlightManager, stegaObserver);\n const eventHandlers = setupEventHandlers(highlightManager);\n createCleanupSystem(overlay, observers, eventHandlers);\n });\n};\n\nexport { previewScript };\n"],"names":["previewScript","shouldRun","HIGHLIGHT_PADDING","HIGHLIGHT_HOVER_COLOR","window","STRAPI_HIGHLIGHT_HOVER_COLOR","HIGHLIGHT_ACTIVE_COLOR","STRAPI_HIGHLIGHT_ACTIVE_COLOR","DISABLE_STEGA_DECODING","STRAPI_DISABLE_STEGA_DECODING","SOURCE_ATTRIBUTE","OVERLAY_ID","INTERNAL_EVENTS","STRAPI_FIELD_FOCUS","STRAPI_FIELD_BLUR","STRAPI_FIELD_CHANGE","STRAPI_FIELD_FOCUS_INTENT","sendMessage","type","payload","parent","postMessage","setupStegaDOMObserver","vercelStegaDecode","stegaDecode","processElementForStega","element","directTextContent","Array","from","childNodes","filter","node","nodeType","Node","TEXT_NODE","map","textContent","join","result","setAttribute","key","error","allElements","document","querySelectorAll","forEach","observer","MutationObserver","mutations","mutation","addedNodes","ELEMENT_NODE","childElements","target","parentElement","observe","childList","subtree","characterData","createOverlaySystem","__strapi_previewCleanup","getElementById","remove","overlay","createElement","id","style","cssText","body","appendChild","createHighlightManager","elementToHighlight","Map","eventListeners","focusedHighlights","focusedField","drawHighlight","highlight","rect","getBoundingClientRect","width","height","transform","left","top","updateAllHighlights","createHighlightForElement","has","mouseEnterHandler","includes","outlineColor","mouseLeaveHandler","doubleClickHandler","sourceAttribute","getAttribute","path","position","right","bottom","mouseDownHandler","event","detail","preventDefault","addEventListener","push","handler","set","removeHighlightForElement","get","delete","listenersToRemove","listener","removeEventListener","splice","length","initialElements","HTMLElement","elements","keys","highlights","values","setFocusedField","field","getFocusedField","setupObservers","highlightManager","stegaObserver","resizeObserver","ResizeObserver","observeElementForResize","documentElement","highlightObserver","attributeName","hasAttribute","elementsWithSource","childElement","removedNodes","attributes","attributeFilter","updateOnScroll","scrollableElements","Set","add","findScrollableAncestors","clear","computedStyle","getComputedStyle","overflow","overflowX","overflowY","setupEventHandlers","handleMessage","data","value","matchingElements","indexOf","outlineWidth","messageEventListener","createCleanupSystem","observers","eventHandlers","disconnect","then"],"mappings":"AAAA;AAUA;;;;;AAKC,IACKA,MAAAA,aAAAA,GAAgB,CAACC,SAAAA,GAAY,IAAI,GAAA;AACrC;;qGAGA,MAAMC,iBAAoB,GAAA,CAAA,CAAA;AAC1B,IAAA,MAAMC,qBAAwBC,GAAAA,MAAAA,CAAOC,4BAA4B,IAAI;AACrE,IAAA,MAAMC,sBAAyBF,GAAAA,MAAAA,CAAOG,6BAA6B,IAAI;IAEvE,MAAMC,sBAAAA,GAAyBJ,MAAOK,CAAAA,6BAA6B,IAAI,KAAA;AACvE,IAAA,MAAMC,gBAAmB,GAAA,oBAAA;AACzB,IAAA,MAAMC,UAAa,GAAA,wBAAA;AACnB,IAAA,MAAMC,eAAkB,GAAA;QACtBC,kBAAoB,EAAA,kBAAA;QACpBC,iBAAmB,EAAA,iBAAA;QACnBC,mBAAqB,EAAA,mBAAA;QACrBC,yBAA2B,EAAA;AAC7B,KAAA;AAEA;;;;MAKA,IAAI,CAACf,SAAW,EAAA;QACd,OAAO;AAAEW,YAAAA;AAAgB,SAAA;AAC3B;AAEA;;qGAIA,MAAMK,WAAc,GAAA,CAClBC,IACAC,EAAAA,OAAAA,GAAAA;QAEAf,MAAOgB,CAAAA,MAAM,CAACC,WAAW,CAAC;AAAEH,YAAAA,IAAAA;AAAMC,YAAAA;SAAW,EAAA,GAAA,CAAA;AAC/C,KAAA;AAEA;;AAEgG,qGAEhG,MAAMG,qBAAwB,GAAA,UAAA;AAC5B,QAAA,IAAId,sBAAwB,EAAA;AAC1B,YAAA;AACF;QAEA,MAAM,EAAEe,mBAAmBC,WAAW,EAAE,GAAG,MAAM;;AAG/C,QAAA,uDAAA,CAAA;AAGF,QAAA,MAAMC,yBAAyB,CAACC,OAAAA,GAAAA;YAC9B,MAAMC,iBAAAA,GAAoBC,KAAMC,CAAAA,IAAI,CAACH,OAAAA,CAAQI,UAAU,CAAA,CACpDC,MAAM,CAAC,CAACC,IAAAA,GAASA,IAAKC,CAAAA,QAAQ,KAAKC,IAAKC,CAAAA,SAAS,CACjDC,CAAAA,GAAG,CAAC,CAACJ,IAASA,GAAAA,IAAAA,CAAKK,WAAW,IAAI,EAClCC,CAAAA,CAAAA,IAAI,CAAC,EAAA,CAAA;AAER,YAAA,IAAIX,iBAAmB,EAAA;gBACrB,IAAI;AACF,oBAAA,MAAMY,SAASf,WAAYG,CAAAA,iBAAAA,CAAAA;AAC3B,oBAAA,IAAIY,MAAQ,EAAA;AACVb,wBAAAA,OAAAA,CAAQc,YAAY,CAAC9B,gBAAkB6B,EAAAA,MAAAA,CAAOE,GAAG,CAAA;AACnD;iBACA,CAAA,OAAOC,OAAO;AAClB;AACF,SAAA;;QAGA,MAAMC,WAAAA,GAAcC,QAASC,CAAAA,gBAAgB,CAAC,GAAA,CAAA;AAC9CjB,QAAAA,KAAAA,CAAMC,IAAI,CAACc,WAAaG,CAAAA,CAAAA,OAAO,CAACrB,sBAAAA,CAAAA;;QAGhC,MAAMsB,QAAAA,GAAW,IAAIC,gBAAAA,CAAiB,CAACC,SAAAA,GAAAA;YACrCA,SAAUH,CAAAA,OAAO,CAAC,CAACI,QAAAA,GAAAA;;gBAEjB,IAAIA,QAAAA,CAAShC,IAAI,KAAK,WAAa,EAAA;AACjCgC,oBAAAA,QAAAA,CAASC,UAAU,CAACL,OAAO,CAAC,CAACd,IAAAA,GAAAA;AAC3B,wBAAA,IAAIA,IAAKC,CAAAA,QAAQ,KAAKC,IAAAA,CAAKkB,YAAY,EAAE;AACvC,4BAAA,MAAM1B,OAAUM,GAAAA,IAAAA;;4BAEhBP,sBAAuBC,CAAAA,OAAAA,CAAAA;;4BAEvB,MAAM2B,aAAAA,GAAgB3B,OAAQmB,CAAAA,gBAAgB,CAAC,GAAA,CAAA;AAC/CjB,4BAAAA,KAAAA,CAAMC,IAAI,CAACwB,aAAeP,CAAAA,CAAAA,OAAO,CAACrB,sBAAAA,CAAAA;AACpC;AACF,qBAAA,CAAA;AACF;;gBAGA,IAAIyB,QAAAA,CAAShC,IAAI,KAAK,eAAA,IAAmBgC,SAASI,MAAM,CAACC,aAAa,EAAE;oBACtE9B,sBAAuByB,CAAAA,QAAAA,CAASI,MAAM,CAACC,aAAa,CAAA;AACtD;AACF,aAAA,CAAA;AACF,SAAA,CAAA;QAEAR,QAASS,CAAAA,OAAO,CAACZ,QAAU,EAAA;YACzBa,SAAW,EAAA,IAAA;YACXC,OAAS,EAAA,IAAA;YACTC,aAAe,EAAA;AACjB,SAAA,CAAA;QAEA,OAAOZ,QAAAA;AACT,KAAA;AAEA,IAAA,MAAMa,mBAAsB,GAAA,IAAA;;AAE1BxD,QAAAA,MAAAA,CAAOyD,uBAAuB,IAAA;QAC9BjB,QAASkB,CAAAA,cAAc,CAACnD,UAAaoD,CAAAA,EAAAA,MAAAA,EAAAA;QAErC,MAAMC,OAAAA,GAAUpB,QAASqB,CAAAA,aAAa,CAAC,KAAA,CAAA;AACvCD,QAAAA,OAAAA,CAAQE,EAAE,GAAGvD,UAAAA;AACbqD,QAAAA,OAAAA,CAAQG,KAAK,CAACC,OAAO,GAAG;;;;;;;;IAQxB,CAAC;AAEDhE,QAAAA,MAAAA,CAAOwC,QAAQ,CAACyB,IAAI,CAACC,WAAW,CAACN,OAAAA,CAAAA;QACjC,OAAOA,OAAAA;AACT,KAAA;AAQA,IAAA,MAAMO,yBAAyB,CAACP,OAAAA,GAAAA;AAC9B,QAAA,MAAMQ,qBAAqB,IAAIC,GAAAA,EAAAA;AAC/B,QAAA,MAAMC,iBAAqC,EAAE;AAC7C,QAAA,MAAMC,oBAAmC,EAAE;AAC3C,QAAA,IAAIC,YAA8B,GAAA,IAAA;QAElC,MAAMC,aAAAA,GAAgB,CAACvB,MAAiBwB,EAAAA,SAAAA,GAAAA;AACtC,YAAA,IAAI,CAACA,SAAW,EAAA;YAEhB,MAAMC,IAAAA,GAAOzB,OAAO0B,qBAAqB,EAAA;AACzCF,YAAAA,SAAAA,CAAUX,KAAK,CAACc,KAAK,GAAG,CAAC,EAAEF,IAAKE,CAAAA,KAAK,GAAG/E,iBAAAA,GAAoB,CAAE,CAAA,EAAE,CAAC;AACjE4E,YAAAA,SAAAA,CAAUX,KAAK,CAACe,MAAM,GAAG,CAAC,EAAEH,IAAKG,CAAAA,MAAM,GAAGhF,iBAAAA,GAAoB,CAAE,CAAA,EAAE,CAAC;AACnE4E,YAAAA,SAAAA,CAAUX,KAAK,CAACgB,SAAS,GAAG,CAAC,UAAU,EAAEJ,IAAKK,CAAAA,IAAI,GAAGlF,iBAAAA,CAAkB,IAAI,EAAE6E,IAAAA,CAAKM,GAAG,GAAGnF,iBAAAA,CAAkB,GAAG,CAAC;AAChH,SAAA;AAEA,QAAA,MAAMoF,mBAAsB,GAAA,IAAA;YAC1Bd,kBAAmB1B,CAAAA,OAAO,CAAC,CAACgC,SAAWpD,EAAAA,OAAAA,GAAAA;AACrCmD,gBAAAA,aAAAA,CAAcnD,OAASoD,EAAAA,SAAAA,CAAAA;AACzB,aAAA,CAAA;AACF,SAAA;AAEA,QAAA,MAAMS,4BAA4B,CAAC7D,OAAAA,GAAAA;YACjC,IAAI8C,kBAAAA,CAAmBgB,GAAG,CAAC9D,OAAU,CAAA,EAAA;AACnC,gBAAA,OAAA;AACF;YAEA,MAAMoD,SAAAA,GAAYlC,QAASqB,CAAAA,aAAa,CAAC,KAAA,CAAA;AACzCa,YAAAA,SAAAA,CAAUX,KAAK,CAACC,OAAO,GAAG;;;;;;;;MAQ1B,CAAC;;AAGD,YAAA,MAAMqB,iBAAoB,GAAA,IAAA;AACxB,gBAAA,IAAI,CAACd,iBAAAA,CAAkBe,QAAQ,CAACZ,SAAY,CAAA,EAAA;oBAC1CA,SAAUX,CAAAA,KAAK,CAACwB,YAAY,GAAGxF,qBAAAA;AACjC;AACF,aAAA;AACA,YAAA,MAAMyF,iBAAoB,GAAA,IAAA;AACxB,gBAAA,IAAI,CAACjB,iBAAAA,CAAkBe,QAAQ,CAACZ,SAAY,CAAA,EAAA;oBAC1CA,SAAUX,CAAAA,KAAK,CAACwB,YAAY,GAAG,aAAA;AACjC;AACF,aAAA;AACA,YAAA,MAAME,kBAAqB,GAAA,IAAA;gBACzB,MAAMC,eAAAA,GAAkBpE,OAAQqE,CAAAA,YAAY,CAACrF,gBAAAA,CAAAA;AAC7C,gBAAA,IAAIoF,eAAiB,EAAA;oBACnB,MAAMf,IAAAA,GAAOrD,QAAQsD,qBAAqB,EAAA;oBAC1C/D,WAAYL,CAAAA,eAAAA,CAAgBI,yBAAyB,EAAE;wBACrDgF,IAAMF,EAAAA,eAAAA;wBACNG,QAAU,EAAA;AACRZ,4BAAAA,GAAAA,EAAKN,KAAKM,GAAG;AACbD,4BAAAA,IAAAA,EAAML,KAAKK,IAAI;AACfc,4BAAAA,KAAAA,EAAOnB,KAAKmB,KAAK;AACjBC,4BAAAA,MAAAA,EAAQpB,KAAKoB,MAAM;AACnBlB,4BAAAA,KAAAA,EAAOF,KAAKE,KAAK;AACjBC,4BAAAA,MAAAA,EAAQH,KAAKG;AACf;AACF,qBAAA,CAAA;AACF;AACF,aAAA;AACA,YAAA,MAAMkB,mBAAmB,CAACC,KAAAA,GAAAA;;gBAExB,IAAIA,KAAAA,CAAMC,MAAM,IAAI,CAAG,EAAA;AACrBD,oBAAAA,KAAAA,CAAME,cAAc,EAAA;AACtB;AACF,aAAA;YAEA7E,OAAQ8E,CAAAA,gBAAgB,CAAC,YAAcf,EAAAA,iBAAAA,CAAAA;YACvC/D,OAAQ8E,CAAAA,gBAAgB,CAAC,YAAcZ,EAAAA,iBAAAA,CAAAA;YACvClE,OAAQ8E,CAAAA,gBAAgB,CAAC,UAAYX,EAAAA,kBAAAA,CAAAA;YACrCnE,OAAQ8E,CAAAA,gBAAgB,CAAC,WAAaJ,EAAAA,gBAAAA,CAAAA;;AAGtC1B,YAAAA,cAAAA,CAAe+B,IAAI,CACjB;AAAE/E,gBAAAA,OAAAA;gBAASR,IAAM,EAAA,YAAA;gBAAcwF,OAASjB,EAAAA;aACxC,EAAA;AAAE/D,gBAAAA,OAAAA;gBAASR,IAAM,EAAA,YAAA;gBAAcwF,OAASd,EAAAA;aACxC,EAAA;AAAElE,gBAAAA,OAAAA;gBAASR,IAAM,EAAA,UAAA;gBAAYwF,OAASb,EAAAA;aACtC,EAAA;AAAEnE,gBAAAA,OAAAA;gBAASR,IAAM,EAAA,WAAA;gBAAawF,OAASN,EAAAA;AAAkC,aAAA,CAAA;YAG3E5B,kBAAmBmC,CAAAA,GAAG,CAACjF,OAASoD,EAAAA,SAAAA,CAAAA;AAChCd,YAAAA,OAAAA,CAAQM,WAAW,CAACQ,SAAAA,CAAAA;AACpBD,YAAAA,aAAAA,CAAcnD,OAASoD,EAAAA,SAAAA,CAAAA;AACzB,SAAA;AAEA,QAAA,MAAM8B,4BAA4B,CAAClF,OAAAA,GAAAA;YACjC,MAAMoD,SAAAA,GAAYN,kBAAmBqC,CAAAA,GAAG,CAACnF,OAAAA,CAAAA;AAEzC,YAAA,IAAI,CAACoD,SAAW,EAAA;AAEhBA,YAAAA,SAAAA,CAAUf,MAAM,EAAA;AAChBS,YAAAA,kBAAAA,CAAmBsC,MAAM,CAACpF,OAAAA,CAAAA;;YAG1B,MAAMqF,iBAAAA,GAAoBrC,eAAe3C,MAAM,CAAC,CAACiF,QAAaA,GAAAA,QAAAA,CAAStF,OAAO,KAAKA,OAAAA,CAAAA;YACnFqF,iBAAkBjE,CAAAA,OAAO,CAAC,CAAC,EAAEpB,OAAO,EAAER,IAAI,EAAEwF,OAAO,EAAE,GAAA;gBACnDhF,OAAQuF,CAAAA,mBAAmB,CAAC/F,IAAMwF,EAAAA,OAAAA,CAAAA;AACpC,aAAA,CAAA;;AAGAhC,YAAAA,cAAAA,CAAewC,MAAM,CACnB,CACAxC,EAAAA,cAAAA,CAAeyC,MAAM,EAAA,GAClBzC,cAAe3C,CAAAA,MAAM,CAAC,CAACiF,QAAaA,GAAAA,QAAAA,CAAStF,OAAO,KAAKA,OAAAA,CAAAA,CAAAA;AAEhE,SAAA;;QAGA,MAAM0F,eAAAA,GAAkBhH,MAAOwC,CAAAA,QAAQ,CAACC,gBAAgB,CAAC,CAAC,CAAC,EAAEnC,gBAAiB,CAAA,CAAC,CAAC,CAAA;AAChFkB,QAAAA,KAAAA,CAAMC,IAAI,CAACuF,eAAiBtE,CAAAA,CAAAA,OAAO,CAAC,CAACpB,OAAAA,GAAAA;AACnC,YAAA,IAAIA,mBAAmB2F,WAAa,EAAA;gBAClC9B,yBAA0B7D,CAAAA,OAAAA,CAAAA;AAC5B;AACF,SAAA,CAAA;QAEA,OAAO;AACL,YAAA,IAAI4F,QAAW,CAAA,GAAA;AACb,gBAAA,OAAO1F,KAAMC,CAAAA,IAAI,CAAC2C,kBAAAA,CAAmB+C,IAAI,EAAA,CAAA;AAC3C,aAAA;AACA,YAAA,IAAIC,UAAa,CAAA,GAAA;AACf,gBAAA,OAAO5F,KAAMC,CAAAA,IAAI,CAAC2C,kBAAAA,CAAmBiD,MAAM,EAAA,CAAA;AAC7C,aAAA;AACAnC,YAAAA,mBAAAA;AACAZ,YAAAA,cAAAA;AACAC,YAAAA,iBAAAA;AACAY,YAAAA,yBAAAA;AACAqB,YAAAA,yBAAAA;AACAc,YAAAA,eAAAA,EAAiB,CAACC,KAAAA,GAAAA;gBAChB/C,YAAe+C,GAAAA,KAAAA;AACjB,aAAA;AACAC,YAAAA,eAAAA,EAAiB,IAAMhD;AACzB,SAAA;AACF,KAAA;IAIA,MAAMiD,cAAAA,GAAiB,CACrBC,gBACAC,EAAAA,aAAAA,GAAAA;QAEA,MAAMC,cAAAA,GAAiB,IAAIC,cAAe,CAAA,IAAA;AACxCH,YAAAA,gBAAAA,CAAiBxC,mBAAmB,EAAA;AACtC,SAAA,CAAA;AAEA,QAAA,MAAM4C,0BAA0B,CAACxG,OAAAA,GAAAA;AAC/BsG,YAAAA,cAAAA,CAAexE,OAAO,CAAC9B,OAAAA,CAAAA;AACzB,SAAA;;QAGAoG,gBAAiBR,CAAAA,QAAQ,CAACxE,OAAO,CAACoF,uBAAAA,CAAAA;QAClCF,cAAexE,CAAAA,OAAO,CAACZ,QAAAA,CAASuF,eAAe,CAAA;;QAG/C,MAAMC,iBAAAA,GAAoB,IAAIpF,gBAAAA,CAAiB,CAACC,SAAAA,GAAAA;YAC9CA,SAAUH,CAAAA,OAAO,CAAC,CAACI,QAAAA,GAAAA;AACjB,gBAAA,IAAIA,SAAShC,IAAI,KAAK,gBAAgBgC,QAASmF,CAAAA,aAAa,KAAK3H,gBAAkB,EAAA;oBACjF,MAAM4C,MAAAA,GAASJ,SAASI,MAAM;oBAC9B,IAAIA,MAAAA,CAAOgF,YAAY,CAAC5H,gBAAmB,CAAA,EAAA;AACzCoH,wBAAAA,gBAAAA,CAAiBvC,yBAAyB,CAACjC,MAAAA,CAAAA;wBAC3C4E,uBAAwB5E,CAAAA,MAAAA,CAAAA;qBACnB,MAAA;AACLwE,wBAAAA,gBAAAA,CAAiBlB,yBAAyB,CAACtD,MAAAA,CAAAA;AAC7C;AACF;gBAEA,IAAIJ,QAAAA,CAAShC,IAAI,KAAK,WAAa,EAAA;AACjCgC,oBAAAA,QAAAA,CAASC,UAAU,CAACL,OAAO,CAAC,CAACd,IAAAA,GAAAA;AAC3B,wBAAA,IAAIA,IAAKC,CAAAA,QAAQ,KAAKC,IAAAA,CAAKkB,YAAY,EAAE;AACvC,4BAAA,MAAM1B,OAAUM,GAAAA,IAAAA;;AAEhB,4BAAA,IAAIN,OAAQ4G,CAAAA,YAAY,CAAC5H,gBAAAA,CAAAA,IAAqBgB,mBAAmB2F,WAAa,EAAA;AAC5ES,gCAAAA,gBAAAA,CAAiBvC,yBAAyB,CAAC7D,OAAAA,CAAAA;gCAC3CwG,uBAAwBxG,CAAAA,OAAAA,CAAAA;AAC1B;;4BAEA,MAAM6G,kBAAAA,GAAqB7G,QAAQmB,gBAAgB,CAAC,CAAC,CAAC,EAAEnC,gBAAiB,CAAA,CAAC,CAAC,CAAA;AAC3EkB,4BAAAA,KAAAA,CAAMC,IAAI,CAAC0G,kBAAoBzF,CAAAA,CAAAA,OAAO,CAAC,CAAC0F,YAAAA,GAAAA;AACtC,gCAAA,IAAIA,wBAAwBnB,WAAa,EAAA;AACvCS,oCAAAA,gBAAAA,CAAiBvC,yBAAyB,CAACiD,YAAAA,CAAAA;oCAC3CN,uBAAwBM,CAAAA,YAAAA,CAAAA;AAC1B;AACF,6BAAA,CAAA;AACF;AACF,qBAAA,CAAA;AAEAtF,oBAAAA,QAAAA,CAASuF,YAAY,CAAC3F,OAAO,CAAC,CAACd,IAAAA,GAAAA;AAC7B,wBAAA,IAAIA,IAAKC,CAAAA,QAAQ,KAAKC,IAAAA,CAAKkB,YAAY,EAAE;AACvC,4BAAA,MAAM1B,OAAUM,GAAAA,IAAAA;AAChB8F,4BAAAA,gBAAAA,CAAiBlB,yBAAyB,CAAClF,OAAAA,CAAAA;AAC7C;AACF,qBAAA,CAAA;AACF;AACF,aAAA,CAAA;AACF,SAAA,CAAA;QAEA0G,iBAAkB5E,CAAAA,OAAO,CAACZ,QAAU,EAAA;YAClCa,SAAW,EAAA,IAAA;YACXC,OAAS,EAAA,IAAA;YACTgF,UAAY,EAAA,IAAA;YACZC,eAAiB,EAAA;AAACjI,gBAAAA;AAAiB;AACrC,SAAA,CAAA;AAEA,QAAA,MAAMkI,cAAiB,GAAA,IAAA;AACrBd,YAAAA,gBAAAA,CAAiBxC,mBAAmB,EAAA;AACtC,SAAA;AAEA,QAAA,MAAMuD,qBAAqB,IAAIC,GAAAA,EAAAA;AAC/BD,QAAAA,kBAAAA,CAAmBE,GAAG,CAAC3I,MAAAA,CAAAA;AAEvB,QAAA,MAAM4I,uBAA0B,GAAA,IAAA;;YAE9BH,kBAAmB/F,CAAAA,OAAO,CAAC,CAACpB,OAAAA,GAAAA;AAC1B,gBAAA,IAAIA,YAAYtB,MAAQ,EAAA;oBACrBsB,OAAoBuF,CAAAA,mBAAmB,CAAC,QAAU2B,EAAAA,cAAAA,CAAAA;AACrD;AACF,aAAA,CAAA;AACAC,YAAAA,kBAAAA,CAAmBI,KAAK,EAAA;AACxBJ,YAAAA,kBAAAA,CAAmBE,GAAG,CAAC3I,MAAAA,CAAAA;;AAGvB0H,YAAAA,gBAAAA,CAAiBR,QAAQ,CAACxE,OAAO,CAAC,CAACpB,OAAAA,GAAAA;gBACjC,IAAIN,MAAAA,GAASM,QAAQ6B,aAAa;AAClC,gBAAA,MAAOnC,MAAQ,CAAA;oBACb,MAAM8H,aAAAA,GAAgB9I,MAAO+I,CAAAA,gBAAgB,CAAC/H,MAAAA,CAAAA;oBAC9C,MAAMgI,QAAAA,GACJF,cAAcE,QAAQ,GAAGF,cAAcG,SAAS,GAAGH,cAAcI,SAAS;AAE5E,oBAAA,IAAIF,SAAS1D,QAAQ,CAAC,aAAa0D,QAAS1D,CAAAA,QAAQ,CAAC,MAAS,CAAA,EAAA;AAC5DmD,wBAAAA,kBAAAA,CAAmBE,GAAG,CAAC3H,MAAAA,CAAAA;AACzB;AAEAA,oBAAAA,MAAAA,GAASA,OAAOmC,aAAa;AAC/B;AACF,aAAA,CAAA;;YAGAsF,kBAAmB/F,CAAAA,OAAO,CAAC,CAACpB,OAAAA,GAAAA;AAC1B,gBAAA,IAAIA,YAAYtB,MAAQ,EAAA;oBACtBA,MAAOoG,CAAAA,gBAAgB,CAAC,QAAUoC,EAAAA,cAAAA,CAAAA;oBAClCxI,MAAOoG,CAAAA,gBAAgB,CAAC,QAAUoC,EAAAA,cAAAA,CAAAA;iBAC7B,MAAA;oBACLlH,OAAQ8E,CAAAA,gBAAgB,CAAC,QAAUoC,EAAAA,cAAAA,CAAAA;AACrC;AACF,aAAA,CAAA;AACF,SAAA;;AAGAI,QAAAA,uBAAAA,EAAAA;QAEA,OAAO;AACLhB,YAAAA,cAAAA;AACAI,YAAAA,iBAAAA;AACAL,YAAAA,aAAAA;AACAa,YAAAA,cAAAA;AACAC,YAAAA,kBAAAA;AACAG,YAAAA;AACF,SAAA;AACF,KAAA;AAEA,IAAA,MAAMO,qBAAqB,CAACzB,gBAAAA,GAAAA;AAC1B,QAAA,MAAM0B,gBAAgB,CAACnD,KAAAA,GAAAA;AACrB,YAAA,IAAI,CAACA,KAAAA,CAAMoD,IAAI,EAAEvI,IAAM,EAAA;;AAGvB,YAAA,IAAImF,MAAMoD,IAAI,CAACvI,IAAI,KAAKN,eAAAA,CAAgBG,mBAAmB,EAAE;gBAC3D,MAAM,EAAE4G,KAAK,EAAE+B,KAAK,EAAE,GAAGrD,KAAAA,CAAMoD,IAAI,CAACtI,OAAO;AAC3C,gBAAA,IAAI,CAACwG,KAAO,EAAA;AAEZ,gBAAA,MAAMgC,gBAAmB/G,GAAAA,QAAAA,CAASC,gBAAgB,CAAC,CAAC,CAAC,EAAEnC,gBAAAA,CAAiB,EAAE,EAAEiH,KAAM,CAAA,EAAE,CAAC,CAAA;gBACrFgC,gBAAiB7G,CAAAA,OAAO,CAAC,CAACpB,OAAAA,GAAAA;AACxB,oBAAA,IAAIA,mBAAmB2F,WAAa,EAAA;wBAClC3F,OAAQW,CAAAA,WAAW,GAAGqH,KAAS,IAAA,EAAA;AACjC;AACF,iBAAA,CAAA;;AAGA5B,gBAAAA,gBAAAA,CAAiBxC,mBAAmB,EAAA;AACpC,gBAAA;AACF;;AAGA,YAAA,IAAIe,MAAMoD,IAAI,CAACvI,IAAI,KAAKN,eAAAA,CAAgBC,kBAAkB,EAAE;AAC1D,gBAAA,MAAM,EAAE8G,KAAK,EAAE,GAAGtB,KAAMoD,CAAAA,IAAI,CAACtI,OAAO;AACpC,gBAAA,IAAI,CAACwG,KAAO,EAAA;;AAGZG,gBAAAA,gBAAAA,CAAiBnD,iBAAiB,CAAC7B,OAAO,CAAC,CAACgC,SAAAA,GAAAA;oBAC1CA,SAAUX,CAAAA,KAAK,CAACwB,YAAY,GAAG,aAAA;AACjC,iBAAA,CAAA;gBACAmC,gBAAiBnD,CAAAA,iBAAiB,CAACwC,MAAM,GAAG,CAAA;;AAG5CW,gBAAAA,gBAAAA,CAAiBJ,eAAe,CAACC,KAAAA,CAAAA;AACjC,gBAAA,MAAMgC,gBAAmB/G,GAAAA,QAAAA,CAASC,gBAAgB,CAAC,CAAC,CAAC,EAAEnC,gBAAAA,CAAiB,EAAE,EAAEiH,KAAM,CAAA,EAAE,CAAC,CAAA;gBACrFgC,gBAAiB7G,CAAAA,OAAO,CAAC,CAACpB,OAAAA,GAAAA;AACxB,oBAAA,MAAMoD,SACJgD,GAAAA,gBAAAA,CAAiBN,UAAU,CAAC5F,KAAMC,CAAAA,IAAI,CAACiG,gBAAAA,CAAiBR,QAAQ,CAAA,CAAEsC,OAAO,CAAClI,OAAS,CAAA,CAAA;AACrF,oBAAA,IAAIoD,SAAW,EAAA;wBACbA,SAAUX,CAAAA,KAAK,CAACwB,YAAY,GAAGrF,sBAAAA;wBAC/BwE,SAAUX,CAAAA,KAAK,CAAC0F,YAAY,GAAG,KAAA;wBAC/B/B,gBAAiBnD,CAAAA,iBAAiB,CAAC8B,IAAI,CAAC3B,SAAAA,CAAAA;AAC1C;AACF,iBAAA,CAAA;AACA,gBAAA;AACF;;AAGA,YAAA,IAAIuB,MAAMoD,IAAI,CAACvI,IAAI,KAAKN,eAAAA,CAAgBE,iBAAiB,EAAE;AACzD,gBAAA,MAAM,EAAE6G,KAAK,EAAE,GAAGtB,KAAMoD,CAAAA,IAAI,CAACtI,OAAO;gBACpC,IAAIwG,KAAAA,KAAUG,gBAAiBF,CAAAA,eAAe,EAAI,EAAA;AAElDE,gBAAAA,gBAAAA,CAAiBnD,iBAAiB,CAAC7B,OAAO,CAAC,CAACgC,SAAAA,GAAAA;oBAC1CA,SAAUX,CAAAA,KAAK,CAACwB,YAAY,GAAG,aAAA;oBAC/Bb,SAAUX,CAAAA,KAAK,CAAC0F,YAAY,GAAG,KAAA;AACjC,iBAAA,CAAA;gBACA/B,gBAAiBnD,CAAAA,iBAAiB,CAACwC,MAAM,GAAG,CAAA;AAC5CW,gBAAAA,gBAAAA,CAAiBJ,eAAe,CAAC,IAAA,CAAA;AACnC;AACF,SAAA;QAEAtH,MAAOoG,CAAAA,gBAAgB,CAAC,SAAWgD,EAAAA,aAAAA,CAAAA;;AAGnC,QAAA,MAAMM,oBAAuB,GAAA;YAC3BpI,OAAStB,EAAAA,MAAAA;YACTc,IAAM,EAAA,SAAA;YACNwF,OAAS8C,EAAAA;AACX,SAAA;QAEA,OAAO;AAAI1B,YAAAA,GAAAA,gBAAAA,CAAiBpD,cAAc;AAAEoF,YAAAA;AAAqB,SAAA;AACnE,KAAA;IAEA,MAAMC,mBAAAA,GAAsB,CAC1B/F,OAAAA,EACAgG,SACAC,EAAAA,aAAAA,GAAAA;AAEA7J,QAAAA,MAAAA,CAAOyD,uBAAuB,GAAG,IAAA;YAC/BmG,SAAUhC,CAAAA,cAAc,CAACkC,UAAU,EAAA;YACnCF,SAAU5B,CAAAA,iBAAiB,CAAC8B,UAAU,EAAA;AACtCF,YAAAA,SAAAA,CAAUjC,aAAa,EAAEmC,UAAAA,EAAAA;;AAGzBF,YAAAA,SAAAA,CAAUnB,kBAAkB,CAAC/F,OAAO,CAAC,CAACpB,OAAAA,GAAAA;AACpC,gBAAA,IAAIA,YAAYtB,MAAQ,EAAA;AACtBA,oBAAAA,MAAAA,CAAO6G,mBAAmB,CAAC,QAAU+C,EAAAA,SAAAA,CAAUpB,cAAc,CAAA;AAC7DxI,oBAAAA,MAAAA,CAAO6G,mBAAmB,CAAC,QAAU+C,EAAAA,SAAAA,CAAUpB,cAAc,CAAA;iBACxD,MAAA;AACJlH,oBAAAA,OAAAA,CAAoBuF,mBAAmB,CAAC,QAAU+C,EAAAA,SAAAA,CAAUpB,cAAc,CAAA;AAC7E;AACF,aAAA,CAAA;;YAGAqB,aAAcnH,CAAAA,OAAO,CAAC,CAAC,EAAEpB,OAAO,EAAER,IAAI,EAAEwF,OAAO,EAAE,GAAA;gBAC/ChF,OAAQuF,CAAAA,mBAAmB,CAAC/F,IAAMwF,EAAAA,OAAAA,CAAAA;AACpC,aAAA,CAAA;AAEA1C,YAAAA,OAAAA,CAAQD,MAAM,EAAA;AAChB,SAAA;AACF,KAAA;AAEA;;qGAIAzC,qBAAAA,EAAAA,CAAwB6I,IAAI,CAAC,CAACpC,aAAAA,GAAAA;AAC5B,QAAA,MAAM/D,OAAUJ,GAAAA,mBAAAA,EAAAA;AAChB,QAAA,MAAMkE,mBAAmBvD,sBAAuBP,CAAAA,OAAAA,CAAAA;QAChD,MAAMgG,SAAAA,GAAYnC,eAAeC,gBAAkBC,EAAAA,aAAAA,CAAAA;AACnD,QAAA,MAAMkC,gBAAgBV,kBAAmBzB,CAAAA,gBAAAA,CAAAA;AACzCiC,QAAAA,mBAAAA,CAAoB/F,SAASgG,SAAWC,EAAAA,aAAAA,CAAAA;AAC1C,KAAA,CAAA;AACF;;;;"}
@@ -12,7 +12,10 @@ const contentManagerApi = strapiAdmin.adminApi.enhanceEndpoints({
12
12
  'HistoryVersion',
13
13
  'Relations',
14
14
  'UidAvailability',
15
- 'RecentDocumentList'
15
+ 'RecentDocumentList',
16
+ 'GuidedTourMeta',
17
+ 'CountDocuments',
18
+ 'UpcomingReleasesList'
16
19
  ]
17
20
  });
18
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;;;AAEMA,MAAAA,iBAAAA,GAAoBC,oBAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}
1
+ {"version":3,"file":"api.js","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n 'GuidedTourMeta',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;;;AAEMA,MAAAA,iBAAAA,GAAoBC,oBAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA,oBAAA;AACA,QAAA,gBAAA;AACA,QAAA,gBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}
@@ -10,7 +10,10 @@ const contentManagerApi = adminApi.enhanceEndpoints({
10
10
  'HistoryVersion',
11
11
  'Relations',
12
12
  'UidAvailability',
13
- 'RecentDocumentList'
13
+ 'RecentDocumentList',
14
+ 'GuidedTourMeta',
15
+ 'CountDocuments',
16
+ 'UpcomingReleasesList'
14
17
  ]
15
18
  });
16
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;AAEMA,MAAAA,iBAAAA,GAAoBC,QAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}
1
+ {"version":3,"file":"api.mjs","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n 'GuidedTourMeta',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;AAEMA,MAAAA,iBAAAA,GAAoBC,QAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA,oBAAA;AACA,QAAA,gBAAA;AACA,QAAA,gBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}