@cwa/nuxt-edge 1.0.0-29138192.e49c1a0

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 (387) hide show
  1. package/README.md +38 -0
  2. package/README.template.md +32 -0
  3. package/dist/layer/error.vue +13 -0
  4. package/dist/layer/layouts/CwaRootLayout.vue +140 -0
  5. package/dist/layer/nuxt.config.spec.ts +10 -0
  6. package/dist/layer/nuxt.config.ts +3 -0
  7. package/dist/layer/pages/_cwa/composables/useDataList.ts +50 -0
  8. package/dist/layer/pages/_cwa/composables/useDataType.ts +30 -0
  9. package/dist/layer/pages/_cwa/composables/useDynamicPageLoader.ts +28 -0
  10. package/dist/layer/pages/_cwa/composables/useItemPage.ts +172 -0
  11. package/dist/layer/pages/_cwa/composables/useListPage.ts +43 -0
  12. package/dist/layer/pages/_cwa/data/[type]/[iri].vue +17 -0
  13. package/dist/layer/pages/_cwa/data/[type].vue +131 -0
  14. package/dist/layer/pages/_cwa/data/index.vue +84 -0
  15. package/dist/layer/pages/_cwa/layouts/[iri].vue +174 -0
  16. package/dist/layer/pages/_cwa/layouts.vue +77 -0
  17. package/dist/layer/pages/_cwa/pages/[iri].vue +11 -0
  18. package/dist/layer/pages/_cwa/pages.vue +129 -0
  19. package/dist/layer/pages/_cwa/routes.vue +72 -0
  20. package/dist/layer/pages/_cwa/users/[iri].vue +248 -0
  21. package/dist/layer/pages/_cwa/users.vue +86 -0
  22. package/dist/layer/pages/_cwa.vue +43 -0
  23. package/dist/layer/pages/forgot-password.vue +32 -0
  24. package/dist/layer/pages/login.vue +33 -0
  25. package/dist/layer/pages/reset-password/[username]/[token].vue +39 -0
  26. package/dist/module.d.mts +53 -0
  27. package/dist/module.json +13 -0
  28. package/dist/module.mjs +235 -0
  29. package/dist/runtime/admin/admin.d.ts +36 -0
  30. package/dist/runtime/admin/admin.js +65 -0
  31. package/dist/runtime/admin/manageable-resource.d.ts +41 -0
  32. package/dist/runtime/admin/manageable-resource.js +206 -0
  33. package/dist/runtime/admin/manager-tabs-resolver.d.ts +17 -0
  34. package/dist/runtime/admin/manager-tabs-resolver.js +51 -0
  35. package/dist/runtime/admin/navigation-guard.d.ts +18 -0
  36. package/dist/runtime/admin/navigation-guard.js +55 -0
  37. package/dist/runtime/admin/resource-stack-manager.d.ts +92 -0
  38. package/dist/runtime/admin/resource-stack-manager.js +355 -0
  39. package/dist/runtime/api/api-documentation.d.ts +28 -0
  40. package/dist/runtime/api/api-documentation.js +131 -0
  41. package/dist/runtime/api/auth.d.ts +85 -0
  42. package/dist/runtime/api/auth.js +183 -0
  43. package/dist/runtime/api/fetcher/cwa-fetch.d.ts +5 -0
  44. package/dist/runtime/api/fetcher/cwa-fetch.js +20 -0
  45. package/dist/runtime/api/fetcher/fetch-status-manager.d.ts +51 -0
  46. package/dist/runtime/api/fetcher/fetch-status-manager.js +185 -0
  47. package/dist/runtime/api/fetcher/fetcher.d.ts +57 -0
  48. package/dist/runtime/api/fetcher/fetcher.js +222 -0
  49. package/dist/runtime/api/fetcher/preload-headers.d.ts +6 -0
  50. package/dist/runtime/api/fetcher/preload-headers.js +31 -0
  51. package/dist/runtime/api/forms.d.ts +40 -0
  52. package/dist/runtime/api/forms.js +40 -0
  53. package/dist/runtime/api/mercure.d.ts +33 -0
  54. package/dist/runtime/api/mercure.js +191 -0
  55. package/dist/runtime/composables/component/html-content.d.ts +2 -0
  56. package/dist/runtime/composables/component/html-content.js +82 -0
  57. package/dist/runtime/composables/cwa-collection-pagination.d.ts +13 -0
  58. package/dist/runtime/composables/cwa-collection-pagination.js +34 -0
  59. package/dist/runtime/composables/cwa-collection-resource.d.ts +16 -0
  60. package/dist/runtime/composables/cwa-collection-resource.js +92 -0
  61. package/dist/runtime/composables/cwa-image.d.ts +19 -0
  62. package/dist/runtime/composables/cwa-image.js +43 -0
  63. package/dist/runtime/composables/cwa-query-bound-model.d.ts +9 -0
  64. package/dist/runtime/composables/cwa-query-bound-model.js +108 -0
  65. package/dist/runtime/composables/cwa-resource-endpoint.d.ts +5 -0
  66. package/dist/runtime/composables/cwa-resource-endpoint.js +36 -0
  67. package/dist/runtime/composables/cwa-resource-manageable.d.ts +10 -0
  68. package/dist/runtime/composables/cwa-resource-manageable.js +32 -0
  69. package/dist/runtime/composables/cwa-resource-manager-tab.d.ts +17 -0
  70. package/dist/runtime/composables/cwa-resource-manager-tab.js +30 -0
  71. package/dist/runtime/composables/cwa-resource-model.d.ts +21 -0
  72. package/dist/runtime/composables/cwa-resource-model.js +149 -0
  73. package/dist/runtime/composables/cwa-resource-upload.d.ts +8 -0
  74. package/dist/runtime/composables/cwa-resource-upload.js +70 -0
  75. package/dist/runtime/composables/cwa-resource.d.ts +24 -0
  76. package/dist/runtime/composables/cwa-resource.js +22 -0
  77. package/dist/runtime/composables/cwa-select-input.d.ts +21 -0
  78. package/dist/runtime/composables/cwa-select-input.js +37 -0
  79. package/dist/runtime/composables/cwa-select.d.ts +15 -0
  80. package/dist/runtime/composables/cwa-select.js +24 -0
  81. package/dist/runtime/composables/cwa.d.ts +2 -0
  82. package/dist/runtime/composables/cwa.js +2 -0
  83. package/dist/runtime/composables/forgot-password.d.ts +9 -0
  84. package/dist/runtime/composables/forgot-password.js +45 -0
  85. package/dist/runtime/composables/login.d.ts +9 -0
  86. package/dist/runtime/composables/login.js +30 -0
  87. package/dist/runtime/composables/popper.d.ts +529 -0
  88. package/dist/runtime/composables/popper.js +104 -0
  89. package/dist/runtime/composables/process.d.ts +4 -0
  90. package/dist/runtime/composables/process.js +6 -0
  91. package/dist/runtime/composables/reset-password.d.ts +14 -0
  92. package/dist/runtime/composables/reset-password.js +75 -0
  93. package/dist/runtime/composables/transitions.d.ts +12 -0
  94. package/dist/runtime/composables/transitions.js +12 -0
  95. package/dist/runtime/cwa.d.ts +61 -0
  96. package/dist/runtime/cwa.js +123 -0
  97. package/dist/runtime/errors/cwa-resource-error.d.ts +18 -0
  98. package/dist/runtime/errors/cwa-resource-error.js +54 -0
  99. package/dist/runtime/plugin.d.ts +7 -0
  100. package/dist/runtime/plugin.js +18 -0
  101. package/dist/runtime/resources/resource-utils.d.ts +44 -0
  102. package/dist/runtime/resources/resource-utils.js +73 -0
  103. package/dist/runtime/resources/resources-manager.d.ts +70 -0
  104. package/dist/runtime/resources/resources-manager.js +463 -0
  105. package/dist/runtime/resources/resources.d.ts +53 -0
  106. package/dist/runtime/resources/resources.js +300 -0
  107. package/dist/runtime/route-middleware.d.ts +2 -0
  108. package/dist/runtime/route-middleware.js +86 -0
  109. package/dist/runtime/storage/storage.d.ts +20 -0
  110. package/dist/runtime/storage/storage.js +25 -0
  111. package/dist/runtime/storage/stores/admin/actions.d.ts +5 -0
  112. package/dist/runtime/storage/stores/admin/actions.js +10 -0
  113. package/dist/runtime/storage/stores/admin/admin-store.d.ts +18 -0
  114. package/dist/runtime/storage/stores/admin/admin-store.js +20 -0
  115. package/dist/runtime/storage/stores/admin/state.d.ts +7 -0
  116. package/dist/runtime/storage/stores/admin/state.js +9 -0
  117. package/dist/runtime/storage/stores/api-documentation/api-documentation-store.d.ts +16 -0
  118. package/dist/runtime/storage/stores/api-documentation/api-documentation-store.js +18 -0
  119. package/dist/runtime/storage/stores/api-documentation/state.d.ts +74 -0
  120. package/dist/runtime/storage/stores/api-documentation/state.js +6 -0
  121. package/dist/runtime/storage/stores/auth/auth-store.d.ts +16 -0
  122. package/dist/runtime/storage/stores/auth/auth-store.js +18 -0
  123. package/dist/runtime/storage/stores/auth/state.d.ts +20 -0
  124. package/dist/runtime/storage/stores/auth/state.js +15 -0
  125. package/dist/runtime/storage/stores/cwa-store-types.d.ts +14 -0
  126. package/dist/runtime/storage/stores/error/actions.d.ts +11 -0
  127. package/dist/runtime/storage/stores/error/actions.js +69 -0
  128. package/dist/runtime/storage/stores/error/error-store.d.ts +13 -0
  129. package/dist/runtime/storage/stores/error/error-store.js +21 -0
  130. package/dist/runtime/storage/stores/error/getters.d.ts +7 -0
  131. package/dist/runtime/storage/stores/error/getters.js +11 -0
  132. package/dist/runtime/storage/stores/error/state.d.ts +35 -0
  133. package/dist/runtime/storage/stores/error/state.js +15 -0
  134. package/dist/runtime/storage/stores/fetcher/actions.d.ts +49 -0
  135. package/dist/runtime/storage/stores/fetcher/actions.js +125 -0
  136. package/dist/runtime/storage/stores/fetcher/fetcher-store.d.ts +19 -0
  137. package/dist/runtime/storage/stores/fetcher/fetcher-store.js +23 -0
  138. package/dist/runtime/storage/stores/fetcher/getter-utils.d.ts +7 -0
  139. package/dist/runtime/storage/stores/fetcher/getter-utils.js +27 -0
  140. package/dist/runtime/storage/stores/fetcher/getters.d.ts +13 -0
  141. package/dist/runtime/storage/stores/fetcher/getters.js +52 -0
  142. package/dist/runtime/storage/stores/fetcher/state.d.ts +25 -0
  143. package/dist/runtime/storage/stores/fetcher/state.js +7 -0
  144. package/dist/runtime/storage/stores/mercure/mercure-store.d.ts +16 -0
  145. package/dist/runtime/storage/stores/mercure/mercure-store.js +18 -0
  146. package/dist/runtime/storage/stores/mercure/state.d.ts +5 -0
  147. package/dist/runtime/storage/stores/mercure/state.js +6 -0
  148. package/dist/runtime/storage/stores/resources/actions.d.ts +54 -0
  149. package/dist/runtime/storage/stores/resources/actions.js +390 -0
  150. package/dist/runtime/storage/stores/resources/getter-utils.d.ts +7 -0
  151. package/dist/runtime/storage/stores/resources/getter-utils.js +27 -0
  152. package/dist/runtime/storage/stores/resources/getters.d.ts +38 -0
  153. package/dist/runtime/storage/stores/resources/getters.js +251 -0
  154. package/dist/runtime/storage/stores/resources/resources-store.d.ts +19 -0
  155. package/dist/runtime/storage/stores/resources/resources-store.js +23 -0
  156. package/dist/runtime/storage/stores/resources/state.d.ts +64 -0
  157. package/dist/runtime/storage/stores/resources/state.js +24 -0
  158. package/dist/runtime/templates/assets/base.css +1 -0
  159. package/dist/runtime/templates/assets/cwa.css +1 -0
  160. package/dist/runtime/templates/components/core/ComponentPlaceholder.vue +18 -0
  161. package/dist/runtime/templates/components/core/ComponentPlaceholder.vue.d.ts +3 -0
  162. package/dist/runtime/templates/components/core/ComponentPosition.spec.ts.snap +16 -0
  163. package/dist/runtime/templates/components/core/ComponentPosition.vue +63 -0
  164. package/dist/runtime/templates/components/core/ComponentPosition.vue.d.ts +3 -0
  165. package/dist/runtime/templates/components/core/ConfirmDialog.vue +41 -0
  166. package/dist/runtime/templates/components/core/ConfirmDialog.vue.d.ts +9 -0
  167. package/dist/runtime/templates/components/core/DialogBox.vue +95 -0
  168. package/dist/runtime/templates/components/core/DialogBox.vue.d.ts +38 -0
  169. package/dist/runtime/templates/components/core/README.md +1 -0
  170. package/dist/runtime/templates/components/core/ResourceLoader.spec.ts.snap +39 -0
  171. package/dist/runtime/templates/components/core/ResourceLoader.vue +151 -0
  172. package/dist/runtime/templates/components/core/ResourceLoader.vue.d.ts +13 -0
  173. package/dist/runtime/templates/components/core/admin/ListContainer.vue +7 -0
  174. package/dist/runtime/templates/components/core/admin/ListContainer.vue.d.ts +12 -0
  175. package/dist/runtime/templates/components/core/admin/ListContent.vue +136 -0
  176. package/dist/runtime/templates/components/core/admin/ListContent.vue.d.ts +21 -0
  177. package/dist/runtime/templates/components/core/admin/ListFilter.vue +49 -0
  178. package/dist/runtime/templates/components/core/admin/ListFilter.vue.d.ts +9 -0
  179. package/dist/runtime/templates/components/core/admin/ListFilterButton.vue +53 -0
  180. package/dist/runtime/templates/components/core/admin/ListFilterButton.vue.d.ts +9 -0
  181. package/dist/runtime/templates/components/core/admin/ListHeading.vue +32 -0
  182. package/dist/runtime/templates/components/core/admin/ListHeading.vue.d.ts +20 -0
  183. package/dist/runtime/templates/components/core/admin/ListPagination.vue +87 -0
  184. package/dist/runtime/templates/components/core/admin/ListPagination.vue.d.ts +15 -0
  185. package/dist/runtime/templates/components/core/admin/ListPaginationButton.vue +18 -0
  186. package/dist/runtime/templates/components/core/admin/ListPaginationButton.vue.d.ts +16 -0
  187. package/dist/runtime/templates/components/core/admin/PageAdminModal.vue +260 -0
  188. package/dist/runtime/templates/components/core/admin/PageAdminModal.vue.d.ts +12 -0
  189. package/dist/runtime/templates/components/core/admin/PageDataAdminModal.vue +187 -0
  190. package/dist/runtime/templates/components/core/admin/PageDataAdminModal.vue.d.ts +13 -0
  191. package/dist/runtime/templates/components/core/admin/ResourceModal.vue +99 -0
  192. package/dist/runtime/templates/components/core/admin/ResourceModal.vue.d.ts +27 -0
  193. package/dist/runtime/templates/components/core/admin/ResourceModalOverlay.vue +27 -0
  194. package/dist/runtime/templates/components/core/admin/ResourceModalOverlay.vue.d.ts +6 -0
  195. package/dist/runtime/templates/components/core/admin/ResourceModalOverlayTemplate.vue +23 -0
  196. package/dist/runtime/templates/components/core/admin/ResourceModalOverlayTemplate.vue.d.ts +15 -0
  197. package/dist/runtime/templates/components/core/admin/ResourceModalTabs.vue +77 -0
  198. package/dist/runtime/templates/components/core/admin/ResourceModalTabs.vue.d.ts +19 -0
  199. package/dist/runtime/templates/components/core/admin/RouteListRow.vue +102 -0
  200. package/dist/runtime/templates/components/core/admin/RouteListRow.vue.d.ts +20 -0
  201. package/dist/runtime/templates/components/core/admin/RouteRedirectsTree.vue +52 -0
  202. package/dist/runtime/templates/components/core/admin/RouteRedirectsTree.vue.d.ts +10 -0
  203. package/dist/runtime/templates/components/core/admin/RoutesTab.vue +273 -0
  204. package/dist/runtime/templates/components/core/admin/RoutesTab.vue.d.ts +12 -0
  205. package/dist/runtime/templates/components/core/admin/form/FilterFormWrapper.vue +18 -0
  206. package/dist/runtime/templates/components/core/admin/form/FilterFormWrapper.vue.d.ts +16 -0
  207. package/dist/runtime/templates/components/core/admin/form/FilterSelect.vue +86 -0
  208. package/dist/runtime/templates/components/core/admin/form/FilterSelect.vue.d.ts +3 -0
  209. package/dist/runtime/templates/components/core/admin/form/ModalInfo.vue +23 -0
  210. package/dist/runtime/templates/components/core/admin/form/ModalInfo.vue.d.ts +16 -0
  211. package/dist/runtime/templates/components/core/admin/form/ModalInput.vue +30 -0
  212. package/dist/runtime/templates/components/core/admin/form/ModalInput.vue.d.ts +15 -0
  213. package/dist/runtime/templates/components/core/admin/form/ModalSelect.vue +99 -0
  214. package/dist/runtime/templates/components/core/admin/form/ModalSelect.vue.d.ts +6 -0
  215. package/dist/runtime/templates/components/core/admin/form/PageTypeSelect.vue +112 -0
  216. package/dist/runtime/templates/components/core/admin/form/PageTypeSelect.vue.d.ts +4 -0
  217. package/dist/runtime/templates/components/core/assets/CwaLogo.vue +21 -0
  218. package/dist/runtime/templates/components/core/assets/CwaLogo.vue.d.ts +2 -0
  219. package/dist/runtime/templates/components/core/assets/IconComponents.vue +15 -0
  220. package/dist/runtime/templates/components/core/assets/IconComponents.vue.d.ts +2 -0
  221. package/dist/runtime/templates/components/core/assets/IconData.vue +24 -0
  222. package/dist/runtime/templates/components/core/assets/IconData.vue.d.ts +2 -0
  223. package/dist/runtime/templates/components/core/assets/IconLayouts.vue +20 -0
  224. package/dist/runtime/templates/components/core/assets/IconLayouts.vue.d.ts +2 -0
  225. package/dist/runtime/templates/components/core/assets/IconPages.vue +21 -0
  226. package/dist/runtime/templates/components/core/assets/IconPages.vue.d.ts +2 -0
  227. package/dist/runtime/templates/components/core/assets/IconRoutes.vue +23 -0
  228. package/dist/runtime/templates/components/core/assets/IconRoutes.vue.d.ts +2 -0
  229. package/dist/runtime/templates/components/core/assets/IconUsers.vue +13 -0
  230. package/dist/runtime/templates/components/core/assets/IconUsers.vue.d.ts +2 -0
  231. package/dist/runtime/templates/components/core/useDataResolver.d.ts +12 -0
  232. package/dist/runtime/templates/components/core/useDataResolver.js +109 -0
  233. package/dist/runtime/templates/components/main/ComponentGroup.Util.Positions.d.ts +6 -0
  234. package/dist/runtime/templates/components/main/ComponentGroup.Util.Positions.js +164 -0
  235. package/dist/runtime/templates/components/main/ComponentGroup.Util.Synchronizer.d.ts +20 -0
  236. package/dist/runtime/templates/components/main/ComponentGroup.Util.Synchronizer.js +69 -0
  237. package/dist/runtime/templates/components/main/ComponentGroup.spec.ts.snap +59 -0
  238. package/dist/runtime/templates/components/main/ComponentGroup.vue +107 -0
  239. package/dist/runtime/templates/components/main/ComponentGroup.vue.d.ts +9 -0
  240. package/dist/runtime/templates/components/main/CwaLink.vue +51 -0
  241. package/dist/runtime/templates/components/main/CwaLink.vue.d.ts +14 -0
  242. package/dist/runtime/templates/components/main/DefaultLayout.vue +8 -0
  243. package/dist/runtime/templates/components/main/DefaultLayout.vue.d.ts +12 -0
  244. package/dist/runtime/templates/components/main/ErrorPage.vue +98 -0
  245. package/dist/runtime/templates/components/main/ErrorPage.vue.d.ts +6 -0
  246. package/dist/runtime/templates/components/main/Logo.vue +18 -0
  247. package/dist/runtime/templates/components/main/Logo.vue.d.ts +2 -0
  248. package/dist/runtime/templates/components/main/README.md +7 -0
  249. package/dist/runtime/templates/components/main/admin/_common/ResourceContextItem.vue +41 -0
  250. package/dist/runtime/templates/components/main/admin/_common/ResourceContextItem.vue.d.ts +7 -0
  251. package/dist/runtime/templates/components/main/admin/_common/ResourceLoadingIndicator.vue +48 -0
  252. package/dist/runtime/templates/components/main/admin/_common/ResourceLoadingIndicator.vue.d.ts +2 -0
  253. package/dist/runtime/templates/components/main/admin/_common/useDynamicPositionSelectOptions.d.ts +5 -0
  254. package/dist/runtime/templates/components/main/admin/_common/useDynamicPositionSelectOptions.js +19 -0
  255. package/dist/runtime/templates/components/main/admin/header/Header.vue +207 -0
  256. package/dist/runtime/templates/components/main/admin/header/Header.vue.d.ts +2 -0
  257. package/dist/runtime/templates/components/main/admin/header/_parts/Menu.vue +189 -0
  258. package/dist/runtime/templates/components/main/admin/header/_parts/Menu.vue.d.ts +2 -0
  259. package/dist/runtime/templates/components/main/admin/header/_parts/MenuLink.vue +14 -0
  260. package/dist/runtime/templates/components/main/admin/header/_parts/MenuLink.vue.d.ts +16 -0
  261. package/dist/runtime/templates/components/main/admin/header/_parts/MenuPrimaryLink.vue +19 -0
  262. package/dist/runtime/templates/components/main/admin/header/_parts/MenuPrimaryLink.vue.d.ts +15 -0
  263. package/dist/runtime/templates/components/main/admin/header/_parts/Notification.vue +69 -0
  264. package/dist/runtime/templates/components/main/admin/header/_parts/Notification.vue.d.ts +12 -0
  265. package/dist/runtime/templates/components/main/admin/header/_parts/OutdatedContentNotice.vue +19 -0
  266. package/dist/runtime/templates/components/main/admin/header/_parts/OutdatedContentNotice.vue.d.ts +2 -0
  267. package/dist/runtime/templates/components/main/admin/header/_parts/PathSelector.vue +79 -0
  268. package/dist/runtime/templates/components/main/admin/header/_parts/PathSelector.vue.d.ts +2 -0
  269. package/dist/runtime/templates/components/main/admin/header/_parts/RequestErrors.vue +52 -0
  270. package/dist/runtime/templates/components/main/admin/header/_parts/RequestErrors.vue.d.ts +2 -0
  271. package/dist/runtime/templates/components/main/admin/resource-manager/ComponentFocus.vue +151 -0
  272. package/dist/runtime/templates/components/main/admin/resource-manager/ComponentFocus.vue.d.ts +10 -0
  273. package/dist/runtime/templates/components/main/admin/resource-manager/LayoutPageOverlay.vue +192 -0
  274. package/dist/runtime/templates/components/main/admin/resource-manager/LayoutPageOverlay.vue.d.ts +6 -0
  275. package/dist/runtime/templates/components/main/admin/resource-manager/ResourceManager.vue +186 -0
  276. package/dist/runtime/templates/components/main/admin/resource-manager/ResourceManager.vue.d.ts +9 -0
  277. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/AddComponentDialog.vue +205 -0
  278. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/AddComponentDialog.vue.d.ts +2 -0
  279. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/CwaResourceManagerContextMenu.vue +38 -0
  280. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/CwaResourceManagerContextMenu.vue.d.ts +6 -0
  281. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTab.vue +15 -0
  282. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTab.vue.d.ts +7 -0
  283. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTabs.vue +44 -0
  284. package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTabs.vue.d.ts +13 -0
  285. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/ResourceInfoTab.vue +59 -0
  286. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/ResourceInfoTab.vue.d.ts +6 -0
  287. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Order.vue +75 -0
  288. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Order.vue.d.ts +6 -0
  289. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Publish.vue +41 -0
  290. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Publish.vue.d.ts +6 -0
  291. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Ui.vue +101 -0
  292. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Ui.vue.d.ts +6 -0
  293. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/group/Group.vue +34 -0
  294. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/group/Group.vue.d.ts +6 -0
  295. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DataPage.vue +121 -0
  296. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DataPage.vue.d.ts +6 -0
  297. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DynamicPage.vue +52 -0
  298. package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DynamicPage.vue.d.ts +6 -0
  299. package/dist/runtime/templates/components/main/admin/resource-manager/cta/CurrentResourceCta.vue +99 -0
  300. package/dist/runtime/templates/components/main/admin/resource-manager/cta/CurrentResourceCta.vue.d.ts +7 -0
  301. package/dist/runtime/templates/components/main/admin/resource-manager/cta/NewResourceCta.vue +59 -0
  302. package/dist/runtime/templates/components/main/admin/resource-manager/cta/NewResourceCta.vue.d.ts +7 -0
  303. package/dist/runtime/templates/components/main/admin/resource-manager/cta/ResourceManagerCtaButton.vue +28 -0
  304. package/dist/runtime/templates/components/main/admin/resource-manager/cta/ResourceManagerCtaButton.vue.d.ts +2 -0
  305. package/dist/runtime/templates/components/main/auth/ForgotPasswordPage.vue +55 -0
  306. package/dist/runtime/templates/components/main/auth/ForgotPasswordPage.vue.d.ts +20 -0
  307. package/dist/runtime/templates/components/main/auth/LoginPage.vue +60 -0
  308. package/dist/runtime/templates/components/main/auth/LoginPage.vue.d.ts +23 -0
  309. package/dist/runtime/templates/components/main/auth/ResetPasswordPage.vue +59 -0
  310. package/dist/runtime/templates/components/main/auth/ResetPasswordPage.vue.d.ts +27 -0
  311. package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.spec.ts.snap +14 -0
  312. package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.vue +17 -0
  313. package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.vue.d.ts +6 -0
  314. package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.spec.ts.snap +90 -0
  315. package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.vue +45 -0
  316. package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.vue.d.ts +17 -0
  317. package/dist/runtime/templates/components/main/auth/_parts/InputField.spec.ts.snap +111 -0
  318. package/dist/runtime/templates/components/main/auth/_parts/InputField.vue +50 -0
  319. package/dist/runtime/templates/components/main/auth/_parts/InputField.vue.d.ts +17 -0
  320. package/dist/runtime/templates/components/ui/BackgroundParticles.vue +960 -0
  321. package/dist/runtime/templates/components/ui/BackgroundParticles.vue.d.ts +2 -0
  322. package/dist/runtime/templates/components/ui/Hamburger.vue +75 -0
  323. package/dist/runtime/templates/components/ui/Hamburger.vue.d.ts +9 -0
  324. package/dist/runtime/templates/components/ui/ProgressBar.spec.ts.snap +71 -0
  325. package/dist/runtime/templates/components/ui/ProgressBar.vue +29 -0
  326. package/dist/runtime/templates/components/ui/ProgressBar.vue.d.ts +9 -0
  327. package/dist/runtime/templates/components/ui/README.md +6 -0
  328. package/dist/runtime/templates/components/ui/alert/Info.spec.ts.snap +23 -0
  329. package/dist/runtime/templates/components/ui/alert/Info.vue +13 -0
  330. package/dist/runtime/templates/components/ui/alert/Info.vue.d.ts +12 -0
  331. package/dist/runtime/templates/components/ui/alert/Warning.spec.ts.snap +14 -0
  332. package/dist/runtime/templates/components/ui/alert/Warning.vue +8 -0
  333. package/dist/runtime/templates/components/ui/alert/Warning.vue.d.ts +12 -0
  334. package/dist/runtime/templates/components/ui/form/Button.vue +139 -0
  335. package/dist/runtime/templates/components/ui/form/Button.vue.d.ts +52 -0
  336. package/dist/runtime/templates/components/ui/form/ButtonPopoverGroup.vue +18 -0
  337. package/dist/runtime/templates/components/ui/form/ButtonPopoverGroup.vue.d.ts +10 -0
  338. package/dist/runtime/templates/components/ui/form/ButtonPopoverItem.vue +15 -0
  339. package/dist/runtime/templates/components/ui/form/ButtonPopoverItem.vue.d.ts +10 -0
  340. package/dist/runtime/templates/components/ui/form/File.vue +72 -0
  341. package/dist/runtime/templates/components/ui/form/File.vue.d.ts +9 -0
  342. package/dist/runtime/templates/components/ui/form/Input.vue +22 -0
  343. package/dist/runtime/templates/components/ui/form/Input.vue.d.ts +5 -0
  344. package/dist/runtime/templates/components/ui/form/LabelWrapper.vue +16 -0
  345. package/dist/runtime/templates/components/ui/form/LabelWrapper.vue.d.ts +15 -0
  346. package/dist/runtime/templates/components/ui/form/SearchResource.vue +212 -0
  347. package/dist/runtime/templates/components/ui/form/SearchResource.vue.d.ts +14 -0
  348. package/dist/runtime/templates/components/ui/form/Select.vue +60 -0
  349. package/dist/runtime/templates/components/ui/form/Select.vue.d.ts +3 -0
  350. package/dist/runtime/templates/components/ui/form/Toggle.vue +39 -0
  351. package/dist/runtime/templates/components/ui/form/Toggle.vue.d.ts +6 -0
  352. package/dist/runtime/templates/components/ui/icon/ArrowIcon.vue +30 -0
  353. package/dist/runtime/templates/components/ui/icon/ArrowIcon.vue.d.ts +2 -0
  354. package/dist/runtime/templates/components/ui/icon/BinIcon.vue +24 -0
  355. package/dist/runtime/templates/components/ui/icon/BinIcon.vue.d.ts +2 -0
  356. package/dist/runtime/templates/components/ui/icon/CogIcon.vue +9 -0
  357. package/dist/runtime/templates/components/ui/icon/CogIcon.vue.d.ts +2 -0
  358. package/dist/runtime/templates/components/ui/icon/EyeIcon.vue +24 -0
  359. package/dist/runtime/templates/components/ui/icon/EyeIcon.vue.d.ts +2 -0
  360. package/dist/runtime/templates/components/ui/icon/PenIcon.vue +12 -0
  361. package/dist/runtime/templates/components/ui/icon/PenIcon.vue.d.ts +2 -0
  362. package/dist/runtime/templates/components/ui/icon/PlusIcon.vue +9 -0
  363. package/dist/runtime/templates/components/ui/icon/PlusIcon.vue.d.ts +2 -0
  364. package/dist/runtime/templates/components/ui/icon/SearchIcon.vue +10 -0
  365. package/dist/runtime/templates/components/ui/icon/SearchIcon.vue.d.ts +2 -0
  366. package/dist/runtime/templates/components/ui/icon/TickIcon.vue +23 -0
  367. package/dist/runtime/templates/components/ui/icon/TickIcon.vue.d.ts +2 -0
  368. package/dist/runtime/templates/components/ui/icon/WarningIcon.vue +11 -0
  369. package/dist/runtime/templates/components/ui/icon/WarningIcon.vue.d.ts +2 -0
  370. package/dist/runtime/templates/components/ui/icon/XMarkIcon.vue +15 -0
  371. package/dist/runtime/templates/components/ui/icon/XMarkIcon.vue.d.ts +2 -0
  372. package/dist/runtime/templates/components/utils/ContextMenu.vue +59 -0
  373. package/dist/runtime/templates/components/utils/ContextMenu.vue.d.ts +21 -0
  374. package/dist/runtime/templates/components/utils/HotSpot.vue +24 -0
  375. package/dist/runtime/templates/components/utils/HotSpot.vue.d.ts +9 -0
  376. package/dist/runtime/templates/components/utils/README.md +1 -0
  377. package/dist/runtime/templates/components/utils/Spinner.spec.ts.snap +56 -0
  378. package/dist/runtime/templates/components/utils/Spinner.vue +42 -0
  379. package/dist/runtime/templates/components/utils/Spinner.vue.d.ts +5 -0
  380. package/dist/runtime/templates/components/utils/SpinnerTick.vue +43 -0
  381. package/dist/runtime/templates/components/utils/SpinnerTick.vue.d.ts +6 -0
  382. package/dist/runtime/templates/cwa-page.spec.ts.snap +20 -0
  383. package/dist/runtime/templates/cwa-page.vue +32 -0
  384. package/dist/runtime/templates/cwa-page.vue.d.ts +2 -0
  385. package/dist/runtime/types/popper.d.ts +14 -0
  386. package/dist/types.d.mts +9 -0
  387. package/package.json +108 -0
@@ -0,0 +1,205 @@
1
+ <template>
2
+ <DialogBox
3
+ v-model="open"
4
+ title="Add Component"
5
+ :buttons="buttons"
6
+ :is-loading="dialogLoading"
7
+ >
8
+ <Spinner
9
+ v-if="loadingComponents"
10
+ :show="true"
11
+ />
12
+ <template v-else-if="displayData">
13
+ <div class="cwa:flex cwa:gap-x-4">
14
+ <div class="cwa:flex cwa:flex-col cwa:w-4/12 cwa:gap-y-3 cwa:min-h-64">
15
+ <button
16
+ v-for="(component, name) of displayData.displayAvailableComponents"
17
+ :key="`add-${name}`"
18
+ :class="buttonClass"
19
+ :aria-selected="selectedComponent === name"
20
+ @click="selectComponent(name)"
21
+ >
22
+ {{ getComponentName(component) }}
23
+ </button>
24
+ <div v-if="displayData.enableDynamicPosition">
25
+ <button
26
+ :class="buttonClass"
27
+ class="cwa:border-yellow cwa:border-2 cwa:cursor-pointer"
28
+ :aria-selected="selectedComponent === 'ComponentPosition'"
29
+ @click="selectComponent('ComponentPosition')"
30
+ >
31
+ Dynamic
32
+ </button>
33
+ </div>
34
+ </div>
35
+ <div class="cwa:grow cwa:w-8/12">
36
+ <div
37
+ class="cwa:mb-6 cwa:gap-y-4"
38
+ v-html="resourceDescription"
39
+ />
40
+ <template v-if="selectedComponent === 'ComponentPosition'">
41
+ <CwaUiFormSelect
42
+ v-model="dynamicPropertySelect.model.value"
43
+ :options="dynamicPropertySelect.options.value"
44
+ />
45
+ </template>
46
+ </div>
47
+ </div>
48
+ </template>
49
+ </DialogBox>
50
+ </template>
51
+
52
+ <script setup>
53
+ import { computed, nextTick, onMounted, ref, watch } from "vue";
54
+ import DialogBox, {} from "#cwa/runtime/templates/components/core/DialogBox.vue";
55
+ import { useCwa, useCwaSelect } from "#imports";
56
+ import Spinner from "#cwa/runtime/templates/components/utils/Spinner.vue";
57
+ import {
58
+ useDynamicPositionSelectOptions
59
+ } from "#cwa/runtime/templates/components/main/admin/_common/useDynamicPositionSelectOptions";
60
+ const buttonClass = "w-full cwa:rounded-lg cwa:py-3 cwa:px-4 cwa:text-white/70 cwa:bg-stone-800 cwa:hover:bg-stone-700 cwa:aria-selected:bg-stone-700 cwa:hover:text-white cwa:aria-selected:text-white cwa:transition cwa:border cwa:border-solid cwa:border-stone-700 cwa:hover:border-opacity-100 cwa:cursor-pointer";
61
+ const $cwa = useCwa();
62
+ const { getOptions } = useDynamicPositionSelectOptions($cwa);
63
+ const loadingComponents = ref(true);
64
+ const displayData = ref();
65
+ const selectedComponent = ref();
66
+ const dialogLoading = ref(false);
67
+ const dynamicPositionPropertyModel = ref();
68
+ const dynamicPropertySelect = useCwaSelect(dynamicPositionPropertyModel);
69
+ dynamicPropertySelect.options.value = [{
70
+ label: "Loading...",
71
+ value: void 0
72
+ }];
73
+ const addResourceEvent = computed(() => $cwa.resourcesManager.addResourceEvent.value);
74
+ const isInstantAddResourceSaved = computed(() => {
75
+ return !!$cwa.resources.newResource.value?.data?._metadata.adding?.instantAdd;
76
+ });
77
+ const open = computed({
78
+ get() {
79
+ return !!addResourceEvent.value && !!addResourceEvent.value?.closest.group && (!$cwa.resources.newResource.value || isInstantAddResourceSaved.value);
80
+ },
81
+ set(value) {
82
+ if (!value) {
83
+ $cwa.resourcesManager.clearAddResource();
84
+ }
85
+ }
86
+ });
87
+ const instantAdd = computed(() => !!selectedResourceMeta.value?.instantAdd);
88
+ const buttons = computed(() => {
89
+ return [
90
+ {
91
+ label: instantAdd.value ? "Add Now" : "Insert",
92
+ color: "blue",
93
+ buttonClass: "cwa:min-w-[120px]",
94
+ callbackFn: handleAdd,
95
+ disabled: !selectedComponent.value
96
+ },
97
+ {
98
+ label: "Cancel",
99
+ color: "grey"
100
+ }
101
+ ];
102
+ });
103
+ function getComponentName(metadata) {
104
+ return metadata.config.name || metadata.apiMetadata.resourceName;
105
+ }
106
+ function selectComponent(name) {
107
+ selectedComponent.value = name;
108
+ }
109
+ async function findAvailableComponents(allowedComponents, includePosition = false) {
110
+ const apiComponents = await $cwa.getComponentMetadata(true, includePosition);
111
+ if (!apiComponents) {
112
+ throw new Error("Could not retrieve component metadata from the API");
113
+ }
114
+ const asEntries = Object.entries(apiComponents);
115
+ const filtered = allowedComponents ? asEntries.filter(
116
+ ([_, value]) => allowedComponents.includes(value.endpoint)
117
+ ) : asEntries;
118
+ const mapped = filtered.map(([name, apiMetadata]) => [name, { apiMetadata, config: $cwa.resourcesConfig?.[name] }]);
119
+ return Object.fromEntries(mapped);
120
+ }
121
+ const selectedResourceMeta = computed(() => {
122
+ if (!selectedComponent.value) {
123
+ return;
124
+ }
125
+ return $cwa.resourcesConfig?.[selectedComponent.value];
126
+ });
127
+ const selectedResourceDescription = computed(() => {
128
+ if (!selectedResourceMeta.value) {
129
+ return;
130
+ }
131
+ return selectedResourceMeta.value?.description;
132
+ });
133
+ const resourceDescription = computed(() => {
134
+ return selectedResourceDescription.value || (selectedComponent.value ? "<p>No Description</p>" : "<p>Please select a resource to add</p>");
135
+ });
136
+ const defaultComponentData = computed(() => {
137
+ if (selectedComponent.value !== "ComponentPosition") {
138
+ return {};
139
+ }
140
+ return {
141
+ pageDataProperty: dynamicPropertySelect.model.value
142
+ };
143
+ });
144
+ async function createDisplayData() {
145
+ const event = addResourceEvent.value;
146
+ if (!event) {
147
+ return;
148
+ }
149
+ const allowedComponents = event.closest.group ? findAllowedComponents(event.closest.group) : void 0;
150
+ const enableDynamicPosition = !$cwa.admin.resourceStackManager.isEditingLayout.value && $cwa.resources.isDynamicPage.value;
151
+ const availableComponents = await findAvailableComponents(allowedComponents, enableDynamicPosition);
152
+ const displayAvailableComponents = { ...availableComponents };
153
+ delete displayAvailableComponents.ComponentPosition;
154
+ return {
155
+ event,
156
+ availableComponents,
157
+ enableDynamicPosition,
158
+ displayAvailableComponents
159
+ };
160
+ }
161
+ function findAllowedComponents(groupIri) {
162
+ return $cwa.resources.getResource(groupIri).value?.data?.allowedComponents;
163
+ }
164
+ function handleAdd() {
165
+ if (!selectedComponent.value) {
166
+ return;
167
+ }
168
+ const meta = displayData.value?.availableComponents[selectedComponent.value];
169
+ if (!meta) {
170
+ return;
171
+ }
172
+ $cwa.resourcesManager.setAddResourceEventResource(selectedComponent.value, meta.apiMetadata.endpoint, meta.apiMetadata.isPublishable, instantAdd.value, defaultComponentData.value);
173
+ }
174
+ async function loadOps() {
175
+ dynamicPropertySelect.options.value = await getOptions();
176
+ }
177
+ onMounted(() => {
178
+ loadOps();
179
+ });
180
+ watch(isInstantAddResourceSaved, async (newlySaved) => {
181
+ if (!newlySaved) {
182
+ return;
183
+ }
184
+ dialogLoading.value = true;
185
+ try {
186
+ const newResource = await $cwa.resourcesManager.addResourceAction();
187
+ if (newResource) {
188
+ await nextTick(() => {
189
+ $cwa.admin.eventBus.emit("selectResource", newResource["@id"]);
190
+ });
191
+ }
192
+ } finally {
193
+ $cwa.resourcesManager.clearAddResourceEventResource();
194
+ dialogLoading.value = false;
195
+ }
196
+ });
197
+ watch(open, async (isOpen) => {
198
+ if (!isOpen) {
199
+ return;
200
+ }
201
+ selectComponent();
202
+ displayData.value = await createDisplayData();
203
+ loadingComponents.value = false;
204
+ });
205
+ </script>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,38 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import ResourceContextItem from "../../_common/ResourceContextItem.vue";
4
+ import ContextMenu from "../../../../utils/ContextMenu.vue";
5
+ import { useCwa } from "#imports";
6
+ const $cwa = useCwa();
7
+ const props = defineProps({
8
+ modelValue: { type: Boolean, required: true },
9
+ virtualElement: { type: null, required: true }
10
+ });
11
+ const emit = defineEmits(["update:modelValue"]);
12
+ const stackSize = computed(() => $cwa.admin.resourceStackManager.contextStack.value.length);
13
+ const isOpen = computed({
14
+ get() {
15
+ return props.modelValue && stackSize.value > 0;
16
+ },
17
+ set(value) {
18
+ emit("update:modelValue", value);
19
+ }
20
+ });
21
+ function selectResource(index) {
22
+ $cwa.admin.resourceStackManager.selectStackIndex(index, true);
23
+ isOpen.value = false;
24
+ }
25
+ </script>
26
+
27
+ <template>
28
+ <context-menu
29
+ v-model="isOpen"
30
+ :virtual-element="virtualElement"
31
+ @click.stop
32
+ >
33
+ <resource-context-item
34
+ :index="stackSize - 1"
35
+ @click="(index) => selectResource(index)"
36
+ />
37
+ </context-menu>
38
+ </template>
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ modelValue: boolean;
3
+ virtualElement: any;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,15 @@
1
+ <script setup>
2
+ defineProps({
3
+ tab: { type: Object, required: true },
4
+ selected: { type: Boolean, required: true }
5
+ });
6
+ </script>
7
+
8
+ <template>
9
+ <button
10
+ class="cwa:py-1.5 cwa:px-3 cwa:transition cwa:rounded cwa:cursor-pointer"
11
+ :class="[selected ? 'cwa:text-stone-100 cwa:bg-stone-700/80' : 'cwa:text-stone-400 cwa:hover:text-stone-300']"
12
+ >
13
+ {{ tab.name }}
14
+ </button>
15
+ </template>
@@ -0,0 +1,7 @@
1
+ import type { CwaResourceManagerTabOptions } from '#cwa/runtime/composables/cwa-resource-manager-tab';
2
+ type __VLS_Props = {
3
+ tab: CwaResourceManagerTabOptions;
4
+ selected: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
@@ -0,0 +1,44 @@
1
+ <script setup>
2
+ import { computed, ref, toRef, watchEffect } from "vue";
3
+ import ManagerTab from "./ManagerTab.vue";
4
+ const props = defineProps({
5
+ tabs: { type: Array, required: true }
6
+ });
7
+ const reactiveTabs = toRef(props, "tabs");
8
+ const selectedIndex = ref(0);
9
+ function getOrderValue(meta) {
10
+ return meta.order === void 0 ? 0 : meta.order;
11
+ }
12
+ const orderedTabs = computed(() => {
13
+ const tabsWithOriginalSort = [];
14
+ reactiveTabs.value.forEach((tab, index) => {
15
+ tabsWithOriginalSort.push({ ...tab, _originalIndex: index });
16
+ });
17
+ return tabsWithOriginalSort.filter((v) => !v.disabled).sort((a, b) => getOrderValue(a) - getOrderValue(b));
18
+ });
19
+ function selectIndex(newIndex) {
20
+ selectedIndex.value = newIndex;
21
+ }
22
+ function resetTabs(newIndex = 0) {
23
+ selectedIndex.value = newIndex;
24
+ }
25
+ const emit = defineEmits(["click"]);
26
+ watchEffect(() => {
27
+ const newIndex = orderedTabs.value[selectedIndex.value || 0]?._originalIndex || 0;
28
+ emit("click", newIndex);
29
+ });
30
+ defineExpose({ resetTabs });
31
+ </script>
32
+
33
+ <template>
34
+ <div class="cwa:flex cwa:gap-x-1 cwa:overflow-hidden cwa:items-center">
35
+ <ManagerTab
36
+ v-for="(tab, index) of orderedTabs"
37
+ :key="`tab_${index}_${tab.name}`"
38
+ :tab="tab"
39
+ :selected="index === selectedIndex"
40
+ class="cwa:-mb-px"
41
+ @click="selectIndex(index)"
42
+ />
43
+ </div>
44
+ </template>
@@ -0,0 +1,13 @@
1
+ import type { CwaResourceManagerTabOptions } from '#cwa/runtime/composables/cwa-resource-manager-tab';
2
+ type __VLS_Props = {
3
+ tabs: CwaResourceManagerTabOptions[];
4
+ };
5
+ declare function resetTabs(newIndex?: number): void;
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {
7
+ resetTabs: typeof resetTabs;
8
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
9
+ click: (index: number) => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onClick?: ((index: number) => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -0,0 +1,59 @@
1
+ <script setup>
2
+ import { computed, ref } from "vue";
3
+ import { useCwaResourceManagerTab } from "#cwa/runtime/composables/cwa-resource-manager-tab";
4
+ import { DEFAULT_TAB_ORDER } from "#cwa/runtime/admin/manager-tabs-resolver";
5
+ import { NEW_RESOURCE_IRI } from "#cwa/runtime/storage/stores/resources/state";
6
+ const { exposeMeta, iri, $cwa } = useCwaResourceManagerTab({
7
+ name: "Info",
8
+ order: DEFAULT_TAB_ORDER + 1
9
+ });
10
+ defineExpose(exposeMeta);
11
+ const disableButton = ref(false);
12
+ async function handleDelete() {
13
+ if (!iri.value) {
14
+ return;
15
+ }
16
+ if (isAddingNew.value) {
17
+ if (await $cwa.resourcesManager.confirmDiscardAddingResource()) {
18
+ $cwa.admin.emptyStack();
19
+ }
20
+ return;
21
+ }
22
+ disableButton.value = true;
23
+ const result = await $cwa.resourcesManager.deleteResource({
24
+ endpoint: iri.value,
25
+ refreshEndpoints: $cwa.resources.getRefreshEndpointsForDelete(iri.value)
26
+ });
27
+ if (result !== false) {
28
+ $cwa.admin.emptyStack();
29
+ }
30
+ disableButton.value = false;
31
+ }
32
+ const isDeleteEnabled = computed(() => {
33
+ if (!iri.value) {
34
+ return false;
35
+ }
36
+ return isAddingNew.value || !$cwa.resources.isDataPage.value || $cwa.resources.isPageDataResource(iri.value).value || $cwa.admin.resourceStackManager.isEditingLayout.value;
37
+ });
38
+ const isAddingNew = computed(() => {
39
+ return iri.value === NEW_RESOURCE_IRI;
40
+ });
41
+ </script>
42
+
43
+ <template>
44
+ <div class="cwa:flex cwa:gap-x-4 cwa:items-center">
45
+ <div class="cwa:text-sm">
46
+ {{ isAddingNew ? "[New Resource]" : iri }}
47
+ </div>
48
+ <div v-if="isDeleteEnabled">
49
+ <CwaUiFormButton
50
+ color="grey"
51
+ button-class="cwa:min-w-[100px]"
52
+ :disabled="disableButton"
53
+ @click="handleDelete"
54
+ >
55
+ {{ isAddingNew ? "Discard" : "Delete" }}
56
+ </CwaUiFormButton>
57
+ </div>
58
+ </div>
59
+ </template>
@@ -0,0 +1,6 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ disabled: import("vue").Ref<boolean>;
3
+ name: string;
4
+ order?: number | undefined;
5
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ export default _default;
@@ -0,0 +1,75 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { useCwaResourceManagerTab } from "#cwa/runtime/composables/cwa-resource-manager-tab";
4
+ import { DEFAULT_TAB_ORDER } from "#cwa/runtime/admin/manager-tabs-resolver";
5
+ import { CwaResourceTypes } from "#cwa/runtime/resources/resource-utils";
6
+ const { exposeMeta, createComputedState, $cwa } = useCwaResourceManagerTab({
7
+ name: "Order",
8
+ order: DEFAULT_TAB_ORDER
9
+ });
10
+ defineExpose(exposeMeta);
11
+ const reordering = createComputedState("reordering", false);
12
+ const positionIri = $cwa.admin.resourceStackManager.getClosestStackItemByType(CwaResourceTypes.COMPONENT_POSITION);
13
+ const orderValue = computed({
14
+ get() {
15
+ if (!positionIri) {
16
+ return 0;
17
+ }
18
+ return $cwa.resources.getPositionSortDisplayNumber(positionIri) || 0;
19
+ },
20
+ set(newValue) {
21
+ if (!positionIri) {
22
+ return;
23
+ }
24
+ $cwa.admin.eventBus.emit("reorder", {
25
+ positionIri,
26
+ location: newValue
27
+ });
28
+ }
29
+ });
30
+ function movePosition(location) {
31
+ if (!positionIri) {
32
+ return;
33
+ }
34
+ $cwa.admin.eventBus.emit("reorder", {
35
+ positionIri,
36
+ location
37
+ });
38
+ }
39
+ function moveUp() {
40
+ movePosition("previous");
41
+ }
42
+ function moveDown() {
43
+ movePosition("next");
44
+ }
45
+ </script>
46
+
47
+ <template>
48
+ <div>
49
+ <div class="cwa:flex cwa:gap-x-4">
50
+ <CwaUiFormToggle
51
+ v-model="reordering"
52
+ label="Enable reordering"
53
+ />
54
+ <div
55
+ class="cwa:flex cwa:gap-x-4"
56
+ :class="{ 'cwa:pointer-events-none cwa:opacity-30': !reordering || $cwa.resourcesManager.requestCount.value }"
57
+ >
58
+ <div class="cwa:max-w-[100px]">
59
+ <CwaUiFormInput
60
+ v-model="orderValue"
61
+ type="number"
62
+ />
63
+ </div>
64
+ <div class="cwa:flex cwa:gap-x-2">
65
+ <CwaUiFormButton @click="moveUp">
66
+ Move Up
67
+ </CwaUiFormButton>
68
+ <CwaUiFormButton @click="moveDown">
69
+ Move Down
70
+ </CwaUiFormButton>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </template>
@@ -0,0 +1,6 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ disabled: import("vue").Ref<boolean>;
3
+ name: string;
4
+ order?: number | undefined;
5
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ export default _default;
@@ -0,0 +1,41 @@
1
+ <script setup>
2
+ import { computed, ref, watch } from "vue";
3
+ import { useCwaResourceManagerTab } from "#cwa/runtime/composables/cwa-resource-manager-tab";
4
+ import { DEFAULT_TAB_ORDER } from "#cwa/runtime/admin/manager-tabs-resolver";
5
+ import { getPublishedResourceState } from "#cwa/runtime/resources/resource-utils";
6
+ const { exposeMeta, resource, $cwa, iri } = useCwaResourceManagerTab({
7
+ name: "Publish",
8
+ order: DEFAULT_TAB_ORDER
9
+ });
10
+ const publishableState = computed(() => resource.value ? getPublishedResourceState(resource.value) : void 0);
11
+ const editLiveVersion = ref(publishableState.value || false);
12
+ const alternateIri = computed(() => {
13
+ if (!iri.value) {
14
+ return;
15
+ }
16
+ if (publishableState.value) {
17
+ return $cwa.resources.findDraftComponentIri(iri.value).value;
18
+ }
19
+ return $cwa.resources.findPublishedComponentIri(iri.value).value;
20
+ });
21
+ watch(editLiveVersion, (isEditLive) => {
22
+ $cwa.admin.resourceStackManager.forcePublishedVersion.value = isEditLive;
23
+ });
24
+ watch(iri, () => {
25
+ editLiveVersion.value = publishableState.value || false;
26
+ });
27
+ defineExpose(exposeMeta);
28
+ </script>
29
+
30
+ <template>
31
+ <div>
32
+ <CwaUiFormToggle
33
+ v-if="alternateIri"
34
+ v-model="editLiveVersion"
35
+ label="Edit live version"
36
+ />
37
+ <span v-else>
38
+ {{ publishableState === false ? "Draft" : "Live" }}
39
+ </span>
40
+ </div>
41
+ </template>
@@ -0,0 +1,6 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ disabled: import("vue").Ref<boolean>;
3
+ name: string;
4
+ order?: number | undefined;
5
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ export default _default;
@@ -0,0 +1,101 @@
1
+ <script setup>
2
+ import { computed, onMounted, ref, watch, watchEffect } from "vue";
3
+ import { watchOnce } from "@vueuse/core";
4
+ import {
5
+ useCwaResourceManagerTab
6
+ } from "#cwa/runtime/composables/cwa-resource-manager-tab";
7
+ import { DEFAULT_TAB_ORDER } from "#cwa/runtime/admin/manager-tabs-resolver";
8
+ import { useCwaResourceModel } from "#cwa/runtime/composables/cwa-resource-model";
9
+ import { useCwaSelect } from "#cwa/runtime/composables/cwa-select";
10
+ import { useDataResolver } from "#cwa/runtime/templates/components/core/useDataResolver";
11
+ const { exposeMeta, $cwa, iri } = useCwaResourceManagerTab({
12
+ name: "UI",
13
+ order: DEFAULT_TAB_ORDER
14
+ });
15
+ const savedUiComponent = computed(() => iri.value ? $cwa.resources.getResource(iri.value).value?.data?.uiComponent : void 0);
16
+ const uiComponentModel = useCwaResourceModel(iri, "uiComponent", {
17
+ debounceTime: 0
18
+ });
19
+ const uiClassNamesModel = useCwaResourceModel(iri, "uiClassNames", {
20
+ debounceTime: 0
21
+ });
22
+ const uiSelect = useCwaSelect(uiComponentModel.model);
23
+ const classNamesSelect = useCwaSelect(uiClassNamesModel.model);
24
+ const componentMeta = ref([]);
25
+ const current = computed(() => $cwa.admin.resourceStackManager.currentStackItem.value);
26
+ const uiOptions = computed(() => {
27
+ const options = [{
28
+ label: "Default",
29
+ value: null
30
+ }];
31
+ componentMeta.value.forEach((meta, index) => {
32
+ options.push({
33
+ label: meta?.cwaResource.name || current.value?.ui?.[index] || "Unknown",
34
+ value: current.value?.ui?.[index]
35
+ });
36
+ });
37
+ return options;
38
+ });
39
+ const classOptions = computed(() => {
40
+ const options = [{
41
+ label: "Default",
42
+ value: null
43
+ }];
44
+ const currentClasses = current.value?.styles?.value?.classes;
45
+ if (currentClasses) {
46
+ for (const [styleName, styles] of Object.entries(currentClasses)) {
47
+ options.push({
48
+ label: styleName,
49
+ value: styles
50
+ });
51
+ }
52
+ }
53
+ return options;
54
+ });
55
+ const disabled = exposeMeta.disabled;
56
+ disabled.value = !current.value?.styles?.value?.classes.length && !current.value?.ui?.length;
57
+ const components = computed(() => {
58
+ return current.value?.ui;
59
+ });
60
+ const resolverProps = computed(() => {
61
+ return {
62
+ iri: iri.value
63
+ };
64
+ });
65
+ const { startDataResolver } = useDataResolver(componentMeta, {
66
+ components,
67
+ props: resolverProps,
68
+ propsValidator: (props) => {
69
+ return !!props.iri;
70
+ }
71
+ });
72
+ startDataResolver();
73
+ onMounted(() => {
74
+ watch(uiSelect.model, () => {
75
+ watchOnce(savedUiComponent, () => {
76
+ uiClassNamesModel.model.value = null;
77
+ classNamesSelect.model.value = null;
78
+ });
79
+ });
80
+ watchEffect(() => {
81
+ uiSelect.options.value = uiOptions.value;
82
+ classNamesSelect.options.value = classOptions.value;
83
+ });
84
+ });
85
+ defineExpose(exposeMeta);
86
+ </script>
87
+
88
+ <template>
89
+ <div>
90
+ <div class="cwa:flex cwa:gap-x-2">
91
+ <CwaUiFormSelect
92
+ v-model="uiSelect.model.value"
93
+ :options="uiSelect.options.value"
94
+ />
95
+ <CwaUiFormSelect
96
+ v-model="classNamesSelect.model.value"
97
+ :options="classNamesSelect.options.value"
98
+ />
99
+ </div>
100
+ </div>
101
+ </template>
@@ -0,0 +1,6 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ disabled: import("vue").Ref<boolean>;
3
+ name: string;
4
+ order?: number | undefined;
5
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ export default _default;