eis-ui-render 0.34.3 → 0.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/README.md +411 -18
  2. package/THIRD-PARTY-NOTICES.md +127 -0
  3. package/dist/THIRD-PARTY-LICENSES.txt +429 -0
  4. package/dist/contract.d.ts +299 -0
  5. package/dist/index.d.ts +42 -5
  6. package/dist/index.js +1 -1
  7. package/dist/index.js.LICENSE.txt +0 -15
  8. package/dist/index.js.map +1 -1
  9. package/dist/sbom.cdx.json +338 -0
  10. package/dist/static/all.css +2 -39
  11. package/dist/static/font.css +2 -8
  12. package/docs/BUILT-IN-PHRASES.md +79 -0
  13. package/docs/SUPPORTED-PROPS.md +422 -0
  14. package/docs/SUPPORTED-VIEWS.md +140 -0
  15. package/meta.schema.json +494 -0
  16. package/package.json +113 -73
  17. package/static/all.css +4 -22
  18. package/static/all.css.map +1 -1
  19. package/dist/UIRender.d.ts +0 -43
  20. package/dist/static/all.css.map +0 -1
  21. package/dist/static/fonts/icons/fonts/iconsOpenL.eot +0 -0
  22. package/dist/static/fonts/icons/fonts/iconsOpenL.svg +0 -95
  23. package/dist/static/fonts/icons/fonts/iconsOpenL.ttf +0 -0
  24. package/dist/static/fonts/icons/fonts/iconsOpenL.woff +0 -0
  25. package/dist/static/images/diamonds-dimmed-flipped.png +0 -0
  26. package/dist/static/images/diamonds-dimmed.png +0 -0
  27. package/dist/static/images/diamonds.png +0 -0
  28. package/dist/static/images/flags/ad.svg +0 -150
  29. package/dist/static/images/flags/ae.svg +0 -6
  30. package/dist/static/images/flags/af.svg +0 -81
  31. package/dist/static/images/flags/ag.svg +0 -14
  32. package/dist/static/images/flags/ai.svg +0 -767
  33. package/dist/static/images/flags/al.svg +0 -5
  34. package/dist/static/images/flags/am.svg +0 -5
  35. package/dist/static/images/flags/ao.svg +0 -13
  36. package/dist/static/images/flags/aq.svg +0 -6
  37. package/dist/static/images/flags/ar.svg +0 -31
  38. package/dist/static/images/flags/as.svg +0 -33
  39. package/dist/static/images/flags/at.svg +0 -6
  40. package/dist/static/images/flags/au.svg +0 -9
  41. package/dist/static/images/flags/aw.svg +0 -186
  42. package/dist/static/images/flags/ax.svg +0 -18
  43. package/dist/static/images/flags/az.svg +0 -8
  44. package/dist/static/images/flags/ba.svg +0 -12
  45. package/dist/static/images/flags/bb.svg +0 -6
  46. package/dist/static/images/flags/bd.svg +0 -4
  47. package/dist/static/images/flags/be.svg +0 -7
  48. package/dist/static/images/flags/bf.svg +0 -7
  49. package/dist/static/images/flags/bg.svg +0 -7
  50. package/dist/static/images/flags/bh.svg +0 -11
  51. package/dist/static/images/flags/bi.svg +0 -15
  52. package/dist/static/images/flags/bj.svg +0 -14
  53. package/dist/static/images/flags/bl.svg +0 -7
  54. package/dist/static/images/flags/bm.svg +0 -98
  55. package/dist/static/images/flags/bn.svg +0 -36
  56. package/dist/static/images/flags/bo.svg +0 -676
  57. package/dist/static/images/flags/bq.svg +0 -5
  58. package/dist/static/images/flags/br.svg +0 -45
  59. package/dist/static/images/flags/bs.svg +0 -13
  60. package/dist/static/images/flags/bt.svg +0 -89
  61. package/dist/static/images/flags/bv.svg +0 -13
  62. package/dist/static/images/flags/bw.svg +0 -7
  63. package/dist/static/images/flags/by.svg +0 -20
  64. package/dist/static/images/flags/bz.svg +0 -145
  65. package/dist/static/images/flags/ca.svg +0 -4
  66. package/dist/static/images/flags/cc.svg +0 -19
  67. package/dist/static/images/flags/cd.svg +0 -5
  68. package/dist/static/images/flags/cf.svg +0 -15
  69. package/dist/static/images/flags/cg.svg +0 -12
  70. package/dist/static/images/flags/ch.svg +0 -9
  71. package/dist/static/images/flags/ci.svg +0 -7
  72. package/dist/static/images/flags/ck.svg +0 -9
  73. package/dist/static/images/flags/cl.svg +0 -13
  74. package/dist/static/images/flags/cm.svg +0 -15
  75. package/dist/static/images/flags/cn.svg +0 -11
  76. package/dist/static/images/flags/co.svg +0 -7
  77. package/dist/static/images/flags/cr.svg +0 -7
  78. package/dist/static/images/flags/cu.svg +0 -13
  79. package/dist/static/images/flags/cv.svg +0 -13
  80. package/dist/static/images/flags/cw.svg +0 -14
  81. package/dist/static/images/flags/cx.svg +0 -15
  82. package/dist/static/images/flags/cy.svg +0 -6
  83. package/dist/static/images/flags/cz.svg +0 -12
  84. package/dist/static/images/flags/de.svg +0 -5
  85. package/dist/static/images/flags/dj.svg +0 -13
  86. package/dist/static/images/flags/dk.svg +0 -5
  87. package/dist/static/images/flags/dm.svg +0 -152
  88. package/dist/static/images/flags/do.svg +0 -6745
  89. package/dist/static/images/flags/dz.svg +0 -5
  90. package/dist/static/images/flags/ec.svg +0 -138
  91. package/dist/static/images/flags/ee.svg +0 -7
  92. package/dist/static/images/flags/eg.svg +0 -38
  93. package/dist/static/images/flags/eh.svg +0 -15
  94. package/dist/static/images/flags/el.svg +0 -22
  95. package/dist/static/images/flags/en.svg +0 -15
  96. package/dist/static/images/flags/er.svg +0 -8
  97. package/dist/static/images/flags/es-ct.svg +0 -4
  98. package/dist/static/images/flags/es.svg +0 -544
  99. package/dist/static/images/flags/et.svg +0 -14
  100. package/dist/static/images/flags/eu.svg +0 -28
  101. package/dist/static/images/flags/fa.svg +0 -219
  102. package/dist/static/images/flags/fi.svg +0 -5
  103. package/dist/static/images/flags/fj.svg +0 -120
  104. package/dist/static/images/flags/fk.svg +0 -89
  105. package/dist/static/images/flags/fm.svg +0 -11
  106. package/dist/static/images/flags/fo.svg +0 -12
  107. package/dist/static/images/flags/fr.svg +0 -7
  108. package/dist/static/images/flags/ga.svg +0 -7
  109. package/dist/static/images/flags/gb-eng.svg +0 -5
  110. package/dist/static/images/flags/gb-nir.svg +0 -131
  111. package/dist/static/images/flags/gb-sct.svg +0 -4
  112. package/dist/static/images/flags/gb-wls.svg +0 -9
  113. package/dist/static/images/flags/gb.svg +0 -15
  114. package/dist/static/images/flags/gd.svg +0 -27
  115. package/dist/static/images/flags/ge.svg +0 -6
  116. package/dist/static/images/flags/gf.svg +0 -5
  117. package/dist/static/images/flags/gg.svg +0 -9
  118. package/dist/static/images/flags/gh.svg +0 -6
  119. package/dist/static/images/flags/gi.svg +0 -32
  120. package/dist/static/images/flags/gl.svg +0 -4
  121. package/dist/static/images/flags/gm.svg +0 -14
  122. package/dist/static/images/flags/gn.svg +0 -7
  123. package/dist/static/images/flags/gp.svg +0 -7
  124. package/dist/static/images/flags/gq.svg +0 -23
  125. package/dist/static/images/flags/gr.svg +0 -22
  126. package/dist/static/images/flags/gs.svg +0 -201
  127. package/dist/static/images/flags/gt.svg +0 -204
  128. package/dist/static/images/flags/gu.svg +0 -39
  129. package/dist/static/images/flags/gw.svg +0 -13
  130. package/dist/static/images/flags/gy.svg +0 -9
  131. package/dist/static/images/flags/he.svg +0 -14
  132. package/dist/static/images/flags/hk.svg +0 -30
  133. package/dist/static/images/flags/hm.svg +0 -9
  134. package/dist/static/images/flags/hn.svg +0 -18
  135. package/dist/static/images/flags/hr.svg +0 -58
  136. package/dist/static/images/flags/ht.svg +0 -116
  137. package/dist/static/images/flags/hu.svg +0 -7
  138. package/dist/static/images/flags/id.svg +0 -6
  139. package/dist/static/images/flags/ie.svg +0 -7
  140. package/dist/static/images/flags/il.svg +0 -14
  141. package/dist/static/images/flags/im.svg +0 -36
  142. package/dist/static/images/flags/in.svg +0 -25
  143. package/dist/static/images/flags/io.svg +0 -138
  144. package/dist/static/images/flags/iq.svg +0 -10
  145. package/dist/static/images/flags/ir.svg +0 -219
  146. package/dist/static/images/flags/is.svg +0 -12
  147. package/dist/static/images/flags/it.svg +0 -7
  148. package/dist/static/images/flags/ja.svg +0 -11
  149. package/dist/static/images/flags/je.svg +0 -29
  150. package/dist/static/images/flags/jm.svg +0 -8
  151. package/dist/static/images/flags/jo.svg +0 -16
  152. package/dist/static/images/flags/jp.svg +0 -11
  153. package/dist/static/images/flags/ke.svg +0 -23
  154. package/dist/static/images/flags/kg.svg +0 -15
  155. package/dist/static/images/flags/kh.svg +0 -61
  156. package/dist/static/images/flags/ki.svg +0 -36
  157. package/dist/static/images/flags/km.svg +0 -16
  158. package/dist/static/images/flags/kn.svg +0 -14
  159. package/dist/static/images/flags/ko.svg +0 -24
  160. package/dist/static/images/flags/kp.svg +0 -15
  161. package/dist/static/images/flags/kr.svg +0 -24
  162. package/dist/static/images/flags/kw.svg +0 -13
  163. package/dist/static/images/flags/ky.svg +0 -63
  164. package/dist/static/images/flags/kz.svg +0 -23
  165. package/dist/static/images/flags/la.svg +0 -12
  166. package/dist/static/images/flags/lb.svg +0 -15
  167. package/dist/static/images/flags/lc.svg +0 -8
  168. package/dist/static/images/flags/li.svg +0 -43
  169. package/dist/static/images/flags/lk.svg +0 -22
  170. package/dist/static/images/flags/lr.svg +0 -14
  171. package/dist/static/images/flags/ls.svg +0 -8
  172. package/dist/static/images/flags/lt.svg +0 -7
  173. package/dist/static/images/flags/lu.svg +0 -5
  174. package/dist/static/images/flags/lv.svg +0 -6
  175. package/dist/static/images/flags/ly.svg +0 -13
  176. package/dist/static/images/flags/ma.svg +0 -4
  177. package/dist/static/images/flags/mc.svg +0 -6
  178. package/dist/static/images/flags/md.svg +0 -70
  179. package/dist/static/images/flags/me.svg +0 -116
  180. package/dist/static/images/flags/mf.svg +0 -7
  181. package/dist/static/images/flags/mg.svg +0 -7
  182. package/dist/static/images/flags/mh.svg +0 -7
  183. package/dist/static/images/flags/mk.svg +0 -5
  184. package/dist/static/images/flags/ml.svg +0 -7
  185. package/dist/static/images/flags/mm.svg +0 -16
  186. package/dist/static/images/flags/mn.svg +0 -13
  187. package/dist/static/images/flags/mo.svg +0 -9
  188. package/dist/static/images/flags/mp.svg +0 -86
  189. package/dist/static/images/flags/mq.svg +0 -7
  190. package/dist/static/images/flags/mr.svg +0 -6
  191. package/dist/static/images/flags/ms.svg +0 -39
  192. package/dist/static/images/flags/mt.svg +0 -49
  193. package/dist/static/images/flags/mu.svg +0 -8
  194. package/dist/static/images/flags/mv.svg +0 -6
  195. package/dist/static/images/flags/mw.svg +0 -10
  196. package/dist/static/images/flags/mx.svg +0 -382
  197. package/dist/static/images/flags/my.svg +0 -15
  198. package/dist/static/images/flags/mz.svg +0 -21
  199. package/dist/static/images/flags/na.svg +0 -16
  200. package/dist/static/images/flags/nc.svg +0 -7
  201. package/dist/static/images/flags/ne.svg +0 -6
  202. package/dist/static/images/flags/nf.svg +0 -9
  203. package/dist/static/images/flags/ng.svg +0 -6
  204. package/dist/static/images/flags/ni.svg +0 -129
  205. package/dist/static/images/flags/nl.svg +0 -7
  206. package/dist/static/images/flags/no.svg +0 -7
  207. package/dist/static/images/flags/np.svg +0 -14
  208. package/dist/static/images/flags/nr.svg +0 -12
  209. package/dist/static/images/flags/nu.svg +0 -26
  210. package/dist/static/images/flags/nz.svg +0 -41
  211. package/dist/static/images/flags/om.svg +0 -115
  212. package/dist/static/images/flags/pa.svg +0 -14
  213. package/dist/static/images/flags/pe.svg +0 -244
  214. package/dist/static/images/flags/pf.svg +0 -19
  215. package/dist/static/images/flags/pg.svg +0 -9
  216. package/dist/static/images/flags/ph.svg +0 -9
  217. package/dist/static/images/flags/pk.svg +0 -15
  218. package/dist/static/images/flags/pl.svg +0 -6
  219. package/dist/static/images/flags/pm.svg +0 -7
  220. package/dist/static/images/flags/pn.svg +0 -62
  221. package/dist/static/images/flags/pr.svg +0 -13
  222. package/dist/static/images/flags/ps.svg +0 -15
  223. package/dist/static/images/flags/pt.svg +0 -57
  224. package/dist/static/images/flags/pw.svg +0 -11
  225. package/dist/static/images/flags/py.svg +0 -157
  226. package/dist/static/images/flags/qa.svg +0 -4
  227. package/dist/static/images/flags/re.svg +0 -7
  228. package/dist/static/images/flags/ro.svg +0 -7
  229. package/dist/static/images/flags/rs.svg +0 -292
  230. package/dist/static/images/flags/ru.svg +0 -7
  231. package/dist/static/images/flags/rw.svg +0 -13
  232. package/dist/static/images/flags/sa.svg +0 -26
  233. package/dist/static/images/flags/sb.svg +0 -13
  234. package/dist/static/images/flags/sc.svg +0 -14
  235. package/dist/static/images/flags/sd.svg +0 -13
  236. package/dist/static/images/flags/se.svg +0 -16
  237. package/dist/static/images/flags/sg.svg +0 -13
  238. package/dist/static/images/flags/sh.svg +0 -74
  239. package/dist/static/images/flags/si.svg +0 -18
  240. package/dist/static/images/flags/sj.svg +0 -7
  241. package/dist/static/images/flags/sk.svg +0 -9
  242. package/dist/static/images/flags/sl.svg +0 -7
  243. package/dist/static/images/flags/sm.svg +0 -91
  244. package/dist/static/images/flags/sn.svg +0 -8
  245. package/dist/static/images/flags/so.svg +0 -11
  246. package/dist/static/images/flags/sr.svg +0 -6
  247. package/dist/static/images/flags/ss.svg +0 -8
  248. package/dist/static/images/flags/st.svg +0 -16
  249. package/dist/static/images/flags/sv.svg +0 -601
  250. package/dist/static/images/flags/sx.svg +0 -56
  251. package/dist/static/images/flags/sy.svg +0 -6
  252. package/dist/static/images/flags/sz.svg +0 -45
  253. package/dist/static/images/flags/tc.svg +0 -67
  254. package/dist/static/images/flags/td.svg +0 -7
  255. package/dist/static/images/flags/tf.svg +0 -15
  256. package/dist/static/images/flags/tg.svg +0 -14
  257. package/dist/static/images/flags/th.svg +0 -7
  258. package/dist/static/images/flags/tj.svg +0 -22
  259. package/dist/static/images/flags/tk.svg +0 -5
  260. package/dist/static/images/flags/tl.svg +0 -13
  261. package/dist/static/images/flags/tm.svg +0 -206
  262. package/dist/static/images/flags/tn.svg +0 -13
  263. package/dist/static/images/flags/to.svg +0 -10
  264. package/dist/static/images/flags/tr.svg +0 -8
  265. package/dist/static/images/flags/tt.svg +0 -5
  266. package/dist/static/images/flags/tv.svg +0 -27
  267. package/dist/static/images/flags/tw.svg +0 -14
  268. package/dist/static/images/flags/tz.svg +0 -13
  269. package/dist/static/images/flags/ua.svg +0 -6
  270. package/dist/static/images/flags/ug.svg +0 -30
  271. package/dist/static/images/flags/um.svg +0 -15
  272. package/dist/static/images/flags/un.svg +0 -16
  273. package/dist/static/images/flags/us.svg +0 -10
  274. package/dist/static/images/flags/uy.svg +0 -28
  275. package/dist/static/images/flags/uz.svg +0 -30
  276. package/dist/static/images/flags/va.svg +0 -479
  277. package/dist/static/images/flags/vc.svg +0 -8
  278. package/dist/static/images/flags/ve.svg +0 -26
  279. package/dist/static/images/flags/vg.svg +0 -127
  280. package/dist/static/images/flags/vi.svg +0 -28
  281. package/dist/static/images/flags/vn.svg +0 -11
  282. package/dist/static/images/flags/vu.svg +0 -18
  283. package/dist/static/images/flags/wf.svg +0 -7
  284. package/dist/static/images/flags/ws.svg +0 -7
  285. package/dist/static/images/flags/xk.svg +0 -16
  286. package/dist/static/images/flags/ye.svg +0 -7
  287. package/dist/static/images/flags/yi.svg +0 -12
  288. package/dist/static/images/flags/yt.svg +0 -7
  289. package/dist/static/images/flags/za.svg +0 -17
  290. package/dist/static/images/flags/zh-HK.svg +0 -30
  291. package/dist/static/images/flags/zh.svg +0 -11
  292. package/dist/static/images/flags/zm.svg +0 -27
  293. package/dist/static/images/flags/zw.svg +0 -21
  294. package/dist/static/images/flags.png +0 -0
  295. package/dist/static/images/home.jpg +0 -0
  296. package/dist/static/images/logo.svg +0 -1
  297. package/dist/static/images/showIf.png +0 -0
  298. package/dist/static/images/ui-architecture.png +0 -0
  299. package/dist/static/images/ui-render-inspect.png +0 -0
  300. package/dist/static/images/ui-render-version.png +0 -0
  301. package/static/images/diamonds-dimmed-flipped.png +0 -0
  302. package/static/images/diamonds-dimmed.png +0 -0
  303. package/static/images/diamonds.png +0 -0
  304. package/static/images/flags/ad.svg +0 -150
  305. package/static/images/flags/ae.svg +0 -6
  306. package/static/images/flags/af.svg +0 -81
  307. package/static/images/flags/ag.svg +0 -14
  308. package/static/images/flags/ai.svg +0 -767
  309. package/static/images/flags/al.svg +0 -5
  310. package/static/images/flags/am.svg +0 -5
  311. package/static/images/flags/ao.svg +0 -13
  312. package/static/images/flags/aq.svg +0 -6
  313. package/static/images/flags/ar.svg +0 -31
  314. package/static/images/flags/as.svg +0 -33
  315. package/static/images/flags/at.svg +0 -6
  316. package/static/images/flags/au.svg +0 -9
  317. package/static/images/flags/aw.svg +0 -186
  318. package/static/images/flags/ax.svg +0 -18
  319. package/static/images/flags/az.svg +0 -8
  320. package/static/images/flags/ba.svg +0 -12
  321. package/static/images/flags/bb.svg +0 -6
  322. package/static/images/flags/bd.svg +0 -4
  323. package/static/images/flags/be.svg +0 -7
  324. package/static/images/flags/bf.svg +0 -7
  325. package/static/images/flags/bg.svg +0 -7
  326. package/static/images/flags/bh.svg +0 -11
  327. package/static/images/flags/bi.svg +0 -15
  328. package/static/images/flags/bj.svg +0 -14
  329. package/static/images/flags/bl.svg +0 -7
  330. package/static/images/flags/bm.svg +0 -98
  331. package/static/images/flags/bn.svg +0 -36
  332. package/static/images/flags/bo.svg +0 -676
  333. package/static/images/flags/bq.svg +0 -5
  334. package/static/images/flags/br.svg +0 -45
  335. package/static/images/flags/bs.svg +0 -13
  336. package/static/images/flags/bt.svg +0 -89
  337. package/static/images/flags/bv.svg +0 -13
  338. package/static/images/flags/bw.svg +0 -7
  339. package/static/images/flags/by.svg +0 -20
  340. package/static/images/flags/bz.svg +0 -145
  341. package/static/images/flags/ca.svg +0 -4
  342. package/static/images/flags/cc.svg +0 -19
  343. package/static/images/flags/cd.svg +0 -5
  344. package/static/images/flags/cf.svg +0 -15
  345. package/static/images/flags/cg.svg +0 -12
  346. package/static/images/flags/ch.svg +0 -9
  347. package/static/images/flags/ci.svg +0 -7
  348. package/static/images/flags/ck.svg +0 -9
  349. package/static/images/flags/cl.svg +0 -13
  350. package/static/images/flags/cm.svg +0 -15
  351. package/static/images/flags/cn.svg +0 -11
  352. package/static/images/flags/co.svg +0 -7
  353. package/static/images/flags/cr.svg +0 -7
  354. package/static/images/flags/cu.svg +0 -13
  355. package/static/images/flags/cv.svg +0 -13
  356. package/static/images/flags/cw.svg +0 -14
  357. package/static/images/flags/cx.svg +0 -15
  358. package/static/images/flags/cy.svg +0 -6
  359. package/static/images/flags/cz.svg +0 -12
  360. package/static/images/flags/de.svg +0 -5
  361. package/static/images/flags/dj.svg +0 -13
  362. package/static/images/flags/dk.svg +0 -5
  363. package/static/images/flags/dm.svg +0 -152
  364. package/static/images/flags/do.svg +0 -6745
  365. package/static/images/flags/dz.svg +0 -5
  366. package/static/images/flags/ec.svg +0 -138
  367. package/static/images/flags/ee.svg +0 -7
  368. package/static/images/flags/eg.svg +0 -38
  369. package/static/images/flags/eh.svg +0 -15
  370. package/static/images/flags/el.svg +0 -22
  371. package/static/images/flags/en.svg +0 -15
  372. package/static/images/flags/er.svg +0 -8
  373. package/static/images/flags/es-ct.svg +0 -4
  374. package/static/images/flags/es.svg +0 -544
  375. package/static/images/flags/et.svg +0 -14
  376. package/static/images/flags/eu.svg +0 -28
  377. package/static/images/flags/fa.svg +0 -219
  378. package/static/images/flags/fi.svg +0 -5
  379. package/static/images/flags/fj.svg +0 -120
  380. package/static/images/flags/fk.svg +0 -89
  381. package/static/images/flags/fm.svg +0 -11
  382. package/static/images/flags/fo.svg +0 -12
  383. package/static/images/flags/fr.svg +0 -7
  384. package/static/images/flags/ga.svg +0 -7
  385. package/static/images/flags/gb-eng.svg +0 -5
  386. package/static/images/flags/gb-nir.svg +0 -131
  387. package/static/images/flags/gb-sct.svg +0 -4
  388. package/static/images/flags/gb-wls.svg +0 -9
  389. package/static/images/flags/gb.svg +0 -15
  390. package/static/images/flags/gd.svg +0 -27
  391. package/static/images/flags/ge.svg +0 -6
  392. package/static/images/flags/gf.svg +0 -5
  393. package/static/images/flags/gg.svg +0 -9
  394. package/static/images/flags/gh.svg +0 -6
  395. package/static/images/flags/gi.svg +0 -32
  396. package/static/images/flags/gl.svg +0 -4
  397. package/static/images/flags/gm.svg +0 -14
  398. package/static/images/flags/gn.svg +0 -7
  399. package/static/images/flags/gp.svg +0 -7
  400. package/static/images/flags/gq.svg +0 -23
  401. package/static/images/flags/gr.svg +0 -22
  402. package/static/images/flags/gs.svg +0 -201
  403. package/static/images/flags/gt.svg +0 -204
  404. package/static/images/flags/gu.svg +0 -39
  405. package/static/images/flags/gw.svg +0 -13
  406. package/static/images/flags/gy.svg +0 -9
  407. package/static/images/flags/he.svg +0 -14
  408. package/static/images/flags/hk.svg +0 -30
  409. package/static/images/flags/hm.svg +0 -9
  410. package/static/images/flags/hn.svg +0 -18
  411. package/static/images/flags/hr.svg +0 -58
  412. package/static/images/flags/ht.svg +0 -116
  413. package/static/images/flags/hu.svg +0 -7
  414. package/static/images/flags/id.svg +0 -6
  415. package/static/images/flags/ie.svg +0 -7
  416. package/static/images/flags/il.svg +0 -14
  417. package/static/images/flags/im.svg +0 -36
  418. package/static/images/flags/in.svg +0 -25
  419. package/static/images/flags/io.svg +0 -138
  420. package/static/images/flags/iq.svg +0 -10
  421. package/static/images/flags/ir.svg +0 -219
  422. package/static/images/flags/is.svg +0 -12
  423. package/static/images/flags/it.svg +0 -7
  424. package/static/images/flags/ja.svg +0 -11
  425. package/static/images/flags/je.svg +0 -29
  426. package/static/images/flags/jm.svg +0 -8
  427. package/static/images/flags/jo.svg +0 -16
  428. package/static/images/flags/jp.svg +0 -11
  429. package/static/images/flags/ke.svg +0 -23
  430. package/static/images/flags/kg.svg +0 -15
  431. package/static/images/flags/kh.svg +0 -61
  432. package/static/images/flags/ki.svg +0 -36
  433. package/static/images/flags/km.svg +0 -16
  434. package/static/images/flags/kn.svg +0 -14
  435. package/static/images/flags/ko.svg +0 -24
  436. package/static/images/flags/kp.svg +0 -15
  437. package/static/images/flags/kr.svg +0 -24
  438. package/static/images/flags/kw.svg +0 -13
  439. package/static/images/flags/ky.svg +0 -63
  440. package/static/images/flags/kz.svg +0 -23
  441. package/static/images/flags/la.svg +0 -12
  442. package/static/images/flags/lb.svg +0 -15
  443. package/static/images/flags/lc.svg +0 -8
  444. package/static/images/flags/li.svg +0 -43
  445. package/static/images/flags/lk.svg +0 -22
  446. package/static/images/flags/lr.svg +0 -14
  447. package/static/images/flags/ls.svg +0 -8
  448. package/static/images/flags/lt.svg +0 -7
  449. package/static/images/flags/lu.svg +0 -5
  450. package/static/images/flags/lv.svg +0 -6
  451. package/static/images/flags/ly.svg +0 -13
  452. package/static/images/flags/ma.svg +0 -4
  453. package/static/images/flags/mc.svg +0 -6
  454. package/static/images/flags/md.svg +0 -70
  455. package/static/images/flags/me.svg +0 -116
  456. package/static/images/flags/mf.svg +0 -7
  457. package/static/images/flags/mg.svg +0 -7
  458. package/static/images/flags/mh.svg +0 -7
  459. package/static/images/flags/mk.svg +0 -5
  460. package/static/images/flags/ml.svg +0 -7
  461. package/static/images/flags/mm.svg +0 -16
  462. package/static/images/flags/mn.svg +0 -13
  463. package/static/images/flags/mo.svg +0 -9
  464. package/static/images/flags/mp.svg +0 -86
  465. package/static/images/flags/mq.svg +0 -7
  466. package/static/images/flags/mr.svg +0 -6
  467. package/static/images/flags/ms.svg +0 -39
  468. package/static/images/flags/mt.svg +0 -49
  469. package/static/images/flags/mu.svg +0 -8
  470. package/static/images/flags/mv.svg +0 -6
  471. package/static/images/flags/mw.svg +0 -10
  472. package/static/images/flags/mx.svg +0 -382
  473. package/static/images/flags/my.svg +0 -15
  474. package/static/images/flags/mz.svg +0 -21
  475. package/static/images/flags/na.svg +0 -16
  476. package/static/images/flags/nc.svg +0 -7
  477. package/static/images/flags/ne.svg +0 -6
  478. package/static/images/flags/nf.svg +0 -9
  479. package/static/images/flags/ng.svg +0 -6
  480. package/static/images/flags/ni.svg +0 -129
  481. package/static/images/flags/nl.svg +0 -7
  482. package/static/images/flags/no.svg +0 -7
  483. package/static/images/flags/np.svg +0 -14
  484. package/static/images/flags/nr.svg +0 -12
  485. package/static/images/flags/nu.svg +0 -26
  486. package/static/images/flags/nz.svg +0 -41
  487. package/static/images/flags/om.svg +0 -115
  488. package/static/images/flags/pa.svg +0 -14
  489. package/static/images/flags/pe.svg +0 -244
  490. package/static/images/flags/pf.svg +0 -19
  491. package/static/images/flags/pg.svg +0 -9
  492. package/static/images/flags/ph.svg +0 -9
  493. package/static/images/flags/pk.svg +0 -15
  494. package/static/images/flags/pl.svg +0 -6
  495. package/static/images/flags/pm.svg +0 -7
  496. package/static/images/flags/pn.svg +0 -62
  497. package/static/images/flags/pr.svg +0 -13
  498. package/static/images/flags/ps.svg +0 -15
  499. package/static/images/flags/pt.svg +0 -57
  500. package/static/images/flags/pw.svg +0 -11
  501. package/static/images/flags/py.svg +0 -157
  502. package/static/images/flags/qa.svg +0 -4
  503. package/static/images/flags/re.svg +0 -7
  504. package/static/images/flags/ro.svg +0 -7
  505. package/static/images/flags/rs.svg +0 -292
  506. package/static/images/flags/ru.svg +0 -7
  507. package/static/images/flags/rw.svg +0 -13
  508. package/static/images/flags/sa.svg +0 -26
  509. package/static/images/flags/sb.svg +0 -13
  510. package/static/images/flags/sc.svg +0 -14
  511. package/static/images/flags/sd.svg +0 -13
  512. package/static/images/flags/se.svg +0 -16
  513. package/static/images/flags/sg.svg +0 -13
  514. package/static/images/flags/sh.svg +0 -74
  515. package/static/images/flags/si.svg +0 -18
  516. package/static/images/flags/sj.svg +0 -7
  517. package/static/images/flags/sk.svg +0 -9
  518. package/static/images/flags/sl.svg +0 -7
  519. package/static/images/flags/sm.svg +0 -91
  520. package/static/images/flags/sn.svg +0 -8
  521. package/static/images/flags/so.svg +0 -11
  522. package/static/images/flags/sr.svg +0 -6
  523. package/static/images/flags/ss.svg +0 -8
  524. package/static/images/flags/st.svg +0 -16
  525. package/static/images/flags/sv.svg +0 -601
  526. package/static/images/flags/sx.svg +0 -56
  527. package/static/images/flags/sy.svg +0 -6
  528. package/static/images/flags/sz.svg +0 -45
  529. package/static/images/flags/tc.svg +0 -67
  530. package/static/images/flags/td.svg +0 -7
  531. package/static/images/flags/tf.svg +0 -15
  532. package/static/images/flags/tg.svg +0 -14
  533. package/static/images/flags/th.svg +0 -7
  534. package/static/images/flags/tj.svg +0 -22
  535. package/static/images/flags/tk.svg +0 -5
  536. package/static/images/flags/tl.svg +0 -13
  537. package/static/images/flags/tm.svg +0 -206
  538. package/static/images/flags/tn.svg +0 -13
  539. package/static/images/flags/to.svg +0 -10
  540. package/static/images/flags/tr.svg +0 -8
  541. package/static/images/flags/tt.svg +0 -5
  542. package/static/images/flags/tv.svg +0 -27
  543. package/static/images/flags/tw.svg +0 -14
  544. package/static/images/flags/tz.svg +0 -13
  545. package/static/images/flags/ua.svg +0 -6
  546. package/static/images/flags/ug.svg +0 -30
  547. package/static/images/flags/um.svg +0 -15
  548. package/static/images/flags/un.svg +0 -16
  549. package/static/images/flags/us.svg +0 -10
  550. package/static/images/flags/uy.svg +0 -28
  551. package/static/images/flags/uz.svg +0 -30
  552. package/static/images/flags/va.svg +0 -479
  553. package/static/images/flags/vc.svg +0 -8
  554. package/static/images/flags/ve.svg +0 -26
  555. package/static/images/flags/vg.svg +0 -127
  556. package/static/images/flags/vi.svg +0 -28
  557. package/static/images/flags/vn.svg +0 -11
  558. package/static/images/flags/vu.svg +0 -18
  559. package/static/images/flags/wf.svg +0 -7
  560. package/static/images/flags/ws.svg +0 -7
  561. package/static/images/flags/xk.svg +0 -16
  562. package/static/images/flags/ye.svg +0 -7
  563. package/static/images/flags/yi.svg +0 -12
  564. package/static/images/flags/yt.svg +0 -7
  565. package/static/images/flags/za.svg +0 -17
  566. package/static/images/flags/zh-HK.svg +0 -30
  567. package/static/images/flags/zh.svg +0 -11
  568. package/static/images/flags/zm.svg +0 -27
  569. package/static/images/flags/zw.svg +0 -21
  570. package/static/images/flags.png +0 -0
  571. package/static/images/home.jpg +0 -0
  572. package/static/images/logo.svg +0 -1
  573. package/static/images/showIf.png +0 -0
  574. package/static/images/ui-architecture.png +0 -0
  575. package/static/images/ui-render-inspect.png +0 -0
  576. package/static/images/ui-render-version.png +0 -0
@@ -0,0 +1,299 @@
1
+ /**
2
+ * THE PUBLISHED CONTRACT (§9.6-E4): every type a host sees, as ordinary exports. It is the SOURCE of
3
+ * the package's declarations, not a description kept beside the code:
4
+ * - `main.tsx` types the component the package exports with `UIRenderProps`, so the component and
5
+ * its published props cannot disagree;
6
+ * - `npm run gen-ts` (`scripts/gen-ts.js`) emits this module as `dist/contract.d.ts`, and writes
7
+ * `dist/index.d.ts` from `main.tsx`'s declaration: the component itself, `export =` for the
8
+ * CommonJS default, and a namespace that re-exports every type below under `UIRender.*`.
9
+ * So a type added here is published with nothing else to edit. Keep it free of imports other than
10
+ * `react`: whatever this module imports, a host's compiler must resolve too.
11
+ */
12
+ import * as React from 'react';
13
+ export interface UIRenderValidationMessage {
14
+ text: string;
15
+ }
16
+ export interface UIRenderValidationError {
17
+ messages: UIRenderValidationMessage[];
18
+ }
19
+ export type UIRenderValidationErrors = Record<string, UIRenderValidationError>;
20
+ export type UIRenderMethod = (...args: any[]) => unknown;
21
+ export type UIRenderTranslate = (value: string) => string;
22
+ /**
23
+ * The id of a text the widget writes itself, such as the `Total` under a pie chart's total, a select's
24
+ * `Select` or a field's `Required`. The host's `translate` is asked for each as `ui-render:<id>`. Where it
25
+ * answers with that key, with the key without `ui-render:`, or with an empty string, the widget shows its own
26
+ * English text. `docs/BUILT-IN-PHRASES.md` lists each id with its English text.
27
+ */
28
+ export type UIRenderPhraseId = 'CALENDAR_OK' | 'CHOOSE_A_DECADE' | 'CHOOSE_A_MONTH' | 'CHOOSE_A_YEAR' | 'DOWNLOAD_FAILED' | 'END_DATE_CANNOT_BE_LESS_THAN_START_DATE' | 'ERROR' | 'FILE' | 'FILES' | 'FILE_MUST_BE_UNDER' | 'FILE_UPLOAD_FAILED' | 'INVALID_DATE' | 'INVALID_EMAIL_ADDRESS' | 'INVALID_URL' | 'LAST_YEAR' | 'MAXIMUM_FILE_SIZE_EXCEEDED' | 'MUST_BE_LESS_THAN_CHARACTERS' | 'MUST_BE_MAXIMUM' | 'MUST_BE_MINIMUM' | 'NEXT_MONTH' | 'NEXT_PAGE' | 'NEXT_YEAR' | 'NO' | 'NOW' | 'OFF' | 'OK' | 'ON' | 'PAGE' | 'PAGINATION' | 'PASSWORD_IS_TOO_WEAK' | 'PERIODS_CANNOT_OVERLAP' | 'POPUP' | 'POPUP_CONTENT_IS_EMPTY' | 'PREVIOUS_MONTH' | 'PREVIOUS_PAGE' | 'REQUIRED' | 'SELECT' | 'SELECT_NAME' | 'SELECT_OR_DROP' | 'SLIDER_MAXIMUM' | 'SLIDER_MINIMUM' | 'START_AND_END_DATE_CANNOT_BE_THE_SAME' | 'START_DATE_CANNOT_BE_MORE_THAN_END_DATE' | 'SYNCING' | 'TABLE_HAS_NO_DATA' | 'TODAY' | 'TOTAL' | 'UPLOAD_FILE' | 'UPLOAD_FILES_ONLY' | 'UPLOAD_LABEL_FILE' | 'WEEK' | 'YES';
29
+ /** One finding from the dev-mode meta contract check enabled by `validateMeta`. */
30
+ export interface UIRenderMetaProblem {
31
+ /** JSON path of the offending node, relative to the meta root (`''` for the root itself). */
32
+ path: string;
33
+ /** `error` — the renderer fails on this node; `warning` — it renders, silently degraded. */
34
+ severity: 'error' | 'warning';
35
+ code: string;
36
+ message: string;
37
+ }
38
+ export type UIRenderMetaProblemReporter = (problems: UIRenderMetaProblem[]) => void;
39
+ /** What React's error boundary hands over about a caught failure. */
40
+ export interface UIRenderErrorInfo {
41
+ componentStack: string;
42
+ }
43
+ /** One render failure, as passed to `onError`. */
44
+ export interface UIRenderErrorReport {
45
+ error: unknown;
46
+ errorInfo: UIRenderErrorInfo;
47
+ /**
48
+ * JSON path of the node whose subtree failed, relative to the meta root (`''` for the
49
+ * root itself). Exact for a failure inside the component a node resolved to; for a
50
+ * failure the renderer hits while preparing a node (a malformed `items`, say) it names
51
+ * the closest enclosing node, which is the most precise position available.
52
+ */
53
+ path: string;
54
+ /** Resolved props of that node — the meta declaration plus what the engine added. */
55
+ props: Record<string, unknown>;
56
+ /** The one-line diagnostic, also rendered in place of the failed subtree. */
57
+ message: string;
58
+ }
59
+ export type UIRenderErrorReporter = (report: UIRenderErrorReport) => void;
60
+ export interface UIRenderDownloadResponse {
61
+ blob(): Promise<Blob>;
62
+ }
63
+ export interface UIRenderApiCalls<Data = unknown> {
64
+ /**
65
+ * Called by the `onApplyPeriods` action with every form's current values; what it resolves with
66
+ * becomes the document's data, and an empty answer leaves the data as it was. It is not called while
67
+ * a field the user can change shows its validation error, and the values hold no table's draft row
68
+ * (`renderExtraItem`) until the row is added.
69
+ */
70
+ updateData?(data: Data): Promise<unknown>;
71
+ /**
72
+ * @deprecated The old name of `updateData`, which keeps working; `updateData` wins when a host
73
+ * passes both.
74
+ */
75
+ updateExperienceData?(data: Data): Promise<unknown>;
76
+ downloadFile?(fileName: string): Promise<UIRenderDownloadResponse>;
77
+ /**
78
+ * `file` is the first picked file; `files` is every file picked, for a field that allows
79
+ * `multiple`. A host that takes only the first two arguments is unaffected.
80
+ */
81
+ uploadFile?(serializedData: string, file: File, files: File[]): Promise<unknown>;
82
+ }
83
+ export interface UIRenderFormOptions extends React.FormHTMLAttributes<HTMLFormElement> {
84
+ kind?: string;
85
+ }
86
+ /**
87
+ * THE META CONTRACT (§9.4, typed at §9.6-E1).
88
+ *
89
+ * These types are OPT-IN. `UIRenderProps.meta` is still `object`, deliberately: narrowing it
90
+ * would be a breaking change for every consumer that builds meta at runtime, and it would
91
+ * reproduce at the type level the exact failure §9.4 spent a review cycle fixing on the schema —
92
+ * a contract stricter than the engine, reddening working meta. Annotate where you author:
93
+ *
94
+ * const meta: UIRender.Meta = { view: 'Row', items: [...] }
95
+ *
96
+ * WHAT THEY BUY, AND WHAT THEY DO NOT.
97
+ *
98
+ * They buy editor suggestions for the five vocabularies and structure on the 29 declared
99
+ * properties. They do NOT buy typo detection: a node must carry `[key: string]: unknown`,
100
+ * because 65 of the 95 keys the tracked examples actually use are undeclared, and an index
101
+ * signature switches off excess-property checking. `{ view: 'Row', itms: [] }` compiles. Anyone
102
+ * selling these types as a spell-checker is overselling them.
103
+ *
104
+ * WHY THE VOCABULARIES END IN `(string & {})` AND NOT `| string`.
105
+ *
106
+ * `'Row' | 'Col' | string` IS `string` — TypeScript collapses it, and the collapse is invisible
107
+ * in review because the union still reads as a list of names. `(string & {})` keeps the literals
108
+ * alive for autocomplete while accepting any string, which is what the permissive schema
109
+ * promises. Both facts are pinned by a compile-time probe in the contract suite, because this is
110
+ * the one mistake here that no reviewer would catch by reading.
111
+ *
112
+ * HOW THEY ARE KEPT FROM DRIFTING. They are not generated from `meta.schema.json`, and the
113
+ * schema is not generated from them — a generator in either direction destroys what the other
114
+ * artifact is for. The link is a check, not a derivation: the contract suite compares these
115
+ * vocabularies against the schema's enums AND against the engine's own live `FIELD` groups, so
116
+ * all three must agree or CI fails.
117
+ */
118
+ export type MetaView = 'AutoSubmit' | 'Button' | 'Checkbox' | 'Col' | 'ColList' | 'Column' | 'Counter' | 'Data' | 'Dropdown' | 'Expand' | 'ExpandList' | 'HorizontalLayout' | 'HorizontalList' | 'Icon' | 'Image' | 'Input' | 'Label' | 'List' | 'PieChart' | 'Popup' | 'ProgressSteps' | 'Row' | 'RowList' | 'Select' | 'SliderLabel' | 'Space' | 'TabList' | 'Table' | 'TableCells' | 'Tabs' | 'Text' | 'Title' | 'Toggle' | 'Tooltip' | 'Upload' | 'VerticalLayout' | 'VerticalList' | (string & {});
119
+ export type MetaRenderMethod = 'Currency' | 'Date' | 'Double5' | 'Float' | 'Percent' | 'String' | 'Title+Input' | (string & {});
120
+ export type MetaActionName = 'addData' | 'download' | 'fetch' | 'onApplyPeriods' | 'popup' | 'popupOpen' | 'removeData' | 'reset' | 'setState' | 'submit' | 'updateDataOnChange' | 'upload' | 'warn' | (string & {});
121
+ export type MetaNormalizerName = 'currency' | 'date' | 'double5' | 'integer' | 'percent' | 'phone' | 'uppercase' | (string & {});
122
+ export type MetaInputType = 'date' | 'file' | 'number' | 'select' | 'slider' | 'text' | 'textarea' | 'toggle' | (string & {});
123
+ /**
124
+ * `{ name: 'path.to.value' }`, the value transform: the engine resolves it against `data` at render time. Only
125
+ * `name` and an optional `relativeData` — an object with any other key is passed on as it is.
126
+ */
127
+ export interface MetaValueRef {
128
+ name: string;
129
+ relativeData?: boolean | null;
130
+ }
131
+ /**
132
+ * A class-name value: a string, a reference the engine resolves from `data`, a number, or an object whose truthy
133
+ * keys are the class names, as `classNames()` takes them.
134
+ */
135
+ export type MetaStringOrValueRef = string | number | MetaValueRef | Record<string, unknown> | null;
136
+ /** `renderCell: 'Currency'` or `renderCell: { name: 'Currency', ... }`. */
137
+ export type MetaRenderer = MetaRenderMethod | {
138
+ name?: MetaRenderMethod;
139
+ [key: string]: unknown;
140
+ } | null;
141
+ /**
142
+ * `onClick: 'submit'` or `onClick: { name: 'submit', ... }`. Not an array: the engine turns only a string or an
143
+ * object into a function, and an array reached React as the listener, which a click then threw on (measured
144
+ * 2026-10-09). The type allowed one until then.
145
+ */
146
+ export type MetaFunctionRef = MetaActionName | {
147
+ name?: MetaActionName;
148
+ [key: string]: unknown;
149
+ } | null;
150
+ export type MetaMapper = Record<string, unknown> | Array<Record<string, unknown>> | null;
151
+ /** An entry in `items`/`headers`: a node, or `null`, which the renderer deletes. */
152
+ export type MetaNodeEntry = MetaNode | null;
153
+ /**
154
+ * One node of the render tree. Every declared property is optional — the corpus has NO
155
+ * per-view required key beyond `view` itself, measured across 631 view-bearing nodes.
156
+ */
157
+ export interface MetaNode {
158
+ view?: MetaView;
159
+ name?: string | null;
160
+ /** The child nodes, or a value transform that resolves to them. */
161
+ items?: MetaNodeEntry[] | MetaValueRef | null;
162
+ /**
163
+ * A Table's columns. A header shows its `label`. Without one it shows no text, and its `id` is hidden text that
164
+ * names it for screen readers; `label: ""` names nothing.
165
+ */
166
+ headers?: MetaNodeEntry[] | MetaValueRef | null;
167
+ /** Rows of Table headers, above `headers` in the order given: each an array of headers like those of `headers`. */
168
+ extraHeaders?: unknown[] | MetaValueRef | null;
169
+ extraItems?: unknown[] | MetaValueRef | null;
170
+ relativeData?: boolean | null;
171
+ showIf?: unknown;
172
+ meta?: Meta;
173
+ onClick?: MetaFunctionRef;
174
+ onChange?: MetaFunctionRef;
175
+ onDone?: MetaFunctionRef;
176
+ /** On a field, called after the field's own focus handling, never in its place. */
177
+ onFocus?: MetaFunctionRef;
178
+ /** On a field, called after the field's own blur handling, never in its place. */
179
+ onBlur?: MetaFunctionRef;
180
+ type?: MetaInputType | null;
181
+ format?: MetaNormalizerName | null;
182
+ normalize?: MetaNormalizerName | null;
183
+ parse?: MetaNormalizerName | null;
184
+ validate?: unknown;
185
+ verify?: Record<string, unknown> | null;
186
+ mapOptions?: MetaMapper;
187
+ mapItems?: MetaMapper;
188
+ filterItems?: unknown[] | null;
189
+ tooltip?: unknown;
190
+ styles?: MetaStringOrValueRef | unknown[];
191
+ className?: MetaStringOrValueRef | unknown[];
192
+ label?: unknown;
193
+ children?: unknown;
194
+ tab?: unknown;
195
+ content?: unknown;
196
+ /** The schema's `patternProperties: { "^render": … }`, expressed as a template literal key. */
197
+ [key: `render${string}`]: MetaRenderer;
198
+ /** Required: 65 of the 95 keys the tracked examples use are undeclared here. */
199
+ [key: string]: unknown;
200
+ }
201
+ /** The document root: a node, plus the two keys the engine strips before rendering. */
202
+ export interface Meta extends MetaNode {
203
+ $schema?: string;
204
+ /** `"MAJOR"` or `"MAJOR.MINOR"`. Absent means "current". */
205
+ metaVersion?: string | null;
206
+ }
207
+ /** Props accepted by the component exported from the package root. */
208
+ export interface UIRenderProps<Data = unknown> {
209
+ data: Data;
210
+ meta: object;
211
+ /** Should be the same as `data` initially. */
212
+ initialValues?: Data;
213
+ childBefore?: React.ReactNode;
214
+ childAfter?: React.ReactNode;
215
+ /**
216
+ * Renders no element in the document a host mounts, which has no `<form>` around it, so Enter in
217
+ * a field submits nothing. A document a `Data` node nests renders inside `<form onSubmit {...form}>`,
218
+ * unless it is `embedded`.
219
+ */
220
+ form?: boolean | UIRenderFormOptions;
221
+ /** Whether to disable rendering of the wrapper scroll view and the html form. */
222
+ embedded?: boolean;
223
+ onSubmit?(values: Data, ...args: any[]): unknown;
224
+ /**
225
+ * Called as the document mounts, with a reader of every form's current values. They hold no table's
226
+ * draft row (`renderExtraItem`): what a user types there is in them once the row is added.
227
+ */
228
+ getFormData?(getData: () => Data): void;
229
+ onDataChanged?(): void;
230
+ /**
231
+ * Called with each field's validation error once the user has left the field. A message the widget writes
232
+ * itself is in the language of `translate`, as the field shows it, and is handed again after a switch of
233
+ * `language` or `translate`. A required field's is the exception: it reads `<Field Name> is Required`, the
234
+ * name made from the field's `name`, in any language.
235
+ */
236
+ getValidationErrors?(errors: UIRenderValidationErrors): void;
237
+ methods?: Record<string, UIRenderMethod>;
238
+ /**
239
+ * Translates what the widget shows: the labels, titles and options of the meta, the values it shows as
240
+ * text, and the texts the widget writes itself, which it asks for as `ui-render:<id>` (`UIRenderPhraseId`).
241
+ * It is handed strings only, and returns one it has no translation for as it was given. A new function
242
+ * renders again every text the document translated, in its language, as a change of `language` does:
243
+ * keep it the same function between renders otherwise.
244
+ */
245
+ translate?: UIRenderTranslate;
246
+ apiCalls?: UIRenderApiCalls<Data>;
247
+ /**
248
+ * `moment` format tokens applied to every date the renderer displays or edits.
249
+ * Defaults to `MM-DD-YYYY`.
250
+ */
251
+ dateFormat?: string;
252
+ /**
253
+ * Currency name published to the renderer's configuration; the application shell
254
+ * renders it as a CSS class. Not `meta.currencyCode`, which selects the currency
255
+ * symbol the value renderers use.
256
+ */
257
+ currency?: string;
258
+ /**
259
+ * Language code published to the configuration; the shell renders it as a CSS class. Where `locale` names no
260
+ * moment locale the host has loaded, it names the one a date field shows month and day names in. When it
261
+ * changes, the document renders again every text it translated, in the language `translate` answers in now,
262
+ * without a remount: the form keeps what the user typed, the fields they left and the errors they see, and
263
+ * `getValidationErrors` is handed the errors again when they read differently. A host whose `translate`
264
+ * stays the same function when its language changes, as i18next's own `t` does, passes its current
265
+ * language here.
266
+ */
267
+ language?: string;
268
+ /**
269
+ * Language tag the widget shows numbers in, `de-DE`; `de_DE` is read the same. It sets the decimal and
270
+ * grouping separators of the `Currency`, `Float`, `Double5` and `Percent` renderers, a `Counter`, a pie
271
+ * chart's values and a slider's labels. It also sets the decimal separator of a number shown as plain
272
+ * text or in short form: a pie chart's total, an upload's size limit. Without it, or with a value that
273
+ * is no language tag, numbers show as before: the renderers in the runtime's locale, the rest with a
274
+ * point. Number inputs take and show a point either way.
275
+ *
276
+ * It also names the moment locale a date field shows month and day names in, in its calendar and in a
277
+ * date whose format names the month, and starts its weeks by: `de` for `de-DE`. moment's locale data is
278
+ * the host's to load (`import 'moment/locale/de'`). Where the host has loaded none for `locale`, the one
279
+ * `language` names is used, and then English, not moment's global locale.
280
+ */
281
+ locale?: string;
282
+ /**
283
+ * Called with a report whenever one node's subtree fails to render, instead of the
284
+ * failure taking the document down. The library logs the same report itself, so this
285
+ * is an additional channel — send it to your error reporting — not a way to silence
286
+ * the console diagnostic.
287
+ */
288
+ onError?: UIRenderErrorReporter;
289
+ /**
290
+ * Dev-mode validation of `meta` against the published contract (`meta.schema.json`).
291
+ * Omitted or `false` walks nothing at all. `true` reports each problem to
292
+ * `console.warn`, naming the JSON path of the offending node. A function receives the
293
+ * problems instead of the console being written to; pass a stable reference, since the
294
+ * check is memoised on the meta identity and this value together.
295
+ */
296
+ validateMeta?: boolean | UIRenderMetaProblemReporter;
297
+ className?: string;
298
+ style?: React.CSSProperties;
299
+ }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,44 @@
1
- import UIRender from './UIRender';
1
+ // Written by scripts/gen-ts.js from src/library/main.tsx and src/library/contract.ts (§9.6-E4).
2
+ // Do not edit: change the source, then run `npm run gen-ts`.
3
+ import * as React from 'react';
4
+ import type { UIRenderProps } from './contract';
5
+ import * as Contract from './contract';
2
6
  /**
3
- * ROOT APP VIEW ===============================================================
4
- * =============================================================================
7
+ * Renders `meta` with `data`, inside the library's providers and its scoped shell. Each prop is
8
+ * documented on `UIRender.UIRenderProps`.
9
+ *
10
+ * The published UMD/CommonJS entry is this function itself, not an object with `.default`.
5
11
  */
6
- export { UIRender };
7
- export default UIRender;
12
+ declare function UIRender<Data = unknown>(props: UIRenderProps<Data>): React.ReactElement | null;
13
+ /** The published types, as `UIRender.<Name>`, and as named imports with `esModuleInterop`. */
14
+ declare namespace UIRender {
15
+ export import UIRenderValidationMessage = Contract.UIRenderValidationMessage;
16
+ export import UIRenderValidationError = Contract.UIRenderValidationError;
17
+ export import UIRenderValidationErrors = Contract.UIRenderValidationErrors;
18
+ export import UIRenderMethod = Contract.UIRenderMethod;
19
+ export import UIRenderTranslate = Contract.UIRenderTranslate;
20
+ export import UIRenderPhraseId = Contract.UIRenderPhraseId;
21
+ export import UIRenderMetaProblem = Contract.UIRenderMetaProblem;
22
+ export import UIRenderMetaProblemReporter = Contract.UIRenderMetaProblemReporter;
23
+ export import UIRenderErrorInfo = Contract.UIRenderErrorInfo;
24
+ export import UIRenderErrorReport = Contract.UIRenderErrorReport;
25
+ export import UIRenderErrorReporter = Contract.UIRenderErrorReporter;
26
+ export import UIRenderDownloadResponse = Contract.UIRenderDownloadResponse;
27
+ export import UIRenderApiCalls = Contract.UIRenderApiCalls;
28
+ export import UIRenderFormOptions = Contract.UIRenderFormOptions;
29
+ export import MetaView = Contract.MetaView;
30
+ export import MetaRenderMethod = Contract.MetaRenderMethod;
31
+ export import MetaActionName = Contract.MetaActionName;
32
+ export import MetaNormalizerName = Contract.MetaNormalizerName;
33
+ export import MetaInputType = Contract.MetaInputType;
34
+ export import MetaValueRef = Contract.MetaValueRef;
35
+ export import MetaStringOrValueRef = Contract.MetaStringOrValueRef;
36
+ export import MetaRenderer = Contract.MetaRenderer;
37
+ export import MetaFunctionRef = Contract.MetaFunctionRef;
38
+ export import MetaMapper = Contract.MetaMapper;
39
+ export import MetaNodeEntry = Contract.MetaNodeEntry;
40
+ export import MetaNode = Contract.MetaNode;
41
+ export import Meta = Contract.Meta;
42
+ export import UIRenderProps = Contract.UIRenderProps;
43
+ }
44
+ export = UIRender;