@omega.js/desktop 0.1.0
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/LICENSE +98 -0
- package/README.md +166 -0
- package/bin/omega +2 -0
- package/bin/omega-desktop +2 -0
- package/bin/omg +2 -0
- package/dist/assets/css/core/_fontawesome.scss +146 -0
- package/dist/assets/css/core/_initialize.scss +38 -0
- package/dist/assets/css/omega-desktop.scss +39 -0
- package/dist/assets/css/shell/_index.scss +207 -0
- package/dist/assets/css/tokens/_index.scss +166 -0
- package/dist/assets/js/bootstrap.bundle.js +1 -0
- package/dist/assets/js/core/app-shell.js +136 -0
- package/dist/assets/themes/_template/README.md +115 -0
- package/dist/assets/themes/_template/_config.scss +60 -0
- package/dist/assets/themes/_template/_theme.js +14 -0
- package/dist/assets/themes/_template/_theme.scss +28 -0
- package/dist/assets/themes/_template/css/base/_root.scss +19 -0
- package/dist/assets/themes/_template/css/components/_components.scss +23 -0
- package/dist/assets/themes/base/README.md +5 -0
- package/dist/assets/themes/base/_components/data/org-chart/component.html +33 -0
- package/dist/assets/themes/base/_components/data/org-chart/component.json5 +33 -0
- package/dist/assets/themes/base/_components/data/org-chart/component.scss +183 -0
- package/dist/assets/themes/base/_components/heading/masthead/component.html +22 -0
- package/dist/assets/themes/base/_components/heading/masthead/component.json5 +30 -0
- package/dist/assets/themes/base/_components/heading/section-head/component.html +18 -0
- package/dist/assets/themes/base/_components/heading/section-head/component.json5 +27 -0
- package/dist/assets/themes/base/_components/pricing/features/component.html +29 -0
- package/dist/assets/themes/base/_components/pricing/features/component.json5 +30 -0
- package/dist/assets/themes/base/_hero/orbit/index.html +30 -0
- package/dist/assets/themes/base/_hero/orbit/script.js +33 -0
- package/dist/assets/themes/base/_hero/orbit/style.scss +133 -0
- package/dist/assets/themes/base/_includes/admin/sections/sidebar.html +3 -0
- package/dist/assets/themes/base/_includes/admin/sections/topbar.html +3 -0
- package/dist/assets/themes/base/_includes/backend/sections/sidebar.html +3 -0
- package/dist/assets/themes/base/_includes/backend/sections/topbar.html +3 -0
- package/dist/assets/themes/base/_includes/frontend/components/connection-card.html +49 -0
- package/dist/assets/themes/base/_includes/frontend/components/post-card.html +54 -0
- package/dist/assets/themes/base/_includes/frontend/sections/account-connections.html +42 -0
- package/dist/assets/themes/base/_includes/frontend/sections/account-section-header.html +11 -0
- package/dist/assets/themes/base/_includes/frontend/sections/footer.html +154 -0
- package/dist/assets/themes/base/_includes/frontend/sections/nav.html +276 -0
- package/dist/assets/themes/base/_includes/global/sections/account.html +72 -0
- package/dist/assets/themes/base/_includes/global/sections/app-sidebar.html +248 -0
- package/dist/assets/themes/base/_includes/global/sections/app-topbar.html +228 -0
- package/dist/assets/themes/base/_includes/global/sections/page-header.html +99 -0
- package/dist/assets/themes/base/_layouts/admin/core/minimal-viewport-locked.html +22 -0
- package/dist/assets/themes/base/_layouts/admin/core/minimal.html +23 -0
- package/dist/assets/themes/base/_layouts/backend/core/base.html +57 -0
- package/dist/assets/themes/base/_layouts/backend/core/minimal-viewport-locked.html +32 -0
- package/dist/assets/themes/base/_layouts/backend/core/minimal.html +32 -0
- package/dist/assets/themes/base/_layouts/backend/pages/dashboard/index.html +230 -0
- package/dist/assets/themes/base/_layouts/frontend/core/base.html +31 -0
- package/dist/assets/themes/base/_layouts/frontend/core/cover.html +40 -0
- package/dist/assets/themes/base/_layouts/frontend/core/minimal.html +47 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/404.html +54 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/about.html +144 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/account/index.html +2104 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/alternatives/alternative.html +319 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/alternatives/index.html +186 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/app.html +142 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/auth/reset.html +53 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/auth/signin.html +90 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/auth/signup.html +141 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/auth/token.html +44 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/blog/categories/category.html +88 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/blog/categories/index.html +88 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/blog/index.html +255 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/blog/post.html +261 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/blog/tags/index.html +84 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/blog/tags/tag.html +88 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/collection/category.html +72 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/collection/document.html +54 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/collection/index.html +84 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/connections/callback.html +55 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/contact.html +214 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/download.html +793 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/extension/index.html +253 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/extension/installed.html +198 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/feedback.html +171 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/index.html +66 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/legal/document.html +78 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/payment/checkout.html +459 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/payment/confirmation.html +131 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/portal/email-preferences.html +104 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/pricing.html +596 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/status.html +361 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/team/index.html +210 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/team/member.html +125 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/updates/index.html +119 -0
- package/dist/assets/themes/base/_layouts/frontend/pages/updates/update.html +118 -0
- package/dist/assets/themes/base/_sections/about/hero/section.html +68 -0
- package/dist/assets/themes/base/_sections/about/hero/section.json5 +58 -0
- package/dist/assets/themes/base/_sections/about/letter/section.html +60 -0
- package/dist/assets/themes/base/_sections/about/letter/section.json5 +56 -0
- package/dist/assets/themes/base/_sections/about/photo-band/section.html +24 -0
- package/dist/assets/themes/base/_sections/about/photo-band/section.json5 +23 -0
- package/dist/assets/themes/base/_sections/about/principles/section.html +17 -0
- package/dist/assets/themes/base/_sections/about/principles/section.json5 +34 -0
- package/dist/assets/themes/base/_sections/about/timeline/section.html +20 -0
- package/dist/assets/themes/base/_sections/about/timeline/section.json5 +34 -0
- package/dist/assets/themes/base/_sections/marketing/bento/section.html +91 -0
- package/dist/assets/themes/base/_sections/marketing/bento/section.json5 +152 -0
- package/dist/assets/themes/base/_sections/marketing/cta/section.html +44 -0
- package/dist/assets/themes/base/_sections/marketing/cta/section.json5 +47 -0
- package/dist/assets/themes/base/_sections/marketing/faq/section.html +52 -0
- package/dist/assets/themes/base/_sections/marketing/faq/section.json5 +68 -0
- package/dist/assets/themes/base/_sections/marketing/hero/section.html +349 -0
- package/dist/assets/themes/base/_sections/marketing/hero/section.json5 +335 -0
- package/dist/assets/themes/base/_sections/marketing/newsletter-cta/section.html +38 -0
- package/dist/assets/themes/base/_sections/marketing/newsletter-cta/section.js +86 -0
- package/dist/assets/themes/base/_sections/marketing/newsletter-cta/section.json5 +29 -0
- package/dist/assets/themes/base/_sections/marketing/pricing-cards/section.html +115 -0
- package/dist/assets/themes/base/_sections/marketing/pricing-cards/section.json5 +72 -0
- package/dist/assets/themes/base/_sections/marketing/product-demo/section.html +62 -0
- package/dist/assets/themes/base/_sections/marketing/product-demo/section.js +44 -0
- package/dist/assets/themes/base/_sections/marketing/product-demo/section.json5 +52 -0
- package/dist/assets/themes/base/_sections/marketing/prose/section.html +22 -0
- package/dist/assets/themes/base/_sections/marketing/prose/section.json5 +41 -0
- package/dist/assets/themes/base/_sections/marketing/showcase/section.html +35 -0
- package/dist/assets/themes/base/_sections/marketing/showcase/section.json5 +52 -0
- package/dist/assets/themes/base/_sections/marketing/stats/section.html +32 -0
- package/dist/assets/themes/base/_sections/marketing/stats/section.json5 +44 -0
- package/dist/assets/themes/base/_sections/marketing/testimonials/section.html +54 -0
- package/dist/assets/themes/base/_sections/marketing/testimonials/section.json5 +70 -0
- package/dist/assets/themes/base/_sections/marketing/trusted-by/section.html +30 -0
- package/dist/assets/themes/base/_sections/marketing/trusted-by/section.json5 +38 -0
- package/dist/assets/themes/base/_sections/verts/unit/section.html +7 -0
- package/dist/assets/themes/base/_sections/verts/unit/section.js +22 -0
- package/dist/assets/themes/base/_sections/verts/unit/section.json5 +24 -0
- package/dist/assets/themes/base/_sections/verts/unit/section.scss +24 -0
- package/dist/assets/themes/base/_theme.js +13 -0
- package/dist/assets/themes/base/_theme.scss +4 -0
- package/dist/assets/themes/bootstrap/_theme.js +16 -0
- package/dist/assets/themes/bootstrap/_theme.scss +11 -0
- package/dist/assets/themes/bootstrap/js/index.esm.js +19 -0
- package/dist/assets/themes/bootstrap/js/index.umd.js +34 -0
- package/dist/assets/themes/bootstrap/js/src/alert.js +87 -0
- package/dist/assets/themes/bootstrap/js/src/base-component.js +86 -0
- package/dist/assets/themes/bootstrap/js/src/button.js +72 -0
- package/dist/assets/themes/bootstrap/js/src/carousel.js +474 -0
- package/dist/assets/themes/bootstrap/js/src/collapse.js +297 -0
- package/dist/assets/themes/bootstrap/js/src/dom/data.js +55 -0
- package/dist/assets/themes/bootstrap/js/src/dom/event-handler.js +317 -0
- package/dist/assets/themes/bootstrap/js/src/dom/manipulator.js +71 -0
- package/dist/assets/themes/bootstrap/js/src/dom/selector-engine.js +126 -0
- package/dist/assets/themes/bootstrap/js/src/dropdown.js +458 -0
- package/dist/assets/themes/bootstrap/js/src/modal.js +378 -0
- package/dist/assets/themes/bootstrap/js/src/offcanvas.js +282 -0
- package/dist/assets/themes/bootstrap/js/src/popover.js +97 -0
- package/dist/assets/themes/bootstrap/js/src/scrollspy.js +296 -0
- package/dist/assets/themes/bootstrap/js/src/tab.js +315 -0
- package/dist/assets/themes/bootstrap/js/src/toast.js +224 -0
- package/dist/assets/themes/bootstrap/js/src/tooltip.js +632 -0
- package/dist/assets/themes/bootstrap/js/src/util/backdrop.js +151 -0
- package/dist/assets/themes/bootstrap/js/src/util/component-functions.js +35 -0
- package/dist/assets/themes/bootstrap/js/src/util/config.js +65 -0
- package/dist/assets/themes/bootstrap/js/src/util/focustrap.js +115 -0
- package/dist/assets/themes/bootstrap/js/src/util/index.js +306 -0
- package/dist/assets/themes/bootstrap/js/src/util/sanitizer.js +117 -0
- package/dist/assets/themes/bootstrap/js/src/util/scrollbar.js +114 -0
- package/dist/assets/themes/bootstrap/js/src/util/swipe.js +146 -0
- package/dist/assets/themes/bootstrap/js/src/util/template-factory.js +160 -0
- package/dist/assets/themes/bootstrap/overrides/_accordion.scss +21 -0
- package/dist/assets/themes/bootstrap/overrides/_avatars.scss +51 -0
- package/dist/assets/themes/bootstrap/overrides/_blog-images.scss +45 -0
- package/dist/assets/themes/bootstrap/overrides/_buttons-adaptive.scss +141 -0
- package/dist/assets/themes/bootstrap/overrides/_color-shades.scss +25 -0
- package/dist/assets/themes/bootstrap/overrides/_cursor-utilities.scss +13 -0
- package/dist/assets/themes/bootstrap/overrides/_index.scss +30 -0
- package/dist/assets/themes/bootstrap/overrides/_links.scss +26 -0
- package/dist/assets/themes/bootstrap/overrides/_soft-colors.scss +99 -0
- package/dist/assets/themes/bootstrap/overrides/_spacing-extended.scss +74 -0
- package/dist/assets/themes/bootstrap/overrides/_spinners.scss +22 -0
- package/dist/assets/themes/bootstrap/overrides/_typography-utilities.scss +40 -0
- package/dist/assets/themes/bootstrap/scss/_accordion.scss +153 -0
- package/dist/assets/themes/bootstrap/scss/_alert.scss +68 -0
- package/dist/assets/themes/bootstrap/scss/_badge.scss +38 -0
- package/dist/assets/themes/bootstrap/scss/_breadcrumb.scss +40 -0
- package/dist/assets/themes/bootstrap/scss/_button-group.scss +147 -0
- package/dist/assets/themes/bootstrap/scss/_buttons.scss +216 -0
- package/dist/assets/themes/bootstrap/scss/_card.scss +238 -0
- package/dist/assets/themes/bootstrap/scss/_carousel.scss +226 -0
- package/dist/assets/themes/bootstrap/scss/_close.scss +66 -0
- package/dist/assets/themes/bootstrap/scss/_containers.scss +41 -0
- package/dist/assets/themes/bootstrap/scss/_dropdown.scss +250 -0
- package/dist/assets/themes/bootstrap/scss/_forms.scss +9 -0
- package/dist/assets/themes/bootstrap/scss/_functions.scss +302 -0
- package/dist/assets/themes/bootstrap/scss/_grid.scss +39 -0
- package/dist/assets/themes/bootstrap/scss/_helpers.scss +12 -0
- package/dist/assets/themes/bootstrap/scss/_images.scss +42 -0
- package/dist/assets/themes/bootstrap/scss/_list-group.scss +199 -0
- package/dist/assets/themes/bootstrap/scss/_maps.scss +174 -0
- package/dist/assets/themes/bootstrap/scss/_mixins.scss +42 -0
- package/dist/assets/themes/bootstrap/scss/_modal.scss +240 -0
- package/dist/assets/themes/bootstrap/scss/_nav.scss +197 -0
- package/dist/assets/themes/bootstrap/scss/_navbar.scss +289 -0
- package/dist/assets/themes/bootstrap/scss/_offcanvas.scss +147 -0
- package/dist/assets/themes/bootstrap/scss/_pagination.scss +109 -0
- package/dist/assets/themes/bootstrap/scss/_placeholders.scss +51 -0
- package/dist/assets/themes/bootstrap/scss/_popover.scss +196 -0
- package/dist/assets/themes/bootstrap/scss/_progress.scss +68 -0
- package/dist/assets/themes/bootstrap/scss/_reboot.scss +611 -0
- package/dist/assets/themes/bootstrap/scss/_root.scss +187 -0
- package/dist/assets/themes/bootstrap/scss/_spinners.scss +85 -0
- package/dist/assets/themes/bootstrap/scss/_tables.scss +171 -0
- package/dist/assets/themes/bootstrap/scss/_toasts.scss +73 -0
- package/dist/assets/themes/bootstrap/scss/_tooltip.scss +119 -0
- package/dist/assets/themes/bootstrap/scss/_transitions.scss +27 -0
- package/dist/assets/themes/bootstrap/scss/_type.scss +106 -0
- package/dist/assets/themes/bootstrap/scss/_utilities.scss +806 -0
- package/dist/assets/themes/bootstrap/scss/_variables-dark.scss +102 -0
- package/dist/assets/themes/bootstrap/scss/_variables.scss +1753 -0
- package/dist/assets/themes/bootstrap/scss/bootstrap-grid.scss +62 -0
- package/dist/assets/themes/bootstrap/scss/bootstrap-reboot.scss +10 -0
- package/dist/assets/themes/bootstrap/scss/bootstrap-utilities.scss +19 -0
- package/dist/assets/themes/bootstrap/scss/bootstrap.scss +52 -0
- package/dist/assets/themes/bootstrap/scss/forms/_floating-labels.scss +97 -0
- package/dist/assets/themes/bootstrap/scss/forms/_form-check.scss +189 -0
- package/dist/assets/themes/bootstrap/scss/forms/_form-control.scss +214 -0
- package/dist/assets/themes/bootstrap/scss/forms/_form-range.scss +91 -0
- package/dist/assets/themes/bootstrap/scss/forms/_form-select.scss +80 -0
- package/dist/assets/themes/bootstrap/scss/forms/_form-text.scss +11 -0
- package/dist/assets/themes/bootstrap/scss/forms/_input-group.scss +132 -0
- package/dist/assets/themes/bootstrap/scss/forms/_labels.scss +36 -0
- package/dist/assets/themes/bootstrap/scss/forms/_validation.scss +12 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_clearfix.scss +3 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_color-bg.scss +7 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_colored-links.scss +30 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_focus-ring.scss +5 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_icon-link.scss +25 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_position.scss +36 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_ratio.scss +26 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_stacks.scss +15 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_stretched-link.scss +15 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_text-truncation.scss +7 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
- package/dist/assets/themes/bootstrap/scss/helpers/_vr.scss +8 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_alert.scss +18 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_backdrop.scss +14 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_banner.scss +7 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_border-radius.scss +78 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_box-shadow.scss +18 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_breakpoints.scss +127 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_buttons.scss +70 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_caret.scss +69 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_clearfix.scss +9 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_color-mode.scss +21 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_color-scheme.scss +7 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_container.scss +11 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_deprecate.scss +10 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_forms.scss +163 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_gradients.scss +47 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_grid.scss +151 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_image.scss +16 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_list-group.scss +26 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_lists.scss +7 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_pagination.scss +10 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_reset-text.scss +17 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_resize.scss +6 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_table-variants.scss +24 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_text-truncate.scss +8 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_transition.scss +26 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_utilities.scss +97 -0
- package/dist/assets/themes/bootstrap/scss/mixins/_visually-hidden.scss +38 -0
- package/dist/assets/themes/bootstrap/scss/tests/jasmine.js +16 -0
- package/dist/assets/themes/bootstrap/scss/tests/mixins/_auto-import-of-variables-dark.test.scss +7 -0
- package/dist/assets/themes/bootstrap/scss/tests/mixins/_color-modes.test.scss +69 -0
- package/dist/assets/themes/bootstrap/scss/tests/mixins/_media-query-color-mode-full.test.scss +8 -0
- package/dist/assets/themes/bootstrap/scss/tests/mixins/_utilities.test.scss +393 -0
- package/dist/assets/themes/bootstrap/scss/tests/sass-true/register.js +14 -0
- package/dist/assets/themes/bootstrap/scss/tests/sass-true/runner.js +17 -0
- package/dist/assets/themes/bootstrap/scss/tests/utilities/_api.test.scss +75 -0
- package/dist/assets/themes/bootstrap/scss/utilities/_api.scss +47 -0
- package/dist/assets/themes/bootstrap/scss/vendor/_rfs.scss +348 -0
- package/dist/assets/themes/classy/README.md +89 -0
- package/dist/assets/themes/classy/_config.scss +245 -0
- package/dist/assets/themes/classy/_theme.js +31 -0
- package/dist/assets/themes/classy/_theme.scss +57 -0
- package/dist/assets/themes/classy/css/app/_panels.scss +183 -0
- package/dist/assets/themes/classy/css/base/_fonts.scss +79 -0
- package/dist/assets/themes/classy/css/base/_no-raise.scss +49 -0
- package/dist/assets/themes/classy/css/base/_root.scss +113 -0
- package/dist/assets/themes/classy/css/base/_typography.scss +154 -0
- package/dist/assets/themes/classy/css/base/_utilities.scss +284 -0
- package/dist/assets/themes/classy/css/components/_alerts.scss +51 -0
- package/dist/assets/themes/classy/css/components/_badges.scss +46 -0
- package/dist/assets/themes/classy/css/components/_buttons.scss +175 -0
- package/dist/assets/themes/classy/css/components/_cards.scss +41 -0
- package/dist/assets/themes/classy/css/components/_dropdowns.scss +48 -0
- package/dist/assets/themes/classy/css/components/_forms.scss +171 -0
- package/dist/assets/themes/classy/css/components/_receipt.scss +45 -0
- package/dist/assets/themes/classy/css/layout/_footer.scss +298 -0
- package/dist/assets/themes/classy/css/layout/_general.scss +209 -0
- package/dist/assets/themes/classy/css/layout/_nav.scss +154 -0
- package/dist/assets/themes/classy/css/layout/_shell.scss +458 -0
- package/dist/assets/themes/classy/css/marketing/_bento.scss +238 -0
- package/dist/assets/themes/classy/css/marketing/_content.scss +1328 -0
- package/dist/assets/themes/classy/css/marketing/_downloads.scss +246 -0
- package/dist/assets/themes/classy/css/marketing/_hero.scss +311 -0
- package/dist/assets/themes/classy/css/marketing/_sections.scss +649 -0
- package/dist/assets/themes/classy/css/pages/404/index.scss +67 -0
- package/dist/assets/themes/classy/css/pages/_auth.scss +235 -0
- package/dist/assets/themes/classy/css/pages/admin/firebase/index.scss +22 -0
- package/dist/assets/themes/classy/css/pages/blog/[slug].scss +56 -0
- package/dist/assets/themes/classy/css/pages/cookies.scss +2 -0
- package/dist/assets/themes/classy/css/pages/dashboard/account/index.scss +31 -0
- package/dist/assets/themes/classy/css/pages/feedback/index.scss +39 -0
- package/dist/assets/themes/classy/css/pages/legal/_document.scss +192 -0
- package/dist/assets/themes/classy/css/pages/payment/checkout/index.scss +585 -0
- package/dist/assets/themes/classy/css/pages/payment/confirmation/index.scss +9 -0
- package/dist/assets/themes/classy/css/pages/privacy.scss +2 -0
- package/dist/assets/themes/classy/css/pages/status/index.scss +164 -0
- package/dist/assets/themes/classy/css/pages/terms.scss +2 -0
- package/dist/assets/themes/classy/css/pages/updates/index.scss +128 -0
- package/dist/assets/themes/classy/fonts/inter-italic-latin-ext.woff2 +0 -0
- package/dist/assets/themes/classy/fonts/inter-italic-latin.woff2 +0 -0
- package/dist/assets/themes/classy/fonts/inter-normal-latin-ext.woff2 +0 -0
- package/dist/assets/themes/classy/fonts/inter-normal-latin.woff2 +0 -0
- package/dist/assets/themes/classy/fonts/newsreader-italic-latin-ext.woff2 +0 -0
- package/dist/assets/themes/classy/fonts/newsreader-italic-latin.woff2 +0 -0
- package/dist/assets/themes/classy/fonts/newsreader-normal-latin-ext.woff2 +0 -0
- package/dist/assets/themes/classy/fonts/newsreader-normal-latin.woff2 +0 -0
- package/dist/assets/themes/classy/js/hero-demo-form.js +56 -0
- package/dist/assets/themes/neobrutalism/README.md +118 -0
- package/dist/assets/themes/neobrutalism/_config.scss +139 -0
- package/dist/assets/themes/neobrutalism/_layouts/frontend/core/base.html +30 -0
- package/dist/assets/themes/neobrutalism/_layouts/frontend/pages/index.html +275 -0
- package/dist/assets/themes/neobrutalism/_theme.js +24 -0
- package/dist/assets/themes/neobrutalism/_theme.scss +61 -0
- package/dist/assets/themes/neobrutalism/css/base/_mixins.scss +46 -0
- package/dist/assets/themes/neobrutalism/css/base/_root.scss +169 -0
- package/dist/assets/themes/neobrutalism/css/base/_typography.scss +61 -0
- package/dist/assets/themes/neobrutalism/css/base/_utilities.scss +89 -0
- package/dist/assets/themes/neobrutalism/css/components/_billing-toggle.scss +74 -0
- package/dist/assets/themes/neobrutalism/css/components/_buttons.scss +148 -0
- package/dist/assets/themes/neobrutalism/css/components/_cards.scss +47 -0
- package/dist/assets/themes/neobrutalism/css/components/_forms.scss +88 -0
- package/dist/assets/themes/neobrutalism/css/components/_marketing.scss +244 -0
- package/dist/assets/themes/neobrutalism/css/layout/_general.scss +213 -0
- package/dist/assets/themes/neobrutalism/css/layout/_navigation.scss +171 -0
- package/dist/assets/themes/neobrutalism/css/pages/index.scss +203 -0
- package/dist/assets/themes/neobrutalism/css/pages/pricing/index.scss +58 -0
- package/dist/assets/themes/neobrutalism/css/pages/test/libraries/layers/index.scss +7 -0
- package/dist/assets/themes/neobrutalism/js/pages/test/libraries/layers/index.js +9 -0
- package/dist/assets/themes/newsflash/README.md +117 -0
- package/dist/assets/themes/newsflash/_components/heading/lede/component.html +14 -0
- package/dist/assets/themes/newsflash/_components/heading/lede/component.json5 +23 -0
- package/dist/assets/themes/newsflash/_components/heading/rule-head/component.html +17 -0
- package/dist/assets/themes/newsflash/_components/heading/rule-head/component.json5 +23 -0
- package/dist/assets/themes/newsflash/_components/news/byline/component.html +12 -0
- package/dist/assets/themes/newsflash/_components/news/byline/component.json5 +18 -0
- package/dist/assets/themes/newsflash/_components/news/story-card/component.html +25 -0
- package/dist/assets/themes/newsflash/_components/news/story-card/component.json5 +21 -0
- package/dist/assets/themes/newsflash/_config.scss +147 -0
- package/dist/assets/themes/newsflash/_layouts/frontend/core/base.html +51 -0
- package/dist/assets/themes/newsflash/_layouts/frontend/pages/blog/index.html +299 -0
- package/dist/assets/themes/newsflash/_layouts/frontend/pages/blog/post.html +235 -0
- package/dist/assets/themes/newsflash/_layouts/frontend/pages/index.html +328 -0
- package/dist/assets/themes/newsflash/_sections/marketing/desks/section.html +39 -0
- package/dist/assets/themes/newsflash/_sections/marketing/desks/section.json5 +49 -0
- package/dist/assets/themes/newsflash/_sections/marketing/newsletter-cta/section.html +103 -0
- package/dist/assets/themes/newsflash/_sections/marketing/newsletter-cta/section.json5 +50 -0
- package/dist/assets/themes/newsflash/_sections/marketing/rundown/section.html +28 -0
- package/dist/assets/themes/newsflash/_sections/marketing/rundown/section.json5 +40 -0
- package/dist/assets/themes/newsflash/_theme.js +24 -0
- package/dist/assets/themes/newsflash/_theme.scss +70 -0
- package/dist/assets/themes/newsflash/css/base/_fonts.scss +80 -0
- package/dist/assets/themes/newsflash/css/base/_mixins.scss +51 -0
- package/dist/assets/themes/newsflash/css/base/_root.scss +257 -0
- package/dist/assets/themes/newsflash/css/base/_typography.scss +49 -0
- package/dist/assets/themes/newsflash/css/base/_utilities.scss +122 -0
- package/dist/assets/themes/newsflash/css/components/_badges.scss +65 -0
- package/dist/assets/themes/newsflash/css/components/_billing-toggle.scss +61 -0
- package/dist/assets/themes/newsflash/css/components/_buttons.scss +139 -0
- package/dist/assets/themes/newsflash/css/components/_cards.scss +47 -0
- package/dist/assets/themes/newsflash/css/components/_editorial.scss +173 -0
- package/dist/assets/themes/newsflash/css/components/_forms.scss +75 -0
- package/dist/assets/themes/newsflash/css/components/_infinite-scroll.scss +102 -0
- package/dist/assets/themes/newsflash/css/components/_panels.scss +156 -0
- package/dist/assets/themes/newsflash/css/components/_ticker.scss +67 -0
- package/dist/assets/themes/newsflash/css/layout/_general.scss +330 -0
- package/dist/assets/themes/newsflash/css/layout/_navigation.scss +168 -0
- package/dist/assets/themes/newsflash/css/pages/404/index.scss +79 -0
- package/dist/assets/themes/newsflash/css/pages/blog/[slug].scss +186 -0
- package/dist/assets/themes/newsflash/css/pages/blog/index.scss +17 -0
- package/dist/assets/themes/newsflash/css/pages/index.scss +157 -0
- package/dist/assets/themes/newsflash/css/pages/pricing/index.scss +55 -0
- package/dist/assets/themes/newsflash/css/pages/test/libraries/layers/index.scss +7 -0
- package/dist/assets/themes/newsflash/fonts/fraunces-italic-latin-ext.woff2 +0 -0
- package/dist/assets/themes/newsflash/fonts/fraunces-italic-latin.woff2 +0 -0
- package/dist/assets/themes/newsflash/fonts/fraunces-normal-latin-ext.woff2 +0 -0
- package/dist/assets/themes/newsflash/fonts/fraunces-normal-latin.woff2 +0 -0
- package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-italic-latin-ext.woff2 +0 -0
- package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-italic-latin.woff2 +0 -0
- package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-normal-latin-ext.woff2 +0 -0
- package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-normal-latin.woff2 +0 -0
- package/dist/assets/themes/newsflash/js/pages/blog/[slug].js +29 -0
- package/dist/assets/themes/newsflash/js/pages/test/libraries/layers/index.js +9 -0
- package/dist/build.js +249 -0
- package/dist/cli-run.js +34 -0
- package/dist/cli.js +49 -0
- package/dist/commands/build.js +32 -0
- package/dist/commands/cdp/capture.js +91 -0
- package/dist/commands/cdp/client.js +140 -0
- package/dist/commands/cdp/eval.js +20 -0
- package/dist/commands/cdp/quit.js +84 -0
- package/dist/commands/cdp/relaunch.js +62 -0
- package/dist/commands/cdp/shot.js +20 -0
- package/dist/commands/cdp/status.js +38 -0
- package/dist/commands/cdp/theme.js +21 -0
- package/dist/commands/cdp.js +53 -0
- package/dist/commands/clean.js +34 -0
- package/dist/commands/deploy.js +75 -0
- package/dist/commands/finalize-release.js +238 -0
- package/dist/commands/install.js +37 -0
- package/dist/commands/launch.js +150 -0
- package/dist/commands/lib/dependencies.js +35 -0
- package/dist/commands/lib/deploy-precheck.js +117 -0
- package/dist/commands/lib/ensure-target.js +300 -0
- package/dist/commands/logs.js +185 -0
- package/dist/commands/package.js +31 -0
- package/dist/commands/publish.js +34 -0
- package/dist/commands/push-secrets.js +141 -0
- package/dist/commands/release.js +286 -0
- package/dist/commands/runner.js +1874 -0
- package/dist/commands/sign-windows.js +563 -0
- package/dist/commands/test.js +121 -0
- package/dist/commands/update.js +21 -0
- package/dist/commands/validate-certs.js +238 -0
- package/dist/commands/version.js +9 -0
- package/dist/config/page-template.html +35 -0
- package/dist/defaults/.github/workflows/build.yml +276 -0
- package/dist/defaults/AGENTS.md +109 -0
- package/dist/defaults/CHANGELOG.md +15 -0
- package/dist/defaults/CLAUDE.md +1 -0
- package/dist/defaults/_.gitignore +24 -0
- package/dist/defaults/_mas/README.md +49 -0
- package/dist/defaults/_mas/entitlements.mas.inherit.plist +12 -0
- package/dist/defaults/_mas/entitlements.mas.loginhelper.plist +8 -0
- package/dist/defaults/_mas/entitlements.mas.plist +33 -0
- package/dist/defaults/config/certs/.gitkeep +0 -0
- package/dist/defaults/config/certs/README.md +60 -0
- package/dist/defaults/config/icons/macos/dmg.png +0 -0
- package/dist/defaults/config/icons/macos/icon.png +0 -0
- package/dist/defaults/config/icons/macos/tray.png +0 -0
- package/dist/defaults/config/icons/windows/icon.png +0 -0
- package/dist/defaults/config/omega.json5 +279 -0
- package/dist/defaults/docs/README.md +17 -0
- package/dist/defaults/gulpfile.js +6 -0
- package/dist/defaults/hooks/build/post.js +9 -0
- package/dist/defaults/hooks/build/pre.js +9 -0
- package/dist/defaults/hooks/notarize/post.js +16 -0
- package/dist/defaults/hooks/release/post.js +9 -0
- package/dist/defaults/hooks/release/pre.js +9 -0
- package/dist/defaults/src/assets/js/components/about/index.js +10 -0
- package/dist/defaults/src/assets/js/components/main/index.js +14 -0
- package/dist/defaults/src/assets/js/components/settings/index.js +10 -0
- package/dist/defaults/src/assets/scss/main.scss +34 -0
- package/dist/defaults/src/assets/scss/pages/about.scss +3 -0
- package/dist/defaults/src/assets/scss/pages/main.scss +4 -0
- package/dist/defaults/src/assets/scss/pages/settings.scss +3 -0
- package/dist/defaults/src/integrations/context-menu/index.js +60 -0
- package/dist/defaults/src/integrations/menu/index.js +58 -0
- package/dist/defaults/src/integrations/tray/index.js +60 -0
- package/dist/defaults/src/main.js +78 -0
- package/dist/defaults/src/preload.js +15 -0
- package/dist/defaults/src/views/about/index.html +3 -0
- package/dist/defaults/src/views/main/index.html +8 -0
- package/dist/defaults/src/views/settings/index.html +3 -0
- package/dist/defaults/test/README.md +41 -0
- package/dist/defaults/test/_init.js +10 -0
- package/dist/gulp/main.js +144 -0
- package/dist/gulp/tasks/audit.js +82 -0
- package/dist/gulp/tasks/build-config.js +445 -0
- package/dist/gulp/tasks/bundle.js +451 -0
- package/dist/gulp/tasks/defaults.js +20 -0
- package/dist/gulp/tasks/distribute.js +8 -0
- package/dist/gulp/tasks/html.js +95 -0
- package/dist/gulp/tasks/package-quick.js +102 -0
- package/dist/gulp/tasks/package.js +53 -0
- package/dist/gulp/tasks/release.js +57 -0
- package/dist/gulp/tasks/sass.js +82 -0
- package/dist/gulp/tasks/serve.js +191 -0
- package/dist/hooks/notarize.js +70 -0
- package/dist/index.js +14 -0
- package/dist/lib/_menu-mixin.js +199 -0
- package/dist/lib/analytics.js +360 -0
- package/dist/lib/app-state.js +220 -0
- package/dist/lib/auth-flow.js +160 -0
- package/dist/lib/auth-persistence.js +207 -0
- package/dist/lib/auto-updater.js +752 -0
- package/dist/lib/client-bridge.js +371 -0
- package/dist/lib/context-menu.js +302 -0
- package/dist/lib/context.js +162 -0
- package/dist/lib/deep-link.js +370 -0
- package/dist/lib/fontawesome.js +203 -0
- package/dist/lib/ipc.js +169 -0
- package/dist/lib/logger-lite.js +259 -0
- package/dist/lib/logger.js +4 -0
- package/dist/lib/menu.js +521 -0
- package/dist/lib/protocol.js +85 -0
- package/dist/lib/remote-config.js +224 -0
- package/dist/lib/remote-scripts.js +158 -0
- package/dist/lib/restart-manager/index.js +550 -0
- package/dist/lib/restart-manager/install.js +353 -0
- package/dist/lib/restart-manager/protocol.js +274 -0
- package/dist/lib/sign-helpers/auto-unlock.js +95 -0
- package/dist/lib/sign-helpers/entitlements.js +98 -0
- package/dist/lib/sign-helpers/resolve-icons.js +171 -0
- package/dist/lib/sign-helpers/sign-events.js +75 -0
- package/dist/lib/sign-helpers/update-info.js +186 -0
- package/dist/lib/startup.js +214 -0
- package/dist/lib/storage.js +193 -0
- package/dist/lib/templating.js +85 -0
- package/dist/lib/theme.js +173 -0
- package/dist/lib/tray.js +414 -0
- package/dist/lib/usage.js +141 -0
- package/dist/lib/window-manager.js +509 -0
- package/dist/main.js +542 -0
- package/dist/omega-bin.js +6 -0
- package/dist/preload.js +241 -0
- package/dist/renderer.js +456 -0
- package/dist/test/assert.js +4 -0
- package/dist/test/fixtures/consumer-app/config/omega.json5 +39 -0
- package/dist/test/fixtures/consumer-app/package.json +13 -0
- package/dist/test/fixtures/consumer-app/src/assets/js/components/main/index.js +11 -0
- package/dist/test/fixtures/consumer-app/src/assets/scss/main.scss +3 -0
- package/dist/test/fixtures/consumer-app/src/main.js +17 -0
- package/dist/test/fixtures/consumer-app/src/preload.js +4 -0
- package/dist/test/fixtures/consumer-app/src/views/main/index.html +4 -0
- package/dist/test/harness/boot-entry.js +237 -0
- package/dist/test/harness/main-entry.js +494 -0
- package/dist/test/harness/package.json +6 -0
- package/dist/test/harness/renderer-entry.js +173 -0
- package/dist/test/harness/renderer-preload.js +310 -0
- package/dist/test/harness/renderer.html +12 -0
- package/dist/test/index.js +65 -0
- package/dist/test/runner.js +99 -0
- package/dist/test/runners/boot.js +414 -0
- package/dist/test/runners/electron.js +92 -0
- package/dist/test/runners/render-event.js +46 -0
- package/dist/test/suites/boot/build-isolation.test.js +54 -0
- package/dist/test/suites/boot/consumer-app-boots.test.js +99 -0
- package/dist/test/suites/boot/restart-manager.test.js +38 -0
- package/dist/test/suites/boot/storage-bundled.test.js +59 -0
- package/dist/test/suites/boot/theme.test.js +68 -0
- package/dist/test/suites/boot/view-suite.test.js +47 -0
- package/dist/test/suites/build/attach-log-file.test.js +99 -0
- package/dist/test/suites/build/audit.test.js +271 -0
- package/dist/test/suites/build/boot-fixture.test.js +48 -0
- package/dist/test/suites/build/build-config.test.js +457 -0
- package/dist/test/suites/build/build-verbs.test.js +156 -0
- package/dist/test/suites/build/build-workflow-jobs.test.js +55 -0
- package/dist/test/suites/build/cdp.test.js +89 -0
- package/dist/test/suites/build/cli.test.js +135 -0
- package/dist/test/suites/build/config-schema.test.js +133 -0
- package/dist/test/suites/build/defaults-scaffold.test.js +192 -0
- package/dist/test/suites/build/deliver-certs.test.js +95 -0
- package/dist/test/suites/build/derive-signing-env.test.js +122 -0
- package/dist/test/suites/build/electron-node-version.test.js +49 -0
- package/dist/test/suites/build/electron-targets.test.js +92 -0
- package/dist/test/suites/build/ensure-target.test.js +131 -0
- package/dist/test/suites/build/entitlements.test.js +107 -0
- package/dist/test/suites/build/env-delivery.test.js +166 -0
- package/dist/test/suites/build/env-watch.test.js +86 -0
- package/dist/test/suites/build/exports.test.js +63 -0
- package/dist/test/suites/build/finalize-release.test.js +152 -0
- package/dist/test/suites/build/format-fetch-error.test.js +85 -0
- package/dist/test/suites/build/framework-deps.test.js +173 -0
- package/dist/test/suites/build/get-config.test.js +137 -0
- package/dist/test/suites/build/github-utils.test.js +54 -0
- package/dist/test/suites/build/icon-sheet.test.js +62 -0
- package/dist/test/suites/build/license-stamp.test.js +63 -0
- package/dist/test/suites/build/logger-lite.test.js +148 -0
- package/dist/test/suites/build/logs-command.test.js +226 -0
- package/dist/test/suites/build/manager.test.js +193 -0
- package/dist/test/suites/build/menu-mixin.test.js +130 -0
- package/dist/test/suites/build/merge-line-files.test.js +230 -0
- package/dist/test/suites/build/omega-shell.test.js +94 -0
- package/dist/test/suites/build/omega-tokens.test.js +64 -0
- package/dist/test/suites/build/project-scripts-deps.test.js +90 -0
- package/dist/test/suites/build/push-secrets.test.js +226 -0
- package/dist/test/suites/build/release-pipeline.test.js +365 -0
- package/dist/test/suites/build/renderer-auth-bridge.test.js +158 -0
- package/dist/test/suites/build/renderer-entry-key.test.js +37 -0
- package/dist/test/suites/build/renderer-node-shims.test.js +125 -0
- package/dist/test/suites/build/resolve-icons.test.js +296 -0
- package/dist/test/suites/build/resolve-signing-cert.test.js +342 -0
- package/dist/test/suites/build/restart-manager-install.test.js +178 -0
- package/dist/test/suites/build/restart-manager-protocol.test.js +158 -0
- package/dist/test/suites/build/run-consumer-hook.test.js +137 -0
- package/dist/test/suites/build/runner.test.js +2599 -0
- package/dist/test/suites/build/sanitize-signing-env.test.js +98 -0
- package/dist/test/suites/build/sanitize-url.test.js +78 -0
- package/dist/test/suites/build/secure-remote-url.test.js +42 -0
- package/dist/test/suites/build/sentry.test.js +89 -0
- package/dist/test/suites/build/serve-resolve-electron.test.js +58 -0
- package/dist/test/suites/build/setup-scripts.test.js +172 -0
- package/dist/test/suites/build/sign-events.test.js +90 -0
- package/dist/test/suites/build/sign-windows-e2e.test.js +302 -0
- package/dist/test/suites/build/sign-windows.test.js +313 -0
- package/dist/test/suites/build/strip-dev-blocks.test.js +116 -0
- package/dist/test/suites/build/templating.test.js +95 -0
- package/dist/test/suites/build/test-discovery.test.js +64 -0
- package/dist/test/suites/build/test-stealth.test.js +83 -0
- package/dist/test/suites/build/test-target-no-match.test.js +119 -0
- package/dist/test/suites/build/update-info.test.js +224 -0
- package/dist/test/suites/build/url-helpers.test.js +289 -0
- package/dist/test/suites/build/validate-certs.test.js +103 -0
- package/dist/test/suites/build/validate-config.test.js +90 -0
- package/dist/test/suites/build/verb-logs.test.js +43 -0
- package/dist/test/suites/build/wave5-pins.test.js +35 -0
- package/dist/test/suites/main/analytics.test.js +364 -0
- package/dist/test/suites/main/app-state.test.js +197 -0
- package/dist/test/suites/main/auth-flow.test.js +196 -0
- package/dist/test/suites/main/auth-persistence.test.js +167 -0
- package/dist/test/suites/main/auto-updater.test.js +1138 -0
- package/dist/test/suites/main/boot-sequence.test.js +77 -0
- package/dist/test/suites/main/client-bridge.integration.test.js +134 -0
- package/dist/test/suites/main/client-bridge.test.js +249 -0
- package/dist/test/suites/main/context-menu.test.js +365 -0
- package/dist/test/suites/main/context.test.js +155 -0
- package/dist/test/suites/main/deep-link.test.js +288 -0
- package/dist/test/suites/main/epipe-handler.test.js +40 -0
- package/dist/test/suites/main/fontawesome.test.js +147 -0
- package/dist/test/suites/main/harness-cdp.test.js +49 -0
- package/dist/test/suites/main/ipc.test.js +165 -0
- package/dist/test/suites/main/menu.test.js +419 -0
- package/dist/test/suites/main/protocol.test.js +77 -0
- package/dist/test/suites/main/remote-config.test.js +189 -0
- package/dist/test/suites/main/remote-scripts.test.js +276 -0
- package/dist/test/suites/main/restart-manager.test.js +328 -0
- package/dist/test/suites/main/startup-paths-and-ua.test.js +99 -0
- package/dist/test/suites/main/startup.test.js +129 -0
- package/dist/test/suites/main/stealth-window.test.js +74 -0
- package/dist/test/suites/main/storage.test.js +89 -0
- package/dist/test/suites/main/theme.test.js +137 -0
- package/dist/test/suites/main/tray.test.js +322 -0
- package/dist/test/suites/main/truncate-on-boot.test.js +22 -0
- package/dist/test/suites/main/url-helpers.test.js +429 -0
- package/dist/test/suites/main/usage.test.js +127 -0
- package/dist/test/suites/main/window-bounds.test.js +169 -0
- package/dist/test/suites/main/window-manager.test.js +233 -0
- package/dist/test/suites/renderer/analytics-bridge.test.js +128 -0
- package/dist/test/suites/renderer/cross-context-helpers.test.js +131 -0
- package/dist/test/suites/renderer/fontawesome.test.js +190 -0
- package/dist/test/suites/renderer/round-trip.test.js +107 -0
- package/dist/test/suites/renderer/theme.test.js +118 -0
- package/dist/test/suites/renderer/tooltips.test.js +166 -0
- package/dist/test/suites/renderer/verts.test.js +100 -0
- package/dist/test/suites/renderer/window-em-surface.test.js +107 -0
- package/dist/test/utils/dist-snapshot.js +36 -0
- package/dist/test/utils/extended-mode-warning.js +13 -0
- package/dist/utils/app-root.js +28 -0
- package/dist/utils/attach-log-file.js +4 -0
- package/dist/utils/build-pipeline.js +58 -0
- package/dist/utils/deliver-certs.js +69 -0
- package/dist/utils/derive-signing-env.js +56 -0
- package/dist/utils/dist-root.js +21 -0
- package/dist/utils/electron-node-version.js +48 -0
- package/dist/utils/electron-targets.js +72 -0
- package/dist/utils/format-fetch-error.js +38 -0
- package/dist/utils/github.js +73 -0
- package/dist/utils/load-consumer-file.js +26 -0
- package/dist/utils/merge-line-files.js +5 -0
- package/dist/utils/mode-helpers.js +147 -0
- package/dist/utils/resolve-signing-cert.js +175 -0
- package/dist/utils/run-consumer-hook.js +38 -0
- package/dist/utils/runner-env.js +687 -0
- package/dist/utils/safe-install.js +4 -0
- package/dist/utils/sanitize-signing-env.js +45 -0
- package/dist/utils/sanitize-url.js +28 -0
- package/dist/utils/secure-remote-url.js +25 -0
- package/dist/utils/stealth-window.js +37 -0
- package/dist/utils/test-stealth.js +29 -0
- package/dist/utils/url-helpers.js +169 -0
- package/dist/vendor/account/engine.js +182 -0
- package/dist/vendor/account/features.js +220 -0
- package/dist/vendor/account/index.js +53 -0
- package/dist/vendor/account/schema.js +272 -0
- package/dist/vendor/account/subscription.js +38 -0
- package/dist/vendor/analytics/adapters/ga4.js +26 -0
- package/dist/vendor/analytics/adapters/meta.js +26 -0
- package/dist/vendor/analytics/adapters/resolve.js +130 -0
- package/dist/vendor/analytics/adapters/tiktok.js +27 -0
- package/dist/vendor/analytics/catalog.js +908 -0
- package/dist/vendor/analytics/consent.js +49 -0
- package/dist/vendor/analytics/core.js +141 -0
- package/dist/vendor/analytics/identity.js +136 -0
- package/dist/vendor/analytics/index.js +170 -0
- package/dist/vendor/analytics/logger.js +40 -0
- package/dist/vendor/analytics/transports/browser.js +110 -0
- package/dist/vendor/config/company.js +31 -0
- package/dist/vendor/config/defaults.js +173 -0
- package/dist/vendor/config/demo.js +18 -0
- package/dist/vendor/config/desktop-artifacts.js +110 -0
- package/dist/vendor/config/edit.js +769 -0
- package/dist/vendor/config/env-delivery.js +145 -0
- package/dist/vendor/config/env-rules.js +93 -0
- package/dist/vendor/config/env-schema.js +1078 -0
- package/dist/vendor/config/env.js +445 -0
- package/dist/vendor/config/hooks.js +97 -0
- package/dist/vendor/config/index.js +237 -0
- package/dist/vendor/config/instances.js +208 -0
- package/dist/vendor/config/load.js +490 -0
- package/dist/vendor/config/merge.js +68 -0
- package/dist/vendor/config/order.js +139 -0
- package/dist/vendor/config/ports.js +374 -0
- package/dist/vendor/config/providers.js +32 -0
- package/dist/vendor/config/repo.js +142 -0
- package/dist/vendor/config/retired-keys.js +430 -0
- package/dist/vendor/config/schema.js +1610 -0
- package/dist/vendor/config/secrets.js +50 -0
- package/dist/vendor/config/seed.js +34 -0
- package/dist/vendor/config/site-global.js +205 -0
- package/dist/vendor/config/validate.js +554 -0
- package/dist/vendor/config/winback.js +61 -0
- package/dist/vendor/devkit/actions-secrets.js +145 -0
- package/dist/vendor/devkit/attach-log-file.js +262 -0
- package/dist/vendor/devkit/bundle.js +292 -0
- package/dist/vendor/devkit/certs.js +199 -0
- package/dist/vendor/devkit/ci-workflows.js +520 -0
- package/dist/vendor/devkit/clean-dirs.js +28 -0
- package/dist/vendor/devkit/cli-router.js +156 -0
- package/dist/vendor/devkit/defaults-engine.js +372 -0
- package/dist/vendor/devkit/deploy-precheck.js +54 -0
- package/dist/vendor/devkit/deploy-record.js +180 -0
- package/dist/vendor/devkit/deploy.js +286 -0
- package/dist/vendor/devkit/empty-modules-plugin.js +64 -0
- package/dist/vendor/devkit/env-watch.js +132 -0
- package/dist/vendor/devkit/framework-deps.js +46 -0
- package/dist/vendor/devkit/license.js +155 -0
- package/dist/vendor/devkit/local.js +1905 -0
- package/dist/vendor/devkit/logger.js +128 -0
- package/dist/vendor/devkit/merge-line-files.js +296 -0
- package/dist/vendor/devkit/npm-registry.js +52 -0
- package/dist/vendor/devkit/omega-bin.js +345 -0
- package/dist/vendor/devkit/prompt.js +187 -0
- package/dist/vendor/devkit/safe-install.js +18 -0
- package/dist/vendor/devkit/scaffold-guard.js +96 -0
- package/dist/vendor/devkit/stop-signals.js +28 -0
- package/dist/vendor/devkit/strip-dev-blocks-plugin.js +29 -0
- package/dist/vendor/devkit/strip-dev-blocks.js +32 -0
- package/dist/vendor/devkit/target-dependencies.js +137 -0
- package/dist/vendor/devkit/target-secrets.js +165 -0
- package/dist/vendor/devkit/test/assert.js +120 -0
- package/dist/vendor/devkit/test/define-cases.js +104 -0
- package/dist/vendor/devkit/test/extended-mode-warning.js +22 -0
- package/dist/vendor/devkit/test/runner-core.js +554 -0
- package/dist/vendor/devkit/test/scope.js +162 -0
- package/dist/vendor/devkit/update.js +569 -0
- package/dist/vendor/monitoring/core.js +180 -0
- package/dist/vendor/monitoring/env.js +49 -0
- package/dist/vendor/monitoring/index.js +28 -0
- package/dist/vendor/monitoring/logger.js +39 -0
- package/dist/vendor/monitoring/main.js +99 -0
- package/dist/vendor/monitoring/preload.js +45 -0
- package/dist/vendor/monitoring/renderer.js +87 -0
- package/docs/analytics.md +140 -0
- package/docs/app-state.md +92 -0
- package/docs/audit.md +69 -0
- package/docs/auto-updater.md +243 -0
- package/docs/boot-sequence.md +39 -0
- package/docs/build-system.md +161 -0
- package/docs/cdp-debugging.md +169 -0
- package/docs/client-bridge.md +267 -0
- package/docs/common-mistakes.md +21 -0
- package/docs/config-schema.md +120 -0
- package/docs/context-menu.md +112 -0
- package/docs/context.md +81 -0
- package/docs/css.md +84 -0
- package/docs/deep-link.md +178 -0
- package/docs/environment-detection.md +104 -0
- package/docs/fontawesome.md +107 -0
- package/docs/hooks.md +87 -0
- package/docs/icons.md +79 -0
- package/docs/index.md +279 -0
- package/docs/installer-options.md +162 -0
- package/docs/ipc.md +61 -0
- package/docs/lib-modules.md +53 -0
- package/docs/logging.md +229 -0
- package/docs/menu.md +160 -0
- package/docs/releasing.md +229 -0
- package/docs/remote-config.md +118 -0
- package/docs/remote-scripts.md +144 -0
- package/docs/restart-manager.md +144 -0
- package/docs/runner.md +253 -0
- package/docs/sentry.md +97 -0
- package/docs/shared/agent-docs.md +89 -0
- package/docs/shared/analytics.md +612 -0
- package/docs/shared/brands.md +51 -0
- package/docs/shared/breaking-changes.md +497 -0
- package/docs/shared/config.md +1387 -0
- package/docs/shared/deploys.md +215 -0
- package/docs/shared/icons.md +201 -0
- package/docs/shared/local-dev.md +147 -0
- package/docs/shared/logging.md +202 -0
- package/docs/shared/monitoring.md +153 -0
- package/docs/shared/publishing.md +183 -0
- package/docs/shared/rulings.md +34 -0
- package/docs/shared/testing.md +147 -0
- package/docs/shared/theming.md +604 -0
- package/docs/shared/translation.md +291 -0
- package/docs/shared/updates.md +61 -0
- package/docs/signing.md +267 -0
- package/docs/startup.md +142 -0
- package/docs/storage.md +59 -0
- package/docs/templating.md +101 -0
- package/docs/test-boot-layer.md +157 -0
- package/docs/test-framework.md +357 -0
- package/docs/themes.md +135 -0
- package/docs/tooltips.md +99 -0
- package/docs/tray.md +164 -0
- package/docs/usage.md +58 -0
- package/docs/verts.md +62 -0
- package/docs/windows.md +149 -0
- package/package.json +184 -0
- package/scripts/sync-nvmrc.js +100 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{% comment %} Interior-page masthead cluster: omega-micro eyebrow + the
|
|
2
|
+
omega-display--page h1 (+ optional em accent) + sub line. The calling layout
|
|
3
|
+
owns the band shell (dotgrid section, container, duo/split wrappers, reveal
|
|
4
|
+
stagger) — this is the repeated head only. Breadcrumb-eyebrow pages pass no
|
|
5
|
+
eyebrow and keep their link row in the layout.
|
|
6
|
+
|
|
7
|
+
#467: `first_paint` is the caller saying "this cluster IS the first viewport",
|
|
8
|
+
and the reveal attributes come off — a band the visitor never scrolls to must
|
|
9
|
+
not wait for the observer. The band itself declares data-omega-first-paint;
|
|
10
|
+
this switch keeps the markup honest rather than shipping attributes the
|
|
11
|
+
exemption has already neutralized. {% endcomment %}
|
|
12
|
+
{% iffalsy args.first_paint %}{% assign masthead_reveal = " data-omega-reveal" %}{% endiffalsy %}
|
|
13
|
+
{% iftruthy args.eyebrow %}
|
|
14
|
+
<span class="omega-micro d-block mb-3"{{ masthead_reveal }}>{{ args.eyebrow }}</span>
|
|
15
|
+
{% endiftruthy %}
|
|
16
|
+
<h1 class="omega-display omega-display--page{% if args.h1_class != blank %} {{ args.h1_class }}{% endif %}"{{ masthead_reveal }}>
|
|
17
|
+
{{ args.headline }}{% if args.headline_accent != blank %}
|
|
18
|
+
<em>{{ args.headline_accent }}</em>{% endif %}
|
|
19
|
+
</h1>
|
|
20
|
+
{% iftruthy args.sub %}
|
|
21
|
+
<p class="{{ args.sub_class }}"{{ masthead_reveal }}>{{ args.sub }}</p>
|
|
22
|
+
{% endiftruthy %}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
description: 'Interior-page masthead head cluster — optional omega-micro eyebrow, the omega-display--page h1 with optional <em> accent, optional sub line. A COMPONENT: the page keeps its own shell (dotgrid section, container, duo/split wrappers) and composes this inside it; breadcrumb-eyebrow pages (blog taxonomy, alternative) pass no eyebrow and keep their link row in the layout. SHARED across the interior pages — defaults stay NEUTRAL (spec §6); sub_class/h1_class are mechanical knobs.',
|
|
3
|
+
|
|
4
|
+
args: {
|
|
5
|
+
eyebrow: 'string',
|
|
6
|
+
headline: 'string',
|
|
7
|
+
headline_accent: 'string',
|
|
8
|
+
sub: 'string',
|
|
9
|
+
sub_class: 'string',
|
|
10
|
+
h1_class: 'string',
|
|
11
|
+
first_paint: 'boolean', // #467: this cluster IS the first viewport — drop the reveal attributes, the band's data-omega-first-paint owns the paint
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
defaults: {
|
|
15
|
+
sub_class: 'omega-hero-split__sub',
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
// Showcase variants (spec §9)
|
|
19
|
+
demo: [
|
|
20
|
+
{
|
|
21
|
+
label: 'Eyebrow + accent + sub',
|
|
22
|
+
args: {
|
|
23
|
+
eyebrow: 'Guides',
|
|
24
|
+
headline: 'Everything about',
|
|
25
|
+
headline_accent: 'getting started',
|
|
26
|
+
sub: 'A short standfirst under the display headline.',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{% comment %} Section-head cluster: omega-micro eyebrow + the
|
|
2
|
+
omega-display--section h2 (+ optional em accent) + plain sub line. The
|
|
3
|
+
caller owns the omega-section-head wrapper div (its centering/duo/margin
|
|
4
|
+
classes vary) and anything after the cluster — this is the inner head only.
|
|
5
|
+
Sections compose it too (nested composition): pass the resolved STRING as
|
|
6
|
+
superheadline. {% endcomment %}
|
|
7
|
+
{% iftruthy args.superheadline %}
|
|
8
|
+
<span class="omega-micro">{{ args.superheadline }}</span>
|
|
9
|
+
{% endiftruthy %}
|
|
10
|
+
{% iftruthy args.headline %}
|
|
11
|
+
<h2 class="omega-display omega-display--section">
|
|
12
|
+
{{ args.headline }}{% if args.headline_accent != blank %}
|
|
13
|
+
<em>{{ args.headline_accent }}</em>{% endif %}
|
|
14
|
+
</h2>
|
|
15
|
+
{% endiftruthy %}
|
|
16
|
+
{% iftruthy args.sub %}
|
|
17
|
+
<p>{{ args.sub }}</p>
|
|
18
|
+
{% endiftruthy %}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
description: 'Section-head cluster — optional omega-micro eyebrow, the omega-display--section h2 with optional <em> accent (whole h2 suppressed when headline is blank), optional plain sub line. A COMPONENT: the caller owns the omega-section-head wrapper div and everything after the cluster. Composed by layouts AND by sections (nested composition — pass the resolved string as superheadline, e.g. args.superheadline.text). Fully neutral: no defaults.',
|
|
3
|
+
|
|
4
|
+
args: {
|
|
5
|
+
superheadline: 'string',
|
|
6
|
+
headline: 'string',
|
|
7
|
+
headline_accent: 'string',
|
|
8
|
+
sub: 'string',
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
defaults: {},
|
|
12
|
+
|
|
13
|
+
// Showcase variants (spec §9) — stage_class supplies the wrapper the
|
|
14
|
+
// caller normally owns, so the demo renders in its natural shell.
|
|
15
|
+
demo: [
|
|
16
|
+
{
|
|
17
|
+
label: 'Full cluster',
|
|
18
|
+
stage_class: 'omega-section-head',
|
|
19
|
+
args: {
|
|
20
|
+
superheadline: 'Features',
|
|
21
|
+
headline: 'Built for',
|
|
22
|
+
headline_accent: 'momentum',
|
|
23
|
+
sub: 'A supporting line under the section head.',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{% comment %} The price card's feature bullets — the ONE home of the list
|
|
2
|
+
/pricing's plan cards, its one-time cards and the homepage plan band all
|
|
3
|
+
render (#539). A feature the catalog gave a `definition` becomes the
|
|
4
|
+
dotted-underline hover target Bootstrap's tooltip engine binds (the themes
|
|
5
|
+
initialize tooltips page-wide, so the affordance works anywhere the list
|
|
6
|
+
lands); a feature without one stays plain text. Values print through
|
|
7
|
+
omega_commaify, which passes non-numeric strings ("Unlimited", "24/7")
|
|
8
|
+
through untouched — then escape_once, because a catalog value is TEXT and a
|
|
9
|
+
literal `<` must never open a tag the minifier can eat (#580). {% endcomment %}
|
|
10
|
+
{% if args.features.size > 0 %}
|
|
11
|
+
<ul class="omega-price-card__features">
|
|
12
|
+
{% for feature in args.features %}
|
|
13
|
+
<li>
|
|
14
|
+
<span class="omega-feature-check text-success"><i class="fa-solid fa-check fa-sm"></i></span>
|
|
15
|
+
<span>
|
|
16
|
+
{% if feature.value and feature.value != true %}
|
|
17
|
+
{{ feature.value | omega_commaify | escape_once }}
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% iftruthy feature.definition %}
|
|
20
|
+
<span class="text-decoration-underline text-decoration-dotted cursor-help" data-bs-toggle="tooltip" data-bs-title="{{ feature.definition }}">{{ feature.name }}</span>
|
|
21
|
+
{% endiftruthy %}
|
|
22
|
+
{% iffalsy feature.definition %}
|
|
23
|
+
{{ feature.name }}
|
|
24
|
+
{% endiffalsy %}
|
|
25
|
+
</span>
|
|
26
|
+
</li>
|
|
27
|
+
{% endfor %}
|
|
28
|
+
</ul>
|
|
29
|
+
{% endif %}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
description: 'The price card feature bullets — one green check per feature, the catalog\'s value ahead of its name, and the hover explanation a feature `definition` earns (dotted underline + tooltip). A COMPONENT because three surfaces render the same list: /pricing\'s plan cards, its one-time cards, and the homepage plan band (`marketing/pricing-cards`) — one home, so the hover surface can never exist on one and not the other (#539). The caller owns everything around the list, including the tier-note line above it — which reads `and:` on every surface (Ian 2026-08-24).',
|
|
3
|
+
|
|
4
|
+
args: {
|
|
5
|
+
features: 'array', // composed feature view-models — resolved.pricing plan/product `features`, never hand-authored
|
|
6
|
+
},
|
|
7
|
+
|
|
8
|
+
defaults: {
|
|
9
|
+
// No feature defaults, ever: a feature a brand does not sell is fiction,
|
|
10
|
+
// and the catalog is the one source (C2). An empty list renders nothing.
|
|
11
|
+
features: [],
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
// Showcase variants (spec §9): the list is catalog-driven, so the demo
|
|
15
|
+
// bridges feature view-models the way the pricing composer emits them.
|
|
16
|
+
demo: [
|
|
17
|
+
{
|
|
18
|
+
label: 'With a definition',
|
|
19
|
+
stage_class: 'omega-price-card',
|
|
20
|
+
args: {
|
|
21
|
+
features: [
|
|
22
|
+
{ id: 'requests', name: 'Requests', value: 10000, definition: 'API requests per month.' },
|
|
23
|
+
{ id: 'seats', name: 'Seats', value: 10 },
|
|
24
|
+
{ id: 'projects', name: 'Projects', value: 'Unlimited' },
|
|
25
|
+
{ id: 'support', name: 'Priority support', value: true },
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
`orbit` — the framework's REFERENCE hero animation (#441): what a brand's own
|
|
3
|
+
`src/_hero/<name>/` folder looks like, and the proof that the slot's three
|
|
4
|
+
lanes (markup, style.scss, script.js) all land.
|
|
5
|
+
|
|
6
|
+
A product card at the centre with four satellites tracking around it: the
|
|
7
|
+
"one config, every surface" shape, in the theme's own tokens (no colors, no
|
|
8
|
+
fonts, no sizes of its own — style.scss reads `--omega-*` like every other
|
|
9
|
+
core surface, so it re-inks with the brand).
|
|
10
|
+
|
|
11
|
+
Context-free like a section: the markup renders in an empty scope, so
|
|
12
|
+
`omega_*` tags work and no page data leaks in. The wrapper the tag emits
|
|
13
|
+
carries `data-omega-hero="orbit"`, which is what boots script.js.
|
|
14
|
+
|
|
15
|
+
Reduced motion is style.scss's branch: the ring parks and every satellite
|
|
16
|
+
renders at its final position — a still diagram, never a blank box.
|
|
17
|
+
{% endcomment %}
|
|
18
|
+
<div class="omega-orbit" aria-hidden="true">
|
|
19
|
+
<div class="omega-orbit__ring">
|
|
20
|
+
<span class="omega-orbit__satellite" style="--omega-orbit-index: 0;"><i class="fa-solid fa-globe"></i></span>
|
|
21
|
+
<span class="omega-orbit__satellite" style="--omega-orbit-index: 1;"><i class="fa-solid fa-server"></i></span>
|
|
22
|
+
<span class="omega-orbit__satellite" style="--omega-orbit-index: 2;"><i class="fa-solid fa-desktop"></i></span>
|
|
23
|
+
<span class="omega-orbit__satellite" style="--omega-orbit-index: 3;"><i class="fa-solid fa-puzzle-piece"></i></span>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
<div class="omega-orbit__core">
|
|
27
|
+
<span class="omega-orbit__pulse"></span>
|
|
28
|
+
<i class="fa-solid fa-cube"></i>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `orbit` — the reference hero animation's behavior (#441).
|
|
3
|
+
*
|
|
4
|
+
* The animation itself is pure CSS and needs no JS at all; this is the slot's
|
|
5
|
+
* third lane doing its ONE honest job: an offscreen orbit is CPU spent on
|
|
6
|
+
* nothing, so the loops park when the piece scrolls out of view and resume when
|
|
7
|
+
* it comes back. The §7 presence init calls this once per rendered instance
|
|
8
|
+
* with the wrapper element (`data-omega-hero="orbit"`), exactly like a
|
|
9
|
+
* section.js.
|
|
10
|
+
*
|
|
11
|
+
* No observer (an old browser, a headless render) leaves the CSS running, which
|
|
12
|
+
* is the state it ships in.
|
|
13
|
+
*/
|
|
14
|
+
export default (el) => {
|
|
15
|
+
if (typeof IntersectionObserver !== 'function') {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const $animated = el.querySelectorAll('.omega-orbit__ring, .omega-orbit__satellite, .omega-orbit__pulse');
|
|
20
|
+
|
|
21
|
+
if (!$animated.length) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const observer = new IntersectionObserver((entries) => {
|
|
26
|
+
entries.forEach((entry) => {
|
|
27
|
+
const state = entry.isIntersecting ? 'running' : 'paused';
|
|
28
|
+
$animated.forEach(($node) => { $node.style.animationPlayState = state; });
|
|
29
|
+
});
|
|
30
|
+
}, { threshold: 0 });
|
|
31
|
+
|
|
32
|
+
observer.observe(el);
|
|
33
|
+
};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// `orbit` — the reference hero animation's sheet (#441, the §7 omega:sections
|
|
2
|
+
// lane picks it up like any section.scss).
|
|
3
|
+
//
|
|
4
|
+
// Token-only: every colour, shadow, radius and easing comes off the `--omega-*`
|
|
5
|
+
// design system, so the visual re-inks with the brand instead of carrying a
|
|
6
|
+
// palette of its own. Sizes are `em` off the block's own font-size, so a
|
|
7
|
+
// consumer scales the whole thing with one declaration.
|
|
8
|
+
//
|
|
9
|
+
// The motion is TWO counter-rotations: the ring turns, each satellite turns
|
|
10
|
+
// back by the same amount, so the icons stay upright while they travel. Under
|
|
11
|
+
// `prefers-reduced-motion: reduce` both park and the piece reads as a still
|
|
12
|
+
// diagram — the accessibility contract in docs/shared/theming.md.
|
|
13
|
+
|
|
14
|
+
.omega-orbit {
|
|
15
|
+
--omega-orbit-size: 18em;
|
|
16
|
+
--omega-orbit-duration: 26s;
|
|
17
|
+
|
|
18
|
+
position: relative;
|
|
19
|
+
display: grid;
|
|
20
|
+
place-items: center;
|
|
21
|
+
width: min(var(--omega-orbit-size), 100%);
|
|
22
|
+
aspect-ratio: 1;
|
|
23
|
+
margin-inline: auto;
|
|
24
|
+
font-size: 1rem;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.omega-orbit__ring {
|
|
28
|
+
position: absolute;
|
|
29
|
+
inset: 0;
|
|
30
|
+
border: 1px dashed var(--omega-line);
|
|
31
|
+
border-radius: 50%;
|
|
32
|
+
animation: omega-orbit-spin var(--omega-orbit-duration) linear infinite;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.omega-orbit__satellite {
|
|
36
|
+
position: absolute;
|
|
37
|
+
top: 50%;
|
|
38
|
+
left: 50%;
|
|
39
|
+
display: grid;
|
|
40
|
+
place-items: center;
|
|
41
|
+
width: 3em;
|
|
42
|
+
height: 3em;
|
|
43
|
+
margin: -1.5em 0 0 -1.5em;
|
|
44
|
+
color: var(--omega-accent);
|
|
45
|
+
background: var(--omega-surface);
|
|
46
|
+
border: 1px solid var(--omega-line);
|
|
47
|
+
border-radius: 50%;
|
|
48
|
+
box-shadow: var(--omega-shadow-1);
|
|
49
|
+
// Out to the rim at this satellite's share of the circle, then back upright
|
|
50
|
+
// by whatever the ring has turned.
|
|
51
|
+
transform:
|
|
52
|
+
rotate(calc(90deg * var(--omega-orbit-index)))
|
|
53
|
+
translateY(calc(var(--omega-orbit-size) / -2))
|
|
54
|
+
rotate(calc(-90deg * var(--omega-orbit-index)));
|
|
55
|
+
animation: omega-orbit-counter var(--omega-orbit-duration) linear infinite;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.omega-orbit__core {
|
|
59
|
+
position: relative;
|
|
60
|
+
display: grid;
|
|
61
|
+
place-items: center;
|
|
62
|
+
width: 6em;
|
|
63
|
+
height: 6em;
|
|
64
|
+
font-size: 1.6em;
|
|
65
|
+
color: var(--omega-accent-ink);
|
|
66
|
+
background: var(--omega-accent);
|
|
67
|
+
border-radius: var(--omega-radius-xl);
|
|
68
|
+
box-shadow: var(--omega-shadow-2);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// The core's breathing halo — a ring that grows and fades, never a fill, so
|
|
72
|
+
// nothing behind the card shifts.
|
|
73
|
+
.omega-orbit__pulse {
|
|
74
|
+
position: absolute;
|
|
75
|
+
inset: 0;
|
|
76
|
+
border: 1px solid var(--omega-accent);
|
|
77
|
+
border-radius: inherit;
|
|
78
|
+
animation: omega-orbit-pulse 3.2s var(--omega-ease) infinite;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@keyframes omega-orbit-spin {
|
|
82
|
+
to {
|
|
83
|
+
transform: rotate(360deg);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// The counter-turn: the same rotation, backwards, composed after the satellite's
|
|
88
|
+
// own placement so the icon stays the right way up all the way round.
|
|
89
|
+
@keyframes omega-orbit-counter {
|
|
90
|
+
from {
|
|
91
|
+
transform:
|
|
92
|
+
rotate(calc(90deg * var(--omega-orbit-index)))
|
|
93
|
+
translateY(calc(var(--omega-orbit-size) / -2))
|
|
94
|
+
rotate(calc(-90deg * var(--omega-orbit-index)));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
to {
|
|
98
|
+
transform:
|
|
99
|
+
rotate(calc(90deg * var(--omega-orbit-index)))
|
|
100
|
+
translateY(calc(var(--omega-orbit-size) / -2))
|
|
101
|
+
rotate(calc(-90deg * var(--omega-orbit-index) - 360deg));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@keyframes omega-orbit-pulse {
|
|
106
|
+
from {
|
|
107
|
+
opacity: 0.55;
|
|
108
|
+
transform: scale(1);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
to {
|
|
112
|
+
opacity: 0;
|
|
113
|
+
transform: scale(1.35);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Reduced motion: everything parks at its final state. The satellites keep the
|
|
118
|
+
// placement transform from the base rule (the animations are what is dropped),
|
|
119
|
+
// so the piece still reads as the diagram it is.
|
|
120
|
+
@media (prefers-reduced-motion: reduce) {
|
|
121
|
+
.omega-orbit__ring,
|
|
122
|
+
.omega-orbit__satellite {
|
|
123
|
+
animation: none;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// The halo's own park carries its resting frame too — dropping the animation
|
|
127
|
+
// alone would leave it at the keyframe-less default (fully opaque, unscaled),
|
|
128
|
+
// which is a heavier ring than the loop ever draws.
|
|
129
|
+
.omega-orbit__pulse {
|
|
130
|
+
opacity: 0.55;
|
|
131
|
+
animation: none;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{% comment %} Section data: json-in-_includes (a consumer src/_includes/admin/sections/sidebar.json overrides the packaged one); markup is the shared app-sidebar {% endcomment %}
|
|
2
|
+
{% assign data = site.data._includes.admin.sections.sidebar %}
|
|
3
|
+
{% include global/sections/app-sidebar.html %}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{% comment %} Section data: json-in-_includes (a consumer src/_includes/admin/sections/topbar.json overrides the packaged one); markup is the shared app-topbar {% endcomment %}
|
|
2
|
+
{% assign data = site.data._includes.admin.sections.topbar %}
|
|
3
|
+
{% include global/sections/app-topbar.html %}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{% comment %} Section data: json-in-_includes (a consumer src/_includes/backend/sections/sidebar.json overrides the packaged one); markup is the shared app-sidebar {% endcomment %}
|
|
2
|
+
{% assign data = site.data._includes.backend.sections.sidebar %}
|
|
3
|
+
{% include global/sections/app-sidebar.html %}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{% comment %} Section data: json-in-_includes (a consumer src/_includes/backend/sections/topbar.json overrides the packaged one); markup is the shared app-topbar {% endcomment %}
|
|
2
|
+
{% assign data = site.data._includes.backend.sections.topbar %}
|
|
3
|
+
{% include global/sections/app-topbar.html %}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
One connection card on the account page — the row the connections section's
|
|
3
|
+
JS drives (`connection-<id>` is the element it looks for, and its absence is
|
|
4
|
+
what makes a configured provider render the unsupported warning instead).
|
|
5
|
+
Params: id, name, logo, first (the top card wears no hairline).
|
|
6
|
+
|
|
7
|
+
`logo` takes one of two shapes ([#793](https://github.com/Omega-JS-Stack/omega/issues/793)):
|
|
8
|
+
the NAME of a mark this package ships (`core/logos/brandmarks/original/<name>.svg`),
|
|
9
|
+
drawn inline by omega_logo — what the packaged defaults use — or a full URL,
|
|
10
|
+
drawn as an img. A value carrying a `/` or a `:` is a URL; anything else is a
|
|
11
|
+
mark name.
|
|
12
|
+
{% endcomment %}
|
|
13
|
+
<div id="connection-{{ include.id }}" class="{% unless include.first %}border-top{% endunless %} px-0 py-3 d-none">
|
|
14
|
+
<div class="d-flex flex-column flex-sm-row align-items-stretch align-items-sm-center justify-content-between gap-3">
|
|
15
|
+
<div class="d-flex align-items-center">
|
|
16
|
+
<div class="d-flex align-items-center justify-content-center me-3 flex-shrink-0 fa fa-3xl">
|
|
17
|
+
{% assign logoIsUrl = false %}
|
|
18
|
+
{% if include.logo contains '/' or include.logo contains ':' %}{% assign logoIsUrl = true %}{% endif %}
|
|
19
|
+
{% if logoIsUrl %}
|
|
20
|
+
<img src="{{ include.logo | omega_cachebreak }}" class="object-fit-contain" alt="{{ include.name }} Logo"/>
|
|
21
|
+
{% else %}
|
|
22
|
+
{% omega_logo include.logo %}
|
|
23
|
+
{% endif %}
|
|
24
|
+
</div>
|
|
25
|
+
<div>
|
|
26
|
+
<h6 class="mb-0">{{ include.name }}</h6>
|
|
27
|
+
<small class="text-muted d-block" id="{{ include.id }}-connection-description"></small>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="text-start text-sm-end flex-shrink-0">
|
|
31
|
+
<div>
|
|
32
|
+
<form id="connection-form-{{ include.id }}" class="d-grid d-sm-inline-block" novalidate data-form-state="initializing" onsubmit="return false">
|
|
33
|
+
<input type="hidden" name="provider" value="{{ include.id }}">
|
|
34
|
+
<!-- Connect button -->
|
|
35
|
+
<button type="submit" class="btn btn-sm btn-adaptive" data-action="connect">
|
|
36
|
+
<i class="fa-solid fa-link fa-sm"></i>
|
|
37
|
+
<span class="button-text">Connect</span>
|
|
38
|
+
</button>
|
|
39
|
+
<!-- Disconnect button (hidden by default) -->
|
|
40
|
+
<button type="submit" class="btn btn-sm btn-outline-danger d-none" data-action="disconnect">
|
|
41
|
+
<i class="fa-solid fa-unlink fa-sm"></i>
|
|
42
|
+
<span class="button-text">Disconnect</span>
|
|
43
|
+
</button>
|
|
44
|
+
</form>
|
|
45
|
+
<small class="text-muted d-block mt-1" id="{{ include.id }}-connection-status"></small>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
Base post card: the shared blog grid unit (index, related posts,
|
|
3
|
+
category and tag pages all render the SAME card). UNBOXED (bronn pattern):
|
|
4
|
+
media panel, mono CATEGORY · DATE line, serif title, clamped excerpt.
|
|
5
|
+
Usage: {% include frontend/components/post-card.html post=post %}
|
|
6
|
+
|
|
7
|
+
Media contract: post.image === false → designed no-media panel (serif
|
|
8
|
+
monogram on dotgrid); post.image = "/path.jpg" → that image; absent →
|
|
9
|
+
the legacy /assets/images/blog/post-<id>/ convention via omega_post.
|
|
10
|
+
{% endcomment %}
|
|
11
|
+
{% assign _p = include.post %}
|
|
12
|
+
<article class="omega-post-card">
|
|
13
|
+
<a href="{{ _p.url }}" class="omega-post-card__media{% if _p.post.image == false %} omega-post-card__media--pattern omega-dotgrid{% endif %}">
|
|
14
|
+
{%- if _p.post.image == false -%}
|
|
15
|
+
{%- assign _mono_source = _p.post.categories[0] | default: _p.post.title -%}
|
|
16
|
+
<span class="omega-post-card__monogram" aria-hidden="true">{{ _mono_source | slice: 0 | upcase }}</span>
|
|
17
|
+
{%- elsif _p.post.image -%}
|
|
18
|
+
<img src="{{ site.omega.placeholder.src }}" data-lazy="@src {{ _p.post.image }}" alt="{{ _p.post.title }}">
|
|
19
|
+
{%- else -%}
|
|
20
|
+
{%- omega_post _p.post.id, "image-tag", class="" -%}
|
|
21
|
+
{%- endif -%}
|
|
22
|
+
</a>
|
|
23
|
+
|
|
24
|
+
<div class="omega-post-card__body">
|
|
25
|
+
<div class="omega-post-card__eyebrow">
|
|
26
|
+
{% if _p.post.categories[0] %}
|
|
27
|
+
<a href="/blog/categories/{{ _p.post.categories[0] | slugify }}">{{ _p.post.categories[0] | omega_title_case }}</a>
|
|
28
|
+
<span>·</span>
|
|
29
|
+
{% endif %}
|
|
30
|
+
<time datetime="{{ _p.date | date_to_xmlschema }}">{{ _p.date | date: "%b %d, %Y" }}</time>
|
|
31
|
+
|
|
32
|
+
{% comment %} Generated-content tell (#208): sample content renders on the
|
|
33
|
+
real posts lane, so every listing row of a `generated` document says so.
|
|
34
|
+
Keyed off the frontmatter flag ALONE — no environment check, because
|
|
35
|
+
samples never inject into a production build. It rides the meta line
|
|
36
|
+
(#322): a chip beside the date, above the title, never a row of its
|
|
37
|
+
own. {% endcomment %}
|
|
38
|
+
{% if _p.generated %}<span class="omega-chip omega-generated-badge">TEST</span>{% endif %}
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<h3 class="omega-post-card__title">
|
|
42
|
+
<a href="{{ _p.url }}">{{ _p.post.title }}</a>
|
|
43
|
+
</h3>
|
|
44
|
+
|
|
45
|
+
{%- capture _excerpt -%}{{ _p.post.description }}{%- endcapture -%}
|
|
46
|
+
{%- assign _excerpt = _excerpt | strip -%}
|
|
47
|
+
{%- if _excerpt == '' -%}
|
|
48
|
+
{%- capture _excerpt -%}{{ _p.content | strip_html | strip_newlines | truncate: 150 }}{%- endcapture -%}
|
|
49
|
+
{%- endif -%}
|
|
50
|
+
{% if _excerpt != '' %}
|
|
51
|
+
<p class="omega-post-card__excerpt">{{ _excerpt }}</p>
|
|
52
|
+
{% endif %}
|
|
53
|
+
</div>
|
|
54
|
+
</article>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
The account page's connection cards, from ONE source: the brand's `connections`
|
|
3
|
+
config ([#793](https://github.com/Omega-JS-Stack/omega/issues/793)).
|
|
4
|
+
|
|
5
|
+
Every entry carrying a `name` and a `logo` draws a card. The framework's config
|
|
6
|
+
DEFAULTS carry both (plus a description) for the five providers @omega.js/backend
|
|
7
|
+
ships a module for, so a brand that writes `google: { enabled: true }` gets a
|
|
8
|
+
drawn card and can still overwrite any field. The layout's old `connections:`
|
|
9
|
+
frontmatter rows are gone: they shadowed the config, and their CDN logos 404.
|
|
10
|
+
|
|
11
|
+
A configured provider with no name+logo gets the connections section's
|
|
12
|
+
"unsupported connection" card at runtime, which says what is missing.
|
|
13
|
+
Visibility is the JS's alone: every card renders hidden and the section shows
|
|
14
|
+
the enabled ones.
|
|
15
|
+
{% endcomment %}
|
|
16
|
+
<div id="connections-list">
|
|
17
|
+
<!-- Loading state -->
|
|
18
|
+
<div id="connections-loading" class="text-center py-3">
|
|
19
|
+
<div class="spinner-border spinner-border-sm text-primary" role="status">
|
|
20
|
+
<span class="visually-hidden">Loading connections...</span>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<!-- No connections message (hidden by default) -->
|
|
25
|
+
<div id="connections-empty" class="text-center py-4 text-muted d-none">
|
|
26
|
+
<p>No connections are available right now.</p>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
{% assign connectionCardDrawn = false %}
|
|
30
|
+
{% for entry in resolved.config.connections %}
|
|
31
|
+
{% assign providerId = entry[0] %}
|
|
32
|
+
{% assign provider = entry[1] %}
|
|
33
|
+
{% if provider.name and provider.logo %}
|
|
34
|
+
{% assign isFirstCard = false %}
|
|
35
|
+
{% unless connectionCardDrawn %}
|
|
36
|
+
{% assign isFirstCard = true %}
|
|
37
|
+
{% assign connectionCardDrawn = true %}
|
|
38
|
+
{% endunless %}
|
|
39
|
+
{% include frontend/components/connection-card.html id=providerId name=provider.name logo=provider.logo first=isFirstCard %}
|
|
40
|
+
{% endif %}
|
|
41
|
+
{% endfor %}
|
|
42
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
Account section header — the admin page-header anatomy (icon chip + page
|
|
3
|
+
title + hairline) stamped INSIDE each hash-driven section, so the visible
|
|
4
|
+
page title tracks the active section with zero JS. Params: title, icon.
|
|
5
|
+
{% endcomment %}
|
|
6
|
+
<header class="page-header pb-3 mb-4 hairline-bottom">
|
|
7
|
+
<h2 class="page-title mb-0 d-flex align-items-center">
|
|
8
|
+
<span class="omega-icon-chip omega-icon-chip--neutral me-2"><i class="fa-solid fa-{{ include.icon }} fa-sm"></i></span>
|
|
9
|
+
{{ include.title }}
|
|
10
|
+
</h2>
|
|
11
|
+
</header>
|