@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.
- package/README.md +15 -34
- package/dist/2019-C0NjrG2i.js +164 -0
- package/dist/2019-JlqBnfO0.cjs +1 -0
- package/dist/2020-lqWvthL_.js +192 -0
- package/dist/2020-r3MHWrkK.cjs +1 -0
- package/dist/_commonjsHelpers-C6fGbg64.js +6 -0
- package/dist/_commonjsHelpers-DwGv2jUC.cjs +1 -0
- package/dist/apl-B2DGVGxc.js +76 -0
- package/dist/apl-M-DNMvvR.cjs +1 -0
- package/dist/ar-BsUm-TCn.cjs +1 -0
- package/dist/ar-DReA9eQ2.cjs +1 -0
- package/dist/ar-NCCPhOpI.js +38 -0
- package/dist/ar-VA2yE-1i.js +82 -0
- package/dist/asciiarmor-2LVJmxlE.js +34 -0
- package/dist/asciiarmor-BMx3XVjX.cjs +1 -0
- package/dist/asn1-OOsVM4yU.cjs +1 -0
- package/dist/asn1-jKiBa2Ya.js +95 -0
- package/dist/asterisk-B1QUaW1C.cjs +1 -0
- package/dist/asterisk-DS281yxp.js +271 -0
- package/dist/auth/index.cjs.js +1 -0
- package/dist/auth/index.es.js +1331 -0
- package/dist/beatui.css +1 -1
- package/dist/brainfuck-BjUlYKdF.cjs +1 -0
- package/dist/brainfuck-C_p9pTT8.js +34 -0
- package/dist/clike-BEMIzMUI.cjs +1 -0
- package/dist/clike-DGTaUp48.js +620 -0
- package/dist/clojure-Ap_IXD2I.cjs +1 -0
- package/dist/clojure-CCKyeQKf.js +800 -0
- package/dist/cmake-C4D5_VmS.cjs +1 -0
- package/dist/cmake-CuaCgAKt.js +28 -0
- package/dist/cobol-BlTKFDRj.js +72 -0
- package/dist/cobol-Du-cT2hr.cjs +1 -0
- package/dist/coffeescript-BVCvwO8I.js +179 -0
- package/dist/coffeescript-DDFAj2ea.cjs +1 -0
- package/dist/commonlisp-CXBBRCTx.cjs +1 -0
- package/dist/commonlisp-D_kxz07b.js +75 -0
- package/dist/crystal-D309uH6_.js +217 -0
- package/dist/crystal-DAFWRDbh.cjs +1 -0
- package/dist/css-BkF-NPzE.js +1553 -0
- package/dist/css-DzFJyRJ8.cjs +1 -0
- package/dist/cypher-BMq4Fwjl.js +68 -0
- package/dist/cypher-BN0-oCze.cjs +1 -0
- package/dist/d-BHsqGcfm.cjs +1 -0
- package/dist/d-BZcgY6La.js +127 -0
- package/dist/de-BIj_wrpg.cjs +1 -0
- package/dist/de-BUFLEyKr.cjs +1 -0
- package/dist/de-BVK2MkCk.js +38 -0
- package/dist/de-C14QN5V1.js +82 -0
- package/dist/diff-CemTHKfk.cjs +1 -0
- package/dist/diff-Cg9d_RX2.js +18 -0
- package/dist/dockerfile-BBTH3voH.cjs +1 -0
- package/dist/dockerfile-DIy8NleC.js +194 -0
- package/dist/dtd-ChoVQPwv.cjs +1 -0
- package/dist/dtd-CtLokQ-U.js +84 -0
- package/dist/dylan-QYeExnWK.js +234 -0
- package/dist/dylan-apTQIgUA.cjs +1 -0
- package/dist/ebnf-DUPDuY4r.js +78 -0
- package/dist/ebnf-LYmLy17h.cjs +1 -0
- package/dist/ecl-C7WNQq7-.cjs +1 -0
- package/dist/ecl-CiXN-g_D.js +121 -0
- package/dist/eiffel-BJThA8RG.cjs +1 -0
- package/dist/eiffel-yQhjl4T1.js +110 -0
- package/dist/elm-CNT9vbN0.js +108 -0
- package/dist/elm-CcXP9T36.cjs +1 -0
- package/dist/erlang-B6mpcObI.cjs +1 -0
- package/dist/erlang-CFOYdy9e.js +487 -0
- package/dist/es-B5GqMkMg.js +82 -0
- package/dist/es-BQS8PL9j.js +38 -0
- package/dist/es-BxBeTRCv.cjs +1 -0
- package/dist/es-D1oMYUqV.cjs +1 -0
- package/dist/fa-BxlrmcQK.js +82 -0
- package/dist/fa-D5TvDNdj.cjs +1 -0
- package/dist/fa-DxPseW3g.cjs +1 -0
- package/dist/fa-T-tkJSJr.js +38 -0
- package/dist/factor-B-tsx9yW.cjs +1 -0
- package/dist/factor-DDOC7X6P.js +65 -0
- package/dist/fcl-BzAKklXo.cjs +1 -0
- package/dist/fcl-CPC2WYrI.js +103 -0
- package/dist/forth-BmxRyE9S.js +60 -0
- package/dist/forth-CPAzyZ_n.cjs +1 -0
- package/dist/fortran-9bvPyrOW.js +442 -0
- package/dist/fortran-DHiTlGV1.cjs +1 -0
- package/dist/fr-BzFxzocR.js +82 -0
- package/dist/fr-CSRRhyCG.js +38 -0
- package/dist/fr-Cdyopuz3.cjs +1 -0
- package/dist/fr-DPGRV4C4.cjs +1 -0
- package/dist/gas-BiPtGF2E.cjs +1 -0
- package/dist/gas-cpmYfFX2.js +183 -0
- package/dist/gherkin-CJuwpceU.js +34 -0
- package/dist/gherkin-Djo7Y51D.cjs +1 -0
- package/dist/groovy-BMVITiCm.cjs +1 -0
- package/dist/groovy-DZeT_VM-.js +146 -0
- package/dist/haskell-Bvt3Qq1t.js +375 -0
- package/dist/haskell-CngODaW-.cjs +1 -0
- package/dist/haxe-70NVW1pR.js +359 -0
- package/dist/haxe-Dyk-piTh.cjs +1 -0
- package/dist/he-Bxdc4M08.js +38 -0
- package/dist/he-DarDNPn0.cjs +1 -0
- package/dist/he-DjHXtt_S.js +82 -0
- package/dist/he-XNDY7609.cjs +1 -0
- package/dist/hi-CJeFvTBe.js +38 -0
- package/dist/hi-Xlc0IeoY.js +82 -0
- package/dist/hi-eMrnBh0O.cjs +1 -0
- package/dist/hi-tATwsXJ6.cjs +1 -0
- package/dist/http-BkLifcnL.cjs +1 -0
- package/dist/http-D9LttvKF.js +44 -0
- package/dist/idl-B6TRFYjl.js +947 -0
- package/dist/idl-FmHDmsE-.cjs +1 -0
- package/dist/index-22y56f5G.js +270 -0
- package/dist/index-85k3bgcY.cjs +1 -0
- package/dist/index-9HEatb8C.js +612 -0
- package/dist/index-B16dbwxM.cjs +1 -0
- package/dist/index-B1w_-cUQ.js +136 -0
- package/dist/index-B2079wM-.js +921 -0
- package/dist/index-B66rNs5i.cjs +2 -0
- package/dist/index-B79joQIU.js +76 -0
- package/dist/index-BDr9qHd0.js +138 -0
- package/dist/index-BF_OOMtT.js +1307 -0
- package/dist/index-BGcCFDkp.js +74 -0
- package/dist/index-BKr-B2hh.js +1874 -0
- package/dist/index-BUKtbimR.cjs +6 -0
- package/dist/index-BWxeedWQ.js +59 -0
- package/dist/index-BYk56bqR.cjs +13 -0
- package/dist/index-BZHMnjr6.cjs +1 -0
- package/dist/index-BguvTLHu.cjs +1 -0
- package/dist/index-BmUA4_Ip.js +302 -0
- package/dist/index-By8a3eg5.cjs +1 -0
- package/dist/index-C0t8aD9u.js +94 -0
- package/dist/index-C3BW17zm.cjs +1 -0
- package/dist/index-C4UzgyIA.cjs +1 -0
- package/dist/index-CIfx_bs7.cjs +7 -0
- package/dist/index-COyS3EXB.js +289 -0
- package/dist/index-CRfUh74G.cjs +1 -0
- package/dist/index-CY_sj-qf.js +309 -0
- package/dist/index-CeYwt1r1.js +342 -0
- package/dist/index-Cohec4rB.cjs +1 -0
- package/dist/index-CpqyQcup.js +552 -0
- package/dist/index-D-Rzl363.cjs +1 -0
- package/dist/index-D48AYUAg.js +226 -0
- package/dist/index-DD8_efWr.cjs +1 -0
- package/dist/index-DIO06RsV.js +554 -0
- package/dist/index-DLJt9Ebe.cjs +8 -0
- package/dist/index-DSvEBuy-.cjs +3 -0
- package/dist/index-DV7tB1MN.cjs +1 -0
- package/dist/index-DgUJYXoy.cjs +1 -0
- package/dist/index-Dghyrng7.js +960 -0
- package/dist/index-DjNMMz5-.cjs +1 -0
- package/dist/index-DpHYZhFL.js +251 -0
- package/dist/index-DutbjaBQ.js +101 -0
- package/dist/index-DxG_avr8.cjs +1 -0
- package/dist/index-FEy4Hwnx.cjs +1 -0
- package/dist/index-d3p39HQv.js +157 -0
- package/dist/index-dsitEt8M.cjs +1 -0
- package/dist/index-kk6qFeC5.cjs +1 -0
- package/dist/index-tOao3Qu5.js +953 -0
- package/dist/index-xnxTfNd2.js +8283 -0
- package/dist/index.cjs.js +143 -0
- package/dist/index.es.js +4736 -7849
- package/dist/index.esm-8xolKogd.cjs +1 -0
- package/dist/index.esm-CSotgpVw.js +4959 -0
- package/dist/it-BmFag7j0.cjs +1 -0
- package/dist/it-CR0FAQEB.js +82 -0
- package/dist/it-DzUV0SmB.cjs +1 -0
- package/dist/it-Zmp0BhIj.js +38 -0
- package/dist/ja-DWjoA-hQ.js +38 -0
- package/dist/ja-Dj-bAKLf.cjs +1 -0
- package/dist/ja-WICb5O3K.js +83 -0
- package/dist/ja-f2fDsTUD.cjs +1 -0
- package/dist/javascript-C2yteZeJ.js +691 -0
- package/dist/javascript-DngSGg_0.cjs +1 -0
- package/dist/jinja2-DnB6dQmV.js +154 -0
- package/dist/jinja2-wbVbDTNi.cjs +1 -0
- package/dist/json-schema/index.cjs.js +1 -0
- package/dist/json-schema/index.es.js +37 -0
- package/dist/julia-DA67Qw9E.cjs +1 -0
- package/dist/julia-DpvXAuO6.js +241 -0
- package/dist/ko-30evSGGW.js +82 -0
- package/dist/ko-BOlI-33h.js +38 -0
- package/dist/ko-BomUE-yQ.cjs +1 -0
- package/dist/ko-DvDEQ6FS.cjs +1 -0
- package/dist/link-portal-B-RvroWY.js +5 -0
- package/dist/link-portal-_tiDFZqh.cjs +1 -0
- package/dist/livescript-Bg3URadp.cjs +1 -0
- package/dist/livescript-CanGTf8u.js +272 -0
- package/dist/lua-CIsxjGwi.cjs +1 -0
- package/dist/lua-XplVlWi_.js +217 -0
- package/dist/markdown/index.cjs.js +2 -0
- package/dist/markdown/index.es.js +422 -0
- package/dist/markdown.css +39 -0
- package/dist/mathematica-BG089QIc.cjs +1 -0
- package/dist/mathematica-jaRHnSxC.js +35 -0
- package/dist/mbox-BctzC1hL.js +76 -0
- package/dist/mbox-CySolFFZ.cjs +1 -0
- package/dist/milkdown/index.cjs.js +1 -0
- package/dist/milkdown/index.es.js +4 -0
- package/dist/milkdown-input-C-Muq7PQ.cjs +941 -0
- package/dist/milkdown-input-DaN9l6E_.js +62376 -0
- package/dist/milkdown-url-BKbqhNCO.js +4 -0
- package/dist/milkdown-url-BLgXPmZR.cjs +1 -0
- package/dist/milkdown.css +1903 -0
- package/dist/mirc-BfqEffzk.cjs +1 -0
- package/dist/mirc-CFBPAOaF.js +72 -0
- package/dist/mllike-BSnXJBGA.js +272 -0
- package/dist/mllike-QUjwI6zq.cjs +1 -0
- package/dist/modal-Ba2uXVSD.cjs +1 -0
- package/dist/modal-CeVJb-Ko.js +614 -0
- package/dist/modelica-B6Zhcb-M.cjs +1 -0
- package/dist/modelica-vUgVs--1.js +93 -0
- package/dist/monaco/index.cjs.js +2 -0
- package/dist/monaco/index.es.js +269 -0
- package/dist/monaco.css +14 -0
- package/dist/mscgen-BToym4Bs.cjs +1 -0
- package/dist/mscgen-Cpl0NYLN.js +104 -0
- package/dist/mumps-CQoS1kWX.js +25 -0
- package/dist/mumps-wfyQdxSu.cjs +1 -0
- package/dist/nginx-CwqyBUfA.cjs +1 -0
- package/dist/nginx-zDPm3Z74.js +89 -0
- package/dist/nl-DaCzsF01.js +83 -0
- package/dist/nl-Dr-l6zUy.cjs +1 -0
- package/dist/nl-hmXJvCw7.cjs +1 -0
- package/dist/nl-kQNcAdY1.js +38 -0
- package/dist/notice-BgnHRPMk.js +2432 -0
- package/dist/notice-t8qZIDvK.cjs +1 -0
- package/dist/nsis-DPj2fUaP.cjs +1 -0
- package/dist/nsis-fePjrhq7.js +62 -0
- package/dist/ntriples-CsNjv2QF.js +79 -0
- package/dist/ntriples-DgwJmozm.cjs +1 -0
- package/dist/octave-1pkKrgAA.cjs +1 -0
- package/dist/octave-C8PmmSRH.js +143 -0
- package/dist/oz-BXOZCt0U.cjs +1 -0
- package/dist/oz-Ce8aN8oE.js +151 -0
- package/dist/pascal-De0D6mP7.js +77 -0
- package/dist/pascal-DtY2LEkJ.cjs +1 -0
- package/dist/perl-B4bSCe1C.js +915 -0
- package/dist/perl-CVDWbEju.cjs +1 -0
- package/dist/pig-D24Z8EXi.js +54 -0
- package/dist/pig-DMByOrnr.cjs +1 -0
- package/dist/pl-BK0i_yvq.cjs +1 -0
- package/dist/pl-CKyPFvss.js +38 -0
- package/dist/pl-Cg5Kr9eZ.cjs +1 -0
- package/dist/pl-DlMR1sq8.js +83 -0
- package/dist/powershell-BaoYaFvj.cjs +1 -0
- package/dist/powershell-DkYVfTzP.js +249 -0
- package/dist/preprocess-CvkqwVNt.cjs +3 -0
- package/dist/preprocess-D898zxsP.js +2295 -0
- package/dist/properties-DXHJZ3WE.cjs +1 -0
- package/dist/properties-Dn9wna3M.js +26 -0
- package/dist/protobuf-BKhXdfH6.cjs +1 -0
- package/dist/protobuf-BPIjwpzm.js +49 -0
- package/dist/pt-B7uWbJ1j.cjs +1 -0
- package/dist/pt-DBmUhaNI.js +38 -0
- package/dist/pt-lX3h34iM.js +82 -0
- package/dist/pt-oBMmVYcu.cjs +1 -0
- package/dist/pug-CwAQJzGR.js +248 -0
- package/dist/pug-kEfRDOiF.cjs +1 -0
- package/dist/puppet-8mAyuMbW.cjs +1 -0
- package/dist/puppet-nyd4dhjf.js +45 -0
- package/dist/python-BkR3uSy8.js +313 -0
- package/dist/python-D-iU6WXz.cjs +1 -0
- package/dist/q-BPQ45Nxu.cjs +1 -0
- package/dist/q-DXjKs-tC.js +83 -0
- package/dist/r-LKEuhEGI.js +104 -0
- package/dist/r-r2_EZsON.cjs +1 -0
- package/dist/rpm-IznJm2Xc.js +57 -0
- package/dist/rpm-YK81m3qU.cjs +1 -0
- package/dist/ru-2aVFFaQ-.js +87 -0
- package/dist/ru-CrQR5RUx.cjs +1 -0
- package/dist/ru-CsJ_yT-7.js +38 -0
- package/dist/ru-CtxMmoa6.cjs +1 -0
- package/dist/ruby-CcYfvIk6.js +228 -0
- package/dist/ruby-Cn1sFkZF.cjs +1 -0
- package/dist/sas-7E8yHoCW.js +105 -0
- package/dist/sas-DAGcJy94.cjs +1 -0
- package/dist/scheme-B0ZrbojV.cjs +1 -0
- package/dist/scheme-DjibxsNh.js +124 -0
- package/dist/shell-BMYo43V6.cjs +1 -0
- package/dist/shell-C0C2sNA_.js +182 -0
- package/dist/sieve-Bwz7vjP5.js +72 -0
- package/dist/sieve-CIYW-b_H.cjs +1 -0
- package/dist/simple-mode-B0dvCdAA.js +89 -0
- package/dist/simple-mode-BIKNPBes.cjs +1 -0
- package/dist/smalltalk-Bhddl2pB.js +48 -0
- package/dist/smalltalk-CSslY-3i.cjs +1 -0
- package/dist/solr-A1kSnAwJ.cjs +1 -0
- package/dist/solr-BNlsLglM.js +41 -0
- package/dist/sparql-DnHMBLLY.cjs +1 -0
- package/dist/sparql-FarWu_Gb.js +197 -0
- package/dist/spreadsheet-B7_BK8hB.cjs +1 -0
- package/dist/spreadsheet-C-cy4P5N.js +49 -0
- package/dist/sql-9VmIWHrZ.cjs +1 -0
- package/dist/sql-CfG5lQ3l.js +282 -0
- package/dist/stex-B4wyjEnp.cjs +1 -0
- package/dist/stex-Du4h4KAU.js +129 -0
- package/dist/styles-url-B-d6aezR.cjs +1 -0
- package/dist/styles-url-B4WGMvfi.js +4 -0
- package/dist/styles-url-CZUL_YRT.cjs +1 -0
- package/dist/styles-url-DpP5gepF.js +4 -0
- package/dist/stylus-CAdqWld3.js +250 -0
- package/dist/stylus-D6GYOT3Z.cjs +1 -0
- package/dist/swift-DGw6Cgu8.cjs +1 -0
- package/dist/swift-DSxqR9R6.js +230 -0
- package/dist/tcl-ByLXbQFo.cjs +1 -0
- package/dist/tcl-xfoLljhY.js +81 -0
- package/dist/textile-D1AWE-pc.js +295 -0
- package/dist/textile-iryw-lTw.cjs +1 -0
- package/dist/theme-CJVt8QIc.js +34 -0
- package/dist/theme-YS3sFklH.cjs +1 -0
- package/dist/tiddlywiki-5wqsXtSk.js +155 -0
- package/dist/tiddlywiki-D8IJz1k7.cjs +1 -0
- package/dist/tiki-C5p5KSQK.cjs +1 -0
- package/dist/tiki-__Kn3CeS.js +181 -0
- package/dist/timer-CcMCjYrq.cjs +1 -0
- package/dist/timer-CkgWORR9.js +42 -0
- package/dist/toml-3ZsH_4Qa.cjs +1 -0
- package/dist/toml-BHiuTcfn.js +49 -0
- package/dist/tr-Bn5ldVJs.js +38 -0
- package/dist/tr-CgJ8uhZu.cjs +1 -0
- package/dist/tr-DN9zPGaS.cjs +1 -0
- package/dist/tr-DgRS_mcj.js +82 -0
- package/dist/translations-CSUEQrNH.cjs +2 -0
- package/dist/translations-CVR1KQJ3.js +47 -0
- package/dist/translations-CxMNY8i7.js +2006 -0
- package/dist/translations-pfS-x8Ak.cjs +1 -0
- package/dist/troff-D-3QCOYN.cjs +1 -0
- package/dist/troff-D2UO-fKf.js +35 -0
- package/dist/ttcn-Bsa4sfRm.js +123 -0
- package/dist/ttcn-C2MXAqcM.cjs +1 -0
- package/dist/ttcn-cfg-BYqcMRxC.cjs +1 -0
- package/dist/ttcn-cfg-Bac_acMi.js +88 -0
- package/dist/turtle-DSJNatSv.cjs +1 -0
- package/dist/turtle-xwJUxoPV.js +80 -0
- package/dist/types/auth/index.d.ts +1 -0
- package/dist/types/auth-i18n/default.d.ts +25 -25
- package/dist/types/auth-i18n/locales/ar.d.ts +25 -25
- package/dist/types/auth-i18n/locales/de.d.ts +25 -25
- package/dist/types/auth-i18n/locales/en.d.ts +25 -25
- package/dist/types/auth-i18n/locales/es.d.ts +25 -25
- package/dist/types/auth-i18n/locales/fa.d.ts +25 -25
- package/dist/types/auth-i18n/locales/fr.d.ts +25 -25
- package/dist/types/auth-i18n/locales/he.d.ts +25 -25
- package/dist/types/auth-i18n/locales/hi.d.ts +25 -25
- package/dist/types/auth-i18n/locales/it.d.ts +25 -25
- package/dist/types/auth-i18n/locales/ja.d.ts +25 -25
- package/dist/types/auth-i18n/locales/ko.d.ts +25 -25
- package/dist/types/auth-i18n/locales/nl.d.ts +25 -25
- package/dist/types/auth-i18n/locales/pl.d.ts +25 -25
- package/dist/types/auth-i18n/locales/pt.d.ts +25 -25
- package/dist/types/auth-i18n/locales/ru.d.ts +25 -25
- package/dist/types/auth-i18n/locales/tr.d.ts +25 -25
- package/dist/types/auth-i18n/locales/ur.d.ts +25 -25
- package/dist/types/auth-i18n/locales/vi.d.ts +25 -25
- package/dist/types/auth-i18n/locales/zh.d.ts +25 -25
- package/dist/types/auth-i18n/translations.d.ts +26 -26
- package/dist/types/beatui-i18n/default.d.ts +52 -41
- package/dist/types/beatui-i18n/locales/en.d.ts +52 -41
- package/dist/types/beatui-i18n/translations.d.ts +53 -42
- package/dist/types/components/auth/auth-divider.d.ts +2 -2
- package/dist/types/components/auth/index.d.ts +8 -6
- package/dist/types/components/auth/password-strength-indicator.d.ts +4 -4
- package/dist/types/components/auth/reset-password-form.d.ts +2 -2
- package/dist/types/components/auth/signin-form.d.ts +2 -2
- package/dist/types/components/auth/signup-form.d.ts +2 -2
- package/dist/types/components/auth/social-login-button.d.ts +27 -27
- package/dist/types/components/auth/types.d.ts +46 -48
- package/dist/types/components/auth/utils.d.ts +0 -2
- package/dist/types/components/button/button.d.ts +1 -1
- package/dist/types/components/button/close-button.d.ts +15 -0
- package/dist/types/components/button/index.d.ts +1 -0
- package/dist/types/components/data/tag.d.ts +3 -2
- package/dist/types/components/data/unstyled-drop-zone.d.ts +5 -2
- package/dist/types/components/form/control/control-factory.d.ts +24 -0
- package/dist/types/components/form/control/date-utils.d.ts +6 -0
- package/dist/types/components/form/control/index.d.ts +3 -22
- package/dist/types/components/form/control/list-control.d.ts +23 -14
- package/dist/types/components/form/controller/controller.d.ts +20 -1
- package/dist/types/components/form/controller/index.d.ts +2 -0
- package/dist/types/components/form/controller/union-controller.d.ts +53 -0
- package/dist/types/components/form/controller/utils.d.ts +4 -0
- package/dist/types/components/form/input/appearance-selector.d.ts +2 -1
- package/dist/types/components/form/input/base64-input.d.ts +10 -0
- package/dist/types/components/form/input/base64s-input.d.ts +12 -0
- package/dist/types/components/form/input/bigint-input.d.ts +9 -0
- package/dist/types/components/form/input/color-input.d.ts +8 -1
- package/dist/types/components/form/input/combobox-input.d.ts +16 -0
- package/dist/types/components/form/input/combobox-tags-input.d.ts +16 -0
- package/dist/types/components/form/input/dropdown-base.d.ts +19 -0
- package/dist/types/components/form/input/dropdown-input.d.ts +14 -0
- package/dist/types/components/form/input/duration-input.d.ts +3 -0
- package/dist/types/components/form/input/duration-mask.d.ts +12 -0
- package/dist/types/components/form/input/editable-text.d.ts +2 -1
- package/dist/types/components/form/input/file-input.d.ts +3 -3
- package/dist/types/components/form/input/files-input.d.ts +12 -0
- package/dist/types/components/form/input/index.d.ts +42 -2
- package/dist/types/components/form/input/input-container.d.ts +2 -3
- package/dist/types/components/form/input/input-options.d.ts +0 -13
- package/dist/types/components/form/input/input-wrapper.d.ts +1 -1
- package/dist/types/components/form/input/instant-input.d.ts +3 -0
- package/dist/types/components/form/input/lazy-native-select.d.ts +1 -1
- package/dist/types/components/form/input/list-input.d.ts +14 -0
- package/dist/types/components/form/input/mask-input.d.ts +94 -0
- package/dist/types/components/form/input/native-select.d.ts +4 -23
- package/dist/types/components/form/input/nullable-base64-input.d.ts +8 -0
- package/dist/types/components/form/input/nullable-bigint-input.d.ts +9 -0
- package/dist/types/components/form/input/nullable-duration-input.d.ts +3 -0
- package/dist/types/components/form/input/nullable-email-input.d.ts +2 -0
- package/dist/types/components/form/input/nullable-instant-input.d.ts +3 -0
- package/dist/types/components/form/input/nullable-mask-input.d.ts +5 -0
- package/dist/types/components/form/input/nullable-number-input.d.ts +9 -0
- package/dist/types/components/form/input/nullable-password-input.d.ts +2 -0
- package/dist/types/components/form/input/nullable-plain-date-input.d.ts +3 -0
- package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +3 -0
- package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +3 -0
- package/dist/types/components/form/input/nullable-plain-time-input.d.ts +3 -0
- package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +3 -0
- package/dist/types/components/form/input/nullable-rating-input.d.ts +14 -0
- package/dist/types/components/form/input/nullable-url-input.d.ts +2 -0
- package/dist/types/components/form/input/nullable-utils.d.ts +2 -0
- package/dist/types/components/form/input/nullable-uuid-input.d.ts +2 -0
- package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +3 -0
- package/dist/types/components/form/input/option.d.ts +38 -0
- package/dist/types/components/form/input/plain-date-input.d.ts +3 -0
- package/dist/types/components/form/input/plain-date-time-input.d.ts +3 -0
- package/dist/types/components/form/input/plain-month-day-input.d.ts +3 -0
- package/dist/types/components/form/input/plain-time-input.d.ts +3 -0
- package/dist/types/components/form/input/plain-year-month-input.d.ts +3 -0
- package/dist/types/components/form/input/rating-input.d.ts +15 -0
- package/dist/types/components/form/input/segmented-input.d.ts +10 -0
- package/dist/types/components/form/input/select-tags-input.d.ts +20 -0
- package/dist/types/components/form/input/slider-input.d.ts +15 -0
- package/dist/types/components/form/input/tag-utils.d.ts +11 -0
- package/dist/types/components/form/input/url-input.d.ts +2 -0
- package/dist/types/components/form/input/uuid-input.d.ts +2 -0
- package/dist/types/components/form/input/zoned-date-time-input.d.ts +3 -0
- package/dist/types/components/form/schema/custom-validation.d.ts +1 -1
- package/dist/types/components/form/use-form.d.ts +11 -4
- package/dist/types/components/i18n/make-i18nprovider.d.ts +2 -3
- package/dist/types/components/json-schema/ajv-utils.d.ts +121 -0
- package/dist/types/components/json-schema/cache-management.d.ts +148 -0
- package/dist/types/components/json-schema/containers/container-layouts.d.ts +66 -0
- package/dist/types/components/json-schema/controls/any-control.d.ts +10 -0
- package/dist/types/components/json-schema/controls/array-control.d.ts +10 -0
- package/dist/types/components/json-schema/controls/boolean-control.d.ts +10 -0
- package/dist/types/components/json-schema/controls/composition-controls.d.ts +24 -0
- package/dist/types/components/json-schema/controls/composition-shared.d.ts +34 -0
- package/dist/types/components/json-schema/controls/enum-const-controls.d.ts +17 -0
- package/dist/types/components/json-schema/controls/generic-control.d.ts +18 -0
- package/dist/types/components/json-schema/controls/null-control.d.ts +10 -0
- package/dist/types/components/json-schema/controls/number-controls.d.ts +17 -0
- package/dist/types/components/json-schema/controls/object-control.d.ts +12 -0
- package/dist/types/components/json-schema/controls/object-helpers.d.ts +31 -0
- package/dist/types/components/json-schema/controls/presence-toggle.d.ts +12 -0
- package/dist/types/components/json-schema/controls/schema-banners.d.ts +14 -0
- package/dist/types/components/json-schema/controls/schema-wrapper.d.ts +7 -0
- package/dist/types/components/json-schema/controls/shared-utils.d.ts +16 -0
- package/dist/types/components/json-schema/controls/string-control.d.ts +10 -0
- package/dist/types/components/json-schema/controls/type-utils.d.ts +27 -0
- package/dist/types/components/json-schema/controls/union-control.d.ts +10 -0
- package/dist/types/components/json-schema/controls.d.ts +11 -0
- package/dist/types/components/json-schema/discriminator/discriminator-utils.d.ts +57 -0
- package/dist/types/components/json-schema/index.d.ts +5 -0
- package/dist/types/components/json-schema/json-schema-form.d.ts +79 -0
- package/dist/types/components/json-schema/oneof-branch-detection.d.ts +35 -0
- package/dist/types/components/json-schema/ref-utils.d.ts +18 -0
- package/dist/types/components/json-schema/schema-context.d.ts +185 -0
- package/dist/types/components/json-schema/validation/async-validation.d.ts +113 -0
- package/dist/types/components/json-schema/validation/conditional-validation.d.ts +75 -0
- package/dist/types/components/json-schema/validation/cross-field-validation.d.ts +71 -0
- package/dist/types/components/json-schema/validation/error-aggregation.d.ts +84 -0
- package/dist/types/components/json-schema/validation/performance-optimization.d.ts +120 -0
- package/dist/types/components/json-schema/validator.d.ts +10 -0
- package/dist/types/components/json-schema/visibility/visibility-evaluation.d.ts +77 -0
- package/dist/types/components/json-schema/visibility/visibility-wrapper.d.ts +56 -0
- package/dist/types/components/json-schema/widgets/enhanced-widgets.d.ts +70 -0
- package/dist/types/components/json-schema/widgets/string-controls.d.ts +8 -0
- package/dist/types/components/json-schema/widgets/string-detection.d.ts +3 -0
- package/dist/types/components/json-schema/widgets/string-type.d.ts +62 -0
- package/dist/types/components/json-schema/widgets/utils.d.ts +45 -0
- package/dist/types/components/json-schema/widgets/widget-composition.d.ts +144 -0
- package/dist/types/components/json-schema/widgets/widget-customization.d.ts +120 -0
- package/dist/types/components/layout/index.d.ts +1 -0
- package/dist/types/components/layout/nine-slice-scroll-view.d.ts +21 -0
- package/dist/types/components/layout/scrollable-panel.d.ts +1 -1
- package/dist/types/components/milkdown/milkdown-input.d.ts +15 -0
- package/dist/types/components/milkdown/milkdown-url.d.ts +2 -0
- package/dist/types/components/misc/index.d.ts +3 -0
- package/dist/types/components/misc/link-portal.d.ts +11 -0
- package/dist/types/components/misc/notice.d.ts +15 -0
- package/dist/types/components/misc/style-portal.d.ts +10 -0
- package/dist/types/components/monaco/monaco-editor-input.d.ts +12 -0
- package/dist/types/components/navigation/flyout.d.ts +2 -2
- package/dist/types/components/navigation/index.d.ts +1 -0
- package/dist/types/components/navigation/menu.d.ts +7 -7
- package/dist/types/components/navigation/toolbar/index.d.ts +1 -0
- package/dist/types/components/navigation/toolbar/toolbar.d.ts +17 -0
- package/dist/types/components/overlay/drawer.d.ts +2 -2
- package/dist/types/components/overlay/modal.d.ts +3 -3
- package/dist/types/components/overlay/tooltip.d.ts +2 -2
- package/dist/types/i18n/translate.d.ts +2 -17
- package/dist/types/index.d.ts +1 -1
- package/dist/types/json-schema/index.d.ts +1 -0
- package/dist/types/markdown/extensions.d.ts +8 -0
- package/dist/types/markdown/index.d.ts +17 -0
- package/dist/types/markdown/styles-url.d.ts +2 -0
- package/dist/types/markdown/styles.d.ts +2 -0
- package/dist/types/milkdown/index.d.ts +1 -0
- package/dist/types/milkdown/styles.d.ts +2 -0
- package/dist/types/monaco/index.d.ts +3 -0
- package/dist/types/monaco/lazy-loader.d.ts +5 -0
- package/dist/types/monaco/styles-url.d.ts +2 -0
- package/dist/types/monaco/styles.d.ts +2 -0
- package/dist/types/monaco/types.d.ts +14 -0
- package/dist/types/styles/base-url.d.ts +2 -0
- package/dist/types/styles/base.d.ts +2 -0
- package/dist/types/temporal/index.d.ts +3 -0
- package/dist/types/temporal/runtime.d.ts +2 -0
- package/dist/types/temporal/types.d.ts +10 -0
- package/dist/types/temporal/with-temporal.d.ts +3 -0
- package/dist/types/tokens/colors.d.ts +13 -2
- package/dist/types/utils/focus-trap.d.ts +4 -4
- package/dist/types/utils/format-file-size.d.ts +6 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/ur-Bg9eX81v.js +38 -0
- package/dist/ur-BzgBZpdY.cjs +1 -0
- package/dist/ur-DvqAg9gW.cjs +1 -0
- package/dist/ur-fgmvVBHY.js +82 -0
- package/dist/vb-c2kQGd6-.js +74 -0
- package/dist/vb-qzHzzvyB.cjs +1 -0
- package/dist/vbscript-1f_Dhg5H.js +324 -0
- package/dist/vbscript-CWm8v9tE.cjs +1 -0
- package/dist/velocity-D3_yAIp3.cjs +1 -0
- package/dist/velocity-DJd0pTTC.js +96 -0
- package/dist/verilog-BOhLNmQo.cjs +1 -0
- package/dist/verilog-CiS1jyi5.js +262 -0
- package/dist/vhdl-CMFbi8Im.cjs +1 -0
- package/dist/vhdl-T9HkrbI2.js +106 -0
- package/dist/vi-D5R3YcU0.cjs +1 -0
- package/dist/vi-DZzB43iu.js +82 -0
- package/dist/vi-DhdsHHf_.js +38 -0
- package/dist/vi-DijXfJCL.cjs +1 -0
- package/dist/webidl-CWb_flNk.cjs +1 -0
- package/dist/webidl-CjfDENEo.js +155 -0
- package/dist/xquery-BUQdORAS.js +422 -0
- package/dist/xquery-Cjw5fRnG.cjs +1 -0
- package/dist/yacas-C0absKBh.js +73 -0
- package/dist/yacas-urx_N5C8.cjs +1 -0
- package/dist/z80-CsG3CM6M.cjs +1 -0
- package/dist/z80-Pki2zAjW.js +61 -0
- package/dist/zh-BIykcEu9.js +38 -0
- package/dist/zh-BMcC2kwD.cjs +1 -0
- package/dist/zh-Bcz-uyJp.js +82 -0
- package/dist/zh-CCGXcj5r.cjs +1 -0
- package/package.json +56 -7
- package/dist/ar-C7sFBvd3.js +0 -49
- package/dist/ar-D9ef1rPL.js +0 -38
- package/dist/de-DvSVUCKi.js +0 -38
- package/dist/de-g1A7pWNb.js +0 -49
- package/dist/es-VVHXE2N_.js +0 -49
- package/dist/es-kZH0y7yE.js +0 -38
- package/dist/fa-CJNIz_z3.js +0 -49
- package/dist/fa-CZ1jHeSI.js +0 -38
- package/dist/fr-Bi9Ce2bU.js +0 -38
- package/dist/fr-CV72Obmu.js +0 -49
- package/dist/he-B7FDQHq5.js +0 -49
- package/dist/he-iAAKM-JS.js +0 -38
- package/dist/hi-BCajgsBt.js +0 -49
- package/dist/hi-BMfFIHn-.js +0 -38
- package/dist/index.umd.js +0 -100
- package/dist/it-BeJHf7Ur.js +0 -49
- package/dist/it-RYZ8E-C6.js +0 -38
- package/dist/ja-4x5hNiAy.js +0 -38
- package/dist/ja-D5YyTu5k.js +0 -50
- package/dist/ko-BFy6uytC.js +0 -38
- package/dist/ko-DNqvHWiZ.js +0 -49
- package/dist/nl-BRZt7kSA.js +0 -38
- package/dist/nl-Cdbu51NB.js +0 -50
- package/dist/pl-Bru8UPLn.js +0 -50
- package/dist/pl-DKbc4KpN.js +0 -38
- package/dist/pt-Bful1nYu.js +0 -38
- package/dist/pt-LCfmUFgc.js +0 -49
- package/dist/ru-9lG4xtda.js +0 -38
- package/dist/ru-D7gTuXxP.js +0 -50
- package/dist/tr-D3uQnNr4.js +0 -38
- package/dist/tr-DlFekEUg.js +0 -49
- package/dist/types/components/form/control/combobox-control.d.ts +0 -11
- package/dist/types/components/form/control/control-input-wrapper.d.ts +0 -7
- package/dist/types/components/form/control/control-options.d.ts +0 -20
- package/dist/types/components/form/control/date-control.d.ts +0 -3
- package/dist/types/components/form/control/date-time-control.d.ts +0 -3
- package/dist/types/components/form/control/email-control.d.ts +0 -3
- package/dist/types/components/form/control/file-control.d.ts +0 -11
- package/dist/types/components/form/control/lazy-native-select-control.d.ts +0 -16
- package/dist/types/components/form/control/native-select-control.d.ts +0 -9
- package/dist/types/components/form/control/nullable-date-control.d.ts +0 -3
- package/dist/types/components/form/control/nullable-date-time-control.d.ts +0 -3
- package/dist/types/components/form/control/nullable-string-date-control.d.ts +0 -3
- package/dist/types/components/form/control/nullable-string-date-time-control.d.ts +0 -3
- package/dist/types/components/form/control/nullable-text-area-control.d.ts +0 -7
- package/dist/types/components/form/control/nullable-text-control.d.ts +0 -3
- package/dist/types/components/form/control/number-control.d.ts +0 -9
- package/dist/types/components/form/control/password-control.d.ts +0 -3
- package/dist/types/components/form/control/segmented-control.d.ts +0 -10
- package/dist/types/components/form/control/string-date-control.d.ts +0 -3
- package/dist/types/components/form/control/tags-control.d.ts +0 -3
- package/dist/types/components/form/control/text-area-control.d.ts +0 -7
- package/dist/types/components/form/control/text-control.d.ts +0 -8
- package/dist/types/components/form/input/combobox.d.ts +0 -39
- package/dist/ur-BThJLsvD.js +0 -38
- package/dist/ur-mIO25A6L.js +0 -49
- package/dist/vi-Cd6F8iSa.js +0 -38
- package/dist/vi-Dw_DDZWP.js +0 -49
- package/dist/zh-Boy-i2zO.js +0 -38
- package/dist/zh-Dojj6P4C.js +0 -49
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { Controller } from '../../form';
|
|
3
|
+
import type { SchemaContext } from '../schema-context';
|
|
4
|
+
/**
|
|
5
|
+
* Presence toggle for optional properties.
|
|
6
|
+
* Shows a toggle that controls whether the property key exists in the parent object.
|
|
7
|
+
*/
|
|
8
|
+
export declare function PresenceToggle<T>({ ctx, controller, content, }: {
|
|
9
|
+
ctx: SchemaContext;
|
|
10
|
+
controller: Controller<T>;
|
|
11
|
+
content: Renderable;
|
|
12
|
+
}): Renderable;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { SchemaConflict, NotViolation } from '../schema-context';
|
|
3
|
+
/**
|
|
4
|
+
* Banner component for displaying schema conflicts
|
|
5
|
+
*/
|
|
6
|
+
export declare function SchemaConflictsBanner({ conflicts, }: {
|
|
7
|
+
conflicts: readonly SchemaConflict[];
|
|
8
|
+
}): Renderable;
|
|
9
|
+
/**
|
|
10
|
+
* Banner component for displaying schema violations
|
|
11
|
+
*/
|
|
12
|
+
export declare function NotViolationsBanner({ violations, }: {
|
|
13
|
+
violations: readonly NotViolation[];
|
|
14
|
+
}): Renderable;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { Controller } from '../../form';
|
|
3
|
+
import type { SchemaContext } from '../schema-context';
|
|
4
|
+
/**
|
|
5
|
+
* Wraps content with schema issues banners and presence toggle if needed
|
|
6
|
+
*/
|
|
7
|
+
export declare function WithSchemaIssues<T>(ctx: SchemaContext, content: Renderable, controller?: Controller<T>): Renderable;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { JSONSchema } from '../schema-context';
|
|
2
|
+
import type { InputWrapperOptions } from '../../form';
|
|
3
|
+
/**
|
|
4
|
+
* Convert schema definition to input wrapper options
|
|
5
|
+
*/
|
|
6
|
+
export declare function definitionToInputWrapperOptions({ ctx, }: {
|
|
7
|
+
ctx: import('../schema-context').SchemaContext;
|
|
8
|
+
}): Partial<InputWrapperOptions>;
|
|
9
|
+
/**
|
|
10
|
+
* Create placeholder value from schema definition
|
|
11
|
+
*/
|
|
12
|
+
export declare function makePlaceholder<T>(definition: JSONSchema, converter: (value: unknown) => T): T | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Convert multipleOf to integer step for integer inputs
|
|
15
|
+
*/
|
|
16
|
+
export declare function integerMultipleOf(multipleOf?: number): number;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import { type Controller } from '../../form';
|
|
3
|
+
import type { SchemaContext } from '../schema-context';
|
|
4
|
+
/**
|
|
5
|
+
* Control for string schemas
|
|
6
|
+
*/
|
|
7
|
+
export declare function JSONSchemaString({ ctx, controller, }: {
|
|
8
|
+
ctx: SchemaContext;
|
|
9
|
+
controller: Controller<string | undefined>;
|
|
10
|
+
}): Renderable;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { JSONSchema } from '../schema-context';
|
|
2
|
+
export type JSONTypeName = 'string' | 'number' | 'integer' | 'object' | 'array' | 'boolean' | 'null';
|
|
3
|
+
/**
|
|
4
|
+
* Detect the JSON type name for a value
|
|
5
|
+
*/
|
|
6
|
+
export declare function detectTypeName(v: unknown, union: JSONTypeName[]): JSONTypeName | null;
|
|
7
|
+
/**
|
|
8
|
+
* Try to convert a value to a target type
|
|
9
|
+
*/
|
|
10
|
+
export declare function tryConvert(value: unknown, target: JSONTypeName): {
|
|
11
|
+
ok: true;
|
|
12
|
+
value: unknown;
|
|
13
|
+
} | {
|
|
14
|
+
ok: false;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Get default cleared value for a type
|
|
18
|
+
*/
|
|
19
|
+
export declare function defaultClearedValue(target: JSONTypeName): unknown;
|
|
20
|
+
/**
|
|
21
|
+
* Extract x:ui configuration from schema with proper typing
|
|
22
|
+
*/
|
|
23
|
+
export declare function getXUI(def: JSONSchema): {
|
|
24
|
+
unionDefault?: JSONTypeName;
|
|
25
|
+
confirmBranchChange?: boolean;
|
|
26
|
+
selector?: 'segmented' | 'select';
|
|
27
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import { type Controller } from '../../form';
|
|
3
|
+
import type { SchemaContext } from '../schema-context';
|
|
4
|
+
/**
|
|
5
|
+
* Control for union type schemas
|
|
6
|
+
*/
|
|
7
|
+
export declare function JSONSchemaUnion<T>({ ctx, controller, }: {
|
|
8
|
+
ctx: SchemaContext;
|
|
9
|
+
controller: Controller<T>;
|
|
10
|
+
}): Renderable;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { JSONSchemaAny } from './controls/any-control';
|
|
2
|
+
export { JSONSchemaEnum, JSONSchemaConst } from './controls/enum-const-controls';
|
|
3
|
+
export { JSONSchemaNumber, JSONSchemaInteger } from './controls/number-controls';
|
|
4
|
+
export { JSONSchemaString } from './controls/string-control';
|
|
5
|
+
export { JSONSchemaBoolean } from './controls/boolean-control';
|
|
6
|
+
export { JSONSchemaNull } from './controls/null-control';
|
|
7
|
+
export { JSONSchemaArray } from './controls/array-control';
|
|
8
|
+
export { JSONSchemaObject } from './controls/object-control';
|
|
9
|
+
export { JSONSchemaUnion } from './controls/union-control';
|
|
10
|
+
export { JSONSchemaAnyOf, JSONSchemaOneOf, JSONSchemaAllOf, } from './controls/composition-controls';
|
|
11
|
+
export { JSONSchemaGenericControl, JSONSchemaControl, } from './controls/generic-control';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { JSONSchema } from '../schema-context';
|
|
2
|
+
/**
|
|
3
|
+
* OpenAPI discriminator configuration
|
|
4
|
+
*/
|
|
5
|
+
export interface OpenAPIDiscriminator {
|
|
6
|
+
/** The name of the property in the payload that will hold the discriminator value */
|
|
7
|
+
propertyName: string;
|
|
8
|
+
/** An object to hold mappings between payload values and schema names or references */
|
|
9
|
+
mapping?: Record<string, string>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* BeatUI discriminator configuration (fallback)
|
|
13
|
+
*/
|
|
14
|
+
export interface BeatUIDiscriminator {
|
|
15
|
+
/** The property name to use for discrimination */
|
|
16
|
+
key: string;
|
|
17
|
+
/** Optional mapping of values to schema indices */
|
|
18
|
+
mapping?: Record<string, number>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extract discriminator configuration from a oneOf schema
|
|
22
|
+
*/
|
|
23
|
+
export declare function getDiscriminatorConfig(schema: JSONSchema): {
|
|
24
|
+
discriminator: OpenAPIDiscriminator | BeatUIDiscriminator | null;
|
|
25
|
+
type: 'openapi' | 'beatui' | null;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Determine which oneOf branch should be selected based on discriminator value
|
|
29
|
+
*/
|
|
30
|
+
export declare function selectOneOfBranch(oneOfSchemas: JSONSchema[], discriminatorConfig: {
|
|
31
|
+
discriminator: OpenAPIDiscriminator | BeatUIDiscriminator | null;
|
|
32
|
+
type: 'openapi' | 'beatui' | null;
|
|
33
|
+
}, currentValue: unknown): number | null;
|
|
34
|
+
/**
|
|
35
|
+
* Get the discriminator property name from configuration
|
|
36
|
+
*/
|
|
37
|
+
export declare function getDiscriminatorPropertyName(discriminatorConfig: {
|
|
38
|
+
discriminator: OpenAPIDiscriminator | BeatUIDiscriminator | null;
|
|
39
|
+
type: 'openapi' | 'beatui' | null;
|
|
40
|
+
}): string | null;
|
|
41
|
+
/**
|
|
42
|
+
* Create a discriminator value for a specific oneOf branch
|
|
43
|
+
*/
|
|
44
|
+
export declare function createDiscriminatorValue(oneOfSchemas: JSONSchema[], branchIndex: number, discriminatorConfig: {
|
|
45
|
+
discriminator: OpenAPIDiscriminator | BeatUIDiscriminator | null;
|
|
46
|
+
type: 'openapi' | 'beatui' | null;
|
|
47
|
+
}): Record<string, unknown> | null;
|
|
48
|
+
/**
|
|
49
|
+
* Validate that a oneOf schema is properly configured for discriminator usage
|
|
50
|
+
*/
|
|
51
|
+
export declare function validateDiscriminatorConfiguration(oneOfSchemas: JSONSchema[], discriminatorConfig: {
|
|
52
|
+
discriminator: OpenAPIDiscriminator | BeatUIDiscriminator | null;
|
|
53
|
+
type: 'openapi' | 'beatui' | null;
|
|
54
|
+
}): {
|
|
55
|
+
valid: boolean;
|
|
56
|
+
errors: string[];
|
|
57
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { type SchemaObject } from 'ajv';
|
|
2
|
+
import { Value, Renderable } from '@tempots/dom';
|
|
3
|
+
import { Controller, ControllerValidation } from '../form';
|
|
4
|
+
/**
|
|
5
|
+
* External reference resolver function type.
|
|
6
|
+
* Called when the form encounters external $ref URIs that need to be resolved.
|
|
7
|
+
*
|
|
8
|
+
* @param ids - Array of external schema IDs that need to be resolved
|
|
9
|
+
* @returns Promise resolving to array of schema objects with matching $id properties
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const refResolver = async (ids: string[]) => {
|
|
14
|
+
* const schemas = await Promise.all(
|
|
15
|
+
* ids.map(id => fetch(`/schemas/${id}`).then(r => r.json()))
|
|
16
|
+
* )
|
|
17
|
+
* return schemas
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export type ExternalRefResolver = (ids: ReadonlyArray<string>) => Promise<ReadonlyArray<SchemaObject>>;
|
|
22
|
+
/**
|
|
23
|
+
* Configuration options for JSONSchemaForm external reference resolution.
|
|
24
|
+
*/
|
|
25
|
+
export interface JSONSchemaFormExternalOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Pre-bundled external schemas to register with AJV before compilation.
|
|
28
|
+
* These schemas should have $id properties and will be available for $ref resolution.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const externalSchemas = [
|
|
33
|
+
* { $id: 'https://example.com/address', type: 'object', properties: { ... } },
|
|
34
|
+
* { $id: 'https://example.com/person', type: 'object', properties: { ... } }
|
|
35
|
+
* ]
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
externalSchemas?: ReadonlyArray<SchemaObject>;
|
|
39
|
+
/**
|
|
40
|
+
* Dynamic resolver for external $ref URIs not found in externalSchemas.
|
|
41
|
+
* Called when the form encounters external references during schema compilation.
|
|
42
|
+
* The resolver should fetch and return schemas with matching $id properties.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const refResolver = async (ids: string[]) => {
|
|
47
|
+
* // Fetch schemas from API, filesystem, or other sources
|
|
48
|
+
* return await fetchSchemasById(ids)
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
refResolver?: ExternalRefResolver;
|
|
53
|
+
/**
|
|
54
|
+
* Controls automatic sanitization of form data to remove properties
|
|
55
|
+
* not allowed by the schema (e.g., when additionalProperties: false).
|
|
56
|
+
*
|
|
57
|
+
* - 'all': Remove all additional properties
|
|
58
|
+
* - 'failing': Remove only properties that cause validation failures
|
|
59
|
+
* - false: No automatic sanitization (default)
|
|
60
|
+
*/
|
|
61
|
+
sanitizeAdditional?: 'all' | 'failing' | false;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Props for the JSONSchemaForm component.
|
|
65
|
+
*/
|
|
66
|
+
export interface JSONSchemaFormProps<T> extends JSONSchemaFormExternalOptions {
|
|
67
|
+
/** The root JSON Schema to render as a form */
|
|
68
|
+
schema: SchemaObject;
|
|
69
|
+
/** Reactive value containing the form data */
|
|
70
|
+
initialValue: Value<T>;
|
|
71
|
+
/** Validation behavior */
|
|
72
|
+
validationMode?: 'onSubmit' | 'continuous' | 'touchedOrSubmit';
|
|
73
|
+
validateDebounceMs?: number;
|
|
74
|
+
}
|
|
75
|
+
export declare function JSONSchemaForm<T>({ schema, initialValue, externalSchemas, refResolver, sanitizeAdditional, validationMode, validateDebounceMs, }: JSONSchemaFormProps<T>, fn: ({ Form, controller, setStatus, }: {
|
|
76
|
+
Form: Renderable;
|
|
77
|
+
controller: Controller<T>;
|
|
78
|
+
setStatus: (result: ControllerValidation) => void;
|
|
79
|
+
}) => Renderable): Renderable;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Ajv } from 'ajv';
|
|
2
|
+
import type { JSONSchemaDefinition, SchemaContext } from './schema-context';
|
|
3
|
+
/**
|
|
4
|
+
* Result of oneOf branch detection
|
|
5
|
+
*/
|
|
6
|
+
export interface OneOfBranchDetectionResult {
|
|
7
|
+
/** Index of the matching branch, or -1 if no single match */
|
|
8
|
+
matchingBranch: number;
|
|
9
|
+
/** Array of all branches that validate against the current value */
|
|
10
|
+
validBranches: number[];
|
|
11
|
+
/** Whether multiple branches match (ambiguous for oneOf) */
|
|
12
|
+
isAmbiguous: boolean;
|
|
13
|
+
/** Whether no branches match */
|
|
14
|
+
hasNoMatch: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Detect which oneOf branch(es) the current value matches.
|
|
18
|
+
* This works with both inline schemas and $ref schemas by resolving references first.
|
|
19
|
+
*
|
|
20
|
+
* @param ctx - Schema context containing oneOf definition
|
|
21
|
+
* @param value - Current value to test against branches
|
|
22
|
+
* @param ajv - AJV instance for validation (optional, falls back to heuristics)
|
|
23
|
+
* @returns Branch detection result
|
|
24
|
+
*/
|
|
25
|
+
export declare function detectOneOfBranch(ctx: SchemaContext, value: unknown, ajv?: Ajv): OneOfBranchDetectionResult;
|
|
26
|
+
/**
|
|
27
|
+
* Get a human-readable label for a oneOf branch.
|
|
28
|
+
* Prioritizes title, then discriminator values, then type, then fallback.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getOneOfBranchLabel(branch: JSONSchemaDefinition, index: number, fallback?: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Auto-select the best oneOf branch for a given value.
|
|
33
|
+
* Returns the branch index, or -1 if no clear choice can be made.
|
|
34
|
+
*/
|
|
35
|
+
export declare function autoSelectOneOfBranch(ctx: SchemaContext, value: unknown, ajv?: Ajv): number;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { JSONSchema, JSONSchemaDefinition } from './schema-context';
|
|
2
|
+
import type { Ajv } from 'ajv';
|
|
3
|
+
export declare function clearRefCaches(): void;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a $ref within the provided definition against the given root schema.
|
|
6
|
+
* - Supports in-document JSON Pointer refs only (e.g. "#/$defs/Address").
|
|
7
|
+
* - If siblings are present next to $ref, they are shallow-merged over the resolved target.
|
|
8
|
+
* - Resolves chains of $ref until a non-$ref definition is reached or a cycle is detected.
|
|
9
|
+
* - Memoized per root/definition identity.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveRef(def: JSONSchema, root: JSONSchemaDefinition): JSONSchema;
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a $ref in a schema definition, supporting both in-document ("#...")
|
|
14
|
+
* and external references (e.g., "https://example.com/schema#/$defs/Thing") when
|
|
15
|
+
* an AJV instance is available. Sibling keywords next to $ref are shallow-merged
|
|
16
|
+
* over the resolved target at each step. Cycles are detected and resolution stops.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveAnyRef(def: JSONSchema, root: JSONSchemaDefinition, ajv: Ajv | undefined): JSONSchema;
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type Ajv from 'ajv';
|
|
2
|
+
export type JSONSchemaType = 'null' | 'boolean' | 'object' | 'array' | 'number' | 'string' | 'integer';
|
|
3
|
+
export type JSONSchemaDefinition = JSONSchema | boolean;
|
|
4
|
+
export interface JSONSchema {
|
|
5
|
+
$id?: string;
|
|
6
|
+
$schema?: string;
|
|
7
|
+
$ref?: string;
|
|
8
|
+
$comment?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
default?: unknown;
|
|
12
|
+
examples?: unknown[];
|
|
13
|
+
readOnly?: boolean;
|
|
14
|
+
writeOnly?: boolean;
|
|
15
|
+
deprecated?: boolean;
|
|
16
|
+
type?: JSONSchemaType | JSONSchemaType[];
|
|
17
|
+
enum?: unknown[];
|
|
18
|
+
const?: unknown;
|
|
19
|
+
multipleOf?: number;
|
|
20
|
+
maximum?: number;
|
|
21
|
+
exclusiveMaximum?: number;
|
|
22
|
+
minimum?: number;
|
|
23
|
+
exclusiveMinimum?: number;
|
|
24
|
+
maxLength?: number;
|
|
25
|
+
minLength?: number;
|
|
26
|
+
pattern?: string;
|
|
27
|
+
format?: string;
|
|
28
|
+
items?: JSONSchemaDefinition | JSONSchemaDefinition[];
|
|
29
|
+
additionalItems?: JSONSchemaDefinition;
|
|
30
|
+
maxItems?: number;
|
|
31
|
+
minItems?: number;
|
|
32
|
+
uniqueItems?: boolean;
|
|
33
|
+
contains?: JSONSchemaDefinition;
|
|
34
|
+
minContains?: number;
|
|
35
|
+
maxContains?: number;
|
|
36
|
+
maxProperties?: number;
|
|
37
|
+
minProperties?: number;
|
|
38
|
+
required?: string[];
|
|
39
|
+
properties?: Record<string, JSONSchemaDefinition>;
|
|
40
|
+
patternProperties?: Record<string, JSONSchemaDefinition>;
|
|
41
|
+
additionalProperties?: JSONSchemaDefinition;
|
|
42
|
+
dependencies?: Record<string, JSONSchemaDefinition | string[]>;
|
|
43
|
+
propertyNames?: JSONSchemaDefinition;
|
|
44
|
+
if?: JSONSchemaDefinition;
|
|
45
|
+
then?: JSONSchemaDefinition;
|
|
46
|
+
else?: JSONSchemaDefinition;
|
|
47
|
+
allOf?: JSONSchemaDefinition[];
|
|
48
|
+
anyOf?: JSONSchemaDefinition[];
|
|
49
|
+
oneOf?: JSONSchemaDefinition[];
|
|
50
|
+
not?: JSONSchemaDefinition;
|
|
51
|
+
dependentRequired?: Record<string, string[]>;
|
|
52
|
+
dependentSchemas?: Record<string, JSONSchemaDefinition>;
|
|
53
|
+
unevaluatedItems?: JSONSchemaDefinition;
|
|
54
|
+
unevaluatedProperties?: JSONSchemaDefinition;
|
|
55
|
+
prefixItems?: JSONSchemaDefinition[];
|
|
56
|
+
contentEncoding?: string;
|
|
57
|
+
contentMediaType?: string;
|
|
58
|
+
contentSchema?: JSONSchemaDefinition;
|
|
59
|
+
definitions?: Record<string, JSONSchemaDefinition>;
|
|
60
|
+
$defs?: Record<string, JSONSchemaDefinition>;
|
|
61
|
+
[key: string]: unknown;
|
|
62
|
+
}
|
|
63
|
+
export type SchemaConflict = {
|
|
64
|
+
readonly path: ReadonlyArray<PropertyKey>;
|
|
65
|
+
readonly message: string;
|
|
66
|
+
readonly conflictingValues: readonly unknown[];
|
|
67
|
+
};
|
|
68
|
+
export type AllOfMergeResult = {
|
|
69
|
+
readonly mergedSchema: JSONSchema;
|
|
70
|
+
readonly conflicts: readonly SchemaConflict[];
|
|
71
|
+
};
|
|
72
|
+
export type NotViolation = {
|
|
73
|
+
readonly path: ReadonlyArray<PropertyKey>;
|
|
74
|
+
readonly message: string;
|
|
75
|
+
readonly notSchema: JSONSchema;
|
|
76
|
+
};
|
|
77
|
+
export type SchemaContextOptions = {
|
|
78
|
+
schema: JSONSchemaDefinition;
|
|
79
|
+
definition: JSONSchemaDefinition;
|
|
80
|
+
horizontal: boolean;
|
|
81
|
+
path: ReadonlyArray<PropertyKey>;
|
|
82
|
+
ajv?: Ajv;
|
|
83
|
+
isPropertyRequired?: boolean;
|
|
84
|
+
suppressLabel?: boolean;
|
|
85
|
+
schemaConflicts?: readonly SchemaConflict[];
|
|
86
|
+
notViolations?: readonly NotViolation[];
|
|
87
|
+
};
|
|
88
|
+
export declare class SchemaContext {
|
|
89
|
+
readonly schema: JSONSchemaDefinition;
|
|
90
|
+
readonly definition: JSONSchemaDefinition;
|
|
91
|
+
readonly horizontal: boolean;
|
|
92
|
+
readonly path: ReadonlyArray<PropertyKey>;
|
|
93
|
+
readonly ajv: Ajv | undefined;
|
|
94
|
+
readonly isPropertyRequired: boolean;
|
|
95
|
+
readonly suppressLabel: boolean;
|
|
96
|
+
readonly schemaConflicts: readonly SchemaConflict[];
|
|
97
|
+
readonly notViolations: readonly NotViolation[];
|
|
98
|
+
constructor(options: SchemaContextOptions);
|
|
99
|
+
readonly with: (options: Partial<SchemaContextOptions>) => SchemaContext;
|
|
100
|
+
readonly append: (segment: PropertyKey) => SchemaContext;
|
|
101
|
+
get isRoot(): boolean;
|
|
102
|
+
get name(): string | undefined;
|
|
103
|
+
get widgetName(): string;
|
|
104
|
+
get widgetLabel(): string | undefined;
|
|
105
|
+
readonly hasRequiredProperty: (name: string) => boolean;
|
|
106
|
+
get nullable(): any;
|
|
107
|
+
get isNullable(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Determines if this property is optional (can be absent from parent object).
|
|
110
|
+
* This is different from nullable - optional means the key can be missing,
|
|
111
|
+
* while nullable means the value can be explicitly null.
|
|
112
|
+
*/
|
|
113
|
+
get isOptional(): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Determines if this property should show a presence toggle.
|
|
116
|
+
* Optional properties that are not at the root level should have presence toggles,
|
|
117
|
+
* but primitive values that allow null should use nullable controls instead.
|
|
118
|
+
*/
|
|
119
|
+
get shouldShowPresenceToggle(): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Determines if this schema represents a primitive type (string, number, boolean, null).
|
|
122
|
+
*/
|
|
123
|
+
get isPrimitive(): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Determines if this property is marked as readOnly.
|
|
126
|
+
*/
|
|
127
|
+
get isReadOnly(): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Determines if this property is marked as writeOnly.
|
|
130
|
+
*/
|
|
131
|
+
get isWriteOnly(): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Determines if this property is marked as deprecated.
|
|
134
|
+
*/
|
|
135
|
+
get isDeprecated(): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Checks if readOnly should be ignored based on x:ui.ignoreReadOnly.
|
|
138
|
+
*/
|
|
139
|
+
get shouldIgnoreReadOnly(): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Checks if writeOnly should be shown based on x:ui.showWriteOnly.
|
|
142
|
+
*/
|
|
143
|
+
get shouldShowWriteOnly(): boolean;
|
|
144
|
+
get anyOf(): SchemaContext[] | undefined;
|
|
145
|
+
get oneOf(): SchemaContext[] | undefined;
|
|
146
|
+
get allOf(): SchemaContext[] | undefined;
|
|
147
|
+
readonly hasType: (type: JSONSchemaType) => boolean;
|
|
148
|
+
readonly hasEnumValue: (value: unknown) => boolean;
|
|
149
|
+
readonly hasConstValue: (value: unknown) => boolean;
|
|
150
|
+
get description(): string | undefined;
|
|
151
|
+
get examples(): unknown[] | undefined;
|
|
152
|
+
get default(): unknown;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Deep merge allOf branches into a single effective schema.
|
|
156
|
+
* - Intersects types (detects conflicts like string ∧ number)
|
|
157
|
+
* - Unions required arrays
|
|
158
|
+
* - Deep merges properties objects
|
|
159
|
+
* - Detects and reports conflicts as non-blocking schema errors
|
|
160
|
+
*/
|
|
161
|
+
export declare function mergeAllOf(allOfSchemas: readonly JSONSchema[], basePath?: ReadonlyArray<PropertyKey>): AllOfMergeResult;
|
|
162
|
+
/**
|
|
163
|
+
* Evaluate `not` subschema against the current value using AJV.
|
|
164
|
+
* Returns a NotViolation if the value matches the disallowed schema.
|
|
165
|
+
*/
|
|
166
|
+
export declare function evaluateNotViolation(notSchema: JSONSchema, value: unknown, ajv: Ajv | undefined, basePath?: ReadonlyArray<PropertyKey>): NotViolation | null;
|
|
167
|
+
/**
|
|
168
|
+
* Evaluate if/then/else and dependencies overlays for an object schema without
|
|
169
|
+
* mutating the base definition. Returns a new effective schema plus any merge
|
|
170
|
+
* conflicts discovered while composing overlays.
|
|
171
|
+
*/
|
|
172
|
+
export declare function composeEffectiveObjectSchema(baseDef: JSONSchema, value: unknown, ajv: Ajv | undefined, basePath?: ReadonlyArray<PropertyKey>): {
|
|
173
|
+
effective: JSONSchema;
|
|
174
|
+
conflicts: readonly SchemaConflict[];
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Returns the overlay schema coming from if/then/else for the given value or
|
|
178
|
+
* null if no overlay applies or no AJV instance is available.
|
|
179
|
+
*/
|
|
180
|
+
export declare function evaluateIfThenElseOverlay(def: JSONSchema, value: unknown, ajv: Ajv | undefined): JSONSchema | null;
|
|
181
|
+
/**
|
|
182
|
+
* Tracks which properties have been evaluated by various JSON Schema keywords.
|
|
183
|
+
* This is used to implement unevaluatedProperties semantics for 2019-09/2020-12.
|
|
184
|
+
*/
|
|
185
|
+
export declare function getEvaluatedProperties(schema: JSONSchema, value: Record<string, unknown> | undefined, ajv: Ajv | undefined): Set<string>;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { JSONSchema } from '../schema-context';
|
|
2
|
+
import { Prop } from '@tempots/dom';
|
|
3
|
+
import { ControllerValidation } from '@/components/form';
|
|
4
|
+
/**
|
|
5
|
+
* Async validation rule configuration
|
|
6
|
+
*/
|
|
7
|
+
export interface AsyncValidationRule {
|
|
8
|
+
/** Unique identifier for the rule */
|
|
9
|
+
id: string;
|
|
10
|
+
/** Field path to validate */
|
|
11
|
+
field: string;
|
|
12
|
+
/** Debounce delay in milliseconds (default: 300) */
|
|
13
|
+
debounce?: number;
|
|
14
|
+
/** Validation function */
|
|
15
|
+
validate: (value: unknown, formData: unknown) => Promise<AsyncValidationResult>;
|
|
16
|
+
/** Loading message to show during validation */
|
|
17
|
+
loadingMessage?: string;
|
|
18
|
+
/** Whether to validate on blur only (default: false) */
|
|
19
|
+
validateOnBlurOnly?: boolean;
|
|
20
|
+
/** Minimum value length to trigger validation */
|
|
21
|
+
minLength?: number;
|
|
22
|
+
/** Dependencies that should trigger revalidation */
|
|
23
|
+
dependencies?: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Result of async validation
|
|
27
|
+
*/
|
|
28
|
+
export interface AsyncValidationResult {
|
|
29
|
+
/** Whether validation passed */
|
|
30
|
+
valid: boolean;
|
|
31
|
+
/** Error message if validation failed */
|
|
32
|
+
message?: string;
|
|
33
|
+
/** Additional context for error reporting */
|
|
34
|
+
context?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Async validation state
|
|
38
|
+
*/
|
|
39
|
+
export interface AsyncValidationState {
|
|
40
|
+
/** Whether validation is currently running */
|
|
41
|
+
isValidating: boolean;
|
|
42
|
+
/** Current validation result */
|
|
43
|
+
result: ControllerValidation;
|
|
44
|
+
/** Last validated value */
|
|
45
|
+
lastValidatedValue: unknown;
|
|
46
|
+
/** Timestamp of last validation */
|
|
47
|
+
lastValidatedAt: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Built-in async validation rules
|
|
51
|
+
*/
|
|
52
|
+
export declare const BUILTIN_ASYNC_RULES: {
|
|
53
|
+
/**
|
|
54
|
+
* Check if username is available (example)
|
|
55
|
+
*/
|
|
56
|
+
usernameAvailable: (field: string, checkAvailability: (username: string) => Promise<boolean>, options?: {
|
|
57
|
+
minLength?: number;
|
|
58
|
+
debounce?: number;
|
|
59
|
+
}) => AsyncValidationRule;
|
|
60
|
+
/**
|
|
61
|
+
* Validate email format and check if it exists
|
|
62
|
+
*/
|
|
63
|
+
emailExists: (field: string, checkExists: (email: string) => Promise<boolean>, options?: {
|
|
64
|
+
debounce?: number;
|
|
65
|
+
}) => AsyncValidationRule;
|
|
66
|
+
/**
|
|
67
|
+
* Custom API validation
|
|
68
|
+
*/
|
|
69
|
+
apiValidation: (field: string, apiCall: (value: unknown, formData: unknown) => Promise<{
|
|
70
|
+
valid: boolean;
|
|
71
|
+
message?: string;
|
|
72
|
+
}>, options?: {
|
|
73
|
+
debounce?: number;
|
|
74
|
+
minLength?: number;
|
|
75
|
+
loadingMessage?: string;
|
|
76
|
+
}) => AsyncValidationRule;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Extract async validation rules from schema x:ui
|
|
80
|
+
*/
|
|
81
|
+
export declare function getAsyncValidationRules(schema: JSONSchema): AsyncValidationRule[];
|
|
82
|
+
/**
|
|
83
|
+
* Async validator class that manages debouncing and state
|
|
84
|
+
*/
|
|
85
|
+
export declare class AsyncValidator {
|
|
86
|
+
private timeouts;
|
|
87
|
+
private validationStates;
|
|
88
|
+
private abortControllers;
|
|
89
|
+
/**
|
|
90
|
+
* Create or get validation state signal for a field
|
|
91
|
+
*/
|
|
92
|
+
getValidationState(fieldId: string): Prop<AsyncValidationState>;
|
|
93
|
+
/**
|
|
94
|
+
* Validate a field with debouncing
|
|
95
|
+
*/
|
|
96
|
+
validateField(rule: AsyncValidationRule, value: unknown, formData: unknown, force?: boolean): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Cancel all pending validations
|
|
99
|
+
*/
|
|
100
|
+
cancelAll(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Get current validation results for all fields
|
|
103
|
+
*/
|
|
104
|
+
getAllValidationResults(): Record<string, ControllerValidation>;
|
|
105
|
+
/**
|
|
106
|
+
* Check if any validations are currently running
|
|
107
|
+
*/
|
|
108
|
+
isValidating(): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Dispose of all resources
|
|
111
|
+
*/
|
|
112
|
+
dispose(): void;
|
|
113
|
+
}
|