@nascentdigital/funnel-editor 4.4.18

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 (801) hide show
  1. package/README.md +44 -0
  2. package/dist/EditorApp.d.ts +9 -0
  3. package/dist/EditorApp.js +40 -0
  4. package/dist/EditorRoutes.d.ts +1 -0
  5. package/dist/EditorRoutes.js +116 -0
  6. package/dist/api/EditorApi.d.ts +4 -0
  7. package/dist/api/EditorApi.js +292 -0
  8. package/dist/api/EditorApiCommand.d.ts +32 -0
  9. package/dist/api/EditorApiCommand.js +159 -0
  10. package/dist/api/EditorAuthCommand.d.ts +29 -0
  11. package/dist/api/EditorAuthCommand.js +44 -0
  12. package/dist/api/auth/CmsAuthCommand.d.ts +13 -0
  13. package/dist/api/auth/CmsAuthCommand.js +36 -0
  14. package/dist/api/auth/GoogleAuthCommand.d.ts +10 -0
  15. package/dist/api/auth/GoogleAuthCommand.js +43 -0
  16. package/dist/api/auth/index.d.ts +2 -0
  17. package/dist/api/auth/index.js +18 -0
  18. package/dist/api/changeset/CommitChangeSetCommand.d.ts +14 -0
  19. package/dist/api/changeset/CommitChangeSetCommand.js +38 -0
  20. package/dist/api/changeset/GetChangeSetCommand.d.ts +13 -0
  21. package/dist/api/changeset/GetChangeSetCommand.js +35 -0
  22. package/dist/api/changeset/ListChangeSetGroupsCommand.d.ts +13 -0
  23. package/dist/api/changeset/ListChangeSetGroupsCommand.js +37 -0
  24. package/dist/api/changeset/ListChangeSetsCommand.d.ts +13 -0
  25. package/dist/api/changeset/ListChangeSetsCommand.js +35 -0
  26. package/dist/api/changeset/RevertChangeSetCommand.d.ts +13 -0
  27. package/dist/api/changeset/RevertChangeSetCommand.js +35 -0
  28. package/dist/api/changeset/index.d.ts +5 -0
  29. package/dist/api/changeset/index.js +21 -0
  30. package/dist/api/collections/CreateCollectionCommand.d.ts +14 -0
  31. package/dist/api/collections/CreateCollectionCommand.js +39 -0
  32. package/dist/api/collections/DuplicateCollectionCommand.d.ts +14 -0
  33. package/dist/api/collections/DuplicateCollectionCommand.js +38 -0
  34. package/dist/api/collections/GetCollectionCommand.d.ts +13 -0
  35. package/dist/api/collections/GetCollectionCommand.js +35 -0
  36. package/dist/api/collections/GetCollectionDependantsCommand.d.ts +13 -0
  37. package/dist/api/collections/GetCollectionDependantsCommand.js +35 -0
  38. package/dist/api/collections/GetCollectionDependenciesCommand.d.ts +13 -0
  39. package/dist/api/collections/GetCollectionDependenciesCommand.js +35 -0
  40. package/dist/api/collections/GetCollectionGroupCommand.d.ts +13 -0
  41. package/dist/api/collections/GetCollectionGroupCommand.js +35 -0
  42. package/dist/api/collections/GetCollectionItemsCommand.d.ts +13 -0
  43. package/dist/api/collections/GetCollectionItemsCommand.js +35 -0
  44. package/dist/api/collections/GetCollectionsOverviewCommand.d.ts +13 -0
  45. package/dist/api/collections/GetCollectionsOverviewCommand.js +35 -0
  46. package/dist/api/collections/UnpublishCollectionCommand.d.ts +14 -0
  47. package/dist/api/collections/UnpublishCollectionCommand.js +38 -0
  48. package/dist/api/collections/UpdateCollectionCommand.d.ts +14 -0
  49. package/dist/api/collections/UpdateCollectionCommand.js +38 -0
  50. package/dist/api/collections/index.d.ts +10 -0
  51. package/dist/api/collections/index.js +26 -0
  52. package/dist/api/files/CreateFileCommand.d.ts +13 -0
  53. package/dist/api/files/CreateFileCommand.js +36 -0
  54. package/dist/api/files/DeleteFileCommand.d.ts +13 -0
  55. package/dist/api/files/DeleteFileCommand.js +35 -0
  56. package/dist/api/files/GetFileCommand.d.ts +13 -0
  57. package/dist/api/files/GetFileCommand.js +35 -0
  58. package/dist/api/files/GetFilesCommand.d.ts +13 -0
  59. package/dist/api/files/GetFilesCommand.js +35 -0
  60. package/dist/api/files/UpdateFileCommand.d.ts +13 -0
  61. package/dist/api/files/UpdateFileCommand.js +35 -0
  62. package/dist/api/files/index.d.ts +5 -0
  63. package/dist/api/files/index.js +21 -0
  64. package/dist/api/index.d.ts +6 -0
  65. package/dist/api/index.js +22 -0
  66. package/dist/api/pages/CreatePageCommand.d.ts +14 -0
  67. package/dist/api/pages/CreatePageCommand.js +39 -0
  68. package/dist/api/pages/DuplicatePageCommand.d.ts +14 -0
  69. package/dist/api/pages/DuplicatePageCommand.js +38 -0
  70. package/dist/api/pages/FindPagesCommand.d.ts +13 -0
  71. package/dist/api/pages/FindPagesCommand.js +35 -0
  72. package/dist/api/pages/GetPageCommand.d.ts +13 -0
  73. package/dist/api/pages/GetPageCommand.js +35 -0
  74. package/dist/api/pages/GetPageCountsCommand.d.ts +16 -0
  75. package/dist/api/pages/GetPageCountsCommand.js +51 -0
  76. package/dist/api/pages/GetPageDependantsCommand.d.ts +13 -0
  77. package/dist/api/pages/GetPageDependantsCommand.js +35 -0
  78. package/dist/api/pages/GetPageDependenciesCommand.d.ts +13 -0
  79. package/dist/api/pages/GetPageDependenciesCommand.js +35 -0
  80. package/dist/api/pages/GetPageGroup.d.ts +13 -0
  81. package/dist/api/pages/GetPageGroup.js +36 -0
  82. package/dist/api/pages/GetPageSummariesCommand.d.ts +13 -0
  83. package/dist/api/pages/GetPageSummariesCommand.js +35 -0
  84. package/dist/api/pages/GetPagesOverviewCommand.d.ts +15 -0
  85. package/dist/api/pages/GetPagesOverviewCommand.js +35 -0
  86. package/dist/api/pages/SearchPagesCommand.d.ts +13 -0
  87. package/dist/api/pages/SearchPagesCommand.js +35 -0
  88. package/dist/api/pages/TouchPageCommand.d.ts +14 -0
  89. package/dist/api/pages/TouchPageCommand.js +34 -0
  90. package/dist/api/pages/UnpublishPageCommand.d.ts +14 -0
  91. package/dist/api/pages/UnpublishPageCommand.js +38 -0
  92. package/dist/api/pages/UpdatePageCommand.d.ts +14 -0
  93. package/dist/api/pages/UpdatePageCommand.js +38 -0
  94. package/dist/api/pages/index.d.ts +14 -0
  95. package/dist/api/pages/index.js +30 -0
  96. package/dist/api/site-config/GetSiteConfigCommand.d.ts +13 -0
  97. package/dist/api/site-config/GetSiteConfigCommand.js +31 -0
  98. package/dist/api/site-config/UpdateSiteConfigCommand.d.ts +14 -0
  99. package/dist/api/site-config/UpdateSiteConfigCommand.js +50 -0
  100. package/dist/api/site-config/index.d.ts +2 -0
  101. package/dist/api/site-config/index.js +18 -0
  102. package/dist/api/upgrade/ExecuteUpgradeCommand.d.ts +12 -0
  103. package/dist/api/upgrade/ExecuteUpgradeCommand.js +30 -0
  104. package/dist/api/upgrade/GetUpgradeStatusCommand.d.ts +12 -0
  105. package/dist/api/upgrade/GetUpgradeStatusCommand.js +30 -0
  106. package/dist/api/upgrade/index.d.ts +2 -0
  107. package/dist/api/upgrade/index.js +18 -0
  108. package/dist/api/users/CreateUserCommand.d.ts +13 -0
  109. package/dist/api/users/CreateUserCommand.js +52 -0
  110. package/dist/api/users/DeleteUserCommand.d.ts +13 -0
  111. package/dist/api/users/DeleteUserCommand.js +52 -0
  112. package/dist/api/users/GetCurrentUserCommand.d.ts +14 -0
  113. package/dist/api/users/GetCurrentUserCommand.js +34 -0
  114. package/dist/api/users/GetUserCommand.d.ts +13 -0
  115. package/dist/api/users/GetUserCommand.js +37 -0
  116. package/dist/api/users/GetUsersCommand.d.ts +13 -0
  117. package/dist/api/users/GetUsersCommand.js +36 -0
  118. package/dist/api/users/ResetUserCommand.d.ts +14 -0
  119. package/dist/api/users/ResetUserCommand.js +34 -0
  120. package/dist/api/users/UpdateUserCommand.d.ts +13 -0
  121. package/dist/api/users/UpdateUserCommand.js +55 -0
  122. package/dist/api/users/UserUtils.d.ts +7 -0
  123. package/dist/api/users/UserUtils.js +88 -0
  124. package/dist/api/users/index.d.ts +7 -0
  125. package/dist/api/users/index.js +23 -0
  126. package/dist/changesets/index.d.ts +1 -0
  127. package/dist/changesets/index.js +17 -0
  128. package/dist/changesets/screens/ChangeSetViewer.d.ts +7 -0
  129. package/dist/changesets/screens/ChangeSetViewer.js +210 -0
  130. package/dist/changesets/screens/ChangeSetsExplorer.d.ts +1 -0
  131. package/dist/changesets/screens/ChangeSetsExplorer.js +64 -0
  132. package/dist/changesets/screens/index.d.ts +2 -0
  133. package/dist/changesets/screens/index.js +18 -0
  134. package/dist/collection/components/CollectionHeader.d.ts +10 -0
  135. package/dist/collection/components/CollectionHeader.js +76 -0
  136. package/dist/collection/components/CollectionNotCreated.d.ts +8 -0
  137. package/dist/collection/components/CollectionNotCreated.js +44 -0
  138. package/dist/collection/components/CollectionStatus.d.ts +6 -0
  139. package/dist/collection/components/CollectionStatus.js +218 -0
  140. package/dist/collection/components/index.d.ts +3 -0
  141. package/dist/collection/components/index.js +19 -0
  142. package/dist/collection/components/status/AutoSave.d.ts +6 -0
  143. package/dist/collection/components/status/AutoSave.js +35 -0
  144. package/dist/collection/components/status/index.d.ts +1 -0
  145. package/dist/collection/components/status/index.js +17 -0
  146. package/dist/collection/hooks/CollectionController.d.ts +40 -0
  147. package/dist/collection/hooks/CollectionController.js +320 -0
  148. package/dist/collection/hooks/index.d.ts +2 -0
  149. package/dist/collection/hooks/index.js +18 -0
  150. package/dist/collection/hooks/useCollectionController.d.ts +8 -0
  151. package/dist/collection/hooks/useCollectionController.js +24 -0
  152. package/dist/collection/index.d.ts +1 -0
  153. package/dist/collection/index.js +17 -0
  154. package/dist/collection/screens/CollectionEditor.d.ts +9 -0
  155. package/dist/collection/screens/CollectionEditor.js +76 -0
  156. package/dist/collection/screens/index.d.ts +1 -0
  157. package/dist/collection/screens/index.js +17 -0
  158. package/dist/core/app/AppEvent.d.ts +29 -0
  159. package/dist/core/app/AppEvent.js +44 -0
  160. package/dist/core/app/AppState.d.ts +22 -0
  161. package/dist/core/app/AppState.js +69 -0
  162. package/dist/core/app/AppStateContainer.d.ts +5 -0
  163. package/dist/core/app/AppStateContainer.js +14 -0
  164. package/dist/core/app/AppStateContext.d.ts +7 -0
  165. package/dist/core/app/AppStateContext.js +6 -0
  166. package/dist/core/app/error/AppError.d.ts +7 -0
  167. package/dist/core/app/error/AppError.js +12 -0
  168. package/dist/core/app/error/EditorBlocked.d.ts +1 -0
  169. package/dist/core/app/error/EditorBlocked.js +18 -0
  170. package/dist/core/app/error/EditorOffline.d.ts +1 -0
  171. package/dist/core/app/error/EditorOffline.js +18 -0
  172. package/dist/core/app/error/index.d.ts +3 -0
  173. package/dist/core/app/error/index.js +19 -0
  174. package/dist/core/app/index.d.ts +5 -0
  175. package/dist/core/app/index.js +21 -0
  176. package/dist/core/app/useAppState.d.ts +1 -0
  177. package/dist/core/app/useAppState.js +32 -0
  178. package/dist/core/auth/Auth.d.ts +1 -0
  179. package/dist/core/auth/Auth.js +52 -0
  180. package/dist/core/auth/AuthContainer.d.ts +5 -0
  181. package/dist/core/auth/AuthContainer.js +16 -0
  182. package/dist/core/auth/AuthContext.d.ts +7 -0
  183. package/dist/core/auth/AuthContext.js +6 -0
  184. package/dist/core/auth/Authenticator.d.ts +36 -0
  185. package/dist/core/auth/Authenticator.js +181 -0
  186. package/dist/core/auth/index.d.ts +5 -0
  187. package/dist/core/auth/index.js +21 -0
  188. package/dist/core/auth/useAuthenticator.d.ts +1 -0
  189. package/dist/core/auth/useAuthenticator.js +24 -0
  190. package/dist/core/client/EditorApiClient.d.ts +72 -0
  191. package/dist/core/client/EditorApiClient.js +253 -0
  192. package/dist/core/client/EditorApiContainer.d.ts +5 -0
  193. package/dist/core/client/EditorApiContainer.js +16 -0
  194. package/dist/core/client/EditorApiContext.d.ts +7 -0
  195. package/dist/core/client/EditorApiContext.js +6 -0
  196. package/dist/core/client/index.d.ts +3 -0
  197. package/dist/core/client/index.js +19 -0
  198. package/dist/core/client/useEditorApi.d.ts +2 -0
  199. package/dist/core/client/useEditorApi.js +12 -0
  200. package/dist/core/components/AutoSave.d.ts +9 -0
  201. package/dist/core/components/AutoSave.js +38 -0
  202. package/dist/core/components/ColorModeToggle.d.ts +8 -0
  203. package/dist/core/components/ColorModeToggle.js +40 -0
  204. package/dist/core/components/Header.d.ts +26 -0
  205. package/dist/core/components/Header.js +69 -0
  206. package/dist/core/components/TagEditor.d.ts +8 -0
  207. package/dist/core/components/TagEditor.js +26 -0
  208. package/dist/core/components/UserEditor.d.ts +14 -0
  209. package/dist/core/components/UserEditor.js +241 -0
  210. package/dist/core/components/feedback/Badge.d.ts +13 -0
  211. package/dist/core/components/feedback/Badge.js +61 -0
  212. package/dist/core/components/feedback/CountBadge.d.ts +9 -0
  213. package/dist/core/components/feedback/CountBadge.js +27 -0
  214. package/dist/core/components/feedback/EmptyState.d.ts +13 -0
  215. package/dist/core/components/feedback/EmptyState.js +22 -0
  216. package/dist/core/components/feedback/ErrorMessage.d.ts +15 -0
  217. package/dist/core/components/feedback/ErrorMessage.js +81 -0
  218. package/dist/core/components/feedback/Note.d.ts +9 -0
  219. package/dist/core/components/feedback/Note.js +32 -0
  220. package/dist/core/components/feedback/ProgressBar.d.ts +8 -0
  221. package/dist/core/components/feedback/ProgressBar.js +23 -0
  222. package/dist/core/components/feedback/SelectionDecorator.d.ts +7 -0
  223. package/dist/core/components/feedback/SelectionDecorator.js +20 -0
  224. package/dist/core/components/feedback/StatusBadge.d.ts +9 -0
  225. package/dist/core/components/feedback/StatusBadge.js +31 -0
  226. package/dist/core/components/feedback/StatusChip.d.ts +9 -0
  227. package/dist/core/components/feedback/StatusChip.js +33 -0
  228. package/dist/core/components/feedback/StatusIcon.d.ts +10 -0
  229. package/dist/core/components/feedback/StatusIcon.js +53 -0
  230. package/dist/core/components/feedback/dialog/Confirm.d.ts +32 -0
  231. package/dist/core/components/feedback/dialog/Confirm.js +103 -0
  232. package/dist/core/components/feedback/dialog/Custom.d.ts +15 -0
  233. package/dist/core/components/feedback/dialog/Custom.js +14 -0
  234. package/dist/core/components/feedback/dialog/DialogContainer.d.ts +7 -0
  235. package/dist/core/components/feedback/dialog/DialogContainer.js +65 -0
  236. package/dist/core/components/feedback/dialog/DialogContext.d.ts +11 -0
  237. package/dist/core/components/feedback/dialog/DialogContext.js +6 -0
  238. package/dist/core/components/feedback/dialog/DialogLayout.d.ts +20 -0
  239. package/dist/core/components/feedback/dialog/DialogLayout.js +18 -0
  240. package/dist/core/components/feedback/dialog/MinimalDialogLayout.d.ts +20 -0
  241. package/dist/core/components/feedback/dialog/MinimalDialogLayout.js +18 -0
  242. package/dist/core/components/feedback/dialog/Notify.d.ts +19 -0
  243. package/dist/core/components/feedback/dialog/Notify.js +28 -0
  244. package/dist/core/components/feedback/dialog/index.d.ts +4 -0
  245. package/dist/core/components/feedback/dialog/index.js +20 -0
  246. package/dist/core/components/feedback/dialog/useDialog.d.ts +24 -0
  247. package/dist/core/components/feedback/dialog/useDialog.js +78 -0
  248. package/dist/core/components/feedback/index.d.ts +11 -0
  249. package/dist/core/components/feedback/index.js +27 -0
  250. package/dist/core/components/fields/BooleanField.d.ts +10 -0
  251. package/dist/core/components/fields/BooleanField.js +29 -0
  252. package/dist/core/components/fields/DateField.d.ts +10 -0
  253. package/dist/core/components/fields/DateField.js +18 -0
  254. package/dist/core/components/fields/DynamicPagesEditor.d.ts +16 -0
  255. package/dist/core/components/fields/DynamicPagesEditor.js +212 -0
  256. package/dist/core/components/fields/EmptyFieldCard.d.ts +12 -0
  257. package/dist/core/components/fields/EmptyFieldCard.js +52 -0
  258. package/dist/core/components/fields/EnumField.d.ts +11 -0
  259. package/dist/core/components/fields/EnumField.js +58 -0
  260. package/dist/core/components/fields/FieldButton.d.ts +11 -0
  261. package/dist/core/components/fields/FieldButton.js +17 -0
  262. package/dist/core/components/fields/FieldCard.d.ts +18 -0
  263. package/dist/core/components/fields/FieldCard.js +44 -0
  264. package/dist/core/components/fields/FieldCardLayout.d.ts +17 -0
  265. package/dist/core/components/fields/FieldCardLayout.js +63 -0
  266. package/dist/core/components/fields/FieldEditor.d.ts +15 -0
  267. package/dist/core/components/fields/FieldEditor.js +97 -0
  268. package/dist/core/components/fields/FieldErrorController.d.ts +12 -0
  269. package/dist/core/components/fields/FieldErrorController.js +13 -0
  270. package/dist/core/components/fields/FieldHeader.d.ts +13 -0
  271. package/dist/core/components/fields/FieldHeader.js +62 -0
  272. package/dist/core/components/fields/FieldLayout.d.ts +17 -0
  273. package/dist/core/components/fields/FieldLayout.js +61 -0
  274. package/dist/core/components/fields/FieldsPanel.d.ts +14 -0
  275. package/dist/core/components/fields/FieldsPanel.js +110 -0
  276. package/dist/core/components/fields/FormEditor.d.ts +8 -0
  277. package/dist/core/components/fields/FormEditor.js +139 -0
  278. package/dist/core/components/fields/ListEditor.d.ts +8 -0
  279. package/dist/core/components/fields/ListEditor.js +152 -0
  280. package/dist/core/components/fields/OptInField.d.ts +8 -0
  281. package/dist/core/components/fields/OptInField.js +23 -0
  282. package/dist/core/components/fields/RichTextEditor.d.ts +24 -0
  283. package/dist/core/components/fields/RichTextEditor.js +219 -0
  284. package/dist/core/components/fields/RichTextField.d.ts +10 -0
  285. package/dist/core/components/fields/RichTextField.js +38 -0
  286. package/dist/core/components/fields/TextField.d.ts +25 -0
  287. package/dist/core/components/fields/TextField.js +191 -0
  288. package/dist/core/components/fields/TimestampField.d.ts +13 -0
  289. package/dist/core/components/fields/TimestampField.js +47 -0
  290. package/dist/core/components/fields/asset/AssetCard.d.ts +6 -0
  291. package/dist/core/components/fields/asset/AssetCard.js +71 -0
  292. package/dist/core/components/fields/asset/AssetEditor.d.ts +13 -0
  293. package/dist/core/components/fields/asset/AssetEditor.js +213 -0
  294. package/dist/core/components/fields/asset/AssetInfo.d.ts +48 -0
  295. package/dist/core/components/fields/asset/AssetInfo.js +116 -0
  296. package/dist/core/components/fields/asset/AssetPicker.d.ts +12 -0
  297. package/dist/core/components/fields/asset/AssetPicker.js +218 -0
  298. package/dist/core/components/fields/asset/AssetPreview.d.ts +9 -0
  299. package/dist/core/components/fields/asset/AssetPreview.js +27 -0
  300. package/dist/core/components/fields/asset/AssetSelectorPane.d.ts +10 -0
  301. package/dist/core/components/fields/asset/AssetSelectorPane.js +182 -0
  302. package/dist/core/components/fields/asset/AssetSpecs.d.ts +11 -0
  303. package/dist/core/components/fields/asset/AssetSpecs.js +59 -0
  304. package/dist/core/components/fields/asset/AssetUploader.d.ts +13 -0
  305. package/dist/core/components/fields/asset/AssetUploader.js +212 -0
  306. package/dist/core/components/fields/asset/index.d.ts +5 -0
  307. package/dist/core/components/fields/asset/index.js +21 -0
  308. package/dist/core/components/fields/asset/preview/ImagePreview.d.ts +8 -0
  309. package/dist/core/components/fields/asset/preview/ImagePreview.js +37 -0
  310. package/dist/core/components/fields/asset/preview/VideoPreview.d.ts +9 -0
  311. package/dist/core/components/fields/asset/preview/VideoPreview.js +77 -0
  312. package/dist/core/components/fields/asset/preview/index.d.ts +2 -0
  313. package/dist/core/components/fields/asset/preview/index.js +18 -0
  314. package/dist/core/components/fields/asset/useAssetFields.d.ts +20 -0
  315. package/dist/core/components/fields/asset/useAssetFields.js +39 -0
  316. package/dist/core/components/fields/collection/CollectionCard.d.ts +6 -0
  317. package/dist/core/components/fields/collection/CollectionCard.js +58 -0
  318. package/dist/core/components/fields/collection/CollectionEditor.d.ts +15 -0
  319. package/dist/core/components/fields/collection/CollectionEditor.js +154 -0
  320. package/dist/core/components/fields/collection/CollectionPicker.d.ts +15 -0
  321. package/dist/core/components/fields/collection/CollectionPicker.js +252 -0
  322. package/dist/core/components/fields/collection/index.d.ts +3 -0
  323. package/dist/core/components/fields/collection/index.js +19 -0
  324. package/dist/core/components/fields/collection/previews/ClientPreview.d.ts +10 -0
  325. package/dist/core/components/fields/collection/previews/ClientPreview.js +29 -0
  326. package/dist/core/components/fields/collection/previews/GenericPreview.d.ts +9 -0
  327. package/dist/core/components/fields/collection/previews/GenericPreview.js +10 -0
  328. package/dist/core/components/fields/collection/previews/index.d.ts +2 -0
  329. package/dist/core/components/fields/collection/previews/index.js +18 -0
  330. package/dist/core/components/fields/dynamicPages/PageCard.d.ts +10 -0
  331. package/dist/core/components/fields/dynamicPages/PageCard.js +21 -0
  332. package/dist/core/components/fields/dynamicPages/PageGhostCard.d.ts +7 -0
  333. package/dist/core/components/fields/dynamicPages/PageGhostCard.js +14 -0
  334. package/dist/core/components/fields/dynamicPages/PagePriorityDialog.d.ts +15 -0
  335. package/dist/core/components/fields/dynamicPages/PagePriorityDialog.js +115 -0
  336. package/dist/core/components/fields/dynamicPages/index.d.ts +3 -0
  337. package/dist/core/components/fields/dynamicPages/index.js +19 -0
  338. package/dist/core/components/fields/embed/EmbeddedVideoCard.d.ts +6 -0
  339. package/dist/core/components/fields/embed/EmbeddedVideoCard.js +39 -0
  340. package/dist/core/components/fields/embed/EmbeddedVideoEditor.d.ts +15 -0
  341. package/dist/core/components/fields/embed/EmbeddedVideoEditor.js +234 -0
  342. package/dist/core/components/fields/embed/index.d.ts +2 -0
  343. package/dist/core/components/fields/embed/index.js +18 -0
  344. package/dist/core/components/fields/factories/AssetFactory.d.ts +11 -0
  345. package/dist/core/components/fields/factories/AssetFactory.js +150 -0
  346. package/dist/core/components/fields/factories/CollectionFactory.d.ts +12 -0
  347. package/dist/core/components/fields/factories/CollectionFactory.js +167 -0
  348. package/dist/core/components/fields/factories/EmbeddedVideoFactory.d.ts +12 -0
  349. package/dist/core/components/fields/factories/EmbeddedVideoFactory.js +40 -0
  350. package/dist/core/components/fields/factories/FieldValueFactory.d.ts +11 -0
  351. package/dist/core/components/fields/factories/FieldValueFactory.js +52 -0
  352. package/dist/core/components/fields/factories/LinkFactory.d.ts +13 -0
  353. package/dist/core/components/fields/factories/LinkFactory.js +40 -0
  354. package/dist/core/components/fields/factories/ObjectFactory.d.ts +11 -0
  355. package/dist/core/components/fields/factories/ObjectFactory.js +39 -0
  356. package/dist/core/components/fields/factories/PageFactory.d.ts +11 -0
  357. package/dist/core/components/fields/factories/PageFactory.js +39 -0
  358. package/dist/core/components/fields/factories/TextFactory.d.ts +11 -0
  359. package/dist/core/components/fields/factories/TextFactory.js +47 -0
  360. package/dist/core/components/fields/factories/index.d.ts +1 -0
  361. package/dist/core/components/fields/factories/index.js +5 -0
  362. package/dist/core/components/fields/form/FormFieldEditor.d.ts +18 -0
  363. package/dist/core/components/fields/form/FormFieldEditor.js +125 -0
  364. package/dist/core/components/fields/form/FormFieldItem.d.ts +15 -0
  365. package/dist/core/components/fields/form/FormFieldItem.js +79 -0
  366. package/dist/core/components/fields/form/index.d.ts +2 -0
  367. package/dist/core/components/fields/form/index.js +18 -0
  368. package/dist/core/components/fields/index.d.ts +8 -0
  369. package/dist/core/components/fields/index.js +24 -0
  370. package/dist/core/components/fields/link/LinkCard.d.ts +6 -0
  371. package/dist/core/components/fields/link/LinkCard.js +95 -0
  372. package/dist/core/components/fields/link/LinkEditor.d.ts +16 -0
  373. package/dist/core/components/fields/link/LinkEditor.js +232 -0
  374. package/dist/core/components/fields/link/index.d.ts +2 -0
  375. package/dist/core/components/fields/link/index.js +18 -0
  376. package/dist/core/components/fields/list/CreateFieldButton.d.ts +10 -0
  377. package/dist/core/components/fields/list/CreateFieldButton.js +45 -0
  378. package/dist/core/components/fields/list/CreateFieldCard.d.ts +12 -0
  379. package/dist/core/components/fields/list/CreateFieldCard.js +52 -0
  380. package/dist/core/components/fields/list/index.d.ts +2 -0
  381. package/dist/core/components/fields/list/index.js +18 -0
  382. package/dist/core/components/fields/object/ObjectCard.d.ts +6 -0
  383. package/dist/core/components/fields/object/ObjectCard.js +43 -0
  384. package/dist/core/components/fields/object/ObjectEditor.d.ts +12 -0
  385. package/dist/core/components/fields/object/ObjectEditor.js +62 -0
  386. package/dist/core/components/fields/object/index.d.ts +2 -0
  387. package/dist/core/components/fields/object/index.js +18 -0
  388. package/dist/core/components/fields/page/PageCard.d.ts +6 -0
  389. package/dist/core/components/fields/page/PageCard.js +48 -0
  390. package/dist/core/components/fields/page/PagePicker.d.ts +18 -0
  391. package/dist/core/components/fields/page/PagePicker.js +289 -0
  392. package/dist/core/components/fields/page/index.d.ts +2 -0
  393. package/dist/core/components/fields/page/index.js +18 -0
  394. package/dist/core/components/fields/richtext/FloatingToolbarPlugin.d.ts +10 -0
  395. package/dist/core/components/fields/richtext/FloatingToolbarPlugin.js +85 -0
  396. package/dist/core/components/fields/richtext/LinkEditor.d.ts +9 -0
  397. package/dist/core/components/fields/richtext/LinkEditor.js +112 -0
  398. package/dist/core/components/fields/richtext/LinkPopup.d.ts +6 -0
  399. package/dist/core/components/fields/richtext/LinkPopup.js +168 -0
  400. package/dist/core/components/fields/richtext/SanitizerPlugin.d.ts +8 -0
  401. package/dist/core/components/fields/richtext/SanitizerPlugin.js +66 -0
  402. package/dist/core/components/fields/richtext/StyledTextNodePlugin.d.ts +1 -0
  403. package/dist/core/components/fields/richtext/StyledTextNodePlugin.js +44 -0
  404. package/dist/core/components/fields/richtext/Theme.d.ts +6 -0
  405. package/dist/core/components/fields/richtext/Theme.js +65 -0
  406. package/dist/core/components/fields/richtext/Toolbar.d.ts +11 -0
  407. package/dist/core/components/fields/richtext/Toolbar.js +382 -0
  408. package/dist/core/components/fields/richtext/index.d.ts +7 -0
  409. package/dist/core/components/fields/richtext/index.js +23 -0
  410. package/dist/core/components/fields/richtext/useEditorActive.d.ts +4 -0
  411. package/dist/core/components/fields/richtext/useEditorActive.js +44 -0
  412. package/dist/core/components/index.d.ts +12 -0
  413. package/dist/core/components/index.js +28 -0
  414. package/dist/core/components/interaction/Animate.d.ts +13 -0
  415. package/dist/core/components/interaction/Animate.js +23 -0
  416. package/dist/core/components/interaction/AvatarButton.d.ts +9 -0
  417. package/dist/core/components/interaction/AvatarButton.js +28 -0
  418. package/dist/core/components/interaction/Button.d.ts +31 -0
  419. package/dist/core/components/interaction/Button.js +45 -0
  420. package/dist/core/components/interaction/ButtonLink.d.ts +19 -0
  421. package/dist/core/components/interaction/ButtonLink.js +30 -0
  422. package/dist/core/components/interaction/Checkbox.d.ts +9 -0
  423. package/dist/core/components/interaction/Checkbox.js +49 -0
  424. package/dist/core/components/interaction/Chip.d.ts +13 -0
  425. package/dist/core/components/interaction/Chip.js +31 -0
  426. package/dist/core/components/interaction/ChipFilters.d.ts +17 -0
  427. package/dist/core/components/interaction/ChipFilters.js +31 -0
  428. package/dist/core/components/interaction/ChoiceChip.d.ts +14 -0
  429. package/dist/core/components/interaction/ChoiceChip.js +31 -0
  430. package/dist/core/components/interaction/Combobox.d.ts +36 -0
  431. package/dist/core/components/interaction/Combobox.js +94 -0
  432. package/dist/core/components/interaction/DatePicker.d.ts +18 -0
  433. package/dist/core/components/interaction/DatePicker.js +156 -0
  434. package/dist/core/components/interaction/DateTimePicker.d.ts +18 -0
  435. package/dist/core/components/interaction/DateTimePicker.js +98 -0
  436. package/dist/core/components/interaction/IconButton.d.ts +26 -0
  437. package/dist/core/components/interaction/IconButton.js +41 -0
  438. package/dist/core/components/interaction/IconLink.d.ts +6 -0
  439. package/dist/core/components/interaction/IconLink.js +28 -0
  440. package/dist/core/components/interaction/LinkGroup.d.ts +18 -0
  441. package/dist/core/components/interaction/LinkGroup.js +68 -0
  442. package/dist/core/components/interaction/Loader.d.ts +10 -0
  443. package/dist/core/components/interaction/Loader.js +35 -0
  444. package/dist/core/components/interaction/MiniEditor.d.ts +19 -0
  445. package/dist/core/components/interaction/MiniEditor.js +113 -0
  446. package/dist/core/components/interaction/MultiSelectControls.d.ts +27 -0
  447. package/dist/core/components/interaction/MultiSelectControls.js +88 -0
  448. package/dist/core/components/interaction/NavButton.d.ts +9 -0
  449. package/dist/core/components/interaction/NavButton.js +47 -0
  450. package/dist/core/components/interaction/Picker.d.ts +5 -0
  451. package/dist/core/components/interaction/Picker.js +26 -0
  452. package/dist/core/components/interaction/Popup.d.ts +34 -0
  453. package/dist/core/components/interaction/Popup.js +160 -0
  454. package/dist/core/components/interaction/Profile.d.ts +11 -0
  455. package/dist/core/components/interaction/Profile.js +15 -0
  456. package/dist/core/components/interaction/QuickInput.d.ts +17 -0
  457. package/dist/core/components/interaction/QuickInput.js +149 -0
  458. package/dist/core/components/interaction/SegmentedButton.d.ts +23 -0
  459. package/dist/core/components/interaction/SegmentedButton.js +75 -0
  460. package/dist/core/components/interaction/Sortable.d.ts +24 -0
  461. package/dist/core/components/interaction/Sortable.js +57 -0
  462. package/dist/core/components/interaction/Toggle.d.ts +9 -0
  463. package/dist/core/components/interaction/Toggle.js +33 -0
  464. package/dist/core/components/interaction/Touchable.d.ts +14 -0
  465. package/dist/core/components/interaction/Touchable.js +33 -0
  466. package/dist/core/components/interaction/centersheet/CenterSheet.d.ts +20 -0
  467. package/dist/core/components/interaction/centersheet/CenterSheet.js +137 -0
  468. package/dist/core/components/interaction/centersheet/CenterSheetContainer.d.ts +5 -0
  469. package/dist/core/components/interaction/centersheet/CenterSheetContainer.js +65 -0
  470. package/dist/core/components/interaction/centersheet/CenterSheetContext.d.ts +27 -0
  471. package/dist/core/components/interaction/centersheet/CenterSheetContext.js +6 -0
  472. package/dist/core/components/interaction/centersheet/index.d.ts +3 -0
  473. package/dist/core/components/interaction/centersheet/index.js +19 -0
  474. package/dist/core/components/interaction/index.d.ts +29 -0
  475. package/dist/core/components/interaction/index.js +45 -0
  476. package/dist/core/components/interaction/menu/Menu.d.ts +25 -0
  477. package/dist/core/components/interaction/menu/Menu.js +88 -0
  478. package/dist/core/components/interaction/menu/MenuButton.d.ts +16 -0
  479. package/dist/core/components/interaction/menu/MenuButton.js +31 -0
  480. package/dist/core/components/interaction/menu/MenuItem.d.ts +27 -0
  481. package/dist/core/components/interaction/menu/MenuItem.js +32 -0
  482. package/dist/core/components/interaction/menu/MenuList.d.ts +11 -0
  483. package/dist/core/components/interaction/menu/MenuList.js +28 -0
  484. package/dist/core/components/interaction/menu/index.d.ts +5 -0
  485. package/dist/core/components/interaction/menu/index.js +21 -0
  486. package/dist/core/components/interaction/menu/useMenuController.d.ts +22 -0
  487. package/dist/core/components/interaction/menu/useMenuController.js +70 -0
  488. package/dist/core/components/interaction/table/Table.d.ts +11 -0
  489. package/dist/core/components/interaction/table/Table.js +21 -0
  490. package/dist/core/components/interaction/table/TableItem.d.ts +15 -0
  491. package/dist/core/components/interaction/table/TableItem.js +56 -0
  492. package/dist/core/components/interaction/table/index.d.ts +2 -0
  493. package/dist/core/components/interaction/table/index.js +18 -0
  494. package/dist/core/components/languageDialog/CreateLanguageStep.d.ts +13 -0
  495. package/dist/core/components/languageDialog/CreateLanguageStep.js +58 -0
  496. package/dist/core/components/languageDialog/ErrorState.d.ts +9 -0
  497. package/dist/core/components/languageDialog/ErrorState.js +11 -0
  498. package/dist/core/components/languageDialog/LanguageDialog.d.ts +21 -0
  499. package/dist/core/components/languageDialog/LanguageDialog.js +102 -0
  500. package/dist/core/components/languageDialog/OverviewStep.d.ts +13 -0
  501. package/dist/core/components/languageDialog/OverviewStep.js +14 -0
  502. package/dist/core/components/languageDialog/index.d.ts +1 -0
  503. package/dist/core/components/languageDialog/index.js +17 -0
  504. package/dist/core/components/layout/InfoPanel.d.ts +15 -0
  505. package/dist/core/components/layout/InfoPanel.js +47 -0
  506. package/dist/core/components/layout/index.d.ts +1 -0
  507. package/dist/core/components/layout/index.js +17 -0
  508. package/dist/core/components/transitions/FadeIn.d.ts +10 -0
  509. package/dist/core/components/transitions/FadeIn.js +41 -0
  510. package/dist/core/components/transitions/LoadingUntilReady.d.ts +8 -0
  511. package/dist/core/components/transitions/LoadingUntilReady.js +14 -0
  512. package/dist/core/components/transitions/index.d.ts +2 -0
  513. package/dist/core/components/transitions/index.js +18 -0
  514. package/dist/core/components/visuals/BlockIcon.d.ts +11 -0
  515. package/dist/core/components/visuals/BlockIcon.js +35 -0
  516. package/dist/core/components/visuals/Icon.d.ts +19 -0
  517. package/dist/core/components/visuals/Icon.js +282 -0
  518. package/dist/core/components/visuals/Illustration.d.ts +11 -0
  519. package/dist/core/components/visuals/Illustration.js +54 -0
  520. package/dist/core/components/visuals/Logo.d.ts +7 -0
  521. package/dist/core/components/visuals/Logo.js +13 -0
  522. package/dist/core/components/visuals/SkeletonLayout.d.ts +9 -0
  523. package/dist/core/components/visuals/SkeletonLayout.js +236 -0
  524. package/dist/core/components/visuals/index.d.ts +5 -0
  525. package/dist/core/components/visuals/index.js +21 -0
  526. package/dist/core/domain/Asset.d.ts +5 -0
  527. package/dist/core/domain/Asset.js +2 -0
  528. package/dist/core/domain/Block.d.ts +55 -0
  529. package/dist/core/domain/Block.js +350 -0
  530. package/dist/core/domain/BlockConfiguration.d.ts +42 -0
  531. package/dist/core/domain/BlockConfiguration.js +240 -0
  532. package/dist/core/domain/ChangeSetBrowser.d.ts +33 -0
  533. package/dist/core/domain/ChangeSetBrowser.js +90 -0
  534. package/dist/core/domain/Collection.d.ts +125 -0
  535. package/dist/core/domain/Collection.js +348 -0
  536. package/dist/core/domain/CollectionBrowser.d.ts +40 -0
  537. package/dist/core/domain/CollectionBrowser.js +119 -0
  538. package/dist/core/domain/CollectionFieldProxy.d.ts +87 -0
  539. package/dist/core/domain/CollectionFieldProxy.js +441 -0
  540. package/dist/core/domain/CollectionGroup.d.ts +24 -0
  541. package/dist/core/domain/CollectionGroup.js +22 -0
  542. package/dist/core/domain/CollectionSummary.d.ts +33 -0
  543. package/dist/core/domain/CollectionSummary.js +67 -0
  544. package/dist/core/domain/Collections.d.ts +40 -0
  545. package/dist/core/domain/Collections.js +107 -0
  546. package/dist/core/domain/IAssetStore.d.ts +15 -0
  547. package/dist/core/domain/IAssetStore.js +2 -0
  548. package/dist/core/domain/ICollectionStore.d.ts +12 -0
  549. package/dist/core/domain/ICollectionStore.js +2 -0
  550. package/dist/core/domain/IPageRefStore.d.ts +12 -0
  551. package/dist/core/domain/IPageRefStore.js +2 -0
  552. package/dist/core/domain/ITagged.d.ts +8 -0
  553. package/dist/core/domain/ITagged.js +2 -0
  554. package/dist/core/domain/Item.d.ts +18 -0
  555. package/dist/core/domain/Item.js +20 -0
  556. package/dist/core/domain/ItemBase.d.ts +45 -0
  557. package/dist/core/domain/ItemBase.js +153 -0
  558. package/dist/core/domain/Page.d.ts +172 -0
  559. package/dist/core/domain/Page.js +701 -0
  560. package/dist/core/domain/PageOverview.d.ts +38 -0
  561. package/dist/core/domain/PageOverview.js +63 -0
  562. package/dist/core/domain/PageRefStoreProxy.d.ts +31 -0
  563. package/dist/core/domain/PageRefStoreProxy.js +118 -0
  564. package/dist/core/domain/PageSettings.d.ts +11 -0
  565. package/dist/core/domain/PageSettings.js +20 -0
  566. package/dist/core/domain/PageSummary.d.ts +35 -0
  567. package/dist/core/domain/PageSummary.js +88 -0
  568. package/dist/core/domain/Pages.d.ts +37 -0
  569. package/dist/core/domain/Pages.js +137 -0
  570. package/dist/core/domain/Section.d.ts +45 -0
  571. package/dist/core/domain/Section.js +156 -0
  572. package/dist/core/domain/SectionBlock.d.ts +32 -0
  573. package/dist/core/domain/SectionBlock.js +77 -0
  574. package/dist/core/domain/Site.d.ts +52 -0
  575. package/dist/core/domain/Site.js +168 -0
  576. package/dist/core/domain/TranslateSchema.d.ts +7 -0
  577. package/dist/core/domain/TranslateSchema.js +2 -0
  578. package/dist/core/domain/UserBrowser.d.ts +38 -0
  579. package/dist/core/domain/UserBrowser.js +106 -0
  580. package/dist/core/domain/UserValidation.d.ts +6 -0
  581. package/dist/core/domain/UserValidation.js +24 -0
  582. package/dist/core/domain/index.d.ts +28 -0
  583. package/dist/core/domain/index.js +44 -0
  584. package/dist/core/hooks/index.d.ts +23 -0
  585. package/dist/core/hooks/index.js +39 -0
  586. package/dist/core/hooks/useAssetStore.d.ts +6 -0
  587. package/dist/core/hooks/useAssetStore.js +32 -0
  588. package/dist/core/hooks/useBlock.d.ts +2 -0
  589. package/dist/core/hooks/useBlock.js +21 -0
  590. package/dist/core/hooks/useBlockConfiguration.d.ts +2 -0
  591. package/dist/core/hooks/useBlockConfiguration.js +21 -0
  592. package/dist/core/hooks/useChangeSet.d.ts +2 -0
  593. package/dist/core/hooks/useChangeSet.js +41 -0
  594. package/dist/core/hooks/useChangeSetBrowser.d.ts +5 -0
  595. package/dist/core/hooks/useChangeSetBrowser.js +28 -0
  596. package/dist/core/hooks/useCollection.d.ts +9 -0
  597. package/dist/core/hooks/useCollection.js +39 -0
  598. package/dist/core/hooks/useCollectionBrowser.d.ts +3 -0
  599. package/dist/core/hooks/useCollectionBrowser.js +30 -0
  600. package/dist/core/hooks/useCollectionData.d.ts +9 -0
  601. package/dist/core/hooks/useCollectionData.js +45 -0
  602. package/dist/core/hooks/useCollectionFieldProxy.d.ts +2 -0
  603. package/dist/core/hooks/useCollectionFieldProxy.js +21 -0
  604. package/dist/core/hooks/useCollectionRepository.d.ts +2 -0
  605. package/dist/core/hooks/useCollectionRepository.js +11 -0
  606. package/dist/core/hooks/useCollectionStore.d.ts +6 -0
  607. package/dist/core/hooks/useCollectionStore.js +32 -0
  608. package/dist/core/hooks/useCollections.d.ts +9 -0
  609. package/dist/core/hooks/useCollections.js +39 -0
  610. package/dist/core/hooks/useField.d.ts +3 -0
  611. package/dist/core/hooks/useField.js +41 -0
  612. package/dist/core/hooks/useHotkeyScopeLock.d.ts +7 -0
  613. package/dist/core/hooks/useHotkeyScopeLock.js +40 -0
  614. package/dist/core/hooks/usePage.d.ts +9 -0
  615. package/dist/core/hooks/usePage.js +39 -0
  616. package/dist/core/hooks/usePageCollection.d.ts +3 -0
  617. package/dist/core/hooks/usePageCollection.js +38 -0
  618. package/dist/core/hooks/usePageRef.d.ts +2 -0
  619. package/dist/core/hooks/usePageRef.js +11 -0
  620. package/dist/core/hooks/usePageRefStore.d.ts +7 -0
  621. package/dist/core/hooks/usePageRefStore.js +39 -0
  622. package/dist/core/hooks/usePageRepository.d.ts +2 -0
  623. package/dist/core/hooks/usePageRepository.js +11 -0
  624. package/dist/core/hooks/usePages.d.ts +7 -0
  625. package/dist/core/hooks/usePages.js +27 -0
  626. package/dist/core/hooks/useSite.d.ts +9 -0
  627. package/dist/core/hooks/useSite.js +39 -0
  628. package/dist/core/hooks/useTempFields.d.ts +8 -0
  629. package/dist/core/hooks/useTempFields.js +55 -0
  630. package/dist/core/hooks/useUserBrowser.d.ts +5 -0
  631. package/dist/core/hooks/useUserBrowser.js +28 -0
  632. package/dist/core/index.d.ts +12 -0
  633. package/dist/core/index.js +28 -0
  634. package/dist/core/repository/CollectionRepository.d.ts +29 -0
  635. package/dist/core/repository/CollectionRepository.js +274 -0
  636. package/dist/core/repository/CollectionSerializer.d.ts +14 -0
  637. package/dist/core/repository/CollectionSerializer.js +57 -0
  638. package/dist/core/repository/CollectionTarget.d.ts +9 -0
  639. package/dist/core/repository/CollectionTarget.js +24 -0
  640. package/dist/core/repository/FieldSerializer.d.ts +11 -0
  641. package/dist/core/repository/FieldSerializer.js +69 -0
  642. package/dist/core/repository/PageRepository.d.ts +32 -0
  643. package/dist/core/repository/PageRepository.js +462 -0
  644. package/dist/core/repository/PageSerializer.d.ts +13 -0
  645. package/dist/core/repository/PageSerializer.js +182 -0
  646. package/dist/core/repository/PageTarget.d.ts +9 -0
  647. package/dist/core/repository/PageTarget.js +2 -0
  648. package/dist/core/repository/SiteRepository.d.ts +5 -0
  649. package/dist/core/repository/SiteRepository.js +10 -0
  650. package/dist/core/repository/TagSerializer.d.ts +8 -0
  651. package/dist/core/repository/TagSerializer.js +26 -0
  652. package/dist/core/repository/index.d.ts +9 -0
  653. package/dist/core/repository/index.js +25 -0
  654. package/dist/core/routing/index.d.ts +1 -0
  655. package/dist/core/routing/index.js +17 -0
  656. package/dist/core/routing/useEditorRouter.d.ts +105 -0
  657. package/dist/core/routing/useEditorRouter.js +399 -0
  658. package/dist/core/screens/NotFound.d.ts +1 -0
  659. package/dist/core/screens/NotFound.js +12 -0
  660. package/dist/core/screens/index.d.ts +1 -0
  661. package/dist/core/screens/index.js +17 -0
  662. package/dist/core/settings/Settings.d.ts +31 -0
  663. package/dist/core/settings/Settings.js +86 -0
  664. package/dist/core/settings/SettingsContainer.d.ts +5 -0
  665. package/dist/core/settings/SettingsContainer.js +36 -0
  666. package/dist/core/settings/SettingsContext.d.ts +7 -0
  667. package/dist/core/settings/SettingsContext.js +6 -0
  668. package/dist/core/settings/index.d.ts +4 -0
  669. package/dist/core/settings/index.js +20 -0
  670. package/dist/core/settings/useSettings.d.ts +2 -0
  671. package/dist/core/settings/useSettings.js +11 -0
  672. package/dist/core/site-config/SiteConfig.d.ts +39 -0
  673. package/dist/core/site-config/SiteConfig.js +200 -0
  674. package/dist/core/site-config/SiteConfigContainer.d.ts +5 -0
  675. package/dist/core/site-config/SiteConfigContainer.js +21 -0
  676. package/dist/core/site-config/SiteConfigContext.d.ts +7 -0
  677. package/dist/core/site-config/SiteConfigContext.js +6 -0
  678. package/dist/core/site-config/index.d.ts +4 -0
  679. package/dist/core/site-config/index.js +20 -0
  680. package/dist/core/site-config/useSiteConfig.d.ts +2 -0
  681. package/dist/core/site-config/useSiteConfig.js +24 -0
  682. package/dist/core/splash/Splash.d.ts +7 -0
  683. package/dist/core/splash/Splash.js +40 -0
  684. package/dist/core/splash/SplashContainer.d.ts +5 -0
  685. package/dist/core/splash/SplashContainer.js +33 -0
  686. package/dist/core/splash/SplashContext.d.ts +7 -0
  687. package/dist/core/splash/SplashContext.js +6 -0
  688. package/dist/core/splash/SplashService.d.ts +42 -0
  689. package/dist/core/splash/SplashService.js +108 -0
  690. package/dist/core/splash/index.d.ts +2 -0
  691. package/dist/core/splash/index.js +18 -0
  692. package/dist/core/splash/useSplash.d.ts +2 -0
  693. package/dist/core/splash/useSplash.js +11 -0
  694. package/dist/dashboard/components/NavCard.d.ts +14 -0
  695. package/dist/dashboard/components/NavCard.js +15 -0
  696. package/dist/dashboard/components/index.d.ts +1 -0
  697. package/dist/dashboard/components/index.js +17 -0
  698. package/dist/dashboard/index.d.ts +1 -0
  699. package/dist/dashboard/index.js +17 -0
  700. package/dist/dashboard/screens/Dashboard.d.ts +1 -0
  701. package/dist/dashboard/screens/Dashboard.js +30 -0
  702. package/dist/dashboard/screens/index.d.ts +1 -0
  703. package/dist/dashboard/screens/index.js +17 -0
  704. package/dist/devtools/components/PlatformStatus.d.ts +6 -0
  705. package/dist/devtools/components/PlatformStatus.js +16 -0
  706. package/dist/devtools/components/index.d.ts +1 -0
  707. package/dist/devtools/components/index.js +17 -0
  708. package/dist/devtools/components/status/Upgrader.d.ts +6 -0
  709. package/dist/devtools/components/status/Upgrader.js +144 -0
  710. package/dist/devtools/components/status/index.d.ts +1 -0
  711. package/dist/devtools/components/status/index.js +17 -0
  712. package/dist/devtools/index.d.ts +1 -0
  713. package/dist/devtools/index.js +17 -0
  714. package/dist/devtools/screens/Devtools.d.ts +1 -0
  715. package/dist/devtools/screens/Devtools.js +70 -0
  716. package/dist/devtools/screens/index.d.ts +1 -0
  717. package/dist/devtools/screens/index.js +17 -0
  718. package/dist/explore/components/CreateCollectionDialog.d.ts +13 -0
  719. package/dist/explore/components/CreateCollectionDialog.js +135 -0
  720. package/dist/explore/components/CreatePageDialog.d.ts +15 -0
  721. package/dist/explore/components/CreatePageDialog.js +204 -0
  722. package/dist/explore/components/ExploreHeader.d.ts +9 -0
  723. package/dist/explore/components/ExploreHeader.js +44 -0
  724. package/dist/explore/components/index.d.ts +3 -0
  725. package/dist/explore/components/index.js +19 -0
  726. package/dist/explore/index.d.ts +2 -0
  727. package/dist/explore/index.js +18 -0
  728. package/dist/explore/screens/CollectionExplorer.d.ts +7 -0
  729. package/dist/explore/screens/CollectionExplorer.js +114 -0
  730. package/dist/explore/screens/CollectionsExplorer.d.ts +4 -0
  731. package/dist/explore/screens/CollectionsExplorer.js +41 -0
  732. package/dist/explore/screens/PageExplorer.d.ts +8 -0
  733. package/dist/explore/screens/PageExplorer.js +124 -0
  734. package/dist/explore/screens/SiteExplorer.d.ts +6 -0
  735. package/dist/explore/screens/SiteExplorer.js +37 -0
  736. package/dist/explore/screens/index.d.ts +4 -0
  737. package/dist/explore/screens/index.js +20 -0
  738. package/dist/index.d.ts +1 -0
  739. package/dist/index.js +17 -0
  740. package/dist/onboarding/EmailLogin.d.ts +1 -0
  741. package/dist/onboarding/EmailLogin.js +88 -0
  742. package/dist/onboarding/GoogleLogin.d.ts +1 -0
  743. package/dist/onboarding/GoogleLogin.js +25 -0
  744. package/dist/onboarding/Login.d.ts +1 -0
  745. package/dist/onboarding/Login.js +31 -0
  746. package/dist/onboarding/LoginReset.d.ts +1 -0
  747. package/dist/onboarding/LoginReset.js +132 -0
  748. package/dist/onboarding/index.d.ts +2 -0
  749. package/dist/onboarding/index.js +18 -0
  750. package/dist/page/components/BlockConfig.d.ts +8 -0
  751. package/dist/page/components/BlockConfig.js +88 -0
  752. package/dist/page/components/BlockEditor.d.ts +10 -0
  753. package/dist/page/components/BlockEditor.js +67 -0
  754. package/dist/page/components/PageHeader.d.ts +12 -0
  755. package/dist/page/components/PageHeader.js +77 -0
  756. package/dist/page/components/PageNav.d.ts +10 -0
  757. package/dist/page/components/PageNav.js +59 -0
  758. package/dist/page/components/PageNotCreated.d.ts +8 -0
  759. package/dist/page/components/PageNotCreated.js +45 -0
  760. package/dist/page/components/PageNotFound.d.ts +8 -0
  761. package/dist/page/components/PageNotFound.js +19 -0
  762. package/dist/page/components/PageStatus.d.ts +10 -0
  763. package/dist/page/components/PageStatus.js +267 -0
  764. package/dist/page/components/SettingsEditor.d.ts +6 -0
  765. package/dist/page/components/SettingsEditor.js +70 -0
  766. package/dist/page/components/index.d.ts +7 -0
  767. package/dist/page/components/index.js +23 -0
  768. package/dist/page/components/nav/NavBlock.d.ts +12 -0
  769. package/dist/page/components/nav/NavBlock.js +25 -0
  770. package/dist/page/components/nav/NavLayout.d.ts +9 -0
  771. package/dist/page/components/nav/NavLayout.js +14 -0
  772. package/dist/page/components/nav/NavSection.d.ts +11 -0
  773. package/dist/page/components/nav/NavSection.js +45 -0
  774. package/dist/page/components/nav/index.d.ts +3 -0
  775. package/dist/page/components/nav/index.js +19 -0
  776. package/dist/page/components/status/AutoSave.d.ts +6 -0
  777. package/dist/page/components/status/AutoSave.js +35 -0
  778. package/dist/page/components/status/index.d.ts +1 -0
  779. package/dist/page/components/status/index.js +17 -0
  780. package/dist/page/hooks/PageController.d.ts +68 -0
  781. package/dist/page/hooks/PageController.js +359 -0
  782. package/dist/page/hooks/index.d.ts +2 -0
  783. package/dist/page/hooks/index.js +18 -0
  784. package/dist/page/hooks/usePageController.d.ts +8 -0
  785. package/dist/page/hooks/usePageController.js +24 -0
  786. package/dist/page/index.d.ts +3 -0
  787. package/dist/page/index.js +19 -0
  788. package/dist/page/screens/PageEditor.d.ts +10 -0
  789. package/dist/page/screens/PageEditor.js +127 -0
  790. package/dist/page/screens/index.d.ts +1 -0
  791. package/dist/page/screens/index.js +17 -0
  792. package/dist/styles/index.css +6220 -0
  793. package/dist/styles/tailwind.d.ts +2 -0
  794. package/dist/styles/tailwind.js +292 -0
  795. package/dist/users/index.d.ts +1 -0
  796. package/dist/users/index.js +17 -0
  797. package/dist/users/screens/UserExplorer.d.ts +1 -0
  798. package/dist/users/screens/UserExplorer.js +193 -0
  799. package/dist/users/screens/index.d.ts +1 -0
  800. package/dist/users/screens/index.js +17 -0
  801. package/package.json +93 -0
@@ -0,0 +1,701 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Page = void 0;
4
+ const funnel_core_1 = require("@nascentdigital/funnel-core");
5
+ const rxjs_1 = require("rxjs");
6
+ const _1 = require("./");
7
+ const PageSettings_1 = require("./PageSettings");
8
+ // class
9
+ class Page {
10
+ constructor(args) {
11
+ var _a, _b, _c;
12
+ // initialize instance variables
13
+ this.template = args.template;
14
+ this.eventBus = args.eventBus;
15
+ this.settings = new PageSettings_1.PageSettings(this);
16
+ this.id = args.id;
17
+ this.groupId = args.groupId;
18
+ this.brand = args.brand;
19
+ this.region = args.region;
20
+ this.language = args.language;
21
+ this.route = funnel_core_1.Localized.Maybe.get(args.template.route, args.language);
22
+ this._url = args.url;
23
+ this._initialSlug = this._slug = args.slug;
24
+ this._initialName = this._name = args.name;
25
+ this._initialTags = new Set(args.tags);
26
+ this._tags = new Set(args.tags);
27
+ this._discover = args.discover;
28
+ this._content = args.content;
29
+ this._assets = (_a = args.files) !== null && _a !== void 0 ? _a : [];
30
+ this._pages = (_b = args.pages) !== null && _b !== void 0 ? _b : [];
31
+ this._collections = (_c = args.collections) !== null && _c !== void 0 ? _c : [];
32
+ this._state = args.state;
33
+ this._initialErrors = args.errors;
34
+ this._changeSetId = args.changeSetId;
35
+ this.snapshotId = args.snapshotId;
36
+ this.snapshot = args.snapshot;
37
+ this.createdOn = args.createdOn;
38
+ this._updatedOn = args.updatedOn;
39
+ this.publishedOn = args.publishedOn;
40
+ this._initialPublication = this._publication = args.publication;
41
+ this._deletedBlocks = [];
42
+ this._syncing = false;
43
+ // bind content
44
+ this._discover.forEach(item => item.bind({ parent: this, area: 'discover' }));
45
+ this._content.forEach(item => item.bind({ parent: this, area: 'content' }));
46
+ // listen to block/field changes
47
+ this._subscription = this.eventBus.events$
48
+ .pipe((0, rxjs_1.filter)(e => (funnel_core_1.Field.Event.filter(e) && e.type === 'changed' && !e.field.sandboxed)
49
+ || (funnel_core_1.FieldList.Event.filter(e) && e.type === 'changed')
50
+ || (funnel_core_1.ObjectField.Event.filter(e) && e.type === 'changed')
51
+ || (_1.Item.Event.filter(e) && e.type === 'changed')))
52
+ .subscribe(() => this.raiseEvent('changed'));
53
+ }
54
+ get events$() {
55
+ return this.eventBus.events$;
56
+ }
57
+ get stable$() {
58
+ return this.eventBus.events$
59
+ .pipe((0, rxjs_1.map)(() => !this._syncing && !this.modified), (0, rxjs_1.distinctUntilChanged)());
60
+ }
61
+ get state() {
62
+ return this._state;
63
+ }
64
+ set state(state) {
65
+ // skip if unchanged
66
+ if (this._state === state) {
67
+ return;
68
+ }
69
+ // update state
70
+ this._state = state;
71
+ this._modifiedOn = Date.now();
72
+ // raise change
73
+ this.raiseEvent('changed');
74
+ }
75
+ get syncing() {
76
+ return this._syncing;
77
+ }
78
+ set syncing(syncing) {
79
+ this._syncing = syncing;
80
+ this.raiseEvent('changed');
81
+ }
82
+ get type() {
83
+ return this.template.type;
84
+ }
85
+ get assets() {
86
+ return this._assets;
87
+ }
88
+ get collections() {
89
+ return this._collections;
90
+ }
91
+ get url() {
92
+ return this._url;
93
+ }
94
+ get hasSlug() {
95
+ return this.template.variant === 'dynamic';
96
+ }
97
+ get initialSlug() {
98
+ return this._initialSlug;
99
+ }
100
+ get slug() {
101
+ return this._slug;
102
+ }
103
+ set slug(slug) {
104
+ // stop static pages from setting slugs
105
+ if (!this.hasSlug) {
106
+ throw new funnel_core_1.InvalidOperationError('Cannot set slug on static page');
107
+ }
108
+ // or from being unset
109
+ else if (!slug) {
110
+ throw new funnel_core_1.ArgumentError('Slug cannot be unset');
111
+ }
112
+ // ignore if unchanged
113
+ else if (this._slug === slug) {
114
+ return;
115
+ }
116
+ // update slug
117
+ this._slug = slug;
118
+ this._modifiedOn = Date.now();
119
+ // raise change
120
+ this.raiseEvent('modified');
121
+ }
122
+ get initialName() {
123
+ return this._initialName;
124
+ }
125
+ get name() {
126
+ return this._name;
127
+ }
128
+ set name(name) {
129
+ // ignore if unchanged
130
+ if (this._name === name) {
131
+ return;
132
+ }
133
+ // update name
134
+ this._name = name;
135
+ this._modifiedOn = Date.now();
136
+ // raise change
137
+ this.raiseEvent('modified');
138
+ }
139
+ get initialPublication() {
140
+ return this._initialPublication;
141
+ }
142
+ get publication() {
143
+ return this._publication;
144
+ }
145
+ set publication(publication) {
146
+ // ignore if unchanged
147
+ if (this._publication === publication) {
148
+ return;
149
+ }
150
+ // update name
151
+ this._publication = publication;
152
+ this._modifiedOn = Date.now();
153
+ // raise change
154
+ this.raiseEvent('modified');
155
+ }
156
+ get initialTags() {
157
+ return this._initialTags;
158
+ }
159
+ get tagGroups() {
160
+ return this.template.tags;
161
+ }
162
+ get tags() {
163
+ return this._tags;
164
+ }
165
+ addTag(tag) {
166
+ // skip if page has tag
167
+ const { _tags } = this;
168
+ if (_tags.has(tag)) {
169
+ return;
170
+ }
171
+ // add tag
172
+ _tags.add(tag);
173
+ this._modifiedOn = Date.now();
174
+ // raise event
175
+ this.raiseEvent('modified');
176
+ }
177
+ removeTag(tag) {
178
+ // skip if tag isn't there
179
+ const { _tags } = this;
180
+ if (!_tags.has(tag)) {
181
+ return;
182
+ }
183
+ // remove tag
184
+ _tags.delete(tag);
185
+ this._modifiedOn = Date.now();
186
+ // raise event
187
+ this.raiseEvent('modified');
188
+ }
189
+ get displayName() {
190
+ var _a, _b, _c;
191
+ // return fallback if there's no display path
192
+ const { template, slug = '', name, seo, content } = this;
193
+ const path = template.displayName;
194
+ const fallback = (_c = (_b = (_a = seo.getTextField('title')) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : slug) !== null && _c !== void 0 ? _c : name;
195
+ if (!path) {
196
+ return fallback;
197
+ }
198
+ // try to get the block's field's content (skip if it isn't a block)
199
+ const [blockId, fieldId] = path.split('.');
200
+ const block = content
201
+ .filter(item => item instanceof _1.Block)
202
+ .find(item => item.key === blockId);
203
+ if (!block) {
204
+ return fallback;
205
+ }
206
+ // get block field value (or use default if there isn't one)
207
+ const field = block.getTextField(fieldId);
208
+ const value = field === null || field === void 0 ? void 0 : field.value;
209
+ return value || fallback;
210
+ }
211
+ get discover() {
212
+ return this._discover;
213
+ }
214
+ get content() {
215
+ return this._content;
216
+ }
217
+ get seo() {
218
+ // get seo (or blow up)
219
+ const seo = this.discover.find(block => block.key === 'seo');
220
+ if (!seo) {
221
+ throw new funnel_core_1.IllegalStateError('Failed to resolve SEO block - should always exist');
222
+ }
223
+ // return seo
224
+ return seo;
225
+ }
226
+ get blocks() {
227
+ return this.content
228
+ .flatMap(item => item instanceof _1.Section ? item.blocks : item);
229
+ }
230
+ get deleteBlocks() {
231
+ return this._deletedBlocks;
232
+ }
233
+ get firstBlock() {
234
+ // find first block
235
+ for (const item of this.content) {
236
+ // return item if it matches
237
+ if (item instanceof _1.Block) {
238
+ return item;
239
+ }
240
+ // search deeply into sections
241
+ else {
242
+ const { blocks } = item;
243
+ if (blocks.length > 0) {
244
+ return blocks[0];
245
+ }
246
+ }
247
+ }
248
+ // or return undefined
249
+ return undefined;
250
+ }
251
+ get firstItem() {
252
+ return this.content[0];
253
+ }
254
+ get published() {
255
+ return this.publishedOn !== undefined;
256
+ }
257
+ get modified() {
258
+ const { _deletedBlocks, initialSlug, _slug, initialPublication, _publication, initialTags, _tags, items } = this;
259
+ return _deletedBlocks.length > 0
260
+ || initialSlug !== _slug
261
+ || initialPublication !== _publication
262
+ || initialTags.symmetricDifference(_tags).size > 0
263
+ || items.some(item => item.modified);
264
+ }
265
+ get updatedOn() {
266
+ return this._updatedOn;
267
+ }
268
+ get changeSetId() {
269
+ return this._changeSetId;
270
+ }
271
+ get valid() {
272
+ return this.errors.items.length === 0;
273
+ }
274
+ get items() {
275
+ return [...this._discover, ...this._content];
276
+ }
277
+ get changes() {
278
+ return {
279
+ page: this,
280
+ items: this.items.filter(item => item instanceof _1.Section
281
+ ? item.changes.blocks.length > 0
282
+ : item.changes.fields.length > 0)
283
+ };
284
+ }
285
+ get initialErrors() {
286
+ return this._initialErrors;
287
+ }
288
+ get errors() {
289
+ return {
290
+ page: this,
291
+ items: this.items.filter(item => (!item.activated && item.required)
292
+ || (item.activated && !item.valid))
293
+ };
294
+ }
295
+ get hasErrors() {
296
+ return this.errors.items.length > 0;
297
+ }
298
+ get asRef() {
299
+ const { id, groupId, template, brand, region, language, slug, url, name, tags, createdOn, updatedOn, publishedOn } = this;
300
+ return {
301
+ id, groupId, template,
302
+ brand, region, language, slug, url, name, tags: Array.from(tags),
303
+ createdOn, updatedOn, publishedOn
304
+ };
305
+ }
306
+ /**
307
+ * Synchronizes computed properties with the latest data (e.g. updating `url` from route template or name)
308
+ */
309
+ sync() {
310
+ // update url
311
+ this._url = this.computeUrl();
312
+ // update name
313
+ this._name = this.computeName();
314
+ }
315
+ getItem(identifier) {
316
+ // skip if there's no identifier
317
+ if (!identifier) {
318
+ return undefined;
319
+ }
320
+ // or return settings
321
+ else if (identifier === PageSettings_1.PageSettings.id) {
322
+ return this.settings;
323
+ }
324
+ // search content for item
325
+ for (const item of this.items) {
326
+ // return item if it matches
327
+ if (item.identifier === identifier) {
328
+ return item;
329
+ }
330
+ // search deeply into sections
331
+ if (item instanceof _1.Section) {
332
+ for (const block of item.blocks) {
333
+ // return block if it matches
334
+ if (block.identifier === identifier) {
335
+ return block;
336
+ }
337
+ }
338
+ }
339
+ }
340
+ // or return undefined
341
+ return undefined;
342
+ }
343
+ getPreviewBlock() {
344
+ // get preview block identifier
345
+ const previewBlockIdentifier = this.template.preview;
346
+ // bail if no identifier specified
347
+ if (!previewBlockIdentifier) {
348
+ return undefined;
349
+ }
350
+ // otherwise try to get the preview block
351
+ return this.getBlock(previewBlockIdentifier);
352
+ }
353
+ coerceItem(identifier) {
354
+ var _a, _b;
355
+ return (_b = (_a = this.getItem(identifier)) !== null && _a !== void 0 ? _a : this.firstBlock) !== null && _b !== void 0 ? _b : this.firstItem;
356
+ }
357
+ deleteBlock(area, key) {
358
+ // get parent
359
+ let parent;
360
+ switch (area) {
361
+ case 'discover':
362
+ parent = this._discover;
363
+ break;
364
+ case 'content':
365
+ parent = this._content;
366
+ break;
367
+ }
368
+ // skip if item isn't in parent
369
+ const blockIndex = parent.findIndex(item => item.key === key);
370
+ if (!blockIndex) {
371
+ return false;
372
+ }
373
+ // remove item
374
+ const [deletedBlock] = parent.splice(blockIndex, 1);
375
+ this._modifiedOn = Date.now();
376
+ // track deletion of top-level blocks
377
+ if (deletedBlock instanceof _1.Block) {
378
+ console.debug('Removing deleted block', deletedBlock);
379
+ this._deletedBlocks.push(deletedBlock);
380
+ }
381
+ // raise change
382
+ this.raiseEvent('modified');
383
+ // indicate success
384
+ return true;
385
+ }
386
+ getAssetScope(range) {
387
+ switch (range) {
388
+ case 'global':
389
+ return funnel_core_1.Schema.AssetScope.global;
390
+ case 'type':
391
+ return new funnel_core_1.Schema.PageTypeAssetScope(this.type);
392
+ case 'instance':
393
+ return new funnel_core_1.Schema.PageInstanceAssetScope(this.groupId);
394
+ }
395
+ }
396
+ getSearchScope() {
397
+ return {
398
+ target: 'page',
399
+ type: this.type,
400
+ groupId: this.groupId
401
+ };
402
+ }
403
+ getAsset(assetId) {
404
+ return this._assets.find(asset => asset.value.id === assetId);
405
+ }
406
+ addAsset(asset) {
407
+ // replace asset if it exists
408
+ const { _assets } = this;
409
+ const { id } = asset.value;
410
+ const assetIndex = _assets.findIndex(asset => asset.value.id === id);
411
+ if (assetIndex >= 0) {
412
+ _assets[assetIndex] = asset;
413
+ }
414
+ // or add asset
415
+ else {
416
+ _assets.push(asset);
417
+ }
418
+ // raise event
419
+ this.raiseEvent('changed');
420
+ }
421
+ removeAsset(assetId) {
422
+ // skip if asset isn't there
423
+ const { _assets } = this;
424
+ const assetIndex = _assets.findIndex(asset => asset.value.id === assetId);
425
+ if (assetIndex < 0) {
426
+ return false;
427
+ }
428
+ // remove asset
429
+ _assets.splice(assetIndex, 1);
430
+ // raise event
431
+ this.raiseEvent('changed');
432
+ // indicate success
433
+ return true;
434
+ }
435
+ getCollection(collectionId) {
436
+ return this._collections.find(collection => collection.id === collectionId);
437
+ }
438
+ addCollection(collection) {
439
+ // replace collection if it exists
440
+ const { _collections } = this;
441
+ const collectionId = collection.id;
442
+ const collectionIndex = _collections.findIndex(collection => collection.id === collectionId);
443
+ if (collectionIndex >= 0) {
444
+ _collections[collectionIndex] = collection;
445
+ }
446
+ // or add collection
447
+ else {
448
+ _collections.push(collection);
449
+ }
450
+ // raise event
451
+ this.raiseEvent('changed');
452
+ }
453
+ removeCollection(collectionId) {
454
+ // skip if collection isn't there
455
+ const { _collections } = this;
456
+ const collectionIndex = _collections.findIndex(collection => collection.id === collectionId);
457
+ if (collectionIndex < 0) {
458
+ return false;
459
+ }
460
+ // remove collection
461
+ const [collection] = _collections.splice(collectionIndex, 1);
462
+ // raise event
463
+ this.raiseEvent('changed');
464
+ // indicate success
465
+ return true;
466
+ }
467
+ getPageRef(pageId) {
468
+ return pageId && pageId !== funnel_core_1.Schema.Page.Id.draft
469
+ ? this._pages.find(ref => ref.id === pageId)
470
+ : undefined;
471
+ }
472
+ addPageRef(page) {
473
+ // throw if page is a draft
474
+ if (page.id === funnel_core_1.Schema.Page.Id.draft) {
475
+ throw new funnel_core_1.InvalidOperationError('Cannot add draft Page as reference');
476
+ }
477
+ // replace ref if it exists
478
+ const { _pages } = this;
479
+ const pageId = page.id;
480
+ const refIndex = _pages.findIndex(ref => ref.id === pageId);
481
+ if (refIndex >= 0) {
482
+ _pages[refIndex] = page;
483
+ }
484
+ // or add ref
485
+ else {
486
+ _pages.push(page);
487
+ }
488
+ // raise event
489
+ this.raiseEvent('changed');
490
+ }
491
+ removePageRef(pageId) {
492
+ // skip if file isn't there
493
+ const { _pages } = this;
494
+ const refIndex = _pages.findIndex(ref => ref.id === pageId);
495
+ if (refIndex < 0) {
496
+ return false;
497
+ }
498
+ // remove file
499
+ _pages.splice(refIndex, 1);
500
+ // raise event
501
+ this.raiseEvent('changed');
502
+ // indicate success
503
+ return true;
504
+ }
505
+ repair() {
506
+ // repair all content blocks
507
+ this.blocks.forEach(block => block.repair());
508
+ }
509
+ onSaveStart() {
510
+ this._savingOn = Date.now();
511
+ }
512
+ onSaveComplete(updatedOn, changeSetId) {
513
+ // update fundamentals
514
+ this._updatedOn = updatedOn;
515
+ this._changeSetId = changeSetId;
516
+ this._state = 'draft';
517
+ // reset to values to match save
518
+ const { _modifiedOn, _savingOn } = this;
519
+ if (_savingOn && (!_modifiedOn || _savingOn >= _modifiedOn)) {
520
+ // sync data
521
+ this._initialErrors = !this.valid;
522
+ this._initialSlug = this._slug;
523
+ this._initialName = this._name;
524
+ this._initialTags = new Set(this._tags);
525
+ this._initialPublication = this._publication;
526
+ this._deletedBlocks = [];
527
+ }
528
+ // clear saving flag
529
+ delete this._savingOn;
530
+ }
531
+ computeName() {
532
+ var _a, _b, _c, _d, _e, _f;
533
+ // resolve schema/page
534
+ const { template, discover, slug } = this;
535
+ // try to get seo title
536
+ const seoTitle = (_c = (_b = (_a = discover === null || discover === void 0 ? void 0 : discover[0]) === null || _a === void 0 ? void 0 : _a.getTextField('title')) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.value.trim();
537
+ // return fallback if there's no display path
538
+ const displayPath = template.displayName;
539
+ const fallback = template.variant === 'static'
540
+ ? template.name
541
+ : seoTitle || slug || template.name;
542
+ if (!displayPath) {
543
+ return fallback;
544
+ }
545
+ // otherwise try to get the block's field's content (fallback if it isn't a block)
546
+ const [blockId, fieldId] = displayPath.split('.');
547
+ const block = this.getBlock(blockId);
548
+ if (!block) {
549
+ return fallback;
550
+ }
551
+ // get the specified field's content
552
+ return (_f = (_e = (_d = block.getTextField(fieldId)) === null || _d === void 0 ? void 0 : _d.value) === null || _e === void 0 ? void 0 : _e.value.trim()) !== null && _f !== void 0 ? _f : fallback;
553
+ }
554
+ computeUrl() {
555
+ const { template, region, language } = this;
556
+ const route = funnel_core_1.Localized.Maybe.get(template.route, language);
557
+ // extract params
558
+ const keys = Array.from(funnel_core_1.Schema.PageRoute.getParams(route));
559
+ // extract params (if any)
560
+ const params = keys.reduce((params, path) => {
561
+ // find value
562
+ params[path] = String(this.getValue(path));
563
+ // keep reducing
564
+ return params;
565
+ }, {});
566
+ // get page path (doesn't include localization)
567
+ const pagePath = funnel_core_1.Schema.PageRoute.toUrl(route, params);
568
+ // use regionalization + locate to create full path
569
+ const { regionalization } = funnel_core_1.AppConfig.brandConfig();
570
+ const { targetPath } = funnel_core_1.Regionalization.getTargetPath({
571
+ sourceLocale: { region, language },
572
+ pagePath,
573
+ regionalization
574
+ });
575
+ // return full path
576
+ return targetPath || '/';
577
+ }
578
+ getValue(path) {
579
+ // tokenize path
580
+ const [areaId, ...pathComponents] = path.split('.');
581
+ switch (areaId) {
582
+ // handle direct values
583
+ case 'id':
584
+ case 'groupId':
585
+ case 'region':
586
+ case 'brand':
587
+ case 'type':
588
+ case 'slug':
589
+ case 'url':
590
+ case 'language':
591
+ case 'name':
592
+ case 'state':
593
+ case 'createdOn':
594
+ case 'updatedOn':
595
+ case 'publishedOn':
596
+ return this[areaId];
597
+ // or search in sections
598
+ case 'discover':
599
+ case 'content': {
600
+ // fail if there aren't at least 2 more path components (need to reach a section/block value)
601
+ if (pathComponents.length < 2) {
602
+ console.warn(`[Page/getValue] TargetPath "${path}" is too short for resolving a value`);
603
+ return undefined;
604
+ }
605
+ // helper (pops keys)
606
+ const popComponent = () => pathComponents.splice(0, 1)[0];
607
+ // get area within discover/content
608
+ const itemKey = popComponent();
609
+ const item = this.getItem(itemKey);
610
+ if (!item) {
611
+ console.warn(`[Page/getValue] no item "${itemKey}" in TargetPath "${path}"`);
612
+ return undefined;
613
+ }
614
+ if (item instanceof PageSettings_1.PageSettings) {
615
+ console.warn(`[Page/getValue] PageSettings not a valid target in in TargetPath "${path}"`);
616
+ return undefined;
617
+ }
618
+ // keep iterating until path is collapsed
619
+ let target = item;
620
+ while (pathComponents.length > 0) {
621
+ const key = popComponent();
622
+ if (target instanceof _1.Section) {
623
+ // find block
624
+ const sectionBlock = target.blocks.find(block => block.identifier === key);
625
+ if (!sectionBlock) {
626
+ console.warn(`[Page/getValue] no Section entry for key "${key}" in TargetPath "'${path}"`);
627
+ return undefined;
628
+ }
629
+ // update
630
+ target = sectionBlock;
631
+ }
632
+ else if (target instanceof _1.Block || target instanceof funnel_core_1.ObjectField || target instanceof _1.SectionBlock) {
633
+ // find field
634
+ const field = target.fields.find(field => field.id === key);
635
+ if (!field) {
636
+ console.warn(`[Page/getValue] no entry for key "${key}" in TargetPath "${path}"`);
637
+ return undefined;
638
+ }
639
+ // update
640
+ target = field;
641
+ }
642
+ }
643
+ // return underlying valid type
644
+ if (target instanceof funnel_core_1.Field && target.value !== undefined) {
645
+ const type = target.value.type;
646
+ switch (type) {
647
+ case 'richtext':
648
+ case 'text':
649
+ case 'enum':
650
+ return funnel_core_1.Schema.Field.Data.getText(target.value);
651
+ case 'boolean':
652
+ case 'date':
653
+ return target.value.value;
654
+ default:
655
+ console.warn(`[Page/getValue] no support for "${type}" leaf value at TargetPath "${path}"`);
656
+ return undefined;
657
+ }
658
+ }
659
+ // otherwise return undefined
660
+ else {
661
+ console.warn(`[Page/getValue] only Field leaf value at TargetPath "${path}"`);
662
+ return undefined;
663
+ }
664
+ }
665
+ // or fail
666
+ default:
667
+ throw new funnel_core_1.ArgumentError(`No support for TargetPath "${path}" - unsupported root "${areaId}"`);
668
+ }
669
+ }
670
+ getBlock(identifier) {
671
+ // try to find item
672
+ const item = this.getItem(identifier);
673
+ // make sure it is a block
674
+ if (item instanceof _1.Block) {
675
+ return item;
676
+ }
677
+ // otherwise undefined
678
+ else {
679
+ return undefined;
680
+ }
681
+ }
682
+ raiseEvent(type) {
683
+ this.eventBus.publish(Page.Event.create({ type, page: this }));
684
+ }
685
+ }
686
+ exports.Page = Page;
687
+ // types
688
+ (function (Page) {
689
+ let Event;
690
+ (function (Event) {
691
+ // methods
692
+ function filter(event) {
693
+ return event.domain === 'Page';
694
+ }
695
+ Event.filter = filter;
696
+ function create(event) {
697
+ return funnel_core_1.EventBus.createEvent(Object.assign({ domain: 'Page' }, event));
698
+ }
699
+ Event.create = create;
700
+ })(Event = Page.Event || (Page.Event = {}));
701
+ })(Page || (exports.Page = Page = {}));