@bestagentkits/render 0.1.1-next.1 → 0.3.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 (635) hide show
  1. package/CHANGELOG.md +209 -1
  2. package/README.md +324 -44
  3. package/assets/fonts/bricolage-grotesque/OFL.txt +93 -0
  4. package/assets/fonts/fraunces/OFL.txt +93 -0
  5. package/assets/fonts/geist/OFL.txt +93 -0
  6. package/assets/fonts/inter-tight/OFL.txt +93 -0
  7. package/assets/fonts/jetbrains-mono/OFL.txt +93 -0
  8. package/assets/fonts/plus-jakarta-sans/OFL.txt +93 -0
  9. package/dist/blocks/chart/chart-check-kind-rules.d.ts +10 -0
  10. package/dist/blocks/chart/chart-check-kind-rules.d.ts.map +1 -0
  11. package/dist/blocks/chart/chart-check-kind-rules.js +151 -0
  12. package/dist/blocks/chart/chart-check-kind-rules.js.map +1 -0
  13. package/dist/blocks/chart/chart-check.d.ts +15 -0
  14. package/dist/blocks/chart/chart-check.d.ts.map +1 -0
  15. package/dist/blocks/chart/chart-check.js +196 -0
  16. package/dist/blocks/chart/chart-check.js.map +1 -0
  17. package/dist/blocks/chart/chart-encoding-schema.d.ts +7 -0
  18. package/dist/blocks/chart/chart-encoding-schema.d.ts.map +1 -0
  19. package/dist/blocks/chart/chart-encoding-schema.js +39 -0
  20. package/dist/blocks/chart/chart-encoding-schema.js.map +1 -0
  21. package/dist/blocks/chart/chart-encodings.d.ts +29 -0
  22. package/dist/blocks/chart/chart-encodings.d.ts.map +1 -0
  23. package/dist/blocks/chart/chart-encodings.js +59 -0
  24. package/dist/blocks/chart/chart-encodings.js.map +1 -0
  25. package/dist/blocks/chart/chart-kinds.d.ts +18 -0
  26. package/dist/blocks/chart/chart-kinds.d.ts.map +1 -0
  27. package/dist/blocks/chart/chart-kinds.js +60 -0
  28. package/dist/blocks/chart/chart-kinds.js.map +1 -0
  29. package/dist/blocks/chart/chart-model-rows.d.ts +23 -0
  30. package/dist/blocks/chart/chart-model-rows.d.ts.map +1 -0
  31. package/dist/blocks/chart/chart-model-rows.js +153 -0
  32. package/dist/blocks/chart/chart-model-rows.js.map +1 -0
  33. package/dist/blocks/chart/chart-model.d.ts +17 -0
  34. package/dist/blocks/chart/chart-model.d.ts.map +1 -0
  35. package/dist/blocks/chart/chart-model.js +131 -0
  36. package/dist/blocks/chart/chart-model.js.map +1 -0
  37. package/dist/blocks/chart/chart-styles.d.ts +3 -0
  38. package/dist/blocks/chart/chart-styles.d.ts.map +1 -0
  39. package/dist/blocks/chart/chart-styles.js +76 -0
  40. package/dist/blocks/chart/chart-styles.js.map +1 -0
  41. package/dist/blocks/chart/chart.d.ts +12 -0
  42. package/dist/blocks/chart/chart.d.ts.map +1 -0
  43. package/dist/blocks/chart/chart.js +73 -0
  44. package/dist/blocks/chart/chart.js.map +1 -0
  45. package/dist/blocks/chart/index.d.ts +4 -0
  46. package/dist/blocks/chart/index.d.ts.map +1 -0
  47. package/dist/blocks/chart/index.js +8 -0
  48. package/dist/blocks/chart/index.js.map +1 -0
  49. package/dist/blocks/composition/accordion.d.ts +4 -0
  50. package/dist/blocks/composition/accordion.d.ts.map +1 -0
  51. package/dist/blocks/composition/accordion.js +45 -0
  52. package/dist/blocks/composition/accordion.js.map +1 -0
  53. package/dist/blocks/composition/bento.d.ts +4 -0
  54. package/dist/blocks/composition/bento.d.ts.map +1 -0
  55. package/dist/blocks/composition/bento.js +91 -0
  56. package/dist/blocks/composition/bento.js.map +1 -0
  57. package/dist/blocks/composition/carousel.d.ts +4 -0
  58. package/dist/blocks/composition/carousel.d.ts.map +1 -0
  59. package/dist/blocks/composition/carousel.js +51 -0
  60. package/dist/blocks/composition/carousel.js.map +1 -0
  61. package/dist/blocks/composition/composition-runtime.d.ts +14 -0
  62. package/dist/blocks/composition/composition-runtime.d.ts.map +1 -0
  63. package/dist/blocks/composition/composition-runtime.js +136 -0
  64. package/dist/blocks/composition/composition-runtime.js.map +1 -0
  65. package/dist/blocks/composition/composition-styles.d.ts +10 -0
  66. package/dist/blocks/composition/composition-styles.d.ts.map +1 -0
  67. package/dist/blocks/composition/composition-styles.js +80 -0
  68. package/dist/blocks/composition/composition-styles.js.map +1 -0
  69. package/dist/blocks/composition/index.d.ts +4 -0
  70. package/dist/blocks/composition/index.d.ts.map +1 -0
  71. package/dist/blocks/composition/index.js +11 -0
  72. package/dist/blocks/composition/index.js.map +1 -0
  73. package/dist/blocks/composition/nestable-blocks.d.ts +37 -0
  74. package/dist/blocks/composition/nestable-blocks.d.ts.map +1 -0
  75. package/dist/blocks/composition/nestable-blocks.js +92 -0
  76. package/dist/blocks/composition/nestable-blocks.js.map +1 -0
  77. package/dist/blocks/composition/tabs.d.ts +4 -0
  78. package/dist/blocks/composition/tabs.d.ts.map +1 -0
  79. package/dist/blocks/composition/tabs.js +48 -0
  80. package/dist/blocks/composition/tabs.js.map +1 -0
  81. package/dist/blocks/controls/checkbox.d.ts +12 -0
  82. package/dist/blocks/controls/checkbox.d.ts.map +1 -0
  83. package/dist/blocks/controls/checkbox.js +43 -0
  84. package/dist/blocks/controls/checkbox.js.map +1 -0
  85. package/dist/blocks/controls/choice-options.d.ts +24 -0
  86. package/dist/blocks/controls/choice-options.d.ts.map +1 -0
  87. package/dist/blocks/controls/choice-options.js +117 -0
  88. package/dist/blocks/controls/choice-options.js.map +1 -0
  89. package/dist/blocks/controls/control-shared.d.ts +66 -0
  90. package/dist/blocks/controls/control-shared.d.ts.map +1 -0
  91. package/dist/blocks/controls/control-shared.js +241 -0
  92. package/dist/blocks/controls/control-shared.js.map +1 -0
  93. package/dist/blocks/controls/controls-runtime.d.ts +17 -0
  94. package/dist/blocks/controls/controls-runtime.d.ts.map +1 -0
  95. package/dist/blocks/controls/controls-runtime.js +180 -0
  96. package/dist/blocks/controls/controls-runtime.js.map +1 -0
  97. package/dist/blocks/controls/controls-styles.d.ts +14 -0
  98. package/dist/blocks/controls/controls-styles.d.ts.map +1 -0
  99. package/dist/blocks/controls/controls-styles.js +54 -0
  100. package/dist/blocks/controls/controls-styles.js.map +1 -0
  101. package/dist/blocks/controls/date-input.d.ts +6 -0
  102. package/dist/blocks/controls/date-input.d.ts.map +1 -0
  103. package/dist/blocks/controls/date-input.js +58 -0
  104. package/dist/blocks/controls/date-input.js.map +1 -0
  105. package/dist/blocks/controls/field-input.d.ts +10 -0
  106. package/dist/blocks/controls/field-input.d.ts.map +1 -0
  107. package/dist/blocks/controls/field-input.js +20 -0
  108. package/dist/blocks/controls/field-input.js.map +1 -0
  109. package/dist/blocks/controls/filter-bar.d.ts +11 -0
  110. package/dist/blocks/controls/filter-bar.d.ts.map +1 -0
  111. package/dist/blocks/controls/filter-bar.js +115 -0
  112. package/dist/blocks/controls/filter-bar.js.map +1 -0
  113. package/dist/blocks/controls/index.d.ts +4 -0
  114. package/dist/blocks/controls/index.d.ts.map +1 -0
  115. package/dist/blocks/controls/index.js +41 -0
  116. package/dist/blocks/controls/index.js.map +1 -0
  117. package/dist/blocks/controls/number-input.d.ts +4 -0
  118. package/dist/blocks/controls/number-input.d.ts.map +1 -0
  119. package/dist/blocks/controls/number-input.js +62 -0
  120. package/dist/blocks/controls/number-input.js.map +1 -0
  121. package/dist/blocks/controls/radio-group.d.ts +4 -0
  122. package/dist/blocks/controls/radio-group.d.ts.map +1 -0
  123. package/dist/blocks/controls/radio-group.js +56 -0
  124. package/dist/blocks/controls/radio-group.js.map +1 -0
  125. package/dist/blocks/controls/select.d.ts +4 -0
  126. package/dist/blocks/controls/select.d.ts.map +1 -0
  127. package/dist/blocks/controls/select.js +49 -0
  128. package/dist/blocks/controls/select.js.map +1 -0
  129. package/dist/blocks/controls/switch.d.ts +4 -0
  130. package/dist/blocks/controls/switch.d.ts.map +1 -0
  131. package/dist/blocks/controls/switch.js +22 -0
  132. package/dist/blocks/controls/switch.js.map +1 -0
  133. package/dist/blocks/controls/text-input.d.ts +4 -0
  134. package/dist/blocks/controls/text-input.d.ts.map +1 -0
  135. package/dist/blocks/controls/text-input.js +42 -0
  136. package/dist/blocks/controls/text-input.js.map +1 -0
  137. package/dist/blocks/data-table/data-table-cells.d.ts +26 -0
  138. package/dist/blocks/data-table/data-table-cells.d.ts.map +1 -0
  139. package/dist/blocks/data-table/data-table-cells.js +154 -0
  140. package/dist/blocks/data-table/data-table-cells.js.map +1 -0
  141. package/dist/blocks/data-table/data-table-check.d.ts +10 -0
  142. package/dist/blocks/data-table/data-table-check.d.ts.map +1 -0
  143. package/dist/blocks/data-table/data-table-check.js +99 -0
  144. package/dist/blocks/data-table/data-table-check.js.map +1 -0
  145. package/dist/blocks/data-table/data-table-columns.d.ts +41 -0
  146. package/dist/blocks/data-table/data-table-columns.d.ts.map +1 -0
  147. package/dist/blocks/data-table/data-table-columns.js +155 -0
  148. package/dist/blocks/data-table/data-table-columns.js.map +1 -0
  149. package/dist/blocks/data-table/data-table-runtime.d.ts +15 -0
  150. package/dist/blocks/data-table/data-table-runtime.d.ts.map +1 -0
  151. package/dist/blocks/data-table/data-table-runtime.js +106 -0
  152. package/dist/blocks/data-table/data-table-runtime.js.map +1 -0
  153. package/dist/blocks/data-table/data-table-styles.d.ts +11 -0
  154. package/dist/blocks/data-table/data-table-styles.d.ts.map +1 -0
  155. package/dist/blocks/data-table/data-table-styles.js +74 -0
  156. package/dist/blocks/data-table/data-table-styles.js.map +1 -0
  157. package/dist/blocks/data-table/data-table.d.ts +17 -0
  158. package/dist/blocks/data-table/data-table.d.ts.map +1 -0
  159. package/dist/blocks/data-table/data-table.js +159 -0
  160. package/dist/blocks/data-table/data-table.js.map +1 -0
  161. package/dist/blocks/data-table/index.d.ts +4 -0
  162. package/dist/blocks/data-table/index.d.ts.map +1 -0
  163. package/dist/blocks/data-table/index.js +18 -0
  164. package/dist/blocks/data-table/index.js.map +1 -0
  165. package/dist/blocks/engineering/api-endpoint.d.ts +12 -0
  166. package/dist/blocks/engineering/api-endpoint.d.ts.map +1 -0
  167. package/dist/blocks/engineering/api-endpoint.js +174 -0
  168. package/dist/blocks/engineering/api-endpoint.js.map +1 -0
  169. package/dist/blocks/engineering/engineering-helpers.d.ts +49 -0
  170. package/dist/blocks/engineering/engineering-helpers.d.ts.map +1 -0
  171. package/dist/blocks/engineering/engineering-helpers.js +156 -0
  172. package/dist/blocks/engineering/engineering-helpers.js.map +1 -0
  173. package/dist/blocks/engineering/engineering-styles.d.ts +12 -0
  174. package/dist/blocks/engineering/engineering-styles.d.ts.map +1 -0
  175. package/dist/blocks/engineering/engineering-styles.js +174 -0
  176. package/dist/blocks/engineering/engineering-styles.js.map +1 -0
  177. package/dist/blocks/engineering/index.d.ts +4 -0
  178. package/dist/blocks/engineering/index.d.ts.map +1 -0
  179. package/dist/blocks/engineering/index.js +30 -0
  180. package/dist/blocks/engineering/index.js.map +1 -0
  181. package/dist/blocks/engineering/kanban.d.ts +11 -0
  182. package/dist/blocks/engineering/kanban.d.ts.map +1 -0
  183. package/dist/blocks/engineering/kanban.js +162 -0
  184. package/dist/blocks/engineering/kanban.js.map +1 -0
  185. package/dist/blocks/engineering/log-viewer.d.ts +14 -0
  186. package/dist/blocks/engineering/log-viewer.d.ts.map +1 -0
  187. package/dist/blocks/engineering/log-viewer.js +158 -0
  188. package/dist/blocks/engineering/log-viewer.js.map +1 -0
  189. package/dist/blocks/engineering/roadmap.d.ts +13 -0
  190. package/dist/blocks/engineering/roadmap.d.ts.map +1 -0
  191. package/dist/blocks/engineering/roadmap.js +197 -0
  192. package/dist/blocks/engineering/roadmap.js.map +1 -0
  193. package/dist/blocks/engineering/schema-viewer.d.ts +25 -0
  194. package/dist/blocks/engineering/schema-viewer.d.ts.map +1 -0
  195. package/dist/blocks/engineering/schema-viewer.js +124 -0
  196. package/dist/blocks/engineering/schema-viewer.js.map +1 -0
  197. package/dist/blocks/engineering/test-results.d.ts +12 -0
  198. package/dist/blocks/engineering/test-results.d.ts.map +1 -0
  199. package/dist/blocks/engineering/test-results.js +180 -0
  200. package/dist/blocks/engineering/test-results.js.map +1 -0
  201. package/dist/blocks/evidence/annotated-image.d.ts +15 -0
  202. package/dist/blocks/evidence/annotated-image.d.ts.map +1 -0
  203. package/dist/blocks/evidence/annotated-image.js +99 -0
  204. package/dist/blocks/evidence/annotated-image.js.map +1 -0
  205. package/dist/blocks/evidence/benchmark-comparison.d.ts +11 -0
  206. package/dist/blocks/evidence/benchmark-comparison.d.ts.map +1 -0
  207. package/dist/blocks/evidence/benchmark-comparison.js +262 -0
  208. package/dist/blocks/evidence/benchmark-comparison.js.map +1 -0
  209. package/dist/blocks/evidence/benchmark-verdict.d.ts +26 -0
  210. package/dist/blocks/evidence/benchmark-verdict.d.ts.map +1 -0
  211. package/dist/blocks/evidence/benchmark-verdict.js +31 -0
  212. package/dist/blocks/evidence/benchmark-verdict.js.map +1 -0
  213. package/dist/blocks/evidence/evidence-helpers.d.ts +39 -0
  214. package/dist/blocks/evidence/evidence-helpers.d.ts.map +1 -0
  215. package/dist/blocks/evidence/evidence-helpers.js +87 -0
  216. package/dist/blocks/evidence/evidence-helpers.js.map +1 -0
  217. package/dist/blocks/evidence/evidence-styles.d.ts +12 -0
  218. package/dist/blocks/evidence/evidence-styles.d.ts.map +1 -0
  219. package/dist/blocks/evidence/evidence-styles.js +88 -0
  220. package/dist/blocks/evidence/evidence-styles.js.map +1 -0
  221. package/dist/blocks/evidence/index.d.ts +4 -0
  222. package/dist/blocks/evidence/index.d.ts.map +1 -0
  223. package/dist/blocks/evidence/index.js +15 -0
  224. package/dist/blocks/evidence/index.js.map +1 -0
  225. package/dist/blocks/evidence/metric-breakdown.d.ts +22 -0
  226. package/dist/blocks/evidence/metric-breakdown.d.ts.map +1 -0
  227. package/dist/blocks/evidence/metric-breakdown.js +203 -0
  228. package/dist/blocks/evidence/metric-breakdown.js.map +1 -0
  229. package/dist/blocks/evidence/references.d.ts +13 -0
  230. package/dist/blocks/evidence/references.d.ts.map +1 -0
  231. package/dist/blocks/evidence/references.js +103 -0
  232. package/dist/blocks/evidence/references.js.map +1 -0
  233. package/dist/blocks/index.d.ts +8 -0
  234. package/dist/blocks/index.d.ts.map +1 -0
  235. package/dist/blocks/index.js +24 -0
  236. package/dist/blocks/index.js.map +1 -0
  237. package/dist/blocks/layout/grid-item.d.ts +4 -0
  238. package/dist/blocks/layout/grid-item.d.ts.map +1 -0
  239. package/dist/blocks/layout/grid-item.js +65 -0
  240. package/dist/blocks/layout/grid-item.js.map +1 -0
  241. package/dist/blocks/layout/grid.d.ts +9 -0
  242. package/dist/blocks/layout/grid.d.ts.map +1 -0
  243. package/dist/blocks/layout/grid.js +99 -0
  244. package/dist/blocks/layout/grid.js.map +1 -0
  245. package/dist/blocks/layout/index.d.ts +4 -0
  246. package/dist/blocks/layout/index.d.ts.map +1 -0
  247. package/dist/blocks/layout/index.js +23 -0
  248. package/dist/blocks/layout/index.js.map +1 -0
  249. package/dist/blocks/layout/layout-styles.d.ts +40 -0
  250. package/dist/blocks/layout/layout-styles.d.ts.map +1 -0
  251. package/dist/blocks/layout/layout-styles.js +110 -0
  252. package/dist/blocks/layout/layout-styles.js.map +1 -0
  253. package/dist/blocks/layout/main-aside.d.ts +4 -0
  254. package/dist/blocks/layout/main-aside.d.ts.map +1 -0
  255. package/dist/blocks/layout/main-aside.js +21 -0
  256. package/dist/blocks/layout/main-aside.js.map +1 -0
  257. package/dist/blocks/layout/rail-layout.d.ts +4 -0
  258. package/dist/blocks/layout/rail-layout.d.ts.map +1 -0
  259. package/dist/blocks/layout/rail-layout.js +33 -0
  260. package/dist/blocks/layout/rail-layout.js.map +1 -0
  261. package/dist/blocks/layout/semantic-layout-parts.d.ts +14 -0
  262. package/dist/blocks/layout/semantic-layout-parts.d.ts.map +1 -0
  263. package/dist/blocks/layout/semantic-layout-parts.js +9 -0
  264. package/dist/blocks/layout/semantic-layout-parts.js.map +1 -0
  265. package/dist/blocks/layout/sidebar-layout.d.ts +4 -0
  266. package/dist/blocks/layout/sidebar-layout.d.ts.map +1 -0
  267. package/dist/blocks/layout/sidebar-layout.js +30 -0
  268. package/dist/blocks/layout/sidebar-layout.js.map +1 -0
  269. package/dist/blocks/layout/split.d.ts +4 -0
  270. package/dist/blocks/layout/split.d.ts.map +1 -0
  271. package/dist/blocks/layout/split.js +23 -0
  272. package/dist/blocks/layout/split.js.map +1 -0
  273. package/dist/blocks/layout/stack.d.ts +4 -0
  274. package/dist/blocks/layout/stack.d.ts.map +1 -0
  275. package/dist/blocks/layout/stack.js +36 -0
  276. package/dist/blocks/layout/stack.js.map +1 -0
  277. package/dist/blocks/product/calendar-dates.d.ts +59 -0
  278. package/dist/blocks/product/calendar-dates.d.ts.map +1 -0
  279. package/dist/blocks/product/calendar-dates.js +100 -0
  280. package/dist/blocks/product/calendar-dates.js.map +1 -0
  281. package/dist/blocks/product/calendar.d.ts +12 -0
  282. package/dist/blocks/product/calendar.d.ts.map +1 -0
  283. package/dist/blocks/product/calendar.js +125 -0
  284. package/dist/blocks/product/calendar.js.map +1 -0
  285. package/dist/blocks/product/feature-matrix.d.ts +4 -0
  286. package/dist/blocks/product/feature-matrix.d.ts.map +1 -0
  287. package/dist/blocks/product/feature-matrix.js +72 -0
  288. package/dist/blocks/product/feature-matrix.js.map +1 -0
  289. package/dist/blocks/product/gallery.d.ts +14 -0
  290. package/dist/blocks/product/gallery.d.ts.map +1 -0
  291. package/dist/blocks/product/gallery.js +86 -0
  292. package/dist/blocks/product/gallery.js.map +1 -0
  293. package/dist/blocks/product/index.d.ts +4 -0
  294. package/dist/blocks/product/index.d.ts.map +1 -0
  295. package/dist/blocks/product/index.js +40 -0
  296. package/dist/blocks/product/index.js.map +1 -0
  297. package/dist/blocks/product/logo-cloud.d.ts +4 -0
  298. package/dist/blocks/product/logo-cloud.d.ts.map +1 -0
  299. package/dist/blocks/product/logo-cloud.js +42 -0
  300. package/dist/blocks/product/logo-cloud.js.map +1 -0
  301. package/dist/blocks/product/people.d.ts +4 -0
  302. package/dist/blocks/product/people.d.ts.map +1 -0
  303. package/dist/blocks/product/people.js +53 -0
  304. package/dist/blocks/product/people.js.map +1 -0
  305. package/dist/blocks/product/pricing.d.ts +4 -0
  306. package/dist/blocks/product/pricing.d.ts.map +1 -0
  307. package/dist/blocks/product/pricing.js +86 -0
  308. package/dist/blocks/product/pricing.js.map +1 -0
  309. package/dist/blocks/product/product-helpers.d.ts +22 -0
  310. package/dist/blocks/product/product-helpers.d.ts.map +1 -0
  311. package/dist/blocks/product/product-helpers.js +48 -0
  312. package/dist/blocks/product/product-helpers.js.map +1 -0
  313. package/dist/blocks/product/product-runtime.d.ts +15 -0
  314. package/dist/blocks/product/product-runtime.d.ts.map +1 -0
  315. package/dist/blocks/product/product-runtime.js +97 -0
  316. package/dist/blocks/product/product-runtime.js.map +1 -0
  317. package/dist/blocks/product/product-styles.d.ts +14 -0
  318. package/dist/blocks/product/product-styles.d.ts.map +1 -0
  319. package/dist/blocks/product/product-styles.js +120 -0
  320. package/dist/blocks/product/product-styles.js.map +1 -0
  321. package/dist/blocks/product/testimonial.d.ts +8 -0
  322. package/dist/blocks/product/testimonial.d.ts.map +1 -0
  323. package/dist/blocks/product/testimonial.js +67 -0
  324. package/dist/blocks/product/testimonial.js.map +1 -0
  325. package/dist/cli.d.ts +2 -0
  326. package/dist/cli.d.ts.map +1 -1
  327. package/dist/cli.js +193 -39
  328. package/dist/cli.js.map +1 -1
  329. package/dist/data/data-json-schema.d.ts +9 -0
  330. package/dist/data/data-json-schema.d.ts.map +1 -0
  331. package/dist/data/data-json-schema.js +48 -0
  332. package/dist/data/data-json-schema.js.map +1 -0
  333. package/dist/data/dataset-types.d.ts +47 -0
  334. package/dist/data/dataset-types.d.ts.map +1 -0
  335. package/dist/data/dataset-types.js +49 -0
  336. package/dist/data/dataset-types.js.map +1 -0
  337. package/dist/data/format-value.d.ts +39 -0
  338. package/dist/data/format-value.d.ts.map +1 -0
  339. package/dist/data/format-value.js +214 -0
  340. package/dist/data/format-value.js.map +1 -0
  341. package/dist/data/resolve-block-data.d.ts +24 -0
  342. package/dist/data/resolve-block-data.d.ts.map +1 -0
  343. package/dist/data/resolve-block-data.js +190 -0
  344. package/dist/data/resolve-block-data.js.map +1 -0
  345. package/dist/data/transform-pipeline.d.ts +65 -0
  346. package/dist/data/transform-pipeline.d.ts.map +1 -0
  347. package/dist/data/transform-pipeline.js +234 -0
  348. package/dist/data/transform-pipeline.js.map +1 -0
  349. package/dist/data/validate-datasets.d.ts +22 -0
  350. package/dist/data/validate-datasets.d.ts.map +1 -0
  351. package/dist/data/validate-datasets.js +137 -0
  352. package/dist/data/validate-datasets.js.map +1 -0
  353. package/dist/diagram/adapter-markup-fit.d.ts +44 -0
  354. package/dist/diagram/adapter-markup-fit.d.ts.map +1 -0
  355. package/dist/diagram/adapter-markup-fit.js +292 -0
  356. package/dist/diagram/adapter-markup-fit.js.map +1 -0
  357. package/dist/diagram/adapter-stylesheet-filter.d.ts +56 -0
  358. package/dist/diagram/adapter-stylesheet-filter.d.ts.map +1 -0
  359. package/dist/diagram/adapter-stylesheet-filter.js +245 -0
  360. package/dist/diagram/adapter-stylesheet-filter.js.map +1 -0
  361. package/dist/diagram/adapter.d.ts +17 -0
  362. package/dist/diagram/adapter.d.ts.map +1 -1
  363. package/dist/diagram/adapter.js +43 -2
  364. package/dist/diagram/adapter.js.map +1 -1
  365. package/dist/index.d.ts +14 -1
  366. package/dist/index.d.ts.map +1 -1
  367. package/dist/index.js +6 -0
  368. package/dist/index.js.map +1 -1
  369. package/dist/ir.d.ts +18 -0
  370. package/dist/ir.d.ts.map +1 -1
  371. package/dist/ir.js.map +1 -1
  372. package/dist/mcp/mcp-http-transport.d.ts +68 -0
  373. package/dist/mcp/mcp-http-transport.d.ts.map +1 -0
  374. package/dist/mcp/mcp-http-transport.js +140 -0
  375. package/dist/mcp/mcp-http-transport.js.map +1 -0
  376. package/dist/mcp/mcp-json-rpc-dispatch.d.ts +38 -0
  377. package/dist/mcp/mcp-json-rpc-dispatch.d.ts.map +1 -0
  378. package/dist/mcp/mcp-json-rpc-dispatch.js +98 -0
  379. package/dist/mcp/mcp-json-rpc-dispatch.js.map +1 -0
  380. package/dist/mcp/mcp-local-tools.d.ts +20 -0
  381. package/dist/mcp/mcp-local-tools.d.ts.map +1 -0
  382. package/dist/mcp/mcp-local-tools.js +58 -0
  383. package/dist/mcp/mcp-local-tools.js.map +1 -0
  384. package/dist/mcp/mcp-protocol.d.ts +79 -0
  385. package/dist/mcp/mcp-protocol.d.ts.map +1 -0
  386. package/dist/mcp/mcp-protocol.js +83 -0
  387. package/dist/mcp/mcp-protocol.js.map +1 -0
  388. package/dist/mcp/mcp-stdio-transport.d.ts +28 -0
  389. package/dist/mcp/mcp-stdio-transport.d.ts.map +1 -0
  390. package/dist/mcp/mcp-stdio-transport.js +73 -0
  391. package/dist/mcp/mcp-stdio-transport.js.map +1 -0
  392. package/dist/mcp/mcp-tool-definitions.d.ts +66 -0
  393. package/dist/mcp/mcp-tool-definitions.d.ts.map +1 -0
  394. package/dist/mcp/mcp-tool-definitions.js +246 -0
  395. package/dist/mcp/mcp-tool-definitions.js.map +1 -0
  396. package/dist/mcp-server.d.ts +10 -0
  397. package/dist/mcp-server.d.ts.map +1 -0
  398. package/dist/mcp-server.js +9 -0
  399. package/dist/mcp-server.js.map +1 -0
  400. package/dist/recipes/index.d.ts +27 -0
  401. package/dist/recipes/index.d.ts.map +1 -0
  402. package/dist/recipes/index.js +30 -0
  403. package/dist/recipes/index.js.map +1 -0
  404. package/dist/recipes/recipes.generated.d.ts +8 -0
  405. package/dist/recipes/recipes.generated.d.ts.map +1 -0
  406. package/dist/recipes/recipes.generated.js +704 -0
  407. package/dist/recipes/recipes.generated.js.map +1 -0
  408. package/dist/registry/actions.d.ts +2 -0
  409. package/dist/registry/actions.d.ts.map +1 -1
  410. package/dist/registry/actions.js +3 -1
  411. package/dist/registry/actions.js.map +1 -1
  412. package/dist/registry/block-module.d.ts +65 -0
  413. package/dist/registry/block-module.d.ts.map +1 -0
  414. package/dist/registry/block-module.js +19 -0
  415. package/dist/registry/block-module.js.map +1 -0
  416. package/dist/registry/catalog-search.d.ts +32 -0
  417. package/dist/registry/catalog-search.d.ts.map +1 -0
  418. package/dist/registry/catalog-search.js +122 -0
  419. package/dist/registry/catalog-search.js.map +1 -0
  420. package/dist/registry/define-helpers.d.ts +89 -0
  421. package/dist/registry/define-helpers.d.ts.map +1 -0
  422. package/dist/registry/define-helpers.js +87 -0
  423. package/dist/registry/define-helpers.js.map +1 -0
  424. package/dist/registry/describe-many.d.ts +58 -0
  425. package/dist/registry/describe-many.d.ts.map +1 -0
  426. package/dist/registry/describe-many.js +156 -0
  427. package/dist/registry/describe-many.js.map +1 -0
  428. package/dist/registry/prop-schema.d.ts +32 -1
  429. package/dist/registry/prop-schema.d.ts.map +1 -1
  430. package/dist/registry/prop-schema.js +108 -2
  431. package/dist/registry/prop-schema.js.map +1 -1
  432. package/dist/registry/registry-builder.d.ts +17 -0
  433. package/dist/registry/registry-builder.d.ts.map +1 -0
  434. package/dist/registry/registry-builder.js +158 -0
  435. package/dist/registry/registry-builder.js.map +1 -0
  436. package/dist/registry/registry.d.ts +32 -5
  437. package/dist/registry/registry.d.ts.map +1 -1
  438. package/dist/registry/registry.js +67 -14
  439. package/dist/registry/registry.js.map +1 -1
  440. package/dist/registry/roster.d.ts +34 -5
  441. package/dist/registry/roster.d.ts.map +1 -1
  442. package/dist/registry/roster.js +360 -184
  443. package/dist/registry/roster.js.map +1 -1
  444. package/dist/render/block-helpers.d.ts +45 -0
  445. package/dist/render/block-helpers.d.ts.map +1 -0
  446. package/dist/render/block-helpers.js +83 -0
  447. package/dist/render/block-helpers.js.map +1 -0
  448. package/dist/render/blocks.d.ts +10 -35
  449. package/dist/render/blocks.d.ts.map +1 -1
  450. package/dist/render/blocks.js +144 -263
  451. package/dist/render/blocks.js.map +1 -1
  452. package/dist/render/chart-figure-encoded.d.ts +11 -0
  453. package/dist/render/chart-figure-encoded.d.ts.map +1 -0
  454. package/dist/render/chart-figure-encoded.js +81 -0
  455. package/dist/render/chart-figure-encoded.js.map +1 -0
  456. package/dist/render/chart-kinds-cartesian.d.ts +14 -0
  457. package/dist/render/chart-kinds-cartesian.d.ts.map +1 -0
  458. package/dist/render/chart-kinds-cartesian.js +122 -0
  459. package/dist/render/chart-kinds-cartesian.js.map +1 -0
  460. package/dist/render/chart-kinds-composite.d.ts +16 -0
  461. package/dist/render/chart-kinds-composite.d.ts.map +1 -0
  462. package/dist/render/chart-kinds-composite.js +144 -0
  463. package/dist/render/chart-kinds-composite.js.map +1 -0
  464. package/dist/render/chart-kinds-gauge-treemap.d.ts +8 -0
  465. package/dist/render/chart-kinds-gauge-treemap.d.ts.map +1 -0
  466. package/dist/render/chart-kinds-gauge-treemap.js +101 -0
  467. package/dist/render/chart-kinds-gauge-treemap.js.map +1 -0
  468. package/dist/render/chart-kinds-histogram-waterfall.d.ts +17 -0
  469. package/dist/render/chart-kinds-histogram-waterfall.d.ts.map +1 -0
  470. package/dist/render/chart-kinds-histogram-waterfall.js +172 -0
  471. package/dist/render/chart-kinds-histogram-waterfall.js.map +1 -0
  472. package/dist/render/chart-overlays.d.ts +18 -0
  473. package/dist/render/chart-overlays.d.ts.map +1 -0
  474. package/dist/render/chart-overlays.js +58 -0
  475. package/dist/render/chart-overlays.js.map +1 -0
  476. package/dist/render/chart-scales.d.ts +83 -0
  477. package/dist/render/chart-scales.d.ts.map +1 -0
  478. package/dist/render/chart-scales.js +166 -0
  479. package/dist/render/chart-scales.js.map +1 -0
  480. package/dist/render/chart-svg-parts.d.ts +50 -0
  481. package/dist/render/chart-svg-parts.d.ts.map +1 -0
  482. package/dist/render/chart-svg-parts.js +125 -0
  483. package/dist/render/chart-svg-parts.js.map +1 -0
  484. package/dist/render/chart-text.d.ts +18 -0
  485. package/dist/render/chart-text.d.ts.map +1 -0
  486. package/dist/render/chart-text.js +69 -0
  487. package/dist/render/chart-text.js.map +1 -0
  488. package/dist/render/chart-treemap-layout.d.ts +17 -0
  489. package/dist/render/chart-treemap-layout.d.ts.map +1 -0
  490. package/dist/render/chart-treemap-layout.js +74 -0
  491. package/dist/render/chart-treemap-layout.js.map +1 -0
  492. package/dist/render/chart-types.d.ts +107 -0
  493. package/dist/render/chart-types.d.ts.map +1 -0
  494. package/dist/render/chart-types.js +11 -0
  495. package/dist/render/chart-types.js.map +1 -0
  496. package/dist/render/charts.d.ts +33 -11
  497. package/dist/render/charts.d.ts.map +1 -1
  498. package/dist/render/charts.js +145 -109
  499. package/dist/render/charts.js.map +1 -1
  500. package/dist/render/derived-variables.d.ts +37 -0
  501. package/dist/render/derived-variables.d.ts.map +1 -0
  502. package/dist/render/derived-variables.js +40 -0
  503. package/dist/render/derived-variables.js.map +1 -0
  504. package/dist/render/diagram-fallback.d.ts +25 -0
  505. package/dist/render/diagram-fallback.d.ts.map +1 -0
  506. package/dist/render/diagram-fallback.js +86 -0
  507. package/dist/render/diagram-fallback.js.map +1 -0
  508. package/dist/render/document.d.ts +15 -0
  509. package/dist/render/document.d.ts.map +1 -1
  510. package/dist/render/document.js +53 -8
  511. package/dist/render/document.js.map +1 -1
  512. package/dist/render/effects-styles.d.ts +14 -0
  513. package/dist/render/effects-styles.d.ts.map +1 -0
  514. package/dist/render/effects-styles.js +39 -0
  515. package/dist/render/effects-styles.js.map +1 -0
  516. package/dist/render/embedded-fonts.generated.d.ts +22 -0
  517. package/dist/render/embedded-fonts.generated.d.ts.map +1 -0
  518. package/dist/render/embedded-fonts.generated.js +59 -0
  519. package/dist/render/embedded-fonts.generated.js.map +1 -0
  520. package/dist/render/escape.d.ts +10 -0
  521. package/dist/render/escape.d.ts.map +1 -1
  522. package/dist/render/escape.js +28 -0
  523. package/dist/render/escape.js.map +1 -1
  524. package/dist/render/feature-styles.d.ts +14 -0
  525. package/dist/render/feature-styles.d.ts.map +1 -0
  526. package/dist/render/feature-styles.js +123 -0
  527. package/dist/render/feature-styles.js.map +1 -0
  528. package/dist/render/font-faces.d.ts +22 -0
  529. package/dist/render/font-faces.d.ts.map +1 -0
  530. package/dist/render/font-faces.js +60 -0
  531. package/dist/render/font-faces.js.map +1 -0
  532. package/dist/render/outline.d.ts +21 -0
  533. package/dist/render/outline.d.ts.map +1 -0
  534. package/dist/render/outline.js +47 -0
  535. package/dist/render/outline.js.map +1 -0
  536. package/dist/render/recipe-styles.d.ts +26 -0
  537. package/dist/render/recipe-styles.d.ts.map +1 -0
  538. package/dist/render/recipe-styles.js +218 -0
  539. package/dist/render/recipe-styles.js.map +1 -0
  540. package/dist/render/render-context.d.ts +40 -0
  541. package/dist/render/render-context.d.ts.map +1 -0
  542. package/dist/render/render-context.js +16 -0
  543. package/dist/render/render-context.js.map +1 -0
  544. package/dist/render/render.d.ts +7 -0
  545. package/dist/render/render.d.ts.map +1 -1
  546. package/dist/render/render.js +108 -41
  547. package/dist/render/render.js.map +1 -1
  548. package/dist/render/runtime.d.ts +4 -1
  549. package/dist/render/runtime.d.ts.map +1 -1
  550. package/dist/render/runtime.js +275 -128
  551. package/dist/render/runtime.js.map +1 -1
  552. package/dist/render/showcase-blocks.d.ts +52 -0
  553. package/dist/render/showcase-blocks.d.ts.map +1 -0
  554. package/dist/render/showcase-blocks.js +329 -0
  555. package/dist/render/showcase-blocks.js.map +1 -0
  556. package/dist/render/showcase-styles.d.ts +15 -0
  557. package/dist/render/showcase-styles.d.ts.map +1 -0
  558. package/dist/render/showcase-styles.js +201 -0
  559. package/dist/render/showcase-styles.js.map +1 -0
  560. package/dist/render/signature-styles.d.ts +18 -0
  561. package/dist/render/signature-styles.d.ts.map +1 -0
  562. package/dist/render/signature-styles.js +41 -0
  563. package/dist/render/signature-styles.js.map +1 -0
  564. package/dist/render/style-units.d.ts +17 -0
  565. package/dist/render/style-units.d.ts.map +1 -0
  566. package/dist/render/style-units.js +24 -0
  567. package/dist/render/style-units.js.map +1 -0
  568. package/dist/render/styles.d.ts +18 -9
  569. package/dist/render/styles.d.ts.map +1 -1
  570. package/dist/render/styles.js +228 -129
  571. package/dist/render/styles.js.map +1 -1
  572. package/dist/render/surface-styles.d.ts +24 -0
  573. package/dist/render/surface-styles.d.ts.map +1 -0
  574. package/dist/render/surface-styles.js +41 -0
  575. package/dist/render/surface-styles.js.map +1 -0
  576. package/dist/render/tone.d.ts +14 -0
  577. package/dist/render/tone.d.ts.map +1 -0
  578. package/dist/render/tone.js +40 -0
  579. package/dist/render/tone.js.map +1 -0
  580. package/dist/render/verify.d.ts +3 -0
  581. package/dist/render/verify.d.ts.map +1 -1
  582. package/dist/render/verify.js +45 -2
  583. package/dist/render/verify.js.map +1 -1
  584. package/dist/spec/asset-references.d.ts +35 -0
  585. package/dist/spec/asset-references.d.ts.map +1 -0
  586. package/dist/spec/asset-references.js +93 -0
  587. package/dist/spec/asset-references.js.map +1 -0
  588. package/dist/spec/bounds.d.ts +6 -0
  589. package/dist/spec/bounds.d.ts.map +1 -1
  590. package/dist/spec/bounds.js +7 -0
  591. package/dist/spec/bounds.js.map +1 -1
  592. package/dist/spec/conditions.d.ts +43 -0
  593. package/dist/spec/conditions.d.ts.map +1 -0
  594. package/dist/spec/conditions.js +179 -0
  595. package/dist/spec/conditions.js.map +1 -0
  596. package/dist/spec/network-policy.d.ts +33 -0
  597. package/dist/spec/network-policy.d.ts.map +1 -0
  598. package/dist/spec/network-policy.js +57 -0
  599. package/dist/spec/network-policy.js.map +1 -0
  600. package/dist/spec/normalize.d.ts +7 -2
  601. package/dist/spec/normalize.d.ts.map +1 -1
  602. package/dist/spec/normalize.js +219 -41
  603. package/dist/spec/normalize.js.map +1 -1
  604. package/dist/theme/dialect-presets.d.ts +12 -0
  605. package/dist/theme/dialect-presets.d.ts.map +1 -0
  606. package/dist/theme/dialect-presets.js +214 -0
  607. package/dist/theme/dialect-presets.js.map +1 -0
  608. package/dist/theme/load-theme.d.ts +11 -3
  609. package/dist/theme/load-theme.d.ts.map +1 -1
  610. package/dist/theme/load-theme.js +71 -12
  611. package/dist/theme/load-theme.js.map +1 -1
  612. package/dist/theme/preset-builder.d.ts +36 -0
  613. package/dist/theme/preset-builder.d.ts.map +1 -0
  614. package/dist/theme/preset-builder.js +51 -0
  615. package/dist/theme/preset-builder.js.map +1 -0
  616. package/dist/theme/presets.d.ts +8 -10
  617. package/dist/theme/presets.d.ts.map +1 -1
  618. package/dist/theme/presets.js +40 -56
  619. package/dist/theme/presets.js.map +1 -1
  620. package/dist/theme/recipes.d.ts +38 -0
  621. package/dist/theme/recipes.d.ts.map +1 -0
  622. package/dist/theme/recipes.js +96 -0
  623. package/dist/theme/recipes.js.map +1 -0
  624. package/dist/theme/theme-catalog.d.ts.map +1 -1
  625. package/dist/theme/theme-catalog.js +16 -0
  626. package/dist/theme/theme-catalog.js.map +1 -1
  627. package/dist/theme/tokens.d.ts.map +1 -1
  628. package/dist/theme/tokens.js +4 -4
  629. package/dist/theme/tokens.js.map +1 -1
  630. package/dist/version.d.ts +1 -1
  631. package/dist/version.d.ts.map +1 -1
  632. package/dist/version.js +1 -1
  633. package/dist/version.js.map +1 -1
  634. package/llms.txt +29 -0
  635. package/package.json +13 -3
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Derived custom properties, computed from theme tokens.
3
+ *
4
+ * `:root` declares them once, and the night band redeclares them because an
5
+ * inherited custom property carries the root's computed result, not its
6
+ * formula. Both read these constants, so the band and dark mode cannot drift.
7
+ * The scroll-edge shades below are written per scroller instead, so their
8
+ * colours resolve where they are used.
9
+ */
10
+ /** Hover wash: a little accent mixed into the surface. */
11
+ export declare const TINT = "--ak-tint:color-mix(in srgb,var(--ak-color-accent) 7%,var(--ak-color-surface))";
12
+ /** Focus halo for inputs and controls. */
13
+ export declare const RING = "--ak-ring:0 0 0 3px color-mix(in srgb,var(--ak-color-accent) 24%,transparent)";
14
+ /**
15
+ * Surface background in dark schemes: a faint top-lit sheen, because the fixed
16
+ * elevation shadows are invisible against a dark page.
17
+ */
18
+ export declare const DARK_FILL = "--ak-fill:linear-gradient(180deg,color-mix(in srgb,var(--ak-color-text) 4%,transparent),transparent 160px),var(--ak-color-surface)";
19
+ /**
20
+ * Edge shades that show a sideways scroller holds more than it shows.
21
+ *
22
+ * A soft shade sits on each edge of a box whose `background` is `var(--ak-fill)`
23
+ * (the night band and dark mode recolour it from tokens). A scroll timeline
24
+ * sizes each shade from the scroll position: the start edge stays clear until
25
+ * the content moves, and the end edge clears once the end is reached. A box
26
+ * that does not overflow has an inactive timeline and so no shades, and an
27
+ * engine without scroll timelines keeps the plain fill. The shades follow
28
+ * position, not time, so like the reading-progress rail they are not motion and
29
+ * are not gated on reduced motion. `SCROLL_EDGE_KEYFRAMES` must be on the page.
30
+ */
31
+ export declare function scrollEdges(selector: string): string;
32
+ /**
33
+ * Shade sizes along the scroll: start clear, both shaded in between, end clear.
34
+ * The third size covers the dark fill's sheen layer and is ignored in light.
35
+ */
36
+ export declare const SCROLL_EDGE_KEYFRAMES = "@keyframes ak-scroll-edges{0%{background-size:0 100%,14px 100%,auto}6%,94%{background-size:14px 100%,14px 100%,auto}100%{background-size:14px 100%,0 100%,auto}}";
37
+ //# sourceMappingURL=derived-variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derived-variables.d.ts","sourceRoot":"","sources":["../../src/render/derived-variables.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,IAAI,mFACiE,CAAC;AAEnF,0CAA0C;AAC1C,eAAO,MAAM,IAAI,kFAAkF,CAAC;AAEpG;;;GAGG;AACH,eAAO,MAAM,SAAS,uIACgH,CAAC;AAIvI;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,qKACkI,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Derived custom properties, computed from theme tokens.
3
+ *
4
+ * `:root` declares them once, and the night band redeclares them because an
5
+ * inherited custom property carries the root's computed result, not its
6
+ * formula. Both read these constants, so the band and dark mode cannot drift.
7
+ * The scroll-edge shades below are written per scroller instead, so their
8
+ * colours resolve where they are used.
9
+ */
10
+ /** Hover wash: a little accent mixed into the surface. */
11
+ export const TINT = '--ak-tint:color-mix(in srgb,var(--ak-color-accent) 7%,var(--ak-color-surface))';
12
+ /** Focus halo for inputs and controls. */
13
+ export const RING = '--ak-ring:0 0 0 3px color-mix(in srgb,var(--ak-color-accent) 24%,transparent)';
14
+ /**
15
+ * Surface background in dark schemes: a faint top-lit sheen, because the fixed
16
+ * elevation shadows are invisible against a dark page.
17
+ */
18
+ export const DARK_FILL = '--ak-fill:linear-gradient(180deg,color-mix(in srgb,var(--ak-color-text) 4%,transparent),transparent 160px),var(--ak-color-surface)';
19
+ const EDGE_SHADE = 'color-mix(in srgb,var(--ak-color-text) 18%,transparent)';
20
+ /**
21
+ * Edge shades that show a sideways scroller holds more than it shows.
22
+ *
23
+ * A soft shade sits on each edge of a box whose `background` is `var(--ak-fill)`
24
+ * (the night band and dark mode recolour it from tokens). A scroll timeline
25
+ * sizes each shade from the scroll position: the start edge stays clear until
26
+ * the content moves, and the end edge clears once the end is reached. A box
27
+ * that does not overflow has an inactive timeline and so no shades, and an
28
+ * engine without scroll timelines keeps the plain fill. The shades follow
29
+ * position, not time, so like the reading-progress rail they are not motion and
30
+ * are not gated on reduced motion. `SCROLL_EDGE_KEYFRAMES` must be on the page.
31
+ */
32
+ export function scrollEdges(selector) {
33
+ return `@supports (animation-timeline:scroll()){${selector}{background:radial-gradient(farthest-side at 0 50%,${EDGE_SHADE},transparent) left center/0 100% no-repeat,radial-gradient(farthest-side at 100% 50%,${EDGE_SHADE},transparent) right center/0 100% no-repeat,var(--ak-fill);animation:ak-scroll-edges linear both;animation-timeline:scroll(self inline)}}`;
34
+ }
35
+ /**
36
+ * Shade sizes along the scroll: start clear, both shaded in between, end clear.
37
+ * The third size covers the dark fill's sheen layer and is ignored in light.
38
+ */
39
+ export const SCROLL_EDGE_KEYFRAMES = '@keyframes ak-scroll-edges{0%{background-size:0 100%,14px 100%,auto}6%,94%{background-size:14px 100%,14px 100%,auto}100%{background-size:14px 100%,0 100%,auto}}';
40
+ //# sourceMappingURL=derived-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derived-variables.js","sourceRoot":"","sources":["../../src/render/derived-variables.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,IAAI,GACf,gFAAgF,CAAC;AAEnF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,IAAI,GAAG,+EAA+E,CAAC;AAEpG;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,oIAAoI,CAAC;AAEvI,MAAM,UAAU,GAAG,yDAAyD,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,2CAA2C,QAAQ,sDAAsD,UAAU,wFAAwF,UAAU,2IAA2I,CAAC;AAC1W,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,kKAAkK,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Structured diagram fallback.
3
+ *
4
+ * Without an adapter a diagram still has to read as a diagram. When the
5
+ * connections form one simple chain (every node has at most one way in and one
6
+ * way out, and the chain visits every node), the nodes are drawn as a flow with
7
+ * labelled connectors. Any other graph is shown as a set of nodes plus an
8
+ * explicit connection list, because drawing arrows between nodes that are not
9
+ * connected would state something the spec does not.
10
+ */
11
+ import type { JsonValue } from '../json.js';
12
+ export interface DiagramNode {
13
+ id: string;
14
+ label: string;
15
+ }
16
+ export interface DiagramEdge {
17
+ from: string;
18
+ to: string;
19
+ label: string;
20
+ }
21
+ /** Order nodes along the single chain the edges describe, or return undefined when they do not form one. */
22
+ export declare function chainOrder(nodes: DiagramNode[], edges: DiagramEdge[]): DiagramNode[] | undefined;
23
+ /** Render the fallback body for the described nodes and connections. */
24
+ export declare function renderDiagramFallback(described: Record<string, JsonValue>[], connections: Record<string, JsonValue>[]): string;
25
+ //# sourceMappingURL=diagram-fallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-fallback.d.ts","sourceRoot":"","sources":["../../src/render/diagram-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4GAA4G;AAC5G,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,GAAG,SAAS,CAwBhG;AA+CD,wEAAwE;AACxE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,GACvC,MAAM,CASR"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Structured diagram fallback.
3
+ *
4
+ * Without an adapter a diagram still has to read as a diagram. When the
5
+ * connections form one simple chain (every node has at most one way in and one
6
+ * way out, and the chain visits every node), the nodes are drawn as a flow with
7
+ * labelled connectors. Any other graph is shown as a set of nodes plus an
8
+ * explicit connection list, because drawing arrows between nodes that are not
9
+ * connected would state something the spec does not.
10
+ */
11
+ import { escapeText } from './escape.js';
12
+ /** Order nodes along the single chain the edges describe, or return undefined when they do not form one. */
13
+ export function chainOrder(nodes, edges) {
14
+ if (nodes.length < 2 || edges.length !== nodes.length - 1)
15
+ return undefined;
16
+ const byId = new Map(nodes.map((node) => [node.id, node]));
17
+ if (byId.size !== nodes.length)
18
+ return undefined;
19
+ const next = new Map();
20
+ const incoming = new Set();
21
+ for (const edge of edges) {
22
+ if (!byId.has(edge.from) || !byId.has(edge.to))
23
+ return undefined;
24
+ if (next.has(edge.from) || incoming.has(edge.to))
25
+ return undefined;
26
+ next.set(edge.from, edge.to);
27
+ incoming.add(edge.to);
28
+ }
29
+ const start = nodes.find((node) => !incoming.has(node.id));
30
+ if (start === undefined)
31
+ return undefined;
32
+ const ordered = [];
33
+ const seen = new Set();
34
+ let cursor = start.id;
35
+ while (cursor !== undefined && !seen.has(cursor)) {
36
+ seen.add(cursor);
37
+ const node = byId.get(cursor);
38
+ if (node !== undefined)
39
+ ordered.push(node);
40
+ cursor = next.get(cursor);
41
+ }
42
+ return ordered.length === nodes.length ? ordered : undefined;
43
+ }
44
+ function nodeMarkup(node) {
45
+ const label = node.label === '' ? node.id : node.label;
46
+ return `<span class="ak-flow-node"><span class="ak-flow-name">${escapeText(label)}</span><code>${escapeText(node.id)}</code></span>`;
47
+ }
48
+ function flowMarkup(ordered, edges) {
49
+ const edgeFrom = new Map(edges.map((edge) => [edge.from, edge]));
50
+ const items = ordered.map((node, index) => {
51
+ const edge = index < ordered.length - 1 ? edgeFrom.get(node.id) : undefined;
52
+ const connector = edge === undefined
53
+ ? ''
54
+ : `<span class="ak-flow-edge"><span class="ak-sr">then to ${escapeText(edge.to)}</span>${edge.label === ''
55
+ ? ''
56
+ : `<span class="ak-flow-edge-label">${escapeText(edge.label)}</span>`}</span>`;
57
+ return `<li>${nodeMarkup(node)}${connector}</li>`;
58
+ });
59
+ return `<ol class="ak-flow">${items.join('')}</ol>`;
60
+ }
61
+ function graphMarkup(nodes, edges) {
62
+ const nodeList = nodes.length === 0
63
+ ? ''
64
+ : `<ul class="ak-flow-nodes">${nodes.map((node) => `<li>${nodeMarkup(node)}</li>`).join('')}</ul>`;
65
+ const edgeList = edges.length === 0
66
+ ? ''
67
+ : `<ul class="ak-flow-links">${edges
68
+ .map((edge) => `<li><code>${escapeText(edge.from)}</code><span class="ak-flow-arrow" aria-hidden="true">\u2192</span><span class="ak-sr">to</span><code>${escapeText(edge.to)}</code>${edge.label === '' ? '' : `<span class="ak-flow-link-label">${escapeText(edge.label)}</span>`}</li>`)
69
+ .join('')}</ul>`;
70
+ return `${nodeList}${edgeList}`;
71
+ }
72
+ function text(value) {
73
+ return typeof value === 'string' ? value : '';
74
+ }
75
+ /** Render the fallback body for the described nodes and connections. */
76
+ export function renderDiagramFallback(described, connections) {
77
+ const nodes = described.map((item) => ({ id: text(item.id), label: text(item.label) }));
78
+ const edges = connections.map((item) => ({
79
+ from: text(item.from),
80
+ to: text(item.to),
81
+ label: text(item.label),
82
+ }));
83
+ const ordered = chainOrder(nodes, edges);
84
+ return ordered === undefined ? graphMarkup(nodes, edges) : flowMarkup(ordered, edges);
85
+ }
86
+ //# sourceMappingURL=diagram-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-fallback.js","sourceRoot":"","sources":["../../src/render/diagram-fallback.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,21 @@ export interface DocumentInput {
24
24
  themeToggle: boolean;
25
25
  /** Resolved theme density, emitted as a document-level attribute. */
26
26
  density: string;
27
+ /** The theme turned motion off; the runtime reads this from the root element. */
28
+ motionDisabled?: boolean;
29
+ /**
30
+ * Resolved component recipes. Each non-default choice becomes a
31
+ * `data-r-<surface>` attribute that scopes its recipe sheet; defaults emit
32
+ * nothing, so a page without recipes keeps its bytes.
33
+ */
34
+ recipes?: Readonly<Record<string, string>>;
35
+ /** Rendered page outline; omitted or empty when the page has none. */
36
+ outline?: string;
37
+ /**
38
+ * Emit the live region. Omitted: derived from the core features the page's
39
+ * blocks declare; the compiler passes it so registry features count too.
40
+ */
41
+ liveRegion?: boolean;
27
42
  }
28
43
  export interface AssembledDocument {
29
44
  html: string;
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/render/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAI1D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,UAAU,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AA8BD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAQA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CA6CxE"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/render/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAK1D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,UAAU,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAkCD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAQA;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CAyExE"}
@@ -12,13 +12,18 @@
12
12
  * would break byte-determinism, and a nonce does not need to be unpredictable
13
13
  * to be useful here (it only has to distinguish the compiler's own elements).
14
14
  */
15
+ import { ADAPTER_STYLE_MARKER } from '../diagram/adapter.js';
15
16
  import { stableHash } from '../hash.js';
17
+ import { nonDefaultRecipes } from '../theme/recipes.js';
16
18
  import { escapeAttribute, escapeText } from './escape.js';
17
19
  import { needsLiveRegion } from './runtime.js';
18
20
  function directives(policy, input, styleNonce, scriptNonce) {
19
21
  const origins = [...new Set(input.allowedOrigins)].sort();
20
- const imageSources = ['data:', 'file:', ...origins];
21
- const mediaSources = ['file:', ...origins];
22
+ // `'self'` lets the page's own relative assets load when the file is served
23
+ // over HTTP(S) instead of opened from disk. It adds no fetch path: remote URLs
24
+ // in the spec are still gated by the network policy before they reach markup.
25
+ const imageSources = ['data:', 'file:', "'self'", ...origins];
26
+ const mediaSources = ['file:', "'self'", ...origins];
22
27
  const parts = [
23
28
  "default-src 'none'",
24
29
  "base-uri 'none'",
@@ -26,7 +31,8 @@ function directives(policy, input, styleNonce, scriptNonce) {
26
31
  "frame-src 'none'",
27
32
  "object-src 'none'",
28
33
  "connect-src 'none'",
29
- "font-src 'none'",
34
+ // Only embedded `data:` faces are ever allowed; a page without one keeps fonts closed.
35
+ input.css.includes('@font-face') ? 'font-src data:' : "font-src 'none'",
30
36
  `img-src ${imageSources.join(' ')}`,
31
37
  `media-src ${mediaSources.join(' ')}`,
32
38
  `style-src 'nonce-${styleNonce}'`,
@@ -46,21 +52,56 @@ export function buildContentSecurityPolicy(input) {
46
52
  scriptNonce,
47
53
  };
48
54
  }
55
+ /**
56
+ * Give accepted diagram adapter `<style>` elements the page style nonce.
57
+ *
58
+ * Adapter markup passed the trust check before it reached the body, and the
59
+ * renderer marked each of its style elements. Spec text cannot forge the
60
+ * marker, because every `<` in spec text is escaped. The policy stays
61
+ * nonce-only: no `'unsafe-inline'`, and inline `style` attributes stay refused.
62
+ */
63
+ function nonceAdapterStyles(body, styleNonce) {
64
+ return body.replaceAll(`<style ${ADAPTER_STYLE_MARKER}`, `<style nonce="${escapeAttribute(styleNonce)}" ${ADAPTER_STYLE_MARKER}`);
65
+ }
49
66
  export function assembleDocument(input) {
50
67
  const { csp, styleNonce, scriptNonce } = buildContentSecurityPolicy(input);
51
68
  const { meta } = input.ir;
52
- const liveRegion = needsLiveRegion(new Set(input.ir.nodes.flatMap((node) => node.runtimeFeatures)))
69
+ const liveRegion = (input.liveRegion ??
70
+ needsLiveRegion(new Set(input.ir.nodes.flatMap((node) => node.runtimeFeatures))))
53
71
  ? `<div class="ak-sr" data-ak-live role="status" aria-live="polite"></div>`
54
72
  : '';
55
73
  const themeToggle = input.themeToggle
56
74
  ? `<div class="ak-page-bar"><button type="button" class="ak-btn ak-theme-toggle" data-ak-theme-toggle aria-pressed="false" aria-label="Toggle dark theme">Dark</button></div>`
57
75
  : '';
76
+ // Share metadata comes only from the spec's own meta, so it stays
77
+ // deterministic and never invents a URL the artifact does not have.
58
78
  const description = meta.description === undefined
59
79
  ? ''
60
- : `<meta name="description" content="${escapeAttribute(meta.description)}" />`;
80
+ : [
81
+ `<meta name="description" content="${escapeAttribute(meta.description)}" />`,
82
+ `<meta property="og:description" content="${escapeAttribute(meta.description)}" />`,
83
+ ].join('\n');
84
+ const share = [
85
+ `<meta property="og:title" content="${escapeAttribute(meta.title)}" />`,
86
+ '<meta property="og:type" content="article" />',
87
+ '<meta name="twitter:card" content="summary" />',
88
+ ].join('\n');
89
+ // The colophon names the generator and offers a way back to the top; it holds
90
+ // no dates or paths, so the artifact stays byte-deterministic.
91
+ const colophon = [
92
+ '<footer class="ak-colophon">',
93
+ `<p><span class="ak-colophon-title">${escapeText(meta.title)}</span>`,
94
+ `<span>Generated by @bestagentkits/render ${escapeText(input.compilerVersion)}</span></p>`,
95
+ '<a href="#ak-main-content">Back to top</a>',
96
+ '</footer>',
97
+ ].join('');
98
+ const outline = input.outline ?? '';
99
+ const recipeAttributes = nonDefaultRecipes(input.recipes)
100
+ .map(([surface, choice]) => ` data-r-${surface}="${escapeAttribute(choice)}"`)
101
+ .join('');
61
102
  const html = [
62
103
  '<!DOCTYPE html>',
63
- `<html lang="${escapeAttribute(meta.locale)}" data-density="${escapeAttribute(input.density)}">`,
104
+ `<html lang="${escapeAttribute(meta.locale)}" data-density="${escapeAttribute(input.density)}"${input.motionDisabled === true ? ' data-motion="none"' : ''}${recipeAttributes}>`,
64
105
  '<head>',
65
106
  '<meta charset="utf-8" />',
66
107
  '<meta name="viewport" content="width=device-width, initial-scale=1" />',
@@ -69,13 +110,17 @@ export function assembleDocument(input) {
69
110
  `<meta http-equiv="Content-Security-Policy" content="${escapeAttribute(csp)}" />`,
70
111
  `<title>${escapeText(meta.title)}</title>`,
71
112
  description,
113
+ share,
72
114
  `<style nonce="${escapeAttribute(styleNonce)}">${input.css}</style>`,
73
115
  '</head>',
74
116
  '<body>',
75
117
  '<a class="ak-skip" href="#ak-main-content">Skip to main content</a>',
76
- '<div class="ak-shell">',
118
+ '<div class="ak-progress-rail" aria-hidden="true"></div>',
119
+ `<div class="ak-shell${outline === '' ? '' : ' ak-shell--outline'}">`,
77
120
  themeToggle,
78
- input.body,
121
+ nonceAdapterStyles(input.body, styleNonce),
122
+ outline,
123
+ colophon,
79
124
  '</div>',
80
125
  liveRegion,
81
126
  input.js === '' ? '' : `<script nonce="${escapeAttribute(scriptNonce)}">${input.js}</script>`,
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/render/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/render/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Effects layer of the emitted stylesheet.
3
+ *
4
+ * Atmosphere and feedback shared by every page: a theme-tinted aurora behind the
5
+ * hero, a word-by-word title reveal, a film-grain page texture, a pointer
6
+ * spotlight on cards, and a shine on primary buttons. It also carries the window dots, which the terminal and the
7
+ * frame feature share. Block styles belong in feature sheets, never here.
8
+ *
9
+ * Rules: no selector may contain a feature marker (see `verify.ts`); motion is
10
+ * gated on `prefers-reduced-motion: no-preference`; nothing starts hidden unless
11
+ * it is already on screen; print drops all of it.
12
+ */
13
+ export declare const EFFECTS_CSS: string;
14
+ //# sourceMappingURL=effects-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects-styles.d.ts","sourceRoot":"","sources":["../../src/render/effects-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,eAAO,MAAM,WAAW,QAoB2E,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Effects layer of the emitted stylesheet.
3
+ *
4
+ * Atmosphere and feedback shared by every page: a theme-tinted aurora behind the
5
+ * hero, a word-by-word title reveal, a film-grain page texture, a pointer
6
+ * spotlight on cards, and a shine on primary buttons. It also carries the window dots, which the terminal and the
7
+ * frame feature share. Block styles belong in feature sheets, never here.
8
+ *
9
+ * Rules: no selector may contain a feature marker (see `verify.ts`); motion is
10
+ * gated on `prefers-reduced-motion: no-preference`; nothing starts hidden unless
11
+ * it is already on screen; print drops all of it.
12
+ */
13
+ const EASE_OUT = 'cubic-bezier(.16,1,.3,1)';
14
+ /** A 160px fractal-noise tile, inlined so the page stays offline and CSP-clean. */
15
+ const GRAIN = `url("data:image/svg+xml,%3Csvg xmlns='http%3A//www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")`;
16
+ /** Title words rise one after another; words past the last step share its delay. */
17
+ const WORD_STEPS = Array.from({ length: 14 }, (_, index) => `.ak-word:nth-child(${index + 1}) > span{animation-delay:${(0.08 + index * 0.055).toFixed(3)}s}`).join('');
18
+ export const EFFECTS_CSS = `::selection{background:color-mix(in srgb,var(--ak-color-accent) 26%,transparent)}
19
+ body{position:relative}
20
+ body::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:${GRAIN};background-size:160px;opacity:.05}
21
+ .ak-hero{position:relative;isolation:isolate}
22
+ .ak-hero::before{content:"";position:absolute;z-index:-1;top:-40%;right:0;width:min(820px,78%);aspect-ratio:1.3;pointer-events:none;background:radial-gradient(closest-side at 36% 48%,color-mix(in srgb,var(--ak-color-accent) 34%,transparent),transparent),radial-gradient(closest-side at 70% 34%,color-mix(in srgb,var(--ak-color-info) 24%,transparent),transparent),radial-gradient(closest-side at 58% 72%,color-mix(in srgb,var(--ak-color-success) 16%,transparent),transparent);filter:blur(28px);opacity:.8}
23
+ .ak-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
24
+ .ak-word > span{display:inline-block}
25
+ @keyframes ak-aurora{50%{transform:translate(-5%,7%) rotate(-5deg) scale(1.07)}}
26
+ @keyframes ak-rise{from{transform:translateY(108%)}to{transform:none}}
27
+ @media (prefers-reduced-motion:no-preference){.ak-hero::before{animation:ak-aurora 18s ease-in-out infinite}.ak-hero > h1:has(.ak-word){animation:none}.ak-word > span{animation:ak-rise calc(var(--ak-motion-duration) * 5.5) ${EASE_OUT} both}${WORD_STEPS}}
28
+ .ak-card,.ak-tile{position:relative;isolation:isolate}
29
+ .ak-card::after,.ak-tile::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--ak-mx,50%) var(--ak-my,-60%),color-mix(in srgb,var(--ak-color-accent) 13%,transparent),transparent 70%);opacity:0;transition:opacity calc(var(--ak-motion-duration) * 2) var(--ak-motion-easing)}
30
+ .ak-card:hover::after,.ak-tile:hover::after{opacity:1}
31
+ .ak-btn[data-variant="primary"]{position:relative;isolation:isolate;overflow:hidden}
32
+ .ak-btn[data-variant="primary"]::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--ak-color-accent-contrast) 34%,transparent) 50%,transparent 70%);translate:-110% 0}
33
+ @media (prefers-reduced-motion:no-preference){.ak-btn[data-variant="primary"]::after{transition:translate .9s ${EASE_OUT}}.ak-btn[data-variant="primary"]:hover::after{translate:110% 0}}
34
+ .ak-hero[data-align="center"]{align-items:center;text-align:center}
35
+ .ak-hero[data-align="center"]::before{right:auto;left:50%;translate:-50% 0}
36
+ .ak-window-dots{display:inline-flex;flex:none;gap:6px}
37
+ .ak-window-dots > span{width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.32}
38
+ @media print{body::before,.ak-hero::before{display:none}.ak-word > span{animation:none!important}}`;
39
+ //# sourceMappingURL=effects-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects-styles.js","sourceRoot":"","sources":["../../src/render/effects-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE5C,mFAAmF;AACnF,MAAM,KAAK,GAAG,+WAA+W,CAAC;AAE9X,oFAAoF;AACpF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACX,sBAAsB,KAAK,GAAG,CAAC,4BAA4B,CAAC,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACnG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG;;oGAEyE,KAAK;;;;;;;iOAOwH,QAAQ,SAAS,UAAU;;;;;;gHAM5I,QAAQ;;;;;mGAKrB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Generated by scripts/generate-embedded-fonts.mjs from assets/fonts. Do not edit.
3
+ *
4
+ * Variable WOFF2 subsets of SIL Open Font License 1.1 fonts, unmodified from
5
+ * their Fontsource packages. The licence texts ship in assets/fonts/<family>/OFL.txt.
6
+ */
7
+ export interface EmbeddedFont {
8
+ /** Namespaced family name a theme font stack refers to. */
9
+ family: string;
10
+ /** Upstream family name, for the licence notice. */
11
+ name: string;
12
+ /** Variable weight range. */
13
+ weight: string;
14
+ copyright: string;
15
+ /** Base64 WOFF2 data per subset. */
16
+ latin: string;
17
+ vietnamese: string;
18
+ }
19
+ export declare const LATIN_RANGE = "U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD";
20
+ export declare const VIETNAMESE_RANGE = "U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB";
21
+ export declare const EMBEDDED_FONTS: readonly EmbeddedFont[];
22
+ //# sourceMappingURL=embedded-fonts.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded-fonts.generated.d.ts","sourceRoot":"","sources":["../../src/render/embedded-fonts.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,6JAA6J,CAAC;AACtL,eAAO,MAAM,gBAAgB,iJAAiJ,CAAC;AAE/K,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAiDjD,CAAC"}