@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,17 @@
1
+ <section>
2
+ <div class="container">
3
+ <div class="omega-section-head mb-5" data-omega-reveal>
4
+ {% component "heading/section-head", superheadline: args.superheadline.text, headline: args.headline, headline_accent: args.headline_accent, sub: args.subheadline %}
5
+ </div>
6
+
7
+ <div class="omega-numbered" data-omega-reveal-stagger="70">
8
+ {% for value in args.items %}
9
+ <div class="omega-numbered__item" data-omega-reveal>
10
+ <span class="omega-numbered__index">{{ forloop.index | prepend: '0' | slice: -2, 2 }}</span>
11
+ <div class="omega-numbered__title">{{ value.title }}</div>
12
+ <p class="omega-numbered__desc">{{ value.description }}</p>
13
+ </div>
14
+ {% endfor %}
15
+ </div>
16
+ </div>
17
+ </section>
@@ -0,0 +1,34 @@
1
+ {
2
+ description: 'About principles — the numbered values list under a centered section head. Order is the statement: item 1 outranks item 2. The layout bridges the page\'s values object via data:.',
3
+
4
+ args: {
5
+ superheadline: 'object', // { text }
6
+ headline: 'string',
7
+ headline_accent: 'string',
8
+ subheadline: 'string',
9
+ items: 'array', // [{ title, description }] — icons intentionally unrendered; the index number is the mark
10
+ },
11
+
12
+ defaults: {
13
+ superheadline: { text: 'Principles' },
14
+ headline: 'What we <em>refuse</em> to compromise on',
15
+ // An ABSENT subheadline renders NOTHING (#512): the optional sub line is
16
+ // never a demo sentence a brand's own band inherits. The demo copy lives
17
+ // in the variant below.
18
+ subheadline: '',
19
+ items: [
20
+ { title: 'Ship it simple', description: 'The smallest thing that solves the problem wins.' },
21
+ { title: 'Own the outcome', description: 'Everyone ships; everyone answers for what ships.' },
22
+ { title: 'Say it plainly', description: 'Clear words over clever ones, in product and in person.' },
23
+ ],
24
+ },
25
+
26
+ demo: [
27
+ {
28
+ label: 'Default principles',
29
+ args: {
30
+ subheadline: 'Our working principles, in order.',
31
+ },
32
+ },
33
+ ],
34
+ }
@@ -0,0 +1,20 @@
1
+ <section>
2
+ <div class="container">
3
+ <div class="omega-duo">
4
+ <div class="omega-duo__aside omega-section-head" data-omega-reveal>
5
+ {% component "heading/section-head", superheadline: args.superheadline.text, headline: args.headline, headline_accent: args.headline_accent, sub: args.subheadline %}
6
+ </div>
7
+
8
+ <div class="omega-timeline" data-omega-reveal-stagger="80">
9
+ {% for item in args.items %}
10
+ <div class="omega-timeline__item" data-omega-reveal>
11
+ {%- comment %} A value is TEXT, never markup (#580). {% endcomment -%}
12
+ <div class="omega-timeline__year">{{ item.year | escape_once }}</div>
13
+ <div class="omega-timeline__title">{{ item.title }}</div>
14
+ <p class="omega-timeline__desc">{{ item.description }}</p>
15
+ </div>
16
+ {% endfor %}
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </section>
@@ -0,0 +1,34 @@
1
+ {
2
+ description: 'About timeline — sticky section head beside the year-by-year journey. The layout bridges the page\'s story object via data:.',
3
+
4
+ args: {
5
+ superheadline: 'object', // { text }
6
+ headline: 'string',
7
+ headline_accent: 'string',
8
+ subheadline: 'string',
9
+ items: 'array', // [{ year, title, description }]
10
+ },
11
+
12
+ defaults: {
13
+ superheadline: { text: 'History' },
14
+ headline: 'Follow our <em>journey</em>',
15
+ // An ABSENT subheadline renders NOTHING (#512): the optional sub line is
16
+ // never a demo sentence a brand's own band inherits. The demo copy lives
17
+ // in the variant below.
18
+ subheadline: '',
19
+ items: [
20
+ { year: '2017', title: 'The beginning', description: 'Founded with a vision to revolutionize the industry' },
21
+ { year: '2020', title: 'Global expansion', description: 'Reached customers in over 100 countries' },
22
+ { year: '2024', title: 'Innovation award', description: 'Recognized as an industry leader' },
23
+ ],
24
+ },
25
+
26
+ demo: [
27
+ {
28
+ label: 'Default journey',
29
+ args: {
30
+ subheadline: 'The moments that shaped how we work.',
31
+ },
32
+ },
33
+ ],
34
+ }
@@ -0,0 +1,91 @@
1
+ {% if args.items and args.items.size > 0 %}
2
+ <section>
3
+ <div class="container">
4
+ {%- comment %} superheadline takes a plain string OR { text }: the object
5
+ shape resolves to its label, the string passes straight through. Either
6
+ way the micro line is words only. {% endcomment -%}
7
+ {%- if args.superheadline.text -%}
8
+ {%- assign superheadline = args.superheadline.text -%}
9
+ {%- else -%}
10
+ {%- assign superheadline = args.superheadline -%}
11
+ {%- endif %}
12
+ <div class="omega-section-head omega-section-head--center mb-5" data-omega-reveal>
13
+ {% component "heading/section-head", superheadline: superheadline, headline: args.headline, headline_accent: args.headline_accent, sub: args.subheadline %}
14
+ </div>
15
+
16
+ <div class="omega-bento" data-omega-reveal-stagger="70">
17
+ {% for item in args.items %}
18
+ {% capture span_class %}{% if item.span == 'big' %}omega-tile--big{% elsif item.span == 'tall' %}omega-tile--tall{% elsif item.span == 'wide' %}omega-tile--wide{% endif %}{% endcapture %}
19
+ {%- comment %} A tile with href IS the link: the whole surface becomes
20
+ ONE anchor wearing the shared .omega-interactive states, so its body
21
+ carries no nested anchor (invalid html). No href = the div tile,
22
+ unchanged. {% endcomment -%}
23
+ {% capture tile_class %}omega-tile {{ span_class }}{% if item.href != blank %} omega-interactive{% endif %}{% endcapture %}
24
+ {% capture tile_body %}
25
+ <div class="omega-tile__head">
26
+ {% iftruthy args.numbered %}
27
+ <span class="omega-tile__ordinal">{{ forloop.index }}</span>
28
+ {% endiftruthy %}
29
+ {% iftruthy item.icon %}
30
+ <span class="omega-icon-chip"><i class="fa-solid fa-{{ item.icon }} fa-sm"></i></span>
31
+ {% endiftruthy %}
32
+ <span class="omega-tile__title">{{ item.title }}</span>
33
+ </div>
34
+ <p class="omega-tile__desc">{{ item.description }}</p>
35
+
36
+ {% case item.type %}
37
+ {% when 'code' %}
38
+ {%- comment %} Panel tokens and transcript lines are TEXT, never
39
+ markup (#580): a literal `<` opened a tag the minifier ate.
40
+ {% endcomment -%}
41
+ <div class="omega-tile__code omega-ink-panel"><span class="tok-c">{{ args.config_demo.label | escape_once }}</span>
42
+ { brand: { name: <span class="tok-v">'{{ args.config_demo.name | escape_once }}'</span>,
43
+ color: <span class="tok-a">'{{ args.config_demo.color | escape_once }}'</span> },
44
+ targets: { <span class="tok-k">web</span>: {…}, <span class="tok-k">backend</span>: {…},
45
+ <span class="tok-k">desktop</span>: {…}, <span class="tok-k">extension</span>: {…} } }</div>
46
+ {% when 'terminal' %}
47
+ <div class="omega-tile__term omega-ink-panel">
48
+ <div><span class="omega-term__prompt">$</span> {{ item.terminal.command | default: 'npm run deploy' | escape_once }}</div>
49
+ <div class="omega-term__out">{{ item.terminal.out | default: '→ building 42 pages · hashing assets' | escape_once }}</div>
50
+ <div class="omega-term__out"><span class="omega-term__ok">✓</span> {{ item.terminal.ok | default: 'live in 38s' | escape_once }}<span class="omega-caret"></span></div>
51
+ </div>
52
+ {% when 'split' %}
53
+ <div class="omega-tile__demo">
54
+ <div class="omega-tile__split">
55
+ <div class="omega-tile__split-pane">
56
+ <div class="omega-tile__split-card">Revenue<span class="omega-tile__split-num">$24.3k</span></div>
57
+ </div>
58
+ <div class="omega-tile__split-pane">
59
+ <div class="omega-tile__split-card">Revenue<span class="omega-tile__split-num">$24.3k</span></div>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ {% when 'brand' %}
64
+ <div class="omega-tile__brandrow">
65
+ <span class="omega-tile__swatch active" style="background: var(--omega-accent);"></span>
66
+ <span class="omega-tile__swatch" style="background: #d6336c;"></span>
67
+ <span class="omega-tile__swatch" style="background: #0f8fa9;"></span>
68
+ <span class="omega-tile__swatch" style="background: #c47206;"></span>
69
+ <span class="omega-tile__swatch" style="background: #12925c;"></span>
70
+ </div>
71
+ {% endcase %}
72
+ {% endcapture %}
73
+ {% if item.href != blank %}
74
+ <a href="{{ item.href }}" class="{{ tile_class }}" data-omega-reveal>{{ tile_body }}</a>
75
+ {% else %}
76
+ <div class="{{ tile_class }}" data-omega-reveal>{{ tile_body }}</div>
77
+ {% endif %}
78
+ {% endfor %}
79
+ </div>
80
+ {%- if args.cta_button.enabled != false and args.cta_button.text %}
81
+
82
+ <div class="text-center mt-5" data-omega-reveal>
83
+ <a href="{{ args.cta_button.href }}" class="btn btn-adaptive btn-lg omega-hover-nudge">
84
+ {{ args.cta_button.text }}
85
+ <span class="omega-nudge ms-2"><i class="fa-solid fa-arrow-right fa-sm"></i></span>
86
+ </a>
87
+ </div>
88
+ {%- endif %}
89
+ </div>
90
+ </section>
91
+ {% endif %}
@@ -0,0 +1,152 @@
1
+ {
2
+ description: 'The hairline feature grid — mixed-size tiles (span: big/tall/wide) with typed demo bodies (type: code/terminal/split/brand/default), closing on the optional cta_button. Give a tile an href and the WHOLE tile becomes one anchor (the linked-card listing: hubs, category indexes) — its body carries no nested anchors. numbered: true counts the tiles as process steps. Empty items suppresses the band. superheadline accepts a string or { text } (no schema type on purpose).',
3
+
4
+ args: {
5
+ superheadline: { description: 'string or { text } — both render as the micro label, words only' },
6
+ headline: 'string',
7
+ headline_accent: 'string',
8
+ subheadline: 'string',
9
+ items: 'array', // [{ title, description, icon, span, type, href }] — href turns that tile into ONE anchor
10
+ numbered: { type: 'boolean', description: 'auto-numbers the tiles 1..N by position as an ordinal chip (process steps); reordering renumbers itself' },
11
+ config_demo: 'object',
12
+ cta_button: { type: 'object', description: 'the closing CTA under the grid — { text, href, enabled }; enabled: false suppresses it' },
13
+ },
14
+
15
+ defaults: {
16
+ superheadline: 'Why {{ resolved.config.brand.name }}',
17
+ headline: "Everything you need. <em>Nothing you don't.</em>",
18
+ // No sub line by default: an ABSENT subheadline renders NOTHING. A band
19
+ // the brand authors inherits no words it never wrote (the demo line lives
20
+ // in the gallery variant below, where sample content belongs).
21
+ subheadline: '',
22
+ items: [
23
+ {
24
+ type: 'code',
25
+ span: 'big',
26
+ icon: 'sliders',
27
+ title: 'One config, every surface',
28
+ description: 'A single file drives your brand, targets, and integrations. Change it once and every page follows.',
29
+ },
30
+ {
31
+ type: 'split',
32
+ span: 'tall',
33
+ icon: 'circle-half-stroke',
34
+ title: 'Light & dark, born together',
35
+ description: 'Every component ships in both modes from day one, with no bolted-on dark theme.',
36
+ },
37
+ {
38
+ type: 'terminal',
39
+ icon: 'terminal',
40
+ title: 'Deploy in one verb',
41
+ description: 'Build, verify, and publish from a single command.',
42
+ },
43
+ {
44
+ type: 'brand',
45
+ icon: 'palette',
46
+ title: 'Your brand, everywhere',
47
+ description: 'One brand color recolors every accent surface: buttons, links, focus rings, charts.',
48
+ },
49
+ {
50
+ type: 'default',
51
+ icon: 'shield-halved',
52
+ title: 'Auth & accounts built in',
53
+ description: 'Sign-in, subscriptions, and billing flows ready on day one.',
54
+ },
55
+ ],
56
+ // The fake-config demo panel inside the 'code' tile (previously hardcoded
57
+ // {{ resolved.config.brand.* }} in markup — now args, per context-freeness). label
58
+ // is the comment line above the snippet — generic by default (pass B: no
59
+ // framework filename in a theme's voice); a brand that wants its real
60
+ // config named passes its own. The 'terminal' tile's mock lines are
61
+ // per-ITEM args the same way: item.terminal.{command,out,ok}, defaulting
62
+ // to a generic npm session.
63
+ config_demo: {
64
+ label: '// one config, every target',
65
+ name: '{{ resolved.config.brand.name }}',
66
+ color: '{{ resolved.config.brand.color | default: "#2563EB" }}',
67
+ },
68
+ },
69
+
70
+ // Showcase variants (spec §9)
71
+ demo: [
72
+ {
73
+ label: 'Default grid',
74
+ args: {
75
+ subheadline: 'A complete foundation that stays out of your way: configure once, ship everywhere.',
76
+ },
77
+ },
78
+ {
79
+ // Demo hrefs point at pages EVERY brand build writes — a default page
80
+ // may never link a route the build never wrote (#427).
81
+ label: 'Linked tiles — a hub listing',
82
+ args: {
83
+ superheadline: { text: 'Start here' },
84
+ headline: 'Everything, one grid',
85
+ subheadline: 'Each tile is the link: the whole card clicks through.',
86
+ items: [
87
+ {
88
+ icon: 'tag',
89
+ title: 'What it costs',
90
+ description: 'Every plan, and what each one includes.',
91
+ href: '/pricing',
92
+ },
93
+ {
94
+ icon: 'users',
95
+ title: 'Who we are',
96
+ description: 'The people behind the product.',
97
+ href: '/about',
98
+ },
99
+ {
100
+ icon: 'envelope',
101
+ title: 'Talk to us',
102
+ description: 'Questions, demos, and anything else.',
103
+ href: '/contact',
104
+ },
105
+ ],
106
+ },
107
+ },
108
+ {
109
+ label: 'Numbered process',
110
+ args: {
111
+ superheadline: { text: 'How it works' },
112
+ headline: 'Four steps, start to live',
113
+ numbered: true,
114
+ items: [
115
+ { icon: 'comments', title: 'Discover', description: 'We listen before we draw anything.' },
116
+ { icon: 'pen-ruler', title: 'Design', description: 'The shape of the thing, agreed up front.' },
117
+ { icon: 'hammer', title: 'Build', description: 'Shipped in weekly slices you can see.' },
118
+ { icon: 'rocket', title: 'Launch', description: 'Live, measured, and handed over.' },
119
+ ],
120
+ },
121
+ },
122
+ {
123
+ label: 'Three tiles, icon eyebrow + closing CTA',
124
+ args: {
125
+ superheadline: { text: 'The short list' },
126
+ headline: 'The essentials',
127
+ subheadline: 'A tighter grid: layout self-adjusts to the item count.',
128
+ cta_button: { text: 'See every feature', href: '/pricing' },
129
+ items: [
130
+ {
131
+ type: 'terminal',
132
+ icon: 'terminal',
133
+ title: 'One-verb deploys',
134
+ description: 'Build, verify, and publish from a single command.',
135
+ },
136
+ {
137
+ type: 'default',
138
+ icon: 'bolt',
139
+ title: 'Fast by default',
140
+ description: 'Static output, tuned assets, nothing to babysit.',
141
+ },
142
+ {
143
+ type: 'default',
144
+ icon: 'lock',
145
+ title: 'Secure sessions',
146
+ description: 'Auth and account flows ready on day one.',
147
+ },
148
+ ],
149
+ },
150
+ },
151
+ ],
152
+ }
@@ -0,0 +1,44 @@
1
+ {% if args.enabled %}
2
+ <section{% if args.section_class != blank %} class="{{ args.section_class }}"{% endif %}>
3
+ <div class="container">
4
+ <div class="omega-cta omega-ink-panel" data-omega-reveal="scale">
5
+ {% iftruthy args.superheadline.text %}
6
+ <span class="omega-micro d-block mb-3">{{ args.superheadline.text }}</span>
7
+ {% endiftruthy %}
8
+ <h2 class="omega-cta__headline">{% if args.headline_accent != blank %}
9
+ {{ args.headline }}
10
+ <em>{{ args.headline_accent }}</em>
11
+ {% else %}{{ args.headline }}{% endif %}</h2>
12
+ {% iftruthy args.subheadline %}
13
+ <p class="omega-cta__sub">{{ args.subheadline }}</p>
14
+ {% endiftruthy %}
15
+ <div class="omega-cta__ctas">
16
+ {% iftruthy args.primary_button.text %}
17
+ <a href="{{ args.primary_button.href }}" class="btn btn-adaptive btn-lg omega-hover-nudge">
18
+ {{ args.primary_button.text }}
19
+ <span class="omega-nudge ms-2"><i class="fa-solid fa-arrow-right fa-sm"></i></span>
20
+ </a>
21
+ {% endiftruthy %}
22
+ {% iftruthy args.command %}
23
+ <a href="{{ args.command_href | default: '/download' }}" class="btn btn-cmd btn-lg">
24
+ {%- comment %} A shell command is TEXT, never markup (#580). {% endcomment -%}
25
+ <span class="omega-cmd-prompt">$</span>{{ args.command | escape_once }}
26
+ </a>
27
+ {% endiftruthy %}
28
+ {% iftruthy args.secondary_button.text %}
29
+ {% if args.secondary_button.nudge %}
30
+ <a href="{{ args.secondary_button.href }}" class="btn btn-outline-adaptive btn-lg omega-hover-nudge">
31
+ {{ args.secondary_button.text }}
32
+ <span class="omega-nudge ms-2"><i class="fa-solid fa-arrow-right fa-sm"></i></span>
33
+ </a>
34
+ {% else %}
35
+ <a href="{{ args.secondary_button.href }}" class="btn btn-outline-adaptive btn-lg">
36
+ {{ args.secondary_button.text }}
37
+ </a>
38
+ {% endif %}
39
+ {% endiftruthy %}
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </section>
44
+ {% endif %}
@@ -0,0 +1,47 @@
1
+ {
2
+ description: 'The ink CTA band — on by default, enabled: false removes it entirely; optional superheadline micro label, headline with optional <em> accent, optional subheadline, then primary button / mono command / secondary button (each renders only when set; secondary_button.nudge: true adds the arrow). A SHARED band (index, about, pricing, download, extension, team, alternatives) — defaults stay NEUTRAL and every page passes its own copy over the data bridge (spec §6 shared-band ruling).',
3
+
4
+ args: {
5
+ enabled: 'boolean',
6
+ superheadline: 'object',
7
+ headline: 'string',
8
+ headline_accent: 'string',
9
+ subheadline: 'string',
10
+ primary_button: 'object',
11
+ secondary_button: 'object',
12
+ command: 'string',
13
+ command_href: 'string',
14
+ section_class: 'string',
15
+ },
16
+
17
+ defaults: {
18
+ // Mechanical knob only (§6): the family gate. ON by default — a page that
19
+ // wants no CTA at all passes enabled: false and the band disappears
20
+ // instead of shipping framework words or an empty panel.
21
+ enabled: true,
22
+ },
23
+
24
+ // Showcase variants (spec §9) — a SHARED band keeps neutral defaults, so
25
+ // the demo carries its own generic copy.
26
+ demo: [
27
+ {
28
+ label: 'Full band',
29
+ args: {
30
+ superheadline: { text: 'Get started' },
31
+ headline: 'Ready to ship',
32
+ headline_accent: 'something great?',
33
+ subheadline: 'Start free and grow into every surface your product needs.',
34
+ primary_button: { text: 'Start free', href: '/signup', icon: 'rocket' },
35
+ command: 'npx acme setup',
36
+ secondary_button: { text: 'Talk to sales', href: '/contact', nudge: true },
37
+ },
38
+ },
39
+ {
40
+ label: 'Minimal',
41
+ args: {
42
+ headline: 'Try it today',
43
+ primary_button: { text: 'Get started', href: '/signup' },
44
+ },
45
+ },
46
+ ],
47
+ }
@@ -0,0 +1,52 @@
1
+ {% comment %} FAQ accordion band. Duo layout (aside head left, accordion
2
+ right) by default; variant: "center" stacks a centered head over a narrowed
3
+ accordion. Bootstrap collapse wires by DOM id — dom_id namespaces them so two
4
+ instances on one page can coexist. {% endcomment %}
5
+ {%- capture _head -%}
6
+ {% component "heading/section-head", superheadline: args.superheadline.text, headline: args.headline, headline_accent: args.headline_accent, sub: args.subheadline %}
7
+ {%- endcapture -%}
8
+ {%- capture _accordion -%}
9
+ <div class="omega-faq accordion" id="{{ args.dom_id }}Accordion" data-omega-reveal>
10
+ {% for faq in args.items %}
11
+ <div class="accordion-item">
12
+ <h2 class="accordion-header">
13
+ <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#{{ args.dom_id }}{{ forloop.index }}" aria-expanded="false" aria-controls="{{ args.dom_id }}{{ forloop.index }}">
14
+ {{ faq.question }}
15
+ </button>
16
+ </h2>
17
+ <div id="{{ args.dom_id }}{{ forloop.index }}" class="accordion-collapse collapse" data-bs-parent="#{{ args.dom_id }}Accordion">
18
+ <div class="accordion-body">
19
+ {{ faq.answer }}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ {% endfor %}
24
+ </div>
25
+ {%- endcapture -%}
26
+ {%- if args.variant == "center" -%}
27
+ <section>
28
+ <div class="container">
29
+ <div class="row justify-content-center">
30
+ <div class="col-lg-8">
31
+ <div class="omega-section-head omega-section-head--center mb-5" data-omega-reveal>
32
+ {{ _head }}
33
+ </div>
34
+
35
+ {{ _accordion }}
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </section>
40
+ {%- else -%}
41
+ <section>
42
+ <div class="container">
43
+ <div class="omega-duo">
44
+ <div class="omega-duo__aside omega-section-head" data-omega-reveal>
45
+ {{ _head }}
46
+ </div>
47
+
48
+ {{ _accordion }}
49
+ </div>
50
+ </div>
51
+ </section>
52
+ {%- endif %}
@@ -0,0 +1,68 @@
1
+ {
2
+ description: 'FAQ accordion band — aside head + Bootstrap accordion in the asymmetric duo layout by default; variant: "center" stacks a centered head over a narrowed accordion (col-lg-8). A SHARED band (contact, download, extension, alternatives) — defaults stay NEUTRAL and every page passes its own copy over the data bridge (spec §6 shared-band ruling). Pricing keeps its own inline copy: its aside embeds the bespoke billing-guarantee object.',
3
+
4
+ args: {
5
+ superheadline: 'object', // { text } — the micro label is words only
6
+ headline: 'string',
7
+ headline_accent: 'string',
8
+ subheadline: 'string',
9
+ items: 'array',
10
+ variant: 'string',
11
+ dom_id: 'string',
12
+ },
13
+
14
+ defaults: {
15
+ // Mechanical knob only (§6): Bootstrap collapse wires by DOM id; a second
16
+ // instance on one page passes its own namespace.
17
+ dom_id: 'faq',
18
+ },
19
+
20
+ // Showcase variants (spec §9) — a SHARED band keeps neutral defaults, so
21
+ // the demo carries its own generic copy. Both variants render on one page,
22
+ // so each passes its own dom_id (exactly what the knob is for).
23
+ demo: [
24
+ {
25
+ label: 'Duo layout',
26
+ args: {
27
+ superheadline: { text: 'FAQ' },
28
+ headline: 'Common questions',
29
+ subheadline: 'Short answers to the things people ask first.',
30
+ dom_id: 'demoFaqDuo',
31
+ items: [
32
+ {
33
+ question: 'Do I need a credit card to start?',
34
+ answer: 'No. The free plan needs only an email address.',
35
+ },
36
+ {
37
+ question: 'Can I bring my own domain?',
38
+ answer: 'Yes. Point your DNS at us and certificates are handled automatically.',
39
+ },
40
+ {
41
+ question: 'What happens if I cancel?',
42
+ answer: 'Your site keeps running until the end of the billing period, and your content exports any time.',
43
+ },
44
+ ],
45
+ },
46
+ },
47
+ {
48
+ label: 'Centered',
49
+ args: {
50
+ variant: 'center',
51
+ superheadline: { text: 'FAQ' },
52
+ headline: 'Questions,',
53
+ headline_accent: 'answered',
54
+ dom_id: 'demoFaqCenter',
55
+ items: [
56
+ {
57
+ question: 'Is there a free tier?',
58
+ answer: 'Yes. Free forever for personal projects.',
59
+ },
60
+ {
61
+ question: 'How do upgrades work?',
62
+ answer: 'One click from the dashboard; changes prorate automatically.',
63
+ },
64
+ ],
65
+ },
66
+ },
67
+ ],
68
+ }