@omega.js/extension 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 +194 -0
- package/bin/omega +2 -0
- package/bin/omega-extension +2 -0
- package/bin/omg +2 -0
- package/dist/assets/css/bundles/.gitkeep +0 -0
- package/dist/assets/css/components/content/index.scss +5 -0
- package/dist/assets/css/components/options/index.scss +9 -0
- package/dist/assets/css/components/pages/index.scss +5 -0
- package/dist/assets/css/components/popup/index.scss +9 -0
- package/dist/assets/css/core/_animations.scss +64 -0
- package/dist/assets/css/core/_fontawesome.scss +146 -0
- package/dist/assets/css/core/_initialize.scss +23 -0
- package/dist/assets/css/core/_utilities.scss +80 -0
- package/dist/assets/css/omega-extension.scss +43 -0
- package/dist/assets/css/shell/_index.scss +207 -0
- package/dist/assets/css/tokens/_index.scss +166 -0
- package/dist/assets/js/core/app-shell.js +136 -0
- package/dist/assets/js/libs/initialize-tooltips.js +31 -0
- package/dist/assets/js/libs/recaptcha.js +94 -0
- package/dist/assets/js/main.js +4 -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/background.js +684 -0
- package/dist/build.js +268 -0
- package/dist/cli-run.js +25 -0
- package/dist/cli.js +30 -0
- package/dist/commands/build.js +67 -0
- package/dist/commands/clean.js +29 -0
- package/dist/commands/deploy.js +97 -0
- package/dist/commands/install.js +58 -0
- package/dist/commands/lib/dependencies.js +33 -0
- package/dist/commands/lib/deploy-precheck.js +57 -0
- package/dist/commands/lib/ensure-target.js +151 -0
- package/dist/commands/lib/push-secrets.js +60 -0
- package/dist/commands/migrate.js +77 -0
- package/dist/commands/test.js +110 -0
- package/dist/commands/update.js +21 -0
- package/dist/commands/version.js +12 -0
- package/dist/config/manifest.json +117 -0
- package/dist/config/page-template.html +21 -0
- package/dist/content.js +37 -0
- package/dist/defaults/.github/workflows/publish.yml +86 -0
- package/dist/defaults/.nvmrc +1 -0
- package/dist/defaults/.vscode/settings.json +8 -0
- package/dist/defaults/AGENTS.md +113 -0
- package/dist/defaults/CHANGELOG.md +15 -0
- package/dist/defaults/CLAUDE.md +1 -0
- package/dist/defaults/_.gitignore +75 -0
- package/dist/defaults/config/description.md +46 -0
- package/dist/defaults/config/messages.json +20 -0
- package/dist/defaults/config/omega.json5 +64 -0
- package/dist/defaults/docs/README.md +17 -0
- package/dist/defaults/gulpfile.js +6 -0
- package/dist/defaults/hooks/build/post.js +8 -0
- package/dist/defaults/hooks/build/pre.js +8 -0
- package/dist/defaults/src/assets/css/bundles/.gitkeep +0 -0
- package/dist/defaults/src/assets/css/components/content/index.scss +11 -0
- package/dist/defaults/src/assets/css/components/offscreen/index.scss +4 -0
- package/dist/defaults/src/assets/css/components/options/index.scss +14 -0
- package/dist/defaults/src/assets/css/components/pages/index.scss +10 -0
- package/dist/defaults/src/assets/css/components/popup/index.scss +10 -0
- package/dist/defaults/src/assets/css/components/sidepanel/index.scss +6 -0
- package/dist/defaults/src/assets/css/main.scss +32 -0
- package/dist/defaults/src/assets/images/.gitkeep +0 -0
- package/dist/defaults/src/assets/js/components/background/index.js +25 -0
- package/dist/defaults/src/assets/js/components/content/index.js +22 -0
- package/dist/defaults/src/assets/js/components/offscreen/index.js +25 -0
- package/dist/defaults/src/assets/js/components/options/index.js +22 -0
- package/dist/defaults/src/assets/js/components/pages/index.js +22 -0
- package/dist/defaults/src/assets/js/components/popup/index.js +22 -0
- package/dist/defaults/src/assets/js/components/sidepanel/index.js +20 -0
- package/dist/defaults/src/assets/vendor/.gitkeep +0 -0
- package/dist/defaults/src/manifest.json +131 -0
- package/dist/defaults/src/views/offscreen/index.html +3 -0
- package/dist/defaults/src/views/options/index.html +8 -0
- package/dist/defaults/src/views/pages/index.html +10 -0
- package/dist/defaults/src/views/popup/index.html +4 -0
- package/dist/defaults/src/views/sidepanel/index.html +4 -0
- package/dist/defaults/test/README.md +41 -0
- package/dist/defaults/test/_init.js +10 -0
- package/dist/defaults/test/boot/externally-connectable.test.js +28 -0
- package/dist/gulp/config/locales.js +12 -0
- package/dist/gulp/main.js +78 -0
- package/dist/gulp/tasks/_.js +18 -0
- package/dist/gulp/tasks/audit.js +222 -0
- package/dist/gulp/tasks/bundle.js +687 -0
- package/dist/gulp/tasks/defaults.js +281 -0
- package/dist/gulp/tasks/distribute.js +172 -0
- package/dist/gulp/tasks/fontawesome.js +25 -0
- package/dist/gulp/tasks/html.js +163 -0
- package/dist/gulp/tasks/icons.js +126 -0
- package/dist/gulp/tasks/package.js +742 -0
- package/dist/gulp/tasks/publish.js +417 -0
- package/dist/gulp/tasks/sass.js +252 -0
- package/dist/gulp/tasks/serve.js +103 -0
- package/dist/gulp/tasks/translate.js +252 -0
- package/dist/gulp/tasks/utils/build-json.js +43 -0
- package/dist/gulp/tasks/utils/template-transform.js +50 -0
- package/dist/gulp/templates/BUILD_INSTRUCTIONS.md +69 -0
- package/dist/index.js +46 -0
- package/dist/lib/affiliatizer.js +224 -0
- package/dist/lib/analytics.js +26 -0
- package/dist/lib/auth-helpers.js +213 -0
- package/dist/lib/extension.js +116 -0
- package/dist/lib/icons.js +36 -0
- package/dist/lib/logger-lite.js +35 -0
- package/dist/lib/logger.js +4 -0
- package/dist/lib/messaging.js +48 -0
- package/dist/lib/safe-install.js +4 -0
- package/dist/lib/theme.js +73 -0
- package/dist/lib/verts.js +68 -0
- package/dist/offscreen.js +31 -0
- package/dist/omega-bin.js +6 -0
- package/dist/options.js +80 -0
- package/dist/page.js +80 -0
- package/dist/popup.js +80 -0
- package/dist/sidepanel.js +80 -0
- package/dist/test/assert.js +4 -0
- package/dist/test/fixtures/consumer-extension/dist/background.js +23 -0
- package/dist/test/fixtures/consumer-extension/dist/manifest.json +20 -0
- package/dist/test/fixtures/consumer-extension/dist/options.html +10 -0
- package/dist/test/fixtures/consumer-extension/dist/popup.bundle.js +5 -0
- package/dist/test/fixtures/consumer-extension/dist/popup.html +12 -0
- package/dist/test/harness/extension/background.js +26 -0
- package/dist/test/harness/extension/manifest.json +27 -0
- package/dist/test/harness/extension/options.html +12 -0
- package/dist/test/harness/extension/popup.html +12 -0
- package/dist/test/harness/extension/sidepanel.html +12 -0
- package/dist/test/index.js +63 -0
- package/dist/test/runner.js +99 -0
- package/dist/test/runners/boot.js +221 -0
- package/dist/test/runners/chromium.js +391 -0
- package/dist/test/runners/helpers.js +24 -0
- package/dist/test/suites/background/messaging.test.js +44 -0
- package/dist/test/suites/background/storage.test.js +46 -0
- package/dist/test/suites/background/sw-context.test.js +49 -0
- package/dist/test/suites/boot/build-json-bake.test.js +80 -0
- package/dist/test/suites/boot/extension-loads.test.js +58 -0
- package/dist/test/suites/build/affiliatizer.test.js +64 -0
- package/dist/test/suites/build/app-launch.test.js +65 -0
- package/dist/test/suites/build/attach-log-file.test.js +99 -0
- package/dist/test/suites/build/auth-emulator-gate.test.js +118 -0
- package/dist/test/suites/build/auth-triggers.test.js +71 -0
- package/dist/test/suites/build/boot-discovery.test.js +134 -0
- package/dist/test/suites/build/boot-timeout.test.js +92 -0
- package/dist/test/suites/build/build-error-notification.test.js +122 -0
- package/dist/test/suites/build/build-json-bake.test.js +302 -0
- package/dist/test/suites/build/build-verb.test.js +138 -0
- package/dist/test/suites/build/bundle-targets.test.js +66 -0
- package/dist/test/suites/build/cache-warming.test.js +44 -0
- package/dist/test/suites/build/cli.test.js +150 -0
- package/dist/test/suites/build/default-boot-test.test.js +100 -0
- package/dist/test/suites/build/defaults-scaffold.test.js +287 -0
- package/dist/test/suites/build/deploy-dispatch.test.js +76 -0
- package/dist/test/suites/build/distribute-task.test.js +111 -0
- package/dist/test/suites/build/ensure-target.test.js +141 -0
- package/dist/test/suites/build/env-delivery.test.js +239 -0
- package/dist/test/suites/build/env-watch.test.js +86 -0
- package/dist/test/suites/build/expect.test.js +48 -0
- package/dist/test/suites/build/exports.test.js +53 -0
- package/dist/test/suites/build/extension-fallback.test.js +82 -0
- package/dist/test/suites/build/framework-deps.test.js +176 -0
- package/dist/test/suites/build/global-handlers.test.js +70 -0
- package/dist/test/suites/build/icon-sheet.test.js +74 -0
- package/dist/test/suites/build/logger-lite.test.js +61 -0
- package/dist/test/suites/build/manager.test.js +249 -0
- package/dist/test/suites/build/mode-helpers.test.js +136 -0
- package/dist/test/suites/build/omega-shell.test.js +103 -0
- package/dist/test/suites/build/omega-tokens.test.js +76 -0
- package/dist/test/suites/build/package-task.test.js +831 -0
- package/dist/test/suites/build/setup-scripts.test.js +172 -0
- package/dist/test/suites/build/strip-dev-blocks.test.js +122 -0
- package/dist/test/suites/build/template-replace.test.js +116 -0
- package/dist/test/suites/build/test-discovery.test.js +64 -0
- package/dist/test/suites/build/test-target-no-match.test.js +119 -0
- package/dist/test/suites/build/theme-resolve.test.js +115 -0
- package/dist/test/suites/build/translate.test.js +85 -0
- package/dist/test/suites/build/url-helpers.test.js +119 -0
- package/dist/test/suites/build/verb-logs.test.js +43 -0
- package/dist/test/suites/build/verts-binding.test.js +67 -0
- package/dist/test/suites/build/wakeup-ping.test.js +90 -0
- package/dist/test/suites/build/wave5-messenger.test.js +80 -0
- package/dist/test/suites/view/options-and-sidepanel.test.js +16 -0
- package/dist/test/suites/view/popup-context.test.js +53 -0
- package/dist/test/suites/view/sidepanel.test.js +16 -0
- package/dist/test/utils/extended-mode-warning.js +13 -0
- package/dist/utils/attach-log-file.js +4 -0
- package/dist/utils/mode-helpers.js +117 -0
- package/dist/utils/url-helpers.js +69 -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/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/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/icons.js +178 -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/safe-install.js +18 -0
- package/dist/vendor/devkit/scaffold-guard.js +96 -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/translate/cache.js +84 -0
- package/dist/vendor/devkit/translate/engine.js +243 -0
- package/dist/vendor/devkit/translate/index.js +49 -0
- package/dist/vendor/devkit/translate/languages.js +134 -0
- package/dist/vendor/devkit/translate/providers.js +188 -0
- package/dist/vendor/devkit/update.js +569 -0
- package/docs/affiliatizer.md +81 -0
- package/docs/audit.md +67 -0
- package/docs/auth.md +149 -0
- package/docs/build-system.md +176 -0
- package/docs/cdp-debugging.md +42 -0
- package/docs/cli.md +73 -0
- package/docs/common-mistakes.md +10 -0
- package/docs/components.md +87 -0
- package/docs/css.md +133 -0
- package/docs/defaults.md +72 -0
- package/docs/environment-detection.md +79 -0
- package/docs/extension.md +93 -0
- package/docs/hooks.md +111 -0
- package/docs/icons.md +47 -0
- package/docs/index.md +291 -0
- package/docs/logging.md +33 -0
- package/docs/managers.md +100 -0
- package/docs/offscreen.md +57 -0
- package/docs/publishing.md +182 -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/templating.md +66 -0
- package/docs/test-boot-layer.md +143 -0
- package/docs/test-framework.md +411 -0
- package/docs/themes.md +89 -0
- package/docs/translations.md +73 -0
- package/docs/verts.md +67 -0
- package/docs/xss-prevention.md +95 -0
- package/package.json +159 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: frontend/core/base
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- ═══ Member — portrait split ═══ -->
|
|
6
|
+
<section class="omega-dotgrid" data-omega-dotfield>
|
|
7
|
+
<div class="container">
|
|
8
|
+
{%- capture member_name -%}{%- omega_member resolved.member.id, "name" -%}{%- endcapture -%}
|
|
9
|
+
{%- assign first_name = member_name | split: ' ' | first -%}
|
|
10
|
+
|
|
11
|
+
<!-- Mono breadcrumb -->
|
|
12
|
+
<div class="omega-post-card__eyebrow mb-4" data-omega-reveal>
|
|
13
|
+
<a href="/team">Team</a>
|
|
14
|
+
<span>/</span>
|
|
15
|
+
<span>{{ member_name }}</span>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div class="omega-duo" style="--omega-duo-cols: 4fr 8fr;">
|
|
19
|
+
<!-- Portrait panel + facts -->
|
|
20
|
+
<div class="omega-duo__aside" data-omega-reveal>
|
|
21
|
+
<div class="omega-person mb-4">
|
|
22
|
+
<span class="omega-person__portrait">
|
|
23
|
+
{%- omega_member resolved.member.id, "image-tag", class="" -%}
|
|
24
|
+
</span>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
{% if resolved.member.location or resolved.member.joined %}
|
|
28
|
+
<div class="omega-rowlist">
|
|
29
|
+
{% iftruthy resolved.member.location %}
|
|
30
|
+
<div class="omega-rowlist__item">
|
|
31
|
+
<span>{{ resolved.member.location }}</span>
|
|
32
|
+
<span class="omega-rowlist__meta">Location</span>
|
|
33
|
+
</div>
|
|
34
|
+
{% endiftruthy %}
|
|
35
|
+
{% iftruthy resolved.member.joined %}
|
|
36
|
+
<div class="omega-rowlist__item">
|
|
37
|
+
<span>{{ resolved.member.joined | date: "%B %Y" }}</span>
|
|
38
|
+
<span class="omega-rowlist__meta">Joined</span>
|
|
39
|
+
</div>
|
|
40
|
+
{% endiftruthy %}
|
|
41
|
+
</div>
|
|
42
|
+
{% endif %}
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<!-- Identity + bio -->
|
|
46
|
+
<div data-omega-reveal-stagger="80">
|
|
47
|
+
<h1 class="omega-display omega-display--page" data-omega-reveal>{{ member_name }}</h1>
|
|
48
|
+
|
|
49
|
+
<div class="d-flex align-items-center gap-3 flex-wrap mt-2 mb-4" data-omega-reveal>
|
|
50
|
+
<span class="omega-micro">{{ resolved.member.position }}</span>
|
|
51
|
+
{% iftruthy resolved.member.links %}
|
|
52
|
+
<span class="d-inline-flex gap-2">
|
|
53
|
+
{% for link in resolved.member.links %}
|
|
54
|
+
{% assign link_icon = link.id %}
|
|
55
|
+
{% if link.id == "website" %}{% assign link_icon = "globe" %}{% endif %}
|
|
56
|
+
<a href="{{ link.url }}" class="omega-icon-link" target="_blank" rel="nofollow noopener" title="{{ link.title }}">
|
|
57
|
+
<i class="fa-solid fa-{{ link_icon }} fa-sm"></i>
|
|
58
|
+
</a>
|
|
59
|
+
{% endfor %}
|
|
60
|
+
</span>
|
|
61
|
+
{% endiftruthy %}
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
{% iftruthy resolved.member.description %}
|
|
65
|
+
<p class="omega-statement mb-4" data-omega-reveal>{{ resolved.member.description }}</p>
|
|
66
|
+
{% endiftruthy %}
|
|
67
|
+
|
|
68
|
+
{% if resolved.member.skills or resolved.member.hobbies %}
|
|
69
|
+
<div class="omega-chip-cloud justify-content-start mb-4" data-omega-reveal>
|
|
70
|
+
{% for skill in resolved.member.skills %}
|
|
71
|
+
<span class="omega-chip">{{ skill }}</span>
|
|
72
|
+
{% endfor %}
|
|
73
|
+
{% for hobby in resolved.member.hobbies %}
|
|
74
|
+
<span class="omega-chip omega-chip--accent">{{ hobby }}</span>
|
|
75
|
+
{% endfor %}
|
|
76
|
+
</div>
|
|
77
|
+
{% endif %}
|
|
78
|
+
|
|
79
|
+
<div class="omega-prose" data-omega-reveal>
|
|
80
|
+
{{ content | omega_content_format }}
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
</section>
|
|
86
|
+
|
|
87
|
+
<!-- ═══ The rest of the team ═══ -->
|
|
88
|
+
{% assign _others_count = 0 %}
|
|
89
|
+
{% for other in site.team %}
|
|
90
|
+
{% unless other.url == page.url %}{% assign _others_count = _others_count | plus: 1 %}{% endunless %}
|
|
91
|
+
{% endfor %}
|
|
92
|
+
{% if _others_count > 0 %}
|
|
93
|
+
<section class="pt-0">
|
|
94
|
+
<div class="container">
|
|
95
|
+
<div class="d-flex align-items-center justify-content-between flex-wrap gap-2 mb-4" data-omega-reveal>
|
|
96
|
+
<h2 class="omega-panel-head justify-content-start h5 mb-0">More of the team</h2>
|
|
97
|
+
<a href="/team" class="text-decoration-none small">
|
|
98
|
+
Everyone
|
|
99
|
+
<i class="fa-solid fa-arrow-right fa-xs ms-1"></i>
|
|
100
|
+
</a>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="row g-4" data-omega-reveal-stagger="70">
|
|
104
|
+
{% assign _shown = 0 %}
|
|
105
|
+
{% for other in site.team %}
|
|
106
|
+
{% if other.url == page.url or _shown >= 4 %}{% continue %}{% endif %}
|
|
107
|
+
{% assign _shown = _shown | plus: 1 %}
|
|
108
|
+
<div class="col-lg-3 col-md-4 col-6" data-omega-reveal>
|
|
109
|
+
<div class="omega-person">
|
|
110
|
+
<a href="{{ other.url }}" class="omega-person__portrait">
|
|
111
|
+
{%- omega_member other.id, "image-tag", class="" -%}
|
|
112
|
+
</a>
|
|
113
|
+
<div class="omega-person__body">
|
|
114
|
+
<h3 class="omega-person__name">
|
|
115
|
+
<a href="{{ other.url }}">{%- omega_member other.id, "name" -%}</a>
|
|
116
|
+
</h3>
|
|
117
|
+
<span class="omega-micro omega-person__role">{{ other.member.position }}</span>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
{% endfor %}
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
</section>
|
|
125
|
+
{% endif %}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: frontend/core/base
|
|
3
|
+
|
|
4
|
+
# ═══ /updates — reimagined 2026-07-16: a version TIMELINE (hairline spine,
|
|
5
|
+
# version nodes, latest release featured) instead of a stack of identical
|
|
6
|
+
# cards. Data: site.updates (update.version/title/date/summary/highlights).
|
|
7
|
+
|
|
8
|
+
# Hero Section
|
|
9
|
+
hero:
|
|
10
|
+
headline: "What changed, and"
|
|
11
|
+
headline_accent: "when"
|
|
12
|
+
subheadline: "Every release, its reasons, and the fine print. Newest first."
|
|
13
|
+
|
|
14
|
+
# Updates Section
|
|
15
|
+
updates:
|
|
16
|
+
empty_message: "No releases yet. The first one will land right here."
|
|
17
|
+
view_details: "Read the release notes"
|
|
18
|
+
latest_badge: "Latest"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
<!-- ═══ Masthead ═══ -->
|
|
22
|
+
{% comment %} #467 (after #749): this masthead IS the page's first viewport, so
|
|
23
|
+
the band paints with the document — data-omega-first-paint on the section, no
|
|
24
|
+
stagger container, and the masthead cluster on its first_paint switch. The
|
|
25
|
+
bands below keep the reveal lane. {% endcomment %}
|
|
26
|
+
<section class="omega-dotgrid pb-4" data-omega-first-paint data-omega-dotfield>
|
|
27
|
+
<div class="container">
|
|
28
|
+
{% component "heading/masthead", eyebrow: "Changelog", headline: resolved.hero.headline, headline_accent: resolved.hero.headline_accent, sub: resolved.hero.subheadline, first_paint: true %}
|
|
29
|
+
</div>
|
|
30
|
+
</section>
|
|
31
|
+
|
|
32
|
+
<!-- ═══ The timeline ═══ -->
|
|
33
|
+
<section class="pt-2">
|
|
34
|
+
<div class="container">
|
|
35
|
+
<div class="row justify-content-center">
|
|
36
|
+
<div class="col-lg-9 col-xl-8">
|
|
37
|
+
{% if site.updates %}
|
|
38
|
+
{% assign updates = site.updates | sort: 'update.date' | reverse %}
|
|
39
|
+
{% else %}
|
|
40
|
+
{% assign updates = nil %}
|
|
41
|
+
{% endif %}
|
|
42
|
+
|
|
43
|
+
{% if updates and updates.size > 0 %}
|
|
44
|
+
<div class="omega-timeline" id="updates-list">
|
|
45
|
+
{% for item in updates %}
|
|
46
|
+
{% if item.draft and jekyll.environment == 'production' %}
|
|
47
|
+
{% continue %}
|
|
48
|
+
{% endif %}
|
|
49
|
+
|
|
50
|
+
<article class="omega-timeline__entry {% if forloop.first %}omega-timeline__entry--latest{% endif %}" data-omega-reveal>
|
|
51
|
+
<div class="omega-timeline__node" aria-hidden="true">
|
|
52
|
+
<span class="omega-timeline__dot"></span>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="omega-timeline__meta">
|
|
56
|
+
<span class="omega-timeline__version font-monospace">v{{ item.update.version }}</span>
|
|
57
|
+
{% if forloop.first %}
|
|
58
|
+
<span class="omega-status omega-status--ok"><span class="omega-dot omega-dot--ok"></span>{{ resolved.updates.latest_badge }}</span>
|
|
59
|
+
{% endif %}
|
|
60
|
+
<time class="omega-quiet small" datetime="{{ item.update.date | date: '%Y-%m-%d' }}">{{ item.update.date | date: "%b %d, %Y" }}</time>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="omega-timeline__body">
|
|
64
|
+
<h2 class="omega-timeline__title">
|
|
65
|
+
<a href="{{ item.url }}" class="stretched-link">
|
|
66
|
+
{% iftruthy item.update.title %}{{ item.update.title }}{% endiftruthy %}
|
|
67
|
+
{% iffalsy item.update.title %}Version {{ item.update.version }}{% endiffalsy %}
|
|
68
|
+
</a>
|
|
69
|
+
</h2>
|
|
70
|
+
|
|
71
|
+
{% iftruthy item.update.summary %}
|
|
72
|
+
<p class="omega-timeline__summary omega-quiet">{{ item.update.summary }}</p>
|
|
73
|
+
{% endiftruthy %}
|
|
74
|
+
|
|
75
|
+
{% iftruthy item.update.highlights %}
|
|
76
|
+
<div class="d-flex flex-wrap gap-2 mt-2">
|
|
77
|
+
{% for highlight in item.update.highlights %}
|
|
78
|
+
<span class="omega-chip">{{ highlight.text }}</span>
|
|
79
|
+
{% endfor %}
|
|
80
|
+
</div>
|
|
81
|
+
{% endiftruthy %}
|
|
82
|
+
|
|
83
|
+
<span class="omega-timeline__more small">
|
|
84
|
+
{{ resolved.updates.view_details }}
|
|
85
|
+
<i class="fa-solid fa-arrow-right fa-xs ms-1"></i>
|
|
86
|
+
</span>
|
|
87
|
+
</div>
|
|
88
|
+
</article>
|
|
89
|
+
{% endfor %}
|
|
90
|
+
</div>
|
|
91
|
+
{% else %}
|
|
92
|
+
<div class="omega-status-empty" data-omega-reveal>
|
|
93
|
+
<span class="omega-dot"></span>
|
|
94
|
+
<span>{{ resolved.updates.empty_message }}</span>
|
|
95
|
+
</div>
|
|
96
|
+
{% endif %}
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</section>
|
|
101
|
+
|
|
102
|
+
<!-- ═══ Cross-links ═══ -->
|
|
103
|
+
<section class="pt-0">
|
|
104
|
+
<div class="container">
|
|
105
|
+
<div class="d-flex justify-content-center align-items-center gap-3 omega-quiet small flex-wrap" data-omega-reveal>
|
|
106
|
+
<a href="/status" class="text-decoration-none">
|
|
107
|
+
<i class="fa-solid fa-signal fa-xs me-1"></i>
|
|
108
|
+
System status
|
|
109
|
+
</a>
|
|
110
|
+
<span>•</span>
|
|
111
|
+
<a href="/blog" class="text-decoration-none">
|
|
112
|
+
<i class="fa-solid fa-newspaper fa-xs me-1"></i>
|
|
113
|
+
The blog
|
|
114
|
+
</a>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</section>
|
|
118
|
+
|
|
119
|
+
{{ content | omega_content_format }}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: frontend/core/cover
|
|
3
|
+
|
|
4
|
+
# Update Section
|
|
5
|
+
update:
|
|
6
|
+
version: null
|
|
7
|
+
title: null
|
|
8
|
+
date: null
|
|
9
|
+
summary: null
|
|
10
|
+
highlights: []
|
|
11
|
+
type: "release" # release, hotfix, security, maintenance
|
|
12
|
+
|
|
13
|
+
# Navigation
|
|
14
|
+
navigation:
|
|
15
|
+
back_text: "All updates"
|
|
16
|
+
back_url: "/updates"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<!-- Hero Section -->
|
|
20
|
+
<section class="update-hero omega-dotgrid py-5" data-omega-dotfield>
|
|
21
|
+
<div class="container">
|
|
22
|
+
<div class="row justify-content-center">
|
|
23
|
+
<div class="col-lg-10" data-omega-reveal>
|
|
24
|
+
<!-- Mono breadcrumb -->
|
|
25
|
+
<div class="omega-post-card__eyebrow mb-4">
|
|
26
|
+
<a href="{{ resolved.navigation.back_url }}">{{ resolved.navigation.back_text }}</a>
|
|
27
|
+
<span>/</span>
|
|
28
|
+
<span>v{{ resolved.update.version }}</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<!-- Update Header -->
|
|
32
|
+
<div class="card update-header-card">
|
|
33
|
+
<div class="card-body p-4">
|
|
34
|
+
<div class="d-flex align-items-start gap-3 flex-wrap">
|
|
35
|
+
<span class="omega-icon-chip omega-icon-chip--neutral omega-icon-chip--lg flex-shrink-0">
|
|
36
|
+
{% if resolved.update.type == "security" %}
|
|
37
|
+
<i class="fa-solid fa-shield-halved fa-lg"></i>
|
|
38
|
+
{% elsif resolved.update.type == "hotfix" %}
|
|
39
|
+
<i class="fa-solid fa-bug fa-lg"></i>
|
|
40
|
+
{% elsif resolved.update.type == "maintenance" %}
|
|
41
|
+
<i class="fa-solid fa-wrench fa-lg"></i>
|
|
42
|
+
{% else %}
|
|
43
|
+
<i class="fa-solid fa-rocket fa-lg"></i>
|
|
44
|
+
{% endif %}
|
|
45
|
+
</span>
|
|
46
|
+
<div class="flex-grow-1">
|
|
47
|
+
<div class="d-flex align-items-center gap-2 mb-1 flex-wrap">
|
|
48
|
+
<h1 class="omega-display omega-display--section mb-0">Version {{ resolved.update.version }}</h1>
|
|
49
|
+
{% if resolved.update.type == "security" %}
|
|
50
|
+
<span class="omega-status omega-status--danger"><span class="omega-dot omega-dot--danger"></span>Security</span>
|
|
51
|
+
{% elsif resolved.update.type == "hotfix" %}
|
|
52
|
+
<span class="omega-status omega-status--warn"><span class="omega-dot omega-dot--warn"></span>Hotfix</span>
|
|
53
|
+
{% elsif resolved.update.type == "maintenance" %}
|
|
54
|
+
<span class="omega-status"><span class="omega-dot"></span>Maintenance</span>
|
|
55
|
+
{% else %}
|
|
56
|
+
<span class="omega-chip omega-chip--accent">Release</span>
|
|
57
|
+
{% endif %}
|
|
58
|
+
</div>
|
|
59
|
+
{% iftruthy resolved.update.title %}
|
|
60
|
+
<p class="fs-5 text-muted mb-2">{{ resolved.update.title }}</p>
|
|
61
|
+
{% endiftruthy %}
|
|
62
|
+
<div class="text-muted small">
|
|
63
|
+
<i class="fa-solid fa-calendar me-1"></i>
|
|
64
|
+
{{ resolved.update.date | date: "%B %d, %Y" }}
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
{% iftruthy resolved.update.highlights %}
|
|
70
|
+
<div class="mt-4 pt-3 hairline-top">
|
|
71
|
+
<div class="d-flex flex-wrap gap-2">
|
|
72
|
+
{% for highlight in resolved.update.highlights %}
|
|
73
|
+
<span class="omega-chip">
|
|
74
|
+
{{ highlight.text }}
|
|
75
|
+
</span>
|
|
76
|
+
{% endfor %}
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
{% endiftruthy %}
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
</section>
|
|
86
|
+
|
|
87
|
+
<!-- Update Content Section -->
|
|
88
|
+
<section class="py-5">
|
|
89
|
+
<div class="container">
|
|
90
|
+
<div class="row justify-content-center">
|
|
91
|
+
<div class="col-lg-10">
|
|
92
|
+
<div class="update-content omega-prose" data-omega-reveal>
|
|
93
|
+
{{ content | omega_content_format }}
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</section>
|
|
99
|
+
|
|
100
|
+
<!-- Navigation Section -->
|
|
101
|
+
<section class="py-5 pt-0">
|
|
102
|
+
<div class="container">
|
|
103
|
+
<div class="row justify-content-center">
|
|
104
|
+
<div class="col-lg-10">
|
|
105
|
+
<div class="d-flex justify-content-between align-items-center flex-wrap gap-3" data-omega-reveal>
|
|
106
|
+
<a href="{{ resolved.navigation.back_url }}" class="text-decoration-none">
|
|
107
|
+
<i class="fa-solid fa-arrow-left me-1"></i>
|
|
108
|
+
{{ resolved.navigation.back_text }}
|
|
109
|
+
</a>
|
|
110
|
+
<a href="/status" class="text-decoration-none">
|
|
111
|
+
View system status
|
|
112
|
+
<i class="fa-solid fa-arrow-right ms-1"></i>
|
|
113
|
+
</a>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</section>
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{% capture facts_rail %}
|
|
2
|
+
{% for stat in args.facts %}
|
|
3
|
+
<div class="omega-facts__item">
|
|
4
|
+
<span class="omega-micro omega-facts__label">{{ stat.label }}</span>
|
|
5
|
+
{%- comment %} A value is TEXT, never markup (#580). {% endcomment -%}
|
|
6
|
+
<span class="omega-facts__value omega-facts__value--num" data-omega-countup>{{ stat.number | escape_once }}</span>
|
|
7
|
+
</div>
|
|
8
|
+
{% endfor %}
|
|
9
|
+
{% endcapture %}
|
|
10
|
+
{% comment %} The stats band head (legacy parity): the rail's own
|
|
11
|
+
superheadline/headline/subheadline, rendered only when a composition authors
|
|
12
|
+
them — an unauthored rail is the bare grid it has always been. {% endcomment %}
|
|
13
|
+
{% capture facts_head %}
|
|
14
|
+
{% component "heading/section-head", superheadline: args.facts_head.superheadline.text, headline: args.facts_head.headline, headline_accent: args.facts_head.headline_accent, sub: args.facts_head.subheadline %}
|
|
15
|
+
{% endcapture %}
|
|
16
|
+
{% assign facts_head = facts_head | strip %}
|
|
17
|
+
{% comment %} #467 (after #749): about/hero IS the about page's first viewport,
|
|
18
|
+
so the whole band paints with the document — data-omega-first-paint on the
|
|
19
|
+
section, and no reveal attributes or stagger container inside it. The bands
|
|
20
|
+
below keep the scroll lane. {% endcomment %}
|
|
21
|
+
<section class="omega-dotgrid{% if args.image != blank %} omega-photo-lead-band{% endif %}" data-omega-first-paint data-omega-dotfield>
|
|
22
|
+
<div class="container">
|
|
23
|
+
{% if args.image != blank %}
|
|
24
|
+
<!-- Photo lead: the picture opens the page, the words ride it -->
|
|
25
|
+
<figure class="omega-photo-lead">
|
|
26
|
+
<img class="omega-photo-lead__img" src="{{ args.placeholder }}" data-lazy="@src {{ args.image }}" alt="{{ args.image_alt }}"/>
|
|
27
|
+
<figcaption class="omega-photo-lead__words">
|
|
28
|
+
{% component "heading/masthead", eyebrow: args.superheadline.text | default: args.eyebrow, headline: args.headline, headline_accent: args.headline_accent, sub: args.description, sub_class: "omega-photo-lead__sub", first_paint: true %}
|
|
29
|
+
</figcaption>
|
|
30
|
+
</figure>
|
|
31
|
+
|
|
32
|
+
{% if args.facts %}
|
|
33
|
+
{% iftruthy facts_head %}
|
|
34
|
+
<div class="omega-section-head mt-5">
|
|
35
|
+
{{ facts_head }}
|
|
36
|
+
</div>
|
|
37
|
+
{% endiftruthy %}
|
|
38
|
+
<div class="omega-facts omega-photo-lead__facts" style="--omega-facts-cols: 4;">
|
|
39
|
+
{{ facts_rail }}
|
|
40
|
+
</div>
|
|
41
|
+
{% endif %}
|
|
42
|
+
{% else %}
|
|
43
|
+
<div class="omega-hero-split">
|
|
44
|
+
<div>
|
|
45
|
+
{% component "heading/masthead", eyebrow: args.superheadline.text | default: args.eyebrow, headline: args.headline, headline_accent: args.headline_accent, sub: args.description, first_paint: true %}
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
{% if args.facts %}
|
|
49
|
+
{% iftruthy facts_head %}
|
|
50
|
+
<div>
|
|
51
|
+
<div class="omega-section-head mb-4">
|
|
52
|
+
{{ facts_head }}
|
|
53
|
+
</div>
|
|
54
|
+
<div class="omega-facts" style="--omega-facts-cols: 2;">
|
|
55
|
+
{{ facts_rail }}
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
{% endiftruthy %}
|
|
59
|
+
{% iffalsy facts_head %}
|
|
60
|
+
<div class="omega-facts" style="--omega-facts-cols: 2;">
|
|
61
|
+
{{ facts_rail }}
|
|
62
|
+
</div>
|
|
63
|
+
{% endiffalsy %}
|
|
64
|
+
{% endif %}
|
|
65
|
+
</div>
|
|
66
|
+
{% endif %}
|
|
67
|
+
</div>
|
|
68
|
+
</section>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
description: 'About hero — the dotgrid statement with the facts rail: masthead heading on the left, a 2-col count-up facts grid on the right. Supply image: and the band flips to the PHOTO LEAD: the picture opens the page, the masthead rides it on a scrim, and the facts run as a 4-col rail beneath. No image = the statement layout, unchanged. The layout bridges the page\'s hero words via data: and the facts rail via facts:. Author facts_head (superheadline/headline/subheadline) and the rail gains the stats band\'s own head; leave it unset and the rail renders bare, exactly as before.',
|
|
3
|
+
|
|
4
|
+
args: {
|
|
5
|
+
eyebrow: 'string', // masthead eyebrow fallback; a superheadline.text arg (legacy key) wins over it
|
|
6
|
+
superheadline: 'object', // { text } — legacy hero key, kept for the resolved bridge
|
|
7
|
+
headline: 'string',
|
|
8
|
+
headline_accent: 'string',
|
|
9
|
+
description: 'string',
|
|
10
|
+
facts: 'array', // [{ label, number }] — the right-rail count-up grid; absent = statement only
|
|
11
|
+
facts_head: 'object', // { superheadline: { text }, headline, headline_accent, subheadline } — the stats band's own head above the rail (legacy parity); unauthored = the bare rail
|
|
12
|
+
image: 'string', // the lead photo; unset = the statement layout (no frame, no hole)
|
|
13
|
+
image_alt: 'string', // what the photo SHOWS — content imagery, never decoration
|
|
14
|
+
placeholder: 'string', // first-paint img src swapped by the lazy loader
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
defaults: {
|
|
18
|
+
eyebrow: 'About {{ resolved.config.brand.name }}',
|
|
19
|
+
superheadline: {},
|
|
20
|
+
// No head copy here: the band head is the PAGE's words, and an
|
|
21
|
+
// unauthored rail must render exactly as it always has.
|
|
22
|
+
facts_head: { superheadline: {} },
|
|
23
|
+
headline: 'We make complex things <em>feel simple</em>',
|
|
24
|
+
headline_accent: '',
|
|
25
|
+
description: 'The people and stubborn opinions behind {{ resolved.config.brand.name }}.',
|
|
26
|
+
image: '',
|
|
27
|
+
image_alt: '',
|
|
28
|
+
placeholder: '{{ site.omega.placeholder.src }}',
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
demo: [
|
|
32
|
+
{ label: 'Statement only' },
|
|
33
|
+
{
|
|
34
|
+
label: 'With facts rail',
|
|
35
|
+
args: {
|
|
36
|
+
facts: [
|
|
37
|
+
{ number: '2017', label: 'Founded' },
|
|
38
|
+
{ number: '50+', label: 'Team members' },
|
|
39
|
+
{ number: '1M+', label: 'Happy customers' },
|
|
40
|
+
{ number: '120+', label: 'Countries' },
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
label: 'Photo lead',
|
|
46
|
+
args: {
|
|
47
|
+
image: '/assets/images/core/placeholder/photo-1.jpg',
|
|
48
|
+
image_alt: 'Placeholder artwork in warm amber tones',
|
|
49
|
+
facts: [
|
|
50
|
+
{ number: '2017', label: 'Founded' },
|
|
51
|
+
{ number: '50+', label: 'Team members' },
|
|
52
|
+
{ number: '1M+', label: 'Happy customers' },
|
|
53
|
+
{ number: '120+', label: 'Countries' },
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{%- comment %} The aside earns its column: it renders only when it has
|
|
2
|
+
something to SAY — the ops feed's items, or the aside photo. An emptied feed
|
|
3
|
+
is no feed, so the frame, the chip and the label go with it and the letter
|
|
4
|
+
runs the container's full width. {% endcomment -%}
|
|
5
|
+
{% assign has_feed = false %}
|
|
6
|
+
{% if args.feed_items and args.feed_items.size > 0 %}{% assign has_feed = true %}{% endif %}
|
|
7
|
+
{% assign has_aside = has_feed %}
|
|
8
|
+
{% if args.image != blank %}{% assign has_aside = true %}{% endif %}
|
|
9
|
+
{% capture letter %}
|
|
10
|
+
<div data-omega-reveal-stagger="120">
|
|
11
|
+
<div data-omega-reveal>
|
|
12
|
+
<span class="omega-micro d-block mb-3">{{ args.mission.title }}</span>
|
|
13
|
+
<p class="omega-statement">{{ args.mission.description }}</p>
|
|
14
|
+
</div>
|
|
15
|
+
<hr class="my-4">
|
|
16
|
+
<div data-omega-reveal>
|
|
17
|
+
<span class="omega-micro d-block mb-3">{{ args.vision.title }}</span>
|
|
18
|
+
<p class="omega-statement">{{ args.vision.description }}</p>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
{% endcapture %}
|
|
22
|
+
<section>
|
|
23
|
+
<div class="container">
|
|
24
|
+
{% if has_aside %}
|
|
25
|
+
<div class="omega-duo">
|
|
26
|
+
<div class="omega-duo__aside" data-omega-reveal>
|
|
27
|
+
<span class="omega-micro">{{ args.aside_label }}</span>
|
|
28
|
+
|
|
29
|
+
{% if args.image != blank %}
|
|
30
|
+
<figure class="omega-aside-photo" data-omega-reveal>
|
|
31
|
+
<img src="{{ args.placeholder }}" data-lazy="@src {{ args.image }}" alt="{{ args.image_alt }}"/>
|
|
32
|
+
</figure>
|
|
33
|
+
{% endif %}
|
|
34
|
+
|
|
35
|
+
{% if has_feed %}
|
|
36
|
+
<!-- A living ops feed, not a paragraph -->
|
|
37
|
+
<div class="omega-object position-relative pe-4 mt-4 d-none d-lg-block">
|
|
38
|
+
<div class="omega-fragment pb-5">
|
|
39
|
+
<span class="omega-micro omega-fragment__label">{{ args.feed_label }}</span>
|
|
40
|
+
{% for item in args.feed_items %}
|
|
41
|
+
<div class="omega-fragment__msg">
|
|
42
|
+
<span class="omega-fragment__msg-mark"><i class="fa-solid fa-{{ item.icon }} fa-xs"></i></span>
|
|
43
|
+
<span>{{ item.text }}</span>
|
|
44
|
+
</div>
|
|
45
|
+
{% endfor %}
|
|
46
|
+
</div>
|
|
47
|
+
<div class="omega-fragment-chip omega-float position-absolute bottom-0 end-0 translate-middle-y">
|
|
48
|
+
<span class="omega-dot omega-status--ok"></span>
|
|
49
|
+
{{ args.feed_status }}
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
{% endif %}
|
|
53
|
+
</div>
|
|
54
|
+
{{ letter }}
|
|
55
|
+
</div>
|
|
56
|
+
{% else %}
|
|
57
|
+
{{ letter }}
|
|
58
|
+
{% endif %}
|
|
59
|
+
</div>
|
|
60
|
+
</section>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
description: 'About letter — mission & vision as editorial statements beside the living ops-feed aside (theme flavor markup). Supply image: and a photo sits at the top of the aside, so the statements read beside a picture instead of a wall. Supply feed_items:/feed_status: and the brand\'s real ops feed replaces the placeholder one. Empty feed_items: and the feed is GONE — frame, chip and label with it; with no photo either, the aside itself goes and the letter runs full width. The layout bridges mission:/vision: objects from the page, and honors the page\'s letter: false kill switch.',
|
|
3
|
+
|
|
4
|
+
args: {
|
|
5
|
+
aside_label: 'string',
|
|
6
|
+
feed_label: 'string',
|
|
7
|
+
feed_items: 'array', // [{ icon, text }] — the ops feed's messages; text carries markup. Empty = no feed, and no aside unless a photo holds it
|
|
8
|
+
feed_status: 'string', // the chip riding the foot of the feed
|
|
9
|
+
mission: 'object', // { title, description }
|
|
10
|
+
vision: 'object', // { title, description }
|
|
11
|
+
image: 'string', // aside photo; unset = no frame, the aside as it was
|
|
12
|
+
image_alt: 'string', // what the photo SHOWS — content imagery, never decoration
|
|
13
|
+
placeholder: 'string', // first-paint img src swapped by the lazy loader
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
defaults: {
|
|
17
|
+
aside_label: 'Why we exist',
|
|
18
|
+
feed_label: 'This week at {{ resolved.config.brand.name }}',
|
|
19
|
+
// Placeholder copy, the photo-band way: the demo feed ships so the aside
|
|
20
|
+
// reads as a living one, and a brand's own items REPLACE it wholesale.
|
|
21
|
+
feed_items: [
|
|
22
|
+
{ icon: 'rocket', text: '<strong>v2.4</strong> shipped to production' },
|
|
23
|
+
{ icon: 'user-plus', text: 'Two new faces on support' },
|
|
24
|
+
{ icon: 'quote-left', text: '"Best tool we\'ve adopted this year"' },
|
|
25
|
+
],
|
|
26
|
+
feed_status: 'All systems go',
|
|
27
|
+
mission: {
|
|
28
|
+
title: 'Our mission',
|
|
29
|
+
description: 'To empower individuals and businesses with technology that <em>simplifies</em> complex challenges and unlocks new possibilities for growth.',
|
|
30
|
+
},
|
|
31
|
+
vision: {
|
|
32
|
+
title: 'Our vision',
|
|
33
|
+
description: 'A world where powerful tools feel effortless, where anyone can build, launch, and grow without wrestling the machinery. That\'s the product we <em>refuse to stop</em> working toward.',
|
|
34
|
+
},
|
|
35
|
+
image: '',
|
|
36
|
+
image_alt: '',
|
|
37
|
+
placeholder: '{{ site.omega.placeholder.src }}',
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
demo: [
|
|
41
|
+
{ label: 'Default letter' },
|
|
42
|
+
{
|
|
43
|
+
label: 'With the aside photo',
|
|
44
|
+
args: {
|
|
45
|
+
image: '/assets/images/core/placeholder/photo-3.jpg',
|
|
46
|
+
image_alt: 'Placeholder artwork in soft green tones',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
label: 'No feed — the full-width letter',
|
|
51
|
+
args: {
|
|
52
|
+
feed_items: [],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{% if args.items and args.items.size > 0 %}
|
|
2
|
+
<section class="pt-0">
|
|
3
|
+
<div class="container">
|
|
4
|
+
<div class="omega-photo-band" data-omega-reveal-stagger="90">
|
|
5
|
+
{% for photo in args.items %}
|
|
6
|
+
{% if photo.wide %}
|
|
7
|
+
<div class="omega-photo-band__tile omega-photo-band__tile--wide lazy-loading" data-lazy="@bg {{ photo.src | omega_append_param: 'w', 1600 }}" role="img" aria-label="{{ photo.alt }}" data-omega-reveal>
|
|
8
|
+
{% iftruthy photo.caption %}<span class="omega-photo-band__caption">{{ photo.caption }}</span>{% endiftruthy %}
|
|
9
|
+
</div>
|
|
10
|
+
{% else %}
|
|
11
|
+
<figure class="omega-photo-band__tile" data-omega-reveal>
|
|
12
|
+
<img
|
|
13
|
+
src="{{ args.placeholder }}"
|
|
14
|
+
data-lazy="@srcset {{ photo.src | omega_append_param: 'w', 640 }} 640w, {{ photo.src | omega_append_param: 'w', 1080 }} 1080w"
|
|
15
|
+
sizes="(min-width: 992px) 40vw, 100vw"
|
|
16
|
+
alt="{{ photo.alt }}"/>
|
|
17
|
+
{% iftruthy photo.caption %}<figcaption class="omega-photo-band__caption">{{ photo.caption }}</figcaption>{% endiftruthy %}
|
|
18
|
+
</figure>
|
|
19
|
+
{% endif %}
|
|
20
|
+
{% endfor %}
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</section>
|
|
24
|
+
{% endif %}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
description: 'About photo band — life in pictures: wide tiles span the grid via @bg lazy-load, stills ride responsive @srcset. Empty items suppresses the band (the layout call also honors the page\'s gallery: false kill switch).',
|
|
3
|
+
|
|
4
|
+
args: {
|
|
5
|
+
items: 'array', // [{ src, alt, caption?, wide? }]
|
|
6
|
+
placeholder: 'string', // first-paint img src swapped by the lazy loader
|
|
7
|
+
},
|
|
8
|
+
|
|
9
|
+
defaults: {
|
|
10
|
+
placeholder: '{{ site.omega.placeholder.src }}',
|
|
11
|
+
// The framework never loads an external image at runtime: the default
|
|
12
|
+
// band rides the placeholder set shipped in core/images/placeholder.
|
|
13
|
+
items: [
|
|
14
|
+
{ src: '/assets/images/core/placeholder/photo-1.jpg', alt: 'Placeholder artwork in warm amber tones', caption: 'Shipping week, every week', wide: true },
|
|
15
|
+
{ src: '/assets/images/core/placeholder/photo-2.jpg', alt: 'Placeholder artwork in cool blue tones', caption: 'Pairing beats meetings' },
|
|
16
|
+
{ src: '/assets/images/core/placeholder/photo-3.jpg', alt: 'Placeholder artwork in soft green tones', caption: 'Plans in pencil' },
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
demo: [
|
|
21
|
+
{ label: 'Default band' },
|
|
22
|
+
],
|
|
23
|
+
}
|