@forsion/unit 2.12.2
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/LICENSE +223 -0
- package/README.md +101 -0
- package/backendWorker.mjs +273 -0
- package/main.mjs +3434 -0
- package/package.json +26 -0
- package/release.json +11 -0
- package/web/assets/ArtificialView-B4ESD4iK.js +1 -0
- package/web/assets/AutomationBuilder-sxWdUa0L.js +1 -0
- package/web/assets/CalendarConfigView-cCfo_EvZ.js +1 -0
- package/web/assets/CalendarView-wgLapctk.js +1 -0
- package/web/assets/CapabilityMenu-BQBsM638.js +1 -0
- package/web/assets/CapabilityMenu-CTIzmTJB.css +1 -0
- package/web/assets/ChatView-BIUk0OJd.css +1 -0
- package/web/assets/ChatView-C-jCJnyS.js +47 -0
- package/web/assets/CheckboxInput-BsaoUHZ0.js +1 -0
- package/web/assets/Chrome-CwFiDmre.js +1 -0
- package/web/assets/CodeView-j065KtVh.js +15 -0
- package/web/assets/DancingScript-Bold-latin-CWNX0RqN.woff2 +0 -0
- package/web/assets/DashboardGridView-Ck3LKkOb.css +1 -0
- package/web/assets/DashboardGridView-DXqe0vPd.js +17 -0
- package/web/assets/EventCard-BmDQkEj9.js +1 -0
- package/web/assets/ExcalidrawCanvas-4uYrLYin.css +1 -0
- package/web/assets/ExcalidrawCanvas-C3egkikA.js +1 -0
- package/web/assets/FloatingToc-CENybkAA.js +1 -0
- package/web/assets/HomepageView-BNabJQfP.css +1 -0
- package/web/assets/HomepageView-CRdhjLXu.js +1 -0
- package/web/assets/ImageStudioPanels-Dke7xf8E.js +3 -0
- package/web/assets/ImageStudioView-g38V8gaj.js +1 -0
- package/web/assets/InlineFiles-C_hjvn3u.js +1 -0
- package/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/web/assets/MarkdownBlock-DIjYEhTK.js +56 -0
- package/web/assets/ModelPill-BPlgovPo.js +1 -0
- package/web/assets/ModelPill-CzdNh7Mt.css +1 -0
- package/web/assets/MuseLibraryView-CenyTTim.js +2 -0
- package/web/assets/MuseView-d-iBk3sc.js +6 -0
- package/web/assets/PageHistoryPanel-CR-k1AM7.js +2 -0
- package/web/assets/PageHistoryPanel-DFjh0pWs.css +1 -0
- package/web/assets/PdfAnnotator-CGzC_o1Q.css +1 -0
- package/web/assets/PdfAnnotator-D79ip27w.js +560 -0
- package/web/assets/ProductView-u2aezVsl.js +1 -0
- package/web/assets/RightPanel-C3OJTIqT.js +4 -0
- package/web/assets/RunLocationPicker-BNcZ7KKF.css +1 -0
- package/web/assets/RunLocationPicker-CTYXUH2z.js +34 -0
- package/web/assets/SidebarRow-BuSkKH5q.js +9 -0
- package/web/assets/SidebarRow-CsWEqPKX.css +1 -0
- package/web/assets/SketchCard-D87GADyG.js +437 -0
- package/web/assets/StudioGuestSurface-BijU_EEb.js +1 -0
- package/web/assets/TodoListView-DPPVpPUn.js +1 -0
- package/web/assets/Tooltip-DY4ISA-e.js +1 -0
- package/web/assets/UnifiedPage-CKNtVD_n.js +57 -0
- package/web/assets/UnifiedPage-DX_sTpyZ.css +1 -0
- package/web/assets/amadeus-manual.en-DWaN2fPs.js +3515 -0
- package/web/assets/amadeus-manual.zh--7D5TS8X.js +3515 -0
- package/web/assets/apl-B4CMkyY2.js +1 -0
- package/web/assets/appStore-Dg9WALEA.js +3080 -0
- package/web/assets/appStore-Di8LXuJ9.css +1 -0
- package/web/assets/approvalText-Cy2UAUAQ.js +2 -0
- package/web/assets/arrow-up-right-CpQs92mu.js +1 -0
- package/web/assets/artificial-BzLFkChP.css +1 -0
- package/web/assets/asciiarmor-Df11BRmG.js +1 -0
- package/web/assets/asn1-EdZsLKOL.js +1 -0
- package/web/assets/asterisk-B-8jnY81.js +1 -0
- package/web/assets/astryxBridge-BZhaZPs4.js +70 -0
- package/web/assets/astryxBridge-CF_hpqC2.css +1 -0
- package/web/assets/automationListSource-DP5xZBxo.js +1 -0
- package/web/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/web/assets/calendarNavStore-C7fGRpoH.js +1 -0
- package/web/assets/canvasPrefs-BeG4oEgP.js +1 -0
- package/web/assets/chatBoxSurface-zvcyfrxE.js +1 -0
- package/web/assets/circle-question-mark-WL3vbp-Z.js +1 -0
- package/web/assets/circle-x-D7s-M5sB.js +1 -0
- package/web/assets/client-BSKpsyAw.js +9 -0
- package/web/assets/clike-B9uivgTg.js +1 -0
- package/web/assets/clojure-BMjYHr_A.js +1 -0
- package/web/assets/cmake-BQqOBYOt.js +1 -0
- package/web/assets/cobol-CWcv1MsR.js +1 -0
- package/web/assets/code-xml-BALV9u_c.js +1 -0
- package/web/assets/codeStudioStore-C2mWfm32.js +22 -0
- package/web/assets/coffeescript-S37ZYGWr.js +1 -0
- package/web/assets/commonlisp-DBKNyK5s.js +1 -0
- package/web/assets/create-4xUyKtAF.js +14 -0
- package/web/assets/create-BgE3edmZ.css +1 -0
- package/web/assets/crystal-SjHAIU92.js +1 -0
- package/web/assets/css-BnMrqG3P.js +1 -0
- package/web/assets/cursor-editorTextHighlight-kG3uUOwL.svg +8 -0
- package/web/assets/cypher-C_CwsFkJ.js +1 -0
- package/web/assets/d-pRatUO7H.js +1 -0
- package/web/assets/dashboardSurface-CFTH5z4c.js +1 -0
- package/web/assets/deskCapture-Df701U8L.js +1 -0
- package/web/assets/diff-DbItnlRl.js +1 -0
- package/web/assets/diff2html-BV-zCH4d.js +111 -0
- package/web/assets/dockerfile-BKs6k2Af.js +1 -0
- package/web/assets/docx-preview-DW4IyU_Q.js +22 -0
- package/web/assets/dtd-DF_7sFjM.js +1 -0
- package/web/assets/dylan-DwRh75JA.js +1 -0
- package/web/assets/ebnf-CDyGwa7X.js +1 -0
- package/web/assets/ecl-Cabwm37j.js +1 -0
- package/web/assets/eiffel-CnydiIhH.js +1 -0
- package/web/assets/ellipsis-r1EcXsFq.js +1 -0
- package/web/assets/elm-vLlmbW-K.js +1 -0
- package/web/assets/emoji-DGaxpCIu.js +1 -0
- package/web/assets/erlang-BNw1qcRV.js +1 -0
- package/web/assets/factor-kuTfRLto.js +1 -0
- package/web/assets/fcl-Kvtd6kyn.js +1 -0
- package/web/assets/floatingTocSurface-C6RJ6i41.js +1 -0
- package/web/assets/foldActions-B7KByFdN.js +1 -0
- package/web/assets/folder-DlxnPmWY.js +1 -0
- package/web/assets/folder-plus-D1TDb7k9.js +1 -0
- package/web/assets/forsion-logo-dark-DnB9JTdv.svg +5 -0
- package/web/assets/forsion-logo-light-DhkEeB4V.svg +11 -0
- package/web/assets/forth-Ffai-XNe.js +1 -0
- package/web/assets/fortran-DYz_wnZ1.js +1 -0
- package/web/assets/frame-_xBVYe3P.js +1 -0
- package/web/assets/gas-Bneqetm1.js +1 -0
- package/web/assets/gestures-CkW1Kfs9.js +1 -0
- package/web/assets/gherkin-heZmZLOM.js +1 -0
- package/web/assets/groovy-D9Dt4D0W.js +1 -0
- package/web/assets/hack2gate-dark-Dx2RtDRI.jpg +0 -0
- package/web/assets/hack2gate-light-DRKq9tyS.jpg +0 -0
- package/web/assets/hand-Crrw-nSn.js +1 -0
- package/web/assets/hard-drive-BbyVSbfP.js +1 -0
- package/web/assets/haskell-Cw1EW3IL.js +1 -0
- package/web/assets/haxe-H-WmDvRZ.js +1 -0
- package/web/assets/http-DBlCnlav.js +1 -0
- package/web/assets/i18n-D-eU58uw.css +1 -0
- package/web/assets/i18n.generated-Bbsz16cl.js +15 -0
- package/web/assets/idl-BEugSyMb.js +1 -0
- package/web/assets/imageStudio-BqbNOvpu.css +1 -0
- package/web/assets/imageStudio-C_Rs630L.js +2 -0
- package/web/assets/index--drOLtq7.js +1 -0
- package/web/assets/index-BCZZVJ_w.js +1 -0
- package/web/assets/index-BCubCwdT.js +1 -0
- package/web/assets/index-BRW82CsP.js +6 -0
- package/web/assets/index-BYsdKR_1.js +1 -0
- package/web/assets/index-Brik2pf9.js +1 -0
- package/web/assets/index-C6GJulug.js +13 -0
- package/web/assets/index-C7U6T-k8.js +1 -0
- package/web/assets/index-CF4RV4mh.js +298 -0
- package/web/assets/index-CflzrdSt.js +1 -0
- package/web/assets/index-Cmr7gVZQ.js +1 -0
- package/web/assets/index-CqyM6tQ0.js +1 -0
- package/web/assets/index-CzM-C2Sd.js +1 -0
- package/web/assets/index-Czu_bbDM.js +1 -0
- package/web/assets/index-D1f_JwPH.js +1 -0
- package/web/assets/index-DKhyDkGB.js +7 -0
- package/web/assets/index-DUWR2nZi.js +1 -0
- package/web/assets/index-DZfZTksa.js +1 -0
- package/web/assets/index-Dg9oixs4.js +1 -0
- package/web/assets/index-DjzSBM0U.js +2 -0
- package/web/assets/index-KL5Rj9kP.js +1 -0
- package/web/assets/index-OHi69jDq.js +3 -0
- package/web/assets/index-SZ5waGAq.js +1 -0
- package/web/assets/index-gPSbFSUn.js +1 -0
- package/web/assets/index-tAXBa_fN.js +1 -0
- package/web/assets/invitePage-lLQ-e0pj.js +19 -0
- package/web/assets/ipc-DQOD2UKk.js +1 -0
- package/web/assets/javascript-iXu5QeM3.js +1 -0
- package/web/assets/jszip.min-DZxV9uZ_.js +2 -0
- package/web/assets/julia-DuME0IfC.js +1 -0
- package/web/assets/layout-grid-B_pjJwz4.js +1 -0
- package/web/assets/linkFollow-C0_3k_PC.js +8 -0
- package/web/assets/list-tree-DkAJYEXd.js +1 -0
- package/web/assets/listFold-BsOVn9UZ.js +1 -0
- package/web/assets/livescript-BwQOo05w.js +1 -0
- package/web/assets/lock-BnGHxjeE.js +1 -0
- package/web/assets/log-out-DBuMeqik.js +1 -0
- package/web/assets/lua-VAEuO923.js +1 -0
- package/web/assets/main-Dki8NlsT.js +21 -0
- package/web/assets/main-NgUPPqDn.css +1 -0
- package/web/assets/markdownEditorSurface-B4PeUzed.js +3 -0
- package/web/assets/markdownEditorSurface-Bql20IAf.css +1 -0
- package/web/assets/mathematica-DTrFuWx2.js +1 -0
- package/web/assets/mbox-CNhZ1qSd.js +1 -0
- package/web/assets/mdMarkStore-CsKl7C8O.js +2 -0
- package/web/assets/mdMarks-Bq7Hl-4C.js +1 -0
- package/web/assets/message-square-plus-BiAZAvcw.js +1 -0
- package/web/assets/messages-BH5MfQdZ.js +1 -0
- package/web/assets/minus-Cyv1YzOU.js +1 -0
- package/web/assets/mirc-CjQqDB4T.js +1 -0
- package/web/assets/mllike-CXdrOF99.js +1 -0
- package/web/assets/mobileEntry-Bd_nKr0D.js +13 -0
- package/web/assets/mobileEntry-DS1vohuL.css +1 -0
- package/web/assets/modelica-Dc1JOy9r.js +1 -0
- package/web/assets/mscgen-BA5vi2Kp.js +1 -0
- package/web/assets/mumps-BT43cFF4.js +1 -0
- package/web/assets/nativeDownload-D-f1_L2S.js +1 -0
- package/web/assets/nginx-DdIZxoE0.js +1 -0
- package/web/assets/nsis-LdVXkNf5.js +1 -0
- package/web/assets/ntriples-BfvgReVJ.js +1 -0
- package/web/assets/octave-Ck1zUtKM.js +1 -0
- package/web/assets/oz-BzwKVEFT.js +1 -0
- package/web/assets/pageChrome-C9_azUYW.js +1 -0
- package/web/assets/pageChrome-xLNdFaSg.css +1 -0
- package/web/assets/pageTree-CZH2J6cc.js +7 -0
- package/web/assets/panel-left-rOc8As0s.js +1 -0
- package/web/assets/pascal--L3eBynH.js +1 -0
- package/web/assets/pdf-C2_sJa3b.js +57 -0
- package/web/assets/pdf.worker.min-CGb3BKV9.js +1 -0
- package/web/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
- package/web/assets/pen-line-m6_HvWZ9.js +1 -0
- package/web/assets/pen-tool-lkmBqliH.js +1 -0
- package/web/assets/pencil-Cvk91P_Z.js +1 -0
- package/web/assets/perl-CdXCOZ3F.js +1 -0
- package/web/assets/pig-CevX1Tat.js +1 -0
- package/web/assets/pluginExt-Byb64tQO.js +1 -0
- package/web/assets/powershell-CFHJl5sT.js +1 -0
- package/web/assets/properties-C78fOPTZ.js +1 -0
- package/web/assets/protobuf-ChK-085T.js +1 -0
- package/web/assets/pug-DeIclll2.js +1 -0
- package/web/assets/puppet-DMA9R1ak.js +1 -0
- package/web/assets/python-BuPzkPfP.js +1 -0
- package/web/assets/q-pXgVlZs6.js +1 -0
- package/web/assets/r-B6wPVr8A.js +1 -0
- package/web/assets/redo-2-DSi54z4e.js +1 -0
- package/web/assets/rotate-ccw-CUlnplr0.js +1 -0
- package/web/assets/rpm-CTu-6PCP.js +1 -0
- package/web/assets/ruby-B2Rjki9n.js +1 -0
- package/web/assets/sas-B4kiWyti.js +1 -0
- package/web/assets/scheme-C41bIUwD.js +1 -0
- package/web/assets/sharePage-MM6UpPJ9.js +2 -0
- package/web/assets/shareViewer-CDZ8lTdy.js +345 -0
- package/web/assets/shareViewer-DLVrwanO.css +1 -0
- package/web/assets/shell-CjFT_Tl9.js +1 -0
- package/web/assets/sieve-C3Gn_uJK.js +1 -0
- package/web/assets/simple-mode-GW_nhZxv.js +1 -0
- package/web/assets/smalltalk-CnHTOXQT.js +1 -0
- package/web/assets/solr-DehyRSwq.js +1 -0
- package/web/assets/sparql-DkYu6x3z.js +1 -0
- package/web/assets/spreadsheet-BCZA_wO0.js +1 -0
- package/web/assets/sql-D0XecflT.js +1 -0
- package/web/assets/star-CwDiGyUW.js +1 -0
- package/web/assets/stex-C3f8Ysf7.js +1 -0
- package/web/assets/sticky-note-BIuPUSOU.js +1 -0
- package/web/assets/stylus-B533Al4x.js +1 -0
- package/web/assets/swift-BzpIVaGY.js +1 -0
- package/web/assets/tableSurface-CDNa0QFp.css +1 -0
- package/web/assets/tableSurface-Y_JBQsuz.js +1 -0
- package/web/assets/tcl-DVfN8rqt.js +1 -0
- package/web/assets/terminal-DIXogYJY.js +1 -0
- package/web/assets/terminalView-B3aZSsrQ.js +12 -0
- package/web/assets/terminalView-DFuMZ0ql.css +1 -0
- package/web/assets/textile-CnDTJFAw.js +1 -0
- package/web/assets/theme-DfEi_DND.css +1 -0
- package/web/assets/theme-OMpAfNto.css +1 -0
- package/web/assets/tiddlywiki-DO-Gjzrf.js +1 -0
- package/web/assets/tiki-DGYXhP31.js +1 -0
- package/web/assets/toml-Bm5Em-hy.js +1 -0
- package/web/assets/troff-wAsdV37c.js +1 -0
- package/web/assets/ttcn-CfJYG6tj.js +1 -0
- package/web/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/web/assets/turtle-B1tBg_DP.js +1 -0
- package/web/assets/type-Cqoabh7H.js +1 -0
- package/web/assets/undo-2-tUKCv5Gs.js +1 -0
- package/web/assets/unitAccount-D8lVwaaT.js +1 -0
- package/web/assets/unitBridge-D547ublk.js +1 -0
- package/web/assets/unitCloudTransport-BVF6lVp4.js +1 -0
- package/web/assets/unitOwnerAccess-BfnEjsZb.js +1 -0
- package/web/assets/unitShim-DxetRgmP.js +5 -0
- package/web/assets/upload-BbeAsMuD.js +1 -0
- package/web/assets/userSpaces-DyyAn7vj.js +1 -0
- package/web/assets/vb-CmGdzxic.js +1 -0
- package/web/assets/vbscript-BuJXcnF6.js +1 -0
- package/web/assets/velocity-D8B20fx6.js +1 -0
- package/web/assets/verilog-C6RDOZhf.js +1 -0
- package/web/assets/vhdl-lSbBsy5d.js +1 -0
- package/web/assets/viewportLock-C4SX-9PO.js +103 -0
- package/web/assets/viewportLock-DYSe7Jsn.css +1 -0
- package/web/assets/waves-horizontal-B8ZpHQ5H.js +1 -0
- package/web/assets/webidl-ZXfAyPTL.js +1 -0
- package/web/assets/workflow-DuoVRSSX.js +1 -0
- package/web/assets/xlsx-CNerDvZX.js +105 -0
- package/web/assets/xquery-DzFWVndE.js +1 -0
- package/web/assets/yacas-BJ4BC0dw.js +1 -0
- package/web/assets/z80-Hz9HOZM7.js +1 -0
- package/web/assets/zoom-in-hr5bRpDL.js +1 -0
- package/web/excalidraw/excalidraw.css +1 -0
- package/web/excalidraw/excalidraw.js +579 -0
- package/web/excalidraw/fonts/Assistant/Assistant-Bold.woff2 +0 -0
- package/web/excalidraw/fonts/Assistant/Assistant-Medium.woff2 +0 -0
- package/web/excalidraw/fonts/Assistant/Assistant-Regular.woff2 +0 -0
- package/web/excalidraw/fonts/Assistant/Assistant-SemiBold.woff2 +0 -0
- package/web/excalidraw/fonts/Cascadia/CascadiaCode-Regular.woff2 +0 -0
- package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2 +0 -0
- package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2 +0 -0
- package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2 +0 -0
- package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2 +0 -0
- package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 +0 -0
- package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 +0 -0
- package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 +0 -0
- package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 +0 -0
- package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 +0 -0
- package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 +0 -0
- package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 +0 -0
- package/web/excalidraw/fonts/Liberation/LiberationSans-Regular.woff2 +0 -0
- package/web/excalidraw/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
- package/web/excalidraw/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
- package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
- package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
- package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
- package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
- package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
- package/web/excalidraw/fonts/Virgil/Virgil-Regular.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-019d66dcad46dc156b162d267f981c20.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-04b718e5623574919c8b0dea5f301444.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-069e77aac84590e2e991d0a0176d34f2.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-06c77b8c66e51ed6c63ccb502dd8b8af.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-08e0dc436ad0ad61ba5558db0674d762.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-093b9ef39a46ceae95a1df18a0a3a326.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-095c169f3314805276f603a362766abd.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-09850c4077f3fffe707905872e0e2460.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0986d134c05864f5025962eef9f994a0.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0b5d723fdc4e249c140f0909e87d03b4.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0f626226ba1272e832aea87bafd9720e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0f7fb1e0d5015bb1371343153ecf7ce3.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0fa55a080fcd0f9dc2e0b0058b793df8.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0facdf1ea213ba40261022f5d5ed4493.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-10a7ae9a371830a80c3d844acf1c02d7.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-112c051027b2d766c19a519f6ee1f4f7.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-11c345711937f0ba4b8f7b6b919c8440.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-12b52b58eb3df36804b9a654ec9ee194.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-13ae07ed2e272d26d59bc0691cd7117a.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-13d2887ec8ee73c43acdabc52a05af7b.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-145aa02cdd91946e67dc934e1acffe75.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-15dc6d811c9cd078f9086a740d5a1038.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-173945821411c09f70c95f98d590e697.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1b611157cd46bb184d4fa4dae2d6a2b8.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1e6fd68f1f3902ce48ce8c69df385622.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1ee544f0f1dac422545c505baa788992.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1fdc0c67ed57263a80fd108c1f6ccf24.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-203b0e569e3b14aac86a003dc3fa523e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-20cc1bbf50e7efb442756cb605672c1f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-20e7bf72fa05de9adf7dbcc7bf51dde6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-21430ee05a1248901da8d0de08744d47.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-23686f7f29da6e8008c36dd3a80c83d6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-23ad2d71b280f00b1363b95b7bea94eb.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-23f228f3999c01983860012330e4be08.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-24476a126f129212beb33f66853ea151.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-24a21c1e4449222e8d1898d69ff3a404.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-25b7f38e18f035f96cb5e547bd2bd08c.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-29cec36cd205b211da97acabaa62f055.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2a26d20a23b00898ce82f09d2ee47c3f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2adbc89c11e65905393d3dfc468b9d5b.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2b7441d46298788ac94e610ffcc709b6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2b77e8ebfb2367ab2662396a60e7d320.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2cf96d082d35ea3d8106851223ad0d16.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2d43040e86ff03ba677f6f9c04cd0805.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2e33e8dc771ef5e1d9127d60a6b73679.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-33432927cd87d40cfe393c7482bf221f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-353f33792a8f60dc69323ddf635a269e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-36925dfe329a45086cbb7fc5c20d45ac.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3717077e38f98d89eae729b6c14e56dc.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3756e81d3e149cf6099163ee79944fec.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-395c35dd584b56b0789f58a0559beaf1.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3c9de2ae0ea4bc91a510942dfa4be8d2.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3cc70dbb64df5b21f1326cc24dee2195.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3e1f8f654357353bf0e04ba5c34b5f7f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3e63ed8162808a9e425ed80a8bc79114.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3eaa538115d76932653c21d8dc28f207.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4095eb84ef3874e2600247bee0b04026.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-41521fade99856108931b4768b1b2648.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-450da755d5bcb70906e1295e559b9602.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-452225341522a7942f0f6aab1a5c91a3.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4535823663ad81405188a528d8f2b1a2.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4806e761d750087c2d734fc64596eaff.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4a0fdb40036e87b40aa08dd30584cb85.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4a38cc3e9cf104e69ba246d37f8cf135.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4aca6a43e59aceee2166b0c7e4e85ef1.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4bfaa8ffa64c5ee560aa2daba7c9cbd3.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4dc6d5f188d5c96d44815cd1e81aa885.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4ddc14ed3eb0c3e46364317dfc0144a3.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4ee10ae43505e2e0bc62656ced49c0fa.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4f50e5136e136527280bc902c5817561.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-51502f1206be09c565f1547c406e9558.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-51a0e808bbc8361236ac521a119758a3.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-52a84a22fd1369bffeaf21da2d6158dc.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5330a2119a716e4e7224ed108b085dac.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-543fa46ace099a7099dad69123399400.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-544fc28abe2c5c30e62383fd4dac255f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-54acdfc2166ad7fcbd074f75fd4a56ba.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5572b3513ba8df57a3d5d7303ee6b11b.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-56467a5c8840c4d23a60b2f935114848.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-56a32a7689abd0326e57c10c6c069bb4.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-57862b464a55b18c7bf234ce22907d73.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-583d166e56ba0de4b77eabb47ef67839.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5882ffa04f32584d26109137e2da4352.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-58fd02350d0bc52cf1ca3bb32ce9766e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5935a5775af3d5c6307ac667bd9ae74e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-59e9ff77b0efaf684bc09274fb6908c9.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5a1ce3117cfe90c48e8fb4a9a00f694d.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5a45d991244d4c7140217e1e5f5ca4f4.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5a7fac4b8b23a6e4e5ba0c9bf1756c91.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5b0ed6971aaab9c8ad563230bd5471a7.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5d2898fbc097a7e24c6f38d80587621e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-603aefd23e350ba7eb124273e3c9bcf1.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-60a3089806700d379f11827ee9843b6b.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-60a41c7e1c68f22424e6d22df544bc82.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-642b26e2e5f5fb780b51b593dbc8c851.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-66493ba5a8367f2928812f446f47b56a.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-670ba603758d94268e8606f240a42e12.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-671a2c20b1eb9e4ef8a192833940e319.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-684d65f1793cac449dde5d59cb3c47fb.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-69c09cc5fa3e55c74fc4821f76909cc3.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6ae5b42180ad70b971c91e7eefb8eba2.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6e092f71c1e634059ada0e52abadce67.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6f3256af8454371776bc46670d33cc65.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6fe5c5973cc06f74b2387a631ea36b88.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-70c2eb8d64e71a42a834eb857ea9df51.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-70e811fd7994e61f408c923de6ddd078.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7197d6fda6cba7c3874c53d6381ca239.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-72252d73220fa3cd856677888cee1635.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-72536a3d71b694a0d53dd90ddceae41e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-726303e0774b4e678bff8c2deb6ca603.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-733171b4ffcd17ea1fe1c0ba627173bf.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-739bc1a567439c7cffcd1614644593d2.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-73e309718fd16cea44b4d54a33581811.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7494dc504ae00ee9cd0505f990f88c5d.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-74e2263a91439c25b91d5132ce9f4d62.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-761d05e3cd968cf574166867998ef06a.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7718fe60986d8b42b1be9c5ace5ccf25.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-774d4f764a1299da5d28ec2f2ffe0d69.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-79d494361ae093b69e74ee9dbe65bfd4.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-79f007c1c6d07557120982951ea67998.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7a07ddc0f0c0f5f4a9bad6ee3dda66b5.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7ab2bed91166a9dca83a5ebfbe2a7f38.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7ccce86603f80a099ddb0cb21d4ae3e3.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7e4bde7e9c7f84cd34d8a845e384c746.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7e929f262f30c8ee78bf398150b1a7cd.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7eb9fffd1aa890d07d0f88cc82e6cfe4.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7f855356ab893b0d2b9c1c83b8116f0e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-829615148e6357d826b9242eb7fbbd1e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-866fa7613df6b3fd272bcfd4530c0bb9.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-87599f94b6cc129d505b375798d0d751.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8c2f33cee3993174f7e87c28e4bf42ee.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8d3bcabb847b56243b16afe62adaaf21.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8de5b863cb50dfefdd07cb11c774d579.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8e9f97f01034820170065b2921b4fb5e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8f476c4c99813d57cbe6eca4727388ad.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-903bb6865f3452e2fda42e3a25547bc5.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-91ddb2969bf2d31ba02ad82998d1314c.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-938d90c10ff8c20386af7f242c05d6b0.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-93fc8f28a33234bcadf1527cafabd502.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-95429962233afd82db1c27df1500a28c.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9544732d2e62d1a429674f8ee41b5d3a.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9592bfc861f07bcb8d75c196b370e548.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-95bfd249da4902577b4b7d76ebdd0b44.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-968cffdc8ee679da094e77ebf50f58ef.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-97f7f48ce90c9429bf32ae51469db74d.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-982b630266d87db93d2539affb1275c6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-98f2ad84457de7f3740d9920b8fa8667.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-99a16ef6a64934d5781933dbd9c46b2e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9cfb2a77a4e45025105ad29a1748b90d.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9d81066dd2b337c938df6e90380a00dc.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9eb5a99df4e76ac3363453ac9ca288b1.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a004ddfcb26e67bd6e678c8ed19e25ce.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a0ca5df4258213d7fc9fce80f65ce760.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a1f916d6039285c4ffb900cd654e418f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a203b91dad570bf05a58c3c3ddb529bf.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a365e82ed54697a52f27adcea1315fe8.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a4c34be6d42152e64b0df90bc4607f64.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a7accba310e821da5505f71c03b76bdb.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-aa0d470430e6391eca720c7cfa44446f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-aa5c9ca6cf4fba00433b7aa3fa10671a.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ac9ceb44437becc3e9c4dbfebab7fc2d.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b1220a3c61f85cc0408deedb4c5f57a2.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b358f7a51ece39a3247942b1feabdb29.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b57aaedfd8ebdf3931f25119dc6a5eb2.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b5c1596551c256e0e9cf02028595b092.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b6d128682ee29e471486354d486a1b90.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b6fd38ca30869792244804b04bc058da.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b7d203b051eff504ff59ddca7576b6a9.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b96d9226ce77ec94ceca043d712182e6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ba3de316d63c7e339987b16f41a0b879.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-bafff7a14c27403dcc6cf1432e8ea836.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-bd77e3c7f9e0b072d96af37f73d1aa32.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-be549ab72f0719d606a5c01e2c0219b6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c16ed9740b85badf16e86ea782a3062f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c1f94158256bb1f3bf665b053d895af9.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c40533fdf4cc57177b12803598af7e59.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c4a687ac4f0c2766eefc9f77ed99cddf.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c69f61a4ab18d0488c8d1fc12e7028e8.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c8b71798409ccc126ee264a00aadcf21.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c99eda15fc26a2941579560f76c3a5cf.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cb17fc3db95f6d139afc9d31a8e93293.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cbaaefaaf326668277aa24dfa93c4d28.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cd145ce4a0ea18469358df53c207bc1b.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cdbce89e82cc1ab53a2decbf5819278f.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ce4884f96f11589608b76b726a755803.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cf2cc71752631e579e35b0e423bf2638.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cf6ff4e0f491ca0cf3038187a997b9b4.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cfb211578629b7e8153b37240de6a9d5.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-d0cf73942fea1c74edbdf0b3011f4656.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-d2666cbed13462c5dc36fa2f15c202ca.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-d3716376641d615e2995605b29bca7b6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-dac48066b5883d8b4551fc584f0c2a3e.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-dbea1af6dcd9860be40c3d18254338f5.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e11567fd2accf9957cd0d3c2be937d87.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e2ead7ea7da0437f085f42ffc05f8d13.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e3fcf5180fd466c8915c4e8069491054.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e480d9c614742d05f0e78f274f1e69e6.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e4bca6cfa53e499cae0a6be4894a90e9.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e51ef413167c6e14e0c0fdcc585f2fc9.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e5f453bb04da18eed01675eeebd88bf8.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e656f091b9dc4709722c9f4b84d3c797.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ec181b795ac1fb5a50d700b6e996d745.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ee8bae97908d5147b423f77ad0d3c1bb.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f0f13b5c60e0af5553bd359f5513be1b.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f2b54d4e7be0eaefe1c2c56836fa5368.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f56414bf9bced67990def8660e306759.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f5d079153c99a25b9be5b8583c4cc8a7.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f6032fc06eb20480f096199713f70885.woff2 +0 -0
- package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f8ee5d36068a42b51d0e4a1116cfcec1.woff2 +0 -0
- package/web/fonts/LICENSE-_fontsource-variable_inter.txt +93 -0
- package/web/fonts/LICENSE-_fontsource-variable_jetbrains-mono.txt +93 -0
- package/web/fonts/LICENSE-_fontsource_lxgw-wenkai.txt +94 -0
- package/web/fonts/LICENSE-_fontsource_noto-sans-sc.txt +93 -0
- package/web/fonts/files/inter-cyrillic-ext-wght-normal.woff2 +0 -0
- package/web/fonts/files/inter-cyrillic-wght-normal.woff2 +0 -0
- package/web/fonts/files/inter-greek-ext-wght-normal.woff2 +0 -0
- package/web/fonts/files/inter-greek-wght-normal.woff2 +0 -0
- package/web/fonts/files/inter-latin-ext-wght-normal.woff2 +0 -0
- package/web/fonts/files/inter-latin-wght-normal.woff2 +0 -0
- package/web/fonts/files/inter-vietnamese-wght-normal.woff2 +0 -0
- package/web/fonts/files/jetbrains-mono-cyrillic-ext-wght-normal.woff2 +0 -0
- package/web/fonts/files/jetbrains-mono-cyrillic-wght-normal.woff2 +0 -0
- package/web/fonts/files/jetbrains-mono-greek-wght-normal.woff2 +0 -0
- package/web/fonts/files/jetbrains-mono-latin-ext-wght-normal.woff2 +0 -0
- package/web/fonts/files/jetbrains-mono-latin-wght-normal.woff2 +0 -0
- package/web/fonts/files/jetbrains-mono-vietnamese-wght-normal.woff2 +0 -0
- package/web/fonts/files/lxgw-wenkai-latin-500-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-100-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-100-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-101-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-101-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-102-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-102-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-103-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-103-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-104-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-104-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-105-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-105-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-106-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-106-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-107-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-107-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-108-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-108-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-109-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-109-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-110-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-110-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-111-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-111-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-112-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-112-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-113-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-113-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-114-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-114-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-115-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-115-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-116-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-116-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-117-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-117-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-118-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-118-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-119-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-119-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-21-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-21-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-22-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-22-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-23-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-23-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-24-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-24-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-25-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-25-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-26-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-26-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-27-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-27-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-28-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-28-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-29-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-29-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-30-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-30-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-31-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-31-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-32-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-32-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-33-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-33-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-34-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-34-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-35-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-35-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-36-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-36-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-37-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-37-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-38-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-38-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-39-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-39-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-4-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-4-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-40-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-40-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-41-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-41-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-42-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-42-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-43-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-43-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-44-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-44-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-45-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-45-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-46-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-46-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-47-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-47-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-48-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-48-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-49-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-49-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-5-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-5-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-50-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-50-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-51-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-51-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-52-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-52-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-53-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-53-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-54-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-54-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-55-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-55-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-56-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-56-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-57-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-57-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-58-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-58-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-59-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-59-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-6-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-6-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-60-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-60-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-61-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-61-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-62-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-62-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-63-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-63-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-64-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-64-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-65-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-65-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-66-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-66-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-67-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-67-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-68-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-68-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-69-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-69-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-70-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-70-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-71-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-71-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-72-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-72-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-73-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-73-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-74-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-74-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-75-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-75-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-76-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-76-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-77-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-77-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-78-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-78-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-79-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-79-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-80-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-80-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-81-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-81-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-82-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-82-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-83-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-83-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-84-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-84-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-85-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-85-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-86-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-86-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-87-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-87-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-88-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-88-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-89-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-89-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-90-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-90-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-91-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-91-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-97-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-97-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-98-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-98-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-99-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-99-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
- package/web/fonts/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
- package/web/fonts/fonts.css +2163 -0
- package/web/index.html +266 -0
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@forsion/unit",
|
|
3
|
+
"version": "2.12.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Forsion Unit: the independently runnable Forsion framework (plugin host and Web UI), prebuilt.",
|
|
6
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/Changan-Su/Forsion.git",
|
|
10
|
+
"directory": "unit"
|
|
11
|
+
},
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": ">=20"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"main.mjs",
|
|
20
|
+
"backendWorker.mjs",
|
|
21
|
+
"release.json",
|
|
22
|
+
"README.md",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"web"
|
|
25
|
+
]
|
|
26
|
+
}
|
package/release.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"desktopVersion": "2.12.2",
|
|
3
|
+
"desktopTag": "v2.12.2",
|
|
4
|
+
"desktopCommit": "5ec96fcebc1ff5c474ff40577cabbd0e3ecff489",
|
|
5
|
+
"unitRevision": 0,
|
|
6
|
+
"prerelease": false,
|
|
7
|
+
"sourceCommit": "5ec96fcebc1ff5c474ff40577cabbd0e3ecff489",
|
|
8
|
+
"sourceDirty": false,
|
|
9
|
+
"builtAt": "2026-10-02T22:35:09.998Z",
|
|
10
|
+
"commercialServerIncluded": false
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as P,d,j as t}from"./index-CF4RV4mh.js";import{z as F,an as T,ar as M,lz as R,ep as V,gD as W,aL as B,a2 as y,lA as N,by as U,Y as q,aQ as H,dz as _,lB as $,fa as K,i as O,u as Q}from"./appStore-Dg9WALEA.js";import{u as X}from"./codeStudioStore-C2mWfm32.js";import{C as Y}from"./CapabilityMenu-BQBsM638.js";import{c as G}from"./nativeDownload-D-f1_L2S.js";/* empty css */import{C as J}from"./code-xml-BALV9u_c.js";import{P as Z}from"./pencil-Cvk91P_Z.js";import{A as aa}from"./arrow-up-right-CpQs92mu.js";import{E as ta}from"./ellipsis-r1EcXsFq.js";import"./ipc-DQOD2UKk.js";import"./client-BSKpsyAw.js";const ia=[["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"m15 10-3 3-3-3",key:"lzhmyn"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]],ea=F("monitor-down",ia);let v=0;const f=G((i,l)=>({items:[],status:"loading",async load(){const m=window.tangu?.productsList;if(!m){i({status:"error"});return}const r=++v;l().status!=="ready"&&i({status:"loading"});try{const n=await m();r===v&&i({items:n,status:"ready"})}catch{r===v&&l().status!=="ready"&&i({status:"error"})}}})),g=i=>i instanceof Error?i.message:String(i);function xa(){const{t:i,locale:l}=P(),m=f(a=>a.items),r=f(a=>a.status),n=f(a=>a.load),[k]=d.useState(()=>f.getState().status!=="ready"),[S,o]=d.useState(null),w=T(a=>a.spaces.some(e=>e.id==="coding"))&&!!M("code-studio"),[z,p]=d.useState(()=>Date.now());d.useEffect(()=>{n();const a=()=>{p(Date.now()),n()};return window.addEventListener("focus",a),()=>{window.removeEventListener("focus",a)}},[n]),d.useEffect(()=>{const a=setInterval(()=>{document.hidden||p(Date.now())},6e4);return()=>clearInterval(a)},[]);const u=(a,e,s=!1)=>Q.getState().toast(i(a,e),s),L=a=>{O.getState().openView("product",{id:a.id},"main",{newTab:!0})},E=a=>{window.tangu?.openDetached?.([{type:"product",params:{id:a.id}}])},b=a=>{y("coding"),requestAnimationFrame(()=>{X.getState().openProject(a.root,a.name)})},C=async a=>{const e=window.tangu?.productsShortcut;if(e){o(a.id);try{const{key:s,error:c,vars:h}=$(await e(a.id,i("artificial.shortcut.fallbackName")));u(s,h,c)}catch(s){u("artificial.toast.shortcutFailed",{detail:g(s)},!0)}finally{o(null)}}},A=async a=>{const e=window.tangu?.productsUpdate;if(!e)return;const s=(await K(i("artificial.rename.title"),a.name,{label:i("artificial.rename.label")}))?.trim();if(!(!s||s===a.name)){o(a.id);try{await e(a.id,{name:s}),await n()}catch(c){u("artificial.toast.renameFailed",{detail:g(c)},!0)}finally{o(null)}}},D=async a=>{const e=window.tangu?.productsTrash;if(!(!e||!window.confirm(i(a.external?"artificial.remove.confirm":"artificial.trash.confirm",{name:a.name})))){o(a.id);try{await e(a.id,{action:a.external?"unregister":"trash",dirId:a.dirId}),await n()}catch(s){u("artificial.toast.trashFailed",{detail:g(s)},!0)}finally{o(null)}}},I=a=>{const e=N(a.kind),s=e.icon,c=S===a.id,h=[...e.canLaunch&&window.tangu?.openDetached?[{id:"open-window",label:i("artificial.action.openWindow"),icon:t.jsx(U,{size:14}),onSelect:()=>E(a)}]:[],...w?[{id:"edit",label:i("artificial.action.edit"),icon:t.jsx(J,{size:14}),onSelect:()=>b(a)}]:[],...e.canShortcut&&window.tangu?.productsShortcut?[{id:"shortcut",label:i("artificial.action.shortcut"),icon:t.jsx(ea,{size:14}),onSelect:()=>{C(a)}}]:[],...window.tangu?.revealHostPath?[{id:"reveal",label:i("artificial.action.reveal"),icon:t.jsx(q,{size:14}),onSelect:()=>{window.tangu?.revealHostPath?.(a.root)}}]:[],...window.tangu?.productsUpdate?[{id:"rename",label:i("artificial.action.rename"),icon:t.jsx(Z,{size:14}),onSelect:()=>{A(a)}}]:[],...window.tangu?.productsTrash?[{id:"trash",label:i(a.external?"artificial.action.remove":"artificial.action.trash"),icon:t.jsx(H,{size:14}),danger:!0,onSelect:()=>{D(a)}}]:[]],j=c||!e.canLaunch&&!w;return t.jsxs("div",{className:"newtab-card art-card","data-artificial-card":!0,"data-product-id":a.id,"data-kind":a.kind,children:[t.jsxs("button",{className:"art-card-main","data-action":"open",disabled:j,"aria-label":e.canLaunch?i("artificial.action.open",{name:a.name}):`${i("artificial.action.edit")} · ${a.name}`,onClick:()=>e.canLaunch?L(a):b(a),children:[t.jsx("span",{className:"newtab-card-ic",children:t.jsx(s,{size:18})}),t.jsx("span",{className:"art-card-name",title:a.name,children:a.name}),!j&&t.jsx(aa,{size:14,className:"art-card-go","aria-hidden":!0})]}),t.jsxs("div",{className:"art-card-foot",children:[t.jsxs("div",{className:"art-card-meta",children:[t.jsx("span",{children:_(a.updatedAt,{now:z,locale:l})}),a.published&&t.jsx("span",{className:"art-badge","data-badge":"published",children:i("artificial.badge.published")}),a.kind==="plugin"&&a.devLoad&&t.jsx("span",{className:"art-badge","data-badge":"devload",children:i("artificial.badge.devLoad")})]}),h.length>0&&t.jsx(Y,{label:i("artificial.action.more",{name:a.name}),className:"icon-btn art-card-more",disabled:c,items:h,children:t.jsx(ta,{size:14})})]})]},a.id)},x=R(m);return t.jsx("div",{className:"art-root","data-artificial-root":!0,children:t.jsxs("div",{className:"art-inner",children:[t.jsxs("div",{className:"art-head",children:[t.jsx(V,{size:18}),t.jsxs("div",{className:"art-titles",children:[t.jsx("div",{className:"art-title",children:i("view.artificial")}),t.jsx("div",{className:"art-sub",children:i("artificial.subtitle")})]}),t.jsx("button",{className:"icon-btn","data-action":"refresh",title:i("artificial.refresh"),"aria-label":i("artificial.refresh"),onClick:()=>{n()},children:t.jsx(W,{size:14})})]}),r==="loading"&&t.jsxs("div",{className:"art-loading","data-state":"loading",children:[t.jsx(B,{variant:"list"}),t.jsx("span",{className:"art-sr-only",role:"status",children:i("artificial.loading")})]}),r==="error"&&t.jsxs("div",{className:"art-state",role:"alert","data-state":"error",children:[t.jsx("div",{className:"art-state-title",children:i("artificial.loadFailed")}),t.jsx("button",{className:"btn sm","data-action":"retry",onClick:()=>{n()},children:i("common.retry")})]}),r==="ready"&&!x.length&&t.jsxs("div",{className:"art-state","data-state":"empty",children:[t.jsx("div",{className:"art-state-title",children:i("artificial.empty.title")}),t.jsx("p",{children:i("artificial.empty.body")}),w&&t.jsx("button",{className:"btn primary sm","data-action":"go-coding",onClick:()=>y("coding"),children:i("artificial.empty.cta")})]}),r==="ready"&&x.length>0&&t.jsx("div",{className:k?"sk-fade-in":void 0,children:x.map(a=>t.jsxs("div",{className:"newtab-sec","data-kind-group":a.kind,children:[t.jsx("div",{className:"newtab-sec-title",children:i(N(a.kind).labelKey)}),t.jsx("div",{className:"newtab-grid art-grid",children:a.items.map(I)})]},a.kind))})]})})}export{xa as ArtificialView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as o,j as e,u as pe}from"./index-CF4RV4mh.js";import{z as Ge,bp as Qe,pT as le,e$ as Je,jy as et,aI as tt,aH as at,fc as nt,f8 as it,gX as lt,gS as st,g7 as ot,g_ as rt,pU as dt,g as ut,da as ct,eO as ie,b8 as mt,pV as ht,pW as Pe,pX as Ie,pY as Fe,Z as Re,S as De,gU as be,af as bt,aD as xt,pZ as pt,aQ as xe,p_ as vt,p$ as gt,bQ as jt,bR as ft,B as yt,D as Nt,W as _t,g1 as Ct,q0 as kt,q1 as wt,k as St,q2 as Et,q3 as $t,u as Pt}from"./appStore-Dg9WALEA.js";import{C as Ft}from"./CapabilityMenu-BQBsM638.js";import{u as Rt}from"./gestures-CkW1Kfs9.js";import{a as Dt,C as zt}from"./Chrome-CwFiDmre.js";import{d as Tt,e as At,f as It,g as Mt}from"./canvasPrefs-BeG4oEgP.js";import{R as qt}from"./rotate-ccw-CUlnplr0.js";import"./messages-BH5MfQdZ.js";import{W as ze}from"./workflow-DuoVRSSX.js";import{C as Ht}from"./circle-question-mark-WL3vbp-Z.js";const Wt=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],Vt=Ge("bell",Wt);function Lt({controller:i,open:c,title:b,onClose:C,children:h}){const[g]=o.useState(()=>document.createElement("div"));g.className="auto-extension";const a=o.useRef(null),k=o.useRef(C);k.current=C;const v=o.useRef(b);return v.current=b,o.useEffect(()=>{if(!(!i||!c)){try{a.current=i.open({id:"automation-context",title:()=>v.current,mount:f=>(f.appendChild(g),()=>g.remove()),onClose:()=>k.current()})}catch{k.current()}return()=>{a.current?.close(),a.current=null}}},[i,c,g]),c?i?Qe.createPortal(h,g):e.jsx("div",{className:"auto-extension auto-extension-inline",children:h}):null}const sa=["reminder","briefing","table","button"];function Ot(i,c){return i?i==="briefing"||i==="button"?[{...le("agent_run"),prompt:c(`automation.ux.${i}.prompt`)}]:[{...le("notify"),title:c(`automation.ux.${i}.name`),body:c(`automation.ux.${i}.body`)}]:[le("notify")]}function Te(i,c,b){if(i.type==="notify")return i.title.trim()?null:"notify";if(i.type==="agent_run")return i.agentSlug?i.prompt.trim()?null:"prompt":"agent";if(i.type==="db_row_add"||i.type==="db_row_edit"){if(!/\.db$/i.test(i.dbPath.trim()))return"table";if(!i.cells.some(h=>h.k.trim()))return"cells";if(i.type==="db_row_edit"){if(c!=="db_changed"&&(!i.rowId.trim()&&!i.matchColumn.trim()||i.rowFrom.trim()))return"row";if(i.matchColumn.trim()&&!i.matchValue.trim())return"match"}return null}const C=b.find(h=>h.name===i.tool);if(!C)return"tool";if((C.parameters.required||[]).some(h=>!(i.argValues[h]||"").trim()))return"args";for(const[h,g]of Object.entries(i.argValues)){if(!g.trim())continue;const a=C.parameters.properties?.[h];if(a?.type==="number"&&!Number.isFinite(Number(g)))return"args";if(a?.type==="object"||a?.type==="array")try{const k=JSON.parse(g);if(a.type==="array"?!Array.isArray(k):!k||typeof k!="object"||Array.isArray(k))return"json"}catch{return"json"}}return null}function Bt(i){return(i||[]).map(c=>({value:`{{row.${c.id}}}`,label:c.name}))}const Ut=i=>({x:0,y:i*132,w:244,h:84}),Kt=({nodes:i,selected:c,onSelect:b,children:C})=>{const{t:h}=pe(),g=o.useId().replace(/:/g,""),a=o.useRef(null),[k,v]=o.useState({}),[f,P]=o.useState(Tt),[I,F]=o.useState(At),x=Je(a),m=new Map(i.map((n,s)=>[n.id,k[n.id]||Ut(s)])),$=i.map(n=>n.id).join(","),p=Rt(a,x,{boxes:()=>m,identity:()=>$,commit:n=>v(s=>({...s,...Object.fromEntries(n)})),hitKey:n=>n.closest("[data-flow-node]")?.dataset.flowNode||null,onEnterEdit:b,onDoubleClick:n=>{n&&b(n)},minW:244,minH:84,repel:!0},f);o.useEffect(()=>p.bind(a.current),[p.bind]),o.useEffect(()=>x.bindWheel(a.current),[x.bindWheel]);const D=o.useRef(()=>x.fitTo([...m.values()],64));D.current=()=>x.fitTo([...m.values()],64),o.useEffect(()=>{v({});const n=requestAnimationFrame(()=>D.current());return()=>cancelAnimationFrame(n)},[$]),o.useEffect(()=>{const n=new ResizeObserver(()=>D.current());return a.current&&n.observe(a.current),()=>n.disconnect()},[]);const M=n=>p.live?.get(n)||m.get(n);return e.jsx("div",{className:"auto-canvas-shell am-app",children:e.jsxs("div",{className:"auto-canvas amx-stage",ref:a,tabIndex:0,"aria-label":h("automation.ux.flow"),onPointerUpCapture:n=>{if(p.busy)return;const s=document.elementFromPoint(n.clientX,n.clientY)?.closest("[data-flow-node]");s&&a.current?.contains(s)&&b(s.dataset.flowNode)},children:[e.jsx("div",{className:"amx-stage-grid",style:et(x.vp)}),e.jsxs("div",{className:"auto-canvas-world",style:{transform:`translate(${x.vp.x}px, ${x.vp.y}px) scale(${x.vp.z})`},children:[e.jsxs("svg",{className:"auto-canvas-edges","aria-hidden":"true",children:[e.jsx("defs",{children:e.jsx("marker",{id:g,markerWidth:"8",markerHeight:"8",refX:"6",refY:"3",orient:"auto",children:e.jsx("path",{d:"M0,0 L6,3 L0,6",fill:"none",stroke:"currentColor"})})}),i.slice(1).map((n,s)=>{const y=M(i[s].id),w=M(n.id),q=y.x+y.w/2,H=y.y+y.h,Z=w.x+w.w/2,V=w.y;return e.jsx("path",{d:`M${q},${H} C${q},${H+28} ${Z},${V-28} ${Z},${V}`,markerEnd:`url(#${g})`},n.id)})]}),i.map(n=>{const s=M(n.id);return e.jsxs("div",{"data-flow-node":n.id,role:"button",tabIndex:0,"aria-pressed":c===n.id,className:`auto-flow-node ${c===n.id?"selected":""}`,style:{left:s.x,top:s.y,width:s.w,height:s.h},onClick:()=>b(n.id),onKeyDown:y=>{y.key==="Enter"&&(y.preventDefault(),b(n.id))},children:[e.jsx("span",{className:"auto-flow-icon",children:n.icon}),e.jsx("strong",{children:n.title}),e.jsx("span",{className:"auto-flow-status",title:h(n.ready?"automation.ux.ready":"automation.ux.incomplete"),children:n.ready?e.jsx(tt,{size:13}):e.jsx(at,{size:13})}),e.jsx("span",{className:"auto-flow-subtitle",children:n.subtitle})]},n.id)}),p.marquee&&e.jsx("div",{className:"amx-stage-marquee",style:{left:p.marquee.x,top:p.marquee.y,width:p.marquee.w,height:p.marquee.h}})]}),C&&e.jsx("div",{className:"amx-stage-tools auto-canvas-tools",children:C}),e.jsx(Dt,{zoom:x.vp.z,onZoomBy:n=>{const{w:s,h:y}=nt(a.current);x.setVp(it(x.vp,x.vp.z*n,s/2,y/2))},onFit:()=>D.current(),snap:f,onSnap:n=>{P(n),Mt(n)},mini:I,onMini:n=>{F(n),It(n)},extra:e.jsx("button",{type:"button",title:h("automation.ux.arrange"),onClick:()=>{v({}),requestAnimationFrame(()=>D.current())},children:e.jsx(qt,{size:12})})}),I&&e.jsx(zt,{hostRef:a,vp:x.vp,items:i.map(n=>({key:n.id,kind:"card",box:M(n.id)})),onCenter:x.centerOn})]})})},Ae=({label:i,value:c,onChange:b,multiline:C,maxLength:h=4e3,placeholder:g,columns:a,hasRow:k})=>{const{t:v}=pe(),f=o.useId(),P=o.useRef(null),I=o.useRef({start:c.length,end:c.length}),F=m=>{if(!m)return;const{start:$,end:p}=I.current;c.length-(p-$)+m.length>h||(b(c.slice(0,$)+m+c.slice(p)),requestAnimationFrame(()=>{P.current?.focus(),P.current?.setSelectionRange($+m.length,$+m.length)}))},x={id:f,ref:P,value:c,maxLength:h,placeholder:g,onChange:m=>b(m.target.value),onSelect:m=>{I.current={start:m.currentTarget.selectionStart??c.length,end:m.currentTarget.selectionEnd??c.length}}};return e.jsxs("div",{className:"field auto-template-field",children:[e.jsxs("div",{className:"auto-field-heading",children:[e.jsx("label",{htmlFor:f,children:i}),e.jsxs("select",{"aria-label":v("automation.ux.insertVariable",{field:i}),value:"",onChange:m=>F(m.target.value),children:[e.jsx("option",{value:"",children:v("automation.ux.variables")}),e.jsx("option",{value:"{{today}}",children:v("automation.ux.today")}),e.jsx("option",{value:"{{now}}",children:v("automation.ux.now")}),k&&e.jsxs("optgroup",{label:v("automation.ux.triggerRow"),children:[e.jsx("option",{value:"{{row.id}}",children:v("automation.ux.rowId")}),Bt(a).map(m=>e.jsx("option",{value:m.value,children:m.label},m.value))]})]})]}),C?e.jsx("textarea",{...x}):e.jsx("input",{type:"text",...x})]})};function Xt(){const i=new Date(Date.now()+36e5);i.setMinutes(0,0,0);const c=b=>String(b).padStart(2,"0");return`${i.getFullYear()}-${c(i.getMonth()+1)}-${c(i.getDate())}T${c(i.getHours())}:00`}const Yt=({editing:i,starter:c,fixedManual:b,onSaved:C,onCancel:h,extendView:g})=>{const{t:a}=pe(),k=lt(),v=st(),f=v.actionsCatalog,[P,I]=o.useState(i?.desc||(c?a(`automation.ux.${c}.name`):"")),[F,x]=o.useState("trigger"),[m,$]=o.useState(!1),p=t=>{x(t),$(!0)},[D,M]=o.useState(i?.enabled??!!b),n=i?.cond,[s,y]=o.useState(n?n.type==="event_seen"?"event_seen":n.type==="file_chars_gte"?"file_chars_gte":n.type==="manual"?"manual":n.type==="db_changed"?"db_changed":"timer":b||c==="button"?"manual":c==="table"?"db_changed":"timer"),[w,q]=o.useState(n?.type==="at"?"at":n?.type==="every"?"every":"daily_at"),[H,Z]=o.useState(n?.type==="daily_at"?n.time:"09:00"),V=!!i&&ot(i),[G,Me]=o.useState(n?.type==="at"&&!V?n.datetime.replace(" ","T"):Xt()),Q=n?.type==="every"?/^(\d+)([mhd])$/.exec(n.interval):null,[J,qe]=o.useState(Q?Q[1]:"1"),[ve,He]=o.useState(Q?Q[2]:"h"),[se,We]=o.useState(n?.type==="event_seen"?n.match:""),[oe,Ve]=o.useState(n?.type==="file_chars_gte"?n.path:""),[re,Le]=o.useState(n?.type==="file_chars_gte"?String(n.n):"100"),[R,Oe]=o.useState(n?.type==="db_changed"?n.path:""),[T,ge]=o.useState(n?.type==="db_changed"?n.event:"row_added"),[W,je]=o.useState(()=>rt(n)),fe=(t,u)=>je(r=>u?r.includes(t)?r:[...r,t]:r.filter(l=>l!==t)),[de,Be]=o.useState(n?.type==="db_changed"&&n.equals||""),[L,ue]=o.useState(()=>dt(n)),ce=(t,u)=>ue(r=>r.map((l,d)=>d===t?{...l,...u}:l));o.useEffect(()=>{ut()},[]);const ye=ct(t=>t.files),O=o.useMemo(()=>ye.filter(t=>/\.db$/i.test(t)),[ye]);o.useEffect(()=>{for(const t of O)ie.getState().load(t,t)},[O]);const Ne=ie(mt(t=>O.filter(u=>t.entries[u]?.data?.source!==void 0))),ee=o.useMemo(()=>O.filter(t=>!Ne.includes(t)),[O,Ne]),B=ie(t=>s==="db_changed"&&R?t.entries[R]?.data?.columns:void 0),U=o.useMemo(()=>B?.filter(t=>t.type!=="formula"&&t.type!=="lookup"),[B]),[S,te]=o.useState(()=>i?ht(i):Ot(c,a)),[me,Ue]=o.useState(i&&!i.actions?.length&&!i.agentSlug&&i.prompt||""),[K,_e]=o.useState(()=>Pe(i,s)),Ce=o.useRef(!1);o.useEffect(()=>{!i&&!Ce.current&&_e(Pe(null,s))},[s,i]);const[X,ke]=o.useState(!1),[we,ae]=o.useState(""),Ke=t=>{if(S.length>=24)return;const u=le(t);te(r=>[...r,u]),p(String(u.key))},Se=S.some(t=>t.type==="agent_run"),j=(t,u)=>te(r=>r.map(l=>l.key===t?{...l,...u}:l)),Ee=(t,u)=>te(r=>{const l=t+u;if(l<0||l>=r.length)return r;const d=[...r];return[d[t],d[l]]=[d[l],d[t]],d});if(Ie(i))return e.jsxs("div",{className:"auto-builder",children:[e.jsxs("div",{className:"auto-builder-title",children:[e.jsx(ze,{size:17})," ",a("automation.builder.editTitle")]}),e.jsx("div",{className:"auto-node",children:e.jsx("div",{className:"auto-hint",children:a("automation.builder.unsupported")})}),e.jsx("div",{className:"auto-builder-actions",children:e.jsx("button",{className:"btn ghost",onClick:()=>h?h():v.closeBuilder(),children:a("common.cancel")})})]});const $e=!(s==="timer"&&(w==="daily_at"&&!/^\d{1,2}:\d{2}$/.test(H)||w==="at"&&!G||w==="every"&&(!Number.isInteger(Number(J))||Number(J)<1))||s==="event_seen"&&!se.trim()||s==="file_chars_gte"&&(!oe.trim()||!(Number(re)>0))||s==="db_changed"&&(!/\.db$/i.test(R.trim())||T==="cell_changed"&&!W.length||L.length>Fe||L.some(t=>t.column.trim()&&(t.op==="eq"||t.op==="ne")&&!t.value.trim()))),E=[];P.trim()||E.push({node:"trigger",text:a("automation.ux.issue.name")}),$e||E.push({node:"trigger",text:a("automation.ux.issue.trigger")}),!S.length&&(!i||s==="manual")&&E.push({node:"review",text:a("automation.ux.issue.steps")}),S.forEach((t,u)=>{const r=Te(t,s,f);r&&E.push({node:String(t.key),text:`${u+1}. ${a(`automation.ux.issue.${r}`)}`})}),s!=="timer"&&s!=="manual"&&(!K.trim()||!Number.isFinite(Number(K))||Number(K)<0)&&E.push({node:"review",text:a("automation.ux.issue.cooldown")});const ne=E.length===0,Xe=async()=>{if(!ne||X)return;const t=s==="timer"?w:s;if(t==="at"&&(Ct(G)?.getTime()??0)<Date.now()-5*6e4){ae(a("automation.builder.atPast"));return}const u=d=>ie.getState().entries[d]?.data?.source!==void 0;if([...t==="db_changed"?[R.trim()]:[],...S.filter(d=>d.type==="db_row_add"||d.type==="db_row_edit").map(d=>d.dbPath.trim())].filter(Boolean).some(u)){ae(a("automation.builder.dbNoteView"));return}ke(!0),ae("");const l=kt(S,f);try{const d=await wt(St(),{id:i?.id,actor:"user",desc:P.trim(),cond_type:t,time:t==="daily_at"?H:void 0,datetime:t==="at"?G:void 0,interval:t==="every"?`${Math.floor(Number(J))}${ve}`:void 0,match:t==="event_seen"?se.trim():void 0,path:t==="file_chars_gte"?oe.trim():t==="db_changed"?R.trim():void 0,n:t==="file_chars_gte"?Number(re):void 0,event:t==="db_changed"?T:void 0,column_id:t==="db_changed"&&T==="cell_changed"?W[0]:void 0,column_ids:t==="db_changed"&&T==="cell_changed"&&W.length>1?W:void 0,equals:t==="db_changed"&&T==="cell_changed"&&de.trim()?de.trim():void 0,where:t==="db_changed"?$t(L):void 0,vault:t==="db_changed"&&i?.cond.type==="db_changed"?i.cond.vault:void 0,prompt:S.length?void 0:me.trim()||void 0,cooldown_hours:Et(s,K),actions:S.length?l:null,enabled:D});if(C){v.bump(),C(d);return}v.acceptSaved(d),Pt.getState().toast(a("automation.ux.saved"))}catch(d){ae(String(d?.message||d))}finally{ke(!1)}},he=t=>t==="notify"?e.jsx(Vt,{size:14}):t==="agent_run"?e.jsx(yt,{size:14}):t==="db_row_add"||t==="db_row_edit"?e.jsx(Nt,{size:14}):e.jsx(_t,{size:14}),Ye=[{id:"trigger",title:a("automation.builder.trigger"),subtitle:a(`automation.builder.${s==="timer"?"condTimer":s==="manual"?"condManual":s==="db_changed"?"condDb":s==="event_seen"?"condEvent":"condFile"}`),icon:e.jsx(Re,{size:17}),ready:$e&&!!P.trim()},...S.map((t,u)=>({id:String(t.key),title:`${u+1}. ${a(`automation.step.${t.type}`)}`,subtitle:t.title||t.prompt||t.dbPath||t.tool||a("automation.ux.setupHint"),icon:he(t.type),ready:!Te(t,s,f)})),...!S.length&&i&&s!=="manual"?[{id:"muse",title:a("automation.builder.museFallback"),subtitle:me||a("automation.builder.museFallbackHint"),icon:e.jsx(De,{size:17}),ready:!0}]:[],{id:"review",title:a("automation.ux.finish"),subtitle:a(ne?"automation.ux.allReady":"automation.ux.finishHint"),icon:e.jsx(be,{size:17}),ready:ne}],Ze=e.jsxs(e.Fragment,{children:[e.jsxs(Ft,{label:a("automation.ux.addStep"),className:"btn ghost sm",disabled:X||S.length>=24,items:["notify","agent_run","db_row_add","db_row_edit","tool_call"].map(t=>({id:t,label:a(`automation.step.${t}`),icon:he(t),disabled:t==="tool_call"&&!f.length,onSelect:()=>Ke(t)})),children:[e.jsx(bt,{size:14}),a("automation.ux.addStep")]}),e.jsx("button",{className:"icon-btn",title:a("automation.ux.help"),onClick:()=>p("help"),children:e.jsx(Ht,{size:15})})]});return e.jsxs("div",{className:`auto-builder auto-workflow-builder ${b?"auto-builder-embedded":""}`,children:[e.jsxs("div",{className:"auto-builder-title",children:[e.jsx(ze,{size:17}),e.jsx("span",{children:a(i?"automation.builder.editTitle":"automation.builder.title")}),e.jsx("button",{className:"btn ghost sm",disabled:X,onClick:()=>h?h():v.closeBuilder(),children:a("common.cancel")})]}),e.jsx("div",{className:"auto-builder-workspace",hidden:!g&&m,children:e.jsx(Kt,{nodes:Ye,selected:m?F:"",onSelect:p,children:Ze})}),e.jsxs(Lt,{controller:g,open:m,title:a("automation.ux.setup"),onClose:()=>$(!1),children:[!g&&e.jsxs("button",{className:"btn ghost sm auto-inline-back",onClick:()=>$(!1),children:[e.jsx(xt,{size:14}),a("automation.ux.flow")]}),e.jsxs("div",{className:"auto-inspector","aria-label":a("automation.ux.setup"),children:[e.jsxs("div",{className:"auto-node",hidden:F!=="trigger",children:[e.jsxs("div",{className:"auto-node-head",children:[e.jsx("span",{className:"auto-ic",children:e.jsx(Re,{size:14})}),a("automation.builder.trigger")]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.desc")}),e.jsx("input",{"aria-label":a("automation.builder.desc"),type:"text",value:P,maxLength:200,placeholder:a("automation.builder.descPh"),onChange:t=>I(t.target.value)})]}),!b&&e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.condType")}),e.jsxs("div",{className:"auto-seg",children:[e.jsx("button",{className:s==="timer"?"active":"",onClick:()=>y("timer"),children:a("automation.builder.condTimer")}),e.jsx("button",{className:s==="event_seen"?"active":"",onClick:()=>y("event_seen"),children:a("automation.builder.condEvent")}),e.jsx("button",{className:s==="file_chars_gte"?"active":"",onClick:()=>y("file_chars_gte"),children:a("automation.builder.condFile")}),e.jsx("button",{className:s==="db_changed"?"active":"",onClick:()=>y("db_changed"),children:a("automation.builder.condDb")}),e.jsx("button",{className:s==="manual"?"active":"",onClick:()=>y("manual"),children:a("automation.builder.condManual")})]})]}),s==="db_changed"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbPath")}),e.jsxs("select",{value:R,onChange:t=>{Oe(t.target.value),je([])},children:[e.jsx("option",{value:"",children:a("automation.builder.dbPickDb")}),ee.map(t=>e.jsx("option",{value:t,children:t},t)),R&&!ee.includes(R)&&e.jsx("option",{value:R,children:R})]})]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbEvent")}),e.jsxs("div",{className:"auto-seg",children:[e.jsx("button",{className:T==="row_added"?"active":"",onClick:()=>ge("row_added"),children:a("automation.builder.dbEventRow")}),e.jsx("button",{className:T==="cell_changed"?"active":"",onClick:()=>ge("cell_changed"),children:a("automation.builder.dbEventCell")})]})]}),T==="cell_changed"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbColumn")}),e.jsxs("div",{className:"auto-checks",children:[(U??[]).map(t=>e.jsxs("label",{className:"auto-check",children:[e.jsx("input",{type:"checkbox",checked:W.includes(t.id),onChange:u=>fe(t.id,u.target.checked)}),t.name]},t.id)),W.filter(t=>!(U??[]).some(u=>u.id===t)).map(t=>e.jsxs("label",{className:"auto-check",children:[e.jsx("input",{type:"checkbox",checked:!0,onChange:()=>fe(t,!1)}),"(",t,")"]},t)),!U&&e.jsx("span",{className:"auto-hint",children:a("automation.builder.dbColsLoading")})]}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.dbColumnsHint")})]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbEquals")}),e.jsx("input",{type:"text",value:de,maxLength:200,placeholder:a("automation.builder.dbEqualsPh"),onChange:t=>Be(t.target.value)})]})]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbWhere")}),L.map((t,u)=>e.jsxs("div",{className:"auto-inline",children:[e.jsxs("select",{value:t.column,onChange:r=>ce(u,{column:r.target.value}),children:[e.jsx("option",{value:"",children:a(B?"automation.builder.dbPickCol":"automation.builder.dbColsLoading")}),(B??[]).map(r=>e.jsx("option",{value:r.id,children:r.name},r.id)),t.column&&!(B??[]).some(r=>r.id===t.column)&&e.jsxs("option",{value:t.column,children:["(",t.column,")"]})]}),e.jsx("select",{value:t.op,onChange:r=>ce(u,{op:r.target.value}),children:pt.map(r=>e.jsx("option",{value:r,children:a(r==="eq"?"automation.builder.dbWhereOpEq":r==="ne"?"automation.builder.dbWhereOpNe":r==="empty"?"automation.builder.dbWhereOpEmpty":"automation.builder.dbWhereOpNotEmpty")},r))}),e.jsx("input",{type:"text",value:t.value,maxLength:200,disabled:t.op==="empty"||t.op==="notempty",placeholder:a("automation.builder.dbWhereValPh"),onChange:r=>ce(u,{value:r.target.value})}),e.jsx("button",{className:"icon-btn",title:a("common.delete"),onClick:()=>ue(r=>r.filter((l,d)=>d!==u)),children:e.jsx(xe,{size:12})})]},u)),e.jsx("button",{className:"icon-btn",title:a("automation.builder.dbWhereAdd"),disabled:L.length>=Fe,onClick:()=>ue(t=>[...t,{column:"",op:"eq",value:""}]),children:"+"}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.dbWhereHint")})]}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.dbHint")})]}),s==="manual"&&e.jsx("div",{className:"auto-hint",children:a("automation.builder.manualHint")}),s==="timer"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.timerMode")}),e.jsxs("div",{className:"auto-seg",children:[e.jsx("button",{className:w==="daily_at"?"active":"",onClick:()=>q("daily_at"),children:a("automation.builder.timerDaily")}),e.jsx("button",{className:w==="at"?"active":"",onClick:()=>q("at"),children:a("automation.builder.timerOnce")}),e.jsx("button",{className:w==="every"?"active":"",onClick:()=>q("every"),children:a("automation.builder.timerEvery")})]})]}),w==="daily_at"&&e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.time")}),e.jsx("input",{type:"time",value:H,onChange:t=>Z(t.target.value)})]}),w==="at"&&e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.datetime")}),e.jsx("input",{type:"datetime-local",value:G,onChange:t=>Me(t.target.value)}),e.jsx("div",{className:"auto-hint",children:a(V?"automation.builder.expiredReset":"automation.builder.onceHint")})]}),w==="every"&&e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.interval")}),e.jsxs("div",{className:"auto-inline",children:[e.jsx("input",{type:"number",value:J,min:1,style:{width:90},onChange:t=>qe(t.target.value)}),e.jsxs("select",{value:ve,onChange:t=>He(t.target.value),children:[e.jsx("option",{value:"m",children:a("automation.builder.unitM")}),e.jsx("option",{value:"h",children:a("automation.builder.unitH")}),e.jsx("option",{value:"d",children:a("automation.builder.unitD")})]})]}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.everyHint")})]})]}),s==="event_seen"&&e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.match")}),e.jsx("input",{type:"text",list:"auto-event-catalog",value:se,maxLength:120,placeholder:a("automation.builder.matchPh"),onChange:t=>We(t.target.value)}),e.jsxs("datalist",{id:"auto-event-catalog",children:[vt.map(t=>e.jsx("option",{value:t},t)),gt().map(t=>e.jsx("option",{value:t.name,label:t.label},t.name))]}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.matchHint")})]}),s==="file_chars_gte"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.path")}),e.jsx("input",{type:"text",value:oe,placeholder:"~/Forsion/Notes/xxx.md",onChange:t=>Ve(t.target.value)})]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.chars")}),e.jsx("input",{type:"number",value:re,min:1,onChange:t=>Le(t.target.value)})]})]})]}),S.map((t,u)=>{const r=t.type==="tool_call"?f.find(l=>l.name===t.tool):void 0;return e.jsxs("div",{className:"auto-node",hidden:F!==String(t.key),children:[e.jsxs("div",{className:"auto-node-head",children:[e.jsx("span",{className:"auto-ic",children:he(t.type)}),a("automation.builder.stepN",{n:String(u+1)})," · ",a(`automation.step.${t.type}`),e.jsxs("span",{className:"auto-step-tools",children:[e.jsx("button",{className:"icon-btn",disabled:u===0,title:a("automation.builder.moveUp"),onClick:()=>Ee(u,-1),children:e.jsx(jt,{size:12})}),e.jsx("button",{className:"icon-btn",disabled:u===S.length-1,title:a("automation.builder.moveDown"),onClick:()=>Ee(u,1),children:e.jsx(ft,{size:12})}),e.jsx("button",{className:"icon-btn",title:a("common.delete"),onClick:()=>{te(l=>l.filter(d=>d.key!==t.key)),p("trigger")},children:e.jsx(xe,{size:12})})]})]}),t.type==="notify"&&e.jsxs(e.Fragment,{children:[e.jsx(Ae,{label:a("automation.builder.notifyTitle"),value:t.title,maxLength:200,placeholder:a("automation.builder.notifyTitlePh"),onChange:l=>j(t.key,{title:l}),columns:U,hasRow:s==="db_changed"}),e.jsx(Ae,{label:a("automation.builder.notifyBody"),value:t.body,multiline:!0,onChange:l=>j(t.key,{body:l}),columns:U,hasRow:s==="db_changed"}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.notifyHint")})]}),t.type==="agent_run"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.runner")}),e.jsxs("select",{value:t.agentSlug,onChange:l=>j(t.key,{agentSlug:l.target.value}),children:[e.jsx("option",{value:"",children:a("automation.builder.runnerPick")}),k.filter(l=>l.slug!=="muse").map(l=>e.jsx("option",{value:l.slug,children:l.name},l.slug))]})]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.prompt")}),e.jsx("textarea",{value:t.prompt,maxLength:500,placeholder:a("automation.builder.promptPh"),onChange:l=>j(t.key,{prompt:l.target.value})})]})]}),(t.type==="db_row_add"||t.type==="db_row_edit")&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbPath")}),e.jsxs("select",{value:t.dbPath,onChange:l=>j(t.key,{dbPath:l.target.value}),children:[e.jsx("option",{value:"",children:a("automation.builder.dbPickDb")}),ee.map(l=>e.jsx("option",{value:l,children:l},l)),t.dbPath&&!ee.includes(t.dbPath)&&e.jsx("option",{value:t.dbPath,children:t.dbPath})]})]}),t.type==="db_row_edit"&&e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbRowId")}),e.jsx("input",{type:"text",value:t.rowId,placeholder:a(s==="db_changed"?"automation.builder.dbRowIdPh":"automation.builder.dbRowIdRequired"),onChange:l=>j(t.key,{rowId:l.target.value})})]}),t.type==="db_row_edit"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbRowFrom")}),e.jsx("input",{type:"text",value:t.rowFrom,maxLength:200,placeholder:a("automation.builder.dbRowFromPh"),onChange:l=>j(t.key,{rowFrom:l.target.value})})]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbMatch")}),e.jsxs("div",{className:"auto-inline",children:[e.jsx("input",{type:"text",value:t.matchColumn,maxLength:200,placeholder:a("automation.builder.dbCellKey"),style:{width:120},onChange:l=>j(t.key,{matchColumn:l.target.value})}),e.jsx("input",{type:"text",value:t.matchValue,maxLength:2e3,placeholder:a("automation.builder.dbMatchValPh"),onChange:l=>j(t.key,{matchValue:l.target.value})})]}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.dbTargetHint")})]})]}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbCells")}),t.cells.map((l,d)=>e.jsxs("div",{className:"auto-inline",children:[e.jsx("input",{type:"text",value:l.k,placeholder:a("automation.builder.dbCellKey"),style:{width:120},onChange:A=>j(t.key,{cells:t.cells.map((N,z)=>z===d?{...N,k:A.target.value}:N)})}),e.jsx("input",{type:"text",value:l.v,placeholder:a(d===0?"automation.builder.dbCellValPh":"automation.builder.dbCellVal"),onChange:A=>j(t.key,{cells:t.cells.map((N,z)=>z===d?{...N,v:A.target.value}:N)})}),e.jsx("button",{className:"icon-btn",title:a("common.delete"),disabled:t.cells.length<=1,onClick:()=>j(t.key,{cells:t.cells.filter((A,N)=>N!==d)}),children:e.jsx(xe,{size:12})})]},d)),e.jsx("button",{className:"icon-btn",title:a("automation.builder.dbCellAdd"),onClick:()=>j(t.key,{cells:[...t.cells,{k:"",v:""}]}),children:"+"}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.dbCellsHint")})]}),t.type==="db_row_add"&&e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.dbSkipIfEmpty")}),e.jsx("input",{type:"text",value:t.skipIfEmpty,maxLength:200,placeholder:a("automation.builder.dbSkipIfEmptyPh"),onChange:l=>j(t.key,{skipIfEmpty:l.target.value})})]})]}),t.type==="tool_call"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.tool")}),e.jsxs("select",{value:t.tool,onChange:l=>{const d=f.find(N=>N.name===l.target.value),A=Object.fromEntries((d?.parameters.required||[]).filter(N=>d?.parameters.properties?.[N]?.type==="boolean").map(N=>[N,"false"]));j(t.key,{tool:l.target.value,argValues:A})},children:[e.jsx("option",{value:"",children:a("automation.builder.toolPick")}),f.map(l=>e.jsxs("option",{value:l.name,children:[l.name,l.dangerous?" ⚠":""]},l.name))]}),r&&e.jsxs("div",{className:"auto-hint",children:[r.description,r.dangerous?` · ${a("automation.builder.dangerous")}`:""]})]}),r&&Object.entries(r.parameters.properties||{}).map(([l,d])=>{const A=(r.parameters.required||[]).includes(l),N=`${l}${A?" *":""}`,z=t.argValues[l]||"",Y=_=>j(t.key,{argValues:{...t.argValues,[l]:_}});return e.jsxs("div",{className:"field",children:[e.jsx("label",{title:d.description||"",children:N}),d.enum?.length?e.jsxs("select",{value:z,onChange:_=>Y(_.target.value),children:[e.jsx("option",{value:""}),d.enum.map(_=>e.jsx("option",{value:_,children:_},_))]}):d.type==="boolean"?e.jsxs("label",{className:"auto-check",children:[e.jsx("input",{type:"checkbox",checked:z==="true",onChange:_=>Y(_.target.checked?"true":"false")})," ",d.description||""]}):d.type==="number"?e.jsx("input",{type:"number",value:z,onChange:_=>Y(_.target.value)}):d.type==="string"?e.jsx("textarea",{rows:2,value:z,placeholder:d.description||"",onChange:_=>Y(_.target.value)}):e.jsx("textarea",{rows:2,value:z,placeholder:`JSON — ${d.description||""}`,onChange:_=>Y(_.target.value)})]},l)})]})]},t.key)}),S.length===0&&i&&s!=="manual"&&e.jsxs("div",{className:"auto-node auto-node-muse",hidden:F!=="muse",children:[e.jsxs("div",{className:"auto-node-head",children:[e.jsx("span",{className:"auto-ic",children:e.jsx(De,{size:14})}),a("automation.builder.museFallback")]}),e.jsx("div",{className:"auto-hint",children:a("automation.builder.museFallbackHint")}),e.jsxs("div",{className:"field",children:[e.jsx("label",{children:a("automation.builder.prompt")}),e.jsx("textarea",{value:me,maxLength:500,placeholder:a("automation.builder.promptPh"),onChange:t=>Ue(t.target.value)})]})]}),e.jsxs("div",{className:"auto-node auto-review",hidden:F!=="review",children:[e.jsxs("div",{className:"auto-node-head",children:[e.jsx(be,{size:16}),a("automation.ux.review")]}),e.jsx("p",{className:"auto-hint",children:a("automation.ux.enableHint")}),e.jsxs("label",{className:"auto-check",children:[e.jsx("input",{type:"checkbox",checked:D,onChange:t=>M(t.target.checked)}),a("automation.ux.enabledLabel")]}),E.length?e.jsxs("div",{className:"auto-validation",role:"status",children:[e.jsx("strong",{children:a("automation.ux.checklist")}),E.map((t,u)=>e.jsx("button",{onClick:()=>p(t.node),children:t.text},u))]}):e.jsxs("p",{className:"auto-ready",children:[e.jsx(be,{size:14}),a("automation.ux.allReady")]}),s!=="timer"&&s!=="manual"&&e.jsxs("div",{className:"auto-guard",children:[e.jsx("label",{children:a("automation.builder.cooldown")}),e.jsx("input",{type:"number",value:K,min:Se?1:s==="db_changed"?0:.25,step:"1",onChange:t=>{Ce.current=!0,_e(t.target.value)}}),e.jsx("span",{className:"auto-hint",children:a(Se?"automation.builder.cooldownAgentHint":s==="db_changed"?"automation.builder.cooldownDbHint":"automation.builder.cooldownHint")})]})]}),e.jsxs("div",{className:"auto-node",hidden:F!=="help",children:[e.jsx("h3",{children:a("automation.ux.flow")}),e.jsx("p",{className:"auto-hint",children:a("automation.ux.canvasOrder")}),e.jsx("p",{className:"auto-hint",children:a("automation.ux.nativeHint")})]})]})]}),e.jsxs("div",{className:"auto-builder-actions auto-builder-footer",children:[e.jsx("div",{className:"auto-save-status","aria-live":"polite",children:we?e.jsx("span",{role:"alert",children:we}):E.length?e.jsxs("button",{onClick:()=>p(E[0].node),children:[E[0].text,E.length>1?` (+${E.length-1})`:""]}):e.jsx("span",{children:a("automation.ux.allReady")})}),e.jsx("button",{className:"btn ghost sm",onClick:()=>p("review"),children:a("automation.ux.review")}),e.jsx("button",{className:"btn sm",disabled:!ne||X,onClick:()=>{Xe()},children:X?"…":a(D?"automation.ux.saveEnabled":"automation.ux.savePaused")})]})]})},oa=Object.freeze(Object.defineProperty({__proto__:null,AutomationBuilder:Yt,hasUnsupportedParts:Ie},Symbol.toStringTag,{value:"Module"}));export{Lt as A,Vt as B,sa as S,Yt as a,oa as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as a,u as q,d,r as la}from"./index-CF4RV4mh.js";import{i as oa,bw as ra,ib as ia,i7 as Y,id as ma,ig as da,i1 as ua,i_ as fa,il as F,ix as ha,ih as pa,da as J,i2 as ga,i3 as xa,i4 as ba,i5 as ja,i$ as j,i6 as D,ir as va,ip as Ca,io as Na,B as wa,G as Q,D as B,af as Da,ag as aa,a8 as X,fa as R,ex as Sa,j0 as ea,j1 as za,j2 as K,j3 as Z,j4 as Ma,eO as ka,j5 as ya,j6 as Aa,A as Pa,j7 as Fa}from"./appStore-Dg9WALEA.js";import{A as qa}from"./astryxBridge-BZhaZPs4.js";import{u as H}from"./calendarNavStore-C7fGRpoH.js";import{C as Ea}from"./CapabilityMenu-BQBsM638.js";import{H as Ia}from"./hard-drive-BbyVSbfP.js";import{S as Ta}from"./star-CwDiGyUW.js";import{C as La}from"./CheckboxInput-BsaoUHZ0.js";import{U as Oa}from"./upload-BbeAsMuD.js";import"./nativeDownload-D-f1_L2S.js";import"./ipc-DQOD2UKk.js";import"./client-BSKpsyAw.js";import"./Tooltip-DY4ISA-e.js";la({"calcfg.prevMonth":{zh:"上个月",en:"Previous month"},"calcfg.nextMonth":{zh:"下个月",en:"Next month"},"calcfg.jumpToDay":{zh:"跳转到这一天",en:"Jump to this day"},"calcfg.cloud":{zh:"云端",en:"Cloud"},"calcfg.title":{zh:"日历",en:"Calendars"},"calcfg.empty":{zh:"还没有加入日历的多维表。",en:"No databases added to the calendar yet."},"calcfg.eventColor":{zh:"事件颜色",en:"Event color"},"calcfg.fetchFailed":{zh:"拉取失败",en:"Fetch failed"},"calcfg.isDefaultAria":{zh:"{name} 是新建默认日历",en:"{name} is the default calendar for new events"},"calcfg.setDefaultAria":{zh:"将 {name} 设为新建默认日历",en:"Make {name} the default calendar for new events"},"calcfg.defaultCalendar":{zh:"新建默认日历",en:"Default calendar for new events"},"calcfg.setAsDefault":{zh:"设为新建默认日历",en:"Set as default for new events"},"calcfg.showInCalendar":{zh:"在日历中显示",en:"Show in calendar"},"calcfg.more":{zh:"更多",en:"More"},"calcfg.addCalendar":{zh:"添加日历",en:"Add calendar"},"calcfg.addDatabase":{zh:"添加多维表",en:"Add database"},"calcfg.subscribeExternal":{zh:"订阅外部日历",en:"Subscribe to external calendar"},"calcfg.subscribeHint":{zh:"粘贴 .ics 订阅地址(Google / Outlook / Apple 日历「密钥地址」都行)",en:"Paste an .ics subscription URL (Google, Outlook, or Apple Calendar's private address all work)"},"calcfg.importIcs":{zh:"导入 .ics 文件",en:"Import .ics file"},"calcfg.fileTooLarge":{zh:"文件过大(> {mb}MB)",en:"File too large (over {mb} MB)"},"calcfg.notIcs":{zh:"这不是一个 .ics 日历文件",en:"That isn't an .ics calendar file"},"calcfg.readFailed":{zh:"读取失败:{msg}",en:"Failed to read: {msg}"},"calcfg.renameCalendar":{zh:"重命名日历",en:"Rename calendar"},"calcfg.renameSub":{zh:"重命名订阅",en:"Rename subscription"},"calcfg.rename":{zh:"重命名",en:"Rename"},"calcfg.refreshNow":{zh:"立即刷新",en:"Refresh now"},"calcfg.unsubscribe":{zh:"取消订阅",en:"Unsubscribe"},"calcfg.setDefaultDb":{zh:"设为默认库",en:"Set as default"},"calcfg.openInNewTab":{zh:"在新标签打开",en:"Open in new tab"},"calcfg.columnMapping":{zh:"日历设置(列映射)",en:"Calendar settings (column mapping)"},"calcfg.removeFromCalendar":{zh:"从日历移除",en:"Remove from calendar"},"calcfg.searchDbPlaceholder":{zh:"搜索要加入日历的多维表…",en:"Search databases to add to the calendar…"},"calcfg.noCandidates":{zh:"没有含日期属性的可添加多维表",en:"No databases with a date property available to add"},"calcfg.footHint":{zh:"只有含「日期」属性的多维表会出现在这里",en:"Only databases with a Date property appear here"},"calcfg.weekStart":{zh:"一周开始于",en:"Week starts on"},"calcfg.weekStart.auto":{zh:"跟随语言({day})",en:"Default ({day})"},"calcfg.weekStart.sun":{zh:"周日",en:"Sunday"},"calcfg.weekStart.mon":{zh:"周一",en:"Monday"}});function Ra(){const{t:s}=q(),n=K(c=>c.pref),p=K(c=>c.setPref),i=c=>s(c===1?"calcfg.weekStart.mon":"calcfg.weekStart.sun"),u=[{value:"auto",label:s("calcfg.weekStart.auto",{day:i(Fa())})},{value:0,label:i(0)},{value:1,label:i(1)}],f=u.find(c=>c.value===n)??u[0];return a.jsxs("div",{className:"amx-calcfg-weekstart","data-week-start":n,children:[a.jsx("span",{className:"amx-calcfg-weekstart-label",children:s("calcfg.weekStart")}),a.jsxs(Ea,{label:`${s("calcfg.weekStart")} · ${f.label}`,className:"capability-menu-trigger amx-calcfg-weekstart-btn",selection:!0,items:u.map(c=>({id:`week-start:${c.value}`,label:c.label,selected:c.value===n,onSelect:()=>p(c.value)})),children:[a.jsx("span",{children:f.label}),a.jsx(aa,{size:13})]})]})}function se(){return a.jsx(qa,{children:a.jsxs("div",{className:"amx-calside",children:[a.jsx(Ha,{}),a.jsx($a,{})]})})}const $=s=>new Date(s.getFullYear(),s.getMonth(),1);function Ha(){const{t:s}=q(),n=oa(t=>(t.mainTabs,((t.api?ra(t.api):null)?.params??{}).__type==="calendar")),p=H(t=>t.visibleStart),i=H(t=>t.visibleEnd),u=H(t=>t.requestJump),f=d.useMemo(()=>ia(new Date),[]),[c,h]=d.useState(()=>$(f));d.useEffect(()=>{if(n&&p&&i){const t=Y(p),b=ma(t,Math.floor(da(Y(i),t)/2));h($(b))}},[n,p,i]);const v=ua(),x=d.useMemo(()=>fa(c),[c,v]),C=F(f,!0),o=t=>{if(!n||!p||!i)return!1;const b=F(t,!0);return b>=p&&b<=i},N=t=>{h($(t)),n&&u(F(t,!0))};return a.jsxs("div",{className:"amx-mini",children:[a.jsxs("div",{className:"amx-mini-head",children:[a.jsx("button",{className:"amx-mini-nav",onClick:()=>h(new Date(c.getFullYear(),c.getMonth()-1,1)),"aria-label":s("calcfg.prevMonth"),children:"‹"}),a.jsx("span",{className:"amx-mini-title",children:ha(c)}),a.jsx("button",{className:"amx-mini-nav",onClick:()=>h(new Date(c.getFullYear(),c.getMonth()+1,1)),"aria-label":s("calcfg.nextMonth"),children:"›"})]}),a.jsx("div",{className:"amx-mini-dow",children:pa().map(t=>a.jsx("span",{children:t},t))}),a.jsx("div",{className:"amx-mini-grid",children:x.map(t=>{const b=t.getMonth()!==c.getMonth(),E=F(t,!0)===C;return a.jsx("button",{className:`amx-mini-day${b?" out":""}${E?" today":""}${o(t)?" band":""}`,onClick:()=>N(t),title:n?s("calcfg.jumpToDay"):void 0,children:t.getDate()},+t)})})]})}function $a(){const{t:s}=q(),n=J(e=>e.vaultRoot)??"",i=J(e=>e.vaultSide)==="cloud"?s("calcfg.cloud"):n.split(/[\\/]/).pop()||n,u=ga(),f=xa(),c=ba(),h=ja(),v=j(e=>e.errors),x=D(e=>e.byVault),C=D(e=>e.setColor),o=D(e=>e.toggleHidden),N=D(e=>e.setDefault),t=D(e=>e.addMember),b=D(e=>e.removeMember),[E,I]=d.useState(!1),[T,S]=d.useState(null),[W,k]=d.useState(null),[m,g]=d.useState(null),[z,y]=d.useState(null),sa=d.useMemo(()=>new Set(u.map(e=>e.db.path)),[u]),G=[...u.map(e=>({db:e.db})),...f.map(e=>({db:e,readonly:!0,kind:"agent"})),...c.map(e=>({db:e,readonly:!0,kind:"other"})),...h.map(e=>({db:e,readonly:!0,kind:"ics"}))],_=va(n,x),ta=e=>{g(null),R(s("calcfg.renameCalendar"),e.name).then(r=>{const l=r?.trim();l&&l!==e.name&&ka.getState().mutate(e.path,A=>({...A,name:l}))})},M=e=>e.slice(6),U=e=>v[M(e)],na=()=>{R(s("calcfg.subscribeExternal"),"",{label:s("calcfg.subscribeHint")}).then(e=>{const r=e?.trim();r&&j.getState().add(r)})},ca=()=>{const e=document.createElement("input");e.type="file",e.accept=".ics,text/calendar",e.onchange=()=>{const r=e.files?.[0];if(r){if(r.size>Z){k(s("calcfg.fileTooLarge",{mb:Z/1024/1024}));return}k(null),r.text().then(l=>{j.getState().importText(Ma(l)||r.name.replace(/\.ics$/i,""),l)||k(s("calcfg.notIcs"))}).catch(l=>k(s("calcfg.readFailed",{msg:l?.message||String(l)})))}},e.click()};return a.jsxs("div",{className:"amx-calcfg",children:[a.jsx("div",{className:"amx-calcfg-head",children:s("calcfg.title")}),G.length===0&&a.jsx("div",{className:"amx-calcfg-empty",children:s("calcfg.empty")}),a.jsx("div",{className:"amx-calcfg-list",children:G.map(({db:e,readonly:r,kind:l},A)=>{const L=Ca(n,x,e.path,A),O=!Na(n,x,e.path),P=_?_===e.path:A===0;return a.jsxs("div",{className:"amx-calcfg-row",children:[a.jsx("span",{className:"amx-calcfg-type","aria-hidden":"true",children:l==="agent"?a.jsx(wa,{size:14}):l==="ics"?a.jsx(Q,{size:14}):l==="other"?a.jsx(Ia,{size:14}):a.jsx(B,{size:14})}),a.jsx("span",{className:"amx-calcfg-swatch",style:{background:O?L:"transparent",borderColor:L},children:a.jsx("input",{type:"color",value:L,onChange:w=>C(n,e.path,w.target.value),title:s("calcfg.eventColor")})}),a.jsxs("span",{className:`amx-calcfg-name${O?"":" off"}`,title:U(e.path)||e.name,children:[e.name,l==="ics"&&U(e.path)&&a.jsxs("span",{className:"amx-cal-vault",children:[" · ",s("calcfg.fetchFailed")]}),(()=>{const w=l==="agent"?"":l==="other"?e.vaultLabel||"":i;return w?a.jsxs("span",{className:"amx-cal-vault",children:[" · ",w]}):null})()]}),!r&&a.jsx("button",{className:`amx-calcfg-def${P?" on":""}`,"aria-label":P?s("calcfg.isDefaultAria",{name:e.name}):s("calcfg.setDefaultAria",{name:e.name}),title:s(P?"calcfg.defaultCalendar":"calcfg.setAsDefault"),onClick:()=>N(n,e.path),children:a.jsx(Ta,{size:13,fill:P?"currentColor":"none"})}),a.jsx(La,{label:s("calcfg.showInCalendar"),isLabelHidden:!0,size:"sm",value:O,onChange:()=>o(n,e.path)}),(!r||l==="ics")&&a.jsx("button",{className:"amx-calcfg-more",title:s("calcfg.more"),onClick:w=>{const V=w.currentTarget.getBoundingClientRect();g({db:e,ics:l==="ics",x:Math.min(V.left,window.innerWidth-180),y:V.bottom+4})},children:"⋯"})]},e.path)})}),a.jsxs("button",{className:"amx-calcfg-add amx-calcfg-add-main",onClick:e=>{const r=e.currentTarget.getBoundingClientRect();S({x:Math.max(12,r.left),y:r.bottom+4})},children:[a.jsx(Da,{size:14})," ",s("calcfg.addCalendar")," ",a.jsx(aa,{size:13})]}),W&&a.jsx("div",{className:"amx-calcfg-hint",style:{color:"var(--danger)"},children:W}),a.jsx(Ra,{}),T&&a.jsx("div",{className:"amx-db-popwrap",onMouseDown:()=>S(null),children:a.jsxs(X,{className:"amx-db-pop amx-calcfg-addmenu",x:T.x,y:T.y,onMouseDown:e=>e.stopPropagation(),children:[a.jsxs("button",{className:"amx-db-opt",onClick:()=>{S(null),I(!0)},children:[a.jsx(B,{size:14})," ",s("calcfg.addDatabase")]}),a.jsxs("button",{className:"amx-db-opt",onClick:()=>{S(null),na()},children:[a.jsx(Q,{size:14})," ",s("calcfg.subscribeExternal")]}),a.jsxs("button",{className:"amx-db-opt",onClick:()=>{S(null),ca()},children:[a.jsx(Oa,{size:14})," ",s("calcfg.importIcs")]})]})}),m&&a.jsx("div",{className:"amx-db-popwrap",onMouseDown:()=>g(null),children:a.jsx(X,{className:"amx-db-pop amx-calcfg-menu",x:m.x,y:m.y,onMouseDown:e=>e.stopPropagation(),children:m.ics?a.jsxs(a.Fragment,{children:[!!j.getState().subs.find(e=>e.id===M(m.db.path))?.url&&a.jsx("button",{className:"amx-db-opt",onClick:()=>{j.getState().refresh(M(m.db.path)),g(null)},children:s("calcfg.refreshNow")}),a.jsx("button",{className:"amx-db-opt",onClick:()=>{const e=M(m.db.path),r=m.db.name;g(null),R(s("calcfg.renameSub"),r).then(l=>{l?.trim()&&j.getState().rename(e,l.trim())})},children:s("calcfg.rename")}),a.jsx("button",{className:"amx-db-opt amx-db-opt-danger",onClick:()=>{j.getState().remove(M(m.db.path)),g(null)},children:s("calcfg.unsubscribe")})]}):a.jsxs(a.Fragment,{children:[a.jsx("button",{className:"amx-db-opt",onClick:()=>ta(m.db),children:s("calcfg.rename")}),a.jsx("button",{className:"amx-db-opt",onClick:()=>{N(n,m.db.path),g(null)},children:s("calcfg.setDefaultDb")}),a.jsx("button",{className:"amx-db-opt",onClick:()=>{Sa(m.db.path),g(null)},children:s("calcfg.openInNewTab")}),a.jsx("button",{className:"amx-db-opt",onClick:()=>{y(m.db),g(null)},children:s("calcfg.columnMapping")}),a.jsx("button",{className:"amx-db-opt amx-db-opt-danger",onClick:()=>{b(n,m.db.path),g(null)},children:s("calcfg.removeFromCalendar")})]})})}),E&&a.jsx(Ba,{memberPaths:sa,onClose:()=>I(!1),onAdd:(e,r,l)=>{t(n,e.path,r,l),I(!1)}}),z&&a.jsx("div",{className:"amx-db-popwrap",onMouseDown:()=>y(null),children:a.jsx("div",{className:"amx-db-pop amx-calpick-pop",onMouseDown:e=>e.stopPropagation(),children:a.jsx(ea,{dbName:z.name,columns:z.columns,initial:za(n,x,z.path),onCancel:()=>y(null),onConfirm:(e,r)=>{t(n,z.path,e,r),y(null)}})})})]})}function Ba({memberPaths:s,onClose:n,onAdd:p}){const{t:i}=q(),u=ya(),[f,c]=d.useState(""),[h,v]=d.useState(null),x=d.useMemo(()=>u.filter(o=>!s.has(o.path)&&o.columns.some(Aa)),[u,s]),C=f?x.filter(o=>o.name.toLowerCase().includes(f.toLowerCase())):x;return a.jsx("div",{className:"amx-qf-scrim",onMouseDown:n,children:h?a.jsx("div",{className:"amx-qf-card",onMouseDown:o=>o.stopPropagation(),children:a.jsx(ea,{dbName:h.name,columns:h.columns,onCancel:()=>v(null),onConfirm:(o,N)=>p(h,o,N)})}):a.jsxs("div",{className:"amx-qf",onMouseDown:o=>o.stopPropagation(),children:[a.jsxs("div",{className:"amx-qf-head",children:[a.jsx(Pa,{size:16,className:"amx-qf-searchicon"}),a.jsx("input",{autoFocus:!0,className:"amx-qf-input",placeholder:i("calcfg.searchDbPlaceholder"),value:f,onChange:o=>c(o.target.value)})]}),a.jsxs("div",{className:"amx-qf-list",children:[C.map(o=>a.jsxs("button",{className:"amx-qf-row",onClick:()=>v(o),children:[a.jsx("span",{className:"amx-qf-icon",children:a.jsx(B,{size:15})}),a.jsx("span",{className:"amx-qf-title",children:o.name||o.path}),a.jsx("span",{className:"amx-qf-sub",children:o.path.replace(/\\/g,"/").split("/").slice(0,-1).join("/")||"/"})]},o.path)),C.length===0&&a.jsx("div",{className:"amx-qf-empty",children:i("calcfg.noCandidates")})]}),a.jsx("div",{className:"amx-qf-foot",children:i("calcfg.footHint")})]})})}export{se as CalendarConfigView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as n,j as s,t as we,r as Je,u as Ce}from"./index-CF4RV4mh.js";import{z as xt,i1 as ft,i2 as mt,i3 as ht,i4 as pt,i5 as yt,u as kt,da as gt,i6 as bt,i7 as me,i8 as vt,i9 as G,ia as be,ib as Q,ic as wt,cp as jt,aI as $t,id as ae,ie as Te,ig as $e,ih as Mt,ii as Qe,ij as et,ik as fe,a7 as xe,il as J,im as zt,io as Ct,ip as Et,iq as Dt,ir as Tt,is as St,it as Nt,iu as qe,iv as Rt,iw as We,ix as At,iy as He,iz as It,iA as tt}from"./appStore-Dg9WALEA.js";import{u as Lt,p as ee,m as he,t as pe,S as Pt,a as qt,b as Wt,r as Ht,c as Kt,I as Ft,l as Ot,A as Vt}from"./astryxBridge-BZhaZPs4.js";import{u as te,H as Bt}from"./calendarNavStore-C7fGRpoH.js";import{u as Gt}from"./mdMarkStore-CsKl7C8O.js";import{E as Yt,d as Xt}from"./EventCard-BmDQkEj9.js";import{Z as Ut,a as _t}from"./zoom-in-hr5bRpDL.js";import{R as Zt}from"./rotate-ccw-CUlnplr0.js";import"./nativeDownload-D-f1_L2S.js";import"./ipc-DQOD2UKk.js";import"./client-BSKpsyAw.js";import"./mdMarks-Bq7Hl-4C.js";const Jt=[["path",{d:"M16 19h6",key:"xwg31i"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5",key:"1glfrc"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}]],Qt=xt("calendar-plus",Jt);function nt({children:e,as:t="span",ref:a,...u}){return n.createElement(t,{ref:a,...u,className:"x10l6tqk x1i1rx1s xjm9jq1 xkdpibf x1717udv xb3r6kr xzpqnlu xuxw1ft xng3xce x13vifvy x1o0tod x47corl x87ps6o"},e)}nt.displayName="VisuallyHidden";const en="data-astryx-edge-comp",Re=n.createContext(null);Re.displayName="SizeContext";function tn(e,t="md"){const a=n.use(Re);return e??a??t}Re.Provider;const st=n.createContext(null);st.displayName="ButtonGroupContext";function nn(){return n.use(st)}const rt=n.createContext(null);rt.displayName="LinkContext";function sn(e){function t({href:a,ref:u,...x}){return n.createElement(e,{ref:u,href:a,to:a,...x})}return t.displayName=`LinkWithTo(${typeof e=="string"?e:e.displayName||e.name||"Component"})`,t}function at(e){const t=n.use(rt),a=e??t?.component??"a";return n.useMemo(()=>a==="a"?"a":sn(a),[a])}const re={base:{kVAEAm:"x1n2onr6",k1xSpc:"x3nfvp2",kGNEyG:"x6s0dn4",kjj79g:"xl56j7k",kOIVth:"x1txdalj",k8WAf4:"xce4md1",kg3NbH:"xrrkdod",kMzoRj:"xc342km",ksu8eU:"xng3xce",kaIpWk:"x1jxw6zd",kMv6JI:"xjb2p0i",kGuDYH:"xcr08ib",kLWn49:"x1kq96og",k63SB2:"x1e4wzip",khDVqt:"xuxw1ft",kkrTdU:"x1ypdohk",k1ekBW:"xrafxwg",kIyJzY:"xuedmi6 x12w9bfk",kAMwcw:"xlr8y92",$$css:!0},pressable:{k3aq6I:"x3oybdh xk4oym4",$$css:!0},disabled:{kkrTdU:"x1h6gzvc",kSiTet:"xbyyjgo",kKwaWg:"x18o3ruo",k3aq6I:"x1c071of x1pdlv7q",$$css:!0},ariaDisabled:{kKwaWg:"x18o3ruo x8o3jvd xuqm82a",$$css:!0},iconOnly:{"--button-icon-only-aspect":"x1v15ycx",kOBAk4:"xioom0i",kg3NbH:"xnjsko4",k8WAf4:"xt970qd",$$css:!0},iconWrapper:{k1xSpc:"x3nfvp2",kGNEyG:"x6s0dn4",kjj79g:"xl56j7k",kmuXW:"x2lah0s",$$css:!0},contentWrapper:{k1xSpc:"xjp7ctv",$$css:!0},link:{kybGjl:"x1hl2dhg",$$css:!0}},rn={sm:{kZKoxP:"x6k0iem",$$css:!0},md:{kZKoxP:"x1ueg155",$$css:!0},lg:{kZKoxP:"xssyfek",$$css:!0}},an={sm:{kzqmXN:"x1kky2od",kZKoxP:"xlup9mm",kGuDYH:"x1j61zf2",$$css:!0},md:{kzqmXN:"x1kky2od",kZKoxP:"xlup9mm",kGuDYH:"x1j61zf2",$$css:!0},lg:{kzqmXN:"xw4jnvo",kZKoxP:"x1qx5ct2",kGuDYH:"xwsyq91",$$css:!0}},on={primary:{kWkggS:"x1ewilqj",kMwMTN:"x17wrial",kKwaWg:"x1ilzqfv xq8i9tn",kI3sdo:"x17nn4n9","--button-focus-offset":"xkzo27j",kInvED:"x1wfwxd8 x13aywxo",$$css:!0},secondary:{kWkggS:"x17x4s8c",kMwMTN:"x1tgivj0",kKwaWg:"x1ilzqfv xq8i9tn",kI3sdo:"x17nn4n9","--button-focus-offset":"xkzo27j",kInvED:"x1wfwxd8 x13aywxo",$$css:!0},ghost:{kWkggS:"xjbqb8w",kMwMTN:"x1tgivj0",kKwaWg:"x1ilzqfv xq8i9tn",kI3sdo:"x17nn4n9","--button-focus-offset":"xkzo27j",kInvED:"x1wfwxd8 x13aywxo",$$css:!0},destructive:{kWkggS:"x1pjz0fi",kMwMTN:"x1m024r3",kKwaWg:"x1ilzqfv xq8i9tn",kI3sdo:"x1p73he7","--button-focus-offset":"xkzo27j",kInvED:"x1wfwxd8 x13aywxo",$$css:!0}},Ke={hiddenContent:{kMwMTN:"x19co3pv",$$css:!0},hiddenContentDelayed:{kKVMdj:"x1ffowhz",k44tkh:"xjlvqhv",kWV6AL:"x10e4vud",kKxzle:"x17yabm6 x14q22ui",$$css:!0}},je={horizontal:{krdFHd:"x15mokao x8eehn2",kVL7Gh:"xbiv7yw x1xrp5p4",kfmiAY:"x1ga7v0g x11xp8u1",kT0f0o:"x16uus16 x747jw7",k2ei4v:"xgbv0en x1pjv70x",kVhnKS:"x1t7ytsu xyf0ibl",kGJrpR:"x1j92z86",$$css:!0},vertical:{krdFHd:"x15mokao x8eehn2",kfmiAY:"x1ga7v0g x2qxyot",kVL7Gh:"xbiv7yw x1yp72r9",kT0f0o:"x16uus16 x747jw7",kEafiO:"x11xkdxz x1g31smg",kPef9Z:"x13fuv20 x1d9v4yf",kLZC3w:"x1pc3f07",$$css:!0},onSolidHorizontal:{kGJrpR:"xrvmtm5",$$css:!0},onSolidVertical:{kLZC3w:"x11npmm7",$$css:!0}};function ce({label:e,variant:t="secondary",size:a,type:u="button",isDisabled:x=!1,isLoading:C=!1,isInterruptible:$=!1,clickAction:y,icon:M,isIconOnly:l=!1,children:c,endContent:k,tooltip:v,href:T,as:D,target:z,rel:p,xstyle:K,className:I,style:A,ref:S,...P}){const h=tn(a,"md"),E=nn(),[N,i]=n.useTransition(),f=n.useRef(!1),g=C||N,w=N||$,q=E?.isDisabled??!1,W=x||q||g&&!$,X=at(D),F=T!=null&&!W,V=v!=null&&W,d=Lt({placement:"above",isEnabled:v!=null}),R=U=>{if(W||f.current&&!$){U.preventDefault();return}P.onClick?.(U),y&&!U.defaultPrevented&&(f.current=!0,i(async()=>{try{await y(U)}finally{f.current=!1}}))},H=V?U=>{U.key==="Enter"||U.key===" "?U.preventDefault():P.onKeyDown?.(U)}:void 0,O=t==="ghost"?{[en]:""}:null,o=ee(re.base,rn[h],on[t],l&&re.iconOnly,W&&re.disabled,V&&re.ariaDisabled,F&&re.link,!E&&re.pressable,E&&(E.orientation==="horizontal"?je.horizontal:je.vertical),E&&(t==="primary"||t==="destructive")&&(E.orientation==="horizontal"?je.onSolidHorizontal:je.onSolidVertical),K),r=he(pe("button",{variant:t,size:h}),o,I,A),m=s.jsxs(s.Fragment,{children:[g&&s.jsx("span",{...{0:{className:"x10l6tqk x13vifvy xu96u03 x3m8u43 x1ey2m1c xrvj5dj x1ku5rj1"},1:{className:"x10l6tqk x13vifvy xu96u03 x3m8u43 x1ey2m1c xrvj5dj x1ku5rj1 xqcmdr3 xb2rp9n xskzprw x17yabm6 x14q22ui"}}[!!w<<0],"aria-hidden":"true",children:s.jsx(Pt,{size:"sm",shade:"inherit"})}),s.jsxs("span",{...ee(re.contentWrapper,g&&(w?Ke.hiddenContentDelayed:Ke.hiddenContent)),"aria-hidden":g||void 0,children:[M&&s.jsx("span",{...ee(re.iconWrapper,an[h]),children:M}),l?null:s.jsx("span",{className:"xb3r6kr xlyipyv xeuugli",children:c??e}),!l&&k&&s.jsx("span",{className:"x3nfvp2 x6s0dn4 x1heor9g",children:k})]}),s.jsx(nt,{role:"status","aria-live":"polite",children:g?"Loading":""})]}),b=l&&e!==""||g&&!l||c!=null&&c!==e?{"aria-label":e}:null,L=v!=null?{"aria-describedby":[P["aria-describedby"],d.describedBy].filter(Boolean).join(" ")||void 0}:null,B=qt(S,v!=null?d.ref:void 0);let ne;return F?ne=s.jsx(X,{ref:B,href:T,target:z,rel:p,...r,...P,...b,...L,...O,onClick:R,children:m}):ne=s.jsx("button",{ref:B,type:u,disabled:V?void 0:W,...r,...P,...b,...L,...O,"aria-busy":g||void 0,"aria-disabled":V||void 0,onClick:R,...H?{onKeyDown:H}:null,children:m}),v?s.jsxs(s.Fragment,{children:[ne,d.renderTooltip(v)]}):ne}ce.displayName="Button";const ln='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled]), [contenteditable]:not([contenteditable="false"]), audio[controls], video[controls], iframe, details > summary:first-child',ve=[];function cn(e){ve.push(e)}function un(e){const t=ve.lastIndexOf(e);t!==-1&&ve.splice(t,1)}function dn(e){return ve[ve.length-1]===e}function xn(e){return e.isComposing===!0||e.keyCode===229}function fn(e){if(e.hasAttribute("inert")||e.closest("[inert]")||e.hidden||e.closest("[hidden]"))return!1;if(typeof window<"u"&&window.getComputedStyle){const t=window.getComputedStyle(e);if(t.visibility==="hidden"||t.display==="none")return!1}return!0}function Ae(e){return Array.from(e.querySelectorAll(ln)).filter(fn)}function ot(e){try{e.focus()}catch{}return document.activeElement===e}function Fe(e){const t=Ae(e);for(const a of t)if(ot(a))return!0;return!1}function mn(e){const t=Ae(e);for(let a=t.length-1;a>=0;a--)if(ot(t[a]))return!0;return!1}function hn(e){const{isActive:t,onEscape:a}=e,u=n.useRef(null),x=n.useRef(null),C=n.useRef(!1),$=n.useCallback(()=>{u.current&&Fe(u.current)},[]);return n.useEffect(()=>{if(!t)return;const y=M=>{const l=u.current;if(!l)return;const c=M.target;l.contains(c)?x.current=c:C.current&&(Fe(l),x.current===document.activeElement&&mn(l),x.current=document.activeElement),C.current=!1};return document.addEventListener("focus",y,!0),()=>{document.removeEventListener("focus",y,!0)}},[t]),n.useEffect(()=>{if(!t)return;const y=()=>{a?.()};a&&cn(y);const M=l=>{const c=u.current;if(c){if(l.key==="Escape"&&a){if(l.defaultPrevented||xn(l)||!dn(y))return;l.preventDefault(),l.stopPropagation(),a();return}if(l.key==="Tab"){C.current=!0;const k=Ae(c);if(k.length===0)return;const v=k[0],T=k[k.length-1];l.shiftKey?document.activeElement===v&&(l.preventDefault(),T.focus()):document.activeElement===T&&(l.preventDefault(),v.focus())}}};return document.addEventListener("keydown",M),()=>{document.removeEventListener("keydown",M),a&&un(y)}},[t,a]),{containerRef:u,focusFirst:$}}const Oe={surface:{kWkggS:"x1prclbq",kaIpWk:"x1hviunn",kGVxlE:"x1i5ehqx",$$css:!0},contentWrapper:{kVAEAm:"x1n2onr6",$$css:!0}};function pn(e={}){const{onShow:t,onHide:a,xstyle:u,hasLightDismiss:x=!0,hasEscapeDismiss:C=!0,hasAutoFocus:$=!0,hasSurface:y=!0,hasCloseButton:M=!0,closeButtonLabel:l="Close popover",dialogLabel:c,role:k="dialog",isModal:v=!0}=e,T=n.useRef(null),D=n.useRef(!1),z=Wt({mode:"context",lightDismiss:x,onShow:t,onHide:a}),{containerRef:p,focusFirst:K}=hn({isActive:z.isOpen,onEscape:C||x?z.hide:void 0});n.useEffect(()=>{z.isOpen&&$&&!D.current&&requestAnimationFrame(()=>{K()}),z.isOpen||(D.current=!1)},[z.isOpen,$,K]);const I=n.useCallback(N=>{T.current=N,z.ref(N)},[z]),A=n.useCallback(N=>{D.current=N?.skipAutoFocus??!1,z.show()},[z]),S=n.useCallback(()=>{z.isOpen?z.hide():A()},[z,A]),P={"aria-haspopup":k==="dialog"?"dialog":"true","aria-expanded":z.isOpen,"aria-controls":z.id},h=n.useRef(!1);n.useEffect(()=>{k==="dialog"&&!c&&!h.current&&(h.current=!0,console.warn('usePopover: role="dialog" without a `dialogLabel` renders an unnamed dialog. Pass `dialogLabel`, or use `role: "none"` for listbox/menu popups whose content already carries its own role.'))},[k,c]);const E=n.useCallback((N,i)=>z.render(s.jsxs("div",{ref:p,role:k==="dialog"?"dialog":void 0,"aria-modal":k==="dialog"&&v?!0:void 0,"aria-label":k==="dialog"?c:void 0,...ee(Oe.contentWrapper,y&&Oe.surface,u),children:[N,M&&s.jsx("div",{className:"x10l6tqk x1ey2m1c x1nrll8i x31h1t8 x1vjfegm x1i1rx1s x10okhzq xjm9jq1 x132qfvm xb3r6kr x1dordxg x1hyvwdk x10wafsz x47corl xbt4iw xexx8yu x1kw28su",children:s.jsx(ce,{variant:"secondary",label:l,onClick:z.hide})})]}),{...i,xstyle:i?.xstyle}),[z,M,y,l,p,c,k,v,u]);return{triggerRef:I,contentRef:p,anchorId:z.anchorId,show:A,hide:z.hide,toggle:S,isOpen:z.isOpen,id:z.id,render:E,triggerProps:P}}const Ve={horizontal:{k1xSpc:"x78zum5",kGNEyG:"x6s0dn4",kzqmXN:"xh8yej3",$$css:!0},vertical:{k1xSpc:"x3nfvp2",kXwgrk:"xdt5ytf",kGNEyG:"x6s0dn4",kZKoxP:"x5yr21d",$$css:!0}},de={horizontalLine:{kZKoxP:"xsyqizj",kzQI83:"x1iyjqo2",kmuXW:"xs83m0k",$$css:!0},verticalLine:{kzqmXN:"xjk4fl7",kzQI83:"x1iyjqo2",kmuXW:"xs83m0k",$$css:!0},subtle:{kWkggS:"x1m4xfpy",$$css:!0},strong:{kWkggS:"x7njt3n",$$css:!0}},Be={horizontal:{keTefX:"xojxgvx",k71WvV:"x1fcf3bl",kzqmXN:"xx6qvi6",$$css:!0},vertical:{keoZOQ:"x1sa9bsh",k1K539:"x6h7pi7",kZKoxP:"x12qplqi",$$css:!0}};function lt({orientation:e="horizontal",label:t,variant:a="subtle",isFullBleed:u=!1,xstyle:x,className:C,style:$,ref:y,...M}){const l=e==="horizontal";return s.jsxs("div",{ref:y,role:"separator","aria-orientation":e,...he(pe("divider",{variant:a,orientation:e}),ee(l?Ve.horizontal:Ve.vertical,u&&(l?Be.horizontal:Be.vertical),x),C,$),...M,children:[s.jsx("div",{...ee(l?de.horizontalLine:de.verticalLine,de[a])}),t&&s.jsx("div",{...{0:{className:"x2lah0s xrrkdod x141an7d x1ltkj2j xv1l7n4"},1:{className:"x2lah0s x141an7d x1ltkj2j xv1l7n4 xnjsko4 x8o8v82"}}[!l<<0],children:t}),t&&s.jsx("div",{...ee(l?de.horizontalLine:de.verticalLine,de[a])})]})}lt.displayName="Divider";const yn=["noopener","noreferrer"];function kn(e,t){if(e!=="_blank")return{target:e,rel:t};const a=t?.split(/\s+/).filter(Boolean)??[];for(const u of yn)a.includes(u)||a.push(u);return{target:e,rel:a.join(" ")}}const _={root:{k1xSpc:"x78zum5",kGNEyG:"x6s0dn4",kOIVth:"x1txdalj",kg3NbH:"xf314gf",kVAEAm:"x1n2onr6",kB7OPa:"x9f619",k9WMMc:"x1yc453h",kaIpWk:"xh6dtrn",$$css:!0},alignStart:{kGNEyG:"x1cy8zhl",$$css:!0},interactive:{kkrTdU:"x1ypdohk",k1ekBW:"x15406qy",kIyJzY:"xkvfbh3",kAMwcw:"xlr8y92",kWkggS:"xjbqb8w xe9uy6x xyxi2l3",$$css:!0},focusVisibleOutline:{kI3sdo:"x1a2a7pz x1irc7jg",kInvED:"x1wfwxd8 xdjuwb3",$$css:!0},highlighted:{kWkggS:"x1lmrjuc",$$css:!0},selected:{kWkggS:"xgcxg3y",$$css:!0},disabled:{kkrTdU:"x1h6gzvc",kfzvcC:"x47corl",$$css:!0},label:{kMwMTN:"x1tgivj0",kGuDYH:"xjm74w1",kLWn49:"xw6l6zx",$$css:!0},labelSingleTruncate:{kVQacm:"xb3r6kr",kg5iWk:"xlyipyv",khDVqt:"xuxw1ft",$$css:!0},labelMultiTruncate:{kVQacm:"xb3r6kr",k1xSpc:"x104kibb",kgKLqz:"x1ua5tub",$$css:!0},description:{kMwMTN:"xv1l7n4",kGuDYH:"x141an7d",kLWn49:"x1ltkj2j",$$css:!0},descriptionSingleTruncate:{kVQacm:"xb3r6kr",kg5iWk:"xlyipyv",khDVqt:"xuxw1ft",$$css:!0},descriptionMultiTruncate:{kVQacm:"xb3r6kr",k1xSpc:"x104kibb",kgKLqz:"x1ua5tub",$$css:!0}},Ge={lineClamp:e=>[{kJFfOR:e!=null?"x1yhjpo9":e,$$css:!0},{"--x-WebkitLineClamp":e??void 0}]},gn={compact:{k8WAf4:"xu0wf1k",$$css:!0},balanced:{k8WAf4:"xce4md1",$$css:!0},spacious:{k8WAf4:"x8o8v82",kg3NbH:"xrrkdod",$$css:!0}};function ct({as:e="div",marker:t,startContent:a,label:u,description:x,endContent:C,align:$="center",density:y="balanced",labelLines:M,descriptionLines:l,onClick:c,href:k,target:v,rel:T,isHighlighted:D=!1,isSelected:z=!1,isDisabled:p=!1,xstyle:K,className:I,style:A,ref:S,role:P,...h}){const E=at(),N=c!=null||k!=null,{target:i,rel:f}=kn(v,T),g=P!=null,w=typeof u=="string",q=typeof x=="string",W=M!=null?M===1?_.labelSingleTruncate:_.labelMultiTruncate:w?_.labelSingleTruncate:null,X=l!=null?l===1?_.descriptionSingleTruncate:_.descriptionMultiTruncate:q?_.descriptionSingleTruncate:null,F=s.jsxs(s.Fragment,{children:[s.jsx("span",{...ee(_.label,W,M!=null&&M>1&&Ge.lineClamp(M)),children:u}),x!=null&&s.jsx("span",{...ee(_.description,X,l!=null&&l>1&&Ge.lineClamp(l)),children:x})]}),V=R=>{p||R.target.closest("button, a, input, select, textarea")||c?.(R)},d=s.jsxs(s.Fragment,{children:[t,a!=null&&s.jsx("span",{className:"x3psx0u x78zum5",children:a}),g?s.jsx("span",{...{0:{className:"x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h"},1:{className:"x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h xbyyjgo"}}[!!p<<0],children:F}):k!=null?s.jsx(E,{href:k,target:i,rel:f,"aria-disabled":p||void 0,tabIndex:p?-1:void 0,...{0:{className:"xmper1u xln7xf2 x1heor9g x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h x1hl2dhg x1a2a7pz"},1:{className:"xmper1u xln7xf2 x1heor9g x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h x1hl2dhg x1a2a7pz xbyyjgo"}}[!!p<<0],children:F}):c!=null?s.jsx("button",{type:"button",onClick:c,disabled:p,...{0:{className:"xmper1u xln7xf2 x1heor9g x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h x1a2a7pz"},1:{className:"xmper1u xln7xf2 x1heor9g x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h x1a2a7pz xbyyjgo"}}[!!p<<0],children:F}):s.jsx("span",{...{0:{className:"x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h"},1:{className:"x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h xbyyjgo"}}[!!p<<0],children:F}),C!=null&&s.jsx("span",{...{0:{className:"x3psx0u x78zum5 xvc5jky"},1:{className:"x3psx0u x78zum5 xvc5jky xbyyjgo"}}[!!p<<0],children:C})]});return s.jsx(e,{ref:S,"aria-selected":z||void 0,"aria-disabled":p||void 0,...h,...he(pe("item",{density:y,align:$}),ee(_.root,gn[y],$==="start"&&_.alignStart,N&&_.interactive,N&&_.focusVisibleOutline,D&&_.highlighted,z&&_.selected,p&&!g&&_.disabled,K),I,A),role:P,onClick:g?c:N?V:void 0,children:d})}ct.displayName="Item";const Ie=n.createContext(null);Ie.displayName="DropdownMenuContext";function bn(){return n.use(Ie)}const Ye={root:{kB7OPa:"x9f619",kzqmXN:"xh8yej3",k8WAf4:"xce4md1",kg3NbH:"xf314gf",kaIpWk:"x1ws5lxm",kMv6JI:"x9ynric",kGuDYH:"xcr08ib",kMwMTN:"x1tgivj0",kWkggS:"xjbqb8w x1c52tdz x1uwx2nv",kkrTdU:"x1ypdohk",k9WMMc:"xdpxx8g",kI3sdo:"x1a2a7pz",$$css:!0},disabled:{kSiTet:"xbyyjgo",kkrTdU:"x1h6gzvc",$$css:!0}},vn={sm:{k8WAf4:"xu0wf1k",kg3NbH:"xf314gf",$$css:!0},md:{k8WAf4:"x1vofgu7",$$css:!0},lg:{$$css:!0}};function ie({icon:e,label:t,description:a,onClick:u,isDisabled:x=!1,endContent:C,xstyle:$,className:y,style:M}){const l=bn(),c=l?.menuSize??"md",k=n.useCallback(()=>{x||!u||(u(),l?.closeMenu())},[x,u,l]);return s.jsx(ct,{role:"menuitem",tabIndex:x?void 0:-1,startContent:e?Ht(e,{size:"sm",color:"secondary"}):void 0,label:t,description:a,endContent:C,onClick:k,isDisabled:x,xstyle:[Ye.root,vn[c],x&&Ye.disabled,$],...he(pe("dropdown-menu-item",{size:c}),{className:y,style:M})})}ie.displayName="DropdownMenuItem";const wn={divider:{kqGvvJ:"xsq74q5",$$css:!0}};function Xe(e){return`item-${e.label}`}function jn(e,t){return`section-${e.title??t}`}function $n(e){const t=[];for(let a=0;a<e.length;a++){const u=e[a];"type"in u&&u.type==="divider"?t.push(s.jsx(lt,{xstyle:wn.divider},`divider-${a}`)):"type"in u&&u.type==="section"?t.push(s.jsxs("div",{role:"group","aria-label":u.title,children:[u.title&&s.jsx("div",{className:"xu0wf1k xf314gf x9ynric x141an7d x1ltkj2j xv1l7n4 x87ps6o","aria-hidden":"true",children:u.title}),u.items.map(x=>s.jsx(ie,{icon:x.icon,label:x.label,onClick:x.onClick,isDisabled:x.isDisabled},Xe(x)))]},jn(u,a))):"type"in u||t.push(s.jsx(ie,{icon:u.icon,label:u.label,onClick:u.onClick,isDisabled:u.isDisabled},Xe(u)))}return t}const Mn=new Set(["text","search","url","tel","email","password","number"]);function zn(e){if(e.isContentEditable)return e;const t=e.closest("[contenteditable]");return t&&t.getAttribute("contenteditable")!=="false"?t:null}function Ue(e,t){if(!(e instanceof HTMLElement))return!1;const a=zn(e);if(a){const l=typeof window<"u"?window.getSelection():null;return l&&l.rangeCount>0&&!l.isCollapsed?!0:(a.textContent??"").length>0}const u=e.tagName==="TEXTAREA",x=e.tagName==="INPUT"&&Mn.has(e.type);if(!u&&!x)return!1;const C=e,{selectionStart:$,selectionEnd:y,value:M}=C;return $!==y||$==null?!0:t==="ArrowLeft"||t==="ArrowUp"||t==="Home"?$>0:t==="ArrowRight"||t==="ArrowDown"||t==="End"?$<M.length:!1}function Cn(e={}){const{itemSelector:t='[role="menuitem"]',wrap:a=!0,onEscape:u,orientation:x="vertical",hasHomeEnd:C=!0,isRtl:$=!1,hasRovingTabIndex:y=!1,hasCaretGuard:M=!1}=e,l=n.useRef(null),c=n.useCallback(h=>h.getAttribute("aria-disabled")==="true"||h.disabled===!0||h.hasAttribute("disabled"),[]),k=n.useCallback(()=>l.current?Array.from(l.current.querySelectorAll(t)):[],[t]),v=n.useCallback((h,E,N,i)=>{const f=h.length;if(f===0)return-1;let g=E;for(let w=0;w<f;w++){if(g<0||g>=f){if(!i)return-1;g=(g+f)%f}const q=h[g];if(q&&!c(q))return g;g+=N}return-1},[c]),T=n.useCallback(()=>{const h=k(),E=document.activeElement;return h.findIndex(N=>N===E||N.contains(E))},[k]),D=n.useCallback((h,E)=>{h.getAttribute("tabindex")!==String(E)&&h.setAttribute("tabindex",String(E))},[]),z=n.useCallback(()=>{const h=k(),E=h.filter(f=>!c(f));if(E.length===0)return;const i=E.find(f=>f.getAttribute("tabindex")==="0")??E[0];for(const f of h)D(f,f===i?0:-1)},[k,c,D]);Kt(()=>{y&&z()});const p=n.useCallback((h,E)=>{const N=h[E];if(N){if(y)for(const i of h)D(i,i===N?0:-1);N.focus()}},[y,D]),K=n.useCallback(h=>{const E=k();if(E.length===0)return;const N=Math.max(0,Math.min(h,E.length-1));p(E,N)},[k,p]),I=n.useCallback(()=>{const h=k(),E=v(h,0,1,!1);return E!==-1?(p(h,E),!0):!1},[k,v,p]),A=n.useCallback(()=>{const h=k(),E=v(h,h.length-1,-1,!1);return E!==-1?(p(h,E),!0):!1},[k,v,p]),S=n.useCallback(()=>{y&&z()},[y,z]),P=n.useCallback(h=>{if(h.ctrlKey||h.metaKey||h.altKey)return;if(h.key==="Escape"){h.preventDefault(),u?.();return}const E=x==="horizontal"||x==="both",N=x==="vertical"||x==="both",i=[],f=[];E&&(i.push($?"ArrowLeft":"ArrowRight"),f.push($?"ArrowRight":"ArrowLeft")),N&&(i.push("ArrowDown"),f.push("ArrowUp"));const g=i.includes(h.key),w=f.includes(h.key),q=C&&h.key==="Home",W=C&&h.key==="End";if(!g&&!w&&!q&&!W||M&&(Ue(h.target,h.key)||Ue(document.activeElement,h.key)))return;const X=T(),F=k();if(g){const V=X===-1?0:X+1,d=v(F,V,1,a);d!==-1&&p(F,d)}else if(w){const V=X===-1?F.length-1:X-1,d=v(F,V,-1,a);d!==-1&&p(F,d)}else q?I():W&&A();h.preventDefault()},[T,k,a,x,$,C,M,v,p,I,A,u]);return{listRef:l,handleKeyDown:P,handleFocus:S,focusItem:K,focusFirst:I,focusLast:A}}function En(e){return e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&e.key!==" "}function Dn(e){const{getItemLabels:t,onMatch:a,getCurrentIndex:u,resetMs:x=750,isDisabled:C}=e,$=n.useRef(""),y=n.useRef(void 0),M=n.useCallback(()=>{$.current="",y.current&&(clearTimeout(y.current),y.current=void 0)},[]),l=n.useCallback(()=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{$.current="",y.current=void 0},x)},[x]);return{onKeyDown:n.useCallback(k=>{const v=k.key===" "&&$.current.length>0;if(!En(k)&&!v)return!1;const T=t();if(T.length===0)return!1;const D=k.key.toLowerCase(),z=$.current.length>0&&$.current.split("").every(S=>S===D),p=z?D:$.current+D;$.current=p,l();const K=u?.()??-1,I=T.length,A=z?1:0;for(let S=0;S<I;S++){const P=(K+A+S+I)%I;if(C?.(P))continue;const h=T[P];if(h!=null&&h.trim().toLowerCase().startsWith(p))return a(P),!0}return!0},[t,a,u,l,C]),reset:M}}const ye={dropdown:{kB7OPa:"x9f619",k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kOIVth:"x1lsbc85",kskxy:"xuyqlj2",kORKVm:"x1odjw0f","--_dropdown-menu-radius":"x1fcsqxe","--_dropdown-menu-padding":"xgory14",kmVPX3:"x9epnlk",kaIpWk:"x1n97fys",kSiTet:"x1hc1fzr",k1ekBW:"x19991ni",kIyJzY:"xuedmi6",kAMwcw:"xlr8y92",$$css:!0},popover:{k7Eaqz:"xrzjruh",$$css:!0},popoverBlockGap:{keoZOQ:"xcsaf9d",k1K539:"x14cgwvg",$$css:!0},popoverInlineGap:{keTefX:"x11g1kdw",k71WvV:"xnur1sd",$$css:!0},popoverCustomWidth:e=>[{k7Eaqz:(typeof e=="number"?`${e}px`:e)!=null?"xkj4a21":typeof e=="number"?`${e}px`:e,$$css:!0},{"--x-minWidth":(t=>typeof t=="number"?t+"px":t??void 0)(typeof e=="number"?`${e}px`:e)}]},Tn={label:"Menu"};function Se({button:e=Tn,isMenuOpen:t,onOpenChange:a,menuWidth:u,onClick:x,hasChevron:C=!0,placement:$="below",className:y,style:M,xstyle:l,"data-testid":c,...k}){const v=("items"in k?k.items:void 0)??[],T=k.children,D=n.useId(),z=e?.size??"md",p=n.useRef(null),[K,I]=n.useState(!1),A=t!==void 0,S=A?t:K,P=n.useRef(0),h=n.useCallback(()=>{P.current=Date.now(),A?a?.(!1):I(!1),p.current?.focus()},[A,a]),E=n.useRef(!1),N=n.useCallback(()=>{A?a?.(!0):I(!0),E.current&&(E.current=!1)},[A,a]),i=pn({onHide:h,onShow:N,hasLightDismiss:!0,hasCloseButton:!1,hasAutoFocus:!1,role:"none"}),f=n.useCallback(()=>{i.hide()},[i]),{listRef:g,handleKeyDown:w,focusFirst:q,focusItem:W}=Cn({itemSelector:'[role="menuitem"]:not([aria-disabled="true"])',wrap:!1,onEscape:f}),X=n.useCallback(()=>g.current?Array.from(g.current.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')):[],[g]),F=Dn({getItemLabels:()=>X().map(b=>b.textContent),onMatch:W,getCurrentIndex:()=>X().findIndex(b=>b===document.activeElement||b.contains(document.activeElement))});n.useEffect(()=>{A&&(t&&!i.isOpen?(i.show(),requestAnimationFrame(()=>q())):!t&&i.isOpen&&i.hide())},[t,A,i,q]);const V=n.useCallback(b=>{if(b.key==="Enter"||b.key===" "){b.preventDefault();const L=document.activeElement;L?.getAttribute("role")==="menuitem"&&L.click();return}if(b.key==="Tab"){f();return}if(F.onKeyDown(b)){b.preventDefault();return}w(b)},[w,f,F]),d=n.useCallback(()=>{i.show(),requestAnimationFrame(()=>q())},[i,q]),R=n.useCallback(()=>{Date.now()-P.current<50||(x?.(),A?a?.(!t):i.isOpen?i.hide():d())},[x,A,a,t,i,d]),H=n.useCallback(b=>{i.isOpen||(b.key==="ArrowDown"||b.key==="Enter"||b.key===" ")&&(b.preventDefault(),d())},[i.isOpen,d]),Y=e.isIconOnly===!0,O=e.endContent??(C&&!Y?s.jsx(Ft,{icon:"chevronDown",size:"sm",color:"inherit"}):void 0),o=u?ye.popoverCustomWidth(u):ye.popover,r=$==="above"||$==="below"?ye.popoverBlockGap:ye.popoverInlineGap,m=n.useMemo(()=>({closeMenu:f,menuSize:z}),[f,z]),j=k.items!==void 0?$n(v):T;return s.jsxs(s.Fragment,{children:[s.jsx(ce,{...e,ref:b=>{p.current=b,i.triggerRef(b);const L=e.ref;typeof L=="function"?L(b):L&&(L.current=b)},tooltip:S?void 0:e.tooltip,endContent:O,onClick:R,onKeyDown:H,"aria-haspopup":"menu","aria-expanded":S,"aria-controls":D,"data-testid":c}),i.render(s.jsx("div",{ref:g,id:D,role:"menu","aria-label":e.label,onKeyDown:V,...he(pe("dropdown-menu"),ee(ye.dropdown,l),y,M),children:s.jsx(Ie,{value:m,children:j})}),{placement:$,alignment:"start",xstyle:[o,r,Ot[$]]})]})}Se.displayName="DropdownMenu";const Sn={wrapper:{k1xSpc:"x3nfvp2",kGNEyG:"x6s0dn4",kOIVth:"xzye2dw",kmuXW:"x2lah0s",$$css:!0}},Nn={ctrl:"⌃",alt:"⌥",shift:"⇧",enter:"↵",backspace:"⌫",escape:"Esc",tab:"⇥",up:"↑",down:"↓",left:"←",right:"→",plus:"+"};function Rn(e,t){return e==="mod"?t?"⌘":"Ctrl":Nn[e]??e.toUpperCase()}const An={ctrl:"Control",alt:"Alt",shift:"Shift",enter:"Enter",backspace:"Backspace",escape:"Escape",tab:"Tab",up:"Up arrow",down:"Down arrow",left:"Left arrow",right:"Right arrow",plus:"Plus"};function In(e,t){return e==="mod"?t?"Command":"Control":An[e]??e.toUpperCase()}function Ln(){return()=>{}}function Pn(){return!1}function qn(){if(typeof navigator>"u")return!1;const e="userAgentData"in navigator?navigator.userAgentData:null;return e&&typeof e=="object"&&"platform"in e?/mac/i.test(e.platform??""):/Mac|iPhone|iPad|iPod/.test(navigator.platform??"")}function it({keys:e,ref:t,xstyle:a,className:u,style:x,...C}){const $=n.useSyncExternalStore(Ln,qn,Pn),y=e.split("+").map(l=>l.trim().toLowerCase()),M=y.map(l=>In(l,$)).join(" + ");return s.jsx("span",{ref:t,role:"img","aria-label":M,...C,...he(pe("kbd"),ee(Sn.wrapper,a),u,x),children:y.map(l=>s.jsx("kbd",{"aria-hidden":"true",className:"x3nfvp2 x6s0dn4 xl56j7k x16asifk x1grt7ep x7a5moj xx3sua9 x17x4s8c xlxy82 x1q0q8m5 xib2hle xv1l7n4 x9ynric x141an7d x1e4wzip x1ltkj2j x87ps6o",children:Rn(l,$)},l))})}it.displayName="Kbd";Je({"calkeys.modeDay":{zh:"日",en:"Day"},"calkeys.modeWeek":{zh:"周",en:"Week"},"calkeys.mode3day":{zh:"3 日",en:"3 days"},"calkeys.modeMonth":{zh:"月",en:"Month"}});const Ne=[{id:"day",get label(){return we("calkeys.modeDay")},key:"d"},{id:"week",get label(){return we("calkeys.modeWeek")},key:"w"},{id:"3day",get label(){return we("calkeys.mode3day")},key:"3"},{id:"month",get label(){return we("calkeys.modeMonth")},key:"m"}];function Wn(e){const t=(e.metaKey||e.ctrlKey)&&!e.altKey;if(t&&(e.key==="c"||e.key==="C"))return{kind:"copy"};if(t&&(e.key==="v"||e.key==="V"))return{kind:"paste"};if(e.metaKey||e.ctrlKey||e.altKey)return null;if(e.key==="Delete"||e.key==="Backspace")return{kind:"delete"};if(e.key==="ArrowLeft")return{kind:"prev"};if(e.key==="ArrowRight")return{kind:"next"};const a=Ne.find(u=>u.key===e.key.toLowerCase());return a?{kind:"mode",mode:a.id}:null}const ke=e=>e.end?.getTime()??e.start.getTime()+3600*1e3;function Hn(e){const t=[...e].sort((u,x)=>u.start.getTime()-x.start.getTime()||ke(u)-ke(x)),a=new Map;for(let u=0;u<t.length;){let x=u+1,C=ke(t[u]);for(;x<t.length&&t[x].start.getTime()<C;)C=Math.max(C,ke(t[x])),x+=1;const $=t.slice(u,x),y=[],M=$.map(c=>{let k=y.findIndex(v=>v<=c.start.getTime());return k<0&&(k=y.length),y[k]=ke(c),{ev:c,lane:k}}),l=Math.max(1,y.length);for(const{ev:c,lane:k}of M)a.set(c.key,{lane:k,laneCount:l,leftPct:k/l*100,widthPct:100/l});u=x}return a}Je({"calview.untitled":{zh:"未命名",en:"Untitled"},"calview.newEventTitle":{zh:"新事件",en:"New event"},"calview.new":{zh:"新建",en:"New"},"calview.newInto":{zh:"新建到「{name}」",en:'New event in "{name}"'},"calview.noDbHint":{zh:"请先在右栏添加一个含日期属性的多维表",en:"Add a calendar database in the right panel first"},"calview.today":{zh:"今天",en:"Today"},"calview.prevPage":{zh:"上一页",en:"Previous"},"calview.nextPage":{zh:"下一页",en:"Next"},"calview.density":{zh:"密度",en:"Density"},"calview.zoomOut":{zh:"缩小时间轴",en:"Zoom out timeline"},"calview.zoomIn":{zh:"放大时间轴",en:"Zoom in timeline"},"calview.densityReset":{zh:"恢复默认密度",en:"Reset to default density"},"calview.empty":{zh:"还没有日历事件。点「新建」,或在右栏添加一个含日期属性的多维表。",en:'No calendar events yet. Click "New", or add a database with a date property in the right panel.'},"calview.emptyNoDb":{zh:"还没有日历。在右栏点「添加日历」,选一个含日期属性的多维表。",en:'No calendars yet. Use "Add calendar" in the right panel to pick a database with a date property.'},"calview.allDay":{zh:"全天",en:"All-day"},"calview.a11yAllDayEvent":{zh:"{title},全天事件",en:"{title}, all-day event"},"calview.allDayDragHint":{zh:"{title}(可拖入时间格设为定时)",en:"{title} (drag into a time slot to schedule it)"},"calview.a11yEvent":{zh:"{title},{time}",en:"{title}, {time}"},"calview.a11yEventRange":{zh:"{title},{start} 至 {end}",en:"{title}, {start} to {end}"},"calview.monthFirst":{zh:"{m}月1",en:"{m}/1"},"calview.moreItems":{zh:"还有 {n} 项",en:"{n} more"},"calview.a11yMoreEvents":{zh:"查看 {m} 月 {d} 日全部 {n} 个事件",en:"View all {n} events on {m}/{d}"},"calview.a11yDayEvents":{zh:"{m} 月 {d} 日事件",en:"Events on {m}/{d}"},"calview.dayHeading":{zh:"{m} 月 {d} 日",en:"{m}/{d}"},"calview.closeAgenda":{zh:"关闭日程列表",en:"Close agenda list"}});const le=26,_e=8.4,ge=150,Ze=40;function Kn(e,t,a){const u=[];return e.forEach(({db:x,dateCol:C},$)=>{if(Ct(t,a,x.path))return;const y=Et(t,a,x.path,$);for(const M of x.rows){const l=typeof M.cells[C]=="string"?M.cells[C]:"",c=Dt(l);c&&u.push({key:`${x.path}::${M.rowId}`,color:y,db:x,row:M,colId:C,title:M.name,raw:l,start:me(c.start),end:c.end?me(c.end):null,allDay:c.allDay,readonly:x.readonly&&!x.writeCell})}}),u}const Z=e=>`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`,oe=e=>{const t=e.currentTarget,a=t.getBoundingClientRect();return{left:a.left,top:a.top,right:a.right,bottom:a.bottom,zoom:xe(t)||1}},Fn=(e,t,a)=>t?`${J(e,a)}/${J(t,a)}`:J(e,a),Me=(e,t,a)=>tt(e.db,e.row.rowId,e.colId,Fn(t,a,e.allDay)),ze=e=>({"--amx-event-color":e}),ut=(e,t)=>{const a=Q(t).getTime(),u=Q(e.start).getTime()<a,x=Q(e.end??e.start).getTime()>a;return`${u?" continues-left":""}${x?" continues-right":""}`};function rs(){const{t:e}=Ce(),t=ft(),a=mt(),u=ht(),x=pt(),C=yt(),$=Gt(),y=kt(d=>d.cfg),M=gt(d=>d.vaultRoot)??"",l=bt(d=>d.byVault),c=te(d=>d.mode),k=te(d=>d.setMode),v=te(d=>d.hourPx),T=te(d=>d.setHourPx),D=te(d=>d.jumpNonce),[z,p]=n.useState(null),K=n.useRef(null),I=n.useRef(null),A=n.useRef(null);n.useEffect(()=>{c!=="month"&&(A.current=null)},[c]);const S=n.useRef(null),P=n.useRef(null);n.useEffect(()=>{if(!D)return;const d=te.getState().jumpDate;d&&I.current?.goto(me(d))},[D]),n.useEffect(()=>{const d=()=>{zt.getState().refresh(y)};d();const R=window.setInterval(d,6e4);return()=>window.clearInterval(R)},[y]);const h=n.useMemo(()=>[...a.map(d=>({db:d.db,dateCol:d.dateCol})),...[...u,...x,...C,...$].map(d=>({db:d,dateCol:vt(d)?.id})).filter(d=>!!d.dateCol)],[a,u,x,C,$]),E=n.useMemo(()=>Kn(h,M,l),[h,M,l]),N=n.useMemo(()=>E.map(d=>d.title?d:{...d,title:e("calview.untitled")}),[E,e]),i=z?E.find(d=>d.key===z.key)??null:null;S.current=i;const f=(d,R)=>p({key:d,at:R}),g=()=>{const d=Tt(M,l),R=a.find(H=>H.db.path===d)??a.find(H=>!H.db.isNoteView)??a[0]??null;return R?{db:R.db,dateCol:R.dateCol}:null},w=g(),q=async(d,R,H)=>{const Y=g();if(!Y)return;const{db:O,dateCol:o}=Y;let r;if(R===null)r=J(d,!0);else{const j=G(Q(d),R);r=`${J(j,!1)}/${J(G(j,30),!1)}`}const m=await Nt(O,o,r,e("calview.newEventTitle"));f(`${O.path}::${m}`,H)};n.useEffect(()=>{const d=R=>{const H=R.target;if(H&&H.closest("input, textarea, select, [contenteditable]"))return;const Y=Wn(R);if(!Y)return;const O=S.current;switch(Y.kind){case"copy":O&&!O.readonly&&(P.current={db:O.db,rowId:O.row.rowId});break;case"paste":P.current&&St(P.current.db,P.current.rowId);break;case"delete":O&&!O.readonly&&(Xt(O.db,O.row,O.title),p(null));break;case"prev":I.current?.prev();break;case"next":I.current?.next();break;case"mode":te.getState().setMode(Y.mode);break}R.preventDefault()};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[]);const W=n.useRef(null),[X,F]=n.useState(7);n.useLayoutEffect(()=>{const d=W.current;if(!d)return;const R=()=>{const Y=d.clientWidth-52;F(Y>=784?7:Y>=396?3:1)};R();const H=new ResizeObserver(R);return H.observe(d),()=>H.disconnect()},[]);const V=Math.min(c==="week"?7:c==="3day"?3:1,X);return s.jsxs("div",{className:"amx-cal",ref:W,children:[s.jsx(Vt,{children:s.jsxs("header",{className:"amx-cal-bar",children:[s.jsx("div",{className:"amx-cal-nav",children:s.jsx("span",{className:"amx-cal-title",ref:K})}),s.jsxs("div",{className:"amx-cal-modes",children:[s.jsx(ce,{size:"sm",variant:"primary",icon:s.jsx(Qt,{size:14}),label:e("calview.new"),isDisabled:!w,tooltip:w?e("calview.newInto",{name:w.db.name}):e("calview.noDbHint"),onClick:d=>{const R=new Date,H=G(Q(R),be(R.getHours()*60+R.getMinutes()+15)),Y=oe(d);q(Q(H),H.getHours()*60+H.getMinutes(),Y)}}),s.jsx(ce,{size:"sm",variant:"secondary",label:e("calview.today"),onClick:()=>I.current?.today()}),s.jsx(ce,{size:"sm",variant:"ghost",isIconOnly:!0,icon:s.jsx(wt,{size:14}),label:e("calview.prevPage"),onClick:()=>I.current?.prev()}),s.jsx(ce,{size:"sm",variant:"ghost",isIconOnly:!0,icon:s.jsx(jt,{size:14}),label:e("calview.nextPage"),onClick:()=>I.current?.next()}),s.jsx(Se,{button:{label:Ne.find(d=>d.id===c)?.label??"周",variant:"secondary",size:"sm"},menuWidth:168,children:Ne.map(d=>s.jsx(ie,{icon:c===d.id?s.jsx($t,{size:14}):s.jsx("span",{style:{display:"inline-block",width:14}}),label:d.label,endContent:s.jsx(it,{keys:d.key}),onClick:()=>k(d.id)},d.id))}),c!=="month"&&s.jsx("span",{className:"amx-cal-density",children:s.jsxs(Se,{button:{label:e("calview.density"),variant:"ghost",size:"sm"},menuWidth:176,children:[s.jsx(ie,{icon:s.jsx(Ut,{size:14}),label:e("calview.zoomOut"),onClick:()=>T(v-8)}),s.jsx(ie,{icon:s.jsx(_t,{size:14}),label:e("calview.zoomIn"),onClick:()=>T(v+8)}),s.jsx(ie,{icon:s.jsx(Zt,{size:14}),label:e("calview.densityReset"),endContent:`${v}px`,onClick:()=>T(Bt)})]})})]})]})}),N.length===0&&s.jsx("div",{className:"amx-cal-empty",children:e(w?"calview.empty":"calview.emptyNoDb")}),c==="month"?s.jsx(Vn,{ref:I,anchorRef:A,events:N,selectedKey:z?.key??null,onPick:f,onCreate:(d,R)=>{q(d,null,R)},titleRef:K},`dow${t}`):s.jsx(On,{ref:I,n:V,weekStartDow:c==="week"&&V===7?t:null,events:N,selectedKey:z?.key??null,onPick:f,onCreate:(d,R,H)=>{q(d,R,H)},titleRef:K}),i&&z&&s.jsx(Yt,{ev:i,at:z.at,onClose:()=>p(null)})]})}const On=n.forwardRef(function({n:t,weekStartDow:a,events:u,selectedKey:x,onPick:C,onCreate:$,titleRef:y},M){const{t:l}=Ce(),c=n.useRef(null),k=n.useRef(null),[v,T]=n.useState(0),[D,z]=n.useState(0),p=te(o=>o.hourPx),K=te(o=>o.setVisibleRange),I=()=>{k.current&&c.current&&(k.current.style.transform=`translateY(${-c.current.scrollTop}px)`)},A=n.useMemo(()=>Q(new Date),[]),S=n.useMemo(()=>{const o=ae(A,-ge);return Array.from({length:ge*2+1},(r,m)=>ae(o,m))},[A]),P=o=>a==null?o:Math.max(0,o-(S[o].getDay()-a+7)%7),h=n.useRef(ge),E=n.useRef(void 0),N=n.useRef(!1),i=n.useRef(""),f=n.useRef(-1),g=n.useRef(null),w=()=>{g.current&&(g.current.style.display="none")},q=n.useRef(null),[W,X]=n.useState(()=>{const o=new Date;return o.getHours()*60+o.getMinutes()});n.useEffect(()=>{const o=setInterval(()=>{const r=new Date;X(r.getHours()*60+r.getMinutes())},3e4);return()=>clearInterval(o)},[]),n.useEffect(()=>()=>K(null,null),[K]);const F=()=>{const o=c.current;if(!o||!v)return;const r=Math.max(0,Math.min(S.length-t,Math.round(o.scrollLeft/v)));h.current=r;const m=It(Qe(S[r],t));m!==i.current&&(i.current=m,y.current&&(y.current.textContent=m)),r*8+t!==f.current&&(f.current=r*8+t,K(J(S[r],!0),J(S[Math.min(S.length-1,r+t-1)],!0)))};n.useLayoutEffect(()=>{const o=c.current;if(!o)return;const r=t===7?112:t===3?132:180,m=()=>T(Math.max(r,o.clientWidth/t));m();const j=new ResizeObserver(m);return j.observe(o),()=>j.disconnect()},[t]),n.useLayoutEffect(()=>{const o=c.current;if(!o)return;const r=o.querySelector(".amx-cal-daycol2");r&&z(Math.max(0,r.offsetTop-(le+14)))},[u,v,t]),n.useLayoutEffect(()=>{const o=c.current;if(!(!o||!v)){if(!N.current){h.current=ge,N.current=!0;const r=o.querySelector(".amx-cal-daycol2"),m=r?r.offsetTop:le+14;o.scrollTop=Math.max(0,m+W/60*p-o.clientHeight/2)}E.current!==a&&(E.current=a,h.current=P(h.current)),o.scrollLeft=h.current*v,F(),I()}},[v,a]);const V=n.useRef(p);n.useLayoutEffect(()=>{const o=c.current,r=V.current;if(V.current=p,!o||r===p)return;const m=o.querySelector(".amx-cal-daycol2"),j=m?m.offsetTop:le+14,b=o.clientHeight/2,L=(o.scrollTop+b-j)/r;o.scrollTop=Math.max(0,j+L*p-b),I()},[p]),n.useEffect(()=>{const o=c.current;if(!o)return;const r=m=>{if(!m.ctrlKey&&!m.metaKey)return;m.preventDefault();const j=te.getState();j.setHourPx(j.hourPx*(m.deltaY<0?1.12:1/1.12))};return o.addEventListener("wheel",r,{passive:!1}),()=>o.removeEventListener("wheel",r)},[]),n.useImperativeHandle(M,()=>({prev:()=>c.current?.scrollBy({left:-t*v,behavior:"smooth"}),next:()=>c.current?.scrollBy({left:t*v,behavior:"smooth"}),today:()=>c.current?.scrollTo({left:P(ge)*v,behavior:"smooth"}),goto:o=>{if(!v)return;const r=Math.min(S.length-t,P(Math.max(0,Math.min(S.length-1,$e(Q(o),S[0])))));c.current?.scrollTo({left:r*v,behavior:"smooth"})}}),[t,v,S,a]);const d=(o,r)=>{if(r.stopPropagation(),o.readonly)return;const m=r.currentTarget,j=m.getBoundingClientRect(),b=xe(m)||1,L=(r.clientY-j.top)/b,B=L<_e?"start":j.height/b-L<_e?"end":"move",ne=We(o.start,o.end,p),U=Math.max(14,ne.height),ue=m.querySelector(".amx-cal-event-t");m.setPointerCapture(r.pointerId),m.classList.add("dragging"),q.current={mode:B,ev:o,el:m,tEl:ue,t0:ue?.textContent??"",x0:r.clientX,y0:r.clientY,zoom:b,top0:ne.top,h0:U,grabOffY:L,durMin:Math.round(U/p*60),msDur:o.end?o.end.getTime()-o.start.getTime():0,dyMin:0,moved:!1,target:null}},R=o=>{const r=q.current;if(!r)return;if(r.mode==="move"){const b=(o.clientX-r.x0)/r.zoom,L=(o.clientY-r.y0)/r.zoom;(Math.abs(b)>3||Math.abs(L)>3)&&(r.moved=!0),r.el.style.transform=`translate(${b}px, ${L}px)`;const B=c.current;if(!B||!v)return;const ne=B.getBoundingClientRect(),U=xe(B)||1,ue=Math.max(0,Math.min(S.length-1,Math.floor(((o.clientX-ne.left)/U+B.scrollLeft)/v))),Le=le+14+D,dt=(o.clientY-ne.top)/U-r.grabOffY+B.scrollTop-Le,Ee=Math.max(0,Math.min(1440-r.durMin,be(dt/p*60)));r.target={iso:J(S[ue],!0),topMin:Ee};const se=g.current;if(se&&(se.style.display="block",se.style.left=`${ue*v}px`,se.style.width=`${v}px`,se.style.top=`${Le+Ee/60*p}px`,se.style.height=`${r.h0}px`),r.moved){const De=G(Q(S[ue]),Ee),Pe=r.msDur?`${Z(De)}–${Z(new Date(De.getTime()+r.msDur))}`:Z(De);r.tEl&&(r.tEl.textContent=Pe),se&&(se.textContent=Pe)}return}const m=be((o.clientY-r.y0)/r.zoom/p*60);r.dyMin=m;const j=m/60*p;if(r.mode==="end"?r.el.style.height=`${Math.max(14,r.h0+j)}px`:(r.el.style.top=`${r.top0+j}px`,r.el.style.height=`${Math.max(14,r.h0-j)}px`),m!==0&&r.tEl){const b=r.ev.end??G(r.ev.start,60);if(r.mode==="end"){let L=G(b,m);L.getTime()<=r.ev.start.getTime()&&(L=G(r.ev.start,15)),r.tEl.textContent=`${Z(r.ev.start)}–${Z(L)}`}else{let L=G(r.ev.start,m);L.getTime()>=b.getTime()&&(L=G(b,-15)),r.tEl.textContent=`${Z(L)}–${Z(b)}`}}},H=(o,r)=>{const m=q.current;if(q.current=null,!m){o.readonly&&C(o.key,oe(r));return}if(m.el.classList.remove("dragging"),m.mode==="move"){if(m.el.style.transform="",w(),!m.moved||!m.target){m.tEl&&(m.tEl.textContent=m.t0),m.moved||C(o.key,oe(r));return}const b=G(Q(me(m.target.iso)),m.target.topMin);Me(o,b,o.end?new Date(b.getTime()+m.msDur):null);return}if(m.dyMin===0){m.tEl&&(m.tEl.textContent=m.t0);return}const j=o.end??G(o.start,60);if(m.mode==="end"){let b=G(j,m.dyMin);b.getTime()<=o.start.getTime()&&(b=G(o.start,15)),Me(o,o.start,b)}else{let b=G(o.start,m.dyMin);b.getTime()>=j.getTime()&&(b=G(j,-15)),Me(o,b,j)}},Y=o=>{o.stopPropagation(),o.currentTarget.setPointerCapture(o.pointerId)},O=(o,r)=>{if(o.readonly){C(o.key,oe(r));return}const m=document.elementFromPoint(r.clientX,r.clientY)?.closest(".amx-cal-daycol2"),j=m?.getAttribute("data-date");if(m&&j){const b=m.getBoundingClientRect(),L=Math.max(0,Math.min(1410,be((r.clientY-b.top)/(xe(m)||1)/p*60))),B=G(Q(me(j)),L);tt(o.db,o.row.rowId,o.colId,`${J(B,!1)}/${J(G(B,30),!1)}`);return}C(o.key,oe(r))};return s.jsxs("div",{className:"amx-cal-timerow",style:{"--amx-hour-px":`${p}px`},children:[s.jsx("div",{className:"amx-cal-gutterfixed",children:s.jsxs("div",{className:"amx-cal-gutterinner",children:[s.jsx("div",{className:"amx-cal-gcorner",style:{height:le+14}}),s.jsx("div",{className:"amx-cal-gallday",style:{height:D},children:l("calview.allDay")}),s.jsxs("div",{className:"amx-cal-ghours",ref:k,children:[qe.map(o=>s.jsx("div",{className:"amx-cal-hour",style:{height:p},children:o===0?"":`${o}:00`},o)),s.jsxs("span",{className:"amx-cal-nowlabel",style:{top:W/60*p},children:[String(Math.floor(W/60)).padStart(2,"0"),":",String(W%60).padStart(2,"0")]})]})]})}),s.jsx("div",{className:"amx-cal-tscroll",ref:c,onScroll:()=>{F(),I()},children:s.jsxs("div",{className:"amx-cal-tgrid2",style:{gridTemplateColumns:`repeat(${S.length}, ${v}px)`,gridTemplateRows:`${le+14}px auto ${qe.length*p}px`},children:[S.map(o=>s.jsxs("div",{className:`amx-cal-thead2${fe(o,A)?" today":""}`,children:[s.jsx("span",{className:"amx-cal-tdow",children:Rt(o.getDay())}),s.jsxs("span",{className:"amx-cal-tdate",children:[o.getMonth()+1,"/",o.getDate()]})]},+o)),S.map(o=>s.jsx("div",{className:"amx-cal-allday2",children:u.filter(r=>r.allDay&&et(r.start,r.end,o)).map(r=>s.jsx("button",{className:`amx-cal-chip-ev amx-cal-alldrag${r.readonly?" readonly":""}${x===r.key?" selected":""}${ut(r,o)}`,style:ze(r.color),"aria-label":l("calview.a11yAllDayEvent",{title:r.title}),title:r.readonly?r.title:l("calview.allDayDragHint",{title:r.title}),onPointerDown:Y,onPointerUp:m=>O(r,m),children:r.title},r.key))},+o)),S.map(o=>s.jsxs("div",{className:"amx-cal-daycol2","data-date":J(o,!0),onDoubleClick:r=>{if(r.target.closest(".amx-cal-event"))return;const m=r.currentTarget.getBoundingClientRect(),j=xe(r.currentTarget)||1,b=Math.max(0,Math.min(1410,be((r.clientY-m.top)/j/p*60)));$(o,b,{left:r.clientX,top:r.clientY,right:r.clientX,bottom:r.clientY,zoom:j})},children:[(()=>{const r=u.filter(j=>!j.allDay&&fe(j.start,o)),m=Hn(r);return r.map(j=>{const b=We(j.start,j.end,p),L=m.get(j.key)??{leftPct:0,widthPct:100};return s.jsxs("button",{className:`amx-cal-event${j.readonly?" readonly":""}${x===j.key?" selected":""}`,style:{...ze(j.color),top:b.top,height:Math.max(14,b.height),left:`calc(${L.leftPct}% + 2px)`,width:`calc(${L.widthPct}% - 4px)`},"aria-label":j.end?l("calview.a11yEventRange",{title:j.title,start:Z(j.start),end:Z(j.end)}):l("calview.a11yEvent",{title:j.title,time:Z(j.start)}),title:j.title,onPointerDown:B=>d(j,B),onPointerMove:R,onPointerUp:B=>H(j,B),children:[s.jsxs("span",{className:"amx-cal-event-t",children:[Z(j.start),j.end?`–${Z(j.end)}`:""]}),s.jsx("span",{className:"amx-cal-event-title",children:j.title})]},j.key)})})(),s.jsx("div",{className:`amx-cal-nowline${fe(o,A)?" today":""}`,style:{top:W/60*p}})]},+o)),s.jsx("div",{className:"amx-cal-dropghost",ref:g})]})})]})}),Vn=n.forwardRef(function({anchorRef:t,events:a,selectedKey:u,onPick:x,onCreate:C,titleRef:$},y){const{t:M}=Ce(),l=n.useRef(null),[c,k]=n.useState(0),v=te(i=>i.setVisibleRange),T=n.useMemo(()=>Q(new Date),[]),D=n.useMemo(()=>{const i=ae(Te(T),-Ze*7);return Array.from({length:Ze*2+1},(f,g)=>ae(i,g*7))},[T]),z=n.useRef(!1),[p,K]=n.useState(null),I=n.useRef(""),A=n.useRef(-1);n.useEffect(()=>()=>v(null,null),[v]);const S=(i,f)=>Math.round($e(Te(new Date(i,f,1)),D[0])/7),P=()=>{const i=l.current;if(!i||!c)return;const f=Math.max(0,Math.min(D.length-1,Math.round(i.scrollTop/c))),g=ae(D[f],3),w=At(g);if(t&&(t.current={y:g.getFullYear(),m:g.getMonth()}),w!==I.current&&(I.current=w,$.current&&($.current.textContent=w)),f!==A.current){A.current=f;const q=Math.max(1,Math.round(i.clientHeight/c)),W=D[Math.min(D.length-1,f+q-1)];v(J(D[f],!0),J(ae(W,6),!0))}};n.useLayoutEffect(()=>{const i=l.current;if(!i)return;const f=()=>k(Math.max(64,(i.clientHeight-le)/6));f();const g=new ResizeObserver(f);return g.observe(i),()=>g.disconnect()},[]),n.useLayoutEffect(()=>{const i=l.current;if(!i||!c||z.current)return;z.current=!0;const f=t?.current;if(f){let g=Math.max(0,Math.min(D.length-1,S(f.y,f.m)));ae(D[g],3).getMonth()!==f.m&&g+1<D.length&&(g+=1),i.scrollTop=g*c}else i.scrollTop=S(T.getFullYear(),T.getMonth())*c;P()},[c]),n.useImperativeHandle(y,()=>({prev:()=>h(-1),next:()=>h(1),today:()=>l.current?.scrollTo({top:S(T.getFullYear(),T.getMonth())*c,behavior:"smooth"}),goto:i=>{if(!c)return;const f=Math.max(0,Math.min(D.length-1,Math.round($e(Te(i),D[0])/7)));l.current?.scrollTo({top:f*c,behavior:"smooth"})}}),[c]);const h=i=>{const f=l.current;if(!f||!c)return;const g=Math.max(0,Math.min(D.length-1,Math.round(f.scrollTop/c))),w=ae(D[g],3);f.scrollTo({top:Math.max(0,S(w.getFullYear(),w.getMonth()+i))*c,behavior:"smooth"})},E=i=>{i.stopPropagation(),i.currentTarget.setPointerCapture(i.pointerId)},N=(i,f)=>{const g=oe(f);if(i.readonly){x(i.key,g);return}const q=document.elementFromPoint(f.clientX,f.clientY)?.closest(".amx-cal-mcell")?.getAttribute("data-date");if(q){const W=$e(me(q),i.start);if(W!==0){Me(i,He(i.start,W),i.end?He(i.end,W):null);return}}x(i.key,g)};return s.jsxs("div",{className:"amx-cal-mscroll",ref:l,onScroll:P,children:[s.jsx("div",{className:"amx-cal-weekhead2",children:Mt().map(i=>s.jsx("div",{children:i},i))}),s.jsx("div",{className:"amx-cal-mweeks",children:D.map(i=>s.jsx("div",{className:"amx-cal-mweek",style:{height:c},children:Qe(i,7).map(f=>{const g=a.filter(w=>et(w.start,w.end,f));return s.jsxs("div",{className:`amx-cal-mcell${fe(f,T)?" today":""}`,"data-date":J(f,!0),onDoubleClick:w=>{w.target.closest(".amx-cal-chip-ev")||C(f,{left:w.clientX,top:w.clientY,right:w.clientX,bottom:w.clientY,zoom:xe(w.currentTarget)||1})},children:[s.jsx("div",{className:"amx-cal-mnum",children:f.getDate()===1?M("calview.monthFirst",{m:f.getMonth()+1}):f.getDate()}),g.slice(0,3).map(w=>s.jsxs("button",{className:`amx-cal-chip-ev${w.readonly?" readonly":""}${u===w.key?" selected":""}${ut(w,f)}`,style:ze(w.color),title:w.title,"aria-label":!w.allDay&&fe(w.start,f)?M("calview.a11yEvent",{title:w.title,time:Z(w.start)}):w.title,onPointerDown:E,onPointerUp:q=>N(w,q),children:[!w.allDay&&fe(w.start,f)&&s.jsx("span",{className:"amx-cal-chip-t",children:Z(w.start)})," ",w.title]},w.key)),g.length>3&&s.jsx("button",{className:"amx-cal-more","aria-label":M("calview.a11yMoreEvents",{m:f.getMonth()+1,d:f.getDate(),n:g.length}),onClick:w=>K({day:f,events:g,at:oe(w)}),children:M("calview.moreItems",{n:g.length-3})})]},+f)})},+i))}),p&&s.jsx(Bn,{day:p.day,events:p.events,at:p.at,onPick:(i,f)=>{K(null),x(i,f)},onClose:()=>K(null)})]})});function Bn({day:e,events:t,at:a,onPick:u,onClose:x}){const{t:C}=Ce(),$=292,y=a.zoom||1,M=12*y,l=Math.max(M,Math.min(a.left,window.innerWidth-$*y-M))/y,c=Math.max(M,Math.min(a.bottom+6*y,window.innerHeight-356*y-M))/y,k=n.useRef(null),v=n.useRef(x);return v.current=x,n.useEffect(()=>{const T=document.activeElement instanceof HTMLElement?document.activeElement:null;k.current?.querySelector(".amx-cal-agenda-list > button")?.focus();const D=z=>{z.key==="Escape"&&(z.preventDefault(),v.current())};return window.addEventListener("keydown",D),()=>{window.removeEventListener("keydown",D),T?.focus()}},[]),s.jsx("div",{className:"amx-cal-agenda-overlay",onMouseDown:x,children:s.jsxs("section",{className:"amx-cal-agenda",ref:k,role:"dialog","aria-modal":"true","aria-label":C("calview.a11yDayEvents",{m:e.getMonth()+1,d:e.getDate()}),style:{left:l,top:c,width:$},onMouseDown:T=>T.stopPropagation(),children:[s.jsxs("header",{children:[s.jsx("strong",{children:C("calview.dayHeading",{m:e.getMonth()+1,d:e.getDate()})}),s.jsx("button",{onClick:x,"aria-label":C("calview.closeAgenda"),children:"×"})]}),s.jsx("div",{className:"amx-cal-agenda-list",children:t.map(T=>s.jsxs("button",{style:ze(T.color),onClick:D=>u(T.key,oe(D)),children:[s.jsx("span",{className:"amx-cal-agenda-time",children:T.allDay?C("calview.allDay"):Z(T.start)}),s.jsx("span",{children:T.title})]},T.key))})]})})}export{rs as CalendarView,Vn as MonthScroll};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as s,j as n}from"./index-CF4RV4mh.js";import{cl as j,ag as k,bp as C,a8 as A,A as L,aI as S}from"./appStore-Dg9WALEA.js";function z({label:u,children:x,items:w,className:E="capability-menu-trigger",searchLabel:d,selection:p=!1,disabled:v=!1,acceptsDrag:y}){const b=s.useId(),a=s.useRef(null),l=s.useRef(null),[r,f]=s.useState(null),[h,g]=s.useState(""),i=(e=!0)=>{f(null),g(""),e&&a.current?.isConnected&&a.current.focus()},m=()=>{const e=a.current?.getBoundingClientRect();e&&f({x:e.left,y:e.bottom+4,top:e.top})};s.useEffect(()=>{if(!r)return;const e=c=>{!l.current?.contains(c.target)&&!a.current?.contains(c.target)&&i(!1)},t=c=>{if(l.current?.contains(c.target))return;const o=a.current?.getBoundingClientRect();if(!o||!a.current?.isConnected){i(!1);return}(Math.abs(o.left-r.x)>1||Math.abs(o.bottom+4-r.y)>1)&&f({x:o.left,y:o.bottom+4,top:o.top})};return document.addEventListener("pointerdown",e),window.addEventListener("resize",t),document.addEventListener("scroll",t,!0),()=>{document.removeEventListener("pointerdown",e),window.removeEventListener("resize",t),document.removeEventListener("scroll",t,!0)}},[r]),s.useEffect(()=>{if(!r||j())return;const e=l.current;(e?.querySelector("input")||e?.querySelector('[aria-checked="true"]:not(:disabled), button:not(:disabled)'))?.focus({preventScroll:!0})},[!!r]);const D=w.filter(e=>e.label.toLowerCase().includes(h.trim().toLowerCase()));return n.jsxs(n.Fragment,{children:[n.jsx("button",{ref:a,type:"button",className:E,"aria-label":u,title:u,"aria-haspopup":"menu","aria-expanded":!!r,"aria-controls":r?b:void 0,disabled:v,onDragEnter:e=>{y?.(e.dataTransfer)&&(e.preventDefault(),r||m())},onDragOver:e=>{y?.(e.dataTransfer)&&e.preventDefault()},onClick:()=>r?i():m(),onKeyDown:e=>{(e.key==="ArrowDown"||e.key==="ArrowUp")&&(e.preventDefault(),m())},children:x||n.jsxs(n.Fragment,{children:[n.jsx("span",{children:u}),n.jsx(k,{size:13})]})}),r&&C.createPortal(n.jsx("div",{className:"ui-popover-backdrop",style:{pointerEvents:"none"},children:n.jsxs(A,{style:{pointerEvents:"auto"},x:r.x,y:r.y,anchorTop:r.top,innerRef:e=>{l.current=e},id:b,className:`ui-popover capability-menu${p?" capability-menu-selection":""}`,role:"menu","aria-label":u,onKeyDown:e=>{if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),i();return}if(e.key==="Tab"){i();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(e.key)||e.target instanceof HTMLInputElement&&["Home","End"].includes(e.key))return;e.preventDefault(),e.stopPropagation();const t=Array.from(l.current?.querySelectorAll("button:not(:disabled)")||[]),c=t.indexOf(document.activeElement),o=e.key==="Home"?0:e.key==="End"?t.length-1:(c+(e.key==="ArrowDown"?1:-1)+t.length)%t.length;t[o]?.focus()},children:[d&&n.jsxs("label",{className:"capability-menu-search",children:[n.jsx(L,{size:14}),n.jsx("input",{"aria-label":d,placeholder:d,value:h,onChange:e=>g(e.target.value)})]}),n.jsx("div",{className:"capability-menu-items",children:D.map(e=>n.jsxs("button",{type:"button",role:p?"menuitemradio":"menuitem","aria-label":e.label,"aria-checked":p?!!e.selected:void 0,disabled:e.disabled,className:`${e.danger?"danger":""}${e.dropActive?" capability-menu-drop":""}`,onDragOver:e.onDragOver,onDragLeave:e.onDragLeave,onDrop:e.onDrop,onClick:()=>{i(),e.onSelect()},children:[n.jsx("span",{className:"capability-menu-icon",children:e.icon}),n.jsx("span",{children:e.label}),e.hint&&n.jsx("small",{className:"capability-menu-hint",children:e.hint}),e.selected&&n.jsx(S,{size:14})]},e.id))})]})}),document.body)]})}export{z as C};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.capability-menu-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:var(--control-height);padding:6px 10px;border:var(--border-width) solid var(--overlay-medium);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font:inherit;font-size:var(--ui-font-body);cursor:pointer;transition:background .14s ease,border-color .14s ease}.capability-menu-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capability-menu-trigger>svg{flex-shrink:0;color:var(--text-muted)}.capability-menu-trigger:hover,.capability-menu-trigger[aria-expanded=true]{background:var(--overlay-light)}.capability-menu{z-index:1;min-width:var(--menu-action-min);max-width:min(var(--menu-action-max),calc(100vw - 20px));padding:var(--menu-shell-padding);font-family:var(--font-ui);font-size:var(--menu-text-size);line-height:var(--menu-line-height);transform-origin:top left;animation:ui-menu-enter var(--menu-enter-duration) var(--menu-enter-ease)}.capability-menu-selection{width:var(--menu-select-width);max-width:calc(100vw - 20px)}.capability-menu-items{max-height:min(330px,55vh);overflow-y:auto}.capability-menu-items>button{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--menu-item-min-height);padding:var(--menu-item-pad-block) var(--menu-item-pad-inline);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.capability-menu-items>button>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.capability-menu-items>button>svg{flex:0 0 auto;color:var(--accent-ink)}.capability-menu-icon{display:flex;width:15px;flex:0 0 15px;color:var(--text-muted)}.capability-menu-items>button:hover,.capability-menu-items>button:focus-visible{outline:none;background:var(--menu-hover)}.capability-menu-items>button.danger{color:var(--danger)}.capability-menu-items>button:disabled{opacity:.4;cursor:default}.capability-menu-hint{color:var(--text-faint);font-size:var(--ui-font-caption);font-variant-numeric:tabular-nums}.capability-menu-items>button.capability-menu-drop{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--overlay-light)}.capability-menu-search{display:flex;align-items:center;gap:7px;padding:6px;color:var(--text-muted)}.capability-menu-search input{width:100%;min-width:0;font:inherit}@media(prefers-reduced-motion:reduce){.capability-menu{animation:none}.capability-menu-trigger{transition:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.human-panel{min-width:0;padding-block:0;font:var(--ui-font-body)/var(--ui-line-body) var(--font-ui)}.human-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;padding-right:8px}.human-panel .human-heading h3{margin:0 0 5px;font-size:var(--ui-font-heading);font-weight:600;color:var(--text)}.human-heading p,.human-date,.human-path,.human-history time{margin:0;color:var(--text-muted);font-size:var(--ui-font-meta)}.human-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.human-actions .profile-text-action,.human-history .profile-text-action{display:inline-flex;align-items:center;gap:5px}.human-date{margin-bottom:14px}.human-empty{color:var(--text-muted);margin:16px 0}.human-panel .md-body{overflow-wrap:anywhere;min-width:0}.human-editor{display:grid;gap:12px}.human-editor textarea{width:100%;min-width:0;resize:vertical;padding:12px;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);font:var(--ui-font-body)/1.7 var(--font-mono)}.human-source{white-space:pre-wrap;overflow-wrap:anywhere;font:var(--ui-font-body)/1.7 var(--font-mono);background:var(--bg-card);padding:12px;border-radius:var(--radius-md)}.human-path{display:grid;gap:6px;margin-top:18px}.human-path code{white-space:pre-wrap;overflow-wrap:anywhere}.human-notice{color:var(--accent);font-size:var(--ui-font-meta)}.human-history,.human-latest{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.human-history h4{font-size:var(--ui-font-heading);margin:0 0 12px}.human-history article{display:grid;gap:6px;padding:12px 0}.human-history article+article{border-top:1px solid var(--border)}.human-history p{margin:0;font-size:var(--ui-font-meta);color:var(--text-muted)}.human-history .human-highlight{background:var(--bg-card);border-radius:var(--radius-md);padding-inline:10px}.human-inherited{margin-top:12px;font-size:var(--ui-font-meta);color:var(--text-muted)}.human-inherited summary{cursor:pointer}.human-update-card{margin-block:14px;padding:15px 17px;background:var(--bg-card);border-radius:var(--radius-md);font-family:var(--font-ui)}.human-update-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--ui-font-body)}.human-update-card .human-scope,.human-update-card details{font-size:var(--ui-font-meta);color:var(--text-muted)}.human-update-card .human-scope{margin-block:4px 10px;overflow-wrap:anywhere}.human-update-card p{margin:8px 0;font-size:var(--ui-font-body)}.human-update-card article+article{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.human-update-card .human-actions{margin-top:10px}.human-update-card button{font-size:var(--ui-font-meta)}.human-update-card details p{font-size:inherit}.human-update-card .human-applied{font-size:var(--ui-font-caption);color:var(--text-muted)}.human-heading>div:first-child{min-width:0}.human-heading>.human-actions{flex-shrink:0;flex-wrap:nowrap;gap:10px}.human-heading .human-more{display:grid;place-items:center;width:24px;height:28px;padding:0}.t2-chat-view{container-type:inline-size;overflow:hidden}.t2-chat-view{position:relative}.t2-chat-view.refdrop:after,.t2-chat-view[data-filedrop]:after{content:"";position:absolute;inset:6px;pointer-events:none;z-index:20;border:2px dashed var(--accent-ink, var(--accent));border-radius:var(--radius-lg, 12px);background:color-mix(in srgb,var(--accent-ink, var(--accent)) 7%,transparent)}.t2-toolbar{min-height:38px;flex-shrink:0;display:flex;align-items:center;gap:7px;padding:0 12px;border-bottom:var(--border-width, 1px) solid var(--border);background:color-mix(in srgb,var(--bg-card, var(--bg)) 82%,transparent)}.t2-toolbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-meta, 12px);font-weight:600}.t2-toolbar-grow{flex:1}.t2-toolbar-pill{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-pill, 999px);padding:2px 9px;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);background:var(--overlay-light)}.t2-toolbar-pill.error{color:var(--danger);background:var(--danger-light)}.t2-toolbar .locale-toggle,.t2-toolbar .icon-btn{flex-shrink:0}.t2-chat-body{position:relative;flex:1;min-height:0;display:flex}.t2-stream{flex:1;width:100%;min-height:0;overflow-y:auto;--t2-fade: 24px;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--t2-fade)),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - var(--t2-fade)),transparent 100%)}.t2-stream-inner{max-width:820px;margin:0 auto;padding:28px 28px calc(var(--t2-composer-h, 96px) + 8px);display:flex;flex-direction:column;gap:26px;min-height:100%}.t2-asst{display:flex;gap:12px;align-items:flex-start}.t2-avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;color:var(--accent-ink);background:color-mix(in srgb,var(--accent-ink) 14%,transparent);overflow:hidden;-webkit-user-select:none;user-select:none;margin-top:2px}.t2-avatar img{width:100%;height:100%;object-fit:cover}@container (aspect-ratio < 9 / 16){.t2-avatar{display:none}}.t2-asst-col{min-width:0;flex:1;display:flex;flex-direction:column;gap:8px}.t2-asst-col>.t2-think,.t2-asst-col>.t2-tool,.t2-asst-col>.t2-todo,.t2-asst-col>.t2-panelcard,.t2-asst-col>.tool-card,.t2-asst-col>.tool-group,.t2-asst-col>.todo-card,.t2-asst-col>.plan-card,.t2-asst-col>.approval-card,.t2-asst-col>.inquiry-card,.t2-asst-col>.t2-suggest,.t2-asst-col>.sketch-card,.t2-asst-col>.thinking-block{max-width:700px;width:100%;box-sizing:border-box}.t2-name{font-size:var(--ui-font-caption, 11px);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-weight:600;display:inline-flex;align-items:center;gap:6px}.t2-name .t2-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-ink)}.t2-content{max-width:700px;font-size:14px;line-height:1.72;color:var(--text);word-break:break-word}.t2-content>:first-child{margin-top:0}.t2-content>:last-child{margin-bottom:0}.t2-content p{margin:0 0 .7em}.t2-content :is(h1,h2,h3,h4,h5,h6){font-weight:600;line-height:1.35;margin:1.3em 0 .4em}.t2-content h1{font-size:1.4em}.t2-content h2{font-size:1.25em}.t2-content h3{font-size:1.1em}.t2-content :is(h4,h5,h6){font-size:1em}.t2-content .t2-embeds{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:0 0 .7em}.t2-embed{display:block;max-width:100%;border-radius:var(--radius-md, 10px)}.t2-embed-image{max-height:360px;object-fit:contain;cursor:zoom-in;border:var(--border-width) solid var(--border);background:var(--overlay-light)}.t2-embed-video{width:100%;max-height:420px;background:var(--overlay-light)}.t2-embed-audio{width:100%}.t2-embed-pending{width:240px;height:160px;background:var(--overlay-light)}.t2-embed-audio.t2-embed-pending{width:100%;height:40px}.t2-embeds-tail{flex-basis:100%}.t2-embed-warn{flex-basis:100%;margin-top:-4px;font-size:var(--ui-font-caption, 11px);color:var(--warning)}.t2-content pre{border-radius:var(--radius-md, 12px);max-width:100%;overflow-x:auto;background:var(--bg-card);padding:12px 14px}.t2-content hr{border:none;border-top:1px solid color-mix(in srgb,var(--border) 55%,transparent);margin:1.15em 0}.t2-content table{border-collapse:collapse;font-size:.92em;margin:.2em 0 .85em;display:block;width:max-content;max-width:100%;overflow-x:auto}.t2-content th,.t2-content td{border:var(--border-width) solid color-mix(in srgb,var(--border) 55%,transparent);padding:6px 10px;text-align:left;vertical-align:top}.t2-content th{font-weight:500;color:var(--text-muted)}.t2-runstats{font-size:var(--ui-font-meta, 12px);line-height:18px;font-variant-numeric:tabular-nums}.t2-runstats-solo{padding-left:46px}.t2-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--duration-fast, .15s)}.t2-asst:hover .t2-actions,.t2-userwrap:hover .t2-actions,.t2-actions:focus-within{opacity:1}@media(hover:none){.t2-actions{opacity:1}}.t2-iconbtn{width:28px;height:28px;border:none;background:transparent;color:var(--text-faint, var(--text-muted));border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2-iconbtn:hover{background:var(--overlay-light, rgba(127,127,127,.1));color:var(--text)}.t2-msgtime{align-self:center;padding:0 6px;font-size:var(--ui-font-meta, 12px);color:var(--text-faint, var(--text-muted));font-variant-numeric:tabular-nums;white-space:nowrap}.t2-iconbtn[aria-disabled=true],.t2-iconbtn[aria-disabled=true]:hover{background:transparent;color:var(--text-faint, var(--text-muted));opacity:.45;cursor:default}.t2-userwrap{display:flex;justify-content:flex-end;align-items:flex-start;gap:8px}.t2-user-col{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:76%;min-width:0}.t2-username{font-size:var(--ui-font-caption, 11px);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.t2-user-avatar{color:var(--text-light, var(--text))}.t2-user{max-width:100%;background:color-mix(in srgb,var(--accent-ink) 12%,transparent);color:var(--text);border-radius:var(--radius-lg, 16px) var(--radius-lg, 16px) var(--radius-sm, 6px) var(--radius-lg, 16px);padding:10px 14px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.t2-user-col>.t2-actions{align-self:flex-end;margin-top:2px}.t2-user .msg-attach-grid{margin-bottom:8px}.t2-sys{text-align:center;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted));padding:2px 0}.t2-interrupted{display:flex;align-items:center;gap:10px}.t2-interrupted:before,.t2-interrupted:after{content:"";flex:1;border-top:1px dashed var(--overlay-medium, rgba(127, 127, 127, .16))}.t2-retry{color:var(--warning)}.t2-retry .t2-retry-err{opacity:.65;margin-left:6px}.t2-compact{max-width:380px;margin:6px auto 2px;display:flex;flex-direction:column;gap:5px;animation:t2-compact-in .24s ease-out}.t2-compact-head{display:flex;align-items:baseline;gap:8px;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}.t2-compact-pct{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--accent-ink)}.t2-compact-track{height:3px;border-radius:2px;background:var(--overlay-medium, rgba(127, 127, 127, .16));overflow:hidden}.t2-compact-fill{height:100%;border-radius:2px;background:var(--accent-ink);transition:width .32s cubic-bezier(.22,1,.36,1)}@keyframes t2-compact-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.t2-think{border-left:2px solid color-mix(in srgb,var(--accent-ink) 35%,transparent);padding-left:12px}.t2-think-head{background:none;border:none;padding:0;cursor:pointer;font-size:var(--ui-font-meta, 12px);color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.t2-think-body{font-size:12px;line-height:1.65;color:var(--text-muted);margin-top:6px}.t2-dim{color:var(--text-faint, var(--text-muted))}.t2-tool{border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-md, 12px);background:var(--bg-card, var(--bg));padding:9px 12px;display:flex;align-items:center;gap:8px;font-size:var(--ui-font-meta, 12px)}.t2-tool.err{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));flex-wrap:wrap}.t2-relogin{align-self:flex-start;flex:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;border:var(--border-width, 1px) solid color-mix(in srgb,var(--danger) 45%,var(--border));border-radius:var(--radius-pill, 999px);background:transparent;color:var(--danger);font-family:var(--font-ui);font-size:var(--ui-font-caption, 11px);padding:3px 10px;transition:background var(--duration-fast, .15s)}.t2-tool .t2-relogin{align-self:center}.t2-relogin:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.t2-tool-name{font-weight:600;color:var(--text)}.t2-tool-hint{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.t2-chip{font-size:var(--ui-font-caption, 11px);color:var(--text-muted);background:var(--overlay-light, rgba(127,127,127,.1));border-radius:var(--radius-pill, 999px);padding:2px 8px;white-space:nowrap}.t2-suggest{display:flex;flex-wrap:wrap;gap:8px}.t2-suggest-chip{border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-pill, 999px);background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);padding:6px 14px 6px 11px;display:inline-flex;align-items:center;gap:7px;max-width:100%;text-align:left;cursor:pointer;transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2-suggest-chip>svg{color:var(--accent-ink);flex:none}.t2-suggest-chip:hover{background:var(--overlay-light, rgba(127,127,127,.1))}.t2-status-ok{color:var(--accent-ink)}.t2-status-err{color:var(--danger)}.t2-todo{border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-md, 12px);background:var(--bg-card, var(--bg));padding:12px 14px}.t2-card-title{font-size:var(--ui-font-meta, 12px);font-weight:600;margin-bottom:8px;display:flex;gap:6px;align-items:center}.t2-todo-row{display:flex;gap:8px;align-items:baseline;font-size:var(--ui-font-meta, 12px);padding:3px 0;color:var(--text)}.t2-todo-mark{width:16px;text-align:center;flex-shrink:0}.t2-todo-mark.completed{color:var(--accent-ink)}.t2-todo-mark.in_progress{color:var(--text-muted)}.t2-todo-mark.pending{color:var(--text-faint, var(--text-muted))}.t2-done{text-decoration:line-through;color:var(--text-muted)}.t2-panelcard{border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-lg, 14px);background:var(--bg-card, var(--bg));padding:14px;display:flex;flex-direction:column;gap:10px}.t2-panel-title{font-size:var(--ui-font-body, 13px);font-weight:600;display:inline-flex;align-items:center;gap:7px}.t2-accent-ic{color:var(--accent-ink)}.t2-preview{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--ui-font-caption, 11px);background:var(--overlay-light, rgba(127,127,127,.08));color:var(--text);border-radius:var(--radius-sm, 8px);padding:9px 11px;white-space:pre-wrap;word-break:break-all}.t2-btnrow{display:flex;flex-wrap:wrap;gap:8px}.t2-inq-input{display:flex;gap:8px}.t2-inline-input{flex:1;min-width:0;border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--bg);color:var(--text);padding:7px 10px;font-size:var(--ui-font-meta, 12px);font-family:var(--font-ui);outline:none}.t2-inline-input:focus{border-color:var(--accent-ink)}.t2-btn{border:none;border-radius:var(--radius-sm, 8px);cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);padding:7px 13px;display:inline-flex;align-items:center;gap:5px;transition:filter var(--duration-fast, .15s),background var(--duration-fast, .15s)}.t2-btn.primary{background:var(--action-fill);color:var(--on-action, #fff)}.t2-btn.primary:hover{filter:brightness(1.06)}.t2-btn.ghost{background:var(--overlay-light, rgba(127,127,127,.1));color:var(--text)}.t2-btn.ghost:hover{background:var(--overlay-medium, rgba(127,127,127,.18))}.t2-btn.danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.t2-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px;text-align:center}.t2-empty-mark{display:inline-flex;align-items:center;justify-content:center}.t2-empty-title{font-size:var(--ui-font-heading, 14px);font-weight:500;color:var(--text)}.t2-empty-sub{font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.t2-chat-col>.t2-empty{position:absolute;inset:0 0 auto;z-index:1;pointer-events:none;padding:0 24px}.t2-chat-col>.t2-empty .t2-empty-title{max-width:100%;line-height:1.5;text-wrap:balance;overflow-wrap:anywhere}.t2-chat-col>.t2-empty .t2-empty-sub{max-width:38ch;line-height:1.6;text-wrap:pretty;overflow-wrap:anywhere}.t2-chat-col>.t2-empty[data-density=compact]{gap:10px}.t2-chat-col>.t2-empty[data-density=compact] .brand-logo{width:42px;height:42px}.t2-chat-col>.t2-empty[data-density=minimal] .t2-empty-mark,.t2-chat-col>.t2-empty[data-density=minimal] .t2-empty-sub{display:none}.t2-jump{position:absolute;right:22px;z-index:12}.t2-jump.jump-bottom{bottom:calc(var(--t2-composer-h, 96px) + 16px)}.t2-quote-menu{position:absolute;transform:translate(max(-100%,calc(12px - var(--quote-x, 100vw))));z-index:20;display:inline-flex;align-items:center;max-width:calc(100% - 24px);overflow:hidden;border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-pill, 999px);background:var(--bg-card);color:var(--text);box-shadow:var(--card-shadow)}.t2-quote-action{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border:0;border-right:var(--border-width, 1px) solid var(--border);background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:var(--ui-font-caption, 11px);line-height:1;white-space:nowrap}.t2-quote-action:last-child{border-right:0}.t2-quote-action:hover{background:var(--overlay-light, rgba(127,127,127,.1))}.t2-quote-action:focus-visible{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:-2px}.t2-quote-action svg{flex:0 0 auto}@container (max-width: 360px){.t2-quote-action{padding-inline:8px}}@media(max-width:1040px){.t2-stream-inner,.t2c-inner{padding-inline:18px}.t2-toolbar-title{max-width:220px}.t2-toolbar-pill{max-width:110px}}@container (max-width: 520px){.t2-stream-inner{padding:20px 12px calc(var(--t2-composer-h, 96px) + 8px);gap:20px}.t2-toolbar{padding-inline:8px;gap:4px}.t2-toolbar-title{max-width:120px}.t2-toolbar-pill{display:none}.t2c-inner{padding:7px 10px 12px}.t2c-row{gap:4px}.t2c-pill-label{max-width:92px}.t2-user-col{max-width:100%}}@container (max-width: 520px) and (aspect-ratio < 9 / 16){.t2-stream-inner:has(>.t2-asst,>.t2-userwrap)>:first-child{margin-top:auto}}.t2-chat-col>.composer-anchor{position:absolute;left:0;right:0;bottom:0;z-index:10;pointer-events:none}.t2-chat-col>.composer-anchor>*{pointer-events:auto}.t2-chat-col>.composer-anchor>.t2c{pointer-events:none}.t2c-inner,.t2c>:not(.t2c-inner){pointer-events:auto}.t2-composer-wrap{padding:8px 28px 18px;max-width:880px;margin:0 auto;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.t2-composer{background:var(--bg-card, var(--bg));border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-chat-surface, 20px);box-shadow:var(--card-shadow, 0 6px 22px rgba(0,0,0,.08));padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color var(--duration-fast, .15s)}.t2-composer:focus-within{border-color:color-mix(in srgb,var(--accent-ink) 55%,var(--border))}.t2-ta{border:none;outline:none;resize:none;background:transparent;font-family:var(--font-ui);font-size:var(--ui-font-body, 13px);line-height:1.5;color:var(--text);width:100%;max-height:240px;min-height:24px}.t2-ta::placeholder{color:var(--text-faint, var(--text-muted))}.t2-composer-row{display:flex;align-items:center;gap:8px}.t2-grow{flex:1}.t2-send{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;background:var(--action-fill);color:var(--on-action, #fff);display:inline-flex;align-items:center;justify-content:center;transition:filter var(--duration-fast, .15s),opacity var(--duration-fast, .15s)}.t2-send:hover{filter:brightness(1.06)}.t2-send:disabled{background:var(--overlay-medium, rgba(127,127,127,.25));color:var(--text-faint, var(--text-muted));cursor:default}.t2-chips{display:flex;align-items:center;gap:8px;padding:0 4px}.t2-pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);background:var(--overlay-light, rgba(127,127,127,.1));border-radius:var(--radius-pill, 999px);padding:4px 11px;cursor:pointer;border:none;transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2-pill:hover{background:var(--overlay-medium, rgba(127,127,127,.18));color:var(--text)}.t2-preview-shell{display:flex;height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-ui)}.t2-preview-side{width:264px;flex-shrink:0;border-right:var(--border-width, 1px) solid var(--border)}.t2-preview-main{flex:1;min-width:0;display:flex;flex-direction:column}.t2-preview-right{width:250px;flex-shrink:0;border-left:var(--border-width, 1px) solid var(--border);display:flex;flex-direction:column;min-height:0}.t2-preview-right-title{height:38px;flex-shrink:0;display:flex;align-items:center;padding:0 12px;border-bottom:var(--border-width, 1px) solid var(--border);color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}@media(max-width:1099px){.t2-preview-right{display:none}}.t2-voice{margin:2px 0 4px}.t2-voice-bar{display:inline-flex;align-items:center;gap:8px;min-width:200px;max-width:340px;padding:7px 10px;background:color-mix(in srgb,var(--accent-ink) 10%,var(--bg-secondary, var(--bg)));border:var(--border-width, 1px) solid color-mix(in srgb,var(--accent-ink) 26%,transparent);border-radius:var(--radius-pill, 999px)}.t2-voice-play{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;color:var(--on-action, #fff);background:var(--action-fill)}.t2-voice-play:hover{filter:brightness(1.08)}.t2-voice-track{flex:1;height:4px;border-radius:2px;background:color-mix(in srgb,var(--accent-ink) 22%,transparent);overflow:hidden}.t2-voice-track>span{display:block;height:100%;background:var(--accent-ink);transition:width .15s linear}.t2-voice-dur{flex-shrink:0;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.t2-voice-txt{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm, 6px);cursor:pointer;color:var(--text-faint)}.t2-voice-txt:hover{color:var(--text);background:color-mix(in srgb,var(--text-muted) 14%,transparent)}.t2-content .wikilink,.t2-user .wikilink,.t2-content .citelink{color:var(--primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.t2-content .wikilink:hover,.t2-user .wikilink:hover,.t2-content .citelink:hover{background:var(--drop);border-radius:3px}.t2-content .wikilink.wikilink-unresolved,.t2-user .wikilink.wikilink-unresolved{color:var(--text-muted);opacity:.75;text-decoration-style:dashed;cursor:default}.t2-chat-view{--tsum-w: 296px;--tsum-gut: 16px}.t2-rail{position:absolute;inset:0 0 0 auto;width:var(--tsum-w);display:flex;flex-direction:column;gap:10px;padding:16px var(--tsum-gut) 16px 0;box-sizing:border-box;pointer-events:none;z-index:5}.t2-tsum{display:none;flex:0 1 auto;min-height:0;pointer-events:auto;align-items:flex-start}.agent-desk-card{display:none;pointer-events:auto}.t2-tsum,.agent-desk-card{opacity:0;scale:.8;translate:100% 0;transform-origin:top right;transition:opacity var(--duration-fast, .15s) ease,scale .3s var(--ease-spring, ease),translate .3s var(--ease-spring, ease),display .3s allow-discrete}.t2-jump{transition:color var(--duration-fast, .15s),border-color var(--duration-fast, .15s)}@container (min-width: 760px){.t2-tsum.show,.agent-desk-card{display:flex}.t2-tsum.show,.agent-desk-card{opacity:1;scale:1;translate:none}@starting-style{.t2-tsum.show,.agent-desk-card{opacity:0;scale:.8;translate:100% 0}}.t2-rail:has(.agent-desk-card:not(.gone)) .t2-tsum.show{flex:0 0 calc(50% - 5px);align-items:stretch}.t2-rail:has(.agent-desk-card:not(.gone)) .t2-tsum.show .t2-tsum-in{height:100%}.agent-desk-card{flex:0 0 calc(50% - 5px);margin-top:auto}}@container (min-width: 760px){.t2-stream,.composer-anchor,.t2-chat-col>.t2-empty,.t2-jump{transition-property:padding-right,right;transition-duration:.45s;transition-timing-function:cubic-bezier(.32,.72,0,1)}.t2-jump{transition-property:right,color,border-color;transition-duration:.45s,var(--duration-fast, .15s),var(--duration-fast, .15s)}.t2-chat-view:has(.t2-tsum.show,.agent-desk-card:not(.gone)) .t2-stream{padding-right:var(--tsum-w)}.t2-chat-view:has(.t2-tsum.show,.agent-desk-card:not(.gone)) .composer-anchor{padding-right:var(--tsum-w)}.t2-chat-view:has(.t2-tsum.show,.agent-desk-card:not(.gone)) .t2-chat-col>.t2-empty{right:var(--tsum-w)}.t2-chat-view:has(.t2-tsum.show,.agent-desk-card:not(.gone)) .t2-jump{right:calc(var(--tsum-w) + 22px)}}@container (max-width: 759.9px){.t2-tsum,.agent-desk-card{pointer-events:none}}@media(prefers-reduced-motion:reduce){.t2-tsum,.agent-desk-card,.t2-jump,.t2-stream,.composer-anchor,.t2-chat-col>.t2-empty{transition:none}.t2-tsum,.agent-desk-card{scale:1;translate:none}}.t2-tsum-in{width:100%;box-sizing:border-box;max-height:100%;overflow-y:auto;padding:14px 16px 16px;border-radius:var(--radius-chat-surface, 20px);background:var(--bg-card, var(--bg));border:var(--border-width, 1px) solid var(--border);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:8px;font-size:var(--ui-font-meta, 12px);color:var(--text)}.t2-tsum-state{display:flex;align-items:center;gap:7px;font-size:var(--ui-font-body, 13px);font-weight:600}.t2-tsum-state.running{color:var(--accent-ink)}.t2-tsum-state.attention,.t2-tsum-state.error{color:var(--danger)}.t2-tsum-state.stopped{color:var(--text-muted)}.t2-tsum-state-tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2-tsum-count{margin-left:auto;flex-shrink:0;font-size:var(--ui-font-caption, 11px);font-weight:600;color:var(--text-muted);background:var(--overlay-light, rgba(127, 127, 127, .1));border-radius:var(--radius-pill, 999px);padding:1px 7px}.t2-tsum-sub{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2-tsum-sub.err{color:var(--danger)}.t2-tsum-attn{display:flex;align-items:center;gap:6px;width:100%;text-align:left;cursor:pointer;border:var(--border-width, 1px) solid var(--danger);border-radius:var(--radius-md, 12px);background:var(--danger-light, transparent);color:var(--danger);padding:8px 10px;font-size:var(--ui-font-meta, 12px);font-weight:600}.t2-tsum-sec{display:flex;flex-direction:column;margin-top:6px;interpolate-size:allow-keywords}.t2-tsum-sectitle{display:flex;align-items:center;gap:5px;margin-bottom:3px;font-size:var(--ui-font-body, 13px);font-weight:600;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.t2-tsum-sectitle::-webkit-details-marker{display:none}.t2-tsum-sectitle:hover{color:var(--accent-ink, var(--accent, var(--text)))}.t2-tsum-chev{flex-shrink:0;margin-left:auto;color:var(--text-faint, var(--text-muted));transition:transform var(--duration-slow, .25s) var(--ease-spring, ease)}.t2-tsum-count+.t2-tsum-chev{margin-left:0}.t2-tsum-secact{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm, 8px);color:var(--text-faint, var(--text-muted));transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2-tsum-secact:hover{background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--text)}.t2-tsum-count+.t2-tsum-secact,.t2-tsum-secact+.t2-tsum-chev{margin-left:0}.t2-tsum-sec[open]>.t2-tsum-sectitle>.t2-tsum-chev{transform:rotate(90deg)}.t2-tsum-sec::details-content{block-size:0;overflow:hidden;transition:block-size var(--duration-slow, .25s) var(--ease-spring, ease),content-visibility var(--duration-slow, .25s) allow-discrete}.t2-tsum-sec[open]::details-content{block-size:auto}@media(prefers-reduced-motion:reduce){.t2-tsum-chev,.t2-tsum-sec::details-content{transition:none}}.t2-tsum-scroll{max-height:176px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.t2-tsum-more{align-self:flex-start;padding:3px 6px;margin-left:-6px;border:none;background:transparent;font:inherit;font-size:var(--ui-font-caption, 11px);cursor:pointer;border-radius:var(--radius-sm, 8px);color:var(--text-faint, var(--text-muted));transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2-tsum-more:hover{color:var(--text);background:var(--overlay-light, rgba(127, 127, 127, .1))}.t2-tsum-todo{display:flex;gap:9px;align-items:baseline;line-height:1.5;padding:4px 0}.t2-tsum-todo-mark{width:12px;flex-shrink:0;color:var(--text-faint, var(--text-muted))}.t2-tsum-todo.completed{color:var(--text-muted)}.t2-tsum-todo.completed .t2-tsum-todo-mark{color:var(--green)}.t2-tsum-todo.in_progress{font-weight:600}.t2-tsum-todo.in_progress .t2-tsum-todo-mark{color:var(--accent-ink)}.t2-tsum-todo-tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2-tsum-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;color:var(--text);border-radius:var(--radius-sm, 8px);padding:6px;margin-left:-6px;border:none;background:transparent;font:inherit}.t2-tsum-row.act{cursor:pointer;text-decoration:none}.t2-tsum-row.act:hover{background:var(--overlay-light, rgba(127, 127, 127, .1))}.t2-tsum-row>svg{flex-shrink:0;color:var(--text-faint, var(--text-muted))}.t2-tsum-hits{flex-shrink:0;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}.t2-tsum-row-tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2-tsum-root .t2-tsum-x{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm, 8px);color:var(--text-faint, var(--text-muted));opacity:0;transition:opacity var(--duration-fast, .15s),background var(--duration-fast, .15s)}.t2-tsum-root:hover .t2-tsum-x,.t2-tsum-x:focus-visible{opacity:1}.t2-tsum-x:hover{background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--danger)}.t2-chat-col{position:relative;flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;container-type:size}.agent-desk{position:relative;display:flex;min-width:0;min-height:0;overflow:hidden;flex:0 0 auto;flex-basis:0%;transition:flex-basis .45s var(--ease-spring, cubic-bezier(.32, .72, 0, 1))}.agent-desk.open{flex-basis:var(--desk-w, 46%)}@starting-style{.agent-desk.open{flex-basis:0%}}.agent-desk.no-anim{transition:none}.agent-desk-card.gone{display:none;opacity:0;scale:.8;translate:100% 0}@media(prefers-reduced-motion:reduce){.agent-desk{transition:none}}.agent-desk-grip{flex:0 0 6px;margin-left:-3px;cursor:col-resize;z-index:3;border-radius:3px}.agent-desk-grip:hover,.agent-desk-grip:active{background:var(--accent-ink);opacity:.3}.agent-desk-inner{flex:1;min-width:0;display:flex;flex-direction:column;border-left:var(--border-width) solid var(--border)}.agent-desk-head{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-width:0;padding:5px 6px 5px 12px;border-bottom:var(--border-width) solid var(--border);font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.agent-desk-spark{color:var(--accent-ink);flex-shrink:0}.agent-desk-title{flex-shrink:0;font-weight:600;color:var(--text)}.agent-desk-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-desk-head .icon-btn{flex-shrink:0}.agent-desk-body{flex:1;min-height:0;display:flex;flex-direction:column}.agent-desk-pane{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.agent-desk-pane+.agent-desk-pane{border-top:var(--border-width) solid var(--border)}.agent-desk-pane>.wsfile-tab{height:auto;flex:1 1 0;min-height:0}.agent-desk-pane>.desk-note-wrap{flex:1 1 0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.agent-desk-pane>.desk-note-wrap>*{flex:1 1 0;min-height:0;min-width:0}.agent-desk-livepane{flex:1;min-height:0;display:flex;flex-direction:column}.agent-desk-livehead{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-width:0;padding:6px 12px;font-size:var(--ui-font-meta, 12px);color:var(--text-muted);border-bottom:var(--border-width) solid var(--border)}.agent-desk-livehead-tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-desk-livebody{flex:1;min-height:0;overflow:auto;margin:0;padding:10px 12px;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--ui-font-caption, 11px);line-height:1.55;white-space:pre-wrap;word-break:break-all;color:var(--text)}.agent-desk-card{flex-direction:column;overflow:hidden;flex-shrink:0;border-radius:var(--radius-chat-surface, 20px);background:var(--bg-card, var(--bg));border:var(--border-width, 1px) solid var(--border);box-shadow:var(--card-shadow)}.agent-desk-card.act{cursor:zoom-in}.agent-desk-card.act:hover{border-color:color-mix(in srgb,var(--accent-ink) 45%,var(--border))}.agent-desk-card-head{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-width:0;padding:8px 8px 6px 12px;font-size:var(--ui-font-meta, 12px);font-weight:600;color:var(--text)}.agent-desk-card-head .icon-btn{flex-shrink:0}.agent-desk-card-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-desk-card-body{flex:1;min-height:0;display:flex;flex-direction:column;pointer-events:none;zoom:.75;border-top:var(--border-width, 1px) solid var(--border)}.agent-desk-card-body .wsfile-head,.agent-desk-card-body .amx-toolbar{display:none}.agent-desk-card-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-faint, var(--text-muted));font-size:var(--ui-font-meta, 12px)}.t2-tsum-edit{display:flex;align-items:center;gap:5px;width:100%;min-width:0;border:none;background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--accent-ink);border-radius:var(--radius-sm, 8px);padding:4px 6px;font-size:var(--ui-font-meta, 12px);cursor:pointer;text-align:left}.t2-tsum-edit:hover{background:var(--overlay, rgba(127, 127, 127, .18))}.t2-tsum-edit svg{flex-shrink:0}.t2-tsum-edit-tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container (max-width: 759.9px){.agent-desk{display:none}}.t2-tool,.t2-todo,.t2-panelcard,.t2-tsum-in,.agent-desk-card,.t2-chat-col .tool-card:not(.err),.t2-chat-col .tool-group{border-color:transparent}.t2-jump-flash{animation:t2JumpFlash 1.6s ease-out;border-radius:var(--radius-md)}@keyframes t2JumpFlash{0%{background:var(--overlay-light)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.t2-jump-flash{animation:none}}.t2-tasks{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-width:100%}.t2-taskcard{border:var(--border-width, 1px) solid transparent;border-radius:var(--radius-md, 10px);background:var(--bg-card, transparent);padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);color:var(--text)}.t2-taskcard.done{opacity:.7}.t2-taskcard-head{display:flex;align-items:center;gap:7px;min-width:0}.t2-taskcard-head>svg{color:var(--accent-ink);flex:none}.t2-taskcard-head>b{font-weight:600;overflow-wrap:anywhere}.t2-taskcard-tag{font-size:var(--ui-font-caption, 11px);line-height:1;padding:3px 7px;border-radius:var(--radius-pill, 999px);background:var(--overlay-light, rgba(127,127,127,.1));color:var(--text-muted)}.t2-taskcard-tldr{color:var(--text-muted);overflow-wrap:anywhere}.t2-taskcard-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.t2-taskcard-actions>button{border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-pill, 999px);background:transparent;color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);padding:4px 11px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:background var(--duration-fast, .15s)}.t2-taskcard-actions>button:hover{background:var(--overlay-light, rgba(127,127,127,.1))}.t2-taskcard-actions>button.primary{border-color:var(--accent-ink);color:var(--accent-ink)}.t2-taskcard-actions>button>svg{flex:none}.t2-taskcard-done{color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.t2-taskcard.busy .t2-taskcard-actions>button{opacity:.6;cursor:progress}.t2-taskcard-toggle{align-self:flex-start;border:none;background:transparent;padding:0;cursor:pointer;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);display:inline-flex;align-items:center;gap:4px}.t2-taskcard-toggle:hover{color:var(--text)}.t2-taskcard-prompt{margin:0;padding:8px 10px;border-radius:var(--radius-sm, 8px);background:var(--overlay-light, rgba(127,127,127,.08));color:var(--text);font-family:var(--font-mono, monospace);font-size:var(--ui-font-meta, 12px);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow-y:auto}.agent-desk-card-body.companion{zoom:1}.image-generation-jobs{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;width:100%;margin-top:4px}.image-generation-loader{width:min(280px,100%);min-width:0;display:flex;flex-direction:column;gap:7px}.image-generation-status{color:var(--text-faint);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);line-height:1.4;font-variant-numeric:tabular-nums}.image-generation-stage{width:100%;aspect-ratio:1;display:block;overflow:hidden;padding:0;border:var(--border-width, 1px) solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;touch-action:none}.image-generation-stage:hover{background:var(--overlay-subtle)}.image-generation-stage:focus-visible{outline:none;border-color:var(--sel-line, var(--accent-ink));box-shadow:0 0 0 var(--focus-ring) var(--sel-fill, var(--accent-light))}.image-generation-canvas{width:100%;height:100%;display:block}.image-generation-loader.playing .image-generation-stage{cursor:crosshair}@media(prefers-reduced-motion:reduce){.image-generation-stage{transition:none}}.t2-quota-advisory{min-height:34px;display:flex;align-items:center;gap:9px;margin:-12px -14px 10px;padding:6px 7px 6px 12px;box-sizing:border-box;border-bottom:var(--border-width, 1px) solid var(--border);border-radius:calc(var(--radius-chat-surface, 20px) - var(--border-width, 1px)) calc(var(--radius-chat-surface, 20px) - var(--border-width, 1px)) 0 0;background:var(--overlay-light);color:var(--text);font-family:var(--font-ui);font-size:var(--ui-font-caption, 11px);line-height:1.35}.t2-quota-advisory-copy{min-width:0;flex:1 1 auto;display:inline-flex;align-items:center;gap:7px;font-weight:550}.t2-quota-advisory-copy>svg{flex:0 0 auto;color:var(--warning)}.t2-quota-advisory[data-level=critical] .t2-quota-advisory-copy>svg{color:var(--danger)}.t2-quota-advisory-actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px}.t2-quota-action,.t2-quota-dismiss{min-height:24px;border:0;border-radius:var(--radius-xs, 7px);background:transparent;color:inherit;font:inherit;cursor:pointer}.t2-quota-action{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;font-weight:600;white-space:nowrap}.t2-quota-action.upgrade{color:var(--accent-ink)}.t2-quota-action.reset{color:var(--text-muted)}.t2-quota-action.convert{color:var(--accent-ink)}.t2-quota-action.settings{color:var(--text-muted)}.t2-quota-action:hover:not(:disabled),.t2-quota-dismiss:hover{background:var(--overlay-medium)}.t2-quota-action:disabled{color:var(--text-faint);cursor:default}.t2-quota-dismiss{width:24px;flex:0 0 24px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.t2-quota-action:focus-visible,.t2-quota-dismiss:focus-visible{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:-2px}@container (max-width: 520px){.t2-quota-advisory{align-items:flex-start;flex-wrap:wrap;gap:3px 6px;padding-block:7px}.t2-quota-advisory-copy{flex-basis:calc(100% - 30px);min-height:24px}.t2-quota-advisory-actions{order:2;flex:1 1 auto;padding-left:21px}.t2-quota-dismiss{order:1}}@container (max-width: 360px){.t2-quota-advisory-copy>svg{display:none}.t2-quota-advisory-actions{padding-left:0}.t2-quota-action{padding-inline:5px}}.t2-user-refs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;white-space:normal}.t2-user-refs:last-child{margin-bottom:0}.t2-user-refs .attach-chip{max-width:240px}.t2-apv-pointer{display:flex;align-items:center;gap:6px;font-size:var(--ui-font-meta, 12px);margin:4px 0}.t2-apv-update{display:flex;flex-direction:column;align-items:center;gap:2px;margin:4px 0}.t2-apv-update-row{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%}.t2-apv-update-row[data-status=approved] svg{color:var(--green)}.t2-apv-update-row:not([data-status=approved]) svg{color:var(--danger)}.t2-apv-update-what{flex-shrink:0;color:var(--text-muted)}.t2-apv-update-preview{min-width:0;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t2-apv-update-by{max-width:100%;color:var(--text-faint, var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t2-target-health[data-target-health=engine-auth] .t2-quota-advisory-copy>svg,.t2-target-health[data-target-health=caller-unavailable] .t2-quota-advisory-copy>svg,.t2-target-health[data-target-health=refused] .t2-quota-advisory-copy>svg,.t2-target-health[data-target-health=gone] .t2-quota-advisory-copy>svg{color:var(--danger)}.t2-target-health[data-target-health=connecting] .t2-quota-advisory-copy>svg{color:var(--text-muted)}.t2-target-health .t2-quota-advisory-copy>span{min-width:0;overflow-wrap:anywhere}html[data-chat-avatars=off] .t2-asst>.t2-avatar{visibility:hidden}html[data-chat-avatars=off] .t2-user-avatar,html[data-chat-avatars=off] .t2-username{display:none}.child-chat-panel .agent-desk-inner{padding:0;overflow:hidden}.child-chat-panel .agent-desk-head{padding:12px 16px;flex-shrink:0}.child-chat-hint{padding:0 16px 10px;color:var(--text-muted);font-size:var(--ui-font-caption, 11px);line-height:1.5}.child-chat-placeholder{padding:24px;color:var(--text-muted);font-size:var(--ui-font-body, 13px);overflow-wrap:anywhere}.child-chat-panel .t2-chat-view{width:100%}.child-chat-panel .t2-rail{display:none}.child-chat-panel .t2-stream{padding-inline:18px}.child-chat-panel .composer-anchor{inset-inline:12px}@container (max-width: 700px){.t2-chat-view:has(>.child-chat-panel)>.t2-chat-col{display:none}.child-chat-panel.agent-desk.open{flex:1 1 100%;min-width:0}}.reset-ceremony-backdrop{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:reset-ceremony-fade .3s ease-out both}.reset-ceremony{position:relative;width:min(100%,420px);padding:24px 28px 26px;max-height:calc(100dvh - 40px);overflow:auto;border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--card-shadow);color:var(--text);font-family:var(--font-ui);text-align:center;animation:reset-ceremony-enter .48s cubic-bezier(.2,.75,.15,1) both}.reset-ceremony-close{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--text-muted)}.reset-ceremony-close:hover{background:var(--menu-hover);color:var(--text)}.reset-ceremony-scene{position:relative;display:grid;place-items:center;height:166px;margin-bottom:2px}.reset-ceremony-halo{position:absolute;width:226px;height:142px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 20%,transparent) 0%,transparent 68%);animation:reset-ceremony-halo 1.1s .7s ease-out both}.reset-ceremony-card{position:relative;width:158px;height:100px;padding:13px 15px;overflow:hidden;border:var(--border-width) solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:var(--radius-md);background:linear-gradient(130deg,color-mix(in srgb,var(--accent) 18%,var(--bg-card)),var(--bg-card) 60%,color-mix(in srgb,var(--accent) 12%,var(--bg-card)));color:var(--accent-ink);text-align:left;transform:rotate(-9deg);animation:reset-ceremony-card 1s .15s cubic-bezier(.16,.8,.2,1) both}.reset-ceremony-card-top{display:flex;align-items:center;justify-content:space-between;font-size:var(--ui-font-caption);font-weight:700;letter-spacing:.12em}.reset-ceremony-card-mark{position:absolute;top:31px;left:14px;font-family:var(--font-ui);font-size:var(--ui-font-display);font-weight:750;line-height:1;opacity:.72;transform:scale(2.1);transform-origin:top left}.reset-ceremony-card-bottom{position:absolute;right:14px;bottom:12px;font-size:var(--ui-font-caption);font-weight:650;letter-spacing:.09em}.reset-ceremony-card-sheen{position:absolute;inset:-30% auto -30% -60%;width:38%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-light) 80%,transparent),transparent);animation:reset-ceremony-sheen .85s .95s ease-out both}.reset-ceremony-seal{position:absolute;top:100px;left:calc(50% + 57px);display:grid;place-items:center;width:38px;height:38px;border:var(--border-width) solid var(--border);border-radius:50%;background:var(--action-fill);color:var(--on-action);animation:reset-ceremony-seal .5s 1.4s cubic-bezier(.2,1.3,.4,1) both}.reset-ceremony-eyebrow{color:var(--accent-ink);font-size:var(--ui-font-caption);font-weight:680;letter-spacing:.08em;animation:reset-ceremony-reveal .45s 1.35s ease-out both}.reset-ceremony h2{margin:8px 0 4px;font-size:var(--ui-font-display);line-height:var(--ui-line-display);font-weight:700;animation:reset-ceremony-reveal .45s 1.45s ease-out both}.reset-ceremony p{margin:0;color:var(--text-muted);font-size:var(--ui-font-body);line-height:var(--ui-line-body);animation:reset-ceremony-reveal .45s 1.55s ease-out both}.reset-ceremony-quotas{display:grid;gap:16px;margin-top:26px;text-align:left}.reset-ceremony-quota{animation:reset-ceremony-reveal .4s 1.75s ease-out both}.reset-ceremony-quota:nth-child(2){animation-delay:1.95s}.reset-ceremony-quota-copy{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;font-size:var(--ui-font-meta)}.reset-ceremony-values{display:flex;gap:8px;align-items:baseline;color:var(--text-muted);font-variant-numeric:tabular-nums}.reset-ceremony-values strong{color:var(--accent-ink);font-size:var(--ui-font-body);font-weight:700;animation:reset-ceremony-reveal .35s 2.65s ease-out both}.reset-ceremony-quota:nth-child(2) .reset-ceremony-values strong{animation-delay:2.85s}.reset-ceremony-track{height:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--overlay-medium)}.reset-ceremony-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);animation:reset-ceremony-fill 1s 2.05s cubic-bezier(.18,.78,.2,1) both}.reset-ceremony-quota:nth-child(2) .reset-ceremony-track span{animation-delay:2.25s}.reset-ceremony-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:27px;color:var(--text-muted);font-size:var(--ui-font-meta)}.reset-ceremony-footer>span{animation:reset-ceremony-reveal .35s 2.85s ease-out both}.reset-ceremony-continue{min-height:34px;padding:0 15px;border-radius:var(--radius-sm);background:var(--action-fill);color:var(--on-action);font-size:var(--ui-font-meta);font-weight:650;animation:reset-ceremony-finish .35s 2.8s ease-out both}.reset-ceremony-continue:hover{background:var(--action-fill-hover)}html[data-glass=off] .reset-ceremony-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}@keyframes reset-ceremony-fade{0%{opacity:0}to{opacity:1}}@keyframes reset-ceremony-enter{0%{opacity:0;translate:0 12px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes reset-ceremony-card{0%{opacity:0;transform:translateY(24px) rotate(-18deg) scale(.84)}to{opacity:1;transform:translateY(0) rotate(-9deg) scale(1)}}@keyframes reset-ceremony-halo{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@keyframes reset-ceremony-sheen{0%{translate:0 0;opacity:0}25%{opacity:.7}to{translate:340px 0;opacity:0}}@keyframes reset-ceremony-seal{0%{opacity:0;scale:.45}to{opacity:1;scale:1}}@keyframes reset-ceremony-reveal{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@keyframes reset-ceremony-finish{0%{visibility:hidden;opacity:0;translate:0 6px}to{visibility:visible;opacity:1;translate:0 0}}@keyframes reset-ceremony-fill{0%{width:var(--reset-before)}to{width:var(--reset-after)}}@media(max-width:440px){.reset-ceremony{padding-inline:20px}.reset-ceremony-footer{flex-wrap:wrap}.reset-ceremony-continue{margin-left:auto}}@media(prefers-reduced-motion:reduce){.reset-ceremony-backdrop,.reset-ceremony,.reset-ceremony-halo,.reset-ceremony-card,.reset-ceremony-card-sheen,.reset-ceremony-seal,.reset-ceremony-eyebrow,.reset-ceremony h2,.reset-ceremony p,.reset-ceremony-quota,.reset-ceremony-values strong,.reset-ceremony-track span,.reset-ceremony-footer>span,.reset-ceremony-continue{animation:none}.reset-ceremony-continue{visibility:visible}.reset-ceremony-card{transform:rotate(-9deg)}.reset-ceremony-card-sheen{display:none}.reset-ceremony-track span{width:var(--reset-after)}}
|