@rocket/js 0.0.0 → 0.1.1

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 (340) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +233 -2
  3. package/dist-types/exports/MainMenu.d.ts +2 -0
  4. package/dist-types/exports/MainMenu.d.ts.map +1 -0
  5. package/dist-types/exports/PageData.d.ts +2 -0
  6. package/dist-types/exports/PageData.d.ts.map +1 -0
  7. package/dist-types/exports/RocketCodeBlock.d.ts +2 -0
  8. package/dist-types/exports/RocketCodeBlock.d.ts.map +1 -0
  9. package/dist-types/exports/RocketIcon.d.ts +2 -0
  10. package/dist-types/exports/RocketIcon.d.ts.map +1 -0
  11. package/dist-types/exports/RocketJsDemo.d.ts +2 -0
  12. package/dist-types/exports/RocketJsDemo.d.ts.map +1 -0
  13. package/dist-types/exports/RocketRequestDemo.d.ts +2 -0
  14. package/dist-types/exports/RocketRequestDemo.d.ts.map +1 -0
  15. package/dist-types/exports/SocialPreviewPlayground.d.ts +2 -0
  16. package/dist-types/exports/SocialPreviewPlayground.d.ts.map +1 -0
  17. package/dist-types/exports/adapters/netlify.d.ts +2 -0
  18. package/dist-types/exports/adapters/netlify.d.ts.map +1 -0
  19. package/dist-types/exports/asyncMessage.d.ts +2 -0
  20. package/dist-types/exports/asyncMessage.d.ts.map +1 -0
  21. package/dist-types/exports/component-hydration.d.ts +2 -0
  22. package/dist-types/exports/component-hydration.d.ts.map +1 -0
  23. package/dist-types/exports/components/web-awesome.d.ts +3 -0
  24. package/dist-types/exports/components/web-awesome.d.ts.map +1 -0
  25. package/dist-types/exports/components.d.ts +2 -0
  26. package/dist-types/exports/components.d.ts.map +1 -0
  27. package/dist-types/exports/config.d.ts +2 -0
  28. package/dist-types/exports/config.d.ts.map +1 -0
  29. package/dist-types/exports/debounce.d.ts +2 -0
  30. package/dist-types/exports/debounce.d.ts.map +1 -0
  31. package/dist-types/exports/define/RocketCodeBlock.d.ts +2 -0
  32. package/dist-types/exports/define/RocketCodeBlock.d.ts.map +1 -0
  33. package/dist-types/exports/define/RocketIcon.d.ts +2 -0
  34. package/dist-types/exports/define/RocketIcon.d.ts.map +1 -0
  35. package/dist-types/exports/define/RocketJsDemo.d.ts +2 -0
  36. package/dist-types/exports/define/RocketJsDemo.d.ts.map +1 -0
  37. package/dist-types/exports/define/RocketRequestDemo.d.ts +2 -0
  38. package/dist-types/exports/define/RocketRequestDemo.d.ts.map +1 -0
  39. package/dist-types/exports/define/menus.d.ts +2 -0
  40. package/dist-types/exports/define/menus.d.ts.map +1 -0
  41. package/dist-types/exports/extractCode.d.ts +2 -0
  42. package/dist-types/exports/extractCode.d.ts.map +1 -0
  43. package/dist-types/exports/globalData.d.ts +2 -0
  44. package/dist-types/exports/globalData.d.ts.map +1 -0
  45. package/dist-types/exports/hydration/hydrationLoader.d.ts +2 -0
  46. package/dist-types/exports/hydration/hydrationLoader.d.ts.map +1 -0
  47. package/dist-types/exports/icons.d.ts +2 -0
  48. package/dist-types/exports/icons.d.ts.map +1 -0
  49. package/dist-types/exports/layout-helper.d.ts +2 -0
  50. package/dist-types/exports/layout-helper.d.ts.map +1 -0
  51. package/dist-types/exports/layout.d.ts +2 -0
  52. package/dist-types/exports/layout.d.ts.map +1 -0
  53. package/dist-types/exports/layouts/atlasDoc.d.ts +2 -0
  54. package/dist-types/exports/layouts/atlasDoc.d.ts.map +1 -0
  55. package/dist-types/exports/layouts/atlasHero.d.ts +2 -0
  56. package/dist-types/exports/layouts/atlasHero.d.ts.map +1 -0
  57. package/dist-types/exports/layouts/atlasNotFound.d.ts +2 -0
  58. package/dist-types/exports/layouts/atlasNotFound.d.ts.map +1 -0
  59. package/dist-types/exports/loaded-page-module.d.ts +2 -0
  60. package/dist-types/exports/loaded-page-module.d.ts.map +1 -0
  61. package/dist-types/exports/markdownHook.d.ts +2 -0
  62. package/dist-types/exports/markdownHook.d.ts.map +1 -0
  63. package/dist-types/exports/menu.d.ts +2 -0
  64. package/dist-types/exports/menu.d.ts.map +1 -0
  65. package/dist-types/exports/menus.d.ts +6 -0
  66. package/dist-types/exports/menus.d.ts.map +1 -0
  67. package/dist-types/exports/page-runtime.d.ts +2 -0
  68. package/dist-types/exports/page-runtime.d.ts.map +1 -0
  69. package/dist-types/exports/pages.d.ts +2 -0
  70. package/dist-types/exports/pages.d.ts.map +1 -0
  71. package/dist-types/exports/resolve.d.ts +2 -0
  72. package/dist-types/exports/resolve.d.ts.map +1 -0
  73. package/dist-types/exports/ssr.d.ts +2 -0
  74. package/dist-types/exports/ssr.d.ts.map +1 -0
  75. package/dist-types/exports/standalone-demo-url.d.ts +2 -0
  76. package/dist-types/exports/standalone-demo-url.d.ts.map +1 -0
  77. package/dist-types/exports/transform.d.ts +2 -0
  78. package/dist-types/exports/transform.d.ts.map +1 -0
  79. package/dist-types/exports/types/hydration.d.ts +23 -0
  80. package/dist-types/exports/types/hydration.d.ts.map +1 -0
  81. package/dist-types/exports/types/rocket.d.ts +504 -0
  82. package/dist-types/exports/types/rocket.d.ts.map +1 -0
  83. package/dist-types/exports/types.d.ts +3 -0
  84. package/dist-types/exports/types.d.ts.map +1 -0
  85. package/dist-types/exports/wds-plugin.d.ts +2 -0
  86. package/dist-types/exports/wds-plugin.d.ts.map +1 -0
  87. package/dist-types/src/PageData.d.ts +82 -0
  88. package/dist-types/src/PageData.d.ts.map +1 -0
  89. package/dist-types/src/RocketCodeBlock.d.ts +64 -0
  90. package/dist-types/src/RocketCodeBlock.d.ts.map +1 -0
  91. package/dist-types/src/RocketIcon.d.ts +35 -0
  92. package/dist-types/src/RocketIcon.d.ts.map +1 -0
  93. package/dist-types/src/RocketJsDemo.d.ts +59 -0
  94. package/dist-types/src/RocketJsDemo.d.ts.map +1 -0
  95. package/dist-types/src/RocketJsDemo.test-browser.d.ts +3 -0
  96. package/dist-types/src/RocketJsDemo.test-browser.d.ts.map +1 -0
  97. package/dist-types/src/RocketRequestDemo.d.ts +57 -0
  98. package/dist-types/src/RocketRequestDemo.d.ts.map +1 -0
  99. package/dist-types/src/RocketRequestDemo.test-browser.d.ts +3 -0
  100. package/dist-types/src/RocketRequestDemo.test-browser.d.ts.map +1 -0
  101. package/dist-types/src/SocialPreviewPlayground.d.ts +102 -0
  102. package/dist-types/src/SocialPreviewPlayground.d.ts.map +1 -0
  103. package/dist-types/src/adapters/netlify.d.ts +54 -0
  104. package/dist-types/src/adapters/netlify.d.ts.map +1 -0
  105. package/dist-types/src/asyncMessage.d.ts +14 -0
  106. package/dist-types/src/asyncMessage.d.ts.map +1 -0
  107. package/dist-types/src/cli/RocketBuild.d.ts +78 -0
  108. package/dist-types/src/cli/RocketBuild.d.ts.map +1 -0
  109. package/dist-types/src/cli/RocketCli.d.ts +17 -0
  110. package/dist-types/src/cli/RocketCli.d.ts.map +1 -0
  111. package/dist-types/src/cli/RocketInit.d.ts +22 -0
  112. package/dist-types/src/cli/RocketInit.d.ts.map +1 -0
  113. package/dist-types/src/cli/RocketStart.d.ts +45 -0
  114. package/dist-types/src/cli/RocketStart.d.ts.map +1 -0
  115. package/dist-types/src/cli/cli.d.ts +3 -0
  116. package/dist-types/src/cli/cli.d.ts.map +1 -0
  117. package/dist-types/src/component-hydration.d.ts +26 -0
  118. package/dist-types/src/component-hydration.d.ts.map +1 -0
  119. package/dist-types/src/components/FeatureList.d.ts +15 -0
  120. package/dist-types/src/components/FeatureList.d.ts.map +1 -0
  121. package/dist-types/src/components/Footer.d.ts +17 -0
  122. package/dist-types/src/components/Footer.d.ts.map +1 -0
  123. package/dist-types/src/components/Header.d.ts +6 -0
  124. package/dist-types/src/components/Header.d.ts.map +1 -0
  125. package/dist-types/src/components/RocketDrawer.d.ts +20 -0
  126. package/dist-types/src/components/RocketDrawer.d.ts.map +1 -0
  127. package/dist-types/src/components/RocketSocialLink.d.ts +30 -0
  128. package/dist-types/src/components/RocketSocialLink.d.ts.map +1 -0
  129. package/dist-types/src/components.d.ts +7 -0
  130. package/dist-types/src/components.d.ts.map +1 -0
  131. package/dist-types/src/config.d.ts +6 -0
  132. package/dist-types/src/config.d.ts.map +1 -0
  133. package/dist-types/src/debounce.d.ts +8 -0
  134. package/dist-types/src/debounce.d.ts.map +1 -0
  135. package/dist-types/src/defaultSocialPreviewTemplate.d.ts +31 -0
  136. package/dist-types/src/defaultSocialPreviewTemplate.d.ts.map +1 -0
  137. package/dist-types/src/development-page-module-loader.d.ts +15 -0
  138. package/dist-types/src/development-page-module-loader.d.ts.map +1 -0
  139. package/dist-types/src/extractCode.d.ts +5 -0
  140. package/dist-types/src/extractCode.d.ts.map +1 -0
  141. package/dist-types/src/hydration/evaluate.d.ts +20 -0
  142. package/dist-types/src/hydration/evaluate.d.ts.map +1 -0
  143. package/dist-types/src/hydration/extractStrategies.d.ts +5 -0
  144. package/dist-types/src/hydration/extractStrategies.d.ts.map +1 -0
  145. package/dist-types/src/hydration/hydrationLoader.d.ts +64 -0
  146. package/dist-types/src/hydration/hydrationLoader.d.ts.map +1 -0
  147. package/dist-types/src/icons.d.ts +182 -0
  148. package/dist-types/src/icons.d.ts.map +1 -0
  149. package/dist-types/src/layouts/atlas/atlasDocLayout.d.ts +45 -0
  150. package/dist-types/src/layouts/atlas/atlasDocLayout.d.ts.map +1 -0
  151. package/dist-types/src/layouts/atlas/atlasHeroLayout.d.ts +7 -0
  152. package/dist-types/src/layouts/atlas/atlasHeroLayout.d.ts.map +1 -0
  153. package/dist-types/src/layouts/atlas/atlasNotFoundLayout.d.ts +5 -0
  154. package/dist-types/src/layouts/atlas/atlasNotFoundLayout.d.ts.map +1 -0
  155. package/dist-types/src/layouts/layout-helper.d.ts +16 -0
  156. package/dist-types/src/layouts/layout-helper.d.ts.map +1 -0
  157. package/dist-types/src/layouts/layout.d.ts +7 -0
  158. package/dist-types/src/layouts/layout.d.ts.map +1 -0
  159. package/dist-types/src/loaded-page-module.d.ts +51 -0
  160. package/dist-types/src/loaded-page-module.d.ts.map +1 -0
  161. package/dist-types/src/main.d.ts +2 -0
  162. package/dist-types/src/main.d.ts.map +1 -0
  163. package/dist-types/src/markdownCompiler.d.ts +22 -0
  164. package/dist-types/src/markdownCompiler.d.ts.map +1 -0
  165. package/dist-types/src/markdownHook.d.ts +6 -0
  166. package/dist-types/src/markdownHook.d.ts.map +1 -0
  167. package/dist-types/src/menu.d.ts +22 -0
  168. package/dist-types/src/menu.d.ts.map +1 -0
  169. package/dist-types/src/menus/MainMenu.d.ts +23 -0
  170. package/dist-types/src/menus/MainMenu.d.ts.map +1 -0
  171. package/dist-types/src/menus/RocketMenu.d.ts +23 -0
  172. package/dist-types/src/menus/RocketMenu.d.ts.map +1 -0
  173. package/dist-types/src/menus/RocketNextPage.d.ts +18 -0
  174. package/dist-types/src/menus/RocketNextPage.d.ts.map +1 -0
  175. package/dist-types/src/menus/RocketPreviousPage.d.ts +18 -0
  176. package/dist-types/src/menus/RocketPreviousPage.d.ts.map +1 -0
  177. package/dist-types/src/menus/RocketToc.d.ts +54 -0
  178. package/dist-types/src/menus/RocketToc.d.ts.map +1 -0
  179. package/dist-types/src/menus/pageNavigation.d.ts +41 -0
  180. package/dist-types/src/menus/pageNavigation.d.ts.map +1 -0
  181. package/dist-types/src/page-pagination.d.ts +69 -0
  182. package/dist-types/src/page-pagination.d.ts.map +1 -0
  183. package/dist-types/src/page-runtime.d.ts +110 -0
  184. package/dist-types/src/page-runtime.d.ts.map +1 -0
  185. package/dist-types/src/pages.d.ts +10 -0
  186. package/dist-types/src/pages.d.ts.map +1 -0
  187. package/dist-types/src/publicAssets.d.ts +70 -0
  188. package/dist-types/src/publicAssets.d.ts.map +1 -0
  189. package/dist-types/src/requestDemoMetadata.d.ts +19 -0
  190. package/dist-types/src/requestDemoMetadata.d.ts.map +1 -0
  191. package/dist-types/src/resolve.d.ts +7 -0
  192. package/dist-types/src/resolve.d.ts.map +1 -0
  193. package/dist-types/src/siteDiscoverability.d.ts +33 -0
  194. package/dist-types/src/siteDiscoverability.d.ts.map +1 -0
  195. package/dist-types/src/siteHeadMetadata.d.ts +20 -0
  196. package/dist-types/src/siteHeadMetadata.d.ts.map +1 -0
  197. package/dist-types/src/socialPreviewImages.d.ts +186 -0
  198. package/dist-types/src/socialPreviewImages.d.ts.map +1 -0
  199. package/dist-types/src/socialPreviewTemplatePreview.d.ts +22 -0
  200. package/dist-types/src/socialPreviewTemplatePreview.d.ts.map +1 -0
  201. package/dist-types/src/ssr.d.ts +6 -0
  202. package/dist-types/src/ssr.d.ts.map +1 -0
  203. package/dist-types/src/standalone-demo-url.d.ts +60 -0
  204. package/dist-types/src/standalone-demo-url.d.ts.map +1 -0
  205. package/dist-types/src/static-page-module-loader.d.ts +15 -0
  206. package/dist-types/src/static-page-module-loader.d.ts.map +1 -0
  207. package/dist-types/src/transform.d.ts +10 -0
  208. package/dist-types/src/transform.d.ts.map +1 -0
  209. package/dist-types/src/urlLifecycle.d.ts +23 -0
  210. package/dist-types/src/urlLifecycle.d.ts.map +1 -0
  211. package/dist-types/src/wds-plugin.d.ts +15 -0
  212. package/dist-types/src/wds-plugin.d.ts.map +1 -0
  213. package/docs/assets/home-background.svg +1 -0
  214. package/docs/assets/prism-one-light.css +368 -0
  215. package/docs/assets/rocket-logo-dark-with-text-below.svg +8 -0
  216. package/docs/assets/rocket-logo-dark-with-text.svg +7 -0
  217. package/docs/assets/rocket-logo-dark.svg +7 -0
  218. package/docs/assets/rocket-logo-light-with-text-below.svg +14 -0
  219. package/docs/assets/rocket-logo-light-with-text.svg +13 -0
  220. package/docs/assets/rocket-logo-light.svg +12 -0
  221. package/docs/assets/rocket-text-no-logo.svg +3 -0
  222. package/exports/MainMenu.js +1 -0
  223. package/exports/PageData.js +1 -0
  224. package/exports/RocketCodeBlock.js +1 -0
  225. package/exports/RocketIcon.js +1 -0
  226. package/exports/RocketJsDemo.js +1 -0
  227. package/exports/RocketRequestDemo.js +1 -0
  228. package/exports/SocialPreviewPlayground.js +1 -0
  229. package/exports/adapters/netlify.js +1 -0
  230. package/exports/asyncMessage.js +1 -0
  231. package/exports/component-hydration.js +1 -0
  232. package/exports/components/web-awesome.js +63 -0
  233. package/exports/components.js +1 -0
  234. package/exports/config.js +1 -0
  235. package/exports/debounce.js +1 -0
  236. package/exports/define/RocketCodeBlock.js +2 -0
  237. package/exports/define/RocketIcon.js +3 -0
  238. package/exports/define/RocketJsDemo.js +5 -0
  239. package/exports/define/RocketRequestDemo.js +5 -0
  240. package/exports/define/menus.js +14 -0
  241. package/exports/extractCode.js +1 -0
  242. package/exports/globalData.js +1 -0
  243. package/exports/hydration/hydrationLoader.js +1 -0
  244. package/exports/icons.js +11 -0
  245. package/exports/layout-helper.js +1 -0
  246. package/exports/layout.js +1 -0
  247. package/exports/layouts/_atlas.css +3 -0
  248. package/exports/layouts/atlasDoc.js +5 -0
  249. package/exports/layouts/atlasHero.js +1 -0
  250. package/exports/layouts/atlasNotFound.js +4 -0
  251. package/exports/loaded-page-module.js +5 -0
  252. package/exports/markdownHook.js +4 -0
  253. package/exports/menu.js +4 -0
  254. package/exports/menus.js +5 -0
  255. package/exports/page-runtime.js +5 -0
  256. package/exports/pages.js +1 -0
  257. package/exports/resolve.js +1 -0
  258. package/exports/ssr.js +1 -0
  259. package/exports/standalone-demo-url.js +10 -0
  260. package/exports/transform.js +1 -0
  261. package/exports/types/hydration.ts +26 -0
  262. package/exports/types/rocket.ts +598 -0
  263. package/exports/types.ts +71 -0
  264. package/exports/wds-plugin.js +1 -0
  265. package/package.json +192 -9
  266. package/src/PageData.js +244 -0
  267. package/src/RocketCodeBlock.js +516 -0
  268. package/src/RocketIcon.js +291 -0
  269. package/src/RocketJsDemo.js +397 -0
  270. package/src/RocketJsDemo.test-browser.js +228 -0
  271. package/src/RocketRequestDemo.js +439 -0
  272. package/src/RocketRequestDemo.test-browser.js +301 -0
  273. package/src/SocialPreviewPlayground.js +573 -0
  274. package/src/adapters/netlify.js +814 -0
  275. package/src/asyncMessage.js +21 -0
  276. package/src/cli/RocketBuild.js +581 -0
  277. package/src/cli/RocketCli.js +47 -0
  278. package/src/cli/RocketInit.js +636 -0
  279. package/src/cli/RocketStart.js +145 -0
  280. package/src/cli/cli.js +7 -0
  281. package/src/component-hydration.js +86 -0
  282. package/src/components/FeatureList.js +114 -0
  283. package/src/components/Footer.js +116 -0
  284. package/src/components/Header.js +122 -0
  285. package/src/components/RocketDrawer.js +193 -0
  286. package/src/components/RocketSocialLink.js +128 -0
  287. package/src/components/assets/discord.svg +7 -0
  288. package/src/components/assets/github.svg +4 -0
  289. package/src/components/assets/gitlab.svg +1 -0
  290. package/src/components/assets/info.txt +1 -0
  291. package/src/components/assets/license.svg +3 -0
  292. package/src/components/assets/npm.svg +5 -0
  293. package/src/components/assets/slack.svg +5 -0
  294. package/src/components/assets/telegram.svg +4 -0
  295. package/src/components/assets/twitter.svg +1 -0
  296. package/src/components.js +34 -0
  297. package/src/config.js +319 -0
  298. package/src/debounce.js +21 -0
  299. package/src/defaultSocialPreviewTemplate.js +118 -0
  300. package/src/development-page-module-loader.js +29 -0
  301. package/src/extractCode.js +41 -0
  302. package/src/hydration/evaluate.js +54 -0
  303. package/src/hydration/extractStrategies.js +91 -0
  304. package/src/hydration/hydrationLoader.js +330 -0
  305. package/src/icons.js +898 -0
  306. package/src/layouts/atlas/atlasDoc.css +877 -0
  307. package/src/layouts/atlas/atlasDocLayout.js +275 -0
  308. package/src/layouts/atlas/atlasHero.css +774 -0
  309. package/src/layouts/atlas/atlasHeroLayout.js +337 -0
  310. package/src/layouts/atlas/atlasNotFound.css +365 -0
  311. package/src/layouts/atlas/atlasNotFoundLayout.js +69 -0
  312. package/src/layouts/layout-helper.js +92 -0
  313. package/src/layouts/layout.js +52 -0
  314. package/src/loaded-page-module.js +97 -0
  315. package/src/main.js +72 -0
  316. package/src/markdownCompiler.js +303 -0
  317. package/src/markdownHook.js +148 -0
  318. package/src/menu.js +210 -0
  319. package/src/menus/MainMenu.js +58 -0
  320. package/src/menus/RocketMenu.js +191 -0
  321. package/src/menus/RocketNextPage.js +25 -0
  322. package/src/menus/RocketPreviousPage.js +29 -0
  323. package/src/menus/RocketToc.js +309 -0
  324. package/src/menus/pageNavigation.js +285 -0
  325. package/src/page-pagination.js +241 -0
  326. package/src/page-runtime.js +481 -0
  327. package/src/pages.js +537 -0
  328. package/src/publicAssets.js +336 -0
  329. package/src/requestDemoMetadata.js +97 -0
  330. package/src/resolve.js +15 -0
  331. package/src/siteDiscoverability.js +184 -0
  332. package/src/siteHeadMetadata.js +69 -0
  333. package/src/socialPreviewImages.js +482 -0
  334. package/src/socialPreviewTemplatePreview.js +352 -0
  335. package/src/ssr.js +14 -0
  336. package/src/standalone-demo-url.js +147 -0
  337. package/src/static-page-module-loader.js +29 -0
  338. package/src/transform.js +720 -0
  339. package/src/urlLifecycle.js +57 -0
  340. package/src/wds-plugin.js +307 -0
@@ -0,0 +1,774 @@
1
+ :root {
2
+ --primary-text-color: #111827;
3
+ --primary-text-color-dark: #0b1220;
4
+ --secondary-text-color: #4b5563;
5
+ --primary-color: #e10d14;
6
+ --primary-color-dark: #b90f12;
7
+ --link-color: #0f3b82;
8
+ --line-color: #dbe3ec;
9
+ --soft-line-color: #edf1f6;
10
+ --surface-color: #ffffff;
11
+ --surface-soft-color: #f8fafc;
12
+ --surface-warm-color: #fff8eb;
13
+ --surface-red-color: #fff0f0;
14
+ --surface-green-color: #ecfdf3;
15
+ --surface-blue-color: #f1f4ff;
16
+ --amber-color: #f59e0b;
17
+ --green-color: #16a34a;
18
+ --blue-color: #4f46e5;
19
+ --shadow-color: 217 32% 17%;
20
+ --content-width: 1200px;
21
+ font-family: 'Rubik', sans-serif;
22
+ color: var(--primary-text-color);
23
+ }
24
+
25
+ * {
26
+ box-sizing: border-box;
27
+ }
28
+
29
+ body,
30
+ html {
31
+ margin: 0;
32
+ width: 100%;
33
+ background: var(--surface-color);
34
+ }
35
+
36
+ img {
37
+ max-width: 100%;
38
+ height: auto;
39
+ border-radius: 0;
40
+ }
41
+
42
+ .icon {
43
+ display: inline-block;
44
+ width: 1.15em;
45
+ height: 1.15em;
46
+ flex: 0 0 auto;
47
+ }
48
+
49
+ .icon-large {
50
+ height: 1.8em;
51
+ width: 1.8em;
52
+ }
53
+
54
+ .logo-header {
55
+ display: flex;
56
+ align-items: center;
57
+ text-decoration: none;
58
+ }
59
+
60
+ /* Override if 2 images are provided */
61
+ .logo-header:has(:nth-child(2)) {
62
+ gap: 6px;
63
+ }
64
+
65
+ .logo-header:has(:nth-child(2)) img:first-child {
66
+ transition: transform 0.5s ease-in-out;
67
+ transform: rotate(0deg);
68
+ }
69
+
70
+ .logo-header:has(:nth-child(2)):hover img:first-child {
71
+ transform: rotate(360deg);
72
+ }
73
+
74
+ .home-nav {
75
+ display: flex;
76
+ align-items: center;
77
+ gap: 32px;
78
+ }
79
+
80
+ .home-nav a {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ gap: 6px;
84
+ color: var(--primary-text-color);
85
+ font-size: 0.95rem;
86
+ font-weight: 600;
87
+ text-decoration: none;
88
+ }
89
+
90
+ .home-nav a:hover {
91
+ color: var(--primary-color);
92
+ }
93
+
94
+ .home-main {
95
+ overflow: hidden;
96
+ }
97
+
98
+ .home-section,
99
+ .home-content {
100
+ max-width: var(--content-width);
101
+ margin-right: auto;
102
+ margin-left: auto;
103
+ padding-right: 24px;
104
+ padding-left: 24px;
105
+ }
106
+
107
+ .home-content:empty {
108
+ display: none;
109
+ }
110
+
111
+ .hero {
112
+ display: grid;
113
+ grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
114
+ align-items: center;
115
+ gap: 56px;
116
+ min-height: 535px;
117
+ padding-top: 52px;
118
+ padding-bottom: 16px;
119
+ }
120
+
121
+ .hero-copy {
122
+ max-width: 610px;
123
+ }
124
+
125
+ .hero-eyebrow {
126
+ margin: 0 0 20px;
127
+ color: var(--primary-color);
128
+ font-size: 0.82rem;
129
+ font-weight: 800;
130
+ line-height: 1.2;
131
+ text-transform: uppercase;
132
+ }
133
+
134
+ .hero h1 {
135
+ margin: 0;
136
+ color: var(--primary-text-color-dark);
137
+ font-size: 4.35rem;
138
+ font-weight: 800;
139
+ line-height: 1.02;
140
+ }
141
+
142
+ .hero-body {
143
+ max-width: 58ch;
144
+ margin: 20px 0 0;
145
+ color: var(--secondary-text-color);
146
+ font-size: 1.08rem;
147
+ line-height: 1.65;
148
+ }
149
+
150
+ .hero-actions {
151
+ display: flex;
152
+ align-items: center;
153
+ flex-wrap: wrap;
154
+ gap: 16px;
155
+ margin-top: 24px;
156
+ }
157
+
158
+ .cta,
159
+ .text-link,
160
+ .secondary-links a {
161
+ display: inline-flex;
162
+ align-items: center;
163
+ justify-content: center;
164
+ gap: 10px;
165
+ min-height: 48px;
166
+ border-radius: 8px;
167
+ font-size: 0.98rem;
168
+ font-weight: 700;
169
+ text-decoration: none;
170
+ transition:
171
+ border-color 0.2s ease,
172
+ background-color 0.2s ease,
173
+ color 0.2s ease,
174
+ transform 0.2s ease;
175
+ }
176
+
177
+ .cta {
178
+ padding: 0 28px;
179
+ border: 1px solid transparent;
180
+ }
181
+
182
+ .cta.primary {
183
+ color: #ffffff;
184
+ background: var(--primary-color);
185
+ box-shadow: 0 14px 24px hsl(var(--shadow-color) / 12%);
186
+ }
187
+
188
+ .cta.primary:hover {
189
+ background: var(--primary-color-dark);
190
+ transform: translateY(-1px);
191
+ }
192
+
193
+ .cta.secondary {
194
+ color: #ffffff;
195
+ background: var(--primary-text-color-dark);
196
+ }
197
+
198
+ .cta.secondary:hover {
199
+ background: #1f2937;
200
+ transform: translateY(-1px);
201
+ }
202
+
203
+ .text-link {
204
+ color: var(--primary-text-color);
205
+ padding: 0 8px;
206
+ }
207
+
208
+ .text-link:hover,
209
+ .secondary-links a:hover {
210
+ color: var(--primary-color);
211
+ }
212
+
213
+ .install-pill {
214
+ display: inline-flex;
215
+ align-items: stretch;
216
+ max-width: 100%;
217
+ height: 46px;
218
+ margin-top: 18px;
219
+ overflow: hidden;
220
+ border: 1px solid var(--line-color);
221
+ border-radius: 8px;
222
+ background: var(--surface-color);
223
+ box-shadow: 0 8px 24px hsl(var(--shadow-color) / 5%);
224
+ }
225
+
226
+ .install-label,
227
+ .install-pill code {
228
+ display: flex;
229
+ align-items: center;
230
+ }
231
+
232
+ .install-label {
233
+ padding: 0 18px;
234
+ border-right: 1px solid var(--line-color);
235
+ color: var(--secondary-text-color);
236
+ font-weight: 600;
237
+ }
238
+
239
+ .install-pill code {
240
+ min-width: 0;
241
+ padding: 0 22px;
242
+ overflow-x: auto;
243
+ color: var(--primary-text-color);
244
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
245
+ font-size: 0.95rem;
246
+ white-space: nowrap;
247
+ }
248
+
249
+ .copy-command {
250
+ --wa-form-control-height: 55px;
251
+
252
+ display: inline-flex;
253
+ align-items: center;
254
+ justify-content: center;
255
+ align-self: stretch;
256
+ width: 44px;
257
+ flex: 0 0 44px;
258
+ min-width: 44px;
259
+ padding: 0;
260
+ border-left: 1px solid var(--line-color);
261
+ color: var(--secondary-text-color);
262
+ background: var(--surface-color);
263
+ }
264
+
265
+ .copy-command::part(button),
266
+ .copy-command::part(button):hover,
267
+ .copy-command::part(button):focus-visible {
268
+ width: 100%;
269
+ border-radius: 0;
270
+ background: transparent;
271
+ aspect-ratio: auto;
272
+ }
273
+
274
+ .copy-command:hover,
275
+ .copy-command:state(success) {
276
+ color: var(--green-color);
277
+ background: var(--surface-green-color);
278
+ }
279
+
280
+ .copy-command:state(error) {
281
+ color: var(--primary-color);
282
+ background: var(--surface-red-color);
283
+ }
284
+
285
+ .trust-badges {
286
+ display: flex;
287
+ flex-wrap: wrap;
288
+ gap: 14px;
289
+ width: fit-content;
290
+ max-width: 100%;
291
+ margin: 14px 0 0;
292
+ padding: 0;
293
+ list-style: none;
294
+ }
295
+
296
+ .trust-badges li {
297
+ display: inline-flex;
298
+ align-items: center;
299
+ gap: 6px;
300
+ min-height: 24px;
301
+ padding: 0;
302
+ color: var(--secondary-text-color);
303
+ font-size: 0.76rem;
304
+ font-weight: 500;
305
+ --rocket-social-link-color: var(--secondary-text-color);
306
+ --rocket-social-link-hover-color: var(--primary-color);
307
+ --rocket-social-link-icon-color: var(--secondary-text-color);
308
+ --rocket-social-link-label-font-size: 0.76rem;
309
+ --rocket-social-link-label-font-weight: 500;
310
+ --rocket-social-link-gap: 6px;
311
+ --rocket-social-link-height: auto;
312
+ }
313
+
314
+ .trust-badges li:last-child rocket-social-link {
315
+ --rocket-social-link-icon-size: 1.6rem;
316
+ }
317
+
318
+ .trust-badges li rocket-social-link {
319
+ --rocket-social-link-icon-size: 0.86rem;
320
+ }
321
+
322
+ .trust-badge-text {
323
+ display: inline-flex;
324
+ align-items: center;
325
+ min-height: 24px;
326
+ }
327
+
328
+ .hero-art {
329
+ display: grid;
330
+ place-items: center;
331
+ min-height: 420px;
332
+ }
333
+
334
+ .rocket-visual {
335
+ position: relative;
336
+ display: grid;
337
+ place-items: center;
338
+ width: 100%;
339
+ max-width: 480px;
340
+ aspect-ratio: 1 / 0.82;
341
+ }
342
+
343
+ .rocket-visual img {
344
+ width: 370px;
345
+ filter: drop-shadow(0 26px 28px hsl(var(--shadow-color) / 10%));
346
+ }
347
+
348
+ .spark {
349
+ position: absolute;
350
+ display: block;
351
+ width: 16px;
352
+ height: 16px;
353
+ color: #cbd5e1;
354
+ }
355
+
356
+ .spark::before,
357
+ .spark::after {
358
+ position: absolute;
359
+ content: '';
360
+ background: currentColor;
361
+ border-radius: 999px;
362
+ }
363
+
364
+ .spark::before {
365
+ top: 7px;
366
+ left: 2px;
367
+ width: 12px;
368
+ height: 2px;
369
+ }
370
+
371
+ .spark::after {
372
+ top: 2px;
373
+ left: 7px;
374
+ width: 2px;
375
+ height: 12px;
376
+ }
377
+
378
+ .spark-one {
379
+ top: 15%;
380
+ left: 8%;
381
+ }
382
+
383
+ .spark-two {
384
+ top: 26%;
385
+ right: 8%;
386
+ }
387
+
388
+ .spark-three {
389
+ right: 34%;
390
+ bottom: 10%;
391
+ }
392
+
393
+ .why-section {
394
+ padding-top: 14px;
395
+ }
396
+
397
+ .why-section h2 {
398
+ margin: 0 0 20px;
399
+ color: var(--primary-text-color-dark);
400
+ font-size: 1.55rem;
401
+ line-height: 1.2;
402
+ text-align: center;
403
+ }
404
+
405
+ .why-grid {
406
+ display: grid;
407
+ grid-template-columns: repeat(3, minmax(0, 1fr));
408
+ gap: 22px;
409
+ }
410
+
411
+ .why-card,
412
+ .info-card {
413
+ border: 1px solid var(--line-color);
414
+ border-radius: 8px;
415
+ background: var(--surface-color);
416
+ box-shadow: 0 12px 32px hsl(var(--shadow-color) / 6%);
417
+ }
418
+
419
+ .why-card {
420
+ display: grid;
421
+ grid-template-columns: auto minmax(0, 1fr);
422
+ gap: 18px;
423
+ padding: 19px 20px;
424
+ }
425
+
426
+ .card-icon,
427
+ .step-icon {
428
+ display: inline-flex;
429
+ align-items: center;
430
+ justify-content: center;
431
+ width: 54px;
432
+ height: 54px;
433
+ border-radius: 8px;
434
+ }
435
+
436
+ .tone-red .card-icon,
437
+ .tone-red .step-icon {
438
+ color: var(--primary-color);
439
+ background: var(--surface-red-color);
440
+ }
441
+
442
+ .tone-amber .card-icon,
443
+ .tone-amber .step-icon {
444
+ color: var(--amber-color);
445
+ background: var(--surface-warm-color);
446
+ }
447
+
448
+ .tone-green .card-icon,
449
+ .tone-green .step-icon {
450
+ color: var(--green-color);
451
+ background: var(--surface-green-color);
452
+ }
453
+
454
+ .tone-blue .card-icon,
455
+ .tone-blue .step-icon {
456
+ color: var(--blue-color);
457
+ background: var(--surface-blue-color);
458
+ }
459
+
460
+ .why-card h3,
461
+ .info-card h2 {
462
+ margin: 0;
463
+ color: var(--primary-text-color-dark);
464
+ font-size: 1.02rem;
465
+ line-height: 1.3;
466
+ }
467
+
468
+ .why-card p,
469
+ .info-card p,
470
+ .workflow-step p {
471
+ margin: 8px 0 0;
472
+ color: var(--secondary-text-color);
473
+ font-size: 0.92rem;
474
+ line-height: 1.55;
475
+ }
476
+
477
+ .tag-list {
478
+ display: flex;
479
+ flex-wrap: wrap;
480
+ grid-column: 1 / -1;
481
+ gap: 8px;
482
+ margin: 6px 0 0;
483
+ padding: 0;
484
+ list-style: none;
485
+ }
486
+
487
+ .tag-list li {
488
+ display: inline-flex;
489
+ align-items: center;
490
+ min-height: 24px;
491
+ padding: 0 9px;
492
+ border: 1px solid var(--line-color);
493
+ border-radius: 6px;
494
+ color: var(--primary-text-color);
495
+ background: var(--surface-soft-color);
496
+ font-size: 0.78rem;
497
+ font-weight: 600;
498
+ }
499
+
500
+ .home-columns {
501
+ display: grid;
502
+ grid-template-columns: minmax(0, 0.4fr) minmax(0, 1.1fr);
503
+ gap: 22px;
504
+ padding-top: 22px;
505
+ padding-bottom: 44px;
506
+ }
507
+
508
+ .info-card {
509
+ min-width: 0;
510
+ padding: 22px;
511
+ }
512
+
513
+ .quick-start-card header {
514
+ display: flex;
515
+ align-items: center;
516
+ justify-content: space-between;
517
+ gap: 16px;
518
+ margin-bottom: 14px;
519
+ }
520
+
521
+ .quick-start-card header .copy-command {
522
+ --wa-form-control-height: 47.5px;
523
+
524
+ align-self: center;
525
+ width: 38px;
526
+ height: 38px;
527
+ flex-basis: 38px;
528
+ min-width: 38px;
529
+ border: 1px solid var(--line-color);
530
+ border-radius: 7px;
531
+ overflow: hidden;
532
+ }
533
+
534
+ .quick-start-card pre {
535
+ margin: 0;
536
+ padding: 18px 20px;
537
+ overflow-x: auto;
538
+ border: 1px solid var(--line-color);
539
+ border-radius: 8px;
540
+ background: var(--surface-soft-color);
541
+ }
542
+
543
+ .quick-start-card code {
544
+ color: var(--primary-text-color-dark);
545
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace;
546
+ font-size: 0.88rem;
547
+ line-height: 1.7;
548
+ white-space: pre;
549
+ }
550
+
551
+ .quick-start-card > p {
552
+ margin-top: 10px;
553
+ font-size: 0.86rem;
554
+ line-height: 1.45;
555
+ }
556
+
557
+ .workflow-steps {
558
+ display: grid;
559
+ grid-template-columns: repeat(4, minmax(0, 1fr));
560
+ gap: 22px;
561
+ margin: 20px 0 0;
562
+ padding: 0;
563
+ list-style: none;
564
+ }
565
+
566
+ .workflow-step {
567
+ position: relative;
568
+ min-width: 0;
569
+ text-align: center;
570
+ }
571
+
572
+ .workflow-step:not(:last-child)::after {
573
+ position: absolute;
574
+ top: 27px;
575
+ left: calc(50% + 38px);
576
+ width: calc(100% - 54px);
577
+ border-top: 1px dotted var(--line-color);
578
+ content: '';
579
+ }
580
+
581
+ .workflow-step:not(:last-child)::before {
582
+ position: absolute;
583
+ top: 23px;
584
+ right: -15px;
585
+ width: 9px;
586
+ height: 9px;
587
+ border-top: 1px solid var(--line-color);
588
+ border-right: 1px solid var(--line-color);
589
+ content: '';
590
+ transform: rotate(45deg);
591
+ }
592
+
593
+ .step-icon {
594
+ margin: 0 auto 12px;
595
+ border: 1px solid var(--line-color);
596
+ }
597
+
598
+ .workflow-step strong {
599
+ display: block;
600
+ color: var(--primary-text-color-dark);
601
+ font-size: 0.86rem;
602
+ line-height: 1.35;
603
+ }
604
+
605
+ .secondary-links {
606
+ display: grid;
607
+ grid-template-columns: repeat(2, minmax(0, 1fr));
608
+ gap: 0;
609
+ margin-top: 22px;
610
+ padding-top: 16px;
611
+ border-top: 1px solid var(--line-color);
612
+ }
613
+
614
+ .secondary-links a {
615
+ min-height: 36px;
616
+ color: var(--link-color);
617
+ font-size: 0.9rem;
618
+ }
619
+
620
+ .home-content {
621
+ color: var(--primary-text-color);
622
+ }
623
+
624
+ .home-content h2 {
625
+ margin: 2rem 0 1rem;
626
+ font-size: 1.8rem;
627
+ line-height: 1.2;
628
+ }
629
+
630
+ .home-content h3 {
631
+ margin: 1.5rem 0 0.75rem;
632
+ font-size: 1.2rem;
633
+ }
634
+
635
+ .home-content p,
636
+ .home-content li,
637
+ .home-content td,
638
+ .home-content th {
639
+ font-size: 1rem;
640
+ line-height: 1.65;
641
+ }
642
+
643
+ .home-content a {
644
+ color: var(--link-color);
645
+ }
646
+
647
+ @media (max-width: 1040px) {
648
+ .hero {
649
+ grid-template-columns: 1fr;
650
+ gap: 30px;
651
+ min-height: 0;
652
+ padding-top: 44px;
653
+ }
654
+
655
+ .hero-copy {
656
+ max-width: 760px;
657
+ }
658
+
659
+ .hero-art {
660
+ order: -1;
661
+ min-height: 260px;
662
+ }
663
+
664
+ .rocket-visual {
665
+ max-width: 360px;
666
+ }
667
+
668
+ .rocket-visual img {
669
+ width: 270px;
670
+ }
671
+
672
+ .home-columns,
673
+ .why-grid {
674
+ grid-template-columns: 1fr;
675
+ }
676
+ }
677
+
678
+ @media (max-width: 760px) {
679
+ .home-section,
680
+ .home-content {
681
+ padding-right: 18px;
682
+ padding-left: 18px;
683
+ }
684
+
685
+ .hero {
686
+ padding-top: 30px;
687
+ padding-bottom: 20px;
688
+ }
689
+
690
+ .hero h1 {
691
+ font-size: 3rem;
692
+ }
693
+
694
+ .hero-body {
695
+ font-size: 1rem;
696
+ }
697
+
698
+ .hero-actions,
699
+ .cta {
700
+ width: 100%;
701
+ }
702
+
703
+ .text-link {
704
+ width: 100%;
705
+ justify-content: flex-start;
706
+ padding-left: 0;
707
+ }
708
+
709
+ .install-pill {
710
+ display: flex;
711
+ width: 100%;
712
+ }
713
+
714
+ .install-label {
715
+ padding: 0 12px;
716
+ }
717
+
718
+ .install-pill code {
719
+ flex: 1 1 auto;
720
+ padding: 0 12px;
721
+ font-size: 0.82rem;
722
+ }
723
+
724
+ .trust-badges {
725
+ width: fit-content;
726
+ }
727
+
728
+ .trust-badges li {
729
+ flex: 0 1 auto;
730
+ }
731
+
732
+ .why-card {
733
+ grid-template-columns: 1fr;
734
+ }
735
+
736
+ .workflow-steps {
737
+ grid-template-columns: 1fr;
738
+ gap: 18px;
739
+ }
740
+
741
+ .workflow-step {
742
+ display: grid;
743
+ grid-template-columns: auto minmax(0, 1fr);
744
+ column-gap: 14px;
745
+ text-align: left;
746
+ }
747
+
748
+ .workflow-step:not(:last-child)::after {
749
+ display: none;
750
+ }
751
+
752
+ .workflow-step:not(:last-child)::before {
753
+ display: none;
754
+ }
755
+
756
+ .step-icon {
757
+ grid-row: span 2;
758
+ margin: 0;
759
+ }
760
+
761
+ .secondary-links {
762
+ grid-template-columns: 1fr;
763
+ }
764
+ }
765
+
766
+ @media (max-width: 460px) {
767
+ .hero h1 {
768
+ font-size: 2.45rem;
769
+ }
770
+
771
+ .trust-badges li {
772
+ flex-basis: auto;
773
+ }
774
+ }