@usetheo/ui 0.12.0 → 0.13.1
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/CHANGELOG.md +634 -68
- package/DESIGN.md +18 -18
- package/NOTICE +2 -2
- package/README.md +69 -66
- package/dist/chunk-23YEYNDS.js +89 -0
- package/dist/chunk-23YEYNDS.js.map +1 -0
- package/dist/chunk-25KBUQEQ.js +95 -0
- package/dist/chunk-25KBUQEQ.js.map +1 -0
- package/dist/chunk-2A3E5Y72.js +165 -0
- package/dist/chunk-2A3E5Y72.js.map +1 -0
- package/dist/chunk-2EUKYGH5.js +98 -0
- package/dist/chunk-2EUKYGH5.js.map +1 -0
- package/dist/chunk-2NZYMQKT.js +56 -0
- package/dist/chunk-2NZYMQKT.js.map +1 -0
- package/dist/chunk-2OVFVPSZ.js +26 -0
- package/dist/chunk-2OVFVPSZ.js.map +1 -0
- package/dist/chunk-2UP7SECE.js +78 -0
- package/dist/chunk-2UP7SECE.js.map +1 -0
- package/dist/chunk-33ETHPT7.js +112 -0
- package/dist/chunk-33ETHPT7.js.map +1 -0
- package/dist/chunk-33IIDFSM.js +43 -0
- package/dist/chunk-33IIDFSM.js.map +1 -0
- package/dist/chunk-345HYADQ.js +88 -0
- package/dist/chunk-345HYADQ.js.map +1 -0
- package/dist/chunk-3ZXZGZOX.js +57 -0
- package/dist/chunk-3ZXZGZOX.js.map +1 -0
- package/dist/chunk-45FWKR23.js +62 -0
- package/dist/chunk-45FWKR23.js.map +1 -0
- package/dist/chunk-4DTLUBRW.js +122 -0
- package/dist/chunk-4DTLUBRW.js.map +1 -0
- package/dist/chunk-4EH6F54D.js +69 -0
- package/dist/chunk-4EH6F54D.js.map +1 -0
- package/dist/chunk-4EKF4EIE.js +140 -0
- package/dist/chunk-4EKF4EIE.js.map +1 -0
- package/dist/chunk-4SMYNLTA.js +83 -0
- package/dist/chunk-4SMYNLTA.js.map +1 -0
- package/dist/chunk-4UBFLXS3.js +35 -0
- package/dist/chunk-4UBFLXS3.js.map +1 -0
- package/dist/chunk-52J7SDYH.js +48 -0
- package/dist/chunk-52J7SDYH.js.map +1 -0
- package/dist/chunk-5XCTTXC3.js +180 -0
- package/dist/chunk-5XCTTXC3.js.map +1 -0
- package/dist/chunk-624AATQZ.js +77 -0
- package/dist/chunk-624AATQZ.js.map +1 -0
- package/dist/chunk-6IODJQWC.js +47 -0
- package/dist/chunk-6IODJQWC.js.map +1 -0
- package/dist/chunk-75IDWFYX.js +134 -0
- package/dist/chunk-75IDWFYX.js.map +1 -0
- package/dist/chunk-7BGCWJQR.js +113 -0
- package/dist/chunk-7BGCWJQR.js.map +1 -0
- package/dist/chunk-7BQXMG2A.js +93 -0
- package/dist/chunk-7BQXMG2A.js.map +1 -0
- package/dist/chunk-7RFWVNQA.js +47 -0
- package/dist/chunk-7RFWVNQA.js.map +1 -0
- package/dist/chunk-7T4NK6W6.js +192 -0
- package/dist/chunk-7T4NK6W6.js.map +1 -0
- package/dist/chunk-A3OU6ICP.js +91 -0
- package/dist/chunk-A3OU6ICP.js.map +1 -0
- package/dist/chunk-ABBXLAJW.js +74 -0
- package/dist/chunk-ABBXLAJW.js.map +1 -0
- package/dist/chunk-AENNHS3S.js +83 -0
- package/dist/chunk-AENNHS3S.js.map +1 -0
- package/dist/chunk-AXNJFBYX.js +136 -0
- package/dist/chunk-AXNJFBYX.js.map +1 -0
- package/dist/chunk-AXUAQM45.js +154 -0
- package/dist/chunk-AXUAQM45.js.map +1 -0
- package/dist/chunk-B2FL7KBJ.js +65 -0
- package/dist/chunk-B2FL7KBJ.js.map +1 -0
- package/dist/chunk-BE232OKN.js +42 -0
- package/dist/chunk-BE232OKN.js.map +1 -0
- package/dist/chunk-BP4RQSX7.js +200 -0
- package/dist/chunk-BP4RQSX7.js.map +1 -0
- package/dist/chunk-BPJ3RN3U.js +112 -0
- package/dist/chunk-BPJ3RN3U.js.map +1 -0
- package/dist/chunk-BSF4Y4UT.js +77 -0
- package/dist/chunk-BSF4Y4UT.js.map +1 -0
- package/dist/chunk-BWIDDAR7.js +86 -0
- package/dist/chunk-BWIDDAR7.js.map +1 -0
- package/dist/chunk-BYUWQ6OP.js +45 -0
- package/dist/chunk-BYUWQ6OP.js.map +1 -0
- package/dist/chunk-C5ULP2P5.js +140 -0
- package/dist/chunk-C5ULP2P5.js.map +1 -0
- package/dist/chunk-CCG7PXLX.js +24 -0
- package/dist/chunk-CCG7PXLX.js.map +1 -0
- package/dist/chunk-CED2LKHI.js +117 -0
- package/dist/chunk-CED2LKHI.js.map +1 -0
- package/dist/chunk-CGWIOIEO.js +27 -0
- package/dist/chunk-CGWIOIEO.js.map +1 -0
- package/dist/chunk-CSEGVTKO.js +110 -0
- package/dist/chunk-CSEGVTKO.js.map +1 -0
- package/dist/chunk-CVFSNA4K.js +716 -0
- package/dist/chunk-CVFSNA4K.js.map +1 -0
- package/dist/chunk-E26M7ATD.js +61 -0
- package/dist/chunk-E26M7ATD.js.map +1 -0
- package/dist/chunk-E63IRXZZ.js +78 -0
- package/dist/chunk-E63IRXZZ.js.map +1 -0
- package/dist/chunk-ESJUISWY.js +45 -0
- package/dist/chunk-ESJUISWY.js.map +1 -0
- package/dist/chunk-ET7A3TQZ.js +158 -0
- package/dist/chunk-ET7A3TQZ.js.map +1 -0
- package/dist/chunk-ETTL6XGU.js +139 -0
- package/dist/chunk-ETTL6XGU.js.map +1 -0
- package/dist/chunk-EWDN56AS.js +24 -0
- package/dist/chunk-EWDN56AS.js.map +1 -0
- package/dist/chunk-FJZKA2LV.js +165 -0
- package/dist/chunk-FJZKA2LV.js.map +1 -0
- package/dist/chunk-G2WCT6PJ.js +69 -0
- package/dist/chunk-G2WCT6PJ.js.map +1 -0
- package/dist/chunk-GC52HWIL.js +41 -0
- package/dist/chunk-GC52HWIL.js.map +1 -0
- package/dist/chunk-GCKFA7X7.js +83 -0
- package/dist/chunk-GCKFA7X7.js.map +1 -0
- package/dist/chunk-GDMCDW66.js +19 -0
- package/dist/chunk-GDMCDW66.js.map +1 -0
- package/dist/chunk-GIXHBTHH.js +59 -0
- package/dist/chunk-GIXHBTHH.js.map +1 -0
- package/dist/chunk-GLEOUWPN.js +108 -0
- package/dist/chunk-GLEOUWPN.js.map +1 -0
- package/dist/chunk-GLRUM43F.js +121 -0
- package/dist/chunk-GLRUM43F.js.map +1 -0
- package/dist/chunk-H3L7WZDZ.js +74 -0
- package/dist/chunk-H3L7WZDZ.js.map +1 -0
- package/dist/chunk-H55WXDME.js +45 -0
- package/dist/chunk-H55WXDME.js.map +1 -0
- package/dist/chunk-H5QPJNVD.js +98 -0
- package/dist/chunk-H5QPJNVD.js.map +1 -0
- package/dist/chunk-HB45JHMM.js +43 -0
- package/dist/chunk-HB45JHMM.js.map +1 -0
- package/dist/chunk-HETHTYEZ.js +80 -0
- package/dist/chunk-HETHTYEZ.js.map +1 -0
- package/dist/chunk-HHSKNB32.js +55 -0
- package/dist/chunk-HHSKNB32.js.map +1 -0
- package/dist/chunk-HILOUYES.js +151 -0
- package/dist/chunk-HILOUYES.js.map +1 -0
- package/dist/chunk-HTJVHFNW.js +178 -0
- package/dist/chunk-HTJVHFNW.js.map +1 -0
- package/dist/chunk-HZ7Z22VW.js +130 -0
- package/dist/chunk-HZ7Z22VW.js.map +1 -0
- package/dist/chunk-JFKBFQA5.js +129 -0
- package/dist/chunk-JFKBFQA5.js.map +1 -0
- package/dist/chunk-JIZKW3WC.js +74 -0
- package/dist/chunk-JIZKW3WC.js.map +1 -0
- package/dist/chunk-JQTCCKZA.js +154 -0
- package/dist/chunk-JQTCCKZA.js.map +1 -0
- package/dist/chunk-JR4H3FJ2.js +74 -0
- package/dist/chunk-JR4H3FJ2.js.map +1 -0
- package/dist/chunk-JRW53TVG.js +53 -0
- package/dist/chunk-JRW53TVG.js.map +1 -0
- package/dist/chunk-JXOCE27Z.js +82 -0
- package/dist/chunk-JXOCE27Z.js.map +1 -0
- package/dist/chunk-JYW5YNF7.js +188 -0
- package/dist/chunk-JYW5YNF7.js.map +1 -0
- package/dist/chunk-K72DJOXR.js +81 -0
- package/dist/chunk-K72DJOXR.js.map +1 -0
- package/dist/chunk-KDE3NYTI.js +144 -0
- package/dist/chunk-KDE3NYTI.js.map +1 -0
- package/dist/chunk-KFUFTZLS.js +111 -0
- package/dist/chunk-KFUFTZLS.js.map +1 -0
- package/dist/chunk-KHBXI6AV.js +149 -0
- package/dist/chunk-KHBXI6AV.js.map +1 -0
- package/dist/chunk-M74ZYBOK.js +93 -0
- package/dist/chunk-M74ZYBOK.js.map +1 -0
- package/dist/chunk-ML7WLNIK.js +11 -0
- package/dist/chunk-ML7WLNIK.js.map +1 -0
- package/dist/chunk-MXB2GVEQ.js +57 -0
- package/dist/chunk-MXB2GVEQ.js.map +1 -0
- package/dist/chunk-NEMXW2LB.js +102 -0
- package/dist/chunk-NEMXW2LB.js.map +1 -0
- package/dist/chunk-OJPPSJMF.js +65 -0
- package/dist/chunk-OJPPSJMF.js.map +1 -0
- package/dist/chunk-OMR6ZGME.js +63 -0
- package/dist/chunk-OMR6ZGME.js.map +1 -0
- package/dist/chunk-ORVYP73T.js +223 -0
- package/dist/chunk-ORVYP73T.js.map +1 -0
- package/dist/chunk-OZFUUO2Q.js +50 -0
- package/dist/chunk-OZFUUO2Q.js.map +1 -0
- package/dist/chunk-P44UAK45.js +115 -0
- package/dist/chunk-P44UAK45.js.map +1 -0
- package/dist/chunk-PJUP4BJD.js +116 -0
- package/dist/chunk-PJUP4BJD.js.map +1 -0
- package/dist/chunk-PJWYIOY4.js +3 -0
- package/dist/chunk-PJWYIOY4.js.map +1 -0
- package/dist/chunk-PVCW4O37.js +147 -0
- package/dist/chunk-PVCW4O37.js.map +1 -0
- package/dist/chunk-PXT47DRZ.js +59 -0
- package/dist/chunk-PXT47DRZ.js.map +1 -0
- package/dist/chunk-PZGUZHI7.js +142 -0
- package/dist/chunk-PZGUZHI7.js.map +1 -0
- package/dist/chunk-Q2BAL2PF.js +965 -0
- package/dist/chunk-Q2BAL2PF.js.map +1 -0
- package/dist/chunk-QBUTRD2M.js +58 -0
- package/dist/chunk-QBUTRD2M.js.map +1 -0
- package/dist/chunk-QCQTTOMD.js +236 -0
- package/dist/chunk-QCQTTOMD.js.map +1 -0
- package/dist/chunk-QNYOIVQ4.js +36 -0
- package/dist/chunk-QNYOIVQ4.js.map +1 -0
- package/dist/chunk-QPURZJJM.js +88 -0
- package/dist/chunk-QPURZJJM.js.map +1 -0
- package/dist/chunk-QRXIYPWP.js +121 -0
- package/dist/chunk-QRXIYPWP.js.map +1 -0
- package/dist/chunk-QV4BQRNH.js +29 -0
- package/dist/chunk-QV4BQRNH.js.map +1 -0
- package/dist/chunk-REFY5MLN.js +212 -0
- package/dist/chunk-REFY5MLN.js.map +1 -0
- package/dist/chunk-RJ6RAMKH.js +89 -0
- package/dist/chunk-RJ6RAMKH.js.map +1 -0
- package/dist/chunk-RJBCTMVW.js +59 -0
- package/dist/chunk-RJBCTMVW.js.map +1 -0
- package/dist/chunk-RLWULF5B.js +113 -0
- package/dist/chunk-RLWULF5B.js.map +1 -0
- package/dist/chunk-RPZMFGYI.js +31 -0
- package/dist/chunk-RPZMFGYI.js.map +1 -0
- package/dist/chunk-RQT5DWGG.js +34 -0
- package/dist/chunk-RQT5DWGG.js.map +1 -0
- package/dist/chunk-SBKVVVYY.js +89 -0
- package/dist/chunk-SBKVVVYY.js.map +1 -0
- package/dist/chunk-SOJW47EZ.js +70 -0
- package/dist/chunk-SOJW47EZ.js.map +1 -0
- package/dist/chunk-SQ66DCXY.js +35 -0
- package/dist/chunk-SQ66DCXY.js.map +1 -0
- package/dist/chunk-SXKGWHAM.js +179 -0
- package/dist/chunk-SXKGWHAM.js.map +1 -0
- package/dist/chunk-T2OKGV6M.js +13 -0
- package/dist/chunk-T2OKGV6M.js.map +1 -0
- package/dist/chunk-TJLULCZW.js +108 -0
- package/dist/chunk-TJLULCZW.js.map +1 -0
- package/dist/chunk-TY6NTWN5.js +29 -0
- package/dist/chunk-TY6NTWN5.js.map +1 -0
- package/dist/chunk-U3AEEFVB.js +152 -0
- package/dist/chunk-U3AEEFVB.js.map +1 -0
- package/dist/chunk-V3HFDVZ3.js +102 -0
- package/dist/chunk-V3HFDVZ3.js.map +1 -0
- package/dist/chunk-V6H2RUVP.js +77 -0
- package/dist/chunk-V6H2RUVP.js.map +1 -0
- package/dist/chunk-VB53UMAL.js +106 -0
- package/dist/chunk-VB53UMAL.js.map +1 -0
- package/dist/chunk-VBEMLZGX.js +86 -0
- package/dist/chunk-VBEMLZGX.js.map +1 -0
- package/dist/chunk-VBQFE5RV.js +92 -0
- package/dist/chunk-VBQFE5RV.js.map +1 -0
- package/dist/chunk-VHK2OUCW.js +38 -0
- package/dist/chunk-VHK2OUCW.js.map +1 -0
- package/dist/chunk-VHTAVROO.js +53 -0
- package/dist/chunk-VHTAVROO.js.map +1 -0
- package/dist/chunk-VZX4HLBM.js +84 -0
- package/dist/chunk-VZX4HLBM.js.map +1 -0
- package/dist/chunk-W47V2F3Q.js +115 -0
- package/dist/chunk-W47V2F3Q.js.map +1 -0
- package/dist/chunk-W7I3ZX66.js +76 -0
- package/dist/chunk-W7I3ZX66.js.map +1 -0
- package/dist/chunk-WD42UBGR.js +64 -0
- package/dist/chunk-WD42UBGR.js.map +1 -0
- package/dist/chunk-XC7SYZYR.js +86 -0
- package/dist/chunk-XC7SYZYR.js.map +1 -0
- package/dist/chunk-XJA4B3F5.js +68 -0
- package/dist/chunk-XJA4B3F5.js.map +1 -0
- package/dist/chunk-XSENM65D.js +128 -0
- package/dist/chunk-XSENM65D.js.map +1 -0
- package/dist/chunk-YD2QEVHO.js +68 -0
- package/dist/chunk-YD2QEVHO.js.map +1 -0
- package/dist/chunk-YDKRUSB5.js +35 -0
- package/dist/chunk-YDKRUSB5.js.map +1 -0
- package/dist/chunk-YES6SPDT.js +55 -0
- package/dist/chunk-YES6SPDT.js.map +1 -0
- package/dist/chunk-YNDHYMPI.js +46 -0
- package/dist/chunk-YNDHYMPI.js.map +1 -0
- package/dist/chunk-YO3WEMOH.js +130 -0
- package/dist/chunk-YO3WEMOH.js.map +1 -0
- package/dist/chunk-YUFFAWNB.js +90 -0
- package/dist/chunk-YUFFAWNB.js.map +1 -0
- package/dist/chunk-YVXMWUWD.js +118 -0
- package/dist/chunk-YVXMWUWD.js.map +1 -0
- package/dist/chunk-Z6HZMGO2.js +106 -0
- package/dist/chunk-Z6HZMGO2.js.map +1 -0
- package/dist/chunk-ZAMPCRFJ.js +121 -0
- package/dist/chunk-ZAMPCRFJ.js.map +1 -0
- package/dist/chunk-ZEFOXF2I.js +87 -0
- package/dist/chunk-ZEFOXF2I.js.map +1 -0
- package/dist/chunk-ZJXOHLQE.js +66 -0
- package/dist/chunk-ZJXOHLQE.js.map +1 -0
- package/dist/chunk-ZPURFK4C.js +203 -0
- package/dist/chunk-ZPURFK4C.js.map +1 -0
- package/dist/chunk-ZZZIOTLC.js +89 -0
- package/dist/chunk-ZZZIOTLC.js.map +1 -0
- package/dist/components/composites/account-menu/account-menu.d.ts +43 -0
- package/dist/components/composites/account-menu/index.d.ts +1 -0
- package/dist/components/composites/agent-composer/agent-composer.d.ts +41 -0
- package/dist/components/composites/agent-composer/index.d.ts +1 -0
- package/dist/components/composites/agent-editor/agent-editor.d.ts +31 -0
- package/dist/components/composites/agent-editor/index.d.ts +1 -0
- package/dist/components/composites/agent-stream/agent-stream.d.ts +72 -0
- package/dist/components/composites/agent-stream/index.d.ts +2 -0
- package/dist/components/composites/agent-stream/to-agent-stream-items.d.ts +32 -0
- package/dist/components/composites/agent-timeline/agent-timeline.d.ts +22 -0
- package/dist/components/composites/agent-timeline/index.d.ts +1 -0
- package/dist/components/composites/agent-tool-renderer/agent-tool-renderer.d.ts +60 -0
- package/dist/components/composites/agent-tool-renderer/index.d.ts +1 -0
- package/dist/components/composites/agent-tool-renderer/tool-call-part.d.ts +5 -0
- package/dist/components/composites/approval-card/approval-card.d.ts +35 -0
- package/dist/components/composites/approval-card/index.d.ts +1 -0
- package/dist/components/composites/chat-composer/chat-composer.d.ts +68 -0
- package/dist/components/composites/chat-composer/index.d.ts +1 -0
- package/dist/components/composites/chat-message/chat-message-actions.d.ts +22 -0
- package/dist/components/composites/chat-message/chat-message-branch.d.ts +17 -0
- package/dist/components/composites/chat-message/chat-message-response.d.ts +15 -0
- package/dist/components/composites/chat-message/chat-message-toolbar.d.ts +7 -0
- package/dist/components/composites/chat-message/chat-message.d.ts +94 -0
- package/dist/components/composites/chat-message/index.d.ts +23 -0
- package/dist/components/composites/chat-message/parts/data-part.d.ts +9 -0
- package/dist/components/composites/chat-message/parts/file-part.d.ts +5 -0
- package/dist/components/composites/chat-message/parts/reasoning-part.d.ts +7 -0
- package/dist/components/composites/chat-message/parts/source-part.d.ts +9 -0
- package/dist/components/composites/chat-message/parts/text-part.d.ts +11 -0
- package/dist/components/composites/choice-prompt/choice-prompt.d.ts +65 -0
- package/dist/components/composites/choice-prompt/index.d.ts +2 -0
- package/dist/components/composites/code-block/code-block.d.ts +29 -0
- package/dist/components/composites/code-block/index.d.ts +1 -0
- package/dist/components/composites/command-palette/command-palette.d.ts +41 -0
- package/dist/components/composites/command-palette/index.d.ts +1 -0
- package/dist/components/composites/confirm-dialog/confirm-dialog.d.ts +41 -0
- package/dist/components/composites/confirm-dialog/index.d.ts +1 -0
- package/dist/components/composites/confirm-prompt/confirm-prompt.d.ts +31 -0
- package/dist/components/composites/confirm-prompt/index.d.ts +1 -0
- package/dist/components/composites/cron-jobs-list/cron-jobs-list.d.ts +15 -0
- package/dist/components/composites/cron-jobs-list/index.d.ts +1 -0
- package/dist/components/composites/data-table/data-table.d.ts +63 -0
- package/dist/components/composites/data-table/index.d.ts +1 -0
- package/dist/components/composites/deployment-row/deployment-row.d.ts +28 -0
- package/dist/components/composites/deployment-row/index.d.ts +1 -0
- package/dist/components/composites/domain-config/domain-config.d.ts +34 -0
- package/dist/components/composites/domain-config/index.d.ts +1 -0
- package/dist/components/composites/env-var-editor/env-var-editor.d.ts +35 -0
- package/dist/components/composites/env-var-editor/index.d.ts +1 -0
- package/dist/components/composites/mcp-server-list/index.d.ts +1 -0
- package/dist/components/composites/mcp-server-list/mcp-server-list.d.ts +15 -0
- package/dist/components/composites/metric-card/index.d.ts +2 -0
- package/dist/components/composites/metric-card/metric-card.d.ts +46 -0
- package/dist/components/composites/multi-select-prompt/index.d.ts +1 -0
- package/dist/components/composites/multi-select-prompt/multi-select-prompt.d.ts +61 -0
- package/dist/components/composites/page-shell/index.d.ts +1 -0
- package/dist/components/composites/page-shell/page-shell.d.ts +68 -0
- package/dist/components/composites/permission-modal/index.d.ts +1 -0
- package/dist/components/composites/permission-modal/permission-modal.d.ts +48 -0
- package/dist/components/composites/preview-env-card/index.d.ts +1 -0
- package/dist/components/composites/preview-env-card/preview-env-card.d.ts +36 -0
- package/dist/components/composites/preview-panel/index.d.ts +1 -0
- package/dist/components/composites/preview-panel/preview-panel.d.ts +24 -0
- package/dist/components/composites/project-card/index.d.ts +1 -0
- package/dist/components/composites/project-card/project-card.d.ts +32 -0
- package/dist/components/composites/rollback-ui/index.d.ts +1 -0
- package/dist/components/composites/rollback-ui/rollback-ui.d.ts +32 -0
- package/dist/components/composites/rule-editor/index.d.ts +1 -0
- package/dist/components/composites/rule-editor/rule-editor.d.ts +18 -0
- package/dist/components/composites/skill-editor/index.d.ts +1 -0
- package/dist/components/composites/skill-editor/skill-editor.d.ts +19 -0
- package/dist/components/composites/skills-list/index.d.ts +1 -0
- package/dist/components/composites/skills-list/skills-list.d.ts +15 -0
- package/dist/components/composites/slide-deck/context.d.ts +23 -0
- package/dist/components/composites/slide-deck/controls.d.ts +8 -0
- package/dist/components/composites/slide-deck/fragments.d.ts +20 -0
- package/dist/components/composites/slide-deck/index.d.ts +21 -0
- package/dist/components/composites/slide-deck/notes.d.ts +14 -0
- package/dist/components/composites/slide-deck/presenter-view.d.ts +15 -0
- package/dist/components/composites/slide-deck/print-styles.d.ts +21 -0
- package/dist/components/composites/slide-deck/progress-bar.d.ts +8 -0
- package/dist/components/composites/slide-deck/schema.d.ts +31 -0
- package/dist/components/composites/slide-deck/slide-deck.d.ts +78 -0
- package/dist/components/composites/slide-deck/slide-number.d.ts +11 -0
- package/dist/components/composites/slide-deck/split-deck.d.ts +2 -0
- package/dist/components/composites/slide-deck/thumbnails.d.ts +19 -0
- package/dist/components/composites/slide-deck/use-deck-hash-routing.d.ts +23 -0
- package/dist/components/composites/slide-deck/use-deck-keyboard.d.ts +25 -0
- package/dist/components/composites/slide-deck/use-deck-state.d.ts +57 -0
- package/dist/components/composites/slide-deck/use-deck-swipe.d.ts +20 -0
- package/dist/components/composites/slide-deck/use-fullscreen.d.ts +18 -0
- package/dist/components/composites/stability-bundle-viewer/index.d.ts +1 -0
- package/dist/components/composites/stability-bundle-viewer/stability-bundle-viewer.d.ts +28 -0
- package/dist/components/composites/status-indicator/index.d.ts +2 -0
- package/dist/components/composites/status-indicator/status-indicator.d.ts +31 -0
- package/dist/components/composites/task-header/index.d.ts +1 -0
- package/dist/components/composites/task-header/task-header.d.ts +20 -0
- package/dist/components/composites/text-prompt/index.d.ts +1 -0
- package/dist/components/composites/text-prompt/text-prompt.d.ts +48 -0
- package/dist/components/composites/usage-meter/index.d.ts +1 -0
- package/dist/components/composites/usage-meter/usage-meter.d.ts +56 -0
- package/dist/components/primitives/action-bar/action-bar.d.ts +34 -0
- package/dist/components/primitives/action-bar/index.d.ts +1 -0
- package/dist/components/primitives/agent-error-card/agent-error-card.d.ts +47 -0
- package/dist/components/primitives/agent-error-card/index.d.ts +1 -0
- package/dist/components/primitives/agent-event/agent-event.d.ts +25 -0
- package/dist/components/primitives/agent-event/index.d.ts +1 -0
- package/dist/components/primitives/agent-handoff/agent-handoff.d.ts +24 -0
- package/dist/components/primitives/agent-handoff/index.d.ts +1 -0
- package/dist/components/primitives/agent-profile/agent-profile.d.ts +28 -0
- package/dist/components/primitives/agent-profile/index.d.ts +1 -0
- package/dist/components/primitives/agent-starting-state/agent-starting-state.d.ts +15 -0
- package/dist/components/primitives/agent-starting-state/index.d.ts +1 -0
- package/dist/components/primitives/agent-streaming/agent-streaming.d.ts +16 -0
- package/dist/components/primitives/agent-streaming/index.d.ts +1 -0
- package/dist/components/primitives/alert/alert.d.ts +31 -0
- package/dist/components/primitives/alert/index.d.ts +1 -0
- package/dist/components/primitives/artifact-preview/artifact-preview.d.ts +25 -0
- package/dist/components/primitives/artifact-preview/index.d.ts +1 -0
- package/dist/components/primitives/attachment-chip/attachment-chip.d.ts +14 -0
- package/dist/components/primitives/attachment-chip/index.d.ts +1 -0
- package/dist/components/primitives/audit-log-entry/audit-log-entry.d.ts +29 -0
- package/dist/components/primitives/audit-log-entry/index.d.ts +1 -0
- package/dist/components/primitives/auto-compact-notice/auto-compact-notice.d.ts +24 -0
- package/dist/components/primitives/auto-compact-notice/index.d.ts +1 -0
- package/dist/components/primitives/avatar/avatar.d.ts +26 -0
- package/dist/components/primitives/avatar/index.d.ts +1 -0
- package/dist/components/primitives/badge/badge.d.ts +33 -0
- package/dist/components/primitives/badge/index.d.ts +1 -0
- package/dist/components/primitives/branch-indicator/branch-indicator.d.ts +13 -0
- package/dist/components/primitives/branch-indicator/index.d.ts +1 -0
- package/dist/components/primitives/browser-controls/browser-controls.d.ts +19 -0
- package/dist/components/primitives/browser-controls/index.d.ts +1 -0
- package/dist/components/primitives/build-log-stream/build-log-stream.d.ts +51 -0
- package/dist/components/primitives/build-log-stream/index.d.ts +1 -0
- package/dist/components/primitives/button/button.d.ts +26 -0
- package/dist/components/primitives/button/index.d.ts +1 -0
- package/dist/components/primitives/capability-indicator/capability-indicator.d.ts +57 -0
- package/dist/components/primitives/capability-indicator/index.d.ts +1 -0
- package/dist/components/primitives/card/card.d.ts +40 -0
- package/dist/components/primitives/card/index.d.ts +1 -0
- package/dist/components/primitives/channel-card/channel-card.d.ts +28 -0
- package/dist/components/primitives/channel-card/index.d.ts +1 -0
- package/dist/components/primitives/chat-thread/chat-thread.d.ts +12 -0
- package/dist/components/primitives/chat-thread/index.d.ts +1 -0
- package/dist/components/primitives/checkbox/checkbox.d.ts +20 -0
- package/dist/components/primitives/checkbox/index.d.ts +1 -0
- package/dist/components/primitives/context-card/context-card.d.ts +18 -0
- package/dist/components/primitives/context-card/index.d.ts +1 -0
- package/dist/components/primitives/context-window-bar/context-window-bar.d.ts +27 -0
- package/dist/components/primitives/context-window-bar/index.d.ts +1 -0
- package/dist/components/primitives/copy-button/copy-button.d.ts +17 -0
- package/dist/components/primitives/copy-button/index.d.ts +1 -0
- package/dist/components/primitives/cost-meter/cost-meter.d.ts +23 -0
- package/dist/components/primitives/cost-meter/index.d.ts +1 -0
- package/dist/components/primitives/created-files-card/created-files-card.d.ts +30 -0
- package/dist/components/primitives/created-files-card/index.d.ts +1 -0
- package/dist/components/primitives/cron-job-card/cron-job-card.d.ts +30 -0
- package/dist/components/primitives/cron-job-card/index.d.ts +1 -0
- package/dist/components/primitives/danger-zone/danger-zone.d.ts +40 -0
- package/dist/components/primitives/danger-zone/index.d.ts +1 -0
- package/dist/components/primitives/dialog/dialog.d.ts +26 -0
- package/dist/components/primitives/dialog/index.d.ts +1 -0
- package/dist/components/primitives/diff-viewer/diff-viewer.d.ts +45 -0
- package/dist/components/primitives/diff-viewer/index.d.ts +1 -0
- package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +68 -0
- package/dist/components/primitives/dropdown-menu/index.d.ts +1 -0
- package/dist/components/primitives/empty-state/empty-state.d.ts +22 -0
- package/dist/components/primitives/empty-state/index.d.ts +1 -0
- package/dist/components/primitives/export-chat-dialog/export-chat-dialog.d.ts +18 -0
- package/dist/components/primitives/export-chat-dialog/index.d.ts +1 -0
- package/dist/components/primitives/folder-context-card/folder-context-card.d.ts +40 -0
- package/dist/components/primitives/folder-context-card/index.d.ts +1 -0
- package/dist/components/primitives/folder-selector/folder-selector.d.ts +18 -0
- package/dist/components/primitives/folder-selector/index.d.ts +1 -0
- package/dist/components/primitives/form-field/form-field.d.ts +44 -0
- package/dist/components/primitives/form-field/index.d.ts +1 -0
- package/dist/components/primitives/gateway-status-indicator/gateway-status-indicator.d.ts +19 -0
- package/dist/components/primitives/gateway-status-indicator/index.d.ts +1 -0
- package/dist/components/primitives/hook-config/hook-config.d.ts +27 -0
- package/dist/components/primitives/hook-config/index.d.ts +1 -0
- package/dist/components/primitives/hook-event-log/hook-event-log.d.ts +27 -0
- package/dist/components/primitives/hook-event-log/index.d.ts +1 -0
- package/dist/components/primitives/input/index.d.ts +1 -0
- package/dist/components/primitives/input/input.d.ts +24 -0
- package/dist/components/primitives/intent-selector/index.d.ts +1 -0
- package/dist/components/primitives/intent-selector/intent-selector.d.ts +22 -0
- package/dist/components/primitives/label/index.d.ts +1 -0
- package/dist/components/primitives/label/label.d.ts +15 -0
- package/dist/components/primitives/lane-board/index.d.ts +1 -0
- package/dist/components/primitives/lane-board/lane-board.d.ts +26 -0
- package/dist/components/primitives/login-split/index.d.ts +1 -0
- package/dist/components/primitives/login-split/login-split.d.ts +24 -0
- package/dist/components/primitives/mcp-server-card/index.d.ts +1 -0
- package/dist/components/primitives/mcp-server-card/mcp-server-card.d.ts +32 -0
- package/dist/components/primitives/memory-editor/index.d.ts +1 -0
- package/dist/components/primitives/memory-editor/memory-editor.d.ts +29 -0
- package/dist/components/primitives/mention-menu/index.d.ts +1 -0
- package/dist/components/primitives/mention-menu/mention-menu.d.ts +44 -0
- package/dist/components/primitives/metrics-panel/index.d.ts +1 -0
- package/dist/components/primitives/metrics-panel/metrics-panel.d.ts +62 -0
- package/dist/components/primitives/model-card/index.d.ts +1 -0
- package/dist/components/primitives/model-card/model-card.d.ts +72 -0
- package/dist/components/primitives/model-selector/index.d.ts +1 -0
- package/dist/components/primitives/model-selector/model-selector.d.ts +21 -0
- package/dist/components/primitives/pagination/index.d.ts +1 -0
- package/dist/components/primitives/pagination/pagination.d.ts +44 -0
- package/dist/components/primitives/permission-matrix/index.d.ts +1 -0
- package/dist/components/primitives/permission-matrix/permission-matrix.d.ts +43 -0
- package/dist/components/primitives/pin-input/index.d.ts +1 -0
- package/dist/components/primitives/pin-input/pin-input.d.ts +41 -0
- package/dist/components/primitives/plan-badge/index.d.ts +1 -0
- package/dist/components/primitives/plan-badge/plan-badge.d.ts +35 -0
- package/dist/components/primitives/progress/index.d.ts +1 -0
- package/dist/components/primitives/progress/progress.d.ts +44 -0
- package/dist/components/primitives/progress-checklist/index.d.ts +1 -0
- package/dist/components/primitives/progress-checklist/progress-checklist.d.ts +18 -0
- package/dist/components/primitives/project-switcher/index.d.ts +1 -0
- package/dist/components/primitives/project-switcher/project-switcher.d.ts +32 -0
- package/dist/components/primitives/quick-action-chips/index.d.ts +1 -0
- package/dist/components/primitives/quick-action-chips/quick-action-chips.d.ts +22 -0
- package/dist/components/primitives/radio-group/index.d.ts +1 -0
- package/dist/components/primitives/radio-group/radio-group.d.ts +5 -0
- package/dist/components/primitives/recent-folders-list/index.d.ts +1 -0
- package/dist/components/primitives/recent-folders-list/recent-folders-list.d.ts +21 -0
- package/dist/components/primitives/rule-card/index.d.ts +1 -0
- package/dist/components/primitives/rule-card/rule-card.d.ts +15 -0
- package/dist/components/primitives/run-stats/index.d.ts +1 -0
- package/dist/components/primitives/run-stats/run-stats.d.ts +16 -0
- package/dist/components/primitives/run-status-pill/index.d.ts +1 -0
- package/dist/components/primitives/run-status-pill/run-status-pill.d.ts +13 -0
- package/dist/components/primitives/running-tasks-panel/index.d.ts +1 -0
- package/dist/components/primitives/running-tasks-panel/running-tasks-panel.d.ts +20 -0
- package/dist/components/primitives/scroll-area/index.d.ts +2 -0
- package/dist/components/primitives/scroll-area/scroll-area.d.ts +40 -0
- package/dist/components/primitives/scroll-area/use-stick-to-bottom.d.ts +20 -0
- package/dist/components/primitives/select/index.d.ts +1 -0
- package/dist/components/primitives/select/select.d.ts +50 -0
- package/dist/components/primitives/session-list-item/index.d.ts +1 -0
- package/dist/components/primitives/session-list-item/session-list-item.d.ts +35 -0
- package/dist/components/primitives/session-timeline/index.d.ts +1 -0
- package/dist/components/primitives/session-timeline/session-timeline.d.ts +32 -0
- package/dist/components/primitives/sheet/index.d.ts +1 -0
- package/dist/components/primitives/sheet/sheet.d.ts +57 -0
- package/dist/components/primitives/sidebar/index.d.ts +1 -0
- package/dist/components/primitives/sidebar/sidebar.d.ts +18 -0
- package/dist/components/primitives/skeleton/index.d.ts +1 -0
- package/dist/components/primitives/skeleton/skeleton.d.ts +21 -0
- package/dist/components/primitives/skill-card/index.d.ts +1 -0
- package/dist/components/primitives/skill-card/skill-card.d.ts +28 -0
- package/dist/components/primitives/slide/alerts.d.ts +31 -0
- package/dist/components/primitives/slide/frontmatter.d.ts +23 -0
- package/dist/components/primitives/slide/index.d.ts +16 -0
- package/dist/components/primitives/slide/json-schema.d.ts +9 -0
- package/dist/components/primitives/slide/marpit-bg.d.ts +36 -0
- package/dist/components/primitives/slide/parse.d.ts +59 -0
- package/dist/components/primitives/slide/plugin.d.ts +79 -0
- package/dist/components/primitives/slide/plugins/emoji/index.d.ts +8 -0
- package/dist/components/primitives/slide/plugins/emoji/map.d.ts +15 -0
- package/dist/components/primitives/slide/plugins/math/index.d.ts +6 -0
- package/dist/components/primitives/slide/plugins/mermaid/index.d.ts +48 -0
- package/dist/components/primitives/slide/plugins/shiki/index.d.ts +11 -0
- package/dist/components/primitives/slide/sanitize.d.ts +33 -0
- package/dist/components/primitives/slide/schema.d.ts +109 -0
- package/dist/components/primitives/slide/slide.d.ts +53 -0
- package/dist/components/primitives/slide/themes/index.d.ts +9 -0
- package/dist/components/primitives/slide/use-slide-fit.d.ts +21 -0
- package/dist/components/primitives/slide/validate.d.ts +33 -0
- package/dist/components/primitives/social-auth-row/index.d.ts +1 -0
- package/dist/components/primitives/social-auth-row/social-auth-row.d.ts +24 -0
- package/dist/components/primitives/stat-tile/index.d.ts +1 -0
- package/dist/components/primitives/stat-tile/stat-tile.d.ts +28 -0
- package/dist/components/primitives/status-dot/index.d.ts +1 -0
- package/dist/components/primitives/status-dot/status-dot.d.ts +31 -0
- package/dist/components/primitives/steps-rail/index.d.ts +1 -0
- package/dist/components/primitives/steps-rail/steps-rail.d.ts +24 -0
- package/dist/components/primitives/sub-agent-dispatch/index.d.ts +1 -0
- package/dist/components/primitives/sub-agent-dispatch/sub-agent-dispatch.d.ts +30 -0
- package/dist/components/primitives/switch/index.d.ts +1 -0
- package/dist/components/primitives/switch/switch.d.ts +20 -0
- package/dist/components/primitives/system-prompt-editor/index.d.ts +1 -0
- package/dist/components/primitives/system-prompt-editor/system-prompt-editor.d.ts +25 -0
- package/dist/components/primitives/table/index.d.ts +1 -0
- package/dist/components/primitives/table/table.d.ts +61 -0
- package/dist/components/primitives/tabs/index.d.ts +1 -0
- package/dist/components/primitives/tabs/tabs.d.ts +7 -0
- package/dist/components/primitives/task-plan/index.d.ts +1 -0
- package/dist/components/primitives/task-plan/task-plan.d.ts +36 -0
- package/dist/components/primitives/terminal-panel/index.d.ts +1 -0
- package/dist/components/primitives/terminal-panel/terminal-panel.d.ts +32 -0
- package/dist/components/primitives/textarea/index.d.ts +1 -0
- package/dist/components/primitives/textarea/textarea.d.ts +20 -0
- package/dist/components/primitives/thinking-level-selector/index.d.ts +1 -0
- package/dist/components/primitives/thinking-level-selector/thinking-level-selector.d.ts +24 -0
- package/dist/components/primitives/timestamp/index.d.ts +1 -0
- package/dist/components/primitives/timestamp/timestamp.d.ts +34 -0
- package/dist/components/primitives/toast/index.d.ts +2 -0
- package/dist/components/primitives/toast/toast.d.ts +34 -0
- package/dist/components/primitives/toast/toaster.d.ts +38 -0
- package/dist/components/primitives/token-usage-chart/index.d.ts +2 -0
- package/dist/components/primitives/token-usage-chart/token-usage-chart.d.ts +44 -0
- package/dist/components/primitives/token-usage-chart/usage-metrics.d.ts +23 -0
- package/dist/components/primitives/tool-call/index.d.ts +1 -0
- package/dist/components/primitives/tool-call/tool-call.d.ts +30 -0
- package/dist/components/primitives/tool-call-card/index.d.ts +1 -0
- package/dist/components/primitives/tool-call-card/tool-call-card.d.ts +30 -0
- package/dist/components/primitives/tool-result/index.d.ts +1 -0
- package/dist/components/primitives/tool-result/tool-result.d.ts +19 -0
- package/dist/components/primitives/tools-list/index.d.ts +1 -0
- package/dist/components/primitives/tools-list/tools-list.d.ts +32 -0
- package/dist/components/primitives/tooltip/index.d.ts +1 -0
- package/dist/components/primitives/tooltip/tooltip.d.ts +33 -0
- package/dist/components/primitives/topnav/index.d.ts +1 -0
- package/dist/components/primitives/topnav/topnav.d.ts +29 -0
- package/dist/components/primitives/update-banner/index.d.ts +1 -0
- package/dist/components/primitives/update-banner/update-banner.d.ts +16 -0
- package/dist/components/primitives/whiteboard/index.d.ts +2 -0
- package/dist/components/primitives/whiteboard/render/freedraw.d.ts +2 -0
- package/dist/components/primitives/whiteboard/render/line.d.ts +4 -0
- package/dist/components/primitives/whiteboard/render/rough-paths.d.ts +16 -0
- package/dist/components/primitives/whiteboard/render/scene.d.ts +3 -0
- package/dist/components/primitives/whiteboard/render/shape.d.ts +5 -0
- package/dist/components/primitives/whiteboard/render/style.d.ts +24 -0
- package/dist/components/primitives/whiteboard/render/text.d.ts +2 -0
- package/dist/components/primitives/whiteboard/schema.d.ts +596 -0
- package/dist/components/primitives/whiteboard/seed.d.ts +22 -0
- package/dist/components/primitives/whiteboard/validate.d.ts +26 -0
- package/dist/components/primitives/whiteboard/viewport/use-pointer-pan.d.ts +11 -0
- package/dist/components/primitives/whiteboard/viewport/use-viewport.d.ts +33 -0
- package/dist/components/primitives/whiteboard/whiteboard.d.ts +21 -0
- package/dist/components.css +1 -1
- package/dist/composites/account-menu/index.js +4 -4
- package/dist/composites/agent-composer/index.js +6 -5
- package/dist/composites/agent-editor/index.js +8 -7
- package/dist/composites/agent-stream/index.js +21 -9
- package/dist/composites/agent-timeline/index.js +3 -3
- package/dist/composites/agent-tool-renderer/index.js +17 -0
- package/dist/composites/agent-tool-renderer/index.js.map +1 -0
- package/dist/composites/approval-card/index.js +3 -3
- package/dist/composites/chat-composer/index.js +3 -3
- package/dist/composites/chat-message/index.js +18 -4
- package/dist/composites/choice-prompt/index.js +11 -0
- package/dist/composites/choice-prompt/index.js.map +1 -0
- package/dist/composites/code-block/index.js +3 -3
- package/dist/composites/command-palette/index.js +4 -3
- package/dist/composites/confirm-dialog/index.js +6 -5
- package/dist/composites/confirm-prompt/index.js +7 -0
- package/dist/composites/confirm-prompt/index.js.map +1 -0
- package/dist/composites/cron-jobs-list/index.js +3 -3
- package/dist/composites/data-table/index.js +8 -7
- package/dist/composites/deployment-row/index.js +3 -3
- package/dist/composites/domain-config/index.js +6 -5
- package/dist/composites/env-var-editor/index.js +7 -5
- package/dist/composites/mcp-server-list/index.js +4 -3
- package/dist/composites/metric-card/index.js +5 -0
- package/dist/composites/metric-card/index.js.map +1 -0
- package/dist/composites/multi-select-prompt/index.js +11 -0
- package/dist/composites/multi-select-prompt/index.js.map +1 -0
- package/dist/composites/page-shell/index.js +6 -5
- package/dist/composites/permission-modal/index.js +5 -4
- package/dist/composites/preview-env-card/index.js +4 -4
- package/dist/composites/preview-panel/index.js +3 -3
- package/dist/composites/project-card/index.js +4 -4
- package/dist/composites/rollback-ui/index.js +5 -4
- package/dist/composites/rule-editor/index.js +9 -8
- package/dist/composites/skill-editor/index.js +9 -8
- package/dist/composites/skills-list/index.js +4 -3
- package/dist/composites/stability-bundle-viewer/index.js +5 -0
- package/dist/composites/stability-bundle-viewer/index.js.map +1 -0
- package/dist/composites/status-indicator/index.js +4 -0
- package/dist/composites/status-indicator/index.js.map +1 -0
- package/dist/composites/task-header/index.js +3 -3
- package/dist/composites/text-prompt/index.js +10 -0
- package/dist/composites/text-prompt/index.js.map +1 -0
- package/dist/composites/usage-meter/index.js +3 -3
- package/dist/fonts-cdn.css +4 -4
- package/dist/fonts.css +2 -2
- package/dist/index.d.ts +144 -4461
- package/dist/index.js +999 -731
- package/dist/index.js.map +1 -1
- package/dist/lib/cn.d.ts +6 -0
- package/dist/lib/env.d.ts +55 -0
- package/dist/lib/live-region-context.d.ts +2 -0
- package/dist/lib/markdown/code-block.d.ts +14 -0
- package/dist/lib/markdown/inline-code.d.ts +10 -0
- package/dist/lib/markdown/math.d.ts +12 -0
- package/dist/lib/markdown/mermaid.d.ts +6 -0
- package/dist/lib/markdown/parser.d.ts +47 -0
- package/dist/lib/markdown/streaming-preprocess.d.ts +39 -0
- package/dist/lib/prompt.d.ts +40 -0
- package/dist/lib/safe-href.d.ts +27 -0
- package/dist/lib/sdk-tools-adapters/index.d.ts +1 -0
- package/dist/lib/sdk-tools-adapters/index.js +3 -0
- package/dist/lib/sdk-tools-adapters/index.js.map +1 -0
- package/dist/lib/sdk-tools-adapters/sdk-tools-adapters.d.ts +60 -0
- package/dist/lib/types.d.ts +10 -0
- package/dist/preset-v3-legacy.d.ts +7 -10
- package/dist/preset-v3-legacy.js +23 -3
- package/dist/preset-v3-legacy.js.map +1 -1
- package/dist/preset.css +2 -2
- package/dist/primitives/action-bar/index.js +2 -2
- package/dist/primitives/agent-error-card/index.js +2 -2
- package/dist/primitives/agent-event/index.js +3 -2
- package/dist/primitives/agent-handoff/index.js +2 -2
- package/dist/primitives/agent-profile/index.js +2 -2
- package/dist/primitives/agent-starting-state/index.js +2 -2
- package/dist/primitives/agent-streaming/index.js +2 -2
- package/dist/primitives/alert/index.js +2 -2
- package/dist/primitives/artifact-preview/index.js +2 -2
- package/dist/primitives/attachment-chip/index.js +2 -2
- package/dist/primitives/audit-log-entry/index.js +2 -2
- package/dist/primitives/auto-compact-notice/index.js +2 -2
- package/dist/primitives/avatar/index.js +2 -2
- package/dist/primitives/badge/index.js +2 -2
- package/dist/primitives/branch-indicator/index.js +4 -0
- package/dist/primitives/branch-indicator/index.js.map +1 -0
- package/dist/primitives/browser-controls/index.js +2 -2
- package/dist/primitives/build-log-stream/index.js +4 -2
- package/dist/primitives/button/index.js +2 -2
- package/dist/primitives/capability-indicator/index.js +2 -2
- package/dist/primitives/card/index.js +3 -2
- package/dist/primitives/channel-card/index.js +4 -0
- package/dist/primitives/channel-card/index.js.map +1 -0
- package/dist/primitives/chat-thread/index.js +2 -2
- package/dist/primitives/checkbox/index.js +2 -2
- package/dist/primitives/context-card/index.js +2 -2
- package/dist/primitives/context-window-bar/index.js +2 -2
- package/dist/primitives/copy-button/index.js +3 -2
- package/dist/primitives/cost-meter/index.js +2 -2
- package/dist/primitives/created-files-card/index.js +2 -2
- package/dist/primitives/cron-job-card/index.js +2 -2
- package/dist/primitives/danger-zone/index.js +2 -2
- package/dist/primitives/dialog/index.js +2 -2
- package/dist/primitives/diff-viewer/index.js +2 -2
- package/dist/primitives/dropdown-menu/index.js +2 -2
- package/dist/primitives/empty-state/index.js +2 -2
- package/dist/primitives/export-chat-dialog/index.js +5 -0
- package/dist/primitives/export-chat-dialog/index.js.map +1 -0
- package/dist/primitives/folder-context-card/index.js +2 -2
- package/dist/primitives/folder-selector/index.js +2 -2
- package/dist/primitives/form-field/index.js +3 -2
- package/dist/primitives/gateway-status-indicator/index.js +4 -0
- package/dist/primitives/gateway-status-indicator/index.js.map +1 -0
- package/dist/primitives/hook-config/index.js +3 -2
- package/dist/primitives/hook-event-log/index.js +2 -2
- package/dist/primitives/input/index.js +2 -2
- package/dist/primitives/intent-selector/index.js +2 -2
- package/dist/primitives/label/index.js +2 -2
- package/dist/primitives/lane-board/index.js +2 -2
- package/dist/primitives/login-split/index.js +2 -2
- package/dist/primitives/mcp-server-card/index.js +2 -2
- package/dist/primitives/memory-editor/index.js +2 -2
- package/dist/primitives/mention-menu/index.js +3 -2
- package/dist/primitives/metrics-panel/index.js +2 -2
- package/dist/primitives/model-card/index.js +2 -2
- package/dist/primitives/model-selector/index.js +2 -2
- package/dist/primitives/pagination/index.js +2 -2
- package/dist/primitives/permission-matrix/index.js +3 -2
- package/dist/primitives/pin-input/index.js +3 -2
- package/dist/primitives/plan-badge/index.js +2 -2
- package/dist/primitives/progress/index.js +2 -2
- package/dist/primitives/progress-checklist/index.js +2 -2
- package/dist/primitives/project-switcher/index.js +2 -2
- package/dist/primitives/quick-action-chips/index.js +2 -2
- package/dist/primitives/radio-group/index.js +2 -2
- package/dist/primitives/recent-folders-list/index.js +2 -2
- package/dist/primitives/rule-card/index.js +2 -2
- package/dist/primitives/run-stats/index.js +2 -2
- package/dist/primitives/run-status-pill/index.js +4 -0
- package/dist/primitives/run-status-pill/index.js.map +1 -0
- package/dist/primitives/running-tasks-panel/index.js +2 -2
- package/dist/primitives/scroll-area/index.js +3 -2
- package/dist/primitives/select/index.js +2 -2
- package/dist/primitives/session-list-item/index.js +2 -2
- package/dist/primitives/session-timeline/index.js +2 -2
- package/dist/primitives/sheet/index.js +2 -2
- package/dist/primitives/sidebar/index.js +2 -2
- package/dist/primitives/skeleton/index.js +2 -2
- package/dist/primitives/skill-card/index.js +2 -2
- package/dist/primitives/social-auth-row/index.js +2 -2
- package/dist/primitives/stat-tile/index.js +2 -2
- package/dist/primitives/status-dot/index.js +4 -2
- package/dist/primitives/steps-rail/index.js +2 -2
- package/dist/primitives/sub-agent-dispatch/index.js +2 -2
- package/dist/primitives/switch/index.js +2 -2
- package/dist/primitives/system-prompt-editor/index.js +3 -2
- package/dist/primitives/table/index.js +3 -2
- package/dist/primitives/tabs/index.js +2 -2
- package/dist/primitives/task-plan/index.js +2 -2
- package/dist/primitives/terminal-panel/index.js +2 -2
- package/dist/primitives/textarea/index.js +2 -2
- package/dist/primitives/thinking-level-selector/index.js +5 -0
- package/dist/primitives/thinking-level-selector/index.js.map +1 -0
- package/dist/primitives/timestamp/index.js +4 -2
- package/dist/primitives/toast/index.js +3 -2
- package/dist/primitives/token-usage-chart/index.js +2 -2
- package/dist/primitives/tool-call/index.js +3 -2
- package/dist/primitives/tool-call-card/index.js +3 -2
- package/dist/primitives/tool-result/index.js +2 -2
- package/dist/primitives/tools-list/index.js +2 -2
- package/dist/primitives/tooltip/index.js +2 -2
- package/dist/primitives/topnav/index.js +2 -2
- package/dist/primitives/update-banner/index.js +4 -0
- package/dist/primitives/update-banner/index.js.map +1 -0
- package/dist/screens/theo-code-shell.d.ts +9 -0
- package/dist/screens/theo-code-shell.data.d.ts +147 -0
- package/dist/slide/index.js +2 -1
- package/dist/slide/plugins/mermaid/index.js +1 -1
- package/dist/slide/plugins/mermaid/index.js.map +1 -1
- package/dist/slide/plugins/shiki/index.js.map +1 -1
- package/dist/slide/themes/violet-forge.css +1 -1
- package/dist/slide-deck/index.js +13 -2
- package/dist/slide-deck/index.js.map +1 -1
- package/dist/styles/tailwind-preset.d.ts +29 -0
- package/dist/styles.css +3 -3
- package/dist/test/a11y.d.ts +13 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/themes/anthropic-style.d.ts +11 -0
- package/dist/themes/aurora-terminal.d.ts +9 -0
- package/dist/themes/classic-paper.d.ts +17 -0
- package/dist/themes/color-value-pattern.d.ts +22 -0
- package/dist/themes/color.d.ts +62 -0
- package/dist/themes/define.d.ts +65 -0
- package/dist/themes/density.d.ts +17 -0
- package/dist/themes/dracula.d.ts +14 -0
- package/dist/themes/github-dark.d.ts +11 -0
- package/dist/themes/index.d.ts +26 -0
- package/dist/themes/linear-glass.d.ts +11 -0
- package/dist/themes/one-dark.d.ts +11 -0
- package/dist/themes/openai-style.d.ts +10 -0
- package/dist/themes/schema.d.ts +112 -0
- package/dist/themes/theme-provider.d.ts +82 -0
- package/dist/themes/theme-script.d.ts +48 -0
- package/dist/themes/theme-switcher.d.ts +17 -0
- package/dist/themes/types.d.ts +88 -0
- package/dist/themes/vercel-mono.d.ts +11 -0
- package/dist/themes/violet-forge.d.ts +12 -0
- package/dist/theo-ui-provider.d.ts +50 -0
- package/dist/tokens-v4.css +77 -41
- package/dist/tokens.css +159 -74
- package/dist/types/agent.d.ts +19 -0
- package/dist/types/chat.d.ts +173 -0
- package/dist/types/mode.d.ts +16 -0
- package/dist/types/permission.d.ts +8 -0
- package/dist/types/rule.d.ts +28 -0
- package/dist/types/task.d.ts +9 -0
- package/dist/vite-plugin.d.ts +7 -11
- package/dist/vite-plugin.js +4 -4
- package/dist/vite-plugin.js.map +1 -1
- package/dist/whiteboard/index.js +3 -0
- package/dist/whiteboard/index.js.map +1 -1
- package/llms.txt +39 -39
- package/package.json +246 -174
- package/registry/index.json +58 -4
- package/registry/r/account-menu.json +1 -1
- package/registry/r/action-bar.json +1 -1
- package/registry/r/agent-composer.json +1 -1
- package/registry/r/agent-editor.json +1 -1
- package/registry/r/agent-error-card.json +1 -1
- package/registry/r/agent-event.json +1 -1
- package/registry/r/agent-handoff.json +1 -1
- package/registry/r/agent-profile.json +1 -1
- package/registry/r/agent-starting-state.json +1 -1
- package/registry/r/agent-stream.json +1 -1
- package/registry/r/agent-streaming.json +1 -1
- package/registry/r/agent-timeline.json +1 -1
- package/registry/r/agent-tool-renderer.json +40 -0
- package/registry/r/alert.json +1 -1
- package/registry/r/approval-card.json +1 -1
- package/registry/r/artifact-preview.json +1 -1
- package/registry/r/attachment-chip.json +1 -1
- package/registry/r/audit-log-entry.json +1 -1
- package/registry/r/auto-compact-notice.json +1 -1
- package/registry/r/avatar.json +1 -1
- package/registry/r/badge.json +1 -1
- package/registry/r/browser-controls.json +1 -1
- package/registry/r/build-log-stream.json +2 -1
- package/registry/r/button.json +1 -1
- package/registry/r/capability-indicator.json +1 -1
- package/registry/r/card.json +1 -1
- package/registry/r/chat-composer.json +1 -1
- package/registry/r/chat-message.json +11 -16
- package/registry/r/chat-thread.json +1 -1
- package/registry/r/chat-types.json +1 -1
- package/registry/r/checkbox.json +1 -1
- package/registry/r/choice-prompt.json +25 -0
- package/registry/r/cn.json +1 -1
- package/registry/r/code-block.json +1 -1
- package/registry/r/command-palette.json +1 -1
- package/registry/r/confirm-dialog.json +1 -1
- package/registry/r/confirm-prompt.json +21 -0
- package/registry/r/context-card.json +1 -1
- package/registry/r/context-window-bar.json +1 -1
- package/registry/r/copy-button.json +1 -1
- package/registry/r/cost-meter.json +1 -1
- package/registry/r/created-files-card.json +1 -1
- package/registry/r/cron-job-card.json +1 -1
- package/registry/r/cron-jobs-list.json +1 -1
- package/registry/r/danger-zone.json +1 -1
- package/registry/r/data-table.json +1 -1
- package/registry/r/deployment-row.json +1 -1
- package/registry/r/dialog.json +1 -1
- package/registry/r/diff-viewer.json +1 -1
- package/registry/r/domain-config.json +1 -1
- package/registry/r/dropdown-menu.json +2 -2
- package/registry/r/empty-state.json +1 -1
- package/registry/r/env-var-editor.json +2 -1
- package/registry/r/env.json +15 -0
- package/registry/r/folder-context-card.json +1 -1
- package/registry/r/folder-selector.json +1 -1
- package/registry/r/form-field.json +1 -1
- package/registry/r/hook-config.json +1 -1
- package/registry/r/hook-event-log.json +1 -1
- package/registry/r/input.json +1 -1
- package/registry/r/intent-selector.json +1 -1
- package/registry/r/label.json +1 -1
- package/registry/r/lane-board.json +1 -1
- package/registry/r/login-split.json +1 -1
- package/registry/r/mcp-server-card.json +1 -1
- package/registry/r/mcp-server-list.json +1 -1
- package/registry/r/memory-editor.json +1 -1
- package/registry/r/mention-menu.json +1 -1
- package/registry/r/metric-card.json +23 -0
- package/registry/r/metrics-panel.json +1 -1
- package/registry/r/model-card.json +1 -1
- package/registry/r/model-selector.json +1 -1
- package/registry/r/multi-select-prompt.json +25 -0
- package/registry/r/page-shell.json +1 -1
- package/registry/r/pagination.json +1 -1
- package/registry/r/permission-matrix.json +1 -1
- package/registry/r/permission-modal.json +1 -1
- package/registry/r/pin-input.json +1 -1
- package/registry/r/plan-badge.json +1 -1
- package/registry/r/preview-env-card.json +1 -1
- package/registry/r/preview-panel.json +1 -1
- package/registry/r/progress-checklist.json +1 -1
- package/registry/r/progress.json +1 -1
- package/registry/r/project-card.json +1 -1
- package/registry/r/project-switcher.json +1 -1
- package/registry/r/prompt.json +15 -0
- package/registry/r/quick-action-chips.json +1 -1
- package/registry/r/radio-group.json +1 -1
- package/registry/r/recent-folders-list.json +1 -1
- package/registry/r/rollback-ui.json +1 -1
- package/registry/r/rule-card.json +1 -1
- package/registry/r/rule-editor.json +1 -1
- package/registry/r/run-stats.json +1 -1
- package/registry/r/running-tasks-panel.json +1 -1
- package/registry/r/safe-href.json +1 -1
- package/registry/r/scroll-area.json +1 -1
- package/registry/r/select.json +1 -1
- package/registry/r/session-list-item.json +1 -1
- package/registry/r/session-timeline.json +1 -1
- package/registry/r/sheet.json +1 -1
- package/registry/r/sidebar.json +1 -1
- package/registry/r/skeleton.json +1 -1
- package/registry/r/skill-card.json +1 -1
- package/registry/r/skill-editor.json +1 -1
- package/registry/r/skills-list.json +1 -1
- package/registry/r/slide-deck.json +8 -8
- package/registry/r/slide-plugin-mermaid.json +1 -1
- package/registry/r/slide-plugin-shiki.json +1 -1
- package/registry/r/slide.json +6 -6
- package/registry/r/social-auth-row.json +1 -1
- package/registry/r/stat-tile.json +1 -1
- package/registry/r/status-dot.json +2 -1
- package/registry/r/status-indicator.json +20 -0
- package/registry/r/steps-rail.json +1 -1
- package/registry/r/sub-agent-dispatch.json +1 -1
- package/registry/r/switch.json +1 -1
- package/registry/r/system-prompt-editor.json +1 -1
- package/registry/r/table.json +1 -1
- package/registry/r/tabs.json +1 -1
- package/registry/r/tailwind-preset.json +1 -1
- package/registry/r/task-header.json +1 -1
- package/registry/r/task-plan.json +1 -1
- package/registry/r/terminal-panel.json +1 -1
- package/registry/r/text-prompt.json +24 -0
- package/registry/r/textarea.json +1 -1
- package/registry/r/theme-provider.json +7 -6
- package/registry/r/theo-ui-provider.json +1 -1
- package/registry/r/timestamp.json +2 -1
- package/registry/r/toast.json +2 -2
- package/registry/r/token-usage-chart.json +1 -1
- package/registry/r/tokens.json +2 -2
- package/registry/r/tool-call-card.json +1 -1
- package/registry/r/tool-call.json +1 -1
- package/registry/r/tool-result.json +1 -1
- package/registry/r/tools-list.json +1 -1
- package/registry/r/tooltip.json +1 -1
- package/registry/r/topnav.json +1 -1
- package/registry/r/usage-meter.json +1 -1
- package/registry/r/whiteboard.json +3 -3
- package/dist/chunk-2UJROWAG.js +0 -106
- package/dist/chunk-2UJROWAG.js.map +0 -1
- package/dist/chunk-2XPWOUEH.js +0 -68
- package/dist/chunk-2XPWOUEH.js.map +0 -1
- package/dist/chunk-3GHLNCM3.js +0 -42
- package/dist/chunk-3GHLNCM3.js.map +0 -1
- package/dist/chunk-3HOXC25T.js +0 -48
- package/dist/chunk-3HOXC25T.js.map +0 -1
- package/dist/chunk-3QGO5SB3.js +0 -46
- package/dist/chunk-3QGO5SB3.js.map +0 -1
- package/dist/chunk-47QJVWW2.js +0 -85
- package/dist/chunk-47QJVWW2.js.map +0 -1
- package/dist/chunk-4L63UW3I.js +0 -35
- package/dist/chunk-4L63UW3I.js.map +0 -1
- package/dist/chunk-4UUSJJFZ.js +0 -25
- package/dist/chunk-4UUSJJFZ.js.map +0 -1
- package/dist/chunk-4ZBZBRG5.js +0 -127
- package/dist/chunk-4ZBZBRG5.js.map +0 -1
- package/dist/chunk-57NXT3OX.js +0 -92
- package/dist/chunk-57NXT3OX.js.map +0 -1
- package/dist/chunk-5FF5EUZP.js +0 -44
- package/dist/chunk-5FF5EUZP.js.map +0 -1
- package/dist/chunk-5UGQXB2P.js +0 -714
- package/dist/chunk-5UGQXB2P.js.map +0 -1
- package/dist/chunk-62FT22CI.js +0 -85
- package/dist/chunk-62FT22CI.js.map +0 -1
- package/dist/chunk-673R3GSK.js +0 -19
- package/dist/chunk-673R3GSK.js.map +0 -1
- package/dist/chunk-6VINZJBV.js +0 -128
- package/dist/chunk-6VINZJBV.js.map +0 -1
- package/dist/chunk-74NZ5U3E.js +0 -145
- package/dist/chunk-74NZ5U3E.js.map +0 -1
- package/dist/chunk-755NWSNW.js +0 -36
- package/dist/chunk-755NWSNW.js.map +0 -1
- package/dist/chunk-7GLBWWMW.js +0 -70
- package/dist/chunk-7GLBWWMW.js.map +0 -1
- package/dist/chunk-7RXYW5VM.js +0 -88
- package/dist/chunk-7RXYW5VM.js.map +0 -1
- package/dist/chunk-AC4MGCXI.js +0 -92
- package/dist/chunk-AC4MGCXI.js.map +0 -1
- package/dist/chunk-AEVSVDT6.js +0 -67
- package/dist/chunk-AEVSVDT6.js.map +0 -1
- package/dist/chunk-AODIMN2N.js +0 -68
- package/dist/chunk-AODIMN2N.js.map +0 -1
- package/dist/chunk-ATHOPBCA.js +0 -61
- package/dist/chunk-ATHOPBCA.js.map +0 -1
- package/dist/chunk-AXKBNRZW.js +0 -173
- package/dist/chunk-AXKBNRZW.js.map +0 -1
- package/dist/chunk-B75MEYNR.js +0 -106
- package/dist/chunk-B75MEYNR.js.map +0 -1
- package/dist/chunk-BGKA6DI6.js +0 -34
- package/dist/chunk-BGKA6DI6.js.map +0 -1
- package/dist/chunk-BNQAJGEN.js +0 -88
- package/dist/chunk-BNQAJGEN.js.map +0 -1
- package/dist/chunk-BP2SETUC.js +0 -101
- package/dist/chunk-BP2SETUC.js.map +0 -1
- package/dist/chunk-BPUQWMBD.js +0 -79
- package/dist/chunk-BPUQWMBD.js.map +0 -1
- package/dist/chunk-BVDASR3Y.js +0 -74
- package/dist/chunk-BVDASR3Y.js.map +0 -1
- package/dist/chunk-BX7A5GUV.js +0 -78
- package/dist/chunk-BX7A5GUV.js.map +0 -1
- package/dist/chunk-CDA6RYOX.js +0 -115
- package/dist/chunk-CDA6RYOX.js.map +0 -1
- package/dist/chunk-CG7O3A42.js +0 -80
- package/dist/chunk-CG7O3A42.js.map +0 -1
- package/dist/chunk-CIYGNPKT.js +0 -76
- package/dist/chunk-CIYGNPKT.js.map +0 -1
- package/dist/chunk-CKXY4FTV.js +0 -59
- package/dist/chunk-CKXY4FTV.js.map +0 -1
- package/dist/chunk-CVOKZITR.js +0 -82
- package/dist/chunk-CVOKZITR.js.map +0 -1
- package/dist/chunk-CWFMFKDI.js +0 -82
- package/dist/chunk-CWFMFKDI.js.map +0 -1
- package/dist/chunk-CWVKSV7S.js +0 -124
- package/dist/chunk-CWVKSV7S.js.map +0 -1
- package/dist/chunk-CYOLRWOX.js +0 -63
- package/dist/chunk-CYOLRWOX.js.map +0 -1
- package/dist/chunk-D23LRJT6.js +0 -116
- package/dist/chunk-D23LRJT6.js.map +0 -1
- package/dist/chunk-DFADMEJK.js +0 -127
- package/dist/chunk-DFADMEJK.js.map +0 -1
- package/dist/chunk-DKQAHZG2.js +0 -83
- package/dist/chunk-DKQAHZG2.js.map +0 -1
- package/dist/chunk-DW247T3Q.js +0 -199
- package/dist/chunk-DW247T3Q.js.map +0 -1
- package/dist/chunk-E5A7HN6H.js +0 -32
- package/dist/chunk-E5A7HN6H.js.map +0 -1
- package/dist/chunk-EI63GTN7.js +0 -57
- package/dist/chunk-EI63GTN7.js.map +0 -1
- package/dist/chunk-EP25QJ4N.js +0 -146
- package/dist/chunk-EP25QJ4N.js.map +0 -1
- package/dist/chunk-ET44426Q.js +0 -80
- package/dist/chunk-ET44426Q.js.map +0 -1
- package/dist/chunk-ETEIDY34.js +0 -67
- package/dist/chunk-ETEIDY34.js.map +0 -1
- package/dist/chunk-EU55O4P7.js +0 -76
- package/dist/chunk-EU55O4P7.js.map +0 -1
- package/dist/chunk-F436537E.js +0 -104
- package/dist/chunk-F436537E.js.map +0 -1
- package/dist/chunk-FLBTGNQI.js +0 -86
- package/dist/chunk-FLBTGNQI.js.map +0 -1
- package/dist/chunk-FUT45NFW.js +0 -46
- package/dist/chunk-FUT45NFW.js.map +0 -1
- package/dist/chunk-G3LWNTVZ.js +0 -51
- package/dist/chunk-G3LWNTVZ.js.map +0 -1
- package/dist/chunk-GBJB5WLT.js +0 -58
- package/dist/chunk-GBJB5WLT.js.map +0 -1
- package/dist/chunk-GIEPEFRX.js +0 -110
- package/dist/chunk-GIEPEFRX.js.map +0 -1
- package/dist/chunk-GSO7MISR.js +0 -58
- package/dist/chunk-GSO7MISR.js.map +0 -1
- package/dist/chunk-GUQFYUIC.js +0 -61
- package/dist/chunk-GUQFYUIC.js.map +0 -1
- package/dist/chunk-H3VJMFJQ.js +0 -35
- package/dist/chunk-H3VJMFJQ.js.map +0 -1
- package/dist/chunk-HG4WEERE.js +0 -26
- package/dist/chunk-HG4WEERE.js.map +0 -1
- package/dist/chunk-HGPBGLNP.js +0 -51
- package/dist/chunk-HGPBGLNP.js.map +0 -1
- package/dist/chunk-HQFTW7SF.js +0 -141
- package/dist/chunk-HQFTW7SF.js.map +0 -1
- package/dist/chunk-I7WYM63C.js +0 -170
- package/dist/chunk-I7WYM63C.js.map +0 -1
- package/dist/chunk-IPEYGWA7.js +0 -186
- package/dist/chunk-IPEYGWA7.js.map +0 -1
- package/dist/chunk-JQXLPVWP.js +0 -74
- package/dist/chunk-JQXLPVWP.js.map +0 -1
- package/dist/chunk-K5ARID4S.js +0 -26
- package/dist/chunk-K5ARID4S.js.map +0 -1
- package/dist/chunk-K6RTLPIJ.js +0 -41
- package/dist/chunk-K6RTLPIJ.js.map +0 -1
- package/dist/chunk-KQNKKV2C.js +0 -56
- package/dist/chunk-KQNKKV2C.js.map +0 -1
- package/dist/chunk-KRN4NE4U.js +0 -155
- package/dist/chunk-KRN4NE4U.js.map +0 -1
- package/dist/chunk-L2BI762I.js +0 -82
- package/dist/chunk-L2BI762I.js.map +0 -1
- package/dist/chunk-LEEH63B2.js +0 -56
- package/dist/chunk-LEEH63B2.js.map +0 -1
- package/dist/chunk-LHRWVM3G.js +0 -42
- package/dist/chunk-LHRWVM3G.js.map +0 -1
- package/dist/chunk-LIGWMGXM.js +0 -117
- package/dist/chunk-LIGWMGXM.js.map +0 -1
- package/dist/chunk-LKYSX3QF.js +0 -104
- package/dist/chunk-LKYSX3QF.js.map +0 -1
- package/dist/chunk-MCIFB6VS.js +0 -54
- package/dist/chunk-MCIFB6VS.js.map +0 -1
- package/dist/chunk-MI5CXMZU.js +0 -171
- package/dist/chunk-MI5CXMZU.js.map +0 -1
- package/dist/chunk-NQZYY4LR.js +0 -84
- package/dist/chunk-NQZYY4LR.js.map +0 -1
- package/dist/chunk-O23LKHUR.js +0 -66
- package/dist/chunk-O23LKHUR.js.map +0 -1
- package/dist/chunk-PASI2U2R.js +0 -23
- package/dist/chunk-PASI2U2R.js.map +0 -1
- package/dist/chunk-PPH5NTHV.js +0 -34
- package/dist/chunk-PPH5NTHV.js.map +0 -1
- package/dist/chunk-PR6OZF6D.js +0 -28
- package/dist/chunk-PR6OZF6D.js.map +0 -1
- package/dist/chunk-PWXOXPFT.js +0 -142
- package/dist/chunk-PWXOXPFT.js.map +0 -1
- package/dist/chunk-QB6BNHO3.js +0 -112
- package/dist/chunk-QB6BNHO3.js.map +0 -1
- package/dist/chunk-QJGGTIUN.js +0 -110
- package/dist/chunk-QJGGTIUN.js.map +0 -1
- package/dist/chunk-QSOIJ6J3.js +0 -91
- package/dist/chunk-QSOIJ6J3.js.map +0 -1
- package/dist/chunk-R2PAGRDP.js +0 -152
- package/dist/chunk-R2PAGRDP.js.map +0 -1
- package/dist/chunk-R63ZKLQM.js +0 -45
- package/dist/chunk-R63ZKLQM.js.map +0 -1
- package/dist/chunk-RTYYJPPE.js +0 -77
- package/dist/chunk-RTYYJPPE.js.map +0 -1
- package/dist/chunk-RVOBP7PO.js +0 -116
- package/dist/chunk-RVOBP7PO.js.map +0 -1
- package/dist/chunk-SF6R5VMQ.js +0 -97
- package/dist/chunk-SF6R5VMQ.js.map +0 -1
- package/dist/chunk-SP4CP5HY.js +0 -57
- package/dist/chunk-SP4CP5HY.js.map +0 -1
- package/dist/chunk-SWJ4EUOI.js +0 -30
- package/dist/chunk-SWJ4EUOI.js.map +0 -1
- package/dist/chunk-TK24HQJJ.js +0 -128
- package/dist/chunk-TK24HQJJ.js.map +0 -1
- package/dist/chunk-TNBJ36XJ.js +0 -156
- package/dist/chunk-TNBJ36XJ.js.map +0 -1
- package/dist/chunk-TO3UAT6O.js +0 -221
- package/dist/chunk-TO3UAT6O.js.map +0 -1
- package/dist/chunk-UAYOOTRR.js +0 -77
- package/dist/chunk-UAYOOTRR.js.map +0 -1
- package/dist/chunk-UDTAMHXW.js +0 -55
- package/dist/chunk-UDTAMHXW.js.map +0 -1
- package/dist/chunk-UOXU7NDY.js +0 -120
- package/dist/chunk-UOXU7NDY.js.map +0 -1
- package/dist/chunk-V7OOTVK3.js +0 -106
- package/dist/chunk-V7OOTVK3.js.map +0 -1
- package/dist/chunk-VI5M7KJ2.js +0 -1022
- package/dist/chunk-VI5M7KJ2.js.map +0 -1
- package/dist/chunk-VMMATOPE.js +0 -64
- package/dist/chunk-VMMATOPE.js.map +0 -1
- package/dist/chunk-W2PVSIW3.js +0 -89
- package/dist/chunk-W2PVSIW3.js.map +0 -1
- package/dist/chunk-W3DUDZDU.js +0 -88
- package/dist/chunk-W3DUDZDU.js.map +0 -1
- package/dist/chunk-WKEUU2FU.js +0 -114
- package/dist/chunk-WKEUU2FU.js.map +0 -1
- package/dist/chunk-WKLW7RC6.js +0 -28
- package/dist/chunk-WKLW7RC6.js.map +0 -1
- package/dist/chunk-WSJGZNUH.js +0 -111
- package/dist/chunk-WSJGZNUH.js.map +0 -1
- package/dist/chunk-WVPDQMC2.js +0 -144
- package/dist/chunk-WVPDQMC2.js.map +0 -1
- package/dist/chunk-WWNH5ENT.js +0 -43
- package/dist/chunk-WWNH5ENT.js.map +0 -1
- package/dist/chunk-X5L62PXY.js +0 -112
- package/dist/chunk-X5L62PXY.js.map +0 -1
- package/dist/chunk-XGCV5E6W.js +0 -133
- package/dist/chunk-XGCV5E6W.js.map +0 -1
- package/dist/chunk-XRKIEL5M.js +0 -72
- package/dist/chunk-XRKIEL5M.js.map +0 -1
- package/dist/chunk-XUJYEADU.js +0 -80
- package/dist/chunk-XUJYEADU.js.map +0 -1
- package/dist/chunk-XVYNSIQC.js +0 -116
- package/dist/chunk-XVYNSIQC.js.map +0 -1
- package/dist/chunk-XWTISHXO.js +0 -54
- package/dist/chunk-XWTISHXO.js.map +0 -1
- package/dist/chunk-YOGHS4UU.js +0 -202
- package/dist/chunk-YOGHS4UU.js.map +0 -1
- package/dist/chunk-YRSKXEOD.js +0 -135
- package/dist/chunk-YRSKXEOD.js.map +0 -1
- package/dist/chunk-ZALLCR7X.js +0 -108
- package/dist/chunk-ZALLCR7X.js.map +0 -1
- package/dist/chunk-ZDAOHMCW.js +0 -46
- package/dist/chunk-ZDAOHMCW.js.map +0 -1
- package/dist/chunk-ZESICCKK.js +0 -37
- package/dist/chunk-ZESICCKK.js.map +0 -1
- package/dist/chunk-ZIKFOD6N.js +0 -87
- package/dist/chunk-ZIKFOD6N.js.map +0 -1
- package/dist/chunk-ZJRWCQEN.js +0 -76
- package/dist/chunk-ZJRWCQEN.js.map +0 -1
- package/dist/chunk-ZSRJCIWF.js +0 -24
- package/dist/chunk-ZSRJCIWF.js.map +0 -1
- package/dist/plugin-Atb0VKtr.d.ts +0 -172
- package/dist/slide/index.d.ts +0 -212
- package/dist/slide/plugins/emoji/index.d.ts +0 -29
- package/dist/slide/plugins/math/index.d.ts +0 -13
- package/dist/slide/plugins/mermaid/index.d.ts +0 -55
- package/dist/slide/plugins/shiki/index.d.ts +0 -18
- package/dist/slide-deck/index.d.ts +0 -377
- package/dist/whiteboard/index.d.ts +0 -258
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color helpers for `ColorScale` and `defineTheme`.
|
|
3
|
+
*
|
|
4
|
+
* Post-T2.6 (community-best-practices alignment, ADR-0005): the canonical
|
|
5
|
+
* output format is OKLCH (`"oklch(L C H)"`). Built-in themes also use OKLCH
|
|
6
|
+
* after the T2.4 migration. The CSS regex (`COLOR_VALUE_PATTERN`) accepts
|
|
7
|
+
* both formats for backward compatibility — legacy themes pinned to the
|
|
8
|
+
* HSL split format keep working.
|
|
9
|
+
*
|
|
10
|
+
* Helpers:
|
|
11
|
+
* - hex(input) → "oklch(L C H)" (NEW — primary path post-T2.6)
|
|
12
|
+
* - rgb(r, g, b) → "oklch(L C H)" (NEW)
|
|
13
|
+
* - hexToHsl(input) → "H S% L%" (legacy — deprecated, kept 1 minor)
|
|
14
|
+
* - rgbToHsl(...) → "H S% L%" (legacy — deprecated)
|
|
15
|
+
*
|
|
16
|
+
* Alpha channels are intentionally discarded — `ColorScale` is opaque;
|
|
17
|
+
* compose alpha in CSS via `color-mix(in oklch, var(--primary) 50%, transparent)`.
|
|
18
|
+
*
|
|
19
|
+
* Original plan: `.claude/knowledge-base/plans/theming-and-sizes-plan.md` T2.2.
|
|
20
|
+
* Updated by: `.claude/knowledge-base/plans/theo-ui-community-best-practices-alignment-plan.md` T2.6.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Convert a hex color string to the HSL string-tuple format used by
|
|
24
|
+
* `ColorScale` ("`H S% L%`", e.g. `"262 83% 58%"`).
|
|
25
|
+
*
|
|
26
|
+
* Accepts `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`. Case-insensitive.
|
|
27
|
+
* Alpha bytes are silently dropped — use `hsl(var(--primary) / 0.5)`
|
|
28
|
+
* in CSS for transparency.
|
|
29
|
+
*
|
|
30
|
+
* @throws if the input is malformed.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* hex("#A855F7") // "oklch(0.628 0.225 296)"
|
|
34
|
+
* hex("#a855f7") // same — case-insensitive
|
|
35
|
+
* hex("#abc") // expanded to "#aabbcc"
|
|
36
|
+
*/
|
|
37
|
+
export declare function hex(input: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Legacy helper that returns HSL string-tuple format (pre-T2.6).
|
|
40
|
+
*
|
|
41
|
+
* @deprecated Since 2026-06-03 — use `hex(input)` which returns OKLCH.
|
|
42
|
+
* Kept for one minor cycle to avoid breaking consumers that authored
|
|
43
|
+
* themes using the HSL split format. Both formats are accepted by
|
|
44
|
+
* `ColorScale` and by `<ThemeProvider>` runtime validation.
|
|
45
|
+
*/
|
|
46
|
+
export declare function hexToHsl(input: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* Convert an RGB triplet (each in `[0, 255]`) to the HSL string-tuple
|
|
49
|
+
* format used by `ColorScale`.
|
|
50
|
+
*
|
|
51
|
+
* @throws if any channel is out of `[0, 255]`.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* rgb(168, 85, 247) // "oklch(0.628 0.225 296)"
|
|
55
|
+
*/
|
|
56
|
+
export declare function rgb(r: number, g: number, b: number): string;
|
|
57
|
+
/**
|
|
58
|
+
* Legacy helper that returns HSL string-tuple format (pre-T2.6).
|
|
59
|
+
*
|
|
60
|
+
* @deprecated Since 2026-06-03 — use `rgb(r, g, b)` which returns OKLCH.
|
|
61
|
+
*/
|
|
62
|
+
export declare function rgbToHslLegacy(r: number, g: number, b: number): string;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `defineTheme(input)` — build a `Theme` from a partial override.
|
|
3
|
+
*
|
|
4
|
+
* Reduces the boilerplate of authoring a custom theme from 58 colour
|
|
5
|
+
* keys (`light` × 29 + `dark` × 29) to "just what you want to change".
|
|
6
|
+
* The merge always uses `violetForge` as the base — this is a pure,
|
|
7
|
+
* deterministic helper that does not depend on whatever theme is active
|
|
8
|
+
* at the call site.
|
|
9
|
+
*
|
|
10
|
+
* The `Theme` object it returns is drop-in compatible with
|
|
11
|
+
* `<ThemeProvider themes={[...]}>` — same shape as `violetForge`,
|
|
12
|
+
* `classicPaper`, and `auroraTerminal`.
|
|
13
|
+
*
|
|
14
|
+
* Honest caveat: if you override `light.primary` but NOT `dark.primary`,
|
|
15
|
+
* the two modes will use different colours — your override in light,
|
|
16
|
+
* Violet Forge's default in dark. That's intentional. Pass both sides
|
|
17
|
+
* to keep them in sync.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* import { defineTheme, hex } from "@theokit/ui";
|
|
21
|
+
* export const corp = defineTheme({
|
|
22
|
+
* name: "corp",
|
|
23
|
+
* light: { primary: hex("#0EA5E9") },
|
|
24
|
+
* dark: { primary: hex("#38BDF8") },
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* Plan: `.claude/knowledge-base/plans/theming-and-sizes-plan.md` T2.1.
|
|
28
|
+
*/
|
|
29
|
+
import type { ColorScale, Theme, ThemeFonts } from "./types.js";
|
|
30
|
+
export interface DefineThemeInput {
|
|
31
|
+
/**
|
|
32
|
+
* Stable id used in `data-theme="<name>"` on the root element. Must
|
|
33
|
+
* match `/^[a-z][a-z0-9-]*$/i` (CSS-identifier-safe). Required.
|
|
34
|
+
*/
|
|
35
|
+
name: string;
|
|
36
|
+
/**
|
|
37
|
+
* Human-readable label for theme switchers. Defaults to the
|
|
38
|
+
* capitalized version of `name` (e.g. "corp" → "Corp").
|
|
39
|
+
*/
|
|
40
|
+
label?: string;
|
|
41
|
+
/** Optional one-line description shown in switchers. */
|
|
42
|
+
description?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Override light-mode colours. Any key omitted is inherited from
|
|
45
|
+
* `violetForge.light`. See `ColorScale` for the full list.
|
|
46
|
+
*/
|
|
47
|
+
light?: Partial<ColorScale>;
|
|
48
|
+
/**
|
|
49
|
+
* Override dark-mode colours. Any key omitted is inherited from
|
|
50
|
+
* `violetForge.dark`.
|
|
51
|
+
*/
|
|
52
|
+
dark?: Partial<ColorScale>;
|
|
53
|
+
/**
|
|
54
|
+
* Override fonts (`display`, `body`, `mono`). Any key omitted is
|
|
55
|
+
* inherited from `violetForge.fonts`.
|
|
56
|
+
*/
|
|
57
|
+
fonts?: Partial<ThemeFonts>;
|
|
58
|
+
/**
|
|
59
|
+
* Replace the default remote font URLs. Pass an empty array to skip
|
|
60
|
+
* font fetching entirely. Defaults to `violetForge.fontUrls` when
|
|
61
|
+
* omitted (so consumers that don't care still get Geist preloaded).
|
|
62
|
+
*/
|
|
63
|
+
fontUrls?: string[];
|
|
64
|
+
}
|
|
65
|
+
export declare function defineTheme(input: DefineThemeInput): Theme;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type Density = "compact" | "comfortable" | "spacious";
|
|
2
|
+
export interface DensityContextValue {
|
|
3
|
+
density: Density;
|
|
4
|
+
setDensity: (next: Density) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const DensityContext: import("react").Context<DensityContextValue | undefined>;
|
|
7
|
+
/**
|
|
8
|
+
* Inject (idempotent) the density CSS variable definitions into the document
|
|
9
|
+
* head. Returns true if the style tag was newly created. Safe to call on
|
|
10
|
+
* every ThemeProvider mount — duplicates are skipped.
|
|
11
|
+
*/
|
|
12
|
+
export declare function injectDensityCss(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Read the current density from the active ThemeProvider context. Throws
|
|
15
|
+
* outside the provider so misuse fails loud — analogous to `useTheme`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useDensity(): DensityContextValue;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Theme } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Dracula — the cult OSS dark theme (https://draculatheme.com, MIT).
|
|
4
|
+
*
|
|
5
|
+
* Dark mode = canonical Dracula spec (background #282A36, signature pink
|
|
6
|
+
* #FF79C6, purple #BD93F9, etc.).
|
|
7
|
+
*
|
|
8
|
+
* Note: "light" mode is a Theo-original adaptation — Dracula upstream
|
|
9
|
+
* spec is dark-only. We darken the signature pink/purple to pass WCAG AA
|
|
10
|
+
* against light backgrounds, sacrificing palette purity for accessibility.
|
|
11
|
+
*
|
|
12
|
+
* Plan: .claude/knowledge-base/plans/seven-themes-plan.md T4.1
|
|
13
|
+
*/
|
|
14
|
+
export declare const dracula: Theme;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Theme } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* GitHub Dark — GitHub's default dark theme.
|
|
4
|
+
*
|
|
5
|
+
* Based on the canonical Primer Primitives tokens
|
|
6
|
+
* (https://github.com/primer/primitives, MIT). Light fallback uses GitHub's
|
|
7
|
+
* "light-default" Primer scale.
|
|
8
|
+
*
|
|
9
|
+
* Plan: .claude/knowledge-base/plans/seven-themes-plan.md T3.1
|
|
10
|
+
*/
|
|
11
|
+
export declare const githubDark: Theme;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type { ColorScale, Theme, ThemeFonts, ThemeMode } from "./types.js";
|
|
2
|
+
export { ThemeProvider, useTheme } from "./theme-provider.js";
|
|
3
|
+
export { ThemeScript } from "./theme-script.js";
|
|
4
|
+
export { ThemeSwitcher } from "./theme-switcher.js";
|
|
5
|
+
export { violetForge } from "./violet-forge.js";
|
|
6
|
+
export { classicPaper } from "./classic-paper.js";
|
|
7
|
+
export { auroraTerminal } from "./aurora-terminal.js";
|
|
8
|
+
export { defineTheme, type DefineThemeInput } from "./define.js";
|
|
9
|
+
export { hex, hexToHsl, rgb, rgbToHslLegacy } from "./color.js";
|
|
10
|
+
export { useDensity, type Density, type DensityContextValue } from "./density.js";
|
|
11
|
+
export { vercelMono } from "./vercel-mono.js";
|
|
12
|
+
export { githubDark } from "./github-dark.js";
|
|
13
|
+
export { dracula } from "./dracula.js";
|
|
14
|
+
export { oneDark } from "./one-dark.js";
|
|
15
|
+
export { anthropicStyle } from "./anthropic-style.js";
|
|
16
|
+
export { openaiStyle } from "./openai-style.js";
|
|
17
|
+
export { linearGlass } from "./linear-glass.js";
|
|
18
|
+
/**
|
|
19
|
+
* All themes bundled with Theo UI. Pass to `<ThemeProvider themes={builtinThemes}>`
|
|
20
|
+
* if you want all 10 available out of the box.
|
|
21
|
+
*
|
|
22
|
+
* EC-4 note: passing the full 10-entry list triggers ~60 KB CSS injection in
|
|
23
|
+
* `<style id="theo-ui-theme-vars">`. For apps focused on 1-2 themes, prefer
|
|
24
|
+
* `themes={[violetForge, dracula]}` to keep the payload at ~12 KB.
|
|
25
|
+
*/
|
|
26
|
+
export declare const builtinThemes: import("./types.js").Theme[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Theme } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Linear Glass — linear.app-inspired glassy indigo.
|
|
4
|
+
*
|
|
5
|
+
* Inspired by, not affiliated with Linear. Refined indigo-violet primary
|
|
6
|
+
* (#5E6AD2) on near-black canvas in dark, pure white in light. Subtle
|
|
7
|
+
* glassmorphic surface temperature.
|
|
8
|
+
*
|
|
9
|
+
* Plan: .claude/knowledge-base/plans/seven-themes-plan.md T8.1
|
|
10
|
+
*/
|
|
11
|
+
export declare const linearGlass: Theme;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Theme } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* One Dark / One Light — Atom's iconic syntax theme.
|
|
4
|
+
*
|
|
5
|
+
* Sources:
|
|
6
|
+
* - atom/one-dark-syntax (MIT) — dark mode canonical
|
|
7
|
+
* - atom/one-light-syntax (MIT) — light mode canonical
|
|
8
|
+
*
|
|
9
|
+
* Plan: .claude/knowledge-base/plans/seven-themes-plan.md T5.1
|
|
10
|
+
*/
|
|
11
|
+
export declare const oneDark: Theme;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Theme } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* OpenAI-style — chatgpt.com-inspired minimal tech-utility.
|
|
4
|
+
*
|
|
5
|
+
* Inspired by, not affiliated with OpenAI. Pure white / charcoal canvas +
|
|
6
|
+
* signature ChatGPT green (#10A37F). Minimal saturation, high contrast.
|
|
7
|
+
*
|
|
8
|
+
* Plan: .claude/knowledge-base/plans/seven-themes-plan.md T7.1
|
|
9
|
+
*/
|
|
10
|
+
export declare const openaiStyle: Theme;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Valibot schema for Theme — Phase 2 T2.7 / D5 (revised post-EC-6).
|
|
3
|
+
*
|
|
4
|
+
* Validates the shape and types of a Theme object passed to <ThemeProvider>
|
|
5
|
+
* or registerTheme(). Complements the COLOR_VALUE_PATTERN regex (the second
|
|
6
|
+
* defense layer against CSS injection): valibot validates shape; regex
|
|
7
|
+
* validates that each individual color value is safe to interpolate.
|
|
8
|
+
*
|
|
9
|
+
* Why valibot (not zod): valibot core is ~1.5KB gzipped vs zod ~12KB.
|
|
10
|
+
* <ThemeProvider> is a sync constructor — dynamic import does not tree-shake.
|
|
11
|
+
* For our use case (validating ~37 string fields) valibot is strictly
|
|
12
|
+
* better in bundle size and API parity.
|
|
13
|
+
*
|
|
14
|
+
* Output of safeParse → { success: true, output } or { success: false, issues }.
|
|
15
|
+
* formatThemeIssues() produces human-readable error message with the failing
|
|
16
|
+
* field path so consumers see what to fix.
|
|
17
|
+
*/
|
|
18
|
+
import * as v from "valibot";
|
|
19
|
+
export declare const themeSchema: v.ObjectSchema<{
|
|
20
|
+
readonly name: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "theme name must match /^[a-z][a-z0-9-]*$/ (lowercase + digits + hyphens, starts with a letter)">]>;
|
|
21
|
+
readonly label: v.StringSchema<undefined>;
|
|
22
|
+
readonly description: v.OptionalSchema<v.StringSchema<undefined>, never>;
|
|
23
|
+
readonly fonts: v.ObjectSchema<{
|
|
24
|
+
readonly display: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "font family contains disallowed characters (parens, semicolons, etc.)">]>;
|
|
25
|
+
readonly body: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "font family contains disallowed characters (parens, semicolons, etc.)">]>;
|
|
26
|
+
readonly mono: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "font family contains disallowed characters (parens, semicolons, etc.)">]>;
|
|
27
|
+
}, undefined>;
|
|
28
|
+
readonly light: v.ObjectSchema<{
|
|
29
|
+
readonly background: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
30
|
+
readonly foreground: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
31
|
+
readonly card: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
32
|
+
readonly "card-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
33
|
+
readonly popover: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
34
|
+
readonly "popover-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
35
|
+
readonly primary: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
36
|
+
readonly "primary-deep": v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>, never>;
|
|
37
|
+
readonly "primary-glow": v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>, never>;
|
|
38
|
+
readonly "primary-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
39
|
+
readonly secondary: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
40
|
+
readonly "secondary-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
41
|
+
readonly accent: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
42
|
+
readonly "accent-deep": v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>, never>;
|
|
43
|
+
readonly "accent-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
44
|
+
readonly muted: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
45
|
+
readonly "muted-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
46
|
+
readonly border: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
47
|
+
readonly input: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
48
|
+
readonly ring: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
49
|
+
readonly success: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
50
|
+
readonly "success-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
51
|
+
readonly warning: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
52
|
+
readonly "warning-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
53
|
+
readonly destructive: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
54
|
+
readonly "destructive-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
55
|
+
readonly info: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
56
|
+
readonly "info-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
57
|
+
readonly "status-online": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
58
|
+
readonly "status-online-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
59
|
+
readonly "status-offline": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
60
|
+
readonly "status-offline-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
61
|
+
readonly "status-degraded": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
62
|
+
readonly "status-degraded-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
63
|
+
readonly "status-info": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
64
|
+
readonly "status-info-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
65
|
+
}, undefined>;
|
|
66
|
+
readonly dark: v.ObjectSchema<{
|
|
67
|
+
readonly background: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
68
|
+
readonly foreground: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
69
|
+
readonly card: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
70
|
+
readonly "card-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
71
|
+
readonly popover: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
72
|
+
readonly "popover-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
73
|
+
readonly primary: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
74
|
+
readonly "primary-deep": v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>, never>;
|
|
75
|
+
readonly "primary-glow": v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>, never>;
|
|
76
|
+
readonly "primary-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
77
|
+
readonly secondary: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
78
|
+
readonly "secondary-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
79
|
+
readonly accent: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
80
|
+
readonly "accent-deep": v.OptionalSchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>, never>;
|
|
81
|
+
readonly "accent-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
82
|
+
readonly muted: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
83
|
+
readonly "muted-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
84
|
+
readonly border: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
85
|
+
readonly input: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
86
|
+
readonly ring: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
87
|
+
readonly success: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
88
|
+
readonly "success-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
89
|
+
readonly warning: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
90
|
+
readonly "warning-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
91
|
+
readonly destructive: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
92
|
+
readonly "destructive-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
93
|
+
readonly info: v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
94
|
+
readonly "info-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
95
|
+
readonly "status-online": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
96
|
+
readonly "status-online-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
97
|
+
readonly "status-offline": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
98
|
+
readonly "status-offline-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
99
|
+
readonly "status-degraded": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
100
|
+
readonly "status-degraded-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
101
|
+
readonly "status-info": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
102
|
+
readonly "status-info-foreground": v.SchemaWithPipe<[v.StringSchema<undefined>, v.CheckAction<string, "color value did not match the allowed format (hex, oklch, hsl, rgb, var(), HSL split, or CSS keyword)">]>;
|
|
103
|
+
}, undefined>;
|
|
104
|
+
readonly fontUrls: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<[v.StringSchema<undefined>, v.UrlAction<string, undefined>, v.CheckAction<string, "fontUrls must use http(s) protocol (javascript:, data:, etc. are rejected)">]>, undefined>, never>;
|
|
105
|
+
}, undefined>;
|
|
106
|
+
export type ThemeIssue = v.InferIssue<typeof themeSchema>;
|
|
107
|
+
export interface ThemeValidationResult {
|
|
108
|
+
success: boolean;
|
|
109
|
+
issues?: ThemeIssue[];
|
|
110
|
+
}
|
|
111
|
+
export declare function validateTheme(theme: unknown): ThemeValidationResult;
|
|
112
|
+
export declare function formatThemeIssues(themeName: string, issues: ThemeIssue[]): string;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { JSX, ReactNode } from "react";
|
|
2
|
+
import { type Density } from "./density.js";
|
|
3
|
+
import type { Theme, ThemeMode } from "./types.js";
|
|
4
|
+
interface ThemeContextValue {
|
|
5
|
+
/** Active theme (full descriptor). */
|
|
6
|
+
theme: Theme;
|
|
7
|
+
/** Active mode: light or dark. */
|
|
8
|
+
mode: ThemeMode;
|
|
9
|
+
/** All available themes. */
|
|
10
|
+
themes: Theme[];
|
|
11
|
+
/** Swap the active theme by name. */
|
|
12
|
+
setTheme: (name: string) => void;
|
|
13
|
+
/** Set light/dark explicitly. */
|
|
14
|
+
setMode: (mode: ThemeMode) => void;
|
|
15
|
+
/** Toggle light <> dark. */
|
|
16
|
+
toggleMode: () => void;
|
|
17
|
+
/** Register an additional theme at runtime. */
|
|
18
|
+
registerTheme: (theme: Theme) => void;
|
|
19
|
+
}
|
|
20
|
+
interface ThemeProviderProps {
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Theme to start with. Must match the `name` of an entry in `themes`.
|
|
24
|
+
* Defaults to `"violet-forge"` for backward compat — if you don't pass
|
|
25
|
+
* `violet-forge` in `themes`, set this prop explicitly.
|
|
26
|
+
*/
|
|
27
|
+
defaultTheme?: string;
|
|
28
|
+
/** Mode to start with. Defaults to `"dark"` (library is dark-first). */
|
|
29
|
+
defaultMode?: ThemeMode;
|
|
30
|
+
/**
|
|
31
|
+
* Available themes. **Required**: ThemeProvider does not auto-include any
|
|
32
|
+
* built-in theme since v0.1.0-next.0 — pass `builtinThemes` for all three
|
|
33
|
+
* Violet Forge defaults, or your own array for a slimmer bundle.
|
|
34
|
+
*
|
|
35
|
+
* Migration: consumers previously calling `<ThemeProvider>` without this
|
|
36
|
+
* prop now must pass `themes={builtinThemes}` (or use `<TheoUIProvider>`
|
|
37
|
+
* which defaults to `builtinThemes` for you).
|
|
38
|
+
*/
|
|
39
|
+
themes: Theme[];
|
|
40
|
+
/**
|
|
41
|
+
* Persist selection in localStorage under this key. Pass `null` to disable.
|
|
42
|
+
* Default: "theo-ui:theme".
|
|
43
|
+
*/
|
|
44
|
+
storageKey?: string | null;
|
|
45
|
+
/**
|
|
46
|
+
* Initial density. Drives `data-density` on `<html>` and the `--theo-control-h`
|
|
47
|
+
* / `--theo-control-px` CSS vars consumed by form-control `md` variants.
|
|
48
|
+
* Defaults to `"comfortable"` (36px controls — FAANG-tier modern density).
|
|
49
|
+
* Plan: faang-density-tightening (D3).
|
|
50
|
+
*/
|
|
51
|
+
defaultDensity?: Density;
|
|
52
|
+
/**
|
|
53
|
+
* Respect the consumer's OS `prefers-color-scheme` preference on initial
|
|
54
|
+
* mount (D6 / T5.1). When `true` (default) and no theme-mode is stored in
|
|
55
|
+
* `localStorage[storageKey]`, the provider reads
|
|
56
|
+
* `matchMedia('(prefers-color-scheme: dark)')` and subscribes to changes.
|
|
57
|
+
* User-driven `setMode()` overrides the system signal — subsequent OS
|
|
58
|
+
* changes are ignored after the user fixes a preference.
|
|
59
|
+
*
|
|
60
|
+
* Pass `false` to force `defaultMode` regardless of the system preference.
|
|
61
|
+
* EC-12: matchMedia listener is cleaned up on unmount.
|
|
62
|
+
*/
|
|
63
|
+
respectSystemMode?: boolean;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* ThemeProvider — central registry + runtime switcher for Theo themes.
|
|
67
|
+
*
|
|
68
|
+
* Behavior:
|
|
69
|
+
* 1. On mount, injects a `<style id="theo-ui-theme-vars">` element with
|
|
70
|
+
* one CSS block per theme (`[data-theme="<name>"] { --token: ... }`).
|
|
71
|
+
* 2. Sets `data-theme` and `data-mode` on `<html>` so any element nested
|
|
72
|
+
* below inherits the right tokens (the Tailwind config consumes them).
|
|
73
|
+
* 3. Lazy-loads theme font URLs by injecting `<link rel="stylesheet">`.
|
|
74
|
+
* 4. Optionally persists choice in localStorage.
|
|
75
|
+
*/
|
|
76
|
+
declare function ThemeProvider({ children, defaultTheme, defaultMode, themes: themesProp, storageKey, defaultDensity, respectSystemMode, }: ThemeProviderProps): JSX.Element;
|
|
77
|
+
/**
|
|
78
|
+
* useTheme — access theme state from any component inside <ThemeProvider>.
|
|
79
|
+
* Throws if used outside the provider — fail-fast.
|
|
80
|
+
*/
|
|
81
|
+
declare function useTheme(): ThemeContextValue;
|
|
82
|
+
export { ThemeProvider, useTheme };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ThemeScript — inline `<script>` for SSR-safe theme initialization.
|
|
3
|
+
*
|
|
4
|
+
* Renders a synchronous script that runs BEFORE React hydration. It reads the
|
|
5
|
+
* persisted theme + mode from localStorage (or falls back to the defaults) and
|
|
6
|
+
* sets `data-theme` / `data-mode` on `<html>`, plus the `.dark` class when
|
|
7
|
+
* mode is dark. This eliminates FOUC and avoids hydration mismatch warnings
|
|
8
|
+
* when the user's persisted choice differs from the SSR defaults.
|
|
9
|
+
*
|
|
10
|
+
* Place this in `<head>` ABOVE `<body>`. The component does not need to live
|
|
11
|
+
* inside `<ThemeProvider>`.
|
|
12
|
+
*
|
|
13
|
+
* Security: every interpolated value is passed through `safe()`, which both
|
|
14
|
+
* `JSON.stringify`s the value AND escapes `<` to `<`. The `<` escape is
|
|
15
|
+
* REQUIRED because `JSON.stringify` alone does NOT escape `/`, so a payload
|
|
16
|
+
* like `"</script><script>alert(1)</script>"` would otherwise break out of
|
|
17
|
+
* the inline `<script>` tag even though it stays inside a JS string literal.
|
|
18
|
+
* (The browser tokenizes `</script>` at the HTML layer before JS parses.)
|
|
19
|
+
*
|
|
20
|
+
* Example (Next.js App Router): see docs/design-system.md → SSR section.
|
|
21
|
+
* Pass `defaultTheme` and `defaultMode` to align with the consumer's
|
|
22
|
+
* preferred initial state. Always wrap the root in `<html
|
|
23
|
+
* suppressHydrationWarning>` to silence the expected one-render diff.
|
|
24
|
+
*/
|
|
25
|
+
import type { JSX } from "react";
|
|
26
|
+
import type { ThemeMode } from "./types.js";
|
|
27
|
+
interface ThemeScriptProps {
|
|
28
|
+
/** Theme name to apply when no persisted value exists. Default `"violet-forge"`. */
|
|
29
|
+
defaultTheme?: string;
|
|
30
|
+
/** Mode to apply when no persisted value exists. Default `"dark"`. */
|
|
31
|
+
defaultMode?: ThemeMode;
|
|
32
|
+
/**
|
|
33
|
+
* Density to apply when no persisted value exists. Default `"comfortable"`.
|
|
34
|
+
* Mirrors `ThemeProvider`'s `defaultDensity` so the inline-script and
|
|
35
|
+
* the React provider agree on the SSR-default density (and the
|
|
36
|
+
* `data-density` attribute set by this script matches what
|
|
37
|
+
* `ThemeProvider` promotes via its post-mount hydration effect).
|
|
38
|
+
*/
|
|
39
|
+
defaultDensity?: "compact" | "comfortable" | "spacious";
|
|
40
|
+
/**
|
|
41
|
+
* localStorage namespace. Must match the `storageKey` passed to
|
|
42
|
+
* `<ThemeProvider>`. Default `"theo-ui:theme"`. Pass `null` to disable
|
|
43
|
+
* persistence reads (the script will always apply defaults).
|
|
44
|
+
*/
|
|
45
|
+
storageKey?: string | null;
|
|
46
|
+
}
|
|
47
|
+
declare function ThemeScript({ defaultTheme, defaultMode, defaultDensity, storageKey, }: ThemeScriptProps): JSX.Element;
|
|
48
|
+
export { ThemeScript };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { JSX } from "react";
|
|
2
|
+
interface ThemeSwitcherProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
/** If true, renders mode toggle inline next to the theme menu. */
|
|
5
|
+
showModeToggle?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* ThemeSwitcher — drop-in theme + mode picker.
|
|
9
|
+
*
|
|
10
|
+
* Two affordances:
|
|
11
|
+
* - Palette dropdown lists all registered themes with the active marked.
|
|
12
|
+
* - Optional sun/moon button toggles light/dark.
|
|
13
|
+
*
|
|
14
|
+
* Stateless wrt itself — pulls state from `useTheme()`.
|
|
15
|
+
*/
|
|
16
|
+
declare function ThemeSwitcher({ className, showModeToggle }: ThemeSwitcherProps): JSX.Element;
|
|
17
|
+
export { ThemeSwitcher };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theo UI — Theme types.
|
|
3
|
+
*
|
|
4
|
+
* A Theme is a frozen bundle of CSS-var values that the runtime can swap by
|
|
5
|
+
* setting `data-theme="<name>"` on `<html>`. The structure mirrors what lives
|
|
6
|
+
* in tokens.css so themes can be merged without ambiguity.
|
|
7
|
+
*/
|
|
8
|
+
export type ThemeMode = "light" | "dark";
|
|
9
|
+
export interface ColorScale {
|
|
10
|
+
background: string;
|
|
11
|
+
foreground: string;
|
|
12
|
+
card: string;
|
|
13
|
+
"card-foreground": string;
|
|
14
|
+
popover: string;
|
|
15
|
+
"popover-foreground": string;
|
|
16
|
+
primary: string;
|
|
17
|
+
/**
|
|
18
|
+
* Tonal scale variants of `primary`. Optional since T3.2 (ADR-0006).
|
|
19
|
+
* When omitted, derived in CSS from `--primary` via `oklch(from ...)`.
|
|
20
|
+
* Override per-theme by providing an explicit string.
|
|
21
|
+
*/
|
|
22
|
+
"primary-deep"?: string;
|
|
23
|
+
"primary-glow"?: string;
|
|
24
|
+
"primary-foreground": string;
|
|
25
|
+
secondary: string;
|
|
26
|
+
"secondary-foreground": string;
|
|
27
|
+
accent: string;
|
|
28
|
+
/**
|
|
29
|
+
* Tonal scale variant of `accent`. Optional since T3.2 — derived in CSS
|
|
30
|
+
* when omitted. Override per-theme by providing an explicit string.
|
|
31
|
+
*/
|
|
32
|
+
"accent-deep"?: string;
|
|
33
|
+
"accent-foreground": string;
|
|
34
|
+
muted: string;
|
|
35
|
+
"muted-foreground": string;
|
|
36
|
+
border: string;
|
|
37
|
+
input: string;
|
|
38
|
+
ring: string;
|
|
39
|
+
success: string;
|
|
40
|
+
"success-foreground": string;
|
|
41
|
+
warning: string;
|
|
42
|
+
"warning-foreground": string;
|
|
43
|
+
destructive: string;
|
|
44
|
+
"destructive-foreground": string;
|
|
45
|
+
info: string;
|
|
46
|
+
"info-foreground": string;
|
|
47
|
+
/**
|
|
48
|
+
* Status semantic group (D4 ADR — community-best-practices plan).
|
|
49
|
+
*
|
|
50
|
+
* Operational state colors (gateway connected/disconnected/slow/info-flag)
|
|
51
|
+
* separated from action-result semantics (success/destructive/warning/info).
|
|
52
|
+
* Defaults in built-in themes mirror their semantic counterparts; consumers
|
|
53
|
+
* may override for visually-distinct status surfaces. `defineTheme(partial)`
|
|
54
|
+
* auto-populates from semantic group when omitted.
|
|
55
|
+
*/
|
|
56
|
+
"status-online": string;
|
|
57
|
+
"status-online-foreground": string;
|
|
58
|
+
"status-offline": string;
|
|
59
|
+
"status-offline-foreground": string;
|
|
60
|
+
"status-degraded": string;
|
|
61
|
+
"status-degraded-foreground": string;
|
|
62
|
+
"status-info": string;
|
|
63
|
+
"status-info-foreground": string;
|
|
64
|
+
}
|
|
65
|
+
export interface ThemeFonts {
|
|
66
|
+
/** Display headlines (h1-h3, hero text). */
|
|
67
|
+
display: string;
|
|
68
|
+
/** Body / UI text. */
|
|
69
|
+
body: string;
|
|
70
|
+
/** Code, mono, paths, timestamps. */
|
|
71
|
+
mono: string;
|
|
72
|
+
}
|
|
73
|
+
export interface Theme {
|
|
74
|
+
/** Stable id, used in `data-theme`. */
|
|
75
|
+
name: string;
|
|
76
|
+
/** Human-readable label for theme switchers. */
|
|
77
|
+
label: string;
|
|
78
|
+
/** Optional short description shown in switchers. */
|
|
79
|
+
description?: string;
|
|
80
|
+
fonts: ThemeFonts;
|
|
81
|
+
light: ColorScale;
|
|
82
|
+
dark: ColorScale;
|
|
83
|
+
/**
|
|
84
|
+
* Optional URL(s) to fetch before applying. The provider injects a `<link>`
|
|
85
|
+
* tag once per URL to load remote fonts. Already-injected URLs are deduped.
|
|
86
|
+
*/
|
|
87
|
+
fontUrls?: string[];
|
|
88
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Theme } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Vercel Mono — razor-sharp monochrome + signature blue.
|
|
4
|
+
*
|
|
5
|
+
* Inspired by, not affiliated with Vercel. Based on Geist Design tokens
|
|
6
|
+
* (https://github.com/vercel/geist). Light = pure white + black ink + blue
|
|
7
|
+
* accent (#0070F3); dark = near-black canvas + white text + same blue.
|
|
8
|
+
*
|
|
9
|
+
* Plan: .claude/knowledge-base/plans/seven-themes-plan.md T2.1
|
|
10
|
+
*/
|
|
11
|
+
export declare const vercelMono: Theme;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Theme } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Violet Forge — the default Theo theme.
|
|
4
|
+
*
|
|
5
|
+
* Identity: Theo violet electric primary (#A855F7, unified 2026-06-09),
|
|
6
|
+
* burnt sienna accent (#C96442), Vercel-style neutral surfaces
|
|
7
|
+
* (pure white light / charcoal dark), Geist Sans + Geist Mono throughout.
|
|
8
|
+
*
|
|
9
|
+
* Source of truth for `data-theme` overrides. Values mirror
|
|
10
|
+
* src/styles/tokens.css for the default `:root`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const violetForge: Theme;
|