@tempots/beatui 0.16.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 (612) 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-NCCPhOpI.js +38 -0
  13. package/dist/ar-VA2yE-1i.js +82 -0
  14. package/dist/asciiarmor-2LVJmxlE.js +34 -0
  15. package/dist/asciiarmor-BMx3XVjX.cjs +1 -0
  16. package/dist/asn1-OOsVM4yU.cjs +1 -0
  17. package/dist/asn1-jKiBa2Ya.js +95 -0
  18. package/dist/asterisk-B1QUaW1C.cjs +1 -0
  19. package/dist/asterisk-DS281yxp.js +271 -0
  20. package/dist/auth/index.cjs.js +1 -0
  21. package/dist/auth/index.es.js +1331 -0
  22. package/dist/beatui.css +1 -1
  23. package/dist/brainfuck-BjUlYKdF.cjs +1 -0
  24. package/dist/brainfuck-C_p9pTT8.js +34 -0
  25. package/dist/clike-BEMIzMUI.cjs +1 -0
  26. package/dist/clike-DGTaUp48.js +620 -0
  27. package/dist/clojure-Ap_IXD2I.cjs +1 -0
  28. package/dist/clojure-CCKyeQKf.js +800 -0
  29. package/dist/cmake-C4D5_VmS.cjs +1 -0
  30. package/dist/cmake-CuaCgAKt.js +28 -0
  31. package/dist/cobol-BlTKFDRj.js +72 -0
  32. package/dist/cobol-Du-cT2hr.cjs +1 -0
  33. package/dist/coffeescript-BVCvwO8I.js +179 -0
  34. package/dist/coffeescript-DDFAj2ea.cjs +1 -0
  35. package/dist/commonlisp-CXBBRCTx.cjs +1 -0
  36. package/dist/commonlisp-D_kxz07b.js +75 -0
  37. package/dist/crystal-D309uH6_.js +217 -0
  38. package/dist/crystal-DAFWRDbh.cjs +1 -0
  39. package/dist/css-BkF-NPzE.js +1553 -0
  40. package/dist/css-DzFJyRJ8.cjs +1 -0
  41. package/dist/cypher-BMq4Fwjl.js +68 -0
  42. package/dist/cypher-BN0-oCze.cjs +1 -0
  43. package/dist/d-BHsqGcfm.cjs +1 -0
  44. package/dist/d-BZcgY6La.js +127 -0
  45. package/dist/de-BIj_wrpg.cjs +1 -0
  46. package/dist/de-BUFLEyKr.cjs +1 -0
  47. package/dist/de-BVK2MkCk.js +38 -0
  48. package/dist/de-C14QN5V1.js +82 -0
  49. package/dist/diff-CemTHKfk.cjs +1 -0
  50. package/dist/diff-Cg9d_RX2.js +18 -0
  51. package/dist/dockerfile-BBTH3voH.cjs +1 -0
  52. package/dist/dockerfile-DIy8NleC.js +194 -0
  53. package/dist/dtd-ChoVQPwv.cjs +1 -0
  54. package/dist/dtd-CtLokQ-U.js +84 -0
  55. package/dist/dylan-QYeExnWK.js +234 -0
  56. package/dist/dylan-apTQIgUA.cjs +1 -0
  57. package/dist/ebnf-DUPDuY4r.js +78 -0
  58. package/dist/ebnf-LYmLy17h.cjs +1 -0
  59. package/dist/ecl-C7WNQq7-.cjs +1 -0
  60. package/dist/ecl-CiXN-g_D.js +121 -0
  61. package/dist/eiffel-BJThA8RG.cjs +1 -0
  62. package/dist/eiffel-yQhjl4T1.js +110 -0
  63. package/dist/elm-CNT9vbN0.js +108 -0
  64. package/dist/elm-CcXP9T36.cjs +1 -0
  65. package/dist/erlang-B6mpcObI.cjs +1 -0
  66. package/dist/erlang-CFOYdy9e.js +487 -0
  67. package/dist/es-B5GqMkMg.js +82 -0
  68. package/dist/es-BQS8PL9j.js +38 -0
  69. package/dist/es-BxBeTRCv.cjs +1 -0
  70. package/dist/es-D1oMYUqV.cjs +1 -0
  71. package/dist/fa-BxlrmcQK.js +82 -0
  72. package/dist/fa-D5TvDNdj.cjs +1 -0
  73. package/dist/fa-DxPseW3g.cjs +1 -0
  74. package/dist/fa-T-tkJSJr.js +38 -0
  75. package/dist/factor-B-tsx9yW.cjs +1 -0
  76. package/dist/factor-DDOC7X6P.js +65 -0
  77. package/dist/fcl-BzAKklXo.cjs +1 -0
  78. package/dist/fcl-CPC2WYrI.js +103 -0
  79. package/dist/forth-BmxRyE9S.js +60 -0
  80. package/dist/forth-CPAzyZ_n.cjs +1 -0
  81. package/dist/fortran-9bvPyrOW.js +442 -0
  82. package/dist/fortran-DHiTlGV1.cjs +1 -0
  83. package/dist/fr-BzFxzocR.js +82 -0
  84. package/dist/fr-CSRRhyCG.js +38 -0
  85. package/dist/fr-Cdyopuz3.cjs +1 -0
  86. package/dist/fr-DPGRV4C4.cjs +1 -0
  87. package/dist/gas-BiPtGF2E.cjs +1 -0
  88. package/dist/gas-cpmYfFX2.js +183 -0
  89. package/dist/gherkin-CJuwpceU.js +34 -0
  90. package/dist/gherkin-Djo7Y51D.cjs +1 -0
  91. package/dist/groovy-BMVITiCm.cjs +1 -0
  92. package/dist/groovy-DZeT_VM-.js +146 -0
  93. package/dist/haskell-Bvt3Qq1t.js +375 -0
  94. package/dist/haskell-CngODaW-.cjs +1 -0
  95. package/dist/haxe-70NVW1pR.js +359 -0
  96. package/dist/haxe-Dyk-piTh.cjs +1 -0
  97. package/dist/he-Bxdc4M08.js +38 -0
  98. package/dist/he-DarDNPn0.cjs +1 -0
  99. package/dist/he-DjHXtt_S.js +82 -0
  100. package/dist/he-XNDY7609.cjs +1 -0
  101. package/dist/hi-CJeFvTBe.js +38 -0
  102. package/dist/hi-Xlc0IeoY.js +82 -0
  103. package/dist/hi-eMrnBh0O.cjs +1 -0
  104. package/dist/hi-tATwsXJ6.cjs +1 -0
  105. package/dist/http-BkLifcnL.cjs +1 -0
  106. package/dist/http-D9LttvKF.js +44 -0
  107. package/dist/idl-B6TRFYjl.js +947 -0
  108. package/dist/idl-FmHDmsE-.cjs +1 -0
  109. package/dist/index-22y56f5G.js +270 -0
  110. package/dist/index-85k3bgcY.cjs +1 -0
  111. package/dist/index-9HEatb8C.js +612 -0
  112. package/dist/index-B16dbwxM.cjs +1 -0
  113. package/dist/index-B1w_-cUQ.js +136 -0
  114. package/dist/index-B2079wM-.js +921 -0
  115. package/dist/index-B66rNs5i.cjs +2 -0
  116. package/dist/index-B79joQIU.js +76 -0
  117. package/dist/index-BDr9qHd0.js +138 -0
  118. package/dist/index-BF_OOMtT.js +1307 -0
  119. package/dist/index-BGcCFDkp.js +74 -0
  120. package/dist/index-BKr-B2hh.js +1874 -0
  121. package/dist/index-BUKtbimR.cjs +6 -0
  122. package/dist/index-BWxeedWQ.js +59 -0
  123. package/dist/index-BYk56bqR.cjs +13 -0
  124. package/dist/index-BZHMnjr6.cjs +1 -0
  125. package/dist/index-BguvTLHu.cjs +1 -0
  126. package/dist/index-BmUA4_Ip.js +302 -0
  127. package/dist/index-By8a3eg5.cjs +1 -0
  128. package/dist/index-C0t8aD9u.js +94 -0
  129. package/dist/index-C3BW17zm.cjs +1 -0
  130. package/dist/index-C4UzgyIA.cjs +1 -0
  131. package/dist/index-CIfx_bs7.cjs +7 -0
  132. package/dist/index-COyS3EXB.js +289 -0
  133. package/dist/index-CRfUh74G.cjs +1 -0
  134. package/dist/index-CY_sj-qf.js +309 -0
  135. package/dist/index-CeYwt1r1.js +342 -0
  136. package/dist/index-Cohec4rB.cjs +1 -0
  137. package/dist/index-CpqyQcup.js +552 -0
  138. package/dist/index-D-Rzl363.cjs +1 -0
  139. package/dist/index-D48AYUAg.js +226 -0
  140. package/dist/index-DD8_efWr.cjs +1 -0
  141. package/dist/index-DIO06RsV.js +554 -0
  142. package/dist/index-DLJt9Ebe.cjs +8 -0
  143. package/dist/index-DSvEBuy-.cjs +3 -0
  144. package/dist/index-DV7tB1MN.cjs +1 -0
  145. package/dist/index-DgUJYXoy.cjs +1 -0
  146. package/dist/index-Dghyrng7.js +960 -0
  147. package/dist/index-DjNMMz5-.cjs +1 -0
  148. package/dist/index-DpHYZhFL.js +251 -0
  149. package/dist/index-DutbjaBQ.js +101 -0
  150. package/dist/index-DxG_avr8.cjs +1 -0
  151. package/dist/index-FEy4Hwnx.cjs +1 -0
  152. package/dist/index-d3p39HQv.js +157 -0
  153. package/dist/index-dsitEt8M.cjs +1 -0
  154. package/dist/index-kk6qFeC5.cjs +1 -0
  155. package/dist/index-tOao3Qu5.js +953 -0
  156. package/dist/index-xnxTfNd2.js +8283 -0
  157. package/dist/index.cjs.js +143 -0
  158. package/dist/index.es.js +4736 -7849
  159. package/dist/index.esm-8xolKogd.cjs +1 -0
  160. package/dist/index.esm-CSotgpVw.js +4959 -0
  161. package/dist/it-BmFag7j0.cjs +1 -0
  162. package/dist/it-CR0FAQEB.js +82 -0
  163. package/dist/it-DzUV0SmB.cjs +1 -0
  164. package/dist/it-Zmp0BhIj.js +38 -0
  165. package/dist/ja-DWjoA-hQ.js +38 -0
  166. package/dist/ja-Dj-bAKLf.cjs +1 -0
  167. package/dist/ja-WICb5O3K.js +83 -0
  168. package/dist/ja-f2fDsTUD.cjs +1 -0
  169. package/dist/javascript-C2yteZeJ.js +691 -0
  170. package/dist/javascript-DngSGg_0.cjs +1 -0
  171. package/dist/jinja2-DnB6dQmV.js +154 -0
  172. package/dist/jinja2-wbVbDTNi.cjs +1 -0
  173. package/dist/json-schema/index.cjs.js +1 -0
  174. package/dist/json-schema/index.es.js +37 -0
  175. package/dist/julia-DA67Qw9E.cjs +1 -0
  176. package/dist/julia-DpvXAuO6.js +241 -0
  177. package/dist/ko-30evSGGW.js +82 -0
  178. package/dist/ko-BOlI-33h.js +38 -0
  179. package/dist/ko-BomUE-yQ.cjs +1 -0
  180. package/dist/ko-DvDEQ6FS.cjs +1 -0
  181. package/dist/link-portal-B-RvroWY.js +5 -0
  182. package/dist/link-portal-_tiDFZqh.cjs +1 -0
  183. package/dist/livescript-Bg3URadp.cjs +1 -0
  184. package/dist/livescript-CanGTf8u.js +272 -0
  185. package/dist/lua-CIsxjGwi.cjs +1 -0
  186. package/dist/lua-XplVlWi_.js +217 -0
  187. package/dist/markdown/index.cjs.js +2 -0
  188. package/dist/markdown/index.es.js +422 -0
  189. package/dist/markdown.css +39 -0
  190. package/dist/mathematica-BG089QIc.cjs +1 -0
  191. package/dist/mathematica-jaRHnSxC.js +35 -0
  192. package/dist/mbox-BctzC1hL.js +76 -0
  193. package/dist/mbox-CySolFFZ.cjs +1 -0
  194. package/dist/milkdown/index.cjs.js +1 -0
  195. package/dist/milkdown/index.es.js +4 -0
  196. package/dist/milkdown-input-C-Muq7PQ.cjs +941 -0
  197. package/dist/milkdown-input-DaN9l6E_.js +62376 -0
  198. package/dist/milkdown-url-BKbqhNCO.js +4 -0
  199. package/dist/milkdown-url-BLgXPmZR.cjs +1 -0
  200. package/dist/milkdown.css +1903 -0
  201. package/dist/mirc-BfqEffzk.cjs +1 -0
  202. package/dist/mirc-CFBPAOaF.js +72 -0
  203. package/dist/mllike-BSnXJBGA.js +272 -0
  204. package/dist/mllike-QUjwI6zq.cjs +1 -0
  205. package/dist/modal-Ba2uXVSD.cjs +1 -0
  206. package/dist/modal-CeVJb-Ko.js +614 -0
  207. package/dist/modelica-B6Zhcb-M.cjs +1 -0
  208. package/dist/modelica-vUgVs--1.js +93 -0
  209. package/dist/monaco/index.cjs.js +2 -0
  210. package/dist/monaco/index.es.js +269 -0
  211. package/dist/monaco.css +14 -0
  212. package/dist/mscgen-BToym4Bs.cjs +1 -0
  213. package/dist/mscgen-Cpl0NYLN.js +104 -0
  214. package/dist/mumps-CQoS1kWX.js +25 -0
  215. package/dist/mumps-wfyQdxSu.cjs +1 -0
  216. package/dist/nginx-CwqyBUfA.cjs +1 -0
  217. package/dist/nginx-zDPm3Z74.js +89 -0
  218. package/dist/nl-DaCzsF01.js +83 -0
  219. package/dist/nl-Dr-l6zUy.cjs +1 -0
  220. package/dist/nl-hmXJvCw7.cjs +1 -0
  221. package/dist/nl-kQNcAdY1.js +38 -0
  222. package/dist/notice-BgnHRPMk.js +2432 -0
  223. package/dist/notice-t8qZIDvK.cjs +1 -0
  224. package/dist/nsis-DPj2fUaP.cjs +1 -0
  225. package/dist/nsis-fePjrhq7.js +62 -0
  226. package/dist/ntriples-CsNjv2QF.js +79 -0
  227. package/dist/ntriples-DgwJmozm.cjs +1 -0
  228. package/dist/octave-1pkKrgAA.cjs +1 -0
  229. package/dist/octave-C8PmmSRH.js +143 -0
  230. package/dist/oz-BXOZCt0U.cjs +1 -0
  231. package/dist/oz-Ce8aN8oE.js +151 -0
  232. package/dist/pascal-De0D6mP7.js +77 -0
  233. package/dist/pascal-DtY2LEkJ.cjs +1 -0
  234. package/dist/perl-B4bSCe1C.js +915 -0
  235. package/dist/perl-CVDWbEju.cjs +1 -0
  236. package/dist/pig-D24Z8EXi.js +54 -0
  237. package/dist/pig-DMByOrnr.cjs +1 -0
  238. package/dist/pl-BK0i_yvq.cjs +1 -0
  239. package/dist/pl-CKyPFvss.js +38 -0
  240. package/dist/pl-Cg5Kr9eZ.cjs +1 -0
  241. package/dist/pl-DlMR1sq8.js +83 -0
  242. package/dist/powershell-BaoYaFvj.cjs +1 -0
  243. package/dist/powershell-DkYVfTzP.js +249 -0
  244. package/dist/preprocess-CvkqwVNt.cjs +3 -0
  245. package/dist/preprocess-D898zxsP.js +2295 -0
  246. package/dist/properties-DXHJZ3WE.cjs +1 -0
  247. package/dist/properties-Dn9wna3M.js +26 -0
  248. package/dist/protobuf-BKhXdfH6.cjs +1 -0
  249. package/dist/protobuf-BPIjwpzm.js +49 -0
  250. package/dist/pt-B7uWbJ1j.cjs +1 -0
  251. package/dist/pt-DBmUhaNI.js +38 -0
  252. package/dist/pt-lX3h34iM.js +82 -0
  253. package/dist/pt-oBMmVYcu.cjs +1 -0
  254. package/dist/pug-CwAQJzGR.js +248 -0
  255. package/dist/pug-kEfRDOiF.cjs +1 -0
  256. package/dist/puppet-8mAyuMbW.cjs +1 -0
  257. package/dist/puppet-nyd4dhjf.js +45 -0
  258. package/dist/python-BkR3uSy8.js +313 -0
  259. package/dist/python-D-iU6WXz.cjs +1 -0
  260. package/dist/q-BPQ45Nxu.cjs +1 -0
  261. package/dist/q-DXjKs-tC.js +83 -0
  262. package/dist/r-LKEuhEGI.js +104 -0
  263. package/dist/r-r2_EZsON.cjs +1 -0
  264. package/dist/rpm-IznJm2Xc.js +57 -0
  265. package/dist/rpm-YK81m3qU.cjs +1 -0
  266. package/dist/ru-2aVFFaQ-.js +87 -0
  267. package/dist/ru-CrQR5RUx.cjs +1 -0
  268. package/dist/ru-CsJ_yT-7.js +38 -0
  269. package/dist/ru-CtxMmoa6.cjs +1 -0
  270. package/dist/ruby-CcYfvIk6.js +228 -0
  271. package/dist/ruby-Cn1sFkZF.cjs +1 -0
  272. package/dist/sas-7E8yHoCW.js +105 -0
  273. package/dist/sas-DAGcJy94.cjs +1 -0
  274. package/dist/scheme-B0ZrbojV.cjs +1 -0
  275. package/dist/scheme-DjibxsNh.js +124 -0
  276. package/dist/shell-BMYo43V6.cjs +1 -0
  277. package/dist/shell-C0C2sNA_.js +182 -0
  278. package/dist/sieve-Bwz7vjP5.js +72 -0
  279. package/dist/sieve-CIYW-b_H.cjs +1 -0
  280. package/dist/simple-mode-B0dvCdAA.js +89 -0
  281. package/dist/simple-mode-BIKNPBes.cjs +1 -0
  282. package/dist/smalltalk-Bhddl2pB.js +48 -0
  283. package/dist/smalltalk-CSslY-3i.cjs +1 -0
  284. package/dist/solr-A1kSnAwJ.cjs +1 -0
  285. package/dist/solr-BNlsLglM.js +41 -0
  286. package/dist/sparql-DnHMBLLY.cjs +1 -0
  287. package/dist/sparql-FarWu_Gb.js +197 -0
  288. package/dist/spreadsheet-B7_BK8hB.cjs +1 -0
  289. package/dist/spreadsheet-C-cy4P5N.js +49 -0
  290. package/dist/sql-9VmIWHrZ.cjs +1 -0
  291. package/dist/sql-CfG5lQ3l.js +282 -0
  292. package/dist/stex-B4wyjEnp.cjs +1 -0
  293. package/dist/stex-Du4h4KAU.js +129 -0
  294. package/dist/styles-url-B-d6aezR.cjs +1 -0
  295. package/dist/styles-url-B4WGMvfi.js +4 -0
  296. package/dist/styles-url-CZUL_YRT.cjs +1 -0
  297. package/dist/styles-url-DpP5gepF.js +4 -0
  298. package/dist/stylus-CAdqWld3.js +250 -0
  299. package/dist/stylus-D6GYOT3Z.cjs +1 -0
  300. package/dist/swift-DGw6Cgu8.cjs +1 -0
  301. package/dist/swift-DSxqR9R6.js +230 -0
  302. package/dist/tcl-ByLXbQFo.cjs +1 -0
  303. package/dist/tcl-xfoLljhY.js +81 -0
  304. package/dist/textile-D1AWE-pc.js +295 -0
  305. package/dist/textile-iryw-lTw.cjs +1 -0
  306. package/dist/theme-CJVt8QIc.js +34 -0
  307. package/dist/theme-YS3sFklH.cjs +1 -0
  308. package/dist/tiddlywiki-5wqsXtSk.js +155 -0
  309. package/dist/tiddlywiki-D8IJz1k7.cjs +1 -0
  310. package/dist/tiki-C5p5KSQK.cjs +1 -0
  311. package/dist/tiki-__Kn3CeS.js +181 -0
  312. package/dist/timer-CcMCjYrq.cjs +1 -0
  313. package/dist/timer-CkgWORR9.js +42 -0
  314. package/dist/toml-3ZsH_4Qa.cjs +1 -0
  315. package/dist/toml-BHiuTcfn.js +49 -0
  316. package/dist/tr-Bn5ldVJs.js +38 -0
  317. package/dist/tr-CgJ8uhZu.cjs +1 -0
  318. package/dist/tr-DN9zPGaS.cjs +1 -0
  319. package/dist/tr-DgRS_mcj.js +82 -0
  320. package/dist/translations-CSUEQrNH.cjs +2 -0
  321. package/dist/translations-CVR1KQJ3.js +47 -0
  322. package/dist/translations-CxMNY8i7.js +2006 -0
  323. package/dist/translations-pfS-x8Ak.cjs +1 -0
  324. package/dist/troff-D-3QCOYN.cjs +1 -0
  325. package/dist/troff-D2UO-fKf.js +35 -0
  326. package/dist/ttcn-Bsa4sfRm.js +123 -0
  327. package/dist/ttcn-C2MXAqcM.cjs +1 -0
  328. package/dist/ttcn-cfg-BYqcMRxC.cjs +1 -0
  329. package/dist/ttcn-cfg-Bac_acMi.js +88 -0
  330. package/dist/turtle-DSJNatSv.cjs +1 -0
  331. package/dist/turtle-xwJUxoPV.js +80 -0
  332. package/dist/types/auth/index.d.ts +1 -0
  333. package/dist/types/auth-i18n/default.d.ts +25 -25
  334. package/dist/types/auth-i18n/locales/ar.d.ts +25 -25
  335. package/dist/types/auth-i18n/locales/de.d.ts +25 -25
  336. package/dist/types/auth-i18n/locales/en.d.ts +25 -25
  337. package/dist/types/auth-i18n/locales/es.d.ts +25 -25
  338. package/dist/types/auth-i18n/locales/fa.d.ts +25 -25
  339. package/dist/types/auth-i18n/locales/fr.d.ts +25 -25
  340. package/dist/types/auth-i18n/locales/he.d.ts +25 -25
  341. package/dist/types/auth-i18n/locales/hi.d.ts +25 -25
  342. package/dist/types/auth-i18n/locales/it.d.ts +25 -25
  343. package/dist/types/auth-i18n/locales/ja.d.ts +25 -25
  344. package/dist/types/auth-i18n/locales/ko.d.ts +25 -25
  345. package/dist/types/auth-i18n/locales/nl.d.ts +25 -25
  346. package/dist/types/auth-i18n/locales/pl.d.ts +25 -25
  347. package/dist/types/auth-i18n/locales/pt.d.ts +25 -25
  348. package/dist/types/auth-i18n/locales/ru.d.ts +25 -25
  349. package/dist/types/auth-i18n/locales/tr.d.ts +25 -25
  350. package/dist/types/auth-i18n/locales/ur.d.ts +25 -25
  351. package/dist/types/auth-i18n/locales/vi.d.ts +25 -25
  352. package/dist/types/auth-i18n/locales/zh.d.ts +25 -25
  353. package/dist/types/auth-i18n/translations.d.ts +26 -26
  354. package/dist/types/beatui-i18n/default.d.ts +52 -41
  355. package/dist/types/beatui-i18n/locales/en.d.ts +52 -41
  356. package/dist/types/beatui-i18n/translations.d.ts +53 -42
  357. package/dist/types/components/auth/auth-divider.d.ts +2 -2
  358. package/dist/types/components/auth/index.d.ts +8 -6
  359. package/dist/types/components/auth/password-strength-indicator.d.ts +4 -4
  360. package/dist/types/components/auth/reset-password-form.d.ts +2 -2
  361. package/dist/types/components/auth/signin-form.d.ts +2 -2
  362. package/dist/types/components/auth/signup-form.d.ts +2 -2
  363. package/dist/types/components/auth/social-login-button.d.ts +27 -27
  364. package/dist/types/components/auth/types.d.ts +46 -48
  365. package/dist/types/components/auth/utils.d.ts +0 -2
  366. package/dist/types/components/button/button.d.ts +1 -1
  367. package/dist/types/components/button/close-button.d.ts +15 -0
  368. package/dist/types/components/button/index.d.ts +1 -0
  369. package/dist/types/components/data/tag.d.ts +3 -2
  370. package/dist/types/components/data/unstyled-drop-zone.d.ts +5 -2
  371. package/dist/types/components/form/control/control-factory.d.ts +24 -0
  372. package/dist/types/components/form/control/date-utils.d.ts +6 -0
  373. package/dist/types/components/form/control/index.d.ts +3 -22
  374. package/dist/types/components/form/control/list-control.d.ts +23 -14
  375. package/dist/types/components/form/controller/controller.d.ts +20 -1
  376. package/dist/types/components/form/controller/index.d.ts +2 -0
  377. package/dist/types/components/form/controller/union-controller.d.ts +53 -0
  378. package/dist/types/components/form/controller/utils.d.ts +4 -0
  379. package/dist/types/components/form/input/appearance-selector.d.ts +2 -1
  380. package/dist/types/components/form/input/base64-input.d.ts +10 -0
  381. package/dist/types/components/form/input/base64s-input.d.ts +12 -0
  382. package/dist/types/components/form/input/bigint-input.d.ts +9 -0
  383. package/dist/types/components/form/input/color-input.d.ts +8 -1
  384. package/dist/types/components/form/input/combobox-input.d.ts +16 -0
  385. package/dist/types/components/form/input/combobox-tags-input.d.ts +16 -0
  386. package/dist/types/components/form/input/dropdown-base.d.ts +19 -0
  387. package/dist/types/components/form/input/dropdown-input.d.ts +14 -0
  388. package/dist/types/components/form/input/duration-input.d.ts +3 -0
  389. package/dist/types/components/form/input/duration-mask.d.ts +12 -0
  390. package/dist/types/components/form/input/editable-text.d.ts +2 -1
  391. package/dist/types/components/form/input/file-input.d.ts +3 -3
  392. package/dist/types/components/form/input/files-input.d.ts +12 -0
  393. package/dist/types/components/form/input/index.d.ts +42 -2
  394. package/dist/types/components/form/input/input-container.d.ts +2 -3
  395. package/dist/types/components/form/input/input-options.d.ts +0 -13
  396. package/dist/types/components/form/input/input-wrapper.d.ts +1 -1
  397. package/dist/types/components/form/input/instant-input.d.ts +3 -0
  398. package/dist/types/components/form/input/lazy-native-select.d.ts +1 -1
  399. package/dist/types/components/form/input/list-input.d.ts +14 -0
  400. package/dist/types/components/form/input/mask-input.d.ts +94 -0
  401. package/dist/types/components/form/input/native-select.d.ts +4 -23
  402. package/dist/types/components/form/input/nullable-base64-input.d.ts +8 -0
  403. package/dist/types/components/form/input/nullable-bigint-input.d.ts +9 -0
  404. package/dist/types/components/form/input/nullable-duration-input.d.ts +3 -0
  405. package/dist/types/components/form/input/nullable-email-input.d.ts +2 -0
  406. package/dist/types/components/form/input/nullable-instant-input.d.ts +3 -0
  407. package/dist/types/components/form/input/nullable-mask-input.d.ts +5 -0
  408. package/dist/types/components/form/input/nullable-number-input.d.ts +9 -0
  409. package/dist/types/components/form/input/nullable-password-input.d.ts +2 -0
  410. package/dist/types/components/form/input/nullable-plain-date-input.d.ts +3 -0
  411. package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +3 -0
  412. package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +3 -0
  413. package/dist/types/components/form/input/nullable-plain-time-input.d.ts +3 -0
  414. package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +3 -0
  415. package/dist/types/components/form/input/nullable-rating-input.d.ts +14 -0
  416. package/dist/types/components/form/input/nullable-url-input.d.ts +2 -0
  417. package/dist/types/components/form/input/nullable-utils.d.ts +2 -0
  418. package/dist/types/components/form/input/nullable-uuid-input.d.ts +2 -0
  419. package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +3 -0
  420. package/dist/types/components/form/input/option.d.ts +38 -0
  421. package/dist/types/components/form/input/plain-date-input.d.ts +3 -0
  422. package/dist/types/components/form/input/plain-date-time-input.d.ts +3 -0
  423. package/dist/types/components/form/input/plain-month-day-input.d.ts +3 -0
  424. package/dist/types/components/form/input/plain-time-input.d.ts +3 -0
  425. package/dist/types/components/form/input/plain-year-month-input.d.ts +3 -0
  426. package/dist/types/components/form/input/rating-input.d.ts +15 -0
  427. package/dist/types/components/form/input/segmented-input.d.ts +10 -0
  428. package/dist/types/components/form/input/select-tags-input.d.ts +20 -0
  429. package/dist/types/components/form/input/slider-input.d.ts +15 -0
  430. package/dist/types/components/form/input/tag-utils.d.ts +11 -0
  431. package/dist/types/components/form/input/url-input.d.ts +2 -0
  432. package/dist/types/components/form/input/uuid-input.d.ts +2 -0
  433. package/dist/types/components/form/input/zoned-date-time-input.d.ts +3 -0
  434. package/dist/types/components/form/schema/custom-validation.d.ts +1 -1
  435. package/dist/types/components/form/use-form.d.ts +11 -4
  436. package/dist/types/components/i18n/make-i18nprovider.d.ts +2 -3
  437. package/dist/types/components/json-schema/ajv-utils.d.ts +121 -0
  438. package/dist/types/components/json-schema/cache-management.d.ts +148 -0
  439. package/dist/types/components/json-schema/containers/container-layouts.d.ts +66 -0
  440. package/dist/types/components/json-schema/controls/any-control.d.ts +10 -0
  441. package/dist/types/components/json-schema/controls/array-control.d.ts +10 -0
  442. package/dist/types/components/json-schema/controls/boolean-control.d.ts +10 -0
  443. package/dist/types/components/json-schema/controls/composition-controls.d.ts +24 -0
  444. package/dist/types/components/json-schema/controls/composition-shared.d.ts +34 -0
  445. package/dist/types/components/json-schema/controls/enum-const-controls.d.ts +17 -0
  446. package/dist/types/components/json-schema/controls/generic-control.d.ts +18 -0
  447. package/dist/types/components/json-schema/controls/null-control.d.ts +10 -0
  448. package/dist/types/components/json-schema/controls/number-controls.d.ts +17 -0
  449. package/dist/types/components/json-schema/controls/object-control.d.ts +12 -0
  450. package/dist/types/components/json-schema/controls/object-helpers.d.ts +31 -0
  451. package/dist/types/components/json-schema/controls/presence-toggle.d.ts +12 -0
  452. package/dist/types/components/json-schema/controls/schema-banners.d.ts +14 -0
  453. package/dist/types/components/json-schema/controls/schema-wrapper.d.ts +7 -0
  454. package/dist/types/components/json-schema/controls/shared-utils.d.ts +16 -0
  455. package/dist/types/components/json-schema/controls/string-control.d.ts +10 -0
  456. package/dist/types/components/json-schema/controls/type-utils.d.ts +27 -0
  457. package/dist/types/components/json-schema/controls/union-control.d.ts +10 -0
  458. package/dist/types/components/json-schema/controls.d.ts +11 -0
  459. package/dist/types/components/json-schema/discriminator/discriminator-utils.d.ts +57 -0
  460. package/dist/types/components/json-schema/index.d.ts +5 -0
  461. package/dist/types/components/json-schema/json-schema-form.d.ts +79 -0
  462. package/dist/types/components/json-schema/oneof-branch-detection.d.ts +35 -0
  463. package/dist/types/components/json-schema/ref-utils.d.ts +18 -0
  464. package/dist/types/components/json-schema/schema-context.d.ts +185 -0
  465. package/dist/types/components/json-schema/validation/async-validation.d.ts +113 -0
  466. package/dist/types/components/json-schema/validation/conditional-validation.d.ts +75 -0
  467. package/dist/types/components/json-schema/validation/cross-field-validation.d.ts +71 -0
  468. package/dist/types/components/json-schema/validation/error-aggregation.d.ts +84 -0
  469. package/dist/types/components/json-schema/validation/performance-optimization.d.ts +120 -0
  470. package/dist/types/components/json-schema/validator.d.ts +10 -0
  471. package/dist/types/components/json-schema/visibility/visibility-evaluation.d.ts +77 -0
  472. package/dist/types/components/json-schema/visibility/visibility-wrapper.d.ts +56 -0
  473. package/dist/types/components/json-schema/widgets/enhanced-widgets.d.ts +70 -0
  474. package/dist/types/components/json-schema/widgets/string-controls.d.ts +8 -0
  475. package/dist/types/components/json-schema/widgets/string-detection.d.ts +3 -0
  476. package/dist/types/components/json-schema/widgets/string-type.d.ts +62 -0
  477. package/dist/types/components/json-schema/widgets/utils.d.ts +45 -0
  478. package/dist/types/components/json-schema/widgets/widget-composition.d.ts +144 -0
  479. package/dist/types/components/json-schema/widgets/widget-customization.d.ts +120 -0
  480. package/dist/types/components/layout/index.d.ts +1 -0
  481. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +21 -0
  482. package/dist/types/components/layout/scrollable-panel.d.ts +1 -1
  483. package/dist/types/components/milkdown/milkdown-input.d.ts +15 -0
  484. package/dist/types/components/milkdown/milkdown-url.d.ts +2 -0
  485. package/dist/types/components/misc/index.d.ts +3 -0
  486. package/dist/types/components/misc/link-portal.d.ts +11 -0
  487. package/dist/types/components/misc/notice.d.ts +15 -0
  488. package/dist/types/components/misc/style-portal.d.ts +10 -0
  489. package/dist/types/components/monaco/monaco-editor-input.d.ts +12 -0
  490. package/dist/types/components/navigation/flyout.d.ts +2 -2
  491. package/dist/types/components/navigation/index.d.ts +1 -0
  492. package/dist/types/components/navigation/menu.d.ts +7 -7
  493. package/dist/types/components/navigation/toolbar/index.d.ts +1 -0
  494. package/dist/types/components/navigation/toolbar/toolbar.d.ts +17 -0
  495. package/dist/types/components/overlay/drawer.d.ts +2 -2
  496. package/dist/types/components/overlay/modal.d.ts +3 -3
  497. package/dist/types/components/overlay/tooltip.d.ts +2 -2
  498. package/dist/types/i18n/translate.d.ts +2 -17
  499. package/dist/types/index.d.ts +1 -1
  500. package/dist/types/json-schema/index.d.ts +1 -0
  501. package/dist/types/markdown/extensions.d.ts +8 -0
  502. package/dist/types/markdown/index.d.ts +17 -0
  503. package/dist/types/markdown/styles-url.d.ts +2 -0
  504. package/dist/types/markdown/styles.d.ts +2 -0
  505. package/dist/types/milkdown/index.d.ts +1 -0
  506. package/dist/types/milkdown/styles.d.ts +2 -0
  507. package/dist/types/monaco/index.d.ts +3 -0
  508. package/dist/types/monaco/lazy-loader.d.ts +5 -0
  509. package/dist/types/monaco/styles-url.d.ts +2 -0
  510. package/dist/types/monaco/styles.d.ts +2 -0
  511. package/dist/types/monaco/types.d.ts +14 -0
  512. package/dist/types/styles/base-url.d.ts +2 -0
  513. package/dist/types/styles/base.d.ts +2 -0
  514. package/dist/types/temporal/index.d.ts +3 -0
  515. package/dist/types/temporal/runtime.d.ts +2 -0
  516. package/dist/types/temporal/types.d.ts +10 -0
  517. package/dist/types/temporal/with-temporal.d.ts +3 -0
  518. package/dist/types/tokens/colors.d.ts +13 -2
  519. package/dist/types/utils/focus-trap.d.ts +4 -4
  520. package/dist/types/utils/format-file-size.d.ts +6 -0
  521. package/dist/types/utils/index.d.ts +1 -0
  522. package/dist/ur-Bg9eX81v.js +38 -0
  523. package/dist/ur-BzgBZpdY.cjs +1 -0
  524. package/dist/ur-DvqAg9gW.cjs +1 -0
  525. package/dist/ur-fgmvVBHY.js +82 -0
  526. package/dist/vb-c2kQGd6-.js +74 -0
  527. package/dist/vb-qzHzzvyB.cjs +1 -0
  528. package/dist/vbscript-1f_Dhg5H.js +324 -0
  529. package/dist/vbscript-CWm8v9tE.cjs +1 -0
  530. package/dist/velocity-D3_yAIp3.cjs +1 -0
  531. package/dist/velocity-DJd0pTTC.js +96 -0
  532. package/dist/verilog-BOhLNmQo.cjs +1 -0
  533. package/dist/verilog-CiS1jyi5.js +262 -0
  534. package/dist/vhdl-CMFbi8Im.cjs +1 -0
  535. package/dist/vhdl-T9HkrbI2.js +106 -0
  536. package/dist/vi-D5R3YcU0.cjs +1 -0
  537. package/dist/vi-DZzB43iu.js +82 -0
  538. package/dist/vi-DhdsHHf_.js +38 -0
  539. package/dist/vi-DijXfJCL.cjs +1 -0
  540. package/dist/webidl-CWb_flNk.cjs +1 -0
  541. package/dist/webidl-CjfDENEo.js +155 -0
  542. package/dist/xquery-BUQdORAS.js +422 -0
  543. package/dist/xquery-Cjw5fRnG.cjs +1 -0
  544. package/dist/yacas-C0absKBh.js +73 -0
  545. package/dist/yacas-urx_N5C8.cjs +1 -0
  546. package/dist/z80-CsG3CM6M.cjs +1 -0
  547. package/dist/z80-Pki2zAjW.js +61 -0
  548. package/dist/zh-BIykcEu9.js +38 -0
  549. package/dist/zh-BMcC2kwD.cjs +1 -0
  550. package/dist/zh-Bcz-uyJp.js +82 -0
  551. package/dist/zh-CCGXcj5r.cjs +1 -0
  552. package/package.json +56 -7
  553. package/dist/ar-C7sFBvd3.js +0 -49
  554. package/dist/ar-D9ef1rPL.js +0 -38
  555. package/dist/de-DvSVUCKi.js +0 -38
  556. package/dist/de-g1A7pWNb.js +0 -49
  557. package/dist/es-VVHXE2N_.js +0 -49
  558. package/dist/es-kZH0y7yE.js +0 -38
  559. package/dist/fa-CJNIz_z3.js +0 -49
  560. package/dist/fa-CZ1jHeSI.js +0 -38
  561. package/dist/fr-Bi9Ce2bU.js +0 -38
  562. package/dist/fr-CV72Obmu.js +0 -49
  563. package/dist/he-B7FDQHq5.js +0 -49
  564. package/dist/he-iAAKM-JS.js +0 -38
  565. package/dist/hi-BCajgsBt.js +0 -49
  566. package/dist/hi-BMfFIHn-.js +0 -38
  567. package/dist/index.umd.js +0 -100
  568. package/dist/it-BeJHf7Ur.js +0 -49
  569. package/dist/it-RYZ8E-C6.js +0 -38
  570. package/dist/ja-4x5hNiAy.js +0 -38
  571. package/dist/ja-D5YyTu5k.js +0 -50
  572. package/dist/ko-BFy6uytC.js +0 -38
  573. package/dist/ko-DNqvHWiZ.js +0 -49
  574. package/dist/nl-BRZt7kSA.js +0 -38
  575. package/dist/nl-Cdbu51NB.js +0 -50
  576. package/dist/pl-Bru8UPLn.js +0 -50
  577. package/dist/pl-DKbc4KpN.js +0 -38
  578. package/dist/pt-Bful1nYu.js +0 -38
  579. package/dist/pt-LCfmUFgc.js +0 -49
  580. package/dist/ru-9lG4xtda.js +0 -38
  581. package/dist/ru-D7gTuXxP.js +0 -50
  582. package/dist/tr-D3uQnNr4.js +0 -38
  583. package/dist/tr-DlFekEUg.js +0 -49
  584. package/dist/types/components/form/control/combobox-control.d.ts +0 -11
  585. package/dist/types/components/form/control/control-input-wrapper.d.ts +0 -7
  586. package/dist/types/components/form/control/control-options.d.ts +0 -20
  587. package/dist/types/components/form/control/date-control.d.ts +0 -3
  588. package/dist/types/components/form/control/date-time-control.d.ts +0 -3
  589. package/dist/types/components/form/control/email-control.d.ts +0 -3
  590. package/dist/types/components/form/control/file-control.d.ts +0 -11
  591. package/dist/types/components/form/control/lazy-native-select-control.d.ts +0 -16
  592. package/dist/types/components/form/control/native-select-control.d.ts +0 -9
  593. package/dist/types/components/form/control/nullable-date-control.d.ts +0 -3
  594. package/dist/types/components/form/control/nullable-date-time-control.d.ts +0 -3
  595. package/dist/types/components/form/control/nullable-string-date-control.d.ts +0 -3
  596. package/dist/types/components/form/control/nullable-string-date-time-control.d.ts +0 -3
  597. package/dist/types/components/form/control/nullable-text-area-control.d.ts +0 -7
  598. package/dist/types/components/form/control/nullable-text-control.d.ts +0 -3
  599. package/dist/types/components/form/control/number-control.d.ts +0 -9
  600. package/dist/types/components/form/control/password-control.d.ts +0 -3
  601. package/dist/types/components/form/control/segmented-control.d.ts +0 -10
  602. package/dist/types/components/form/control/string-date-control.d.ts +0 -3
  603. package/dist/types/components/form/control/tags-control.d.ts +0 -3
  604. package/dist/types/components/form/control/text-area-control.d.ts +0 -7
  605. package/dist/types/components/form/control/text-control.d.ts +0 -8
  606. package/dist/types/components/form/input/combobox.d.ts +0 -39
  607. package/dist/ur-BThJLsvD.js +0 -38
  608. package/dist/ur-mIO25A6L.js +0 -49
  609. package/dist/vi-Cd6F8iSa.js +0 -38
  610. package/dist/vi-Dw_DDZWP.js +0 -49
  611. package/dist/zh-Boy-i2zO.js +0 -38
  612. package/dist/zh-Dojj6P4C.js +0 -49
@@ -0,0 +1,75 @@
1
+ import type { ValidateFunction } from 'ajv';
2
+ import type { JSONSchema } from '../schema-context';
3
+ import { type CrossFieldValidationRule } from './cross-field-validation';
4
+ import type { ControllerValidation } from '@/components/form';
5
+ /**
6
+ * Conditional validation configuration from x:ui
7
+ */
8
+ export interface ConditionalValidationConfig {
9
+ /** Validation rules that apply conditionally */
10
+ when?: ConditionalRule[];
11
+ /** Cross-field validation rules (legacy - use cross-field-validation.ts) */
12
+ crossField?: CrossFieldRule[];
13
+ /** Async validation rules */
14
+ async?: AsyncValidationRule[];
15
+ /** Modern cross-field validation rules */
16
+ crossFieldRules?: CrossFieldValidationRule[];
17
+ }
18
+ /**
19
+ * A conditional validation rule
20
+ */
21
+ export interface ConditionalRule {
22
+ /** JSONPath or property name to watch */
23
+ watch: string | string[];
24
+ /** Condition to evaluate (JSONPath expression or function) */
25
+ condition: string | ((value: unknown, formData: unknown) => boolean);
26
+ /** Schema to apply when condition is true */
27
+ then?: JSONSchema;
28
+ /** Schema to apply when condition is false */
29
+ else?: JSONSchema;
30
+ /** Additional validation function */
31
+ validate?: (value: unknown, formData: unknown) => string | null;
32
+ }
33
+ /**
34
+ * Cross-field validation rule
35
+ */
36
+ export interface CrossFieldRule {
37
+ /** Fields involved in the validation */
38
+ fields: string[];
39
+ /** Validation function */
40
+ validate: (values: Record<string, unknown>, formData: unknown) => string | null;
41
+ /** Error message template */
42
+ message?: string;
43
+ /** Which field to attach the error to (defaults to first field) */
44
+ target?: string;
45
+ }
46
+ /**
47
+ * Async validation rule
48
+ */
49
+ export interface AsyncValidationRule {
50
+ /** Debounce delay in milliseconds */
51
+ debounce?: number;
52
+ /** Validation function */
53
+ validate: (value: unknown, formData: unknown) => Promise<string | null>;
54
+ /** Loading message */
55
+ loadingMessage?: string;
56
+ }
57
+ /**
58
+ * Extract conditional validation configuration from schema x:ui
59
+ */
60
+ export declare function getConditionalValidation(schema: JSONSchema): ConditionalValidationConfig | undefined;
61
+ /**
62
+ * Apply conditional validation rules to a value
63
+ */
64
+ export declare function applyConditionalValidation(value: unknown, formData: unknown, config: ConditionalValidationConfig, baseValidate?: ValidateFunction): ControllerValidation;
65
+ /**
66
+ * Create a debounced async validator
67
+ */
68
+ export declare function createAsyncValidator(rule: AsyncValidationRule, onValidation: (result: ControllerValidation) => void): (value: unknown, formData: unknown) => void;
69
+ /**
70
+ * Watch for changes in conditional validation dependencies
71
+ */
72
+ export declare function createConditionalWatcher(config: ConditionalValidationConfig, _onRevalidate: () => void): {
73
+ watchedPaths: string[];
74
+ shouldRevalidate: (changedPath: string) => boolean;
75
+ };
@@ -0,0 +1,71 @@
1
+ import type { JSONSchema } from '../schema-context';
2
+ import { ControllerValidation } from '@/components/form';
3
+ /**
4
+ * Cross-field validation rule configuration
5
+ */
6
+ export interface CrossFieldValidationRule {
7
+ /** Unique identifier for the rule */
8
+ id: string;
9
+ /** Fields involved in the validation */
10
+ fields: string[];
11
+ /** Validation function that receives field values */
12
+ validate: (fieldValues: Record<string, unknown>, formData: unknown) => CrossFieldValidationResult;
13
+ /** Error message template with field placeholders */
14
+ message?: string;
15
+ /** Which field(s) to attach the error to */
16
+ targets?: string[];
17
+ /** Priority for rule execution (higher numbers run first) */
18
+ priority?: number;
19
+ /** Whether this rule should run only on form submission */
20
+ onSubmitOnly?: boolean;
21
+ }
22
+ /**
23
+ * Result of cross-field validation
24
+ */
25
+ export interface CrossFieldValidationResult {
26
+ /** Whether validation passed */
27
+ valid: boolean;
28
+ /** Error message if validation failed */
29
+ message?: string;
30
+ /** Specific field errors */
31
+ fieldErrors?: Record<string, string>;
32
+ /** Additional context for error reporting */
33
+ context?: Record<string, unknown>;
34
+ }
35
+ /**
36
+ * Built-in cross-field validation rules
37
+ */
38
+ export declare const BUILTIN_CROSS_FIELD_RULES: {
39
+ /**
40
+ * Ensure two fields have the same value (e.g., password confirmation)
41
+ */
42
+ fieldMatch: (field1: string, field2: string, message?: string) => CrossFieldValidationRule;
43
+ /**
44
+ * Ensure date range is valid (start <= end)
45
+ */
46
+ dateRange: (startField: string, endField: string, message?: string) => CrossFieldValidationRule;
47
+ /**
48
+ * Ensure numeric range is valid (min <= max)
49
+ */
50
+ numericRange: (minField: string, maxField: string, message?: string) => CrossFieldValidationRule;
51
+ /**
52
+ * Conditional required field (field is required if condition field has specific value)
53
+ */
54
+ conditionalRequired: (targetField: string, conditionField: string, conditionValue: unknown, message?: string) => CrossFieldValidationRule;
55
+ /**
56
+ * Mutual exclusion (only one of the fields can have a value)
57
+ */
58
+ mutuallyExclusive: (fields: string[], message?: string) => CrossFieldValidationRule;
59
+ /**
60
+ * At least one required (at least one of the fields must have a value)
61
+ */
62
+ atLeastOneRequired: (fields: string[], message?: string) => CrossFieldValidationRule;
63
+ };
64
+ /**
65
+ * Extract cross-field validation rules from schema x:ui
66
+ */
67
+ export declare function getCrossFieldValidationRules(schema: JSONSchema): CrossFieldValidationRule[];
68
+ /**
69
+ * Apply cross-field validation rules to form data
70
+ */
71
+ export declare function applyCrossFieldValidation(formData: unknown, rules: CrossFieldValidationRule[], onSubmitOnly?: boolean): ControllerValidation;
@@ -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;