@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.
Files changed (684) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +194 -0
  3. package/bin/omega +2 -0
  4. package/bin/omega-extension +2 -0
  5. package/bin/omg +2 -0
  6. package/dist/assets/css/bundles/.gitkeep +0 -0
  7. package/dist/assets/css/components/content/index.scss +5 -0
  8. package/dist/assets/css/components/options/index.scss +9 -0
  9. package/dist/assets/css/components/pages/index.scss +5 -0
  10. package/dist/assets/css/components/popup/index.scss +9 -0
  11. package/dist/assets/css/core/_animations.scss +64 -0
  12. package/dist/assets/css/core/_fontawesome.scss +146 -0
  13. package/dist/assets/css/core/_initialize.scss +23 -0
  14. package/dist/assets/css/core/_utilities.scss +80 -0
  15. package/dist/assets/css/omega-extension.scss +43 -0
  16. package/dist/assets/css/shell/_index.scss +207 -0
  17. package/dist/assets/css/tokens/_index.scss +166 -0
  18. package/dist/assets/js/core/app-shell.js +136 -0
  19. package/dist/assets/js/libs/initialize-tooltips.js +31 -0
  20. package/dist/assets/js/libs/recaptcha.js +94 -0
  21. package/dist/assets/js/main.js +4 -0
  22. package/dist/assets/themes/_template/README.md +115 -0
  23. package/dist/assets/themes/_template/_config.scss +60 -0
  24. package/dist/assets/themes/_template/_theme.js +14 -0
  25. package/dist/assets/themes/_template/_theme.scss +28 -0
  26. package/dist/assets/themes/_template/css/base/_root.scss +19 -0
  27. package/dist/assets/themes/_template/css/components/_components.scss +23 -0
  28. package/dist/assets/themes/base/README.md +5 -0
  29. package/dist/assets/themes/base/_components/data/org-chart/component.html +33 -0
  30. package/dist/assets/themes/base/_components/data/org-chart/component.json5 +33 -0
  31. package/dist/assets/themes/base/_components/data/org-chart/component.scss +183 -0
  32. package/dist/assets/themes/base/_components/heading/masthead/component.html +22 -0
  33. package/dist/assets/themes/base/_components/heading/masthead/component.json5 +30 -0
  34. package/dist/assets/themes/base/_components/heading/section-head/component.html +18 -0
  35. package/dist/assets/themes/base/_components/heading/section-head/component.json5 +27 -0
  36. package/dist/assets/themes/base/_components/pricing/features/component.html +29 -0
  37. package/dist/assets/themes/base/_components/pricing/features/component.json5 +30 -0
  38. package/dist/assets/themes/base/_hero/orbit/index.html +30 -0
  39. package/dist/assets/themes/base/_hero/orbit/script.js +33 -0
  40. package/dist/assets/themes/base/_hero/orbit/style.scss +133 -0
  41. package/dist/assets/themes/base/_includes/admin/sections/sidebar.html +3 -0
  42. package/dist/assets/themes/base/_includes/admin/sections/topbar.html +3 -0
  43. package/dist/assets/themes/base/_includes/backend/sections/sidebar.html +3 -0
  44. package/dist/assets/themes/base/_includes/backend/sections/topbar.html +3 -0
  45. package/dist/assets/themes/base/_includes/frontend/components/connection-card.html +49 -0
  46. package/dist/assets/themes/base/_includes/frontend/components/post-card.html +54 -0
  47. package/dist/assets/themes/base/_includes/frontend/sections/account-connections.html +42 -0
  48. package/dist/assets/themes/base/_includes/frontend/sections/account-section-header.html +11 -0
  49. package/dist/assets/themes/base/_includes/frontend/sections/footer.html +154 -0
  50. package/dist/assets/themes/base/_includes/frontend/sections/nav.html +276 -0
  51. package/dist/assets/themes/base/_includes/global/sections/account.html +72 -0
  52. package/dist/assets/themes/base/_includes/global/sections/app-sidebar.html +248 -0
  53. package/dist/assets/themes/base/_includes/global/sections/app-topbar.html +228 -0
  54. package/dist/assets/themes/base/_includes/global/sections/page-header.html +99 -0
  55. package/dist/assets/themes/base/_layouts/admin/core/minimal-viewport-locked.html +22 -0
  56. package/dist/assets/themes/base/_layouts/admin/core/minimal.html +23 -0
  57. package/dist/assets/themes/base/_layouts/backend/core/base.html +57 -0
  58. package/dist/assets/themes/base/_layouts/backend/core/minimal-viewport-locked.html +32 -0
  59. package/dist/assets/themes/base/_layouts/backend/core/minimal.html +32 -0
  60. package/dist/assets/themes/base/_layouts/backend/pages/dashboard/index.html +230 -0
  61. package/dist/assets/themes/base/_layouts/frontend/core/base.html +31 -0
  62. package/dist/assets/themes/base/_layouts/frontend/core/cover.html +40 -0
  63. package/dist/assets/themes/base/_layouts/frontend/core/minimal.html +47 -0
  64. package/dist/assets/themes/base/_layouts/frontend/pages/404.html +54 -0
  65. package/dist/assets/themes/base/_layouts/frontend/pages/about.html +144 -0
  66. package/dist/assets/themes/base/_layouts/frontend/pages/account/index.html +2104 -0
  67. package/dist/assets/themes/base/_layouts/frontend/pages/alternatives/alternative.html +319 -0
  68. package/dist/assets/themes/base/_layouts/frontend/pages/alternatives/index.html +186 -0
  69. package/dist/assets/themes/base/_layouts/frontend/pages/app.html +142 -0
  70. package/dist/assets/themes/base/_layouts/frontend/pages/auth/reset.html +53 -0
  71. package/dist/assets/themes/base/_layouts/frontend/pages/auth/signin.html +90 -0
  72. package/dist/assets/themes/base/_layouts/frontend/pages/auth/signup.html +141 -0
  73. package/dist/assets/themes/base/_layouts/frontend/pages/auth/token.html +44 -0
  74. package/dist/assets/themes/base/_layouts/frontend/pages/blog/categories/category.html +88 -0
  75. package/dist/assets/themes/base/_layouts/frontend/pages/blog/categories/index.html +88 -0
  76. package/dist/assets/themes/base/_layouts/frontend/pages/blog/index.html +255 -0
  77. package/dist/assets/themes/base/_layouts/frontend/pages/blog/post.html +261 -0
  78. package/dist/assets/themes/base/_layouts/frontend/pages/blog/tags/index.html +84 -0
  79. package/dist/assets/themes/base/_layouts/frontend/pages/blog/tags/tag.html +88 -0
  80. package/dist/assets/themes/base/_layouts/frontend/pages/collection/category.html +72 -0
  81. package/dist/assets/themes/base/_layouts/frontend/pages/collection/document.html +54 -0
  82. package/dist/assets/themes/base/_layouts/frontend/pages/collection/index.html +84 -0
  83. package/dist/assets/themes/base/_layouts/frontend/pages/connections/callback.html +55 -0
  84. package/dist/assets/themes/base/_layouts/frontend/pages/contact.html +214 -0
  85. package/dist/assets/themes/base/_layouts/frontend/pages/download.html +793 -0
  86. package/dist/assets/themes/base/_layouts/frontend/pages/extension/index.html +253 -0
  87. package/dist/assets/themes/base/_layouts/frontend/pages/extension/installed.html +198 -0
  88. package/dist/assets/themes/base/_layouts/frontend/pages/feedback.html +171 -0
  89. package/dist/assets/themes/base/_layouts/frontend/pages/index.html +66 -0
  90. package/dist/assets/themes/base/_layouts/frontend/pages/legal/document.html +78 -0
  91. package/dist/assets/themes/base/_layouts/frontend/pages/payment/checkout.html +459 -0
  92. package/dist/assets/themes/base/_layouts/frontend/pages/payment/confirmation.html +131 -0
  93. package/dist/assets/themes/base/_layouts/frontend/pages/portal/email-preferences.html +104 -0
  94. package/dist/assets/themes/base/_layouts/frontend/pages/pricing.html +596 -0
  95. package/dist/assets/themes/base/_layouts/frontend/pages/status.html +361 -0
  96. package/dist/assets/themes/base/_layouts/frontend/pages/team/index.html +210 -0
  97. package/dist/assets/themes/base/_layouts/frontend/pages/team/member.html +125 -0
  98. package/dist/assets/themes/base/_layouts/frontend/pages/updates/index.html +119 -0
  99. package/dist/assets/themes/base/_layouts/frontend/pages/updates/update.html +118 -0
  100. package/dist/assets/themes/base/_sections/about/hero/section.html +68 -0
  101. package/dist/assets/themes/base/_sections/about/hero/section.json5 +58 -0
  102. package/dist/assets/themes/base/_sections/about/letter/section.html +60 -0
  103. package/dist/assets/themes/base/_sections/about/letter/section.json5 +56 -0
  104. package/dist/assets/themes/base/_sections/about/photo-band/section.html +24 -0
  105. package/dist/assets/themes/base/_sections/about/photo-band/section.json5 +23 -0
  106. package/dist/assets/themes/base/_sections/about/principles/section.html +17 -0
  107. package/dist/assets/themes/base/_sections/about/principles/section.json5 +34 -0
  108. package/dist/assets/themes/base/_sections/about/timeline/section.html +20 -0
  109. package/dist/assets/themes/base/_sections/about/timeline/section.json5 +34 -0
  110. package/dist/assets/themes/base/_sections/marketing/bento/section.html +91 -0
  111. package/dist/assets/themes/base/_sections/marketing/bento/section.json5 +152 -0
  112. package/dist/assets/themes/base/_sections/marketing/cta/section.html +44 -0
  113. package/dist/assets/themes/base/_sections/marketing/cta/section.json5 +47 -0
  114. package/dist/assets/themes/base/_sections/marketing/faq/section.html +52 -0
  115. package/dist/assets/themes/base/_sections/marketing/faq/section.json5 +68 -0
  116. package/dist/assets/themes/base/_sections/marketing/hero/section.html +349 -0
  117. package/dist/assets/themes/base/_sections/marketing/hero/section.json5 +335 -0
  118. package/dist/assets/themes/base/_sections/marketing/newsletter-cta/section.html +38 -0
  119. package/dist/assets/themes/base/_sections/marketing/newsletter-cta/section.js +86 -0
  120. package/dist/assets/themes/base/_sections/marketing/newsletter-cta/section.json5 +29 -0
  121. package/dist/assets/themes/base/_sections/marketing/pricing-cards/section.html +115 -0
  122. package/dist/assets/themes/base/_sections/marketing/pricing-cards/section.json5 +72 -0
  123. package/dist/assets/themes/base/_sections/marketing/product-demo/section.html +62 -0
  124. package/dist/assets/themes/base/_sections/marketing/product-demo/section.js +44 -0
  125. package/dist/assets/themes/base/_sections/marketing/product-demo/section.json5 +52 -0
  126. package/dist/assets/themes/base/_sections/marketing/prose/section.html +22 -0
  127. package/dist/assets/themes/base/_sections/marketing/prose/section.json5 +41 -0
  128. package/dist/assets/themes/base/_sections/marketing/showcase/section.html +35 -0
  129. package/dist/assets/themes/base/_sections/marketing/showcase/section.json5 +52 -0
  130. package/dist/assets/themes/base/_sections/marketing/stats/section.html +32 -0
  131. package/dist/assets/themes/base/_sections/marketing/stats/section.json5 +44 -0
  132. package/dist/assets/themes/base/_sections/marketing/testimonials/section.html +54 -0
  133. package/dist/assets/themes/base/_sections/marketing/testimonials/section.json5 +70 -0
  134. package/dist/assets/themes/base/_sections/marketing/trusted-by/section.html +30 -0
  135. package/dist/assets/themes/base/_sections/marketing/trusted-by/section.json5 +38 -0
  136. package/dist/assets/themes/base/_sections/verts/unit/section.html +7 -0
  137. package/dist/assets/themes/base/_sections/verts/unit/section.js +22 -0
  138. package/dist/assets/themes/base/_sections/verts/unit/section.json5 +24 -0
  139. package/dist/assets/themes/base/_sections/verts/unit/section.scss +24 -0
  140. package/dist/assets/themes/base/_theme.js +13 -0
  141. package/dist/assets/themes/base/_theme.scss +4 -0
  142. package/dist/assets/themes/bootstrap/_theme.js +16 -0
  143. package/dist/assets/themes/bootstrap/_theme.scss +11 -0
  144. package/dist/assets/themes/bootstrap/js/index.esm.js +19 -0
  145. package/dist/assets/themes/bootstrap/js/index.umd.js +34 -0
  146. package/dist/assets/themes/bootstrap/js/src/alert.js +87 -0
  147. package/dist/assets/themes/bootstrap/js/src/base-component.js +86 -0
  148. package/dist/assets/themes/bootstrap/js/src/button.js +72 -0
  149. package/dist/assets/themes/bootstrap/js/src/carousel.js +474 -0
  150. package/dist/assets/themes/bootstrap/js/src/collapse.js +297 -0
  151. package/dist/assets/themes/bootstrap/js/src/dom/data.js +55 -0
  152. package/dist/assets/themes/bootstrap/js/src/dom/event-handler.js +317 -0
  153. package/dist/assets/themes/bootstrap/js/src/dom/manipulator.js +71 -0
  154. package/dist/assets/themes/bootstrap/js/src/dom/selector-engine.js +126 -0
  155. package/dist/assets/themes/bootstrap/js/src/dropdown.js +458 -0
  156. package/dist/assets/themes/bootstrap/js/src/modal.js +378 -0
  157. package/dist/assets/themes/bootstrap/js/src/offcanvas.js +282 -0
  158. package/dist/assets/themes/bootstrap/js/src/popover.js +97 -0
  159. package/dist/assets/themes/bootstrap/js/src/scrollspy.js +296 -0
  160. package/dist/assets/themes/bootstrap/js/src/tab.js +315 -0
  161. package/dist/assets/themes/bootstrap/js/src/toast.js +224 -0
  162. package/dist/assets/themes/bootstrap/js/src/tooltip.js +632 -0
  163. package/dist/assets/themes/bootstrap/js/src/util/backdrop.js +151 -0
  164. package/dist/assets/themes/bootstrap/js/src/util/component-functions.js +35 -0
  165. package/dist/assets/themes/bootstrap/js/src/util/config.js +65 -0
  166. package/dist/assets/themes/bootstrap/js/src/util/focustrap.js +115 -0
  167. package/dist/assets/themes/bootstrap/js/src/util/index.js +306 -0
  168. package/dist/assets/themes/bootstrap/js/src/util/sanitizer.js +117 -0
  169. package/dist/assets/themes/bootstrap/js/src/util/scrollbar.js +114 -0
  170. package/dist/assets/themes/bootstrap/js/src/util/swipe.js +146 -0
  171. package/dist/assets/themes/bootstrap/js/src/util/template-factory.js +160 -0
  172. package/dist/assets/themes/bootstrap/overrides/_accordion.scss +21 -0
  173. package/dist/assets/themes/bootstrap/overrides/_avatars.scss +51 -0
  174. package/dist/assets/themes/bootstrap/overrides/_blog-images.scss +45 -0
  175. package/dist/assets/themes/bootstrap/overrides/_buttons-adaptive.scss +141 -0
  176. package/dist/assets/themes/bootstrap/overrides/_color-shades.scss +25 -0
  177. package/dist/assets/themes/bootstrap/overrides/_cursor-utilities.scss +13 -0
  178. package/dist/assets/themes/bootstrap/overrides/_index.scss +30 -0
  179. package/dist/assets/themes/bootstrap/overrides/_links.scss +26 -0
  180. package/dist/assets/themes/bootstrap/overrides/_soft-colors.scss +99 -0
  181. package/dist/assets/themes/bootstrap/overrides/_spacing-extended.scss +74 -0
  182. package/dist/assets/themes/bootstrap/overrides/_spinners.scss +22 -0
  183. package/dist/assets/themes/bootstrap/overrides/_typography-utilities.scss +40 -0
  184. package/dist/assets/themes/bootstrap/scss/_accordion.scss +153 -0
  185. package/dist/assets/themes/bootstrap/scss/_alert.scss +68 -0
  186. package/dist/assets/themes/bootstrap/scss/_badge.scss +38 -0
  187. package/dist/assets/themes/bootstrap/scss/_breadcrumb.scss +40 -0
  188. package/dist/assets/themes/bootstrap/scss/_button-group.scss +147 -0
  189. package/dist/assets/themes/bootstrap/scss/_buttons.scss +216 -0
  190. package/dist/assets/themes/bootstrap/scss/_card.scss +238 -0
  191. package/dist/assets/themes/bootstrap/scss/_carousel.scss +226 -0
  192. package/dist/assets/themes/bootstrap/scss/_close.scss +66 -0
  193. package/dist/assets/themes/bootstrap/scss/_containers.scss +41 -0
  194. package/dist/assets/themes/bootstrap/scss/_dropdown.scss +250 -0
  195. package/dist/assets/themes/bootstrap/scss/_forms.scss +9 -0
  196. package/dist/assets/themes/bootstrap/scss/_functions.scss +302 -0
  197. package/dist/assets/themes/bootstrap/scss/_grid.scss +39 -0
  198. package/dist/assets/themes/bootstrap/scss/_helpers.scss +12 -0
  199. package/dist/assets/themes/bootstrap/scss/_images.scss +42 -0
  200. package/dist/assets/themes/bootstrap/scss/_list-group.scss +199 -0
  201. package/dist/assets/themes/bootstrap/scss/_maps.scss +174 -0
  202. package/dist/assets/themes/bootstrap/scss/_mixins.scss +42 -0
  203. package/dist/assets/themes/bootstrap/scss/_modal.scss +240 -0
  204. package/dist/assets/themes/bootstrap/scss/_nav.scss +197 -0
  205. package/dist/assets/themes/bootstrap/scss/_navbar.scss +289 -0
  206. package/dist/assets/themes/bootstrap/scss/_offcanvas.scss +147 -0
  207. package/dist/assets/themes/bootstrap/scss/_pagination.scss +109 -0
  208. package/dist/assets/themes/bootstrap/scss/_placeholders.scss +51 -0
  209. package/dist/assets/themes/bootstrap/scss/_popover.scss +196 -0
  210. package/dist/assets/themes/bootstrap/scss/_progress.scss +68 -0
  211. package/dist/assets/themes/bootstrap/scss/_reboot.scss +611 -0
  212. package/dist/assets/themes/bootstrap/scss/_root.scss +187 -0
  213. package/dist/assets/themes/bootstrap/scss/_spinners.scss +85 -0
  214. package/dist/assets/themes/bootstrap/scss/_tables.scss +171 -0
  215. package/dist/assets/themes/bootstrap/scss/_toasts.scss +73 -0
  216. package/dist/assets/themes/bootstrap/scss/_tooltip.scss +119 -0
  217. package/dist/assets/themes/bootstrap/scss/_transitions.scss +27 -0
  218. package/dist/assets/themes/bootstrap/scss/_type.scss +106 -0
  219. package/dist/assets/themes/bootstrap/scss/_utilities.scss +806 -0
  220. package/dist/assets/themes/bootstrap/scss/_variables-dark.scss +102 -0
  221. package/dist/assets/themes/bootstrap/scss/_variables.scss +1753 -0
  222. package/dist/assets/themes/bootstrap/scss/bootstrap-grid.scss +62 -0
  223. package/dist/assets/themes/bootstrap/scss/bootstrap-reboot.scss +10 -0
  224. package/dist/assets/themes/bootstrap/scss/bootstrap-utilities.scss +19 -0
  225. package/dist/assets/themes/bootstrap/scss/bootstrap.scss +52 -0
  226. package/dist/assets/themes/bootstrap/scss/forms/_floating-labels.scss +97 -0
  227. package/dist/assets/themes/bootstrap/scss/forms/_form-check.scss +189 -0
  228. package/dist/assets/themes/bootstrap/scss/forms/_form-control.scss +214 -0
  229. package/dist/assets/themes/bootstrap/scss/forms/_form-range.scss +91 -0
  230. package/dist/assets/themes/bootstrap/scss/forms/_form-select.scss +80 -0
  231. package/dist/assets/themes/bootstrap/scss/forms/_form-text.scss +11 -0
  232. package/dist/assets/themes/bootstrap/scss/forms/_input-group.scss +132 -0
  233. package/dist/assets/themes/bootstrap/scss/forms/_labels.scss +36 -0
  234. package/dist/assets/themes/bootstrap/scss/forms/_validation.scss +12 -0
  235. package/dist/assets/themes/bootstrap/scss/helpers/_clearfix.scss +3 -0
  236. package/dist/assets/themes/bootstrap/scss/helpers/_color-bg.scss +7 -0
  237. package/dist/assets/themes/bootstrap/scss/helpers/_colored-links.scss +30 -0
  238. package/dist/assets/themes/bootstrap/scss/helpers/_focus-ring.scss +5 -0
  239. package/dist/assets/themes/bootstrap/scss/helpers/_icon-link.scss +25 -0
  240. package/dist/assets/themes/bootstrap/scss/helpers/_position.scss +36 -0
  241. package/dist/assets/themes/bootstrap/scss/helpers/_ratio.scss +26 -0
  242. package/dist/assets/themes/bootstrap/scss/helpers/_stacks.scss +15 -0
  243. package/dist/assets/themes/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  244. package/dist/assets/themes/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  245. package/dist/assets/themes/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  246. package/dist/assets/themes/bootstrap/scss/helpers/_vr.scss +8 -0
  247. package/dist/assets/themes/bootstrap/scss/mixins/_alert.scss +18 -0
  248. package/dist/assets/themes/bootstrap/scss/mixins/_backdrop.scss +14 -0
  249. package/dist/assets/themes/bootstrap/scss/mixins/_banner.scss +7 -0
  250. package/dist/assets/themes/bootstrap/scss/mixins/_border-radius.scss +78 -0
  251. package/dist/assets/themes/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  252. package/dist/assets/themes/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  253. package/dist/assets/themes/bootstrap/scss/mixins/_buttons.scss +70 -0
  254. package/dist/assets/themes/bootstrap/scss/mixins/_caret.scss +69 -0
  255. package/dist/assets/themes/bootstrap/scss/mixins/_clearfix.scss +9 -0
  256. package/dist/assets/themes/bootstrap/scss/mixins/_color-mode.scss +21 -0
  257. package/dist/assets/themes/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  258. package/dist/assets/themes/bootstrap/scss/mixins/_container.scss +11 -0
  259. package/dist/assets/themes/bootstrap/scss/mixins/_deprecate.scss +10 -0
  260. package/dist/assets/themes/bootstrap/scss/mixins/_forms.scss +163 -0
  261. package/dist/assets/themes/bootstrap/scss/mixins/_gradients.scss +47 -0
  262. package/dist/assets/themes/bootstrap/scss/mixins/_grid.scss +151 -0
  263. package/dist/assets/themes/bootstrap/scss/mixins/_image.scss +16 -0
  264. package/dist/assets/themes/bootstrap/scss/mixins/_list-group.scss +26 -0
  265. package/dist/assets/themes/bootstrap/scss/mixins/_lists.scss +7 -0
  266. package/dist/assets/themes/bootstrap/scss/mixins/_pagination.scss +10 -0
  267. package/dist/assets/themes/bootstrap/scss/mixins/_reset-text.scss +17 -0
  268. package/dist/assets/themes/bootstrap/scss/mixins/_resize.scss +6 -0
  269. package/dist/assets/themes/bootstrap/scss/mixins/_table-variants.scss +24 -0
  270. package/dist/assets/themes/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  271. package/dist/assets/themes/bootstrap/scss/mixins/_transition.scss +26 -0
  272. package/dist/assets/themes/bootstrap/scss/mixins/_utilities.scss +97 -0
  273. package/dist/assets/themes/bootstrap/scss/mixins/_visually-hidden.scss +38 -0
  274. package/dist/assets/themes/bootstrap/scss/tests/jasmine.js +16 -0
  275. package/dist/assets/themes/bootstrap/scss/tests/mixins/_auto-import-of-variables-dark.test.scss +7 -0
  276. package/dist/assets/themes/bootstrap/scss/tests/mixins/_color-modes.test.scss +69 -0
  277. package/dist/assets/themes/bootstrap/scss/tests/mixins/_media-query-color-mode-full.test.scss +8 -0
  278. package/dist/assets/themes/bootstrap/scss/tests/mixins/_utilities.test.scss +393 -0
  279. package/dist/assets/themes/bootstrap/scss/tests/sass-true/register.js +14 -0
  280. package/dist/assets/themes/bootstrap/scss/tests/sass-true/runner.js +17 -0
  281. package/dist/assets/themes/bootstrap/scss/tests/utilities/_api.test.scss +75 -0
  282. package/dist/assets/themes/bootstrap/scss/utilities/_api.scss +47 -0
  283. package/dist/assets/themes/bootstrap/scss/vendor/_rfs.scss +348 -0
  284. package/dist/assets/themes/classy/README.md +89 -0
  285. package/dist/assets/themes/classy/_config.scss +245 -0
  286. package/dist/assets/themes/classy/_theme.js +31 -0
  287. package/dist/assets/themes/classy/_theme.scss +57 -0
  288. package/dist/assets/themes/classy/css/app/_panels.scss +183 -0
  289. package/dist/assets/themes/classy/css/base/_fonts.scss +79 -0
  290. package/dist/assets/themes/classy/css/base/_no-raise.scss +49 -0
  291. package/dist/assets/themes/classy/css/base/_root.scss +113 -0
  292. package/dist/assets/themes/classy/css/base/_typography.scss +154 -0
  293. package/dist/assets/themes/classy/css/base/_utilities.scss +284 -0
  294. package/dist/assets/themes/classy/css/components/_alerts.scss +51 -0
  295. package/dist/assets/themes/classy/css/components/_badges.scss +46 -0
  296. package/dist/assets/themes/classy/css/components/_buttons.scss +175 -0
  297. package/dist/assets/themes/classy/css/components/_cards.scss +41 -0
  298. package/dist/assets/themes/classy/css/components/_dropdowns.scss +48 -0
  299. package/dist/assets/themes/classy/css/components/_forms.scss +171 -0
  300. package/dist/assets/themes/classy/css/components/_receipt.scss +45 -0
  301. package/dist/assets/themes/classy/css/layout/_footer.scss +298 -0
  302. package/dist/assets/themes/classy/css/layout/_general.scss +209 -0
  303. package/dist/assets/themes/classy/css/layout/_nav.scss +154 -0
  304. package/dist/assets/themes/classy/css/layout/_shell.scss +458 -0
  305. package/dist/assets/themes/classy/css/marketing/_bento.scss +238 -0
  306. package/dist/assets/themes/classy/css/marketing/_content.scss +1328 -0
  307. package/dist/assets/themes/classy/css/marketing/_downloads.scss +246 -0
  308. package/dist/assets/themes/classy/css/marketing/_hero.scss +311 -0
  309. package/dist/assets/themes/classy/css/marketing/_sections.scss +649 -0
  310. package/dist/assets/themes/classy/css/pages/404/index.scss +67 -0
  311. package/dist/assets/themes/classy/css/pages/_auth.scss +235 -0
  312. package/dist/assets/themes/classy/css/pages/admin/firebase/index.scss +22 -0
  313. package/dist/assets/themes/classy/css/pages/blog/[slug].scss +56 -0
  314. package/dist/assets/themes/classy/css/pages/cookies.scss +2 -0
  315. package/dist/assets/themes/classy/css/pages/dashboard/account/index.scss +31 -0
  316. package/dist/assets/themes/classy/css/pages/feedback/index.scss +39 -0
  317. package/dist/assets/themes/classy/css/pages/legal/_document.scss +192 -0
  318. package/dist/assets/themes/classy/css/pages/payment/checkout/index.scss +585 -0
  319. package/dist/assets/themes/classy/css/pages/payment/confirmation/index.scss +9 -0
  320. package/dist/assets/themes/classy/css/pages/privacy.scss +2 -0
  321. package/dist/assets/themes/classy/css/pages/status/index.scss +164 -0
  322. package/dist/assets/themes/classy/css/pages/terms.scss +2 -0
  323. package/dist/assets/themes/classy/css/pages/updates/index.scss +128 -0
  324. package/dist/assets/themes/classy/fonts/inter-italic-latin-ext.woff2 +0 -0
  325. package/dist/assets/themes/classy/fonts/inter-italic-latin.woff2 +0 -0
  326. package/dist/assets/themes/classy/fonts/inter-normal-latin-ext.woff2 +0 -0
  327. package/dist/assets/themes/classy/fonts/inter-normal-latin.woff2 +0 -0
  328. package/dist/assets/themes/classy/fonts/newsreader-italic-latin-ext.woff2 +0 -0
  329. package/dist/assets/themes/classy/fonts/newsreader-italic-latin.woff2 +0 -0
  330. package/dist/assets/themes/classy/fonts/newsreader-normal-latin-ext.woff2 +0 -0
  331. package/dist/assets/themes/classy/fonts/newsreader-normal-latin.woff2 +0 -0
  332. package/dist/assets/themes/classy/js/hero-demo-form.js +56 -0
  333. package/dist/assets/themes/neobrutalism/README.md +118 -0
  334. package/dist/assets/themes/neobrutalism/_config.scss +139 -0
  335. package/dist/assets/themes/neobrutalism/_layouts/frontend/core/base.html +30 -0
  336. package/dist/assets/themes/neobrutalism/_layouts/frontend/pages/index.html +275 -0
  337. package/dist/assets/themes/neobrutalism/_theme.js +24 -0
  338. package/dist/assets/themes/neobrutalism/_theme.scss +61 -0
  339. package/dist/assets/themes/neobrutalism/css/base/_mixins.scss +46 -0
  340. package/dist/assets/themes/neobrutalism/css/base/_root.scss +169 -0
  341. package/dist/assets/themes/neobrutalism/css/base/_typography.scss +61 -0
  342. package/dist/assets/themes/neobrutalism/css/base/_utilities.scss +89 -0
  343. package/dist/assets/themes/neobrutalism/css/components/_billing-toggle.scss +74 -0
  344. package/dist/assets/themes/neobrutalism/css/components/_buttons.scss +148 -0
  345. package/dist/assets/themes/neobrutalism/css/components/_cards.scss +47 -0
  346. package/dist/assets/themes/neobrutalism/css/components/_forms.scss +88 -0
  347. package/dist/assets/themes/neobrutalism/css/components/_marketing.scss +244 -0
  348. package/dist/assets/themes/neobrutalism/css/layout/_general.scss +213 -0
  349. package/dist/assets/themes/neobrutalism/css/layout/_navigation.scss +171 -0
  350. package/dist/assets/themes/neobrutalism/css/pages/index.scss +203 -0
  351. package/dist/assets/themes/neobrutalism/css/pages/pricing/index.scss +58 -0
  352. package/dist/assets/themes/neobrutalism/css/pages/test/libraries/layers/index.scss +7 -0
  353. package/dist/assets/themes/neobrutalism/js/pages/test/libraries/layers/index.js +9 -0
  354. package/dist/assets/themes/newsflash/README.md +117 -0
  355. package/dist/assets/themes/newsflash/_components/heading/lede/component.html +14 -0
  356. package/dist/assets/themes/newsflash/_components/heading/lede/component.json5 +23 -0
  357. package/dist/assets/themes/newsflash/_components/heading/rule-head/component.html +17 -0
  358. package/dist/assets/themes/newsflash/_components/heading/rule-head/component.json5 +23 -0
  359. package/dist/assets/themes/newsflash/_components/news/byline/component.html +12 -0
  360. package/dist/assets/themes/newsflash/_components/news/byline/component.json5 +18 -0
  361. package/dist/assets/themes/newsflash/_components/news/story-card/component.html +25 -0
  362. package/dist/assets/themes/newsflash/_components/news/story-card/component.json5 +21 -0
  363. package/dist/assets/themes/newsflash/_config.scss +147 -0
  364. package/dist/assets/themes/newsflash/_layouts/frontend/core/base.html +51 -0
  365. package/dist/assets/themes/newsflash/_layouts/frontend/pages/blog/index.html +299 -0
  366. package/dist/assets/themes/newsflash/_layouts/frontend/pages/blog/post.html +235 -0
  367. package/dist/assets/themes/newsflash/_layouts/frontend/pages/index.html +328 -0
  368. package/dist/assets/themes/newsflash/_sections/marketing/desks/section.html +39 -0
  369. package/dist/assets/themes/newsflash/_sections/marketing/desks/section.json5 +49 -0
  370. package/dist/assets/themes/newsflash/_sections/marketing/newsletter-cta/section.html +103 -0
  371. package/dist/assets/themes/newsflash/_sections/marketing/newsletter-cta/section.json5 +50 -0
  372. package/dist/assets/themes/newsflash/_sections/marketing/rundown/section.html +28 -0
  373. package/dist/assets/themes/newsflash/_sections/marketing/rundown/section.json5 +40 -0
  374. package/dist/assets/themes/newsflash/_theme.js +24 -0
  375. package/dist/assets/themes/newsflash/_theme.scss +70 -0
  376. package/dist/assets/themes/newsflash/css/base/_fonts.scss +80 -0
  377. package/dist/assets/themes/newsflash/css/base/_mixins.scss +51 -0
  378. package/dist/assets/themes/newsflash/css/base/_root.scss +257 -0
  379. package/dist/assets/themes/newsflash/css/base/_typography.scss +49 -0
  380. package/dist/assets/themes/newsflash/css/base/_utilities.scss +122 -0
  381. package/dist/assets/themes/newsflash/css/components/_badges.scss +65 -0
  382. package/dist/assets/themes/newsflash/css/components/_billing-toggle.scss +61 -0
  383. package/dist/assets/themes/newsflash/css/components/_buttons.scss +139 -0
  384. package/dist/assets/themes/newsflash/css/components/_cards.scss +47 -0
  385. package/dist/assets/themes/newsflash/css/components/_editorial.scss +173 -0
  386. package/dist/assets/themes/newsflash/css/components/_forms.scss +75 -0
  387. package/dist/assets/themes/newsflash/css/components/_infinite-scroll.scss +102 -0
  388. package/dist/assets/themes/newsflash/css/components/_panels.scss +156 -0
  389. package/dist/assets/themes/newsflash/css/components/_ticker.scss +67 -0
  390. package/dist/assets/themes/newsflash/css/layout/_general.scss +330 -0
  391. package/dist/assets/themes/newsflash/css/layout/_navigation.scss +168 -0
  392. package/dist/assets/themes/newsflash/css/pages/404/index.scss +79 -0
  393. package/dist/assets/themes/newsflash/css/pages/blog/[slug].scss +186 -0
  394. package/dist/assets/themes/newsflash/css/pages/blog/index.scss +17 -0
  395. package/dist/assets/themes/newsflash/css/pages/index.scss +157 -0
  396. package/dist/assets/themes/newsflash/css/pages/pricing/index.scss +55 -0
  397. package/dist/assets/themes/newsflash/css/pages/test/libraries/layers/index.scss +7 -0
  398. package/dist/assets/themes/newsflash/fonts/fraunces-italic-latin-ext.woff2 +0 -0
  399. package/dist/assets/themes/newsflash/fonts/fraunces-italic-latin.woff2 +0 -0
  400. package/dist/assets/themes/newsflash/fonts/fraunces-normal-latin-ext.woff2 +0 -0
  401. package/dist/assets/themes/newsflash/fonts/fraunces-normal-latin.woff2 +0 -0
  402. package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-italic-latin-ext.woff2 +0 -0
  403. package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-italic-latin.woff2 +0 -0
  404. package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-normal-latin-ext.woff2 +0 -0
  405. package/dist/assets/themes/newsflash/fonts/schibsted-grotesk-normal-latin.woff2 +0 -0
  406. package/dist/assets/themes/newsflash/js/pages/blog/[slug].js +29 -0
  407. package/dist/assets/themes/newsflash/js/pages/test/libraries/layers/index.js +9 -0
  408. package/dist/background.js +684 -0
  409. package/dist/build.js +268 -0
  410. package/dist/cli-run.js +25 -0
  411. package/dist/cli.js +30 -0
  412. package/dist/commands/build.js +67 -0
  413. package/dist/commands/clean.js +29 -0
  414. package/dist/commands/deploy.js +97 -0
  415. package/dist/commands/install.js +58 -0
  416. package/dist/commands/lib/dependencies.js +33 -0
  417. package/dist/commands/lib/deploy-precheck.js +57 -0
  418. package/dist/commands/lib/ensure-target.js +151 -0
  419. package/dist/commands/lib/push-secrets.js +60 -0
  420. package/dist/commands/migrate.js +77 -0
  421. package/dist/commands/test.js +110 -0
  422. package/dist/commands/update.js +21 -0
  423. package/dist/commands/version.js +12 -0
  424. package/dist/config/manifest.json +117 -0
  425. package/dist/config/page-template.html +21 -0
  426. package/dist/content.js +37 -0
  427. package/dist/defaults/.github/workflows/publish.yml +86 -0
  428. package/dist/defaults/.nvmrc +1 -0
  429. package/dist/defaults/.vscode/settings.json +8 -0
  430. package/dist/defaults/AGENTS.md +113 -0
  431. package/dist/defaults/CHANGELOG.md +15 -0
  432. package/dist/defaults/CLAUDE.md +1 -0
  433. package/dist/defaults/_.gitignore +75 -0
  434. package/dist/defaults/config/description.md +46 -0
  435. package/dist/defaults/config/messages.json +20 -0
  436. package/dist/defaults/config/omega.json5 +64 -0
  437. package/dist/defaults/docs/README.md +17 -0
  438. package/dist/defaults/gulpfile.js +6 -0
  439. package/dist/defaults/hooks/build/post.js +8 -0
  440. package/dist/defaults/hooks/build/pre.js +8 -0
  441. package/dist/defaults/src/assets/css/bundles/.gitkeep +0 -0
  442. package/dist/defaults/src/assets/css/components/content/index.scss +11 -0
  443. package/dist/defaults/src/assets/css/components/offscreen/index.scss +4 -0
  444. package/dist/defaults/src/assets/css/components/options/index.scss +14 -0
  445. package/dist/defaults/src/assets/css/components/pages/index.scss +10 -0
  446. package/dist/defaults/src/assets/css/components/popup/index.scss +10 -0
  447. package/dist/defaults/src/assets/css/components/sidepanel/index.scss +6 -0
  448. package/dist/defaults/src/assets/css/main.scss +32 -0
  449. package/dist/defaults/src/assets/images/.gitkeep +0 -0
  450. package/dist/defaults/src/assets/js/components/background/index.js +25 -0
  451. package/dist/defaults/src/assets/js/components/content/index.js +22 -0
  452. package/dist/defaults/src/assets/js/components/offscreen/index.js +25 -0
  453. package/dist/defaults/src/assets/js/components/options/index.js +22 -0
  454. package/dist/defaults/src/assets/js/components/pages/index.js +22 -0
  455. package/dist/defaults/src/assets/js/components/popup/index.js +22 -0
  456. package/dist/defaults/src/assets/js/components/sidepanel/index.js +20 -0
  457. package/dist/defaults/src/assets/vendor/.gitkeep +0 -0
  458. package/dist/defaults/src/manifest.json +131 -0
  459. package/dist/defaults/src/views/offscreen/index.html +3 -0
  460. package/dist/defaults/src/views/options/index.html +8 -0
  461. package/dist/defaults/src/views/pages/index.html +10 -0
  462. package/dist/defaults/src/views/popup/index.html +4 -0
  463. package/dist/defaults/src/views/sidepanel/index.html +4 -0
  464. package/dist/defaults/test/README.md +41 -0
  465. package/dist/defaults/test/_init.js +10 -0
  466. package/dist/defaults/test/boot/externally-connectable.test.js +28 -0
  467. package/dist/gulp/config/locales.js +12 -0
  468. package/dist/gulp/main.js +78 -0
  469. package/dist/gulp/tasks/_.js +18 -0
  470. package/dist/gulp/tasks/audit.js +222 -0
  471. package/dist/gulp/tasks/bundle.js +687 -0
  472. package/dist/gulp/tasks/defaults.js +281 -0
  473. package/dist/gulp/tasks/distribute.js +172 -0
  474. package/dist/gulp/tasks/fontawesome.js +25 -0
  475. package/dist/gulp/tasks/html.js +163 -0
  476. package/dist/gulp/tasks/icons.js +126 -0
  477. package/dist/gulp/tasks/package.js +742 -0
  478. package/dist/gulp/tasks/publish.js +417 -0
  479. package/dist/gulp/tasks/sass.js +252 -0
  480. package/dist/gulp/tasks/serve.js +103 -0
  481. package/dist/gulp/tasks/translate.js +252 -0
  482. package/dist/gulp/tasks/utils/build-json.js +43 -0
  483. package/dist/gulp/tasks/utils/template-transform.js +50 -0
  484. package/dist/gulp/templates/BUILD_INSTRUCTIONS.md +69 -0
  485. package/dist/index.js +46 -0
  486. package/dist/lib/affiliatizer.js +224 -0
  487. package/dist/lib/analytics.js +26 -0
  488. package/dist/lib/auth-helpers.js +213 -0
  489. package/dist/lib/extension.js +116 -0
  490. package/dist/lib/icons.js +36 -0
  491. package/dist/lib/logger-lite.js +35 -0
  492. package/dist/lib/logger.js +4 -0
  493. package/dist/lib/messaging.js +48 -0
  494. package/dist/lib/safe-install.js +4 -0
  495. package/dist/lib/theme.js +73 -0
  496. package/dist/lib/verts.js +68 -0
  497. package/dist/offscreen.js +31 -0
  498. package/dist/omega-bin.js +6 -0
  499. package/dist/options.js +80 -0
  500. package/dist/page.js +80 -0
  501. package/dist/popup.js +80 -0
  502. package/dist/sidepanel.js +80 -0
  503. package/dist/test/assert.js +4 -0
  504. package/dist/test/fixtures/consumer-extension/dist/background.js +23 -0
  505. package/dist/test/fixtures/consumer-extension/dist/manifest.json +20 -0
  506. package/dist/test/fixtures/consumer-extension/dist/options.html +10 -0
  507. package/dist/test/fixtures/consumer-extension/dist/popup.bundle.js +5 -0
  508. package/dist/test/fixtures/consumer-extension/dist/popup.html +12 -0
  509. package/dist/test/harness/extension/background.js +26 -0
  510. package/dist/test/harness/extension/manifest.json +27 -0
  511. package/dist/test/harness/extension/options.html +12 -0
  512. package/dist/test/harness/extension/popup.html +12 -0
  513. package/dist/test/harness/extension/sidepanel.html +12 -0
  514. package/dist/test/index.js +63 -0
  515. package/dist/test/runner.js +99 -0
  516. package/dist/test/runners/boot.js +221 -0
  517. package/dist/test/runners/chromium.js +391 -0
  518. package/dist/test/runners/helpers.js +24 -0
  519. package/dist/test/suites/background/messaging.test.js +44 -0
  520. package/dist/test/suites/background/storage.test.js +46 -0
  521. package/dist/test/suites/background/sw-context.test.js +49 -0
  522. package/dist/test/suites/boot/build-json-bake.test.js +80 -0
  523. package/dist/test/suites/boot/extension-loads.test.js +58 -0
  524. package/dist/test/suites/build/affiliatizer.test.js +64 -0
  525. package/dist/test/suites/build/app-launch.test.js +65 -0
  526. package/dist/test/suites/build/attach-log-file.test.js +99 -0
  527. package/dist/test/suites/build/auth-emulator-gate.test.js +118 -0
  528. package/dist/test/suites/build/auth-triggers.test.js +71 -0
  529. package/dist/test/suites/build/boot-discovery.test.js +134 -0
  530. package/dist/test/suites/build/boot-timeout.test.js +92 -0
  531. package/dist/test/suites/build/build-error-notification.test.js +122 -0
  532. package/dist/test/suites/build/build-json-bake.test.js +302 -0
  533. package/dist/test/suites/build/build-verb.test.js +138 -0
  534. package/dist/test/suites/build/bundle-targets.test.js +66 -0
  535. package/dist/test/suites/build/cache-warming.test.js +44 -0
  536. package/dist/test/suites/build/cli.test.js +150 -0
  537. package/dist/test/suites/build/default-boot-test.test.js +100 -0
  538. package/dist/test/suites/build/defaults-scaffold.test.js +287 -0
  539. package/dist/test/suites/build/deploy-dispatch.test.js +76 -0
  540. package/dist/test/suites/build/distribute-task.test.js +111 -0
  541. package/dist/test/suites/build/ensure-target.test.js +141 -0
  542. package/dist/test/suites/build/env-delivery.test.js +239 -0
  543. package/dist/test/suites/build/env-watch.test.js +86 -0
  544. package/dist/test/suites/build/expect.test.js +48 -0
  545. package/dist/test/suites/build/exports.test.js +53 -0
  546. package/dist/test/suites/build/extension-fallback.test.js +82 -0
  547. package/dist/test/suites/build/framework-deps.test.js +176 -0
  548. package/dist/test/suites/build/global-handlers.test.js +70 -0
  549. package/dist/test/suites/build/icon-sheet.test.js +74 -0
  550. package/dist/test/suites/build/logger-lite.test.js +61 -0
  551. package/dist/test/suites/build/manager.test.js +249 -0
  552. package/dist/test/suites/build/mode-helpers.test.js +136 -0
  553. package/dist/test/suites/build/omega-shell.test.js +103 -0
  554. package/dist/test/suites/build/omega-tokens.test.js +76 -0
  555. package/dist/test/suites/build/package-task.test.js +831 -0
  556. package/dist/test/suites/build/setup-scripts.test.js +172 -0
  557. package/dist/test/suites/build/strip-dev-blocks.test.js +122 -0
  558. package/dist/test/suites/build/template-replace.test.js +116 -0
  559. package/dist/test/suites/build/test-discovery.test.js +64 -0
  560. package/dist/test/suites/build/test-target-no-match.test.js +119 -0
  561. package/dist/test/suites/build/theme-resolve.test.js +115 -0
  562. package/dist/test/suites/build/translate.test.js +85 -0
  563. package/dist/test/suites/build/url-helpers.test.js +119 -0
  564. package/dist/test/suites/build/verb-logs.test.js +43 -0
  565. package/dist/test/suites/build/verts-binding.test.js +67 -0
  566. package/dist/test/suites/build/wakeup-ping.test.js +90 -0
  567. package/dist/test/suites/build/wave5-messenger.test.js +80 -0
  568. package/dist/test/suites/view/options-and-sidepanel.test.js +16 -0
  569. package/dist/test/suites/view/popup-context.test.js +53 -0
  570. package/dist/test/suites/view/sidepanel.test.js +16 -0
  571. package/dist/test/utils/extended-mode-warning.js +13 -0
  572. package/dist/utils/attach-log-file.js +4 -0
  573. package/dist/utils/mode-helpers.js +117 -0
  574. package/dist/utils/url-helpers.js +69 -0
  575. package/dist/vendor/account/engine.js +182 -0
  576. package/dist/vendor/account/features.js +220 -0
  577. package/dist/vendor/account/index.js +53 -0
  578. package/dist/vendor/account/schema.js +272 -0
  579. package/dist/vendor/account/subscription.js +38 -0
  580. package/dist/vendor/config/company.js +31 -0
  581. package/dist/vendor/config/defaults.js +173 -0
  582. package/dist/vendor/config/demo.js +18 -0
  583. package/dist/vendor/config/desktop-artifacts.js +110 -0
  584. package/dist/vendor/config/edit.js +769 -0
  585. package/dist/vendor/config/env-delivery.js +145 -0
  586. package/dist/vendor/config/env-rules.js +93 -0
  587. package/dist/vendor/config/env-schema.js +1078 -0
  588. package/dist/vendor/config/env.js +445 -0
  589. package/dist/vendor/config/hooks.js +97 -0
  590. package/dist/vendor/config/index.js +237 -0
  591. package/dist/vendor/config/instances.js +208 -0
  592. package/dist/vendor/config/load.js +490 -0
  593. package/dist/vendor/config/merge.js +68 -0
  594. package/dist/vendor/config/order.js +139 -0
  595. package/dist/vendor/config/ports.js +374 -0
  596. package/dist/vendor/config/providers.js +32 -0
  597. package/dist/vendor/config/repo.js +142 -0
  598. package/dist/vendor/config/retired-keys.js +430 -0
  599. package/dist/vendor/config/schema.js +1610 -0
  600. package/dist/vendor/config/secrets.js +50 -0
  601. package/dist/vendor/config/seed.js +34 -0
  602. package/dist/vendor/config/site-global.js +205 -0
  603. package/dist/vendor/config/validate.js +554 -0
  604. package/dist/vendor/config/winback.js +61 -0
  605. package/dist/vendor/devkit/actions-secrets.js +145 -0
  606. package/dist/vendor/devkit/attach-log-file.js +262 -0
  607. package/dist/vendor/devkit/bundle.js +292 -0
  608. package/dist/vendor/devkit/ci-workflows.js +520 -0
  609. package/dist/vendor/devkit/clean-dirs.js +28 -0
  610. package/dist/vendor/devkit/cli-router.js +156 -0
  611. package/dist/vendor/devkit/defaults-engine.js +372 -0
  612. package/dist/vendor/devkit/deploy-precheck.js +54 -0
  613. package/dist/vendor/devkit/deploy-record.js +180 -0
  614. package/dist/vendor/devkit/deploy.js +286 -0
  615. package/dist/vendor/devkit/empty-modules-plugin.js +64 -0
  616. package/dist/vendor/devkit/env-watch.js +132 -0
  617. package/dist/vendor/devkit/framework-deps.js +46 -0
  618. package/dist/vendor/devkit/icons.js +178 -0
  619. package/dist/vendor/devkit/license.js +155 -0
  620. package/dist/vendor/devkit/local.js +1905 -0
  621. package/dist/vendor/devkit/logger.js +128 -0
  622. package/dist/vendor/devkit/merge-line-files.js +296 -0
  623. package/dist/vendor/devkit/npm-registry.js +52 -0
  624. package/dist/vendor/devkit/omega-bin.js +345 -0
  625. package/dist/vendor/devkit/safe-install.js +18 -0
  626. package/dist/vendor/devkit/scaffold-guard.js +96 -0
  627. package/dist/vendor/devkit/strip-dev-blocks-plugin.js +29 -0
  628. package/dist/vendor/devkit/strip-dev-blocks.js +32 -0
  629. package/dist/vendor/devkit/target-dependencies.js +137 -0
  630. package/dist/vendor/devkit/target-secrets.js +165 -0
  631. package/dist/vendor/devkit/test/assert.js +120 -0
  632. package/dist/vendor/devkit/test/define-cases.js +104 -0
  633. package/dist/vendor/devkit/test/extended-mode-warning.js +22 -0
  634. package/dist/vendor/devkit/test/runner-core.js +554 -0
  635. package/dist/vendor/devkit/test/scope.js +162 -0
  636. package/dist/vendor/devkit/translate/cache.js +84 -0
  637. package/dist/vendor/devkit/translate/engine.js +243 -0
  638. package/dist/vendor/devkit/translate/index.js +49 -0
  639. package/dist/vendor/devkit/translate/languages.js +134 -0
  640. package/dist/vendor/devkit/translate/providers.js +188 -0
  641. package/dist/vendor/devkit/update.js +569 -0
  642. package/docs/affiliatizer.md +81 -0
  643. package/docs/audit.md +67 -0
  644. package/docs/auth.md +149 -0
  645. package/docs/build-system.md +176 -0
  646. package/docs/cdp-debugging.md +42 -0
  647. package/docs/cli.md +73 -0
  648. package/docs/common-mistakes.md +10 -0
  649. package/docs/components.md +87 -0
  650. package/docs/css.md +133 -0
  651. package/docs/defaults.md +72 -0
  652. package/docs/environment-detection.md +79 -0
  653. package/docs/extension.md +93 -0
  654. package/docs/hooks.md +111 -0
  655. package/docs/icons.md +47 -0
  656. package/docs/index.md +291 -0
  657. package/docs/logging.md +33 -0
  658. package/docs/managers.md +100 -0
  659. package/docs/offscreen.md +57 -0
  660. package/docs/publishing.md +182 -0
  661. package/docs/shared/agent-docs.md +89 -0
  662. package/docs/shared/analytics.md +612 -0
  663. package/docs/shared/brands.md +51 -0
  664. package/docs/shared/breaking-changes.md +497 -0
  665. package/docs/shared/config.md +1387 -0
  666. package/docs/shared/deploys.md +215 -0
  667. package/docs/shared/icons.md +201 -0
  668. package/docs/shared/local-dev.md +147 -0
  669. package/docs/shared/logging.md +202 -0
  670. package/docs/shared/monitoring.md +153 -0
  671. package/docs/shared/publishing.md +183 -0
  672. package/docs/shared/rulings.md +34 -0
  673. package/docs/shared/testing.md +147 -0
  674. package/docs/shared/theming.md +604 -0
  675. package/docs/shared/translation.md +291 -0
  676. package/docs/shared/updates.md +61 -0
  677. package/docs/templating.md +66 -0
  678. package/docs/test-boot-layer.md +143 -0
  679. package/docs/test-framework.md +411 -0
  680. package/docs/themes.md +89 -0
  681. package/docs/translations.md +73 -0
  682. package/docs/verts.md +67 -0
  683. package/docs/xss-prevention.md +95 -0
  684. package/package.json +159 -0
@@ -0,0 +1,164 @@
1
+ // Classy v2 status page — the page JS toggles bg-success/warning/danger/info
2
+ // on the banner, service dots, and uptime bars (that class contract is the
3
+ // API; don't rename it). In classy the banner and dots stay hairline
4
+ // surfaces: the LEVEL paints the glyph, never a colored slab. Uptime bars
5
+ // keep their bg-* paint — there the color IS the data (chart semantics).
6
+ // This is a theme PAGE entry (css/pages/status/index.scss): it loads AFTER
7
+ // the core status page css, so equal-specificity overrides here win.
8
+
9
+ .status-banner {
10
+ // Beat the .bg-* utility the JS applies AND the core status css's
11
+ // .status-banner.bg-* washes (0,2,0 specificity — match it per level)
12
+ &,
13
+ &.bg-success,
14
+ &.bg-warning,
15
+ &.bg-danger,
16
+ &.bg-info {
17
+ background: var(--omega-surface) !important;
18
+ border: 1px solid var(--omega-line) !important;
19
+ }
20
+
21
+ color: var(--omega-ink);
22
+
23
+ .status-icon {
24
+ transition: color var(--omega-speed) var(--omega-ease);
25
+ }
26
+
27
+ // Level → glyph + pulse color
28
+ &.bg-success .status-icon,
29
+ &.bg-success .status-pulse {
30
+ color: var(--omega-ok) !important;
31
+ }
32
+
33
+ &.bg-warning .status-icon,
34
+ &.bg-warning .status-pulse {
35
+ color: var(--omega-warn) !important;
36
+ }
37
+
38
+ &.bg-danger .status-icon,
39
+ &.bg-danger .status-pulse {
40
+ color: var(--omega-danger) !important;
41
+ }
42
+
43
+ &.bg-info .status-icon,
44
+ &.bg-info .status-pulse {
45
+ color: var(--omega-accent) !important;
46
+ }
47
+
48
+ // The pulse dot rides currentColor
49
+ .status-pulse {
50
+ width: 8px;
51
+ height: 8px;
52
+ display: inline-block;
53
+ background: currentcolor !important;
54
+ }
55
+ }
56
+
57
+ // Service rows — the dot span gets the bg-* class; recolor the glyph instead
58
+ .service-status-dot {
59
+ background: transparent !important;
60
+
61
+ svg {
62
+ transition: color var(--omega-speed) var(--omega-ease);
63
+ }
64
+
65
+ &.bg-success svg {
66
+ color: var(--omega-ok) !important;
67
+ }
68
+
69
+ &.bg-warning svg {
70
+ color: var(--omega-warn) !important;
71
+ }
72
+
73
+ &.bg-danger svg {
74
+ color: var(--omega-danger) !important;
75
+ }
76
+
77
+ &.bg-info svg {
78
+ color: var(--omega-accent) !important;
79
+ }
80
+ }
81
+
82
+ .service-item {
83
+ border-color: var(--omega-line) !important;
84
+ }
85
+
86
+ // ── Reimagined composition (2026-07-16) ──────────────────────────────────────
87
+
88
+ // The live strip: status as a sentence, not a colored slab
89
+ .omega-status-strip {
90
+ display: flex;
91
+ align-items: center;
92
+ justify-content: space-between;
93
+ flex-wrap: wrap;
94
+ gap: 1rem;
95
+ padding: 1.125rem 1.5rem;
96
+ border-radius: var(--omega-radius-l);
97
+ }
98
+
99
+ .omega-status-strip__text {
100
+ font-family: var(--omega-font-marketing);
101
+ font-size: 1.375rem;
102
+ font-weight: 550;
103
+ letter-spacing: -0.01em;
104
+ }
105
+
106
+ // The ops card: every service in ONE surface
107
+ .omega-status-card {
108
+ padding: 1.75rem;
109
+ background: var(--omega-surface);
110
+ border: 1px solid var(--omega-line);
111
+ border-radius: var(--omega-radius-l);
112
+ }
113
+
114
+ .omega-status-card__row {
115
+ padding-block: 1.125rem;
116
+
117
+ &:first-child {
118
+ padding-top: 0;
119
+ }
120
+
121
+ &--divided {
122
+ border-bottom: 1px solid var(--omega-line);
123
+ }
124
+ }
125
+
126
+ .omega-status-card__legend {
127
+ margin-top: 1.25rem;
128
+ padding-top: 1.25rem;
129
+ border-top: 1px solid var(--omega-line);
130
+ }
131
+
132
+ .omega-status-card--manifest {
133
+ padding: 1.5rem 1.75rem;
134
+ }
135
+
136
+ // Quiet empty states: a dot and a sentence, not a card-in-card
137
+ .omega-status-empty {
138
+ display: flex;
139
+ align-items: center;
140
+ gap: 0.625rem;
141
+ padding: 1.125rem 1.375rem;
142
+ background: var(--omega-surface);
143
+ border: 1px solid var(--omega-line);
144
+ border-radius: var(--omega-radius-m);
145
+ color: var(--omega-ink-muted);
146
+ }
147
+
148
+ // Subscribe band: split panel on surface-2
149
+ .omega-status-subscribe {
150
+ display: grid;
151
+ grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
152
+ gap: 2rem;
153
+ align-items: center;
154
+ padding: 2rem 2.25rem;
155
+ background: var(--omega-surface-2);
156
+ border: 1px solid var(--omega-line);
157
+ border-radius: var(--omega-radius-l);
158
+
159
+ @media (max-width: 767.98px) {
160
+ grid-template-columns: minmax(0, 1fr);
161
+ gap: 1.25rem;
162
+ padding: 1.5rem;
163
+ }
164
+ }
@@ -0,0 +1,2 @@
1
+ // /terms — the shared classy legal-document treatment (legal/_document.scss).
2
+ @use 'legal/document';
@@ -0,0 +1,128 @@
1
+ // classy /updates — the version timeline: a hairline spine with version
2
+ // nodes; the latest release leads with an accent node + Latest status.
3
+
4
+ .omega-timeline {
5
+ position: relative;
6
+ padding-inline-start: 2rem;
7
+
8
+ // The spine
9
+ &::before {
10
+ content: '';
11
+ position: absolute;
12
+ inset-block: 0.5rem;
13
+ inset-inline-start: 0.4375rem;
14
+ width: 1px;
15
+ background: var(--omega-line-strong);
16
+ }
17
+ }
18
+
19
+ .omega-timeline__entry {
20
+ position: relative;
21
+ padding-bottom: 2.75rem;
22
+
23
+ &:last-child {
24
+ padding-bottom: 0.5rem;
25
+ }
26
+ }
27
+
28
+ .omega-timeline__node {
29
+ position: absolute;
30
+ inset-inline-start: -2rem;
31
+ top: 0.3125rem;
32
+ width: 0.9375rem;
33
+ display: flex;
34
+ justify-content: center;
35
+ }
36
+
37
+ .omega-timeline__dot {
38
+ width: 0.5625rem;
39
+ height: 0.5625rem;
40
+ border-radius: 50%;
41
+ background: var(--omega-ground);
42
+ border: 1.5px solid var(--omega-ink-faint);
43
+ }
44
+
45
+ .omega-timeline__entry--latest .omega-timeline__dot {
46
+ background: var(--omega-accent);
47
+ border-color: var(--omega-accent);
48
+ box-shadow: 0 0 0 4px color-mix(in srgb, var(--omega-accent) 18%, transparent);
49
+ }
50
+
51
+ .omega-timeline__meta {
52
+ display: flex;
53
+ align-items: center;
54
+ flex-wrap: wrap;
55
+ gap: 0.625rem;
56
+ margin-bottom: 0.375rem;
57
+ }
58
+
59
+ .omega-timeline__version {
60
+ font-size: 0.8125rem;
61
+ font-weight: 650;
62
+ letter-spacing: 0.02em;
63
+ color: var(--omega-ink);
64
+ padding: 0.125rem 0.5rem;
65
+ background: var(--omega-surface);
66
+ border: 1px solid var(--omega-line-strong);
67
+ border-radius: var(--omega-radius-s);
68
+ }
69
+
70
+ .omega-timeline__body {
71
+ position: relative; // stretched-link boundary
72
+ padding: 1.375rem 1.5rem;
73
+ background: var(--omega-surface);
74
+ border: 1px solid var(--omega-line);
75
+ border-radius: var(--omega-radius-l);
76
+ transition: box-shadow var(--omega-speed) var(--omega-ease), border-color var(--omega-speed) var(--omega-ease);
77
+
78
+ &:hover {
79
+ border-color: var(--omega-line-strong);
80
+ box-shadow: var(--omega-shadow-2);
81
+ }
82
+ }
83
+
84
+ .omega-timeline__entry--latest .omega-timeline__body {
85
+ border-color: var(--omega-line-strong);
86
+ }
87
+
88
+ .omega-timeline__title {
89
+ font-family: var(--omega-font-marketing);
90
+ font-size: 1.375rem;
91
+ font-weight: 550;
92
+ letter-spacing: -0.01em;
93
+ margin-bottom: 0.375rem;
94
+
95
+ a {
96
+ color: var(--omega-ink);
97
+ text-decoration: none;
98
+ }
99
+ }
100
+
101
+ .omega-timeline__summary {
102
+ margin-bottom: 0;
103
+ max-width: 40rem;
104
+ }
105
+
106
+ .omega-timeline__more {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ margin-top: 0.875rem;
110
+ color: var(--omega-ink-muted);
111
+ transition: color var(--omega-speed) var(--omega-ease);
112
+
113
+ .omega-timeline__body:hover & {
114
+ color: var(--omega-ink);
115
+ }
116
+ }
117
+
118
+ // The quiet empty state (shared shape with /status)
119
+ .omega-status-empty {
120
+ display: flex;
121
+ align-items: center;
122
+ gap: 0.625rem;
123
+ padding: 1.125rem 1.375rem;
124
+ background: var(--omega-surface);
125
+ border: 1px solid var(--omega-line);
126
+ border-radius: var(--omega-radius-m);
127
+ color: var(--omega-ink-muted);
128
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Hero Demo Form
3
+ * Initializes FormManager for hero demo forms (input or form type)
4
+ */
5
+
6
+ // Zero-trust URL gate. `dataset.redirect` is DOM-controllable and could in
7
+ // principle be set to `javascript:...` by an attacker who can inject markup.
8
+ // Anything that isn't a same-origin path or http(s) URL is rejected outright.
9
+ function safeRedirect(raw) {
10
+ if (!raw || typeof raw !== 'string') return '/dashboard/account';
11
+ // Same-origin path — must start with `/` and NOT `//` (protocol-relative).
12
+ if (raw.startsWith('/') && !raw.startsWith('//')) return raw;
13
+ try {
14
+ const parsed = new URL(raw, window.location.origin);
15
+ if (parsed.protocol === 'http:' || parsed.protocol === 'https:') return raw;
16
+ } catch (e) { /* fall through */ }
17
+ return '/dashboard/account';
18
+ }
19
+
20
+ /**
21
+ * Initialize the hero demo form if present
22
+ */
23
+ export default async function initHeroDemoForm() {
24
+ const $form = document.querySelector('#hero-demo-form');
25
+
26
+ if (!$form) {
27
+ return;
28
+ }
29
+
30
+ // Dynamic import FormManager only when needed
31
+ const { FormManager } = await import('@omega.js/client/modules/form-manager.js');
32
+
33
+ const formManager = new FormManager($form, {
34
+ submittingText: 'Processing...',
35
+ });
36
+
37
+ formManager.on('submit', async ({ data }) => {
38
+ // Get redirect URL from form data attribute or default to /dashboard
39
+ const redirectUrl = safeRedirect($form.dataset.redirect);
40
+
41
+ // Build query string from form data
42
+ const params = new URLSearchParams();
43
+
44
+ Object.entries(data).forEach(([key, value]) => {
45
+ if (value !== null && value !== undefined && value !== '') {
46
+ params.set(key, value);
47
+ }
48
+ });
49
+
50
+ // Redirect with form data as query params
51
+ const queryString = params.toString();
52
+ const url = queryString ? `${redirectUrl}?${queryString}` : redirectUrl;
53
+
54
+ window.location.href = url;
55
+ });
56
+ }
@@ -0,0 +1,118 @@
1
+ # Neobrutalism Theme
2
+
3
+ A bold, high-contrast omega theme built on the neobrutalist design language:
4
+ **pure-ink borders, hard offset shadows (no blur), zero border-radius, chunky
5
+ grotesk display type, and flat saturated color blocks.** Buttons and cards
6
+ "press" into the page on interaction. Full light + dark mode support.
7
+
8
+ ## Skin + bounded forks
9
+
10
+ Neobrutalism follows the base/skin/fork convention
11
+ (`docs/web/sections.md` "Markup convention"): it is a SKIN over the base
12
+ theme's shared markup, plus a short list of identity forks. Every surface it
13
+ does not fork renders base markup (`omega-*` classes) restyled by this
14
+ theme's scss, so the nav, pricing, 404, about, contact, team, blog, and auth
15
+ pages are structurally identical to every other skin, and the behavior
16
+ contracts that ride base markup (`data-omega-countup`, the pricing JS hooks,
17
+ the feature-comparison table) all work here unchanged.
18
+
19
+ ## Forks
20
+
21
+ Identity forks, all wearing `neo-*` BEM classes. This list is
22
+ machine-checked (packages/web/test/theme-convention.test.js): every markup
23
+ file in the theme must appear here, and every listed path must exist.
24
+
25
+ - `themes/neobrutalism/_layouts/frontend/core/base.html`: the smallest
26
+ possible fork: body markup identical to base; the only delta is the head
27
+ block loading the display faces (Archivo / Space Grotesk / Space Mono via
28
+ Google Fonts). When the faces are vendored like newsflash's, this fork
29
+ dies.
30
+ - `themes/neobrutalism/_layouts/frontend/pages/index.html`: the neobrutalist
31
+ homepage. Three hand-built bands where the structure is genuinely
32
+ neo-specific: the asymmetric split hero, the alternating offset showcase
33
+ rows, and the numbered step cards, plus the fork vocabulary they share
34
+ (kicker, accent, section-head). The rest of the page delegates to base
35
+ sections: trusted-by (the omega-marquee logo wall, ink-framed by this
36
+ theme), stats (omega-stat cells painted as color blocks), testimonials,
37
+ and the cta band (the omega-cta ink panel).
38
+
39
+ Everything else falls through to base, including the whole pricing page.
40
+ The scss floor for the fallthrough vocabulary comes from classy's token-pure
41
+ partials (imported in `_theme.scss`) painted through this theme's
42
+ `--omega-*` re-values, with neobrutalist overlays on top
43
+ (`css/components/_marketing.scss` for the marketing bands — plan cards
44
+ included, since `marketing/pricing-cards` composes them off /pricing too
45
+ (#531) — the omega voice rules in `css/base/_utilities.scss`, the ink-bar
46
+ re-skin of `.omega-nav` in `css/layout/_navigation.scss`, and the pricing page
47
+ css).
48
+
49
+ ## Select the theme
50
+
51
+ ```json5
52
+ // config/omega.json5 (consuming brand/app)
53
+ theme: {
54
+ id: "neobrutalism",
55
+ appearance: "system", // or "light" / "dark"; dark mode is first-class
56
+ },
57
+ ```
58
+
59
+ ## Customize
60
+
61
+ Compile-time knobs: every variable in `_config.scss` is `!default`; override
62
+ any of them from your project's main.scss:
63
+
64
+ ```scss
65
+ // src/assets/css/main.scss (consuming project)
66
+ @use 'omega:main' with (
67
+ $primary: #FF5C00, // your brand color
68
+ $nb-border-width: 4px, // chunkier borders
69
+ $nb-shadow-offset: 7px, // deeper hard shadow
70
+ $nb-accent-yellow: #D4FF00, // swap the signature highlight
71
+ );
72
+ ```
73
+
74
+ ### Key tokens (see `_config.scss` for the full list)
75
+
76
+ | Token | Purpose | Default |
77
+ |---|---|---|
78
+ | `$primary` … `$danger` | Bootstrap semantic colors | electric blue, hot pink, etc. |
79
+ | `$nb-ink` / `$nb-paper` | Border/shadow color + page surface (light) | `#111` / `#FFFEF2` |
80
+ | `$nb-ink-dark` / `$nb-paper-dark` | Same, dark mode | `#F5F5F5` / `#16161A` |
81
+ | `$nb-border-width` | Standard border thickness | `3px` |
82
+ | `$nb-shadow-offset` | Hard shadow distance | `5px` |
83
+ | `$nb-accent-*` | Color-block palette | blue/pink/yellow/green/purple/orange |
84
+ | `$nb-font-display` | Heading font | `Archivo` |
85
+ | `$font-family-sans-serif` | Body font | `Space Grotesk` |
86
+
87
+ Runtime paint reads the shared `--omega-*` token contract
88
+ (`core/css/tokens/_index.scss`), which `css/base/_root.scss` re-values with
89
+ the ink/paper sheet: light AND dark, three-stamp plumbing, Bootstrap
90
+ bridged. Consumers can override any token per-mode in plain CSS. Genuinely
91
+ neobrutalist extras (the accent palette, border/shadow recipes, the press
92
+ interaction) keep the `--nb-*` namespace; the `nb-` prefix never appears in
93
+ markup.
94
+
95
+ ## Fonts
96
+
97
+ Archivo + Space Grotesk + Space Mono load via the theme's `head` block in
98
+ the core/base fork (Google Fonts). If you change the font tokens, update the
99
+ `<link>` accordingly (in your page/layout `theme.head.content`, or by
100
+ overriding the base layout).
101
+
102
+ ## Behaviors
103
+
104
+ None of its own. Bootstrap tooltips come from the shared core-layer
105
+ initializer every theme imports; the logo wall rides the shared motion
106
+ engine's marquee; nav scroll state is engine-stamped
107
+ (`data-omega-scroll-watch` on the base nav include).
108
+
109
+ ## Conventions
110
+
111
+ - Fork markup wears `neo-<block>__<element>--<modifier>` BEM (`neo-hero`,
112
+ `neo-showcase`, `neo-step-card`, `neo-kicker`, `neo-accent`, ...).
113
+ Bootstrap classes (`.card`, `.btn-*`, `.text-bg-*`), the shared `omega-*`
114
+ vocabulary, `data-*` idioms, and core JS hooks (`amount`, `billing-info`,
115
+ `price-per-unit`, `button-text`) stay untouched.
116
+ - The border/shadow/press system lives in `css/base/_mixins.scss`
117
+ (`nb-border` / `nb-shadow` / `nb-press`), the SSOT for the look;
118
+ components include these rather than repeating the recipes.
@@ -0,0 +1,139 @@
1
+ // Neobrutalism Theme Configuration
2
+ // ALL customizable variables are defined here with !default.
3
+ // Consuming projects override any of these BEFORE the theme is imported.
4
+ //
5
+ // Design language: raw, high-contrast color blocks; pure-black hard borders;
6
+ // hard offset shadows (no blur); zero border-radius; chunky grotesk type.
7
+ // This is NOT a recolored Classy — the shadow/border/press system is the identity.
8
+
9
+ // ============================================
10
+ // Bootstrap Color Overrides
11
+ // ============================================
12
+ // Loud, saturated, high-contrast. These map onto Bootstrap's semantic colors.
13
+ $primary: #2563EB !default; // electric blue
14
+ $secondary: #EC4899 !default; // hot pink
15
+ $success: #16A34A !default; // grass green
16
+ $info: #06B6D4 !default; // cyan
17
+ $warning: #FACC15 !default; // acid yellow
18
+ $danger: #EF4444 !default; // red
19
+ $light: #FFFEF2 !default; // paper white (warm off-white)
20
+ $dark: #111111 !default; // near-black
21
+
22
+ // ============================================
23
+ // Ink & Paper (the structural neutrals)
24
+ // ============================================
25
+ // "Ink" = the universal border/shadow color. "Paper" = the page surface.
26
+ $nb-ink: #111111 !default; // borders + hard shadows (light mode)
27
+ $nb-paper: #FFFEF2 !default; // body background (light mode)
28
+ $nb-surface: #FFFFFF !default; // cards / elevated surfaces (light mode)
29
+ $nb-surface-alt: #F4F1E4 !default; // alt sections / wells (light mode)
30
+
31
+ // Dark mode counterparts
32
+ $nb-ink-dark: #F5F5F5 !default; // borders + shadows become near-white
33
+ $nb-paper-dark: #16161A !default; // body background (dark mode)
34
+ $nb-surface-dark: #1F1F25 !default; // cards (dark mode)
35
+ $nb-surface-alt-dark: #25252D !default; // alt sections (dark mode)
36
+
37
+ // ============================================
38
+ // Accent Palette (for color-block sections, tags, highlights)
39
+ // ============================================
40
+ // Used directly as section backgrounds and decorative blocks.
41
+ $nb-accent-blue: #2563EB !default;
42
+ $nb-accent-pink: #EC4899 !default;
43
+ $nb-accent-yellow: #FACC15 !default;
44
+ $nb-accent-green: #16A34A !default;
45
+ $nb-accent-purple: #8B5CF6 !default;
46
+ $nb-accent-orange: #FB923C !default;
47
+
48
+ // ============================================
49
+ // Borders — the defining structural element
50
+ // ============================================
51
+ $nb-border-width: 3px !default; // standard border thickness
52
+ $nb-border-width-lg: 4px !default; // emphasis (hero buttons, feature cards)
53
+ $nb-border-width-sm: 2px !default; // small controls (inputs, tags)
54
+ $nb-border-color: $nb-ink !default; // remapped to ink-dark in dark mode via _root
55
+ $nb-border: $nb-border-width solid $nb-border-color !default;
56
+
57
+ // Zero radius everywhere — this is the neobrutalist signature.
58
+ $border-radius: 0 !default;
59
+ $border-radius-sm: 0 !default;
60
+ $border-radius-lg: 0 !default;
61
+ $border-radius-xl: 0 !default;
62
+ $border-radius-2xl: 0 !default;
63
+ $border-radius-pill: 0 !default;
64
+
65
+ // ============================================
66
+ // Hard Offset Shadows — the second defining element
67
+ // ============================================
68
+ // No blur, no spread — a solid block offset down-right in ink color.
69
+ $nb-shadow-offset: 5px !default; // default offset distance
70
+ $nb-shadow-offset-sm: 3px !default;
71
+ $nb-shadow-offset-lg: 8px !default;
72
+ $nb-shadow-color: $nb-ink !default; // remapped in dark mode via _root
73
+
74
+ $nb-shadow-sm: $nb-shadow-offset-sm $nb-shadow-offset-sm 0 $nb-shadow-color !default;
75
+ $nb-shadow: $nb-shadow-offset $nb-shadow-offset 0 $nb-shadow-color !default;
76
+ $nb-shadow-lg: $nb-shadow-offset-lg $nb-shadow-offset-lg 0 $nb-shadow-color !default;
77
+
78
+ // ============================================
79
+ // Typography
80
+ // ============================================
81
+ // Chunky geometric grotesk for display; clean grotesk for body.
82
+ $font-family-sans-serif: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !default;
83
+ $nb-font-display: 'Archivo', 'Space Grotesk', sans-serif !default;
84
+ $nb-font-mono: 'Space Mono', ui-monospace, SFMono-Regular, Menlo, monospace !default;
85
+
86
+ $headings-font-weight: 800 !default;
87
+ $nb-heading-letter-spacing: -0.02em !default;
88
+ $font-weight-bold: 700 !default;
89
+
90
+ // ============================================
91
+ // Motion — snappy, mechanical, no easing softness
92
+ // ============================================
93
+ // Neobrutalism favors instant/linear motion over smooth cubic-beziers.
94
+ $nb-transition-fast: all 0.08s ease-out !default;
95
+ $nb-transition: all 0.12s ease-out !default;
96
+
97
+ // ============================================
98
+ // Component Sizing
99
+ // ============================================
100
+ // Avatar sizes map (matches Classy so shared layouts/includes render correctly)
101
+ $avatar-sizes: (
102
+ null: 3rem,
103
+ 2xs: 0.5rem,
104
+ xs: 1.5rem,
105
+ sm: 2rem,
106
+ md: 2.5rem,
107
+ lg: 3.5rem,
108
+ xl: 5rem,
109
+ 2xl: 7.5rem,
110
+ 3xl: 10rem,
111
+ 4xl: 12.5rem,
112
+ 5xl: 15rem
113
+ ) !default;
114
+
115
+ // ============================================
116
+ // Forward Bootstrap with our configuration
117
+ // ============================================
118
+ @forward '../bootstrap/scss/bootstrap.scss' with (
119
+ $primary: $primary,
120
+ $secondary: $secondary,
121
+ $success: $success,
122
+ $info: $info,
123
+ $warning: $warning,
124
+ $danger: $danger,
125
+ $light: $light,
126
+ $dark: $dark,
127
+ $font-family-sans-serif: $font-family-sans-serif,
128
+ $headings-font-weight: $headings-font-weight,
129
+ $font-weight-bold: $font-weight-bold,
130
+ $border-radius: $border-radius,
131
+ $border-radius-sm: $border-radius-sm,
132
+ $border-radius-lg: $border-radius-lg,
133
+ // Neobrutalism uses solid borders everywhere, so Bootstrap's default
134
+ // border width is bumped and box-shadow softness is disabled.
135
+ $border-width: $nb-border-width,
136
+ $enable-rounded: false,
137
+ $enable-shadows: false,
138
+ $enable-negative-margins: true
139
+ );
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: core/root
3
+
4
+ config:
5
+ # The smallest possible fork (#177): body markup is IDENTICAL to the base
6
+ # core/base. The only delta is the head block loading the theme's display
7
+ # faces (Archivo / Space Grotesk / Space Mono); when the faces are vendored
8
+ # like newsflash's, this fork dies and the base shell serves.
9
+ theme:
10
+ head:
11
+ content: |
12
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800;900&family=Space+Grotesk:wght@400;500;700&family=Space+Mono:wght@400;700&display=swap" media="print" onload="this.media='all'">
13
+ body:
14
+ class: "d-flex flex-column min-vh-100"
15
+ ---
16
+
17
+ <!-- Nav (controlled by page/layout front matter) -->
18
+ {% unless resolved.config.theme.nav.enabled == false %}
19
+ {%- include frontend/sections/nav.html -%}
20
+ {% endunless %}
21
+
22
+ <!-- Main Content -->
23
+ <main id="main-content" class="flex-fill {{ resolved.config.theme.main.class | omega_liquify }}" aria-label="Main content">
24
+ {{ content | omega_content_format }}
25
+ </main>
26
+
27
+ <!-- Footer (controlled by page/layout front matter) -->
28
+ {% unless resolved.config.theme.footer.enabled == false %}
29
+ {%- include frontend/sections/footer.html -%}
30
+ {% endunless %}