@elastic/isomer-sdk 0.0.0 → 0.2.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 (492) hide show
  1. package/LICENSE.txt +93 -0
  2. package/NOTICE.txt +1861 -0
  3. package/README.md +69 -0
  4. package/THIRD_PARTY_LICENSES.md +957 -0
  5. package/dist/author/authored_fields.d.ts +153 -0
  6. package/dist/author/authored_fields.d.ts.map +1 -0
  7. package/dist/author/authored_fields.js +227 -0
  8. package/dist/author/authored_fields.js.map +1 -0
  9. package/dist/author/authoring_input.d.ts +7 -0
  10. package/dist/author/authoring_input.d.ts.map +1 -0
  11. package/dist/author/authoring_input.js +60 -0
  12. package/dist/author/authoring_input.js.map +1 -0
  13. package/dist/author/authoring_model.d.ts +27 -0
  14. package/dist/author/authoring_model.d.ts.map +1 -0
  15. package/dist/author/authoring_model.js +98 -0
  16. package/dist/author/authoring_model.js.map +1 -0
  17. package/dist/author/declarations.d.ts +13 -0
  18. package/dist/author/declarations.d.ts.map +1 -0
  19. package/dist/author/declarations.js +277 -0
  20. package/dist/author/declarations.js.map +1 -0
  21. package/dist/author/index.d.ts +7 -0
  22. package/dist/author/index.d.ts.map +1 -0
  23. package/dist/author/index.js +12 -0
  24. package/dist/author/index.js.map +1 -0
  25. package/dist/author/jsx.d.ts +21 -0
  26. package/dist/author/jsx.d.ts.map +1 -0
  27. package/dist/author/jsx.js +20 -0
  28. package/dist/author/jsx.js.map +1 -0
  29. package/dist/author/jsx_shim.d.ts +117 -0
  30. package/dist/author/jsx_shim.d.ts.map +1 -0
  31. package/dist/author/jsx_shim.js +270 -0
  32. package/dist/author/jsx_shim.js.map +1 -0
  33. package/dist/author/prompt.d.ts +58 -0
  34. package/dist/author/prompt.d.ts.map +1 -0
  35. package/dist/author/prompt.js +148 -0
  36. package/dist/author/prompt.js.map +1 -0
  37. package/dist/author/schema_to_typescript.d.ts +37 -0
  38. package/dist/author/schema_to_typescript.d.ts.map +1 -0
  39. package/dist/author/schema_to_typescript.js +286 -0
  40. package/dist/author/schema_to_typescript.js.map +1 -0
  41. package/dist/cjs/author/authored_fields.js +233 -0
  42. package/dist/cjs/author/authored_fields.js.map +1 -0
  43. package/dist/cjs/author/authoring_input.js +64 -0
  44. package/dist/cjs/author/authoring_input.js.map +1 -0
  45. package/dist/cjs/author/authoring_model.js +104 -0
  46. package/dist/cjs/author/authoring_model.js.map +1 -0
  47. package/dist/cjs/author/declarations.js +281 -0
  48. package/dist/cjs/author/declarations.js.map +1 -0
  49. package/dist/cjs/author/index.js +25 -0
  50. package/dist/cjs/author/index.js.map +1 -0
  51. package/dist/cjs/author/jsx.js +24 -0
  52. package/dist/cjs/author/jsx.js.map +1 -0
  53. package/dist/cjs/author/jsx_shim.js +276 -0
  54. package/dist/cjs/author/jsx_shim.js.map +1 -0
  55. package/dist/cjs/author/prompt.js +153 -0
  56. package/dist/cjs/author/prompt.js.map +1 -0
  57. package/dist/cjs/author/schema_to_typescript.js +295 -0
  58. package/dist/cjs/author/schema_to_typescript.js.map +1 -0
  59. package/dist/cjs/composition/action_event.js +9 -0
  60. package/dist/cjs/composition/action_event.js.map +1 -0
  61. package/dist/cjs/composition/body_node_base.js +112 -0
  62. package/dist/cjs/composition/body_node_base.js.map +1 -0
  63. package/dist/cjs/composition/composition.js +9 -0
  64. package/dist/cjs/composition/composition.js.map +1 -0
  65. package/dist/cjs/composition/error.js +73 -0
  66. package/dist/cjs/composition/error.js.map +1 -0
  67. package/dist/cjs/composition/index.js +32 -0
  68. package/dist/cjs/composition/index.js.map +1 -0
  69. package/dist/cjs/composition/map_nodes.js +85 -0
  70. package/dist/cjs/composition/map_nodes.js.map +1 -0
  71. package/dist/cjs/composition/named_color.js +20 -0
  72. package/dist/cjs/composition/named_color.js.map +1 -0
  73. package/dist/cjs/composition/node.js +9 -0
  74. package/dist/cjs/composition/node.js.map +1 -0
  75. package/dist/cjs/composition/one_line.js +23 -0
  76. package/dist/cjs/composition/one_line.js.map +1 -0
  77. package/dist/cjs/composition/structured_value.js +21 -0
  78. package/dist/cjs/composition/structured_value.js.map +1 -0
  79. package/dist/cjs/composition/validation_error.js +40 -0
  80. package/dist/cjs/composition/validation_error.js.map +1 -0
  81. package/dist/cjs/define/frame.js +31 -0
  82. package/dist/cjs/define/frame.js.map +1 -0
  83. package/dist/cjs/define/index.js +31 -0
  84. package/dist/cjs/define/index.js.map +1 -0
  85. package/dist/cjs/define/markdown_content.js +12 -0
  86. package/dist/cjs/define/markdown_content.js.map +1 -0
  87. package/dist/cjs/define/primitive_example.js +26 -0
  88. package/dist/cjs/define/primitive_example.js.map +1 -0
  89. package/dist/cjs/define/primitive_icon.js +17 -0
  90. package/dist/cjs/define/primitive_icon.js.map +1 -0
  91. package/dist/cjs/define/primitive_module.js +118 -0
  92. package/dist/cjs/define/primitive_module.js.map +1 -0
  93. package/dist/cjs/define/slack_assets.js +9 -0
  94. package/dist/cjs/define/slack_assets.js.map +1 -0
  95. package/dist/cjs/define/slack_blocks.js +9 -0
  96. package/dist/cjs/define/slack_blocks.js.map +1 -0
  97. package/dist/cjs/define/zod_format.js +122 -0
  98. package/dist/cjs/define/zod_format.js.map +1 -0
  99. package/dist/cjs/define/zod_helpers.js +26 -0
  100. package/dist/cjs/define/zod_helpers.js.map +1 -0
  101. package/dist/cjs/entries/html.js +12 -0
  102. package/dist/cjs/entries/html.js.map +1 -0
  103. package/dist/cjs/entries/index.js +80 -0
  104. package/dist/cjs/entries/index.js.map +1 -0
  105. package/dist/cjs/entries/markdown.js +14 -0
  106. package/dist/cjs/entries/markdown.js.map +1 -0
  107. package/dist/cjs/entries/react.js +20 -0
  108. package/dist/cjs/entries/react.js.map +1 -0
  109. package/dist/cjs/entries/slack.js +25 -0
  110. package/dist/cjs/entries/slack.js.map +1 -0
  111. package/dist/cjs/entries/text.js +12 -0
  112. package/dist/cjs/entries/text.js.map +1 -0
  113. package/dist/cjs/pack/capabilities.js +40 -0
  114. package/dist/cjs/pack/capabilities.js.map +1 -0
  115. package/dist/cjs/pack/compose.js +59 -0
  116. package/dist/cjs/pack/compose.js.map +1 -0
  117. package/dist/cjs/pack/enhancements.js +65 -0
  118. package/dist/cjs/pack/enhancements.js.map +1 -0
  119. package/dist/cjs/pack/index.js +18 -0
  120. package/dist/cjs/pack/index.js.map +1 -0
  121. package/dist/cjs/pack/primitive_pack.js +97 -0
  122. package/dist/cjs/pack/primitive_pack.js.map +1 -0
  123. package/dist/cjs/package.json +3 -0
  124. package/dist/cjs/render/anchors.js +167 -0
  125. package/dist/cjs/render/anchors.js.map +1 -0
  126. package/dist/cjs/render/context_view.js +54 -0
  127. package/dist/cjs/render/context_view.js.map +1 -0
  128. package/dist/cjs/render/format_display_value.js +143 -0
  129. package/dist/cjs/render/format_display_value.js.map +1 -0
  130. package/dist/cjs/render/format_number.js +46 -0
  131. package/dist/cjs/render/format_number.js.map +1 -0
  132. package/dist/cjs/render/html/enhancements.js +30 -0
  133. package/dist/cjs/render/html/enhancements.js.map +1 -0
  134. package/dist/cjs/render/html/envelope.js +218 -0
  135. package/dist/cjs/render/html/envelope.js.map +1 -0
  136. package/dist/cjs/render/html/index.js +12 -0
  137. package/dist/cjs/render/html/index.js.map +1 -0
  138. package/dist/cjs/render/index.js +25 -0
  139. package/dist/cjs/render/index.js.map +1 -0
  140. package/dist/cjs/render/layout_check.js +133 -0
  141. package/dist/cjs/render/layout_check.js.map +1 -0
  142. package/dist/cjs/render/markdown/builder.js +195 -0
  143. package/dist/cjs/render/markdown/builder.js.map +1 -0
  144. package/dist/cjs/render/markdown/envelope.js +33 -0
  145. package/dist/cjs/render/markdown/envelope.js.map +1 -0
  146. package/dist/cjs/render/markdown/format.js +208 -0
  147. package/dist/cjs/render/markdown/format.js.map +1 -0
  148. package/dist/cjs/render/markdown/index.js +15 -0
  149. package/dist/cjs/render/markdown/index.js.map +1 -0
  150. package/dist/cjs/render/measure_dom.js +61 -0
  151. package/dist/cjs/render/measure_dom.js.map +1 -0
  152. package/dist/cjs/render/payload.js +13 -0
  153. package/dist/cjs/render/payload.js.map +1 -0
  154. package/dist/cjs/render/primitive_dispatch.js +173 -0
  155. package/dist/cjs/render/primitive_dispatch.js.map +1 -0
  156. package/dist/cjs/render/react/content.js +44 -0
  157. package/dist/cjs/render/react/content.js.map +1 -0
  158. package/dist/cjs/render/react/enhancements.js +32 -0
  159. package/dist/cjs/render/react/enhancements.js.map +1 -0
  160. package/dist/cjs/render/react/index.js +15 -0
  161. package/dist/cjs/render/react/index.js.map +1 -0
  162. package/dist/cjs/render/slack/assets.js +45 -0
  163. package/dist/cjs/render/slack/assets.js.map +1 -0
  164. package/dist/cjs/render/slack/blocks.js +80 -0
  165. package/dist/cjs/render/slack/blocks.js.map +1 -0
  166. package/dist/cjs/render/slack/envelope.js +551 -0
  167. package/dist/cjs/render/slack/envelope.js.map +1 -0
  168. package/dist/cjs/render/slack/format.js +225 -0
  169. package/dist/cjs/render/slack/format.js.map +1 -0
  170. package/dist/cjs/render/slack/index.js +30 -0
  171. package/dist/cjs/render/slack/index.js.map +1 -0
  172. package/dist/cjs/render/slack/markdown_content.js +409 -0
  173. package/dist/cjs/render/slack/markdown_content.js.map +1 -0
  174. package/dist/cjs/render/text/envelope.js +21 -0
  175. package/dist/cjs/render/text/envelope.js.map +1 -0
  176. package/dist/cjs/render/text/index.js +12 -0
  177. package/dist/cjs/render/text/index.js.map +1 -0
  178. package/dist/cjs/testing/conformance.js +312 -0
  179. package/dist/cjs/testing/conformance.js.map +1 -0
  180. package/dist/cjs/testing/icon.js +248 -0
  181. package/dist/cjs/testing/icon.js.map +1 -0
  182. package/dist/cjs/testing/index.js +18 -0
  183. package/dist/cjs/testing/index.js.map +1 -0
  184. package/dist/cjs/testing/registration.js +142 -0
  185. package/dist/cjs/testing/registration.js.map +1 -0
  186. package/dist/cjs/validate/authoring_schema.js +312 -0
  187. package/dist/cjs/validate/authoring_schema.js.map +1 -0
  188. package/dist/cjs/validate/composition_schema.js +135 -0
  189. package/dist/cjs/validate/composition_schema.js.map +1 -0
  190. package/dist/cjs/validate/index.js +53 -0
  191. package/dist/cjs/validate/index.js.map +1 -0
  192. package/dist/cjs/validate/input_budget.js +156 -0
  193. package/dist/cjs/validate/input_budget.js.map +1 -0
  194. package/dist/cjs/validate/json_schema.js +72 -0
  195. package/dist/cjs/validate/json_schema.js.map +1 -0
  196. package/dist/cjs/validate/node_issues.js +65 -0
  197. package/dist/cjs/validate/node_issues.js.map +1 -0
  198. package/dist/cjs/validate/url.js +116 -0
  199. package/dist/cjs/validate/url.js.map +1 -0
  200. package/dist/cjs/validate/validation.js +165 -0
  201. package/dist/cjs/validate/validation.js.map +1 -0
  202. package/dist/cjs/validate/value_schemas.js +53 -0
  203. package/dist/cjs/validate/value_schemas.js.map +1 -0
  204. package/dist/composition/action_event.d.ts +13 -0
  205. package/dist/composition/action_event.d.ts.map +1 -0
  206. package/dist/composition/action_event.js +8 -0
  207. package/dist/composition/action_event.js.map +1 -0
  208. package/dist/composition/body_node_base.d.ts +72 -0
  209. package/dist/composition/body_node_base.d.ts.map +1 -0
  210. package/dist/composition/body_node_base.js +104 -0
  211. package/dist/composition/body_node_base.js.map +1 -0
  212. package/dist/composition/composition.d.ts +71 -0
  213. package/dist/composition/composition.d.ts.map +1 -0
  214. package/dist/composition/composition.js +8 -0
  215. package/dist/composition/composition.js.map +1 -0
  216. package/dist/composition/error.d.ts +61 -0
  217. package/dist/composition/error.d.ts.map +1 -0
  218. package/dist/composition/error.js +69 -0
  219. package/dist/composition/error.js.map +1 -0
  220. package/dist/composition/index.d.ts +11 -0
  221. package/dist/composition/index.d.ts.map +1 -0
  222. package/dist/composition/index.js +14 -0
  223. package/dist/composition/index.js.map +1 -0
  224. package/dist/composition/map_nodes.d.ts +16 -0
  225. package/dist/composition/map_nodes.d.ts.map +1 -0
  226. package/dist/composition/map_nodes.js +81 -0
  227. package/dist/composition/map_nodes.js.map +1 -0
  228. package/dist/composition/named_color.d.ts +9 -0
  229. package/dist/composition/named_color.d.ts.map +1 -0
  230. package/dist/composition/named_color.js +17 -0
  231. package/dist/composition/named_color.js.map +1 -0
  232. package/dist/composition/node.d.ts +11 -0
  233. package/dist/composition/node.d.ts.map +1 -0
  234. package/dist/composition/node.js +8 -0
  235. package/dist/composition/node.js.map +1 -0
  236. package/dist/composition/one_line.d.ts +7 -0
  237. package/dist/composition/one_line.d.ts.map +1 -0
  238. package/dist/composition/one_line.js +17 -0
  239. package/dist/composition/one_line.js.map +1 -0
  240. package/dist/composition/structured_value.d.ts +27 -0
  241. package/dist/composition/structured_value.d.ts.map +1 -0
  242. package/dist/composition/structured_value.js +18 -0
  243. package/dist/composition/structured_value.js.map +1 -0
  244. package/dist/composition/validation_error.d.ts +33 -0
  245. package/dist/composition/validation_error.d.ts.map +1 -0
  246. package/dist/composition/validation_error.js +35 -0
  247. package/dist/composition/validation_error.js.map +1 -0
  248. package/dist/define/frame.d.ts +155 -0
  249. package/dist/define/frame.d.ts.map +1 -0
  250. package/dist/define/frame.js +27 -0
  251. package/dist/define/frame.js.map +1 -0
  252. package/dist/define/index.d.ts +10 -0
  253. package/dist/define/index.d.ts.map +1 -0
  254. package/dist/define/index.js +13 -0
  255. package/dist/define/index.js.map +1 -0
  256. package/dist/define/markdown_content.d.ts +15 -0
  257. package/dist/define/markdown_content.d.ts.map +1 -0
  258. package/dist/define/markdown_content.js +9 -0
  259. package/dist/define/markdown_content.js.map +1 -0
  260. package/dist/define/primitive_example.d.ts +30 -0
  261. package/dist/define/primitive_example.d.ts.map +1 -0
  262. package/dist/define/primitive_example.js +21 -0
  263. package/dist/define/primitive_example.js.map +1 -0
  264. package/dist/define/primitive_icon.d.ts +11 -0
  265. package/dist/define/primitive_icon.d.ts.map +1 -0
  266. package/dist/define/primitive_icon.js +14 -0
  267. package/dist/define/primitive_icon.js.map +1 -0
  268. package/dist/define/primitive_module.d.ts +435 -0
  269. package/dist/define/primitive_module.d.ts.map +1 -0
  270. package/dist/define/primitive_module.js +112 -0
  271. package/dist/define/primitive_module.js.map +1 -0
  272. package/dist/define/slack_assets.d.ts +28 -0
  273. package/dist/define/slack_assets.d.ts.map +1 -0
  274. package/dist/define/slack_assets.js +8 -0
  275. package/dist/define/slack_assets.js.map +1 -0
  276. package/dist/define/slack_blocks.d.ts +234 -0
  277. package/dist/define/slack_blocks.d.ts.map +1 -0
  278. package/dist/define/slack_blocks.js +8 -0
  279. package/dist/define/slack_blocks.js.map +1 -0
  280. package/dist/define/zod_format.d.ts +33 -0
  281. package/dist/define/zod_format.d.ts.map +1 -0
  282. package/dist/define/zod_format.js +114 -0
  283. package/dist/define/zod_format.js.map +1 -0
  284. package/dist/define/zod_helpers.d.ts +10 -0
  285. package/dist/define/zod_helpers.d.ts.map +1 -0
  286. package/dist/define/zod_helpers.js +22 -0
  287. package/dist/define/zod_helpers.js.map +1 -0
  288. package/dist/entries/html.d.ts +3 -0
  289. package/dist/entries/html.d.ts.map +1 -0
  290. package/dist/entries/html.js +8 -0
  291. package/dist/entries/html.js.map +1 -0
  292. package/dist/entries/index.d.ts +6 -0
  293. package/dist/entries/index.d.ts.map +1 -0
  294. package/dist/entries/index.js +12 -0
  295. package/dist/entries/index.js.map +1 -0
  296. package/dist/entries/markdown.d.ts +3 -0
  297. package/dist/entries/markdown.d.ts.map +1 -0
  298. package/dist/entries/markdown.js +8 -0
  299. package/dist/entries/markdown.js.map +1 -0
  300. package/dist/entries/react.d.ts +5 -0
  301. package/dist/entries/react.d.ts.map +1 -0
  302. package/dist/entries/react.js +11 -0
  303. package/dist/entries/react.js.map +1 -0
  304. package/dist/entries/slack.d.ts +2 -0
  305. package/dist/entries/slack.d.ts.map +1 -0
  306. package/dist/entries/slack.js +8 -0
  307. package/dist/entries/slack.js.map +1 -0
  308. package/dist/entries/text.d.ts +2 -0
  309. package/dist/entries/text.d.ts.map +1 -0
  310. package/dist/entries/text.js +8 -0
  311. package/dist/entries/text.js.map +1 -0
  312. package/dist/pack/capabilities.d.ts +41 -0
  313. package/dist/pack/capabilities.d.ts.map +1 -0
  314. package/dist/pack/capabilities.js +36 -0
  315. package/dist/pack/capabilities.js.map +1 -0
  316. package/dist/pack/compose.d.ts +24 -0
  317. package/dist/pack/compose.d.ts.map +1 -0
  318. package/dist/pack/compose.js +55 -0
  319. package/dist/pack/compose.js.map +1 -0
  320. package/dist/pack/enhancements.d.ts +65 -0
  321. package/dist/pack/enhancements.d.ts.map +1 -0
  322. package/dist/pack/enhancements.js +59 -0
  323. package/dist/pack/enhancements.js.map +1 -0
  324. package/dist/pack/index.d.ts +5 -0
  325. package/dist/pack/index.d.ts.map +1 -0
  326. package/dist/pack/index.js +11 -0
  327. package/dist/pack/index.js.map +1 -0
  328. package/dist/pack/primitive_pack.d.ts +164 -0
  329. package/dist/pack/primitive_pack.d.ts.map +1 -0
  330. package/dist/pack/primitive_pack.js +92 -0
  331. package/dist/pack/primitive_pack.js.map +1 -0
  332. package/dist/render/anchors.d.ts +82 -0
  333. package/dist/render/anchors.d.ts.map +1 -0
  334. package/dist/render/anchors.js +153 -0
  335. package/dist/render/anchors.js.map +1 -0
  336. package/dist/render/context_view.d.ts +10 -0
  337. package/dist/render/context_view.d.ts.map +1 -0
  338. package/dist/render/context_view.js +49 -0
  339. package/dist/render/context_view.js.map +1 -0
  340. package/dist/render/format_display_value.d.ts +20 -0
  341. package/dist/render/format_display_value.d.ts.map +1 -0
  342. package/dist/render/format_display_value.js +137 -0
  343. package/dist/render/format_display_value.js.map +1 -0
  344. package/dist/render/format_number.d.ts +9 -0
  345. package/dist/render/format_number.d.ts.map +1 -0
  346. package/dist/render/format_number.js +42 -0
  347. package/dist/render/format_number.js.map +1 -0
  348. package/dist/render/html/enhancements.d.ts +10 -0
  349. package/dist/render/html/enhancements.d.ts.map +1 -0
  350. package/dist/render/html/enhancements.js +25 -0
  351. package/dist/render/html/enhancements.js.map +1 -0
  352. package/dist/render/html/envelope.d.ts +182 -0
  353. package/dist/render/html/envelope.d.ts.map +1 -0
  354. package/dist/render/html/envelope.js +214 -0
  355. package/dist/render/html/envelope.js.map +1 -0
  356. package/dist/render/html/index.d.ts +3 -0
  357. package/dist/render/html/index.d.ts.map +1 -0
  358. package/dist/render/html/index.js +8 -0
  359. package/dist/render/html/index.js.map +1 -0
  360. package/dist/render/index.d.ts +6 -0
  361. package/dist/render/index.d.ts.map +1 -0
  362. package/dist/render/index.js +11 -0
  363. package/dist/render/index.js.map +1 -0
  364. package/dist/render/layout_check.d.ts +43 -0
  365. package/dist/render/layout_check.d.ts.map +1 -0
  366. package/dist/render/layout_check.js +129 -0
  367. package/dist/render/layout_check.js.map +1 -0
  368. package/dist/render/markdown/builder.d.ts +46 -0
  369. package/dist/render/markdown/builder.d.ts.map +1 -0
  370. package/dist/render/markdown/builder.js +190 -0
  371. package/dist/render/markdown/builder.js.map +1 -0
  372. package/dist/render/markdown/envelope.d.ts +20 -0
  373. package/dist/render/markdown/envelope.d.ts.map +1 -0
  374. package/dist/render/markdown/envelope.js +29 -0
  375. package/dist/render/markdown/envelope.js.map +1 -0
  376. package/dist/render/markdown/format.d.ts +10 -0
  377. package/dist/render/markdown/format.d.ts.map +1 -0
  378. package/dist/render/markdown/format.js +202 -0
  379. package/dist/render/markdown/format.js.map +1 -0
  380. package/dist/render/markdown/index.d.ts +3 -0
  381. package/dist/render/markdown/index.d.ts.map +1 -0
  382. package/dist/render/markdown/index.js +9 -0
  383. package/dist/render/markdown/index.js.map +1 -0
  384. package/dist/render/measure_dom.d.ts +10 -0
  385. package/dist/render/measure_dom.d.ts.map +1 -0
  386. package/dist/render/measure_dom.js +57 -0
  387. package/dist/render/measure_dom.js.map +1 -0
  388. package/dist/render/payload.d.ts +16 -0
  389. package/dist/render/payload.d.ts.map +1 -0
  390. package/dist/render/payload.js +9 -0
  391. package/dist/render/payload.js.map +1 -0
  392. package/dist/render/primitive_dispatch.d.ts +72 -0
  393. package/dist/render/primitive_dispatch.d.ts.map +1 -0
  394. package/dist/render/primitive_dispatch.js +169 -0
  395. package/dist/render/primitive_dispatch.js.map +1 -0
  396. package/dist/render/react/content.d.ts +40 -0
  397. package/dist/render/react/content.d.ts.map +1 -0
  398. package/dist/render/react/content.js +39 -0
  399. package/dist/render/react/content.js.map +1 -0
  400. package/dist/render/react/enhancements.d.ts +15 -0
  401. package/dist/render/react/enhancements.d.ts.map +1 -0
  402. package/dist/render/react/enhancements.js +28 -0
  403. package/dist/render/react/enhancements.js.map +1 -0
  404. package/dist/render/react/index.d.ts +3 -0
  405. package/dist/render/react/index.d.ts.map +1 -0
  406. package/dist/render/react/index.js +9 -0
  407. package/dist/render/react/index.js.map +1 -0
  408. package/dist/render/slack/assets.d.ts +16 -0
  409. package/dist/render/slack/assets.d.ts.map +1 -0
  410. package/dist/render/slack/assets.js +40 -0
  411. package/dist/render/slack/assets.js.map +1 -0
  412. package/dist/render/slack/blocks.d.ts +72 -0
  413. package/dist/render/slack/blocks.d.ts.map +1 -0
  414. package/dist/render/slack/blocks.js +77 -0
  415. package/dist/render/slack/blocks.js.map +1 -0
  416. package/dist/render/slack/envelope.d.ts +52 -0
  417. package/dist/render/slack/envelope.d.ts.map +1 -0
  418. package/dist/render/slack/envelope.js +547 -0
  419. package/dist/render/slack/envelope.js.map +1 -0
  420. package/dist/render/slack/format.d.ts +70 -0
  421. package/dist/render/slack/format.d.ts.map +1 -0
  422. package/dist/render/slack/format.js +209 -0
  423. package/dist/render/slack/format.js.map +1 -0
  424. package/dist/render/slack/index.d.ts +6 -0
  425. package/dist/render/slack/index.d.ts.map +1 -0
  426. package/dist/render/slack/index.js +12 -0
  427. package/dist/render/slack/index.js.map +1 -0
  428. package/dist/render/slack/markdown_content.d.ts +17 -0
  429. package/dist/render/slack/markdown_content.d.ts.map +1 -0
  430. package/dist/render/slack/markdown_content.js +404 -0
  431. package/dist/render/slack/markdown_content.js.map +1 -0
  432. package/dist/render/text/envelope.d.ts +15 -0
  433. package/dist/render/text/envelope.d.ts.map +1 -0
  434. package/dist/render/text/envelope.js +17 -0
  435. package/dist/render/text/envelope.js.map +1 -0
  436. package/dist/render/text/index.d.ts +2 -0
  437. package/dist/render/text/index.d.ts.map +1 -0
  438. package/dist/render/text/index.js +8 -0
  439. package/dist/render/text/index.js.map +1 -0
  440. package/dist/testing/conformance.d.ts +145 -0
  441. package/dist/testing/conformance.d.ts.map +1 -0
  442. package/dist/testing/conformance.js +303 -0
  443. package/dist/testing/conformance.js.map +1 -0
  444. package/dist/testing/icon.d.ts +11 -0
  445. package/dist/testing/icon.d.ts.map +1 -0
  446. package/dist/testing/icon.js +244 -0
  447. package/dist/testing/icon.js.map +1 -0
  448. package/dist/testing/index.d.ts +4 -0
  449. package/dist/testing/index.d.ts.map +1 -0
  450. package/dist/testing/index.js +10 -0
  451. package/dist/testing/index.js.map +1 -0
  452. package/dist/testing/registration.d.ts +32 -0
  453. package/dist/testing/registration.d.ts.map +1 -0
  454. package/dist/testing/registration.js +105 -0
  455. package/dist/testing/registration.js.map +1 -0
  456. package/dist/validate/authoring_schema.d.ts +33 -0
  457. package/dist/validate/authoring_schema.d.ts.map +1 -0
  458. package/dist/validate/authoring_schema.js +306 -0
  459. package/dist/validate/authoring_schema.js.map +1 -0
  460. package/dist/validate/composition_schema.d.ts +80 -0
  461. package/dist/validate/composition_schema.d.ts.map +1 -0
  462. package/dist/validate/composition_schema.js +127 -0
  463. package/dist/validate/composition_schema.js.map +1 -0
  464. package/dist/validate/index.d.ts +9 -0
  465. package/dist/validate/index.d.ts.map +1 -0
  466. package/dist/validate/index.js +15 -0
  467. package/dist/validate/index.js.map +1 -0
  468. package/dist/validate/input_budget.d.ts +35 -0
  469. package/dist/validate/input_budget.d.ts.map +1 -0
  470. package/dist/validate/input_budget.js +151 -0
  471. package/dist/validate/input_budget.js.map +1 -0
  472. package/dist/validate/json_schema.d.ts +32 -0
  473. package/dist/validate/json_schema.d.ts.map +1 -0
  474. package/dist/validate/json_schema.js +68 -0
  475. package/dist/validate/json_schema.js.map +1 -0
  476. package/dist/validate/node_issues.d.ts +12 -0
  477. package/dist/validate/node_issues.d.ts.map +1 -0
  478. package/dist/validate/node_issues.js +61 -0
  479. package/dist/validate/node_issues.js.map +1 -0
  480. package/dist/validate/url.d.ts +50 -0
  481. package/dist/validate/url.d.ts.map +1 -0
  482. package/dist/validate/url.js +107 -0
  483. package/dist/validate/url.js.map +1 -0
  484. package/dist/validate/validation.d.ts +95 -0
  485. package/dist/validate/validation.d.ts.map +1 -0
  486. package/dist/validate/validation.js +157 -0
  487. package/dist/validate/validation.js.map +1 -0
  488. package/dist/validate/value_schemas.d.ts +53 -0
  489. package/dist/validate/value_schemas.d.ts.map +1 -0
  490. package/dist/validate/value_schemas.js +50 -0
  491. package/dist/validate/value_schemas.js.map +1 -0
  492. package/package.json +119 -5
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0; you may not use this file except in compliance with the Elastic License
6
+ * 2.0.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.prepareAuthoringInput = void 0;
10
+ const zod_1 = require("zod");
11
+ const isSchema = (value) => typeof value === 'object' &&
12
+ value !== null &&
13
+ '_zod' in value &&
14
+ typeof value._zod?.def?.type === 'string';
15
+ /** Input-schema copy without executable defaults or catch values. */
16
+ const prepareAuthoringInput = (schema) => {
17
+ const copies = new Map();
18
+ const metadata = zod_1.z.registry();
19
+ const copyValue = (value) => {
20
+ if (isSchema(value))
21
+ return copySchema(value);
22
+ if (Array.isArray(value))
23
+ return value.map(copyValue);
24
+ if (typeof value !== 'object' || value === null)
25
+ return value;
26
+ const prototype = Object.getPrototypeOf(value);
27
+ if (prototype !== Object.prototype && prototype !== null)
28
+ return value;
29
+ return Object.fromEntries(Object.entries(value).map(([key, member]) => [key, copyValue(member)]));
30
+ };
31
+ const copySchema = (source) => {
32
+ const cached = copies.get(source);
33
+ if (cached)
34
+ return cached;
35
+ let result;
36
+ copies.set(source, zod_1.z.lazy(() => result));
37
+ const { def } = source._zod;
38
+ if (def.type === 'default' ||
39
+ def.type === 'prefault' ||
40
+ def.type === 'catch') {
41
+ const { innerType } = def;
42
+ const inner = copySchema(innerType);
43
+ result =
44
+ def.type === 'catch'
45
+ ? zod_1.z.clone(inner, inner._zod.def)
46
+ : zod_1.z.optional(inner);
47
+ }
48
+ else if (def.type === 'lazy') {
49
+ const { getter } = def;
50
+ result = zod_1.z.lazy(() => copySchema(getter()));
51
+ }
52
+ else {
53
+ result = zod_1.z.clone(source, copyValue(def));
54
+ }
55
+ copies.set(source, result);
56
+ const meta = zod_1.z.globalRegistry.get(source);
57
+ if (meta)
58
+ metadata.add(result, meta);
59
+ return result;
60
+ };
61
+ return { schema: copySchema(schema), metadata };
62
+ };
63
+ exports.prepareAuthoringInput = prepareAuthoringInput;
64
+ //# sourceMappingURL=authoring_input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring_input.js","sourceRoot":"","sources":["../../../src/author/authoring_input.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\nimport { z, type ZodType } from 'zod';\n\nconst isSchema = (value: unknown): value is ZodType =>\n typeof value === 'object' &&\n value !== null &&\n '_zod' in value &&\n typeof (value as ZodType)._zod?.def?.type === 'string';\n\n/** Input-schema copy without executable defaults or catch values. */\nexport const prepareAuthoringInput = (schema: ZodType) => {\n const copies = new Map<ZodType, ZodType>();\n const metadata = z.registry<z.GlobalMeta>();\n const copyValue = (value: unknown): unknown => {\n if (isSchema(value)) return copySchema(value);\n if (Array.isArray(value)) return value.map(copyValue);\n if (typeof value !== 'object' || value === null) return value;\n const prototype: unknown = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null) return value;\n return Object.fromEntries(\n Object.entries(value).map(([key, member]) => [key, copyValue(member)])\n );\n };\n const copySchema = (source: ZodType): ZodType => {\n const cached = copies.get(source);\n if (cached) return cached;\n let result: ZodType;\n copies.set(\n source,\n z.lazy(() => result)\n );\n const { def } = source._zod;\n if (\n def.type === 'default' ||\n def.type === 'prefault' ||\n def.type === 'catch'\n ) {\n const { innerType } = def as { type: string; innerType: ZodType };\n const inner = copySchema(innerType);\n result =\n def.type === 'catch'\n ? z.clone(inner, inner._zod.def)\n : z.optional(inner);\n } else if (def.type === 'lazy') {\n const { getter } = def as { type: string; getter: () => ZodType };\n result = z.lazy(() => copySchema(getter()));\n } else {\n result = z.clone(source, copyValue(def) as typeof def);\n }\n copies.set(source, result);\n const meta = z.globalRegistry.get(source);\n if (meta) metadata.add(result, meta);\n return result;\n };\n return { schema: copySchema(schema), metadata };\n};\n"]}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0; you may not use this file except in compliance with the Elastic License
6
+ * 2.0.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.capitalize = exports.inferChildSlots = exports.createAuthoringModel = void 0;
10
+ const error_1 = require("../composition/error");
11
+ const authored_fields_1 = require("./authored_fields");
12
+ const createAuthoringModel = (primitives) => {
13
+ const authoredByType = new Map();
14
+ const children = new Map();
15
+ const visited = new Set();
16
+ const collectChildren = (fields, primitiveType, path) => {
17
+ for (const field of fields) {
18
+ const prior = children.get(field.childType);
19
+ if (prior && prior.field.signature !== field.signature) {
20
+ throw new error_1.IsomerError('DUPLICATE_AUTHORED_CHILD', `Child type "${field.childType}" is branded with incompatible item or props input schemas.`);
21
+ }
22
+ const nextPath = [...path, field];
23
+ if (!prior)
24
+ children.set(field.childType, { field, primitiveType, path: nextPath });
25
+ if (field.toItem || visited.has(field.itemSchema))
26
+ continue;
27
+ visited.add(field.itemSchema);
28
+ collectChildren((0, authored_fields_1.readAuthoredSpec)(field.itemSchema).children, primitiveType, nextPath);
29
+ }
30
+ };
31
+ for (const { type, schema } of primitives) {
32
+ if (!isZodType(schema))
33
+ continue;
34
+ const spec = (0, authored_fields_1.readAuthoredSpec)(schema);
35
+ if (spec.children.length === 0 && spec.text.length === 0)
36
+ continue;
37
+ authoredByType.set(type, spec);
38
+ collectChildren(spec.children, type, []);
39
+ }
40
+ const typeByName = new Map([['Composition', 'view']]);
41
+ for (const type of [
42
+ ...primitives.map(({ type }) => type),
43
+ ...children.keys(),
44
+ ]) {
45
+ const name = (0, exports.capitalize)(type);
46
+ const earlier = typeByName.get(name);
47
+ if (earlier !== undefined && earlier !== type) {
48
+ throw new error_1.IsomerError('DUPLICATE_PRIMITIVE_TYPE', `buildJsxShim: "${earlier}" and "${type}" both become the component ${name}`);
49
+ }
50
+ typeByName.set(name, type);
51
+ }
52
+ const childSlotsByType = new Map(primitives.map(({ type, children }) => [type, (0, exports.inferChildSlots)(children)]));
53
+ return { authoredByType, children, childSlotsByType };
54
+ };
55
+ exports.createAuthoringModel = createAuthoringModel;
56
+ const isZodType = (schema) => typeof schema === 'object' && schema !== null && '_zod' in schema;
57
+ /**
58
+ * Reads {@link PrimitiveDefinition.children} against a probe node so JSX can
59
+ * fill the same fields a tree walk would visit. Paths like `body[0]` are array
60
+ * slots; a bare `header` is a single nested node.
61
+ */
62
+ const inferChildSlots = (children) => {
63
+ if (typeof children !== 'function') {
64
+ return [];
65
+ }
66
+ const probeNode = { type: '__probe__' };
67
+ const node = new Proxy({}, {
68
+ get(_target, prop) {
69
+ if (prop === 'type') {
70
+ return probeNode.type;
71
+ }
72
+ return [probeNode];
73
+ },
74
+ });
75
+ try {
76
+ const refs = children(node);
77
+ if (!Array.isArray(refs)) {
78
+ return [];
79
+ }
80
+ const byField = new Map();
81
+ for (const ref of refs) {
82
+ if (!isChildRef(ref)) {
83
+ continue;
84
+ }
85
+ const field = /^[A-Za-z_]\w*/.exec(ref.path)?.[0];
86
+ if (!field) {
87
+ continue;
88
+ }
89
+ byField.set(field, byField.get(field) === true || /\[\d+\]/.test(ref.path));
90
+ }
91
+ return [...byField.entries()].map(([field, array]) => ({ array, field }));
92
+ }
93
+ catch {
94
+ return [];
95
+ }
96
+ };
97
+ exports.inferChildSlots = inferChildSlots;
98
+ const isChildRef = (value) => typeof value === 'object' &&
99
+ value !== null &&
100
+ 'path' in value &&
101
+ typeof value.path === 'string';
102
+ const capitalize = (value) => `${value.slice(0, 1).toUpperCase()}${value.slice(1)}`;
103
+ exports.capitalize = capitalize;
104
+ //# sourceMappingURL=authoring_model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring_model.js","sourceRoot":"","sources":["../../../src/author/authoring_model.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\nimport type { ZodType } from 'zod';\n\nimport { IsomerError } from '../composition/error';\nimport type { PrimitiveNode } from '../define/primitive_module';\n\nimport {\n type AuthoredChildField,\n type AuthoredSpec,\n readAuthoredSpec,\n} from './authored_fields';\n\nexport interface ChildSlot {\n array: boolean;\n field: string;\n}\n\nexport interface AuthoringChild {\n field: AuthoredChildField;\n primitiveType: string;\n path: readonly AuthoredChildField[];\n}\n\nexport const createAuthoringModel = (\n primitives: readonly { type: string; schema?: unknown; children?: unknown }[]\n) => {\n const authoredByType = new Map<string, AuthoredSpec>();\n const children = new Map<string, AuthoringChild>();\n const visited = new Set<ZodType>();\n const collectChildren = (\n fields: readonly AuthoredChildField[],\n primitiveType: string,\n path: readonly AuthoredChildField[]\n ): void => {\n for (const field of fields) {\n const prior = children.get(field.childType);\n if (prior && prior.field.signature !== field.signature) {\n throw new IsomerError(\n 'DUPLICATE_AUTHORED_CHILD',\n `Child type \"${field.childType}\" is branded with incompatible item or props input schemas.`\n );\n }\n const nextPath = [...path, field];\n if (!prior)\n children.set(field.childType, { field, primitiveType, path: nextPath });\n if (field.toItem || visited.has(field.itemSchema)) continue;\n visited.add(field.itemSchema);\n collectChildren(\n readAuthoredSpec(field.itemSchema).children,\n primitiveType,\n nextPath\n );\n }\n };\n for (const { type, schema } of primitives) {\n if (!isZodType(schema)) continue;\n const spec = readAuthoredSpec(schema);\n if (spec.children.length === 0 && spec.text.length === 0) continue;\n authoredByType.set(type, spec);\n collectChildren(spec.children, type, []);\n }\n const typeByName = new Map([['Composition', 'view']]);\n for (const type of [\n ...primitives.map(({ type }) => type),\n ...children.keys(),\n ]) {\n const name = capitalize(type);\n const earlier = typeByName.get(name);\n if (earlier !== undefined && earlier !== type) {\n throw new IsomerError(\n 'DUPLICATE_PRIMITIVE_TYPE',\n `buildJsxShim: \"${earlier}\" and \"${type}\" both become the component ${name}`\n );\n }\n typeByName.set(name, type);\n }\n const childSlotsByType = new Map(\n primitives.map(({ type, children }) => [type, inferChildSlots(children)])\n );\n return { authoredByType, children, childSlotsByType };\n};\n\nconst isZodType = (schema: unknown): schema is ZodType =>\n typeof schema === 'object' && schema !== null && '_zod' in schema;\n\n/**\n * Reads {@link PrimitiveDefinition.children} against a probe node so JSX can\n * fill the same fields a tree walk would visit. Paths like `body[0]` are array\n * slots; a bare `header` is a single nested node.\n */\nexport const inferChildSlots = (children: unknown): readonly ChildSlot[] => {\n if (typeof children !== 'function') {\n return [];\n }\n const probeNode: PrimitiveNode = { type: '__probe__' };\n const node = new Proxy(\n {},\n {\n get(_target, prop) {\n if (prop === 'type') {\n return probeNode.type;\n }\n return [probeNode];\n },\n }\n );\n try {\n const refs = (children as (value: unknown) => unknown)(node);\n if (!Array.isArray(refs)) {\n return [];\n }\n const byField = new Map<string, boolean>();\n for (const ref of refs) {\n if (!isChildRef(ref)) {\n continue;\n }\n const field = /^[A-Za-z_]\\w*/.exec(ref.path)?.[0];\n if (!field) {\n continue;\n }\n byField.set(\n field,\n byField.get(field) === true || /\\[\\d+\\]/.test(ref.path)\n );\n }\n return [...byField.entries()].map(([field, array]) => ({ array, field }));\n } catch {\n return [];\n }\n};\n\nconst isChildRef = (value: unknown): value is { path: string } =>\n typeof value === 'object' &&\n value !== null &&\n 'path' in value &&\n typeof value.path === 'string';\n\nexport const capitalize = (value: string): string =>\n `${value.slice(0, 1).toUpperCase()}${value.slice(1)}`;\n"]}
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0; you may not use this file except in compliance with the Elastic License
6
+ * 2.0.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.buildAuthoringDeclarations = void 0;
10
+ const zod_1 = require("zod");
11
+ const authored_fields_1 = require("./authored_fields");
12
+ const authoring_input_1 = require("./authoring_input");
13
+ const authoring_model_1 = require("./authoring_model");
14
+ const schema_to_typescript_1 = require("./schema_to_typescript");
15
+ const RESERVED_NAMES = [
16
+ 'AuthorChildren',
17
+ 'CompositionProps',
18
+ 'authorJsx',
19
+ 'components',
20
+ ];
21
+ const JSX_PRELUDE = `function authorJsx(type: unknown, props: unknown, ...children: unknown[]): authorJsx.JSX.Element;
22
+ namespace authorJsx {
23
+ namespace JSX {
24
+ interface Element {
25
+ readonly __isomerAuthorElement: true;
26
+ }
27
+ interface ElementChildrenAttribute {
28
+ children: {};
29
+ }
30
+ interface IntrinsicAttributes {
31
+ key?: string | number;
32
+ }
33
+ }
34
+ }
35
+ `;
36
+ const AUTHOR_CHILDREN = `type AuthorChildren = authorJsx.JSX.Element | { readonly type: unknown; readonly props: unknown; readonly key: string | null } | string | number | boolean | null | undefined | readonly AuthorChildren[];\n`;
37
+ const isPlainObjectSchema = (node) => (0, schema_to_typescript_1.isJsonObject)(node) &&
38
+ node.type === 'object' &&
39
+ (0, schema_to_typescript_1.isJsonObject)(node.properties) &&
40
+ Object.keys(node.properties).length > 0 &&
41
+ (node.additionalProperties === undefined ||
42
+ node.additionalProperties === false) &&
43
+ !['$ref', 'oneOf', 'anyOf', 'allOf'].some((key) => Object.hasOwn(node, key));
44
+ const isNullSchema = (node) => (0, schema_to_typescript_1.isJsonObject)(node) && node.type === 'null';
45
+ /** The object (or array) schema `node` stands for, through `$ref` and nullable wrappers. */
46
+ const resolveNode = (defs, node, active = new Set()) => {
47
+ if (!(0, schema_to_typescript_1.isJsonObject)(node)) {
48
+ return undefined;
49
+ }
50
+ if ((0, schema_to_typescript_1.isJsonObject)(node.properties)) {
51
+ return node;
52
+ }
53
+ if (typeof node.$ref === 'string') {
54
+ const id = (0, schema_to_typescript_1.parseDefRef)(node.$ref);
55
+ return id === undefined || active.has(id)
56
+ ? node
57
+ : (resolveNode(defs, (0, schema_to_typescript_1.ownDef)(defs, id), new Set([...active, id])) ?? node);
58
+ }
59
+ for (const key of ['anyOf', 'oneOf']) {
60
+ const members = node[key];
61
+ if (Array.isArray(members)) {
62
+ const present = members.filter((member) => !isNullSchema(member));
63
+ if (present.length === 1) {
64
+ return resolveNode(defs, present[0], active);
65
+ }
66
+ }
67
+ }
68
+ return node;
69
+ };
70
+ const primitiveDoc = ({ catalog }, node) => {
71
+ const { purpose, useWhen, avoidWhen } = catalog;
72
+ const description = (0, schema_to_typescript_1.isJsonObject)(node) && typeof node.description === 'string'
73
+ ? node.description
74
+ : undefined;
75
+ return [
76
+ purpose,
77
+ ...(description && description !== purpose ? ['', description] : []),
78
+ ...(useWhen.length > 0
79
+ ? ['', 'Use when:', ...useWhen.map((line) => `- ${line}`)]
80
+ : []),
81
+ ...(avoidWhen.length > 0
82
+ ? ['', 'Avoid when:', ...avoidWhen.map((line) => `- ${line}`)]
83
+ : []),
84
+ ];
85
+ };
86
+ /** An ambient module for the schema from `buildAuthoringJsonSchema` and its primitive definitions. */
87
+ const buildAuthoringDeclarations = (schema, definitions, { jsx = false, moduleName = '@elastic/isomer-authoring', } = {}) => {
88
+ const defs = { ...((0, schema_to_typescript_1.isJsonObject)(schema.$defs) ? schema.$defs : {}) };
89
+ const model = jsx ? (0, authoring_model_1.createAuthoringModel)(definitions) : undefined;
90
+ const customProps = new Map();
91
+ for (const [type, { field }] of model?.children ?? []) {
92
+ if (!field.propsSchema)
93
+ continue;
94
+ const { schema: input, metadata } = (0, authoring_input_1.prepareAuthoringInput)(field.propsSchema);
95
+ const projected = zod_1.z.toJSONSchema(input, {
96
+ metadata,
97
+ io: 'input',
98
+ target: 'draft-2020-12',
99
+ cycles: 'ref',
100
+ reused: 'ref',
101
+ unrepresentable: 'any',
102
+ });
103
+ const localDefs = (0, schema_to_typescript_1.isJsonObject)(projected.$defs) ? projected.$defs : {};
104
+ const prefix = `__authorProps${customProps.size}_`;
105
+ const id = `${prefix}Root`;
106
+ const rewrite = (value) => {
107
+ if (Array.isArray(value))
108
+ return value.map(rewrite);
109
+ if (!(0, schema_to_typescript_1.isJsonObject)(value))
110
+ return value;
111
+ return Object.fromEntries(Object.entries(value).map(([key, member]) => [
112
+ key,
113
+ key === '$ref' && member === '#'
114
+ ? `#/$defs/${id}`
115
+ : key === '$ref' &&
116
+ typeof member === 'string' &&
117
+ (0, schema_to_typescript_1.parseDefRef)(member) !== undefined
118
+ ? `#/$defs/${prefix}${(0, schema_to_typescript_1.parseDefRef)(member)}`
119
+ : rewrite(member),
120
+ ]));
121
+ };
122
+ for (const [id, node] of Object.entries(localDefs))
123
+ defs[`${prefix}${id}`] = rewrite(node);
124
+ const { $defs: _defs, $schema: _schema, ...node } = projected;
125
+ defs[id] = rewrite(node);
126
+ customProps.set(type, id);
127
+ }
128
+ const used = new Set(RESERVED_NAMES);
129
+ const claim = (base) => {
130
+ let name = base;
131
+ for (let suffix = 2; used.has(name); suffix += 1) {
132
+ name = `${base}${suffix}`;
133
+ }
134
+ used.add(name);
135
+ return name;
136
+ };
137
+ const names = new Map();
138
+ if (Object.hasOwn(defs, 'bodyNode')) {
139
+ names.set('bodyNode', claim('BodyNode'));
140
+ }
141
+ for (const { type } of definitions) {
142
+ if (Object.hasOwn(defs, type) && !names.has(type)) {
143
+ names.set(type, claim(`${(0, schema_to_typescript_1.pascalCase)(type)}Node`));
144
+ }
145
+ }
146
+ for (const id of Object.keys(defs)) {
147
+ if (!names.has(id) && !schema_to_typescript_1.ANONYMOUS_DEF.test(id)) {
148
+ names.set(id, claim((0, schema_to_typescript_1.pascalCase)(id)));
149
+ }
150
+ }
151
+ const printer = (0, schema_to_typescript_1.createTypePrinter)({ defs, names, claim });
152
+ const declareType = (name, node, docLines) => {
153
+ const doc = (0, schema_to_typescript_1.jsDoc)(docLines, '');
154
+ return isPlainObjectSchema(node)
155
+ ? `${doc}interface ${name} {\n${printer.members(node, 0)}}\n`
156
+ : `${doc}type ${name} = ${printer.print(node)};\n`;
157
+ };
158
+ const declareBodyNode = (name, node) => {
159
+ const members = (0, schema_to_typescript_1.isJsonObject)(node) && Array.isArray(node.oneOf)
160
+ ? node.oneOf.map((member) => printer.print(member))
161
+ : undefined;
162
+ if (!members) {
163
+ return declareType(name, node, []);
164
+ }
165
+ return `type ${name} =${members.length === 0
166
+ ? ' never'
167
+ : `\n${members.map((member) => ` | ${member}`).join('\n')}`};\n`;
168
+ };
169
+ const declareJsx = () => {
170
+ if (!model)
171
+ return [];
172
+ const out = [JSX_PRELUDE, AUTHOR_CHILDREN];
173
+ const bindings = [];
174
+ const declared = new Set();
175
+ const declareComponent = (component, node, optional, takesChildren, omit = new Set(), docs = []) => {
176
+ if (declared.has(component))
177
+ return;
178
+ declared.add(component);
179
+ const propsName = component === 'Composition'
180
+ ? 'CompositionProps'
181
+ : claim(`${(0, schema_to_typescript_1.pascalCase)(component)}Props`);
182
+ const skipped = new Set([
183
+ ...omit,
184
+ ...(takesChildren ? ['children'] : []),
185
+ ]);
186
+ const extra = node?.additionalProperties;
187
+ const props = node && (0, schema_to_typescript_1.isJsonObject)(node.properties)
188
+ ? printer.members(node, 0, { omit: skipped, optional })
189
+ : '';
190
+ const combined = node &&
191
+ !(0, schema_to_typescript_1.isJsonObject)(node.properties) &&
192
+ ['$ref', 'anyOf', 'oneOf', 'allOf'].some((key) => Object.hasOwn(node, key));
193
+ out.push(combined
194
+ ? `type ${propsName} = (${printer.print(node)})${takesChildren ? ' & { children?: AuthorChildren }' : ''};\n`
195
+ : `interface ${propsName} {\n${props}${takesChildren ? ' children?: AuthorChildren;\n' : ''}}\n`);
196
+ const open = !combined && (!node || extra !== false);
197
+ const extraType = extra === undefined || extra === true
198
+ ? 'unknown'
199
+ : printer.print(extra);
200
+ const inputName = claim('AuthorInput');
201
+ const keyName = claim('AuthorKey');
202
+ const signature = open
203
+ ? `<${inputName} extends ${propsName}>(props: ${inputName} & { [${keyName} in keyof ${inputName} as ${keyName} extends keyof ${propsName} | 'key' ? never : ${keyName}]: ${extraType} }) => null`
204
+ : `(props: ${propsName}) => null`;
205
+ bindings.push(` ${JSON.stringify(component)}: ${signature};`);
206
+ if (schema_to_typescript_1.IDENTIFIER.test(component))
207
+ out.push(`${(0, schema_to_typescript_1.jsDoc)(docs, '')}const ${component}: ${signature};\n`);
208
+ };
209
+ declareComponent('Composition', schema, new Set(['body']), true, new Set(['type']), ['Props of the root `<Composition>` element.']);
210
+ for (const definition of definitions) {
211
+ const { type } = definition;
212
+ const node = resolveNode(defs, (0, schema_to_typescript_1.ownDef)(defs, type));
213
+ const spec = model.authoredByType.get(type);
214
+ const slots = model.childSlotsByType.get(type) ?? [];
215
+ const [slot] = slots;
216
+ const filled = spec
217
+ ? [...spec.children, ...spec.text].map(({ field }) => field)
218
+ : slots.length === 1 && slot
219
+ ? [slot.field]
220
+ : [];
221
+ declareComponent((0, authoring_model_1.capitalize)(type), node, new Set(filled), filled.length > 0, new Set(['type']), primitiveDoc(definition, node));
222
+ }
223
+ for (const [type, { field, primitiveType, path }] of model.children) {
224
+ let node = resolveNode(defs, (0, schema_to_typescript_1.ownDef)(defs, primitiveType));
225
+ for (const step of path) {
226
+ const properties = node && (0, schema_to_typescript_1.isJsonObject)(node.properties) ? node.properties : {};
227
+ const property = resolveNode(defs, properties[step.field]);
228
+ node = step.array ? resolveNode(defs, property?.items) : property;
229
+ }
230
+ const customId = customProps.get(type);
231
+ if (field.toItem)
232
+ node = customId ? resolveNode(defs, (0, schema_to_typescript_1.ownDef)(defs, customId)) : undefined;
233
+ const nested = field.toItem
234
+ ? []
235
+ : (0, authored_fields_1.readAuthoredSpec)(field.itemSchema).children;
236
+ const optional = new Set([
237
+ ...nested.map(({ field }) => field),
238
+ ...(field.textField === undefined || field.toItem
239
+ ? []
240
+ : [field.textField]),
241
+ ]);
242
+ declareComponent((0, authoring_model_1.capitalize)(type), node, optional, !!field.toItem || nested.length > 0 || field.textField !== undefined);
243
+ }
244
+ out.push(`const components: {\n${bindings.join('\n')}\n};\n`);
245
+ return out;
246
+ };
247
+ const definitionByType = new Map(definitions.map((definition) => [definition.type, definition]));
248
+ const chunks = [];
249
+ for (const [id, name] of names) {
250
+ const node = (0, schema_to_typescript_1.ownDef)(defs, id);
251
+ if (id === 'bodyNode') {
252
+ continue;
253
+ }
254
+ const definition = definitionByType.get(id);
255
+ chunks.push(declareType(name, node, definition
256
+ ? primitiveDoc(definition, node)
257
+ : [
258
+ (0, schema_to_typescript_1.isJsonObject)(node) && typeof node.description === 'string'
259
+ ? node.description
260
+ : '',
261
+ ]));
262
+ }
263
+ const bodyNodeName = names.get('bodyNode');
264
+ if (bodyNodeName !== undefined) {
265
+ chunks.push(declareBodyNode(bodyNodeName, (0, schema_to_typescript_1.ownDef)(defs, 'bodyNode')));
266
+ }
267
+ if (jsx) {
268
+ chunks.push(...declareJsx());
269
+ }
270
+ chunks.push(...printer.promoted().map((alias) => `${alias}\n`));
271
+ const runtimeModule = jsx
272
+ ? `\ndeclare module ${JSON.stringify(`${moduleName}/jsx-runtime`)} {\n import { authorJsx } from ${JSON.stringify(moduleName)};\n export import JSX = authorJsx.JSX;\n export function jsx(type: unknown, props: unknown, key?: string): JSX.Element;\n export function jsxs(type: unknown, props: unknown, key?: string): JSX.Element;\n}\n\ndeclare module ${JSON.stringify(`${moduleName}/jsx-dev-runtime`)} {\n import { authorJsx } from ${JSON.stringify(moduleName)};\n export import JSX = authorJsx.JSX;\n export function jsxDEV(type: unknown, props: unknown, key?: string, isStaticChildren?: boolean, source?: unknown, self?: unknown): JSX.Element;\n}\n`
273
+ : '';
274
+ return `declare module ${JSON.stringify(moduleName)} {\n${chunks
275
+ .join('\n')
276
+ .split('\n')
277
+ .map((line) => (line ? ` ${line}` : ''))
278
+ .join('\n')}\n}\n${runtimeModule}`;
279
+ };
280
+ exports.buildAuthoringDeclarations = buildAuthoringDeclarations;
281
+ //# sourceMappingURL=declarations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../src/author/declarations.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\nimport { z } from 'zod';\n\nimport type { AnyPrimitiveDefinition } from '../define/primitive_module';\n\nimport { readAuthoredSpec } from './authored_fields';\nimport { prepareAuthoringInput } from './authoring_input';\nimport { capitalize, createAuthoringModel } from './authoring_model';\nimport {\n ANONYMOUS_DEF,\n createTypePrinter,\n IDENTIFIER,\n isJsonObject,\n jsDoc,\n type JsonObject,\n ownDef,\n parseDefRef,\n pascalCase,\n} from './schema_to_typescript';\n\ntype JsonSchema = Record<string, unknown>;\n\n/** Options for {@link buildAuthoringDeclarations}. */\nexport interface AuthoringDeclarationsOptions {\n /** Also declare the components `buildJsxShim` builds for these primitives. Defaults to `false`. */\n jsx?: boolean;\n /** Ambient module identity. Defaults to `@elastic/isomer-authoring`. */\n moduleName?: string;\n}\n\nconst RESERVED_NAMES = [\n 'AuthorChildren',\n 'CompositionProps',\n 'authorJsx',\n 'components',\n];\nconst JSX_PRELUDE = `function authorJsx(type: unknown, props: unknown, ...children: unknown[]): authorJsx.JSX.Element;\nnamespace authorJsx {\n namespace JSX {\n interface Element {\n readonly __isomerAuthorElement: true;\n }\n interface ElementChildrenAttribute {\n children: {};\n }\n interface IntrinsicAttributes {\n key?: string | number;\n }\n }\n}\n`;\nconst AUTHOR_CHILDREN = `type AuthorChildren = authorJsx.JSX.Element | { readonly type: unknown; readonly props: unknown; readonly key: string | null } | string | number | boolean | null | undefined | readonly AuthorChildren[];\\n`;\n\nconst isPlainObjectSchema = (node: unknown): node is JsonObject =>\n isJsonObject(node) &&\n node.type === 'object' &&\n isJsonObject(node.properties) &&\n Object.keys(node.properties).length > 0 &&\n (node.additionalProperties === undefined ||\n node.additionalProperties === false) &&\n !['$ref', 'oneOf', 'anyOf', 'allOf'].some((key) => Object.hasOwn(node, key));\n\nconst isNullSchema = (node: unknown): boolean =>\n isJsonObject(node) && node.type === 'null';\n\n/** The object (or array) schema `node` stands for, through `$ref` and nullable wrappers. */\nconst resolveNode = (\n defs: JsonObject,\n node: unknown,\n active: ReadonlySet<string> = new Set()\n): JsonObject | undefined => {\n if (!isJsonObject(node)) {\n return undefined;\n }\n if (isJsonObject(node.properties)) {\n return node;\n }\n if (typeof node.$ref === 'string') {\n const id = parseDefRef(node.$ref);\n return id === undefined || active.has(id)\n ? node\n : (resolveNode(defs, ownDef(defs, id), new Set([...active, id])) ?? node);\n }\n for (const key of ['anyOf', 'oneOf'] as const) {\n const members = node[key];\n if (Array.isArray(members)) {\n const present = members.filter((member) => !isNullSchema(member));\n if (present.length === 1) {\n return resolveNode(defs, present[0], active);\n }\n }\n }\n return node;\n};\n\nconst primitiveDoc = (\n { catalog }: AnyPrimitiveDefinition,\n node: unknown\n): string[] => {\n const { purpose, useWhen, avoidWhen } = catalog;\n const description =\n isJsonObject(node) && typeof node.description === 'string'\n ? node.description\n : undefined;\n return [\n purpose,\n ...(description && description !== purpose ? ['', description] : []),\n ...(useWhen.length > 0\n ? ['', 'Use when:', ...useWhen.map((line) => `- ${line}`)]\n : []),\n ...(avoidWhen.length > 0\n ? ['', 'Avoid when:', ...avoidWhen.map((line) => `- ${line}`)]\n : []),\n ];\n};\n\n/** An ambient module for the schema from `buildAuthoringJsonSchema` and its primitive definitions. */\nexport const buildAuthoringDeclarations = (\n schema: JsonSchema,\n definitions: readonly AnyPrimitiveDefinition[],\n {\n jsx = false,\n moduleName = '@elastic/isomer-authoring',\n }: AuthoringDeclarationsOptions = {}\n): string => {\n const defs = { ...(isJsonObject(schema.$defs) ? schema.$defs : {}) };\n const model = jsx ? createAuthoringModel(definitions) : undefined;\n const customProps = new Map<string, string>();\n for (const [type, { field }] of model?.children ?? []) {\n if (!field.propsSchema) continue;\n const { schema: input, metadata } = prepareAuthoringInput(\n field.propsSchema\n );\n const projected = z.toJSONSchema(input, {\n metadata,\n io: 'input',\n target: 'draft-2020-12',\n cycles: 'ref',\n reused: 'ref',\n unrepresentable: 'any',\n });\n const localDefs = isJsonObject(projected.$defs) ? projected.$defs : {};\n const prefix = `__authorProps${customProps.size}_`;\n const id = `${prefix}Root`;\n const rewrite = (value: unknown): unknown => {\n if (Array.isArray(value)) return value.map(rewrite);\n if (!isJsonObject(value)) return value;\n return Object.fromEntries(\n Object.entries(value).map(([key, member]) => [\n key,\n key === '$ref' && member === '#'\n ? `#/$defs/${id}`\n : key === '$ref' &&\n typeof member === 'string' &&\n parseDefRef(member) !== undefined\n ? `#/$defs/${prefix}${parseDefRef(member)}`\n : rewrite(member),\n ])\n );\n };\n for (const [id, node] of Object.entries(localDefs))\n defs[`${prefix}${id}`] = rewrite(node);\n const { $defs: _defs, $schema: _schema, ...node } = projected;\n defs[id] = rewrite(node);\n customProps.set(type, id);\n }\n const used = new Set(RESERVED_NAMES);\n const claim = (base: string): string => {\n let name = base;\n for (let suffix = 2; used.has(name); suffix += 1) {\n name = `${base}${suffix}`;\n }\n used.add(name);\n return name;\n };\n\n const names = new Map<string, string>();\n if (Object.hasOwn(defs, 'bodyNode')) {\n names.set('bodyNode', claim('BodyNode'));\n }\n for (const { type } of definitions) {\n if (Object.hasOwn(defs, type) && !names.has(type)) {\n names.set(type, claim(`${pascalCase(type)}Node`));\n }\n }\n for (const id of Object.keys(defs)) {\n if (!names.has(id) && !ANONYMOUS_DEF.test(id)) {\n names.set(id, claim(pascalCase(id)));\n }\n }\n\n const printer = createTypePrinter({ defs, names, claim });\n\n const declareType = (\n name: string,\n node: unknown,\n docLines: readonly string[]\n ): string => {\n const doc = jsDoc(docLines, '');\n return isPlainObjectSchema(node)\n ? `${doc}interface ${name} {\\n${printer.members(node, 0)}}\\n`\n : `${doc}type ${name} = ${printer.print(node)};\\n`;\n };\n\n const declareBodyNode = (name: string, node: unknown): string => {\n const members =\n isJsonObject(node) && Array.isArray(node.oneOf)\n ? node.oneOf.map((member) => printer.print(member))\n : undefined;\n if (!members) {\n return declareType(name, node, []);\n }\n return `type ${name} =${\n members.length === 0\n ? ' never'\n : `\\n${members.map((member) => ` | ${member}`).join('\\n')}`\n };\\n`;\n };\n\n const declareJsx = (): string[] => {\n if (!model) return [];\n const out = [JSX_PRELUDE, AUTHOR_CHILDREN];\n const bindings: string[] = [];\n const declared = new Set<string>();\n const declareComponent = (\n component: string,\n node: JsonObject | undefined,\n optional: ReadonlySet<string>,\n takesChildren: boolean,\n omit: ReadonlySet<string> = new Set(),\n docs: readonly string[] = []\n ): void => {\n if (declared.has(component)) return;\n declared.add(component);\n const propsName =\n component === 'Composition'\n ? 'CompositionProps'\n : claim(`${pascalCase(component)}Props`);\n const skipped = new Set([\n ...omit,\n ...(takesChildren ? ['children'] : []),\n ]);\n const extra = node?.additionalProperties;\n const props =\n node && isJsonObject(node.properties)\n ? printer.members(node, 0, { omit: skipped, optional })\n : '';\n const combined =\n node &&\n !isJsonObject(node.properties) &&\n ['$ref', 'anyOf', 'oneOf', 'allOf'].some((key) =>\n Object.hasOwn(node, key)\n );\n out.push(\n combined\n ? `type ${propsName} = (${printer.print(node)})${takesChildren ? ' & { children?: AuthorChildren }' : ''};\\n`\n : `interface ${propsName} {\\n${props}${takesChildren ? ' children?: AuthorChildren;\\n' : ''}}\\n`\n );\n const open = !combined && (!node || extra !== false);\n const extraType =\n extra === undefined || extra === true\n ? 'unknown'\n : printer.print(extra);\n const inputName = claim('AuthorInput');\n const keyName = claim('AuthorKey');\n const signature = open\n ? `<${inputName} extends ${propsName}>(props: ${inputName} & { [${keyName} in keyof ${inputName} as ${keyName} extends keyof ${propsName} | 'key' ? never : ${keyName}]: ${extraType} }) => null`\n : `(props: ${propsName}) => null`;\n bindings.push(` ${JSON.stringify(component)}: ${signature};`);\n if (IDENTIFIER.test(component))\n out.push(`${jsDoc(docs, '')}const ${component}: ${signature};\\n`);\n };\n declareComponent(\n 'Composition',\n schema,\n new Set(['body']),\n true,\n new Set(['type']),\n ['Props of the root `<Composition>` element.']\n );\n for (const definition of definitions) {\n const { type } = definition;\n const node = resolveNode(defs, ownDef(defs, type));\n const spec = model.authoredByType.get(type);\n const slots = model.childSlotsByType.get(type) ?? [];\n const [slot] = slots;\n const filled = spec\n ? [...spec.children, ...spec.text].map(({ field }) => field)\n : slots.length === 1 && slot\n ? [slot.field]\n : [];\n declareComponent(\n capitalize(type),\n node,\n new Set(filled),\n filled.length > 0,\n new Set(['type']),\n primitiveDoc(definition, node)\n );\n }\n for (const [type, { field, primitiveType, path }] of model.children) {\n let node = resolveNode(defs, ownDef(defs, primitiveType));\n for (const step of path) {\n const properties =\n node && isJsonObject(node.properties) ? node.properties : {};\n const property = resolveNode(defs, properties[step.field]);\n node = step.array ? resolveNode(defs, property?.items) : property;\n }\n const customId = customProps.get(type);\n if (field.toItem)\n node = customId ? resolveNode(defs, ownDef(defs, customId)) : undefined;\n const nested = field.toItem\n ? []\n : readAuthoredSpec(field.itemSchema).children;\n const optional = new Set([\n ...nested.map(({ field }) => field),\n ...(field.textField === undefined || field.toItem\n ? []\n : [field.textField]),\n ]);\n declareComponent(\n capitalize(type),\n node,\n optional,\n !!field.toItem || nested.length > 0 || field.textField !== undefined\n );\n }\n out.push(`const components: {\\n${bindings.join('\\n')}\\n};\\n`);\n return out;\n };\n\n const definitionByType = new Map(\n definitions.map((definition) => [definition.type, definition])\n );\n const chunks: string[] = [];\n for (const [id, name] of names) {\n const node = ownDef(defs, id);\n if (id === 'bodyNode') {\n continue;\n }\n const definition = definitionByType.get(id);\n chunks.push(\n declareType(\n name,\n node,\n definition\n ? primitiveDoc(definition, node)\n : [\n isJsonObject(node) && typeof node.description === 'string'\n ? node.description\n : '',\n ]\n )\n );\n }\n const bodyNodeName = names.get('bodyNode');\n if (bodyNodeName !== undefined) {\n chunks.push(declareBodyNode(bodyNodeName, ownDef(defs, 'bodyNode')));\n }\n\n if (jsx) {\n chunks.push(...declareJsx());\n }\n chunks.push(...printer.promoted().map((alias) => `${alias}\\n`));\n const runtimeModule = jsx\n ? `\\ndeclare module ${JSON.stringify(`${moduleName}/jsx-runtime`)} {\\n import { authorJsx } from ${JSON.stringify(moduleName)};\\n export import JSX = authorJsx.JSX;\\n export function jsx(type: unknown, props: unknown, key?: string): JSX.Element;\\n export function jsxs(type: unknown, props: unknown, key?: string): JSX.Element;\\n}\\n\\ndeclare module ${JSON.stringify(`${moduleName}/jsx-dev-runtime`)} {\\n import { authorJsx } from ${JSON.stringify(moduleName)};\\n export import JSX = authorJsx.JSX;\\n export function jsxDEV(type: unknown, props: unknown, key?: string, isStaticChildren?: boolean, source?: unknown, self?: unknown): JSX.Element;\\n}\\n`\n : '';\n return `declare module ${JSON.stringify(moduleName)} {\\n${chunks\n .join('\\n')\n .split('\\n')\n .map((line) => (line ? ` ${line}` : ''))\n .join('\\n')}\\n}\\n${runtimeModule}`;\n};\n"]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0; you may not use this file except in compliance with the Elastic License
6
+ * 2.0.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.formatPrimitiveEntry = exports.buildAuthoringPrompt = exports.AUTHORING_PROFILE_IDS = exports.textFromChildren = exports.buildJsxShim = exports.buildAuthoringDeclarations = exports.readAuthoredSpec = exports.fromTextChildren = exports.fromChildren = exports.authoringBodySchema = void 0;
10
+ var validate_1 = require("../validate");
11
+ Object.defineProperty(exports, "authoringBodySchema", { enumerable: true, get: function () { return validate_1.authoringBodySchema; } });
12
+ var authored_fields_1 = require("./authored_fields");
13
+ Object.defineProperty(exports, "fromChildren", { enumerable: true, get: function () { return authored_fields_1.fromChildren; } });
14
+ Object.defineProperty(exports, "fromTextChildren", { enumerable: true, get: function () { return authored_fields_1.fromTextChildren; } });
15
+ Object.defineProperty(exports, "readAuthoredSpec", { enumerable: true, get: function () { return authored_fields_1.readAuthoredSpec; } });
16
+ var declarations_1 = require("./declarations");
17
+ Object.defineProperty(exports, "buildAuthoringDeclarations", { enumerable: true, get: function () { return declarations_1.buildAuthoringDeclarations; } });
18
+ var jsx_shim_1 = require("./jsx_shim");
19
+ Object.defineProperty(exports, "buildJsxShim", { enumerable: true, get: function () { return jsx_shim_1.buildJsxShim; } });
20
+ Object.defineProperty(exports, "textFromChildren", { enumerable: true, get: function () { return jsx_shim_1.textFromChildren; } });
21
+ var prompt_1 = require("./prompt");
22
+ Object.defineProperty(exports, "AUTHORING_PROFILE_IDS", { enumerable: true, get: function () { return prompt_1.AUTHORING_PROFILE_IDS; } });
23
+ Object.defineProperty(exports, "buildAuthoringPrompt", { enumerable: true, get: function () { return prompt_1.buildAuthoringPrompt; } });
24
+ Object.defineProperty(exports, "formatPrimitiveEntry", { enumerable: true, get: function () { return prompt_1.formatPrimitiveEntry; } });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/author/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wCAAkD;AAAzC,+GAAA,mBAAmB,OAAA;AAC5B,qDAW2B;AAHzB,+GAAA,YAAY,OAAA;AACZ,mHAAA,gBAAgB,OAAA;AAChB,mHAAA,gBAAgB,OAAA;AAElB,+CAGwB;AADtB,0HAAA,0BAA0B,OAAA;AAG5B,uCAOoB;AAFlB,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAElB,mCAOkB;AAHhB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,8GAAA,oBAAoB,OAAA","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\nexport { authoringBodySchema } from '../validate';\nexport {\n type AuthorChildContext,\n type AuthoredChildBrand,\n type AuthoredChildField,\n type AuthoredSpec,\n type AuthoredTextBrand,\n type AuthoredTextField,\n type AuthoredToItemBrand,\n fromChildren,\n fromTextChildren,\n readAuthoredSpec,\n} from './authored_fields';\nexport {\n type AuthoringDeclarationsOptions,\n buildAuthoringDeclarations,\n} from './declarations';\nexport { type AuthorComponent } from './jsx';\nexport {\n type AuthorComposition,\n type CompositionAuthorProps,\n type JsxShim,\n type PrimitiveComponentMap,\n buildJsxShim,\n textFromChildren,\n} from './jsx_shim';\nexport {\n type AuthoringProfileId,\n type AuthoringPromptContext,\n type AuthoringViewSummary,\n AUTHORING_PROFILE_IDS,\n buildAuthoringPrompt,\n formatPrimitiveEntry,\n} from './prompt';\n"]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0; you may not use this file except in compliance with the Elastic License
6
+ * 2.0.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.defineAuthorComponent = exports.authorType = void 0;
10
+ /**
11
+ * Brand carrying the primitive type an authoring component stands for.
12
+ *
13
+ * `Symbol.for` rather than `Symbol()`: the SDK ships both ESM and CJS builds,
14
+ * so a host can hold two copies of this module and a unique symbol would make
15
+ * one build's components unreadable to the other's shim.
16
+ */
17
+ exports.authorType = Symbol.for('elastic.isomer.author_type');
18
+ /** The {@link AuthorComponent} for one primitive `type`. */
19
+ const defineAuthorComponent = (type) => Object.assign(() => null, {
20
+ [exports.authorType]: type,
21
+ displayName: type,
22
+ });
23
+ exports.defineAuthorComponent = defineAuthorComponent;
24
+ //# sourceMappingURL=jsx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../src/author/jsx.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;GAMG;AACU,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAanE,4DAA4D;AACrD,MAAM,qBAAqB,GAAG,CACnC,IAAW,EACqB,EAAE,CAClC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE;IACxB,CAAC,kBAAU,CAAC,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;CAClB,CAAC,CAAC;AANQ,QAAA,qBAAqB,yBAM7B","sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0; you may not use this file except in compliance with the Elastic License\n * 2.0.\n */\n\n/**\n * Brand carrying the primitive type an authoring component stands for.\n *\n * `Symbol.for` rather than `Symbol()`: the SDK ships both ESM and CJS builds,\n * so a host can hold two copies of this module and a unique symbol would make\n * one build's components unreadable to the other's shim.\n */\nexport const authorType = Symbol.for('elastic.isomer.author_type');\n\n/**\n * A JSX component that renders `null` and exists only to carry `TType` through\n * the tree until the shim converts it to a composition.\n */\nexport interface AuthorComponent<TProps, TType extends string> {\n (props: TProps): null;\n readonly [authorType]: TType;\n /** Set to `type` by the shim. */\n displayName?: string;\n}\n\n/** The {@link AuthorComponent} for one primitive `type`. */\nexport const defineAuthorComponent = <TProps, TType extends string>(\n type: TType\n): AuthorComponent<TProps, TType> =>\n Object.assign(() => null, {\n [authorType]: type,\n displayName: type,\n });\n"]}