@usetheo/ui 0.13.2 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -466
- package/dist/components/composites/command-palette/command-palette.d.ts +1 -1
- package/dist/components/primitives/badge/badge.d.ts +1 -1
- package/dist/components/primitives/button/button.d.ts +1 -1
- package/dist/components/primitives/danger-zone/danger-zone.d.ts +1 -1
- package/dist/components/primitives/dialog/dialog.d.ts +3 -3
- package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +1 -1
- package/dist/components/primitives/sheet/sheet.d.ts +3 -3
- package/dist/components/primitives/toast/toast.d.ts +1 -1
- package/dist/index.d.ts +0 -89
- package/dist/index.js +4657 -1545
- package/dist/lib/cn.d.ts +1 -1
- package/dist/{preset-v3-legacy.js → tailwind-preset.js} +1 -16
- package/package.json +28 -788
- package/CHANGELOG.md +0 -1797
- package/DESIGN.md +0 -456
- package/NOTICE +0 -38
- package/dist/chunk-23YEYNDS.js +0 -89
- package/dist/chunk-23YEYNDS.js.map +0 -1
- package/dist/chunk-25KBUQEQ.js +0 -95
- package/dist/chunk-25KBUQEQ.js.map +0 -1
- package/dist/chunk-2NTEJRPA.js +0 -212
- package/dist/chunk-2NTEJRPA.js.map +0 -1
- package/dist/chunk-2NZYMQKT.js +0 -56
- package/dist/chunk-2NZYMQKT.js.map +0 -1
- package/dist/chunk-2OVFVPSZ.js +0 -26
- package/dist/chunk-2OVFVPSZ.js.map +0 -1
- package/dist/chunk-2UP7SECE.js +0 -78
- package/dist/chunk-2UP7SECE.js.map +0 -1
- package/dist/chunk-33ETHPT7.js +0 -112
- package/dist/chunk-33ETHPT7.js.map +0 -1
- package/dist/chunk-33IIDFSM.js +0 -43
- package/dist/chunk-33IIDFSM.js.map +0 -1
- package/dist/chunk-345HYADQ.js +0 -88
- package/dist/chunk-345HYADQ.js.map +0 -1
- package/dist/chunk-357XIC2N.js +0 -98
- package/dist/chunk-357XIC2N.js.map +0 -1
- package/dist/chunk-3YOPTHZH.js +0 -31
- package/dist/chunk-3YOPTHZH.js.map +0 -1
- package/dist/chunk-44ZNZZUS.js +0 -111
- package/dist/chunk-44ZNZZUS.js.map +0 -1
- package/dist/chunk-45FWKR23.js +0 -62
- package/dist/chunk-45FWKR23.js.map +0 -1
- package/dist/chunk-47IPOYLQ.js +0 -116
- package/dist/chunk-47IPOYLQ.js.map +0 -1
- package/dist/chunk-4EH6F54D.js +0 -69
- package/dist/chunk-4EH6F54D.js.map +0 -1
- package/dist/chunk-4EKF4EIE.js +0 -140
- package/dist/chunk-4EKF4EIE.js.map +0 -1
- package/dist/chunk-4XYFJIRC.js +0 -65
- package/dist/chunk-4XYFJIRC.js.map +0 -1
- package/dist/chunk-52J7SDYH.js +0 -48
- package/dist/chunk-52J7SDYH.js.map +0 -1
- package/dist/chunk-5YX76GH6.js +0 -70
- package/dist/chunk-5YX76GH6.js.map +0 -1
- package/dist/chunk-624AATQZ.js +0 -77
- package/dist/chunk-624AATQZ.js.map +0 -1
- package/dist/chunk-65YSFZAN.js +0 -192
- package/dist/chunk-65YSFZAN.js.map +0 -1
- package/dist/chunk-6IODJQWC.js +0 -47
- package/dist/chunk-6IODJQWC.js.map +0 -1
- package/dist/chunk-6ORS6XOE.js +0 -57
- package/dist/chunk-6ORS6XOE.js.map +0 -1
- package/dist/chunk-6V2LQEPT.js +0 -165
- package/dist/chunk-6V2LQEPT.js.map +0 -1
- package/dist/chunk-75IDWFYX.js +0 -134
- package/dist/chunk-75IDWFYX.js.map +0 -1
- package/dist/chunk-7BQXMG2A.js +0 -93
- package/dist/chunk-7BQXMG2A.js.map +0 -1
- package/dist/chunk-7RFWVNQA.js +0 -47
- package/dist/chunk-7RFWVNQA.js.map +0 -1
- package/dist/chunk-ABBXLAJW.js +0 -74
- package/dist/chunk-ABBXLAJW.js.map +0 -1
- package/dist/chunk-ACZNFEOZ.js +0 -180
- package/dist/chunk-ACZNFEOZ.js.map +0 -1
- package/dist/chunk-AJ2LNQUQ.js +0 -108
- package/dist/chunk-AJ2LNQUQ.js.map +0 -1
- package/dist/chunk-AX6P3SDS.js +0 -89
- package/dist/chunk-AX6P3SDS.js.map +0 -1
- package/dist/chunk-AXUAQM45.js +0 -154
- package/dist/chunk-AXUAQM45.js.map +0 -1
- package/dist/chunk-B2FL7KBJ.js +0 -65
- package/dist/chunk-B2FL7KBJ.js.map +0 -1
- package/dist/chunk-B42EOFRD.js +0 -106
- package/dist/chunk-B42EOFRD.js.map +0 -1
- package/dist/chunk-BE232OKN.js +0 -42
- package/dist/chunk-BE232OKN.js.map +0 -1
- package/dist/chunk-BSF4Y4UT.js +0 -77
- package/dist/chunk-BSF4Y4UT.js.map +0 -1
- package/dist/chunk-BYUWQ6OP.js +0 -45
- package/dist/chunk-BYUWQ6OP.js.map +0 -1
- package/dist/chunk-C5ULP2P5.js +0 -140
- package/dist/chunk-C5ULP2P5.js.map +0 -1
- package/dist/chunk-CCG7PXLX.js +0 -24
- package/dist/chunk-CCG7PXLX.js.map +0 -1
- package/dist/chunk-CFVSXYVT.js +0 -59
- package/dist/chunk-CFVSXYVT.js.map +0 -1
- package/dist/chunk-CGWIOIEO.js +0 -27
- package/dist/chunk-CGWIOIEO.js.map +0 -1
- package/dist/chunk-CVFSNA4K.js +0 -716
- package/dist/chunk-CVFSNA4K.js.map +0 -1
- package/dist/chunk-CX54TUTT.js +0 -144
- package/dist/chunk-CX54TUTT.js.map +0 -1
- package/dist/chunk-DJK6H3FD.js +0 -200
- package/dist/chunk-DJK6H3FD.js.map +0 -1
- package/dist/chunk-E26M7ATD.js +0 -61
- package/dist/chunk-E26M7ATD.js.map +0 -1
- package/dist/chunk-E63IRXZZ.js +0 -78
- package/dist/chunk-E63IRXZZ.js.map +0 -1
- package/dist/chunk-EOTSD2GL.js +0 -83
- package/dist/chunk-EOTSD2GL.js.map +0 -1
- package/dist/chunk-ESJUISWY.js +0 -45
- package/dist/chunk-ESJUISWY.js.map +0 -1
- package/dist/chunk-ET7A3TQZ.js +0 -158
- package/dist/chunk-ET7A3TQZ.js.map +0 -1
- package/dist/chunk-ETTL6XGU.js +0 -139
- package/dist/chunk-ETTL6XGU.js.map +0 -1
- package/dist/chunk-EWDN56AS.js +0 -24
- package/dist/chunk-EWDN56AS.js.map +0 -1
- package/dist/chunk-FELH4AAQ.js +0 -90
- package/dist/chunk-FELH4AAQ.js.map +0 -1
- package/dist/chunk-FJZKA2LV.js +0 -165
- package/dist/chunk-FJZKA2LV.js.map +0 -1
- package/dist/chunk-FM72LBCJ.js +0 -102
- package/dist/chunk-FM72LBCJ.js.map +0 -1
- package/dist/chunk-FNQASFTK.js +0 -53
- package/dist/chunk-FNQASFTK.js.map +0 -1
- package/dist/chunk-FOE3XXBJ.js +0 -965
- package/dist/chunk-FOE3XXBJ.js.map +0 -1
- package/dist/chunk-GC52HWIL.js +0 -41
- package/dist/chunk-GC52HWIL.js.map +0 -1
- package/dist/chunk-GCKFA7X7.js +0 -83
- package/dist/chunk-GCKFA7X7.js.map +0 -1
- package/dist/chunk-GDMCDW66.js +0 -19
- package/dist/chunk-GDMCDW66.js.map +0 -1
- package/dist/chunk-GLRUM43F.js +0 -121
- package/dist/chunk-GLRUM43F.js.map +0 -1
- package/dist/chunk-H3L7WZDZ.js +0 -74
- package/dist/chunk-H3L7WZDZ.js.map +0 -1
- package/dist/chunk-H55WXDME.js +0 -45
- package/dist/chunk-H55WXDME.js.map +0 -1
- package/dist/chunk-HB45JHMM.js +0 -43
- package/dist/chunk-HB45JHMM.js.map +0 -1
- package/dist/chunk-HETHTYEZ.js +0 -80
- package/dist/chunk-HETHTYEZ.js.map +0 -1
- package/dist/chunk-HHSKNB32.js +0 -55
- package/dist/chunk-HHSKNB32.js.map +0 -1
- package/dist/chunk-HILOUYES.js +0 -151
- package/dist/chunk-HILOUYES.js.map +0 -1
- package/dist/chunk-HKVOCYTN.js +0 -113
- package/dist/chunk-HKVOCYTN.js.map +0 -1
- package/dist/chunk-HNRFBJ25.js +0 -129
- package/dist/chunk-HNRFBJ25.js.map +0 -1
- package/dist/chunk-HTJVHFNW.js +0 -178
- package/dist/chunk-HTJVHFNW.js.map +0 -1
- package/dist/chunk-HZ7Z22VW.js +0 -130
- package/dist/chunk-HZ7Z22VW.js.map +0 -1
- package/dist/chunk-II5Q5RIO.js +0 -236
- package/dist/chunk-II5Q5RIO.js.map +0 -1
- package/dist/chunk-ITEIRMSH.js +0 -121
- package/dist/chunk-ITEIRMSH.js.map +0 -1
- package/dist/chunk-JIZKW3WC.js +0 -74
- package/dist/chunk-JIZKW3WC.js.map +0 -1
- package/dist/chunk-JP3SHERK.js +0 -154
- package/dist/chunk-JP3SHERK.js.map +0 -1
- package/dist/chunk-JR4H3FJ2.js +0 -74
- package/dist/chunk-JR4H3FJ2.js.map +0 -1
- package/dist/chunk-JRW53TVG.js +0 -53
- package/dist/chunk-JRW53TVG.js.map +0 -1
- package/dist/chunk-JS5T2CRO.js +0 -86
- package/dist/chunk-JS5T2CRO.js.map +0 -1
- package/dist/chunk-JXOCE27Z.js +0 -82
- package/dist/chunk-JXOCE27Z.js.map +0 -1
- package/dist/chunk-JYW5YNF7.js +0 -188
- package/dist/chunk-JYW5YNF7.js.map +0 -1
- package/dist/chunk-KHBXI6AV.js +0 -149
- package/dist/chunk-KHBXI6AV.js.map +0 -1
- package/dist/chunk-KXZH7BTX.js +0 -92
- package/dist/chunk-KXZH7BTX.js.map +0 -1
- package/dist/chunk-LB4PMLCX.js +0 -57
- package/dist/chunk-LB4PMLCX.js.map +0 -1
- package/dist/chunk-LMGE2QEO.js +0 -117
- package/dist/chunk-LMGE2QEO.js.map +0 -1
- package/dist/chunk-M74ZYBOK.js +0 -93
- package/dist/chunk-M74ZYBOK.js.map +0 -1
- package/dist/chunk-ML7WLNIK.js +0 -11
- package/dist/chunk-ML7WLNIK.js.map +0 -1
- package/dist/chunk-MLEPCMTF.js +0 -147
- package/dist/chunk-MLEPCMTF.js.map +0 -1
- package/dist/chunk-NSZEZTDO.js +0 -98
- package/dist/chunk-NSZEZTDO.js.map +0 -1
- package/dist/chunk-OMR6ZGME.js +0 -63
- package/dist/chunk-OMR6ZGME.js.map +0 -1
- package/dist/chunk-ORVYP73T.js +0 -223
- package/dist/chunk-ORVYP73T.js.map +0 -1
- package/dist/chunk-OZFUUO2Q.js +0 -50
- package/dist/chunk-OZFUUO2Q.js.map +0 -1
- package/dist/chunk-PJWYIOY4.js +0 -3
- package/dist/chunk-PJWYIOY4.js.map +0 -1
- package/dist/chunk-PXT47DRZ.js +0 -59
- package/dist/chunk-PXT47DRZ.js.map +0 -1
- package/dist/chunk-QBSJM4XI.js +0 -83
- package/dist/chunk-QBSJM4XI.js.map +0 -1
- package/dist/chunk-QBUTRD2M.js +0 -58
- package/dist/chunk-QBUTRD2M.js.map +0 -1
- package/dist/chunk-QCSMJTA6.js +0 -68
- package/dist/chunk-QCSMJTA6.js.map +0 -1
- package/dist/chunk-QNYOIVQ4.js +0 -36
- package/dist/chunk-QNYOIVQ4.js.map +0 -1
- package/dist/chunk-QPURZJJM.js +0 -88
- package/dist/chunk-QPURZJJM.js.map +0 -1
- package/dist/chunk-QTG266XU.js +0 -69
- package/dist/chunk-QTG266XU.js.map +0 -1
- package/dist/chunk-QV4BQRNH.js +0 -29
- package/dist/chunk-QV4BQRNH.js.map +0 -1
- package/dist/chunk-RJ6RAMKH.js +0 -89
- package/dist/chunk-RJ6RAMKH.js.map +0 -1
- package/dist/chunk-RJBCTMVW.js +0 -59
- package/dist/chunk-RJBCTMVW.js.map +0 -1
- package/dist/chunk-RMJYXHBX.js +0 -113
- package/dist/chunk-RMJYXHBX.js.map +0 -1
- package/dist/chunk-RQT5DWGG.js +0 -34
- package/dist/chunk-RQT5DWGG.js.map +0 -1
- package/dist/chunk-SPGNNN4R.js +0 -115
- package/dist/chunk-SPGNNN4R.js.map +0 -1
- package/dist/chunk-SQ66DCXY.js +0 -35
- package/dist/chunk-SQ66DCXY.js.map +0 -1
- package/dist/chunk-SXKGWHAM.js +0 -179
- package/dist/chunk-SXKGWHAM.js.map +0 -1
- package/dist/chunk-T2OKGV6M.js +0 -13
- package/dist/chunk-T2OKGV6M.js.map +0 -1
- package/dist/chunk-T4Z7HBZR.js +0 -110
- package/dist/chunk-T4Z7HBZR.js.map +0 -1
- package/dist/chunk-TW5I37AE.js +0 -142
- package/dist/chunk-TW5I37AE.js.map +0 -1
- package/dist/chunk-TY6NTWN5.js +0 -29
- package/dist/chunk-TY6NTWN5.js.map +0 -1
- package/dist/chunk-UGKI466V.js +0 -12
- package/dist/chunk-UGKI466V.js.map +0 -1
- package/dist/chunk-UJAWV6LM.js +0 -136
- package/dist/chunk-UJAWV6LM.js.map +0 -1
- package/dist/chunk-V2WCZBVE.js +0 -122
- package/dist/chunk-V2WCZBVE.js.map +0 -1
- package/dist/chunk-V4LRBYOD.js +0 -55
- package/dist/chunk-V4LRBYOD.js.map +0 -1
- package/dist/chunk-V6H2RUVP.js +0 -77
- package/dist/chunk-V6H2RUVP.js.map +0 -1
- package/dist/chunk-VFRFUU7A.js +0 -35
- package/dist/chunk-VFRFUU7A.js.map +0 -1
- package/dist/chunk-VHK2OUCW.js +0 -38
- package/dist/chunk-VHK2OUCW.js.map +0 -1
- package/dist/chunk-VLNFUEOR.js +0 -86
- package/dist/chunk-VLNFUEOR.js.map +0 -1
- package/dist/chunk-VM4RMQQN.js +0 -11
- package/dist/chunk-VM4RMQQN.js.map +0 -1
- package/dist/chunk-VU7XKD4G.js +0 -66
- package/dist/chunk-VU7XKD4G.js.map +0 -1
- package/dist/chunk-VZX4HLBM.js +0 -84
- package/dist/chunk-VZX4HLBM.js.map +0 -1
- package/dist/chunk-W24RR5OD.js +0 -102
- package/dist/chunk-W24RR5OD.js.map +0 -1
- package/dist/chunk-W47V2F3Q.js +0 -115
- package/dist/chunk-W47V2F3Q.js.map +0 -1
- package/dist/chunk-W743ORLA.js +0 -91
- package/dist/chunk-W743ORLA.js.map +0 -1
- package/dist/chunk-W7I3ZX66.js +0 -76
- package/dist/chunk-W7I3ZX66.js.map +0 -1
- package/dist/chunk-WD42UBGR.js +0 -64
- package/dist/chunk-WD42UBGR.js.map +0 -1
- package/dist/chunk-WQVEJJV7.js +0 -108
- package/dist/chunk-WQVEJJV7.js.map +0 -1
- package/dist/chunk-WX4Q4DTX.js +0 -121
- package/dist/chunk-WX4Q4DTX.js.map +0 -1
- package/dist/chunk-XC7SYZYR.js +0 -86
- package/dist/chunk-XC7SYZYR.js.map +0 -1
- package/dist/chunk-XSENM65D.js +0 -128
- package/dist/chunk-XSENM65D.js.map +0 -1
- package/dist/chunk-Y7JTBQUQ.js +0 -152
- package/dist/chunk-Y7JTBQUQ.js.map +0 -1
- package/dist/chunk-YD2QEVHO.js +0 -68
- package/dist/chunk-YD2QEVHO.js.map +0 -1
- package/dist/chunk-YDKRUSB5.js +0 -35
- package/dist/chunk-YDKRUSB5.js.map +0 -1
- package/dist/chunk-YNDHYMPI.js +0 -46
- package/dist/chunk-YNDHYMPI.js.map +0 -1
- package/dist/chunk-YO3WEMOH.js +0 -130
- package/dist/chunk-YO3WEMOH.js.map +0 -1
- package/dist/chunk-YVXMWUWD.js +0 -118
- package/dist/chunk-YVXMWUWD.js.map +0 -1
- package/dist/chunk-Z6HZMGO2.js +0 -106
- package/dist/chunk-Z6HZMGO2.js.map +0 -1
- package/dist/chunk-ZAP4RIUL.js +0 -81
- package/dist/chunk-ZAP4RIUL.js.map +0 -1
- package/dist/chunk-ZEDDWVBB.js +0 -112
- package/dist/chunk-ZEDDWVBB.js.map +0 -1
- package/dist/chunk-ZEFOXF2I.js +0 -87
- package/dist/chunk-ZEFOXF2I.js.map +0 -1
- package/dist/chunk-ZPURFK4C.js +0 -203
- package/dist/chunk-ZPURFK4C.js.map +0 -1
- package/dist/chunk-ZXPDS6DH.js +0 -3
- package/dist/chunk-ZXPDS6DH.js.map +0 -1
- package/dist/chunk-ZZZIOTLC.js +0 -89
- package/dist/chunk-ZZZIOTLC.js.map +0 -1
- package/dist/components/composites/agent-composer/agent-composer.d.ts +0 -41
- package/dist/components/composites/agent-composer/index.d.ts +0 -1
- package/dist/components/composites/agent-editor/agent-editor.d.ts +0 -31
- package/dist/components/composites/agent-editor/index.d.ts +0 -1
- package/dist/components/composites/agent-stream/agent-stream.d.ts +0 -72
- package/dist/components/composites/agent-stream/index.d.ts +0 -2
- package/dist/components/composites/agent-stream/to-agent-stream-items.d.ts +0 -32
- package/dist/components/composites/agent-timeline/agent-timeline.d.ts +0 -22
- package/dist/components/composites/agent-timeline/index.d.ts +0 -1
- package/dist/components/composites/agent-tool-renderer/agent-tool-renderer.d.ts +0 -60
- package/dist/components/composites/agent-tool-renderer/index.d.ts +0 -1
- package/dist/components/composites/agent-tool-renderer/tool-call-part.d.ts +0 -5
- package/dist/components/composites/approval-card/approval-card.d.ts +0 -35
- package/dist/components/composites/approval-card/index.d.ts +0 -1
- package/dist/components/composites/chat-composer/chat-composer.d.ts +0 -68
- package/dist/components/composites/chat-composer/index.d.ts +0 -1
- package/dist/components/composites/chat-message/chat-message-actions.d.ts +0 -22
- package/dist/components/composites/chat-message/chat-message-branch.d.ts +0 -17
- package/dist/components/composites/chat-message/chat-message-response.d.ts +0 -15
- package/dist/components/composites/chat-message/chat-message-toolbar.d.ts +0 -7
- package/dist/components/composites/chat-message/chat-message.d.ts +0 -94
- package/dist/components/composites/chat-message/index.d.ts +0 -23
- package/dist/components/composites/chat-message/parts/data-part.d.ts +0 -9
- package/dist/components/composites/chat-message/parts/file-part.d.ts +0 -5
- package/dist/components/composites/chat-message/parts/reasoning-part.d.ts +0 -7
- package/dist/components/composites/chat-message/parts/source-part.d.ts +0 -9
- package/dist/components/composites/chat-message/parts/text-part.d.ts +0 -11
- package/dist/components/composites/choice-prompt/choice-prompt.d.ts +0 -65
- package/dist/components/composites/choice-prompt/index.d.ts +0 -2
- package/dist/components/composites/confirm-prompt/confirm-prompt.d.ts +0 -31
- package/dist/components/composites/confirm-prompt/index.d.ts +0 -1
- package/dist/components/composites/cron-jobs-list/cron-jobs-list.d.ts +0 -15
- package/dist/components/composites/cron-jobs-list/index.d.ts +0 -1
- package/dist/components/composites/mcp-server-list/index.d.ts +0 -1
- package/dist/components/composites/mcp-server-list/mcp-server-list.d.ts +0 -15
- package/dist/components/composites/multi-select-prompt/index.d.ts +0 -1
- package/dist/components/composites/multi-select-prompt/multi-select-prompt.d.ts +0 -61
- package/dist/components/composites/permission-modal/index.d.ts +0 -1
- package/dist/components/composites/permission-modal/permission-modal.d.ts +0 -48
- package/dist/components/composites/preview-panel/index.d.ts +0 -1
- package/dist/components/composites/preview-panel/preview-panel.d.ts +0 -24
- package/dist/components/composites/rule-editor/index.d.ts +0 -1
- package/dist/components/composites/rule-editor/rule-editor.d.ts +0 -18
- package/dist/components/composites/skill-editor/index.d.ts +0 -1
- package/dist/components/composites/skill-editor/skill-editor.d.ts +0 -19
- package/dist/components/composites/skills-list/index.d.ts +0 -1
- package/dist/components/composites/skills-list/skills-list.d.ts +0 -15
- package/dist/components/composites/slide-deck/context.d.ts +0 -23
- package/dist/components/composites/slide-deck/controls.d.ts +0 -8
- package/dist/components/composites/slide-deck/fragments.d.ts +0 -20
- package/dist/components/composites/slide-deck/index.d.ts +0 -21
- package/dist/components/composites/slide-deck/notes.d.ts +0 -14
- package/dist/components/composites/slide-deck/presenter-view.d.ts +0 -15
- package/dist/components/composites/slide-deck/print-styles.d.ts +0 -21
- package/dist/components/composites/slide-deck/progress-bar.d.ts +0 -8
- package/dist/components/composites/slide-deck/schema.d.ts +0 -31
- package/dist/components/composites/slide-deck/slide-deck.d.ts +0 -78
- package/dist/components/composites/slide-deck/slide-number.d.ts +0 -11
- package/dist/components/composites/slide-deck/split-deck.d.ts +0 -2
- package/dist/components/composites/slide-deck/thumbnails.d.ts +0 -19
- package/dist/components/composites/slide-deck/use-deck-hash-routing.d.ts +0 -23
- package/dist/components/composites/slide-deck/use-deck-keyboard.d.ts +0 -25
- package/dist/components/composites/slide-deck/use-deck-state.d.ts +0 -57
- package/dist/components/composites/slide-deck/use-deck-swipe.d.ts +0 -20
- package/dist/components/composites/slide-deck/use-fullscreen.d.ts +0 -18
- package/dist/components/composites/stability-bundle-viewer/index.d.ts +0 -1
- package/dist/components/composites/stability-bundle-viewer/stability-bundle-viewer.d.ts +0 -28
- package/dist/components/composites/text-prompt/index.d.ts +0 -1
- package/dist/components/composites/text-prompt/text-prompt.d.ts +0 -48
- package/dist/components/composites/usage-meter/index.d.ts +0 -1
- package/dist/components/composites/usage-meter/usage-meter.d.ts +0 -56
- package/dist/components/primitives/agent-error-card/agent-error-card.d.ts +0 -47
- package/dist/components/primitives/agent-error-card/index.d.ts +0 -1
- package/dist/components/primitives/agent-event/agent-event.d.ts +0 -25
- package/dist/components/primitives/agent-event/index.d.ts +0 -1
- package/dist/components/primitives/agent-handoff/agent-handoff.d.ts +0 -24
- package/dist/components/primitives/agent-handoff/index.d.ts +0 -1
- package/dist/components/primitives/agent-profile/agent-profile.d.ts +0 -28
- package/dist/components/primitives/agent-profile/index.d.ts +0 -1
- package/dist/components/primitives/agent-starting-state/agent-starting-state.d.ts +0 -15
- package/dist/components/primitives/agent-starting-state/index.d.ts +0 -1
- package/dist/components/primitives/agent-streaming/agent-streaming.d.ts +0 -16
- package/dist/components/primitives/agent-streaming/index.d.ts +0 -1
- package/dist/components/primitives/artifact-preview/artifact-preview.d.ts +0 -25
- package/dist/components/primitives/artifact-preview/index.d.ts +0 -1
- package/dist/components/primitives/attachment-chip/attachment-chip.d.ts +0 -14
- package/dist/components/primitives/attachment-chip/index.d.ts +0 -1
- package/dist/components/primitives/audit-log-entry/audit-log-entry.d.ts +0 -29
- package/dist/components/primitives/audit-log-entry/index.d.ts +0 -1
- package/dist/components/primitives/auto-compact-notice/auto-compact-notice.d.ts +0 -24
- package/dist/components/primitives/auto-compact-notice/index.d.ts +0 -1
- package/dist/components/primitives/branch-indicator/branch-indicator.d.ts +0 -13
- package/dist/components/primitives/branch-indicator/index.d.ts +0 -1
- package/dist/components/primitives/browser-controls/browser-controls.d.ts +0 -19
- package/dist/components/primitives/browser-controls/index.d.ts +0 -1
- package/dist/components/primitives/build-log-stream/build-log-stream.d.ts +0 -51
- package/dist/components/primitives/build-log-stream/index.d.ts +0 -1
- package/dist/components/primitives/capability-indicator/capability-indicator.d.ts +0 -57
- package/dist/components/primitives/capability-indicator/index.d.ts +0 -1
- package/dist/components/primitives/channel-card/channel-card.d.ts +0 -28
- package/dist/components/primitives/channel-card/index.d.ts +0 -1
- package/dist/components/primitives/chat-thread/chat-thread.d.ts +0 -12
- package/dist/components/primitives/chat-thread/index.d.ts +0 -1
- package/dist/components/primitives/context-card/context-card.d.ts +0 -18
- package/dist/components/primitives/context-card/index.d.ts +0 -1
- package/dist/components/primitives/context-window-bar/context-window-bar.d.ts +0 -27
- package/dist/components/primitives/context-window-bar/index.d.ts +0 -1
- package/dist/components/primitives/cost-meter/cost-meter.d.ts +0 -23
- package/dist/components/primitives/cost-meter/index.d.ts +0 -1
- package/dist/components/primitives/created-files-card/created-files-card.d.ts +0 -30
- package/dist/components/primitives/created-files-card/index.d.ts +0 -1
- package/dist/components/primitives/cron-job-card/cron-job-card.d.ts +0 -30
- package/dist/components/primitives/cron-job-card/index.d.ts +0 -1
- package/dist/components/primitives/diff-viewer/diff-viewer.d.ts +0 -45
- package/dist/components/primitives/diff-viewer/index.d.ts +0 -1
- package/dist/components/primitives/export-chat-dialog/export-chat-dialog.d.ts +0 -18
- package/dist/components/primitives/export-chat-dialog/index.d.ts +0 -1
- package/dist/components/primitives/folder-context-card/folder-context-card.d.ts +0 -40
- package/dist/components/primitives/folder-context-card/index.d.ts +0 -1
- package/dist/components/primitives/folder-selector/folder-selector.d.ts +0 -18
- package/dist/components/primitives/folder-selector/index.d.ts +0 -1
- package/dist/components/primitives/gateway-status-indicator/gateway-status-indicator.d.ts +0 -19
- package/dist/components/primitives/gateway-status-indicator/index.d.ts +0 -1
- package/dist/components/primitives/hook-config/hook-config.d.ts +0 -27
- package/dist/components/primitives/hook-config/index.d.ts +0 -1
- package/dist/components/primitives/hook-event-log/hook-event-log.d.ts +0 -27
- package/dist/components/primitives/hook-event-log/index.d.ts +0 -1
- package/dist/components/primitives/intent-selector/index.d.ts +0 -1
- package/dist/components/primitives/intent-selector/intent-selector.d.ts +0 -22
- package/dist/components/primitives/lane-board/index.d.ts +0 -1
- package/dist/components/primitives/lane-board/lane-board.d.ts +0 -26
- package/dist/components/primitives/mcp-server-card/index.d.ts +0 -1
- package/dist/components/primitives/mcp-server-card/mcp-server-card.d.ts +0 -32
- package/dist/components/primitives/memory-editor/index.d.ts +0 -1
- package/dist/components/primitives/memory-editor/memory-editor.d.ts +0 -29
- package/dist/components/primitives/mention-menu/index.d.ts +0 -1
- package/dist/components/primitives/mention-menu/mention-menu.d.ts +0 -44
- package/dist/components/primitives/model-card/index.d.ts +0 -1
- package/dist/components/primitives/model-card/model-card.d.ts +0 -72
- package/dist/components/primitives/model-selector/index.d.ts +0 -1
- package/dist/components/primitives/model-selector/model-selector.d.ts +0 -21
- package/dist/components/primitives/permission-matrix/index.d.ts +0 -1
- package/dist/components/primitives/permission-matrix/permission-matrix.d.ts +0 -43
- package/dist/components/primitives/progress-checklist/index.d.ts +0 -1
- package/dist/components/primitives/progress-checklist/progress-checklist.d.ts +0 -18
- package/dist/components/primitives/project-switcher/index.d.ts +0 -1
- package/dist/components/primitives/project-switcher/project-switcher.d.ts +0 -32
- package/dist/components/primitives/quick-action-chips/index.d.ts +0 -1
- package/dist/components/primitives/quick-action-chips/quick-action-chips.d.ts +0 -22
- package/dist/components/primitives/recent-folders-list/index.d.ts +0 -1
- package/dist/components/primitives/recent-folders-list/recent-folders-list.d.ts +0 -21
- package/dist/components/primitives/rule-card/index.d.ts +0 -1
- package/dist/components/primitives/rule-card/rule-card.d.ts +0 -15
- package/dist/components/primitives/run-stats/index.d.ts +0 -1
- package/dist/components/primitives/run-stats/run-stats.d.ts +0 -16
- package/dist/components/primitives/run-status-pill/index.d.ts +0 -1
- package/dist/components/primitives/run-status-pill/run-status-pill.d.ts +0 -13
- package/dist/components/primitives/running-tasks-panel/index.d.ts +0 -1
- package/dist/components/primitives/running-tasks-panel/running-tasks-panel.d.ts +0 -20
- package/dist/components/primitives/session-list-item/index.d.ts +0 -1
- package/dist/components/primitives/session-list-item/session-list-item.d.ts +0 -35
- package/dist/components/primitives/session-timeline/index.d.ts +0 -1
- package/dist/components/primitives/session-timeline/session-timeline.d.ts +0 -32
- package/dist/components/primitives/skill-card/index.d.ts +0 -1
- package/dist/components/primitives/skill-card/skill-card.d.ts +0 -28
- package/dist/components/primitives/slide/alerts.d.ts +0 -31
- package/dist/components/primitives/slide/frontmatter.d.ts +0 -23
- package/dist/components/primitives/slide/index.d.ts +0 -16
- package/dist/components/primitives/slide/json-schema.d.ts +0 -9
- package/dist/components/primitives/slide/marpit-bg.d.ts +0 -36
- package/dist/components/primitives/slide/parse.d.ts +0 -59
- package/dist/components/primitives/slide/plugin.d.ts +0 -79
- package/dist/components/primitives/slide/plugins/emoji/index.d.ts +0 -8
- package/dist/components/primitives/slide/plugins/emoji/map.d.ts +0 -15
- package/dist/components/primitives/slide/plugins/math/index.d.ts +0 -6
- package/dist/components/primitives/slide/plugins/mermaid/index.d.ts +0 -48
- package/dist/components/primitives/slide/plugins/shiki/index.d.ts +0 -11
- package/dist/components/primitives/slide/sanitize.d.ts +0 -33
- package/dist/components/primitives/slide/schema.d.ts +0 -109
- package/dist/components/primitives/slide/slide.d.ts +0 -53
- package/dist/components/primitives/slide/themes/index.d.ts +0 -9
- package/dist/components/primitives/slide/use-slide-fit.d.ts +0 -21
- package/dist/components/primitives/slide/validate.d.ts +0 -33
- package/dist/components/primitives/steps-rail/index.d.ts +0 -1
- package/dist/components/primitives/steps-rail/steps-rail.d.ts +0 -24
- package/dist/components/primitives/sub-agent-dispatch/index.d.ts +0 -1
- package/dist/components/primitives/sub-agent-dispatch/sub-agent-dispatch.d.ts +0 -30
- package/dist/components/primitives/system-prompt-editor/index.d.ts +0 -1
- package/dist/components/primitives/system-prompt-editor/system-prompt-editor.d.ts +0 -25
- package/dist/components/primitives/task-plan/index.d.ts +0 -1
- package/dist/components/primitives/task-plan/task-plan.d.ts +0 -36
- package/dist/components/primitives/terminal-panel/index.d.ts +0 -1
- package/dist/components/primitives/terminal-panel/terminal-panel.d.ts +0 -32
- package/dist/components/primitives/thinking-level-selector/index.d.ts +0 -1
- package/dist/components/primitives/thinking-level-selector/thinking-level-selector.d.ts +0 -24
- package/dist/components/primitives/token-usage-chart/index.d.ts +0 -2
- package/dist/components/primitives/token-usage-chart/token-usage-chart.d.ts +0 -44
- package/dist/components/primitives/token-usage-chart/usage-metrics.d.ts +0 -23
- package/dist/components/primitives/tool-call/index.d.ts +0 -1
- package/dist/components/primitives/tool-call/tool-call.d.ts +0 -30
- package/dist/components/primitives/tool-call-card/index.d.ts +0 -1
- package/dist/components/primitives/tool-call-card/tool-call-card.d.ts +0 -30
- package/dist/components/primitives/tool-result/index.d.ts +0 -1
- package/dist/components/primitives/tool-result/tool-result.d.ts +0 -19
- package/dist/components/primitives/tools-list/index.d.ts +0 -1
- package/dist/components/primitives/tools-list/tools-list.d.ts +0 -32
- package/dist/components/primitives/whiteboard/index.d.ts +0 -2
- package/dist/components/primitives/whiteboard/render/freedraw.d.ts +0 -2
- package/dist/components/primitives/whiteboard/render/line.d.ts +0 -4
- package/dist/components/primitives/whiteboard/render/rough-paths.d.ts +0 -16
- package/dist/components/primitives/whiteboard/render/scene.d.ts +0 -3
- package/dist/components/primitives/whiteboard/render/shape.d.ts +0 -5
- package/dist/components/primitives/whiteboard/render/style.d.ts +0 -24
- package/dist/components/primitives/whiteboard/render/text.d.ts +0 -2
- package/dist/components/primitives/whiteboard/schema.d.ts +0 -596
- package/dist/components/primitives/whiteboard/seed.d.ts +0 -22
- package/dist/components/primitives/whiteboard/validate.d.ts +0 -26
- package/dist/components/primitives/whiteboard/viewport/use-pointer-pan.d.ts +0 -11
- package/dist/components/primitives/whiteboard/viewport/use-viewport.d.ts +0 -33
- package/dist/components/primitives/whiteboard/whiteboard.d.ts +0 -21
- package/dist/components.css +0 -2
- package/dist/composites/account-menu/index.js +0 -6
- package/dist/composites/account-menu/index.js.map +0 -1
- package/dist/composites/agent-composer/index.js +0 -8
- package/dist/composites/agent-composer/index.js.map +0 -1
- package/dist/composites/agent-editor/index.js +0 -11
- package/dist/composites/agent-editor/index.js.map +0 -1
- package/dist/composites/agent-stream/index.js +0 -24
- package/dist/composites/agent-stream/index.js.map +0 -1
- package/dist/composites/agent-timeline/index.js +0 -5
- package/dist/composites/agent-timeline/index.js.map +0 -1
- package/dist/composites/agent-tool-renderer/index.js +0 -17
- package/dist/composites/agent-tool-renderer/index.js.map +0 -1
- package/dist/composites/approval-card/index.js +0 -5
- package/dist/composites/approval-card/index.js.map +0 -1
- package/dist/composites/chat-composer/index.js +0 -6
- package/dist/composites/chat-composer/index.js.map +0 -1
- package/dist/composites/chat-message/index.js +0 -20
- package/dist/composites/chat-message/index.js.map +0 -1
- package/dist/composites/choice-prompt/index.js +0 -11
- package/dist/composites/choice-prompt/index.js.map +0 -1
- package/dist/composites/code-block/index.js +0 -5
- package/dist/composites/code-block/index.js.map +0 -1
- package/dist/composites/command-palette/index.js +0 -6
- package/dist/composites/command-palette/index.js.map +0 -1
- package/dist/composites/confirm-dialog/index.js +0 -8
- package/dist/composites/confirm-dialog/index.js.map +0 -1
- package/dist/composites/confirm-prompt/index.js +0 -7
- package/dist/composites/confirm-prompt/index.js.map +0 -1
- package/dist/composites/cron-jobs-list/index.js +0 -5
- package/dist/composites/cron-jobs-list/index.js.map +0 -1
- package/dist/composites/data-table/index.js +0 -11
- package/dist/composites/data-table/index.js.map +0 -1
- package/dist/composites/deployment-row/index.js +0 -5
- package/dist/composites/deployment-row/index.js.map +0 -1
- package/dist/composites/domain-config/index.js +0 -8
- package/dist/composites/domain-config/index.js.map +0 -1
- package/dist/composites/env-var-editor/index.js +0 -9
- package/dist/composites/env-var-editor/index.js.map +0 -1
- package/dist/composites/mcp-server-list/index.js +0 -6
- package/dist/composites/mcp-server-list/index.js.map +0 -1
- package/dist/composites/metric-card/index.js +0 -5
- package/dist/composites/metric-card/index.js.map +0 -1
- package/dist/composites/multi-select-prompt/index.js +0 -11
- package/dist/composites/multi-select-prompt/index.js.map +0 -1
- package/dist/composites/page-shell/index.js +0 -8
- package/dist/composites/page-shell/index.js.map +0 -1
- package/dist/composites/permission-modal/index.js +0 -7
- package/dist/composites/permission-modal/index.js.map +0 -1
- package/dist/composites/preview-env-card/index.js +0 -6
- package/dist/composites/preview-env-card/index.js.map +0 -1
- package/dist/composites/preview-panel/index.js +0 -5
- package/dist/composites/preview-panel/index.js.map +0 -1
- package/dist/composites/project-card/index.js +0 -6
- package/dist/composites/project-card/index.js.map +0 -1
- package/dist/composites/rollback-ui/index.js +0 -7
- package/dist/composites/rollback-ui/index.js.map +0 -1
- package/dist/composites/rule-editor/index.js +0 -12
- package/dist/composites/rule-editor/index.js.map +0 -1
- package/dist/composites/skill-editor/index.js +0 -12
- package/dist/composites/skill-editor/index.js.map +0 -1
- package/dist/composites/skills-list/index.js +0 -6
- package/dist/composites/skills-list/index.js.map +0 -1
- package/dist/composites/stability-bundle-viewer/index.js +0 -5
- package/dist/composites/stability-bundle-viewer/index.js.map +0 -1
- package/dist/composites/status-indicator/index.js +0 -4
- package/dist/composites/status-indicator/index.js.map +0 -1
- package/dist/composites/task-header/index.js +0 -5
- package/dist/composites/task-header/index.js.map +0 -1
- package/dist/composites/text-prompt/index.js +0 -10
- package/dist/composites/text-prompt/index.js.map +0 -1
- package/dist/composites/usage-meter/index.js +0 -5
- package/dist/composites/usage-meter/index.js.map +0 -1
- package/dist/fonts/LICENSE-GEIST.txt +0 -92
- package/dist/fonts/geist-400.woff2 +0 -0
- package/dist/fonts/geist-500.woff2 +0 -0
- package/dist/fonts/geist-600.woff2 +0 -0
- package/dist/fonts/geist-mono-400.woff2 +0 -0
- package/dist/fonts/geist-mono-500.woff2 +0 -0
- package/dist/fonts/geist-mono-600.woff2 +0 -0
- package/dist/fonts-cdn.css +0 -28
- package/dist/fonts.css +0 -75
- package/dist/index.js.map +0 -1
- package/dist/lib/markdown/code-block.d.ts +0 -14
- package/dist/lib/markdown/inline-code.d.ts +0 -10
- package/dist/lib/markdown/math.d.ts +0 -12
- package/dist/lib/markdown/mermaid.d.ts +0 -6
- package/dist/lib/markdown/parser.d.ts +0 -47
- package/dist/lib/markdown/streaming-preprocess.d.ts +0 -39
- package/dist/lib/prompt.d.ts +0 -40
- package/dist/lib/sdk-tools-adapters/index.d.ts +0 -1
- package/dist/lib/sdk-tools-adapters/index.js +0 -3
- package/dist/lib/sdk-tools-adapters/index.js.map +0 -1
- package/dist/lib/sdk-tools-adapters/sdk-tools-adapters.d.ts +0 -60
- package/dist/preset-v3-legacy.d.ts +0 -32
- package/dist/preset-v3-legacy.js.map +0 -1
- package/dist/preset.css +0 -27
- package/dist/primitives/action-bar/index.js +0 -4
- package/dist/primitives/action-bar/index.js.map +0 -1
- package/dist/primitives/agent-error-card/index.js +0 -5
- package/dist/primitives/agent-error-card/index.js.map +0 -1
- package/dist/primitives/agent-event/index.js +0 -5
- package/dist/primitives/agent-event/index.js.map +0 -1
- package/dist/primitives/agent-handoff/index.js +0 -4
- package/dist/primitives/agent-handoff/index.js.map +0 -1
- package/dist/primitives/agent-profile/index.js +0 -4
- package/dist/primitives/agent-profile/index.js.map +0 -1
- package/dist/primitives/agent-starting-state/index.js +0 -5
- package/dist/primitives/agent-starting-state/index.js.map +0 -1
- package/dist/primitives/agent-streaming/index.js +0 -5
- package/dist/primitives/agent-streaming/index.js.map +0 -1
- package/dist/primitives/alert/index.js +0 -4
- package/dist/primitives/alert/index.js.map +0 -1
- package/dist/primitives/artifact-preview/index.js +0 -4
- package/dist/primitives/artifact-preview/index.js.map +0 -1
- package/dist/primitives/attachment-chip/index.js +0 -4
- package/dist/primitives/attachment-chip/index.js.map +0 -1
- package/dist/primitives/audit-log-entry/index.js +0 -4
- package/dist/primitives/audit-log-entry/index.js.map +0 -1
- package/dist/primitives/auto-compact-notice/index.js +0 -5
- package/dist/primitives/auto-compact-notice/index.js.map +0 -1
- package/dist/primitives/avatar/index.js +0 -4
- package/dist/primitives/avatar/index.js.map +0 -1
- package/dist/primitives/badge/index.js +0 -4
- package/dist/primitives/badge/index.js.map +0 -1
- package/dist/primitives/branch-indicator/index.js +0 -4
- package/dist/primitives/branch-indicator/index.js.map +0 -1
- package/dist/primitives/browser-controls/index.js +0 -4
- package/dist/primitives/browser-controls/index.js.map +0 -1
- package/dist/primitives/build-log-stream/index.js +0 -7
- package/dist/primitives/build-log-stream/index.js.map +0 -1
- package/dist/primitives/button/index.js +0 -4
- package/dist/primitives/button/index.js.map +0 -1
- package/dist/primitives/capability-indicator/index.js +0 -4
- package/dist/primitives/capability-indicator/index.js.map +0 -1
- package/dist/primitives/card/index.js +0 -5
- package/dist/primitives/card/index.js.map +0 -1
- package/dist/primitives/channel-card/index.js +0 -4
- package/dist/primitives/channel-card/index.js.map +0 -1
- package/dist/primitives/chat-thread/index.js +0 -5
- package/dist/primitives/chat-thread/index.js.map +0 -1
- package/dist/primitives/checkbox/index.js +0 -4
- package/dist/primitives/checkbox/index.js.map +0 -1
- package/dist/primitives/context-card/index.js +0 -4
- package/dist/primitives/context-card/index.js.map +0 -1
- package/dist/primitives/context-window-bar/index.js +0 -4
- package/dist/primitives/context-window-bar/index.js.map +0 -1
- package/dist/primitives/copy-button/index.js +0 -5
- package/dist/primitives/copy-button/index.js.map +0 -1
- package/dist/primitives/cost-meter/index.js +0 -4
- package/dist/primitives/cost-meter/index.js.map +0 -1
- package/dist/primitives/created-files-card/index.js +0 -4
- package/dist/primitives/created-files-card/index.js.map +0 -1
- package/dist/primitives/cron-job-card/index.js +0 -4
- package/dist/primitives/cron-job-card/index.js.map +0 -1
- package/dist/primitives/danger-zone/index.js +0 -4
- package/dist/primitives/danger-zone/index.js.map +0 -1
- package/dist/primitives/dialog/index.js +0 -4
- package/dist/primitives/dialog/index.js.map +0 -1
- package/dist/primitives/diff-viewer/index.js +0 -4
- package/dist/primitives/diff-viewer/index.js.map +0 -1
- package/dist/primitives/dropdown-menu/index.js +0 -4
- package/dist/primitives/dropdown-menu/index.js.map +0 -1
- package/dist/primitives/empty-state/index.js +0 -4
- package/dist/primitives/empty-state/index.js.map +0 -1
- package/dist/primitives/export-chat-dialog/index.js +0 -5
- package/dist/primitives/export-chat-dialog/index.js.map +0 -1
- package/dist/primitives/folder-context-card/index.js +0 -4
- package/dist/primitives/folder-context-card/index.js.map +0 -1
- package/dist/primitives/folder-selector/index.js +0 -4
- package/dist/primitives/folder-selector/index.js.map +0 -1
- package/dist/primitives/form-field/index.js +0 -5
- package/dist/primitives/form-field/index.js.map +0 -1
- package/dist/primitives/gateway-status-indicator/index.js +0 -4
- package/dist/primitives/gateway-status-indicator/index.js.map +0 -1
- package/dist/primitives/hook-config/index.js +0 -5
- package/dist/primitives/hook-config/index.js.map +0 -1
- package/dist/primitives/hook-event-log/index.js +0 -4
- package/dist/primitives/hook-event-log/index.js.map +0 -1
- package/dist/primitives/input/index.js +0 -4
- package/dist/primitives/input/index.js.map +0 -1
- package/dist/primitives/intent-selector/index.js +0 -4
- package/dist/primitives/intent-selector/index.js.map +0 -1
- package/dist/primitives/label/index.js +0 -4
- package/dist/primitives/label/index.js.map +0 -1
- package/dist/primitives/lane-board/index.js +0 -4
- package/dist/primitives/lane-board/index.js.map +0 -1
- package/dist/primitives/login-split/index.js +0 -4
- package/dist/primitives/login-split/index.js.map +0 -1
- package/dist/primitives/mcp-server-card/index.js +0 -4
- package/dist/primitives/mcp-server-card/index.js.map +0 -1
- package/dist/primitives/memory-editor/index.js +0 -4
- package/dist/primitives/memory-editor/index.js.map +0 -1
- package/dist/primitives/mention-menu/index.js +0 -5
- package/dist/primitives/mention-menu/index.js.map +0 -1
- package/dist/primitives/metrics-panel/index.js +0 -4
- package/dist/primitives/metrics-panel/index.js.map +0 -1
- package/dist/primitives/model-card/index.js +0 -4
- package/dist/primitives/model-card/index.js.map +0 -1
- package/dist/primitives/model-selector/index.js +0 -4
- package/dist/primitives/model-selector/index.js.map +0 -1
- package/dist/primitives/pagination/index.js +0 -4
- package/dist/primitives/pagination/index.js.map +0 -1
- package/dist/primitives/permission-matrix/index.js +0 -5
- package/dist/primitives/permission-matrix/index.js.map +0 -1
- package/dist/primitives/pin-input/index.js +0 -5
- package/dist/primitives/pin-input/index.js.map +0 -1
- package/dist/primitives/plan-badge/index.js +0 -4
- package/dist/primitives/plan-badge/index.js.map +0 -1
- package/dist/primitives/progress/index.js +0 -4
- package/dist/primitives/progress/index.js.map +0 -1
- package/dist/primitives/progress-checklist/index.js +0 -4
- package/dist/primitives/progress-checklist/index.js.map +0 -1
- package/dist/primitives/project-switcher/index.js +0 -4
- package/dist/primitives/project-switcher/index.js.map +0 -1
- package/dist/primitives/quick-action-chips/index.js +0 -4
- package/dist/primitives/quick-action-chips/index.js.map +0 -1
- package/dist/primitives/radio-group/index.js +0 -4
- package/dist/primitives/radio-group/index.js.map +0 -1
- package/dist/primitives/recent-folders-list/index.js +0 -4
- package/dist/primitives/recent-folders-list/index.js.map +0 -1
- package/dist/primitives/rule-card/index.js +0 -4
- package/dist/primitives/rule-card/index.js.map +0 -1
- package/dist/primitives/run-stats/index.js +0 -4
- package/dist/primitives/run-stats/index.js.map +0 -1
- package/dist/primitives/run-status-pill/index.js +0 -4
- package/dist/primitives/run-status-pill/index.js.map +0 -1
- package/dist/primitives/running-tasks-panel/index.js +0 -4
- package/dist/primitives/running-tasks-panel/index.js.map +0 -1
- package/dist/primitives/scroll-area/index.js +0 -5
- package/dist/primitives/scroll-area/index.js.map +0 -1
- package/dist/primitives/select/index.js +0 -4
- package/dist/primitives/select/index.js.map +0 -1
- package/dist/primitives/session-list-item/index.js +0 -4
- package/dist/primitives/session-list-item/index.js.map +0 -1
- package/dist/primitives/session-timeline/index.js +0 -4
- package/dist/primitives/session-timeline/index.js.map +0 -1
- package/dist/primitives/sheet/index.js +0 -4
- package/dist/primitives/sheet/index.js.map +0 -1
- package/dist/primitives/sidebar/index.js +0 -4
- package/dist/primitives/sidebar/index.js.map +0 -1
- package/dist/primitives/skeleton/index.js +0 -5
- package/dist/primitives/skeleton/index.js.map +0 -1
- package/dist/primitives/skill-card/index.js +0 -4
- package/dist/primitives/skill-card/index.js.map +0 -1
- package/dist/primitives/social-auth-row/index.js +0 -4
- package/dist/primitives/social-auth-row/index.js.map +0 -1
- package/dist/primitives/stat-tile/index.js +0 -4
- package/dist/primitives/stat-tile/index.js.map +0 -1
- package/dist/primitives/status-dot/index.js +0 -6
- package/dist/primitives/status-dot/index.js.map +0 -1
- package/dist/primitives/steps-rail/index.js +0 -4
- package/dist/primitives/steps-rail/index.js.map +0 -1
- package/dist/primitives/sub-agent-dispatch/index.js +0 -4
- package/dist/primitives/sub-agent-dispatch/index.js.map +0 -1
- package/dist/primitives/switch/index.js +0 -4
- package/dist/primitives/switch/index.js.map +0 -1
- package/dist/primitives/system-prompt-editor/index.js +0 -5
- package/dist/primitives/system-prompt-editor/index.js.map +0 -1
- package/dist/primitives/table/index.js +0 -5
- package/dist/primitives/table/index.js.map +0 -1
- package/dist/primitives/tabs/index.js +0 -4
- package/dist/primitives/tabs/index.js.map +0 -1
- package/dist/primitives/task-plan/index.js +0 -4
- package/dist/primitives/task-plan/index.js.map +0 -1
- package/dist/primitives/terminal-panel/index.js +0 -5
- package/dist/primitives/terminal-panel/index.js.map +0 -1
- package/dist/primitives/textarea/index.js +0 -4
- package/dist/primitives/textarea/index.js.map +0 -1
- package/dist/primitives/thinking-level-selector/index.js +0 -5
- package/dist/primitives/thinking-level-selector/index.js.map +0 -1
- package/dist/primitives/timestamp/index.js +0 -6
- package/dist/primitives/timestamp/index.js.map +0 -1
- package/dist/primitives/toast/index.js +0 -5
- package/dist/primitives/toast/index.js.map +0 -1
- package/dist/primitives/token-usage-chart/index.js +0 -4
- package/dist/primitives/token-usage-chart/index.js.map +0 -1
- package/dist/primitives/tool-call/index.js +0 -5
- package/dist/primitives/tool-call/index.js.map +0 -1
- package/dist/primitives/tool-call-card/index.js +0 -5
- package/dist/primitives/tool-call-card/index.js.map +0 -1
- package/dist/primitives/tool-result/index.js +0 -4
- package/dist/primitives/tool-result/index.js.map +0 -1
- package/dist/primitives/tools-list/index.js +0 -4
- package/dist/primitives/tools-list/index.js.map +0 -1
- package/dist/primitives/tooltip/index.js +0 -4
- package/dist/primitives/tooltip/index.js.map +0 -1
- package/dist/primitives/topnav/index.js +0 -4
- package/dist/primitives/topnav/index.js.map +0 -1
- package/dist/primitives/update-banner/index.js +0 -4
- package/dist/primitives/update-banner/index.js.map +0 -1
- package/dist/screens/theo-code-shell.d.ts +0 -9
- package/dist/screens/theo-code-shell.data.d.ts +0 -147
- package/dist/slide/index.js +0 -4
- package/dist/slide/index.js.map +0 -1
- package/dist/slide/plugins/emoji/index.js +0 -157
- package/dist/slide/plugins/emoji/index.js.map +0 -1
- package/dist/slide/plugins/math/index.js +0 -145
- package/dist/slide/plugins/math/index.js.map +0 -1
- package/dist/slide/plugins/mermaid/index.js +0 -218
- package/dist/slide/plugins/mermaid/index.js.map +0 -1
- package/dist/slide/plugins/shiki/index.js +0 -87
- package/dist/slide/plugins/shiki/index.js.map +0 -1
- package/dist/slide/themes/default.css +0 -256
- package/dist/slide/themes/layouts.css +0 -143
- package/dist/slide/themes/violet-forge.css +0 -256
- package/dist/slide-deck/index.css +0 -52
- package/dist/slide-deck/index.css.map +0 -1
- package/dist/slide-deck/index.js +0 -1122
- package/dist/slide-deck/index.js.map +0 -1
- package/dist/styles-v3-legacy.css +0 -88
- package/dist/styles.css +0 -137
- package/dist/themes/anthropic-style.d.ts +0 -11
- package/dist/themes/aurora-terminal.d.ts +0 -9
- package/dist/themes/classic-paper.d.ts +0 -17
- package/dist/themes/color-value-pattern.d.ts +0 -22
- package/dist/themes/color.d.ts +0 -62
- package/dist/themes/define.d.ts +0 -65
- package/dist/themes/density.d.ts +0 -17
- package/dist/themes/dracula.d.ts +0 -14
- package/dist/themes/github-dark.d.ts +0 -11
- package/dist/themes/index.d.ts +0 -26
- package/dist/themes/linear-glass.d.ts +0 -11
- package/dist/themes/one-dark.d.ts +0 -11
- package/dist/themes/openai-style.d.ts +0 -10
- package/dist/themes/schema.d.ts +0 -112
- package/dist/themes/theme-provider.d.ts +0 -82
- package/dist/themes/theme-script.d.ts +0 -48
- package/dist/themes/theme-switcher.d.ts +0 -17
- package/dist/themes/types.d.ts +0 -88
- package/dist/themes/vercel-mono.d.ts +0 -11
- package/dist/themes/violet-forge.d.ts +0 -12
- package/dist/theo-ui-provider.d.ts +0 -50
- package/dist/tokens-v4.css +0 -223
- package/dist/tokens.css +0 -315
- package/dist/types/agent.d.ts +0 -19
- package/dist/types/chat.d.ts +0 -173
- package/dist/types/mode.d.ts +0 -16
- package/dist/types/permission.d.ts +0 -8
- package/dist/types/rule.d.ts +0 -28
- package/dist/vite-plugin.d.ts +0 -25
- package/dist/vite-plugin.js +0 -76
- package/dist/vite-plugin.js.map +0 -1
- package/dist/whiteboard/index.js +0 -741
- package/dist/whiteboard/index.js.map +0 -1
- package/llms.txt +0 -273
- package/registry/index.json +0 -910
- package/registry/r/account-menu.json +0 -24
- package/registry/r/action-bar.json +0 -22
- package/registry/r/agent-composer.json +0 -22
- package/registry/r/agent-editor.json +0 -27
- package/registry/r/agent-error-card.json +0 -22
- package/registry/r/agent-event.json +0 -24
- package/registry/r/agent-handoff.json +0 -22
- package/registry/r/agent-profile.json +0 -23
- package/registry/r/agent-starting-state.json +0 -22
- package/registry/r/agent-stream.json +0 -27
- package/registry/r/agent-streaming.json +0 -22
- package/registry/r/agent-timeline.json +0 -22
- package/registry/r/agent-tool-renderer.json +0 -40
- package/registry/r/agent-types.json +0 -15
- package/registry/r/alert.json +0 -22
- package/registry/r/approval-card.json +0 -25
- package/registry/r/artifact-preview.json +0 -22
- package/registry/r/attachment-chip.json +0 -24
- package/registry/r/audit-log-entry.json +0 -23
- package/registry/r/auto-compact-notice.json +0 -22
- package/registry/r/avatar.json +0 -23
- package/registry/r/badge.json +0 -22
- package/registry/r/browser-controls.json +0 -22
- package/registry/r/build-log-stream.json +0 -20
- package/registry/r/button.json +0 -23
- package/registry/r/capability-indicator.json +0 -23
- package/registry/r/card.json +0 -22
- package/registry/r/chat-composer.json +0 -23
- package/registry/r/chat-message.json +0 -124
- package/registry/r/chat-thread.json +0 -20
- package/registry/r/chat-types.json +0 -15
- package/registry/r/checkbox.json +0 -24
- package/registry/r/choice-prompt.json +0 -25
- package/registry/r/cn.json +0 -19
- package/registry/r/code-block.json +0 -21
- package/registry/r/command-palette.json +0 -25
- package/registry/r/confirm-dialog.json +0 -25
- package/registry/r/confirm-prompt.json +0 -21
- package/registry/r/context-card.json +0 -23
- package/registry/r/context-window-bar.json +0 -20
- package/registry/r/copy-button.json +0 -22
- package/registry/r/cost-meter.json +0 -22
- package/registry/r/created-files-card.json +0 -23
- package/registry/r/cron-job-card.json +0 -22
- package/registry/r/cron-jobs-list.json +0 -23
- package/registry/r/danger-zone.json +0 -20
- package/registry/r/data-table.json +0 -27
- package/registry/r/deployment-row.json +0 -23
- package/registry/r/dialog.json +0 -23
- package/registry/r/diff-viewer.json +0 -20
- package/registry/r/domain-config.json +0 -25
- package/registry/r/dropdown-menu.json +0 -23
- package/registry/r/empty-state.json +0 -20
- package/registry/r/env-var-editor.json +0 -26
- package/registry/r/env.json +0 -15
- package/registry/r/folder-context-card.json +0 -23
- package/registry/r/folder-selector.json +0 -22
- package/registry/r/form-field.json +0 -23
- package/registry/r/hook-config.json +0 -22
- package/registry/r/hook-event-log.json +0 -22
- package/registry/r/input.json +0 -22
- package/registry/r/intent-selector.json +0 -24
- package/registry/r/label.json +0 -22
- package/registry/r/lane-board.json +0 -20
- package/registry/r/live-region-context.json +0 -16
- package/registry/r/login-split.json +0 -20
- package/registry/r/mcp-server-card.json +0 -22
- package/registry/r/mcp-server-list.json +0 -23
- package/registry/r/memory-editor.json +0 -23
- package/registry/r/mention-menu.json +0 -23
- package/registry/r/metric-card.json +0 -23
- package/registry/r/metrics-panel.json +0 -22
- package/registry/r/mode-types.json +0 -15
- package/registry/r/model-card.json +0 -23
- package/registry/r/model-selector.json +0 -23
- package/registry/r/multi-select-prompt.json +0 -25
- package/registry/r/page-shell.json +0 -25
- package/registry/r/pagination.json +0 -22
- package/registry/r/permission-matrix.json +0 -22
- package/registry/r/permission-modal.json +0 -24
- package/registry/r/permission-types.json +0 -15
- package/registry/r/pin-input.json +0 -20
- package/registry/r/plan-badge.json +0 -20
- package/registry/r/preview-env-card.json +0 -25
- package/registry/r/preview-panel.json +0 -21
- package/registry/r/progress-checklist.json +0 -23
- package/registry/r/progress.json +0 -20
- package/registry/r/project-card.json +0 -25
- package/registry/r/project-switcher.json +0 -22
- package/registry/r/prompt.json +0 -15
- package/registry/r/quick-action-chips.json +0 -21
- package/registry/r/radio-group.json +0 -23
- package/registry/r/recent-folders-list.json +0 -22
- package/registry/r/rollback-ui.json +0 -24
- package/registry/r/rule-card.json +0 -23
- package/registry/r/rule-editor.json +0 -28
- package/registry/r/rule-types.json +0 -18
- package/registry/r/run-stats.json +0 -22
- package/registry/r/running-tasks-panel.json +0 -22
- package/registry/r/safe-href.json +0 -16
- package/registry/r/scroll-area.json +0 -22
- package/registry/r/select.json +0 -24
- package/registry/r/session-list-item.json +0 -20
- package/registry/r/session-timeline.json +0 -22
- package/registry/r/sheet.json +0 -24
- package/registry/r/sidebar.json +0 -19
- package/registry/r/skeleton.json +0 -19
- package/registry/r/skill-card.json +0 -24
- package/registry/r/skill-editor.json +0 -28
- package/registry/r/skills-list.json +0 -23
- package/registry/r/slide-deck.json +0 -130
- package/registry/r/slide-plugin-emoji.json +0 -28
- package/registry/r/slide-plugin-math.json +0 -24
- package/registry/r/slide-plugin-mermaid.json +0 -23
- package/registry/r/slide-plugin-shiki.json +0 -23
- package/registry/r/slide.json +0 -123
- package/registry/r/social-auth-row.json +0 -21
- package/registry/r/stat-tile.json +0 -22
- package/registry/r/status-dot.json +0 -21
- package/registry/r/status-indicator.json +0 -20
- package/registry/r/steps-rail.json +0 -20
- package/registry/r/sub-agent-dispatch.json +0 -22
- package/registry/r/switch.json +0 -23
- package/registry/r/system-prompt-editor.json +0 -22
- package/registry/r/table.json +0 -22
- package/registry/r/tabs.json +0 -22
- package/registry/r/tailwind-preset.json +0 -19
- package/registry/r/task-header.json +0 -24
- package/registry/r/task-plan.json +0 -22
- package/registry/r/task-types.json +0 -15
- package/registry/r/terminal-panel.json +0 -22
- package/registry/r/text-prompt.json +0 -24
- package/registry/r/textarea.json +0 -22
- package/registry/r/theme-provider.json +0 -60
- package/registry/r/theme-script.json +0 -18
- package/registry/r/theo-ui-provider.json +0 -20
- package/registry/r/timestamp.json +0 -21
- package/registry/r/toast.json +0 -30
- package/registry/r/token-usage-chart.json +0 -20
- package/registry/r/tokens.json +0 -21
- package/registry/r/tool-call-card.json +0 -23
- package/registry/r/tool-call.json +0 -22
- package/registry/r/tool-result.json +0 -20
- package/registry/r/tools-list.json +0 -23
- package/registry/r/tooltip.json +0 -22
- package/registry/r/topnav.json +0 -22
- package/registry/r/types.json +0 -15
- package/registry/r/usage-meter.json +0 -21
- package/registry/r/whiteboard.json +0 -101
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
var SVG_TAG_NAMES = [
|
|
5
|
-
"div",
|
|
6
|
-
// Custom element used to bridge into our React renderer (mapped via components).
|
|
7
|
-
"theo-mermaid",
|
|
8
|
-
// root + grouping
|
|
9
|
-
"svg",
|
|
10
|
-
"g",
|
|
11
|
-
"defs",
|
|
12
|
-
"use",
|
|
13
|
-
"symbol",
|
|
14
|
-
"marker",
|
|
15
|
-
"pattern",
|
|
16
|
-
"mask",
|
|
17
|
-
"clipPath",
|
|
18
|
-
// shapes
|
|
19
|
-
"path",
|
|
20
|
-
"rect",
|
|
21
|
-
"circle",
|
|
22
|
-
"ellipse",
|
|
23
|
-
"line",
|
|
24
|
-
"polyline",
|
|
25
|
-
"polygon",
|
|
26
|
-
// text
|
|
27
|
-
"text",
|
|
28
|
-
"tspan",
|
|
29
|
-
"textPath",
|
|
30
|
-
"title",
|
|
31
|
-
"desc",
|
|
32
|
-
// gradients + filters (used by some flowchart themes)
|
|
33
|
-
"linearGradient",
|
|
34
|
-
"radialGradient",
|
|
35
|
-
"stop",
|
|
36
|
-
"filter",
|
|
37
|
-
"feGaussianBlur",
|
|
38
|
-
"feOffset",
|
|
39
|
-
"feColorMatrix",
|
|
40
|
-
"feComponentTransfer",
|
|
41
|
-
"feComposite",
|
|
42
|
-
"feMerge",
|
|
43
|
-
"feMergeNode",
|
|
44
|
-
"feFlood",
|
|
45
|
-
// foreign content (HTML labels)
|
|
46
|
-
"foreignObject",
|
|
47
|
-
"span",
|
|
48
|
-
"br"
|
|
49
|
-
];
|
|
50
|
-
var SVG_ATTRIBUTES = {
|
|
51
|
-
"*": [
|
|
52
|
-
"id",
|
|
53
|
-
"className",
|
|
54
|
-
"style",
|
|
55
|
-
"transform",
|
|
56
|
-
"fill",
|
|
57
|
-
"stroke",
|
|
58
|
-
"strokeWidth",
|
|
59
|
-
"strokeDasharray",
|
|
60
|
-
"strokeLinecap",
|
|
61
|
-
"strokeLinejoin",
|
|
62
|
-
"opacity",
|
|
63
|
-
"fillOpacity",
|
|
64
|
-
"strokeOpacity",
|
|
65
|
-
"ariaLabel",
|
|
66
|
-
"ariaHidden",
|
|
67
|
-
"role"
|
|
68
|
-
],
|
|
69
|
-
svg: ["xmlns", "viewBox", "width", "height", "preserveAspectRatio", "xmlnsXlink", "version"],
|
|
70
|
-
path: ["d", "markerEnd", "markerStart", "markerMid"],
|
|
71
|
-
rect: ["x", "y", "width", "height", "rx", "ry"],
|
|
72
|
-
circle: ["cx", "cy", "r"],
|
|
73
|
-
ellipse: ["cx", "cy", "rx", "ry"],
|
|
74
|
-
line: ["x1", "y1", "x2", "y2"],
|
|
75
|
-
polyline: ["points"],
|
|
76
|
-
polygon: ["points"],
|
|
77
|
-
text: [
|
|
78
|
-
"x",
|
|
79
|
-
"y",
|
|
80
|
-
"dx",
|
|
81
|
-
"dy",
|
|
82
|
-
"textAnchor",
|
|
83
|
-
"dominantBaseline",
|
|
84
|
-
"fontSize",
|
|
85
|
-
"fontFamily",
|
|
86
|
-
"fontWeight"
|
|
87
|
-
],
|
|
88
|
-
tspan: ["x", "y", "dx", "dy"],
|
|
89
|
-
textPath: ["xlinkHref", "href", "startOffset"],
|
|
90
|
-
marker: ["markerUnits", "markerWidth", "markerHeight", "refX", "refY", "orient", "viewBox"],
|
|
91
|
-
use: ["xlinkHref", "href", "x", "y", "width", "height"],
|
|
92
|
-
linearGradient: ["x1", "y1", "x2", "y2", "gradientUnits"],
|
|
93
|
-
radialGradient: ["cx", "cy", "r", "fx", "fy", "gradientUnits"],
|
|
94
|
-
stop: ["offset", "stopColor", "stopOpacity"],
|
|
95
|
-
foreignObject: ["x", "y", "width", "height"],
|
|
96
|
-
div: ["data-state", "data-theo-mermaid-source", "className"],
|
|
97
|
-
"theo-mermaid": ["source"]
|
|
98
|
-
};
|
|
99
|
-
var MermaidDiagram = ({ source, theme }) => {
|
|
100
|
-
const [svg, setSvg] = useState(null);
|
|
101
|
-
const [error, setError] = useState(null);
|
|
102
|
-
useEffect(() => {
|
|
103
|
-
let cancelled = false;
|
|
104
|
-
setSvg(null);
|
|
105
|
-
setError(null);
|
|
106
|
-
(async () => {
|
|
107
|
-
try {
|
|
108
|
-
const mermaid = (await import('mermaid')).default;
|
|
109
|
-
if (cancelled) return;
|
|
110
|
-
mermaid.initialize({ startOnLoad: false, theme: theme ?? "default" });
|
|
111
|
-
const id = `theo-mmd-${Math.random().toString(36).slice(2, 10)}`;
|
|
112
|
-
const result = await mermaid.render(id, source);
|
|
113
|
-
if (!cancelled) {
|
|
114
|
-
setSvg(result.svg);
|
|
115
|
-
}
|
|
116
|
-
} catch (e) {
|
|
117
|
-
if (cancelled) return;
|
|
118
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
119
|
-
const moduleNotFound = msg.includes("Cannot find module") || msg.includes("Could not resolve") || msg.includes("Failed to fetch") || msg.includes("Failed to resolve module") || msg.includes("ERR_MODULE_NOT_FOUND");
|
|
120
|
-
if (moduleNotFound) {
|
|
121
|
-
setError("Mermaid not installed. Run: pnpm add mermaid");
|
|
122
|
-
} else {
|
|
123
|
-
setError(`Mermaid render failed: ${msg}`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
})();
|
|
127
|
-
return () => {
|
|
128
|
-
cancelled = true;
|
|
129
|
-
};
|
|
130
|
-
}, [source, theme]);
|
|
131
|
-
if (error) {
|
|
132
|
-
return /* @__PURE__ */ jsx(
|
|
133
|
-
"div",
|
|
134
|
-
{
|
|
135
|
-
"data-slot": "mermaid-diagram",
|
|
136
|
-
"data-theo-slide-mermaid": true,
|
|
137
|
-
"data-state": "error",
|
|
138
|
-
role: "img",
|
|
139
|
-
"aria-label": error,
|
|
140
|
-
className: "theo-slide-mermaid-host",
|
|
141
|
-
children: /* @__PURE__ */ jsx("pre", { style: { fontSize: "0.8em", opacity: 0.7, whiteSpace: "pre-wrap" }, children: source })
|
|
142
|
-
}
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
if (svg) {
|
|
146
|
-
return /* @__PURE__ */ jsx(
|
|
147
|
-
"div",
|
|
148
|
-
{
|
|
149
|
-
"data-theo-slide-mermaid": true,
|
|
150
|
-
"data-state": "ready",
|
|
151
|
-
role: "img",
|
|
152
|
-
"aria-label": "Mermaid diagram",
|
|
153
|
-
className: "theo-slide-mermaid-host",
|
|
154
|
-
dangerouslySetInnerHTML: { __html: svg }
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
|
-
return /* @__PURE__ */ jsx(
|
|
159
|
-
"div",
|
|
160
|
-
{
|
|
161
|
-
"data-theo-slide-mermaid": true,
|
|
162
|
-
"data-state": "loading",
|
|
163
|
-
role: "img",
|
|
164
|
-
"aria-label": "Mermaid diagram",
|
|
165
|
-
className: "theo-slide-mermaid-host",
|
|
166
|
-
children: /* @__PURE__ */ jsx("pre", { style: { fontSize: "0.7em", opacity: 0.4, whiteSpace: "pre-wrap" }, children: source })
|
|
167
|
-
}
|
|
168
|
-
);
|
|
169
|
-
};
|
|
170
|
-
function mermaidPlugin(opts = {}) {
|
|
171
|
-
return {
|
|
172
|
-
name: "mermaid",
|
|
173
|
-
sanitizeSchemaExtension: {
|
|
174
|
-
tagNames: SVG_TAG_NAMES,
|
|
175
|
-
attributes: SVG_ATTRIBUTES
|
|
176
|
-
},
|
|
177
|
-
components: {
|
|
178
|
-
// The hastTransform below replaces mermaid <pre> with a `<div>` carrying
|
|
179
|
-
// `data-theo-mermaid-source`. We can't override `div` globally — instead,
|
|
180
|
-
// we use a custom tagName `theo-mermaid` that the React renderer maps.
|
|
181
|
-
"theo-mermaid": ((props) => /* @__PURE__ */ jsx(MermaidDiagram, { source: props.source ?? "", theme: opts.theme }))
|
|
182
|
-
},
|
|
183
|
-
async hastTransform(tree) {
|
|
184
|
-
let visit;
|
|
185
|
-
try {
|
|
186
|
-
visit = (await import('unist-util-visit')).visit;
|
|
187
|
-
} catch (e) {
|
|
188
|
-
throw new Error(`[slide/plugins/mermaid] peer-dep 'unist-util-visit' missing: ${e}`);
|
|
189
|
-
}
|
|
190
|
-
visit(
|
|
191
|
-
tree,
|
|
192
|
-
"element",
|
|
193
|
-
(node, _idx, parent) => {
|
|
194
|
-
if (node.tagName !== "code") return;
|
|
195
|
-
const className = node.properties?.className ?? [];
|
|
196
|
-
if (!className.includes("language-mermaid")) return;
|
|
197
|
-
if (!parent || parent.tagName !== "pre") return;
|
|
198
|
-
const codeNode = node.children?.[0];
|
|
199
|
-
const source = codeNode && codeNode.type === "text" ? codeNode.value : "";
|
|
200
|
-
Object.assign(parent, {
|
|
201
|
-
type: "element",
|
|
202
|
-
tagName: "theo-mermaid",
|
|
203
|
-
// Note: `source` is passed as a non-standard property; the React
|
|
204
|
-
// component picks it up. We avoid `data-*` attributes here so we
|
|
205
|
-
// don't have to whitelist them in sanitize.
|
|
206
|
-
properties: { source },
|
|
207
|
-
children: []
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
);
|
|
211
|
-
return tree;
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export { MermaidDiagram, mermaidPlugin };
|
|
217
|
-
//# sourceMappingURL=index.js.map
|
|
218
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/primitives/slide/plugins/mermaid/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["\"use client\";\n\nimport type { Element, Root as HastRoot } from \"hast\";\n/**\n * Slide rich-content plugin — Mermaid diagrams.\n *\n * Peer-dep: `mermaid` (optional, ~370 KB raw — lazy + opt-in mandatory).\n * Render is client-only because Mermaid measures DOM nodes during layout;\n * SSR / static render emits a labelled placeholder + source-code fallback.\n *\n * Pipeline contribution (D11 of the rich-content plan):\n * - `hastTransform`: detect `<pre><code class=\"language-mermaid\">…</code></pre>`\n * and replace with `<div class=\"theo-slide-mermaid-host\" data-theo-mermaid-source=\"…\">`.\n * - `components.div`: when div has `data-theo-mermaid-source`, render the\n * `<MermaidDiagram>` React component that lazy-imports `mermaid` and\n * injects the SVG via `dangerouslySetInnerHTML` after `mermaid.render()`.\n *\n * EC-4: complete SVG tag + attribute allow-list (~30 tags) so the rendered SVG\n * survives sanitize. Critical: without these, sanitize strips the SVG entirely.\n *\n * EC-10: SSR placeholder is distinguishable from a render error. Error path\n * surfaces the Mermaid source code in a `<pre>` so consumers can debug + the\n * print path still shows the code (PDF cannot run dynamic Mermaid).\n */\nimport { type FC, useEffect, useState } from \"react\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\n// EC-4: comprehensive SVG tag list (mermaid 11.x output across diagram types).\nconst SVG_TAG_NAMES = [\n \"div\",\n // Custom element used to bridge into our React renderer (mapped via components).\n \"theo-mermaid\",\n // root + grouping\n \"svg\",\n \"g\",\n \"defs\",\n \"use\",\n \"symbol\",\n \"marker\",\n \"pattern\",\n \"mask\",\n \"clipPath\",\n // shapes\n \"path\",\n \"rect\",\n \"circle\",\n \"ellipse\",\n \"line\",\n \"polyline\",\n \"polygon\",\n // text\n \"text\",\n \"tspan\",\n \"textPath\",\n \"title\",\n \"desc\",\n // gradients + filters (used by some flowchart themes)\n \"linearGradient\",\n \"radialGradient\",\n \"stop\",\n \"filter\",\n \"feGaussianBlur\",\n \"feOffset\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feMerge\",\n \"feMergeNode\",\n \"feFlood\",\n // foreign content (HTML labels)\n \"foreignObject\",\n \"span\",\n \"br\",\n];\n\nconst SVG_ATTRIBUTES: Record<string, string[]> = {\n \"*\": [\n \"id\",\n \"className\",\n \"style\",\n \"transform\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"strokeDasharray\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"opacity\",\n \"fillOpacity\",\n \"strokeOpacity\",\n \"ariaLabel\",\n \"ariaHidden\",\n \"role\",\n ],\n svg: [\"xmlns\", \"viewBox\", \"width\", \"height\", \"preserveAspectRatio\", \"xmlnsXlink\", \"version\"],\n path: [\"d\", \"markerEnd\", \"markerStart\", \"markerMid\"],\n rect: [\"x\", \"y\", \"width\", \"height\", \"rx\", \"ry\"],\n circle: [\"cx\", \"cy\", \"r\"],\n ellipse: [\"cx\", \"cy\", \"rx\", \"ry\"],\n line: [\"x1\", \"y1\", \"x2\", \"y2\"],\n polyline: [\"points\"],\n polygon: [\"points\"],\n text: [\n \"x\",\n \"y\",\n \"dx\",\n \"dy\",\n \"textAnchor\",\n \"dominantBaseline\",\n \"fontSize\",\n \"fontFamily\",\n \"fontWeight\",\n ],\n tspan: [\"x\", \"y\", \"dx\", \"dy\"],\n textPath: [\"xlinkHref\", \"href\", \"startOffset\"],\n marker: [\"markerUnits\", \"markerWidth\", \"markerHeight\", \"refX\", \"refY\", \"orient\", \"viewBox\"],\n use: [\"xlinkHref\", \"href\", \"x\", \"y\", \"width\", \"height\"],\n linearGradient: [\"x1\", \"y1\", \"x2\", \"y2\", \"gradientUnits\"],\n radialGradient: [\"cx\", \"cy\", \"r\", \"fx\", \"fy\", \"gradientUnits\"],\n stop: [\"offset\", \"stopColor\", \"stopOpacity\"],\n foreignObject: [\"x\", \"y\", \"width\", \"height\"],\n div: [\"data-state\", \"data-theo-mermaid-source\", \"className\"],\n \"theo-mermaid\": [\"source\"],\n};\n\nexport interface MermaidPluginOptions {\n /** Mermaid theme name. Defaults to `\"default\"`. */\n theme?: \"default\" | \"forest\" | \"dark\" | \"neutral\" | \"base\";\n}\n\n/**\n * React component that renders Mermaid lazily on mount.\n *\n * SSR / pre-load: renders the source as `<pre>` + `role=\"img\"` for a11y.\n * Client: lazy-loads `mermaid`, calls `mermaid.render()`, then injects the\n * resulting SVG via `dangerouslySetInnerHTML` so React owns the DOM\n * subtree (avoids reconciliation crashes when state flips back to the\n * placeholder — `ref.innerHTML` would mutate under React's feet).\n *\n * The Mermaid output is a TRUSTED string from the `mermaid` lib itself (not\n * user-controlled markup) — the user-supplied source is the DSL, not raw HTML.\n * Using dangerouslySetInnerHTML here is a controlled escape hatch.\n *\n * Peer-dep guard: if `import(\"mermaid\")` fails, falls back to the same\n * pre-formatted source view + an `aria-label` hint (EC-10).\n */\nexport const MermaidDiagram: FC<{ source: string; theme?: string }> = ({ source, theme }) => {\n const [svg, setSvg] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n // Reset state when source/theme changes so the placeholder shows again\n // while the new diagram renders.\n setSvg(null);\n setError(null);\n (async () => {\n try {\n // biome-ignore lint/suspicious/noExplicitAny: mermaid default export untyped\n const mermaid: any = (await import(\"mermaid\")).default;\n if (cancelled) return;\n mermaid.initialize({ startOnLoad: false, theme: theme ?? \"default\" });\n const id = `theo-mmd-${Math.random().toString(36).slice(2, 10)}`;\n const result = await mermaid.render(id, source);\n if (!cancelled) {\n setSvg(result.svg);\n }\n } catch (e) {\n if (cancelled) return;\n const msg = e instanceof Error ? e.message : String(e);\n // Recognize the various module-resolution failure messages emitted by\n // Node, Vite, Rollup, Webpack, Vitest, and browser dynamic-import.\n const moduleNotFound =\n msg.includes(\"Cannot find module\") ||\n msg.includes(\"Could not resolve\") ||\n msg.includes(\"Failed to fetch\") ||\n msg.includes(\"Failed to resolve module\") ||\n msg.includes(\"ERR_MODULE_NOT_FOUND\");\n if (moduleNotFound) {\n setError(\"Mermaid not installed. Run: pnpm add mermaid\");\n } else {\n setError(`Mermaid render failed: ${msg}`);\n }\n }\n })();\n return () => {\n cancelled = true;\n };\n }, [source, theme]);\n\n if (error) {\n return (\n <div\n data-slot=\"mermaid-diagram\"\n data-theo-slide-mermaid\n data-state=\"error\"\n role=\"img\"\n aria-label={error}\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.8em\", opacity: 0.7, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n }\n if (svg) {\n // SVG is React-owned via dangerouslySetInnerHTML so the next state change\n // (e.g. new `source` prop → back to placeholder) can unmount cleanly.\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"ready\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n // biome-ignore lint/security/noDangerouslySetInnerHtml: mermaid.render() output is trusted (lib-generated SVG, not user markup)\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n }\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"loading\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.7em\", opacity: 0.4, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n};\n\nexport function mermaidPlugin(opts: MermaidPluginOptions = {}): SlidePlugin {\n return {\n name: \"mermaid\",\n sanitizeSchemaExtension: {\n tagNames: SVG_TAG_NAMES,\n attributes: SVG_ATTRIBUTES,\n },\n components: {\n // The hastTransform below replaces mermaid <pre> with a `<div>` carrying\n // `data-theo-mermaid-source`. We can't override `div` globally — instead,\n // we use a custom tagName `theo-mermaid` that the React renderer maps.\n \"theo-mermaid\": ((props: { source?: string }) => (\n <MermaidDiagram source={props.source ?? \"\"} theme={opts.theme} />\n )) as FC<unknown>,\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n // unist-util-visit is a peer-dep of the slide stack — should always be\n // present. Guard anyway per EC-2.\n // biome-ignore lint/suspicious/noExplicitAny: unist-util-visit untyped at runtime\n let visit: any;\n try {\n visit = (await import(\"unist-util-visit\")).visit;\n } catch (e) {\n throw new Error(`[slide/plugins/mermaid] peer-dep 'unist-util-visit' missing: ${e}`);\n }\n visit(\n tree,\n \"element\",\n (\n node: Element,\n _idx: number | undefined,\n parent: { tagName?: string; type?: string; children?: unknown[] } | undefined,\n ) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n if (!className.includes(\"language-mermaid\")) return;\n if (!parent || parent.tagName !== \"pre\") return;\n const codeNode = node.children?.[0];\n const source = codeNode && codeNode.type === \"text\" ? codeNode.value : \"\";\n // Replace the entire <pre> with our custom element. hast-util-to-jsx-runtime\n // maps element tagName to a React component if found in `components` map.\n Object.assign(parent, {\n type: \"element\",\n tagName: \"theo-mermaid\",\n // Note: `source` is passed as a non-standard property; the React\n // component picks it up. We avoid `data-*` attributes here so we\n // don't have to whitelist them in sanitize.\n properties: { source },\n children: [],\n });\n },\n );\n return tree;\n },\n };\n}\n"]}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
// src/components/primitives/slide/plugins/shiki/index.ts
|
|
2
|
-
var DEFAULT_LANGS = [
|
|
3
|
-
"ts",
|
|
4
|
-
"tsx",
|
|
5
|
-
"js",
|
|
6
|
-
"jsx",
|
|
7
|
-
"python",
|
|
8
|
-
"go",
|
|
9
|
-
"rust",
|
|
10
|
-
"java",
|
|
11
|
-
"json",
|
|
12
|
-
"yaml",
|
|
13
|
-
"bash",
|
|
14
|
-
"shell",
|
|
15
|
-
"html",
|
|
16
|
-
"css",
|
|
17
|
-
"sql",
|
|
18
|
-
"markdown"
|
|
19
|
-
];
|
|
20
|
-
function shikiPlugin(opts = {}) {
|
|
21
|
-
const themes = opts.themes ?? { light: "github-light", dark: "github-dark" };
|
|
22
|
-
const langs = opts.langs ?? DEFAULT_LANGS;
|
|
23
|
-
let highlighter = null;
|
|
24
|
-
let peerDepMissing = false;
|
|
25
|
-
async function getHighlighter() {
|
|
26
|
-
if (highlighter) return highlighter;
|
|
27
|
-
if (peerDepMissing) return null;
|
|
28
|
-
try {
|
|
29
|
-
const shiki = await import('shiki');
|
|
30
|
-
highlighter = await shiki.createHighlighter({
|
|
31
|
-
themes: [themes.light, themes.dark],
|
|
32
|
-
langs
|
|
33
|
-
});
|
|
34
|
-
return highlighter;
|
|
35
|
-
} catch (e) {
|
|
36
|
-
peerDepMissing = true;
|
|
37
|
-
throw new Error(
|
|
38
|
-
`[slide/plugins/shiki] peer-dep 'shiki' not installed or failed to load. Run: pnpm add shiki. Original: ${e instanceof Error ? e.message : String(e)}`
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return {
|
|
43
|
-
name: "shiki",
|
|
44
|
-
sanitizeSchemaExtension: {
|
|
45
|
-
tagNames: ["span", "pre", "code"],
|
|
46
|
-
// Shiki emits inline `style` and `class` on tokens; "*" applies to every tag.
|
|
47
|
-
attributes: {
|
|
48
|
-
"*": ["style", "className"],
|
|
49
|
-
pre: ["style", "className", "tabIndex"],
|
|
50
|
-
code: ["style", "className"],
|
|
51
|
-
span: ["style", "className"]
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
async hastTransform(tree) {
|
|
55
|
-
const hl = await getHighlighter();
|
|
56
|
-
if (!hl) return tree;
|
|
57
|
-
const { visit } = await import('unist-util-visit');
|
|
58
|
-
const { fromHtml } = await import('hast-util-from-html');
|
|
59
|
-
visit(tree, "element", (node, _idx, parent) => {
|
|
60
|
-
if (node.tagName !== "code") return;
|
|
61
|
-
const className = node.properties?.className ?? [];
|
|
62
|
-
const langClass = className.find((c) => c.startsWith("language-"));
|
|
63
|
-
if (!langClass) return;
|
|
64
|
-
const lang = langClass.replace("language-", "");
|
|
65
|
-
if (!langs.includes(lang)) return;
|
|
66
|
-
const first = node.children?.[0];
|
|
67
|
-
const codeText = first && first.type === "text" ? first.value : "";
|
|
68
|
-
let html;
|
|
69
|
-
try {
|
|
70
|
-
html = hl.codeToHtml(codeText, { lang, themes });
|
|
71
|
-
} catch {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const newTree = fromHtml(html, { fragment: true });
|
|
75
|
-
const top = newTree.children[0];
|
|
76
|
-
if (parent?.tagName === "pre" && parent.children?.length === 1 && top) {
|
|
77
|
-
Object.assign(parent, top);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
return tree;
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export { shikiPlugin };
|
|
86
|
-
//# sourceMappingURL=index.js.map
|
|
87
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/primitives/slide/plugins/shiki/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Slide rich-content plugin — Shiki syntax highlighting.\n *\n * Lazy + opt-in (ADR D9, D13 of the rich-content plan). Peer-dep `shiki` is\n * declared optional in `package.json`; the plugin guards every dynamic import\n * so a missing peer-dep is reported (D16) rather than crashing the slide.\n *\n * Pipeline contribution:\n * - `hastTransform`: walks `<pre><code class=\"language-XXX\">` nodes, replaces\n * them with the pre-rendered `<pre><code>` tree emitted by Shiki.\n * - `sanitizeSchemaExtension`: allows `<span>` with `style` and `class`\n * (Shiki emits inline styles for tokens).\n *\n * Performance:\n * - Highlighter is created lazily on first use and cached.\n * - Grammars listed in `langs` are pre-loaded once; unknown langs pass-through\n * as plain `<pre><code>` (defaultSchema allows that).\n *\n * @example\n * import { shikiPlugin } from \"@theokit/ui/slide/plugins/shiki\";\n * import \"shiki\"; // installed as peer-dep\n * <Slide markdown={md} plugins={[shikiPlugin({ langs: [\"ts\",\"python\"] })]} />\n */\nimport type { Element, Root as HastRoot } from \"hast\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\nexport interface ShikiPluginOptions {\n /** Dual-theme map — light/dark Shiki theme names. Defaults to `github-light` / `github-dark`. */\n themes?: { light: string; dark: string };\n /** Languages to pre-load. Unknown languages pass-through. Defaults to a tech-stack baseline. */\n langs?: string[];\n}\n\nconst DEFAULT_LANGS = [\n \"ts\",\n \"tsx\",\n \"js\",\n \"jsx\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"json\",\n \"yaml\",\n \"bash\",\n \"shell\",\n \"html\",\n \"css\",\n \"sql\",\n \"markdown\",\n];\n\nexport function shikiPlugin(opts: ShikiPluginOptions = {}): SlidePlugin {\n const themes = opts.themes ?? { light: \"github-light\", dark: \"github-dark\" };\n const langs = opts.langs ?? DEFAULT_LANGS;\n // biome-ignore lint/suspicious/noExplicitAny: shiki has no exported type for `Highlighter` at the top level\n let highlighter: any = null;\n let peerDepMissing = false;\n\n // biome-ignore lint/suspicious/noExplicitAny: shiki Highlighter is untyped here\n async function getHighlighter(): Promise<any> {\n if (highlighter) return highlighter;\n if (peerDepMissing) return null;\n try {\n const shiki = await import(\"shiki\");\n highlighter = await shiki.createHighlighter({\n themes: [themes.light, themes.dark],\n langs,\n });\n return highlighter;\n } catch (e) {\n peerDepMissing = true;\n // Surface via D16 path (composePlugins catches → PLUGIN_ERROR).\n throw new Error(\n `[slide/plugins/shiki] peer-dep 'shiki' not installed or failed to load. Run: pnpm add shiki. Original: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n }\n\n return {\n name: \"shiki\",\n sanitizeSchemaExtension: {\n tagNames: [\"span\", \"pre\", \"code\"],\n // Shiki emits inline `style` and `class` on tokens; \"*\" applies to every tag.\n attributes: {\n \"*\": [\"style\", \"className\"],\n pre: [\"style\", \"className\", \"tabIndex\"],\n code: [\"style\", \"className\"],\n span: [\"style\", \"className\"],\n },\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n const hl = await getHighlighter();\n if (!hl) return tree; // peer-dep missing AND we've already reported it once\n const { visit } = await import(\"unist-util-visit\");\n const { fromHtml } = await import(\"hast-util-from-html\");\n // Walk: find <code class=\"language-XXX\">, replace its parent <pre> subtree\n // with the highlighted output (which is also a <pre><code>...</code></pre>).\n // biome-ignore lint/suspicious/noExplicitAny: hast unist-util-visit untyped here\n visit(tree, \"element\", (node: Element, _idx: number | undefined, parent: any) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n const langClass = className.find((c) => c.startsWith(\"language-\"));\n if (!langClass) return;\n const lang = langClass.replace(\"language-\", \"\");\n if (!langs.includes(lang)) return;\n const first = node.children?.[0];\n const codeText = first && first.type === \"text\" ? first.value : \"\";\n let html: string;\n try {\n html = hl.codeToHtml(codeText, { lang, themes });\n } catch {\n // Shiki failed on this snippet (e.g. malformed input). Leave the plain\n // <pre><code> in place — the consumer still gets readable text.\n return;\n }\n const newTree = fromHtml(html, { fragment: true });\n const top = newTree.children[0];\n if (parent?.tagName === \"pre\" && parent.children?.length === 1 && top) {\n Object.assign(parent, top);\n }\n });\n return tree;\n },\n };\n}\n"]}
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Slide primitive — `default` theme.
|
|
3
|
-
*
|
|
4
|
-
* Inherit-first design (mirrors the Whiteboard SVG using `currentColor`):
|
|
5
|
-
* the slide's foreground and background come from the parent. The consumer's
|
|
6
|
-
* surface (Tailwind classes, `<ThemeProvider>`, dashboard chrome) decides
|
|
7
|
-
* light/dark — the theme just provides typography + relative tints derived
|
|
8
|
-
* from `currentColor` via `color-mix()`.
|
|
9
|
-
*
|
|
10
|
-
* Result: the slide automatically follows the host's color scheme without
|
|
11
|
-
* needing a `colorScheme` prop or `prefers-color-scheme` media query.
|
|
12
|
-
*
|
|
13
|
-
* All selectors are scoped to `.theo-slide[data-theo-slide-theme="default"]`
|
|
14
|
-
* so themes coexist on the same page without bleed.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
@import "./layouts.css";
|
|
18
|
-
|
|
19
|
-
.theo-slide[data-theo-slide-theme="default"] {
|
|
20
|
-
--theo-slide-canvas-width: 1280px;
|
|
21
|
-
--theo-slide-canvas-height: 720px;
|
|
22
|
-
--theo-slide-padding: 64px;
|
|
23
|
-
--theo-slide-font-base: 28px;
|
|
24
|
-
--theo-slide-font-family: var(
|
|
25
|
-
--vf-font-family-sans,
|
|
26
|
-
system-ui,
|
|
27
|
-
-apple-system,
|
|
28
|
-
"Segoe UI",
|
|
29
|
-
sans-serif
|
|
30
|
-
);
|
|
31
|
-
--theo-slide-font-mono: var(--vf-font-family-mono, ui-monospace, "JetBrains Mono", monospace);
|
|
32
|
-
|
|
33
|
-
/* Derived tints — relative to the inherited `currentColor`. They lighten or
|
|
34
|
-
darken automatically depending on whether the parent's color is dark
|
|
35
|
-
(light surface) or light (dark surface). */
|
|
36
|
-
--theo-slide-color-muted: color-mix(in srgb, currentColor 60%, transparent);
|
|
37
|
-
--theo-slide-color-tint-strong: color-mix(in srgb, currentColor 12%, transparent);
|
|
38
|
-
--theo-slide-color-tint-weak: color-mix(in srgb, currentColor 6%, transparent);
|
|
39
|
-
--theo-slide-color-border: color-mix(in srgb, currentColor 20%, transparent);
|
|
40
|
-
|
|
41
|
-
color: inherit;
|
|
42
|
-
background: transparent;
|
|
43
|
-
font-family: var(--theo-slide-font-family);
|
|
44
|
-
font-size: var(--theo-slide-font-base);
|
|
45
|
-
line-height: 1.5;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.theo-slide[data-theo-slide-theme="default"] h1,
|
|
49
|
-
.theo-slide[data-theo-slide-theme="default"] h2,
|
|
50
|
-
.theo-slide[data-theo-slide-theme="default"] h3,
|
|
51
|
-
.theo-slide[data-theo-slide-theme="default"] h4,
|
|
52
|
-
.theo-slide[data-theo-slide-theme="default"] h5,
|
|
53
|
-
.theo-slide[data-theo-slide-theme="default"] h6 {
|
|
54
|
-
color: inherit;
|
|
55
|
-
line-height: 1.2;
|
|
56
|
-
margin: 0 0 0.5em 0;
|
|
57
|
-
font-weight: 600;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.theo-slide[data-theo-slide-theme="default"] h1 {
|
|
61
|
-
font-size: 1.8em;
|
|
62
|
-
}
|
|
63
|
-
.theo-slide[data-theo-slide-theme="default"] h2 {
|
|
64
|
-
font-size: 1.4em;
|
|
65
|
-
}
|
|
66
|
-
.theo-slide[data-theo-slide-theme="default"] h3 {
|
|
67
|
-
font-size: 1.2em;
|
|
68
|
-
}
|
|
69
|
-
.theo-slide[data-theo-slide-theme="default"] h4 {
|
|
70
|
-
font-size: 1.05em;
|
|
71
|
-
}
|
|
72
|
-
.theo-slide[data-theo-slide-theme="default"] h5 {
|
|
73
|
-
font-size: 1em;
|
|
74
|
-
}
|
|
75
|
-
.theo-slide[data-theo-slide-theme="default"] h6 {
|
|
76
|
-
font-size: 0.9em;
|
|
77
|
-
color: var(--theo-slide-color-muted);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.theo-slide[data-theo-slide-theme="default"] p {
|
|
81
|
-
margin: 0 0 0.75em 0;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.theo-slide[data-theo-slide-theme="default"] ul,
|
|
85
|
-
.theo-slide[data-theo-slide-theme="default"] ol {
|
|
86
|
-
margin: 0 0 0.75em 0;
|
|
87
|
-
padding-left: 1.5em;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.theo-slide[data-theo-slide-theme="default"] li {
|
|
91
|
-
margin: 0.25em 0;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.theo-slide[data-theo-slide-theme="default"] blockquote {
|
|
95
|
-
margin: 0 0 0.75em 0;
|
|
96
|
-
padding: 0.25em 0.75em;
|
|
97
|
-
border-left: 4px solid var(--theo-slide-color-border);
|
|
98
|
-
color: var(--theo-slide-color-muted);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.theo-slide[data-theo-slide-theme="default"] a {
|
|
102
|
-
color: currentColor;
|
|
103
|
-
text-decoration: underline;
|
|
104
|
-
text-underline-offset: 2px;
|
|
105
|
-
font-weight: 600;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.theo-slide[data-theo-slide-theme="default"] code {
|
|
109
|
-
font-family: var(--theo-slide-font-mono);
|
|
110
|
-
font-size: 0.9em;
|
|
111
|
-
padding: 0.1em 0.4em;
|
|
112
|
-
border-radius: 4px;
|
|
113
|
-
background: var(--theo-slide-color-tint-strong);
|
|
114
|
-
color: inherit;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.theo-slide[data-theo-slide-theme="default"] pre {
|
|
118
|
-
font-family: var(--theo-slide-font-mono);
|
|
119
|
-
background: var(--theo-slide-color-tint-strong);
|
|
120
|
-
color: inherit;
|
|
121
|
-
padding: 0.75em 1em;
|
|
122
|
-
border-radius: 8px;
|
|
123
|
-
overflow: auto;
|
|
124
|
-
font-size: 0.85em;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.theo-slide[data-theo-slide-theme="default"] pre code {
|
|
128
|
-
padding: 0;
|
|
129
|
-
background: transparent;
|
|
130
|
-
font-size: inherit;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
.theo-slide[data-theo-slide-theme="default"] hr {
|
|
134
|
-
border: none;
|
|
135
|
-
border-top: 1px solid var(--theo-slide-color-border);
|
|
136
|
-
margin: 1em 0;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
.theo-slide[data-theo-slide-theme="default"] table {
|
|
140
|
-
border-collapse: collapse;
|
|
141
|
-
margin: 0 0 0.75em 0;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.theo-slide[data-theo-slide-theme="default"] th,
|
|
145
|
-
.theo-slide[data-theo-slide-theme="default"] td {
|
|
146
|
-
border: 1px solid var(--theo-slide-color-border);
|
|
147
|
-
padding: 0.4em 0.75em;
|
|
148
|
-
text-align: left;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
.theo-slide[data-theo-slide-theme="default"] thead th {
|
|
152
|
-
background: var(--theo-slide-color-tint-weak);
|
|
153
|
-
font-weight: 600;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.theo-slide[data-theo-slide-theme="default"] tbody tr:nth-child(even) td {
|
|
157
|
-
background: var(--theo-slide-color-tint-weak);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.theo-slide[data-theo-slide-theme="default"] img {
|
|
161
|
-
max-width: 100%;
|
|
162
|
-
height: auto;
|
|
163
|
-
border-radius: 6px;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.theo-slide[data-theo-slide-theme="default"] em {
|
|
167
|
-
font-style: italic;
|
|
168
|
-
}
|
|
169
|
-
.theo-slide[data-theo-slide-theme="default"] strong {
|
|
170
|
-
font-weight: 600;
|
|
171
|
-
}
|
|
172
|
-
.theo-slide[data-theo-slide-theme="default"] del {
|
|
173
|
-
text-decoration: line-through;
|
|
174
|
-
color: var(--theo-slide-color-muted);
|
|
175
|
-
}
|
|
176
|
-
.theo-slide[data-theo-slide-theme="default"] kbd {
|
|
177
|
-
font-family: var(--theo-slide-font-mono);
|
|
178
|
-
font-size: 0.85em;
|
|
179
|
-
padding: 0.1em 0.4em;
|
|
180
|
-
border: 1px solid var(--theo-slide-color-border);
|
|
181
|
-
border-radius: 4px;
|
|
182
|
-
background: var(--theo-slide-color-tint-weak);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/* ─────────────────────────────────────────────────────────────────
|
|
186
|
-
* GFM alerts — `> [!NOTE]`, `> [!TIP]`, `> [!IMPORTANT]`,
|
|
187
|
-
* `> [!WARNING]`, `> [!CAUTION]`
|
|
188
|
-
* Pre-processed in mdast (alerts.ts) → <aside class="theo-slide-alert"
|
|
189
|
-
* data-theo-slide-alert-type="…"> rich-content plan T1.2.
|
|
190
|
-
* ───────────────────────────────────────────────────────────────── */
|
|
191
|
-
.theo-slide[data-theo-slide-theme="default"] aside.theo-slide-alert {
|
|
192
|
-
margin: 0 0 0.75em 0;
|
|
193
|
-
padding: 0.75em 1em;
|
|
194
|
-
border-left: 4px solid currentColor;
|
|
195
|
-
border-radius: 0.4em;
|
|
196
|
-
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
197
|
-
}
|
|
198
|
-
.theo-slide[data-theo-slide-theme="default"] aside.theo-slide-alert::before {
|
|
199
|
-
display: block;
|
|
200
|
-
margin-bottom: 0.35em;
|
|
201
|
-
font-weight: 600;
|
|
202
|
-
font-size: 0.9em;
|
|
203
|
-
letter-spacing: 0.05em;
|
|
204
|
-
text-transform: uppercase;
|
|
205
|
-
}
|
|
206
|
-
.theo-slide[data-theo-slide-theme="default"] aside.theo-slide-alert > :first-child {
|
|
207
|
-
margin-top: 0;
|
|
208
|
-
}
|
|
209
|
-
.theo-slide[data-theo-slide-theme="default"] aside.theo-slide-alert > :last-child {
|
|
210
|
-
margin-bottom: 0;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="note"] {
|
|
214
|
-
border-color: #3b82f6;
|
|
215
|
-
background: color-mix(in srgb, #3b82f6 10%, transparent);
|
|
216
|
-
}
|
|
217
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="note"]::before {
|
|
218
|
-
content: "ⓘ Note";
|
|
219
|
-
color: #3b82f6;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="tip"] {
|
|
223
|
-
border-color: #10b981;
|
|
224
|
-
background: color-mix(in srgb, #10b981 10%, transparent);
|
|
225
|
-
}
|
|
226
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="tip"]::before {
|
|
227
|
-
content: "✓ Tip";
|
|
228
|
-
color: #10b981;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="important"] {
|
|
232
|
-
border-color: #a855f7;
|
|
233
|
-
background: color-mix(in srgb, #a855f7 10%, transparent);
|
|
234
|
-
}
|
|
235
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="important"]::before {
|
|
236
|
-
content: "! Important";
|
|
237
|
-
color: #a855f7;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="warning"] {
|
|
241
|
-
border-color: #f59e0b;
|
|
242
|
-
background: color-mix(in srgb, #f59e0b 10%, transparent);
|
|
243
|
-
}
|
|
244
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="warning"]::before {
|
|
245
|
-
content: "⚠ Warning";
|
|
246
|
-
color: #f59e0b;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="caution"] {
|
|
250
|
-
border-color: #ef4444;
|
|
251
|
-
background: color-mix(in srgb, #ef4444 10%, transparent);
|
|
252
|
-
}
|
|
253
|
-
.theo-slide[data-theo-slide-theme="default"] aside[data-theo-slide-alert-type="caution"]::before {
|
|
254
|
-
content: "✗ Caution";
|
|
255
|
-
color: #ef4444;
|
|
256
|
-
}
|