@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,251 @@
1
+ import { computed } from "vue";
2
+ import { consola } from "consola";
3
+ import {
4
+ CwaResourceTypes,
5
+ getPublishedResourceState,
6
+ getResourceTypeFromIri,
7
+ resourceTypeToNestedResourceProperties
8
+ } from "../../../resources/resource-utils.js";
9
+ import {
10
+ CwaResourceApiStatuses,
11
+ NEW_RESOURCE_IRI
12
+ } from "./state.js";
13
+ import { ResourcesGetterUtils } from "./getter-utils.js";
14
+ export default function(resourcesState) {
15
+ const utils = new ResourcesGetterUtils(resourcesState);
16
+ const publishedToDraftIris = computed(() => resourcesState.current.publishableMapping.reduce((obj, mapping) => {
17
+ obj[mapping.publishedIri] = mapping.draftIri;
18
+ return obj;
19
+ }, {}));
20
+ const draftToPublishedIris = computed(() => resourcesState.current.publishableMapping.reduce((obj, mapping) => {
21
+ obj[mapping.draftIri] = mapping.publishedIri;
22
+ return obj;
23
+ }, {}));
24
+ function findIsPublishedByIri(iri) {
25
+ const resource = resourcesState.current.byId?.[iri];
26
+ if (!resource) {
27
+ return false;
28
+ }
29
+ const publishedState = getPublishedResourceState(resource);
30
+ return publishedState === void 0 ? true : publishedState;
31
+ }
32
+ const getOrderedPositionsForGroup = computed(() => {
33
+ return (groupIri, includeNewIri = true) => {
34
+ const groupResource = resourcesState.current.byId?.[groupIri];
35
+ const positions = groupResource.data?.componentPositions;
36
+ if (!positions) {
37
+ return;
38
+ }
39
+ const positionResources = positions.filter((iri) => !iri.endsWith(NEW_RESOURCE_IRI)).map((iri) => resourcesState.current.byId?.[iri]?.data);
40
+ const resourcesThatExist = positionResources.filter((resource) => resource !== void 0);
41
+ const getSortNumber = (res) => {
42
+ if (res?._metadata.sortDisplayNumber !== void 0) {
43
+ return res._metadata.sortDisplayNumber;
44
+ }
45
+ return res?.sortValue || 0;
46
+ };
47
+ const orderedWithoutTemp = resourcesThatExist.sort((a, b) => {
48
+ const sortA = getSortNumber(a);
49
+ const sortB = getSortNumber(b);
50
+ return sortA === sortB ? 0 : sortA > sortB ? 1 : -1;
51
+ }).map((resource) => {
52
+ return resource["@id"];
53
+ });
54
+ if (includeNewIri) {
55
+ const newIriPositions = positions.filter((iri) => iri.endsWith(NEW_RESOURCE_IRI));
56
+ if (newIriPositions.length) {
57
+ for (const newIriPosition of newIriPositions) {
58
+ const newPositionSortNumber = resourcesState.current.byId?.[newIriPosition]?.data?._metadata?.sortDisplayNumber;
59
+ newPositionSortNumber !== void 0 && orderedWithoutTemp.splice(newPositionSortNumber - 1, 0, newIriPosition);
60
+ }
61
+ }
62
+ }
63
+ return orderedWithoutTemp;
64
+ };
65
+ });
66
+ const getChildIris = computed(() => {
67
+ return (iri, addResourceEvent) => {
68
+ const childIris = [];
69
+ if (iri === NEW_RESOURCE_IRI) {
70
+ return childIris;
71
+ }
72
+ const resource = resourcesState.current.byId?.[iri];
73
+ if (!resource) {
74
+ consola.warn(`Could not get children for '${iri}' - Resource not found`);
75
+ return childIris;
76
+ }
77
+ const resourceType = getResourceTypeFromIri(iri);
78
+ if (!resourceType) {
79
+ return childIris;
80
+ }
81
+ if (resourceType === CwaResourceTypes.COMPONENT_POSITION || resourceType === CwaResourceTypes.COMPONENT_GROUP) {
82
+ childIris.push(`${iri}_placeholder`);
83
+ }
84
+ if (addResourceEvent) {
85
+ if (resourceType === CwaResourceTypes.COMPONENT_POSITION && addResourceEvent.closest.position === iri && addResourceEvent.targetIri === iri && addResourceEvent.addAfter === null) {
86
+ childIris.push(NEW_RESOURCE_IRI);
87
+ }
88
+ if (resourceType === CwaResourceTypes.COMPONENT_GROUP && addResourceEvent.closest.group === iri) {
89
+ const childIri = `/_/component_positions/${NEW_RESOURCE_IRI}`;
90
+ childIris.push(childIri);
91
+ childIris.push(...getChildIris.value(childIri, addResourceEvent));
92
+ }
93
+ }
94
+ const propertiesWithChildIris = resourceTypeToNestedResourceProperties[resourceType];
95
+ for (const propWithChildIri of propertiesWithChildIris) {
96
+ const children = resource.data?.[propWithChildIri];
97
+ if (!children) {
98
+ continue;
99
+ }
100
+ const childrenAsArray = Array.isArray(children) ? [...children] : [children];
101
+ for (const child of childrenAsArray) {
102
+ childIris.push(child);
103
+ childIris.push(...getChildIris.value(child, addResourceEvent));
104
+ }
105
+ }
106
+ return childIris;
107
+ };
108
+ });
109
+ return {
110
+ getOrderedPositionsForGroup,
111
+ getPositionSortDisplayNumber: computed(() => {
112
+ return (positionIri, includeNewIri = true) => {
113
+ const positionResource = resourcesState.current.byId?.[positionIri]?.data;
114
+ if (!positionResource) {
115
+ return;
116
+ }
117
+ const groupIri = positionResource.componentGroup;
118
+ if (!groupIri) {
119
+ return;
120
+ }
121
+ const orderedPositions = getOrderedPositionsForGroup.value(groupIri, includeNewIri);
122
+ if (!orderedPositions) {
123
+ return;
124
+ }
125
+ const index = orderedPositions.indexOf(positionIri);
126
+ if (index === -1) {
127
+ return;
128
+ }
129
+ return index + 1;
130
+ };
131
+ }),
132
+ getResource: computed(() => {
133
+ return (id) => {
134
+ return resourcesState.current.byId?.[id];
135
+ };
136
+ }),
137
+ getChildIris,
138
+ hasNewResources: computed(() => resourcesState.new.allIds.length > 0),
139
+ findPublishedComponentIri: computed(() => {
140
+ return (iri) => {
141
+ const isPublished = findIsPublishedByIri(iri);
142
+ if (isPublished === void 0) {
143
+ return;
144
+ }
145
+ if (isPublished) {
146
+ return iri;
147
+ }
148
+ return draftToPublishedIris.value[iri];
149
+ };
150
+ }),
151
+ findDraftComponentIri: computed(() => {
152
+ return (iri) => {
153
+ const isPublished = findIsPublishedByIri(iri);
154
+ if (isPublished === void 0) {
155
+ return;
156
+ }
157
+ if (!isPublished) {
158
+ return iri;
159
+ }
160
+ return publishedToDraftIris.value[iri];
161
+ };
162
+ }),
163
+ publishedToDraftIris,
164
+ draftToPublishedIris,
165
+ isIriPublishableEquivalent: computed(() => {
166
+ return (oldIri, newIri) => {
167
+ return [publishedToDraftIris.value[oldIri], draftToPublishedIris.value[oldIri]].includes(newIri);
168
+ };
169
+ }),
170
+ findAllPublishableIris: computed(() => {
171
+ return (iri) => {
172
+ const iris = [iri];
173
+ const relatedIri = draftToPublishedIris.value[iri] || publishedToDraftIris.value[iri];
174
+ if (relatedIri) iris.push(relatedIri);
175
+ return iris;
176
+ };
177
+ }),
178
+ resourcesByType: computed(() => {
179
+ const resources = {
180
+ [CwaResourceTypes.ROUTE]: [],
181
+ [CwaResourceTypes.PAGE]: [],
182
+ [CwaResourceTypes.PAGE_DATA]: [],
183
+ [CwaResourceTypes.LAYOUT]: [],
184
+ [CwaResourceTypes.COMPONENT_GROUP]: [],
185
+ [CwaResourceTypes.COMPONENT_POSITION]: [],
186
+ [CwaResourceTypes.COMPONENT]: []
187
+ };
188
+ for (const iri of resourcesState.current.allIds) {
189
+ const type = getResourceTypeFromIri(iri);
190
+ const resource = resourcesState.current.byId[iri];
191
+ if (!type || !resource) {
192
+ continue;
193
+ }
194
+ resources[type].push(resource);
195
+ }
196
+ return resources;
197
+ }),
198
+ totalResourcesPending: computed(() => utils.totalResourcesPending),
199
+ currentResourcesApiStateIsPending: computed(() => {
200
+ return utils.resourcesApiStateIsPending(Object.keys(resourcesState.current.byId));
201
+ }),
202
+ resourcesApiStateIsPending: computed(() => {
203
+ return (resources) => utils.resourcesApiStateIsPending(resources);
204
+ }),
205
+ isFetchStatusResourcesResolved: computed(() => {
206
+ return (fetchStatus) => {
207
+ const resourceData = resourcesState.current.byId[fetchStatus.path];
208
+ if (!resourceData || resourceData.apiState.status === CwaResourceApiStatuses.ERROR) {
209
+ return false;
210
+ }
211
+ for (const resource of fetchStatus.resources) {
212
+ const resourceData2 = resourcesState.current.byId[resource];
213
+ if (!resourceData2) {
214
+ continue;
215
+ }
216
+ if (resourceData2.apiState.status === CwaResourceApiStatuses.ERROR) {
217
+ const lastStatusCode = resourceData2.apiState.error?.statusCode;
218
+ if (!lastStatusCode || lastStatusCode >= 500) {
219
+ return false;
220
+ }
221
+ continue;
222
+ }
223
+ if (resourceData2.apiState.status === CwaResourceApiStatuses.IN_PROGRESS && !resourceData2.data) {
224
+ return false;
225
+ }
226
+ if (resourceData2.data?.["@type"] === CwaResourceTypes.COMPONENT_POSITION && resourceData2.apiState.headers?.path !== fetchStatus.path) {
227
+ return false;
228
+ }
229
+ }
230
+ return true;
231
+ };
232
+ }),
233
+ resourceLoadStatus: computed(() => {
234
+ const pending = utils.totalResourcesPending;
235
+ const total = resourcesState.current.currentIds.length;
236
+ const complete = total - pending;
237
+ let percent;
238
+ if (complete === 0) {
239
+ percent = total === 0 ? 100 : 0;
240
+ } else {
241
+ percent = Math.round(complete / total * 100);
242
+ }
243
+ return {
244
+ pending,
245
+ complete,
246
+ total,
247
+ percent
248
+ };
249
+ })
250
+ };
251
+ }
@@ -0,0 +1,19 @@
1
+ import type { CwaPiniaStoreDefinitionInterface, CwaPiniaStoreInterface, CwaStore } from '../cwa-store-types.js';
2
+ import type { CwaResourcesStateInterface } from './state.js';
3
+ import type { CwaResourcesGettersInterface } from './getters.js';
4
+ import type { CwaResourcesActionsInterface } from './actions.js';
5
+ /**
6
+ * Interface Definitions
7
+ */
8
+ export interface CwaResourcesInterface extends CwaResourcesStateInterface, CwaResourcesGettersInterface, CwaResourcesActionsInterface {
9
+ }
10
+ export type CwaResourcesStoreDefinitionInterface = CwaPiniaStoreDefinitionInterface<`${string}.resources`, CwaResourcesInterface>;
11
+ export type CwaResourcesStoreInterface = CwaPiniaStoreInterface<`${string}.resources`, CwaResourcesInterface>;
12
+ /**
13
+ * Main Store Class
14
+ */
15
+ export declare class ResourcesStore implements CwaStore {
16
+ private readonly storeDefinition;
17
+ constructor(storeName: string);
18
+ useStore(): CwaResourcesStoreInterface;
19
+ }
@@ -0,0 +1,23 @@
1
+ import {
2
+ defineStore
3
+ } from "pinia";
4
+ import CwaResourcesState from "./state.js";
5
+ import CwaResourcesGetters from "./getters.js";
6
+ import CwaResourcesActions from "./actions.js";
7
+ export class ResourcesStore {
8
+ storeDefinition;
9
+ constructor(storeName) {
10
+ this.storeDefinition = defineStore(`${storeName}.resources`, () => {
11
+ const resourcesState = CwaResourcesState();
12
+ const getters = CwaResourcesGetters(resourcesState);
13
+ return {
14
+ ...resourcesState,
15
+ ...getters,
16
+ ...CwaResourcesActions(resourcesState, getters)
17
+ };
18
+ });
19
+ }
20
+ useStore() {
21
+ return this.storeDefinition();
22
+ }
23
+ }
@@ -0,0 +1,64 @@
1
+ import { type Ref } from 'vue';
2
+ import type { CwaResourceErrorObject } from '../../../errors/cwa-resource-error.js';
3
+ import type { CwaFetchRequestHeaders } from '../../../api/fetcher/fetcher.js';
4
+ import type { CwaResource } from '../../../resources/resource-utils.js';
5
+ export declare const NEW_RESOURCE_IRI = "__new__";
6
+ export declare enum CwaResourceApiStatuses {
7
+ ERROR = -1,
8
+ IN_PROGRESS = 0,
9
+ SUCCESS = 1
10
+ }
11
+ interface SsrApiState {
12
+ ssr?: boolean;
13
+ }
14
+ export interface CwaResourceApiStateGeneral extends SsrApiState {
15
+ status: CwaResourceApiStatuses.IN_PROGRESS | undefined;
16
+ headers?: CwaFetchRequestHeaders;
17
+ }
18
+ export interface CwaResourceApiStateError extends SsrApiState {
19
+ status: CwaResourceApiStatuses.ERROR;
20
+ error?: CwaResourceErrorObject;
21
+ fetchedAt: number;
22
+ }
23
+ export interface CwaResourceApiStateSuccess extends SsrApiState {
24
+ status: CwaResourceApiStatuses.SUCCESS;
25
+ headers: CwaFetchRequestHeaders;
26
+ fetchedAt: number;
27
+ }
28
+ declare type CwaResourceApiState = CwaResourceApiStateGeneral | CwaResourceApiStateError | CwaResourceApiStateSuccess;
29
+ export interface CwaCurrentResourceInterface {
30
+ data?: CwaResource;
31
+ apiState: CwaResourceApiState;
32
+ }
33
+ interface PublishableMapping {
34
+ draftIri: string;
35
+ publishedIri: string;
36
+ }
37
+ export interface CwaResourcesStateInterface {
38
+ current: {
39
+ byId: {
40
+ [key: string]: CwaCurrentResourceInterface;
41
+ };
42
+ allIds: Array<string>;
43
+ currentIds: Array<string>;
44
+ publishableMapping: Array<PublishableMapping>;
45
+ positionsByComponent: {
46
+ [componentIri: string]: string[];
47
+ };
48
+ };
49
+ new: {
50
+ byId: {
51
+ [key: string]: {
52
+ resource: any;
53
+ path?: string;
54
+ };
55
+ };
56
+ allIds: Array<string>;
57
+ };
58
+ adding: Ref<undefined | {
59
+ resource: string;
60
+ position?: string;
61
+ }>;
62
+ }
63
+ export default function (): CwaResourcesStateInterface;
64
+ export {};
@@ -0,0 +1,24 @@
1
+ import { reactive, ref } from "vue";
2
+ export const NEW_RESOURCE_IRI = "__new__";
3
+ export var CwaResourceApiStatuses = /* @__PURE__ */ ((CwaResourceApiStatuses2) => {
4
+ CwaResourceApiStatuses2[CwaResourceApiStatuses2["ERROR"] = -1] = "ERROR";
5
+ CwaResourceApiStatuses2[CwaResourceApiStatuses2["IN_PROGRESS"] = 0] = "IN_PROGRESS";
6
+ CwaResourceApiStatuses2[CwaResourceApiStatuses2["SUCCESS"] = 1] = "SUCCESS";
7
+ return CwaResourceApiStatuses2;
8
+ })(CwaResourceApiStatuses || {});
9
+ export default function() {
10
+ return {
11
+ current: reactive({
12
+ byId: {},
13
+ allIds: [],
14
+ currentIds: [],
15
+ publishableMapping: [],
16
+ positionsByComponent: {}
17
+ }),
18
+ new: reactive({
19
+ byId: {},
20
+ allIds: []
21
+ }),
22
+ adding: ref(void 0)
23
+ };
24
+ }
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{background-color:transparent;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentcolor}::placeholder{color:currentcolor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */@layer properties;@layer theme, base, cwa, components, utilities;@layer theme{:host,:root{--cwa-color-red-500:#ef4444;--cwa-color-blue-500:oklch(62.3% 0.214 259.815);--cwa-color-blue-600:#2563eb;--cwa-color-indigo-500:oklch(58.5% 0.233 277.117);--cwa-color-indigo-600:#4f46e5;--cwa-color-gray-200:#e5e7eb;--cwa-color-gray-300:#d1d5db;--cwa-color-gray-500:oklch(55.1% 0.027 264.364);--cwa-color-gray-900:#111827;--cwa-color-neutral-200:oklch(92.2% 0 0);--cwa-color-neutral-300:oklch(87% 0 0);--cwa-color-neutral-400:#a3a3a3;--cwa-color-neutral-500:oklch(55.6% 0 0);--cwa-color-neutral-600:#525252;--cwa-color-neutral-800:#262626;--cwa-color-neutral-900:#171717;--cwa-color-stone-100:#f5f5f4;--cwa-color-stone-300:#d6d3d1;--cwa-color-stone-400:#a8a29e;--cwa-color-stone-600:#57534e;--cwa-color-stone-700:#44403c;--cwa-color-stone-800:#292524;--cwa-color-stone-900:#1c1917;--cwa-color-black:#000;--cwa-color-white:#fff;--cwa-spacing:0.25rem;--cwa-container-sm:24rem;--cwa-container-md:28rem;--cwa-container-xl:36rem;--cwa-container-2xl:42rem;--cwa-container-3xl:48rem;--cwa-container-4xl:56rem;--cwa-text-xs:0.75rem;--cwa-text-xs--line-height:1.33333;--cwa-text-sm:0.875rem;--cwa-text-sm--line-height:1.42857;--cwa-text-base:1rem;--cwa-text-base--line-height:1.5;--cwa-text-lg:1.125rem;--cwa-text-lg--line-height:1.55556;--cwa-text-xl:1.25rem;--cwa-text-xl--line-height:1.4;--cwa-text-2xl:1.5rem;--cwa-text-2xl--line-height:1.33333;--cwa-text-4xl:2.25rem;--cwa-text-4xl--line-height:1.11111;--cwa-text-6xl:3.75rem;--cwa-text-6xl--line-height:1;--cwa-font-weight-light:300;--cwa-font-weight-normal:400;--cwa-font-weight-medium:500;--cwa-font-weight-semibold:600;--cwa-font-weight-bold:700;--cwa-tracking-tight:-0.025em;--cwa-leading-tight:1.25;--cwa-radius-sm:0.25rem;--cwa-radius-md:0.375rem;--cwa-radius-lg:0.5rem;--cwa-radius-xl:0.75rem;--cwa-ease-in:cubic-bezier(0.4,0,1,1);--cwa-ease-out:cubic-bezier(0,0,0.2,1);--cwa-ease-in-out:cubic-bezier(0.4,0,0.2,1);--cwa-animate-pulse:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;--cwa-blur-sm:8px;--cwa-blur-lg:16px;--cwa-default-transition-duration:150ms;--cwa-default-transition-timing-function:cubic-bezier(0.4,0,0.2,1);--cwa-color-orange:#fa0;--cwa-color-magenta:#e30a6c;--cwa-color-green:#9cdd05;--cwa-color-yellow:#fee600;--cwa-color-dark:#1c1917;--cwa-color-light:#f5f5f4;--cwa-color-medium:#a8a29e;--cwa-animate-spin-spinner:spin 2s linear infinite;--cwa-backdrop-blur-xs:3px;--cwa-transition-property-opacity-transform:opacity,transform,rotate;--cwa-z-index-manager:101;--cwa-z-index-dialog:102;--cwa-z-index-notifications:103;--cwa-z-index-context:104}}.cwa\:pointer-events-auto{pointer-events:auto}.cwa\:pointer-events-none{pointer-events:none}.cwa\:sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.cwa\:absolute,.cwa\:sr-only{position:absolute}.cwa\:fixed{position:fixed}.cwa\:relative{position:relative}.cwa\:inset-0{inset:calc(var(--cwa-spacing)*0)}.cwa\:-top-0\.5{top:calc(var(--cwa-spacing)*-.5)}.cwa\:-top-1\.5{top:calc(var(--cwa-spacing)*-1.5)}.cwa\:top-0{top:calc(var(--cwa-spacing)*0)}.cwa\:top-1\/2{top:50%}.cwa\:top-2{top:calc(var(--cwa-spacing)*2)}.cwa\:top-5{top:calc(var(--cwa-spacing)*5)}.cwa\:top-full{top:100%}.cwa\:-right-0\.5{right:calc(var(--cwa-spacing)*-.5)}.cwa\:-right-2{right:calc(var(--cwa-spacing)*-2)}.cwa\:right-0{right:calc(var(--cwa-spacing)*0)}.cwa\:right-1{right:calc(var(--cwa-spacing)*1)}.cwa\:right-2\.5{right:calc(var(--cwa-spacing)*2.5)}.cwa\:right-full{right:100%}.cwa\:bottom-0{bottom:calc(var(--cwa-spacing)*0)}.cwa\:bottom-2{bottom:calc(var(--cwa-spacing)*2)}.cwa\:bottom-full{bottom:100%}.cwa\:-left-3{left:calc(var(--cwa-spacing)*-3)}.cwa\:left-0{left:calc(var(--cwa-spacing)*0)}.cwa\:left-1\/2{left:50%}.cwa\:left-2{left:calc(var(--cwa-spacing)*2)}.cwa\:-z-10{z-index:-10}.cwa\:z-10{z-index:10}.cwa\:z-20{z-index:20}.cwa\:z-50{z-index:50}.cwa\:z-100{z-index:100}.cwa\:z-context{z-index:var(--cwa-z-index-context)}.cwa\:z-dialog{z-index:var(--cwa-z-index-dialog)}.cwa\:z-manager{z-index:var(--cwa-z-index-manager)}.cwa\:z-notifications{z-index:var(--cwa-z-index-notifications)}.cwa\:m-0{margin:calc(var(--cwa-spacing)*0)}.cwa\:m-1{margin:calc(var(--cwa-spacing)*1)}.cwa\:mx-0\.5{margin-inline:calc(var(--cwa-spacing)*.5)}.cwa\:mx-1{margin-inline:calc(var(--cwa-spacing)*1)}.cwa\:mx-auto{margin-inline:auto}.cwa\:my-0{margin-block:calc(var(--cwa-spacing)*0)}.cwa\:my-2{margin-block:calc(var(--cwa-spacing)*2)}.cwa\:my-6{margin-block:calc(var(--cwa-spacing)*6)}.cwa\:-mt-7{margin-top:calc(var(--cwa-spacing)*-7)}.cwa\:mt-1{margin-top:calc(var(--cwa-spacing)*1)}.cwa\:mt-1\.5{margin-top:calc(var(--cwa-spacing)*1.5)}.cwa\:mt-2{margin-top:calc(var(--cwa-spacing)*2)}.cwa\:mt-4{margin-top:calc(var(--cwa-spacing)*4)}.cwa\:mt-6{margin-top:calc(var(--cwa-spacing)*6)}.cwa\:mt-8{margin-top:calc(var(--cwa-spacing)*8)}.cwa\:mt-10{margin-top:calc(var(--cwa-spacing)*10)}.cwa\:-mr-1{margin-right:calc(var(--cwa-spacing)*-1)}.cwa\:mr-2{margin-right:calc(var(--cwa-spacing)*2)}.cwa\:mr-2\.5{margin-right:calc(var(--cwa-spacing)*2.5)}.cwa\:-mb-px{margin-bottom:-1px}.cwa\:mb-2{margin-bottom:calc(var(--cwa-spacing)*2)}.cwa\:mb-4{margin-bottom:calc(var(--cwa-spacing)*4)}.cwa\:mb-5{margin-bottom:calc(var(--cwa-spacing)*5)}.cwa\:mb-6{margin-bottom:calc(var(--cwa-spacing)*6)}.cwa\:mb-8{margin-bottom:calc(var(--cwa-spacing)*8)}.cwa\:-ml-2{margin-left:calc(var(--cwa-spacing)*-2)}.cwa\:ml-2\.5{margin-left:calc(var(--cwa-spacing)*2.5)}.cwa\:ml-3{margin-left:calc(var(--cwa-spacing)*3)}.cwa\:ml-4{margin-left:calc(var(--cwa-spacing)*4)}.cwa\:box-content{box-sizing:content-box}.cwa\:block{display:block}.cwa\:flex{display:flex}.cwa\:hidden{display:none}.cwa\:inline-block{display:inline-block}.cwa\:inline-flex{display:inline-flex}.cwa\:size-6{height:calc(var(--cwa-spacing)*6);width:calc(var(--cwa-spacing)*6)}.cwa\:h-0\.5{height:calc(var(--cwa-spacing)*.5)}.cwa\:h-1\/2{height:50%}.cwa\:h-2{height:calc(var(--cwa-spacing)*2)}.cwa\:h-3{height:calc(var(--cwa-spacing)*3)}.cwa\:h-4{height:calc(var(--cwa-spacing)*4)}.cwa\:h-5{height:calc(var(--cwa-spacing)*5)}.cwa\:h-6{height:calc(var(--cwa-spacing)*6)}.cwa\:h-8{height:calc(var(--cwa-spacing)*8)}.cwa\:h-10{height:calc(var(--cwa-spacing)*10)}.cwa\:h-12{height:calc(var(--cwa-spacing)*12)}.cwa\:h-18{height:calc(var(--cwa-spacing)*18)}.cwa\:h-\[0\.3rem\]{height:.3rem}.cwa\:h-\[1px\]{height:1px}.cwa\:h-\[calc\(50\%\+\.75rem\)\]{height:calc(50% + .75rem)}.cwa\:h-auto{height:auto}.cwa\:h-full{height:100%}.cwa\:max-h-40{max-height:calc(var(--cwa-spacing)*40)}.cwa\:max-h-60{max-height:calc(var(--cwa-spacing)*60)}.cwa\:max-h-full{max-height:100%}.cwa\:min-h-0{min-height:calc(var(--cwa-spacing)*0)}.cwa\:min-h-9{min-height:calc(var(--cwa-spacing)*9)}.cwa\:min-h-64{min-height:calc(var(--cwa-spacing)*64)}.cwa\:min-h-96{min-height:calc(var(--cwa-spacing)*96)}.cwa\:min-h-\[74px\]{min-height:74px}.cwa\:min-h-full{min-height:100%}.cwa\:w-0{width:calc(var(--cwa-spacing)*0)}.cwa\:w-1\/2{width:50%}.cwa\:w-2{width:calc(var(--cwa-spacing)*2)}.cwa\:w-3{width:calc(var(--cwa-spacing)*3)}.cwa\:w-3\.5{width:calc(var(--cwa-spacing)*3.5)}.cwa\:w-4{width:calc(var(--cwa-spacing)*4)}.cwa\:w-4\/12{width:33.33333%}.cwa\:w-5{width:calc(var(--cwa-spacing)*5)}.cwa\:w-6{width:calc(var(--cwa-spacing)*6)}.cwa\:w-7{width:calc(var(--cwa-spacing)*7)}.cwa\:w-8{width:calc(var(--cwa-spacing)*8)}.cwa\:w-8\/12{width:66.66667%}.cwa\:w-9{width:calc(var(--cwa-spacing)*9)}.cwa\:w-10{width:calc(var(--cwa-spacing)*10)}.cwa\:w-11{width:calc(var(--cwa-spacing)*11)}.cwa\:w-20{width:calc(var(--cwa-spacing)*20)}.cwa\:w-\[0\.3rem\]{width:.3rem}.cwa\:w-\[1\.2rem\]{width:1.2rem}.cwa\:w-\[1\.3em\]{width:1.3em}.cwa\:w-\[90vw\]{width:90vw}.cwa\:w-auto{width:auto}.cwa\:w-full{width:100%}.cwa\:w-screen{width:100vw}.cwa\:max-w-2xl{max-width:var(--cwa-container-2xl)}.cwa\:max-w-4xl{max-width:var(--cwa-container-4xl)}.cwa\:max-w-\[100px\]{max-width:100px}.cwa\:max-w-\[300px\]{max-width:300px}.cwa\:max-w-\[400px\]{max-width:400px}.cwa\:max-w-\[calc\(100\%-1\.3em\)\]{max-width:calc(100% - 1.3em)}.cwa\:max-w-full{max-width:100%}.cwa\:max-w-sm{max-width:var(--cwa-container-sm)}.cwa\:max-w-xl{max-width:var(--cwa-container-xl)}.cwa\:\!min-w-\[220px\]{min-width:220px!important}.cwa\:min-w-0{min-width:calc(var(--cwa-spacing)*0)}.cwa\:min-w-\[100px\]{min-width:100px}.cwa\:min-w-\[120px\]{min-width:120px}.cwa\:min-w-\[150px\]{min-width:150px}.cwa\:min-w-full{min-width:100%}.cwa\:flex-1{flex:1}.cwa\:shrink-0{flex-shrink:0}.cwa\:grow{flex-grow:1}.cwa\:grow-0{flex-grow:0}.cwa\:origin-center{transform-origin:center}.cwa\:origin-top-right{transform-origin:top right}.cwa\:-translate-x-1\/2{--tw-translate-x:-50%}.cwa\:-translate-x-1\/2,.cwa\:translate-x-0{translate:var(--tw-translate-x) var(--tw-translate-y)}.cwa\:translate-x-0{--tw-translate-x:calc(var(--cwa-spacing)*0)}.cwa\:translate-x-5{--tw-translate-x:calc(var(--cwa-spacing)*5)}.cwa\:-translate-y-1\/2,.cwa\:translate-x-5{translate:var(--tw-translate-x) var(--tw-translate-y)}.cwa\:-translate-y-1\/2{--tw-translate-y:-50%}.cwa\:translate-y-0{--tw-translate-y:calc(var(--cwa-spacing)*0)}.cwa\:translate-y-0,.cwa\:translate-y-0\.5{translate:var(--tw-translate-x) var(--tw-translate-y)}.cwa\:translate-y-0\.5{--tw-translate-y:calc(var(--cwa-spacing)*0.5)}.cwa\:translate-y-2{--tw-translate-y:calc(var(--cwa-spacing)*2)}.cwa\:translate-y-2,.cwa\:translate-y-4{translate:var(--tw-translate-x) var(--tw-translate-y)}.cwa\:translate-y-4{--tw-translate-y:calc(var(--cwa-spacing)*4)}.cwa\:translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.cwa\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.cwa\:scale-100,.cwa\:scale-110{scale:var(--tw-scale-x) var(--tw-scale-y)}.cwa\:scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%}.cwa\:scale-\[0\.97\]{scale:.97}.cwa\:-rotate-45{rotate:-45deg}.cwa\:-rotate-90{rotate:-90deg}.cwa\:rotate-0{rotate:0deg}.cwa\:rotate-90{rotate:90deg}.cwa\:rotate-180{rotate:180deg}.cwa\:transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cwa\:transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cwa\:animate-pulse{animation:var(--cwa-animate-pulse)}.cwa\:animate-spin-spinner{animation:var(--cwa-animate-spin-spinner)}.cwa\:cursor-pointer{cursor:pointer}.cwa\:list-none{list-style-type:none}.cwa\:flex-col{flex-direction:column}.cwa\:content-center{align-content:center}.cwa\:items-center{align-items:center}.cwa\:items-end{align-items:flex-end}.cwa\:items-start{align-items:flex-start}.cwa\:justify-between{justify-content:space-between}.cwa\:justify-center{justify-content:center}.cwa\:justify-end{justify-content:flex-end}.cwa\:justify-start{justify-content:flex-start}.cwa\:gap-x-1{-moz-column-gap:calc(var(--cwa-spacing)*1);column-gap:calc(var(--cwa-spacing)*1)}.cwa\:gap-x-1\.5{-moz-column-gap:calc(var(--cwa-spacing)*1.5);column-gap:calc(var(--cwa-spacing)*1.5)}.cwa\:gap-x-2{-moz-column-gap:calc(var(--cwa-spacing)*2);column-gap:calc(var(--cwa-spacing)*2)}.cwa\:gap-x-3{-moz-column-gap:calc(var(--cwa-spacing)*3);column-gap:calc(var(--cwa-spacing)*3)}.cwa\:gap-x-4{-moz-column-gap:calc(var(--cwa-spacing)*4);column-gap:calc(var(--cwa-spacing)*4)}.cwa\:gap-x-6{-moz-column-gap:calc(var(--cwa-spacing)*6);column-gap:calc(var(--cwa-spacing)*6)}.cwa\:gap-x-8{-moz-column-gap:calc(var(--cwa-spacing)*8);column-gap:calc(var(--cwa-spacing)*8)}:where(.cwa\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--cwa-spacing)*8*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--cwa-spacing)*8*var(--tw-space-x-reverse))}.cwa\:gap-y-0\.5{row-gap:calc(var(--cwa-spacing)*.5)}.cwa\:gap-y-1{row-gap:calc(var(--cwa-spacing)*1)}.cwa\:gap-y-2{row-gap:calc(var(--cwa-spacing)*2)}.cwa\:gap-y-2\.5{row-gap:calc(var(--cwa-spacing)*2.5)}.cwa\:gap-y-3{row-gap:calc(var(--cwa-spacing)*3)}.cwa\:gap-y-4{row-gap:calc(var(--cwa-spacing)*4)}.cwa\:gap-y-5{row-gap:calc(var(--cwa-spacing)*5)}.cwa\:gap-y-6{row-gap:calc(var(--cwa-spacing)*6)}.cwa\:gap-y-8{row-gap:calc(var(--cwa-spacing)*8)}.cwa\:self-stretch{align-self:stretch}.cwa\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cwa\:overflow-auto{overflow:auto}.cwa\:overflow-hidden{overflow:hidden}.cwa\:overflow-y-auto{overflow-y:auto}.cwa\:rounded{border-radius:.25rem}.cwa\:rounded-full{border-radius:calc(infinity*1px)}.cwa\:rounded-lg{border-radius:var(--cwa-radius-lg)}.cwa\:rounded-md{border-radius:var(--cwa-radius-md)}.cwa\:rounded-xl{border-radius:var(--cwa-radius-xl)}.cwa\:border{border-style:var(--tw-border-style);border-width:1px}.cwa\:border-0{border-style:var(--tw-border-style);border-width:0}.cwa\:border-2{border-style:var(--tw-border-style);border-width:2px}.cwa\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.cwa\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.cwa\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.cwa\:border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.cwa\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.cwa\:border-dashed{--tw-border-style:dashed;border-style:dashed}.cwa\:border-solid{--tw-border-style:solid;border-style:solid}.cwa\:border-blue-600{border-color:var(--cwa-color-blue-600)}.cwa\:border-gray-200{border-color:var(--cwa-color-gray-200)}.cwa\:border-gray-300{border-color:var(--cwa-color-gray-300)}.cwa\:border-light\/20{border-color:var(--cwa-color-light)}@supports (color:color-mix(in lab,red,red)){.cwa\:border-light\/20{border-color:color-mix(in oklab,var(--cwa-color-light) 20%,transparent)}}.cwa\:border-magenta{border-color:var(--cwa-color-magenta)}.cwa\:border-stone-400{border-color:var(--cwa-color-stone-400)}.cwa\:border-stone-600{border-color:var(--cwa-color-stone-600)}.cwa\:border-stone-700{border-color:var(--cwa-color-stone-700)}.cwa\:border-transparent{border-color:transparent}.cwa\:border-yellow{border-color:var(--cwa-color-yellow)}.cwa\:border-b-blue-600{border-bottom-color:var(--cwa-color-blue-600)}.cwa\:border-b-green{border-bottom-color:var(--cwa-color-green)}.cwa\:border-b-light\/30{border-bottom-color:var(--cwa-color-light)}@supports (color:color-mix(in lab,red,red)){.cwa\:border-b-light\/30{border-bottom-color:color-mix(in oklab,var(--cwa-color-light) 30%,transparent)}}.cwa\:border-b-orange{border-bottom-color:var(--cwa-color-orange)}.cwa\:border-b-stone-600{border-bottom-color:var(--cwa-color-stone-600)}.cwa\:border-b-stone-700{border-bottom-color:var(--cwa-color-stone-700)}.cwa\:border-b-yellow{border-bottom-color:var(--cwa-color-yellow)}.cwa\:bg-black\/5{background-color:var(--cwa-color-black)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-black\/5{background-color:color-mix(in oklab,var(--cwa-color-black) 5%,transparent)}}.cwa\:bg-black\/30{background-color:var(--cwa-color-black)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-black\/30{background-color:color-mix(in oklab,var(--cwa-color-black) 30%,transparent)}}.cwa\:bg-blue-500{background-color:var(--cwa-color-blue-500)}.cwa\:bg-blue-600,.cwa\:bg-blue-600\/20{background-color:var(--cwa-color-blue-600)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-blue-600\/20{background-color:color-mix(in oklab,var(--cwa-color-blue-600) 20%,transparent)}}.cwa\:bg-blue-600\/90{background-color:var(--cwa-color-blue-600)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-blue-600\/90{background-color:color-mix(in oklab,var(--cwa-color-blue-600) 90%,transparent)}}.cwa\:bg-dark,.cwa\:bg-dark\/40{background-color:var(--cwa-color-dark)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-dark\/40{background-color:color-mix(in oklab,var(--cwa-color-dark) 40%,transparent)}}.cwa\:bg-dark\/80{background-color:var(--cwa-color-dark)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-dark\/80{background-color:color-mix(in oklab,var(--cwa-color-dark) 80%,transparent)}}.cwa\:bg-dark\/90{background-color:var(--cwa-color-dark)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-dark\/90{background-color:color-mix(in oklab,var(--cwa-color-dark) 90%,transparent)}}.cwa\:bg-gray-200{background-color:var(--cwa-color-gray-200)}.cwa\:bg-green{background-color:var(--cwa-color-green)}.cwa\:bg-indigo-600{background-color:var(--cwa-color-indigo-600)}.cwa\:bg-light\/30{background-color:var(--cwa-color-light)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-light\/30{background-color:color-mix(in oklab,var(--cwa-color-light) 30%,transparent)}}.cwa\:bg-light\/90{background-color:var(--cwa-color-light)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-light\/90{background-color:color-mix(in oklab,var(--cwa-color-light) 90%,transparent)}}.cwa\:bg-magenta\/60{background-color:var(--cwa-color-magenta)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-magenta\/60{background-color:color-mix(in oklab,var(--cwa-color-magenta) 60%,transparent)}}.cwa\:bg-magenta\/80{background-color:var(--cwa-color-magenta)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-magenta\/80{background-color:color-mix(in oklab,var(--cwa-color-magenta) 80%,transparent)}}.cwa\:bg-neutral-600{background-color:var(--cwa-color-neutral-600)}.cwa\:bg-neutral-800{background-color:var(--cwa-color-neutral-800)}.cwa\:bg-neutral-900{background-color:var(--cwa-color-neutral-900)}.cwa\:bg-orange,.cwa\:bg-orange\/30{background-color:var(--cwa-color-orange)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-orange\/30{background-color:color-mix(in oklab,var(--cwa-color-orange) 30%,transparent)}}.cwa\:bg-red-500\/50{background-color:var(--cwa-color-red-500)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-red-500\/50{background-color:color-mix(in oklab,var(--cwa-color-red-500) 50%,transparent)}}.cwa\:bg-stone-700,.cwa\:bg-stone-700\/70{background-color:var(--cwa-color-stone-700)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-stone-700\/70{background-color:color-mix(in oklab,var(--cwa-color-stone-700) 70%,transparent)}}.cwa\:bg-stone-700\/80{background-color:var(--cwa-color-stone-700)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-stone-700\/80{background-color:color-mix(in oklab,var(--cwa-color-stone-700) 80%,transparent)}}.cwa\:bg-stone-700\/90{background-color:var(--cwa-color-stone-700)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-stone-700\/90{background-color:color-mix(in oklab,var(--cwa-color-stone-700) 90%,transparent)}}.cwa\:bg-stone-800{background-color:var(--cwa-color-stone-800)}.cwa\:bg-stone-900\/40{background-color:var(--cwa-color-stone-900)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-stone-900\/40{background-color:color-mix(in oklab,var(--cwa-color-stone-900) 40%,transparent)}}.cwa\:bg-transparent{background-color:transparent}.cwa\:bg-white,.cwa\:bg-white\/40{background-color:var(--cwa-color-white)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-white\/40{background-color:color-mix(in oklab,var(--cwa-color-white) 40%,transparent)}}.cwa\:bg-white\/70{background-color:var(--cwa-color-white)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-white\/70{background-color:color-mix(in oklab,var(--cwa-color-white) 70%,transparent)}}.cwa\:bg-yellow,.cwa\:bg-yellow\/20{background-color:var(--cwa-color-yellow)}@supports (color:color-mix(in lab,red,red)){.cwa\:bg-yellow\/20{background-color:color-mix(in oklab,var(--cwa-color-yellow) 20%,transparent)}}.cwa\:fill-blue-600{fill:var(--cwa-color-blue-600)}.cwa\:fill-current{fill:currentcolor}.cwa\:fill-none{fill:none}.cwa\:fill-orange{fill:var(--cwa-color-orange)}.cwa\:stroke-gray-300{stroke:var(--cwa-color-gray-300)}.cwa\:stroke-green{stroke:var(--cwa-color-green)}.cwa\:stroke-orange{stroke:var(--cwa-color-orange)}.cwa\:stroke-stone-400{stroke:var(--cwa-color-stone-400)}.cwa\:stroke-white{stroke:var(--cwa-color-white)}.cwa\:stroke-\[5px\]{stroke-width:5px}.cwa\:p-2{padding:calc(var(--cwa-spacing)*2)}.cwa\:p-2\.5{padding:calc(var(--cwa-spacing)*2.5)}.cwa\:p-3{padding:calc(var(--cwa-spacing)*3)}.cwa\:p-4{padding:calc(var(--cwa-spacing)*4)}.cwa\:p-5{padding:calc(var(--cwa-spacing)*5)}.cwa\:p-6{padding:calc(var(--cwa-spacing)*6)}.cwa\:px-1{padding-inline:calc(var(--cwa-spacing)*1)}.cwa\:px-1\.5{padding-inline:calc(var(--cwa-spacing)*1.5)}.cwa\:px-2{padding-inline:calc(var(--cwa-spacing)*2)}.cwa\:px-3{padding-inline:calc(var(--cwa-spacing)*3)}.cwa\:px-3\.5{padding-inline:calc(var(--cwa-spacing)*3.5)}.cwa\:px-4{padding-inline:calc(var(--cwa-spacing)*4)}.cwa\:px-5{padding-inline:calc(var(--cwa-spacing)*5)}.cwa\:px-6{padding-inline:calc(var(--cwa-spacing)*6)}.cwa\:px-8{padding-inline:calc(var(--cwa-spacing)*8)}.cwa\:px-12{padding-inline:calc(var(--cwa-spacing)*12)}.cwa\:py-0\.5{padding-block:calc(var(--cwa-spacing)*.5)}.cwa\:py-1{padding-block:calc(var(--cwa-spacing)*1)}.cwa\:py-1\.5{padding-block:calc(var(--cwa-spacing)*1.5)}.cwa\:py-2{padding-block:calc(var(--cwa-spacing)*2)}.cwa\:py-2\.5{padding-block:calc(var(--cwa-spacing)*2.5)}.cwa\:py-3{padding-block:calc(var(--cwa-spacing)*3)}.cwa\:py-4{padding-block:calc(var(--cwa-spacing)*4)}.cwa\:py-5{padding-block:calc(var(--cwa-spacing)*5)}.cwa\:py-6{padding-block:calc(var(--cwa-spacing)*6)}.cwa\:py-8{padding-block:calc(var(--cwa-spacing)*8)}.cwa\:py-10{padding-block:calc(var(--cwa-spacing)*10)}.cwa\:py-12{padding-block:calc(var(--cwa-spacing)*12)}.cwa\:pt-0\.5{padding-top:calc(var(--cwa-spacing)*.5)}.cwa\:pt-2{padding-top:calc(var(--cwa-spacing)*2)}.cwa\:pt-3{padding-top:calc(var(--cwa-spacing)*3)}.cwa\:pt-4{padding-top:calc(var(--cwa-spacing)*4)}.cwa\:pt-5{padding-top:calc(var(--cwa-spacing)*5)}.cwa\:pt-6{padding-top:calc(var(--cwa-spacing)*6)}.cwa\:pt-12{padding-top:calc(var(--cwa-spacing)*12)}.cwa\:pt-20{padding-top:calc(var(--cwa-spacing)*20)}.cwa\:pr-3{padding-right:calc(var(--cwa-spacing)*3)}.cwa\:pr-8{padding-right:calc(var(--cwa-spacing)*8)}.cwa\:pb-0{padding-bottom:calc(var(--cwa-spacing)*0)}.cwa\:pb-1{padding-bottom:calc(var(--cwa-spacing)*1)}.cwa\:pb-2{padding-bottom:calc(var(--cwa-spacing)*2)}.cwa\:pb-4{padding-bottom:calc(var(--cwa-spacing)*4)}.cwa\:pb-8{padding-bottom:calc(var(--cwa-spacing)*8)}.cwa\:pb-10{padding-bottom:calc(var(--cwa-spacing)*10)}.cwa\:pb-12{padding-bottom:calc(var(--cwa-spacing)*12)}.cwa\:pl-3{padding-left:calc(var(--cwa-spacing)*3)}.cwa\:text-center{text-align:center}.cwa\:text-left{text-align:left}.cwa\:text-2xl{font-size:var(--cwa-text-2xl);line-height:var(--tw-leading,var(--cwa-text-2xl--line-height))}.cwa\:text-4xl{font-size:var(--cwa-text-4xl);line-height:var(--tw-leading,var(--cwa-text-4xl--line-height))}.cwa\:text-base{font-size:var(--cwa-text-base);line-height:var(--tw-leading,var(--cwa-text-base--line-height))}.cwa\:text-lg{font-size:var(--cwa-text-lg);line-height:var(--tw-leading,var(--cwa-text-lg--line-height))}.cwa\:text-sm{font-size:var(--cwa-text-sm);line-height:var(--tw-leading,var(--cwa-text-sm--line-height))}.cwa\:text-xl{font-size:var(--cwa-text-xl);line-height:var(--tw-leading,var(--cwa-text-xl--line-height))}.cwa\:text-xs{font-size:var(--cwa-text-xs);line-height:var(--tw-leading,var(--cwa-text-xs--line-height))}.cwa\:leading-6{--tw-leading:calc(var(--cwa-spacing)*6);line-height:calc(var(--cwa-spacing)*6)}.cwa\:leading-tight{--tw-leading:var(--cwa-leading-tight);line-height:var(--cwa-leading-tight)}.cwa\:font-bold{--tw-font-weight:var(--cwa-font-weight-bold);font-weight:var(--cwa-font-weight-bold)}.cwa\:font-light{--tw-font-weight:var(--cwa-font-weight-light);font-weight:var(--cwa-font-weight-light)}.cwa\:font-medium{--tw-font-weight:var(--cwa-font-weight-medium);font-weight:var(--cwa-font-weight-medium)}.cwa\:font-normal{--tw-font-weight:var(--cwa-font-weight-normal);font-weight:var(--cwa-font-weight-normal)}.cwa\:font-semibold{--tw-font-weight:var(--cwa-font-weight-semibold);font-weight:var(--cwa-font-weight-semibold)}.cwa\:tracking-tight{--tw-tracking:var(--cwa-tracking-tight);letter-spacing:var(--cwa-tracking-tight)}.cwa\:text-balance{text-wrap:balance}.cwa\:text-pretty{text-wrap:pretty}.cwa\:text-blue-600{color:var(--cwa-color-blue-600)}.cwa\:text-dark{color:var(--cwa-color-dark)}.cwa\:text-gray-300{color:var(--cwa-color-gray-300)}.cwa\:text-gray-500{color:var(--cwa-color-gray-500)}.cwa\:text-gray-900{color:var(--cwa-color-gray-900)}.cwa\:text-light,.cwa\:text-light\/20{color:var(--cwa-color-light)}@supports (color:color-mix(in lab,red,red)){.cwa\:text-light\/20{color:color-mix(in oklab,var(--cwa-color-light) 20%,transparent)}}.cwa\:text-light\/70{color:var(--cwa-color-light)}@supports (color:color-mix(in lab,red,red)){.cwa\:text-light\/70{color:color-mix(in oklab,var(--cwa-color-light) 70%,transparent)}}.cwa\:text-medium{color:var(--cwa-color-medium)}.cwa\:text-neutral-300{color:var(--cwa-color-neutral-300)}.cwa\:text-neutral-400{color:var(--cwa-color-neutral-400)}.cwa\:text-neutral-900{color:var(--cwa-color-neutral-900)}.cwa\:text-stone-100{color:var(--cwa-color-stone-100)}.cwa\:text-stone-300{color:var(--cwa-color-stone-300)}.cwa\:text-stone-400{color:var(--cwa-color-stone-400)}.cwa\:text-stone-600{color:var(--cwa-color-stone-600)}.cwa\:text-white,.cwa\:text-white\/50{color:var(--cwa-color-white)}@supports (color:color-mix(in lab,red,red)){.cwa\:text-white\/50{color:color-mix(in oklab,var(--cwa-color-white) 50%,transparent)}}.cwa\:text-white\/70{color:var(--cwa-color-white)}@supports (color:color-mix(in lab,red,red)){.cwa\:text-white\/70{color:color-mix(in oklab,var(--cwa-color-white) 70%,transparent)}}.cwa\:placeholder-light\/20::-moz-placeholder{color:var(--cwa-color-light)}.cwa\:placeholder-light\/20::placeholder{color:var(--cwa-color-light)}@supports (color:color-mix(in lab,red,red)){.cwa\:placeholder-light\/20::-moz-placeholder{color:color-mix(in oklab,var(--cwa-color-light) 20%,transparent)}.cwa\:placeholder-light\/20::placeholder{color:color-mix(in oklab,var(--cwa-color-light) 20%,transparent)}}.cwa\:opacity-0{opacity:0}.cwa\:opacity-30{opacity:30%}.cwa\:opacity-50{opacity:50%}.cwa\:opacity-60{opacity:60%}.cwa\:opacity-70{opacity:70%}.cwa\:opacity-75{opacity:75%}.cwa\:opacity-80{opacity:80%}.cwa\:opacity-100{opacity:100%}.cwa\:opacity-\[\.35\]{opacity:.35}.cwa\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1))}.cwa\:shadow,.cwa\:shadow-\[inset_-20px_0_10px_-10px\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.cwa\:shadow-\[inset_-20px_0_10px_-10px\]{--tw-shadow:inset -20px 0 10px -10px var(--tw-shadow-color,currentcolor)}.cwa\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,rgba(0,0,0,.1)),0 4px 6px -4px var(--tw-shadow-color,rgba(0,0,0,.1))}.cwa\:shadow-lg,.cwa\:shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.cwa\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1))}.cwa\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,rgba(0,0,0,.1)),0 8px 10px -6px var(--tw-shadow-color,rgba(0,0,0,.1))}.cwa\:ring-0,.cwa\:shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.cwa\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.cwa\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.cwa\:ring-1,.cwa\:ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.cwa\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.cwa\:shadow-orange\/30{--tw-shadow-color:var(--cwa-color-orange)}@supports (color:color-mix(in lab,red,red)){.cwa\:shadow-orange\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--cwa-color-orange) 30%,transparent) var(--tw-shadow-alpha),transparent)}}.cwa\:ring-magenta{--tw-ring-color:var(--cwa-color-magenta)}.cwa\:ring-neutral-300{--tw-ring-color:var(--cwa-color-neutral-300)}.cwa\:outline{outline-width:1px}.cwa\:outline,.cwa\:outline-0{outline-style:var(--tw-outline-style)}.cwa\:outline-0{outline-width:0}.cwa\:outline-1{outline-width:1px}.cwa\:outline-1,.cwa\:outline-2{outline-style:var(--tw-outline-style)}.cwa\:outline-2{outline-width:2px}.cwa\:outline-offset-2{outline-offset:2px}.cwa\:outline-offset-4{outline-offset:4px}.cwa\:outline-blue-600{outline-color:var(--cwa-color-blue-600)}.cwa\:outline-green{outline-color:var(--cwa-color-green)}.cwa\:outline-magenta{outline-color:var(--cwa-color-magenta)}.cwa\:outline-orange{outline-color:var(--cwa-color-orange)}.cwa\:outline-red-500\/50{outline-color:var(--cwa-color-red-500)}@supports (color:color-mix(in lab,red,red)){.cwa\:outline-red-500\/50{outline-color:color-mix(in oklab,var(--cwa-color-red-500) 50%,transparent)}}.cwa\:outline-stone-400{outline-color:var(--cwa-color-stone-400)}.cwa\:outline-stone-700{outline-color:var(--cwa-color-stone-700)}.cwa\:outline-yellow{outline-color:var(--cwa-color-yellow)}.cwa\:invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.cwa\:backdrop-blur-\[1\.5px\]{--tw-backdrop-blur:blur(1.5px)}.cwa\:backdrop-blur-\[1\.5px\],.cwa\:backdrop-blur-lg{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.cwa\:backdrop-blur-lg{--tw-backdrop-blur:blur(var(--cwa-blur-lg))}.cwa\:backdrop-blur-sm{--tw-backdrop-blur:blur(var(--cwa-blur-sm))}.cwa\:backdrop-blur-sm,.cwa\:backdrop-blur-xs{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.cwa\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--cwa-backdrop-blur-xs))}.cwa\:transition{transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:transition-\[stroke\]{transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:stroke;transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:transition-all{transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:transition-colors{transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:transition-opacity{transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:transition-opacity-transform{transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:var(--cwa-transition-property-opacity-transform);transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:transition-transform{transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:delay-200{transition-delay:.2s}.cwa\:duration-0{--tw-duration:0ms;transition-duration:0s}.cwa\:duration-100{--tw-duration:100ms;transition-duration:.1s}.cwa\:duration-200{--tw-duration:200ms;transition-duration:.2s}.cwa\:duration-300{--tw-duration:300ms;transition-duration:.3s}.cwa\:ease-in{--tw-ease:var(--cwa-ease-in);transition-timing-function:var(--cwa-ease-in)}.cwa\:ease-in-out{--tw-ease:var(--cwa-ease-in-out);transition-timing-function:var(--cwa-ease-in-out)}.cwa\:ease-out{--tw-ease:var(--cwa-ease-out);transition-timing-function:var(--cwa-ease-out)}.cwa\:outline-dotted{--tw-outline-style:dotted;outline-style:dotted}.cwa\:select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cwa\:\[stroke-linecap\:round\]{stroke-linecap:round}.cwa\:ring-inset{--tw-ring-inset:inset}.cwa\:not-last\:border-b:not(:last-child){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.cwa\:peer-checked\/checkbox\:opacity-100:is(:where(.cwa\:peer\/checkbox):checked~*){opacity:100%}.cwa\:peer-focus\:text-white:is(:where(.cwa\:peer):focus~*){color:var(--cwa-color-white)}.cwa\:placeholder\:text-neutral-400::-moz-placeholder{color:var(--cwa-color-neutral-400)}.cwa\:placeholder\:text-neutral-400::placeholder{color:var(--cwa-color-neutral-400)}.cwa\:before\:absolute:before{content:var(--tw-content);position:absolute}.cwa\:before\:top-0:before{content:var(--tw-content);top:calc(var(--cwa-spacing)*0)}.cwa\:before\:top-1\/2:before{content:var(--tw-content);top:50%}.cwa\:before\:right-full:before{content:var(--tw-content);right:100%}.cwa\:before\:left-0:before{content:var(--tw-content);left:calc(var(--cwa-spacing)*0)}.cwa\:before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--cwa-spacing)*.5)}.cwa\:before\:w-3:before{content:var(--tw-content);width:calc(var(--cwa-spacing)*3)}.cwa\:before\:w-full:before{content:var(--tw-content);width:100%}.cwa\:before\:border-b:before{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;content:var(--tw-content)}.cwa\:before\:border-stone-400:before{border-color:var(--cwa-color-stone-400);content:var(--tw-content)}.cwa\:before\:bg-blue-600:before{background-color:var(--cwa-color-blue-600);content:var(--tw-content)}.cwa\:before\:bg-green:before{background-color:var(--cwa-color-green);content:var(--tw-content)}.cwa\:before\:bg-orange:before{background-color:var(--cwa-color-orange);content:var(--tw-content)}.cwa\:before\:bg-stone-400:before{background-color:var(--cwa-color-stone-400);content:var(--tw-content)}.cwa\:before\:bg-yellow:before{background-color:var(--cwa-color-yellow);content:var(--tw-content)}.cwa\:before\:transition-colors:before{content:var(--tw-content);transition-duration:var(--tw-duration,var(--cwa-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--cwa-default-transition-timing-function))}.cwa\:before\:content-\[\"\"\]:before{--tw-content:"";content:var(--tw-content)}.cwa\:last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.cwa\:focus-within\:border-stone-600:focus-within{border-color:var(--cwa-color-stone-600)}.cwa\:focus-within\:bg-dark:focus-within{background-color:var(--cwa-color-dark)}@media (hover:hover){.cwa\:hover\:border-magenta:hover{border-color:var(--cwa-color-magenta)}.cwa\:hover\:border-white:hover{border-color:var(--cwa-color-white)}.cwa\:hover\:bg-blue-600:hover{background-color:var(--cwa-color-blue-600)}.cwa\:hover\:bg-dark:hover{background-color:var(--cwa-color-dark)}.cwa\:hover\:bg-indigo-500:hover{background-color:var(--cwa-color-indigo-500)}.cwa\:hover\:bg-light:hover{background-color:var(--cwa-color-light)}.cwa\:hover\:bg-magenta:hover{background-color:var(--cwa-color-magenta)}.cwa\:hover\:bg-neutral-500:hover{background-color:var(--cwa-color-neutral-500)}.cwa\:hover\:bg-stone-700:hover{background-color:var(--cwa-color-stone-700)}.cwa\:hover\:bg-stone-800:hover{background-color:var(--cwa-color-stone-800)}.cwa\:hover\:text-dark:hover{color:var(--cwa-color-dark)}.cwa\:hover\:text-light:hover{color:var(--cwa-color-light)}.cwa\:hover\:text-neutral-200:hover{color:var(--cwa-color-neutral-200)}.cwa\:hover\:text-stone-300:hover{color:var(--cwa-color-stone-300)}.cwa\:hover\:text-white:hover{color:var(--cwa-color-white)}.cwa\:hover\:opacity-80:hover{opacity:80%}.cwa\:hover\:opacity-100:hover{opacity:100%}.cwa\:hover\:outline-stone-400:hover{outline-color:var(--cwa-color-stone-400)}}.cwa\:focus\:bg-stone-700:focus{background-color:var(--cwa-color-stone-700)}.cwa\:focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.cwa\:focus\:ring-0:focus,.cwa\:focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.cwa\:focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.cwa\:focus\:ring-neutral-600:focus{--tw-ring-color:var(--cwa-color-neutral-600)}.cwa\:focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.cwa\:focus\:outline-hidden:focus{outline:2px solid transparent;outline-offset:2px}}.cwa\:focus\:ring-inset:focus{--tw-ring-inset:inset}.cwa\:focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.cwa\:focus-visible\:ring-stone-600:focus-visible{--tw-ring-color:var(--cwa-color-stone-600)}.cwa\:focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.cwa\:focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.cwa\:focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.cwa\:focus-visible\:outline-indigo-600:focus-visible{outline-color:var(--cwa-color-indigo-600)}.cwa\:focus-visible\:outline-neutral-600:focus-visible{outline-color:var(--cwa-color-neutral-600)}.cwa\:disabled\:pointer-events-none:disabled{pointer-events:none}.cwa\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.cwa\:disabled\:opacity-50:disabled{opacity:50%}.cwa\:disabled\:opacity-70:disabled{opacity:70%}.cwa\:disabled\:saturate-\[\.4\]:disabled{--tw-saturate:saturate(.4);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.cwa\:disabled\:select-none:disabled{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cwa\:aria-selected\:bg-stone-700[aria-selected=true]{background-color:var(--cwa-color-stone-700)}.cwa\:aria-selected\:text-white[aria-selected=true]{color:var(--cwa-color-white)}@media (width >= 40rem){.cwa\:sm\:mx-auto{margin-inline:auto}.cwa\:sm\:my-8{margin-block:calc(var(--cwa-spacing)*8)}.cwa\:sm\:flex{display:flex}.cwa\:sm\:w-full{width:100%}.cwa\:sm\:max-w-3xl{max-width:var(--cwa-container-3xl)}.cwa\:sm\:max-w-md{max-width:var(--cwa-container-md)}.cwa\:sm\:translate-x-0{--tw-translate-x:calc(var(--cwa-spacing)*0)}.cwa\:sm\:translate-x-0,.cwa\:sm\:translate-x-2{translate:var(--tw-translate-x) var(--tw-translate-y)}.cwa\:sm\:translate-x-2{--tw-translate-x:calc(var(--cwa-spacing)*2)}.cwa\:sm\:translate-y-0{--tw-translate-y:calc(var(--cwa-spacing)*0);translate:var(--tw-translate-x) var(--tw-translate-y)}.cwa\:sm\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%}.cwa\:sm\:scale-100,.cwa\:sm\:scale-95{scale:var(--tw-scale-x) var(--tw-scale-y)}.cwa\:sm\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.cwa\:sm\:flex-row-reverse{flex-direction:row-reverse}.cwa\:sm\:items-center{align-items:center}.cwa\:sm\:items-end{align-items:flex-end}.cwa\:sm\:items-start{align-items:flex-start}.cwa\:sm\:gap-x-6{-moz-column-gap:calc(var(--cwa-spacing)*6);column-gap:calc(var(--cwa-spacing)*6)}.cwa\:sm\:gap-y-0{row-gap:calc(var(--cwa-spacing)*0)}.cwa\:sm\:px-4{padding-inline:calc(var(--cwa-spacing)*4)}.cwa\:sm\:px-6{padding-inline:calc(var(--cwa-spacing)*6)}.cwa\:sm\:px-10{padding-inline:calc(var(--cwa-spacing)*10)}.cwa\:sm\:text-4xl{font-size:var(--cwa-text-4xl);line-height:var(--tw-leading,var(--cwa-text-4xl--line-height))}.cwa\:sm\:text-6xl{font-size:var(--cwa-text-6xl);line-height:var(--tw-leading,var(--cwa-text-6xl--line-height))}.cwa\:sm\:text-sm{font-size:var(--cwa-text-sm);line-height:var(--tw-leading,var(--cwa-text-sm--line-height))}.cwa\:sm\:leading-6{--tw-leading:calc(var(--cwa-spacing)*6);line-height:calc(var(--cwa-spacing)*6)}}@media (width >= 48rem){.cwa\:md\:px-4{padding-inline:calc(var(--cwa-spacing)*4)}}@media (width >= 64rem){.cwa\:lg\:p-8{padding:calc(var(--cwa-spacing)*8)}.cwa\:lg\:px-8{padding-inline:calc(var(--cwa-spacing)*8)}}@media (prefers-color-scheme:dark){.cwa\:dark\:bg-black{background-color:var(--cwa-color-black)}.cwa\:dark\:bg-dark\/40{background-color:var(--cwa-color-dark)}}@media (prefers-color-scheme:dark){@supports (color:color-mix(in lab,red,red)){.cwa\:dark\:bg-dark\/40{background-color:color-mix(in oklab,var(--cwa-color-dark) 40%,transparent)}}}@media (prefers-color-scheme:dark){.cwa\:dark\:bg-dark\/70{background-color:var(--cwa-color-dark)}@supports (color:color-mix(in lab,red,red)){.cwa\:dark\:bg-dark\/70{background-color:color-mix(in oklab,var(--cwa-color-dark) 70%,transparent)}}}@media (prefers-color-scheme:dark){.cwa\:dark\:bg-white\/10{background-color:var(--cwa-color-white)}@supports (color:color-mix(in lab,red,red)){.cwa\:dark\:bg-white\/10{background-color:color-mix(in oklab,var(--cwa-color-white) 10%,transparent)}}}@media (prefers-color-scheme:dark){.cwa\:dark\:text-light{color:var(--cwa-color-light)}.cwa\:dark\:text-stone-100{color:var(--cwa-color-stone-100)}.cwa\:dark\:invert-0{--tw-invert:invert(0%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@media (prefers-color-scheme:dark){@media (hover:hover){.cwa\:dark\:hover\:text-white:hover{color:var(--cwa-color-white)}}}@layer components{.cwa\:dark{color:var(--cwa-color-light)}.cwa\:dark,.cwa\:dark-blur{background-color:var(--cwa-color-dark)}@supports (color:color-mix(in lab,red,red)){.cwa\:dark-blur{background-color:color-mix(in oklab,var(--cwa-color-dark) 85%,transparent)}}.cwa\:dark-blur{color:var(--cwa-color-light);--tw-backdrop-blur:blur(var(--cwa-blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.cwa\:section{padding:calc(var(--cwa-spacing)*4)}.cwa\:is-reordering{position:relative;z-index:100}.cwa\:is-reordering:before{border-radius:var(--cwa-radius-sm);bottom:calc(var(--cwa-spacing)*0);left:calc(var(--cwa-spacing)*0);outline-color:var(--cwa-color-magenta);outline-offset:7px;outline-style:var(--tw-outline-style);outline-width:2px;right:calc(var(--cwa-spacing)*0);top:calc(var(--cwa-spacing)*0);--tw-content:"";--tw-outline-style:dashed;outline-style:dashed}.cwa\:is-reordering:after,.cwa\:is-reordering:before{content:var(--tw-content);position:absolute;z-index:var(--cwa-z-index-dialog)}.cwa\:is-reordering:after{background-color:var(--cwa-color-magenta);border-radius:calc(infinity*1px);color:var(--cwa-color-white);font-size:var(--cwa-text-sm);line-height:var(--tw-leading,var(--cwa-text-sm--line-height));min-width:25px;padding:calc(var(--cwa-spacing)*1);right:calc(var(--cwa-spacing)*-4);text-align:center;top:calc(var(--cwa-spacing)*-4);--tw-content:attr(data-sort-value)}}@layer base{[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:oklch(55.1% .027 264.364);border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input::-moz-placeholder,textarea::-moz-placeholder{color:oklch(55.1% .027 264.364);opacity:1}input::placeholder,textarea::placeholder{color:oklch(55.1% .027 264.364);opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:oklch(55.1% .027 264.364);border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";initial-value:"";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}
@@ -0,0 +1,18 @@
1
+ <template>
2
+ <div class="cwa:flex cwa:justify-center cwa:border cwa:border-dashed cwa:border-gray-300 cwa:p-5 cwa:text-medium">
3
+ <ComponentIcon />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup>
8
+ import { onMounted } from "vue";
9
+ import ComponentIcon from "./assets/IconComponents.vue";
10
+ import { useCwa } from "#imports";
11
+ const props = defineProps({
12
+ iri: { type: String, required: true }
13
+ });
14
+ const $cwa = useCwa();
15
+ onMounted(() => {
16
+ $cwa.admin.eventBus.emit("componentMounted", props.iri + "_placeholder");
17
+ });
18
+ </script>
@@ -0,0 +1,3 @@
1
+ import type { IriProp } from '#cwa/runtime/composables/cwa-resource';
2
+ declare const _default: import("vue").DefineComponent<IriProp, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IriProp> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
3
+ export default _default;
@@ -0,0 +1,16 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`ComponentPosition > snapshots > should match snapshot with ResourceLoader component with componentIri 1`] = `
4
+ <div
5
+ data-v-app=""
6
+ >
7
+
8
+ <!--cwa-start-->
9
+ <resourceloader-stub
10
+ componentprefix="CwaComponent"
11
+ iri="test"
12
+ />
13
+ <!--cwa-end-->
14
+
15
+ </div>
16
+ `;
@@ -0,0 +1,63 @@
1
+ <template>
2
+ <!--cwa-start-->
3
+ <ResourceLoader
4
+ v-if="componentIri"
5
+ ref="resourceLoaderRef"
6
+ :iri="componentIri"
7
+ component-prefix="CwaComponent"
8
+ />
9
+ <ComponentPlaceholder
10
+ v-else-if="$cwa.admin.isEditing"
11
+ :iri="iri"
12
+ />
13
+ <!--cwa-end-->
14
+ </template>
15
+
16
+ <script setup>
17
+ import { computed, ref, toRef, useTemplateRef, watchEffect } from "vue";
18
+ import ResourceLoader from "./ResourceLoader.vue";
19
+ import ComponentPlaceholder from "./ComponentPlaceholder.vue";
20
+ import { useCwa, useCwaResource, useCwaResourceManageable } from "#imports";
21
+ import { NEW_RESOURCE_IRI } from "#cwa/runtime/storage/stores/resources/state";
22
+ const $cwa = useCwa();
23
+ const props = defineProps({
24
+ iri: { type: String, required: true }
25
+ });
26
+ const resourceLoaderRef = useTemplateRef("resourceLoaderRef");
27
+ const resourceManagerOps = ref({});
28
+ const iriRef = toRef(props, "iri");
29
+ const resource = useCwaResource(iriRef).getResource();
30
+ useCwaResourceManageable(iriRef);
31
+ const addingEvent = computed(() => {
32
+ return $cwa.resourcesManager.addResourceEvent.value;
33
+ });
34
+ const componentIri = computed(() => {
35
+ const newResource = $cwa.resources.getResource(NEW_RESOURCE_IRI);
36
+ if (addingEvent.value?.targetIri === props.iri && addingEvent.value?.addAfter === null && newResource.value) {
37
+ return NEW_RESOURCE_IRI;
38
+ }
39
+ const iri = resource.value?.data?.component;
40
+ if (iri === NEW_RESOURCE_IRI) {
41
+ return iri;
42
+ }
43
+ const publishedIri = $cwa.resources.findPublishedComponentIri(iri).value;
44
+ if ($cwa.admin.isEditing) {
45
+ const selectedEditingIri = $cwa.admin.resourceStackManager.currentIri.value;
46
+ const draftIri = $cwa.resources.findDraftComponentIri(iri).value;
47
+ if (selectedEditingIri && [draftIri, publishedIri].includes(selectedEditingIri)) {
48
+ return selectedEditingIri;
49
+ }
50
+ return draftIri || iri;
51
+ }
52
+ return publishedIri;
53
+ });
54
+ watchEffect(() => {
55
+ const component = resourceLoaderRef.value?.resourceComponent;
56
+ if (!component) {
57
+ return;
58
+ }
59
+ resourceManagerOps.value.styles = component.cwaResource?.styles;
60
+ resourceManagerOps.value.disabled = !!component.disableManager;
61
+ });
62
+ useCwaResourceManageable(componentIri, resourceManagerOps);
63
+ </script>
@@ -0,0 +1,3 @@
1
+ import type { IriProp } from '#cwa/runtime/composables/cwa-resource';
2
+ declare const _default: import("vue").DefineComponent<IriProp, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IriProp> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
3
+ export default _default;