@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.
- package/README.md +38 -0
- package/README.template.md +32 -0
- package/dist/layer/error.vue +13 -0
- package/dist/layer/layouts/CwaRootLayout.vue +140 -0
- package/dist/layer/nuxt.config.spec.ts +10 -0
- package/dist/layer/nuxt.config.ts +3 -0
- package/dist/layer/pages/_cwa/composables/useDataList.ts +50 -0
- package/dist/layer/pages/_cwa/composables/useDataType.ts +30 -0
- package/dist/layer/pages/_cwa/composables/useDynamicPageLoader.ts +28 -0
- package/dist/layer/pages/_cwa/composables/useItemPage.ts +172 -0
- package/dist/layer/pages/_cwa/composables/useListPage.ts +43 -0
- package/dist/layer/pages/_cwa/data/[type]/[iri].vue +17 -0
- package/dist/layer/pages/_cwa/data/[type].vue +131 -0
- package/dist/layer/pages/_cwa/data/index.vue +84 -0
- package/dist/layer/pages/_cwa/layouts/[iri].vue +174 -0
- package/dist/layer/pages/_cwa/layouts.vue +77 -0
- package/dist/layer/pages/_cwa/pages/[iri].vue +11 -0
- package/dist/layer/pages/_cwa/pages.vue +129 -0
- package/dist/layer/pages/_cwa/routes.vue +72 -0
- package/dist/layer/pages/_cwa/users/[iri].vue +248 -0
- package/dist/layer/pages/_cwa/users.vue +86 -0
- package/dist/layer/pages/_cwa.vue +43 -0
- package/dist/layer/pages/forgot-password.vue +32 -0
- package/dist/layer/pages/login.vue +33 -0
- package/dist/layer/pages/reset-password/[username]/[token].vue +39 -0
- package/dist/module.d.mts +53 -0
- package/dist/module.json +13 -0
- package/dist/module.mjs +235 -0
- package/dist/runtime/admin/admin.d.ts +36 -0
- package/dist/runtime/admin/admin.js +65 -0
- package/dist/runtime/admin/manageable-resource.d.ts +41 -0
- package/dist/runtime/admin/manageable-resource.js +206 -0
- package/dist/runtime/admin/manager-tabs-resolver.d.ts +17 -0
- package/dist/runtime/admin/manager-tabs-resolver.js +51 -0
- package/dist/runtime/admin/navigation-guard.d.ts +18 -0
- package/dist/runtime/admin/navigation-guard.js +55 -0
- package/dist/runtime/admin/resource-stack-manager.d.ts +92 -0
- package/dist/runtime/admin/resource-stack-manager.js +355 -0
- package/dist/runtime/api/api-documentation.d.ts +28 -0
- package/dist/runtime/api/api-documentation.js +131 -0
- package/dist/runtime/api/auth.d.ts +85 -0
- package/dist/runtime/api/auth.js +183 -0
- package/dist/runtime/api/fetcher/cwa-fetch.d.ts +5 -0
- package/dist/runtime/api/fetcher/cwa-fetch.js +20 -0
- package/dist/runtime/api/fetcher/fetch-status-manager.d.ts +51 -0
- package/dist/runtime/api/fetcher/fetch-status-manager.js +185 -0
- package/dist/runtime/api/fetcher/fetcher.d.ts +57 -0
- package/dist/runtime/api/fetcher/fetcher.js +222 -0
- package/dist/runtime/api/fetcher/preload-headers.d.ts +6 -0
- package/dist/runtime/api/fetcher/preload-headers.js +31 -0
- package/dist/runtime/api/forms.d.ts +40 -0
- package/dist/runtime/api/forms.js +40 -0
- package/dist/runtime/api/mercure.d.ts +33 -0
- package/dist/runtime/api/mercure.js +191 -0
- package/dist/runtime/composables/component/html-content.d.ts +2 -0
- package/dist/runtime/composables/component/html-content.js +82 -0
- package/dist/runtime/composables/cwa-collection-pagination.d.ts +13 -0
- package/dist/runtime/composables/cwa-collection-pagination.js +34 -0
- package/dist/runtime/composables/cwa-collection-resource.d.ts +16 -0
- package/dist/runtime/composables/cwa-collection-resource.js +92 -0
- package/dist/runtime/composables/cwa-image.d.ts +19 -0
- package/dist/runtime/composables/cwa-image.js +43 -0
- package/dist/runtime/composables/cwa-query-bound-model.d.ts +9 -0
- package/dist/runtime/composables/cwa-query-bound-model.js +108 -0
- package/dist/runtime/composables/cwa-resource-endpoint.d.ts +5 -0
- package/dist/runtime/composables/cwa-resource-endpoint.js +36 -0
- package/dist/runtime/composables/cwa-resource-manageable.d.ts +10 -0
- package/dist/runtime/composables/cwa-resource-manageable.js +32 -0
- package/dist/runtime/composables/cwa-resource-manager-tab.d.ts +17 -0
- package/dist/runtime/composables/cwa-resource-manager-tab.js +30 -0
- package/dist/runtime/composables/cwa-resource-model.d.ts +21 -0
- package/dist/runtime/composables/cwa-resource-model.js +149 -0
- package/dist/runtime/composables/cwa-resource-upload.d.ts +8 -0
- package/dist/runtime/composables/cwa-resource-upload.js +70 -0
- package/dist/runtime/composables/cwa-resource.d.ts +24 -0
- package/dist/runtime/composables/cwa-resource.js +22 -0
- package/dist/runtime/composables/cwa-select-input.d.ts +21 -0
- package/dist/runtime/composables/cwa-select-input.js +37 -0
- package/dist/runtime/composables/cwa-select.d.ts +15 -0
- package/dist/runtime/composables/cwa-select.js +24 -0
- package/dist/runtime/composables/cwa.d.ts +2 -0
- package/dist/runtime/composables/cwa.js +2 -0
- package/dist/runtime/composables/forgot-password.d.ts +9 -0
- package/dist/runtime/composables/forgot-password.js +45 -0
- package/dist/runtime/composables/login.d.ts +9 -0
- package/dist/runtime/composables/login.js +30 -0
- package/dist/runtime/composables/popper.d.ts +529 -0
- package/dist/runtime/composables/popper.js +104 -0
- package/dist/runtime/composables/process.d.ts +4 -0
- package/dist/runtime/composables/process.js +6 -0
- package/dist/runtime/composables/reset-password.d.ts +14 -0
- package/dist/runtime/composables/reset-password.js +75 -0
- package/dist/runtime/composables/transitions.d.ts +12 -0
- package/dist/runtime/composables/transitions.js +12 -0
- package/dist/runtime/cwa.d.ts +61 -0
- package/dist/runtime/cwa.js +123 -0
- package/dist/runtime/errors/cwa-resource-error.d.ts +18 -0
- package/dist/runtime/errors/cwa-resource-error.js +54 -0
- package/dist/runtime/plugin.d.ts +7 -0
- package/dist/runtime/plugin.js +18 -0
- package/dist/runtime/resources/resource-utils.d.ts +44 -0
- package/dist/runtime/resources/resource-utils.js +73 -0
- package/dist/runtime/resources/resources-manager.d.ts +70 -0
- package/dist/runtime/resources/resources-manager.js +463 -0
- package/dist/runtime/resources/resources.d.ts +53 -0
- package/dist/runtime/resources/resources.js +300 -0
- package/dist/runtime/route-middleware.d.ts +2 -0
- package/dist/runtime/route-middleware.js +86 -0
- package/dist/runtime/storage/storage.d.ts +20 -0
- package/dist/runtime/storage/storage.js +25 -0
- package/dist/runtime/storage/stores/admin/actions.d.ts +5 -0
- package/dist/runtime/storage/stores/admin/actions.js +10 -0
- package/dist/runtime/storage/stores/admin/admin-store.d.ts +18 -0
- package/dist/runtime/storage/stores/admin/admin-store.js +20 -0
- package/dist/runtime/storage/stores/admin/state.d.ts +7 -0
- package/dist/runtime/storage/stores/admin/state.js +9 -0
- package/dist/runtime/storage/stores/api-documentation/api-documentation-store.d.ts +16 -0
- package/dist/runtime/storage/stores/api-documentation/api-documentation-store.js +18 -0
- package/dist/runtime/storage/stores/api-documentation/state.d.ts +74 -0
- package/dist/runtime/storage/stores/api-documentation/state.js +6 -0
- package/dist/runtime/storage/stores/auth/auth-store.d.ts +16 -0
- package/dist/runtime/storage/stores/auth/auth-store.js +18 -0
- package/dist/runtime/storage/stores/auth/state.d.ts +20 -0
- package/dist/runtime/storage/stores/auth/state.js +15 -0
- package/dist/runtime/storage/stores/cwa-store-types.d.ts +14 -0
- package/dist/runtime/storage/stores/error/actions.d.ts +11 -0
- package/dist/runtime/storage/stores/error/actions.js +69 -0
- package/dist/runtime/storage/stores/error/error-store.d.ts +13 -0
- package/dist/runtime/storage/stores/error/error-store.js +21 -0
- package/dist/runtime/storage/stores/error/getters.d.ts +7 -0
- package/dist/runtime/storage/stores/error/getters.js +11 -0
- package/dist/runtime/storage/stores/error/state.d.ts +35 -0
- package/dist/runtime/storage/stores/error/state.js +15 -0
- package/dist/runtime/storage/stores/fetcher/actions.d.ts +49 -0
- package/dist/runtime/storage/stores/fetcher/actions.js +125 -0
- package/dist/runtime/storage/stores/fetcher/fetcher-store.d.ts +19 -0
- package/dist/runtime/storage/stores/fetcher/fetcher-store.js +23 -0
- package/dist/runtime/storage/stores/fetcher/getter-utils.d.ts +7 -0
- package/dist/runtime/storage/stores/fetcher/getter-utils.js +27 -0
- package/dist/runtime/storage/stores/fetcher/getters.d.ts +13 -0
- package/dist/runtime/storage/stores/fetcher/getters.js +52 -0
- package/dist/runtime/storage/stores/fetcher/state.d.ts +25 -0
- package/dist/runtime/storage/stores/fetcher/state.js +7 -0
- package/dist/runtime/storage/stores/mercure/mercure-store.d.ts +16 -0
- package/dist/runtime/storage/stores/mercure/mercure-store.js +18 -0
- package/dist/runtime/storage/stores/mercure/state.d.ts +5 -0
- package/dist/runtime/storage/stores/mercure/state.js +6 -0
- package/dist/runtime/storage/stores/resources/actions.d.ts +54 -0
- package/dist/runtime/storage/stores/resources/actions.js +390 -0
- package/dist/runtime/storage/stores/resources/getter-utils.d.ts +7 -0
- package/dist/runtime/storage/stores/resources/getter-utils.js +27 -0
- package/dist/runtime/storage/stores/resources/getters.d.ts +38 -0
- package/dist/runtime/storage/stores/resources/getters.js +251 -0
- package/dist/runtime/storage/stores/resources/resources-store.d.ts +19 -0
- package/dist/runtime/storage/stores/resources/resources-store.js +23 -0
- package/dist/runtime/storage/stores/resources/state.d.ts +64 -0
- package/dist/runtime/storage/stores/resources/state.js +24 -0
- package/dist/runtime/templates/assets/base.css +1 -0
- package/dist/runtime/templates/assets/cwa.css +1 -0
- package/dist/runtime/templates/components/core/ComponentPlaceholder.vue +18 -0
- package/dist/runtime/templates/components/core/ComponentPlaceholder.vue.d.ts +3 -0
- package/dist/runtime/templates/components/core/ComponentPosition.spec.ts.snap +16 -0
- package/dist/runtime/templates/components/core/ComponentPosition.vue +63 -0
- package/dist/runtime/templates/components/core/ComponentPosition.vue.d.ts +3 -0
- package/dist/runtime/templates/components/core/ConfirmDialog.vue +41 -0
- package/dist/runtime/templates/components/core/ConfirmDialog.vue.d.ts +9 -0
- package/dist/runtime/templates/components/core/DialogBox.vue +95 -0
- package/dist/runtime/templates/components/core/DialogBox.vue.d.ts +38 -0
- package/dist/runtime/templates/components/core/README.md +1 -0
- package/dist/runtime/templates/components/core/ResourceLoader.spec.ts.snap +39 -0
- package/dist/runtime/templates/components/core/ResourceLoader.vue +151 -0
- package/dist/runtime/templates/components/core/ResourceLoader.vue.d.ts +13 -0
- package/dist/runtime/templates/components/core/admin/ListContainer.vue +7 -0
- package/dist/runtime/templates/components/core/admin/ListContainer.vue.d.ts +12 -0
- package/dist/runtime/templates/components/core/admin/ListContent.vue +136 -0
- package/dist/runtime/templates/components/core/admin/ListContent.vue.d.ts +21 -0
- package/dist/runtime/templates/components/core/admin/ListFilter.vue +49 -0
- package/dist/runtime/templates/components/core/admin/ListFilter.vue.d.ts +9 -0
- package/dist/runtime/templates/components/core/admin/ListFilterButton.vue +53 -0
- package/dist/runtime/templates/components/core/admin/ListFilterButton.vue.d.ts +9 -0
- package/dist/runtime/templates/components/core/admin/ListHeading.vue +32 -0
- package/dist/runtime/templates/components/core/admin/ListHeading.vue.d.ts +20 -0
- package/dist/runtime/templates/components/core/admin/ListPagination.vue +87 -0
- package/dist/runtime/templates/components/core/admin/ListPagination.vue.d.ts +15 -0
- package/dist/runtime/templates/components/core/admin/ListPaginationButton.vue +18 -0
- package/dist/runtime/templates/components/core/admin/ListPaginationButton.vue.d.ts +16 -0
- package/dist/runtime/templates/components/core/admin/PageAdminModal.vue +260 -0
- package/dist/runtime/templates/components/core/admin/PageAdminModal.vue.d.ts +12 -0
- package/dist/runtime/templates/components/core/admin/PageDataAdminModal.vue +187 -0
- package/dist/runtime/templates/components/core/admin/PageDataAdminModal.vue.d.ts +13 -0
- package/dist/runtime/templates/components/core/admin/ResourceModal.vue +99 -0
- package/dist/runtime/templates/components/core/admin/ResourceModal.vue.d.ts +27 -0
- package/dist/runtime/templates/components/core/admin/ResourceModalOverlay.vue +27 -0
- package/dist/runtime/templates/components/core/admin/ResourceModalOverlay.vue.d.ts +6 -0
- package/dist/runtime/templates/components/core/admin/ResourceModalOverlayTemplate.vue +23 -0
- package/dist/runtime/templates/components/core/admin/ResourceModalOverlayTemplate.vue.d.ts +15 -0
- package/dist/runtime/templates/components/core/admin/ResourceModalTabs.vue +77 -0
- package/dist/runtime/templates/components/core/admin/ResourceModalTabs.vue.d.ts +19 -0
- package/dist/runtime/templates/components/core/admin/RouteListRow.vue +102 -0
- package/dist/runtime/templates/components/core/admin/RouteListRow.vue.d.ts +20 -0
- package/dist/runtime/templates/components/core/admin/RouteRedirectsTree.vue +52 -0
- package/dist/runtime/templates/components/core/admin/RouteRedirectsTree.vue.d.ts +10 -0
- package/dist/runtime/templates/components/core/admin/RoutesTab.vue +273 -0
- package/dist/runtime/templates/components/core/admin/RoutesTab.vue.d.ts +12 -0
- package/dist/runtime/templates/components/core/admin/form/FilterFormWrapper.vue +18 -0
- package/dist/runtime/templates/components/core/admin/form/FilterFormWrapper.vue.d.ts +16 -0
- package/dist/runtime/templates/components/core/admin/form/FilterSelect.vue +86 -0
- package/dist/runtime/templates/components/core/admin/form/FilterSelect.vue.d.ts +3 -0
- package/dist/runtime/templates/components/core/admin/form/ModalInfo.vue +23 -0
- package/dist/runtime/templates/components/core/admin/form/ModalInfo.vue.d.ts +16 -0
- package/dist/runtime/templates/components/core/admin/form/ModalInput.vue +30 -0
- package/dist/runtime/templates/components/core/admin/form/ModalInput.vue.d.ts +15 -0
- package/dist/runtime/templates/components/core/admin/form/ModalSelect.vue +99 -0
- package/dist/runtime/templates/components/core/admin/form/ModalSelect.vue.d.ts +6 -0
- package/dist/runtime/templates/components/core/admin/form/PageTypeSelect.vue +112 -0
- package/dist/runtime/templates/components/core/admin/form/PageTypeSelect.vue.d.ts +4 -0
- package/dist/runtime/templates/components/core/assets/CwaLogo.vue +21 -0
- package/dist/runtime/templates/components/core/assets/CwaLogo.vue.d.ts +2 -0
- package/dist/runtime/templates/components/core/assets/IconComponents.vue +15 -0
- package/dist/runtime/templates/components/core/assets/IconComponents.vue.d.ts +2 -0
- package/dist/runtime/templates/components/core/assets/IconData.vue +24 -0
- package/dist/runtime/templates/components/core/assets/IconData.vue.d.ts +2 -0
- package/dist/runtime/templates/components/core/assets/IconLayouts.vue +20 -0
- package/dist/runtime/templates/components/core/assets/IconLayouts.vue.d.ts +2 -0
- package/dist/runtime/templates/components/core/assets/IconPages.vue +21 -0
- package/dist/runtime/templates/components/core/assets/IconPages.vue.d.ts +2 -0
- package/dist/runtime/templates/components/core/assets/IconRoutes.vue +23 -0
- package/dist/runtime/templates/components/core/assets/IconRoutes.vue.d.ts +2 -0
- package/dist/runtime/templates/components/core/assets/IconUsers.vue +13 -0
- package/dist/runtime/templates/components/core/assets/IconUsers.vue.d.ts +2 -0
- package/dist/runtime/templates/components/core/useDataResolver.d.ts +12 -0
- package/dist/runtime/templates/components/core/useDataResolver.js +109 -0
- package/dist/runtime/templates/components/main/ComponentGroup.Util.Positions.d.ts +6 -0
- package/dist/runtime/templates/components/main/ComponentGroup.Util.Positions.js +164 -0
- package/dist/runtime/templates/components/main/ComponentGroup.Util.Synchronizer.d.ts +20 -0
- package/dist/runtime/templates/components/main/ComponentGroup.Util.Synchronizer.js +69 -0
- package/dist/runtime/templates/components/main/ComponentGroup.spec.ts.snap +59 -0
- package/dist/runtime/templates/components/main/ComponentGroup.vue +107 -0
- package/dist/runtime/templates/components/main/ComponentGroup.vue.d.ts +9 -0
- package/dist/runtime/templates/components/main/CwaLink.vue +51 -0
- package/dist/runtime/templates/components/main/CwaLink.vue.d.ts +14 -0
- package/dist/runtime/templates/components/main/DefaultLayout.vue +8 -0
- package/dist/runtime/templates/components/main/DefaultLayout.vue.d.ts +12 -0
- package/dist/runtime/templates/components/main/ErrorPage.vue +98 -0
- package/dist/runtime/templates/components/main/ErrorPage.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/Logo.vue +18 -0
- package/dist/runtime/templates/components/main/Logo.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/README.md +7 -0
- package/dist/runtime/templates/components/main/admin/_common/ResourceContextItem.vue +41 -0
- package/dist/runtime/templates/components/main/admin/_common/ResourceContextItem.vue.d.ts +7 -0
- package/dist/runtime/templates/components/main/admin/_common/ResourceLoadingIndicator.vue +48 -0
- package/dist/runtime/templates/components/main/admin/_common/ResourceLoadingIndicator.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/admin/_common/useDynamicPositionSelectOptions.d.ts +5 -0
- package/dist/runtime/templates/components/main/admin/_common/useDynamicPositionSelectOptions.js +19 -0
- package/dist/runtime/templates/components/main/admin/header/Header.vue +207 -0
- package/dist/runtime/templates/components/main/admin/header/Header.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/Menu.vue +189 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/Menu.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/MenuLink.vue +14 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/MenuLink.vue.d.ts +16 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/MenuPrimaryLink.vue +19 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/MenuPrimaryLink.vue.d.ts +15 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/Notification.vue +69 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/Notification.vue.d.ts +12 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/OutdatedContentNotice.vue +19 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/OutdatedContentNotice.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/PathSelector.vue +79 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/PathSelector.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/RequestErrors.vue +52 -0
- package/dist/runtime/templates/components/main/admin/header/_parts/RequestErrors.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/ComponentFocus.vue +151 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/ComponentFocus.vue.d.ts +10 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/LayoutPageOverlay.vue +192 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/LayoutPageOverlay.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/ResourceManager.vue +186 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/ResourceManager.vue.d.ts +9 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/AddComponentDialog.vue +205 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/AddComponentDialog.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/CwaResourceManagerContextMenu.vue +38 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/CwaResourceManagerContextMenu.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTab.vue +15 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTab.vue.d.ts +7 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTabs.vue +44 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_parts/ManagerTabs.vue.d.ts +13 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/ResourceInfoTab.vue +59 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/ResourceInfoTab.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Order.vue +75 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Order.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Publish.vue +41 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Publish.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Ui.vue +101 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/component/Ui.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/group/Group.vue +34 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/group/Group.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DataPage.vue +121 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DataPage.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DynamicPage.vue +52 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/_tabs/position/DynamicPage.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/cta/CurrentResourceCta.vue +99 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/cta/CurrentResourceCta.vue.d.ts +7 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/cta/NewResourceCta.vue +59 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/cta/NewResourceCta.vue.d.ts +7 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/cta/ResourceManagerCtaButton.vue +28 -0
- package/dist/runtime/templates/components/main/admin/resource-manager/cta/ResourceManagerCtaButton.vue.d.ts +2 -0
- package/dist/runtime/templates/components/main/auth/ForgotPasswordPage.vue +55 -0
- package/dist/runtime/templates/components/main/auth/ForgotPasswordPage.vue.d.ts +20 -0
- package/dist/runtime/templates/components/main/auth/LoginPage.vue +60 -0
- package/dist/runtime/templates/components/main/auth/LoginPage.vue.d.ts +23 -0
- package/dist/runtime/templates/components/main/auth/ResetPasswordPage.vue +59 -0
- package/dist/runtime/templates/components/main/auth/ResetPasswordPage.vue.d.ts +27 -0
- package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.spec.ts.snap +14 -0
- package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.vue +17 -0
- package/dist/runtime/templates/components/main/auth/_parts/AuthPageLink.vue.d.ts +6 -0
- package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.spec.ts.snap +90 -0
- package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.vue +45 -0
- package/dist/runtime/templates/components/main/auth/_parts/AuthTemplate.vue.d.ts +17 -0
- package/dist/runtime/templates/components/main/auth/_parts/InputField.spec.ts.snap +111 -0
- package/dist/runtime/templates/components/main/auth/_parts/InputField.vue +50 -0
- package/dist/runtime/templates/components/main/auth/_parts/InputField.vue.d.ts +17 -0
- package/dist/runtime/templates/components/ui/BackgroundParticles.vue +960 -0
- package/dist/runtime/templates/components/ui/BackgroundParticles.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/Hamburger.vue +75 -0
- package/dist/runtime/templates/components/ui/Hamburger.vue.d.ts +9 -0
- package/dist/runtime/templates/components/ui/ProgressBar.spec.ts.snap +71 -0
- package/dist/runtime/templates/components/ui/ProgressBar.vue +29 -0
- package/dist/runtime/templates/components/ui/ProgressBar.vue.d.ts +9 -0
- package/dist/runtime/templates/components/ui/README.md +6 -0
- package/dist/runtime/templates/components/ui/alert/Info.spec.ts.snap +23 -0
- package/dist/runtime/templates/components/ui/alert/Info.vue +13 -0
- package/dist/runtime/templates/components/ui/alert/Info.vue.d.ts +12 -0
- package/dist/runtime/templates/components/ui/alert/Warning.spec.ts.snap +14 -0
- package/dist/runtime/templates/components/ui/alert/Warning.vue +8 -0
- package/dist/runtime/templates/components/ui/alert/Warning.vue.d.ts +12 -0
- package/dist/runtime/templates/components/ui/form/Button.vue +139 -0
- package/dist/runtime/templates/components/ui/form/Button.vue.d.ts +52 -0
- package/dist/runtime/templates/components/ui/form/ButtonPopoverGroup.vue +18 -0
- package/dist/runtime/templates/components/ui/form/ButtonPopoverGroup.vue.d.ts +10 -0
- package/dist/runtime/templates/components/ui/form/ButtonPopoverItem.vue +15 -0
- package/dist/runtime/templates/components/ui/form/ButtonPopoverItem.vue.d.ts +10 -0
- package/dist/runtime/templates/components/ui/form/File.vue +72 -0
- package/dist/runtime/templates/components/ui/form/File.vue.d.ts +9 -0
- package/dist/runtime/templates/components/ui/form/Input.vue +22 -0
- package/dist/runtime/templates/components/ui/form/Input.vue.d.ts +5 -0
- package/dist/runtime/templates/components/ui/form/LabelWrapper.vue +16 -0
- package/dist/runtime/templates/components/ui/form/LabelWrapper.vue.d.ts +15 -0
- package/dist/runtime/templates/components/ui/form/SearchResource.vue +212 -0
- package/dist/runtime/templates/components/ui/form/SearchResource.vue.d.ts +14 -0
- package/dist/runtime/templates/components/ui/form/Select.vue +60 -0
- package/dist/runtime/templates/components/ui/form/Select.vue.d.ts +3 -0
- package/dist/runtime/templates/components/ui/form/Toggle.vue +39 -0
- package/dist/runtime/templates/components/ui/form/Toggle.vue.d.ts +6 -0
- package/dist/runtime/templates/components/ui/icon/ArrowIcon.vue +30 -0
- package/dist/runtime/templates/components/ui/icon/ArrowIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/BinIcon.vue +24 -0
- package/dist/runtime/templates/components/ui/icon/BinIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/CogIcon.vue +9 -0
- package/dist/runtime/templates/components/ui/icon/CogIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/EyeIcon.vue +24 -0
- package/dist/runtime/templates/components/ui/icon/EyeIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/PenIcon.vue +12 -0
- package/dist/runtime/templates/components/ui/icon/PenIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/PlusIcon.vue +9 -0
- package/dist/runtime/templates/components/ui/icon/PlusIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/SearchIcon.vue +10 -0
- package/dist/runtime/templates/components/ui/icon/SearchIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/TickIcon.vue +23 -0
- package/dist/runtime/templates/components/ui/icon/TickIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/WarningIcon.vue +11 -0
- package/dist/runtime/templates/components/ui/icon/WarningIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/ui/icon/XMarkIcon.vue +15 -0
- package/dist/runtime/templates/components/ui/icon/XMarkIcon.vue.d.ts +2 -0
- package/dist/runtime/templates/components/utils/ContextMenu.vue +59 -0
- package/dist/runtime/templates/components/utils/ContextMenu.vue.d.ts +21 -0
- package/dist/runtime/templates/components/utils/HotSpot.vue +24 -0
- package/dist/runtime/templates/components/utils/HotSpot.vue.d.ts +9 -0
- package/dist/runtime/templates/components/utils/README.md +1 -0
- package/dist/runtime/templates/components/utils/Spinner.spec.ts.snap +56 -0
- package/dist/runtime/templates/components/utils/Spinner.vue +42 -0
- package/dist/runtime/templates/components/utils/Spinner.vue.d.ts +5 -0
- package/dist/runtime/templates/components/utils/SpinnerTick.vue +43 -0
- package/dist/runtime/templates/components/utils/SpinnerTick.vue.d.ts +6 -0
- package/dist/runtime/templates/cwa-page.spec.ts.snap +20 -0
- package/dist/runtime/templates/cwa-page.vue +32 -0
- package/dist/runtime/templates/cwa-page.vue.d.ts +2 -0
- package/dist/runtime/types/popper.d.ts +14 -0
- package/dist/types.d.mts +9 -0
- 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;
|