@bestagentkits/render 0.2.0 → 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 (596) hide show
  1. package/CHANGELOG.md +100 -1
  2. package/README.md +157 -32
  3. package/dist/blocks/chart/chart-check-kind-rules.d.ts +10 -0
  4. package/dist/blocks/chart/chart-check-kind-rules.d.ts.map +1 -0
  5. package/dist/blocks/chart/chart-check-kind-rules.js +151 -0
  6. package/dist/blocks/chart/chart-check-kind-rules.js.map +1 -0
  7. package/dist/blocks/chart/chart-check.d.ts +15 -0
  8. package/dist/blocks/chart/chart-check.d.ts.map +1 -0
  9. package/dist/blocks/chart/chart-check.js +196 -0
  10. package/dist/blocks/chart/chart-check.js.map +1 -0
  11. package/dist/blocks/chart/chart-encoding-schema.d.ts +7 -0
  12. package/dist/blocks/chart/chart-encoding-schema.d.ts.map +1 -0
  13. package/dist/blocks/chart/chart-encoding-schema.js +39 -0
  14. package/dist/blocks/chart/chart-encoding-schema.js.map +1 -0
  15. package/dist/blocks/chart/chart-encodings.d.ts +29 -0
  16. package/dist/blocks/chart/chart-encodings.d.ts.map +1 -0
  17. package/dist/blocks/chart/chart-encodings.js +59 -0
  18. package/dist/blocks/chart/chart-encodings.js.map +1 -0
  19. package/dist/blocks/chart/chart-kinds.d.ts +18 -0
  20. package/dist/blocks/chart/chart-kinds.d.ts.map +1 -0
  21. package/dist/blocks/chart/chart-kinds.js +60 -0
  22. package/dist/blocks/chart/chart-kinds.js.map +1 -0
  23. package/dist/blocks/chart/chart-model-rows.d.ts +23 -0
  24. package/dist/blocks/chart/chart-model-rows.d.ts.map +1 -0
  25. package/dist/blocks/chart/chart-model-rows.js +153 -0
  26. package/dist/blocks/chart/chart-model-rows.js.map +1 -0
  27. package/dist/blocks/chart/chart-model.d.ts +17 -0
  28. package/dist/blocks/chart/chart-model.d.ts.map +1 -0
  29. package/dist/blocks/chart/chart-model.js +131 -0
  30. package/dist/blocks/chart/chart-model.js.map +1 -0
  31. package/dist/blocks/chart/chart-styles.d.ts +3 -0
  32. package/dist/blocks/chart/chart-styles.d.ts.map +1 -0
  33. package/dist/blocks/chart/chart-styles.js +76 -0
  34. package/dist/blocks/chart/chart-styles.js.map +1 -0
  35. package/dist/blocks/chart/chart.d.ts +12 -0
  36. package/dist/blocks/chart/chart.d.ts.map +1 -0
  37. package/dist/blocks/chart/chart.js +73 -0
  38. package/dist/blocks/chart/chart.js.map +1 -0
  39. package/dist/blocks/chart/index.d.ts +4 -0
  40. package/dist/blocks/chart/index.d.ts.map +1 -0
  41. package/dist/blocks/chart/index.js +8 -0
  42. package/dist/blocks/chart/index.js.map +1 -0
  43. package/dist/blocks/composition/accordion.d.ts +4 -0
  44. package/dist/blocks/composition/accordion.d.ts.map +1 -0
  45. package/dist/blocks/composition/accordion.js +45 -0
  46. package/dist/blocks/composition/accordion.js.map +1 -0
  47. package/dist/blocks/composition/bento.d.ts +4 -0
  48. package/dist/blocks/composition/bento.d.ts.map +1 -0
  49. package/dist/blocks/composition/bento.js +91 -0
  50. package/dist/blocks/composition/bento.js.map +1 -0
  51. package/dist/blocks/composition/carousel.d.ts +4 -0
  52. package/dist/blocks/composition/carousel.d.ts.map +1 -0
  53. package/dist/blocks/composition/carousel.js +51 -0
  54. package/dist/blocks/composition/carousel.js.map +1 -0
  55. package/dist/blocks/composition/composition-runtime.d.ts +14 -0
  56. package/dist/blocks/composition/composition-runtime.d.ts.map +1 -0
  57. package/dist/blocks/composition/composition-runtime.js +136 -0
  58. package/dist/blocks/composition/composition-runtime.js.map +1 -0
  59. package/dist/blocks/composition/composition-styles.d.ts +10 -0
  60. package/dist/blocks/composition/composition-styles.d.ts.map +1 -0
  61. package/dist/blocks/composition/composition-styles.js +80 -0
  62. package/dist/blocks/composition/composition-styles.js.map +1 -0
  63. package/dist/blocks/composition/index.d.ts +4 -0
  64. package/dist/blocks/composition/index.d.ts.map +1 -0
  65. package/dist/blocks/composition/index.js +11 -0
  66. package/dist/blocks/composition/index.js.map +1 -0
  67. package/dist/blocks/composition/nestable-blocks.d.ts +37 -0
  68. package/dist/blocks/composition/nestable-blocks.d.ts.map +1 -0
  69. package/dist/blocks/composition/nestable-blocks.js +92 -0
  70. package/dist/blocks/composition/nestable-blocks.js.map +1 -0
  71. package/dist/blocks/composition/tabs.d.ts +4 -0
  72. package/dist/blocks/composition/tabs.d.ts.map +1 -0
  73. package/dist/blocks/composition/tabs.js +48 -0
  74. package/dist/blocks/composition/tabs.js.map +1 -0
  75. package/dist/blocks/controls/checkbox.d.ts +12 -0
  76. package/dist/blocks/controls/checkbox.d.ts.map +1 -0
  77. package/dist/blocks/controls/checkbox.js +43 -0
  78. package/dist/blocks/controls/checkbox.js.map +1 -0
  79. package/dist/blocks/controls/choice-options.d.ts +24 -0
  80. package/dist/blocks/controls/choice-options.d.ts.map +1 -0
  81. package/dist/blocks/controls/choice-options.js +117 -0
  82. package/dist/blocks/controls/choice-options.js.map +1 -0
  83. package/dist/blocks/controls/control-shared.d.ts +66 -0
  84. package/dist/blocks/controls/control-shared.d.ts.map +1 -0
  85. package/dist/blocks/controls/control-shared.js +241 -0
  86. package/dist/blocks/controls/control-shared.js.map +1 -0
  87. package/dist/blocks/controls/controls-runtime.d.ts +17 -0
  88. package/dist/blocks/controls/controls-runtime.d.ts.map +1 -0
  89. package/dist/blocks/controls/controls-runtime.js +180 -0
  90. package/dist/blocks/controls/controls-runtime.js.map +1 -0
  91. package/dist/blocks/controls/controls-styles.d.ts +14 -0
  92. package/dist/blocks/controls/controls-styles.d.ts.map +1 -0
  93. package/dist/blocks/controls/controls-styles.js +54 -0
  94. package/dist/blocks/controls/controls-styles.js.map +1 -0
  95. package/dist/blocks/controls/date-input.d.ts +6 -0
  96. package/dist/blocks/controls/date-input.d.ts.map +1 -0
  97. package/dist/blocks/controls/date-input.js +58 -0
  98. package/dist/blocks/controls/date-input.js.map +1 -0
  99. package/dist/blocks/controls/field-input.d.ts +10 -0
  100. package/dist/blocks/controls/field-input.d.ts.map +1 -0
  101. package/dist/blocks/controls/field-input.js +20 -0
  102. package/dist/blocks/controls/field-input.js.map +1 -0
  103. package/dist/blocks/controls/filter-bar.d.ts +11 -0
  104. package/dist/blocks/controls/filter-bar.d.ts.map +1 -0
  105. package/dist/blocks/controls/filter-bar.js +115 -0
  106. package/dist/blocks/controls/filter-bar.js.map +1 -0
  107. package/dist/blocks/controls/index.d.ts +4 -0
  108. package/dist/blocks/controls/index.d.ts.map +1 -0
  109. package/dist/blocks/controls/index.js +41 -0
  110. package/dist/blocks/controls/index.js.map +1 -0
  111. package/dist/blocks/controls/number-input.d.ts +4 -0
  112. package/dist/blocks/controls/number-input.d.ts.map +1 -0
  113. package/dist/blocks/controls/number-input.js +62 -0
  114. package/dist/blocks/controls/number-input.js.map +1 -0
  115. package/dist/blocks/controls/radio-group.d.ts +4 -0
  116. package/dist/blocks/controls/radio-group.d.ts.map +1 -0
  117. package/dist/blocks/controls/radio-group.js +56 -0
  118. package/dist/blocks/controls/radio-group.js.map +1 -0
  119. package/dist/blocks/controls/select.d.ts +4 -0
  120. package/dist/blocks/controls/select.d.ts.map +1 -0
  121. package/dist/blocks/controls/select.js +49 -0
  122. package/dist/blocks/controls/select.js.map +1 -0
  123. package/dist/blocks/controls/switch.d.ts +4 -0
  124. package/dist/blocks/controls/switch.d.ts.map +1 -0
  125. package/dist/blocks/controls/switch.js +22 -0
  126. package/dist/blocks/controls/switch.js.map +1 -0
  127. package/dist/blocks/controls/text-input.d.ts +4 -0
  128. package/dist/blocks/controls/text-input.d.ts.map +1 -0
  129. package/dist/blocks/controls/text-input.js +42 -0
  130. package/dist/blocks/controls/text-input.js.map +1 -0
  131. package/dist/blocks/data-table/data-table-cells.d.ts +26 -0
  132. package/dist/blocks/data-table/data-table-cells.d.ts.map +1 -0
  133. package/dist/blocks/data-table/data-table-cells.js +154 -0
  134. package/dist/blocks/data-table/data-table-cells.js.map +1 -0
  135. package/dist/blocks/data-table/data-table-check.d.ts +10 -0
  136. package/dist/blocks/data-table/data-table-check.d.ts.map +1 -0
  137. package/dist/blocks/data-table/data-table-check.js +99 -0
  138. package/dist/blocks/data-table/data-table-check.js.map +1 -0
  139. package/dist/blocks/data-table/data-table-columns.d.ts +41 -0
  140. package/dist/blocks/data-table/data-table-columns.d.ts.map +1 -0
  141. package/dist/blocks/data-table/data-table-columns.js +155 -0
  142. package/dist/blocks/data-table/data-table-columns.js.map +1 -0
  143. package/dist/blocks/data-table/data-table-runtime.d.ts +15 -0
  144. package/dist/blocks/data-table/data-table-runtime.d.ts.map +1 -0
  145. package/dist/blocks/data-table/data-table-runtime.js +106 -0
  146. package/dist/blocks/data-table/data-table-runtime.js.map +1 -0
  147. package/dist/blocks/data-table/data-table-styles.d.ts +11 -0
  148. package/dist/blocks/data-table/data-table-styles.d.ts.map +1 -0
  149. package/dist/blocks/data-table/data-table-styles.js +74 -0
  150. package/dist/blocks/data-table/data-table-styles.js.map +1 -0
  151. package/dist/blocks/data-table/data-table.d.ts +17 -0
  152. package/dist/blocks/data-table/data-table.d.ts.map +1 -0
  153. package/dist/blocks/data-table/data-table.js +159 -0
  154. package/dist/blocks/data-table/data-table.js.map +1 -0
  155. package/dist/blocks/data-table/index.d.ts +4 -0
  156. package/dist/blocks/data-table/index.d.ts.map +1 -0
  157. package/dist/blocks/data-table/index.js +18 -0
  158. package/dist/blocks/data-table/index.js.map +1 -0
  159. package/dist/blocks/engineering/api-endpoint.d.ts +12 -0
  160. package/dist/blocks/engineering/api-endpoint.d.ts.map +1 -0
  161. package/dist/blocks/engineering/api-endpoint.js +174 -0
  162. package/dist/blocks/engineering/api-endpoint.js.map +1 -0
  163. package/dist/blocks/engineering/engineering-helpers.d.ts +49 -0
  164. package/dist/blocks/engineering/engineering-helpers.d.ts.map +1 -0
  165. package/dist/blocks/engineering/engineering-helpers.js +156 -0
  166. package/dist/blocks/engineering/engineering-helpers.js.map +1 -0
  167. package/dist/blocks/engineering/engineering-styles.d.ts +12 -0
  168. package/dist/blocks/engineering/engineering-styles.d.ts.map +1 -0
  169. package/dist/blocks/engineering/engineering-styles.js +174 -0
  170. package/dist/blocks/engineering/engineering-styles.js.map +1 -0
  171. package/dist/blocks/engineering/index.d.ts +4 -0
  172. package/dist/blocks/engineering/index.d.ts.map +1 -0
  173. package/dist/blocks/engineering/index.js +30 -0
  174. package/dist/blocks/engineering/index.js.map +1 -0
  175. package/dist/blocks/engineering/kanban.d.ts +11 -0
  176. package/dist/blocks/engineering/kanban.d.ts.map +1 -0
  177. package/dist/blocks/engineering/kanban.js +162 -0
  178. package/dist/blocks/engineering/kanban.js.map +1 -0
  179. package/dist/blocks/engineering/log-viewer.d.ts +14 -0
  180. package/dist/blocks/engineering/log-viewer.d.ts.map +1 -0
  181. package/dist/blocks/engineering/log-viewer.js +158 -0
  182. package/dist/blocks/engineering/log-viewer.js.map +1 -0
  183. package/dist/blocks/engineering/roadmap.d.ts +13 -0
  184. package/dist/blocks/engineering/roadmap.d.ts.map +1 -0
  185. package/dist/blocks/engineering/roadmap.js +197 -0
  186. package/dist/blocks/engineering/roadmap.js.map +1 -0
  187. package/dist/blocks/engineering/schema-viewer.d.ts +25 -0
  188. package/dist/blocks/engineering/schema-viewer.d.ts.map +1 -0
  189. package/dist/blocks/engineering/schema-viewer.js +124 -0
  190. package/dist/blocks/engineering/schema-viewer.js.map +1 -0
  191. package/dist/blocks/engineering/test-results.d.ts +12 -0
  192. package/dist/blocks/engineering/test-results.d.ts.map +1 -0
  193. package/dist/blocks/engineering/test-results.js +180 -0
  194. package/dist/blocks/engineering/test-results.js.map +1 -0
  195. package/dist/blocks/evidence/annotated-image.d.ts +15 -0
  196. package/dist/blocks/evidence/annotated-image.d.ts.map +1 -0
  197. package/dist/blocks/evidence/annotated-image.js +99 -0
  198. package/dist/blocks/evidence/annotated-image.js.map +1 -0
  199. package/dist/blocks/evidence/benchmark-comparison.d.ts +11 -0
  200. package/dist/blocks/evidence/benchmark-comparison.d.ts.map +1 -0
  201. package/dist/blocks/evidence/benchmark-comparison.js +262 -0
  202. package/dist/blocks/evidence/benchmark-comparison.js.map +1 -0
  203. package/dist/blocks/evidence/benchmark-verdict.d.ts +26 -0
  204. package/dist/blocks/evidence/benchmark-verdict.d.ts.map +1 -0
  205. package/dist/blocks/evidence/benchmark-verdict.js +31 -0
  206. package/dist/blocks/evidence/benchmark-verdict.js.map +1 -0
  207. package/dist/blocks/evidence/evidence-helpers.d.ts +39 -0
  208. package/dist/blocks/evidence/evidence-helpers.d.ts.map +1 -0
  209. package/dist/blocks/evidence/evidence-helpers.js +87 -0
  210. package/dist/blocks/evidence/evidence-helpers.js.map +1 -0
  211. package/dist/blocks/evidence/evidence-styles.d.ts +12 -0
  212. package/dist/blocks/evidence/evidence-styles.d.ts.map +1 -0
  213. package/dist/blocks/evidence/evidence-styles.js +88 -0
  214. package/dist/blocks/evidence/evidence-styles.js.map +1 -0
  215. package/dist/blocks/evidence/index.d.ts +4 -0
  216. package/dist/blocks/evidence/index.d.ts.map +1 -0
  217. package/dist/blocks/evidence/index.js +15 -0
  218. package/dist/blocks/evidence/index.js.map +1 -0
  219. package/dist/blocks/evidence/metric-breakdown.d.ts +22 -0
  220. package/dist/blocks/evidence/metric-breakdown.d.ts.map +1 -0
  221. package/dist/blocks/evidence/metric-breakdown.js +203 -0
  222. package/dist/blocks/evidence/metric-breakdown.js.map +1 -0
  223. package/dist/blocks/evidence/references.d.ts +13 -0
  224. package/dist/blocks/evidence/references.d.ts.map +1 -0
  225. package/dist/blocks/evidence/references.js +103 -0
  226. package/dist/blocks/evidence/references.js.map +1 -0
  227. package/dist/blocks/index.d.ts +8 -0
  228. package/dist/blocks/index.d.ts.map +1 -0
  229. package/dist/blocks/index.js +24 -0
  230. package/dist/blocks/index.js.map +1 -0
  231. package/dist/blocks/layout/grid-item.d.ts +4 -0
  232. package/dist/blocks/layout/grid-item.d.ts.map +1 -0
  233. package/dist/blocks/layout/grid-item.js +65 -0
  234. package/dist/blocks/layout/grid-item.js.map +1 -0
  235. package/dist/blocks/layout/grid.d.ts +9 -0
  236. package/dist/blocks/layout/grid.d.ts.map +1 -0
  237. package/dist/blocks/layout/grid.js +99 -0
  238. package/dist/blocks/layout/grid.js.map +1 -0
  239. package/dist/blocks/layout/index.d.ts +4 -0
  240. package/dist/blocks/layout/index.d.ts.map +1 -0
  241. package/dist/blocks/layout/index.js +23 -0
  242. package/dist/blocks/layout/index.js.map +1 -0
  243. package/dist/blocks/layout/layout-styles.d.ts +40 -0
  244. package/dist/blocks/layout/layout-styles.d.ts.map +1 -0
  245. package/dist/blocks/layout/layout-styles.js +110 -0
  246. package/dist/blocks/layout/layout-styles.js.map +1 -0
  247. package/dist/blocks/layout/main-aside.d.ts +4 -0
  248. package/dist/blocks/layout/main-aside.d.ts.map +1 -0
  249. package/dist/blocks/layout/main-aside.js +21 -0
  250. package/dist/blocks/layout/main-aside.js.map +1 -0
  251. package/dist/blocks/layout/rail-layout.d.ts +4 -0
  252. package/dist/blocks/layout/rail-layout.d.ts.map +1 -0
  253. package/dist/blocks/layout/rail-layout.js +33 -0
  254. package/dist/blocks/layout/rail-layout.js.map +1 -0
  255. package/dist/blocks/layout/semantic-layout-parts.d.ts +14 -0
  256. package/dist/blocks/layout/semantic-layout-parts.d.ts.map +1 -0
  257. package/dist/blocks/layout/semantic-layout-parts.js +9 -0
  258. package/dist/blocks/layout/semantic-layout-parts.js.map +1 -0
  259. package/dist/blocks/layout/sidebar-layout.d.ts +4 -0
  260. package/dist/blocks/layout/sidebar-layout.d.ts.map +1 -0
  261. package/dist/blocks/layout/sidebar-layout.js +30 -0
  262. package/dist/blocks/layout/sidebar-layout.js.map +1 -0
  263. package/dist/blocks/layout/split.d.ts +4 -0
  264. package/dist/blocks/layout/split.d.ts.map +1 -0
  265. package/dist/blocks/layout/split.js +23 -0
  266. package/dist/blocks/layout/split.js.map +1 -0
  267. package/dist/blocks/layout/stack.d.ts +4 -0
  268. package/dist/blocks/layout/stack.d.ts.map +1 -0
  269. package/dist/blocks/layout/stack.js +36 -0
  270. package/dist/blocks/layout/stack.js.map +1 -0
  271. package/dist/blocks/product/calendar-dates.d.ts +59 -0
  272. package/dist/blocks/product/calendar-dates.d.ts.map +1 -0
  273. package/dist/blocks/product/calendar-dates.js +100 -0
  274. package/dist/blocks/product/calendar-dates.js.map +1 -0
  275. package/dist/blocks/product/calendar.d.ts +12 -0
  276. package/dist/blocks/product/calendar.d.ts.map +1 -0
  277. package/dist/blocks/product/calendar.js +125 -0
  278. package/dist/blocks/product/calendar.js.map +1 -0
  279. package/dist/blocks/product/feature-matrix.d.ts +4 -0
  280. package/dist/blocks/product/feature-matrix.d.ts.map +1 -0
  281. package/dist/blocks/product/feature-matrix.js +72 -0
  282. package/dist/blocks/product/feature-matrix.js.map +1 -0
  283. package/dist/blocks/product/gallery.d.ts +14 -0
  284. package/dist/blocks/product/gallery.d.ts.map +1 -0
  285. package/dist/blocks/product/gallery.js +86 -0
  286. package/dist/blocks/product/gallery.js.map +1 -0
  287. package/dist/blocks/product/index.d.ts +4 -0
  288. package/dist/blocks/product/index.d.ts.map +1 -0
  289. package/dist/blocks/product/index.js +40 -0
  290. package/dist/blocks/product/index.js.map +1 -0
  291. package/dist/blocks/product/logo-cloud.d.ts +4 -0
  292. package/dist/blocks/product/logo-cloud.d.ts.map +1 -0
  293. package/dist/blocks/product/logo-cloud.js +42 -0
  294. package/dist/blocks/product/logo-cloud.js.map +1 -0
  295. package/dist/blocks/product/people.d.ts +4 -0
  296. package/dist/blocks/product/people.d.ts.map +1 -0
  297. package/dist/blocks/product/people.js +53 -0
  298. package/dist/blocks/product/people.js.map +1 -0
  299. package/dist/blocks/product/pricing.d.ts +4 -0
  300. package/dist/blocks/product/pricing.d.ts.map +1 -0
  301. package/dist/blocks/product/pricing.js +86 -0
  302. package/dist/blocks/product/pricing.js.map +1 -0
  303. package/dist/blocks/product/product-helpers.d.ts +22 -0
  304. package/dist/blocks/product/product-helpers.d.ts.map +1 -0
  305. package/dist/blocks/product/product-helpers.js +48 -0
  306. package/dist/blocks/product/product-helpers.js.map +1 -0
  307. package/dist/blocks/product/product-runtime.d.ts +15 -0
  308. package/dist/blocks/product/product-runtime.d.ts.map +1 -0
  309. package/dist/blocks/product/product-runtime.js +97 -0
  310. package/dist/blocks/product/product-runtime.js.map +1 -0
  311. package/dist/blocks/product/product-styles.d.ts +14 -0
  312. package/dist/blocks/product/product-styles.d.ts.map +1 -0
  313. package/dist/blocks/product/product-styles.js +120 -0
  314. package/dist/blocks/product/product-styles.js.map +1 -0
  315. package/dist/blocks/product/testimonial.d.ts +8 -0
  316. package/dist/blocks/product/testimonial.d.ts.map +1 -0
  317. package/dist/blocks/product/testimonial.js +67 -0
  318. package/dist/blocks/product/testimonial.js.map +1 -0
  319. package/dist/cli.d.ts.map +1 -1
  320. package/dist/cli.js +143 -30
  321. package/dist/cli.js.map +1 -1
  322. package/dist/data/data-json-schema.d.ts +9 -0
  323. package/dist/data/data-json-schema.d.ts.map +1 -0
  324. package/dist/data/data-json-schema.js +48 -0
  325. package/dist/data/data-json-schema.js.map +1 -0
  326. package/dist/data/dataset-types.d.ts +47 -0
  327. package/dist/data/dataset-types.d.ts.map +1 -0
  328. package/dist/data/dataset-types.js +49 -0
  329. package/dist/data/dataset-types.js.map +1 -0
  330. package/dist/data/format-value.d.ts +39 -0
  331. package/dist/data/format-value.d.ts.map +1 -0
  332. package/dist/data/format-value.js +214 -0
  333. package/dist/data/format-value.js.map +1 -0
  334. package/dist/data/resolve-block-data.d.ts +24 -0
  335. package/dist/data/resolve-block-data.d.ts.map +1 -0
  336. package/dist/data/resolve-block-data.js +190 -0
  337. package/dist/data/resolve-block-data.js.map +1 -0
  338. package/dist/data/transform-pipeline.d.ts +65 -0
  339. package/dist/data/transform-pipeline.d.ts.map +1 -0
  340. package/dist/data/transform-pipeline.js +234 -0
  341. package/dist/data/transform-pipeline.js.map +1 -0
  342. package/dist/data/validate-datasets.d.ts +22 -0
  343. package/dist/data/validate-datasets.d.ts.map +1 -0
  344. package/dist/data/validate-datasets.js +137 -0
  345. package/dist/data/validate-datasets.js.map +1 -0
  346. package/dist/diagram/adapter-markup-fit.d.ts +44 -0
  347. package/dist/diagram/adapter-markup-fit.d.ts.map +1 -0
  348. package/dist/diagram/adapter-markup-fit.js +292 -0
  349. package/dist/diagram/adapter-markup-fit.js.map +1 -0
  350. package/dist/diagram/adapter-stylesheet-filter.d.ts +56 -0
  351. package/dist/diagram/adapter-stylesheet-filter.d.ts.map +1 -0
  352. package/dist/diagram/adapter-stylesheet-filter.js +245 -0
  353. package/dist/diagram/adapter-stylesheet-filter.js.map +1 -0
  354. package/dist/diagram/adapter.d.ts +17 -0
  355. package/dist/diagram/adapter.d.ts.map +1 -1
  356. package/dist/diagram/adapter.js +43 -2
  357. package/dist/diagram/adapter.js.map +1 -1
  358. package/dist/index.d.ts +14 -1
  359. package/dist/index.d.ts.map +1 -1
  360. package/dist/index.js +6 -0
  361. package/dist/index.js.map +1 -1
  362. package/dist/ir.d.ts +18 -0
  363. package/dist/ir.d.ts.map +1 -1
  364. package/dist/ir.js.map +1 -1
  365. package/dist/mcp/mcp-http-transport.d.ts +68 -0
  366. package/dist/mcp/mcp-http-transport.d.ts.map +1 -0
  367. package/dist/mcp/mcp-http-transport.js +140 -0
  368. package/dist/mcp/mcp-http-transport.js.map +1 -0
  369. package/dist/mcp/mcp-json-rpc-dispatch.d.ts +38 -0
  370. package/dist/mcp/mcp-json-rpc-dispatch.d.ts.map +1 -0
  371. package/dist/mcp/mcp-json-rpc-dispatch.js +98 -0
  372. package/dist/mcp/mcp-json-rpc-dispatch.js.map +1 -0
  373. package/dist/mcp/mcp-local-tools.d.ts +20 -0
  374. package/dist/mcp/mcp-local-tools.d.ts.map +1 -0
  375. package/dist/mcp/mcp-local-tools.js +58 -0
  376. package/dist/mcp/mcp-local-tools.js.map +1 -0
  377. package/dist/mcp/mcp-protocol.d.ts +79 -0
  378. package/dist/mcp/mcp-protocol.d.ts.map +1 -0
  379. package/dist/mcp/mcp-protocol.js +83 -0
  380. package/dist/mcp/mcp-protocol.js.map +1 -0
  381. package/dist/mcp/mcp-stdio-transport.d.ts +28 -0
  382. package/dist/mcp/mcp-stdio-transport.d.ts.map +1 -0
  383. package/dist/mcp/mcp-stdio-transport.js +73 -0
  384. package/dist/mcp/mcp-stdio-transport.js.map +1 -0
  385. package/dist/mcp/mcp-tool-definitions.d.ts +66 -0
  386. package/dist/mcp/mcp-tool-definitions.d.ts.map +1 -0
  387. package/dist/mcp/mcp-tool-definitions.js +246 -0
  388. package/dist/mcp/mcp-tool-definitions.js.map +1 -0
  389. package/dist/mcp-server.d.ts +6 -33
  390. package/dist/mcp-server.d.ts.map +1 -1
  391. package/dist/mcp-server.js +5 -270
  392. package/dist/mcp-server.js.map +1 -1
  393. package/dist/recipes/index.d.ts +27 -0
  394. package/dist/recipes/index.d.ts.map +1 -0
  395. package/dist/recipes/index.js +30 -0
  396. package/dist/recipes/index.js.map +1 -0
  397. package/dist/recipes/recipes.generated.d.ts +8 -0
  398. package/dist/recipes/recipes.generated.d.ts.map +1 -0
  399. package/dist/recipes/recipes.generated.js +704 -0
  400. package/dist/recipes/recipes.generated.js.map +1 -0
  401. package/dist/registry/actions.d.ts +2 -0
  402. package/dist/registry/actions.d.ts.map +1 -1
  403. package/dist/registry/actions.js +3 -1
  404. package/dist/registry/actions.js.map +1 -1
  405. package/dist/registry/block-module.d.ts +65 -0
  406. package/dist/registry/block-module.d.ts.map +1 -0
  407. package/dist/registry/block-module.js +19 -0
  408. package/dist/registry/block-module.js.map +1 -0
  409. package/dist/registry/catalog-search.d.ts +32 -0
  410. package/dist/registry/catalog-search.d.ts.map +1 -0
  411. package/dist/registry/catalog-search.js +122 -0
  412. package/dist/registry/catalog-search.js.map +1 -0
  413. package/dist/registry/define-helpers.d.ts +89 -0
  414. package/dist/registry/define-helpers.d.ts.map +1 -0
  415. package/dist/registry/define-helpers.js +87 -0
  416. package/dist/registry/define-helpers.js.map +1 -0
  417. package/dist/registry/describe-many.d.ts +58 -0
  418. package/dist/registry/describe-many.d.ts.map +1 -0
  419. package/dist/registry/describe-many.js +156 -0
  420. package/dist/registry/describe-many.js.map +1 -0
  421. package/dist/registry/prop-schema.d.ts +32 -1
  422. package/dist/registry/prop-schema.d.ts.map +1 -1
  423. package/dist/registry/prop-schema.js +108 -2
  424. package/dist/registry/prop-schema.js.map +1 -1
  425. package/dist/registry/registry-builder.d.ts +17 -0
  426. package/dist/registry/registry-builder.d.ts.map +1 -0
  427. package/dist/registry/registry-builder.js +158 -0
  428. package/dist/registry/registry-builder.js.map +1 -0
  429. package/dist/registry/registry.d.ts +32 -5
  430. package/dist/registry/registry.d.ts.map +1 -1
  431. package/dist/registry/registry.js +67 -14
  432. package/dist/registry/registry.js.map +1 -1
  433. package/dist/registry/roster.d.ts +34 -5
  434. package/dist/registry/roster.d.ts.map +1 -1
  435. package/dist/registry/roster.js +184 -224
  436. package/dist/registry/roster.js.map +1 -1
  437. package/dist/render/block-helpers.d.ts +11 -18
  438. package/dist/render/block-helpers.d.ts.map +1 -1
  439. package/dist/render/block-helpers.js +14 -44
  440. package/dist/render/block-helpers.js.map +1 -1
  441. package/dist/render/blocks.d.ts +9 -33
  442. package/dist/render/blocks.d.ts.map +1 -1
  443. package/dist/render/blocks.js +56 -180
  444. package/dist/render/blocks.js.map +1 -1
  445. package/dist/render/chart-figure-encoded.d.ts +11 -0
  446. package/dist/render/chart-figure-encoded.d.ts.map +1 -0
  447. package/dist/render/chart-figure-encoded.js +81 -0
  448. package/dist/render/chart-figure-encoded.js.map +1 -0
  449. package/dist/render/chart-kinds-cartesian.d.ts +14 -0
  450. package/dist/render/chart-kinds-cartesian.d.ts.map +1 -0
  451. package/dist/render/chart-kinds-cartesian.js +122 -0
  452. package/dist/render/chart-kinds-cartesian.js.map +1 -0
  453. package/dist/render/chart-kinds-composite.d.ts +16 -0
  454. package/dist/render/chart-kinds-composite.d.ts.map +1 -0
  455. package/dist/render/chart-kinds-composite.js +144 -0
  456. package/dist/render/chart-kinds-composite.js.map +1 -0
  457. package/dist/render/chart-kinds-gauge-treemap.d.ts +8 -0
  458. package/dist/render/chart-kinds-gauge-treemap.d.ts.map +1 -0
  459. package/dist/render/chart-kinds-gauge-treemap.js +101 -0
  460. package/dist/render/chart-kinds-gauge-treemap.js.map +1 -0
  461. package/dist/render/chart-kinds-histogram-waterfall.d.ts +17 -0
  462. package/dist/render/chart-kinds-histogram-waterfall.d.ts.map +1 -0
  463. package/dist/render/chart-kinds-histogram-waterfall.js +172 -0
  464. package/dist/render/chart-kinds-histogram-waterfall.js.map +1 -0
  465. package/dist/render/chart-overlays.d.ts +18 -0
  466. package/dist/render/chart-overlays.d.ts.map +1 -0
  467. package/dist/render/chart-overlays.js +58 -0
  468. package/dist/render/chart-overlays.js.map +1 -0
  469. package/dist/render/chart-scales.d.ts +83 -0
  470. package/dist/render/chart-scales.d.ts.map +1 -0
  471. package/dist/render/chart-scales.js +166 -0
  472. package/dist/render/chart-scales.js.map +1 -0
  473. package/dist/render/chart-svg-parts.d.ts +50 -0
  474. package/dist/render/chart-svg-parts.d.ts.map +1 -0
  475. package/dist/render/chart-svg-parts.js +125 -0
  476. package/dist/render/chart-svg-parts.js.map +1 -0
  477. package/dist/render/chart-text.d.ts +18 -0
  478. package/dist/render/chart-text.d.ts.map +1 -0
  479. package/dist/render/chart-text.js +69 -0
  480. package/dist/render/chart-text.js.map +1 -0
  481. package/dist/render/chart-treemap-layout.d.ts +17 -0
  482. package/dist/render/chart-treemap-layout.d.ts.map +1 -0
  483. package/dist/render/chart-treemap-layout.js +74 -0
  484. package/dist/render/chart-treemap-layout.js.map +1 -0
  485. package/dist/render/chart-types.d.ts +107 -0
  486. package/dist/render/chart-types.d.ts.map +1 -0
  487. package/dist/render/chart-types.js +11 -0
  488. package/dist/render/chart-types.js.map +1 -0
  489. package/dist/render/charts.d.ts +28 -11
  490. package/dist/render/charts.d.ts.map +1 -1
  491. package/dist/render/charts.js +38 -117
  492. package/dist/render/charts.js.map +1 -1
  493. package/dist/render/derived-variables.d.ts +20 -0
  494. package/dist/render/derived-variables.d.ts.map +1 -1
  495. package/dist/render/derived-variables.js +23 -0
  496. package/dist/render/derived-variables.js.map +1 -1
  497. package/dist/render/document.d.ts +11 -0
  498. package/dist/render/document.d.ts.map +1 -1
  499. package/dist/render/document.js +20 -3
  500. package/dist/render/document.js.map +1 -1
  501. package/dist/render/escape.d.ts +10 -0
  502. package/dist/render/escape.d.ts.map +1 -1
  503. package/dist/render/escape.js +28 -0
  504. package/dist/render/escape.js.map +1 -1
  505. package/dist/render/feature-styles.d.ts.map +1 -1
  506. package/dist/render/feature-styles.js +42 -80
  507. package/dist/render/feature-styles.js.map +1 -1
  508. package/dist/render/outline.d.ts +1 -1
  509. package/dist/render/outline.d.ts.map +1 -1
  510. package/dist/render/outline.js +4 -1
  511. package/dist/render/outline.js.map +1 -1
  512. package/dist/render/recipe-styles.d.ts +26 -0
  513. package/dist/render/recipe-styles.d.ts.map +1 -0
  514. package/dist/render/recipe-styles.js +218 -0
  515. package/dist/render/recipe-styles.js.map +1 -0
  516. package/dist/render/render-context.d.ts +40 -0
  517. package/dist/render/render-context.d.ts.map +1 -0
  518. package/dist/render/render-context.js +16 -0
  519. package/dist/render/render-context.js.map +1 -0
  520. package/dist/render/render.d.ts +7 -0
  521. package/dist/render/render.d.ts.map +1 -1
  522. package/dist/render/render.js +68 -44
  523. package/dist/render/render.js.map +1 -1
  524. package/dist/render/runtime.d.ts +4 -1
  525. package/dist/render/runtime.d.ts.map +1 -1
  526. package/dist/render/runtime.js +91 -118
  527. package/dist/render/runtime.js.map +1 -1
  528. package/dist/render/showcase-blocks.d.ts +5 -0
  529. package/dist/render/showcase-blocks.d.ts.map +1 -1
  530. package/dist/render/showcase-blocks.js +8 -28
  531. package/dist/render/showcase-blocks.js.map +1 -1
  532. package/dist/render/showcase-styles.d.ts.map +1 -1
  533. package/dist/render/showcase-styles.js +15 -31
  534. package/dist/render/showcase-styles.js.map +1 -1
  535. package/dist/render/style-units.d.ts +17 -0
  536. package/dist/render/style-units.d.ts.map +1 -0
  537. package/dist/render/style-units.js +24 -0
  538. package/dist/render/style-units.js.map +1 -0
  539. package/dist/render/styles.d.ts.map +1 -1
  540. package/dist/render/styles.js +8 -5
  541. package/dist/render/styles.js.map +1 -1
  542. package/dist/render/tone.d.ts +14 -0
  543. package/dist/render/tone.d.ts.map +1 -0
  544. package/dist/render/tone.js +40 -0
  545. package/dist/render/tone.js.map +1 -0
  546. package/dist/render/verify.d.ts +3 -0
  547. package/dist/render/verify.d.ts.map +1 -1
  548. package/dist/render/verify.js +15 -2
  549. package/dist/render/verify.js.map +1 -1
  550. package/dist/spec/asset-references.d.ts +35 -0
  551. package/dist/spec/asset-references.d.ts.map +1 -0
  552. package/dist/spec/asset-references.js +93 -0
  553. package/dist/spec/asset-references.js.map +1 -0
  554. package/dist/spec/bounds.d.ts +6 -0
  555. package/dist/spec/bounds.d.ts.map +1 -1
  556. package/dist/spec/bounds.js +7 -0
  557. package/dist/spec/bounds.js.map +1 -1
  558. package/dist/spec/conditions.d.ts +43 -0
  559. package/dist/spec/conditions.d.ts.map +1 -0
  560. package/dist/spec/conditions.js +179 -0
  561. package/dist/spec/conditions.js.map +1 -0
  562. package/dist/spec/network-policy.d.ts +33 -0
  563. package/dist/spec/network-policy.d.ts.map +1 -0
  564. package/dist/spec/network-policy.js +57 -0
  565. package/dist/spec/network-policy.js.map +1 -0
  566. package/dist/spec/normalize.d.ts +7 -2
  567. package/dist/spec/normalize.d.ts.map +1 -1
  568. package/dist/spec/normalize.js +203 -57
  569. package/dist/spec/normalize.js.map +1 -1
  570. package/dist/theme/dialect-presets.d.ts +12 -0
  571. package/dist/theme/dialect-presets.d.ts.map +1 -0
  572. package/dist/theme/dialect-presets.js +214 -0
  573. package/dist/theme/dialect-presets.js.map +1 -0
  574. package/dist/theme/load-theme.d.ts +9 -1
  575. package/dist/theme/load-theme.d.ts.map +1 -1
  576. package/dist/theme/load-theme.js +25 -2
  577. package/dist/theme/load-theme.js.map +1 -1
  578. package/dist/theme/preset-builder.d.ts +36 -0
  579. package/dist/theme/preset-builder.d.ts.map +1 -0
  580. package/dist/theme/preset-builder.js +51 -0
  581. package/dist/theme/preset-builder.js.map +1 -0
  582. package/dist/theme/presets.d.ts +4 -7
  583. package/dist/theme/presets.d.ts.map +1 -1
  584. package/dist/theme/presets.js +7 -40
  585. package/dist/theme/presets.js.map +1 -1
  586. package/dist/theme/recipes.d.ts +38 -0
  587. package/dist/theme/recipes.d.ts.map +1 -0
  588. package/dist/theme/recipes.js +96 -0
  589. package/dist/theme/recipes.js.map +1 -0
  590. package/dist/theme/theme-catalog.d.ts.map +1 -1
  591. package/dist/theme/theme-catalog.js +16 -0
  592. package/dist/theme/theme-catalog.js.map +1 -1
  593. package/dist/version.d.ts +1 -1
  594. package/dist/version.js +1 -1
  595. package/llms.txt +9 -5
  596. package/package.json +6 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.generated.js","sourceRoot":"","sources":["../../src/recipes/recipes.generated.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export declare function validateActionMap(value: unknown, path: string, bag: Dia
35
35
  /** Validate a single action record against the closed vocabulary. */
36
36
  export declare function validateAction(value: unknown, path: string, bag: DiagnosticBag): PropValues | undefined;
37
37
  /** True when a string is a plain `state.` dotted key path. */
38
+ /** A `state.` path: lowercase kebab keys only, so no prototype key can be named. */
39
+ export declare const STATE_PATH_PATTERN: RegExp;
38
40
  export declare function isSafeStatePath(value: string): boolean;
39
41
  /** Collect every action record from a validated binding map. */
40
42
  export declare function bindingActions(bindings: Record<string, PropValues[]>): PropValues[];
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/registry/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAEpG,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,UAAU,GACV,QAAQ,GACR,WAAW,GACX,MAAM,GACN,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC;AAgBD,uEAAuE;AACvE,eAAO,MAAM,cAAc,4EAQjB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EA0GzD,CAAC;AAIF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEpE;AAED,wBAAgB,eAAe,IAAI,UAAU,EAAE,CAE9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,aAAa,GACjB,gBAAgB,CAqClB;AAED,qEAAqE;AACrE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,aAAa,GACjB,UAAU,GAAG,SAAS,CA+DxB;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAEnF;AAED,wDAAwD;AACxD,wBAAgB,cAAc,IAAI;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAKxE;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAIlE"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/registry/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAEpG,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,UAAU,GACV,QAAQ,GACR,WAAW,GACX,MAAM,GACN,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC;AAgBD,uEAAuE;AACvE,eAAO,MAAM,cAAc,4EAQjB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EA0GzD,CAAC;AAIF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEpE;AAED,wBAAgB,eAAe,IAAI,UAAU,EAAE,CAE9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,aAAa,GACjB,gBAAgB,CAqClB;AAED,qEAAqE;AACrE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,aAAa,GACjB,UAAU,GAAG,SAAS,CA+DxB;AAED,8DAA8D;AAC9D,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,QAAyD,CAAC;AAEzF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAEnF;AAED,wDAAwD;AACxD,wBAAgB,cAAc,IAAI;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAKxE;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAIlE"}
@@ -250,8 +250,10 @@ export function validateAction(value, path, bag) {
250
250
  return { action: actionType, ...params };
251
251
  }
252
252
  /** True when a string is a plain `state.` dotted key path. */
253
+ /** A `state.` path: lowercase kebab keys only, so no prototype key can be named. */
254
+ export const STATE_PATH_PATTERN = /^state\.[a-z0-9][a-z0-9-]*(?:\.[a-z0-9][a-z0-9-]*)*$/;
253
255
  export function isSafeStatePath(value) {
254
- return /^state\.[a-z0-9][a-z0-9-]*(?:\.[a-z0-9][a-z0-9-]*)*$/.test(value);
256
+ return STATE_PATH_PATTERN.test(value);
255
257
  }
256
258
  /** Collect every action record from a validated binding map. */
257
259
  export function bindingActions(bindings) {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/registry/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/registry/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Block modules: the unit a block group contributes to the registry.
3
+ *
4
+ * A module pairs a block definition with its renderer and its cross-field
5
+ * checks, so one file owns everything one block type needs. A feature module
6
+ * is the CSS, and optionally the runtime script, that a block declares through
7
+ * `runtimeFeatures`; the compiler emits it only when a page uses the feature.
8
+ */
9
+ import type { DataRow } from '../data/dataset-types.js';
10
+ import type { DiagnosticBag } from '../diagnostics.js';
11
+ import type { IrNode } from '../ir.js';
12
+ import type { JsonValue } from '../json.js';
13
+ import type { RenderContext } from '../render/render-context.js';
14
+ import type { BlockDefinition } from './roster.js';
15
+ /** Catalog grouping for discovery. Every block has exactly one category. */
16
+ export type BlockCategory = 'layout' | 'content' | 'data' | 'interaction' | 'media' | 'showcase' | 'engineering' | 'product';
17
+ export declare const BLOCK_CATEGORIES: readonly BlockCategory[];
18
+ /** What a module's `check` sees: the whole normalized document, read-only. */
19
+ export interface CheckContext {
20
+ bag: DiagnosticBag;
21
+ byId: ReadonlyMap<string, IrNode>;
22
+ state: Record<string, JsonValue>;
23
+ datasets: Record<string, DataRow[]>;
24
+ registry: BlockRegistry;
25
+ }
26
+ export interface BlockModule {
27
+ definition: BlockDefinition;
28
+ render(node: IrNode, context: RenderContext): string;
29
+ /** Cross-field checks; runs after normalization, in IR order. */
30
+ check?(node: IrNode, context: CheckContext): void;
31
+ }
32
+ export interface FeatureModule {
33
+ /** Kebab-case, unique across core and module features. */
34
+ name: string;
35
+ /** A substring that must appear in the emitted CSS exactly when the feature is used. */
36
+ marker: string;
37
+ /**
38
+ * Token-driven CSS, emitted only when the feature is used. Animations sit
39
+ * behind `(prefers-reduced-motion:no-preference)`.
40
+ */
41
+ css: string;
42
+ /** ES5-style runtime code, like `runtime.ts`, and the call that wires it, e.g. `wireTables();`. */
43
+ script?: {
44
+ code: string;
45
+ boot?: string;
46
+ };
47
+ /** True when the feature announces changes and so needs the live region. */
48
+ announces?: boolean;
49
+ }
50
+ export interface BlockGroup {
51
+ name: string;
52
+ blocks: readonly BlockModule[];
53
+ features: readonly FeatureModule[];
54
+ }
55
+ /** The resolved set of blocks and features one compile uses. */
56
+ export interface BlockRegistry {
57
+ /** Core definitions first, then each group's blocks in group order. */
58
+ definitions: readonly BlockDefinition[];
59
+ byType: ReadonlyMap<string, BlockDefinition>;
60
+ /** Modules by block type; a type without a module uses a core renderer. */
61
+ modules: ReadonlyMap<string, BlockModule>;
62
+ /** Module features in group order. */
63
+ features: readonly FeatureModule[];
64
+ }
65
+ //# sourceMappingURL=block-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-module.d.ts","sourceRoot":"","sources":["../../src/registry/block-module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,SAAS,GACT,MAAM,GACN,aAAa,GACb,OAAO,GACP,UAAU,GACV,aAAa,GACb,SAAS,CAAC;AAEd,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EASpD,CAAC;AAEF,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC;IACrD,iEAAiE;IACjE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,mGAAmG;IACnG,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,2EAA2E;IAC3E,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,sCAAsC;IACtC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Block modules: the unit a block group contributes to the registry.
3
+ *
4
+ * A module pairs a block definition with its renderer and its cross-field
5
+ * checks, so one file owns everything one block type needs. A feature module
6
+ * is the CSS, and optionally the runtime script, that a block declares through
7
+ * `runtimeFeatures`; the compiler emits it only when a page uses the feature.
8
+ */
9
+ export const BLOCK_CATEGORIES = [
10
+ 'layout',
11
+ 'content',
12
+ 'data',
13
+ 'interaction',
14
+ 'media',
15
+ 'showcase',
16
+ 'engineering',
17
+ 'product',
18
+ ];
19
+ //# sourceMappingURL=block-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-module.js","sourceRoot":"","sources":["../../src/registry/block-module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,QAAQ;IACR,SAAS;IACT,MAAM;IACN,aAAa;IACb,OAAO;IACP,UAAU;IACV,aAAa;IACb,SAAS;CACV,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Intent search over the block catalog.
3
+ *
4
+ * An agent that knows what it wants ("sortable table", "pricing") should not
5
+ * have to load the whole catalog to find the block for it. `searchCatalog`
6
+ * ranks block types by plain word overlap with the type name, tags, use cases,
7
+ * category and summary. There is no fuzzy matching, locale or randomness, so
8
+ * the same query against the same roster always returns the same hits.
9
+ */
10
+ import type { BlockCategory } from './block-module.js';
11
+ export interface CatalogSearchHit {
12
+ type: string;
13
+ category: BlockCategory;
14
+ summary: string;
15
+ score: number;
16
+ }
17
+ /** Input bounds: a query is a short phrase, not a document. */
18
+ export declare const CATALOG_SEARCH_LIMITS: {
19
+ readonly maxQueryLength: 200;
20
+ readonly maxTokens: 8;
21
+ readonly defaultHits: 8;
22
+ readonly maxHits: 100;
23
+ };
24
+ /** The distinct query words that are scored, in query order, stop words removed. */
25
+ export declare function catalogSearchTokens(query: string): string[];
26
+ /**
27
+ * Rank block types against a short intent phrase. Sorted by score, highest
28
+ * first, then by type in code-unit order; blocks that match no word are left
29
+ * out, so an empty result means nothing matched.
30
+ */
31
+ export declare function searchCatalog(query: string, limit?: number): CatalogSearchHit[];
32
+ //# sourceMappingURL=catalog-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-search.d.ts","sourceRoot":"","sources":["../../src/registry/catalog-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAiFX,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAU3D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAA0C,GAChD,gBAAgB,EAAE,CAqBpB"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Intent search over the block catalog.
3
+ *
4
+ * An agent that knows what it wants ("sortable table", "pricing") should not
5
+ * have to load the whole catalog to find the block for it. `searchCatalog`
6
+ * ranks block types by plain word overlap with the type name, tags, use cases,
7
+ * category and summary. There is no fuzzy matching, locale or randomness, so
8
+ * the same query against the same roster always returns the same hits.
9
+ */
10
+ import { RenderError } from '../errors.js';
11
+ import { BLOCK_DEFINITIONS } from './registry.js';
12
+ /** Input bounds: a query is a short phrase, not a document. */
13
+ export const CATALOG_SEARCH_LIMITS = {
14
+ maxQueryLength: 200,
15
+ maxTokens: 8,
16
+ defaultHits: 8,
17
+ maxHits: 100,
18
+ };
19
+ /** Points one query token earns per field it matches; fields add up. */
20
+ const WEIGHTS = {
21
+ type: 3,
22
+ typeSegment: 2,
23
+ tag: 2,
24
+ useCase: 2,
25
+ category: 2,
26
+ summary: 1,
27
+ };
28
+ /**
29
+ * Filler words that appear in most summaries ("and", "with") and would only
30
+ * add ties. They are dropped from the query, never from the index.
31
+ */
32
+ const STOP_WORDS = new Set([
33
+ 'a',
34
+ 'an',
35
+ 'and',
36
+ 'by',
37
+ 'for',
38
+ 'in',
39
+ 'of',
40
+ 'on',
41
+ 'or',
42
+ 'the',
43
+ 'to',
44
+ 'with',
45
+ ]);
46
+ /** Lowercase ASCII words; anything else separates words. */
47
+ function words(text) {
48
+ return text
49
+ .toLowerCase()
50
+ .split(/[^a-z0-9]+/u)
51
+ .filter((word) => word !== '');
52
+ }
53
+ /**
54
+ * Two words match when they are equal or differ only by a plural `s`/`es`, so
55
+ * "logs" finds `log-viewer` and "tables" finds `table`.
56
+ */
57
+ function sameWord(a, b) {
58
+ return a === b || a === `${b}s` || b === `${a}s` || a === `${b}es` || b === `${a}es`;
59
+ }
60
+ function indexEntry(definition) {
61
+ return {
62
+ definition,
63
+ typeSegments: words(definition.type),
64
+ // A whole tag and each of its kebab segments both count as the tag.
65
+ tagWords: definition.tags.flatMap((tag) => [tag, ...words(tag)]),
66
+ useCaseWords: definition.useCases.flatMap(words),
67
+ summaryWords: words(definition.summary),
68
+ };
69
+ }
70
+ /** Built once: the default registry is static for the life of the process. */
71
+ const SEARCH_INDEX = BLOCK_DEFINITIONS.map(indexEntry);
72
+ function tokenScore(token, entry) {
73
+ const has = (list) => list.some((word) => sameWord(token, word));
74
+ let score = 0;
75
+ if (sameWord(token, entry.definition.type))
76
+ score += WEIGHTS.type;
77
+ else if (has(entry.typeSegments))
78
+ score += WEIGHTS.typeSegment;
79
+ if (has(entry.tagWords))
80
+ score += WEIGHTS.tag;
81
+ if (has(entry.useCaseWords))
82
+ score += WEIGHTS.useCase;
83
+ if (sameWord(token, entry.definition.category))
84
+ score += WEIGHTS.category;
85
+ if (has(entry.summaryWords))
86
+ score += WEIGHTS.summary;
87
+ return score;
88
+ }
89
+ /** The distinct query words that are scored, in query order, stop words removed. */
90
+ export function catalogSearchTokens(query) {
91
+ if (query.length > CATALOG_SEARCH_LIMITS.maxQueryLength) {
92
+ throw new RenderError('SPEC_VALIDATION_ERROR', `search query is longer than ${CATALOG_SEARCH_LIMITS.maxQueryLength} characters`, { path: 'query', details: { length: query.length } });
93
+ }
94
+ const tokens = words(query).filter((word) => !STOP_WORDS.has(word));
95
+ return [...new Set(tokens)].slice(0, CATALOG_SEARCH_LIMITS.maxTokens);
96
+ }
97
+ /**
98
+ * Rank block types against a short intent phrase. Sorted by score, highest
99
+ * first, then by type in code-unit order; blocks that match no word are left
100
+ * out, so an empty result means nothing matched.
101
+ */
102
+ export function searchCatalog(query, limit = CATALOG_SEARCH_LIMITS.defaultHits) {
103
+ if (!Number.isInteger(limit) || limit < 1 || limit > CATALOG_SEARCH_LIMITS.maxHits) {
104
+ throw new RenderError('SPEC_VALIDATION_ERROR', `search limit must be an integer from 1 to ${CATALOG_SEARCH_LIMITS.maxHits}`, { path: 'limit', details: { limit } });
105
+ }
106
+ const tokens = catalogSearchTokens(query);
107
+ if (tokens.length === 0)
108
+ return [];
109
+ const hits = [];
110
+ for (const entry of SEARCH_INDEX) {
111
+ let score = 0;
112
+ for (const token of tokens)
113
+ score += tokenScore(token, entry);
114
+ if (score === 0)
115
+ continue;
116
+ const { type, category, summary } = entry.definition;
117
+ hits.push({ type, category, summary, score });
118
+ }
119
+ hits.sort((a, b) => b.score - a.score || (a.type < b.type ? -1 : a.type > b.type ? 1 : 0));
120
+ return hits.slice(0, limit);
121
+ }
122
+ //# sourceMappingURL=catalog-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-search.js","sourceRoot":"","sources":["../../src/registry/catalog-search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Definition helpers shared by the core roster and the block modules.
3
+ *
4
+ * Small constructors for prop schemas and block definitions. They only build
5
+ * data: validation, the JSON Schema and `describe()` all read the result.
6
+ */
7
+ import type { PropSchema } from './prop-schema.js';
8
+ import type { BlockDefinition, SizingContract } from './roster.js';
9
+ export declare const DEFAULT_MIGRATION = "Props are additive; removed props are reported as diagnostics, never silently dropped.";
10
+ export declare const DEFAULT_SERIALIZER = "Serializes back to the same Page Spec shape; child blocks keep their order and slots.";
11
+ export declare const DEFAULT_SIZING: SizingContract;
12
+ export declare const str: (o?: Omit<PropSchema & {
13
+ kind: "string";
14
+ }, "kind">) => PropSchema;
15
+ /**
16
+ * How text renders. `describe` and the JSON Schema both carry it, once per
17
+ * prop, so it stays short.
18
+ */
19
+ export declare const PROSE_DESCRIPTION = "Plain text; a `backtick` pair renders as inline code.";
20
+ export declare const VERBATIM_DESCRIPTION = "Emitted verbatim; backticks stay literal.";
21
+ export declare const txt: (o?: {
22
+ required?: boolean;
23
+ default?: string;
24
+ maxLength?: number;
25
+ description?: string;
26
+ }) => PropSchema;
27
+ export declare const num: (o?: {
28
+ required?: boolean;
29
+ default?: number;
30
+ min?: number;
31
+ max?: number;
32
+ integer?: boolean;
33
+ description?: string;
34
+ }) => PropSchema;
35
+ export declare const bool: (o?: {
36
+ required?: boolean;
37
+ default?: boolean;
38
+ description?: string;
39
+ }) => PropSchema;
40
+ export declare const urlProp: (o?: {
41
+ required?: boolean;
42
+ schemes?: readonly string[];
43
+ description?: string;
44
+ asset?: "images" | "media";
45
+ rejectBlocked?: boolean;
46
+ }) => PropSchema;
47
+ export declare const list: (of: PropSchema, o?: {
48
+ required?: boolean;
49
+ minItems?: number;
50
+ maxItems?: number;
51
+ description?: string;
52
+ }) => PropSchema;
53
+ export declare const obj: (fields: Record<string, PropSchema>, o?: {
54
+ required?: boolean;
55
+ description?: string;
56
+ }) => PropSchema;
57
+ export declare const oneOf: (options: readonly PropSchema[], o?: {
58
+ required?: boolean;
59
+ description?: string;
60
+ }) => PropSchema;
61
+ export declare const enumStr: (values: readonly string[], o?: {
62
+ required?: boolean;
63
+ default?: string;
64
+ description?: string;
65
+ }) => PropSchema;
66
+ export declare const idProp: (description: string) => PropSchema;
67
+ export declare const actionMap: (description: string) => PropSchema;
68
+ /** A nested list of child blocks, built into `IrNode.slots` rather than props. */
69
+ export declare const blocks: (o?: {
70
+ required?: boolean;
71
+ minItems?: number;
72
+ maxItems?: number;
73
+ accepts?: readonly string[] | "*";
74
+ description?: string;
75
+ }) => PropSchema;
76
+ /** Reusable prop fragments. */
77
+ export declare const onProp: (description?: string) => PropSchema;
78
+ export declare const anchorProps: Record<string, PropSchema>;
79
+ export declare const itemsOf: (fields: Record<string, PropSchema>, o?: {
80
+ minItems?: number;
81
+ maxItems?: number;
82
+ }) => PropSchema;
83
+ export declare const TITLE: PropSchema;
84
+ export declare const OPTIONAL_TITLE: PropSchema;
85
+ export declare const LABEL: PropSchema;
86
+ /** A block definition with the shared defaults filled in. */
87
+ export declare function define(specification: Partial<BlockDefinition> & Pick<BlockDefinition, 'type' | 'category' | 'tags' | 'useCases' | 'purpose' | 'summary' | 'props'>): BlockDefinition;
88
+ export declare function semantic(specification: Partial<BlockDefinition> & Pick<BlockDefinition, 'type' | 'category' | 'tags' | 'useCases' | 'purpose' | 'summary' | 'props'>): BlockDefinition;
89
+ //# sourceMappingURL=define-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-helpers.d.ts","sourceRoot":"","sources":["../../src/registry/define-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Definition helpers shared by the core roster and the block modules.
3
+ *
4
+ * Small constructors for prop schemas and block definitions. They only build
5
+ * data: validation, the JSON Schema and `describe()` all read the result.
6
+ */
7
+ export const DEFAULT_MIGRATION = 'Props are additive; removed props are reported as diagnostics, never silently dropped.';
8
+ export const DEFAULT_SERIALIZER = 'Serializes back to the same Page Spec shape; child blocks keep their order and slots.';
9
+ export const DEFAULT_SIZING = {
10
+ sizes: ['medium', 'large'],
11
+ default: 'medium',
12
+ responsive: 'Fills its parent slot and reflows its content; never clips or scales by transform.',
13
+ };
14
+ export const str = (o = {}) => ({
15
+ kind: 'string',
16
+ ...o,
17
+ });
18
+ /**
19
+ * How text renders. `describe` and the JSON Schema both carry it, once per
20
+ * prop, so it stays short.
21
+ */
22
+ export const PROSE_DESCRIPTION = 'Plain text; a `backtick` pair renders as inline code.';
23
+ export const VERBATIM_DESCRIPTION = 'Emitted verbatim; backticks stay literal.';
24
+ export const txt = (o = {}) => ({
25
+ kind: 'text',
26
+ description: PROSE_DESCRIPTION,
27
+ ...o,
28
+ });
29
+ export const num = (o = {}) => ({ kind: 'number', ...o });
30
+ export const bool = (o = {}) => ({
31
+ kind: 'boolean',
32
+ ...o,
33
+ });
34
+ export const urlProp = (o = {}) => ({
35
+ kind: 'url',
36
+ ...o,
37
+ });
38
+ export const list = (of, o = {}) => ({ kind: 'list', of, ...o });
39
+ export const obj = (fields, o = {}) => ({ kind: 'object', fields, ...o });
40
+ export const oneOf = (options, o = {}) => ({ kind: 'oneOf', options, ...o });
41
+ export const enumStr = (values, o = {}) => ({
42
+ kind: 'string',
43
+ enum: values,
44
+ ...o,
45
+ });
46
+ export const idProp = (description) => ({
47
+ kind: 'string',
48
+ id: true,
49
+ description,
50
+ });
51
+ export const actionMap = (description) => ({
52
+ kind: 'json',
53
+ description,
54
+ maxBytes: 8_000,
55
+ schemaRef: '#/$defs/actionMap',
56
+ });
57
+ /** A nested list of child blocks, built into `IrNode.slots` rather than props. */
58
+ export const blocks = (o = {}) => ({ kind: 'blocks', ...o });
59
+ /** Reusable prop fragments. */
60
+ export const onProp = (description = 'Declarative action bindings for this block.') => actionMap(description);
61
+ export const anchorProps = {
62
+ id: idProp('Stable node id. Author-provided ids are used verbatim and must be unique.'),
63
+ };
64
+ export const itemsOf = (fields, o = {}) => list(obj(fields), { required: true, minItems: o.minItems ?? 1, maxItems: o.maxItems ?? 200 });
65
+ export const TITLE = str({ required: true, maxLength: 200 });
66
+ export const OPTIONAL_TITLE = str({ maxLength: 200 });
67
+ export const LABEL = str({ required: true, maxLength: 200 });
68
+ /** A block definition with the shared defaults filled in. */
69
+ export function define(specification) {
70
+ return {
71
+ version: 1,
72
+ kind: 'primitive',
73
+ sizing: DEFAULT_SIZING,
74
+ a11y: 'Renders semantic markup; text alternatives come from the authored content.',
75
+ actions: [],
76
+ runtimeFeatures: [],
77
+ assets: [],
78
+ network: 'none',
79
+ migration: DEFAULT_MIGRATION,
80
+ serializer: DEFAULT_SERIALIZER,
81
+ ...specification,
82
+ };
83
+ }
84
+ export function semantic(specification) {
85
+ return define({ kind: 'semantic', ...specification });
86
+ }
87
+ //# sourceMappingURL=define-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-helpers.js","sourceRoot":"","sources":["../../src/registry/define-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Several block contracts in one call, optionally in compact form.
3
+ *
4
+ * `describe(type)` returns the full contract: every prop with its bounds,
5
+ * defaults and description, plus sizing, accessibility and migration notes.
6
+ * That is what an agent needs to get one tricky block right, but it is too much
7
+ * to load for every block on a page. The compact form keeps what authoring
8
+ * needs (prop names, kinds, requiredness, enums, slots, data and actions) as
9
+ * one short line each, and drops the prose.
10
+ */
11
+ import type { BlockCategory } from './block-module.js';
12
+ import type { BlockDefinition } from './roster.js';
13
+ /** The authoring essentials of one block, one line per prop. */
14
+ export interface CompactBlockDescription {
15
+ type: string;
16
+ kind: 'semantic' | 'primitive';
17
+ version: number;
18
+ category: BlockCategory;
19
+ summary: string;
20
+ /**
21
+ * `name: kind[, required][, enum a|b|c]`. Fields of list items read
22
+ * `items[].field`, fields of an object read `prop.field`. A long enum
23
+ * printed earlier reads `enum as <prop>`, and an object whose fields match
24
+ * one printed earlier reads `, like <prop>` with its fields left out.
25
+ */
26
+ props: string[];
27
+ /** `name: accepts[, min..max]`, when the block takes child blocks. */
28
+ slots?: string[];
29
+ /** Allowed direct parents, when the block may only sit inside some types. */
30
+ parents?: string[];
31
+ /** Present when the block reads rows from `dataRef` or inline `data`. */
32
+ data?: {
33
+ required: boolean;
34
+ description: string;
35
+ };
36
+ /** Actions the block can trigger, when it has any. */
37
+ actions?: string[];
38
+ }
39
+ export type BlockDescription = BlockDefinition | CompactBlockDescription;
40
+ export interface DescribeManyOptions {
41
+ compact?: boolean;
42
+ }
43
+ /** At most this many distinct types per call. */
44
+ export declare const DESCRIBE_MANY_LIMIT = 12;
45
+ /** The compact form of one full contract. */
46
+ export declare function compactDescription(definition: BlockDefinition): CompactBlockDescription;
47
+ /**
48
+ * Contracts for several block types, in the order given, with duplicates
49
+ * dropped. `compact: true` returns the one-line-per-prop form.
50
+ */
51
+ export declare function describeMany(types: readonly string[], options: DescribeManyOptions & {
52
+ compact: true;
53
+ }): CompactBlockDescription[];
54
+ export declare function describeMany(types: readonly string[], options?: DescribeManyOptions & {
55
+ compact?: false;
56
+ }): BlockDefinition[];
57
+ export declare function describeMany(types: readonly string[], options?: DescribeManyOptions): BlockDescription[];
58
+ //# sourceMappingURL=describe-many.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe-many.d.ts","sourceRoot":"","sources":["../../src/registry/describe-many.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,aAAa,CAAC;AAE7D,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,yEAAyE;IACzE,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,uBAAuB,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,iDAAiD;AACjD,eAAO,MAAM,mBAAmB,KAAK,CAAC;AA+GtC,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,uBAAuB,CAmBvF;AAqBD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,mBAAmB,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAC/C,uBAAuB,EAAE,CAAC;AAC7B,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,GAClD,eAAe,EAAE,CAAC;AACrB,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,gBAAgB,EAAE,CAAC"}