@tempots/beatui 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-D5jeVM2s.js → ar-VA2yE-1i.js} +24 -18
- 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-QCsvvABM.js → de-C14QN5V1.js} +25 -19
- 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-QPLFaGbp.js → es-B5GqMkMg.js} +23 -17
- package/dist/es-BxBeTRCv.cjs +1 -0
- package/dist/es-D1oMYUqV.cjs +1 -0
- package/dist/{fa-DQmCKW-7.js → fa-BxlrmcQK.js} +24 -16
- package/dist/fa-D5TvDNdj.cjs +1 -0
- package/dist/fa-DxPseW3g.cjs +1 -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-MvvOUdq6.js → fr-BzFxzocR.js} +26 -20
- 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-DarDNPn0.cjs +1 -0
- package/dist/{he-BgUKFv6v.js → he-DjHXtt_S.js} +24 -18
- package/dist/he-XNDY7609.cjs +1 -0
- package/dist/{hi-BJXdbCIZ.js → hi-Xlc0IeoY.js} +24 -18
- 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 +4451 -7699
- 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-Bu7Sjs-g.js → it-CR0FAQEB.js} +24 -18
- package/dist/it-DzUV0SmB.cjs +1 -0
- package/dist/ja-Dj-bAKLf.cjs +1 -0
- package/dist/{ja-DrXpNYfH.js → ja-WICb5O3K.js} +23 -15
- 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-BmkxLoBO.js → ko-30evSGGW.js} +22 -14
- 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-DC5KbcZ1.js → nl-DaCzsF01.js} +24 -18
- package/dist/nl-Dr-l6zUy.cjs +1 -0
- package/dist/nl-hmXJvCw7.cjs +1 -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-Cg5Kr9eZ.cjs +1 -0
- package/dist/{pl-BJJ-Grej.js → pl-DlMR1sq8.js} +27 -21
- 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-DH8tH7fr.js → pt-lX3h34iM.js} +26 -20
- 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-DoNk8aVN.js → ru-2aVFFaQ-.js} +29 -21
- package/dist/ru-CrQR5RUx.cjs +1 -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-CgJ8uhZu.cjs +1 -0
- package/dist/tr-DN9zPGaS.cjs +1 -0
- package/dist/{tr-BD5Li2rQ.js → tr-DgRS_mcj.js} +24 -18
- 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/beatui-i18n/default.d.ts +8 -1
- package/dist/types/beatui-i18n/locales/en.d.ts +8 -1
- package/dist/types/beatui-i18n/translations.d.ts +8 -1
- 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 +11 -13
- 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/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 -4
- 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/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/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 +12 -1
- package/dist/types/utils/focus-trap.d.ts +4 -4
- package/dist/ur-BzgBZpdY.cjs +1 -0
- package/dist/ur-DvqAg9gW.cjs +1 -0
- package/dist/{ur-CUvRCu9R.js → ur-fgmvVBHY.js} +24 -18
- 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-BXI6n5F3.js → vi-DZzB43iu.js} +26 -20
- 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-BMcC2kwD.cjs +1 -0
- package/dist/{zh-DyIbx84k.js → zh-Bcz-uyJp.js} +23 -15
- package/dist/zh-CCGXcj5r.cjs +1 -0
- package/package.json +56 -7
- package/dist/index.umd.js +0 -100
- 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 -13
- 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
|
@@ -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;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { JSONSchema } from '../schema-context';
|
|
2
|
+
/**
|
|
3
|
+
* Unified x:ui configuration types
|
|
4
|
+
*/
|
|
5
|
+
export type XUIString = string;
|
|
6
|
+
export interface XUIObject {
|
|
7
|
+
/** Widget type - takes precedence over format */
|
|
8
|
+
widget?: string;
|
|
9
|
+
/** Format type - fallback if widget not specified */
|
|
10
|
+
format?: string;
|
|
11
|
+
/** Widget-specific options */
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
export type XUIConfig = XUIString | XUIObject;
|
|
15
|
+
/**
|
|
16
|
+
* Resolved widget information with precedence applied
|
|
17
|
+
*/
|
|
18
|
+
export interface ResolvedWidget {
|
|
19
|
+
/** The effective widget type */
|
|
20
|
+
widget: string;
|
|
21
|
+
/** Source of the widget selection for debugging */
|
|
22
|
+
source: 'explicit-widget' | 'explicit-format' | 'schema-format' | 'schema-media' | 'constraints' | 'heuristics' | 'type-fallback';
|
|
23
|
+
/** Additional options from x:ui object */
|
|
24
|
+
options?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Extract x:ui configuration from schema definition
|
|
28
|
+
*/
|
|
29
|
+
export declare function getXUIConfig(definition: JSONSchema): XUIConfig | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve effective widget with precedence rules:
|
|
32
|
+
* 1. Explicit x:ui.widget
|
|
33
|
+
* 2. Explicit x:ui.format (or x:ui as string)
|
|
34
|
+
* 3. Schema format property
|
|
35
|
+
* 4. Schema contentMediaType/contentEncoding
|
|
36
|
+
* 5. Schema constraints (enum, const, min/max, etc.)
|
|
37
|
+
* 6. Heuristics (property names, length bounds)
|
|
38
|
+
* 7. Type fallback
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveWidget(definition: JSONSchema, propertyName?: string): ResolvedWidget | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Legacy function for backward compatibility
|
|
43
|
+
* @deprecated Use resolveWidget instead
|
|
44
|
+
*/
|
|
45
|
+
export declare function getUIFormat(definition: JSONSchema): string | undefined;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { Controller } from '../../form';
|
|
3
|
+
import type { SchemaContext, JSONSchemaDefinition } from '../schema-context';
|
|
4
|
+
import type { WidgetFactory } from './widget-customization';
|
|
5
|
+
/**
|
|
6
|
+
* Widget composition configuration
|
|
7
|
+
*/
|
|
8
|
+
export interface WidgetComposition {
|
|
9
|
+
/** Layout type for composition */
|
|
10
|
+
layout: 'horizontal' | 'vertical' | 'grid' | 'tabs' | 'accordion' | 'custom';
|
|
11
|
+
/** Widgets to compose */
|
|
12
|
+
widgets: ComposedWidget[];
|
|
13
|
+
/** Layout-specific options */
|
|
14
|
+
layoutOptions?: {
|
|
15
|
+
/** Grid columns (for grid layout) */
|
|
16
|
+
columns?: number;
|
|
17
|
+
/** Gap between widgets */
|
|
18
|
+
gap?: string;
|
|
19
|
+
/** Alignment */
|
|
20
|
+
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
21
|
+
/** Custom CSS classes */
|
|
22
|
+
className?: string;
|
|
23
|
+
};
|
|
24
|
+
/** Conditional composition rules */
|
|
25
|
+
conditions?: CompositionCondition[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Individual widget in a composition
|
|
29
|
+
*/
|
|
30
|
+
export interface ComposedWidget {
|
|
31
|
+
/** Widget type/name */
|
|
32
|
+
type: string;
|
|
33
|
+
/** Widget-specific configuration */
|
|
34
|
+
config?: Record<string, unknown>;
|
|
35
|
+
/** Widget label/title */
|
|
36
|
+
label?: string;
|
|
37
|
+
/** Widget description */
|
|
38
|
+
description?: string;
|
|
39
|
+
/** Conditional visibility */
|
|
40
|
+
condition?: string | ((value: unknown, formData: unknown) => boolean);
|
|
41
|
+
/** Layout constraints */
|
|
42
|
+
layout?: {
|
|
43
|
+
/** Grid column span */
|
|
44
|
+
colSpan?: number;
|
|
45
|
+
/** Grid row span */
|
|
46
|
+
rowSpan?: number;
|
|
47
|
+
/** Flex grow factor */
|
|
48
|
+
grow?: number;
|
|
49
|
+
/** Flex shrink factor */
|
|
50
|
+
shrink?: number;
|
|
51
|
+
/** Minimum width */
|
|
52
|
+
minWidth?: string;
|
|
53
|
+
/** Maximum width */
|
|
54
|
+
maxWidth?: string;
|
|
55
|
+
};
|
|
56
|
+
/** Custom styling */
|
|
57
|
+
style?: Record<string, string>;
|
|
58
|
+
/** Custom CSS classes */
|
|
59
|
+
className?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Composition condition for dynamic widget selection
|
|
63
|
+
*/
|
|
64
|
+
export interface CompositionCondition {
|
|
65
|
+
/** Condition to evaluate */
|
|
66
|
+
condition: string | ((value: unknown, formData: unknown) => boolean);
|
|
67
|
+
/** Composition to use when condition is true */
|
|
68
|
+
then: WidgetComposition;
|
|
69
|
+
/** Composition to use when condition is false */
|
|
70
|
+
else?: WidgetComposition;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Widget composition renderer
|
|
74
|
+
*/
|
|
75
|
+
export declare class WidgetComposer {
|
|
76
|
+
private widgetFactories;
|
|
77
|
+
/**
|
|
78
|
+
* Register a widget factory for composition
|
|
79
|
+
*/
|
|
80
|
+
registerWidget(name: string, factory: WidgetFactory): void;
|
|
81
|
+
/**
|
|
82
|
+
* Unregister a widget factory
|
|
83
|
+
*/
|
|
84
|
+
unregisterWidget(name: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* Render a composed widget
|
|
87
|
+
*/
|
|
88
|
+
renderComposition(composition: WidgetComposition, controller: Controller<unknown>, ctx: SchemaContext): Renderable;
|
|
89
|
+
/**
|
|
90
|
+
* Evaluate composition conditions
|
|
91
|
+
*/
|
|
92
|
+
private evaluateConditions;
|
|
93
|
+
/**
|
|
94
|
+
* Evaluate widget visibility condition
|
|
95
|
+
*/
|
|
96
|
+
private evaluateWidgetCondition;
|
|
97
|
+
/**
|
|
98
|
+
* Evaluate a condition
|
|
99
|
+
*/
|
|
100
|
+
private evaluateCondition;
|
|
101
|
+
/**
|
|
102
|
+
* Render an individual widget
|
|
103
|
+
*/
|
|
104
|
+
private renderWidget;
|
|
105
|
+
/**
|
|
106
|
+
* Wrap widget with layout constraints and styling
|
|
107
|
+
*/
|
|
108
|
+
private wrapWidget;
|
|
109
|
+
/**
|
|
110
|
+
* Apply layout to rendered widgets
|
|
111
|
+
*/
|
|
112
|
+
private applyLayout;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Global widget composer instance
|
|
116
|
+
*/
|
|
117
|
+
export declare const globalWidgetComposer: WidgetComposer;
|
|
118
|
+
/**
|
|
119
|
+
* Extract widget composition from schema x:ui
|
|
120
|
+
*/
|
|
121
|
+
export declare function getWidgetComposition(schema: JSONSchemaDefinition): WidgetComposition | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Helper to create a simple horizontal composition
|
|
124
|
+
*/
|
|
125
|
+
export declare function createHorizontalComposition(widgets: Array<{
|
|
126
|
+
type: string;
|
|
127
|
+
config?: Record<string, unknown>;
|
|
128
|
+
label?: string;
|
|
129
|
+
}>, options?: {
|
|
130
|
+
gap?: string;
|
|
131
|
+
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
132
|
+
}): WidgetComposition;
|
|
133
|
+
/**
|
|
134
|
+
* Helper to create a simple grid composition
|
|
135
|
+
*/
|
|
136
|
+
export declare function createGridComposition(widgets: Array<{
|
|
137
|
+
type: string;
|
|
138
|
+
config?: Record<string, unknown>;
|
|
139
|
+
label?: string;
|
|
140
|
+
colSpan?: number;
|
|
141
|
+
rowSpan?: number;
|
|
142
|
+
}>, columns: number, options?: {
|
|
143
|
+
gap?: string;
|
|
144
|
+
}): WidgetComposition;
|