@tempots/beatui 0.17.0 → 0.18.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 (531) hide show
  1. package/README.md +15 -34
  2. package/dist/2019-C0NjrG2i.js +164 -0
  3. package/dist/2019-JlqBnfO0.cjs +1 -0
  4. package/dist/2020-lqWvthL_.js +192 -0
  5. package/dist/2020-r3MHWrkK.cjs +1 -0
  6. package/dist/_commonjsHelpers-C6fGbg64.js +6 -0
  7. package/dist/_commonjsHelpers-DwGv2jUC.cjs +1 -0
  8. package/dist/apl-B2DGVGxc.js +76 -0
  9. package/dist/apl-M-DNMvvR.cjs +1 -0
  10. package/dist/ar-BsUm-TCn.cjs +1 -0
  11. package/dist/ar-DReA9eQ2.cjs +1 -0
  12. package/dist/{ar-D5jeVM2s.js → ar-VA2yE-1i.js} +24 -18
  13. package/dist/asciiarmor-2LVJmxlE.js +34 -0
  14. package/dist/asciiarmor-BMx3XVjX.cjs +1 -0
  15. package/dist/asn1-OOsVM4yU.cjs +1 -0
  16. package/dist/asn1-jKiBa2Ya.js +95 -0
  17. package/dist/asterisk-B1QUaW1C.cjs +1 -0
  18. package/dist/asterisk-DS281yxp.js +271 -0
  19. package/dist/auth/index.cjs.js +1 -0
  20. package/dist/auth/index.es.js +1331 -0
  21. package/dist/beatui.css +1 -1
  22. package/dist/brainfuck-BjUlYKdF.cjs +1 -0
  23. package/dist/brainfuck-C_p9pTT8.js +34 -0
  24. package/dist/clike-BEMIzMUI.cjs +1 -0
  25. package/dist/clike-DGTaUp48.js +620 -0
  26. package/dist/clojure-Ap_IXD2I.cjs +1 -0
  27. package/dist/clojure-CCKyeQKf.js +800 -0
  28. package/dist/cmake-C4D5_VmS.cjs +1 -0
  29. package/dist/cmake-CuaCgAKt.js +28 -0
  30. package/dist/cobol-BlTKFDRj.js +72 -0
  31. package/dist/cobol-Du-cT2hr.cjs +1 -0
  32. package/dist/coffeescript-BVCvwO8I.js +179 -0
  33. package/dist/coffeescript-DDFAj2ea.cjs +1 -0
  34. package/dist/commonlisp-CXBBRCTx.cjs +1 -0
  35. package/dist/commonlisp-D_kxz07b.js +75 -0
  36. package/dist/crystal-D309uH6_.js +217 -0
  37. package/dist/crystal-DAFWRDbh.cjs +1 -0
  38. package/dist/css-BkF-NPzE.js +1553 -0
  39. package/dist/css-DzFJyRJ8.cjs +1 -0
  40. package/dist/cypher-BMq4Fwjl.js +68 -0
  41. package/dist/cypher-BN0-oCze.cjs +1 -0
  42. package/dist/d-BHsqGcfm.cjs +1 -0
  43. package/dist/d-BZcgY6La.js +127 -0
  44. package/dist/de-BIj_wrpg.cjs +1 -0
  45. package/dist/de-BUFLEyKr.cjs +1 -0
  46. package/dist/{de-QCsvvABM.js → de-C14QN5V1.js} +25 -19
  47. package/dist/diff-CemTHKfk.cjs +1 -0
  48. package/dist/diff-Cg9d_RX2.js +18 -0
  49. package/dist/dockerfile-BBTH3voH.cjs +1 -0
  50. package/dist/dockerfile-DIy8NleC.js +194 -0
  51. package/dist/dtd-ChoVQPwv.cjs +1 -0
  52. package/dist/dtd-CtLokQ-U.js +84 -0
  53. package/dist/dylan-QYeExnWK.js +234 -0
  54. package/dist/dylan-apTQIgUA.cjs +1 -0
  55. package/dist/ebnf-DUPDuY4r.js +78 -0
  56. package/dist/ebnf-LYmLy17h.cjs +1 -0
  57. package/dist/ecl-C7WNQq7-.cjs +1 -0
  58. package/dist/ecl-CiXN-g_D.js +121 -0
  59. package/dist/eiffel-BJThA8RG.cjs +1 -0
  60. package/dist/eiffel-yQhjl4T1.js +110 -0
  61. package/dist/elm-CNT9vbN0.js +108 -0
  62. package/dist/elm-CcXP9T36.cjs +1 -0
  63. package/dist/erlang-B6mpcObI.cjs +1 -0
  64. package/dist/erlang-CFOYdy9e.js +487 -0
  65. package/dist/{es-QPLFaGbp.js → es-B5GqMkMg.js} +23 -17
  66. package/dist/es-BxBeTRCv.cjs +1 -0
  67. package/dist/es-D1oMYUqV.cjs +1 -0
  68. package/dist/{fa-DQmCKW-7.js → fa-BxlrmcQK.js} +24 -16
  69. package/dist/fa-D5TvDNdj.cjs +1 -0
  70. package/dist/fa-DxPseW3g.cjs +1 -0
  71. package/dist/factor-B-tsx9yW.cjs +1 -0
  72. package/dist/factor-DDOC7X6P.js +65 -0
  73. package/dist/fcl-BzAKklXo.cjs +1 -0
  74. package/dist/fcl-CPC2WYrI.js +103 -0
  75. package/dist/forth-BmxRyE9S.js +60 -0
  76. package/dist/forth-CPAzyZ_n.cjs +1 -0
  77. package/dist/fortran-9bvPyrOW.js +442 -0
  78. package/dist/fortran-DHiTlGV1.cjs +1 -0
  79. package/dist/{fr-MvvOUdq6.js → fr-BzFxzocR.js} +26 -20
  80. package/dist/fr-Cdyopuz3.cjs +1 -0
  81. package/dist/fr-DPGRV4C4.cjs +1 -0
  82. package/dist/gas-BiPtGF2E.cjs +1 -0
  83. package/dist/gas-cpmYfFX2.js +183 -0
  84. package/dist/gherkin-CJuwpceU.js +34 -0
  85. package/dist/gherkin-Djo7Y51D.cjs +1 -0
  86. package/dist/groovy-BMVITiCm.cjs +1 -0
  87. package/dist/groovy-DZeT_VM-.js +146 -0
  88. package/dist/haskell-Bvt3Qq1t.js +375 -0
  89. package/dist/haskell-CngODaW-.cjs +1 -0
  90. package/dist/haxe-70NVW1pR.js +359 -0
  91. package/dist/haxe-Dyk-piTh.cjs +1 -0
  92. package/dist/he-DarDNPn0.cjs +1 -0
  93. package/dist/{he-BgUKFv6v.js → he-DjHXtt_S.js} +24 -18
  94. package/dist/he-XNDY7609.cjs +1 -0
  95. package/dist/{hi-BJXdbCIZ.js → hi-Xlc0IeoY.js} +24 -18
  96. package/dist/hi-eMrnBh0O.cjs +1 -0
  97. package/dist/hi-tATwsXJ6.cjs +1 -0
  98. package/dist/http-BkLifcnL.cjs +1 -0
  99. package/dist/http-D9LttvKF.js +44 -0
  100. package/dist/idl-B6TRFYjl.js +947 -0
  101. package/dist/idl-FmHDmsE-.cjs +1 -0
  102. package/dist/index-22y56f5G.js +270 -0
  103. package/dist/index-85k3bgcY.cjs +1 -0
  104. package/dist/index-9HEatb8C.js +612 -0
  105. package/dist/index-B16dbwxM.cjs +1 -0
  106. package/dist/index-B1w_-cUQ.js +136 -0
  107. package/dist/index-B2079wM-.js +921 -0
  108. package/dist/index-B66rNs5i.cjs +2 -0
  109. package/dist/index-B79joQIU.js +76 -0
  110. package/dist/index-BDr9qHd0.js +138 -0
  111. package/dist/index-BF_OOMtT.js +1307 -0
  112. package/dist/index-BGcCFDkp.js +74 -0
  113. package/dist/index-BKr-B2hh.js +1874 -0
  114. package/dist/index-BUKtbimR.cjs +6 -0
  115. package/dist/index-BWxeedWQ.js +59 -0
  116. package/dist/index-BYk56bqR.cjs +13 -0
  117. package/dist/index-BZHMnjr6.cjs +1 -0
  118. package/dist/index-BguvTLHu.cjs +1 -0
  119. package/dist/index-BmUA4_Ip.js +302 -0
  120. package/dist/index-By8a3eg5.cjs +1 -0
  121. package/dist/index-C0t8aD9u.js +94 -0
  122. package/dist/index-C3BW17zm.cjs +1 -0
  123. package/dist/index-C4UzgyIA.cjs +1 -0
  124. package/dist/index-CIfx_bs7.cjs +7 -0
  125. package/dist/index-COyS3EXB.js +289 -0
  126. package/dist/index-CRfUh74G.cjs +1 -0
  127. package/dist/index-CY_sj-qf.js +309 -0
  128. package/dist/index-CeYwt1r1.js +342 -0
  129. package/dist/index-Cohec4rB.cjs +1 -0
  130. package/dist/index-CpqyQcup.js +552 -0
  131. package/dist/index-D-Rzl363.cjs +1 -0
  132. package/dist/index-D48AYUAg.js +226 -0
  133. package/dist/index-DD8_efWr.cjs +1 -0
  134. package/dist/index-DIO06RsV.js +554 -0
  135. package/dist/index-DLJt9Ebe.cjs +8 -0
  136. package/dist/index-DSvEBuy-.cjs +3 -0
  137. package/dist/index-DV7tB1MN.cjs +1 -0
  138. package/dist/index-DgUJYXoy.cjs +1 -0
  139. package/dist/index-Dghyrng7.js +960 -0
  140. package/dist/index-DjNMMz5-.cjs +1 -0
  141. package/dist/index-DpHYZhFL.js +251 -0
  142. package/dist/index-DutbjaBQ.js +101 -0
  143. package/dist/index-DxG_avr8.cjs +1 -0
  144. package/dist/index-FEy4Hwnx.cjs +1 -0
  145. package/dist/index-d3p39HQv.js +157 -0
  146. package/dist/index-dsitEt8M.cjs +1 -0
  147. package/dist/index-kk6qFeC5.cjs +1 -0
  148. package/dist/index-tOao3Qu5.js +953 -0
  149. package/dist/index-xnxTfNd2.js +8283 -0
  150. package/dist/index.cjs.js +143 -0
  151. package/dist/index.es.js +4451 -7699
  152. package/dist/index.esm-8xolKogd.cjs +1 -0
  153. package/dist/index.esm-CSotgpVw.js +4959 -0
  154. package/dist/it-BmFag7j0.cjs +1 -0
  155. package/dist/{it-Bu7Sjs-g.js → it-CR0FAQEB.js} +24 -18
  156. package/dist/it-DzUV0SmB.cjs +1 -0
  157. package/dist/ja-Dj-bAKLf.cjs +1 -0
  158. package/dist/{ja-DrXpNYfH.js → ja-WICb5O3K.js} +23 -15
  159. package/dist/ja-f2fDsTUD.cjs +1 -0
  160. package/dist/javascript-C2yteZeJ.js +691 -0
  161. package/dist/javascript-DngSGg_0.cjs +1 -0
  162. package/dist/jinja2-DnB6dQmV.js +154 -0
  163. package/dist/jinja2-wbVbDTNi.cjs +1 -0
  164. package/dist/json-schema/index.cjs.js +1 -0
  165. package/dist/json-schema/index.es.js +37 -0
  166. package/dist/julia-DA67Qw9E.cjs +1 -0
  167. package/dist/julia-DpvXAuO6.js +241 -0
  168. package/dist/{ko-BmkxLoBO.js → ko-30evSGGW.js} +22 -14
  169. package/dist/ko-BomUE-yQ.cjs +1 -0
  170. package/dist/ko-DvDEQ6FS.cjs +1 -0
  171. package/dist/link-portal-B-RvroWY.js +5 -0
  172. package/dist/link-portal-_tiDFZqh.cjs +1 -0
  173. package/dist/livescript-Bg3URadp.cjs +1 -0
  174. package/dist/livescript-CanGTf8u.js +272 -0
  175. package/dist/lua-CIsxjGwi.cjs +1 -0
  176. package/dist/lua-XplVlWi_.js +217 -0
  177. package/dist/markdown/index.cjs.js +2 -0
  178. package/dist/markdown/index.es.js +422 -0
  179. package/dist/markdown.css +39 -0
  180. package/dist/mathematica-BG089QIc.cjs +1 -0
  181. package/dist/mathematica-jaRHnSxC.js +35 -0
  182. package/dist/mbox-BctzC1hL.js +76 -0
  183. package/dist/mbox-CySolFFZ.cjs +1 -0
  184. package/dist/milkdown/index.cjs.js +1 -0
  185. package/dist/milkdown/index.es.js +4 -0
  186. package/dist/milkdown-input-C-Muq7PQ.cjs +941 -0
  187. package/dist/milkdown-input-DaN9l6E_.js +62376 -0
  188. package/dist/milkdown-url-BKbqhNCO.js +4 -0
  189. package/dist/milkdown-url-BLgXPmZR.cjs +1 -0
  190. package/dist/milkdown.css +1903 -0
  191. package/dist/mirc-BfqEffzk.cjs +1 -0
  192. package/dist/mirc-CFBPAOaF.js +72 -0
  193. package/dist/mllike-BSnXJBGA.js +272 -0
  194. package/dist/mllike-QUjwI6zq.cjs +1 -0
  195. package/dist/modal-Ba2uXVSD.cjs +1 -0
  196. package/dist/modal-CeVJb-Ko.js +614 -0
  197. package/dist/modelica-B6Zhcb-M.cjs +1 -0
  198. package/dist/modelica-vUgVs--1.js +93 -0
  199. package/dist/monaco/index.cjs.js +2 -0
  200. package/dist/monaco/index.es.js +269 -0
  201. package/dist/monaco.css +14 -0
  202. package/dist/mscgen-BToym4Bs.cjs +1 -0
  203. package/dist/mscgen-Cpl0NYLN.js +104 -0
  204. package/dist/mumps-CQoS1kWX.js +25 -0
  205. package/dist/mumps-wfyQdxSu.cjs +1 -0
  206. package/dist/nginx-CwqyBUfA.cjs +1 -0
  207. package/dist/nginx-zDPm3Z74.js +89 -0
  208. package/dist/{nl-DC5KbcZ1.js → nl-DaCzsF01.js} +24 -18
  209. package/dist/nl-Dr-l6zUy.cjs +1 -0
  210. package/dist/nl-hmXJvCw7.cjs +1 -0
  211. package/dist/notice-BgnHRPMk.js +2432 -0
  212. package/dist/notice-t8qZIDvK.cjs +1 -0
  213. package/dist/nsis-DPj2fUaP.cjs +1 -0
  214. package/dist/nsis-fePjrhq7.js +62 -0
  215. package/dist/ntriples-CsNjv2QF.js +79 -0
  216. package/dist/ntriples-DgwJmozm.cjs +1 -0
  217. package/dist/octave-1pkKrgAA.cjs +1 -0
  218. package/dist/octave-C8PmmSRH.js +143 -0
  219. package/dist/oz-BXOZCt0U.cjs +1 -0
  220. package/dist/oz-Ce8aN8oE.js +151 -0
  221. package/dist/pascal-De0D6mP7.js +77 -0
  222. package/dist/pascal-DtY2LEkJ.cjs +1 -0
  223. package/dist/perl-B4bSCe1C.js +915 -0
  224. package/dist/perl-CVDWbEju.cjs +1 -0
  225. package/dist/pig-D24Z8EXi.js +54 -0
  226. package/dist/pig-DMByOrnr.cjs +1 -0
  227. package/dist/pl-BK0i_yvq.cjs +1 -0
  228. package/dist/pl-Cg5Kr9eZ.cjs +1 -0
  229. package/dist/{pl-BJJ-Grej.js → pl-DlMR1sq8.js} +27 -21
  230. package/dist/powershell-BaoYaFvj.cjs +1 -0
  231. package/dist/powershell-DkYVfTzP.js +249 -0
  232. package/dist/preprocess-CvkqwVNt.cjs +3 -0
  233. package/dist/preprocess-D898zxsP.js +2295 -0
  234. package/dist/properties-DXHJZ3WE.cjs +1 -0
  235. package/dist/properties-Dn9wna3M.js +26 -0
  236. package/dist/protobuf-BKhXdfH6.cjs +1 -0
  237. package/dist/protobuf-BPIjwpzm.js +49 -0
  238. package/dist/pt-B7uWbJ1j.cjs +1 -0
  239. package/dist/{pt-DH8tH7fr.js → pt-lX3h34iM.js} +26 -20
  240. package/dist/pt-oBMmVYcu.cjs +1 -0
  241. package/dist/pug-CwAQJzGR.js +248 -0
  242. package/dist/pug-kEfRDOiF.cjs +1 -0
  243. package/dist/puppet-8mAyuMbW.cjs +1 -0
  244. package/dist/puppet-nyd4dhjf.js +45 -0
  245. package/dist/python-BkR3uSy8.js +313 -0
  246. package/dist/python-D-iU6WXz.cjs +1 -0
  247. package/dist/q-BPQ45Nxu.cjs +1 -0
  248. package/dist/q-DXjKs-tC.js +83 -0
  249. package/dist/r-LKEuhEGI.js +104 -0
  250. package/dist/r-r2_EZsON.cjs +1 -0
  251. package/dist/rpm-IznJm2Xc.js +57 -0
  252. package/dist/rpm-YK81m3qU.cjs +1 -0
  253. package/dist/{ru-DoNk8aVN.js → ru-2aVFFaQ-.js} +29 -21
  254. package/dist/ru-CrQR5RUx.cjs +1 -0
  255. package/dist/ru-CtxMmoa6.cjs +1 -0
  256. package/dist/ruby-CcYfvIk6.js +228 -0
  257. package/dist/ruby-Cn1sFkZF.cjs +1 -0
  258. package/dist/sas-7E8yHoCW.js +105 -0
  259. package/dist/sas-DAGcJy94.cjs +1 -0
  260. package/dist/scheme-B0ZrbojV.cjs +1 -0
  261. package/dist/scheme-DjibxsNh.js +124 -0
  262. package/dist/shell-BMYo43V6.cjs +1 -0
  263. package/dist/shell-C0C2sNA_.js +182 -0
  264. package/dist/sieve-Bwz7vjP5.js +72 -0
  265. package/dist/sieve-CIYW-b_H.cjs +1 -0
  266. package/dist/simple-mode-B0dvCdAA.js +89 -0
  267. package/dist/simple-mode-BIKNPBes.cjs +1 -0
  268. package/dist/smalltalk-Bhddl2pB.js +48 -0
  269. package/dist/smalltalk-CSslY-3i.cjs +1 -0
  270. package/dist/solr-A1kSnAwJ.cjs +1 -0
  271. package/dist/solr-BNlsLglM.js +41 -0
  272. package/dist/sparql-DnHMBLLY.cjs +1 -0
  273. package/dist/sparql-FarWu_Gb.js +197 -0
  274. package/dist/spreadsheet-B7_BK8hB.cjs +1 -0
  275. package/dist/spreadsheet-C-cy4P5N.js +49 -0
  276. package/dist/sql-9VmIWHrZ.cjs +1 -0
  277. package/dist/sql-CfG5lQ3l.js +282 -0
  278. package/dist/stex-B4wyjEnp.cjs +1 -0
  279. package/dist/stex-Du4h4KAU.js +129 -0
  280. package/dist/styles-url-B-d6aezR.cjs +1 -0
  281. package/dist/styles-url-B4WGMvfi.js +4 -0
  282. package/dist/styles-url-CZUL_YRT.cjs +1 -0
  283. package/dist/styles-url-DpP5gepF.js +4 -0
  284. package/dist/stylus-CAdqWld3.js +250 -0
  285. package/dist/stylus-D6GYOT3Z.cjs +1 -0
  286. package/dist/swift-DGw6Cgu8.cjs +1 -0
  287. package/dist/swift-DSxqR9R6.js +230 -0
  288. package/dist/tcl-ByLXbQFo.cjs +1 -0
  289. package/dist/tcl-xfoLljhY.js +81 -0
  290. package/dist/textile-D1AWE-pc.js +295 -0
  291. package/dist/textile-iryw-lTw.cjs +1 -0
  292. package/dist/theme-CJVt8QIc.js +34 -0
  293. package/dist/theme-YS3sFklH.cjs +1 -0
  294. package/dist/tiddlywiki-5wqsXtSk.js +155 -0
  295. package/dist/tiddlywiki-D8IJz1k7.cjs +1 -0
  296. package/dist/tiki-C5p5KSQK.cjs +1 -0
  297. package/dist/tiki-__Kn3CeS.js +181 -0
  298. package/dist/timer-CcMCjYrq.cjs +1 -0
  299. package/dist/timer-CkgWORR9.js +42 -0
  300. package/dist/toml-3ZsH_4Qa.cjs +1 -0
  301. package/dist/toml-BHiuTcfn.js +49 -0
  302. package/dist/tr-CgJ8uhZu.cjs +1 -0
  303. package/dist/tr-DN9zPGaS.cjs +1 -0
  304. package/dist/{tr-BD5Li2rQ.js → tr-DgRS_mcj.js} +24 -18
  305. package/dist/translations-CSUEQrNH.cjs +2 -0
  306. package/dist/translations-CVR1KQJ3.js +47 -0
  307. package/dist/translations-CxMNY8i7.js +2006 -0
  308. package/dist/translations-pfS-x8Ak.cjs +1 -0
  309. package/dist/troff-D-3QCOYN.cjs +1 -0
  310. package/dist/troff-D2UO-fKf.js +35 -0
  311. package/dist/ttcn-Bsa4sfRm.js +123 -0
  312. package/dist/ttcn-C2MXAqcM.cjs +1 -0
  313. package/dist/ttcn-cfg-BYqcMRxC.cjs +1 -0
  314. package/dist/ttcn-cfg-Bac_acMi.js +88 -0
  315. package/dist/turtle-DSJNatSv.cjs +1 -0
  316. package/dist/turtle-xwJUxoPV.js +80 -0
  317. package/dist/types/auth/index.d.ts +1 -0
  318. package/dist/types/beatui-i18n/default.d.ts +8 -1
  319. package/dist/types/beatui-i18n/locales/en.d.ts +8 -1
  320. package/dist/types/beatui-i18n/translations.d.ts +8 -1
  321. package/dist/types/components/auth/auth-divider.d.ts +2 -2
  322. package/dist/types/components/auth/index.d.ts +8 -6
  323. package/dist/types/components/auth/password-strength-indicator.d.ts +4 -4
  324. package/dist/types/components/auth/reset-password-form.d.ts +2 -2
  325. package/dist/types/components/auth/signin-form.d.ts +2 -2
  326. package/dist/types/components/auth/signup-form.d.ts +2 -2
  327. package/dist/types/components/auth/social-login-button.d.ts +27 -27
  328. package/dist/types/components/auth/types.d.ts +11 -13
  329. package/dist/types/components/button/button.d.ts +1 -1
  330. package/dist/types/components/button/close-button.d.ts +15 -0
  331. package/dist/types/components/button/index.d.ts +1 -0
  332. package/dist/types/components/data/tag.d.ts +3 -2
  333. package/dist/types/components/form/control/control-factory.d.ts +24 -0
  334. package/dist/types/components/form/control/date-utils.d.ts +6 -0
  335. package/dist/types/components/form/control/index.d.ts +3 -22
  336. package/dist/types/components/form/control/list-control.d.ts +23 -14
  337. package/dist/types/components/form/controller/controller.d.ts +20 -1
  338. package/dist/types/components/form/controller/index.d.ts +2 -0
  339. package/dist/types/components/form/controller/union-controller.d.ts +53 -0
  340. package/dist/types/components/form/controller/utils.d.ts +4 -0
  341. package/dist/types/components/form/input/appearance-selector.d.ts +2 -1
  342. package/dist/types/components/form/input/base64-input.d.ts +10 -0
  343. package/dist/types/components/form/input/base64s-input.d.ts +12 -0
  344. package/dist/types/components/form/input/bigint-input.d.ts +9 -0
  345. package/dist/types/components/form/input/color-input.d.ts +8 -1
  346. package/dist/types/components/form/input/combobox-input.d.ts +16 -0
  347. package/dist/types/components/form/input/combobox-tags-input.d.ts +16 -0
  348. package/dist/types/components/form/input/dropdown-base.d.ts +19 -0
  349. package/dist/types/components/form/input/dropdown-input.d.ts +14 -0
  350. package/dist/types/components/form/input/duration-input.d.ts +3 -0
  351. package/dist/types/components/form/input/duration-mask.d.ts +12 -0
  352. package/dist/types/components/form/input/editable-text.d.ts +2 -1
  353. package/dist/types/components/form/input/file-input.d.ts +3 -4
  354. package/dist/types/components/form/input/files-input.d.ts +12 -0
  355. package/dist/types/components/form/input/index.d.ts +42 -2
  356. package/dist/types/components/form/input/input-container.d.ts +2 -3
  357. package/dist/types/components/form/input/input-options.d.ts +0 -13
  358. package/dist/types/components/form/input/input-wrapper.d.ts +1 -1
  359. package/dist/types/components/form/input/instant-input.d.ts +3 -0
  360. package/dist/types/components/form/input/lazy-native-select.d.ts +1 -1
  361. package/dist/types/components/form/input/list-input.d.ts +14 -0
  362. package/dist/types/components/form/input/mask-input.d.ts +94 -0
  363. package/dist/types/components/form/input/native-select.d.ts +4 -23
  364. package/dist/types/components/form/input/nullable-base64-input.d.ts +8 -0
  365. package/dist/types/components/form/input/nullable-bigint-input.d.ts +9 -0
  366. package/dist/types/components/form/input/nullable-duration-input.d.ts +3 -0
  367. package/dist/types/components/form/input/nullable-email-input.d.ts +2 -0
  368. package/dist/types/components/form/input/nullable-instant-input.d.ts +3 -0
  369. package/dist/types/components/form/input/nullable-mask-input.d.ts +5 -0
  370. package/dist/types/components/form/input/nullable-number-input.d.ts +9 -0
  371. package/dist/types/components/form/input/nullable-password-input.d.ts +2 -0
  372. package/dist/types/components/form/input/nullable-plain-date-input.d.ts +3 -0
  373. package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +3 -0
  374. package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +3 -0
  375. package/dist/types/components/form/input/nullable-plain-time-input.d.ts +3 -0
  376. package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +3 -0
  377. package/dist/types/components/form/input/nullable-rating-input.d.ts +14 -0
  378. package/dist/types/components/form/input/nullable-url-input.d.ts +2 -0
  379. package/dist/types/components/form/input/nullable-utils.d.ts +2 -0
  380. package/dist/types/components/form/input/nullable-uuid-input.d.ts +2 -0
  381. package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +3 -0
  382. package/dist/types/components/form/input/option.d.ts +38 -0
  383. package/dist/types/components/form/input/plain-date-input.d.ts +3 -0
  384. package/dist/types/components/form/input/plain-date-time-input.d.ts +3 -0
  385. package/dist/types/components/form/input/plain-month-day-input.d.ts +3 -0
  386. package/dist/types/components/form/input/plain-time-input.d.ts +3 -0
  387. package/dist/types/components/form/input/plain-year-month-input.d.ts +3 -0
  388. package/dist/types/components/form/input/rating-input.d.ts +15 -0
  389. package/dist/types/components/form/input/segmented-input.d.ts +10 -0
  390. package/dist/types/components/form/input/select-tags-input.d.ts +20 -0
  391. package/dist/types/components/form/input/slider-input.d.ts +15 -0
  392. package/dist/types/components/form/input/tag-utils.d.ts +11 -0
  393. package/dist/types/components/form/input/url-input.d.ts +2 -0
  394. package/dist/types/components/form/input/uuid-input.d.ts +2 -0
  395. package/dist/types/components/form/input/zoned-date-time-input.d.ts +3 -0
  396. package/dist/types/components/form/schema/custom-validation.d.ts +1 -1
  397. package/dist/types/components/form/use-form.d.ts +11 -4
  398. package/dist/types/components/json-schema/ajv-utils.d.ts +121 -0
  399. package/dist/types/components/json-schema/cache-management.d.ts +148 -0
  400. package/dist/types/components/json-schema/containers/container-layouts.d.ts +66 -0
  401. package/dist/types/components/json-schema/controls/any-control.d.ts +10 -0
  402. package/dist/types/components/json-schema/controls/array-control.d.ts +10 -0
  403. package/dist/types/components/json-schema/controls/boolean-control.d.ts +10 -0
  404. package/dist/types/components/json-schema/controls/composition-controls.d.ts +24 -0
  405. package/dist/types/components/json-schema/controls/composition-shared.d.ts +34 -0
  406. package/dist/types/components/json-schema/controls/enum-const-controls.d.ts +17 -0
  407. package/dist/types/components/json-schema/controls/generic-control.d.ts +18 -0
  408. package/dist/types/components/json-schema/controls/null-control.d.ts +10 -0
  409. package/dist/types/components/json-schema/controls/number-controls.d.ts +17 -0
  410. package/dist/types/components/json-schema/controls/object-control.d.ts +12 -0
  411. package/dist/types/components/json-schema/controls/object-helpers.d.ts +31 -0
  412. package/dist/types/components/json-schema/controls/presence-toggle.d.ts +12 -0
  413. package/dist/types/components/json-schema/controls/schema-banners.d.ts +14 -0
  414. package/dist/types/components/json-schema/controls/schema-wrapper.d.ts +7 -0
  415. package/dist/types/components/json-schema/controls/shared-utils.d.ts +16 -0
  416. package/dist/types/components/json-schema/controls/string-control.d.ts +10 -0
  417. package/dist/types/components/json-schema/controls/type-utils.d.ts +27 -0
  418. package/dist/types/components/json-schema/controls/union-control.d.ts +10 -0
  419. package/dist/types/components/json-schema/controls.d.ts +11 -0
  420. package/dist/types/components/json-schema/discriminator/discriminator-utils.d.ts +57 -0
  421. package/dist/types/components/json-schema/index.d.ts +5 -0
  422. package/dist/types/components/json-schema/json-schema-form.d.ts +79 -0
  423. package/dist/types/components/json-schema/oneof-branch-detection.d.ts +35 -0
  424. package/dist/types/components/json-schema/ref-utils.d.ts +18 -0
  425. package/dist/types/components/json-schema/schema-context.d.ts +185 -0
  426. package/dist/types/components/json-schema/validation/async-validation.d.ts +113 -0
  427. package/dist/types/components/json-schema/validation/conditional-validation.d.ts +75 -0
  428. package/dist/types/components/json-schema/validation/cross-field-validation.d.ts +71 -0
  429. package/dist/types/components/json-schema/validation/error-aggregation.d.ts +84 -0
  430. package/dist/types/components/json-schema/validation/performance-optimization.d.ts +120 -0
  431. package/dist/types/components/json-schema/validator.d.ts +10 -0
  432. package/dist/types/components/json-schema/visibility/visibility-evaluation.d.ts +77 -0
  433. package/dist/types/components/json-schema/visibility/visibility-wrapper.d.ts +56 -0
  434. package/dist/types/components/json-schema/widgets/enhanced-widgets.d.ts +70 -0
  435. package/dist/types/components/json-schema/widgets/string-controls.d.ts +8 -0
  436. package/dist/types/components/json-schema/widgets/string-detection.d.ts +3 -0
  437. package/dist/types/components/json-schema/widgets/string-type.d.ts +62 -0
  438. package/dist/types/components/json-schema/widgets/utils.d.ts +45 -0
  439. package/dist/types/components/json-schema/widgets/widget-composition.d.ts +144 -0
  440. package/dist/types/components/json-schema/widgets/widget-customization.d.ts +120 -0
  441. package/dist/types/components/layout/index.d.ts +1 -0
  442. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +21 -0
  443. package/dist/types/components/layout/scrollable-panel.d.ts +1 -1
  444. package/dist/types/components/milkdown/milkdown-input.d.ts +15 -0
  445. package/dist/types/components/milkdown/milkdown-url.d.ts +2 -0
  446. package/dist/types/components/misc/index.d.ts +3 -0
  447. package/dist/types/components/misc/link-portal.d.ts +11 -0
  448. package/dist/types/components/misc/notice.d.ts +15 -0
  449. package/dist/types/components/misc/style-portal.d.ts +10 -0
  450. package/dist/types/components/monaco/monaco-editor-input.d.ts +12 -0
  451. package/dist/types/components/navigation/flyout.d.ts +2 -2
  452. package/dist/types/components/navigation/index.d.ts +1 -0
  453. package/dist/types/components/navigation/menu.d.ts +7 -7
  454. package/dist/types/components/navigation/toolbar/index.d.ts +1 -0
  455. package/dist/types/components/navigation/toolbar/toolbar.d.ts +17 -0
  456. package/dist/types/components/overlay/drawer.d.ts +2 -2
  457. package/dist/types/components/overlay/modal.d.ts +3 -3
  458. package/dist/types/components/overlay/tooltip.d.ts +2 -2
  459. package/dist/types/index.d.ts +1 -1
  460. package/dist/types/json-schema/index.d.ts +1 -0
  461. package/dist/types/markdown/extensions.d.ts +8 -0
  462. package/dist/types/markdown/index.d.ts +17 -0
  463. package/dist/types/markdown/styles-url.d.ts +2 -0
  464. package/dist/types/markdown/styles.d.ts +2 -0
  465. package/dist/types/milkdown/index.d.ts +1 -0
  466. package/dist/types/milkdown/styles.d.ts +2 -0
  467. package/dist/types/monaco/index.d.ts +3 -0
  468. package/dist/types/monaco/lazy-loader.d.ts +5 -0
  469. package/dist/types/monaco/styles-url.d.ts +2 -0
  470. package/dist/types/monaco/styles.d.ts +2 -0
  471. package/dist/types/monaco/types.d.ts +14 -0
  472. package/dist/types/styles/base-url.d.ts +2 -0
  473. package/dist/types/styles/base.d.ts +2 -0
  474. package/dist/types/temporal/index.d.ts +3 -0
  475. package/dist/types/temporal/runtime.d.ts +2 -0
  476. package/dist/types/temporal/types.d.ts +10 -0
  477. package/dist/types/temporal/with-temporal.d.ts +3 -0
  478. package/dist/types/tokens/colors.d.ts +12 -1
  479. package/dist/types/utils/focus-trap.d.ts +4 -4
  480. package/dist/ur-BzgBZpdY.cjs +1 -0
  481. package/dist/ur-DvqAg9gW.cjs +1 -0
  482. package/dist/{ur-CUvRCu9R.js → ur-fgmvVBHY.js} +24 -18
  483. package/dist/vb-c2kQGd6-.js +74 -0
  484. package/dist/vb-qzHzzvyB.cjs +1 -0
  485. package/dist/vbscript-1f_Dhg5H.js +324 -0
  486. package/dist/vbscript-CWm8v9tE.cjs +1 -0
  487. package/dist/velocity-D3_yAIp3.cjs +1 -0
  488. package/dist/velocity-DJd0pTTC.js +96 -0
  489. package/dist/verilog-BOhLNmQo.cjs +1 -0
  490. package/dist/verilog-CiS1jyi5.js +262 -0
  491. package/dist/vhdl-CMFbi8Im.cjs +1 -0
  492. package/dist/vhdl-T9HkrbI2.js +106 -0
  493. package/dist/vi-D5R3YcU0.cjs +1 -0
  494. package/dist/{vi-BXI6n5F3.js → vi-DZzB43iu.js} +26 -20
  495. package/dist/vi-DijXfJCL.cjs +1 -0
  496. package/dist/webidl-CWb_flNk.cjs +1 -0
  497. package/dist/webidl-CjfDENEo.js +155 -0
  498. package/dist/xquery-BUQdORAS.js +422 -0
  499. package/dist/xquery-Cjw5fRnG.cjs +1 -0
  500. package/dist/yacas-C0absKBh.js +73 -0
  501. package/dist/yacas-urx_N5C8.cjs +1 -0
  502. package/dist/z80-CsG3CM6M.cjs +1 -0
  503. package/dist/z80-Pki2zAjW.js +61 -0
  504. package/dist/zh-BMcC2kwD.cjs +1 -0
  505. package/dist/{zh-DyIbx84k.js → zh-Bcz-uyJp.js} +23 -15
  506. package/dist/zh-CCGXcj5r.cjs +1 -0
  507. package/package.json +56 -7
  508. package/dist/index.umd.js +0 -100
  509. package/dist/types/components/form/control/combobox-control.d.ts +0 -11
  510. package/dist/types/components/form/control/control-input-wrapper.d.ts +0 -7
  511. package/dist/types/components/form/control/control-options.d.ts +0 -20
  512. package/dist/types/components/form/control/date-control.d.ts +0 -3
  513. package/dist/types/components/form/control/date-time-control.d.ts +0 -3
  514. package/dist/types/components/form/control/email-control.d.ts +0 -3
  515. package/dist/types/components/form/control/file-control.d.ts +0 -13
  516. package/dist/types/components/form/control/lazy-native-select-control.d.ts +0 -16
  517. package/dist/types/components/form/control/native-select-control.d.ts +0 -9
  518. package/dist/types/components/form/control/nullable-date-control.d.ts +0 -3
  519. package/dist/types/components/form/control/nullable-date-time-control.d.ts +0 -3
  520. package/dist/types/components/form/control/nullable-string-date-control.d.ts +0 -3
  521. package/dist/types/components/form/control/nullable-string-date-time-control.d.ts +0 -3
  522. package/dist/types/components/form/control/nullable-text-area-control.d.ts +0 -7
  523. package/dist/types/components/form/control/nullable-text-control.d.ts +0 -3
  524. package/dist/types/components/form/control/number-control.d.ts +0 -9
  525. package/dist/types/components/form/control/password-control.d.ts +0 -3
  526. package/dist/types/components/form/control/segmented-control.d.ts +0 -10
  527. package/dist/types/components/form/control/string-date-control.d.ts +0 -3
  528. package/dist/types/components/form/control/tags-control.d.ts +0 -3
  529. package/dist/types/components/form/control/text-area-control.d.ts +0 -7
  530. package/dist/types/components/form/control/text-control.d.ts +0 -8
  531. package/dist/types/components/form/input/combobox.d.ts +0 -39
@@ -0,0 +1,84 @@
1
+ import type { ErrorObject } from 'ajv';
2
+ import type { ControllerValidation } from '../../form/controller/controller-validation';
3
+ /**
4
+ * Aggregated validation error information
5
+ */
6
+ export interface AggregatedError {
7
+ /** Field path where the error occurred */
8
+ path: string;
9
+ /** Human-readable field name */
10
+ fieldName: string;
11
+ /** Error message */
12
+ message: string;
13
+ /** Error severity level */
14
+ severity: 'error' | 'warning' | 'info';
15
+ /** Error source/type */
16
+ source: 'schema' | 'conditional' | 'crossField' | 'async' | 'custom';
17
+ /** Additional context */
18
+ context?: Record<string, unknown>;
19
+ /** Original error object */
20
+ originalError?: ErrorObject;
21
+ }
22
+ /**
23
+ * Error aggregation configuration
24
+ */
25
+ export interface ErrorAggregationConfig {
26
+ /** Whether to include warnings in aggregation */
27
+ includeWarnings?: boolean;
28
+ /** Whether to include info messages */
29
+ includeInfo?: boolean;
30
+ /** Maximum number of errors to aggregate per field */
31
+ maxErrorsPerField?: number;
32
+ /** Custom field name resolver */
33
+ fieldNameResolver?: (path: string) => string;
34
+ /** Custom error message formatter */
35
+ messageFormatter?: (error: AggregatedError) => string;
36
+ /** Error priority resolver (higher numbers = higher priority) */
37
+ priorityResolver?: (error: AggregatedError) => number;
38
+ }
39
+ /**
40
+ * Error aggregation result
41
+ */
42
+ export interface ErrorAggregationResult {
43
+ /** All aggregated errors */
44
+ errors: AggregatedError[];
45
+ /** Errors grouped by field path */
46
+ errorsByField: Record<string, AggregatedError[]>;
47
+ /** Error summary statistics */
48
+ summary: {
49
+ totalErrors: number;
50
+ errorCount: number;
51
+ warningCount: number;
52
+ infoCount: number;
53
+ fieldsWithErrors: number;
54
+ };
55
+ /** Whether the form has any validation errors */
56
+ hasErrors: boolean;
57
+ /** Whether the form has any warnings */
58
+ hasWarnings: boolean;
59
+ }
60
+ /**
61
+ * Aggregate validation errors from multiple sources
62
+ */
63
+ export declare function aggregateValidationErrors(sources: {
64
+ ajvErrors?: ErrorObject[];
65
+ controllerValidation?: ControllerValidation;
66
+ asyncErrors?: Record<string, ControllerValidation>;
67
+ customErrors?: AggregatedError[];
68
+ }, config?: ErrorAggregationConfig): ErrorAggregationResult;
69
+ /**
70
+ * Create a formatted error summary for display
71
+ */
72
+ export declare function formatErrorSummary(result: ErrorAggregationResult, config?: ErrorAggregationConfig): string[];
73
+ /**
74
+ * Get the first error for each field (useful for inline validation display)
75
+ */
76
+ export declare function getFirstErrorPerField(result: ErrorAggregationResult): Record<string, AggregatedError>;
77
+ /**
78
+ * Check if a specific field has errors
79
+ */
80
+ export declare function fieldHasErrors(result: ErrorAggregationResult, fieldPath: string): boolean;
81
+ /**
82
+ * Get errors for a specific field
83
+ */
84
+ export declare function getFieldErrors(result: ErrorAggregationResult, fieldPath: string): AggregatedError[];
@@ -0,0 +1,120 @@
1
+ import type { ValidateFunction } from 'ajv';
2
+ import type { ControllerValidation } from '../../form/controller/controller-validation';
3
+ /**
4
+ * Performance optimization configuration
5
+ */
6
+ export interface ValidationPerformanceConfig {
7
+ /** Enable validation result caching */
8
+ enableCaching?: boolean;
9
+ /** Cache TTL in milliseconds (default: 5 minutes) */
10
+ cacheTTL?: number;
11
+ /** Maximum cache size (default: 1000 entries) */
12
+ maxCacheSize?: number;
13
+ /** Enable validation batching */
14
+ enableBatching?: boolean;
15
+ /** Batch delay in milliseconds (default: 50ms) */
16
+ batchDelay?: number;
17
+ /** Enable incremental validation */
18
+ enableIncremental?: boolean;
19
+ /** Enable validation prioritization */
20
+ enablePrioritization?: boolean;
21
+ /** Validation timeout in milliseconds */
22
+ validationTimeout?: number;
23
+ }
24
+ /**
25
+ * Performance metrics
26
+ */
27
+ export interface ValidationMetrics {
28
+ /** Total validations performed */
29
+ totalValidations: number;
30
+ /** Cache hits */
31
+ cacheHits: number;
32
+ /** Cache misses */
33
+ cacheMisses: number;
34
+ /** Average validation time (ms) */
35
+ averageValidationTime: number;
36
+ /** Batched validations */
37
+ batchedValidations: number;
38
+ /** Skipped validations (incremental) */
39
+ skippedValidations: number;
40
+ }
41
+ /**
42
+ * Validation performance optimizer
43
+ */
44
+ export declare class ValidationPerformanceOptimizer {
45
+ private config;
46
+ private cache;
47
+ private batchQueue;
48
+ private batchTimeout;
49
+ private metrics;
50
+ private validationTimes;
51
+ constructor(config?: ValidationPerformanceConfig);
52
+ /**
53
+ * Create a hash of a value for caching
54
+ */
55
+ private createValueHash;
56
+ /**
57
+ * Check if cache entry is valid
58
+ */
59
+ private isCacheEntryValid;
60
+ /**
61
+ * Clean expired cache entries
62
+ */
63
+ private cleanCache;
64
+ /**
65
+ * Get cached validation result
66
+ */
67
+ private getCachedResult;
68
+ /**
69
+ * Cache validation result
70
+ */
71
+ private setCachedResult;
72
+ /**
73
+ * Process validation batch
74
+ */
75
+ private processBatch;
76
+ /**
77
+ * Record validation timing
78
+ */
79
+ private recordValidationTime;
80
+ /**
81
+ * Optimized validation with caching, batching, and performance tracking
82
+ */
83
+ validateOptimized(value: unknown, validator: ValidateFunction, cacheKey: string, options?: {
84
+ priority?: number;
85
+ dependencies?: string[];
86
+ skipIncremental?: boolean;
87
+ }): Promise<ControllerValidation>;
88
+ /**
89
+ * Invalidate cache entries that depend on changed fields
90
+ */
91
+ invalidateDependentCache(changedFields: string[]): void;
92
+ /**
93
+ * Check if incremental validation should be skipped
94
+ */
95
+ shouldSkipValidation(newValue: unknown, oldValue: unknown, _fieldPath: string): boolean;
96
+ /**
97
+ * Get performance metrics
98
+ */
99
+ getMetrics(): ValidationMetrics;
100
+ /**
101
+ * Reset performance metrics
102
+ */
103
+ resetMetrics(): void;
104
+ /**
105
+ * Clear all caches
106
+ */
107
+ clearCache(): void;
108
+ /**
109
+ * Get cache statistics
110
+ */
111
+ getCacheStats(): {
112
+ size: number;
113
+ hitRate: number;
114
+ averageAge: number;
115
+ };
116
+ /**
117
+ * Dispose of resources
118
+ */
119
+ dispose(): void;
120
+ }
@@ -0,0 +1,10 @@
1
+ import type { StandardSchemaV1 } from '../form/schema/standard-schema-v1';
2
+ import Ajv, { type JSONSchemaType } from 'ajv';
3
+ /**
4
+ * Create a StandardSchemaV1 validator from a JSON Schema using AJV.
5
+ * - Vendor: 'ajv'
6
+ * - Returns StandardSchemaV1-compliant validate() that maps AJV errors to standard issues
7
+ */
8
+ export declare function createAJVStandardSchema<T = unknown>(schema: JSONSchemaType<T>, options?: {
9
+ ajv?: Ajv;
10
+ }): StandardSchemaV1<T>;
@@ -0,0 +1,77 @@
1
+ import type { JSONSchema } from '../schema-context';
2
+ import { type Signal } from '@tempots/dom';
3
+ /**
4
+ * Visibility condition configuration
5
+ */
6
+ export interface VisibilityCondition {
7
+ /** Field path to watch (relative to current context) */
8
+ field: string;
9
+ /** Comparison operator */
10
+ operator: 'equals' | 'notEquals' | 'truthy' | 'falsy' | 'contains' | 'notContains' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'in' | 'notIn';
11
+ /** Value to compare against (not needed for truthy/falsy) */
12
+ value?: unknown;
13
+ /** Multiple values for 'in'/'notIn' operators */
14
+ values?: unknown[];
15
+ }
16
+ /**
17
+ * Complex visibility expression
18
+ */
19
+ export interface VisibilityExpression {
20
+ /** Logical operator */
21
+ operator: 'and' | 'or' | 'not';
22
+ /** Child conditions or expressions */
23
+ conditions: (VisibilityCondition | VisibilityExpression)[];
24
+ }
25
+ /**
26
+ * Visibility configuration from x:ui
27
+ */
28
+ export type VisibilityConfig = VisibilityCondition | VisibilityExpression | string;
29
+ /**
30
+ * Extract visibility configuration from schema x:ui
31
+ */
32
+ export declare function getVisibilityConfig(schema: JSONSchema): VisibilityConfig | undefined;
33
+ /**
34
+ * Evaluate visibility configuration against form data
35
+ */
36
+ export declare function evaluateVisibility(config: VisibilityConfig, formData: unknown): boolean;
37
+ /**
38
+ * Create a reactive visibility signal based on form data
39
+ */
40
+ export declare function createVisibilitySignal(config: VisibilityConfig, formDataSignal: Signal<unknown>): Signal<boolean>;
41
+ /**
42
+ * Get all field paths referenced in a visibility configuration
43
+ */
44
+ export declare function getReferencedFields(config: VisibilityConfig): string[];
45
+ /**
46
+ * Helper to create common visibility conditions
47
+ */
48
+ export declare const VisibilityConditions: {
49
+ /**
50
+ * Field equals specific value
51
+ */
52
+ equals: (field: string, value: unknown) => VisibilityCondition;
53
+ /**
54
+ * Field is truthy
55
+ */
56
+ truthy: (field: string) => VisibilityCondition;
57
+ /**
58
+ * Field is falsy
59
+ */
60
+ falsy: (field: string) => VisibilityCondition;
61
+ /**
62
+ * Field value is in array
63
+ */
64
+ in: (field: string, values: unknown[]) => VisibilityCondition;
65
+ /**
66
+ * Combine conditions with AND
67
+ */
68
+ and: (...conditions: (VisibilityCondition | VisibilityExpression)[]) => VisibilityExpression;
69
+ /**
70
+ * Combine conditions with OR
71
+ */
72
+ or: (...conditions: (VisibilityCondition | VisibilityExpression)[]) => VisibilityExpression;
73
+ /**
74
+ * Negate condition
75
+ */
76
+ not: (condition: VisibilityCondition | VisibilityExpression) => VisibilityExpression;
77
+ };
@@ -0,0 +1,56 @@
1
+ import { Renderable } from '@tempots/dom';
2
+ import type { Controller } from '../../form';
3
+ import type { SchemaContext } from '../schema-context';
4
+ import { type VisibilityConfig, type VisibilityCondition, type VisibilityExpression } from './visibility-evaluation';
5
+ /**
6
+ * Visibility behavior options
7
+ */
8
+ export interface VisibilityOptions {
9
+ /** How to handle hidden fields */
10
+ behavior: 'hide' | 'unmount';
11
+ /** Whether to clear field value when hidden */
12
+ clearOnHide?: boolean;
13
+ }
14
+ /**
15
+ * Wrapper component that handles field visibility based on x:ui.visibleIf
16
+ */
17
+ export declare function WithVisibility<T>({ ctx, controller, children, options, }: {
18
+ ctx: SchemaContext;
19
+ controller: Controller<T>;
20
+ children: Renderable;
21
+ options?: Partial<VisibilityOptions>;
22
+ }): Renderable;
23
+ /**
24
+ * Enhanced visibility wrapper that also handles CSS classes for hiding
25
+ */
26
+ export declare function WithVisibilityAndCSS<T>({ ctx, controller, children, options, }: {
27
+ ctx: SchemaContext;
28
+ controller: Controller<T>;
29
+ children: Renderable;
30
+ options?: Partial<VisibilityOptions>;
31
+ hiddenClass?: string;
32
+ }): Renderable;
33
+ /**
34
+ * Utility to check if a schema has visibility conditions
35
+ */
36
+ export declare function hasVisibilityConditions(ctx: SchemaContext): boolean;
37
+ /**
38
+ * Utility to get all fields referenced by visibility conditions in a schema
39
+ */
40
+ export declare function getVisibilityDependencies(ctx: SchemaContext): string[];
41
+ /**
42
+ * Helper to create visibility conditions programmatically
43
+ */
44
+ export declare function createVisibilityCondition(field: string, operator: 'equals' | 'notEquals' | 'truthy' | 'falsy', value?: unknown): VisibilityConfig;
45
+ /**
46
+ * Helper to create complex visibility expressions
47
+ */
48
+ export declare function createVisibilityExpression(operator: 'and' | 'or' | 'not', conditions: (VisibilityCondition | VisibilityExpression)[]): VisibilityExpression;
49
+ /**
50
+ * Validation helper to check if visibility configuration is valid
51
+ */
52
+ export declare function validateVisibilityConfig(config: unknown): config is VisibilityConfig;
53
+ /**
54
+ * Debug helper to log visibility evaluation
55
+ */
56
+ export declare function debugVisibility(config: VisibilityConfig, formData: unknown, fieldPath?: string): void;
@@ -0,0 +1,70 @@
1
+ import { Renderable } from '@tempots/dom';
2
+ import { type Controller } from '../../form';
3
+ /**
4
+ * File upload widget configuration
5
+ */
6
+ export interface FileUploadConfig {
7
+ /** Accepted file types (MIME types or extensions) */
8
+ accept?: string[];
9
+ /** Maximum file size in bytes */
10
+ maxSize?: number;
11
+ /** Allow multiple files */
12
+ multiple?: boolean;
13
+ /** Upload endpoint URL */
14
+ uploadUrl?: string;
15
+ /** Custom upload handler */
16
+ onUpload?: (files: FileList) => Promise<string | string[]>;
17
+ /** Preview mode for images */
18
+ showPreview?: boolean;
19
+ }
20
+ /**
21
+ * Rich text editor configuration
22
+ */
23
+ export interface RichTextConfig {
24
+ /** Toolbar options */
25
+ toolbar?: ('bold' | 'italic' | 'underline' | 'link' | 'list' | 'heading')[];
26
+ /** Maximum length */
27
+ maxLength?: number;
28
+ /** Placeholder text */
29
+ placeholder?: string;
30
+ /** Output format */
31
+ format?: 'html' | 'markdown' | 'text';
32
+ }
33
+ /**
34
+ * Code editor configuration
35
+ */
36
+ export interface CodeEditorConfig {
37
+ /** Programming language */
38
+ language?: string;
39
+ /** Theme */
40
+ theme?: 'light' | 'dark' | 'auto';
41
+ /** Show line numbers */
42
+ lineNumbers?: boolean;
43
+ /** Enable syntax highlighting */
44
+ syntaxHighlighting?: boolean;
45
+ /** Tab size */
46
+ tabSize?: number;
47
+ /** Enable code folding */
48
+ codeFolding?: boolean;
49
+ }
50
+ /**
51
+ * File upload widget
52
+ */
53
+ export declare function FileUploadWidget({ controller, config, }: {
54
+ controller: Controller<string | string[] | null>;
55
+ config?: FileUploadConfig;
56
+ }): Renderable;
57
+ /**
58
+ * Rich text editor widget (simplified implementation)
59
+ */
60
+ export declare function RichTextWidget({ controller, config, }: {
61
+ controller: Controller<string | null>;
62
+ config?: RichTextConfig;
63
+ }): Renderable;
64
+ /**
65
+ * Code editor widget (simplified implementation)
66
+ */
67
+ export declare function CodeEditorWidget({ controller, config, }: {
68
+ controller: Controller<string | null>;
69
+ config?: CodeEditorConfig;
70
+ }): Renderable;
@@ -0,0 +1,8 @@
1
+ import { Controller, InputWrapperOptions } from '@/components/form';
2
+ import { SchemaContext } from '../schema-context';
3
+ import { Renderable } from '@tempots/dom';
4
+ export declare function StringControl({ ctx, options, controller, }: {
5
+ ctx: SchemaContext;
6
+ options: Partial<InputWrapperOptions>;
7
+ controller: Controller<string | undefined>;
8
+ }): Renderable;
@@ -0,0 +1,3 @@
1
+ import { AnyStringWidgetOptions } from './string-type';
2
+ import { SchemaContext } from '../schema-context';
3
+ export declare function stringFormatDetection(ctx: SchemaContext): AnyStringWidgetOptions | undefined;
@@ -0,0 +1,62 @@
1
+ export type StringWidgetOptions = {
2
+ pattern?: string;
3
+ minLength?: number;
4
+ maxLength?: number;
5
+ };
6
+ export type BinaryWidgetOptions = StringWidgetOptions & {
7
+ format: 'binary';
8
+ mediaType?: string;
9
+ };
10
+ export type DateTimeWidgetOptions = StringWidgetOptions & {
11
+ format: 'date-time';
12
+ };
13
+ export type DateWidgetOptions = StringWidgetOptions & {
14
+ format: 'date';
15
+ };
16
+ export type EmailWidgetOptions = StringWidgetOptions & {
17
+ format: 'email';
18
+ };
19
+ export type MarkdownWidgetOptions = StringWidgetOptions & {
20
+ format: 'markdown';
21
+ };
22
+ export type PasswordWidgetOptions = StringWidgetOptions & {
23
+ format: 'password';
24
+ };
25
+ export type TextAreaWidgetOptions = StringWidgetOptions & {
26
+ format: 'textarea';
27
+ rows?: number;
28
+ };
29
+ export type TimeWidgetOptions = StringWidgetOptions & {
30
+ format: 'time';
31
+ };
32
+ export type UUIDWidgetOptions = StringWidgetOptions & {
33
+ format: 'uuid';
34
+ };
35
+ export type URIWidgetOptions = StringWidgetOptions & {
36
+ format: 'uri';
37
+ };
38
+ export type URLWidgetOptions = StringWidgetOptions & {
39
+ format: 'url';
40
+ };
41
+ export type URIReferenceWidgetOptions = StringWidgetOptions & {
42
+ format: 'uri-reference';
43
+ };
44
+ export type HostnameWidgetOptions = StringWidgetOptions & {
45
+ format: 'hostname';
46
+ };
47
+ export type IPv4WidgetOptions = StringWidgetOptions & {
48
+ format: 'ipv4';
49
+ };
50
+ export type IPv6WidgetOptions = StringWidgetOptions & {
51
+ format: 'ipv6';
52
+ };
53
+ export type RegexWidgetOptions = StringWidgetOptions & {
54
+ format: 'regex';
55
+ };
56
+ export type DurationWidgetOptions = StringWidgetOptions & {
57
+ format: 'duration';
58
+ };
59
+ export type ColorWidgetOptions = StringWidgetOptions & {
60
+ format: 'color';
61
+ };
62
+ export type AnyStringWidgetOptions = BinaryWidgetOptions | DateTimeWidgetOptions | DateWidgetOptions | EmailWidgetOptions | MarkdownWidgetOptions | PasswordWidgetOptions | TextAreaWidgetOptions | TimeWidgetOptions | UUIDWidgetOptions | URIWidgetOptions | URLWidgetOptions | URIReferenceWidgetOptions | HostnameWidgetOptions | IPv4WidgetOptions | IPv6WidgetOptions | RegexWidgetOptions | DurationWidgetOptions | ColorWidgetOptions;
@@ -0,0 +1,45 @@
1
+ import { JSONSchema } from '../schema-context';
2
+ /**
3
+ * Unified x:ui configuration types
4
+ */
5
+ export type XUIString = string;
6
+ export interface XUIObject {
7
+ /** Widget type - takes precedence over format */
8
+ widget?: string;
9
+ /** Format type - fallback if widget not specified */
10
+ format?: string;
11
+ /** Widget-specific options */
12
+ [key: string]: unknown;
13
+ }
14
+ export type XUIConfig = XUIString | XUIObject;
15
+ /**
16
+ * Resolved widget information with precedence applied
17
+ */
18
+ export interface ResolvedWidget {
19
+ /** The effective widget type */
20
+ widget: string;
21
+ /** Source of the widget selection for debugging */
22
+ source: 'explicit-widget' | 'explicit-format' | 'schema-format' | 'schema-media' | 'constraints' | 'heuristics' | 'type-fallback';
23
+ /** Additional options from x:ui object */
24
+ options?: Record<string, unknown>;
25
+ }
26
+ /**
27
+ * Extract x:ui configuration from schema definition
28
+ */
29
+ export declare function getXUIConfig(definition: JSONSchema): XUIConfig | undefined;
30
+ /**
31
+ * Resolve effective widget with precedence rules:
32
+ * 1. Explicit x:ui.widget
33
+ * 2. Explicit x:ui.format (or x:ui as string)
34
+ * 3. Schema format property
35
+ * 4. Schema contentMediaType/contentEncoding
36
+ * 5. Schema constraints (enum, const, min/max, etc.)
37
+ * 6. Heuristics (property names, length bounds)
38
+ * 7. Type fallback
39
+ */
40
+ export declare function resolveWidget(definition: JSONSchema, propertyName?: string): ResolvedWidget | undefined;
41
+ /**
42
+ * Legacy function for backward compatibility
43
+ * @deprecated Use resolveWidget instead
44
+ */
45
+ export declare function getUIFormat(definition: JSONSchema): string | undefined;
@@ -0,0 +1,144 @@
1
+ import type { Renderable } from '@tempots/dom';
2
+ import type { Controller } from '../../form';
3
+ import type { SchemaContext, JSONSchemaDefinition } from '../schema-context';
4
+ import type { WidgetFactory } from './widget-customization';
5
+ /**
6
+ * Widget composition configuration
7
+ */
8
+ export interface WidgetComposition {
9
+ /** Layout type for composition */
10
+ layout: 'horizontal' | 'vertical' | 'grid' | 'tabs' | 'accordion' | 'custom';
11
+ /** Widgets to compose */
12
+ widgets: ComposedWidget[];
13
+ /** Layout-specific options */
14
+ layoutOptions?: {
15
+ /** Grid columns (for grid layout) */
16
+ columns?: number;
17
+ /** Gap between widgets */
18
+ gap?: string;
19
+ /** Alignment */
20
+ align?: 'start' | 'center' | 'end' | 'stretch';
21
+ /** Custom CSS classes */
22
+ className?: string;
23
+ };
24
+ /** Conditional composition rules */
25
+ conditions?: CompositionCondition[];
26
+ }
27
+ /**
28
+ * Individual widget in a composition
29
+ */
30
+ export interface ComposedWidget {
31
+ /** Widget type/name */
32
+ type: string;
33
+ /** Widget-specific configuration */
34
+ config?: Record<string, unknown>;
35
+ /** Widget label/title */
36
+ label?: string;
37
+ /** Widget description */
38
+ description?: string;
39
+ /** Conditional visibility */
40
+ condition?: string | ((value: unknown, formData: unknown) => boolean);
41
+ /** Layout constraints */
42
+ layout?: {
43
+ /** Grid column span */
44
+ colSpan?: number;
45
+ /** Grid row span */
46
+ rowSpan?: number;
47
+ /** Flex grow factor */
48
+ grow?: number;
49
+ /** Flex shrink factor */
50
+ shrink?: number;
51
+ /** Minimum width */
52
+ minWidth?: string;
53
+ /** Maximum width */
54
+ maxWidth?: string;
55
+ };
56
+ /** Custom styling */
57
+ style?: Record<string, string>;
58
+ /** Custom CSS classes */
59
+ className?: string;
60
+ }
61
+ /**
62
+ * Composition condition for dynamic widget selection
63
+ */
64
+ export interface CompositionCondition {
65
+ /** Condition to evaluate */
66
+ condition: string | ((value: unknown, formData: unknown) => boolean);
67
+ /** Composition to use when condition is true */
68
+ then: WidgetComposition;
69
+ /** Composition to use when condition is false */
70
+ else?: WidgetComposition;
71
+ }
72
+ /**
73
+ * Widget composition renderer
74
+ */
75
+ export declare class WidgetComposer {
76
+ private widgetFactories;
77
+ /**
78
+ * Register a widget factory for composition
79
+ */
80
+ registerWidget(name: string, factory: WidgetFactory): void;
81
+ /**
82
+ * Unregister a widget factory
83
+ */
84
+ unregisterWidget(name: string): void;
85
+ /**
86
+ * Render a composed widget
87
+ */
88
+ renderComposition(composition: WidgetComposition, controller: Controller<unknown>, ctx: SchemaContext): Renderable;
89
+ /**
90
+ * Evaluate composition conditions
91
+ */
92
+ private evaluateConditions;
93
+ /**
94
+ * Evaluate widget visibility condition
95
+ */
96
+ private evaluateWidgetCondition;
97
+ /**
98
+ * Evaluate a condition
99
+ */
100
+ private evaluateCondition;
101
+ /**
102
+ * Render an individual widget
103
+ */
104
+ private renderWidget;
105
+ /**
106
+ * Wrap widget with layout constraints and styling
107
+ */
108
+ private wrapWidget;
109
+ /**
110
+ * Apply layout to rendered widgets
111
+ */
112
+ private applyLayout;
113
+ }
114
+ /**
115
+ * Global widget composer instance
116
+ */
117
+ export declare const globalWidgetComposer: WidgetComposer;
118
+ /**
119
+ * Extract widget composition from schema x:ui
120
+ */
121
+ export declare function getWidgetComposition(schema: JSONSchemaDefinition): WidgetComposition | undefined;
122
+ /**
123
+ * Helper to create a simple horizontal composition
124
+ */
125
+ export declare function createHorizontalComposition(widgets: Array<{
126
+ type: string;
127
+ config?: Record<string, unknown>;
128
+ label?: string;
129
+ }>, options?: {
130
+ gap?: string;
131
+ align?: 'start' | 'center' | 'end' | 'stretch';
132
+ }): WidgetComposition;
133
+ /**
134
+ * Helper to create a simple grid composition
135
+ */
136
+ export declare function createGridComposition(widgets: Array<{
137
+ type: string;
138
+ config?: Record<string, unknown>;
139
+ label?: string;
140
+ colSpan?: number;
141
+ rowSpan?: number;
142
+ }>, columns: number, options?: {
143
+ gap?: string;
144
+ }): WidgetComposition;