@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,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,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;
|